You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

пре 3 година
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. exports.__esModule = true;
  4. exports.default = void 0;
  5. var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
  6. var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
  7. var _react = _interopRequireDefault(require("react"));
  8. var _propTypes = _interopRequireDefault(require("prop-types"));
  9. var _classnames = _interopRequireDefault(require("classnames"));
  10. var _utils = require("./utils");
  11. var propTypes = {
  12. tabs: _propTypes.default.bool,
  13. pills: _propTypes.default.bool,
  14. vertical: _propTypes.default.oneOfType([_propTypes.default.bool, _propTypes.default.string]),
  15. horizontal: _propTypes.default.string,
  16. justified: _propTypes.default.bool,
  17. fill: _propTypes.default.bool,
  18. navbar: _propTypes.default.bool,
  19. card: _propTypes.default.bool,
  20. tag: _utils.tagPropType,
  21. className: _propTypes.default.string,
  22. cssModule: _propTypes.default.object
  23. };
  24. var defaultProps = {
  25. tag: 'ul',
  26. vertical: false
  27. };
  28. var getVerticalClass = function getVerticalClass(vertical) {
  29. if (vertical === false) {
  30. return false;
  31. } else if (vertical === true || vertical === 'xs') {
  32. return 'flex-column';
  33. }
  34. return "flex-" + vertical + "-column";
  35. };
  36. var Nav = function Nav(props) {
  37. var className = props.className,
  38. cssModule = props.cssModule,
  39. tabs = props.tabs,
  40. pills = props.pills,
  41. vertical = props.vertical,
  42. horizontal = props.horizontal,
  43. justified = props.justified,
  44. fill = props.fill,
  45. navbar = props.navbar,
  46. card = props.card,
  47. Tag = props.tag,
  48. attributes = (0, _objectWithoutPropertiesLoose2.default)(props, ["className", "cssModule", "tabs", "pills", "vertical", "horizontal", "justified", "fill", "navbar", "card", "tag"]);
  49. var classes = (0, _utils.mapToCssModules)((0, _classnames.default)(className, navbar ? 'navbar-nav' : 'nav', horizontal ? "justify-content-" + horizontal : false, getVerticalClass(vertical), {
  50. 'nav-tabs': tabs,
  51. 'card-header-tabs': card && tabs,
  52. 'nav-pills': pills,
  53. 'card-header-pills': card && pills,
  54. 'nav-justified': justified,
  55. 'nav-fill': fill
  56. }), cssModule);
  57. return _react.default.createElement(Tag, (0, _extends2.default)({}, attributes, {
  58. className: classes
  59. }));
  60. };
  61. Nav.propTypes = propTypes;
  62. Nav.defaultProps = defaultProps;
  63. var _default = Nav;
  64. exports.default = _default;