@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.
62 lines (61 loc) • 2.8 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 _context = require("./context");
var _AlertCircle = _interopRequireDefault(require("../../icons/AlertCircle"));
var _StarFull = _interopRequireDefault(require("../../icons/StarFull"));
var _CircleSmallEmpty = _interopRequireDefault(require("../../icons/CircleSmallEmpty"));
var _CircleSmall = _interopRequireDefault(require("../../icons/CircleSmall"));
const RenderedIcon = ({
isPrevHidden,
isLast,
isHidden,
children,
type
}) => {
if (type && children !== null) return /*#__PURE__*/React.createElement(_AlertCircle.default, {
size: "small",
color: type === "neutral" ? "primary" : type,
ariaHidden: true
});
if (isHidden) return /*#__PURE__*/React.createElement(_StarFull.default, {
color: "warning",
size: "small",
ariaHidden: true
});
if (isPrevHidden && isLast) return /*#__PURE__*/React.createElement(_CircleSmallEmpty.default, {
size: "small",
color: "tertiary",
ariaHidden: true
});
return /*#__PURE__*/React.createElement(React.Fragment, null, children || /*#__PURE__*/React.createElement(_CircleSmall.default, {
size: "small",
color: "secondary",
ariaHidden: true
}));
};
const ItinerarySegmentStopIcon = ({
type,
children
}) => {
const {
index,
last,
isPrevHidden,
isHidden,
count
} = (0, _context.usePart)();
return /*#__PURE__*/React.createElement("div", {
className: (0, _clsx.default)("z-default flex justify-center", "[&_svg]:overflow-hidden", last || index === 0 ? "[&_svg]:bg-transparent" : "[&_svg]:bg-white-normal", index > 0 && !last && ["py-100 px-0", "bg-[radial-gradient(farthest-side,theme(colors.white.normal),theme(colors.white.normal),theme(colors.white.normal),transparent)]"], index > 0 && count > 0 && ["before:-z-default before:border-cloud-normal-active before:absolute before:h-[calc(50%+9px)] before:border", last && isPrevHidden ? "before:top-[-14px]" : "before:top-[-9px]", isPrevHidden ? "before:border-dashed" : "before:border-solid"], !last && count > 0 && ["after:-z-default after:border-cloud-normal-active after:absolute after:h-[calc(50%+9px)] after:border", isHidden ? "after:bottom-100 after:border-dashed" : "after:bottom-[-9px] after:border-solid"])
}, /*#__PURE__*/React.createElement(RenderedIcon, {
type: type,
isPrevHidden: isPrevHidden,
isLast: last,
isHidden: isHidden
}, children));
};
var _default = exports.default = ItinerarySegmentStopIcon;