UNPKG

react-player

Version:

A React component for playing a variety of URLs, including file paths, YouTube, Facebook, Twitch, SoundCloud, Streamable, Vimeo, Wistia and DailyMotion

231 lines (225 loc) 4.92 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.defaultProps = exports.propTypes = void 0; var _propTypes = _interopRequireDefault(require("prop-types")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } var string = _propTypes["default"].string, bool = _propTypes["default"].bool, number = _propTypes["default"].number, array = _propTypes["default"].array, oneOfType = _propTypes["default"].oneOfType, shape = _propTypes["default"].shape, object = _propTypes["default"].object, func = _propTypes["default"].func, node = _propTypes["default"].node; var propTypes = { url: oneOfType([string, array, object]), playing: bool, loop: bool, controls: bool, volume: number, muted: bool, playbackRate: number, width: oneOfType([string, number]), height: oneOfType([string, number]), style: object, progressInterval: number, playsinline: bool, pip: bool, stopOnUnmount: bool, light: oneOfType([bool, string, object]), playIcon: node, previewTabIndex: number, fallback: node, oEmbedUrl: string, wrapper: oneOfType([string, func, shape({ render: func.isRequired })]), config: shape({ soundcloud: shape({ options: object }), youtube: shape({ playerVars: object, embedOptions: object, onUnstarted: func }), facebook: shape({ appId: string, version: string, playerId: string, attributes: object }), dailymotion: shape({ params: object }), vimeo: shape({ playerOptions: object, title: string }), file: shape({ attributes: object, tracks: array, forceVideo: bool, forceAudio: bool, forceHLS: bool, forceSafariHLS: bool, forceDisableHls: bool, forceDASH: bool, forceFLV: bool, hlsOptions: object, hlsVersion: string, dashVersion: string, flvVersion: string }), wistia: shape({ options: object, playerId: string, customControls: array }), mixcloud: shape({ options: object }), twitch: shape({ options: object, playerId: string }), vidyard: shape({ options: object }) }), onReady: func, onStart: func, onPlay: func, onPause: func, onBuffer: func, onBufferEnd: func, onEnded: func, onError: func, onDuration: func, onSeek: func, onPlaybackRateChange: func, onPlaybackQualityChange: func, onProgress: func, onClickPreview: func, onEnablePIP: func, onDisablePIP: func }; exports.propTypes = propTypes; var noop = function noop() {}; var defaultProps = { playing: false, loop: false, controls: false, volume: null, muted: false, playbackRate: 1, width: '640px', height: '360px', style: {}, progressInterval: 1000, playsinline: false, pip: false, stopOnUnmount: true, light: false, fallback: null, wrapper: 'div', previewTabIndex: 0, oEmbedUrl: 'https://noembed.com/embed?url={url}', config: { soundcloud: { options: { visual: true, // Undocumented, but makes player fill container and look better buying: false, liking: false, download: false, sharing: false, show_comments: false, show_playcount: false } }, youtube: { playerVars: { playsinline: 1, showinfo: 0, rel: 0, iv_load_policy: 3, modestbranding: 1 }, embedOptions: {}, onUnstarted: noop }, facebook: { appId: '1309697205772819', version: 'v3.3', playerId: null, attributes: {} }, dailymotion: { params: { api: 1, 'endscreen-enable': false } }, vimeo: { playerOptions: { autopause: false, byline: false, portrait: false, title: false }, title: null }, file: { attributes: {}, tracks: [], forceVideo: false, forceAudio: false, forceHLS: false, forceDASH: false, forceFLV: false, hlsOptions: {}, hlsVersion: '1.1.4', dashVersion: '3.1.3', flvVersion: '1.5.0', forceDisableHls: false }, wistia: { options: {}, playerId: null, customControls: null }, mixcloud: { options: { hide_cover: 1 } }, twitch: { options: {}, playerId: null }, vidyard: { options: {} } }, onReady: noop, onStart: noop, onPlay: noop, onPause: noop, onBuffer: noop, onBufferEnd: noop, onEnded: noop, onError: noop, onDuration: noop, onSeek: noop, onPlaybackRateChange: noop, onPlaybackQualityChange: noop, onProgress: noop, onClickPreview: noop, onEnablePIP: noop, onDisablePIP: noop }; exports.defaultProps = defaultProps;