1{"version":3,"file":"NativeLinearGradient.android.js","sourceRoot":"","sources":["../src/NativeLinearGradient.android.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAWhD,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,KAAK,CAAC,SAAgB;IACtE,MAAM;QACJ,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAE1F,6FAA6F;QAC7F,sEAAsE;QACtE,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAClD,MAAM,YAAY,GAAG,SAAS,CAAC,YAAY,IAAI,CAAC,CAAC;QAEjD,2BAA2B;QAC3B,wJAAwJ;QACxJ,MAAM,oBAAoB,GAAG;YAC3B,SAAS,CAAC,mBAAmB,IAAI,YAAY;YAC7C,SAAS,CAAC,mBAAmB,IAAI,YAAY;YAC7C,SAAS,CAAC,oBAAoB,IAAI,YAAY;YAC9C,SAAS,CAAC,oBAAoB,IAAI,YAAY;YAC9C,SAAS,CAAC,uBAAuB,IAAI,YAAY;YACjD,SAAS,CAAC,uBAAuB,IAAI,YAAY;YACjD,SAAS,CAAC,sBAAsB,IAAI,YAAY;YAChD,SAAS,CAAC,sBAAsB,IAAI,YAAY;SACjD,CAAC;QAEF,OAAO,CACL,oBAAC,IAAI,oBAAK,KAAK,IAAE,KAAK,EAAE,KAAK;YAC3B,oBAAC,wBAAwB,IACvB,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EACrE,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,oBAAoB,GACjC;YACD,QAAQ,CACJ,CACR,CAAC;IACJ,CAAC;CACF;AAED,MAAM,wBAAwB,GAAG,wBAAwB,CAAC,oBAAoB,CAAC,CAAC","sourcesContent":["import { requireNativeViewManager } from '@unimodules/core';\nimport React from 'react';\nimport { StyleSheet, View } from 'react-native';\n\ntype Props = {\n  colors: number[];\n  locations?: number[] | null;\n  startPoint?: Point | null;\n  endPoint?: Point | null;\n} & React.ComponentProps<typeof View>;\n\ntype Point = [number, number];\n\nexport default class NativeLinearGradient extends React.Component<Props> {\n  render() {\n    const { colors, locations, startPoint, endPoint, children, style, ...props } = this.props;\n\n    // TODO: revisit whether we need to inherit the container's borderRadius since this issue has\n    // been resolved: https://github.com/facebook/react-native/issues/3198\n    const flatStyle = StyleSheet.flatten(style) || {};\n    const borderRadius = flatStyle.borderRadius || 0;\n\n    // This is the format from:\n    // https://developer.android.com/reference/android/graphics/Path.html#addRoundRect(android.graphics.RectF,%20float[],%20android.graphics.Path.Direction)\n    const borderRadiiPerCorner = [\n      flatStyle.borderTopLeftRadius || borderRadius,\n      flatStyle.borderTopLeftRadius || borderRadius,\n      flatStyle.borderTopRightRadius || borderRadius,\n      flatStyle.borderTopRightRadius || borderRadius,\n      flatStyle.borderBottomRightRadius || borderRadius,\n      flatStyle.borderBottomRightRadius || borderRadius,\n      flatStyle.borderBottomLeftRadius || borderRadius,\n      flatStyle.borderBottomLeftRadius || borderRadius,\n    ];\n\n    return (\n      <View {...props} style={style}>\n        <BaseNativeLinearGradient\n          style={{ position: 'absolute', top: 0, left: 0, bottom: 0, right: 0 }}\n          colors={colors}\n          startPoint={startPoint}\n          endPoint={endPoint}\n          locations={locations}\n          borderRadii={borderRadiiPerCorner}\n        />\n        {children}\n      </View>\n    );\n  }\n}\n\nconst BaseNativeLinearGradient = requireNativeViewManager('ExpoLinearGradient');\n"]}