@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.
72 lines (71 loc) • 2.71 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
exports.__esModule = true;
exports.default = void 0;
var React = _interopRequireWildcard(require("react"));
var _clsx = _interopRequireDefault(require("clsx"));
var _TypeIcon = _interopRequireDefault(require("./TypeIcon"));
var _ProgressLine = _interopRequireDefault(require("./ProgressLine"));
var _TextWrapper = _interopRequireDefault(require("./TextWrapper"));
var _Text = _interopRequireDefault(require("../../../Text"));
var _Stack = _interopRequireDefault(require("../../../Stack"));
var _useTheme = _interopRequireDefault(require("../../../hooks/useTheme"));
const TimelineStepDesktop = ({
type,
nextType,
prevType,
last,
children,
active,
label,
subLabel,
hasSubLabelMargin
}) => {
const theme = (0, _useTheme.default)();
return /*#__PURE__*/React.createElement(_Stack.default, {
inline: true,
shrink: true,
direction: "column",
align: "center",
as: "li"
}, /*#__PURE__*/React.createElement("div", {
className: (0, _clsx.default)("relative flex w-[calc(100%+theme(spacing.400))] items-center"),
"aria-hidden": true
}, /*#__PURE__*/React.createElement(_ProgressLine.default, {
desktop: true,
status: type,
prevStatus: prevType,
nextStatus: nextType
}), /*#__PURE__*/React.createElement(_TypeIcon.default, {
type: type,
active: !!active
}), /*#__PURE__*/React.createElement(_ProgressLine.default, {
desktop: true,
status: !nextType && !last ? undefined : type,
prevStatus: prevType,
nextStatus: nextType,
last: last
})), /*#__PURE__*/React.createElement(_Stack.default, {
flex: true,
align: "center",
spacing: "200",
direction: "column"
}, subLabel && /*#__PURE__*/React.createElement(_TextWrapper.default, null, /*#__PURE__*/React.createElement(_Text.default, {
align: "center",
size: "small"
}, subLabel)), /*#__PURE__*/React.createElement(_TextWrapper.default, {
active: active || last && type === "success"
}, /*#__PURE__*/React.createElement(_Text.default, {
align: "center",
weight: "bold",
margin: {
top: !subLabel && hasSubLabelMargin ? theme.orbit.space600 : 0
}
}, label)), children && /*#__PURE__*/React.createElement("div", {
className: (0, _clsx.default)("w-full max-w-[250px]", active || last && type === "success" ? "[&>p]:text-ink-dark" : "[&>p]:text-ink-light")
}, /*#__PURE__*/React.createElement(_Text.default, {
align: "center"
}, children))));
};
var _default = exports.default = TimelineStepDesktop;