function createElement(tag, allProps) {
  for (var _len = arguments.length, children = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
    children[_key - 2] = arguments[_key];
  }

  // todo - pull ids from className as well?
  if (allProps && allProps.css) {
    var css = allProps.css,
        className = allProps.className,
        props = _objectWithoutProperties(allProps, ['css', 'className']);

    var rule = Array.isArray(css) ? merge.apply(undefined, _toConsumableArray(css)) : isLikeRule(css) ? css : style(css);
    className = className ? className + ' ' + rule : rule;
    props.className = className;
    return React.createElement.apply(React, [tag, props].concat(children));
  }
  return React.createElement.apply(React, [tag, allProps].concat(children));
}
// allows for elements to have a 'css' prop
allows for elements to have a 'css' prop
allows for elements to have a ' css ' prop
function createElement(tag, allProps) {
  for (var _len = arguments.length, children = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
    children[_key - 2] = arguments[_key];
  }
  if (allProps && allProps.css) {
    var css = allProps.css,
        className = allProps.className,
        props = _objectWithoutProperties(allProps, ['css', 'className']);
    var rule = Array.isArray(css) ? merge.apply(undefined, _toConsumableArray(css)) : isLikeRule(css) ? css : style(css);
    className = className ? className + ' ' + rule : rule;
    props.className = className;
    return React.createElement.apply(React, [tag, props].concat(children));
  }
  return React.createElement.apply(React, [tag, allProps].concat(children));
}
function createElement ( tag , allProps ) { for ( var _len = arguments . length , children = Array ( _len > 2 ? _len - 2 : 0 ) , _key = 2 ; _key < _len ; _key ++ ) { children [ _key - 2 ] = arguments [ _key ] ; } if ( allProps && allProps . css ) { var css = allProps . css , className = allProps . className , props = _objectWithoutProperties ( allProps , [ 'css' , 'className' ] ) ; var rule = Array . isArray ( css ) ? merge . apply ( undefined , _toConsumableArray ( css ) ) : isLikeRule ( css ) ? css : style ( css ) ; className = className ? className + ' ' + rule : rule ; props . className = className ; return React . createElement . apply ( React , [ tag , props ] . concat ( children ) ) ; } return React . createElement . apply ( React , [ tag , allProps ] . concat ( children ) ) ; }
allows for elements to have a 'css' prop
allows for elements to have a ' css ' prop
// todo - pull ids from className as well?