var __extends = (this && this.__extends) || (function () { var extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return function (d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); (function (factory) { if (typeof module === "object" && typeof module.exports === "object") { var v = factory(require, exports); if (v !== undefined) module.exports = v; } else if (typeof define === "function" && define.amd) { define(["require", "exports", "@angular/core", "@angular/forms", "rxjs/Subject", "rxjs/add/operator/takeUntil", "../app/app", "../../config/config", "../content/content", "../../util/dom", "../../platform/dom-controller", "../../util/form", "../../util/base-input", "../../util/util", "../item/item", "../../platform/platform"], factory); } })(function (require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var core_1 = require("@angular/core"); var forms_1 = require("@angular/forms"); var Subject_1 = require("rxjs/Subject"); require("rxjs/add/operator/takeUntil"); var app_1 = require("../app/app"); var config_1 = require("../../config/config"); var content_1 = require("../content/content"); var dom_1 = require("../../util/dom"); var dom_controller_1 = require("../../platform/dom-controller"); var form_1 = require("../../util/form"); var base_input_1 = require("../../util/base-input"); var util_1 = require("../../util/util"); var item_1 = require("../item/item"); var platform_1 = require("../../platform/platform"); /** * @name Input * @description * * `ion-input` is meant for text type inputs only, such as `text`, * `password`, `email`, `number`, `search`, `tel`, and `url`. Ionic * still uses an actual `` HTML element within the * component, however, with Ionic wrapping the native HTML input * element it's better able to handle the user experience and * interactivity. * * Similarly, `` should be used in place of `' + '' + '
', encapsulation: core_1.ViewEncapsulation.None, changeDetection: core_1.ChangeDetectionStrategy.OnPush, inputs: ['value'] },] }, ]; /** @nocollapse */ TextInput.ctorParameters = function () { return [ { type: config_1.Config, }, { type: platform_1.Platform, }, { type: form_1.Form, }, { type: app_1.App, }, { type: core_1.ElementRef, }, { type: core_1.Renderer, }, { type: content_1.Content, decorators: [{ type: core_1.Optional },] }, { type: item_1.Item, decorators: [{ type: core_1.Optional },] }, { type: forms_1.NgControl, decorators: [{ type: core_1.Optional },] }, { type: dom_controller_1.DomController, }, ]; }; TextInput.propDecorators = { 'clearInput': [{ type: core_1.Input },], 'type': [{ type: core_1.Input },], 'readonly': [{ type: core_1.Input },], 'clearOnEdit': [{ type: core_1.Input },], '_native': [{ type: core_1.ViewChild, args: ['textInput', { read: core_1.ElementRef },] },], 'autocomplete': [{ type: core_1.Input },], 'autocorrect': [{ type: core_1.Input },], 'placeholder': [{ type: core_1.Input },], 'min': [{ type: core_1.Input },], 'max': [{ type: core_1.Input },], 'step': [{ type: core_1.Input },], 'input': [{ type: core_1.Output },], 'blur': [{ type: core_1.Output },], 'focus': [{ type: core_1.Output },], }; return TextInput; }(base_input_1.BaseInput)); exports.TextInput = TextInput; /** * @name TextArea * @description * * `ion-textarea` is used for multi-line text inputs. Ionic still * uses an actual `