File tree Expand file tree Collapse file tree 3 files changed +27
-7
lines changed Expand file tree Collapse file tree 3 files changed +27
-7
lines changed Original file line number Diff line number Diff line change 1
1
import linkClass from './linkClass' ;
2
2
3
3
/**
4
- * @param {ReactClass } Target
5
- * @param {Object } styles {localClassName: 'generatedClassName'}
4
+ * @param {ReactClass } Component
5
+ * @param {Object } styles CSS modules class map.
6
+ * @param {Object } options {@link https://github.com/gajus/react-css-modules#options }
6
7
* @return {ReactClass }
7
8
*/
8
- export default ( Target , styles ) => {
9
- return class extends Target {
9
+ export default ( Component , styles , options = { } ) => {
10
+ return class extends Component {
10
11
render ( ) {
11
- return linkClass ( super . render ( ) , styles ) ;
12
+ if ( options . allowMultiple !== false ) {
13
+ options . allowMultiple = true ;
14
+ }
15
+
16
+ if ( options . includeOriginal !== false ) {
17
+ options . includeOriginal = true ;
18
+ }
19
+
20
+ return linkClass ( super . render ( ) , styles , options ) ;
12
21
}
13
22
}
14
23
} ;
Original file line number Diff line number Diff line change @@ -4,10 +4,11 @@ let linkClass;
4
4
5
5
/**
6
6
* @param {ReactElement } element
7
- * @param {Object } styles
7
+ * @param {Object } styles CSS modules class map.
8
+ * @param {Object } options {@link https://github.com/gajus/react-css-modules#options }
8
9
* @return {ReactElement }
9
10
*/
10
- linkClass = ( element , styles = { } ) => {
11
+ linkClass = ( element , styles = { } , options = { } ) => {
11
12
let newProps ,
12
13
newClassName ,
13
14
newChildren ,
Original file line number Diff line number Diff line change @@ -125,4 +125,14 @@ describe('linkClass', () => {
125
125
expect ( nodeList . firstChild . className ) . to . equal ( 'foo' ) ;
126
126
} ) ;
127
127
} ) ;
128
+
129
+ describe ( 'when options.allowMultiple is false' , ( ) => {
130
+ describe ( 'when it finds multiple CSS class names in a className' , ( ) => {
131
+ it ( 'throws an error' , ( ) => {
132
+ expect ( ( ) => {
133
+ linkClass ( < div className = 'foo bar' > </ div > , { } , { allowMultiple : false } ) ;
134
+ } ) . to . throw ( Error ) ;
135
+ } ) ;
136
+ } ) ;
137
+ } ) ;
128
138
} ) ;
You can’t perform that action at this time.
0 commit comments