UNPKG

@carbon/react

Version:

React components for the Carbon Design System

47 lines (43 loc) 1.27 kB
/** * Copyright IBM Corp. 2016, 2023 * * This source code is licensed under the Apache-2.0 license found in the * LICENSE file in the root directory of this source tree. */ import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js'; import PropTypes from 'prop-types'; import React, { forwardRef } from 'react'; import cx from 'classnames'; import { usePrefix } from '../../internal/usePrefix.js'; const frFn = forwardRef; const BadgeIndicator = frFn((props, ref) => { const { className: customClassName, count, ...rest } = props; const prefix = usePrefix(); const classNames = cx(`${prefix}--badge-indicator`, customClassName, { [`${prefix}--badge-indicator--count`]: count }); const displayCount = count && count > 999 ? '999+' : count; return /*#__PURE__*/React.createElement("div", _extends({ className: classNames, ref: ref }, rest), displayCount); }); BadgeIndicator.propTypes = { /** * Specify an optional className to add. */ className: PropTypes.string, /** * Count of badge indicator */ count: PropTypes.number, /** * Provide an `id` to uniquely identify the BadgeIndidcator */ id: PropTypes.string }; export { BadgeIndicator, BadgeIndicator as default };