@experteam-mx/ngx-input-number 22.0.0-dev2.0 → 22.0.0-dev2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import * as i0 from "@angular/core";
2
- import { ChangeDetectorRef, Component, Inject, Injectable, InjectionToken, Input, NgModule, Optional, ViewChild, inject } from "@angular/core";
2
+ import { ChangeDetectorRef, Component, Inject, Injectable, InjectionToken, Input, NgModule, Optional, ViewChild, inject, signal } from "@angular/core";
3
3
  import { BehaviorSubject } from "rxjs";
4
4
  import * as i2 from "angular-imask";
5
5
  import { IMaskDirective, IMaskModule } from "angular-imask";
@@ -157,7 +157,7 @@ var NgxInputNumberComponent = class NgxInputNumberComponent {
157
157
  radixPoint;
158
158
  lblKeyInvalid;
159
159
  lblKeyInvalidRender;
160
- imask;
160
+ imask = signal(null, ...ngDevMode ? [{ debugName: "imask" }] : /* istanbul ignore next */ []);
161
161
  placeholder = "0";
162
162
  resetControl = false;
163
163
  prevValue = "";
@@ -173,7 +173,7 @@ var NgxInputNumberComponent = class NgxInputNumberComponent {
173
173
  render() {
174
174
  this._ChangeDetectorRef.detectChanges();
175
175
  this.lblKeyInvalidRender = this._NgxInputNumberService.lblKeyInvalid;
176
- this.imask = {
176
+ this.imask.set({
177
177
  mask: Number,
178
178
  scale: this._NgxInputNumberService.decimals,
179
179
  thousandsSeparator: this._NgxInputNumberService.groupSeparator,
@@ -192,17 +192,42 @@ var NgxInputNumberComponent = class NgxInputNumberComponent {
192
192
  this.control.setValue(null);
193
193
  this.resetControl = false;
194
194
  });
195
- return null;
195
+ return "";
196
196
  }
197
- return Number(x).toFixed(this.imask.scale);
197
+ return Number(x).toFixed(this.imask().scale);
198
198
  }
199
- };
199
+ });
200
200
  if (this.lblKeyInvalid !== void 0) this.lblKeyInvalidRender = this.lblKeyInvalid;
201
- if (this.negative !== void 0) this.imask.min = this.negative ? -1e33 : 0;
202
- if (this.max !== void 0) this.imask.max = this.max;
203
- if (this.groupSeparator !== void 0) this.imask.thousandsSeparator = this.groupSeparator;
204
- if (this.radixPoint !== void 0) this.imask.radix = this.radixPoint;
205
- if (this.decimals !== void 0) this.imask.scale = this.decimals;
201
+ if (this.negative !== void 0) this.imask.update((configs) => {
202
+ return {
203
+ ...configs,
204
+ min: this.negative ? -1e33 : 0
205
+ };
206
+ });
207
+ if (this.max !== void 0) this.imask.update((configs) => {
208
+ return {
209
+ ...configs,
210
+ max: this.max
211
+ };
212
+ });
213
+ if (this.groupSeparator !== void 0) this.imask.update((configs) => {
214
+ return {
215
+ ...configs,
216
+ thousandsSeparator: this.groupSeparator
217
+ };
218
+ });
219
+ if (this.radixPoint !== void 0) this.imask.update((configs) => {
220
+ return {
221
+ ...configs,
222
+ radix: this.radixPoint
223
+ };
224
+ });
225
+ if (this.decimals !== void 0) this.imask.update((configs) => {
226
+ return {
227
+ ...configs,
228
+ scale: this.decimals
229
+ };
230
+ });
206
231
  setTimeout(() => {
207
232
  if (this.inputElement.nativeElement.value === "" && (this.control.value === null || this.control.value === "" || this.control.value === 0)) this.control.setValue("");
208
233
  });
@@ -234,8 +259,6 @@ var NgxInputNumberComponent = class NgxInputNumberComponent {
234
259
  "ArrowUp",
235
260
  "ArrowDown",
236
261
  "Escape",
237
- "Backspace",
238
- "Delete",
239
262
  ".",
240
263
  ",",
241
264
  "-",
@@ -289,7 +312,7 @@ var NgxInputNumberComponent = class NgxInputNumberComponent {
289
312
  }],
