@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.
112 lines (102 loc) • 4.32 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var React = _interopRequireWildcard(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.paletteInkNormal,
[]: 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.paletteInkNormal,
[]: theme.orbit.paletteBlueDark,
[]: theme.orbit.paletteGreenDark,
[]: theme.orbit.paletteOrangeDark,
[]: theme.orbit.paletteRedDark,
[]: theme.orbit.paletteWhite,
[]: theme.orbit.paletteInkNormal,
[]: theme.orbit.paletteWhite,
[]: theme.orbit.paletteWhite,
[]: theme.orbit.paletteWhite,
[]: theme.orbit.paletteWhite,
[]: theme.orbit.paletteWhite,
[]: theme.orbit.paletteWhite,
[]: theme.orbit.paletteWhite
},
[]: {
[]: theme.orbit.paletteCloudDark,
[]: theme.orbit.paletteBlueLightHover,
[]: theme.orbit.paletteGreenLightHover,
[]: theme.orbit.paletteOrangeLightHover,
[]: theme.orbit.paletteRedLightHover,
[]: null,
[]: theme.orbit.paletteCloudDark,
[]: null,
[]: null,
[]: null,
[]: null,
[]: null,
[]: null,
[]: null
}
};
return tokens[name][type];
};
const Badge = ({
type = _consts.TYPE_OPTIONS.NEUTRAL,
border = true,
icon,
children,
ariaLabel,
dataTest,
carriers
}) => {
const theme = (0, _useTheme.default)();
return /*#__PURE__*/React.createElement(_BadgePrimitive.default, {
carriers: carriers,
background: getTypeToken({
name: _consts.TOKENS.background,
theme,
type
}),
foregroundColor: getTypeToken({
name: _consts.TOKENS.color,
theme,
type
}),
borderColor: border ? getTypeToken({
name: _consts.TOKENS.border,
theme,
type
}) : "transparent",
icon: icon,
ariaLabel: ariaLabel,
dataTest: dataTest
}, children);
};
var _default = Badge;
exports.default = _default;