59 lines
No EOL
1.7 KiB
JavaScript
59 lines
No EOL
1.7 KiB
JavaScript
'use strict';
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
var _react = require('react');
|
|
|
|
var _react2 = _interopRequireDefault(_react);
|
|
|
|
var _propTypes = require('prop-types');
|
|
|
|
var _propTypes2 = _interopRequireDefault(_propTypes);
|
|
|
|
var _classnames = require('classnames');
|
|
|
|
var _classnames2 = _interopRequireDefault(_classnames);
|
|
|
|
var _utils = require('./utils');
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
|
|
var CarouselIndicators = function CarouselIndicators(props) {
|
|
var items = props.items,
|
|
activeIndex = props.activeIndex,
|
|
cssModule = props.cssModule,
|
|
onClickHandler = props.onClickHandler,
|
|
className = props.className;
|
|
|
|
|
|
var listClasses = (0, _utils.mapToCssModules)((0, _classnames2.default)(className, 'carousel-indicators', cssModule));
|
|
var indicators = items.map(function (item, idx) {
|
|
var indicatorClasses = (0, _utils.mapToCssModules)((0, _classnames2.default)({ active: activeIndex === idx }), cssModule);
|
|
return _react2.default.createElement('li', {
|
|
key: '' + (item.key || item.src) + item.caption + item.altText,
|
|
onClick: function onClick(e) {
|
|
e.preventDefault();
|
|
onClickHandler(idx);
|
|
},
|
|
className: indicatorClasses
|
|
});
|
|
});
|
|
|
|
return _react2.default.createElement(
|
|
'ol',
|
|
{ className: listClasses },
|
|
indicators
|
|
);
|
|
};
|
|
|
|
CarouselIndicators.propTypes = {
|
|
items: _propTypes2.default.array.isRequired,
|
|
activeIndex: _propTypes2.default.number.isRequired,
|
|
cssModule: _propTypes2.default.object,
|
|
onClickHandler: _propTypes2.default.func.isRequired,
|
|
className: _propTypes2.default.string
|
|
};
|
|
|
|
exports.default = CarouselIndicators; |