@kirz/react-native-toolkit
Version:
Toolkit to speed up React Native development
54 lines (53 loc) • 2.05 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.RadialGradient = RadialGradient;
var _react = _interopRequireDefault(require("react"));
var _reactNative = require("react-native");
var _reactNativeSvg = require("react-native-svg");
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); }
function RadialGradient(_ref) {
let {
layout = {
width: _reactNative.Dimensions.get('screen').width,
height: _reactNative.Dimensions.get('screen').height
},
center,
radius,
colors,
style,
svgProps
} = _ref;
const colorsList = colors.map((color, colorIdx) => /*#__PURE__*/_react.default.createElement(_reactNativeSvg.Stop, {
key: colorIdx,
offset: color.offset,
stopColor: color.color,
stopOpacity: color.opacity
}));
return /*#__PURE__*/_react.default.createElement(_reactNativeSvg.Svg, _extends({}, svgProps, {
viewBox: `0 0 ${layout.width} ${layout.height}`,
fill: "none",
style: [{
width: layout.width,
height: layout.height
}, style]
}), /*#__PURE__*/_react.default.createElement(_reactNativeSvg.Rect, {
width: layout.width,
height: layout.height,
fill: "url(#radial_gradient_brush)",
fillOpacity: "1"
}), /*#__PURE__*/_react.default.createElement(_reactNativeSvg.Defs, null, /*#__PURE__*/_react.default.createElement(_reactNativeSvg.RadialGradient, _extends({
id: "radial_gradient_brush",
cx: center.x,
cy: center.y,
gradientUnits: "userSpaceOnUse"
}, typeof radius === 'number' ? {
r: radius
} : {
rx: radius.x,
ry: radius.y
}), colorsList)));
}
//# sourceMappingURL=RadialGradient.js.map