@geneui/components
Version:
The Gene UI components library designed for BI tools
30 lines (26 loc) • 2.86 kB
JavaScript
import { _ as __rest } from '../tslib.es6-f211516f.js';
import React__default from 'react';
import { c as classnames } from '../index-031ff73c.js';
import { s as styleInject } from '../style-inject.es-746bb8ed.js';
var css_248z = "[data-gene-ui-version=\"2.16.5\"] .badge{max-width:-webkit-fit-content;max-width:-moz-fit-content;max-width:fit-content;position:relative}[data-gene-ui-version=\"2.16.5\"] .badge__content{background:var(--danger);border-radius:3rem;color:var(--danger-sc);display:block;font:600 1rem/1.6rem var(--font-family);min-width:1.6rem;padding:0 .5rem;text-align:center}[data-gene-ui-version=\"2.16.5\"] .badge__content-children{position:absolute;top:-.8rem}html:not([dir=rtl]) .badge__content-children{right:-.8rem}html[dir=rtl] .badge__content-children{left:-.8rem}[data-gene-ui-version=\"2.16.5\"] .badge__content-dot{height:1rem;min-height:1rem;min-width:1rem;top:-.5rem;width:1rem}html:not([dir=rtl]) .badge__content-dot{right:-.5rem}html[dir=rtl] .badge__content-dot{left:-.5rem}[data-gene-ui-version=\"2.16.5\"] .badge__content-medium{line-height:1.8rem;min-height:1.8rem;min-width:1.8rem}[data-gene-ui-version=\"2.16.5\"] .badge__content-big{line-height:2.2rem;min-height:2.2rem;min-width:2.2rem}[data-gene-ui-version=\"2.16.5\"] .badge__content-huge{font-size:1.3rem;line-height:2.6rem;min-height:2.6rem;min-width:2.6rem}[data-gene-ui-version=\"2.16.5\"] .badge__content-big,[data-gene-ui-version=\"2.16.5\"] .badge__content-huge,[data-gene-ui-version=\"2.16.5\"] .badge__content-medium{top:-1rem}html:not([dir=rtl]) .badge__content-big,html:not([dir=rtl]) .badge__content-huge,html:not([dir=rtl]) .badge__content-medium{right:-1rem}html[dir=rtl] .badge__content-big,html[dir=rtl] .badge__content-huge,html[dir=rtl] .badge__content-medium{left:-1rem}[data-gene-ui-version=\"2.16.5\"] .badge__content-primary{background:var(--hero)}";
styleInject(css_248z);
const getShowValue = (count, maxCount) => {
if (!count && count !== 0)
return null;
if (!maxCount)
return count;
return count > maxCount ? `${maxCount}+` : count;
};
const Badge = (_a) => {
var { size = 'default', dot = false, color = 'danger', count, maxCount, className, children } = _a, restProps = __rest(_a, ["size", "dot", "color", "count", "maxCount", "className", "children"]);
const show = dot ? '' : getShowValue(count, maxCount);
return (React__default.createElement("div", Object.assign({ className: "badge" }, restProps),
show !== null && (React__default.createElement("span", { className: classnames('badge__content', className, {
[`badge__content-${size}`]: size,
[`badge__content-${color}`]: color,
[`badge__content-dot`]: dot,
[`badge__content-children`]: children
}) }, show)),
children));
};
export { Badge as default };