@@ -5,30 +5,16 @@ import isIterable from './isIterable';
5
5
import parseStyleName from './parseStyleName' ;
6
6
import generateAppendClassName from './generateAppendClassName' ;
7
7
8
- let linkClass ;
8
+ let linkElement ;
9
9
10
- /**
11
- * @param {ReactElement } element
12
- * @param {Object } styles CSS modules class map.
13
- * @param {CSSModules~Options } userConfiguration
14
- * @returns {ReactElement }
15
- */
16
- linkClass = ( element , styles = { } , userConfiguration ) => {
10
+ linkElement = ( element , styles , configuration ) => {
17
11
let appendClassName ,
18
12
children ,
19
13
clonedElement ,
20
- configuration ,
21
14
newChildren ,
22
15
newProps ,
23
16
styleNames ;
24
17
25
- // @see https://github.com/gajus/react-css-modules/pull/30
26
- if ( ! _ . isObject ( element ) ) {
27
- return element ;
28
- }
29
-
30
- configuration = makeConfiguration ( userConfiguration ) ;
31
-
32
18
styleNames = parseStyleName ( element . props . styleName || '' , configuration . allowMultiple ) ;
33
19
34
20
if ( styleNames . length ) {
@@ -44,11 +30,11 @@ linkClass = (element, styles = {}, userConfiguration) => {
44
30
children = element . props . children ;
45
31
46
32
if ( React . isValidElement ( children ) ) {
47
- newChildren = linkClass ( React . Children . only ( children ) , styles , configuration ) ;
33
+ newChildren = linkElement ( React . Children . only ( children ) , styles , configuration ) ;
48
34
} else if ( _ . isArray ( children ) || isIterable ( children ) ) {
49
35
newChildren = React . Children . map ( children , ( node ) => {
50
36
if ( React . isValidElement ( node ) ) {
51
- return linkClass ( node , styles , configuration ) ;
37
+ return linkElement ( node , styles , configuration ) ;
52
38
} else {
53
39
return node ;
54
40
}
@@ -80,4 +66,21 @@ linkClass = (element, styles = {}, userConfiguration) => {
80
66
return clonedElement ;
81
67
} ;
82
68
83
- export default linkClass ;
69
+ /**
70
+ * @param {ReactElement } element
71
+ * @param {Object } styles CSS modules class map.
72
+ * @param {CSSModules~Options } userConfiguration
73
+ * @returns {ReactElement }
74
+ */
75
+ export default ( element , styles = { } , userConfiguration ) => {
76
+ let configuration ;
77
+
78
+ // @see https://github.com/gajus/react-css-modules/pull/30
79
+ if ( ! _ . isObject ( element ) ) {
80
+ return element ;
81
+ }
82
+
83
+ configuration = makeConfiguration ( userConfiguration ) ;
84
+
85
+ return linkElement ( element , styles , configuration ) ;
86
+ } ;
0 commit comments