UNPKG

@theoplayer/react-native-ui

Version:

A React Native UI for @theoplayer/react-native

34 lines (32 loc) 1.48 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ChromecastButton = ChromecastButton; exports.isConnected = isConnected; var _react = _interopRequireDefault(require("react")); var _reactNativeGoogleCast = require("react-native-google-cast"); var _PlayerContext = require("../util/PlayerContext"); var _ActionButton = require("./actionbutton/ActionButton"); var _useChromecast = require("../../hooks/useChromecast"); var _TestIDs = require("../../utils/TestIDs"); var _jsxRuntime = require("react/jsx-runtime"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } function isConnected(state) { return state === 'connecting' || state === 'connected'; } /** * The native button to enable Chromecast for the `react-native-theoplayer` UI. * This component uses the button from `react-native-google-cast` and is not supported on web. */ function ChromecastButton(props) { const castState = (0, _useChromecast.useChromecast)(); return /*#__PURE__*/(0, _jsxRuntime.jsx)(_PlayerContext.PlayerContext.Consumer, { children: context => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeGoogleCast.CastButton, { style: props.style ?? _ActionButton.DEFAULT_ACTION_BUTTON_STYLE, testID: props.testID ?? _TestIDs.TestIDs.CHROMECAST_BUTTON, tintColor: isConnected(castState) ? context.style.colors.iconSelected : context.style.colors.icon }) }); } //# sourceMappingURL=ChromecastButton.js.map