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.

95 lines (79 loc) 2.71 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2")); 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 _useMediaQuery = _interopRequireDefault(require("../../hooks/useMediaQuery")); var _TimelineStepDesktop = _interopRequireDefault(require("./components/TimelineStepDesktop")); var _TimelineStepMobile = _interopRequireDefault(require("./components/TimelineStepMobile")); const TypeIcon = ({ 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" }); }; const TimelineStep = ({ children, label, subLabel, type }) => { const { types, setTypes } = (0, _TimelineContext.useStatuses)(); const { index, last } = (0, _TimelineContext.useStep)(); const { isDesktop } = (0, _useMediaQuery.default)(); const nextType = types[index + 1]; React.useEffect(() => { setTypes(prev => (0, _objectSpread2.default)((0, _objectSpread2.default)({}, prev), {}, { [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;