@talend/react-forms
Version:
React forms library based on json schema form.
57 lines (56 loc) • 1.7 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _propTypes = _interopRequireDefault(require("prop-types"));
var _designSystem = require("@talend/design-system");
var _validation = require("../../utils/validation");
var _Widget = _interopRequireDefault(require("../../Widget"));
var _jsxRuntime = require("react/jsx-runtime");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
function TabsAdapter(props) {
const {
schema,
...restProps
} = props;
const tabs = schema.items.map((item, index) => {
const tabIsValid = (0, _validation.isValid)(item, restProps.errors);
return {
key: index,
tabTitle: {
title: item.title,
id: `${restProps.id}-tabs-${index}`,
error: !tabIsValid
},
tabContent: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Widget.default, {
...restProps,
schema: {
widget: 'fieldset',
...item,
options: {
...item.options,
hideTitle: true
}
}
})
};
});
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_designSystem.Tabs, {
id: `${restProps.id}-tabs`,
tabs: tabs
});
}
if (process.env.NODE_ENV !== 'production') {
TabsAdapter.propTypes = {
errors: _propTypes.default.object,
schema: _propTypes.default.shape({
items: _propTypes.default.arrayOf(_propTypes.default.shape({
title: _propTypes.default.string.isRequired,
items: _propTypes.default.array.isRequired
})).isRequired
}).isRequired
};
}
var _default = exports.default = TabsAdapter;
//# sourceMappingURL=Tabs.component.js.map