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 `