1 | /**
|
2 | * React Blessed Classes Solving
|
3 | * ==============================
|
4 | *
|
5 | * Solving a component's classes to apply correct props to an element.
|
6 | */
|
7 | import {merge, compact} from 'lodash';
|
8 |
|
9 | /**
|
10 | * Solves the given props by applying classes.
|
11 | *
|
12 | * @param {object} props - The component's props.
|
13 | * @return {object} - The solved props.
|
14 | */
|
15 | export default function solveClass(props) {
|
16 | let {class: classes, ...rest} = props;
|
17 |
|
18 | // Coercing to array & compacting
|
19 | classes = compact([].concat(classes));
|
20 |
|
21 | return merge.apply(null, [{}].concat(classes).concat(rest));
|
22 | }
|