UNPKG

rjsf-antd

Version:

Ant Design theme, fields and widgets for react-jsonschema-form

47 lines 2.27 kB
import { __assign } from "tslib"; import React from 'react'; import { ConfigConsumer } from 'antd/es/config-provider'; import FormContext from 'antd/es/form/context'; import omit from 'omit.js'; import classNames from 'classnames'; import ObjectFieldTemplateContext from '../ObjectFieldTemplate/ObjectFieldTemplateContext'; import withTheme from '../Theme/withTheme'; import Theme from '../Theme'; var Form = withTheme(Theme); var RjsfForm = React.forwardRef(function (props, ref) { var wrapperCol = props.wrapperCol, labelAlign = props.labelAlign, labelCol = props.labelCol, layout = props.layout, colon = props.colon, _a = props.objectFieldTemplates, objectFieldTemplates = _a === void 0 ? {} : _a; var renderForm = function (_a) { var _b; var getPrefixCls = _a.getPrefixCls; var customizePrefixCls = props.prefixCls, hideRequiredMark = props.hideRequiredMark, _c = props.className, className = _c === void 0 ? '' : _c, layout = props.layout; var prefixCls = getPrefixCls('form', customizePrefixCls); var formClassName = classNames(prefixCls, (_b = {}, _b[prefixCls + "-horizontal"] = layout === 'horizontal', _b[prefixCls + "-vertical"] = layout === 'vertical', _b[prefixCls + "-inline"] = layout === 'inline', _b[prefixCls + "-hide-required-mark"] = hideRequiredMark, _b), className); var formProps = omit(props, [ 'prefixCls', 'className', 'layout', 'hideRequiredMark', 'wrapperCol', 'labelAlign', 'labelCol', 'colon' ]); return React.createElement(Form, __assign({}, formProps, { className: formClassName, ref: ref })); }; return (React.createElement(ObjectFieldTemplateContext.Provider, { value: objectFieldTemplates }, React.createElement(FormContext.Provider, { value: { wrapperCol: wrapperCol, labelAlign: labelAlign, labelCol: labelCol, vertical: layout === 'vertical', colon: colon } }, React.createElement(ConfigConsumer, null, renderForm)))); }); export default RjsfForm; //# sourceMappingURL=Form.js.map