UNPKG

@carbon/ibm-security

Version:

Carbon for Cloud & Cognitive IBM Security UI components

74 lines (73 loc) 2.67 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _classnames = _interopRequireDefault(require("classnames")); var _namespace = require("../../../globals/namespace"); var _excluded = ["children", "count", "countLabel", "className", "countClassName", "title"]; /** * @file Filter panel label component. * @copyright IBM Security 2020, 2021 */ var namespace = (0, _namespace.getComponentNamespace)('filter-panel-label'); var FilterPanelLabel = function FilterPanelLabel(_ref) { var children = _ref.children, count = _ref.count, countLabel = _ref.countLabel, className = _ref.className, countClassName = _ref.countClassName, title = _ref.title, other = (0, _objectWithoutProperties2.default)(_ref, _excluded); return /*#__PURE__*/_react.default.createElement("span", (0, _extends2.default)({ className: (0, _classnames.default)(namespace, className) }, other), /*#__PURE__*/_react.default.createElement("span", { className: "".concat(namespace, "__text"), title: title }, children), !Number.isNaN(parseInt(count, 10)) && /*#__PURE__*/_react.default.createElement("span", { className: (0, _classnames.default)("".concat(namespace, "__count"), countClassName), "aria-label": "(".concat(countLabel(count), ")") }, count)); }; FilterPanelLabel.propTypes = { /** * Label text. */ children: _propTypes.default.node, /** * Optional class name. */ className: _propTypes.default.string, /** * Label count. */ count: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]), /** * Optional class name for the count. */ countClassName: _propTypes.default.string, /** * Function returning a translated text labeling the count for accessibility. */ countLabel: _propTypes.default.func, /** * The `title` attribute that is applied to the label node. */ title: _propTypes.default.string }; FilterPanelLabel.defaultProps = { children: undefined, count: undefined, countLabel: function countLabel(count) { return "".concat(count, " items"); }, className: undefined, countClassName: undefined, title: undefined }; var _default = exports.default = FilterPanelLabel;