290
313
  usesOnChanges: true,
291
314
  ngImport: i0,
292
- template: "<div class=\"position-relative\">\n <input\n #inputElement\n type=\"text\"\n class=\"text-end form-control {{ addClass }}\"\n [class.is-invalid]=\"control.touched && control.invalid\"\n [formControl]=\"control\"\n [tabindex]=\"tabIndex\"\n [id]=\"idForLabel\"\n [imask]=\"imask\"\n [unmask]=\"'typed'\"\n (keyup)=\"onKeyup($event)\"\n (keydown)=\"onKeydown($event)\"\n (blur)=\"onBlur()\"\n (focus)=\"onFocus()\"\n >\n <label class=\"lbl-key-invalid position-absolute top-100 end-0 p-2 d-none\" [innerHTML]=\"lblKeyInvalidRender\"></label>\n</div>\n",
315
+ template: "<div class=\"position-relative\">\n <input\n #inputElement\n type=\"text\"\n class=\"text-end form-control {{ addClass }}\"\n [class.is-invalid]=\"control.touched && control.invalid\"\n [formControl]=\"control\"\n [tabindex]=\"tabIndex\"\n [id]=\"idForLabel\"\n [imask]=\"imask()\"\n [unmask]=\"'typed'\"\n (keyup)=\"onKeyup($event)\"\n (keydown)=\"onKeydown($event)\"\n (blur)=\"onBlur()\"\n (focus)=\"onFocus()\"\n >\n <label class=\"lbl-key-invalid position-absolute top-100 end-0 p-2 d-none\" [innerHTML]=\"lblKeyInvalidRender\"></label>\n</div>\n",
293
316
  styles: ["input.key-invalid{border-color:#dc3545!important;box-shadow:0 0 0 .25rem #dc354540!important}input.key-invalid+.lbl-key-invalid{background-color:#dc3545;color:#fff;display:block!important;z-index:1}\n"],
