67 lines
1.8 KiB
TypeScript
67 lines
1.8 KiB
TypeScript
import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
|
|
import type { ColorValue } from 'react-native';
|
|
import type {
|
|
Float,
|
|
Int32,
|
|
WithDefault,
|
|
} from 'react-native/Libraries/Types/CodegenTypes';
|
|
import type { ViewProps } from './utils';
|
|
|
|
import { UnsafeMixed } from './codegenUtils';
|
|
import { FontObject, NumberProp } from '../lib/extract/types';
|
|
|
|
interface SvgNodeCommonProps {
|
|
name?: string;
|
|
opacity?: WithDefault<Float, 1.0>;
|
|
matrix?: ReadonlyArray<Float>;
|
|
mask?: string;
|
|
markerStart?: string;
|
|
markerMid?: string;
|
|
markerEnd?: string;
|
|
clipPath?: string;
|
|
clipRule?: WithDefault<Int32, 0>;
|
|
responsible?: boolean;
|
|
display?: string;
|
|
pointerEvents?: string;
|
|
}
|
|
|
|
type ColorStruct = Readonly<{
|
|
type?: WithDefault<Int32, -1>;
|
|
payload?: ColorValue;
|
|
brushRef?: string;
|
|
}>;
|
|
|
|
interface SvgRenderableCommonProps {
|
|
color?: ColorValue;
|
|
fill?: UnsafeMixed<ColorValue | ColorStruct>;
|
|
fillOpacity?: WithDefault<Float, 1.0>;
|
|
fillRule?: WithDefault<Int32, 1>;
|
|
stroke?: UnsafeMixed<ColorValue | ColorStruct>;
|
|
strokeOpacity?: WithDefault<Float, 1.0>;
|
|
strokeWidth?: UnsafeMixed<NumberProp>;
|
|
strokeLinecap?: WithDefault<Int32, 0>;
|
|
strokeLinejoin?: WithDefault<Int32, 0>;
|
|
strokeDasharray?: UnsafeMixed<ReadonlyArray<NumberProp> | NumberProp>;
|
|
strokeDashoffset?: Float;
|
|
strokeMiterlimit?: Float;
|
|
vectorEffect?: WithDefault<Int32, 0>;
|
|
propList?: ReadonlyArray<string>;
|
|
filter?: string;
|
|
}
|
|
|
|
interface SvgGroupCommonProps {
|
|
fontSize?: UnsafeMixed<NumberProp>;
|
|
fontWeight?: UnsafeMixed<NumberProp>;
|
|
font?: UnsafeMixed<FontObject>;
|
|
}
|
|
|
|
interface NativeProps
|
|
extends ViewProps,
|
|
SvgNodeCommonProps,
|
|
SvgRenderableCommonProps,
|
|
SvgGroupCommonProps {}
|
|
|
|
export default codegenNativeComponent<NativeProps>('RNSVGClipPath', {
|
|
interfaceOnly: true,
|
|
});
|