UNPKG

@talend/react-components

Version:
86 lines (85 loc) 3.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = require("react"); var _propTypes = _interopRequireDefault(require("prop-types")); var _classnames = _interopRequireDefault(require("classnames")); var _Inject = _interopRequireDefault(require("../../Inject")); var _RichLayoutModule = _interopRequireDefault(require("./RichLayout.module.scss")); var _jsxRuntime = require("react/jsx-runtime"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } const TooltipPropTypes = { id: _propTypes.default.string.isRequired, children: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.arrayOf(_propTypes.default.node)]), className: _propTypes.default.string }; const Header = ({ id, children, className }) => /*#__PURE__*/(0, _jsxRuntime.jsx)("header", { id: id, className: (0, _classnames.default)(_RichLayoutModule.default.header, 'tc-tooltip-header', className), children: children }); Header.propTypes = TooltipPropTypes; const Body = ({ id, children, className }) => /*#__PURE__*/(0, _jsxRuntime.jsx)("div", { id: id, className: (0, _classnames.default)(_RichLayoutModule.default.body, 'tc-tooltip-body', className), children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", { id: `${id}-content`, className: (0, _classnames.default)(_RichLayoutModule.default.content, 'tc-tooltip-content'), children: children }) }); Body.propTypes = TooltipPropTypes; const Footer = ({ id, children, className }) => /*#__PURE__*/(0, _jsxRuntime.jsx)("footer", { id: id, className: (0, _classnames.default)(_RichLayoutModule.default.footer, 'tc-tooltip-footer', className), children: children }); Footer.propTypes = TooltipPropTypes; const RichLayout = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", { id: props.id, className: _RichLayoutModule.default['rich-layout'], ref: ref, tabIndex: "-1", children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Header, { id: `${props.id}-header`, children: _Inject.default.getReactElement(props.getComponent, props.Header) }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(Body, { id: `${props.id}-body`, className: props.className, children: [props.text && /*#__PURE__*/(0, _jsxRuntime.jsx)("p", { children: props.text }), !props.text && _Inject.default.getReactElement(props.getComponent, props.Content)] }), /*#__PURE__*/(0, _jsxRuntime.jsx)(Footer, { id: `${props.id}-footer`, children: _Inject.default.getReactElement(props.getComponent, props.Footer) })] })); RichLayout.Header = Header; RichLayout.Body = Body; RichLayout.Footer = Footer; RichLayout.displayName = 'RichLayout'; RichLayout.propTypes = { className: _propTypes.default.string, Content: _Inject.default.getReactElement.propTypes, getComponent: _propTypes.default.func, Header: _Inject.default.getReactElement.propTypes, Footer: _Inject.default.getReactElement.propTypes, text: _propTypes.default.string, id: _propTypes.default.string.isRequired }; var _default = exports.default = RichLayout; //# sourceMappingURL=RichLayout.component.js.map