|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- 'use strict';
-
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
-
- var _defineProperty2 = require('babel-runtime/helpers/defineProperty');
-
- var _defineProperty3 = _interopRequireDefault(_defineProperty2);
-
- var _extends4 = require('babel-runtime/helpers/extends');
-
- var _extends5 = _interopRequireDefault(_extends4);
-
- 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 _warning = require('warning');
-
- var _warning2 = _interopRequireDefault(_warning);
-
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
- var calcPoints = function calcPoints(vertical, marks, dots, step, min, max) {
- (0, _warning2['default'])(dots ? step > 0 : true, '`Slider[step]` should be a positive number in order to make Slider[dots] work.');
- var points = Object.keys(marks).map(parseFloat).sort(function (a, b) {
- return a - b;
- });
- if (dots && step) {
- for (var i = min; i <= max; i += step) {
- if (points.indexOf(i) === -1) {
- points.push(i);
- }
- }
- }
- return points;
- };
-
- var Steps = function Steps(_ref) {
- var prefixCls = _ref.prefixCls,
- vertical = _ref.vertical,
- reverse = _ref.reverse,
- marks = _ref.marks,
- dots = _ref.dots,
- step = _ref.step,
- included = _ref.included,
- lowerBound = _ref.lowerBound,
- upperBound = _ref.upperBound,
- max = _ref.max,
- min = _ref.min,
- dotStyle = _ref.dotStyle,
- activeDotStyle = _ref.activeDotStyle;
-
- var range = max - min;
- var elements = calcPoints(vertical, marks, dots, step, min, max).map(function (point) {
- var _classNames;
-
- var offset = Math.abs(point - min) / range * 100 + '%';
-
- var isActived = !included && point === upperBound || included && point <= upperBound && point >= lowerBound;
- var style = vertical ? (0, _extends5['default'])({}, dotStyle, (0, _defineProperty3['default'])({}, reverse ? 'top' : 'bottom', offset)) : (0, _extends5['default'])({}, dotStyle, (0, _defineProperty3['default'])({}, reverse ? 'right' : 'left', offset));
- if (isActived) {
- style = (0, _extends5['default'])({}, style, activeDotStyle);
- }
-
- var pointClassName = (0, _classnames2['default'])((_classNames = {}, (0, _defineProperty3['default'])(_classNames, prefixCls + '-dot', true), (0, _defineProperty3['default'])(_classNames, prefixCls + '-dot-active', isActived), (0, _defineProperty3['default'])(_classNames, prefixCls + '-dot-reverse', reverse), _classNames));
-
- return _react2['default'].createElement('span', { className: pointClassName, style: style, key: point });
- });
-
- return _react2['default'].createElement(
- 'div',
- { className: prefixCls + '-step' },
- elements
- );
- };
-
- Steps.propTypes = {
- prefixCls: _propTypes2['default'].string,
- activeDotStyle: _propTypes2['default'].object,
- dotStyle: _propTypes2['default'].object,
- min: _propTypes2['default'].number,
- max: _propTypes2['default'].number,
- upperBound: _propTypes2['default'].number,
- lowerBound: _propTypes2['default'].number,
- included: _propTypes2['default'].bool,
- dots: _propTypes2['default'].bool,
- step: _propTypes2['default'].number,
- marks: _propTypes2['default'].object,
- vertical: _propTypes2['default'].bool,
- reverse: _propTypes2['default'].bool
- };
-
- exports['default'] = Steps;
- module.exports = exports['default'];
|