@talend/react-forms
Version:
React forms library based on json schema form.
77 lines (76 loc) • 2.91 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _propTypes = _interopRequireDefault(require("prop-types"));
var _designSystem = require("@talend/design-system");
var _Message = _interopRequireDefault(require("../../Message"));
var _labels = require("../../utils/labels");
var _jsxRuntime = require("react/jsx-runtime");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
function FieldTemplate(props) {
const title = /*#__PURE__*/(0, _jsxRuntime.jsx)(_designSystem.Form.Label, {
htmlFor: props.id,
...(0, _labels.getLabelProps)(props.label, props.labelProps, props.hint, props.required),
required: props.required
});
const labelAfter = props.hint ? false : props.labelAfter;
const Stack = props.inline ? _designSystem.StackHorizontal : _designSystem.StackVertical;
const stackProps = props.inline ? {
gap: 'S',
align: 'center'
} : {
gap: 'XXS',
align: 'stretch',
justify: 'start',
height: '100%',
noShrink: true
};
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
className: props.className,
"aria-busy": props.valueIsUpdating,
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(Stack, {
...stackProps,
children: [props.label && !labelAfter && title, props.children, props.label && labelAfter && title, /*#__PURE__*/(0, _jsxRuntime.jsx)(_Message.default, {
description: props.description,
descriptionId: props.descriptionId,
errorId: props.errorId,
errorMessage: props.errorMessage,
isValid: props.isValid
})]
})
});
}
if (process.env.NODE_ENV !== 'production') {
FieldTemplate.propTypes = {
children: _propTypes.default.node,
hint: _propTypes.default.shape({
icon: _propTypes.default.string,
overlayComponent: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.string]).isRequired,
overlayPlacement: _propTypes.default.string,
overlayIsFixed: _propTypes.default.bool,
'data-test': _propTypes.default.string,
'icon-data-test': _propTypes.default.string
}),
className: _propTypes.default.string,
description: _propTypes.default.string,
descriptionId: _propTypes.default.string.isRequired,
errorId: _propTypes.default.string.isRequired,
errorMessage: _propTypes.default.string,
id: _propTypes.default.string,
isValid: _propTypes.default.bool,
label: _propTypes.default.string,
labelProps: _propTypes.default.object,
labelAfter: _propTypes.default.bool,
required: _propTypes.default.bool,
valueIsUpdating: _propTypes.default.bool,
inline: _propTypes.default.bool
};
}
FieldTemplate.defaultProps = {
isValid: true
};
FieldTemplate.displayName = 'FieldTemplate';
var _default = exports.default = FieldTemplate;
//# sourceMappingURL=FieldTemplate.component.js.map