@bootstrap-styled/ra-ui
Version:
UI components for react-admin
60 lines (47 loc) • 2.19 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread"));
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _react = _interopRequireDefault(require("react"));
var _reactDom = _interopRequireDefault(require("react-dom"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _raCore = require("ra-core");
var Title = function Title(_ref) {
var className = _ref.className,
defaultTitle = _ref.defaultTitle,
locale = _ref.locale,
record = _ref.record,
title = _ref.title,
translate = _ref.translate,
rest = (0, _objectWithoutProperties2.default)(_ref, ["className", "defaultTitle", "locale", "record", "title", "translate"]);
var container = document.getElementById('react-admin-title');
if (!container) return null;
(0, _raCore.warning)(!defaultTitle && !title, 'Missing title prop in <Title> element');
var titleElement = !title ? _react.default.createElement("span", (0, _extends2.default)({
className: className
}, rest), defaultTitle) : typeof title === 'string' ? _react.default.createElement("span", (0, _extends2.default)({
className: className
}, rest), translate(title, {
_: title
})) : _react.default.cloneElement(title, (0, _objectSpread2.default)({
className: className,
record: record
}, rest));
return _reactDom.default.createPortal(titleElement, container);
};
Title.propTypes = {
defaultTitle: _propTypes.default.string,
className: _propTypes.default.string,
locale: _propTypes.default.string,
record: _propTypes.default.object,
translate: _propTypes.default.func.isRequired,
title: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.element])
};
var _default = (0, _raCore.translate)(Title);
exports.default = _default;
module.exports = exports.default;