New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

maestro-react-player

Package Overview
Dependencies
Maintainers
1
Versions
49
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

maestro-react-player - npm Package Compare versions

Comparing version 1.0.0 to 1.0.1

646

CHANGELOG.md

@@ -6,3 +6,11 @@ ### Changelog

#### [v1.3.1](https://github.com/CookPete/react-player/compare/v1.3.0...v1.3.1)
#### [v1.0.1](https://github.com/lessthan3/react-player/compare/v1.3.1...v1.0.1)
> 5 April 2018
- Iframe support [`#2`](https://github.com/lessthan3/react-player/pull/2)
- Ustream live wip [`#1`](https://github.com/lessthan3/react-player/pull/1)
- improvements to iframe for fast seek crash / demo for easier debugging [`c852827`](https://github.com/lessthan3/react-player/commit/c8528273d289b4d5053f74e4dd263878cf9a84e6)
- applying standard lint [`6858333`](https://github.com/lessthan3/react-player/commit/685833300911d6c8e579060fc48ab338cb5b874e)
- npm package [`3f1c196`](https://github.com/lessthan3/react-player/commit/3f1c196d173520258836e219770d9bdf6cba6e06)
#### [v1.3.1](https://github.com/lessthan3/react-player/compare/v1.3.0...v1.3.1)
> 22 March 2018

@@ -12,5 +20,5 @@ - Fix file player load sequence on iOS [`#340`](https://github.com/CookPete/react-player/issues/340)

#### [v1.3.0](https://github.com/CookPete/react-player/compare/v1.2.1...v1.3.0)
#### [v1.3.0](https://github.com/lessthan3/react-player/compare/v1.2.1...v1.3.0)
> 15 March 2018
- Include Mixcloud in README [`#342`](https://github.com/CookPete/react-player/pull/342)
- Include Mixcloud in README [`#342`](https://github.com/lessthan3/react-player/pull/342)
- Add support for twitch player options [`#343`](https://github.com/CookPete/react-player/issues/343)

@@ -21,29 +29,29 @@ - Add single player wrapper div [`#346`](https://github.com/CookPete/react-player/issues/346)

- Set volume to null by default [`#357`](https://github.com/CookPete/react-player/issues/357)
- Escape dots in URL patterns [`129a179`](https://github.com/CookPete/react-player/commit/129a179ba64e67554f79af44855450c203cab948)
- Tweak tests [`3b92c4a`](https://github.com/CookPete/react-player/commit/3b92c4af5a5d551f2598174d1da9377476c4ed87)
- Unmute facebook player when ready [`a672ee1`](https://github.com/CookPete/react-player/commit/a672ee1d4e1ea0e5a5b473bf76bc644caf5606d6)
- Escape dots in URL patterns [`129a179`](https://github.com/lessthan3/react-player/commit/129a179ba64e67554f79af44855450c203cab948)
- Tweak tests [`3b92c4a`](https://github.com/lessthan3/react-player/commit/3b92c4af5a5d551f2598174d1da9377476c4ed87)
- Unmute facebook player when ready [`a672ee1`](https://github.com/lessthan3/react-player/commit/a672ee1d4e1ea0e5a5b473bf76bc644caf5606d6)
#### [v1.2.1](https://github.com/CookPete/react-player/compare/v1.2.0...v1.2.1)
#### [v1.2.1](https://github.com/lessthan3/react-player/compare/v1.2.0...v1.2.1)
> 26 February 2018
- Add progressInterval logic back in to onProgress [`#339`](https://github.com/CookPete/react-player/issues/339)
- Skip mixcloud tests [`34b51a4`](https://github.com/CookPete/react-player/commit/34b51a4dad80cf2f0dc5cbef82cc5fe041397f7c)
- Skip mixcloud tests [`34b51a4`](https://github.com/lessthan3/react-player/commit/34b51a4dad80cf2f0dc5cbef82cc5fe041397f7c)
#### [v1.2.0](https://github.com/CookPete/react-player/compare/v1.1.3...v1.2.0)
#### [v1.2.0](https://github.com/lessthan3/react-player/compare/v1.1.3...v1.2.0)
> 23 February 2018
- Fixes the onPause event propogation [`#336`](https://github.com/CookPete/react-player/pull/336)
- Support custom wrappers [`#334`](https://github.com/CookPete/react-player/pull/334)
- Fixes the onPause event propogation [`#336`](https://github.com/lessthan3/react-player/pull/336)
- Support custom wrappers [`#334`](https://github.com/lessthan3/react-player/pull/334)
- Add Mixcloud player [`#335`](https://github.com/CookPete/react-player/issues/335)
- Add support for importing single players [`#311`](https://github.com/CookPete/react-player/issues/311)
- Move onProgress logic into Player component [`42a030e`](https://github.com/CookPete/react-player/commit/42a030e6cfa721eb15c6af2b27c828160ebcae25)
- Move onProgress logic into Player component [`42a030e`](https://github.com/lessthan3/react-player/commit/42a030e6cfa721eb15c6af2b27c828160ebcae25)
#### [v1.1.3](https://github.com/CookPete/react-player/compare/v1.1.2...v1.1.3)
#### [v1.1.3](https://github.com/lessthan3/react-player/compare/v1.1.2...v1.1.3)
> 21 February 2018
- Match YouTube URL with extra parameters [`#332`](https://github.com/CookPete/react-player/pull/332)
- Match YouTube URL with extra parameters [`#332`](https://github.com/lessthan3/react-player/pull/332)
- Update mp3 example [`#330`](https://github.com/CookPete/react-player/issues/330)
- Update stored config when props change [`#329`](https://github.com/CookPete/react-player/issues/329)
- Pass through all source props when using array of objects [`#333`](https://github.com/CookPete/react-player/issues/333)
- Skip wistia tests [`6e536d1`](https://github.com/CookPete/react-player/commit/6e536d11d339f4eb4e62cc6fc448c0597bc276b7)
- Fix soundcloud canPlay test [`1f158d1`](https://github.com/CookPete/react-player/commit/1f158d1b8bb353553ea5680ed9041db26055da53)
- Skip wistia tests [`6e536d1`](https://github.com/lessthan3/react-player/commit/6e536d11d339f4eb4e62cc6fc448c0597bc276b7)
- Fix soundcloud canPlay test [`1f158d1`](https://github.com/lessthan3/react-player/commit/1f158d1b8bb353553ea5680ed9041db26055da53)
#### [v1.1.2](https://github.com/CookPete/react-player/compare/v1.1.1...v1.1.2)
#### [v1.1.2](https://github.com/lessthan3/react-player/compare/v1.1.1...v1.1.2)
> 8 February 2018

@@ -54,166 +62,166 @@ - Add config.file.hlsOptions [`#325`](https://github.com/CookPete/react-player/issues/325) [`#319`](https://github.com/CookPete/react-player/issues/319)

- Guard against navigator not being available [`#315`](https://github.com/CookPete/react-player/issues/315)
- Update hls, dash and streamable SDKs [`22dd274`](https://github.com/CookPete/react-player/commit/22dd274d20a15e664ac20f448289e529684e9444)
- Update hls, dash and streamable SDKs [`22dd274`](https://github.com/lessthan3/react-player/commit/22dd274d20a15e664ac20f448289e529684e9444)
#### [v1.1.1](https://github.com/CookPete/react-player/compare/v1.1.0...v1.1.1)
#### [v1.1.1](https://github.com/lessthan3/react-player/compare/v1.1.0...v1.1.1)
> 18 January 2018
- Skip unreliable tests [`81c8a0b`](https://github.com/CookPete/react-player/commit/81c8a0bf389634604e245fe4211b07f44bbcfd9d)
- Update readme [`cf8a93f`](https://github.com/CookPete/react-player/commit/cf8a93fd39534cc2a72182675e3274a1cdad9ffb)
- Skip unreliable tests [`81c8a0b`](https://github.com/lessthan3/react-player/commit/81c8a0bf389634604e245fe4211b07f44bbcfd9d)
- Update readme [`cf8a93f`](https://github.com/lessthan3/react-player/commit/cf8a93fd39534cc2a72182675e3274a1cdad9ffb)
#### [v1.1.0](https://github.com/CookPete/react-player/compare/v1.0.0...v1.1.0)
#### [v1.1.0](https://github.com/lessthan3/react-player/compare/v1.0.0...v1.1.0)
> 18 January 2018
- Tidy up readme [`5befbfa`](https://github.com/CookPete/react-player/commit/5befbfab44313a48d7770cf00f3cda200ebc3bbb)
- Add standalone player [`4ffd201`](https://github.com/CookPete/react-player/commit/4ffd20112f18c2c7b3c25e39c283f8cfe9be88fc)
- Use px values for default width and height [`b430ad6`](https://github.com/CookPete/react-player/commit/b430ad63c2f42a22322aefa7784e120120543236)
- Tidy up readme [`5befbfa`](https://github.com/lessthan3/react-player/commit/5befbfab44313a48d7770cf00f3cda200ebc3bbb)
- Add standalone player [`4ffd201`](https://github.com/lessthan3/react-player/commit/4ffd20112f18c2c7b3c25e39c283f8cfe9be88fc)
- Use px values for default width and height [`b430ad6`](https://github.com/lessthan3/react-player/commit/b430ad63c2f42a22322aefa7784e120120543236)
#### [v1.0.0](https://github.com/CookPete/react-player/compare/v1.0.0-beta.7...v1.0.0)
#### [v1.0.0](https://github.com/lessthan3/react-player/compare/v1.0.0-beta.7...v1.0.0)
> 17 January 2018
- Do not load hls.js on iOS [`#293`](https://github.com/CookPete/react-player/pull/293)
- Do not load hls.js on iOS [`#293`](https://github.com/lessthan3/react-player/pull/293)
- Better prop comparison for shouldComponentUpdate [`#302`](https://github.com/CookPete/react-player/issues/302)
- Less aggressive URL matching [`#297`](https://github.com/CookPete/react-player/issues/297)
- Remove vidme player [`#294`](https://github.com/CookPete/react-player/issues/294)
- Skip DailyMotion volume tests [`324e9c5`](https://github.com/CookPete/react-player/commit/324e9c5fb90844f56429735c5c31a046b41260e8)
- Update readme [`62e6049`](https://github.com/CookPete/react-player/commit/62e604944ce8e79b83098b0e3aea202c0f7191cf)
- Skip volume change tests [`d90d5da`](https://github.com/CookPete/react-player/commit/d90d5da72ef59f5161a87a324ec934e2512d6047)
- Skip DailyMotion volume tests [`324e9c5`](https://github.com/lessthan3/react-player/commit/324e9c5fb90844f56429735c5c31a046b41260e8)
- Update readme [`62e6049`](https://github.com/lessthan3/react-player/commit/62e604944ce8e79b83098b0e3aea202c0f7191cf)
- Skip volume change tests [`d90d5da`](https://github.com/lessthan3/react-player/commit/d90d5da72ef59f5161a87a324ec934e2512d6047)
#### [v1.0.0-beta.7](https://github.com/CookPete/react-player/compare/v1.0.0-beta.6...v1.0.0-beta.7)
#### [v1.0.0-beta.7](https://github.com/lessthan3/react-player/compare/v1.0.0-beta.6...v1.0.0-beta.7)
> 14 December 2017
- Refactor player tests [`e2b6de6`](https://github.com/CookPete/react-player/commit/e2b6de61dad6802e59b438df5e0f19537857066b)
- Bump auto-changelog [`30227b8`](https://github.com/CookPete/react-player/commit/30227b837b3d6f294b51afa42916d8f3d9622ee6)
- Use latest node in travis [`5b1eb1b`](https://github.com/CookPete/react-player/commit/5b1eb1be4359eb125d2a577c695ace0258f04ecf)
- Refactor player tests [`e2b6de6`](https://github.com/lessthan3/react-player/commit/e2b6de61dad6802e59b438df5e0f19537857066b)
- Bump auto-changelog [`30227b8`](https://github.com/lessthan3/react-player/commit/30227b837b3d6f294b51afa42916d8f3d9622ee6)
- Use latest node in travis [`5b1eb1b`](https://github.com/lessthan3/react-player/commit/5b1eb1be4359eb125d2a577c695ace0258f04ecf)
#### [v1.0.0-beta.6](https://github.com/CookPete/react-player/compare/v1.0.0-beta.5...v1.0.0-beta.6)
#### [v1.0.0-beta.6](https://github.com/lessthan3/react-player/compare/v1.0.0-beta.5...v1.0.0-beta.6)
> 5 December 2017
- Vimeo On Demand URL Support [`#289`](https://github.com/CookPete/react-player/pull/289)
- Vimeo On Demand URL Support [`#289`](https://github.com/lessthan3/react-player/pull/289)
- Use index keys for FilePlayer source array [`#276`](https://github.com/CookPete/react-player/issues/276)
- Add more tests [`2e88e5e`](https://github.com/CookPete/react-player/commit/2e88e5e771fe4c6fc08ff681820e62e5b7d45fec)
- Bump auto-changelog [`cd26b44`](https://github.com/CookPete/react-player/commit/cd26b44ea7a10b6430329f935c57fd017b5b3f64)
- Remove unused stop method [`a1b6a6e`](https://github.com/CookPete/react-player/commit/a1b6a6ee978c0677dbc5f03085b0d36331bac11a)
- Add more tests [`2e88e5e`](https://github.com/lessthan3/react-player/commit/2e88e5e771fe4c6fc08ff681820e62e5b7d45fec)
- Bump auto-changelog [`cd26b44`](https://github.com/lessthan3/react-player/commit/cd26b44ea7a10b6430329f935c57fd017b5b3f64)
- Remove unused stop method [`a1b6a6e`](https://github.com/lessthan3/react-player/commit/a1b6a6ee978c0677dbc5f03085b0d36331bac11a)
#### [v1.0.0-beta.5](https://github.com/CookPete/react-player/compare/v1.0.0-beta.4...v1.0.0-beta.5)
#### [v1.0.0-beta.5](https://github.com/lessthan3/react-player/compare/v1.0.0-beta.4...v1.0.0-beta.5)
> 10 November 2017
- Set internal isPlaying flag to false on ended [`#271`](https://github.com/CookPete/react-player/issues/271)
- Bump auto-changelog [`e246e43`](https://github.com/CookPete/react-player/commit/e246e43ae227867a1b468bbfa7948bcb2e647c5b)
- Bump auto-changelog [`e246e43`](https://github.com/lessthan3/react-player/commit/e246e43ae227867a1b468bbfa7948bcb2e647c5b)
#### [v1.0.0-beta.4](https://github.com/CookPete/react-player/compare/v1.0.0-beta.3...v1.0.0-beta.4)
#### [v1.0.0-beta.4](https://github.com/lessthan3/react-player/compare/v1.0.0-beta.3...v1.0.0-beta.4)
> 8 November 2017
- Update twitch URL pattern [`#267`](https://github.com/CookPete/react-player/issues/267)
- Update twitch URL pattern [`#267`](https://github.com/lessthan3/react-player/issues/267)
- Retain player order to prevent weird iframe behaviour when switching players [`#264`](https://github.com/CookPete/react-player/issues/264) [`#265`](https://github.com/CookPete/react-player/issues/265)
#### [v1.0.0-beta.3](https://github.com/CookPete/react-player/compare/v1.0.0-beta.2...v1.0.0-beta.3)
#### [v1.0.0-beta.3](https://github.com/lessthan3/react-player/compare/v1.0.0-beta.2...v1.0.0-beta.3)
> 30 October 2017
- Tweak version script [`00d88ea`](https://github.com/CookPete/react-player/commit/00d88ea5cd27f94c0b0f030f002ad221adb8cedf)
- Tweak version script [`00d88ea`](https://github.com/lessthan3/react-player/commit/00d88ea5cd27f94c0b0f030f002ad221adb8cedf)
#### [v1.0.0-beta.2](https://github.com/CookPete/react-player/compare/v1.0.0-beta.1...v1.0.0-beta.2)
#### [v1.0.0-beta.2](https://github.com/lessthan3/react-player/compare/v1.0.0-beta.1...v1.0.0-beta.2)
> 30 October 2017
- Add Soundcloud preload support [`#262`](https://github.com/CookPete/react-player/pull/262)
- Use MIT license [`dd5a0ac`](https://github.com/CookPete/react-player/commit/dd5a0ac64d997aac5e81252ed591b07f9e4835a2)
- Fix isPlaying bug [`193f3dd`](https://github.com/CookPete/react-player/commit/193f3dde5cec068e5ec1379d9e789e9c5aa2edfd)
- Use MIT license [`dd5a0ac`](https://github.com/lessthan3/react-player/commit/dd5a0ac64d997aac5e81252ed591b07f9e4835a2)
- Fix isPlaying bug [`193f3dd`](https://github.com/lessthan3/react-player/commit/193f3dde5cec068e5ec1379d9e789e9c5aa2edfd)
#### [v1.0.0-beta.1](https://github.com/CookPete/react-player/compare/v1.0.0-beta.0...v1.0.0-beta.1)
#### [v1.0.0-beta.1](https://github.com/lessthan3/react-player/compare/v1.0.0-beta.0...v1.0.0-beta.1)
> 28 October 2017
- Use latest auto-changelog [`d3401dc`](https://github.com/CookPete/react-player/commit/d3401dcb4d9b613bfb6c5413f808243061c9ee25)
- Bump packages [`c381cc2`](https://github.com/CookPete/react-player/commit/c381cc2f17fffc9ecd6c6ac664e419d2f67453ab)
- Prevent errors when unmounting before SDK loads [`979e639`](https://github.com/CookPete/react-player/commit/979e639b8f8faca50509c692d1688e7eb39fef50)
- Use latest auto-changelog [`d3401dc`](https://github.com/lessthan3/react-player/commit/d3401dcb4d9b613bfb6c5413f808243061c9ee25)
- Bump packages [`c381cc2`](https://github.com/lessthan3/react-player/commit/c381cc2f17fffc9ecd6c6ac664e419d2f67453ab)
- Prevent errors when unmounting before SDK loads [`979e639`](https://github.com/lessthan3/react-player/commit/979e639b8f8faca50509c692d1688e7eb39fef50)
#### [v1.0.0-beta.0](https://github.com/CookPete/react-player/compare/v0.25.3...v1.0.0-beta.0)
#### [v1.0.0-beta.0](https://github.com/lessthan3/react-player/compare/v0.25.3...v1.0.0-beta.0)
> 26 October 2017
- Refactor player rendering [`91d1542`](https://github.com/CookPete/react-player/commit/91d15424065575d759885e9b0f8969c8b1f4a7b4)
- Update tests [`9b4d1c4`](https://github.com/CookPete/react-player/commit/9b4d1c4da466010e0d9f8a99f725b4e0c96db615)
- Refactor player rendering [`91d1542`](https://github.com/lessthan3/react-player/commit/91d15424065575d759885e9b0f8969c8b1f4a7b4)
- Update tests [`9b4d1c4`](https://github.com/lessthan3/react-player/commit/9b4d1c4da466010e0d9f8a99f725b4e0c96db615)
#### [v0.25.3](https://github.com/CookPete/react-player/compare/v0.25.2...v0.25.3)
#### [v0.25.3](https://github.com/lessthan3/react-player/compare/v0.25.2...v0.25.3)
> 26 October 2017
- Loop when player is running [`#257`](https://github.com/CookPete/react-player/pull/257)
- properly destroy HLS.JS and / or DASH.JS instances [`#254`](https://github.com/CookPete/react-player/pull/254)
- Fix preloading [`6dd81ba`](https://github.com/CookPete/react-player/commit/6dd81ba4f8e9335e1bd2d15b47cd8d6403b35a3b)
- Update readme [`d5ba064`](https://github.com/CookPete/react-player/commit/d5ba064a42f3b0abfa4c0d78324305ef20120f54)
- Loop when player is running [`#257`](https://github.com/lessthan3/react-player/pull/257)
- properly destroy HLS.JS and / or DASH.JS instances [`#254`](https://github.com/lessthan3/react-player/pull/254)
- Fix preloading [`6dd81ba`](https://github.com/lessthan3/react-player/commit/6dd81ba4f8e9335e1bd2d15b47cd8d6403b35a3b)
- Update readme [`d5ba064`](https://github.com/lessthan3/react-player/commit/d5ba064a42f3b0abfa4c0d78324305ef20120f54)
#### [v0.25.2](https://github.com/CookPete/react-player/compare/v0.25.1...v0.25.2)
#### [v0.25.2](https://github.com/lessthan3/react-player/compare/v0.25.1...v0.25.2)
> 17 October 2017
- tweak Vimeo duration logic [`#251`](https://github.com/CookPete/react-player/pull/251)
- Bump packages [`bf40e5f`](https://github.com/CookPete/react-player/commit/bf40e5fce5653df79f245588440f7b2f20f9a6cb)
- Fix dash autoplay logic [`4e3545e`](https://github.com/CookPete/react-player/commit/4e3545ef8f0e1b46b4a1dcab0c4881c4e507b7f8)
- tweak Vimeo duration logic [`#251`](https://github.com/lessthan3/react-player/pull/251)
- Bump packages [`bf40e5f`](https://github.com/lessthan3/react-player/commit/bf40e5fce5653df79f245588440f7b2f20f9a6cb)
- Fix dash autoplay logic [`4e3545e`](https://github.com/lessthan3/react-player/commit/4e3545ef8f0e1b46b4a1dcab0c4881c4e507b7f8)
#### [v0.25.1](https://github.com/CookPete/react-player/compare/v0.25.0...v0.25.1)
#### [v0.25.1](https://github.com/lessthan3/react-player/compare/v0.25.0...v0.25.1)
> 17 October 2017
- Update typings for onProgress callback [`#246`](https://github.com/CookPete/react-player/pull/246)
- Fix parameter name for Vimeo player configuration [`#243`](https://github.com/CookPete/react-player/pull/243)
- Update typings for onProgress callback [`#246`](https://github.com/lessthan3/react-player/pull/246)
- Fix parameter name for Vimeo player configuration [`#243`](https://github.com/lessthan3/react-player/pull/243)
- Add passthrough prop support to typings [`#247`](https://github.com/CookPete/react-player/issues/247)
- Fix Vimeo duration logic [`#250`](https://github.com/CookPete/react-player/issues/250)
- fix parameter name for Vimeo player configuration [`f810221`](https://github.com/CookPete/react-player/commit/f8102218dd901e0e49a0d8301f5f38d73b92af92)
- fix parameter name for Vimeo player configuration [`f810221`](https://github.com/lessthan3/react-player/commit/f8102218dd901e0e49a0d8301f5f38d73b92af92)
#### [v0.25.0](https://github.com/CookPete/react-player/compare/v0.24.6...v0.25.0)
#### [v0.25.0](https://github.com/lessthan3/react-player/compare/v0.24.6...v0.25.0)
> 4 October 2017
- Update polyfill info [`#239`](https://github.com/CookPete/react-player/issues/239)
- Use React 16 for demo [`#241`](https://github.com/CookPete/react-player/issues/241)
- Tweak vimeo player logic [`#240`](https://github.com/CookPete/react-player/issues/240)
- Bump packages [`a31ab1c`](https://github.com/CookPete/react-player/commit/a31ab1c4d7f2e783c129db938367fb7a44da4d8f)
- Update scripts and config file names [`920c602`](https://github.com/CookPete/react-player/commit/920c6024ec1a2ed703f557e2d71ccc406026053b)
- Update typings [`a4cf4a0`](https://github.com/CookPete/react-player/commit/a4cf4a0c554e4b50fd6a93a79f84b6ad808ec7d0)
- Update polyfill info [`#239`](https://github.com/lessthan3/react-player/issues/239)
- Use React 16 for demo [`#241`](https://github.com/lessthan3/react-player/issues/241)
- Tweak vimeo player logic [`#240`](https://github.com/lessthan3/react-player/issues/240)
- Bump packages [`a31ab1c`](https://github.com/lessthan3/react-player/commit/a31ab1c4d7f2e783c129db938367fb7a44da4d8f)
- Update scripts and config file names [`920c602`](https://github.com/lessthan3/react-player/commit/920c6024ec1a2ed703f557e2d71ccc406026053b)
- Update typings [`a4cf4a0`](https://github.com/lessthan3/react-player/commit/a4cf4a0c554e4b50fd6a93a79f84b6ad808ec7d0)
#### [v0.24.6](https://github.com/CookPete/react-player/compare/v0.24.5...v0.24.6)
#### [v0.24.6](https://github.com/lessthan3/react-player/compare/v0.24.5...v0.24.6)
> 28 September 2017
- Make getInternalPlayer more flexible [`#238`](https://github.com/CookPete/react-player/issues/238)
#### [v0.24.5](https://github.com/CookPete/react-player/compare/v0.24.4...v0.24.5)
#### [v0.24.5](https://github.com/lessthan3/react-player/compare/v0.24.4...v0.24.5)
> 16 September 2017
- Update Streamable player to use player.js [`#237`](https://github.com/CookPete/react-player/issues/237)
- Bump auto-changelog [`84ad345`](https://github.com/CookPete/react-player/commit/84ad345c926bf7fc47b0c61e77aea4c517cbd028)
- Remove unnecessary stop logic from soundcloud [`f478f1a`](https://github.com/CookPete/react-player/commit/f478f1a3c29cfd8c95c4f49a17ddd05b1b042bc7)
- Skip Streamable tests [`f210f93`](https://github.com/CookPete/react-player/commit/f210f93f5670d605b95887d4f44a8a22c9e42eee)
- Bump auto-changelog [`84ad345`](https://github.com/lessthan3/react-player/commit/84ad345c926bf7fc47b0c61e77aea4c517cbd028)
- Remove unnecessary stop logic from soundcloud [`f478f1a`](https://github.com/lessthan3/react-player/commit/f478f1a3c29cfd8c95c4f49a17ddd05b1b042bc7)
- Skip Streamable tests [`f210f93`](https://github.com/lessthan3/react-player/commit/f210f93f5670d605b95887d4f44a8a22c9e42eee)
#### [v0.24.4](https://github.com/CookPete/react-player/compare/v0.24.3...v0.24.4)
#### [v0.24.4](https://github.com/lessthan3/react-player/compare/v0.24.3...v0.24.4)
> 14 September 2017
- Updated TypeScript typings [`#235`](https://github.com/CookPete/react-player/pull/235)
- Prevent warnings when unmounting preloading players [`4c4d2ec`](https://github.com/CookPete/react-player/commit/4c4d2ecb2ba624bffe211cb041a97b1c42da9cc1)
- Updated TypeScript typings [`#235`](https://github.com/lessthan3/react-player/pull/235)
- Prevent warnings when unmounting preloading players [`4c4d2ec`](https://github.com/lessthan3/react-player/commit/4c4d2ecb2ba624bffe211cb041a97b1c42da9cc1)
#### [v0.24.3](https://github.com/CookPete/react-player/compare/v0.24.2...v0.24.3)
> 14 September 2017
- update of DOM listeners in FilePlayer when audio/video tags was switched [`#234`](https://github.com/CookPete/react-player/pull/234)
- Refactor progress logic [`f1b12e2`](https://github.com/CookPete/react-player/commit/f1b12e22262236b6c514c13de3534b8e4ede3f67)
- Bump packages [`aa2c174`](https://github.com/CookPete/react-player/commit/aa2c1746774266502031d10aff5331ecb6cc491a)
- Fix class names [`a286b64`](https://github.com/CookPete/react-player/commit/a286b64ec28030b96dce4bacd1357f9a6899fd9b)
#### [v0.24.3](https://github.com/lessthan3/react-player/compare/v0.24.2...v0.24.3)
> 13 September 2017
- update of DOM listeners in FilePlayer when audio/video tags was switched [`#234`](https://github.com/lessthan3/react-player/pull/234)
- Refactor progress logic [`f1b12e2`](https://github.com/lessthan3/react-player/commit/f1b12e22262236b6c514c13de3534b8e4ede3f67)
- Bump packages [`aa2c174`](https://github.com/lessthan3/react-player/commit/aa2c1746774266502031d10aff5331ecb6cc491a)
- Fix class names [`a286b64`](https://github.com/lessthan3/react-player/commit/a286b64ec28030b96dce4bacd1357f9a6899fd9b)
#### [v0.24.2](https://github.com/CookPete/react-player/compare/v0.24.1...v0.24.2)
#### [v0.24.2](https://github.com/lessthan3/react-player/compare/v0.24.1...v0.24.2)
> 11 September 2017
- Add getConfig tests [`f7eb2b5`](https://github.com/CookPete/react-player/commit/f7eb2b55929842523377bda20d80b62eb6c9a7d1)
- Add preload config tests [`d368ae2`](https://github.com/CookPete/react-player/commit/d368ae2ac92d693f7d69d6f9afc1701ded7cca5a)
- Render preload players even when url is null [`1531190`](https://github.com/CookPete/react-player/commit/15311909d048b1aff2fda1b7ccb26ce2d376da02)
- Add getConfig tests [`f7eb2b5`](https://github.com/lessthan3/react-player/commit/f7eb2b55929842523377bda20d80b62eb6c9a7d1)
- Add preload config tests [`d368ae2`](https://github.com/lessthan3/react-player/commit/d368ae2ac92d693f7d69d6f9afc1701ded7cca5a)
- Render preload players even when url is null [`1531190`](https://github.com/lessthan3/react-player/commit/15311909d048b1aff2fda1b7ccb26ce2d376da02)
#### [v0.24.1](https://github.com/CookPete/react-player/compare/v0.24.0...v0.24.1)
#### [v0.24.1](https://github.com/lessthan3/react-player/compare/v0.24.0...v0.24.1)
> 9 September 2017
- Add util tests [`586f179`](https://github.com/CookPete/react-player/commit/586f1794d14fc2acb5760ed0f123447def4cf69c)
- Refactor onDuration logic [`31c1dac`](https://github.com/CookPete/react-player/commit/31c1dacfcd3ac0936a5df1838a75421b9e681eb8)
- Suppress dash.js logs [`75710e4`](https://github.com/CookPete/react-player/commit/75710e4bcf2485e3a23c365649d9e920241ba602)
- Add util tests [`586f179`](https://github.com/lessthan3/react-player/commit/586f1794d14fc2acb5760ed0f123447def4cf69c)
- Refactor onDuration logic [`31c1dac`](https://github.com/lessthan3/react-player/commit/31c1dacfcd3ac0936a5df1838a75421b9e681eb8)
- Suppress dash.js logs [`75710e4`](https://github.com/lessthan3/react-player/commit/75710e4bcf2485e3a23c365649d9e920241ba602)
#### [v0.24.0](https://github.com/CookPete/react-player/compare/v0.23.0...v0.24.0)
#### [v0.24.0](https://github.com/lessthan3/react-player/compare/v0.23.0...v0.24.0)
> 9 September 2017
- Use single config prop [`#71`](https://github.com/CookPete/react-player/issues/71)
- Use single config prop [`#71`](https://github.com/lessthan3/react-player/issues/71)
- Fix webpack production config [`#231`](https://github.com/CookPete/react-player/issues/231)
- Readme tweaks [`c0071f2`](https://github.com/CookPete/react-player/commit/c0071f2f987384ff4a8d188bf98a54f03eb42ea8)
- Set production env variable for browser builds [`1e7c23a`](https://github.com/CookPete/react-player/commit/1e7c23a9a22deca95a3d46390d95338d6b61eed1)
- Add getInternalPlayer method [`bbee417`](https://github.com/CookPete/react-player/commit/bbee41758fbeeea44702d36a2c9e67e2b6206d1a)
- Readme tweaks [`c0071f2`](https://github.com/lessthan3/react-player/commit/c0071f2f987384ff4a8d188bf98a54f03eb42ea8)
- Set production env variable for browser builds [`1e7c23a`](https://github.com/lessthan3/react-player/commit/1e7c23a9a22deca95a3d46390d95338d6b61eed1)
- Add getInternalPlayer method [`bbee417`](https://github.com/lessthan3/react-player/commit/bbee41758fbeeea44702d36a2c9e67e2b6206d1a)
#### [v0.23.0](https://github.com/CookPete/react-player/compare/v0.22.0...v0.23.0)
#### [v0.23.0](https://github.com/lessthan3/react-player/compare/v0.22.0...v0.23.0)
> 8 September 2017
- Soundcloud: use Widget API instead of HTTP API [`#199`](https://github.com/CookPete/react-player/pull/199)
- Fixed broken TypeScript type definitions [`#230`](https://github.com/CookPete/react-player/pull/230)
- Refactor development setup [`81df2a8`](https://github.com/CookPete/react-player/commit/81df2a8c929e4a7d4c10d5c6606964d6d7bf5f1e)
- Update bower ignore patterns [`7c28561`](https://github.com/CookPete/react-player/commit/7c28561379180f5abb85fc5956bcb53beca43b36)
- Skip SoundCloud player tests [`ad751d1`](https://github.com/CookPete/react-player/commit/ad751d12c2f98f9f43ecd1d9692c86ce6597c02d)
- Soundcloud: use Widget API instead of HTTP API [`#199`](https://github.com/lessthan3/react-player/pull/199)
- Fixed broken TypeScript type definitions [`#230`](https://github.com/lessthan3/react-player/pull/230)
- Refactor development setup [`81df2a8`](https://github.com/lessthan3/react-player/commit/81df2a8c929e4a7d4c10d5c6606964d6d7bf5f1e)
- Update bower ignore patterns [`7c28561`](https://github.com/lessthan3/react-player/commit/7c28561379180f5abb85fc5956bcb53beca43b36)
- Skip SoundCloud player tests [`ad751d1`](https://github.com/lessthan3/react-player/commit/ad751d12c2f98f9f43ecd1d9692c86ce6597c02d)
#### [v0.22.0](https://github.com/CookPete/react-player/compare/v0.21.0...v0.22.0)
#### [v0.22.0](https://github.com/lessthan3/react-player/compare/v0.21.0...v0.22.0)
> 3 September 2017
- Move SDK loading logic into getSDK util [`318c9e9`](https://github.com/CookPete/react-player/commit/318c9e93cc55b00d939ab28ecaefce3467ef8440)
- Add sourcemap config to uglify plugin [`901dfbf`](https://github.com/CookPete/react-player/commit/901dfbf101e0d26f9c685088ad9a9b4d318d9950)
- Update vidme example URL [`ad7b335`](https://github.com/CookPete/react-player/commit/ad7b3356ec85ba68d6696e867512177efc33beba)
- Move SDK loading logic into getSDK util [`318c9e9`](https://github.com/lessthan3/react-player/commit/318c9e93cc55b00d939ab28ecaefce3467ef8440)
- Add sourcemap config to uglify plugin [`901dfbf`](https://github.com/lessthan3/react-player/commit/901dfbf101e0d26f9c685088ad9a9b4d318d9950)
- Update vidme example URL [`ad7b335`](https://github.com/lessthan3/react-player/commit/ad7b3356ec85ba68d6696e867512177efc33beba)
#### [v0.21.0](https://github.com/CookPete/react-player/compare/v0.20.0...v0.21.0)
#### [v0.21.0](https://github.com/lessthan3/react-player/compare/v0.20.0...v0.21.0)
> 2 September 2017
- Add muted prop [`#221`](https://github.com/CookPete/react-player/issues/221)
- Add onSeek prop [`#222`](https://github.com/CookPete/react-player/issues/222)
- Add missing typings [`8d1295e`](https://github.com/CookPete/react-player/commit/8d1295e6796ec31b66cfe5f6ef1694d8cafdad9e)
- Update demo videos [`26411b9`](https://github.com/CookPete/react-player/commit/26411b9a29ddcdbb8fec9f8e244860d59f23601b)
- Add missing propTypes [`9ffc996`](https://github.com/CookPete/react-player/commit/9ffc9969b58c04010acfb4a41b405eae4123a6ac)
- Add missing typings [`8d1295e`](https://github.com/lessthan3/react-player/commit/8d1295e6796ec31b66cfe5f6ef1694d8cafdad9e)
- Update demo videos [`26411b9`](https://github.com/lessthan3/react-player/commit/26411b9a29ddcdbb8fec9f8e244860d59f23601b)
- Add missing propTypes [`9ffc996`](https://github.com/lessthan3/react-player/commit/9ffc9969b58c04010acfb4a41b405eae4123a6ac)
#### [v0.20.0](https://github.com/CookPete/react-player/compare/v0.19.1...v0.20.0)
#### [v0.20.0](https://github.com/lessthan3/react-player/compare/v0.19.1...v0.20.0)
> 27 July 2017

@@ -224,9 +232,9 @@ - Allow seekTo to accept number of seconds [`#75`](https://github.com/CookPete/react-player/issues/75)

- Unmute facebook video when setting volume [`#215`](https://github.com/CookPete/react-player/issues/215)
- Bump packages [`8e9e57b`](https://github.com/CookPete/react-player/commit/8e9e57b37f18ec4358bc5bc940f5f7aed2f59a19)
- Bump packages [`8e9e57b`](https://github.com/lessthan3/react-player/commit/8e9e57b37f18ec4358bc5bc940f5f7aed2f59a19)
#### [v0.19.1](https://github.com/CookPete/react-player/compare/v0.19.0...v0.19.1)
#### [v0.19.1](https://github.com/lessthan3/react-player/compare/v0.19.0...v0.19.1)
> 17 July 2017
- More accurate played fraction for Wistia [`#201`](https://github.com/CookPete/react-player/pull/201)
- More accurate played fraction for Wistia [`#201`](https://github.com/lessthan3/react-player/pull/201)
#### [v0.19.0](https://github.com/CookPete/react-player/compare/v0.18.0...v0.19.0)
#### [v0.19.0](https://github.com/lessthan3/react-player/compare/v0.18.0...v0.19.0)
> 13 July 2017

@@ -237,29 +245,29 @@ - Detatch HLS media when stopping [`#212`](https://github.com/CookPete/react-player/issues/212)

- Only use add-module-exports plugin for bower build [`#193`](https://github.com/CookPete/react-player/issues/193) [`#196`](https://github.com/CookPete/react-player/pull/196)
- Bump packages [`7372bcb`](https://github.com/CookPete/react-player/commit/7372bcba6c737e195a3df1d772622f5324cff619)
- Remove need for findDOMNode in Vimeo player [`f6abc06`](https://github.com/CookPete/react-player/commit/f6abc065deb0d526706170c91436f344de8ddc88)
- Add streaming tools to readme [`adf1338`](https://github.com/CookPete/react-player/commit/adf1338f709bdb6eab5486b57f6bfbc2b9df3122)
- Bump packages [`7372bcb`](https://github.com/lessthan3/react-player/commit/7372bcba6c737e195a3df1d772622f5324cff619)
- Remove need for findDOMNode in Vimeo player [`f6abc06`](https://github.com/lessthan3/react-player/commit/f6abc065deb0d526706170c91436f344de8ddc88)
- Add streaming tools to readme [`adf1338`](https://github.com/lessthan3/react-player/commit/adf1338f709bdb6eab5486b57f6bfbc2b9df3122)
#### [v0.18.0](https://github.com/CookPete/react-player/compare/v0.17.2...v0.18.0)
#### [v0.18.0](https://github.com/lessthan3/react-player/compare/v0.17.2...v0.18.0)
> 9 May 2017
- Add support for HLS and DASH streams [`c28c7ff`](https://github.com/CookPete/react-player/commit/c28c7ff637298e6d9ecee588741980b9e0481bfc)
- Bump packages [`6f8da1f`](https://github.com/CookPete/react-player/commit/6f8da1f1f6f643953d0e5c97635addf320c80da7)
- Add support for HLS and DASH streams [`c28c7ff`](https://github.com/lessthan3/react-player/commit/c28c7ff637298e6d9ecee588741980b9e0481bfc)
- Bump packages [`6f8da1f`](https://github.com/lessthan3/react-player/commit/6f8da1f1f6f643953d0e5c97635addf320c80da7)
#### [v0.17.2](https://github.com/CookPete/react-player/compare/v0.17.1...v0.17.2)
#### [v0.17.2](https://github.com/lessthan3/react-player/compare/v0.17.1...v0.17.2)
> 7 May 2017
- Add forceAudio to fileConfig [`#188`](https://github.com/CookPete/react-player/issues/188)
#### [v0.17.1](https://github.com/CookPete/react-player/compare/v0.17.0...v0.17.1)
#### [v0.17.1](https://github.com/lessthan3/react-player/compare/v0.17.0...v0.17.1)
> 5 May 2017
- Fix initial loading bug for Private Vimeo videos [`#187`](https://github.com/CookPete/react-player/pull/187)
- Fix initial loading bug for Private Vimeo videos [`ff8a449`](https://github.com/CookPete/react-player/commit/ff8a449546121be7bfd6f3bb357d9dc06a94fcaa)
- Fix initial loading bug for Private Vimeo videos [`#187`](https://github.com/lessthan3/react-player/pull/187)
- Fix initial loading bug for Private Vimeo videos [`ff8a449`](https://github.com/lessthan3/react-player/commit/ff8a449546121be7bfd6f3bb357d9dc06a94fcaa)
#### [v0.17.0](https://github.com/CookPete/react-player/compare/v0.16.0...v0.17.0)
#### [v0.17.0](https://github.com/lessthan3/react-player/compare/v0.16.0...v0.17.0)
> 30 April 2017
- Add support for m.youtube.com [`#186`](https://github.com/CookPete/react-player/issues/186)
- Add support for multiple file sources [`#81`](https://github.com/CookPete/react-player/issues/81)
- Remove need for Vimeo player IDs [`214a7af`](https://github.com/CookPete/react-player/commit/214a7afebaf00cd3c5b0af06cc63efb0786bd439)
- Remove need for Vimeo player IDs [`214a7af`](https://github.com/lessthan3/react-player/commit/214a7afebaf00cd3c5b0af06cc63efb0786bd439)
#### [v0.16.0](https://github.com/CookPete/react-player/compare/v0.15.0...v0.16.0)
#### [v0.16.0](https://github.com/lessthan3/react-player/compare/v0.15.0...v0.16.0)
> 27 April 2017
- Apply all non-valid props to the wrapper element [`#183`](https://github.com/CookPete/react-player/pull/183)
- Apply all non-valid props to the wrapper element [`#183`](https://github.com/lessthan3/react-player/pull/183)
- Ensure YouTube player is in DOM when stopping [`#180`](https://github.com/CookPete/react-player/pull/180)

@@ -270,7 +278,7 @@ - Use new Vimeo player API [`#142`](https://github.com/CookPete/react-player/pull/142)

- Apply all non-valid props to the wrapper element [`#167`](https://github.com/CookPete/react-player/issues/167)
- DailyMotion tweaks [`64f3cd3`](https://github.com/CookPete/react-player/commit/64f3cd3add0ec6dcea3a0980963676e3b8aa12f0)
- Bump babel-loader [`478c2c3`](https://github.com/CookPete/react-player/commit/478c2c3e987bb849d7e00ffc613f4cac5f3fd949)
- Add Facebook to readme and package description [`ad9c472`](https://github.com/CookPete/react-player/commit/ad9c47217871bd8502d4951dbee2f73f66a561c5)
- DailyMotion tweaks [`64f3cd3`](https://github.com/lessthan3/react-player/commit/64f3cd3add0ec6dcea3a0980963676e3b8aa12f0)
- Bump babel-loader [`478c2c3`](https://github.com/lessthan3/react-player/commit/478c2c3e987bb849d7e00ffc613f4cac5f3fd949)
- Add Facebook to readme and package description [`ad9c472`](https://github.com/lessthan3/react-player/commit/ad9c47217871bd8502d4951dbee2f73f66a561c5)
#### [v0.15.0](https://github.com/CookPete/react-player/compare/v0.14.3...v0.15.0)
#### [v0.15.0](https://github.com/lessthan3/react-player/compare/v0.14.3...v0.15.0)
> 14 April 2017

@@ -283,75 +291,75 @@ - Add vidmeConfig with choice of video format [`#162`](https://github.com/CookPete/react-player/issues/162)

- Add playsinline prop [`#148`](https://github.com/CookPete/react-player/issues/148)
- Bump packages [`41aac30`](https://github.com/CookPete/react-player/commit/41aac30d82255e2a530c0e131c5a615f2ca6e394)
- Bump snazzy [`90c60b3`](https://github.com/CookPete/react-player/commit/90c60b3722b81f15bfab3cc926153b7bb66631af)
- Fix test duration error [`0e8f08e`](https://github.com/CookPete/react-player/commit/0e8f08e6ba32f7f3f8ec73fcc7bb6a0b77b9cd52)
- Bump packages [`41aac30`](https://github.com/lessthan3/react-player/commit/41aac30d82255e2a530c0e131c5a615f2ca6e394)
- Bump snazzy [`90c60b3`](https://github.com/lessthan3/react-player/commit/90c60b3722b81f15bfab3cc926153b7bb66631af)
- Fix test duration error [`0e8f08e`](https://github.com/lessthan3/react-player/commit/0e8f08e6ba32f7f3f8ec73fcc7bb6a0b77b9cd52)
#### [v0.14.3](https://github.com/CookPete/react-player/compare/v0.14.2...v0.14.3)
#### [v0.14.3](https://github.com/lessthan3/react-player/compare/v0.14.2...v0.14.3)
> 21 February 2017
- Add assertion for canPlay with https://vimeo [`#141`](https://github.com/CookPete/react-player/pull/141)
- Use npm 4.x on travis [`#143`](https://github.com/CookPete/react-player/pull/143)
- Use ubuntu 14.04 for travis [`#144`](https://github.com/CookPete/react-player/pull/144)
- fixed width & height of video when it is in fullscreen mode [`#151`](https://github.com/CookPete/react-player/pull/151)
- update webpack to 2.2.1 [`#156`](https://github.com/CookPete/react-player/pull/156)
- Add assertion for canPlay with https://vimeo [`#141`](https://github.com/lessthan3/react-player/pull/141)
- Use npm 4.x on travis [`#143`](https://github.com/lessthan3/react-player/pull/143)
- Use ubuntu 14.04 for travis [`#144`](https://github.com/lessthan3/react-player/pull/144)
- fixed width & height of video when it is in fullscreen mode [`#151`](https://github.com/lessthan3/react-player/pull/151)
- update webpack to 2.2.1 [`#156`](https://github.com/lessthan3/react-player/pull/156)
- Fix vidme url regex [`#158`](https://github.com/CookPete/react-player/issues/158)
- Bump packages [`92b9315`](https://github.com/CookPete/react-player/commit/92b9315f02f2b364b6cd59146e5c03587464cc5a)
- Minor code style fixes [`b39b1ec`](https://github.com/CookPete/react-player/commit/b39b1ec05690610a091bdf229de03d71782ea059)
- Add assertion for making sure canPlay is valid for https://vimeo [`0f55002`](https://github.com/CookPete/react-player/commit/0f550029c92754c193cb5b4adb835d960c2af1fe)
- Bump packages [`92b9315`](https://github.com/lessthan3/react-player/commit/92b9315f02f2b364b6cd59146e5c03587464cc5a)
- Minor code style fixes [`b39b1ec`](https://github.com/lessthan3/react-player/commit/b39b1ec05690610a091bdf229de03d71782ea059)
- Add assertion for making sure canPlay is valid for https://vimeo [`0f55002`](https://github.com/lessthan3/react-player/commit/0f550029c92754c193cb5b4adb835d960c2af1fe)
#### [v0.14.2](https://github.com/CookPete/react-player/compare/v0.14.1...v0.14.2)
#### [v0.14.2](https://github.com/lessthan3/react-player/compare/v0.14.1...v0.14.2)
> 14 February 2017
- Fix youtube player vars config usage [`#152`](https://github.com/CookPete/react-player/issues/152)
- Fix npm prepublish script on windows [`#139`](https://github.com/CookPete/react-player/issues/139)
- fixed width & height of video when it is in fullscreen mode [`f966a15`](https://github.com/CookPete/react-player/commit/f966a15c2e2221359eee54e0753e8f0906e670fd)
- Use cross-env for build scripts [`a6191cf`](https://github.com/CookPete/react-player/commit/a6191cf1d0c14453c88deccfc81db63a60a3a1e0)
- fixed width & height of video when it is in fullscreen mode [`f966a15`](https://github.com/lessthan3/react-player/commit/f966a15c2e2221359eee54e0753e8f0906e670fd)
- Use cross-env for build scripts [`a6191cf`](https://github.com/lessthan3/react-player/commit/a6191cf1d0c14453c88deccfc81db63a60a3a1e0)
#### [v0.14.1](https://github.com/CookPete/react-player/compare/v0.14.0...v0.14.1)
#### [v0.14.1](https://github.com/lessthan3/react-player/compare/v0.14.0...v0.14.1)
> 1 January 2017
- Use video element for ogg files [`#137`](https://github.com/CookPete/react-player/issues/137)
#### [v0.14.0](https://github.com/CookPete/react-player/compare/v0.13.0...v0.14.0)
#### [v0.14.0](https://github.com/lessthan3/react-player/compare/v0.13.0...v0.14.0)
> 26 December 2016
- Wistia support [`#133`](https://github.com/CookPete/react-player/pull/133)
- Add yarn.lock [`690d031`](https://github.com/CookPete/react-player/commit/690d031a72a9057ee9313a05892f92343845593e)
- Tidy up Wistia player [`9c82bfd`](https://github.com/CookPete/react-player/commit/9c82bfd332076fabb5e549e6e2c97cc7d6666a03)
- Bump node-sass [`9d4689e`](https://github.com/CookPete/react-player/commit/9d4689ee8da2016d942b23e5a2b74d9df0d4e19c)
- Wistia support [`#133`](https://github.com/lessthan3/react-player/pull/133)
- Add yarn.lock [`690d031`](https://github.com/lessthan3/react-player/commit/690d031a72a9057ee9313a05892f92343845593e)
- Tidy up Wistia player [`9c82bfd`](https://github.com/lessthan3/react-player/commit/9c82bfd332076fabb5e549e6e2c97cc7d6666a03)
- Bump node-sass [`9d4689e`](https://github.com/lessthan3/react-player/commit/9d4689ee8da2016d942b23e5a2b74d9df0d4e19c)
#### [v0.13.0](https://github.com/CookPete/react-player/compare/v0.12.1...v0.13.0)
#### [v0.13.0](https://github.com/lessthan3/react-player/compare/v0.12.1...v0.13.0)
> 12 December 2016
- PlaybackRate change feature [`#123`](https://github.com/CookPete/react-player/pull/123)
- Fix onProgress non-reporting if playing prop is not set. [`#127`](https://github.com/CookPete/react-player/pull/127)
- Add additional audio file extensions to regex [`#131`](https://github.com/CookPete/react-player/pull/131)
- Use node 6 on travis [`#130`](https://github.com/CookPete/react-player/pull/130)
- PlaybackRate change feature [`#123`](https://github.com/lessthan3/react-player/pull/123)
- Fix onProgress non-reporting if playing prop is not set. [`#127`](https://github.com/lessthan3/react-player/pull/127)
- Add additional audio file extensions to regex [`#131`](https://github.com/lessthan3/react-player/pull/131)
- Use node 6 on travis [`#130`](https://github.com/lessthan3/react-player/pull/130)
- Add typescript definition file [`#134`](https://github.com/CookPete/react-player/issues/134)
- [feature] Change PlaybackRate [`d28c309`](https://github.com/CookPete/react-player/commit/d28c309529f59d961238d549c3391af7ea08a44f)
- Fix incorrect duration calculation in demo app. [`4114677`](https://github.com/CookPete/react-player/commit/411467726be66f7f5d7fdba826da76323ef6883f)
- Add playbackRate prop to readme [`b674882`](https://github.com/CookPete/react-player/commit/b6748821837315903c56a213c1a970d399840267)
- [feature] Change PlaybackRate [`d28c309`](https://github.com/lessthan3/react-player/commit/d28c309529f59d961238d549c3391af7ea08a44f)
- Fix incorrect duration calculation in demo app. [`4114677`](https://github.com/lessthan3/react-player/commit/411467726be66f7f5d7fdba826da76323ef6883f)
- Add playbackRate prop to readme [`b674882`](https://github.com/lessthan3/react-player/commit/b6748821837315903c56a213c1a970d399840267)
#### [v0.12.1](https://github.com/CookPete/react-player/compare/v0.12.0...v0.12.1)
#### [v0.12.1](https://github.com/lessthan3/react-player/compare/v0.12.0...v0.12.1)
> 19 November 2016
- Add fullscreen example to demo [`563252b`](https://github.com/CookPete/react-player/commit/563252be94cafd5d973271f56c91fda4b1f87e4f)
- Fullscreen youtube player fix [`83e8e60`](https://github.com/CookPete/react-player/commit/83e8e60a018e85bb27aa907360142f0a63761d54)
- Add fullscreen example to demo [`563252b`](https://github.com/lessthan3/react-player/commit/563252be94cafd5d973271f56c91fda4b1f87e4f)
- Fullscreen youtube player fix [`83e8e60`](https://github.com/lessthan3/react-player/commit/83e8e60a018e85bb27aa907360142f0a63761d54)
#### [v0.12.0](https://github.com/CookPete/react-player/compare/v0.11.0...v0.12.0)
#### [v0.12.0](https://github.com/lessthan3/react-player/compare/v0.11.0...v0.12.0)
> 10 October 2016
- Pass DOM node to YouTube Player instead of ID [`#111`](https://github.com/CookPete/react-player/pull/111)
- update all dependencies [`#107`](https://github.com/CookPete/react-player/pull/107)
- Pass DOM node to YouTube Player instead of ID [`#111`](https://github.com/lessthan3/react-player/pull/111)
- update all dependencies [`#107`](https://github.com/lessthan3/react-player/pull/107)
- Add showArtwork option to soundcloud config [`#108`](https://github.com/CookPete/react-player/issues/108)
- Add Vidme support [`609ee08`](https://github.com/CookPete/react-player/commit/609ee0845199879141dd89b20d3fbc996c20fdee)
- Remove anonymous ref callback functions [`26aec63`](https://github.com/CookPete/react-player/commit/26aec63f05bfeba28536645dba5f0cbf0c5891a8)
- Tidy up youtube ref usage [`79b1691`](https://github.com/CookPete/react-player/commit/79b1691fc4c490ceed494ba6d7dcfbfd93bdf7b2)
- Add Vidme support [`609ee08`](https://github.com/lessthan3/react-player/commit/609ee0845199879141dd89b20d3fbc996c20fdee)
- Remove anonymous ref callback functions [`26aec63`](https://github.com/lessthan3/react-player/commit/26aec63f05bfeba28536645dba5f0cbf0c5891a8)
- Tidy up youtube ref usage [`79b1691`](https://github.com/lessthan3/react-player/commit/79b1691fc4c490ceed494ba6d7dcfbfd93bdf7b2)
#### [v0.11.0](https://github.com/CookPete/react-player/compare/v0.10.0...v0.11.0)
#### [v0.11.0](https://github.com/lessthan3/react-player/compare/v0.10.0...v0.11.0)
> 26 September 2016
- Add onReady prop [`#106`](https://github.com/CookPete/react-player/issues/106)
#### [v0.10.0](https://github.com/CookPete/react-player/compare/v0.9.0...v0.10.0)
#### [v0.10.0](https://github.com/lessthan3/react-player/compare/v0.9.0...v0.10.0)
> 25 September 2016
- Add `hidden` prop to ReactPlayer [`#102`](https://github.com/CookPete/react-player/pull/102)
- Add `hidden` prop to ReactPlayer [`#102`](https://github.com/lessthan3/react-player/pull/102)
- Use mounted property to prevent setting state when unmounted [`#105`](https://github.com/CookPete/react-player/issues/105)
- Update onProgress logic to still report loaded amounts when paused [`#94`](https://github.com/CookPete/react-player/issues/94)
- Use ref callbacks instead of ref strings [`6c16ba0`](https://github.com/CookPete/react-player/commit/6c16ba0f44d0403ae3e089ca1dafed0077b095e7)
- Only fire FilePlayer onPause when mounted [`2e1170c`](https://github.com/CookPete/react-player/commit/2e1170c18697d3de23d347a25c771ba14807c2ff)
- No longer pause FilePlayer when stopping [`5e6f9d2`](https://github.com/CookPete/react-player/commit/5e6f9d2b57a3d728ce8da0edb9e2634e3601cca4)
- Use ref callbacks instead of ref strings [`6c16ba0`](https://github.com/lessthan3/react-player/commit/6c16ba0f44d0403ae3e089ca1dafed0077b095e7)
- Only fire FilePlayer onPause when mounted [`2e1170c`](https://github.com/lessthan3/react-player/commit/2e1170c18697d3de23d347a25c771ba14807c2ff)
- No longer pause FilePlayer when stopping [`5e6f9d2`](https://github.com/lessthan3/react-player/commit/5e6f9d2b57a3d728ce8da0edb9e2634e3601cca4)
#### [v0.9.0](https://github.com/CookPete/react-player/compare/v0.8.0...v0.9.0)
#### [v0.9.0](https://github.com/lessthan3/react-player/compare/v0.8.0...v0.9.0)
> 9 August 2016

@@ -361,11 +369,11 @@ - Ensure YouTube SDK is loaded before resolving promise [`#88`](https://github.com/CookPete/react-player/issues/88)

- Add style prop [`#92`](https://github.com/CookPete/react-player/issues/92)
- Skip tests before versioning [`ed6cab0`](https://github.com/CookPete/react-player/commit/ed6cab0cc983efaf0ef8813b77a0a3a407091726)
- Skip tests before versioning [`ed6cab0`](https://github.com/lessthan3/react-player/commit/ed6cab0cc983efaf0ef8813b77a0a3a407091726)
#### [v0.8.0](https://github.com/CookPete/react-player/compare/v0.7.5...v0.8.0)
#### [v0.8.0](https://github.com/lessthan3/react-player/compare/v0.7.5...v0.8.0)
> 29 July 2016
- Add support for non-es5 compatible browsers [`#87`](https://github.com/CookPete/react-player/pull/87)
- Render FilePlayer by default [`8d249ce`](https://github.com/CookPete/react-player/commit/8d249cedb234f63e59858840a5ea40b899632177)
- Bump packages [`2d43659`](https://github.com/CookPete/react-player/commit/2d436592fedbba4b92653e1f929d5a31ccf3b14d)
- Add support for non-es5 compatible browsers [`#87`](https://github.com/lessthan3/react-player/pull/87)
- Render FilePlayer by default [`8d249ce`](https://github.com/lessthan3/react-player/commit/8d249cedb234f63e59858840a5ea40b899632177)
- Bump packages [`2d43659`](https://github.com/lessthan3/react-player/commit/2d436592fedbba4b92653e1f929d5a31ccf3b14d)
#### [v0.7.5](https://github.com/CookPete/react-player/compare/v0.7.4...v0.7.5)
#### [v0.7.5](https://github.com/lessthan3/react-player/compare/v0.7.4...v0.7.5)
> 27 July 2016

@@ -376,37 +384,37 @@ - Always send both played and loaded values in progress events [`#79`](https://github.com/CookPete/react-player/issues/79)

- Update player when width or height changes [`#84`](https://github.com/CookPete/react-player/issues/84)
- Stop progress loop on pause [`180039b`](https://github.com/CookPete/react-player/commit/180039b19b3975e7e0ecae1202ccb304d829fba7)
- Add babel es3 plugins [`26abe2c`](https://github.com/CookPete/react-player/commit/26abe2ccb66e9677a20baa5f6a0da64262f53ef8)
- Stop progress loop on pause [`180039b`](https://github.com/lessthan3/react-player/commit/180039b19b3975e7e0ecae1202ccb304d829fba7)
- Add babel es3 plugins [`26abe2c`](https://github.com/lessthan3/react-player/commit/26abe2ccb66e9677a20baa5f6a0da64262f53ef8)
#### [v0.7.4](https://github.com/CookPete/react-player/compare/v0.7.3...v0.7.4)
#### [v0.7.4](https://github.com/lessthan3/react-player/compare/v0.7.3...v0.7.4)
> 23 June 2016
- Pause FilePlayer when stopping [`#78`](https://github.com/CookPete/react-player/issues/78)
#### [v0.7.3](https://github.com/CookPete/react-player/compare/v0.7.2...v0.7.3)
#### [v0.7.3](https://github.com/lessthan3/react-player/compare/v0.7.2...v0.7.3)
> 21 June 2016
- Pass fileConfig down correctly [`1dffcca`](https://github.com/CookPete/react-player/commit/1dffccafca1f3440068a66e661a1fced9cde1593)
- Pass fileConfig down correctly [`1dffcca`](https://github.com/lessthan3/react-player/commit/1dffccafca1f3440068a66e661a1fced9cde1593)
#### [v0.7.2](https://github.com/CookPete/react-player/compare/v0.7.1...v0.7.2)
#### [v0.7.2](https://github.com/lessthan3/react-player/compare/v0.7.1...v0.7.2)
> 3 June 2016
- Add m4v and m4a extensions to filePlayer [`#72`](https://github.com/CookPete/react-player/issues/72)
- Fix onDuration being called with null [`#52`](https://github.com/CookPete/react-player/issues/52)
- Rename seekOnReady to seekOnPlay [`91f7344`](https://github.com/CookPete/react-player/commit/91f73449e835c5e7bda30889e909510118f8c84f)
- Add failing onDuration test [`564243e`](https://github.com/CookPete/react-player/commit/564243e19449326eab30c163f9ffb82678fcf502)
- Nest media switching test in a describe block [`2fe8806`](https://github.com/CookPete/react-player/commit/2fe8806996b915f59d5105b2f304018152c75a0b)
- Rename seekOnReady to seekOnPlay [`91f7344`](https://github.com/lessthan3/react-player/commit/91f73449e835c5e7bda30889e909510118f8c84f)
- Add failing onDuration test [`564243e`](https://github.com/lessthan3/react-player/commit/564243e19449326eab30c163f9ffb82678fcf502)
- Nest media switching test in a describe block [`2fe8806`](https://github.com/lessthan3/react-player/commit/2fe8806996b915f59d5105b2f304018152c75a0b)
#### [v0.7.1](https://github.com/CookPete/react-player/compare/v0.7.0...v0.7.1)
#### [v0.7.1](https://github.com/lessthan3/react-player/compare/v0.7.0...v0.7.1)
> 1 June 2016
- Update supported file type regex [`#68`](https://github.com/CookPete/react-player/pull/68)
- Update README.md links [`#66`](https://github.com/CookPete/react-player/pull/66)
- Tweak example usage [`eff2623`](https://github.com/CookPete/react-player/commit/eff2623b302312116ff0a6bd2e60aca04f2473e6)
- make file extensions case insensitive [`6f0f346`](https://github.com/CookPete/react-player/commit/6f0f34682106bafa40b9a68de2d77d4f9425b1f5)
- Add .mov to supported video file types [`0bd811e`](https://github.com/CookPete/react-player/commit/0bd811e4d376ec673b72bc67ececc9b1d4e912aa)
- Update supported file type regex [`#68`](https://github.com/lessthan3/react-player/pull/68)
- Update README.md links [`#66`](https://github.com/lessthan3/react-player/pull/66)
- Tweak example usage [`eff2623`](https://github.com/lessthan3/react-player/commit/eff2623b302312116ff0a6bd2e60aca04f2473e6)
- make file extensions case insensitive [`6f0f346`](https://github.com/lessthan3/react-player/commit/6f0f34682106bafa40b9a68de2d77d4f9425b1f5)
- Add .mov to supported video file types [`0bd811e`](https://github.com/lessthan3/react-player/commit/0bd811e4d376ec673b72bc67ececc9b1d4e912aa)
#### [v0.7.0](https://github.com/CookPete/react-player/compare/v0.6.0...v0.7.0)
#### [v0.7.0](https://github.com/lessthan3/react-player/compare/v0.6.0...v0.7.0)
> 21 May 2016
- Use filePlayer for SoundCloud tracks [`#64`](https://github.com/CookPete/react-player/issues/64)
- Add controls prop [`9a2ae22`](https://github.com/CookPete/react-player/commit/9a2ae229283e0c41ceea62ba01cdac243cf2bb82)
- Tidy up filePlayer [`79c2d5a`](https://github.com/CookPete/react-player/commit/79c2d5a16f999628493c3ac7ce052960ae5be67a)
- Skip FilePlayer onError test [`c4ed490`](https://github.com/CookPete/react-player/commit/c4ed49093f307ea7c844987d1f9e398a4dea5596)
- Add controls prop [`9a2ae22`](https://github.com/lessthan3/react-player/commit/9a2ae229283e0c41ceea62ba01cdac243cf2bb82)
- Tidy up filePlayer [`79c2d5a`](https://github.com/lessthan3/react-player/commit/79c2d5a16f999628493c3ac7ce052960ae5be67a)
- Skip FilePlayer onError test [`c4ed490`](https://github.com/lessthan3/react-player/commit/c4ed49093f307ea7c844987d1f9e398a4dea5596)
#### [v0.6.0](https://github.com/CookPete/react-player/compare/v0.5.8...v0.6.0)
#### [v0.6.0](https://github.com/lessthan3/react-player/compare/v0.5.8...v0.6.0)
> 19 May 2016

@@ -417,187 +425,187 @@ - Add filePlayer config prop [`#62`](https://github.com/CookPete/react-player/issues/62)

- Use fetch-jsonp for SoundCloud resolve endpoint [`#24`](https://github.com/CookPete/react-player/issues/24) [`#47`](https://github.com/CookPete/react-player/issues/47)
- Remove class property semicolons [`0c8070d`](https://github.com/CookPete/react-player/commit/0c8070dbac394d40268b2df505672fbbd8befc2a)
- Remove arrow function brackets [`cb71f30`](https://github.com/CookPete/react-player/commit/cb71f30975407638445e1038a1ee45edce73b021)
- Bump packages [`fe8a871`](https://github.com/CookPete/react-player/commit/fe8a871a16996c3b9e31e044fa4e0b88bc5a2d22)
- Remove class property semicolons [`0c8070d`](https://github.com/lessthan3/react-player/commit/0c8070dbac394d40268b2df505672fbbd8befc2a)
- Remove arrow function brackets [`cb71f30`](https://github.com/lessthan3/react-player/commit/cb71f30975407638445e1038a1ee45edce73b021)
- Bump packages [`fe8a871`](https://github.com/lessthan3/react-player/commit/fe8a871a16996c3b9e31e044fa4e0b88bc5a2d22)
#### [v0.5.8](https://github.com/CookPete/react-player/compare/v0.5.7...v0.5.8)
#### [v0.5.8](https://github.com/lessthan3/react-player/compare/v0.5.7...v0.5.8)
> 19 April 2016
- Bump packages [`#56`](https://github.com/CookPete/react-player/issues/56)
- Better canPlay test grouping [`f528ade`](https://github.com/CookPete/react-player/commit/f528ade2ef7a8403c3a517fa52818dce6f07f6f7)
- Fix test descriptions [`0ce6c6b`](https://github.com/CookPete/react-player/commit/0ce6c6b252a61253bc1851ab822668c91b3dfc46)
- Increase onPause test delay [`2449cf7`](https://github.com/CookPete/react-player/commit/2449cf75a5d166313296000b73abc60f28cfa160)
- Better canPlay test grouping [`f528ade`](https://github.com/lessthan3/react-player/commit/f528ade2ef7a8403c3a517fa52818dce6f07f6f7)
- Fix test descriptions [`0ce6c6b`](https://github.com/lessthan3/react-player/commit/0ce6c6b252a61253bc1851ab822668c91b3dfc46)
- Increase onPause test delay [`2449cf7`](https://github.com/lessthan3/react-player/commit/2449cf75a5d166313296000b73abc60f28cfa160)
#### [v0.5.7](https://github.com/CookPete/react-player/compare/v0.5.6...v0.5.7)
#### [v0.5.7](https://github.com/lessthan3/react-player/compare/v0.5.6...v0.5.7)
> 13 April 2016
- Pass on error event [`#48`](https://github.com/CookPete/react-player/pull/48)
- Add FilePlayer support for urls with query string [`#45`](https://github.com/CookPete/react-player/pull/45)
- Pass on error event [`#48`](https://github.com/lessthan3/react-player/pull/48)
- Add FilePlayer support for urls with query string [`#45`](https://github.com/lessthan3/react-player/pull/45)
- Add progressFrequency prop [`#50`](https://github.com/CookPete/react-player/issues/50)
- Only include played amount in onProgress when playing [`#51`](https://github.com/CookPete/react-player/issues/51)
- Pass on event including error message and code onError [`#44`](https://github.com/CookPete/react-player/issues/44)
- Add default props to readme [`2abb25e`](https://github.com/CookPete/react-player/commit/2abb25e68b6e5caa7d68e3cbfeab63789add2728)
- Specify https in YouTube SDK location [`c05bd9d`](https://github.com/CookPete/react-player/commit/c05bd9dff3a8595c5bb2e53c33ddaf8db8c894de)
- Add shameless rplayr plug to readme [`93e84a4`](https://github.com/CookPete/react-player/commit/93e84a47ece7ec5447e2f927b18d4338de9c674b)
- Pass on event including error message and code onError [`#44`](https://github.com/lessthan3/react-player/issues/44)
- Add default props to readme [`2abb25e`](https://github.com/lessthan3/react-player/commit/2abb25e68b6e5caa7d68e3cbfeab63789add2728)
- Specify https in YouTube SDK location [`c05bd9d`](https://github.com/lessthan3/react-player/commit/c05bd9dff3a8595c5bb2e53c33ddaf8db8c894de)
- Add shameless rplayr plug to readme [`93e84a4`](https://github.com/lessthan3/react-player/commit/93e84a47ece7ec5447e2f927b18d4338de9c674b)
#### [v0.5.6](https://github.com/CookPete/react-player/compare/v0.5.5...v0.5.6)
#### [v0.5.6](https://github.com/lessthan3/react-player/compare/v0.5.5...v0.5.6)
> 8 March 2016
- Fix bower support [`#42`](https://github.com/CookPete/react-player/issues/42)
- Update readme with mobile considerations [`#41`](https://github.com/CookPete/react-player/issues/41)
- Remove comments from production builds [`03a4e22`](https://github.com/CookPete/react-player/commit/03a4e22a80f8c64fdc31acc33829b88ac15c85d5)
- Fix browser build [`78463b2`](https://github.com/CookPete/react-player/commit/78463b2592a12eac990673a991aada66f86b1434)
- Bump karma-mocha-reporter [`98bc28a`](https://github.com/CookPete/react-player/commit/98bc28a9d9200f6ce0d4545abc352481701839cd)
- Remove comments from production builds [`03a4e22`](https://github.com/lessthan3/react-player/commit/03a4e22a80f8c64fdc31acc33829b88ac15c85d5)
- Fix browser build [`78463b2`](https://github.com/lessthan3/react-player/commit/78463b2592a12eac990673a991aada66f86b1434)
- Bump karma-mocha-reporter [`98bc28a`](https://github.com/lessthan3/react-player/commit/98bc28a9d9200f6ce0d4545abc352481701839cd)
#### [v0.5.5](https://github.com/CookPete/react-player/compare/v0.5.4...v0.5.5)
#### [v0.5.5](https://github.com/lessthan3/react-player/compare/v0.5.4...v0.5.5)
> 29 February 2016
- Add browser build [`#35`](https://github.com/CookPete/react-player/issues/35) [`#38`](https://github.com/CookPete/react-player/issues/38)
- Add promise and fetch polyfills to build [`#39`](https://github.com/CookPete/react-player/issues/39)
- Add bower.json [`e95ee66`](https://github.com/CookPete/react-player/commit/e95ee66ffeeeb50bcf2e7666c1b90fa2676d6688)
- Update license in package.json to match LICENSE file [`6f1d021`](https://github.com/CookPete/react-player/commit/6f1d0210a9a8920f5a7e2e0ea3c2f20f5b2d2945)
- Bump snazzy [`f3d3050`](https://github.com/CookPete/react-player/commit/f3d3050aec264a54c4a251bfed20f1600b8ffe1d)
- Add bower.json [`e95ee66`](https://github.com/lessthan3/react-player/commit/e95ee66ffeeeb50bcf2e7666c1b90fa2676d6688)
- Update license in package.json to match LICENSE file [`6f1d021`](https://github.com/lessthan3/react-player/commit/6f1d0210a9a8920f5a7e2e0ea3c2f20f5b2d2945)
- Bump snazzy [`f3d3050`](https://github.com/lessthan3/react-player/commit/f3d3050aec264a54c4a251bfed20f1600b8ffe1d)
#### [v0.5.4](https://github.com/CookPete/react-player/compare/v0.5.3...v0.5.4)
#### [v0.5.4](https://github.com/lessthan3/react-player/compare/v0.5.3...v0.5.4)
> 3 February 2016
- Remove the need for array.find polyfill [`7aa4719`](https://github.com/CookPete/react-player/commit/7aa471943def19d9e9b0abab3cf1172cb1db1cb1)
- Bump and move array.prototype.find [`736ef37`](https://github.com/CookPete/react-player/commit/736ef376055dafbc6a6cd668f0897a4de0bcf663)
- Add sshpass to travis [`84f889e`](https://github.com/CookPete/react-player/commit/84f889e861348db36577685be608e66fa4c2ad12)
- Remove the need for array.find polyfill [`7aa4719`](https://github.com/lessthan3/react-player/commit/7aa471943def19d9e9b0abab3cf1172cb1db1cb1)
- Bump and move array.prototype.find [`736ef37`](https://github.com/lessthan3/react-player/commit/736ef376055dafbc6a6cd668f0897a4de0bcf663)
- Add sshpass to travis [`84f889e`](https://github.com/lessthan3/react-player/commit/84f889e861348db36577685be608e66fa4c2ad12)
#### [v0.5.3](https://github.com/CookPete/react-player/compare/v0.5.2...v0.5.3)
#### [v0.5.3](https://github.com/lessthan3/react-player/compare/v0.5.2...v0.5.3)
> 26 January 2016
- Better karma test grouping [`8a3d4e8`](https://github.com/CookPete/react-player/commit/8a3d4e83944466945002634c84a1c1bfa5035fd9)
- Cache SoundCloud song data requests [`27f002f`](https://github.com/CookPete/react-player/commit/27f002f6438c92a06cc48c93e59fbb8ecf42b056)
- Bump whatwg-fetch [`0bed37b`](https://github.com/CookPete/react-player/commit/0bed37b27167cff72b385aeee304324162080e8a)
- Better karma test grouping [`8a3d4e8`](https://github.com/lessthan3/react-player/commit/8a3d4e83944466945002634c84a1c1bfa5035fd9)
- Cache SoundCloud song data requests [`27f002f`](https://github.com/lessthan3/react-player/commit/27f002f6438c92a06cc48c93e59fbb8ecf42b056)
- Bump whatwg-fetch [`0bed37b`](https://github.com/lessthan3/react-player/commit/0bed37b27167cff72b385aeee304324162080e8a)
#### [v0.5.2](https://github.com/CookPete/react-player/compare/v0.5.1...v0.5.2)
#### [v0.5.2](https://github.com/lessthan3/react-player/compare/v0.5.1...v0.5.2)
> 25 January 2016
- Vimeo fullscreen support [`#33`](https://github.com/CookPete/react-player/issues/33)
- Tweak readme [`a741b2c`](https://github.com/CookPete/react-player/commit/a741b2c381dae449916895ce13f81e14dccf3afa)
- Add preload to propTypes [`ad05a91`](https://github.com/CookPete/react-player/commit/ad05a91622fd050b69f290720a7a7fe9b8881df7)
- Tweak readme [`a741b2c`](https://github.com/lessthan3/react-player/commit/a741b2c381dae449916895ce13f81e14dccf3afa)
- Add preload to propTypes [`ad05a91`](https://github.com/lessthan3/react-player/commit/ad05a91622fd050b69f290720a7a7fe9b8881df7)
#### [v0.5.1](https://github.com/CookPete/react-player/compare/v0.5.0...v0.5.1)
#### [v0.5.1](https://github.com/lessthan3/react-player/compare/v0.5.0...v0.5.1)
> 21 January 2016
- Move onDuration callback from onReady to onPlay [`#31`](https://github.com/CookPete/react-player/issues/31)
- Destructure state in demo render method [`6ed327d`](https://github.com/CookPete/react-player/commit/6ed327db830a9b0ea98acf111b94122b6f4c8418)
- Add simple Duration component to improve demo [`d42c6d3`](https://github.com/CookPete/react-player/commit/d42c6d3c4c1e323e8d856b0a2b2c95e526d55e81)
- Change onProgress frequency to 1 second [`45746d9`](https://github.com/CookPete/react-player/commit/45746d96ebef9a290fca4a88deaeaa83843ca4ad)
- Destructure state in demo render method [`6ed327d`](https://github.com/lessthan3/react-player/commit/6ed327db830a9b0ea98acf111b94122b6f4c8418)
- Add simple Duration component to improve demo [`d42c6d3`](https://github.com/lessthan3/react-player/commit/d42c6d3c4c1e323e8d856b0a2b2c95e526d55e81)
- Change onProgress frequency to 1 second [`45746d9`](https://github.com/lessthan3/react-player/commit/45746d96ebef9a290fca4a88deaeaa83843ca4ad)
#### [v0.5.0](https://github.com/CookPete/react-player/compare/v0.4.2...v0.5.0)
#### [v0.5.0](https://github.com/lessthan3/react-player/compare/v0.4.2...v0.5.0)
> 14 January 2016
- Add onDuration prop [`#28`](https://github.com/CookPete/react-player/issues/28)
- Ensure YouTube player calls onReady on subsequent loads [`3a997bb`](https://github.com/CookPete/react-player/commit/3a997bb63878ccff551a12e8e076f63b8cf208a3)
- Ensure vimeo player has duration before calling onReady [`8b31a8f`](https://github.com/CookPete/react-player/commit/8b31a8ff77aa57b611996670b9b09d2d9b9aeae8)
- Add live demo to readme [`4aa8a29`](https://github.com/CookPete/react-player/commit/4aa8a292f2e3ee20f79e4a815d09f353da6a553d)
- Ensure YouTube player calls onReady on subsequent loads [`3a997bb`](https://github.com/lessthan3/react-player/commit/3a997bb63878ccff551a12e8e076f63b8cf208a3)
- Ensure vimeo player has duration before calling onReady [`8b31a8f`](https://github.com/lessthan3/react-player/commit/8b31a8ff77aa57b611996670b9b09d2d9b9aeae8)
- Add live demo to readme [`4aa8a29`](https://github.com/lessthan3/react-player/commit/4aa8a292f2e3ee20f79e4a815d09f353da6a553d)
#### [v0.4.2](https://github.com/CookPete/react-player/compare/v0.4.1...v0.4.2)
#### [v0.4.2](https://github.com/lessthan3/react-player/compare/v0.4.1...v0.4.2)
> 11 January 2016
- Add semicolons to class properties [`#27`](https://github.com/CookPete/react-player/issues/27)
- Limit Travis to just basic tests [`#26`](https://github.com/CookPete/react-player/issues/26)
- Bump packages [`21f03b2`](https://github.com/CookPete/react-player/commit/21f03b2309951456c86567c1ff254628814af224)
- Bump packages [`21f03b2`](https://github.com/lessthan3/react-player/commit/21f03b2309951456c86567c1ff254628814af224)
#### [v0.4.1](https://github.com/CookPete/react-player/compare/v0.4.0...v0.4.1)
#### [v0.4.1](https://github.com/lessthan3/react-player/compare/v0.4.0...v0.4.1)
> 11 January 2016
- Add more files to .npmignore [`1cd8052`](https://github.com/CookPete/react-player/commit/1cd80526d32a5b060208b3d1e7883adcfcd7cfe6)
- Update auto-changelog [`1cebd28`](https://github.com/CookPete/react-player/commit/1cebd28b25d66713204b5920052c8979d84c234d)
- Fix npm badge link [`f6a146b`](https://github.com/CookPete/react-player/commit/f6a146b3904934dcd10287100400e54aeeb50541)
- Add more files to .npmignore [`1cd8052`](https://github.com/lessthan3/react-player/commit/1cd80526d32a5b060208b3d1e7883adcfcd7cfe6)
- Update auto-changelog [`1cebd28`](https://github.com/lessthan3/react-player/commit/1cebd28b25d66713204b5920052c8979d84c234d)
- Fix npm badge link [`f6a146b`](https://github.com/lessthan3/react-player/commit/f6a146b3904934dcd10287100400e54aeeb50541)
#### [v0.4.0](https://github.com/CookPete/react-player/compare/v0.3.7...v0.4.0)
#### [v0.4.0](https://github.com/lessthan3/react-player/compare/v0.3.7...v0.4.0)
> 9 January 2016
- Use react-transform development setup [`#25`](https://github.com/CookPete/react-player/pull/25)
- Use react-transform development setup [`#25`](https://github.com/lessthan3/react-player/pull/25)
- Add basic karma testing [`#22`](https://github.com/CookPete/react-player/issues/22)
- Rebase on react-transform-boilerplate [`#8`](https://github.com/CookPete/react-player/issues/8)
- Add styles and various fixes to the demo app [`0b16606`](https://github.com/CookPete/react-player/commit/0b16606615252a2584f6380912208b11b1df81c4)
- Separate demo files [`c7230e7`](https://github.com/CookPete/react-player/commit/c7230e71d69d4e06b4de266c692b457e7a7c421f)
- Fix FilePlayer width and height [`97eb231`](https://github.com/CookPete/react-player/commit/97eb2312e4faa4cd221119c502cf17825b603f6c)
- Add styles and various fixes to the demo app [`0b16606`](https://github.com/lessthan3/react-player/commit/0b16606615252a2584f6380912208b11b1df81c4)
- Separate demo files [`c7230e7`](https://github.com/lessthan3/react-player/commit/c7230e71d69d4e06b4de266c692b457e7a7c421f)
- Fix FilePlayer width and height [`97eb231`](https://github.com/lessthan3/react-player/commit/97eb2312e4faa4cd221119c502cf17825b603f6c)
#### [v0.3.7](https://github.com/CookPete/react-player/compare/v0.3.6...v0.3.7)
#### [v0.3.7](https://github.com/lessthan3/react-player/compare/v0.3.6...v0.3.7)
> 4 January 2016
- When seeking before player is ready, store value and seek later [`#19`](https://github.com/CookPete/react-player/issues/19)
- Remove redundant soundcloud player options [`647fa9e`](https://github.com/CookPete/react-player/commit/647fa9ef1eb0150dd322614ad74b339439830b50)
- Prevent IndexSizeError in FilePlayer [`ba31958`](https://github.com/CookPete/react-player/commit/ba31958aeaf11da9a0ef56915db311b3c5881181)
- Fix FilePlayer not loading on mount [`00f9671`](https://github.com/CookPete/react-player/commit/00f9671a12bf09d0160653391a680165d6098adf)
- Remove redundant soundcloud player options [`647fa9e`](https://github.com/lessthan3/react-player/commit/647fa9ef1eb0150dd322614ad74b339439830b50)
- Prevent IndexSizeError in FilePlayer [`ba31958`](https://github.com/lessthan3/react-player/commit/ba31958aeaf11da9a0ef56915db311b3c5881181)
- Fix FilePlayer not loading on mount [`00f9671`](https://github.com/lessthan3/react-player/commit/00f9671a12bf09d0160653391a680165d6098adf)
#### [v0.3.6](https://github.com/CookPete/react-player/compare/v0.3.5...v0.3.6)
#### [v0.3.6](https://github.com/lessthan3/react-player/compare/v0.3.5...v0.3.6)
> 4 January 2016
- Ensure volume on subsequent youtube loads [`5895663`](https://github.com/CookPete/react-player/commit/58956633754073e0c3d9316da9cadfd4a49a823c)
- Ensure volume on subsequent youtube loads [`5895663`](https://github.com/lessthan3/react-player/commit/58956633754073e0c3d9316da9cadfd4a49a823c)
#### [v0.3.5](https://github.com/CookPete/react-player/compare/v0.3.4...v0.3.5)
#### [v0.3.5](https://github.com/lessthan3/react-player/compare/v0.3.4...v0.3.5)
> 4 January 2016
- Fix YouTube onReady bugs [`#21`](https://github.com/CookPete/react-player/pull/21)
- Fix YouTube onReady bugs [`#21`](https://github.com/lessthan3/react-player/pull/21)
- Set isReady before setVolume in onReady [`#23`](https://github.com/CookPete/react-player/issues/23)
- Handle YouTube URL change during SDK load [`#20`](https://github.com/CookPete/react-player/issues/20)
- Tidy up YouTube code [`64c952f`](https://github.com/CookPete/react-player/commit/64c952f31ca5397a13fbdbd35e3485dd2dbfc466)
- Lint and test before versioning [`fdf2fa3`](https://github.com/CookPete/react-player/commit/fdf2fa39136b1286d0859af9b86cc253b9354743)
- Tidy up YouTube code [`64c952f`](https://github.com/lessthan3/react-player/commit/64c952f31ca5397a13fbdbd35e3485dd2dbfc466)
- Lint and test before versioning [`fdf2fa3`](https://github.com/lessthan3/react-player/commit/fdf2fa39136b1286d0859af9b86cc253b9354743)
#### [v0.3.4](https://github.com/CookPete/react-player/compare/v0.3.3...v0.3.4)
#### [v0.3.4](https://github.com/lessthan3/react-player/compare/v0.3.3...v0.3.4)
> 3 January 2016
- Update readme badges [`6d0503c`](https://github.com/CookPete/react-player/commit/6d0503c7d6706063394301af61db342caeff9272)
- Fix YouTube pause guard [`1f8d372`](https://github.com/CookPete/react-player/commit/1f8d3720239353c496db3076b306cc52e99607dd)
- Update readme badges [`6d0503c`](https://github.com/lessthan3/react-player/commit/6d0503c7d6706063394301af61db342caeff9272)
- Fix YouTube pause guard [`1f8d372`](https://github.com/lessthan3/react-player/commit/1f8d3720239353c496db3076b306cc52e99607dd)
#### [v0.3.3](https://github.com/CookPete/react-player/compare/v0.3.2...v0.3.3)
#### [v0.3.3](https://github.com/lessthan3/react-player/compare/v0.3.2...v0.3.3)
> 2 January 2016
- Stronger guards for YouTube player methods [`f18792a`](https://github.com/CookPete/react-player/commit/f18792a2da3167f775d48481aa8eae150b747d4d)
- Stronger guards for YouTube player methods [`f18792a`](https://github.com/lessthan3/react-player/commit/f18792a2da3167f775d48481aa8eae150b747d4d)
#### [v0.3.2](https://github.com/CookPete/react-player/compare/v0.3.1...v0.3.2)
#### [v0.3.2](https://github.com/lessthan3/react-player/compare/v0.3.1...v0.3.2)
> 2 January 2016
- Use explicit isReady property to guard player methods [`#18`](https://github.com/CookPete/react-player/issues/18)
- Improve progress logic [`b0b3040`](https://github.com/CookPete/react-player/commit/b0b304049847d9568585bc11399fa6cfa4cab5dc)
- Start using auto-changelog [`373b698`](https://github.com/CookPete/react-player/commit/373b698a49f2f35a37084fa3e59e4d0a7af971db)
- Add onProgress propType [`3f22681`](https://github.com/CookPete/react-player/commit/3f22681bcba3ad5c10ed1516abdcfb3bf6b8bad8)
- Improve progress logic [`b0b3040`](https://github.com/lessthan3/react-player/commit/b0b304049847d9568585bc11399fa6cfa4cab5dc)
- Start using auto-changelog [`373b698`](https://github.com/lessthan3/react-player/commit/373b698a49f2f35a37084fa3e59e4d0a7af971db)
- Add onProgress propType [`3f22681`](https://github.com/lessthan3/react-player/commit/3f22681bcba3ad5c10ed1516abdcfb3bf6b8bad8)
#### [v0.3.1](https://github.com/CookPete/react-player/compare/v0.3.0...v0.3.1)
#### [v0.3.1](https://github.com/lessthan3/react-player/compare/v0.3.0...v0.3.1)
> 27 December 2015
- Use displayNames for players [`#17`](https://github.com/CookPete/react-player/issues/17)
- Fix changelog link [`f82b351`](https://github.com/CookPete/react-player/commit/f82b351aa6008d2cbb2e3bd95859d8a90a8e49d9)
- Fix changelog link [`f82b351`](https://github.com/lessthan3/react-player/commit/f82b351aa6008d2cbb2e3bd95859d8a90a8e49d9)
#### [v0.3.0](https://github.com/CookPete/react-player/compare/v0.2.1...v0.3.0)
#### [v0.3.0](https://github.com/lessthan3/react-player/compare/v0.2.1...v0.3.0)
> 24 December 2015
- Prime players to enable autoplay when out of focus [`#13`](https://github.com/CookPete/react-player/pull/13)
- Prime players to enable autoplay when out of focus [`#13`](https://github.com/lessthan3/react-player/pull/13)
- Enable multiple YouTube players [`#15`](https://github.com/CookPete/react-player/issues/15)
- Prime Youtube and Vimeo players with a blank video [`#7`](https://github.com/CookPete/react-player/issues/7)
- Move defaultProps to separate props file [`90ef334`](https://github.com/CookPete/react-player/commit/90ef33485369fc7892d11b2e4da04ffb64df1e99)
- Move progress logic from players to top level component [`17fbef8`](https://github.com/CookPete/react-player/commit/17fbef87e82889f01d8257900f7edc55b05918a2)
- Clean up shouldComponentUpdate logic [`430307e`](https://github.com/CookPete/react-player/commit/430307eed07e17ac690e4cdf55e28ebb14854e5e)
- Move defaultProps to separate props file [`90ef334`](https://github.com/lessthan3/react-player/commit/90ef33485369fc7892d11b2e4da04ffb64df1e99)
- Move progress logic from players to top level component [`17fbef8`](https://github.com/lessthan3/react-player/commit/17fbef87e82889f01d8257900f7edc55b05918a2)
- Clean up shouldComponentUpdate logic [`430307e`](https://github.com/lessthan3/react-player/commit/430307eed07e17ac690e4cdf55e28ebb14854e5e)
#### [v0.2.1](https://github.com/CookPete/react-player/compare/v0.2.0...v0.2.1)
#### [v0.2.1](https://github.com/lessthan3/react-player/compare/v0.2.0...v0.2.1)
> 13 November 2015
- Remove autoplay and only play if props.playing is true when ready [`#10`](https://github.com/CookPete/react-player/issues/10)
- Be a bit more const-friendly [`a15700a`](https://github.com/CookPete/react-player/commit/a15700ac95349037ea6f4d9f52fddeff9530bbf5)
- Better npm publish cleanup scripts [`821be95`](https://github.com/CookPete/react-player/commit/821be95265fb774e904c24ff553997b94b7b2e42)
- Add onError support to FilePlayer [`63f1660`](https://github.com/CookPete/react-player/commit/63f1660890c8d4f6ce8912537167bc4fdf621020)
- Be a bit more const-friendly [`a15700a`](https://github.com/lessthan3/react-player/commit/a15700ac95349037ea6f4d9f52fddeff9530bbf5)
- Better npm publish cleanup scripts [`821be95`](https://github.com/lessthan3/react-player/commit/821be95265fb774e904c24ff553997b94b7b2e42)
- Add onError support to FilePlayer [`63f1660`](https://github.com/lessthan3/react-player/commit/63f1660890c8d4f6ce8912537167bc4fdf621020)
#### [v0.2.0](https://github.com/CookPete/react-player/compare/v0.1.0...v0.2.0)
#### [v0.2.0](https://github.com/lessthan3/react-player/compare/v0.1.0...v0.2.0)
> 6 November 2015
- Configuration [`#4`](https://github.com/CookPete/react-player/pull/4)
- Configuration [`#4`](https://github.com/lessthan3/react-player/pull/4)
- Abort SoundCloud streaming if url changes during requests [`#6`](https://github.com/CookPete/react-player/issues/6)
- Add dependency checks to readme [`46cb86c`](https://github.com/CookPete/react-player/commit/46cb86c6c3b8d40714e53ef5c70833abeba85faf)
- Add lint to travis scripts [`f06732c`](https://github.com/CookPete/react-player/commit/f06732c17c89c27d8c4fbe38bb8a6ca40cc01b7e)
- Lint fix [`73fb9cf`](https://github.com/CookPete/react-player/commit/73fb9cf2d6a2dd4662113e3984643369ea2589e4)
- Add dependency checks to readme [`46cb86c`](https://github.com/lessthan3/react-player/commit/46cb86c6c3b8d40714e53ef5c70833abeba85faf)
- Add lint to travis scripts [`f06732c`](https://github.com/lessthan3/react-player/commit/f06732c17c89c27d8c4fbe38bb8a6ca40cc01b7e)
- Lint fix [`73fb9cf`](https://github.com/lessthan3/react-player/commit/73fb9cf2d6a2dd4662113e3984643369ea2589e4)
#### [v0.1.0](https://github.com/CookPete/react-player/compare/v0.0.8...v0.1.0)
#### [v0.1.0](https://github.com/lessthan3/react-player/compare/v0.0.8...v0.1.0)
> 19 October 2015
- Add very basic shallow rendering tests [`7beccbe`](https://github.com/CookPete/react-player/commit/7beccbec2746029ef068d3f990fcc349257092f6)
- Vimeo player improvements [`d308aa6`](https://github.com/CookPete/react-player/commit/d308aa62c70d902f95c1184d704f54ee1fcc98d3)
- Update React to v0.14 [`6cd433f`](https://github.com/CookPete/react-player/commit/6cd433f530efca0156f43dffdfd4e01cc9f149d5)
- Add very basic shallow rendering tests [`7beccbe`](https://github.com/lessthan3/react-player/commit/7beccbec2746029ef068d3f990fcc349257092f6)
- Vimeo player improvements [`d308aa6`](https://github.com/lessthan3/react-player/commit/d308aa62c70d902f95c1184d704f54ee1fcc98d3)
- Update React to v0.14 [`6cd433f`](https://github.com/lessthan3/react-player/commit/6cd433f530efca0156f43dffdfd4e01cc9f149d5)
#### [v0.0.8](https://github.com/CookPete/react-player/compare/v0.0.7...v0.0.8)
#### [v0.0.8](https://github.com/lessthan3/react-player/compare/v0.0.7...v0.0.8)
> 20 September 2015
- Use findDOMNode [`#3`](https://github.com/CookPete/react-player/issues/3)
- Add basic unit tests for static canPlay method [`f1cde2c`](https://github.com/CookPete/react-player/commit/f1cde2c4fd6a939e944e82621908c26814a4b88b)
- Improve SoundCloud URL regex [`3c4c5fa`](https://github.com/CookPete/react-player/commit/3c4c5fabc4f7440cd9931bd984174baf0f62dcce)
- Add basic unit tests for static canPlay method [`f1cde2c`](https://github.com/lessthan3/react-player/commit/f1cde2c4fd6a939e944e82621908c26814a4b88b)
- Improve SoundCloud URL regex [`3c4c5fa`](https://github.com/lessthan3/react-player/commit/3c4c5fabc4f7440cd9931bd984174baf0f62dcce)
#### [v0.0.7](https://github.com/CookPete/react-player/compare/v0.0.6...v0.0.7)
#### [v0.0.7](https://github.com/lessthan3/react-player/compare/v0.0.6...v0.0.7)
> 10 September 2015
- Guard against no iframe contentWindow in Vimeo player [`#2`](https://github.com/CookPete/react-player/pull/2)
- Set correct initial state in ReactPlayer [`#2`](https://github.com/CookPete/react-player/pull/2)
- Stop soundcloud track before playing another [`61bc61e`](https://github.com/CookPete/react-player/commit/61bc61e56fc5c7c2550d2a5e36bc072ae447329b)
- Stop soundcloud track before playing another [`61bc61e`](https://github.com/lessthan3/react-player/commit/61bc61e56fc5c7c2550d2a5e36bc072ae447329b)
#### [v0.0.6](https://github.com/CookPete/react-player/compare/v0.0.5...v0.0.6)
#### [v0.0.6](https://github.com/lessthan3/react-player/compare/v0.0.5...v0.0.6)
> 31 August 2015
- Use shouldComponentUpdate to prevent unnecessary rendering [`b7ca5a6`](https://github.com/CookPete/react-player/commit/b7ca5a66ff91578a49da76c5efeac5ddd45959db)
- Fix onProgress bug [`1bf018e`](https://github.com/CookPete/react-player/commit/1bf018ed5db4474ee9ba1f103e6df77983565875)
- Use shouldComponentUpdate to prevent unnecessary rendering [`b7ca5a6`](https://github.com/lessthan3/react-player/commit/b7ca5a66ff91578a49da76c5efeac5ddd45959db)
- Fix onProgress bug [`1bf018e`](https://github.com/lessthan3/react-player/commit/1bf018ed5db4474ee9ba1f103e6df77983565875)
#### [v0.0.5](https://github.com/CookPete/react-player/compare/v0.0.4...v0.0.5)
#### [v0.0.5](https://github.com/lessthan3/react-player/compare/v0.0.4...v0.0.5)
> 27 August 2015
- Use external propTypes file [`225dfa0`](https://github.com/CookPete/react-player/commit/225dfa073e63206dca65202ce3cf4f23e56c84db)
- Add onError support [`df8dc61`](https://github.com/CookPete/react-player/commit/df8dc61582af5202e3eeb8d6141465be5ed1bf84)
- Add .npmignore [`81adedc`](https://github.com/CookPete/react-player/commit/81adedc585e4cf0b6380ccb08f3ff613e7eed6c6)
- Use external propTypes file [`225dfa0`](https://github.com/lessthan3/react-player/commit/225dfa073e63206dca65202ce3cf4f23e56c84db)
- Add onError support [`df8dc61`](https://github.com/lessthan3/react-player/commit/df8dc61582af5202e3eeb8d6141465be5ed1bf84)
- Add .npmignore [`81adedc`](https://github.com/lessthan3/react-player/commit/81adedc585e4cf0b6380ccb08f3ff613e7eed6c6)
#### [v0.0.4](https://github.com/CookPete/react-player/compare/v0.0.3...v0.0.4)
#### [v0.0.4](https://github.com/lessthan3/react-player/compare/v0.0.3...v0.0.4)
> 27 August 2015

@@ -607,11 +615,11 @@ - Add Array.find() polyfill [`#1`](https://github.com/CookPete/react-player/issues/1)

#### [v0.0.3](https://github.com/CookPete/react-player/compare/v0.0.2...v0.0.3)
#### [v0.0.3](https://github.com/lessthan3/react-player/compare/v0.0.2...v0.0.3)
> 26 August 2015
- Update build script [`c9b627f`](https://github.com/CookPete/react-player/commit/c9b627ff9a2e146822d169c89b4ea265f2296f8e)
- Update readme [`2ec1b86`](https://github.com/CookPete/react-player/commit/2ec1b86aad52e8bf3080d607e140762e4e268216)
- Update build script [`c9b627f`](https://github.com/lessthan3/react-player/commit/c9b627ff9a2e146822d169c89b4ea265f2296f8e)
- Update readme [`2ec1b86`](https://github.com/lessthan3/react-player/commit/2ec1b86aad52e8bf3080d607e140762e4e268216)
#### v0.0.2
> 24 August 2015
- Move react package to dev and peer dependencies [`f42ea0c`](https://github.com/CookPete/react-player/commit/f42ea0c73683d4c6e486a89684b4d6bb633a6969)
- First commit [`a4deecf`](https://github.com/CookPete/react-player/commit/a4deecfa421645e8e79ac9e33debe64d5b028dae)
- Move react package to dev and peer dependencies [`f42ea0c`](https://github.com/lessthan3/react-player/commit/f42ea0c73683d4c6e486a89684b4d6bb633a6969)
- First commit [`a4deecf`](https://github.com/lessthan3/react-player/commit/a4deecfa421645e8e79ac9e33debe64d5b028dae)

@@ -1,2 +0,2 @@

var ReactPlayer=function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=10)}([function(e,t){e.exports=React},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e){var t=e.match(k);if(t){var n=t[1];if(n.match(O))return i(n);if(_.test(n))return parseInt(n,10)}return 0}function i(e){for(var t=0,n=O.exec(e);null!==n;){var r=n,o=v(r,3),a=o[1],i=o[2];"h"===i&&(t+=60*parseInt(a,10)*60),"m"===i&&(t+=60*parseInt(a,10)),"s"===i&&(t+=parseInt(a,10)),n=O.exec(e)}return t}function l(){return Math.random().toString(36).substr(2,5)}function u(e){return Object.keys(e).map(function(t){return t+"="+e[t]}).join("&")}function s(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){return!0};return window[t]&&r(window[t])?Promise.resolve(window[t]):new Promise(function(r,o){if(n){var a=window[n];window[n]=function(){a&&a(),r(window[t])}}(0,b.default)(e,function(e){e&&o(e),n||r(window[t])})})}function c(e,t,n){var r=(0,P.default)(t.config,e.config),a=!0,i=!1,l=void 0;try{for(var u,s=w.DEPRECATED_CONFIG_PROPS[Symbol.iterator]();!(a=(u=s.next()).done);a=!0){var c=u.value;if(e[c]){var p=c.replace(/Config$/,"");if(r=(0,P.default)(r,o({},p,e[c])),n){var f="ReactPlayer: %c"+c+" %cis deprecated, please use the config prop instead – https://github.com/CookPete/react-player#config-prop";console.warn(f,"font-weight: bold","")}}}}catch(e){i=!0,l=e}finally{try{!a&&s.return&&s.return()}finally{if(i)throw l}}return r}function p(e){for(var t,n=arguments.length,r=Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];var a=(t=[]).concat.apply(t,r),i={},l=Object.keys(e),u=!0,s=!1,c=void 0;try{for(var p,f=l[Symbol.iterator]();!(u=(p=f.next()).done);u=!0){var y=p.value;-1===a.indexOf(y)&&(i[y]=e[y])}}catch(e){s=!0,c=e}finally{try{!u&&f.return&&f.return()}finally{if(s)throw c}}return i}function f(e){var t;if(!this.player||!this.player[e]){var n="ReactPlayer: "+this.constructor.displayName+" player could not call %c"+e+"%c – ";return this.player?this.player[e]||(n+="The method was not available"):n+="The player was not available",console.warn(n,"font-weight: bold",""),null}for(var r=arguments.length,o=Array(r>1?r-1:0),a=1;a<r;a++)o[a-1]=arguments[a];return(t=this.player)[e].apply(t,o)}function y(e){return null!==e&&"object"===(void 0===e?"undefined":h(e))}function d(e,t){if("function"==typeof e&&"function"==typeof t)return!0;if(e instanceof Array&&t instanceof Array){if(e.length!==t.length)return!1;for(var n=0;n!==e.length;n++)if(!d(e[n],t[n]))return!1;return!0}if(y(e)&&y(t)){if(Object.keys(e).length!==Object.keys(t).length)return!1;var r=!0,o=!1,a=void 0;try{for(var i,l=Object.keys(e)[Symbol.iterator]();!(r=(i=l.next()).done);r=!0){var u=i.value;if(!d(e[u],t[u]))return!1}}catch(e){o=!0,a=e}finally{try{!r&&l.return&&l.return()}finally{if(o)throw a}}return!0}return e===t}Object.defineProperty(t,"__esModule",{value:!0});var h="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},v=function(){function e(e,t){var n=[],r=!0,o=!1,a=void 0;try{for(var i,l=e[Symbol.iterator]();!(r=(i=l.next()).done)&&(n.push(i.value),!t||n.length!==t);r=!0);}catch(e){o=!0,a=e}finally{try{!r&&l.return&&l.return()}finally{if(o)throw a}}return n}return function(t,n){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();t.parseStartTime=a,t.randomString=l,t.queryString=u,t.getSDK=s,t.getConfig=c,t.omit=p,t.callPlayer=f,t.isObject=y,t.isEqual=d;var m=n(16),b=r(m),g=n(17),P=r(g),w=n(3),k=/[?&#](?:start|t)=([0-9hms]+)/,O=/(\d+)(h|m|s)/g,_=/^\d+$/},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function l(e){var t,n;return n=t=function(t){function n(){var e,t,r,i;o(this,n);for(var l=arguments.length,u=Array(l),s=0;s<l;s++)u[s]=arguments[s];return t=r=a(this,(e=n.__proto__||Object.getPrototypeOf(n)).call.apply(e,[this].concat(u))),r.ref=function(e){r.player=e},i=t,a(r,i)}return i(n,t),s(n,[{key:"shouldComponentUpdate",value:function(e){return!(0,y.isEqual)(this.props,e)}},{key:"componentWillUpdate",value:function(e){this.config=(0,y.getConfig)(e,f.defaultProps)}},{key:"render",value:function(){if(!e.canPlay(this.props.url))return null;var t=this.props,n=t.style,r=t.width,o=t.height,a=t.wrapper,i=(0,y.omit)(this.props,v,f.DEPRECATED_CONFIG_PROPS);return p.default.createElement(a,u({style:u({},n,{width:r,height:o})},i),p.default.createElement(h.default,u({},this.props,{ref:this.ref,activePlayer:e,config:(0,y.getConfig)(this.props,f.defaultProps)})))}}]),n}(c.Component),t.displayName=e.displayName+"Player",t.propTypes=f.propTypes,t.defaultProps=f.defaultProps,t.canPlay=e.canPlay,n}Object.defineProperty(t,"__esModule",{value:!0});var u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();t.default=l;var c=n(0),p=r(c),f=n(3),y=n(1),d=n(4),h=r(d),v=Object.keys(f.propTypes);e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DEPRECATED_CONFIG_PROPS=t.defaultProps=t.propTypes=void 0;var r=n(11),o=function(e){return e&&e.__esModule?e:{default:e}}(r),a=o.default.string,i=o.default.bool,l=o.default.number,u=o.default.array,s=o.default.oneOfType,c=o.default.shape,p=o.default.object,f=o.default.func;t.propTypes={url:s([a,u]),playing:i,loop:i,controls:i,volume:l,muted:i,playbackRate:l,width:s([a,l]),height:s([a,l]),style:p,progressInterval:l,playsinline:i,wrapper:s([a,f]),config:c({soundcloud:c({options:p}),youtube:c({playerVars:p,preload:i}),facebook:c({appId:a}),dailymotion:c({params:p,preload:i}),vimeo:c({iframeParams:p,preload:i}),file:c({attributes:p,tracks:u,forceAudio:i,forceHLS:i,forceDASH:i,hlsOptions:p}),wistia:c({options:p}),mixcloud:c({options:p}),twitch:c({options:p})}),onReady:f,onStart:f,onPlay:f,onPause:f,onBuffer:f,onEnded:f,onError:f,onDuration:f,onSeek:f,onProgress:f},t.defaultProps={playing:!1,loop:!1,controls:!1,volume:null,muted:!1,playbackRate:1,width:"640px",height:"360px",style:{},progressInterval:1e3,playsinline:!1,wrapper:"div",config:{soundcloud:{options:{visual:!0,buying:!1,liking:!1,download:!1,sharing:!1,show_comments:!1,show_playcount:!1}},youtube:{playerVars:{autoplay:0,playsinline:1,showinfo:0,rel:0,iv_load_policy:3,modestbranding:1},preload:!1},facebook:{appId:"1309697205772819"},dailymotion:{params:{api:1,"endscreen-enable":!1},preload:!1},vimeo:{playerOptions:{autopause:!1,autoplay:!1,byline:!1,portrait:!1,title:!1},preload:!1},file:{attributes:{},tracks:[],forceAudio:!1,forceHLS:!1,forceDASH:!1,hlsOptions:{}},wistia:{options:{}},mixcloud:{options:{hide_cover:1}},twitch:{options:{}}},onReady:function(){},onStart:function(){},onPlay:function(){},onPause:function(){},onBuffer:function(){},onEnded:function(){},onError:function(){},onDuration:function(){},onSeek:function(){},onProgress:function(){}},t.DEPRECATED_CONFIG_PROPS=["soundcloudConfig","youtubeConfig","facebookConfig","dailymotionConfig","vimeoConfig","fileConfig","wistiaConfig"]},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},l=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(0),s=function(e){return e&&e.__esModule?e:{default:e}}(u),c=n(3),p=function(e){function t(){var e,n,a,i;r(this,t);for(var l=arguments.length,u=Array(l),s=0;s<l;s++)u[s]=arguments[s];return n=a=o(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),a.mounted=!1,a.isReady=!1,a.isPlaying=!1,a.isLoading=!0,a.startOnPlay=!0,a.seekOnPlay=null,a.onDurationCalled=!1,a.getInternalPlayer=function(e){return a.player?a.player[e]:null},a.progress=function(){if(a.props.url&&a.player&&a.isReady){var e=a.getCurrentTime()||0,t=a.getSecondsLoaded(),n=a.getDuration();if(n){var r={playedSeconds:e,played:e/n};null!==t&&(r.loadedSeconds=t,r.loaded=t/n),n===1/0&&r.playedSeconds!==a.prevPlayedSeconds?a.props.onProgress(r):r.played===a.prevPlayed&&r.loaded===a.prevLoaded||a.props.onProgress(r),a.prevPlayedSeconds=r.playedSeconds,a.prevPlayed=r.played,a.prevLoaded=r.loaded}}a.progressTimeout=setTimeout(a.progress,a.props.progressFrequency||a.props.progressInterval)},a.onReady=function(){if(a.mounted){a.isReady=!0,a.isLoading=!1;var e=a.props,t=e.onReady,n=e.playing,r=e.volume,o=e.muted;t(),(o||null!==r)&&a.player.setVolume(o?0:r),n&&a.player.play(),a.onDurationCheck()}},a.onPlay=function(){a.isPlaying=!0,a.isLoading=!1;var e=a.props,t=e.onStart,n=e.onPlay,r=e.playbackRate;a.startOnPlay&&(a.player.setPlaybackRate&&a.player.setPlaybackRate(r),t(),a.startOnPlay=!1),n(),a.seekOnPlay&&(a.seekTo(a.seekOnPlay),a.seekOnPlay=null),a.onDurationCheck()},a.onPause=function(e){a.isPlaying=!1,a.isLoading||a.props.onPause(e)},a.onEnded=function(){var e=a.props,t=e.activePlayer,n=e.loop,r=e.onEnded;t.loopOnEnded&&n&&a.seekTo(0),n||(a.isPlaying=!1),r()},a.onDurationCheck=function(){clearTimeout(a.durationCheckTimeout);var e=a.getDuration();e?a.onDurationCalled||(a.props.onDuration(e),a.onDurationCalled=!0):a.durationCheckTimeout=setTimeout(a.onDurationCheck,100)},a.ref=function(e){e&&(a.player=e)},i=n,o(a,i)}return a(t,e),l(t,[{key:"componentDidMount",value:function(){this.mounted=!0,this.player.load(this.props.url),this.progress()}},{key:"componentWillUnmount",value:function(){clearTimeout(this.progressTimeout),this.isReady&&this.player.stop(),this.mounted=!1}},{key:"componentWillReceiveProps",value:function(e){var t=this.props,n=t.url,r=t.playing,o=t.volume,a=t.muted,i=t.playbackRate;n!==e.url&&(this.isLoading=!0,this.startOnPlay=!0,this.onDurationCalled=!1,this.player.load(e.url,this.isReady)),r||!e.playing||this.isPlaying||this.player.play(),r&&!e.playing&&this.isPlaying&&this.player.pause(),null!==e.volume&&(o===e.volume||e.muted||this.player.setVolume(e.volume),a!==e.muted&&this.player.setVolume(e.muted?0:e.volume)),i!==e.playbackRate&&this.player.setPlaybackRate&&this.player.setPlaybackRate(e.playbackRate)}},{key:"getDuration",value:function(){return this.isReady?this.player.getDuration():null}},{key:"getCurrentTime",value:function(){return this.isReady?this.player.getCurrentTime():null}},{key:"getSecondsLoaded",value:function(){return this.isReady?this.player.getSecondsLoaded():null}},{key:"seekTo",value:function(e){var t=this;if(!this.isReady&&0!==e)return this.seekOnPlay=e,void setTimeout(function(){t.seekOnPlay=null},5e3);if(e>0&&e<1){var n=this.player.getDuration();return n?void this.player.seekTo(n*e):void console.warn("ReactPlayer: could not seek using fraction – duration not yet available")}this.player.seekTo(e)}},{key:"render",value:function(){var e=this.props.activePlayer;return s.default.createElement(e,i({},this.props,{ref:this.ref,onReady:this.onReady,onPlay:this.onPlay,onPause:this.onPause,onEnded:this.onEnded}))}}]),t}(u.Component);p.displayName="Player",p.propTypes=c.propTypes,p.defaultProps=c.defaultProps,t.default=p,e.exports=t.default},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0}),t.YouTube=void 0;var l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=n(0),c=r(s),p=n(1),f=n(2),y=r(f),d="YT",h=/(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))((\w|-){11})/,v=t.YouTube=function(e){function t(){var e,n,r,i;o(this,t);for(var l=arguments.length,u=Array(l),s=0;s<l;s++)u[s]=arguments[s];return n=r=a(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),r.callPlayer=p.callPlayer,r.onStateChange=function(e){var t=e.data,n=r.props,o=n.onPlay,a=n.onPause,i=n.onBuffer,l=n.onEnded,u=n.onReady,s=window[d].PlayerState,c=s.PLAYING,p=s.PAUSED,f=s.BUFFERING,y=s.ENDED,h=s.CUED;t===c&&o(),t===p&&a(),t===f&&i(),t===y&&l(),t===h&&u()},r.ref=function(e){r.container=e},i=n,a(r,i)}return i(t,e),u(t,[{key:"load",value:function(e,t){var n=this,r=this.props,o=r.playsinline,a=r.controls,i=r.config,u=r.onError,s=e&&e.match(h)[1];if(t)return void this.player.cueVideoById({videoId:s,startSeconds:(0,p.parseStartTime)(e)});(0,p.getSDK)("https://www.youtube.com/iframe_api",d,"onYouTubeIframeAPIReady",function(e){return e.loaded}).then(function(t){n.container&&(n.player=new t.Player(n.container,{width:"100%",height:"100%",videoId:s,playerVars:l({controls:a?1:0,start:(0,p.parseStartTime)(e),origin:window.location.origin,playsinline:o},i.youtube.playerVars),events:{onReady:n.props.onReady,onStateChange:n.onStateChange,onError:function(e){return u(e.data)}}}))},u)}},{key:"play",value:function(){this.callPlayer("playVideo")}},{key:"pause",value:function(){this.callPlayer("pauseVideo")}},{key:"stop",value:function(){document.body.contains(this.callPlayer("getIframe"))&&this.callPlayer("stopVideo")}},{key:"seekTo",value:function(e){this.callPlayer("seekTo",e)}},{key:"setVolume",value:function(e){this.callPlayer("setVolume",100*e)}},{key:"setPlaybackRate",value:function(e){this.callPlayer("setPlaybackRate",e)}},{key:"getDuration",value:function(){return this.callPlayer("getDuration")}},{key:"getCurrentTime",value:function(){return this.callPlayer("getCurrentTime")}},{key:"getSecondsLoaded",value:function(){return this.callPlayer("getVideoLoadedFraction")*this.getDuration()}},{key:"render",value:function(){var e=l({width:"100%",height:"100%"},this.props.style);return c.default.createElement("div",{style:e},c.default.createElement("div",{ref:this.ref}))}}]),t}(s.Component);v.displayName="YouTube",v.canPlay=function(e){return h.test(e)},v.loopOnEnded=!0,t.default=(0,y.default)(v)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0}),t.SoundCloud=void 0;var l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=n(0),c=r(s),p=n(1),f=n(2),y=r(f),d=/(soundcloud\.com|snd\.sc)\/.+$/,h=t.SoundCloud=function(e){function t(){var e,n,r,i;o(this,t);for(var l=arguments.length,u=Array(l),s=0;s<l;s++)u[s]=arguments[s];return n=r=a(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),r.callPlayer=p.callPlayer,r.duration=null,r.currentTime=null,r.fractionLoaded=null,r.ref=function(e){r.iframe=e},i=n,a(r,i)}return i(t,e),u(t,[{key:"load",value:function(e,t){var n=this;(0,p.getSDK)("https://w.soundcloud.com/player/api.js","SC").then(function(r){if(n.iframe){var o=r.Widget.Events,a=o.PLAY,i=o.PLAY_PROGRESS,u=o.PAUSE,s=o.FINISH,c=o.ERROR;t||(n.player=r.Widget(n.iframe),n.player.bind(a,n.props.onPlay),n.player.bind(u,n.props.onPause),n.player.bind(i,function(e){n.currentTime=e.currentPosition/1e3,n.fractionLoaded=e.loadedProgress}),n.player.bind(s,function(){return n.props.onEnded()}),n.player.bind(c,function(e){return n.props.onError(e)})),n.player.load(e,l({},n.props.config.soundcloud.options,{callback:function(){n.player.getDuration(function(e){n.duration=e/1e3,n.props.onReady()})}}))}})}},{key:"play",value:function(){this.callPlayer("play")}},{key:"pause",value:function(){this.callPlayer("pause")}},{key:"stop",value:function(){}},{key:"seekTo",value:function(e){this.callPlayer("seekTo",1e3*e)}},{key:"setVolume",value:function(e){this.callPlayer("setVolume",100*e)}},{key:"getDuration",value:function(){return this.duration}},{key:"getCurrentTime",value:function(){return this.currentTime}},{key:"getSecondsLoaded",value:function(){return this.fractionLoaded*this.duration}},{key:"render",value:function(){var e=l({width:"100%",height:"100%"},this.props.style);return c.default.createElement("iframe",{ref:this.ref,src:"https://w.soundcloud.com/player/?url="+encodeURIComponent(this.props.url),style:e,frameBorder:0})}}]),t}(s.Component);h.displayName="SoundCloud",h.canPlay=function(e){return d.test(e)},h.loopOnEnded=!0,t.default=(0,y.default)(h)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0}),t.Vimeo=void 0;var l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=n(0),c=r(s),p=n(1),f=n(2),y=r(f),d=/vimeo\.com\/.+/,h=/vimeo\.com\/external\/.+\.mp4/,v=t.Vimeo=function(e){function t(){var e,n,r,i;o(this,t);for(var l=arguments.length,u=Array(l),s=0;s<l;s++)u[s]=arguments[s];return n=r=a(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),r.callPlayer=p.callPlayer,r.duration=null,r.currentTime=null,r.secondsLoaded=null,r.ref=function(e){r.container=e},i=n,a(r,i)}return i(t,e),u(t,[{key:"load",value:function(e){var t=this;this.duration=null,(0,p.getSDK)("https://player.vimeo.com/api/player.js","Vimeo").then(function(n){t.container&&(t.player=new n.Player(t.container,l({},t.props.config.vimeo.playerOptions,{url:e,loop:t.props.loop})),t.player.ready().then(function(){var e=t.container.querySelector("iframe");e.style.width="100%",e.style.height="100%"}).catch(t.props.onError),t.player.on("loaded",function(){t.props.onReady(),t.player.getDuration().then(function(e){t.duration=e})}),t.player.on("play",t.props.onPlay),t.player.on("pause",t.props.onPause),t.player.on("seeked",function(e){return t.props.onSeek(e.seconds)}),t.player.on("ended",t.props.onEnded),t.player.on("error",t.props.onError),t.player.on("timeupdate",function(e){var n=e.seconds;t.currentTime=n}),t.player.on("progress",function(e){var n=e.seconds;t.secondsLoaded=n}))},this.props.onError)}},{key:"play",value:function(){this.callPlayer("play")}},{key:"pause",value:function(){this.callPlayer("pause")}},{key:"stop",value:function(){this.callPlayer("unload")}},{key:"seekTo",value:function(e){this.callPlayer("setCurrentTime",e)}},{key:"setVolume",value:function(e){this.callPlayer("setVolume",e)}},{key:"getDuration",value:function(){return this.duration}},{key:"getCurrentTime",value:function(){return this.currentTime}},{key:"getSecondsLoaded",value:function(){return this.secondsLoaded}},{key:"render",value:function(){var e=l({width:"100%",height:"100%",overflow:"hidden",backgroundColor:"black"},this.props.style);return c.default.createElement("div",{key:this.props.url,ref:this.ref,style:e})}}]),t}(s.Component);v.displayName="Vimeo",v.canPlay=function(e){return!h.test(e)&&d.test(e)},t.default=(0,y.default)(v)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0}),t.DailyMotion=void 0;var l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=n(0),c=r(s),p=n(1),f=n(2),y=r(f),d=/dailymotion\.com\/(video|hub)\/([^_]+)[^#]*(#video=([^_&]+))?/,h=t.DailyMotion=function(e){function t(){var e,n,r,i;o(this,t);for(var l=arguments.length,u=Array(l),s=0;s<l;s++)u[s]=arguments[s];return n=r=a(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),r.callPlayer=p.callPlayer,r.onDurationChange=function(){var e=r.getDuration();r.props.onDuration(e)},r.ref=function(e){r.container=e},i=n,a(r,i)}return i(t,e),u(t,[{key:"parseId",value:function(e){var t=e.match(d);return t[4]||t[2]}},{key:"load",value:function(e){var t=this,n=this.props,r=n.controls,o=n.config,a=n.onError,i=n.playing,u=this.parseId(e);if(this.player)return void this.player.load(u,{start:(0,p.parseStartTime)(e),autoplay:i});(0,p.getSDK)("https://api.dmcdn.net/all.js","DM","dmAsyncInit",function(e){return e.player}).then(function(n){if(t.container){var i=n.player;t.player=new i(t.container,{width:"100%",height:"100%",video:u,params:l({controls:r,autoplay:t.props.playing,start:(0,p.parseStartTime)(e),origin:window.location.origin},o.dailymotion.params),events:{apiready:t.props.onReady,seeked:function(){return t.props.onSeek(t.player.currentTime)},video_end:t.props.onEnded,durationchange:t.onDurationChange,pause:t.props.onPause,playing:t.props.onPlay,waiting:t.props.onBuffer,error:function(e){return a(e)}}})}},a)}},{key:"play",value:function(){this.callPlayer("play")}},{key:"pause",value:function(){this.callPlayer("pause")}},{key:"stop",value:function(){}},{key:"seekTo",value:function(e){this.callPlayer("seek",e)}},{key:"setVolume",value:function(e){this.callPlayer("setVolume",e)}},{key:"getDuration",value:function(){return this.player.duration||null}},{key:"getCurrentTime",value:function(){return this.player.currentTime}},{key:"getSecondsLoaded",value:function(){return this.player.bufferedTime}},{key:"render",value:function(){var e=l({width:"100%",height:"100%",backgroundColor:"black"},this.props.style);return c.default.createElement("div",{style:e},c.default.createElement("div",{ref:this.ref}))}}]),t}(s.Component);h.displayName="DailyMotion",h.canPlay=function(e){return d.test(e)},h.loopOnEnded=!0,t.default=(0,y.default)(h)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function l(e){if(e instanceof Array){var t=!0,n=!1,r=void 0;try{for(var o,a=e[Symbol.iterator]();!(t=(o=a.next()).done);t=!0){var i=o.value;if("string"==typeof i&&l(i))return!0;if(l(i.src))return!0}}catch(e){n=!0,r=e}finally{try{!t&&a.return&&a.return()}finally{if(n)throw r}}return!1}return v.test(e)||m.test(e)||b.test(e)||g.test(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.FilePlayer=void 0;var u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),c=n(0),p=r(c),f=n(1),y=n(2),d=r(y),h="undefined"!=typeof navigator&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,v=/\.(m4a|mp4a|mpga|mp2|mp2a|mp3|m2a|m3a|wav|weba|aac|oga|spx)($|\?)/i,m=/\.(mp4|og[gv]|webm|mov|m4v)($|\?)/i,b=/\.(m3u8)($|\?)/i,g=/\.(mpd)($|\?)/i,P=t.FilePlayer=function(e){function t(){var e,n,r,i;o(this,t);for(var l=arguments.length,s=Array(l),c=0;c<l;c++)s[c]=arguments[c];return n=r=a(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(s))),r.onSeek=function(e){r.props.onSeek(e.target.currentTime)},r.renderSource=function(e,t){return"string"==typeof e?p.default.createElement("source",{key:t,src:e}):p.default.createElement("source",u({key:t},e))},r.renderTrack=function(e,t){return p.default.createElement("track",u({key:t},e))},r.ref=function(e){r.player=e},i=n,a(r,i)}return i(t,e),s(t,[{key:"componentDidMount",value:function(){this.addListeners(),h&&this.player.load()}},{key:"componentWillReceiveProps",value:function(e){this.shouldUseAudio(this.props)!==this.shouldUseAudio(e)&&this.removeListeners()}},{key:"componentDidUpdate",value:function(e){this.shouldUseAudio(this.props)!==this.shouldUseAudio(e)&&this.addListeners()}},{key:"componentWillUnmount",value:function(){this.removeListeners()}},{key:"addListeners",value:function(){var e=this.props,t=e.onReady,n=e.onPlay,r=e.onPause,o=e.onEnded,a=e.onError,i=e.playsinline;this.player.addEventListener("canplay",t),this.player.addEventListener("play",n),this.player.addEventListener("pause",r),this.player.addEventListener("seeked",this.onSeek),this.player.addEventListener("ended",o),this.player.addEventListener("error",a),i&&(this.player.setAttribute("playsinline",""),this.player.setAttribute("webkit-playsinline",""))}},{key:"removeListeners",value:function(){var e=this.props,t=e.onReady,n=e.onPlay,r=e.onPause,o=e.onEnded,a=e.onError;this.player.removeEventListener("canplay",t),this.player.removeEventListener("play",n),this.player.removeEventListener("pause",r),this.player.removeEventListener("seeked",this.onSeek),this.player.removeEventListener("ended",o),this.player.removeEventListener("error",a)}},{key:"shouldUseAudio",value:function(e){return v.test(e.url)||e.config.file.forceAudio}},{key:"shouldUseHLS",value:function(e){return b.test(e)&&!h||this.props.config.file.forceHLS}},{key:"shouldUseDASH",value:function(e){return g.test(e)||this.props.config.file.forceDASH}},{key:"load",value:function(e){var t=this;this.shouldUseHLS(e)&&(0,f.getSDK)("https://cdnjs.cloudflare.com/ajax/libs/hls.js/0.8.9/hls.min.js","Hls").then(function(n){t.hls=new n(t.props.config.file.hlsOptions),t.hls.on(n.Events.ERROR,function(e,r){t.props.onError(e,r,t.hls,n)}),t.hls.loadSource(e),t.hls.attachMedia(t.player)}),this.shouldUseDASH(e)&&(0,f.getSDK)("https://cdnjs.cloudflare.com/ajax/libs/dashjs/2.6.5/dash.all.min.js","dashjs").then(function(n){t.dash=n.MediaPlayer().create(),t.dash.initialize(t.player,e,t.props.playing),t.dash.getDebug().setLogToBrowserConsole(!1)})}},{key:"play",value:function(){var e=this.player.play();e&&e.catch(this.props.onError)}},{key:"pause",value:function(){this.player.pause()}},{key:"stop",value:function(){this.player.removeAttribute("src"),this.hls&&this.hls.destroy(),this.dash&&this.dash.reset()}},{key:"seekTo",value:function(e){this.player.currentTime=e}},{key:"setVolume",value:function(e){this.player.volume=e}},{key:"setPlaybackRate",value:function(e){this.player.playbackRate=e}},{key:"getDuration",value:function(){return this.player.duration}},{key:"getCurrentTime",value:function(){return this.player.currentTime}},{key:"getSecondsLoaded",value:function(){return 0===this.player.buffered.length?0:this.player.buffered.end(0)}},{key:"render",value:function(){var e=this.props,t=e.url,n=e.loop,r=e.controls,o=e.config,a=e.width,i=e.height,l=this.shouldUseAudio(this.props),s=this.shouldUseHLS(t),c=this.shouldUseDASH(t),f=l?"audio":"video",y=t instanceof Array||s||c?void 0:t,d={width:a&&"auto"!==a?"100%":a,height:i&&"auto"!==i?"100%":i};return p.default.createElement(f,u({ref:this.ref,src:y,style:d,preload:"auto",controls:r,loop:n},o.file.attributes),t instanceof Array&&t.map(this.renderSource),o.file.tracks.map(this.renderTrack))}}]),t}(c.Component);P.displayName="FilePlayer",P.canPlay=l,t.default=(0,d.default)(P)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),c=n(0),p=r(c),f=n(3),y=n(1),d=n(18),h=r(d),v=n(4),m=r(v),b=n(9),g=n(26),P=r(g),w=Object.keys(f.propTypes),ReactPlayer=function(e){function ReactPlayer(){var e,t,n,r;a(this,ReactPlayer);for(var o=arguments.length,l=Array(o),u=0;u<o;u++)l[u]=arguments[u];return t=n=i(this,(e=ReactPlayer.__proto__||Object.getPrototypeOf(ReactPlayer)).call.apply(e,[this].concat(l))),n.config=(0,y.getConfig)(n.props,f.defaultProps,!0),n.getDuration=function(){return n.player?n.player.getDuration():null},n.getCurrentTime=function(){return n.player?n.player.getCurrentTime():null},n.getInternalPlayer=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"player";return n.player?n.player.getInternalPlayer(e):null},n.seekTo=function(e){if(!n.player)return null;n.player.seekTo(e)},n.wrapperRef=function(e){n.wrapper=e},n.activePlayerRef=function(e){n.player=e},r=t,i(n,r)}return l(ReactPlayer,e),s(ReactPlayer,[{key:"componentDidMount",value:function(){if(this.props.progressFrequency){console.warn("ReactPlayer: %cprogressFrequency%c is deprecated, please use %cprogressInterval%c instead","font-weight: bold","","font-weight: bold","")}}},{key:"shouldComponentUpdate",value:function(e){return!(0,y.isEqual)(this.props,e)}},{key:"componentWillUpdate",value:function(e){this.config=(0,y.getConfig)(e,f.defaultProps)}},{key:"getActivePlayer",value:function(e){var t=!0,n=!1,r=void 0;try{for(var o,a=h.default[Symbol.iterator]();!(t=(o=a.next()).done);t=!0){var i=o.value;if(i.canPlay(e))return i}}catch(e){n=!0,r=e}finally{try{!t&&a.return&&a.return()}finally{if(n)throw r}}return b.FilePlayer}},{key:"renderActivePlayer",value:function(e){if(!e)return null;var t=this.getActivePlayer(e);return p.default.createElement(m.default,u({},this.props,{key:t.displayName,ref:this.activePlayerRef,config:this.config,activePlayer:t}))}},{key:"sortPlayers",value:function(e,t){return e&&t?e.key<t.key?-1:1:0}},{key:"render",value:function(){var e=this.props,t=e.url,n=e.style,r=e.width,a=e.height,i=e.wrapper,l=(0,y.omit)(this.props,w,f.DEPRECATED_CONFIG_PROPS),s=this.renderActivePlayer(t),c=(0,P.default)(t,this.config),d=[s].concat(o(c)).sort(this.sortPlayers);return p.default.createElement(i,u({ref:this.wrapperRef,style:u({},n,{width:r,height:a})},l),d)}}]),ReactPlayer}(c.Component);ReactPlayer.displayName="ReactPlayer",ReactPlayer.propTypes=f.propTypes,ReactPlayer.defaultProps=f.defaultProps,ReactPlayer.canPlay=function(e){var t=!0,n=!1,r=void 0;try{for(var o,a=h.default[Symbol.iterator]();!(t=(o=a.next()).done);t=!0){if(o.value.canPlay(e))return!0}}catch(e){n=!0,r=e}finally{try{!t&&a.return&&a.return()}finally{if(n)throw r}}return!1},t.default=ReactPlayer,e.exports=t.default},function(e,t,n){"use strict";"function"==typeof Symbol&&Symbol.iterator;e.exports=n(12)()},function(e,t,n){"use strict";var r=n(13),o=n(14),a=n(15);e.exports=function(){function e(e,t,n,r,i,l){l!==a&&o(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return n.checkPropTypes=r,n.PropTypes=n,n}},function(e,t,n){"use strict";function r(e){return function(){return e}}var o=function(){};o.thatReturns=r,o.thatReturnsFalse=r(!1),o.thatReturnsTrue=r(!0),o.thatReturnsNull=r(null),o.thatReturnsThis=function(){return this},o.thatReturnsArgument=function(e){return e},e.exports=o},function(e,t,n){"use strict";function r(e,t,n,r,a,i,l,u){if(o(t),!e){var s;if(void 0===t)s=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,a,i,l,u],p=0;s=new Error(t.replace(/%s/g,function(){return c[p++]})),s.name="Invariant Violation"}throw s.framesToPop=1,s}}var o=function(e){};e.exports=r},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";function r(e,t){for(var n in t)e.setAttribute(n,t[n])}function o(e,t){e.onload=function(){this.onerror=this.onload=null,t(null,e)},e.onerror=function(){this.onerror=this.onload=null,t(new Error("Failed to load "+this.src),e)}}function a(e,t){e.onreadystatechange=function(){"complete"!=this.readyState&&"loaded"!=this.readyState||(this.onreadystatechange=null,t(null,e))}}e.exports=function(e,t,n){var i=document.head||document.getElementsByTagName("head")[0],l=document.createElement("script");"function"==typeof t&&(n=t,t={}),t=t||{},n=n||function(){},l.type=t.type||"text/javascript",l.charset=t.charset||"utf8",l.async=!("async"in t)||!!t.async,l.src=e,t.attrs&&r(l,t.attrs),t.text&&(l.text=""+t.text),("onload"in l?o:a)(l,n),l.onload||o(l,n),i.appendChild(l)}},function(e,t,n){"use strict";function r(e){return!!e&&"object"===(void 0===e?"undefined":p(e))}function o(e){var t=Object.prototype.toString.call(e);return"[object RegExp]"===t||"[object Date]"===t||a(e)}function a(e){return e.$$typeof===d}function i(e){return Array.isArray(e)?[]:{}}function l(e,t){return!1!==t.clone&&t.isMergeableObject(e)?c(i(e),e,t):e}function u(e,t,n){return e.concat(t).map(function(e){return l(e,n)})}function s(e,t,n){var r={};return n.isMergeableObject(e)&&Object.keys(e).forEach(function(t){r[t]=l(e[t],n)}),Object.keys(t).forEach(function(o){n.isMergeableObject(t[o])&&e[o]?r[o]=c(e[o],t[o],n):r[o]=l(t[o],n)}),r}function c(e,t,n){n=n||{},n.arrayMerge=n.arrayMerge||u,n.isMergeableObject=n.isMergeableObject||f;var r=Array.isArray(t);return r===Array.isArray(e)?r?n.arrayMerge(e,t,n):s(e,t,n):l(t,n)}Object.defineProperty(t,"__esModule",{value:!0});var p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},f=function(e){return r(e)&&!o(e)},y="function"==typeof Symbol&&Symbol.for,d=y?Symbol.for("react.element"):60103;c.all=function(e,t){if(!Array.isArray(e))throw new Error("first argument should be an array");return e.reduce(function(e,n){return c(e,n,t)},{})};var h=c;t.default=h,e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(5),o=n(6),a=n(7),i=n(19),l=n(20),u=n(21),s=n(22),c=n(8),p=n(23),f=n(24),y=n(25),d=n(9);t.default=[r.YouTube,o.SoundCloud,a.Vimeo,i.Facebook,l.Streamable,u.Wistia,s.Twitch,c.DailyMotion,p.Mixcloud,f.UstreamLive,d.FilePlayer,y.Iframe],e.exports=t.default},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0}),t.Facebook=void 0;var l=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(0),s=r(u),c=n(1),p=n(2),f=r(p),y="//connect.facebook.net/en_US/sdk.js",d=/facebook\.com\/([^\/?].+\/)?video(s|\.php)[\/?].*$/,h="facebook-player-",v=t.Facebook=function(e){function t(){var e,n,r,i;o(this,t);for(var l=arguments.length,u=Array(l),s=0;s<l;s++)u[s]=arguments[s];return n=r=a(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),r.callPlayer=c.callPlayer,r.playerID=h+(0,c.randomString)(),i=n,a(r,i)}return i(t,e),l(t,[{key:"load",value:function(e,t){var n=this;if(t)return void(0,c.getSDK)(y,"FB","fbAsyncInit").then(function(e){return e.XFBML.parse()});(0,c.getSDK)(y,"FB","fbAsyncInit").then(function(e){e.init({appId:n.props.config.facebook.appId,xfbml:!0,version:"v2.5"}),e.Event.subscribe("xfbml.ready",function(e){"video"===e.type&&e.id===n.playerID&&(n.player=e.instance,n.player.subscribe("startedPlaying",n.props.onPlay),n.player.subscribe("paused",n.props.onPause),n.player.subscribe("finishedPlaying",n.props.onEnded),n.player.subscribe("startedBuffering",n.props.onBuffer),n.player.subscribe("error",n.props.onError),n.callPlayer("unmute"),n.props.onReady())})})}},{key:"play",value:function(){this.callPlayer("play")}},{key:"pause",value:function(){this.callPlayer("pause")}},{key:"stop",value:function(){}},{key:"seekTo",value:function(e){this.callPlayer("seek",e)}},{key:"setVolume",value:function(e){0!==e&&this.callPlayer("unmute"),this.callPlayer("setVolume",e)}},{key:"getDuration",value:function(){return this.callPlayer("getDuration")}},{key:"getCurrentTime",value:function(){return this.callPlayer("getCurrentPosition")}},{key:"getSecondsLoaded",value:function(){return null}},{key:"render",value:function(){var e={width:"100%",height:"100%",backgroundColor:"black"};return s.default.createElement("div",{style:e,id:this.playerID,className:"fb-video","data-href":this.props.url,"data-allowfullscreen":"true","data-controls":this.props.controls?void 0:"false"})}}]),t}(u.Component);v.displayName="Facebook",v.canPlay=function(e){return d.test(e)},v.loopOnEnded=!0,t.default=(0,f.default)(v)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0}),t.Streamable=void 0;var l=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(0),s=r(u),c=n(1),p=n(2),f=r(p),y=/streamable\.com\/([a-z0-9]+)$/,d=t.Streamable=function(e){function t(){var e,n,r,i;o(this,t);for(var l=arguments.length,u=Array(l),s=0;s<l;s++)u[s]=arguments[s];return n=r=a(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),r.callPlayer=c.callPlayer,r.duration=null,r.currentTime=null,r.secondsLoaded=null,r.ref=function(e){r.iframe=e},i=n,a(r,i)}return i(t,e),l(t,[{key:"load",value:function(e){var t=this;(0,c.getSDK)("//cdn.embed.ly/player-0.1.0.min.js","playerjs").then(function(e){t.iframe&&(t.player=new e.Player(t.iframe),t.player.setLoop(t.props.loop),t.player.on("ready",t.props.onReady),t.player.on("play",t.props.onPlay),t.player.on("pause",t.props.onPause),t.player.on("seeked",t.props.onSeek),t.player.on("ended",t.props.onEnded),t.player.on("error",t.props.onError),t.player.on("timeupdate",function(e){var n=e.duration,r=e.seconds;t.duration=n,t.currentTime=r}),t.player.on("buffered",function(e){var n=e.percent;t.duration&&(t.secondsLoaded=t.duration*n)}))},this.props.onError)}},{key:"play",value:function(){this.callPlayer("play")}},{key:"pause",value:function(){this.callPlayer("pause")}},{key:"stop",value:function(){}},{key:"seekTo",value:function(e){this.callPlayer("setCurrentTime",e)}},{key:"setVolume",value:function(e){this.callPlayer("setVolume",100*e)}},{key:"getDuration",value:function(){return this.duration}},{key:"getCurrentTime",value:function(){return this.currentTime}},{key:"getSecondsLoaded",value:function(){return this.secondsLoaded}},{key:"render",value:function(){var e=this.props.url.match(y)[1],t={width:"100%",height:"100%"};return s.default.createElement("iframe",{ref:this.ref,src:"https://streamable.com/o/"+e,frameBorder:"0",scrolling:"no",style:t,allowFullScreen:!0})}}]),t}(u.Component);d.displayName="Streamable",d.canPlay=function(e){return y.test(e)},t.default=(0,f.default)(d)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0}),t.Wistia=void 0;var l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=n(0),c=r(s),p=n(1),f=n(2),y=r(f),d=/(?:wistia\.com|wi\.st)\/(?:medias|embed)\/(.*)$/,h=t.Wistia=function(e){function t(){var e,n,r,i;o(this,t);for(var l=arguments.length,u=Array(l),s=0;s<l;s++)u[s]=arguments[s];return n=r=a(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),r.callPlayer=p.callPlayer,i=n,a(r,i)}return i(t,e),u(t,[{key:"getID",value:function(e){return e&&e.match(d)[1]}},{key:"load",value:function(e){var t=this,n=this.props,r=n.controls,o=n.onReady,a=n.onPlay,i=n.onPause,u=n.onSeek,s=n.onEnded,c=n.config;(0,p.getSDK)("//fast.wistia.com/assets/external/E-v1.js","Wistia").then(function(){window._wq=window._wq||[],window._wq.push({id:t.getID(e),options:l({controlsVisibleOnLoad:r},c.wistia.options),onReady:function(e){t.player=e,t.player.bind("play",a),t.player.bind("pause",i),t.player.bind("seek",u),t.player.bind("end",s),o()}})})}},{key:"play",value:function(){this.callPlayer("play")}},{key:"pause",value:function(){this.callPlayer("pause")}},{key:"stop",value:function(){this.callPlayer("remove")}},{key:"seekTo",value:function(e){this.callPlayer("time",e)}},{key:"setVolume",value:function(e){this.callPlayer("volume",e)}},{key:"setPlaybackRate",value:function(e){this.callPlayer("playbackRate",e)}},{key:"getDuration",value:function(){return this.callPlayer("duration")}},{key:"getCurrentTime",value:function(){return this.callPlayer("time")}},{key:"getSecondsLoaded",value:function(){return null}},{key:"render",value:function(){var e=this.getID(this.props.url),t="wistia_embed wistia_async_"+e,n={width:"100%",height:"100%"};return c.default.createElement("div",{key:e,className:t,style:n})}}]),t}(s.Component);h.displayName="Wistia",h.canPlay=function(e){return d.test(e)},h.loopOnEnded=!0,t.default=(0,y.default)(h)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0}),t.Twitch=void 0;var l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=n(0),c=r(s),p=n(1),f=n(2),y=r(f),d=/(?:www\.|go\.)?twitch\.tv\/videos\/(\d+)($|\?)/,h=/(?:www\.|go\.)?twitch\.tv\/([a-z0-9_]+)($|\?)/,v="twitch-player-",m=t.Twitch=function(e){function t(){var e,n,r,i;o(this,t);for(var l=arguments.length,u=Array(l),s=0;s<l;s++)u[s]=arguments[s];return n=r=a(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),r.callPlayer=p.callPlayer,r.playerID=v+(0,p.randomString)(),i=n,a(r,i)}return i(t,e),u(t,[{key:"load",value:function(e,t){var n=this,r=this.props,o=r.playsinline,a=r.onError,i=r.config,u=h.test(e),s=u?e.match(h)[1]:e.match(d)[1];if(this.channelTime=0,this.pausedTime=0,t)return void(u?this.player.setChannel(s):this.player.setVideo("v"+s));(0,p.getSDK)("//player.twitch.tv/js/embed/v1.js","Twitch").then(function(e){n.player=new e.Player(n.playerID,l({video:u?"":s,channel:u?s:"",height:"100%",width:"100%",playsinline:o,autoplay:n.props.playing},i.twitch.options));var t=e.Player,r=t.READY,a=t.PLAY,c=t.PAUSE,p=t.ENDED;n.player.addEventListener(r,n.props.onReady),n.player.addEventListener(a,function(e){u&&(n.channelTime=n.pausedTime),n.props.onPlay(e)}),n.player.addEventListener(c,function(e){u&&(n.pausedTime=n.getCurrentTime()),n.props.onPause(e)}),n.player.addEventListener(p,n.props.onEnded)},a)}},{key:"play",value:function(){this.callPlayer("play")}},{key:"pause",value:function(){this.callPlayer("pause")}},{key:"stop",value:function(){this.callPlayer("pause")}},{key:"seekTo",value:function(e){this.callPlayer("seek",e)}},{key:"setVolume",value:function(e){this.callPlayer("setVolume",e)}},{key:"getDuration",value:function(){return t.isChannel(this.props.url)?1/0:this.callPlayer("getDuration")}},{key:"getCurrentTime",value:function(){return this.channelTime+this.callPlayer("getCurrentTime")}},{key:"getSecondsLoaded",value:function(){return null}},{key:"render",value:function(){var e={width:"100%",height:"100%"};return c.default.createElement("div",{style:e,id:this.playerID})}}]),t}(s.Component);m.displayName="Twitch",m.canPlay=function(e){return d.test(e)||h.test(e)},m.isChannel=function(e){return h.test(e)},m.loopOnEnded=!0,t.default=(0,y.default)(m)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0}),t.Mixcloud=void 0;var l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=n(0),c=r(s),p=n(1),f=n(2),y=r(f),d=/mixcloud\.com\/([^\/]+\/[^\/]+)/,h=t.Mixcloud=function(e){function t(){var e,n,r,i;o(this,t);for(var l=arguments.length,u=Array(l),s=0;s<l;s++)u[s]=arguments[s];return n=r=a(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),r.callPlayer=p.callPlayer,r.duration=null,r.currentTime=null,r.secondsLoaded=null,r.ref=function(e){r.iframe=e},i=n,a(r,i)}return i(t,e),u(t,[{key:"load",value:function(e){var t=this;(0,p.getSDK)("//widget.mixcloud.com/media/js/widgetApi.js","Mixcloud").then(function(e){t.player=e.PlayerWidget(t.iframe),t.player.ready.then(function(){t.player.events.play.on(t.props.onPlay),t.player.events.pause.on(t.props.onPause),t.player.events.ended.on(t.props.onEnded),t.player.events.error.on(t.props.error),t.player.events.progress.on(function(e,n){t.currentTime=e,t.duration=n}),t.props.onReady()})},this.props.onError)}},{key:"play",value:function(){this.callPlayer("play")}},{key:"pause",value:function(){this.callPlayer("pause")}},{key:"stop",value:function(){}},{key:"seekTo",value:function(e){this.callPlayer("seek",e)}},{key:"setVolume",value:function(e){}},{key:"getDuration",value:function(){return this.duration}},{key:"getCurrentTime",value:function(){return this.currentTime}},{key:"getSecondsLoaded",value:function(){return null}},{key:"render",value:function(){var e=this.props,t=e.url,n=e.config,r=t.match(d)[1],o={width:"100%",height:"100%"},a=(0,p.queryString)(l({},n.mixcloud.options,{feed:"/"+r+"/"}));return c.default.createElement("iframe",{key:r,ref:this.ref,style:o,src:"https://www.mixcloud.com/widget/iframe/?"+a,frameBorder:"0"})}}]),t}(s.Component);h.displayName="Mixcloud",h.canPlay=function(e){return d.test(e)},t.default=(0,y.default)(h)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0}),t.UstreamLive=void 0;var l=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(0),s=r(u),c=n(1),p=n(2),f=r(p),y=/(ustream.tv\/channel\/)([^#&?\/]*)/,d="UstreamLive-player-",h=t.UstreamLive=function(e){function t(){var e,n,r,i;o(this,t);for(var l=arguments.length,u=Array(l),s=0;s<l;s++)u[s]=arguments[s];return n=r=a(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),r.playerID=d+(0,c.randomString)(),r.callPlayer=c.callPlayer,r.ref=function(e){r.container=e},i=n,a(r,i)}return i(t,e),l(t,[{key:"parseId",value:function(e){return e.match(y)[2]}},{key:"load",value:function(e){var t=this;(0,c.getSDK)("http://developers.ustream.tv/js/ustream-embedapi.min.js","UstreamEmbed").then(function(e){t.player=e(t.playerID),t.player.currentTime=0,t.player.addListener("playing",function(e,n){n?(t.playTime=Date.now(),t.props.onPlay()):(t.player.currentTime=t.getCurrentTime(),t.playTime=null,t.props.onPause())}),t.player.addListener("live",function(){t.props.onReady()}),t.player.addListener("offline",function(){t.props.onReady()}),t.player.addListener("finished",t.props.onEnded),t.player.getProperty("duration",function(e){t.player.duration=e||1/0})},this.props.onError)}},{key:"play",value:function(){this.callPlayer("callMethod","play")}},{key:"pause",value:function(){this.callPlayer("callMethod","pause")}},{key:"stop",value:function(){this.callPlayer("callMethod","stop")}},{key:"seekTo",value:function(e){this.callPlayer("callMethod","seek",e)}},{key:"setVolume",value:function(e){this.callPlayer("callMethod","volume",100*e)}},{key:"getDuration",value:function(){return 1/0}},{key:"getCurrentTime",value:function(){var e=0;return this.playTime&&(e=(Date.now()-this.playTime)/1e3),this.player.currentTime+e}},{key:"getSecondsLoaded",value:function(){return null}},{key:"render",value:function(){var e=this.parseId(this.props.url),t={width:"100%",height:"100%"},n=(0,c.queryString)({autoplay:this.props.playing});return s.default.createElement("iframe",{id:this.playerID,ref:this.ref,src:"//www.ustream.tv/embed/"+e+"?html5ui?"+n,frameBorder:"0",scrolling:"no",style:t,allowFullScreen:!0})}}]),t}(u.Component);h.displayName="UstreamLive",h.canPlay=function(e){return y.test(e)},h.loopOnEnded=!1,t.default=(0,f.default)(h)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0}),t.Iframe=void 0;var l=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(0),s=r(u),c=n(1),p=n(2),f=r(p),y=/^(https?:\/\/)?([\da-z\\.-]+)\.([a-z\\.]{2,6})([\\\/\w \\.-]*)*\/?$/,d="Iframe-player-",h=t.Iframe=function(e){function t(){var e,n,r,i;o(this,t);for(var l=arguments.length,u=Array(l),s=0;s<l;s++)u[s]=arguments[s];return n=r=a(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),r.playerID=d+(0,c.randomString)(),r.ref=function(e){r.container=e},i=n,a(r,i)}return i(t,e),l(t,[{key:"load",value:function(e){this.player={currentTime:0},this.props.onReady()}},{key:"play",value:function(){var e=this;this.playTime=Date.now(),setTimeout(function(){return e.props.onPlay()},1)}},{key:"pause",value:function(){var e=this;this.player.currentTime=this.getCurrentTime(),this.playTime=null,setTimeout(function(){return e.props.onPause()},1)}},{key:"stop",value:function(){this.player.currentTime=this.getCurrentTime(),this.playTime=null,this.props.onPause()}},{key:"seekTo",value:function(e){}},{key:"setVolume",value:function(e){}},{key:"getDuration",value:function(){return 1/0}},{key:"getCurrentTime",value:function(){var e=0;return this.playTime&&(e=(Date.now()-this.playTime)/1e3),this.player.currentTime+e}},{key:"getSecondsLoaded",value:function(){return null}},{key:"render",value:function(){var e={width:"100%",height:"100%"},t=this.props,n=t.url,r=t.playing;return r?s.default.createElement("iframe",{id:this.playerID,ref:this.ref,src:r&&n,frameBorder:"0",scrolling:"no",style:e,allowFullScreen:!0}):s.default.createElement("div",{style:e},s.default.createElement("div",{style:{alignItems:"center",background:"rgba(255,255,255,0.3)",display:"flex",height:"100%",justifyContent:"center",width:"100%"}},s.default.createElement("div",{className:"pause",style:{borderStyle:"double",borderWidth:"0px 0px 0px 50px",color:"gray",height:"60px"}})))}}]),t}(u.Component);h.displayName="Iframe",h.canPlay=function(e){return y.test(e)},t.default=(0,f.default)(h)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n=[],r=!0,o=!1,a=void 0;try{for(var l,s=y[Symbol.iterator]();!(r=(l=s.next()).done);r=!0){var c=l.value;!c.Player.canPlay(e)&&t[c.configKey].preload&&n.push(i.default.createElement(u.default,{key:c.Player.displayName,activePlayer:c.Player,url:c.url,playing:!0,style:{display:"none"}}))}}catch(e){o=!0,a=e}finally{try{!r&&s.return&&s.return()}finally{if(o)throw a}}return n}Object.defineProperty(t,"__esModule",{value:!0}),t.default=o;var a=n(0),i=r(a),l=n(4),u=r(l),s=n(5),c=n(6),p=n(7),f=n(8),y=[{Player:s.YouTube,configKey:"youtube",url:"https://www.youtube.com/watch?v=GlCmAC4MHek"},{Player:c.SoundCloud,configKey:"soundcloud",url:"https://soundcloud.com/seucheu/john-cage-433-8-bit-version"},{Player:p.Vimeo,configKey:"vimeo",url:"https://vimeo.com/127250231"},{Player:f.DailyMotion,configKey:"dailymotion",url:"http://www.dailymotion.com/video/xqdpyk"}];e.exports=t.default}]);
var ReactPlayer=function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=10)}([function(e,t){e.exports=React},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e){var t=e.match(k);if(t){var n=t[1];if(n.match(O))return i(n);if(_.test(n))return parseInt(n,10)}return 0}function i(e){for(var t=0,n=O.exec(e);null!==n;){var r=n,o=v(r,3),a=o[1],i=o[2];"h"===i&&(t+=60*parseInt(a,10)*60),"m"===i&&(t+=60*parseInt(a,10)),"s"===i&&(t+=parseInt(a,10)),n=O.exec(e)}return t}function l(){return Math.random().toString(36).substr(2,5)}function u(e){return Object.keys(e).map(function(t){return t+"="+e[t]}).join("&")}function s(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){return!0};return window[t]&&r(window[t])?Promise.resolve(window[t]):new Promise(function(r,o){if(n){var a=window[n];window[n]=function(){a&&a(),r(window[t])}}(0,b.default)(e,function(e){e&&o(e),n||r(window[t])})})}function c(e,t,n){var r=(0,P.default)(t.config,e.config),a=!0,i=!1,l=void 0;try{for(var u,s=w.DEPRECATED_CONFIG_PROPS[Symbol.iterator]();!(a=(u=s.next()).done);a=!0){var c=u.value;if(e[c]){var p=c.replace(/Config$/,"");if(r=(0,P.default)(r,o({},p,e[c])),n){var f="ReactPlayer: %c"+c+" %cis deprecated, please use the config prop instead – https://github.com/CookPete/react-player#config-prop";console.warn(f,"font-weight: bold","")}}}}catch(e){i=!0,l=e}finally{try{!a&&s.return&&s.return()}finally{if(i)throw l}}return r}function p(e){for(var t,n=arguments.length,r=Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];var a=(t=[]).concat.apply(t,r),i={},l=Object.keys(e),u=!0,s=!1,c=void 0;try{for(var p,f=l[Symbol.iterator]();!(u=(p=f.next()).done);u=!0){var y=p.value;-1===a.indexOf(y)&&(i[y]=e[y])}}catch(e){s=!0,c=e}finally{try{!u&&f.return&&f.return()}finally{if(s)throw c}}return i}function f(e){var t;if(!this.player||!this.player[e]){var n="ReactPlayer: "+this.constructor.displayName+" player could not call %c"+e+"%c – ";return this.player?this.player[e]||(n+="The method was not available"):n+="The player was not available",console.warn(n,"font-weight: bold",""),null}for(var r=arguments.length,o=Array(r>1?r-1:0),a=1;a<r;a++)o[a-1]=arguments[a];return(t=this.player)[e].apply(t,o)}function y(e){return null!==e&&"object"===(void 0===e?"undefined":h(e))}function d(e,t){if("function"==typeof e&&"function"==typeof t)return!0;if(e instanceof Array&&t instanceof Array){if(e.length!==t.length)return!1;for(var n=0;n!==e.length;n++)if(!d(e[n],t[n]))return!1;return!0}if(y(e)&&y(t)){if(Object.keys(e).length!==Object.keys(t).length)return!1;var r=!0,o=!1,a=void 0;try{for(var i,l=Object.keys(e)[Symbol.iterator]();!(r=(i=l.next()).done);r=!0){var u=i.value;if(!d(e[u],t[u]))return!1}}catch(e){o=!0,a=e}finally{try{!r&&l.return&&l.return()}finally{if(o)throw a}}return!0}return e===t}Object.defineProperty(t,"__esModule",{value:!0});var h="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},v=function(){function e(e,t){var n=[],r=!0,o=!1,a=void 0;try{for(var i,l=e[Symbol.iterator]();!(r=(i=l.next()).done)&&(n.push(i.value),!t||n.length!==t);r=!0);}catch(e){o=!0,a=e}finally{try{!r&&l.return&&l.return()}finally{if(o)throw a}}return n}return function(t,n){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();t.parseStartTime=a,t.randomString=l,t.queryString=u,t.getSDK=s,t.getConfig=c,t.omit=p,t.callPlayer=f,t.isObject=y,t.isEqual=d;var m=n(16),b=r(m),g=n(17),P=r(g),w=n(3),k=/[?&#](?:start|t)=([0-9hms]+)/,O=/(\d+)(h|m|s)/g,_=/^\d+$/},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function l(e){var t,n;return n=t=function(t){function n(){var e,t,r,i;o(this,n);for(var l=arguments.length,u=Array(l),s=0;s<l;s++)u[s]=arguments[s];return t=r=a(this,(e=n.__proto__||Object.getPrototypeOf(n)).call.apply(e,[this].concat(u))),r.ref=function(e){r.player=e},i=t,a(r,i)}return i(n,t),s(n,[{key:"shouldComponentUpdate",value:function(e){return!(0,y.isEqual)(this.props,e)}},{key:"componentWillUpdate",value:function(e){this.config=(0,y.getConfig)(e,f.defaultProps)}},{key:"render",value:function(){if(!e.canPlay(this.props.url))return null;var t=this.props,n=t.style,r=t.width,o=t.height,a=t.wrapper,i=(0,y.omit)(this.props,v,f.DEPRECATED_CONFIG_PROPS);return p.default.createElement(a,u({style:u({},n,{width:r,height:o})},i),p.default.createElement(h.default,u({},this.props,{ref:this.ref,activePlayer:e,config:(0,y.getConfig)(this.props,f.defaultProps)})))}}]),n}(c.Component),t.displayName=e.displayName+"Player",t.propTypes=f.propTypes,t.defaultProps=f.defaultProps,t.canPlay=e.canPlay,n}Object.defineProperty(t,"__esModule",{value:!0});var u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();t.default=l;var c=n(0),p=r(c),f=n(3),y=n(1),d=n(4),h=r(d),v=Object.keys(f.propTypes);e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DEPRECATED_CONFIG_PROPS=t.defaultProps=t.propTypes=void 0;var r=n(11),o=function(e){return e&&e.__esModule?e:{default:e}}(r),a=o.default.string,i=o.default.bool,l=o.default.number,u=o.default.array,s=o.default.oneOfType,c=o.default.shape,p=o.default.object,f=o.default.func;t.propTypes={url:s([a,u]),playing:i,loop:i,controls:i,volume:l,muted:i,playbackRate:l,width:s([a,l]),height:s([a,l]),style:p,progressInterval:l,playsinline:i,wrapper:s([a,f]),config:c({soundcloud:c({options:p}),youtube:c({playerVars:p,preload:i}),facebook:c({appId:a}),dailymotion:c({params:p,preload:i}),vimeo:c({iframeParams:p,preload:i}),file:c({attributes:p,tracks:u,forceAudio:i,forceHLS:i,forceDASH:i,hlsOptions:p}),wistia:c({options:p}),mixcloud:c({options:p}),twitch:c({options:p})}),onReady:f,onStart:f,onPlay:f,onPause:f,onBuffer:f,onEnded:f,onError:f,onDuration:f,onSeek:f,onProgress:f},t.defaultProps={playing:!1,loop:!1,controls:!1,volume:null,muted:!1,playbackRate:1,width:"640px",height:"360px",style:{},progressInterval:1e3,playsinline:!1,wrapper:"div",config:{soundcloud:{options:{visual:!0,buying:!1,liking:!1,download:!1,sharing:!1,show_comments:!1,show_playcount:!1}},youtube:{playerVars:{autoplay:0,playsinline:1,showinfo:0,rel:0,iv_load_policy:3,modestbranding:1},preload:!1},facebook:{appId:"1309697205772819"},dailymotion:{params:{api:1,"endscreen-enable":!1},preload:!1},vimeo:{playerOptions:{autopause:!1,autoplay:!1,byline:!1,portrait:!1,title:!1},preload:!1},file:{attributes:{},tracks:[],forceAudio:!1,forceHLS:!1,forceDASH:!1,hlsOptions:{}},wistia:{options:{}},mixcloud:{options:{hide_cover:1}},twitch:{options:{}}},onReady:function(){},onStart:function(){},onPlay:function(){},onPause:function(){},onBuffer:function(){},onEnded:function(){},onError:function(){},onDuration:function(){},onSeek:function(){},onProgress:function(){}},t.DEPRECATED_CONFIG_PROPS=["soundcloudConfig","youtubeConfig","facebookConfig","dailymotionConfig","vimeoConfig","fileConfig","wistiaConfig"]},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},l=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(0),s=function(e){return e&&e.__esModule?e:{default:e}}(u),c=n(3),p=function(e){function t(){var e,n,a,i;r(this,t);for(var l=arguments.length,u=Array(l),s=0;s<l;s++)u[s]=arguments[s];return n=a=o(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),a.mounted=!1,a.isReady=!1,a.isPlaying=!1,a.isLoading=!0,a.startOnPlay=!0,a.seekOnPlay=null,a.onDurationCalled=!1,a.getInternalPlayer=function(e){return a.player?a.player[e]:null},a.progress=function(){if(a.props.url&&a.player&&a.isReady){var e=a.getCurrentTime()||0,t=a.getSecondsLoaded(),n=a.getDuration();if(n){var r={playedSeconds:e,played:e/n};null!==t&&(r.loadedSeconds=t,r.loaded=t/n),n===1/0&&r.playedSeconds!==a.prevPlayedSeconds?a.props.onProgress(r):r.played===a.prevPlayed&&r.loaded===a.prevLoaded||a.props.onProgress(r),a.prevPlayedSeconds=r.playedSeconds,a.prevPlayed=r.played,a.prevLoaded=r.loaded}}a.progressTimeout=setTimeout(a.progress,a.props.progressFrequency||a.props.progressInterval)},a.onReady=function(){if(a.mounted){a.isReady=!0,a.isLoading=!1;var e=a.props,t=e.onReady,n=e.playing,r=e.volume,o=e.muted;t(),(o||null!==r)&&a.player.setVolume(o?0:r),n&&a.player.play(),a.onDurationCheck()}},a.onPlay=function(){a.isPlaying=!0,a.isLoading=!1;var e=a.props,t=e.onStart,n=e.onPlay,r=e.playbackRate;a.startOnPlay&&(a.player.setPlaybackRate&&a.player.setPlaybackRate(r),t(),a.startOnPlay=!1),n(),a.seekOnPlay&&(a.seekTo(a.seekOnPlay),a.seekOnPlay=null),a.onDurationCheck()},a.onPause=function(e){a.isPlaying=!1,a.isLoading||a.props.onPause(e)},a.onEnded=function(){var e=a.props,t=e.activePlayer,n=e.loop,r=e.onEnded;t.loopOnEnded&&n&&a.seekTo(0),n||(a.isPlaying=!1),r()},a.onDurationCheck=function(){clearTimeout(a.durationCheckTimeout);var e=a.getDuration();e?a.onDurationCalled||(a.props.onDuration(e),a.onDurationCalled=!0):a.durationCheckTimeout=setTimeout(a.onDurationCheck,100)},a.ref=function(e){e&&(a.player=e)},i=n,o(a,i)}return a(t,e),l(t,[{key:"componentDidMount",value:function(){this.mounted=!0,this.player.load(this.props.url),this.progress()}},{key:"componentWillUnmount",value:function(){clearTimeout(this.progressTimeout),this.isReady&&this.player.stop(),this.mounted=!1}},{key:"componentWillReceiveProps",value:function(e){var t=this.props,n=t.url,r=t.playing,o=t.volume,a=t.muted,i=t.playbackRate;n!==e.url&&(this.isLoading=!0,this.startOnPlay=!0,this.onDurationCalled=!1,this.player.load(e.url,this.isReady)),r||!e.playing||this.isPlaying||this.player.play(),r&&!e.playing&&this.isPlaying&&this.player.pause(),null!==e.volume&&(o===e.volume||e.muted||this.player.setVolume(e.volume),a!==e.muted&&this.player.setVolume(e.muted?0:e.volume)),i!==e.playbackRate&&this.player.setPlaybackRate&&this.player.setPlaybackRate(e.playbackRate)}},{key:"getDuration",value:function(){return this.isReady?this.player.getDuration():null}},{key:"getCurrentTime",value:function(){return this.isReady?this.player.getCurrentTime():null}},{key:"getSecondsLoaded",value:function(){return this.isReady?this.player.getSecondsLoaded():null}},{key:"seekTo",value:function(e){var t=this;if(!this.isReady&&0!==e)return this.seekOnPlay=e,void setTimeout(function(){t.seekOnPlay=null},5e3);if(e>0&&e<1){var n=this.player.getDuration();return n?void this.player.seekTo(n*e):void console.warn("ReactPlayer: could not seek using fraction – duration not yet available")}this.player.seekTo(e)}},{key:"render",value:function(){var e=this.props.activePlayer;return s.default.createElement(e,i({},this.props,{ref:this.ref,onReady:this.onReady,onPlay:this.onPlay,onPause:this.onPause,onEnded:this.onEnded}))}}]),t}(u.Component);p.displayName="Player",p.propTypes=c.propTypes,p.defaultProps=c.defaultProps,t.default=p,e.exports=t.default},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0}),t.YouTube=void 0;var l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=n(0),c=r(s),p=n(1),f=n(2),y=r(f),d="YT",h=/(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))((\w|-){11})/,v=t.YouTube=function(e){function t(){var e,n,r,i;o(this,t);for(var l=arguments.length,u=Array(l),s=0;s<l;s++)u[s]=arguments[s];return n=r=a(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),r.callPlayer=p.callPlayer,r.onStateChange=function(e){var t=e.data,n=r.props,o=n.onPlay,a=n.onPause,i=n.onBuffer,l=n.onEnded,u=n.onReady,s=window[d].PlayerState,c=s.PLAYING,p=s.PAUSED,f=s.BUFFERING,y=s.ENDED,h=s.CUED;t===c&&o(),t===p&&a(),t===f&&i(),t===y&&l(),t===h&&u()},r.ref=function(e){r.container=e},i=n,a(r,i)}return i(t,e),u(t,[{key:"load",value:function(e,t){var n=this,r=this.props,o=r.playsinline,a=r.controls,i=r.config,u=r.onError,s=e&&e.match(h)[1];if(t)return void this.player.cueVideoById({videoId:s,startSeconds:(0,p.parseStartTime)(e)});(0,p.getSDK)("https://www.youtube.com/iframe_api",d,"onYouTubeIframeAPIReady",function(e){return e.loaded}).then(function(t){n.container&&(n.player=new t.Player(n.container,{width:"100%",height:"100%",videoId:s,playerVars:l({controls:a?1:0,start:(0,p.parseStartTime)(e),origin:window.location.origin,playsinline:o},i.youtube.playerVars),events:{onReady:n.props.onReady,onStateChange:n.onStateChange,onError:function(e){return u(e.data)}}}))},u)}},{key:"play",value:function(){this.callPlayer("playVideo")}},{key:"pause",value:function(){this.callPlayer("pauseVideo")}},{key:"stop",value:function(){document.body.contains(this.callPlayer("getIframe"))&&this.callPlayer("stopVideo")}},{key:"seekTo",value:function(e){this.callPlayer("seekTo",e)}},{key:"setVolume",value:function(e){this.callPlayer("setVolume",100*e)}},{key:"setPlaybackRate",value:function(e){this.callPlayer("setPlaybackRate",e)}},{key:"getDuration",value:function(){return this.callPlayer("getDuration")}},{key:"getCurrentTime",value:function(){return this.callPlayer("getCurrentTime")}},{key:"getSecondsLoaded",value:function(){return this.callPlayer("getVideoLoadedFraction")*this.getDuration()}},{key:"render",value:function(){var e=l({width:"100%",height:"100%"},this.props.style);return c.default.createElement("div",{style:e},c.default.createElement("div",{ref:this.ref}))}}]),t}(s.Component);v.displayName="YouTube",v.canPlay=function(e){return h.test(e)},v.loopOnEnded=!0,t.default=(0,y.default)(v)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0}),t.SoundCloud=void 0;var l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=n(0),c=r(s),p=n(1),f=n(2),y=r(f),d=/(soundcloud\.com|snd\.sc)\/.+$/,h=t.SoundCloud=function(e){function t(){var e,n,r,i;o(this,t);for(var l=arguments.length,u=Array(l),s=0;s<l;s++)u[s]=arguments[s];return n=r=a(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),r.callPlayer=p.callPlayer,r.duration=null,r.currentTime=null,r.fractionLoaded=null,r.ref=function(e){r.iframe=e},i=n,a(r,i)}return i(t,e),u(t,[{key:"load",value:function(e,t){var n=this;(0,p.getSDK)("https://w.soundcloud.com/player/api.js","SC").then(function(r){if(n.iframe){var o=r.Widget.Events,a=o.PLAY,i=o.PLAY_PROGRESS,u=o.PAUSE,s=o.FINISH,c=o.ERROR;t||(n.player=r.Widget(n.iframe),n.player.bind(a,n.props.onPlay),n.player.bind(u,n.props.onPause),n.player.bind(i,function(e){n.currentTime=e.currentPosition/1e3,n.fractionLoaded=e.loadedProgress}),n.player.bind(s,function(){return n.props.onEnded()}),n.player.bind(c,function(e){return n.props.onError(e)})),n.player.load(e,l({},n.props.config.soundcloud.options,{callback:function(){n.player.getDuration(function(e){n.duration=e/1e3,n.props.onReady()})}}))}})}},{key:"play",value:function(){this.callPlayer("play")}},{key:"pause",value:function(){this.callPlayer("pause")}},{key:"stop",value:function(){}},{key:"seekTo",value:function(e){this.callPlayer("seekTo",1e3*e)}},{key:"setVolume",value:function(e){this.callPlayer("setVolume",100*e)}},{key:"getDuration",value:function(){return this.duration}},{key:"getCurrentTime",value:function(){return this.currentTime}},{key:"getSecondsLoaded",value:function(){return this.fractionLoaded*this.duration}},{key:"render",value:function(){var e=l({width:"100%",height:"100%"},this.props.style);return c.default.createElement("iframe",{ref:this.ref,src:"https://w.soundcloud.com/player/?url="+encodeURIComponent(this.props.url),style:e,frameBorder:0})}}]),t}(s.Component);h.displayName="SoundCloud",h.canPlay=function(e){return d.test(e)},h.loopOnEnded=!0,t.default=(0,y.default)(h)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0}),t.Vimeo=void 0;var l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=n(0),c=r(s),p=n(1),f=n(2),y=r(f),d=/vimeo\.com\/.+/,h=/vimeo\.com\/external\/.+\.mp4/,v=t.Vimeo=function(e){function t(){var e,n,r,i;o(this,t);for(var l=arguments.length,u=Array(l),s=0;s<l;s++)u[s]=arguments[s];return n=r=a(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),r.callPlayer=p.callPlayer,r.duration=null,r.currentTime=null,r.secondsLoaded=null,r.ref=function(e){r.container=e},i=n,a(r,i)}return i(t,e),u(t,[{key:"load",value:function(e){var t=this;this.duration=null,(0,p.getSDK)("https://player.vimeo.com/api/player.js","Vimeo").then(function(n){t.container&&(t.player=new n.Player(t.container,l({},t.props.config.vimeo.playerOptions,{url:e,loop:t.props.loop})),t.player.ready().then(function(){var e=t.container.querySelector("iframe");e.style.width="100%",e.style.height="100%"}).catch(t.props.onError),t.player.on("loaded",function(){t.props.onReady(),t.player.getDuration().then(function(e){t.duration=e})}),t.player.on("play",t.props.onPlay),t.player.on("pause",t.props.onPause),t.player.on("seeked",function(e){return t.props.onSeek(e.seconds)}),t.player.on("ended",t.props.onEnded),t.player.on("error",t.props.onError),t.player.on("timeupdate",function(e){var n=e.seconds;t.currentTime=n}),t.player.on("progress",function(e){var n=e.seconds;t.secondsLoaded=n}))},this.props.onError)}},{key:"play",value:function(){this.callPlayer("play")}},{key:"pause",value:function(){this.callPlayer("pause")}},{key:"stop",value:function(){this.callPlayer("unload")}},{key:"seekTo",value:function(e){this.callPlayer("setCurrentTime",e)}},{key:"setVolume",value:function(e){this.callPlayer("setVolume",e)}},{key:"getDuration",value:function(){return this.duration}},{key:"getCurrentTime",value:function(){return this.currentTime}},{key:"getSecondsLoaded",value:function(){return this.secondsLoaded}},{key:"render",value:function(){var e=l({width:"100%",height:"100%",overflow:"hidden",backgroundColor:"black"},this.props.style);return c.default.createElement("div",{key:this.props.url,ref:this.ref,style:e})}}]),t}(s.Component);v.displayName="Vimeo",v.canPlay=function(e){return!h.test(e)&&d.test(e)},t.default=(0,y.default)(v)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0}),t.DailyMotion=void 0;var l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=n(0),c=r(s),p=n(1),f=n(2),y=r(f),d=/dailymotion\.com\/(video|hub)\/([^_]+)[^#]*(#video=([^_&]+))?/,h=t.DailyMotion=function(e){function t(){var e,n,r,i;o(this,t);for(var l=arguments.length,u=Array(l),s=0;s<l;s++)u[s]=arguments[s];return n=r=a(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),r.callPlayer=p.callPlayer,r.onDurationChange=function(){var e=r.getDuration();r.props.onDuration(e)},r.ref=function(e){r.container=e},i=n,a(r,i)}return i(t,e),u(t,[{key:"parseId",value:function(e){var t=e.match(d);return t[4]||t[2]}},{key:"load",value:function(e){var t=this,n=this.props,r=n.controls,o=n.config,a=n.onError,i=n.playing,u=this.parseId(e);if(this.player)return void this.player.load(u,{start:(0,p.parseStartTime)(e),autoplay:i});(0,p.getSDK)("https://api.dmcdn.net/all.js","DM","dmAsyncInit",function(e){return e.player}).then(function(n){if(t.container){var i=n.player;t.player=new i(t.container,{width:"100%",height:"100%",video:u,params:l({controls:r,autoplay:t.props.playing,start:(0,p.parseStartTime)(e),origin:window.location.origin},o.dailymotion.params),events:{apiready:t.props.onReady,seeked:function(){return t.props.onSeek(t.player.currentTime)},video_end:t.props.onEnded,durationchange:t.onDurationChange,pause:t.props.onPause,playing:t.props.onPlay,waiting:t.props.onBuffer,error:function(e){return a(e)}}})}},a)}},{key:"play",value:function(){this.callPlayer("play")}},{key:"pause",value:function(){this.callPlayer("pause")}},{key:"stop",value:function(){}},{key:"seekTo",value:function(e){this.callPlayer("seek",e)}},{key:"setVolume",value:function(e){this.callPlayer("setVolume",e)}},{key:"getDuration",value:function(){return this.player.duration||null}},{key:"getCurrentTime",value:function(){return this.player.currentTime}},{key:"getSecondsLoaded",value:function(){return this.player.bufferedTime}},{key:"render",value:function(){var e=l({width:"100%",height:"100%",backgroundColor:"black"},this.props.style);return c.default.createElement("div",{style:e},c.default.createElement("div",{ref:this.ref}))}}]),t}(s.Component);h.displayName="DailyMotion",h.canPlay=function(e){return d.test(e)},h.loopOnEnded=!0,t.default=(0,y.default)(h)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function l(e){if(e instanceof Array){var t=!0,n=!1,r=void 0;try{for(var o,a=e[Symbol.iterator]();!(t=(o=a.next()).done);t=!0){var i=o.value;if("string"==typeof i&&l(i))return!0;if(l(i.src))return!0}}catch(e){n=!0,r=e}finally{try{!t&&a.return&&a.return()}finally{if(n)throw r}}return!1}return v.test(e)||m.test(e)||b.test(e)||g.test(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.FilePlayer=void 0;var u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),c=n(0),p=r(c),f=n(1),y=n(2),d=r(y),h="undefined"!=typeof navigator&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,v=/\.(m4a|mp4a|mpga|mp2|mp2a|mp3|m2a|m3a|wav|weba|aac|oga|spx)($|\?)/i,m=/\.(mp4|og[gv]|webm|mov|m4v)($|\?)/i,b=/\.(m3u8)($|\?)/i,g=/\.(mpd)($|\?)/i,P=t.FilePlayer=function(e){function t(){var e,n,r,i;o(this,t);for(var l=arguments.length,s=Array(l),c=0;c<l;c++)s[c]=arguments[c];return n=r=a(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(s))),r.onSeek=function(e){r.props.onSeek(e.target.currentTime)},r.renderSource=function(e,t){return"string"==typeof e?p.default.createElement("source",{key:t,src:e}):p.default.createElement("source",u({key:t},e))},r.renderTrack=function(e,t){return p.default.createElement("track",u({key:t},e))},r.ref=function(e){r.player=e},i=n,a(r,i)}return i(t,e),s(t,[{key:"componentDidMount",value:function(){this.addListeners(),h&&this.player.load()}},{key:"componentWillReceiveProps",value:function(e){this.shouldUseAudio(this.props)!==this.shouldUseAudio(e)&&this.removeListeners()}},{key:"componentDidUpdate",value:function(e){this.shouldUseAudio(this.props)!==this.shouldUseAudio(e)&&this.addListeners()}},{key:"componentWillUnmount",value:function(){this.removeListeners()}},{key:"addListeners",value:function(){var e=this.props,t=e.onReady,n=e.onPlay,r=e.onPause,o=e.onEnded,a=e.onError,i=e.playsinline;this.player.addEventListener("canplay",t),this.player.addEventListener("play",n),this.player.addEventListener("pause",r),this.player.addEventListener("seeked",this.onSeek),this.player.addEventListener("ended",o),this.player.addEventListener("error",a),i&&(this.player.setAttribute("playsinline",""),this.player.setAttribute("webkit-playsinline",""))}},{key:"removeListeners",value:function(){var e=this.props,t=e.onReady,n=e.onPlay,r=e.onPause,o=e.onEnded,a=e.onError;this.player.removeEventListener("canplay",t),this.player.removeEventListener("play",n),this.player.removeEventListener("pause",r),this.player.removeEventListener("seeked",this.onSeek),this.player.removeEventListener("ended",o),this.player.removeEventListener("error",a)}},{key:"shouldUseAudio",value:function(e){return v.test(e.url)||e.config.file.forceAudio}},{key:"shouldUseHLS",value:function(e){return b.test(e)&&!h||this.props.config.file.forceHLS}},{key:"shouldUseDASH",value:function(e){return g.test(e)||this.props.config.file.forceDASH}},{key:"load",value:function(e){var t=this;this.shouldUseHLS(e)&&(0,f.getSDK)("https://cdnjs.cloudflare.com/ajax/libs/hls.js/0.8.9/hls.min.js","Hls").then(function(n){t.hls=new n(t.props.config.file.hlsOptions),t.hls.on(n.Events.ERROR,function(e,r){t.props.onError(e,r,t.hls,n)}),t.hls.loadSource(e),t.hls.attachMedia(t.player)}),this.shouldUseDASH(e)&&(0,f.getSDK)("https://cdnjs.cloudflare.com/ajax/libs/dashjs/2.6.5/dash.all.min.js","dashjs").then(function(n){t.dash=n.MediaPlayer().create(),t.dash.initialize(t.player,e,t.props.playing),t.dash.getDebug().setLogToBrowserConsole(!1)})}},{key:"play",value:function(){var e=this.player.play();e&&e.catch(this.props.onError)}},{key:"pause",value:function(){this.player.pause()}},{key:"stop",value:function(){this.player.removeAttribute("src"),this.hls&&this.hls.destroy(),this.dash&&this.dash.reset()}},{key:"seekTo",value:function(e){this.player.currentTime=e}},{key:"setVolume",value:function(e){this.player.volume=e}},{key:"setPlaybackRate",value:function(e){this.player.playbackRate=e}},{key:"getDuration",value:function(){return this.player.duration}},{key:"getCurrentTime",value:function(){return this.player.currentTime}},{key:"getSecondsLoaded",value:function(){return 0===this.player.buffered.length?0:this.player.buffered.end(0)}},{key:"render",value:function(){var e=this.props,t=e.url,n=e.loop,r=e.controls,o=e.config,a=e.width,i=e.height,l=this.shouldUseAudio(this.props),s=this.shouldUseHLS(t),c=this.shouldUseDASH(t),f=l?"audio":"video",y=t instanceof Array||s||c?void 0:t,d={width:a&&"auto"!==a?"100%":a,height:i&&"auto"!==i?"100%":i};return p.default.createElement(f,u({ref:this.ref,src:y,style:d,preload:"auto",controls:r,loop:n},o.file.attributes),t instanceof Array&&t.map(this.renderSource),o.file.tracks.map(this.renderTrack))}}]),t}(c.Component);P.displayName="FilePlayer",P.canPlay=l,t.default=(0,d.default)(P)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),c=n(0),p=r(c),f=n(3),y=n(1),d=n(18),h=r(d),v=n(4),m=r(v),b=n(9),g=n(26),P=r(g),w=Object.keys(f.propTypes),ReactPlayer=function(e){function ReactPlayer(){var e,t,n,r;a(this,ReactPlayer);for(var o=arguments.length,l=Array(o),u=0;u<o;u++)l[u]=arguments[u];return t=n=i(this,(e=ReactPlayer.__proto__||Object.getPrototypeOf(ReactPlayer)).call.apply(e,[this].concat(l))),n.config=(0,y.getConfig)(n.props,f.defaultProps,!0),n.getDuration=function(){return n.player?n.player.getDuration():null},n.getCurrentTime=function(){return n.player?n.player.getCurrentTime():null},n.getInternalPlayer=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"player";return n.player?n.player.getInternalPlayer(e):null},n.seekTo=function(e){if(!n.player)return null;n.player.seekTo(e)},n.wrapperRef=function(e){n.wrapper=e},n.activePlayerRef=function(e){n.player=e},r=t,i(n,r)}return l(ReactPlayer,e),s(ReactPlayer,[{key:"componentDidMount",value:function(){if(this.props.progressFrequency){console.warn("ReactPlayer: %cprogressFrequency%c is deprecated, please use %cprogressInterval%c instead","font-weight: bold","","font-weight: bold","")}}},{key:"shouldComponentUpdate",value:function(e){return!(0,y.isEqual)(this.props,e)}},{key:"componentWillUpdate",value:function(e){this.config=(0,y.getConfig)(e,f.defaultProps)}},{key:"getActivePlayer",value:function(e){var t=!0,n=!1,r=void 0;try{for(var o,a=h.default[Symbol.iterator]();!(t=(o=a.next()).done);t=!0){var i=o.value;if(i.canPlay(e))return i}}catch(e){n=!0,r=e}finally{try{!t&&a.return&&a.return()}finally{if(n)throw r}}return b.FilePlayer}},{key:"renderActivePlayer",value:function(e){if(!e)return null;var t=this.getActivePlayer(e);return p.default.createElement(m.default,u({},this.props,{key:t.displayName,ref:this.activePlayerRef,config:this.config,activePlayer:t}))}},{key:"sortPlayers",value:function(e,t){return e&&t?e.key<t.key?-1:1:0}},{key:"render",value:function(){var e=this.props,t=e.url,n=e.style,r=e.width,a=e.height,i=e.wrapper,l=(0,y.omit)(this.props,w,f.DEPRECATED_CONFIG_PROPS),s=this.renderActivePlayer(t),c=(0,P.default)(t,this.config),d=[s].concat(o(c)).sort(this.sortPlayers);return p.default.createElement(i,u({ref:this.wrapperRef,style:u({},n,{width:r,height:a})},l),d)}}]),ReactPlayer}(c.Component);ReactPlayer.displayName="ReactPlayer",ReactPlayer.propTypes=f.propTypes,ReactPlayer.defaultProps=f.defaultProps,ReactPlayer.canPlay=function(e){var t=!0,n=!1,r=void 0;try{for(var o,a=h.default[Symbol.iterator]();!(t=(o=a.next()).done);t=!0){if(o.value.canPlay(e))return!0}}catch(e){n=!0,r=e}finally{try{!t&&a.return&&a.return()}finally{if(n)throw r}}return!1},t.default=ReactPlayer,e.exports=t.default},function(e,t,n){"use strict";"function"==typeof Symbol&&Symbol.iterator;e.exports=n(12)()},function(e,t,n){"use strict";var r=n(13),o=n(14),a=n(15);e.exports=function(){function e(e,t,n,r,i,l){l!==a&&o(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return n.checkPropTypes=r,n.PropTypes=n,n}},function(e,t,n){"use strict";function r(e){return function(){return e}}var o=function(){};o.thatReturns=r,o.thatReturnsFalse=r(!1),o.thatReturnsTrue=r(!0),o.thatReturnsNull=r(null),o.thatReturnsThis=function(){return this},o.thatReturnsArgument=function(e){return e},e.exports=o},function(e,t,n){"use strict";function r(e,t,n,r,a,i,l,u){if(o(t),!e){var s;if(void 0===t)s=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,a,i,l,u],p=0;s=new Error(t.replace(/%s/g,function(){return c[p++]})),s.name="Invariant Violation"}throw s.framesToPop=1,s}}var o=function(e){};e.exports=r},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";function r(e,t){for(var n in t)e.setAttribute(n,t[n])}function o(e,t){e.onload=function(){this.onerror=this.onload=null,t(null,e)},e.onerror=function(){this.onerror=this.onload=null,t(new Error("Failed to load "+this.src),e)}}function a(e,t){e.onreadystatechange=function(){"complete"!=this.readyState&&"loaded"!=this.readyState||(this.onreadystatechange=null,t(null,e))}}e.exports=function(e,t,n){var i=document.head||document.getElementsByTagName("head")[0],l=document.createElement("script");"function"==typeof t&&(n=t,t={}),t=t||{},n=n||function(){},l.type=t.type||"text/javascript",l.charset=t.charset||"utf8",l.async=!("async"in t)||!!t.async,l.src=e,t.attrs&&r(l,t.attrs),t.text&&(l.text=""+t.text),("onload"in l?o:a)(l,n),l.onload||o(l,n),i.appendChild(l)}},function(e,t,n){"use strict";function r(e){return!!e&&"object"===(void 0===e?"undefined":p(e))}function o(e){var t=Object.prototype.toString.call(e);return"[object RegExp]"===t||"[object Date]"===t||a(e)}function a(e){return e.$$typeof===d}function i(e){return Array.isArray(e)?[]:{}}function l(e,t){return!1!==t.clone&&t.isMergeableObject(e)?c(i(e),e,t):e}function u(e,t,n){return e.concat(t).map(function(e){return l(e,n)})}function s(e,t,n){var r={};return n.isMergeableObject(e)&&Object.keys(e).forEach(function(t){r[t]=l(e[t],n)}),Object.keys(t).forEach(function(o){n.isMergeableObject(t[o])&&e[o]?r[o]=c(e[o],t[o],n):r[o]=l(t[o],n)}),r}function c(e,t,n){n=n||{},n.arrayMerge=n.arrayMerge||u,n.isMergeableObject=n.isMergeableObject||f;var r=Array.isArray(t);return r===Array.isArray(e)?r?n.arrayMerge(e,t,n):s(e,t,n):l(t,n)}Object.defineProperty(t,"__esModule",{value:!0});var p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},f=function(e){return r(e)&&!o(e)},y="function"==typeof Symbol&&Symbol.for,d=y?Symbol.for("react.element"):60103;c.all=function(e,t){if(!Array.isArray(e))throw new Error("first argument should be an array");return e.reduce(function(e,n){return c(e,n,t)},{})};var h=c;t.default=h,e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(5),o=n(6),a=n(7),i=n(19),l=n(20),u=n(21),s=n(22),c=n(8),p=n(23),f=n(24),y=n(25),d=n(9);t.default=[r.YouTube,o.SoundCloud,a.Vimeo,i.Facebook,l.Streamable,u.Wistia,s.Twitch,c.DailyMotion,p.Mixcloud,f.UstreamLive,d.FilePlayer,y.Iframe],e.exports=t.default},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0}),t.Facebook=void 0;var l=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(0),s=r(u),c=n(1),p=n(2),f=r(p),y="//connect.facebook.net/en_US/sdk.js",d=/facebook\.com\/([^\/?].+\/)?video(s|\.php)[\/?].*$/,h="facebook-player-",v=t.Facebook=function(e){function t(){var e,n,r,i;o(this,t);for(var l=arguments.length,u=Array(l),s=0;s<l;s++)u[s]=arguments[s];return n=r=a(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),r.callPlayer=c.callPlayer,r.playerID=h+(0,c.randomString)(),i=n,a(r,i)}return i(t,e),l(t,[{key:"load",value:function(e,t){var n=this;if(t)return void(0,c.getSDK)(y,"FB","fbAsyncInit").then(function(e){return e.XFBML.parse()});(0,c.getSDK)(y,"FB","fbAsyncInit").then(function(e){e.init({appId:n.props.config.facebook.appId,xfbml:!0,version:"v2.5"}),e.Event.subscribe("xfbml.ready",function(e){"video"===e.type&&e.id===n.playerID&&(n.player=e.instance,n.player.subscribe("startedPlaying",n.props.onPlay),n.player.subscribe("paused",n.props.onPause),n.player.subscribe("finishedPlaying",n.props.onEnded),n.player.subscribe("startedBuffering",n.props.onBuffer),n.player.subscribe("error",n.props.onError),n.callPlayer("unmute"),n.props.onReady())})})}},{key:"play",value:function(){this.callPlayer("play")}},{key:"pause",value:function(){this.callPlayer("pause")}},{key:"stop",value:function(){}},{key:"seekTo",value:function(e){this.callPlayer("seek",e)}},{key:"setVolume",value:function(e){0!==e&&this.callPlayer("unmute"),this.callPlayer("setVolume",e)}},{key:"getDuration",value:function(){return this.callPlayer("getDuration")}},{key:"getCurrentTime",value:function(){return this.callPlayer("getCurrentPosition")}},{key:"getSecondsLoaded",value:function(){return null}},{key:"render",value:function(){var e={width:"100%",height:"100%",backgroundColor:"black"};return s.default.createElement("div",{style:e,id:this.playerID,className:"fb-video","data-href":this.props.url,"data-allowfullscreen":"true","data-controls":this.props.controls?void 0:"false"})}}]),t}(u.Component);v.displayName="Facebook",v.canPlay=function(e){return d.test(e)},v.loopOnEnded=!0,t.default=(0,f.default)(v)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0}),t.Streamable=void 0;var l=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(0),s=r(u),c=n(1),p=n(2),f=r(p),y=/streamable\.com\/([a-z0-9]+)$/,d=t.Streamable=function(e){function t(){var e,n,r,i;o(this,t);for(var l=arguments.length,u=Array(l),s=0;s<l;s++)u[s]=arguments[s];return n=r=a(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),r.callPlayer=c.callPlayer,r.duration=null,r.currentTime=null,r.secondsLoaded=null,r.ref=function(e){r.iframe=e},i=n,a(r,i)}return i(t,e),l(t,[{key:"load",value:function(e){var t=this;(0,c.getSDK)("//cdn.embed.ly/player-0.1.0.min.js","playerjs").then(function(e){t.iframe&&(t.player=new e.Player(t.iframe),t.player.setLoop(t.props.loop),t.player.on("ready",t.props.onReady),t.player.on("play",t.props.onPlay),t.player.on("pause",t.props.onPause),t.player.on("seeked",t.props.onSeek),t.player.on("ended",t.props.onEnded),t.player.on("error",t.props.onError),t.player.on("timeupdate",function(e){var n=e.duration,r=e.seconds;t.duration=n,t.currentTime=r}),t.player.on("buffered",function(e){var n=e.percent;t.duration&&(t.secondsLoaded=t.duration*n)}))},this.props.onError)}},{key:"play",value:function(){this.callPlayer("play")}},{key:"pause",value:function(){this.callPlayer("pause")}},{key:"stop",value:function(){}},{key:"seekTo",value:function(e){this.callPlayer("setCurrentTime",e)}},{key:"setVolume",value:function(e){this.callPlayer("setVolume",100*e)}},{key:"getDuration",value:function(){return this.duration}},{key:"getCurrentTime",value:function(){return this.currentTime}},{key:"getSecondsLoaded",value:function(){return this.secondsLoaded}},{key:"render",value:function(){var e=this.props.url.match(y)[1],t={width:"100%",height:"100%"};return s.default.createElement("iframe",{ref:this.ref,src:"https://streamable.com/o/"+e,frameBorder:"0",scrolling:"no",style:t,allowFullScreen:!0})}}]),t}(u.Component);d.displayName="Streamable",d.canPlay=function(e){return y.test(e)},t.default=(0,f.default)(d)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0}),t.Wistia=void 0;var l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=n(0),c=r(s),p=n(1),f=n(2),y=r(f),d=/(?:wistia\.com|wi\.st)\/(?:medias|embed)\/(.*)$/,h=t.Wistia=function(e){function t(){var e,n,r,i;o(this,t);for(var l=arguments.length,u=Array(l),s=0;s<l;s++)u[s]=arguments[s];return n=r=a(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),r.callPlayer=p.callPlayer,i=n,a(r,i)}return i(t,e),u(t,[{key:"getID",value:function(e){return e&&e.match(d)[1]}},{key:"load",value:function(e){var t=this,n=this.props,r=n.controls,o=n.onReady,a=n.onPlay,i=n.onPause,u=n.onSeek,s=n.onEnded,c=n.config;(0,p.getSDK)("//fast.wistia.com/assets/external/E-v1.js","Wistia").then(function(){window._wq=window._wq||[],window._wq.push({id:t.getID(e),options:l({controlsVisibleOnLoad:r},c.wistia.options),onReady:function(e){t.player=e,t.player.bind("play",a),t.player.bind("pause",i),t.player.bind("seek",u),t.player.bind("end",s),o()}})})}},{key:"play",value:function(){this.callPlayer("play")}},{key:"pause",value:function(){this.callPlayer("pause")}},{key:"stop",value:function(){this.callPlayer("remove")}},{key:"seekTo",value:function(e){this.callPlayer("time",e)}},{key:"setVolume",value:function(e){this.callPlayer("volume",e)}},{key:"setPlaybackRate",value:function(e){this.callPlayer("playbackRate",e)}},{key:"getDuration",value:function(){return this.callPlayer("duration")}},{key:"getCurrentTime",value:function(){return this.callPlayer("time")}},{key:"getSecondsLoaded",value:function(){return null}},{key:"render",value:function(){var e=this.getID(this.props.url),t="wistia_embed wistia_async_"+e,n={width:"100%",height:"100%"};return c.default.createElement("div",{key:e,className:t,style:n})}}]),t}(s.Component);h.displayName="Wistia",h.canPlay=function(e){return d.test(e)},h.loopOnEnded=!0,t.default=(0,y.default)(h)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0}),t.Twitch=void 0;var l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=n(0),c=r(s),p=n(1),f=n(2),y=r(f),d=/(?:www\.|go\.)?twitch\.tv\/videos\/(\d+)($|\?)/,h=/(?:www\.|go\.)?twitch\.tv\/([a-z0-9_]+)($|\?)/,v="twitch-player-",m=t.Twitch=function(e){function t(){var e,n,r,i;o(this,t);for(var l=arguments.length,u=Array(l),s=0;s<l;s++)u[s]=arguments[s];return n=r=a(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),r.callPlayer=p.callPlayer,r.playerID=v+(0,p.randomString)(),i=n,a(r,i)}return i(t,e),u(t,[{key:"load",value:function(e,t){var n=this,r=this.props,o=r.playsinline,a=r.onError,i=r.config,u=h.test(e),s=u?e.match(h)[1]:e.match(d)[1];if(this.channelTime=0,this.pausedTime=0,t)return void(u?this.player.setChannel(s):this.player.setVideo("v"+s));(0,p.getSDK)("//player.twitch.tv/js/embed/v1.js","Twitch").then(function(e){n.player=new e.Player(n.playerID,l({video:u?"":s,channel:u?s:"",height:"100%",width:"100%",playsinline:o,autoplay:n.props.playing},i.twitch.options));var t=e.Player,r=t.READY,a=t.PLAY,c=t.PAUSE,p=t.ENDED;n.player.addEventListener(r,n.props.onReady),n.player.addEventListener(a,function(e){u&&(n.channelTime=n.pausedTime),n.props.onPlay(e)}),n.player.addEventListener(c,function(e){u&&(n.pausedTime=n.getCurrentTime()),n.props.onPause(e)}),n.player.addEventListener(p,n.props.onEnded)},a)}},{key:"play",value:function(){this.callPlayer("play")}},{key:"pause",value:function(){this.callPlayer("pause")}},{key:"stop",value:function(){this.callPlayer("pause")}},{key:"seekTo",value:function(e){this.callPlayer("seek",e)}},{key:"setVolume",value:function(e){this.callPlayer("setVolume",e)}},{key:"getDuration",value:function(){return t.isChannel(this.props.url)?1/0:this.callPlayer("getDuration")}},{key:"getCurrentTime",value:function(){return this.channelTime+this.callPlayer("getCurrentTime")}},{key:"getSecondsLoaded",value:function(){return null}},{key:"render",value:function(){var e={width:"100%",height:"100%"};return c.default.createElement("div",{style:e,id:this.playerID})}}]),t}(s.Component);m.displayName="Twitch",m.canPlay=function(e){return d.test(e)||h.test(e)},m.isChannel=function(e){return h.test(e)},m.loopOnEnded=!0,t.default=(0,y.default)(m)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0}),t.Mixcloud=void 0;var l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=n(0),c=r(s),p=n(1),f=n(2),y=r(f),d=/mixcloud\.com\/([^\/]+\/[^\/]+)/,h=t.Mixcloud=function(e){function t(){var e,n,r,i;o(this,t);for(var l=arguments.length,u=Array(l),s=0;s<l;s++)u[s]=arguments[s];return n=r=a(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),r.callPlayer=p.callPlayer,r.duration=null,r.currentTime=null,r.secondsLoaded=null,r.ref=function(e){r.iframe=e},i=n,a(r,i)}return i(t,e),u(t,[{key:"load",value:function(e){var t=this;(0,p.getSDK)("//widget.mixcloud.com/media/js/widgetApi.js","Mixcloud").then(function(e){t.player=e.PlayerWidget(t.iframe),t.player.ready.then(function(){t.player.events.play.on(t.props.onPlay),t.player.events.pause.on(t.props.onPause),t.player.events.ended.on(t.props.onEnded),t.player.events.error.on(t.props.error),t.player.events.progress.on(function(e,n){t.currentTime=e,t.duration=n}),t.props.onReady()})},this.props.onError)}},{key:"play",value:function(){this.callPlayer("play")}},{key:"pause",value:function(){this.callPlayer("pause")}},{key:"stop",value:function(){}},{key:"seekTo",value:function(e){this.callPlayer("seek",e)}},{key:"setVolume",value:function(e){}},{key:"getDuration",value:function(){return this.duration}},{key:"getCurrentTime",value:function(){return this.currentTime}},{key:"getSecondsLoaded",value:function(){return null}},{key:"render",value:function(){var e=this.props,t=e.url,n=e.config,r=t.match(d)[1],o={width:"100%",height:"100%"},a=(0,p.queryString)(l({},n.mixcloud.options,{feed:"/"+r+"/"}));return c.default.createElement("iframe",{key:r,ref:this.ref,style:o,src:"https://www.mixcloud.com/widget/iframe/?"+a,frameBorder:"0"})}}]),t}(s.Component);h.displayName="Mixcloud",h.canPlay=function(e){return d.test(e)},t.default=(0,y.default)(h)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0}),t.UstreamLive=void 0;var l=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(0),s=r(u),c=n(1),p=n(2),f=r(p),y=/(ustream.tv\/channel\/)([^#&?\/]*)/,d="UstreamLive-player-",h=t.UstreamLive=function(e){function t(){var e,n,r,i;o(this,t);for(var l=arguments.length,u=Array(l),s=0;s<l;s++)u[s]=arguments[s];return n=r=a(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),r.playerID=d+(0,c.randomString)(),r.callPlayer=c.callPlayer,r.ref=function(e){r.container=e},i=n,a(r,i)}return i(t,e),l(t,[{key:"parseId",value:function(e){return e.match(y)[2]}},{key:"load",value:function(e){var t=this;(0,c.getSDK)("http://developers.ustream.tv/js/ustream-embedapi.min.js","UstreamEmbed").then(function(e){t.player=e(t.playerID),t.player.currentTime=0,t.player.addListener("playing",function(e,n){n?(t.playTime=Date.now(),t.props.onPlay()):(t.player.currentTime=t.getCurrentTime(),t.playTime=null,t.props.onPause())}),t.player.addListener("live",function(){t.props.onReady()}),t.player.addListener("offline",function(){t.props.onReady()}),t.player.addListener("finished",t.props.onEnded),t.player.getProperty("duration",function(e){t.player.duration=e||1/0})},this.props.onError)}},{key:"play",value:function(){this.callPlayer("callMethod","play")}},{key:"pause",value:function(){this.callPlayer("callMethod","pause")}},{key:"stop",value:function(){this.callPlayer("callMethod","stop")}},{key:"seekTo",value:function(e){this.callPlayer("callMethod","seek",e)}},{key:"setVolume",value:function(e){this.callPlayer("callMethod","volume",100*e)}},{key:"getDuration",value:function(){return 1/0}},{key:"getCurrentTime",value:function(){var e=0;return this.playTime&&(e=(Date.now()-this.playTime)/1e3),this.player.currentTime+e}},{key:"getSecondsLoaded",value:function(){return null}},{key:"render",value:function(){var e=this.parseId(this.props.url),t={width:"100%",height:"100%"},n=(0,c.queryString)({autoplay:this.props.playing});return s.default.createElement("iframe",{id:this.playerID,ref:this.ref,src:"//www.ustream.tv/embed/"+e+"?html5ui?"+n,frameBorder:"0",scrolling:"no",style:t,allowFullScreen:!0})}}]),t}(u.Component);h.displayName="UstreamLive",h.canPlay=function(e){return y.test(e)},h.loopOnEnded=!1,t.default=(0,f.default)(h)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0}),t.Iframe=void 0;var l=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(0),s=r(u),c=n(1),p=n(2),f=r(p),y=/^(https?:\/\/)?([\da-z\\.-]+)\.([a-z\\.]{2,6})([\\\/\w \\.-]*)*\/?$/,d="Iframe-player-",h=t.Iframe=function(e){function t(){var e,n,r,i;o(this,t);for(var l=arguments.length,u=Array(l),s=0;s<l;s++)u[s]=arguments[s];return n=r=a(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),r.playerID=d+(0,c.randomString)(),r.ref=function(e){console.log("b"),r.container=e},i=n,a(r,i)}return i(t,e),l(t,[{key:"load",value:function(e){this.player={currentTime:0}}},{key:"componentDidMount",value:function(){this.props.onReady()}},{key:"play",value:function(){this.playTime=Date.now(),this.props.onPlay()}},{key:"pause",value:function(){this.player.currentTime=this.getCurrentTime(),this.playTime=null,this.props.onPause()}},{key:"stop",value:function(){this.player.currentTime=this.getCurrentTime(),this.playTime=null,this.props.onPause()}},{key:"seekTo",value:function(e){}},{key:"setVolume",value:function(e){}},{key:"getDuration",value:function(){return 1/0}},{key:"getCurrentTime",value:function(){var e=0;return this.playTime&&(e=(Date.now()-this.playTime)/1e3),this.player.currentTime+e}},{key:"getSecondsLoaded",value:function(){return null}},{key:"render",value:function(){var e={width:"100%",height:"100%"},t=this.props,n=t.url,r=t.playing;return r?s.default.createElement("iframe",{id:this.playerID,ref:this.ref,src:r&&n,frameBorder:"0",scrolling:"no",style:e,allowFullScreen:!0}):s.default.createElement("div",{style:e},s.default.createElement("div",{style:{alignItems:"center",background:"rgba(255,255,255,0.3)",display:"flex",height:"100%",justifyContent:"center",width:"100%"}},s.default.createElement("div",{className:"pause",style:{borderStyle:"double",borderWidth:"0px 0px 0px 50px",color:"gray",height:"60px"}})))}}]),t}(u.Component);h.displayName="Iframe",h.canPlay=function(e){return y.test(e)},t.default=(0,f.default)(h)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n=[],r=!0,o=!1,a=void 0;try{for(var l,s=y[Symbol.iterator]();!(r=(l=s.next()).done);r=!0){var c=l.value;!c.Player.canPlay(e)&&t[c.configKey].preload&&n.push(i.default.createElement(u.default,{key:c.Player.displayName,activePlayer:c.Player,url:c.url,playing:!0,style:{display:"none"}}))}}catch(e){o=!0,a=e}finally{try{!r&&s.return&&s.return()}finally{if(o)throw a}}return n}Object.defineProperty(t,"__esModule",{value:!0}),t.default=o;var a=n(0),i=r(a),l=n(4),u=r(l),s=n(5),c=n(6),p=n(7),f=n(8),y=[{Player:s.YouTube,configKey:"youtube",url:"https://www.youtube.com/watch?v=GlCmAC4MHek"},{Player:c.SoundCloud,configKey:"soundcloud",url:"https://soundcloud.com/seucheu/john-cage-433-8-bit-version"},{Player:p.Vimeo,configKey:"vimeo",url:"https://vimeo.com/127250231"},{Player:f.DailyMotion,configKey:"dailymotion",url:"http://www.dailymotion.com/video/xqdpyk"}];e.exports=t.default}]);
//# sourceMappingURL=ReactPlayer.js.map

@@ -46,2 +46,3 @@ 'use strict';

return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Iframe.__proto__ || Object.getPrototypeOf(Iframe)).call.apply(_ref, [this].concat(args))), _this), _this.playerID = PLAYER_ID_PREFIX + (0, _utils.randomString)(), _this.ref = function (container) {
console.log('b');
_this.container = container;

@@ -57,2 +58,6 @@ }, _temp), _possibleConstructorReturn(_this, _ret);

};
}
}, {
key: 'componentDidMount',
value: function componentDidMount() {
this.props.onReady();

@@ -63,8 +68,4 @@ }

value: function play() {
var _this2 = this;
this.playTime = Date.now();
setTimeout(function () {
return _this2.props.onPlay();
}, 1);
this.props.onPlay();
}

@@ -74,9 +75,5 @@ }, {

value: function pause() {
var _this3 = this;
this.player.currentTime = this.getCurrentTime();
this.playTime = null;
setTimeout(function () {
return _this3.props.onPause();
}, 1);
this.props.onPause();
}

@@ -83,0 +80,0 @@ }, {

{
"name": "maestro-react-player",
"version": "1.0.0",
"version": "1.0.1",
"description": "A React component for playing a variety of URLs, including file paths, YouTube, Facebook, Twitch, SoundCloud, Streamable, Vimeo, Wistia and DailyMotion",

@@ -5,0 +5,0 @@ "main": "lib/ReactPlayer.js",

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc