/**
 * @fileoverview added by tsickle
 * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
 */
import { Component, ViewEncapsulation, ChangeDetectionStrategy, Input, Output, EventEmitter, ElementRef, TemplateRef, ViewChild } from '@angular/core';
/** @type {?} */
var nextUniqueId = 0;
var GrwitRadioButton = /** @class */ (function () {
    function GrwitRadioButton(_elementRef) {
        this._elementRef = _elementRef;
        this._uniqueId = "grwit-radio-" + ++nextUniqueId;
        /**
         * The unique ID for the radio button.
         */
        this.id = this._uniqueId;
        /**
         * Event emitted when the checked state of this radio button changes.
         * Change events are only emitted when the value changes due to user interaction with
         * the radio button (the same behavior as `<input type-"radio">`).
         */
        this.change = new EventEmitter();
        this.click = new EventEmitter();
    }
    /**
     * @param {?} $event
     * @return {?}
     */
    GrwitRadioButton.prototype.changeProxy = /**
     * @param {?} $event
     * @return {?}
     */
    function ($event) {
        this.change.emit($event);
    };
    /**
     * @param {?} $event
     * @return {?}
     */
    GrwitRadioButton.prototype.clickProxy = /**
     * @param {?} $event
     * @return {?}
     */
    function ($event) {
        this.click.emit($event);
    };
    GrwitRadioButton.decorators = [
        { type: Component, args: [{
                    selector: 'grwit-radio-button',
                    template: "<ng-template #radioButtonTemplate><ng-content></ng-content></ng-template>",
                    styles: ["::ng-deep mat-radio-button .mat-radio-container,::ng-deep mat-radio-button .mat-radio-inner-circle,::ng-deep mat-radio-button .mat-radio-outer-circle{height:17px;width:17px}"],
                    encapsulation: ViewEncapsulation.None,
                    exportAs: 'grwitRadioButton',
                    changeDetection: ChangeDetectionStrategy.OnPush,
                },] },
    ];
    /** @nocollapse */
    GrwitRadioButton.ctorParameters = function () { return [
        { type: ElementRef }
    ]; };
    GrwitRadioButton.propDecorators = {
        id: [{ type: Input }],
        name: [{ type: Input }],
        class: [{ type: Input }],
        ariaLabel: [{ type: Input, args: ['aria-label',] }],
        ariaLabelledby: [{ type: Input, args: ['aria-labelledby',] }],
        ariaDescribedby: [{ type: Input, args: ['aria-describedby',] }],
        checked: [{ type: Input }],
        value: [{ type: Input }],
        labelPosition: [{ type: Input }],
        disabled: [{ type: Input }],
        required: [{ type: Input }],
        change: [{ type: Output }],
        click: [{ type: Output }],
        templateRef: [{ type: ViewChild, args: ['radioButtonTemplate', { read: TemplateRef },] }]
    };
    return GrwitRadioButton;
}());
export { GrwitRadioButton };
if (false) {
    /** @type {?} */
    GrwitRadioButton.prototype._uniqueId;
    /**
     * The unique ID for the radio button.
     * @type {?}
     */
    GrwitRadioButton.prototype.id;
    /**
     * Analog to HTML 'name' attribute used to group radios for unique selection.
     * @type {?}
     */
    GrwitRadioButton.prototype.name;
    /** @type {?} */
    GrwitRadioButton.prototype.class;
    /**
     * Used to set the 'aria-label' attribute on the underlying input element.
     * @type {?}
     */
    GrwitRadioButton.prototype.ariaLabel;
    /**
     * The 'aria-labelledby' attribute takes precedence as the element's text alternative.
     * @type {?}
     */
    GrwitRadioButton.prototype.ariaLabelledby;
    /**
     * The 'aria-describedby' attribute is read after the element's label and field type.
     * @type {?}
     */
    GrwitRadioButton.prototype.ariaDescribedby;
    /**
     * Whether this radio button is checked.
     * @type {?}
     */
    GrwitRadioButton.prototype.checked;
    /**
     * The value of this radio button.
     * @type {?}
     */
    GrwitRadioButton.prototype.value;
    /**
     * Whether the label should appear after or before the radio button. Defaults to 'after'
     * @type {?}
     */
    GrwitRadioButton.prototype.labelPosition;
    /**
     * Whether the radio button is disabled.
     * @type {?}
     */
    GrwitRadioButton.prototype.disabled;
    /**
     * Whether the radio button is required.
     * @type {?}
     */
    GrwitRadioButton.prototype.required;
    /**
     * Event emitted when the checked state of this radio button changes.
     * Change events are only emitted when the value changes due to user interaction with
     * the radio button (the same behavior as `<input type-"radio">`).
     * @type {?}
     */
    GrwitRadioButton.prototype.change;
    /** @type {?} */
    GrwitRadioButton.prototype.click;
    /** @type {?} */
    GrwitRadioButton.prototype.templateRef;
    /** @type {?} */
    GrwitRadioButton.prototype._elementRef;
}

//# sourceMappingURL=data:application/json;base64, 