UNPKG

rjsf-antd

Version:

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

50 lines (49 loc) 2.69 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var react_1 = tslib_1.__importDefault(require("react")); var config_provider_1 = require("antd/lib/config-provider"); var context_1 = tslib_1.__importDefault(require("antd/lib/form/context")); var omit_js_1 = tslib_1.__importDefault(require("omit.js")); var classnames_1 = tslib_1.__importDefault(require("classnames")); var ObjectFieldTemplateContext_1 = tslib_1.__importDefault(require("../ObjectFieldTemplate/ObjectFieldTemplateContext")); var withTheme_1 = tslib_1.__importDefault(require("../Theme/withTheme")); var Theme_1 = tslib_1.__importDefault(require("../Theme")); var Form = withTheme_1.default(Theme_1.default); var RjsfForm = react_1.default.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_1.default(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_js_1.default(props, [ 'prefixCls', 'className', 'layout', 'hideRequiredMark', 'wrapperCol', 'labelAlign', 'labelCol', 'colon' ]); return react_1.default.createElement(Form, tslib_1.__assign({}, formProps, { className: formClassName, ref: ref })); }; return (react_1.default.createElement(ObjectFieldTemplateContext_1.default.Provider, { value: objectFieldTemplates }, react_1.default.createElement(context_1.default.Provider, { value: { wrapperCol: wrapperCol, labelAlign: labelAlign, labelCol: labelCol, vertical: layout === 'vertical', colon: colon } }, react_1.default.createElement(config_provider_1.ConfigConsumer, null, renderForm)))); }); exports.default = RjsfForm; //# sourceMappingURL=Form.js.map