UNPKG

tntd

Version:

tntd是基于 TNT Design 设计体系的 React UI 组件库,主要用于研发企业级中后台产品。

126 lines (124 loc) 4.58 kB
"use strict"; function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _classnames = _interopRequireDefault(require("classnames")); var React = _interopRequireWildcard(require("react")); var _col = _interopRequireDefault(require("../grid-v4/col")); var _context = require("./context"); var _ErrorList = _interopRequireDefault(require("./ErrorList")); function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; } function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; } var FormItemInput = function FormItemInput(props) { var prefixCls = props.prefixCls, status = props.status, wrapperCol = props.wrapperCol, children = props.children, errors = props.errors, warnings = props.warnings, formItemRender = props._internalItemRender, extra = props.extra, help = props.help, fieldId = props.fieldId, marginBottom = props.marginBottom, onErrorVisibleChanged = props.onErrorVisibleChanged; var baseClassName = "".concat(prefixCls, "-item"); var formContext = React.useContext(_context.FormContext); var mergedWrapperCol = wrapperCol || formContext.wrapperCol || {}; var className = (0, _classnames["default"])("".concat(baseClassName, "-control"), mergedWrapperCol.className); // Pass to sub FormItem should not with col info var subFormContext = React.useMemo(function () { return Object.assign({}, formContext); }, [formContext]); delete subFormContext.labelCol; delete subFormContext.wrapperCol; var inputDom = React.createElement("div", { className: "".concat(baseClassName, "-control-input") }, React.createElement("div", { className: "".concat(baseClassName, "-control-input-content") }, children)); var formItemContext = React.useMemo(function () { return { prefixCls: prefixCls, status: status }; }, [prefixCls, status]); var errorListDom = marginBottom !== null || errors.length || warnings.length ? React.createElement("div", { style: { display: 'flex', flexWrap: 'nowrap' } }, React.createElement(_context.FormItemPrefixContext.Provider, { value: formItemContext }, React.createElement(_ErrorList["default"], { fieldId: fieldId, errors: errors, warnings: warnings, help: help, helpStatus: status, className: "".concat(baseClassName, "-explain-connected"), onVisibleChanged: onErrorVisibleChanged })), !!marginBottom && React.createElement("div", { style: { width: 0, height: marginBottom } })) : null; var extraProps = {}; if (fieldId) { extraProps.id = "".concat(fieldId, "_extra"); } // If extra = 0, && will goes wrong // 0&&error -> 0 var extraDom = extra ? React.createElement("div", Object.assign({}, extraProps, { className: "".concat(baseClassName, "-extra") }), extra) : null; var dom = formItemRender && formItemRender.mark === 'pro_table_render' && formItemRender.render ? formItemRender.render(props, { input: inputDom, errorList: errorListDom, extra: extraDom }) : React.createElement(React.Fragment, null, inputDom, errorListDom, extraDom); return React.createElement(_context.FormContext.Provider, { value: subFormContext }, React.createElement(_col["default"], Object.assign({}, mergedWrapperCol, { className: className }), dom)); }; var _default = exports["default"] = FormItemInput;