react-native-gradients
Version:
A simple gradient library for React Native.
37 lines • 1.04 kB
JavaScript
import React, { useMemo } from 'react';
import Svg, { Defs, LinearGradient as SVGLinearGradient, Rect, Stop } from 'react-native-svg';
import { getAnglePercentageObject } from './utils';
export const LinearGradient = _ref => {
let {
angle,
colorList
} = _ref;
const {
x1,
x2,
y1,
y2
} = useMemo(() => getAnglePercentageObject(angle), [angle]);
return /*#__PURE__*/React.createElement(Svg, {
height: "100%",
width: "100%"
}, /*#__PURE__*/React.createElement(Defs, null, /*#__PURE__*/React.createElement(SVGLinearGradient, {
id: "grad",
x1: `${x1}%`,
y1: `${y1}%`,
x2: `${x2}%`,
y2: `${y2}%`
}, colorList.map((value, index) => /*#__PURE__*/React.createElement(Stop, {
key: `LinerGradientItem_${index}`,
offset: value.offset,
stopColor: value.color,
stopOpacity: value.opacity
})))), /*#__PURE__*/React.createElement(Rect, {
x: "0",
y: "0",
width: "100%",
height: "100%",
fill: "url(#grad)"
}));
};
//# sourceMappingURL=LinearGradient.js.map