react-native-linear-gradient-text
Version:
Component to display text with linear gradient.
52 lines (51 loc) • 1.85 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.LinearGradientText = void 0;
var _react = _interopRequireDefault(require("react"));
var _reactNative = require("react-native");
var _maskedView = _interopRequireDefault(require("@react-native-masked-view/masked-view"));
var _reactNativeLinearGradient = _interopRequireDefault(require("react-native-linear-gradient"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _extends() { _extends = Object.assign ? Object.assign.bind() : 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; }; return _extends.apply(this, arguments); }
const LinearGradientText = props => {
const {
text,
textStyle = {},
textProps = {},
colors,
start = {
x: 0,
y: 1
},
end = {
x: 1,
y: 1
}
} = props;
return /*#__PURE__*/_react.default.createElement(_maskedView.default, {
maskElement: /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
style: [styles.maskText, textStyle],
testID: "mask-text"
}, text)
}, /*#__PURE__*/_react.default.createElement(_reactNativeLinearGradient.default, {
colors: colors,
start: start,
end: end,
testID: "gradient-element"
}, /*#__PURE__*/_react.default.createElement(_reactNative.Text, _extends({
style: [styles.text, textStyle],
testID: "gradient-text"
}, textProps), text)));
};
exports.LinearGradientText = LinearGradientText;
const styles = _reactNative.StyleSheet.create({
maskText: {
backgroundColor: 'transparent'
},
text: {
opacity: 0
}
});
//# sourceMappingURL=LinearGradientText.js.map