UNPKG

@oceanbase/design

Version:
82 lines 5.58 kB
var _excluded = ["children", "label", "tooltip", "action", "layout", "prefixCls", "className"], _excluded2 = ["icon", "type", "overlayInnerStyle"]; function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); } function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } 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); } function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } import React, { useContext } from 'react'; import { Form as AntForm } from 'antd'; import { FormContext } from 'antd/es/form/context'; import { isPlainObject } from 'lodash'; import classNames from 'classnames'; import ConfigProvider from "../config-provider"; import { useTooltipTypeList } from "../tooltip/hooks/useTooltipTypeList"; import useStyle from "./style"; import { jsx as _jsx } from "react/jsx-runtime"; import { Fragment as _Fragment } from "react/jsx-runtime"; import { jsxs as _jsxs } from "react/jsx-runtime"; var AntFormItem = AntForm.Item; export * from 'antd/es/form/FormItem'; var FormItem = function FormItem(_ref) { var _children$type; var children = _ref.children, label = _ref.label, tooltip = _ref.tooltip, action = _ref.action, externalLayout = _ref.layout, customizePrefixCls = _ref.prefixCls, className = _ref.className, restProps = _objectWithoutProperties(_ref, _excluded); var _useContext = useContext(ConfigProvider.ConfigContext), getPrefixCls = _useContext.getPrefixCls; var prefixCls = getPrefixCls('form', customizePrefixCls); var _useStyle = useStyle(prefixCls), wrapSSR = _useStyle.wrapSSR; var formItemCls = classNames(className); var _useContext2 = useContext(FormContext), contextLayout = _useContext2.layout, vertical = _useContext2.vertical; var layout = externalLayout || contextLayout; var typeList = useTooltipTypeList(); // tooltip config if (_typeof(tooltip) === 'object' && ! /*#__PURE__*/React.isValidElement(tooltip)) { var _ref2 = tooltip, icon = _ref2.icon, type = _ref2.type, overlayInnerStyle = _ref2.overlayInnerStyle, restTooltipProps = _objectWithoutProperties(_ref2, _excluded2); var typeItem = typeList.find(function (item) { return item.type === type; }); tooltip = _objectSpread({ color: typeItem === null || typeItem === void 0 ? void 0 : typeItem.backgroundColor, overlayInnerStyle: _objectSpread({ color: typeItem === null || typeItem === void 0 ? void 0 : typeItem.color }, overlayInnerStyle) }, restTooltipProps); } return wrapSSR( /*#__PURE__*/_jsx(AntFormItem, _objectSpread(_objectSpread({ layout: layout, label: action && (layout === 'vertical' || vertical) ? /*#__PURE__*/_jsxs(_Fragment, { children: [label, action && /*#__PURE__*/_jsx("span", { className: "".concat(prefixCls, "-item-action"), children: action })] }) : label, tooltip: tooltip // auto set required for Switch children to hide optional mark // @ts-ignore , required: isPlainObject(children) && (_children$type = children.type) !== null && _children$type !== void 0 && _children$type.__ANT_SWITCH ? true : undefined, prefixCls: customizePrefixCls, className: formItemCls }, restProps), {}, { children: children }))); }; FormItem.useStatus = AntFormItem.useStatus; export default FormItem;