UNPKG

1.05 kBTypeScriptView Raw
1import React from 'react';
2import { requireNativeComponent } from 'react-native';
3import extractProps, { propsAndStyles } from '../lib/extract/extractProps';
4import { extractFont } from '../lib/extract/extractText';
5import extractTransform from '../lib/extract/extractTransform';
6import { TransformProps } from '../lib/extract/types';
7import Shape from './Shape';
8
9export default class G<P> extends Shape<P> {
10 static displayName = 'G';
11
12 setNativeProps = (
13 props: Object & {
14 matrix?: number[];
15 } & TransformProps,
16 ) => {
17 const matrix = !props.matrix && extractTransform(props);
18 if (matrix) {
19 props.matrix = matrix;
20 }
21 this.root && this.root.setNativeProps(props);
22 };
23
24 render() {
25 const { props } = this;
26 const prop = propsAndStyles(props);
27 return (
28 <RNSVGGroup
29 ref={this.refMethod}
30 {...extractProps(prop, this)}
31 font={extractFont(prop)}
32 >
33 {props.children}
34 </RNSVGGroup>
35 );
36 }
37}
38
39export const RNSVGGroup = requireNativeComponent('RNSVGGroup');