@sendbird/uikit-react-native-foundation
Version:
A foundational UI kit for building chat-enabled React Native apps.
43 lines (42 loc) • 1.51 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.HeaderStyleProvider = exports.HeaderStyleContext = void 0;
var _react = _interopRequireDefault(require("react"));
var _reactNative = require("react-native");
var _reactNativeSafeAreaContext = require("react-native-safe-area-context");
var _getDefaultHeaderHeight = _interopRequireDefault(require("./getDefaultHeaderHeight"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
const HeaderStyleContext = exports.HeaderStyleContext = /*#__PURE__*/_react.default.createContext({
HeaderComponent: () => null,
defaultTitleAlign: 'left',
statusBarTranslucent: true,
topInset: _reactNative.StatusBar.currentHeight ?? 0,
defaultHeight: (0, _getDefaultHeaderHeight.default)(false)
});
const HeaderStyleProvider = ({
children,
HeaderComponent = () => null,
defaultTitleAlign,
statusBarTranslucent
}) => {
const {
top
} = (0, _reactNativeSafeAreaContext.useSafeAreaInsets)();
const {
width,
height
} = (0, _reactNative.useWindowDimensions)();
return /*#__PURE__*/_react.default.createElement(HeaderStyleContext.Provider, {
value: {
HeaderComponent,
defaultTitleAlign,
statusBarTranslucent,
topInset: statusBarTranslucent ? top : 0,
defaultHeight: (0, _getDefaultHeaderHeight.default)(width > height)
}
}, children);
};
exports.HeaderStyleProvider = HeaderStyleProvider;
//# sourceMappingURL=HeaderStyleContext.js.map