UNPKG

@kirz/react-native-toolkit

Version:

Toolkit to speed up React Native development

94 lines (93 loc) 2.58 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.renderGradient = void 0; var _react = _interopRequireDefault(require("react")); var _reactNativeLinearGradient = _interopRequireDefault(require("react-native-linear-gradient")); var _RadialGradient = require("../components/RadialGradient"); 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 renderGradient = gradients => { return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, gradients.map((gradient, gradientIdx) => { if (typeof gradient === 'function') { const Component = gradient; return /*#__PURE__*/_react.default.createElement(Component, { key: gradientIdx }); } if ('type' in gradient && gradient.type === 'radial') { return /*#__PURE__*/_react.default.createElement(_RadialGradient.RadialGradient, _extends({ key: gradientIdx }, gradient, { style: { position: 'absolute', left: 0, top: 0 } })); } const { direction, ...props } = gradient; return /*#__PURE__*/_react.default.createElement(_reactNativeLinearGradient.default, _extends({ key: gradientIdx }, props, { style: [{ position: 'absolute', left: 0, right: 0, top: 0, bottom: 0 }, gradient.style] }, direction === 'left-right' ? { start: { x: 0, y: 0.5 }, end: { x: 1, y: 0.5 } } : direction === 'right-left' ? { start: { x: 1, y: 0.5 }, end: { x: 0, y: 0.5 } } : direction === 'up-bottom' ? { start: { x: 0.5, y: 0 }, end: { x: 0.5, y: 1 } } : direction === 'bottom-up' ? { start: { x: 0.5, y: 1 }, end: { x: 0.5, y: 0 } } : { start: props.start ?? { x: 0, y: 0.5 }, end: props.end ?? { x: 1, y: 0.5 } })); })); }; exports.renderGradient = renderGradient; //# sourceMappingURL=renderGradient.js.map