UNPKG

@workday/canvas-kit-react

Version:

The parent module that contains all Workday Canvas Kit React components

29 lines (28 loc) 2 kB
"use strict"; 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: "4domxd", styles: "from{transform:scale(0.85);}to{transform:scale(1.0);}" }); // .cnvs-count-badge const countBadgeStencil = (0, canvas_kit_styling_1.createStencil)({ base: { name: "bv8bs", styles: "box-sizing:border-box;align-items:center;animation:animation-4domxd 0.2s ease;background:var(--cnvs-sys-color-static-red-default);border-radius:var(--cnvs-sys-shape-round);color:var(--cnvs-sys-color-text-inverse);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;text-shadow:0 0 0.0625rem rgba(0,0,0, 0.35);" }, modifiers: { variant: { // .cnvs-count-badge--variant-inverse inverse: { name: "41lqe2", styles: "background:var(--cnvs-sys-color-bg-default);box-shadow:0 0.0625rem 0.125rem rgba(0,0,0, 0.25);color:var(--cnvs-sys-color-text-primary-default);text-shadow:none;" } } } }, "count-badge-4b6f6d"); /** * `CountBadge` provides a quantity-based summary with dynamic values. */ exports.CountBadge = (0, common_1.createComponent)('span')({ displayName: 'CountBadge', Component: ({ count = 0, limit = 1000, variant, ...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 })]), children: formattedCount })); }, });