UNPKG

@theoplayer/react-native-ui

Version:

A React Native UI for @theoplayer/react-native

122 lines (121 loc) 6.89 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.THEOplayerDefaultUi = THEOplayerDefaultUi; var _react = _interopRequireWildcard(require("react")); var _reactNativeTheoplayer = require("react-native-theoplayer"); var _SeekBar = require("./components/seekbar/SeekBar"); var _AirplayButton = require("./components/button/AirplayButton"); var _ControlBar = require("./components/controlbar/ControlBar"); var _TimeLabel = require("./components/timelabel/TimeLabel"); var _FullscreenButton = require("./components/button/FullscreenButton"); var _LanguageMenuButton = require("./components/menu/LanguageMenuButton"); var _MuteButton = require("./components/button/MuteButton"); var _CastMessage = require("./components/message/CastMessage"); var _THEOplayerTheme = require("./THEOplayerTheme"); var _reactNative = require("react-native"); var _UiContainer = require("./components/uicontroller/UiContainer"); var _PlayButton = require("./components/button/PlayButton"); var _SkipButton = require("./components/button/SkipButton"); var _Spacer = require("./components/controlbar/Spacer"); var _ChromecastButton = require("./components/button/ChromecastButton"); var _CenteredDelayedActivityIndicator = require("./components/activityindicator/CenteredDelayedActivityIndicator"); var _AdDisplay = require("./components/ads/AdDisplay"); var _AdCountdown = require("./components/ads/AdCountdown"); var _AdSkipButton = require("./components/ads/AdSkipButton"); var _AdClickThroughButton = require("./components/ads/AdClickThroughButton"); var _TestIDs = require("./utils/TestIDs"); var _jsxRuntime = require("react/jsx-runtime"); function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); } /** * A default UI layout which uses UI components from `react-native-theoplayer` to create a basic playback UI around a THEOplayerView. */ function THEOplayerDefaultUi(props) { const { theme, config, topSlot, bottomSlot, style, locale } = props; const [player, setPlayer] = (0, _react.useState)(undefined); const onPlayerReady = player => { setPlayer(player); props.onPlayerReady?.(player); }; return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, { style: style, children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, { style: [_UiContainer.FULLSCREEN_CENTER_STYLE, { backgroundColor: '#000000' }] }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeTheoplayer.THEOplayerView, { config: config, onPlayerReady: onPlayerReady, children: player !== undefined && /*#__PURE__*/(0, _jsxRuntime.jsx)(_UiContainer.UiContainer, { theme: { ..._THEOplayerTheme.DEFAULT_THEOPLAYER_THEME, ...theme }, locale: locale, player: player, behind: /*#__PURE__*/(0, _jsxRuntime.jsx)(_CenteredDelayedActivityIndicator.CenteredDelayedActivityIndicator, { size: 50 }), top: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ControlBar.ControlBar, { children: [topSlot, !_reactNative.Platform.isTV && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, { children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_AirplayButton.AirplayButton, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChromecastButton.ChromecastButton, {})] }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_LanguageMenuButton.LanguageMenuButton, {})] }), center: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ControlBar.CenteredControlBar, { left: /*#__PURE__*/(0, _jsxRuntime.jsx)(_SkipButton.SkipButton, { skip: -10, testID: _TestIDs.TestIDs.SKIP_BWD_BUTTON }), middle: /*#__PURE__*/(0, _jsxRuntime.jsx)(_PlayButton.PlayButton, {}), right: /*#__PURE__*/(0, _jsxRuntime.jsx)(_SkipButton.SkipButton, { skip: 30, testID: _TestIDs.TestIDs.SKIP_FWD_BUTTON }) }), bottom: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, { children: [!_reactNative.Platform.isTV && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ControlBar.ControlBar, { style: { justifyContent: 'flex-start' }, children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_CastMessage.CastMessage, {}) }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ControlBar.ControlBar, { children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_SeekBar.SeekBar, {}) }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ControlBar.ControlBar, { children: [!_reactNative.Platform.isTV && /*#__PURE__*/(0, _jsxRuntime.jsx)(_MuteButton.MuteButton, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_TimeLabel.TimeLabel, { showDuration: true }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Spacer.Spacer, {}), bottomSlot, !_reactNative.Platform.isTV && /*#__PURE__*/(0, _jsxRuntime.jsx)(_FullscreenButton.FullscreenButton, {})] })] }), adTop: /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, { children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ControlBar.ControlBar, { children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_AdClickThroughButton.AdClickThroughButton, {}) }) }), adCenter: /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, { children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ControlBar.CenteredControlBar, { middle: /*#__PURE__*/(0, _jsxRuntime.jsx)(_PlayButton.PlayButton, {}) }) }), adBottom: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, { children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_ControlBar.ControlBar, { style: { justifyContent: 'flex-start' }, children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_AdDisplay.AdDisplay, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_AdCountdown.AdCountdown, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Spacer.Spacer, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_AdSkipButton.AdSkipButton, {})] }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ControlBar.ControlBar, { children: [!_reactNative.Platform.isTV && /*#__PURE__*/(0, _jsxRuntime.jsx)(_MuteButton.MuteButton, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_SeekBar.SeekBar, {})] })] }) }) })] }); } //# sourceMappingURL=THEOplayerDefaultUi.js.map