UNPKG

react-native-svg

Version:
74 lines (66 loc) 1.95 kB
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 type { 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 { minX?: Float; minY?: Float; vbWidth?: Float; vbHeight?: Float; align?: string; meetOrSlice?: Int32; } export default codegenNativeComponent<NativeProps>('RNSVGSymbol', { interfaceOnly: true, });