import { __extends } from 'tslib';
import { Input, HostBinding, Directive, NgModule } from '@angular/core';
import { MatInput } from '@angular/material';
import { coerceBooleanProperty } from '@angular/cdk/coercion';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';

/**
 * @fileoverview added by tsickle
 * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
 */
var GrwitInput = /** @class */ (function (_super) {
    __extends(GrwitInput, _super);
    function GrwitInput() {
        return _super !== null && _super.apply(this, arguments) || this;
    }
    Object.defineProperty(GrwitInput.prototype, "placeholder", {
        /** Placeholder to be shown if no value has been selected. */
        get: /**
         * Placeholder to be shown if no value has been selected.
         * @return {?}
         */
        function () { return this._placeholder; },
        set: /**
         * @param {?} value
         * @return {?}
         */
        function (value) {
            this._placeholder = value;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GrwitInput.prototype, "required", {
        /** Whether the component is required. */
        get: /**
         * Whether the component is required.
         * @return {?}
         */
        function () { return this._required; },
        set: /**
         * @param {?} value
         * @return {?}
         */
        function (value) {
            this._required = coerceBooleanProperty(value);
        },
        enumerable: true,
        configurable: true
    });
    GrwitInput.decorators = [
        { type: Directive, args: [{
                    selector: "input[grwit-input], textarea[grwit-input], grwit-select",
                    exportAs: 'grwitInput',
                },] },
    ];
    GrwitInput.propDecorators = {
        placeholder: [{ type: HostBinding, args: ['attr.placeholder',] }, { type: Input }],
        required: [{ type: Input }]
    };
    return GrwitInput;
}(MatInput));

/**
 * @fileoverview added by tsickle
 * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
 */
var GrwitInputModule = /** @class */ (function () {
    function GrwitInputModule() {
    }
    GrwitInputModule.decorators = [
        { type: NgModule, args: [{
                    imports: [
                        CommonModule,
                        FormsModule
                    ],
                    declarations: [GrwitInput],
                    exports: [GrwitInput]
                },] },
    ];
    return GrwitInputModule;
}());

/**
 * @fileoverview added by tsickle
 * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
 */

/**
 * @fileoverview added by tsickle
 * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
 */

export { GrwitInput, GrwitInputModule };

//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3J3aXQtYmxvY2tzLWlucHV0LmpzLm1hcCIsInNvdXJjZXMiOlsibmc6Ly9AZ3J3aXQvYmxvY2tzL2lucHV0L2lucHV0LnRzIiwibmc6Ly9AZ3J3aXQvYmxvY2tzL2lucHV0L2lucHV0Lm1vZHVsZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyAgSW5wdXQsIEhvc3RCaW5kaW5nLCBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6IGBpbnB1dFtncndpdC1pbnB1dF0sIHRleHRhcmVhW2dyd2l0LWlucHV0XSwgZ3J3aXQtc2VsZWN0YCxcbiAgICBleHBvcnRBczogJ2dyd2l0SW5wdXQnLFxufSlcbmV4cG9ydCBjbGFzcyBHcndpdElucHV0IGV4dGVuZHMgTWF0SW5wdXQge1xuICAgIC8qKiBQbGFjZWhvbGRlciB0byBiZSBzaG93biBpZiBubyB2YWx1ZSBoYXMgYmVlbiBzZWxlY3RlZC4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIucGxhY2Vob2xkZXInKVxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IHBsYWNlaG9sZGVyKCk6IHN0cmluZyB7IHJldHVybiB0aGlzLl9wbGFjZWhvbGRlcjsgfVxuICAgIHNldCBwbGFjZWhvbGRlcih2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX3BsYWNlaG9sZGVyID0gdmFsdWU7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfcGxhY2Vob2xkZXI7XG5cbiAgICAvKiogV2hldGhlciB0aGUgY29tcG9uZW50IGlzIHJlcXVpcmVkLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IHJlcXVpcmVkKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5fcmVxdWlyZWQ7IH1cbiAgICBzZXQgcmVxdWlyZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fcmVxdWlyZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgX3JlcXVpcmVkO1xufVxuIiwiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEdyd2l0SW5wdXQgfSBmcm9tICcuL2lucHV0JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtHcndpdElucHV0XSxcbiAgZXhwb3J0czogW0dyd2l0SW5wdXRdXG59KVxuZXhwb3J0IGNsYXNzIEdyd2l0SW5wdXRNb2R1bGUgeyB9XG4iXSwibmFtZXMiOlsidHNsaWJfMS5fX2V4dGVuZHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQVFnQ0EsOEJBQVE7Ozs7SUFFcEMsc0JBRUksbUNBQVc7Ozs7OztRQUZmLGNBRTRCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFOzs7OztRQUN2RCxVQUFnQixLQUFhO1lBQ3pCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1NBQzdCOzs7T0FIc0Q7SUFPdkQsc0JBQ0ksZ0NBQVE7Ozs7OztRQURaLGNBQzBCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFOzs7OztRQUNsRCxVQUFhLEtBQWM7WUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNqRDs7O09BSGlEOztnQkFoQnJELFNBQVMsU0FBQztvQkFDUCxRQUFRLEVBQUUseURBQXlEO29CQUNuRSxRQUFRLEVBQUUsWUFBWTtpQkFDekI7Ozs4QkFHSSxXQUFXLFNBQUMsa0JBQWtCLGNBQzlCLEtBQUs7MkJBUUwsS0FBSzs7cUJBbkJWO0VBUWdDLFFBQVE7Ozs7OztBQ1J4Qzs7OztnQkFLQyxRQUFRLFNBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVztxQkFDWjtvQkFDRCxZQUFZLEVBQUUsQ0FBQyxVQUFVLENBQUM7b0JBQzFCLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQztpQkFDdEI7OzJCQVpEOzs7Ozs7Ozs7Ozs7Ozs7In0=