on 36b05fc help sign in
bridge/src/components/ReactSVGComponents.js
63 lines 1.5 kB history raw
1import React from 'react'
2import { get, map } from 'lodash'
4const ReactSVGComponents = {
5 svg: p => {
6 return (
7 <svg {...p.attr} version={'1.1'} xmlns={'http://www.w3.org/2000/svg'}>
8 { map(get(p, 'children', []), child => ReactSVGComponents[child.tag](child)) }
9 </svg>
10 )
11 },
12 circle: p => {
13 return (
14 <circle {...p.attr}>
15 { map(get(p, 'children', []), child => ReactSVGComponents[child.tag](child)) }
16 </circle>
17 )
18 },
19 rect: p => {
20 return (
21 <rect {...p.attr}>
22 { map(get(p, 'children', []), child => ReactSVGComponents[child.tag](child)) }
23 </rect>
24 )
25 },
26 path: p => {
27 return (
28 <path {...p.attr}>
29 { map(get(p, 'children', []), child => ReactSVGComponents[child.tag](child)) }
30 </path>
31 )
32 },
33 g: p => {
34 return (
35 <g {...p.attr}>
36 { map(get(p, 'children', []), child => ReactSVGComponents[child.tag](child)) }
37 </g>
38 )
39 },
40 polygon: p => {
41 return (
42 <polygon {...p.attr}>
43 { map(get(p, 'children', []), child => ReactSVGComponents[child.tag](child)) }
44 </polygon>
45 )
46 },
47 line: p => {
48 return (
49 <line {...p.attr}>
50 { map(get(p, 'children', []), child => ReactSVGComponents[child.tag](child)) }
51 </line>
52 )
53 },
54 polyline: p => {
55 return (
56 <polyline {...p.attr}>
57 { map(get(p, 'children', []), child => ReactSVGComponents[child.tag](child)) }
58 </polyline>
59 )
60 }
63export default ReactSVGComponents