UNPKG

@carbon/ibm-products

Version:

Carbon for IBM Products

67 lines (63 loc) 2.32 kB
/** * Copyright IBM Corp. 2020, 2025 * * 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 React__default, { isValidElement } from 'react'; import PropTypes from '../../_virtual/index.js'; import { Close } from '@carbon/react/icons'; import { Button } from '@carbon/react'; import { pkg } from '../../settings.js'; const blockClass = `${pkg.prefix}--add-select__meta-panel`; const componentName = 'AddSelectMetaPanel'; let AddSelectMetaPanel = _ref => { let { closeIconDescription, meta, setDisplayMetaPanel, title } = _ref; const onCloseHandler = () => { setDisplayMetaPanel({}); }; return /*#__PURE__*/React__default.createElement("div", { className: blockClass }, /*#__PURE__*/React__default.createElement("div", { className: `${blockClass}-header` }, /*#__PURE__*/React__default.createElement("p", { className: `${blockClass}-title` }, title), /*#__PURE__*/React__default.createElement(Button, { renderIcon: props => /*#__PURE__*/React__default.createElement(Close, _extends({ size: 16 }, props)), className: `${blockClass}-close`, iconDescription: closeIconDescription, tooltipPosition: "left", tooltipAlignment: "center", hasIconOnly: true, onClick: onCloseHandler, kind: "ghost", size: "sm" })), /*#__PURE__*/isValidElement(meta) ? meta : meta.map(entry => /*#__PURE__*/React__default.createElement("div", { key: entry?.id, className: `${blockClass}-entry` }, /*#__PURE__*/React__default.createElement("p", { className: `${blockClass}-entry-title` }, entry?.title), /*#__PURE__*/React__default.createElement("p", { className: `${blockClass}-entry-body` }, entry?.value)))); }; AddSelectMetaPanel.propTypes = { closeIconDescription: PropTypes.string.isRequired, meta: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.shape({ id: PropTypes.string, title: PropTypes.string, value: PropTypes.string })), PropTypes.node]).isRequired, setDisplayMetaPanel: PropTypes.func.isRequired, title: PropTypes.string.isRequired }; AddSelectMetaPanel.displayName = componentName; export { AddSelectMetaPanel };