UNPKG

2.92 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6
7var _extends2 = require('babel-runtime/helpers/extends');
8
9var _extends3 = _interopRequireDefault(_extends2);
10
11var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
12
13var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
14
15var _react = require('react');
16
17var _react2 = _interopRequireDefault(_react);
18
19var _helperFunctions = require('./helperFunctions');
20
21var _StyledModal = require('./StyledModal');
22
23function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
25var Step = function Step(_ref) {
26 var nativeOnClick = _ref.onClick,
27 _ref$isDisabled = _ref.isDisabled,
28 isDisabled = _ref$isDisabled === undefined ? false : _ref$isDisabled,
29 isActive = _ref.isActive,
30 isComplete = _ref.isComplete,
31 renderStep = _ref.renderStep,
32 flexDirectionThreshold = _ref.flexDirectionThreshold,
33 isLast = _ref.isLast;
34
35 var getClassName = function getClassName() {
36 return (0, _helperFunctions.flippyTailClass)('step__container', [isActive, 'active', 'inactive'], [isLast, 'last', 'notlast'], [isDisabled, 'disabled', 'enabled']);
37 };
38 var getStepProps = function getStepProps() {
39 var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
40
41 var className = _ref2.className,
42 style = _ref2.style,
43 _onClick = _ref2.onClick,
44 props = (0, _objectWithoutProperties3.default)(_ref2, ['className', 'style', 'onClick']);
45 return (0, _extends3.default)({
46 style: style,
47 className: className ? getClassName() + ' ' + className : getClassName(),
48 onClick: function onClick(e) {
49 for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
50 args[_key - 1] = arguments[_key];
51 }
52
53 e.stopPropagation();
54 e.nativeEvent.stopImmediatePropagation();
55 !isDisabled && nativeOnClick && nativeOnClick();
56 !isDisabled && _onClick && _onClick.apply(undefined, [e].concat(args));
57 },
58 flexDirectionThreshold: flexDirectionThreshold,
59 isOn: isActive
60 }, props);
61 };
62
63 var renderTail = function renderTail(_ref3) {
64 var colors = _ref3.colors;
65 return !isLast && _react2.default.createElement(_StyledModal.TAIL, {
66 colors: colors,
67 isDisabled: isDisabled,
68 isOn: isActive,
69 flexDirectionThreshold: flexDirectionThreshold
70 });
71 };
72 return _react2.default.createElement(
73 _react2.default.Fragment,
74 null,
75 renderStep({
76 getStepProps: getStepProps,
77 isActive: isActive,
78 isComplete: isComplete,
79 isDisabled: isDisabled,
80 isLast: isLast,
81 renderTail: renderTail,
82 flexDirectionThreshold: flexDirectionThreshold
83 })
84 );
85};
86
87exports.default = _react2.default.memo(Step);
\No newline at end of file