@talend/react-forms
Version:
React forms library based on json schema form.
50 lines • 1.29 kB
JavaScript
import PropTypes from 'prop-types';
import { Tabs } from '@talend/design-system';
import { isValid } from '../../utils/validation';
import Widget from '../../Widget';
import { jsx as _jsx } from "react/jsx-runtime";
function TabsAdapter(props) {
const {
schema,
...restProps
} = props;
const tabs = schema.items.map((item, index) => {
const tabIsValid = isValid(item, restProps.errors);
return {
key: index,
tabTitle: {
title: item.title,
id: `${restProps.id}-tabs-${index}`,
error: !tabIsValid
},
tabContent: /*#__PURE__*/_jsx(Widget, {
...restProps,
schema: {
widget: 'fieldset',
...item,
options: {
...item.options,
hideTitle: true
}
}
})
};
});
return /*#__PURE__*/_jsx(Tabs, {
id: `${restProps.id}-tabs`,
tabs: tabs
});
}
if (process.env.NODE_ENV !== 'production') {
TabsAdapter.propTypes = {
errors: PropTypes.object,
schema: PropTypes.shape({
items: PropTypes.arrayOf(PropTypes.shape({
title: PropTypes.string.isRequired,
items: PropTypes.array.isRequired
})).isRequired
}).isRequired
};
}
export default TabsAdapter;
//# sourceMappingURL=Tabs.component.js.map