import { ElementRef, EventEmitter, Renderer } from '@angular/core'; import { NgControl } from '@angular/forms'; import { Subject } from 'rxjs/Subject'; import 'rxjs/add/operator/takeUntil'; import { App } from '../app/app'; import { Config } from '../../config/config'; import { Content, ContentDimensions } from '../content/content'; import { DomController } from '../../platform/dom-controller'; import { Form, IonicFormInput } from '../../util/form'; import { BaseInput } from '../../util/base-input'; import { Item } from '../item/item'; import { Platform } from '../../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 `