@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.
80 lines (79 loc) • 3.18 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
exports.__esModule = true;
exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
var _BadgePrimitive = _interopRequireDefault(require("../primitives/BadgePrimitive"));
var _consts = require("./consts");
var _useTheme = _interopRequireDefault(require("../hooks/useTheme"));
const getTypeToken = ({
name,
theme,
type
}) => {
const tokens = {
[]: {
[]: theme.orbit.paletteCloudLight,
[]: theme.orbit.paletteBlueLight,
[]: theme.orbit.paletteGreenLight,
[]: theme.orbit.paletteOrangeLight,
[]: theme.orbit.paletteRedLight,
[]: theme.orbit.paletteInkDark,
[]: theme.orbit.paletteWhite,
[]: theme.orbit.paletteBlueNormal,
[]: theme.orbit.paletteRedNormal,
[]: theme.orbit.paletteGreenNormal,
[]: theme.orbit.paletteOrangeNormal,
[]: theme.orbit.backgroundBadgeBundleBasic,
[]: theme.orbit.backgroundBadgeBundleMedium,
[]: theme.orbit.backgroundBadgeBundleTop
},
[]: {
[]: theme.orbit.paletteInkDark,
[]: theme.orbit.paletteBlueDark,
[]: theme.orbit.paletteGreenDark,
[]: theme.orbit.paletteOrangeDark,
[]: theme.orbit.paletteRedDark,
[]: theme.orbit.paletteWhite,
[]: theme.orbit.paletteInkDark,
[]: theme.orbit.paletteWhite,
[]: theme.orbit.paletteWhite,
[]: theme.orbit.paletteWhite,
[]: theme.orbit.paletteWhite,
[]: theme.orbit.paletteWhite,
[]: theme.orbit.paletteWhite,
[]: theme.orbit.paletteWhite
}
};
return tokens[name][type];
};
const Badge = ({
type = _consts.TYPE_OPTIONS.NEUTRAL,
icon,
children,
ariaLabel,
dataTest,
id,
carriers
}) => {
const theme = (0, _useTheme.default)();
return /*#__PURE__*/_react.default.createElement(_BadgePrimitive.default, {
carriers: carriers,
background: getTypeToken({
name: _consts.TOKENS.background,
theme,
type
}),
foregroundColor: getTypeToken({
name: _consts.TOKENS.color,
theme,
type
}),
icon: icon,
id: id,
ariaLabel: ariaLabel,
dataTest: dataTest
}, children);
};
var _default = Badge;
exports.default = _default;