UNPKG

@ionic/angular

Version:

Angular specific wrappers for @ionic/core

89 lines 4.07 kB
import { __decorate } from "tslib"; import { ChangeDetectionStrategy, Component, HostListener, forwardRef, } from '@angular/core'; import { NG_VALUE_ACCESSOR } from '@angular/forms'; import { ValueAccessor } from '@ionic/angular/common'; import { defineCustomElement } from '@ionic/core/components/ion-input-otp.js'; import { ProxyCmp, proxyOutputs } from './angular-component-lib/utils'; import * as i0 from "@angular/core"; const INPUT_OTP_INPUTS = [ 'autocapitalize', 'color', 'disabled', 'fill', 'inputmode', 'length', 'pattern', 'readonly', 'separators', 'shape', 'size', 'type', 'value', ]; let IonInputOtp = class IonInputOtp extends ValueAccessor { z; el; constructor(c, r, z, injector) { super(injector, r); this.z = z; c.detach(); this.el = r.nativeElement; proxyOutputs(this, this.el, ['ionInput', 'ionChange', 'ionComplete', 'ionBlur', 'ionFocus']); } handleIonInput(el) { this.handleValueChange(el, el.value); } registerOnChange(fn) { super.registerOnChange((value) => { if (this.type === 'number') { /** * If the input type is `number`, we need to convert the value to a number * when the value is not empty. If the value is empty, we want to treat * the value as null. */ fn(value === '' ? null : parseFloat(value)); } else { fn(value); } }); } /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: IonInputOtp, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.0", type: IonInputOtp, isStandalone: true, selector: "ion-input-otp", inputs: { autocapitalize: "autocapitalize", color: "color", disabled: "disabled", fill: "fill", inputmode: "inputmode", length: "length", pattern: "pattern", readonly: "readonly", separators: "separators", shape: "shape", size: "size", type: "type", value: "value" }, host: { listeners: { "ionInput": "handleIonInput($event.target)" } }, providers: [ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef((() => IonInputOtp)), multi: true, }, ], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }; IonInputOtp = __decorate([ ProxyCmp({ defineCustomElementFn: defineCustomElement, inputs: INPUT_OTP_INPUTS, methods: ['setFocus'], }) ], IonInputOtp); export { IonInputOtp }; i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: IonInputOtp, decorators: [{ type: Component, args: [{ selector: 'ion-input-otp', changeDetection: ChangeDetectionStrategy.OnPush, template: '<ng-content></ng-content>', // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property inputs: INPUT_OTP_INPUTS, providers: [ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef((() => IonInputOtp)), multi: true, }, ], standalone: true, }] }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }], propDecorators: { handleIonInput: [{ type: HostListener, args: ['ionInput', ['$event.target']] }] } }); //# sourceMappingURL=input-otp.js.map