@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
JavaScript
;
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;