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.

73 lines (72 loc) 2.71 kB
"use strict"; "use client"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default; exports.__esModule = true; exports.getIconColor = exports.default = exports.VerticalBadge = exports.ItemWrapper = exports.BadgeContent = void 0; var React = _interopRequireWildcard(require("react")); var _clsx = _interopRequireDefault(require("clsx")); var _Text = _interopRequireDefault(require("../../Text")); var _consts = require("../consts"); var _consts2 = require("../../Icon/consts"); const BACKGROUND = { [_consts.TYPE_OPTIONS.NEUTRAL]: "bg-badge-neutral-background", [_consts.TYPE_OPTIONS.INFO]: "bg-badge-info-subtle-background", [_consts.TYPE_OPTIONS.SUCCESS]: "bg-badge-success-subtle-background", [_consts.TYPE_OPTIONS.WARNING]: "bg-badge-warning-subtle-background", [_consts.TYPE_OPTIONS.CRITICAL]: "bg-badge-critical-subtle-background" }; const getIconColor = type => { if (type === _consts.TYPE_OPTIONS.NEUTRAL) return _consts2.ICON_COLORS.SECONDARY; return type; }; exports.getIconColor = getIconColor; const ItemWrapper = ({ children, dataTest }) => /*#__PURE__*/React.createElement("li", { className: "[&_+_&]:mt-xxs flex w-full flex-row", "data-test": dataTest }, children); exports.ItemWrapper = ItemWrapper; const VerticalBadge = ({ children, type }) => { return /*#__PURE__*/React.createElement("div", { className: (0, _clsx.default)("me-xs h-icon-large w-icon-large rounded-circle flex flex-shrink-0 items-center justify-center", "[&_svg]:h-icon-small [&_svg]:w-icon-small", type && BACKGROUND[type]), "aria-hidden": true }, children); }; exports.VerticalBadge = VerticalBadge; const BadgeContent = ({ children, style }) => /*#__PURE__*/React.createElement("div", { className: "inline-flex items-center [&_.orbit-tooltip-wrapper_.orbit-text]:font-medium", style: style }, children); exports.BadgeContent = BadgeContent; const BadgeListItem = ({ icon, strikeThrough, type = _consts.TYPE_OPTIONS.NEUTRAL, size = _consts.SIZE_OPTIONS.SMALL, dataTest, children }) => { return /*#__PURE__*/React.createElement(ItemWrapper, { dataTest: dataTest }, /*#__PURE__*/React.createElement(VerticalBadge, { type: type }, /*#__PURE__*/React.isValidElement(icon) && /*#__PURE__*/React.cloneElement(icon, { color: getIconColor(type) })), /*#__PURE__*/React.createElement(BadgeContent, null, /*#__PURE__*/React.createElement(_Text.default, { type: "secondary", size: size, as: "span", strikeThrough: strikeThrough }, children))); }; var _default = BadgeListItem; exports.default = _default;