Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
 
 
 
 

49 righe
1.6 KiB

  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. exports.__esModule = true;
  4. exports.default = void 0;
  5. var _react = _interopRequireDefault(require("react"));
  6. var _propTypes = _interopRequireDefault(require("prop-types"));
  7. var _classnames = _interopRequireDefault(require("classnames"));
  8. var _utils = require("./utils");
  9. var CarouselIndicators = function CarouselIndicators(props) {
  10. var items = props.items,
  11. activeIndex = props.activeIndex,
  12. cssModule = props.cssModule,
  13. onClickHandler = props.onClickHandler,
  14. className = props.className;
  15. var listClasses = (0, _utils.mapToCssModules)((0, _classnames.default)(className, 'carousel-indicators'), cssModule);
  16. var indicators = items.map(function (item, idx) {
  17. var indicatorClasses = (0, _utils.mapToCssModules)((0, _classnames.default)({
  18. active: activeIndex === idx
  19. }), cssModule);
  20. return _react.default.createElement("li", {
  21. key: "" + (item.key || Object.values(item).join('')),
  22. onClick: function onClick(e) {
  23. e.preventDefault();
  24. onClickHandler(idx);
  25. },
  26. className: indicatorClasses
  27. });
  28. });
  29. return _react.default.createElement("ol", {
  30. className: listClasses
  31. }, indicators);
  32. };
  33. CarouselIndicators.propTypes = {
  34. items: _propTypes.default.array.isRequired,
  35. activeIndex: _propTypes.default.number.isRequired,
  36. cssModule: _propTypes.default.object,
  37. onClickHandler: _propTypes.default.func.isRequired,
  38. className: _propTypes.default.string
  39. };
  40. var _default = CarouselIndicators;
  41. exports.default = _default;