@workday/canvas-kit-react
Version:
The parent module that contains all Workday Canvas Kit React components
39 lines (38 loc) • 2.39 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CountBadge = void 0;
const jsx_runtime_1 = require("react/jsx-runtime");
const common_1 = require("@workday/canvas-kit-react/common");
const canvas_kit_styling_1 = require("@workday/canvas-kit-styling");
const canvas_tokens_web_1 = require("@workday/canvas-tokens-web");
const grow = (0, canvas_kit_styling_1.keyframes)({ name: "q0ujf", styles: "from{transform:scale(0.85);}to{transform:scale(1.0);}" });
// .cnvs-count-badge
const countBadgeStencil = (0, canvas_kit_styling_1.createStencil)({
base: { name: "3bf3wz", styles: "box-sizing:border-box;align-items:center;animation:animation-q0ujf 0.2s ease;border-radius:var(--cnvs-sys-shape-round);display:inline-flex;font-family:var(--cnvs-sys-font-family-default);font-size:var(--cnvs-sys-font-size-subtext-medium);font-weight:var(--cnvs-sys-font-weight-bold);height:1.25rem;justify-content:center;line-height:1.25rem;min-width:1.25rem;padding:0 0.40625rem;background:var(--cnvs-sys-color-fg-critical-default);color:var(--cnvs-sys-color-text-inverse);" },
modifiers: {
variant: {
// .cnvs-count-badge--variant-inverse
inverse: { name: "297fcw", styles: "background:var(--cnvs-sys-color-bg-default);color:var(--cnvs-sys-color-text-primary-default);" }
},
emphasis: {
high: { name: "3wjypz", styles: "" },
low: { name: "26u01g", styles: "background:var(--cnvs-sys-color-bg-info-softer);color:var(--cnvs-sys-color-fg-info-stronger);" }
}
},
compound: [
{
modifiers: { variant: 'inverse', emphasis: 'low' },
styles: { name: "i09ou", styles: "background:var(--cnvs-sys-color-bg-transparent-strong);color:var(--cnvs-sys-color-fg-inverse);" }
}
]
}, "count-badge-524876");
/**
* `CountBadge` provides a quantity-based summary with dynamic values.
*/
exports.CountBadge = (0, common_1.createComponent)('span')({
displayName: 'CountBadge',
Component: ({ count = 0, limit = 1000, variant, emphasis = 'high', ...elemProps }, ref, Element) => {
const formattedCount = count < limit ? `${count}` : `${limit - 1}+`;
return ((0, jsx_runtime_1.jsx)(Element, { ref: ref, ...(0, canvas_kit_styling_1.handleCsProp)(elemProps, [countBadgeStencil({ variant, emphasis })]), children: formattedCount }));
},
});