UNPKG

1.24 kBJavaScriptView Raw
1import React from 'react';
2import PropTypes from 'prop-types';
3import classNames from 'classnames';
4import { mapToCssModules } from './utils';
5
6var CarouselIndicators = function CarouselIndicators(props) {
7 var items = props.items,
8 activeIndex = props.activeIndex,
9 cssModule = props.cssModule,
10 onClickHandler = props.onClickHandler,
11 className = props.className;
12 var listClasses = mapToCssModules(classNames(className, 'carousel-indicators'), cssModule);
13 var indicators = items.map(function (item, idx) {
14 var indicatorClasses = mapToCssModules(classNames({
15 active: activeIndex === idx
16 }), cssModule);
17 return React.createElement("li", {
18 key: "" + (item.key || Object.values(item).join('')),
19 onClick: function onClick(e) {
20 e.preventDefault();
21 onClickHandler(idx);
22 },
23 className: indicatorClasses
24 });
25 });
26 return React.createElement("ol", {
27 className: listClasses
28 }, indicators);
29};
30
31CarouselIndicators.propTypes = {
32 items: PropTypes.array.isRequired,
33 activeIndex: PropTypes.number.isRequired,
34 cssModule: PropTypes.object,
35 onClickHandler: PropTypes.func.isRequired,
36 className: PropTypes.string
37};
38export default CarouselIndicators;
\No newline at end of file