UNPKG

@kiwicom/orbit-components

Version:

Orbit-components is a React component library which provides developers with the easiest possible way of building Kiwi.com’s products.

98 lines (76 loc) 3.88 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var React = _interopRequireWildcard(require("react")); var _CheckCircle = _interopRequireDefault(require("../../icons/CheckCircle")); var _CircleEmpty = _interopRequireDefault(require("../../icons/CircleEmpty")); var _AlertCircle = _interopRequireDefault(require("../../icons/AlertCircle")); var _CloseCircle = _interopRequireDefault(require("../../icons/CloseCircle")); var _TimelineContext = require("../TimelineContext"); var _useMediaQuery2 = _interopRequireDefault(require("../../hooks/useMediaQuery")); var _TimelineStepDesktop = _interopRequireDefault(require("./components/TimelineStepDesktop")); var _TimelineStepMobile = _interopRequireDefault(require("./components/TimelineStepMobile")); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } var TypeIcon = function TypeIcon(_ref) { var type = _ref.type; if (type === "success") return /*#__PURE__*/React.createElement(_CheckCircle.default, { color: "success" }); if (type === "warning") return /*#__PURE__*/React.createElement(_AlertCircle.default, { color: "warning" }); if (type === "critical") return /*#__PURE__*/React.createElement(_CloseCircle.default, { color: "critical" }); return /*#__PURE__*/React.createElement(_CircleEmpty.default, { color: "tertiary", size: "small" }); }; var TimelineStep = function TimelineStep(_ref2) { var children = _ref2.children, label = _ref2.label, subLabel = _ref2.subLabel, type = _ref2.type; var _useStatuses = (0, _TimelineContext.useStatuses)(), types = _useStatuses.types, setTypes = _useStatuses.setTypes; var _useStep = (0, _TimelineContext.useStep)(), index = _useStep.index, last = _useStep.last; var _useMediaQuery = (0, _useMediaQuery2.default)(), isDesktop = _useMediaQuery.isDesktop; var nextType = types[index + 1]; React.useEffect(function () { setTypes(function (prev) { return _objectSpread(_objectSpread({}, prev), {}, (0, _defineProperty2.default)({}, index, type)); }); }, [setTypes, type, index]); return isDesktop ? /*#__PURE__*/React.createElement(_TimelineStepDesktop.default, { typeIcon: /*#__PURE__*/React.createElement(TypeIcon, { type: type }), nextType: nextType, label: label, type: type, subLabel: subLabel, last: last }, children) : /*#__PURE__*/React.createElement(_TimelineStepMobile.default, { typeIcon: /*#__PURE__*/React.createElement(TypeIcon, { type: type }), nextType: nextType, label: label, type: type, subLabel: subLabel, last: last }, children); }; var _default = TimelineStep; exports.default = _default;