UNPKG

@talend/react-forms

Version:

React forms library based on json schema form.

51 lines (50 loc) 1.84 kB
"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