-
Notifications
You must be signed in to change notification settings - Fork 4.7k
Expand file tree
/
Copy pathindex.native.js
More file actions
37 lines (31 loc) · 860 Bytes
/
index.native.js
File metadata and controls
37 lines (31 loc) · 860 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
/**
* External dependencies
*/
import { Svg } from 'react-native-svg';
/**
* Internal dependencies
*/
import styles from './style.scss';
export {
Circle,
G,
Path,
Polygon,
Rect,
} from 'react-native-svg';
export const SVG = ( props ) => {
const colorScheme = props.colorScheme || 'light';
const stylesFromClasses = ( props.className || '' ).split( ' ' ).map( ( element ) => styles[ element ] ).filter( Boolean );
const defaultStyle = props.active ? styles[ 'is-active' ] : styles[ 'components-toolbar__control-' + colorScheme ];
const styleValues = Object.assign( {}, props.style, defaultStyle, ...stylesFromClasses );
const safeProps = { ...props, style: styleValues };
return (
<Svg
//We want to re-render when style color is changed
key={ safeProps.style.color }
height="100%"
width="100%"
{ ...safeProps }
/>
);
};