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.

52 lines (51 loc) 1.9 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default; exports.__esModule = true; exports.getStatusColor = exports.default = void 0; var React = _interopRequireWildcard(require("react")); var _clsx = _interopRequireDefault(require("clsx")); var _useTheme = _interopRequireDefault(require("../../../hooks/useTheme")); const getStatusColor = (theme, type) => { const colors = { success: theme.orbit.textSuccessForeground, warning: theme.orbit.textWarningForeground, critical: theme.orbit.textCriticalForeground, info: theme.orbit.textInfoForeground }; return type ? colors[type] : theme.orbit.paletteCloudNormalHover; }; exports.getStatusColor = getStatusColor; const ProgressLine = ({ desktop, status, nextStatus, last, prevStatus }) => { const theme = (0, _useTheme.default)(); const getBorderStyle = () => { if (desktop) { if (status && !nextStatus && !last) { return { borderImageSlice: 1, borderImageSource: `linear-gradient(to right, ${getStatusColor(theme, prevStatus)}, ${getStatusColor(theme, status)})` }; } } if (status && !nextStatus && !last) { return { borderImageSlice: 1, borderImageSource: `linear-gradient(to bottom, ${getStatusColor(theme, prevStatus)}, ${getStatusColor(theme, status)})` }; } return { borderColor: getStatusColor(theme, status) }; }; return /*#__PURE__*/React.createElement("span", { className: (0, _clsx.default)("border", status ? "border-solid" : "border-dashed", desktop ? "w-1/2" : "absolute top-[15px] h-[calc(100%+theme(spacing.50))] ltr:left-[11px] rtl:right-[11px]"), style: getBorderStyle() }); }; var _default = exports.default = ProgressLine;