UNPKG

575 BJavaScriptView Raw
1/**
2 * React Blessed Classes Solving
3 * ==============================
4 *
5 * Solving a component's classes to apply correct props to an element.
6 */
7import {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 */
15export 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}