import _extends from "@babel/runtime/helpers/esm/extends"; import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose"; import React from 'react'; import PropTypes from 'prop-types'; import classNames from 'classnames'; import { mapToCssModules, tagPropType } from './utils'; var propTypes = { light: PropTypes.bool, dark: PropTypes.bool, full: PropTypes.bool, fixed: PropTypes.string, sticky: PropTypes.string, color: PropTypes.string, role: PropTypes.string, tag: tagPropType, className: PropTypes.string, cssModule: PropTypes.object, expand: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]) }; var defaultProps = { tag: 'nav', expand: false }; var getExpandClass = function getExpandClass(expand) { if (expand === false) { return false; } else if (expand === true || expand === 'xs') { return 'navbar-expand'; } return "navbar-expand-" + expand; }; var Navbar = function Navbar(props) { var _classNames; var expand = props.expand, className = props.className, cssModule = props.cssModule, light = props.light, dark = props.dark, fixed = props.fixed, sticky = props.sticky, color = props.color, Tag = props.tag, attributes = _objectWithoutPropertiesLoose(props, ["expand", "className", "cssModule", "light", "dark", "fixed", "sticky", "color", "tag"]); var classes = mapToCssModules(classNames(className, 'navbar', getExpandClass(expand), (_classNames = { 'navbar-light': light, 'navbar-dark': dark }, _classNames["bg-" + color] = color, _classNames["fixed-" + fixed] = fixed, _classNames["sticky-" + sticky] = sticky, _classNames)), cssModule); return React.createElement(Tag, _extends({}, attributes, { className: classes })); }; Navbar.propTypes = propTypes; Navbar.defaultProps = defaultProps; export default Navbar;