This repository has been archived on 2022-03-12. You can view files and clone it, but cannot push or open issues or pull requests.
reValuate/node_modules/expo-linear-gradient/build/NativeLinearGradient.android.js
2021-04-02 02:24:13 +03:00

26 lines
1.6 KiB
JavaScript

import { requireNativeViewManager } from '@unimodules/core';
import * as React from 'react';
import { StyleSheet, View } from 'react-native';
export default function NativeLinearGradient({ colors, locations, startPoint, endPoint, children, style, ...props }) {
// TODO: revisit whether we need to inherit the container's borderRadius since this issue has
// been resolved: https://github.com/facebook/react-native/issues/3198
const flatStyle = StyleSheet.flatten(style) ?? {};
const borderRadius = flatStyle.borderRadius ?? 0;
// This is the format from:
// https://developer.android.com/reference/android/graphics/Path.html#addRoundRect(android.graphics.RectF,%20float[],%20android.graphics.Path.Direction)
const borderRadiiPerCorner = [
flatStyle.borderTopLeftRadius ?? borderRadius,
flatStyle.borderTopLeftRadius ?? borderRadius,
flatStyle.borderTopRightRadius ?? borderRadius,
flatStyle.borderTopRightRadius ?? borderRadius,
flatStyle.borderBottomRightRadius ?? borderRadius,
flatStyle.borderBottomRightRadius ?? borderRadius,
flatStyle.borderBottomLeftRadius ?? borderRadius,
flatStyle.borderBottomLeftRadius ?? borderRadius,
];
return (React.createElement(View, Object.assign({}, props, { style: style }),
React.createElement(BaseNativeLinearGradient, { style: StyleSheet.absoluteFill, colors: colors, startPoint: startPoint, endPoint: endPoint, locations: locations, borderRadii: borderRadiiPerCorner }),
children));
}
const BaseNativeLinearGradient = requireNativeViewManager('ExpoLinearGradient');
//# sourceMappingURL=NativeLinearGradient.android.js.map