@carbon/ibm-products
Version:
Carbon for IBM Products
67 lines (63 loc) • 2.32 kB
JavaScript
/**
* 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 };