/**
 * @fileoverview added by tsickle
 * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
 */
import * as tslib_1 from "tslib";
import { IgxDropDownItemComponent } from './../drop-down/drop-down-item.component';
import { Component, Input } from '@angular/core';
var IgxSelectItemComponent = /** @class */ (function (_super) {
    tslib_1.__extends(IgxSelectItemComponent, _super);
    function IgxSelectItemComponent() {
        return _super !== null && _super.apply(this, arguments) || this;
    }
    Object.defineProperty(IgxSelectItemComponent.prototype, "text", {
        /**
         * An @Input property that gets/sets the item's text to be displayed in the select component's input when the item is selected.
         *
         * ```typescript
         *  //get
         *  let mySelectedItem = this.dropDown.selectedItem;
         *  let selectedItemText = mySelectedItem.text;
         * ```
    
         * ```html
         * // set
         * <igx-select-item [text]="'London'"></igx-select-item>
         * ```
         */
        get: /**
         * An \@Input property that gets/sets the item's text to be displayed in the select component's input when the item is selected.
         *
         * ```typescript
         *  //get
         *  let mySelectedItem = this.dropDown.selectedItem;
         *  let selectedItemText = mySelectedItem.text;
         * ```
         * ```html
         * // set
         * <igx-select-item [text]="'London'"></igx-select-item>
         * ```
         * @return {?}
         */
        function () {
            return this._text;
        },
        set: /**
         * @param {?} text
         * @return {?}
         */
        function (text) {
            this._text = text;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgxSelectItemComponent.prototype, "itemText", {
        /** @hidden @internal */
        get: /**
         * @hidden \@internal
         * @return {?}
         */
        function () {
            if (this._text !== undefined) {
                return this._text;
            }
            // If text @Input is undefined, try extract a meaningful item text out of the item template
            return this.elementRef.nativeElement.textContent.trim();
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgxSelectItemComponent.prototype, "selected", {
        /**
         * Sets/Gets if the item is the currently selected one in the select
         *
         * ```typescript
         *  let mySelectedItem = this.select.selectedItem;
         *  let isMyItemSelected = mySelectedItem.selected; // true
         * ```
         */
        get: /**
         * Sets/Gets if the item is the currently selected one in the select
         *
         * ```typescript
         *  let mySelectedItem = this.select.selectedItem;
         *  let isMyItemSelected = mySelectedItem.selected; // true
         * ```
         * @return {?}
         */
        function () {
            return !this.isHeader && !this.disabled && this.selection.is_item_selected(this.dropDown.id, this);
        },
        set: /**
         * @param {?} value
         * @return {?}
         */
        function (value) {
            if (value && !this.isHeader && !this.disabled) {
                this.dropDown.selectItem(this);
            }
        },
        enumerable: true,
        configurable: true
    });
    /**
     * @return {?}
     */
    IgxSelectItemComponent.prototype.ngDoCheck = /**
     * @return {?}
     */
    function () {
    };
    IgxSelectItemComponent.decorators = [
        { type: Component, args: [{
                    selector: 'igx-select-item',
                    template: '<ng-content></ng-content>'
                }] }
    ];
    IgxSelectItemComponent.propDecorators = {
        text: [{ type: Input }]
    };
    return IgxSelectItemComponent;
}(IgxDropDownItemComponent));
export { IgxSelectItemComponent };
if (false) {
    /**
     * @type {?}
     * @private
     */
    IgxSelectItemComponent.prototype._text;
    /**
     * @hidden \@internal
     * @type {?}
     */
    IgxSelectItemComponent.prototype.isHeader;
}
//# sourceMappingURL=data:application/json;base64, 