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 __()); }; })(); import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, Input, Optional, Output, Renderer, ViewChild, ViewEncapsulation } 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 } from '../content/content'; import { copyInputAttributes, hasPointerMoved, pointerCoord } from '../../util/dom'; import { DomController } from '../../platform/dom-controller'; import { Form } from '../../util/form'; import { BaseInput } from '../../util/base-input'; import { isTrueProperty } from '../../util/util'; 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 `' + '' + '
', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, inputs: ['value'] },] }, ]; /** @nocollapse */ TextInput.ctorParameters = function () { return [ { type: Config, }, { type: Platform, }, { type: Form, }, { type: App, }, { type: ElementRef, }, { type: Renderer, }, { type: Content, decorators: [{ type: Optional },] }, { type: Item, decorators: [{ type: Optional },] }, { type: NgControl, decorators: [{ type: Optional },] }, { type: DomController, }, ]; }; TextInput.propDecorators = { 'clearInput': [{ type: Input },], 'type': [{ type: Input },], 'readonly': [{ type: Input },], 'clearOnEdit': [{ type: Input },], '_native': [{ type: ViewChild, args: ['textInput', { read: ElementRef },] },], 'autocomplete': [{ type: Input },], 'autocorrect': [{ type: Input },], 'placeholder': [{ type: Input },], 'min': [{ type: Input },], 'max': [{ type: Input },], 'step': [{ type: Input },], 'input': [{ type: Output },], 'blur': [{ type: Output },], 'focus': [{ type: Output },], }; return TextInput; }(BaseInput)); export { TextInput }; /** * @name TextArea * @description * * `ion-textarea` is used for multi-line text inputs. Ionic still * uses an actual `