innovationDriveApp/node_modules/reactstrap/lib/CarouselIndicators.js
2018-07-08 19:21:40 +10:00

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;