UNPKG

@itwin/itwinui-react

Version:

A react component library for iTwinUI

58 lines (57 loc) 1.79 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true, }); Object.defineProperty(exports, 'Badge', { enumerable: true, get: function () { return Badge; }, }); const _interop_require_default = require('@swc/helpers/_/_interop_require_default'); const _interop_require_wildcard = require('@swc/helpers/_/_interop_require_wildcard'); const _react = /*#__PURE__*/ _interop_require_wildcard._(require('react')); const _classnames = /*#__PURE__*/ _interop_require_default._( require('classnames'), ); const _index = require('../../utils/index.js'); const getBadgeColorValue = (color) => { if (!color) return ''; return (0, _index.isSoftBackground)(color) ? _index.SoftBackgrounds[color] : color; }; const getStatusValue = (color) => { let statuses = ['positive', 'negative', 'warning', 'informational']; return color && statuses.includes(color) ? color : void 0; }; const Badge = _react.forwardRef((props, forwardedRef) => { let { backgroundColor, style, className, children, ...rest } = props; let reducedBackgroundColor = 'primary' === backgroundColor ? 'informational' : backgroundColor; let statusValue = getStatusValue(reducedBackgroundColor); let _style = reducedBackgroundColor && !statusValue ? { '--iui-badge-background-color': getBadgeColorValue( reducedBackgroundColor, ), ...style, } : { ...style, }; return _react.createElement( _index.Box, { as: 'span', className: (0, _classnames.default)('iui-badge', className), style: _style, 'data-iui-status': statusValue, ref: forwardedRef, ...rest, }, children, ); }); if ('development' === process.env.NODE_ENV) Badge.displayName = 'Badge';