UNPKG

@devvie/bottom-sheet

Version:

The 😎smart , 📦tiny , and 🎗flexible bottom sheet your app craves 🚀

56 lines (55 loc) • 1.98 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = _interopRequireDefault(require("react")); var _reactNative = require("react-native"); var _animatedTouchableBackdropMask = _interopRequireDefault(require("../animatedTouchableBackdropMask")); var _types = require("../../types.d"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * Abstracted, polymorphic backdrop that handles custom and default backdrop */ const Backdrop = _ref => { let { BackdropComponent, backdropPosition = _types.CUSTOM_BACKDROP_POSITIONS.BEHIND, sheetOpen, containerHeight, contentContainerHeight, _animatedHeight, closeOnPress, rippleColor, pressHandler, animatedBackdropOpacity, backdropColor } = _ref; const heightStyle = sheetOpen ? containerHeight - contentContainerHeight : 0; return BackdropComponent ? /*#__PURE__*/_react.default.createElement(_reactNative.View, { style: backdropPosition === _types.CUSTOM_BACKDROP_POSITIONS.BEHIND ? _reactNative.StyleSheet.absoluteFillObject : { height: heightStyle } }, /*#__PURE__*/_react.default.createElement(BackdropComponent, { _animatedHeight: _animatedHeight })) : closeOnPress ? /*#__PURE__*/_react.default.createElement(_animatedTouchableBackdropMask.default, { isPressable: true, android_touchRippleColor: rippleColor, pressHandler: pressHandler, style: { opacity: animatedBackdropOpacity, backgroundColor: backdropColor }, touchSoundDisabled: true, key: 'TouchableBackdropMask' }) : /*#__PURE__*/_react.default.createElement(_animatedTouchableBackdropMask.default, { isPressable: false, style: { opacity: animatedBackdropOpacity, backgroundColor: backdropColor }, key: 'TouchableBackdropMask' }); }; var _default = exports.default = Backdrop; //# sourceMappingURL=index.js.map