"use strict";

Object.defineProperty(exports, "__esModule", {
    value: true
});

var _extends2 = require("babel-runtime/helpers/extends");

var _extends3 = _interopRequireDefault(_extends2);

var _classCallCheck2 = require("babel-runtime/helpers/classCallCheck");

var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);

var _createClass2 = require("babel-runtime/helpers/createClass");

var _createClass3 = _interopRequireDefault(_createClass2);

var _possibleConstructorReturn2 = require("babel-runtime/helpers/possibleConstructorReturn");

var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);

var _inherits2 = require("babel-runtime/helpers/inherits");

var _inherits3 = _interopRequireDefault(_inherits2);

var _react = require("react");

var _react2 = _interopRequireDefault(_react);

var _autoComplete = require("antd/lib/auto-complete");

var _autoComplete2 = _interopRequireDefault(_autoComplete);

require("antd/lib/auto-complete/style");

var _pagePointEnhanced = require("../page-point/pagePointEnhanced");

var _pagePointEnhanced2 = _interopRequireDefault(_pagePointEnhanced);

var _configProvider = require("../config-provider");

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

var __rest = undefined && undefined.__rest || function (s, e) {
    var t = {};
    for (var p in s) {
        if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
    }if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
        if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
    }
    return t;
};
var Option = _autoComplete2["default"].Option,
    OptGroup = _autoComplete2["default"].OptGroup;

var FdxAutoComplete = function (_Component) {
    (0, _inherits3["default"])(FdxAutoComplete, _Component);

    function FdxAutoComplete() {
        (0, _classCallCheck3["default"])(this, FdxAutoComplete);
        return (0, _possibleConstructorReturn3["default"])(this, (FdxAutoComplete.__proto__ || Object.getPrototypeOf(FdxAutoComplete)).apply(this, arguments));
    }

    (0, _createClass3["default"])(FdxAutoComplete, [{
        key: "render",
        value: function render() {
            var _a = this.props,
                forwardedRef = _a.forwardedRef,
                rest = __rest(_a, ["forwardedRef"]);
            return _react2["default"].createElement(_autoComplete2["default"], (0, _extends3["default"])({}, rest, { ref: forwardedRef }));
        }
    }]);
    return FdxAutoComplete;
}(_react.Component);

var AutoComplete = _react2["default"].forwardRef(function (props, ref) {
    return _react2["default"].createElement(
        _configProvider.ConfigConsumer,
        null,
        function (_ref) {
            var pagePoint = _ref.pagePoint;
            return pagePoint ? _react2["default"].createElement(_pagePointEnhanced2["default"], (0, _extends3["default"])({ compType: "AutoComplete" }, props, { render: function render(eventprops) {
                    return _react2["default"].createElement(FdxAutoComplete, (0, _extends3["default"])({}, props, { forwardedRef: ref }, eventprops, { "data-ui-role": "AutoComplete" }));
                } })) : _react2["default"].createElement(FdxAutoComplete, (0, _extends3["default"])({}, props, { forwardedRef: ref }));
        }
    );
});
AutoComplete.Option = Option;
AutoComplete.OptGroup = OptGroup;
exports["default"] = AutoComplete;
module.exports = exports['default'];