/**
 * @fileoverview added by tsickle
 * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
 */
import { Component, Input, HostBinding } from '@angular/core';
/** @type {?} */
var NEXT_ID = 0;
/**
 * The `<igx-drop-down-item>` is a container intended for row items in
 * a `<igx-drop-down>` container.
 */
var IgxDropDownGroupComponent = /** @class */ (function () {
    function IgxDropDownGroupComponent() {
        this._id = NEXT_ID++;
        /**
         * @hidden \@internal
         */
        this.role = 'group';
        /**
         * @hidden \@internal
         */
        this.groupClass = true;
        /**
         * Sets/gets if the item group is disabled
         *
         * ```typescript
         * const myDropDownGroup: IgxDropDownGroupComponent = this.dropdownGroup;
         * // get
         * ...
         * const groupState: boolean = myDropDownGroup.disabled;
         * ...
         * //set
         * ...
         * myDropDownGroup,disabled = false;
         * ...
         * ```
         *
         * ```html
         * <igx-drop-down-item-group [label]="'My Items'" [disabled]="true">
         *     <igx-drop-down-item *ngFor="let item of items[index]" [value]="item.value">
         *         {{ item.text }}
         *     </igx-drop-down-item>
         * </igx-drop-down-item-group>
         * ```
         *
         * **NOTE:** All items inside of a disabled drop down group will be treated as disabled
         */
        this.disabled = false;
    }
    Object.defineProperty(IgxDropDownGroupComponent.prototype, "labelId", {
        /**
         * @hidden @internal
         */
        get: /**
         * @hidden \@internal
         * @return {?}
         */
        function () {
            return "igx-item-group-label-" + this._id;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgxDropDownGroupComponent.prototype, "labelledBy", {
        get: /**
         * @return {?}
         */
        function () {
            return this.labelId;
        },
        enumerable: true,
        configurable: true
    });
    IgxDropDownGroupComponent.decorators = [
        { type: Component, args: [{
                    selector: 'igx-drop-down-item-group',
                    template: "\n        <label id=\"{{labelId}}\">{{ label }}</label>\n        <ng-content select=\"igx-drop-down-item\"></ng-content>\n    "
                }] }
    ];
    IgxDropDownGroupComponent.propDecorators = {
        labelledBy: [{ type: HostBinding, args: ["attr.aria-labelledby",] }],
        role: [{ type: HostBinding, args: ['attr.role',] }],
        groupClass: [{ type: HostBinding, args: ['class.igx-drop-down__group',] }],
        disabled: [{ type: Input }, { type: HostBinding, args: ["attr.aria-disabled",] }, { type: HostBinding, args: ['class.igx-drop-down__group--disabled',] }],
        label: [{ type: Input }]
    };
    return IgxDropDownGroupComponent;
}());
export { IgxDropDownGroupComponent };
if (false) {
    /**
     * @type {?}
     * @private
     */
    IgxDropDownGroupComponent.prototype._id;
    /**
     * @hidden \@internal
     * @type {?}
     */
    IgxDropDownGroupComponent.prototype.role;
    /**
     * @hidden \@internal
     * @type {?}
     */
    IgxDropDownGroupComponent.prototype.groupClass;
    /**
     * Sets/gets if the item group is disabled
     *
     * ```typescript
     * const myDropDownGroup: IgxDropDownGroupComponent = this.dropdownGroup;
     * // get
     * ...
     * const groupState: boolean = myDropDownGroup.disabled;
     * ...
     * //set
     * ...
     * myDropDownGroup,disabled = false;
     * ...
     * ```
     *
     * ```html
     * <igx-drop-down-item-group [label]="'My Items'" [disabled]="true">
     *     <igx-drop-down-item *ngFor="let item of items[index]" [value]="item.value">
     *         {{ item.text }}
     *     </igx-drop-down-item>
     * </igx-drop-down-item-group>
     * ```
     *
     * **NOTE:** All items inside of a disabled drop down group will be treated as disabled
     * @type {?}
     */
    IgxDropDownGroupComponent.prototype.disabled;
    /**
     * Sets/gets the label of the item group
     *
     * ```typescript
     * const myDropDownGroup: IgxDropDownGroupComponent = this.dropdownGroup;
     * // get
     * ...
     * const myLabel: string = myDropDownGroup.label;
     * ...
     * // set
     * ...
     * myDropDownGroup.label = 'My New Label';
     * ...
     * ```
     *
     * ```html
     * <igx-drop-down-item-group [label]="'My new Label'">
     *      ...
     * </igx-drop-down-item-group>
     * ```
     * @type {?}
     */
    IgxDropDownGroupComponent.prototype.label;
}
//# sourceMappingURL=data:application/json;base64, 