mini.css-inferno
Version:
Mini.css components built with Inferno.
37 lines (29 loc) • 1.6 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.NavigationBar = NavigationBar;
var _infernoCreateElement = require('inferno-create-element');
var _infernoCreateElement2 = _interopRequireDefault(_infernoCreateElement);
var _idGenerator = require('./util/idGenerator');
var _idGenerator2 = _interopRequireDefault(_idGenerator);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
// Module constants (change according to your flavor file)
var navigationSublinkPrefix = 'sublink';
// NavigationBar component.
function NavigationBar(props) {
var outProps = Object.assign({}, props);
var childrenToRender = [];
var temp = Array.isArray(outProps.children) ? outProps.children : [outProps.children];
temp.forEach(function (child) {
var navElement = Object.assign({}, child);
var navElementProps = Object.assign({}, navElement.props);
if (typeof navElementProps.sublink !== 'undefined') {
if (typeof navElementProps.className === 'undefined') navElementProps.className = navigationSublinkPrefix + '-' + navElementProps.sublink;else navElementProps.className += ' ' + navigationSublinkPrefix + '-' + navElementProps.sublink;
navElementProps.key = 'sublink_' + (0, _idGenerator2.default)();
delete navElementProps.sublink;
childrenToRender.push((0, _infernoCreateElement2.default)(navElement.type, navElementProps, navElementProps.children));
} else childrenToRender.push(navElement);
});
return (0, _infernoCreateElement2.default)('nav', outProps, childrenToRender);
}