UNPKG

tuya-panel-kit

Version:

a functional component library for developing tuya device panels!

98 lines (78 loc) 2.45 kB
Object.defineProperty(exports, "__esModule", { value: true }); var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; var _jsxFileName = 'src/components/tabs/tab-mask.js'; var _propTypes = require('prop-types'); var _propTypes2 = _interopRequireDefault(_propTypes); var _color = require('color'); var _color2 = _interopRequireDefault(_color); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _reactNative = require('react-native'); var _reactNativeSvg = require('react-native-svg'); var _linearGradient = require('../gradient/linear-gradient'); var _linearGradient2 = _interopRequireDefault(_linearGradient); var _constant = require('./constant'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var Mask = function Mask(_ref) { var visible = _ref.visible, color = _ref.color; if (!visible || color === 'transparent') { return null; } var c1 = (0, _color2.default)(color).alpha(0).rgbString(); var c2 = (0, _color2.default)(color).alpha(0.8).rgbString(); var c3 = (0, _color2.default)(color).alpha(1).rgbString(); return _react2.default.createElement( _reactNative.View, { style: styles.container, __source: { fileName: _jsxFileName, lineNumber: 24 } }, _react2.default.createElement( _linearGradient2.default, { style: _constant.MASK_SIZE, x1: '0%', y1: '50%', x2: '100%', y2: '50%', stops: { '0%': c1, '40%': c2, '100%': c3 }, __source: { fileName: _jsxFileName, lineNumber: 25 } }, _react2.default.createElement(_reactNativeSvg.Rect, _extends({}, _constant.MASK_SIZE, { __source: { fileName: _jsxFileName, lineNumber: 37 } })) ) ); }; Mask.propTypes = { visible: _propTypes2.default.bool, color: _reactNative.ColorPropType }; Mask.defaultProps = { visible: true, color: '#fff' }; var styles = _reactNative.StyleSheet.create({ container: { position: 'absolute', width: _constant.MASK_SIZE.width, right: 0, top: 0, bottom: 0 } }); exports.default = Mask;