UNPKG

@carbon/ibm-security

Version:

Carbon for Cloud & Cognitive IBM Security UI components

84 lines (83 loc) 3.01 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 _FilterPanelLabel = _interopRequireDefault(require("../FilterPanelLabel")); var _excluded = ["title", "count", "countLabel", "className", "titleClassName", "children", "heading"]; /** * @file Filter panel group component. * @copyright IBM Security 2020, 2021 */ var namespace = (0, _namespace.getComponentNamespace)('filter-panel-group'); var FilterPanelGroup = function FilterPanelGroup(_ref) { var title = _ref.title, count = _ref.count, countLabel = _ref.countLabel, className = _ref.className, titleClassName = _ref.titleClassName, children = _ref.children, heading = _ref.heading, other = (0, _objectWithoutProperties2.default)(_ref, _excluded); return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({ className: (0, _classnames.default)(namespace, className) }, other), (heading || title) && /*#__PURE__*/_react.default.createElement("h2", { className: (0, _classnames.default)("".concat(namespace, "__title"), titleClassName) }, /*#__PURE__*/_react.default.createElement(_FilterPanelLabel.default, { count: count, countLabel: countLabel, title: title }, heading || title)), /*#__PURE__*/_react.default.createElement("div", { className: "".concat(namespace, "__content") }, children)); }; FilterPanelGroup.propTypes = { /** * Group content. */ children: _propTypes.default.node, /** * Optional class name. */ className: _propTypes.default.string, /** * Optional group count. */ count: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]), /** * Function returning a translated text labeling the count for accessibility. */ countLabel: _propTypes.default.func, /** * Group heading node. * If no `heading` is provided, then the `title` prop value will be used instead. */ heading: _propTypes.default.node, /** * Group `title` attribute. */ title: _propTypes.default.string, /** * Optional class name for the title. */ titleClassName: _propTypes.default.string }; FilterPanelGroup.defaultProps = { title: undefined, count: undefined, countLabel: function countLabel(count) { return "".concat(count, " items"); }, className: undefined, titleClassName: undefined, children: undefined, heading: undefined }; var _default = exports.default = FilterPanelGroup;