@theoplayer/react-native-ui
Version:
A React Native UI for @theoplayer/react-native
122 lines (121 loc) • 6.89 kB
JavaScript
;
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