1 | import React from 'react';
|
2 | import { requireNativeComponent } from 'react-native';
|
3 | import extractProps, { propsAndStyles } from '../lib/extract/extractProps';
|
4 | import { extractFont } from '../lib/extract/extractText';
|
5 | import extractTransform from '../lib/extract/extractTransform';
|
6 | import { TransformProps } from '../lib/extract/types';
|
7 | import Shape from './Shape';
|
8 |
|
9 | export 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 |
|
39 | export const RNSVGGroup = requireNativeComponent('RNSVGGroup');
|