UNPKG

acud

Version:

acg react 组件库

55 lines (54 loc) • 2.58 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _react = _interopRequireDefault(require("react")); var _classnames = _interopRequireDefault(require("classnames")); var _select = _interopRequireDefault(require("../select")); var _configProvider = require("../config-provider"); var _reactNode = require("../_util/reactNode"); var _toArray = _interopRequireDefault(require("rc-util/lib/Children/toArray")); var Option = _select["default"].Option; function isSelectOptionOrSelectOptGroup(child) { return child && child.type && (child.type.isSelectOption || child.type.isSelectOptGroup); } var AutoComplete = function AutoComplete(props, ref) { var customizePrefixCls = props.prefixCls, className = props.className, children = props.children; var _React$useContext = _react["default"].useContext(_configProvider.ConfigContext), getPrefixCls = _React$useContext.getPrefixCls; var prefixCls = getPrefixCls('select', customizePrefixCls); var childNodes = (0, _toArray["default"])(children); // ============================= Input ============================= var customizeInput; if (childNodes.length === 1 && (0, _reactNode.isValidElement)(childNodes[0]) && !isSelectOptionOrSelectOptGroup(childNodes[0])) { var _childNodes = (0, _slicedToArray2["default"])(childNodes, 1); customizeInput = _childNodes[0]; } var getInputElement = customizeInput ? function () { return customizeInput; } : undefined; // ============================ Options ============================ var optionChildren; if (childNodes.length && isSelectOptionOrSelectOptGroup(childNodes[0])) { optionChildren = children; } else { optionChildren = []; } return /*#__PURE__*/_react["default"].createElement(_select["default"], (0, _extends2["default"])({ ref: ref }, props, { prefixCls: prefixCls, className: (0, _classnames["default"])("".concat(prefixCls, "-auto-complete"), className), mode: _select["default"].SECRET_COMBOBOX_MODE_DO_NOT_USE, getInputElement: getInputElement }), optionChildren); }; var RefAutoComplete = /*#__PURE__*/_react["default"].forwardRef(AutoComplete); RefAutoComplete.Option = Option; var _default = exports["default"] = RefAutoComplete; // export default AutoComplete;