/**
 * @fileoverview added by tsickle
 * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
 */
import { Component, HostBinding, ElementRef, Input, ChangeDetectorRef, Inject } from '@angular/core';
import { IGX_EXPANSION_PANEL_COMPONENT } from './expansion-panel.common';
var IgxExpansionPanelBodyComponent = /** @class */ (function () {
    function IgxExpansionPanelBodyComponent(panel, element, cdr) {
        this.panel = panel;
        this.element = element;
        this.cdr = cdr;
        this._labelledBy = '';
        this._label = '';
        /**
         * @hidden
         */
        this.cssClass = "igx-expansion-panel__body";
        /**
         * Gets/sets the `role` attribute of the panel body
         * Default is 'region';
         * Get
         * ```typescript
         *  const currentRole = this.panel.body.role;
         * ```
         * Set
         * ```typescript
         *  this.panel.body.role = 'content';
         * ```
         * ```html
         *  <igx-expansion-panel-body [role]="'custom'"></igx-expansion-panel-body>
         * ```
         */
        this.role = 'region';
    }
    Object.defineProperty(IgxExpansionPanelBodyComponent.prototype, "label", {
        /**
         * Gets the `aria-label` attribute of the panel body
         * Defaults to the panel id with '-region' in the end;
         * Get
         * ```typescript
         *  const currentLabel = this.panel.body.label;
         * ```
         */
        get: /**
         * Gets the `aria-label` attribute of the panel body
         * Defaults to the panel id with '-region' in the end;
         * Get
         * ```typescript
         *  const currentLabel = this.panel.body.label;
         * ```
         * @return {?}
         */
        function () {
            return this._label || this.panel.id + '-region';
        },
        /**
         * Sets the `aria-label` attribute of the panel body
         * ```typescript
         *  this.panel.body.label = 'my-custom-label';
         * ```
         * ```html
         *  <igx-expansion-panel-body [label]="'my-custom-label'"></igx-expansion-panel-body>
         * ```
         */
        set: /**
         * Sets the `aria-label` attribute of the panel body
         * ```typescript
         *  this.panel.body.label = 'my-custom-label';
         * ```
         * ```html
         *  <igx-expansion-panel-body [label]="'my-custom-label'"></igx-expansion-panel-body>
         * ```
         * @param {?} val
         * @return {?}
         */
        function (val) {
            this._label = val;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgxExpansionPanelBodyComponent.prototype, "labelledBy", {
        /**
         * Gets the `aria-labelledby` attribute of the panel body
         * Defaults to the panel header id;
         * Get
         * ```typescript
         *  const currentLabel = this.panel.body.labelledBy;
         * ```
         */
        get: /**
         * Gets the `aria-labelledby` attribute of the panel body
         * Defaults to the panel header id;
         * Get
         * ```typescript
         *  const currentLabel = this.panel.body.labelledBy;
         * ```
         * @return {?}
         */
        function () {
            return this._labelledBy;
        },
        /**
         * Sets the `aria-labelledby` attribute of the panel body
         * ```typescript
         *  this.panel.body.labelledBy = 'my-custom-id';
         * ```
         * ```html
         *  <igx-expansion-panel-body [labelledBy]="'my-custom-id'"></igx-expansion-panel-body>
         * ```
         */
        set: /**
         * Sets the `aria-labelledby` attribute of the panel body
         * ```typescript
         *  this.panel.body.labelledBy = 'my-custom-id';
         * ```
         * ```html
         *  <igx-expansion-panel-body [labelledBy]="'my-custom-id'"></igx-expansion-panel-body>
         * ```
         * @param {?} val
         * @return {?}
         */
        function (val) {
            this._labelledBy = val;
        },
        enumerable: true,
        configurable: true
    });
    /**
     * @return {?}
     */
    IgxExpansionPanelBodyComponent.prototype.ngOnInit = /**
     * @return {?}
     */
    function () {
        this.labelledBy = this.panel.headerId;
        this.label = this.panel.id + '-region';
    };
    IgxExpansionPanelBodyComponent.decorators = [
        { type: Component, args: [{
                    // tslint:disable-next-line:directive-selector
                    selector: 'igx-expansion-panel-body',
                    template: "<ng-content></ng-content>"
                }] }
    ];
    /** @nocollapse */
    IgxExpansionPanelBodyComponent.ctorParameters = function () { return [
        { type: undefined, decorators: [{ type: Inject, args: [IGX_EXPANSION_PANEL_COMPONENT,] }] },
        { type: ElementRef },
        { type: ChangeDetectorRef }
    ]; };
    IgxExpansionPanelBodyComponent.propDecorators = {
        cssClass: [{ type: HostBinding, args: ['class.igx-expansion-panel__body',] }],
        label: [{ type: Input }, { type: HostBinding, args: ['attr.aria-label',] }],
        labelledBy: [{ type: Input }, { type: HostBinding, args: ['attr.aria-labelledby',] }],
        role: [{ type: Input }, { type: HostBinding, args: ['attr.role',] }]
    };
    return IgxExpansionPanelBodyComponent;
}());
export { IgxExpansionPanelBodyComponent };
if (false) {
    /**
     * @type {?}
     * @private
     */
    IgxExpansionPanelBodyComponent.prototype._labelledBy;
    /**
     * @type {?}
     * @private
     */
    IgxExpansionPanelBodyComponent.prototype._label;
    /**
     * @hidden
     * @type {?}
     */
    IgxExpansionPanelBodyComponent.prototype.cssClass;
    /**
     * Gets/sets the `role` attribute of the panel body
     * Default is 'region';
     * Get
     * ```typescript
     *  const currentRole = this.panel.body.role;
     * ```
     * Set
     * ```typescript
     *  this.panel.body.role = 'content';
     * ```
     * ```html
     *  <igx-expansion-panel-body [role]="'custom'"></igx-expansion-panel-body>
     * ```
     * @type {?}
     */
    IgxExpansionPanelBodyComponent.prototype.role;
    /** @type {?} */
    IgxExpansionPanelBodyComponent.prototype.panel;
    /** @type {?} */
    IgxExpansionPanelBodyComponent.prototype.element;
    /** @type {?} */
    IgxExpansionPanelBodyComponent.prototype.cdr;
}
//# sourceMappingURL=data:application/json;base64, 