@talend/react-components
Version:
Set of react components.
68 lines (66 loc) • 2.41 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.PlainTextTitle = PlainTextTitle;
var _classnames = _interopRequireDefault(require("classnames"));
var _TooltipTrigger = _interopRequireDefault(require("../TooltipTrigger"));
var _Actions = require("../Actions");
var _translate = _interopRequireDefault(require("../translate"));
var _PlainTextTitleModule = _interopRequireDefault(require("./PlainTextTitle.module.scss"));
var _jsxRuntime = require("react/jsx-runtime");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
/* eslint-disable @typescript-eslint/no-explicit-any */
function PlainTextTitle({
id,
componentClass = 'span',
onEdit,
disabled,
text,
inProgress,
feature,
t = (0, _translate.default)(),
...rest
}) {
const isDisabled = disabled || inProgress;
const ComponentClass = componentClass;
const dataProps = Object.keys(rest).reduce((acc, propName) => {
if (propName.startsWith('data-')) {
acc[propName] = rest[propName];
}
return acc;
}, {});
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
className: _PlainTextTitleModule.default['tc-editable-text-title'],
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_TooltipTrigger.default, {
label: text,
tooltipPlacement: "bottom",
className: "tc-editable-text-wording-wrapper",
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ComponentClass, {
id: id,
className: (0, _classnames.default)(_PlainTextTitleModule.default['tc-editable-text-wording'], 'tc-editable-text-wording'),
onDoubleClick: isDisabled ? undefined : onEdit,
children: text
})
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Actions.Action
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
, {
name: "action-edit",
label: t('MODIFY_TOOLTIP', {
defaultValue: 'Rename'
}),
icon: "talend-pencil",
onClick: onEdit,
bsStyle: "link",
className: (0, _classnames.default)(_PlainTextTitleModule.default['tc-editable-text-pencil'], 'tc-editable-text-pencil', {
[_PlainTextTitleModule.default['tc-editable-text-empty-pencil']]: !text
}),
disabled: disabled || inProgress,
hideLabel: true,
"data-feature": feature,
...dataProps
})]
});
}
//# sourceMappingURL=PlainTextTitle.component.js.map