1 | import React from 'react';
|
2 | import PropTypes from 'prop-types';
|
3 | import classNames from 'classnames';
|
4 | import { mapToCssModules } from './utils';
|
5 |
|
6 | var 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 |
|
31 | CarouselIndicators.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 | };
|
38 | export default CarouselIndicators; |
\ | No newline at end of file |