@fivethree/core
Version:
Fivethree Core Components
138 lines • 8.99 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: lib/password-input/password-input.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, Input, forwardRef, HostBinding } from '@angular/core';
import { NG_VALUE_ACCESSOR } from '@angular/forms';
/** @type {?} */
export const CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR = {
provide: NG_VALUE_ACCESSOR,
useExisting: forwardRef((/**
* @return {?}
*/
() => FivPasswordInput)),
multi: true
};
export class FivPasswordInput {
constructor() {
this.clearOnEdit = false;
this.disabled = false;
this.hideIcon = 'eye';
this.position = 'floating';
this.showIcon = 'eye-off';
this._passwordValue = '';
}
/**
* @return {?}
*/
toggleShowPassword() {
this.show = !this.show;
}
/**
* @return {?}
*/
get passwordValue() {
return this._passwordValue;
}
/**
* @param {?} v
* @return {?}
*/
set passwordValue(v) {
if (v !== this._passwordValue) {
this._passwordValue = v;
if (this.onChangeCallback) {
this.onChangeCallback(this._passwordValue);
}
}
}
/**
* @param {?} value
* @return {?}
*/
writeValue(value) {
if (value !== undefined && value !== this._passwordValue) {
this._passwordValue = value;
}
}
/**
* @return {?}
*/
blur() {
if (this.onTouchedCallback) {
this.onTouchedCallback();
}
}
/**
* @param {?} fn
* @return {?}
*/
registerOnChange(fn) {
this.onChangeCallback = fn;
}
/**
* @param {?} fn
* @return {?}
*/
registerOnTouched(fn) {
this.onTouchedCallback = fn;
}
}
FivPasswordInput.decorators = [
{ type: Component, args: [{
selector: 'fiv-password-input',
template: "<ion-item [color]=\"color\" [disabled]=\"disabled\" [lines]=\"lines\">\n <ion-label *ngIf=\"placeholder\" [position]=\"position\">{{ placeholder }}</ion-label>\n <ion-input [type]=\"show ? 'text' : 'password'\" [(ngModel)]=\"passwordValue\" [clearOnEdit]=\"clearOnEdit\"\n (ionBlur)=\"blur()\"></ion-input>\n <ion-icon slot=\"end\" [name]=\"show ? hideIcon : showIcon\" (click)=\"toggleShowPassword()\"></ion-icon>\n</ion-item>",
providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR],
styles: [":host(.password-disabled){pointer-events:none}ion-icon{-ms-grid-row-align:center;align-self:center}"]
}] }
];
/** @nocollapse */
FivPasswordInput.ctorParameters = () => [];
FivPasswordInput.propDecorators = {
clearOnEdit: [{ type: Input }],
color: [{ type: Input }],
disabled: [{ type: HostBinding, args: ['class.password-disabled',] }, { type: Input }],
hideIcon: [{ type: Input }],
lines: [{ type: Input }],
placeholder: [{ type: Input }],
position: [{ type: Input }],
show: [{ type: Input }],
showIcon: [{ type: Input }]
};
if (false) {
/** @type {?} */
FivPasswordInput.prototype.clearOnEdit;
/** @type {?} */
FivPasswordInput.prototype.color;
/** @type {?} */
FivPasswordInput.prototype.disabled;
/** @type {?} */
FivPasswordInput.prototype.hideIcon;
/** @type {?} */
FivPasswordInput.prototype.lines;
/** @type {?} */
FivPasswordInput.prototype.placeholder;
/** @type {?} */
FivPasswordInput.prototype.position;
/** @type {?} */
FivPasswordInput.prototype.show;
/** @type {?} */
FivPasswordInput.prototype.showIcon;
/**
* @type {?}
* @private
*/
FivPasswordInput.prototype._passwordValue;
/**
* @type {?}
* @private
*/
FivPasswordInput.prototype.onTouchedCallback;
/**
* @type {?}
* @private
*/
FivPasswordInput.prototype.onChangeCallback;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGZpdmV0aHJlZS9jb3JlLyIsInNvdXJjZXMiOlsibGliL3Bhc3N3b3JkLWlucHV0L3Bhc3N3b3JkLWlucHV0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUFFLGlCQUFpQixFQUF3QixNQUFNLGdCQUFnQixDQUFDOztBQUd6RSxNQUFNLE9BQU8sbUNBQW1DLEdBQVE7SUFDdEQsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixXQUFXLEVBQUUsVUFBVTs7O0lBQUMsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLEVBQUM7SUFDL0MsS0FBSyxFQUFFLElBQUk7Q0FDWjtBQVFELE1BQU0sT0FBTyxnQkFBZ0I7SUF5QjNCO1FBeEJTLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBTTdCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFUixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBTWpCLGFBQVEsR0FBZ0QsVUFBVSxDQUFDO1FBSW5FLGFBQVEsR0FBRyxTQUFTLENBQUM7UUFFdEIsbUJBQWMsR0FBRyxFQUFFLENBQUM7SUFJYixDQUFDOzs7O0lBRWhCLGtCQUFrQjtRQUNoQixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztJQUN6QixDQUFDOzs7O0lBRUQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7Ozs7O0lBRUQsSUFBSSxhQUFhLENBQUMsQ0FBTTtRQUN0QixJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQzdCLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDO1lBQ3hCLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFO2dCQUN6QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2FBQzVDO1NBQ0Y7SUFDSCxDQUFDOzs7OztJQUVELFVBQVUsQ0FBQyxLQUFVO1FBQ25CLElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN4RCxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztTQUM3QjtJQUNILENBQUM7Ozs7SUFFRCxJQUFJO1FBQ0YsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDMUIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7U0FDMUI7SUFDSCxDQUFDOzs7OztJQUVELGdCQUFnQixDQUFDLEVBQU87UUFDdEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztJQUM3QixDQUFDOzs7OztJQUVELGlCQUFpQixDQUFDLEVBQU87UUFDdkIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztJQUM5QixDQUFDOzs7WUFwRUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxvQkFBb0I7Z0JBQzlCLDZiQUE4QztnQkFFOUMsU0FBUyxFQUFFLENBQUMsbUNBQW1DLENBQUM7O2FBQ2pEOzs7OzswQkFFRSxLQUFLO29CQUVMLEtBQUs7dUJBRUwsV0FBVyxTQUFDLHlCQUF5QixjQUNyQyxLQUFLO3VCQUdMLEtBQUs7b0JBRUwsS0FBSzswQkFFTCxLQUFLO3VCQUVMLEtBQUs7bUJBRUwsS0FBSzt1QkFFTCxLQUFLOzs7O0lBbEJOLHVDQUE2Qjs7SUFFN0IsaUNBQXNCOztJQUV0QixvQ0FFaUI7O0lBRWpCLG9DQUEwQjs7SUFFMUIsaUNBQTJDOztJQUUzQyx1Q0FBNkI7O0lBRTdCLG9DQUE0RTs7SUFFNUUsZ0NBQXVCOztJQUV2QixvQ0FBOEI7Ozs7O0lBRTlCLDBDQUE0Qjs7Ozs7SUFDNUIsNkNBQW9DOzs7OztJQUNwQyw0Q0FBeUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBmb3J3YXJkUmVmLCBIb3N0QmluZGluZyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29sb3IgfSBmcm9tICdAaW9uaWMvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBDVVNUT01fSU5QVVRfQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUjogYW55ID0ge1xuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRml2UGFzc3dvcmRJbnB1dCksXG4gIG11bHRpOiB0cnVlXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmaXYtcGFzc3dvcmQtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFzc3dvcmQtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wYXNzd29yZC1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtDVVNUT01fSU5QVVRfQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUl1cbn0pXG5leHBvcnQgY2xhc3MgRml2UGFzc3dvcmRJbnB1dCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgQElucHV0KCkgY2xlYXJPbkVkaXQgPSBmYWxzZTtcblxuICBASW5wdXQoKSBjb2xvcjogQ29sb3I7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5wYXNzd29yZC1kaXNhYmxlZCcpXG4gIEBJbnB1dCgpXG4gIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgQElucHV0KCkgaGlkZUljb24gPSAnZXllJztcblxuICBASW5wdXQoKSBsaW5lcz86ICdmdWxsJyB8ICdpbnNldCcgfCAnbm9uZSc7XG5cbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcblxuICBASW5wdXQoKSBwb3NpdGlvbjogJ2Zsb2F0aW5nJyB8ICdpbmxpbmUnIHwgJ2ZpeGVkJyB8ICdzdGFja2VkJyA9ICdmbG9hdGluZyc7XG5cbiAgQElucHV0KCkgc2hvdzogYm9vbGVhbjtcblxuICBASW5wdXQoKSBzaG93SWNvbiA9ICdleWUtb2ZmJztcblxuICBwcml2YXRlIF9wYXNzd29yZFZhbHVlID0gJyc7XG4gIHByaXZhdGUgb25Ub3VjaGVkQ2FsbGJhY2s6ICgpID0+IHt9O1xuICBwcml2YXRlIG9uQ2hhbmdlQ2FsbGJhY2s6IChfOiBhbnkpID0+IHt9O1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICB0b2dnbGVTaG93UGFzc3dvcmQoKSB7XG4gICAgdGhpcy5zaG93ID0gIXRoaXMuc2hvdztcbiAgfVxuXG4gIGdldCBwYXNzd29yZFZhbHVlKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX3Bhc3N3b3JkVmFsdWU7XG4gIH1cblxuICBzZXQgcGFzc3dvcmRWYWx1ZSh2OiBhbnkpIHtcbiAgICBpZiAodiAhPT0gdGhpcy5fcGFzc3dvcmRWYWx1ZSkge1xuICAgICAgdGhpcy5fcGFzc3dvcmRWYWx1ZSA9IHY7XG4gICAgICBpZiAodGhpcy5vbkNoYW5nZUNhbGxiYWNrKSB7XG4gICAgICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayh0aGlzLl9wYXNzd29yZFZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCAmJiB2YWx1ZSAhPT0gdGhpcy5fcGFzc3dvcmRWYWx1ZSkge1xuICAgICAgdGhpcy5fcGFzc3dvcmRWYWx1ZSA9IHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIGJsdXIoKSB7XG4gICAgaWYgKHRoaXMub25Ub3VjaGVkQ2FsbGJhY2spIHtcbiAgICAgIHRoaXMub25Ub3VjaGVkQ2FsbGJhY2soKTtcbiAgICB9XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcbiAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcbiAgICB0aGlzLm9uVG91Y2hlZENhbGxiYWNrID0gZm47XG4gIH1cbn1cbiJdfQ==