@talend/react-components
Version:
Set of react components.
86 lines (85 loc) • 3.2 kB
JavaScript
;
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