Skip to content
3 changes: 0 additions & 3 deletions src/components/LinearGradient/index.js

This file was deleted.

3 changes: 0 additions & 3 deletions src/components/LinearGradient/index.native.js

This file was deleted.

6 changes: 6 additions & 0 deletions src/components/LinearGradient/index.native.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import LinearGradientNative from 'react-native-linear-gradient';
import LinearGradient from './types';

const LinearGradientImplementation: LinearGradient = LinearGradientNative;

export default LinearGradientImplementation;
6 changes: 6 additions & 0 deletions src/components/LinearGradient/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import LinearGradientWeb from 'react-native-web-linear-gradient';
import LinearGradient from './types';

const LinearGradientImplementation: LinearGradient = LinearGradientWeb;

export default LinearGradientImplementation;
6 changes: 6 additions & 0 deletions src/components/LinearGradient/types.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import LinearGradientWeb from 'react-native-web-linear-gradient';
import LinearGradientNative from 'react-native-linear-gradient';

type LinearGradient = typeof LinearGradientWeb | typeof LinearGradientNative;

export default LinearGradient;
18 changes: 18 additions & 0 deletions src/types/modules/react-native-web-linear-gradient.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
/* eslint-disable @typescript-eslint/no-empty-interface */
/* eslint-disable @typescript-eslint/consistent-type-definitions */
declare module 'react-native-web-linear-gradient' {
import type {ViewProps} from 'react-native';

interface LinearGradientProps extends ViewProps {
colors: string[];
start?: {x: number; y: number};
end?: {x: number; y: number};
locations?: number[];
useAngle?: boolean;
angle?: number;
}

class LinearGradient extends React.PureComponent<LinearGradientProps> {}

export default LinearGradient;
}