294
317
  dependencies: [
295
318
  {
@@ -339,7 +362,7 @@ i0.ɵɵngDeclareClassMetadata({
339
362
  args: [{
340
363
  selector: "app-input-number",
341
364
  standalone: false,
342
- template: "<div class=\"position-relative\">\n <input\n #inputElement\n type=\"text\"\n class=\"text-end form-control {{ addClass }}\"\n [class.is-invalid]=\"control.touched && control.invalid\"\n [formControl]=\"control\"\n [tabindex]=\"tabIndex\"\n [id]=\"idForLabel\"\n [imask]=\"imask\"\n [unmask]=\"'typed'\"\n (keyup)=\"onKeyup($event)\"\n (keydown)=\"onKeydown($event)\"\n (blur)=\"onBlur()\"\n (focus)=\"onFocus()\"\n >\n <label class=\"lbl-key-invalid position-absolute top-100 end-0 p-2 d-none\" [innerHTML]=\"lblKeyInvalidRender\"></label>\n</div>\n",
365
+ template: "<div class=\"position-relative\">\n <input\n #inputElement\n type=\"text\"\n class=\"text-end form-control {{ addClass }}\"\n [class.is-invalid]=\"control.touched && control.invalid\"\n [formControl]=\"control\"\n [tabindex]=\"tabIndex\"\n [id]=\"idForLabel\"\n [imask]=\"imask()\"\n [unmask]=\"'typed'\"\n (keyup)=\"onKeyup($event)\"\n (keydown)=\"onKeydown($event)\"\n (blur)=\"onBlur()\"\n (focus)=\"onFocus()\"\n >\n <label class=\"lbl-key-invalid position-absolute top-100 end-0 p-2 d-none\" [innerHTML]=\"lblKeyInvalidRender\"></label>\n</div>\n",
343
366
  styles: ["input.key-invalid{border-color:#dc3545!important;box-shadow:0 0 0 .25rem #dc354540!important}input.key-invalid+.lbl-key-invalid{background-color:#dc3545;color:#fff;display:block!important;z-index:1}\n"]
344
367
  }]
345
368
  }],
@@ -1 +1 @@
1
- {"version":3,"file":"experteam-mx-ngx-input-number.mjs","names":[],"sources":["../../../../projects/experteam-mx/ngx-input-number/src/lib/typesProvider.ts","../../../../projects/experteam-mx/ngx-input-number/src/lib/di.ts","../../../../projects/experteam-mx/ngx-input-number/src/lib/ngx-input-number.service.ts","../../../../projects/experteam-mx/ngx-input-number/src/lib/ngx-input-number.component.ts","../../../../projects/experteam-mx/ngx-input-number/src/lib/ngx-input-number.component.html","../../../../projects/experteam-mx/ngx-input-number/src/lib/ngx-input-number.module.ts"],"sourcesContent":["import type { Provider } from '@angular/core'\nimport { Injectable } from '@angular/core'\n\nexport class inputConfigs {\n groupSeparator?: string\n radixPoint?: string\n}\n\n@Injectable({ providedIn: 'root' })\nexport abstract class typesProvider {\n abstract get config (): inputConfigs\n}\n\n@Injectable({ providedIn: 'root' })\nexport class defaultTypesProvider extends typesProvider {\n get config (): inputConfigs {\n // return default config\n return {\n groupSeparator: ',',\n radixPoint: '.'\n }\n }\n}\n\nexport class inputConfigsHelp {\n config?: Provider\n}\n","import { InjectionToken } from '@angular/core'\nimport type { inputConfigs } from './types'\n\nexport const INPUT_CONFIG_TOKEN = new InjectionToken<inputConfigs>('INPUT_CONFIG')\n","import { Inject, Injectable, Optional } from '@angular/core'\nimport { INPUT_CONFIG_TOKEN } from './di'\nimport type { inputConfigs } from './types'\nimport { BehaviorSubject } from 'rxjs'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NgxInputNumberService {\n changeEvent = new BehaviorSubject<boolean>(false)\n groupSeparator = ','\n radixPoint = '.'\n lblKeyInvalid = 'Please enter a valid amount'\n negative: any = true\n max: number = 1e33\n decimals = 2\n\n constructor (\n @Optional() @Inject(INPUT_CONFIG_TOKEN)\n private readonly config: inputConfigs | null\n ) {\n if (config != null) {\n this.groupSeparator = config.groupSeparator!\n this.radixPoint = config.radixPoint!\n this.lblKeyInvalid = config.lblKeyInvalid!\n this.negative = config.negative!\n this.max = config.max!\n this.decimals = config.decimals!\n }\n }\n\n onChangeParams (config: inputConfigs) {\n if (config.groupSeparator) {\n this.groupSeparator = config.groupSeparator\n }\n if (config.radixPoint) {\n this.radixPoint = config.radixPoint\n }\n if (config.lblKeyInvalid) {\n this.lblKeyInvalid = config.lblKeyInvalid\n }\n if (config.negative !== undefined) {\n this.negative = config.negative\n }\n if (config.max) {\n this.max = config.max!\n }\n\n this.decimals = config.decimals ?? 2\n\n this.changeEvent.next(true)\n }\n\n getChangeEvent () {\n return this.changeEvent\n }\n}\n","import type {\n AfterViewInit,\n ElementRef,\n OnChanges,\n OnInit\n} from '@angular/core'\nimport {\n ChangeDetectorRef,\n Component,\n inject,\n Input,\n ViewChild\n} from '@angular/core'\nimport type { FormControl } from '@angular/forms'\nimport { NgxInputNumberService } from './ngx-input-number.service'\nimport { IMaskDirective } from 'angular-imask'\nimport type { MaskedNumber } from 'imask'\n\n@Component({\n selector: 'app-input-number',\n templateUrl: './ngx-input-number.component.html',\n styleUrls: ['./ngx-input-number.component.css'],\n standalone: false\n})\nexport class NgxInputNumberComponent implements OnInit, OnChanges, AfterViewInit {\n @ViewChild('inputElement') inputElement!: ElementRef\n @ViewChild(IMaskDirective, { static: false }) iMaskDir!: IMaskDirective<MaskedNumber>\n @Input() control!: FormControl\n @Input() negative!: any\n @Input() autofocus: any = false\n @Input() decimals: any\n @Input() max: any\n @Input() idForLabel: any = ''\n @Input() tabIndex: any\n @Input() addClass: any = 'form-control-sm'\n @Input() groupSeparator: any\n @Input() radixPoint: any\n @Input() lblKeyInvalid: any\n lblKeyInvalidRender: any\n imask: any\n placeholder = '0'\n resetControl = false\n prevValue: any = ''\n validateError: boolean = false\n private _ChangeDetectorRef = inject(ChangeDetectorRef)\n private _NgxInputNumberService = inject(NgxInputNumberService)\n\n ngAfterViewInit (): void {\n this.iMaskDir.maskRef?.updateValue()\n\n if (this.autofocus) {\n setTimeout(() => {\n this.inputElement.nativeElement.focus()\n })\n }\n }\n\n render () {\n this._ChangeDetectorRef.detectChanges()\n\n this.lblKeyInvalidRender = this._NgxInputNumberService.lblKeyInvalid\n\n this.imask = {\n mask: Number,\n scale: this._NgxInputNumberService.decimals,\n thousandsSeparator: this._NgxInputNumberService.groupSeparator,\n padFractionalZeros: true,\n normalizeZeros: true,\n radix: this._NgxInputNumberService.radixPoint,\n max: this._NgxInputNumberService.max,\n min: this._NgxInputNumberService.negative ? -1e33 : 0,\n format: (x: any) => {\n if (typeof x !== 'string' && x === null && !this.resetControl) {\n this.resetControl = true\n this.inputElement.nativeElement.value = null\n this.iMaskDir.maskRef?.updateValue()\n setTimeout(\n () => {\n this.iMaskDir.maskRef?.updateControl()\n this.control.setValue(null)\n this.resetControl = false\n }\n )\n\n return null\n }\n\n return Number(x).toFixed(this.imask.scale)\n }\n }\n\n if (this.lblKeyInvalid !== undefined) {\n this.lblKeyInvalidRender = this.lblKeyInvalid\n }\n\n if (this.negative !== undefined) {\n this.imask.min = this.negative ? -1e33 : 0\n }\n\n if (this.max !== undefined) {\n this.imask.max = this.max\n }\n\n if (this.groupSeparator !== undefined) {\n this.imask.thousandsSeparator = this.groupSeparator\n }\n if (this.radixPoint !== undefined) {\n this.imask.radix = this.radixPoint\n }\n\n if (this.decimals !== undefined) {\n this.imask.scale = this.decimals\n }\n\n setTimeout(\n () => {\n if (this.inputElement.nativeElement.value === '' && (this.control.value === null || this.control.value === '' || this.control.value === 0)) {\n this.control.setValue('')\n }\n }\n )\n }\n\n ngOnInit (): void {\n this._NgxInputNumberService.getChangeEvent().subscribe(\n (configs) => {\n if (configs) {\n this.render()\n }\n }\n )\n }\n\n ngOnChanges (): void {\n this.render()\n }\n\n onKeydown (e: any) {\n this.prevValue = e.target.value\n }\n\n onBlur () {\n this.validateError = false\n }\n\n onFocus () {\n setTimeout(\n () => {\n this.validateError = true\n },\n 1000\n )\n }\n\n onKeyup (e: any) {\n if (!this.validateError) return\n\n const scapeKeys: any[] = [\n 'ArrowLeft',\n 'ArrowRight',\n 'ArrowUp',\n 'ArrowDown',\n 'Escape',\n 'Backspace',\n 'Delete',\n '.',\n ',',\n '-',\n 'Tab',\n ]\n\n if (\n e.target.value === '' &&\n !scapeKeys.includes(e.key)\n ) {\n this.control.setValue('')\n }\n\n if (\n !scapeKeys.includes(e.key) &&\n this.prevValue === e.target.value &&\n e.key !== this.prevValue\n ) {\n this.inputElement.nativeElement.classList.add('key-invalid')\n setTimeout(\n () => {\n this.inputElement.nativeElement.classList.remove('key-invalid')\n },\n 1000\n )\n }\n }\n}\n","<div class=\"position-relative\">\n <input\n #inputElement\n type=\"text\"\n class=\"text-end form-control {{ addClass }}\"\n [class.is-invalid]=\"control.touched && control.invalid\"\n [formControl]=\"control\"\n [tabindex]=\"tabIndex\"\n [id]=\"idForLabel\"\n [imask]=\"imask\"\n [unmask]=\"'typed'\"\n (keyup)=\"onKeyup($event)\"\n (keydown)=\"onKeydown($event)\"\n (blur)=\"onBlur()\"\n (focus)=\"onFocus()\"\n >\n <label class=\"lbl-key-invalid position-absolute top-100 end-0 p-2 d-none\" [innerHTML]=\"lblKeyInvalidRender\"></label>\n</div>\n","import type { ModuleWithProviders } from '@angular/core'\nimport { NgModule } from '@angular/core'\nimport { CommonModule } from '@angular/common'\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms'\nimport { NgxInputNumberComponent } from './ngx-input-number.component'\nimport type { inputConfigsHelp } from './typesProvider'\nimport { defaultTypesProvider, typesProvider } from './typesProvider'\nimport { IMaskModule } from 'angular-imask'\n\n@NgModule({\n declarations: [\n NgxInputNumberComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n IMaskModule\n ],\n exports: [\n NgxInputNumberComponent\n ],\n providers: []\n})\nexport class NgxInputNumberModule {\n static forRoot (config: inputConfigsHelp = {}): ModuleWithProviders<NgxInputNumberModule> {\n return {\n ngModule: NgxInputNumberModule,\n providers: [\n config.config || {\n provide: typesProvider,\n useClass: defaultTypesProvider\n }\n ],\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"experteam-mx-ngx-input-number.mjs","names":[],"sources":["../../../../projects/experteam-mx/ngx-input-number/src/lib/typesProvider.ts","../../../../projects/experteam-mx/ngx-input-number/src/lib/di.ts","../../../../projects/experteam-mx/ngx-input-number/src/lib/ngx-input-number.service.ts","../../../../projects/experteam-mx/ngx-input-number/src/lib/ngx-input-number.component.ts","../../../../projects/experteam-mx/ngx-input-number/src/lib/ngx-input-number.component.html","../../../../projects/experteam-mx/ngx-input-number/src/lib/ngx-input-number.module.ts"],"sourcesContent":["import type { Provider } from '@angular/core'\nimport { Injectable } from '@angular/core'\n\nexport class inputConfigs {\n groupSeparator?: string\n radixPoint?: string\n}\n\n@Injectable({ providedIn: 'root' })\nexport abstract class typesProvider {\n abstract get config (): inputConfigs\n}\n\n@Injectable({ providedIn: 'root' })\nexport class defaultTypesProvider extends typesProvider {\n get config (): inputConfigs {\n // return default config\n return {\n groupSeparator: ',',\n radixPoint: '.'\n }\n }\n}\n\nexport class inputConfigsHelp {\n config?: Provider\n}\n","import { InjectionToken } from '@angular/core'\nimport type { inputConfigs } from './types'\n\nexport const INPUT_CONFIG_TOKEN = new InjectionToken<inputConfigs>('INPUT_CONFIG')\n","import { Inject, Injectable, Optional } from '@angular/core'\nimport { INPUT_CONFIG_TOKEN } from './di'\nimport type { inputConfigs } from './types'\nimport { BehaviorSubject } from 'rxjs'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NgxInputNumberService {\n changeEvent = new BehaviorSubject<boolean>(false)\n groupSeparator = ','\n radixPoint = '.'\n lblKeyInvalid = 'Please enter a valid amount'\n negative: any = true\n max: number = 1e33\n decimals = 2\n\n constructor (\n @Optional() @Inject(INPUT_CONFIG_TOKEN)\n private readonly config: inputConfigs | null\n ) {\n if (config != null) {\n this.groupSeparator = config.groupSeparator!\n this.radixPoint = config.radixPoint!\n this.lblKeyInvalid = config.lblKeyInvalid!\n this.negative = config.negative!\n this.max = config.max!\n this.decimals = config.decimals!\n }\n }\n\n onChangeParams (config: inputConfigs) {\n if (config.groupSeparator) {\n this.groupSeparator = config.groupSeparator\n }\n if (config.radixPoint) {\n this.radixPoint = config.radixPoint\n }\n if (config.lblKeyInvalid) {\n this.lblKeyInvalid = config.lblKeyInvalid\n }\n if (config.negative !== undefined) {\n this.negative = config.negative\n }\n if (config.max) {\n this.max = config.max!\n }\n\n this.decimals = config.decimals ?? 2\n\n this.changeEvent.next(true)\n }\n\n getChangeEvent () {\n return this.changeEvent\n }\n}\n","import type {\n AfterViewInit,\n ElementRef,\n OnChanges,\n OnInit\n} from '@angular/core'\nimport {\n ChangeDetectorRef,\n Component,\n inject,\n Input,\n signal,\n ViewChild\n} from '@angular/core'\nimport type { FormControl } from '@angular/forms'\nimport { NgxInputNumberService } from './ngx-input-number.service'\nimport { IMaskDirective } from 'angular-imask'\nimport type { MaskedNumber, MaskedNumberOptions } from 'imask'\n\n@Component({\n selector: 'app-input-number',\n templateUrl: './ngx-input-number.component.html',\n styleUrls: ['./ngx-input-number.component.css'],\n standalone: false\n})\nexport class NgxInputNumberComponent implements OnInit, OnChanges, AfterViewInit {\n @ViewChild('inputElement') inputElement!: ElementRef\n @ViewChild(IMaskDirective, { static: false }) iMaskDir!: IMaskDirective<MaskedNumber>\n @Input() control!: FormControl\n @Input() negative!: any\n @Input() autofocus: any = false\n @Input() decimals: any\n @Input() max: any\n @Input() idForLabel: any = ''\n @Input() tabIndex: any\n @Input() addClass: any = 'form-control-sm'\n @Input() groupSeparator: any\n @Input() radixPoint: any\n @Input() lblKeyInvalid: any\n lblKeyInvalidRender: any\n imask = signal<MaskedNumberOptions | null>(null)\n placeholder = '0'\n resetControl = false\n prevValue: any = ''\n validateError: boolean = false\n private _ChangeDetectorRef = inject(ChangeDetectorRef)\n private _NgxInputNumberService = inject(NgxInputNumberService)\n\n ngAfterViewInit (): void {\n this.iMaskDir.maskRef?.updateValue()\n\n if (this.autofocus) {\n setTimeout(() => {\n this.inputElement.nativeElement.focus()\n })\n }\n }\n\n render () {\n this._ChangeDetectorRef.detectChanges()\n\n this.lblKeyInvalidRender = this._NgxInputNumberService.lblKeyInvalid\n\n this.imask.set({\n mask: Number,\n scale: this._NgxInputNumberService.decimals,\n thousandsSeparator: this._NgxInputNumberService.groupSeparator,\n padFractionalZeros: true,\n normalizeZeros: true,\n radix: this._NgxInputNumberService.radixPoint,\n max: this._NgxInputNumberService.max,\n min: this._NgxInputNumberService.negative ? -1e33 : 0,\n format: (x: any) => {\n if (typeof x !== 'string' && x === null && !this.resetControl) {\n this.resetControl = true\n this.inputElement.nativeElement.value = null\n this.iMaskDir.maskRef?.updateValue()\n setTimeout(\n () => {\n this.iMaskDir.maskRef?.updateControl()\n this.control.setValue(null)\n this.resetControl = false\n }\n )\n\n return ''\n }\n\n return Number(x).toFixed(this.imask()!.scale)\n }\n })\n\n if (this.lblKeyInvalid !== undefined) {\n this.lblKeyInvalidRender = this.lblKeyInvalid\n }\n\n if (this.negative !== undefined) {\n this.imask.update((configs) => {\n return {\n ...configs,\n min: this.negative ? -1e33 : 0\n }\n })\n }\n\n if (this.max !== undefined) {\n this.imask.update((configs) => {\n return {\n ...configs,\n max: this.max\n }\n })\n }\n\n if (this.groupSeparator !== undefined) {\n this.imask.update((configs) => {\n return {\n ...configs,\n thousandsSeparator: this.groupSeparator\n }\n })\n }\n\n if (this.radixPoint !== undefined) {\n this.imask.update((configs) => {\n return {\n ...configs,\n radix: this.radixPoint\n }\n })\n }\n\n if (this.decimals !== undefined) {\n this.imask.update((configs) => {\n return {\n ...configs,\n scale: this.decimals\n }\n })\n }\n\n setTimeout(\n () => {\n if (this.inputElement.nativeElement.value === '' && (this.control.value === null || this.control.value === '' || this.control.value === 0)) {\n this.control.setValue('')\n }\n }\n )\n }\n\n ngOnInit (): void {\n this._NgxInputNumberService.getChangeEvent().subscribe(\n (configs) => {\n if (configs) {\n this.render()\n }\n }\n )\n }\n\n ngOnChanges (): void {\n this.render()\n }\n\n onKeydown (e: any) {\n this.prevValue = e.target.value\n }\n\n onBlur () {\n this.validateError = false\n }\n\n onFocus () {\n setTimeout(\n () => {\n this.validateError = true\n },\n 1000\n )\n }\n\n onKeyup (e: any) {\n if (!this.validateError) return\n\n const scapeKeys: any[] = [\n 'ArrowLeft',\n 'ArrowRight',\n 'ArrowUp',\n 'ArrowDown',\n 'Escape',\n '.',\n ',',\n '-',\n 'Tab',\n ]\n\n if (\n e.target.value === '' &&\n !scapeKeys.includes(e.key)\n ) {\n this.control.setValue('')\n }\n\n if (\n !scapeKeys.includes(e.key) &&\n this.prevValue === e.target.value &&\n e.key !== this.prevValue\n ) {\n this.inputElement.nativeElement.classList.add('key-invalid')\n setTimeout(\n () => {\n this.inputElement.nativeElement.classList.remove('key-invalid')\n },\n 1000\n )\n }\n }\n}\n","<div class=\"position-relative\">\n <input\n #inputElement\n type=\"text\"\n class=\"text-end form-control {{ addClass }}\"\n [class.is-invalid]=\"control.touched && control.invalid\"\n [formControl]=\"control\"\n [tabindex]=\"tabIndex\"\n [id]=\"idForLabel\"\n [imask]=\"imask()\"\n [unmask]=\"'typed'\"\n (keyup)=\"onKeyup($event)\"\n (keydown)=\"onKeydown($event)\"\n (blur)=\"onBlur()\"\n (focus)=\"onFocus()\"\n >\n <label class=\"lbl-key-invalid position-absolute top-100 end-0 p-2 d-none\" [innerHTML]=\"lblKeyInvalidRender\"></label>\n</div>\n","import type { ModuleWithProviders } from '@angular/core'\nimport { NgModule } from '@angular/core'\nimport { CommonModule } from '@angular/common'\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms'\nimport { NgxInputNumberComponent } from './ngx-input-number.component'\nimport type { inputConfigsHelp } from './typesProvider'\nimport { defaultTypesProvider, typesProvider } from './typesProvider'\nimport { IMaskModule } from 'angular-imask'\n\n@NgModule({\n declarations: [\n NgxInputNumberComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n IMaskModule\n ],\n exports: [\n NgxInputNumberComponent\n ],\n providers: []\n})\nexport class NgxInputNumberModule {\n static forRoot (config: inputConfigsHelp = {}): ModuleWithProviders<NgxInputNumberModule> {\n return {\n ngModule: NgxInputNumberModule,\n providers: [\n config.config || {\n provide: typesProvider,\n useClass: defaultTypesProvider\n }\n ],\n }\n }\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@experteam-mx/ngx-input-number",
3
- "version": "22.0.0-dev2.0",
3
+ "version": "22.0.0-dev2.1",
4
4
  "description": "Angular input number for Experteam apps",
5
5
  "author": "Experteam Cía. Ltda.",
6
6
  "keywords": [
@@ -64,7 +64,7 @@ export declare class NgxInputNumberComponent implements OnInit, OnChanges, After
64
64
  radixPoint: any;
65
65
  lblKeyInvalid: any;
66
66
  lblKeyInvalidRender: any;
67
- imask: any;
67
+ imask: import("@angular/core").WritableSignal<Partial<Pick<MaskedNumber, "mask" | "parent" | "prepare" | "prepareChar" | "validate" | "commit" | "format" | "parse" | "overwrite" | "eager" | "skipInvalid" | "autofix" | "min" | "max" | "radix" | "thousandsSeparator" | "mapToRadix" | "scale" | "normalizeZeros" | "padFractionalZeros">> | null>;
68
68
  placeholder: string;
69
69
  resetControl: boolean;
70
70
  prevValue: any;