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.

Breadcrumb.js 1.9 KiB

3 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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. tag: _utils.tagPropType,
  13. listTag: _utils.tagPropType,
  14. className: _propTypes.default.string,
  15. listClassName: _propTypes.default.string,
  16. cssModule: _propTypes.default.object,
  17. children: _propTypes.default.node,
  18. 'aria-label': _propTypes.default.string
  19. };
  20. var defaultProps = {
  21. tag: 'nav',
  22. listTag: 'ol',
  23. 'aria-label': 'breadcrumb'
  24. };
  25. var Breadcrumb = function Breadcrumb(props) {
  26. var className = props.className,
  27. listClassName = props.listClassName,
  28. cssModule = props.cssModule,
  29. children = props.children,
  30. Tag = props.tag,
  31. ListTag = props.listTag,
  32. label = props['aria-label'],
  33. attributes = (0, _objectWithoutPropertiesLoose2.default)(props, ["className", "listClassName", "cssModule", "children", "tag", "listTag", "aria-label"]);
  34. var classes = (0, _utils.mapToCssModules)((0, _classnames.default)(className), cssModule);
  35. var listClasses = (0, _utils.mapToCssModules)((0, _classnames.default)('breadcrumb', listClassName), cssModule);
  36. return _react.default.createElement(Tag, (0, _extends2.default)({}, attributes, {
  37. className: classes,
  38. "aria-label": label
  39. }), _react.default.createElement(ListTag, {
  40. className: listClasses
  41. }, children));
  42. };
  43. Breadcrumb.propTypes = propTypes;
  44. Breadcrumb.defaultProps = defaultProps;
  45. var _default = Breadcrumb;
  46. exports.default = _default;