@talend/react-forms
Version:
React forms library based on json schema form.
51 lines (50 loc) • 1.84 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = Fieldset;
var _propTypes = _interopRequireDefault(require("prop-types"));
var _designSystem = require("@talend/design-system");
var _condition = _interopRequireDefault(require("../../utils/condition"));
var _Widget = _interopRequireDefault(require("../../Widget"));
var _react = require("react");
var _jsxRuntime = require("react/jsx-runtime");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
function Fieldset(props) {
const {
schema,
...restProps
} = props;
const {
title,
items,
options
} = schema;
const widgets = items.filter(itemSchema => (0, _condition.default)(itemSchema.condition, props.properties, itemSchema.key)).map((itemSchema, index) => /*#__PURE__*/(0, _react.createElement)(_Widget.default, {
...restProps,
key: index,
schema: itemSchema
}));
return widgets.length ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_designSystem.Form.Fieldset, {
legend: !(options !== null && options !== void 0 && options.hideTitle) && title,
children: [(options === null || options === void 0 ? void 0 : options.hideTitle) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_designSystem.VisuallyHidden, {
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("legend", {
children: title
})
}), widgets]
}) : null;
}
if (process.env.NODE_ENV !== 'production') {
Fieldset.propTypes = {
schema: _propTypes.default.shape({
title: _propTypes.default.string,
items: _propTypes.default.array.isRequired,
options: _propTypes.default.shape({
hideTitle: _propTypes.default.bool
})
}).isRequired,
properties: _propTypes.default.object,
..._Widget.default.propTypes
};
}
//# sourceMappingURL=Fieldset.component.js.map