import _extends from "babel-runtime/helpers/extends";
import _classCallCheck from "babel-runtime/helpers/classCallCheck";
import _createClass from "babel-runtime/helpers/createClass";
import _possibleConstructorReturn from "babel-runtime/helpers/possibleConstructorReturn";
import _inherits from "babel-runtime/helpers/inherits";
var __rest = this && this.__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;
};
import React, { Component } from "react";
import AntdInput from "antd/es/input";
import PagePoint from "../page-point/pagePointEnhanced";
import { ConfigConsumer } from "../config-provider";
import "antd/es/input/style";
var TextArea = AntdInput.TextArea,
    Search = AntdInput.Search,
    Group = AntdInput.Group,
    Password = AntdInput.Password;

var FdxInput = function (_Component) {
    _inherits(FdxInput, _Component);

    function FdxInput() {
        _classCallCheck(this, FdxInput);

        return _possibleConstructorReturn(this, (FdxInput.__proto__ || Object.getPrototypeOf(FdxInput)).apply(this, arguments));
    }

    _createClass(FdxInput, [{
        key: "render",
        value: function render() {
            var _a = this.props,
                forwardedRef = _a.forwardedRef,
                rest = __rest(_a, ["forwardedRef"]);
            return React.createElement(AntdInput, _extends({ ref: forwardedRef }, rest));
        }
    }]);

    return FdxInput;
}(Component);

var Input = React.forwardRef(function (props, ref) {
    return React.createElement(
        ConfigConsumer,
        null,
        function (_ref) {
            var pagePoint = _ref.pagePoint;
            return pagePoint ? React.createElement(PagePoint, _extends({ compType: "Input" }, props, { render: function render(eventprops) {
                    return React.createElement(FdxInput, _extends({}, props, eventprops, { forwardedRef: ref, "data-ui-role": "Input" }));
                } })) : React.createElement(FdxInput, _extends({}, props, { forwardedRef: ref }));
        }
    );
});
Input.TextArea = TextArea;
Input.Search = Search;
Input.Group = Group;
Input.Password = Password;
export default Input;