@experteam-mx/ngx-input-number 20.0.0 → 20.0.1-build.0

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.
@@ -12,10 +12,10 @@ let inputConfigs$1 = class inputConfigs {
12
12
  radixPoint;
13
13
  };
14
14
  class typesProvider {
15
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: typesProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
16
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: typesProvider, providedIn: 'root' });
15
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: typesProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
16
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: typesProvider, providedIn: 'root' });
17
17
  }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: typesProvider, decorators: [{
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: typesProvider, decorators: [{
19
19
  type: Injectable,
20
20
  args: [{ providedIn: 'root' }]
21
21
  }] });
@@ -27,10 +27,10 @@ class defaultTypesProvider extends typesProvider {
27
27
  radixPoint: '.'
28
28
  };
29
29
  }
30
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: defaultTypesProvider, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
31
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: defaultTypesProvider, providedIn: 'root' });
30
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: defaultTypesProvider, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
31
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: defaultTypesProvider, providedIn: 'root' });
32
32
  }
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: defaultTypesProvider, decorators: [{
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: defaultTypesProvider, decorators: [{
34
34
  type: Injectable,
35
35
  args: [{ providedIn: 'root' }]
36
36
  }] });
@@ -88,18 +88,16 @@ class NgxInputNumberService {
88
88
  if (config.max) {
89
89
  this.max = config.max;
90
90
  }
91
- if (config.decimals) {
92
- this.decimals = config.decimals;
93
- }
91
+ this.decimals = config.decimals ?? 2;
94
92
  this.changeEvent.next(true);
95
93
  }
96
94
  getChangeEvent() {
97
95
  return this.changeEvent;
98
96
  }
99
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxInputNumberService, deps: [{ token: INPUT_CONFIG_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
100
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxInputNumberService, providedIn: 'root' });
97
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: NgxInputNumberService, deps: [{ token: INPUT_CONFIG_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
98
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: NgxInputNumberService, providedIn: 'root' });
101
99
  }
102
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxInputNumberService, decorators: [{
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: NgxInputNumberService, decorators: [{
103
101
  type: Injectable,
104
102
  args: [{
105
103
  providedIn: 'root'
@@ -169,7 +167,7 @@ class NgxInputNumberComponent {
169
167
  });
170
168
  return null;
171
169
  }
172
- return Number(x).toFixed(this._NgxInputNumberService.decimals);
170
+ return Number(x).toFixed(this.imask.scale);
173
171
  }
174
172
  };
175
173
  if (this.lblKeyInvalid !== undefined) {
@@ -249,10 +247,10 @@ class NgxInputNumberComponent {
249
247
  }, 1000);
250
248
  }
251
249
  }
252
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxInputNumberComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: NgxInputNumberService }], target: i0.ɵɵFactoryTarget.Component });
253
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.12", type: NgxInputNumberComponent, isStandalone: false, selector: "app-input-number", inputs: { control: "control", negative: "negative", autofocus: "autofocus", decimals: "decimals", max: "max", idForLabel: "idForLabel", tabIndex: "tabIndex", addClass: "addClass", groupSeparator: "groupSeparator", radixPoint: "radixPoint", lblKeyInvalid: "lblKeyInvalid" }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true }, { propertyName: "iMaskDir", first: true, predicate: IMaskDirective, descendants: true }], usesOnChanges: true, ngImport: i0, 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", 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"], dependencies: [{ kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.IMaskDirective, selector: "[imask]", inputs: ["imask", "unmask", "imaskElement"], outputs: ["accept", "complete"], exportAs: ["imask"] }] });
250
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: NgxInputNumberComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: NgxInputNumberService }], target: i0.ɵɵFactoryTarget.Component });
251
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", type: NgxInputNumberComponent, isStandalone: false, selector: "app-input-number", inputs: { control: "control", negative: "negative", autofocus: "autofocus", decimals: "decimals", max: "max", idForLabel: "idForLabel", tabIndex: "tabIndex", addClass: "addClass", groupSeparator: "groupSeparator", radixPoint: "radixPoint", lblKeyInvalid: "lblKeyInvalid" }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true }, { propertyName: "iMaskDir", first: true, predicate: IMaskDirective, descendants: true }], usesOnChanges: true, ngImport: i0, 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", 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"], dependencies: [{ kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.IMaskDirective, selector: "[imask]", inputs: ["imask", "unmask", "imaskElement"], outputs: ["accept", "complete"], exportAs: ["imask"] }] });
254
252
  }
255
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxInputNumberComponent, decorators: [{
253
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: NgxInputNumberComponent, decorators: [{
256
254
  type: Component,
257
255
  args: [{ selector: 'app-input-number', standalone: false, 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", 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"] }]
258
256
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: NgxInputNumberService }], propDecorators: { inputElement: [{
@@ -297,17 +295,17 @@ class NgxInputNumberModule {
297
295
  ],
298
296
  };
299
297
  }
300
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxInputNumberModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
301
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.12", ngImport: i0, type: NgxInputNumberModule, declarations: [NgxInputNumberComponent], imports: [CommonModule,
298
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: NgxInputNumberModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
299
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: NgxInputNumberModule, declarations: [NgxInputNumberComponent], imports: [CommonModule,
302
300
  FormsModule,
303
301
  ReactiveFormsModule,
304
302
  IMaskModule], exports: [NgxInputNumberComponent] });
305
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxInputNumberModule, imports: [CommonModule,
303
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: NgxInputNumberModule, imports: [CommonModule,
306
304
  FormsModule,
307
305
  ReactiveFormsModule,
308
306
  IMaskModule] });
309
307
  }
310
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxInputNumberModule, decorators: [{
308
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: NgxInputNumberModule, decorators: [{
311
309
  type: NgModule,
312
310
  args: [{
313
311
  declarations: [
@@ -1 +1 @@
1
- {"version":3,"file":"experteam-mx-ngx-input-number.mjs","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/types.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","../../../../projects/experteam-mx/ngx-input-number/src/public-api.ts","../../../../projects/experteam-mx/ngx-input-number/src/experteam-mx-ngx-input-number.ts"],"sourcesContent":["import { Injectable, Provider } 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 { inputConfigs } from './types';\n\nexport const INPUT_CONFIG_TOKEN = new InjectionToken<inputConfigs>('INPUT_CONFIG');\n","import { Provider } from '@angular/core'\n\nexport class inputConfigs {\n groupSeparator?: string\n radixPoint?: string\n lblKeyInvalid?: string\n max?: number\n decimals?: number\n negative?: boolean\n}\n\nexport class inputConfigsHelp {\n config?: Provider\n}\n","import { Inject, Injectable, Optional } from '@angular/core'\nimport { INPUT_CONFIG_TOKEN } from './di'\nimport { inputConfigs } from './types'\nimport { BehaviorSubject } from 'rxjs'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NgxInputNumberService {\n\n changeEvent = new BehaviorSubject<boolean>(false)\n groupSeparator = ','\n radixPoint = '.'\n lblKeyInvalid = 'Please enter a valid amount'\n negative: any = true\n max: number = 999999999999999999999999999999999\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 if (config.decimals) {\n this.decimals = config.decimals\n }\n\n this.changeEvent.next(true)\n }\n\n getChangeEvent () {\n return this.changeEvent\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnInit,\n ViewChild\n} from '@angular/core'\nimport { FormControl } from '@angular/forms'\nimport { NgxInputNumberService } from './ngx-input-number.service'\nimport { IMaskDirective } from 'angular-imask'\nimport { MaskedNumber } from 'imask'\n\n@Component({\n selector: 'app-input-number',\n templateUrl: './ngx-input-number.component.html',\n styleUrls: ['./ngx-input-number.component.sass'],\n standalone: false\n})\nexport class NgxInputNumberComponent implements OnInit, OnChanges, AfterViewInit {\n\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\n constructor (\n private _ChangeDetectorRef: ChangeDetectorRef,\n private _NgxInputNumberService: NgxInputNumberService,\n ) { }\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 ? -999999999999999999999999999999999 : 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._NgxInputNumberService.decimals)\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 ? -999999999999999999999999999999999 : 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 let 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 &&\n !scapeKeys.includes(e.key)\n ){\n this.control.setValue('')\n }\n\n if(\n !scapeKeys.includes(e.key)\n &&\n this.prevValue === e.target.value\n &&\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 { ModuleWithProviders, NgModule } from '@angular/core'\nimport { CommonModule } from '@angular/common'\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms'\nimport { NgxInputNumberComponent } from './ngx-input-number.component'\nimport { defaultTypesProvider, inputConfigsHelp, 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","/*\n * Public API Surface of ngx-input-number\n */\n\nexport * from './lib/typesProvider';\nexport * from './lib/ngx-input-number.service';\nexport * from './lib/ngx-input-number.component';\nexport * from './lib/ngx-input-number.module';\n// export * from 'ngx-mask';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.NgxInputNumberService"],"mappings":"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"}
1
+ {"version":3,"file":"experteam-mx-ngx-input-number.mjs","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/types.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","../../../../projects/experteam-mx/ngx-input-number/src/public-api.ts","../../../../projects/experteam-mx/ngx-input-number/src/experteam-mx-ngx-input-number.ts"],"sourcesContent":["import { Injectable, Provider } 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 { inputConfigs } from './types';\n\nexport const INPUT_CONFIG_TOKEN = new InjectionToken<inputConfigs>('INPUT_CONFIG');\n","import { Provider } from '@angular/core'\n\nexport class inputConfigs {\n groupSeparator?: string\n radixPoint?: string\n lblKeyInvalid?: string\n max?: number\n decimals?: number\n negative?: boolean\n}\n\nexport class inputConfigsHelp {\n config?: Provider\n}\n","import { Inject, Injectable, Optional } from '@angular/core'\nimport { INPUT_CONFIG_TOKEN } from './di'\nimport { inputConfigs } from './types'\nimport { BehaviorSubject } from 'rxjs'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NgxInputNumberService {\n\n changeEvent = new BehaviorSubject<boolean>(false)\n groupSeparator = ','\n radixPoint = '.'\n lblKeyInvalid = 'Please enter a valid amount'\n negative: any = true\n max: number = 999999999999999999999999999999999\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 {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnInit,\n ViewChild\n} from '@angular/core'\nimport { FormControl } from '@angular/forms'\nimport { NgxInputNumberService } from './ngx-input-number.service'\nimport { IMaskDirective } from 'angular-imask'\nimport { 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\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\n constructor (\n private _ChangeDetectorRef: ChangeDetectorRef,\n private _NgxInputNumberService: NgxInputNumberService,\n ) { }\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 ? -999999999999999999999999999999999 : 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 ? -999999999999999999999999999999999 : 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 let 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 &&\n !scapeKeys.includes(e.key)\n ){\n this.control.setValue('')\n }\n\n if(\n !scapeKeys.includes(e.key)\n &&\n this.prevValue === e.target.value\n &&\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 { ModuleWithProviders, NgModule } from '@angular/core'\nimport { CommonModule } from '@angular/common'\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms'\nimport { NgxInputNumberComponent } from './ngx-input-number.component'\nimport { defaultTypesProvider, inputConfigsHelp, 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","/*\n * Public API Surface of ngx-input-number\n */\n\nexport * from './lib/typesProvider';\nexport * from './lib/ngx-input-number.service';\nexport * from './lib/ngx-input-number.component';\nexport * from './lib/ngx-input-number.module';\n// export * from 'ngx-mask';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.NgxInputNumberService"],"mappings":";;;;;;;;;2BAEa,YAAY,CAAA;AACvB,IAAA,cAAc;AACd,IAAA,UAAU;AACX;MAGqB,aAAa,CAAA;wGAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAb,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cADT,MAAM,EAAA,CAAA;;4FACV,aAAa,EAAA,UAAA,EAAA,CAAA;kBADlC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;AAM5B,MAAO,oBAAqB,SAAQ,aAAa,CAAA;AACrD,IAAA,IAAI,MAAM,GAAA;;QAER,OAAO;AACL,YAAA,cAAc,EAAE,GAAG;AACnB,YAAA,UAAU,EAAE;SACb;IACH;wGAPW,oBAAoB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAApB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,cADP,MAAM,EAAA,CAAA;;4FACnB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBADhC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;+BAWrB,gBAAgB,CAAA;AAC3B,IAAA,MAAM;AACP;;ACtBM,MAAM,kBAAkB,GAAG,IAAI,cAAc,CAAe,cAAc,CAAC;;MCDrE,YAAY,CAAA;AACvB,IAAA,cAAc;AACd,IAAA,UAAU;AACV,IAAA,aAAa;AACb,IAAA,GAAG;AACH,IAAA,QAAQ;AACR,IAAA,QAAQ;AACT;MAEY,gBAAgB,CAAA;AAC3B,IAAA,MAAM;AACP;;MCLY,qBAAqB,CAAA;AAYb,IAAA,MAAA;AAVnB,IAAA,WAAW,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;IACjD,cAAc,GAAG,GAAG;IACpB,UAAU,GAAG,GAAG;IAChB,aAAa,GAAG,6BAA6B;IAC7C,QAAQ,GAAQ,IAAI;IACpB,GAAG,GAAW,iCAAiC;IAC/C,QAAQ,GAAG,CAAC;AAEZ,IAAA,WAAA,CAEmB,MAA2B,EAAA;QAA3B,IAAA,CAAA,MAAM,GAAN,MAAM;AAEvB,QAAA,IAAI,MAAM,IAAI,IAAI,EAAE;AAClB,YAAA,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAe;AAC5C,YAAA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAW;AACpC,YAAA,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAc;AAC1C,YAAA,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAS;AAChC,YAAA,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAI;AACtB,YAAA,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAS;QAClC;IACF;AAEA,IAAA,cAAc,CAAE,MAAoB,EAAA;AAClC,QAAA,IAAI,MAAM,CAAC,cAAc,EAAE;AACzB,YAAA,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc;QAC7C;AACA,QAAA,IAAI,MAAM,CAAC,UAAU,EAAE;AACrB,YAAA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU;QACrC;AACA,QAAA,IAAI,MAAM,CAAC,aAAa,EAAE;AACxB,YAAA,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa;QAC3C;AACA,QAAA,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE;AACjC,YAAA,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ;QACjC;AACA,QAAA,IAAI,MAAM,CAAC,GAAG,EAAE;AACd,YAAA,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAI;QACxB;QAEA,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC;AAEpC,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;IAC7B;IAEA,cAAc,GAAA;QACZ,OAAO,IAAI,CAAC,WAAW;IACzB;AAhDW,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,kBAWV,kBAAkB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAX7B,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,cAFpB,MAAM,EAAA,CAAA;;4FAEP,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAHjC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;0BAYI;;0BAAY,MAAM;2BAAC,kBAAkB;;;MCE7B,uBAAuB,CAAA;AAuBxB,IAAA,kBAAA;AACA,IAAA,sBAAA;AAtBiB,IAAA,YAAY;AACO,IAAA,QAAQ;AAC7C,IAAA,OAAO;AACP,IAAA,QAAQ;IACR,SAAS,GAAQ,KAAK;AACtB,IAAA,QAAQ;AACR,IAAA,GAAG;IACH,UAAU,GAAQ,EAAE;AACpB,IAAA,QAAQ;IACR,QAAQ,GAAQ,iBAAiB;AACjC,IAAA,cAAc;AACd,IAAA,UAAU;AACV,IAAA,aAAa;AACtB,IAAA,mBAAmB;AACnB,IAAA,KAAK;IACL,WAAW,GAAG,GAAG;IACjB,YAAY,GAAG,KAAK;IACpB,SAAS,GAAQ,EAAE;IACnB,aAAa,GAAY,KAAK;IAE9B,WAAA,CACU,kBAAqC,EACrC,sBAA6C,EAAA;QAD7C,IAAA,CAAA,kBAAkB,GAAlB,kBAAkB;QAClB,IAAA,CAAA,sBAAsB,GAAtB,sBAAsB;IAC5B;IAEJ,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE;AAEpC,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,UAAU,CAAC,MAAK;AACd,gBAAA,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,EAAE;AACzC,YAAA,CAAC,CAAC;QACJ;IACF;IAEA,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE;QAEvC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,CAAC,aAAa;QAEpE,IAAI,CAAC,KAAK,GAAG;AACX,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,KAAK,EAAE,IAAI,CAAC,sBAAsB,CAAC,QAAQ;AAC3C,YAAA,kBAAkB,EAAE,IAAI,CAAC,sBAAsB,CAAC,cAAc;AAC9D,YAAA,kBAAkB,EAAE,IAAI;AACxB,YAAA,cAAc,EAAE,IAAI;AACpB,YAAA,KAAK,EAAE,IAAI,CAAC,sBAAsB,CAAC,UAAU;AAC7C,YAAA,GAAG,EAAE,IAAI,CAAC,sBAAsB,CAAC,GAAG;AACpC,YAAA,GAAG,EAAE,IAAI,CAAC,sBAAsB,CAAC,QAAQ,GAAG,CAAC,iCAAiC,GAAG,CAAC;AAClF,YAAA,MAAM,EAAE,CAAC,CAAM,KAAI;AACjB,gBAAA,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;AAC7D,oBAAA,IAAI,CAAC,YAAY,GAAG,IAAI;oBACxB,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI;AAC5C,oBAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE;oBACpC,UAAU,CACR,MAAK;AACH,wBAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,aAAa,EAAE;AACtC,wBAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC3B,wBAAA,IAAI,CAAC,YAAY,GAAG,KAAK;AAC3B,oBAAA,CAAC,CACF;AAED,oBAAA,OAAO,IAAI;gBACb;AAEA,gBAAA,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YAC5C;SACD;AAED,QAAA,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE;AACpC,YAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,aAAa;QAC/C;AAEA,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;AAC/B,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,GAAG,CAAC,iCAAiC,GAAG,CAAC;QACzE;AAEA,QAAA,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,EAAE;YAC1B,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG;QAC3B;AAEA,QAAA,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE;YACrC,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC,cAAc;QACrD;AACA,QAAA,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE;YACjC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU;QACpC;AAEA,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;YAC/B,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ;QAClC;QAEA,UAAU,CACR,MAAK;AACH,YAAA,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,CAAC,EAAE;AACzI,gBAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3B;AACF,QAAA,CAAC,CACF;IACH;IAEA,QAAQ,GAAA;QACN,IAAI,CAAC,sBAAsB,CAAC,cAAc,EAAE,CAAC,SAAS,CACpD,CAAC,OAAO,KAAI;YACV,IAAI,OAAO,EAAE;gBACX,IAAI,CAAC,MAAM,EAAE;YACf;AACF,QAAA,CAAC,CACF;IACH;IAEA,WAAW,GAAA;QACT,IAAI,CAAC,MAAM,EAAE;IACf;AAEA,IAAA,SAAS,CAAE,CAAM,EAAA;QACf,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK;IACjC;IAEA,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK;IAC5B;IAEA,OAAO,GAAA;QACL,UAAU,CACR,MAAK;AACH,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI;QAC3B,CAAC,EACD,IAAI,CACL;IACH;AAEA,IAAA,OAAO,CAAE,CAAM,EAAA;QACb,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE;AAEzB,QAAA,IAAI,SAAS,GAAU;YACrB,WAAW;YACX,YAAY;YACZ,SAAS;YACT,WAAW;YACX,QAAQ;YACR,WAAW;YACX,QAAQ;YACR,GAAG;YACH,GAAG;YACH,GAAG;YACH,KAAK;SACN;AAED,QAAA,IACE,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI;;gBAElB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,EAC3B;AACC,YAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3B;QAEA,IACE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG;;AAEzB,gBAAA,IAAI,CAAC,SAAS,KAAK,CAAC,CAAC,MAAM,CAAC;;AAE5B,gBAAA,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,SAAS,EACxB;YACC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC;YAC5D,UAAU,CACR,MAAK;gBACH,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC;YACjE,CAAC,EACD,IAAI,CACL;QACH;IACF;wGA9KW,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,qBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAvB,uBAAuB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,GAAA,EAAA,KAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,YAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,cAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAGvB,cAAc,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECxB3B,2oBAkBA,EAAA,MAAA,EAAA,CAAA,0MAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;4FDGa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBANnC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,cAGhB,KAAK,EAAA,QAAA,EAAA,2oBAAA,EAAA,MAAA,EAAA,CAAA,0MAAA,CAAA,EAAA;;sBAIhB,SAAS;uBAAC,cAAc;;sBACxB,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,cAAc,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;;sBAC3C;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;;MEbU,oBAAoB,CAAA;AAC/B,IAAA,OAAO,OAAO,CAAE,MAAA,GAA2B,EAAE,EAAA;QAC3C,OAAO;AACL,YAAA,QAAQ,EAAE,oBAAoB;AAC9B,YAAA,SAAS,EAAE;gBACT,MAAM,CAAC,MAAM,IAAI;AACf,oBAAA,OAAO,EAAE,aAAa;AACtB,oBAAA,QAAQ,EAAE;AACX;AACF,aAAA;SACF;IACH;wGAXW,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;yGAApB,oBAAoB,EAAA,YAAA,EAAA,CAb7B,uBAAuB,CAAA,EAAA,OAAA,EAAA,CAGvB,YAAY;YACZ,WAAW;YACX,mBAAmB;AACnB,YAAA,WAAW,aAGX,uBAAuB,CAAA,EAAA,CAAA;AAId,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,YAV7B,YAAY;YACZ,WAAW;YACX,mBAAmB;YACnB,WAAW,CAAA,EAAA,CAAA;;4FAOF,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAfhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,mBAAmB;wBACnB;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP;AACD,qBAAA;AACD,oBAAA,SAAS,EAAE;AACZ,iBAAA;;;ACrBD;;AAEG;AAMH;;ACRA;;AAEG;;;;"}
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@experteam-mx/ngx-input-number",
3
- "version": "20.0.0",
3
+ "version": "20.0.1-build.0",
4
4
  "description": "Angular input number for Experteam apps",
5
5
  "author": "Experteam Cía. Ltda.",
6
6
  "keywords": [
7
7
  "angular",
8
- "angular-18",
8
+ "angular-20",
9
9
  "ng",
10
10
  "form",
11
11
  "input"
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwZXJ0ZWFtLW14LW5neC1pbnB1dC1udW1iZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9leHBlcnRlYW0tbXgvbmd4LWlucHV0LW51bWJlci9zcmMvZXhwZXJ0ZWFtLW14LW5neC1pbnB1dC1udW1iZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -1,3 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- export const INPUT_CONFIG_TOKEN = new InjectionToken('INPUT_CONFIG');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHBlcnRlYW0tbXgvbmd4LWlucHV0LW51bWJlci9zcmMvbGliL2RpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHL0MsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxjQUFjLENBQWUsY0FBYyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW5wdXRDb25maWdzIH0gZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBJTlBVVF9DT05GSUdfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48aW5wdXRDb25maWdzPignSU5QVVRfQ09ORklHJyk7XG4iXX0=
@@ -1,180 +0,0 @@
1
- import { Component, Input, ViewChild } from '@angular/core';
2
- import { IMaskDirective } from 'angular-imask';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "./ngx-input-number.service";
5
- import * as i2 from "@angular/forms";
6
- import * as i3 from "angular-imask";
7
- export class NgxInputNumberComponent {
8
- _ChangeDetectorRef;
9
- _NgxInputNumberService;
10
- inputElement;
11
- iMaskDir;
12
- control;
13
- negative;
14
- autofocus = false;
15
- decimals;
16
- max;
17
- idForLabel = '';
18
- tabIndex;
19
- addClass = 'form-control-sm';
20
- groupSeparator;
21
- radixPoint;
22
- lblKeyInvalid;
23
- lblKeyInvalidRender;
24
- imask;
25
- placeholder = '0';
26
- resetControl = false;
27
- prevValue = '';
28
- validateError = false;
29
- constructor(_ChangeDetectorRef, _NgxInputNumberService) {
30
- this._ChangeDetectorRef = _ChangeDetectorRef;
31
- this._NgxInputNumberService = _NgxInputNumberService;
32
- }
33
- ngAfterViewInit() {
34
- this.iMaskDir.maskRef?.updateValue();
35
- if (this.autofocus) {
36
- setTimeout(() => {
37
- this.inputElement.nativeElement.focus();
38
- });
39
- }
40
- }
41
- render() {
42
- this._ChangeDetectorRef.detectChanges();
43
- this.lblKeyInvalidRender = this._NgxInputNumberService.lblKeyInvalid;
44
- this.imask = {
45
- mask: Number,
46
- scale: this._NgxInputNumberService.decimals,
47
- thousandsSeparator: this._NgxInputNumberService.groupSeparator,
48
- padFractionalZeros: true,
49
- normalizeZeros: true,
50
- radix: this._NgxInputNumberService.radixPoint,
51
- max: this._NgxInputNumberService.max,
52
- min: this._NgxInputNumberService.negative ? -999999999999999999999999999999999 : 0,
53
- format: (x) => {
54
- if (typeof x !== 'string' && x === null && !this.resetControl) {
55
- this.resetControl = true;
56
- this.inputElement.nativeElement.value = null;
57
- this.iMaskDir.maskRef?.updateValue();
58
- setTimeout(() => {
59
- this.iMaskDir.maskRef?.updateControl();
60
- this.control.setValue(null);
61
- this.resetControl = false;
62
- });
63
- return null;
64
- }
65
- return Number(x).toFixed(this._NgxInputNumberService.decimals);
66
- }
67
- };
68
- if (this.lblKeyInvalid !== undefined) {
69
- this.lblKeyInvalidRender = this.lblKeyInvalid;
70
- }
71
- if (this.negative !== undefined) {
72
- this.imask.min = this.negative ? -999999999999999999999999999999999 : 0;
73
- }
74
- if (this.max !== undefined) {
75
- this.imask.max = this.max;
76
- }
77
- if (this.groupSeparator !== undefined) {
78
- this.imask.thousandsSeparator = this.groupSeparator;
79
- }
80
- if (this.radixPoint !== undefined) {
81
- this.imask.radix = this.radixPoint;
82
- }
83
- if (this.decimals !== undefined) {
84
- this.imask.scale = this.decimals;
85
- }
86
- setTimeout(() => {
87
- if (this.inputElement.nativeElement.value == '' && (this.control.value === null || this.control.value === '' || this.control.value === 0)) {
88
- this.control.setValue('');
89
- }
90
- });
91
- }
92
- ngOnInit() {
93
- this._NgxInputNumberService.getChangeEvent().subscribe((configs) => {
94
- if (configs) {
95
- this.render();
96
- }
97
- });
98
- }
99
- ngOnChanges() {
100
- this.render();
101
- }
102
- onKeydown(e) {
103
- this.prevValue = e.target.value;
104
- }
105
- onBlur() {
106
- this.validateError = false;
107
- }
108
- onFocus() {
109
- setTimeout(() => {
110
- this.validateError = true;
111
- }, 1000);
112
- }
113
- onKeyup(e) {
114
- if (!this.validateError)
115
- return;
116
- let scapeKeys = [
117
- 'ArrowLeft',
118
- 'ArrowRight',
119
- 'ArrowUp',
120
- 'ArrowDown',
121
- 'Escape',
122
- 'Backspace',
123
- 'Delete',
124
- '.',
125
- ',',
126
- '-',
127
- 'Tab',
128
- ];
129
- if (e.target.value == ''
130
- &&
131
- !scapeKeys.includes(e.key)) {
132
- this.control.setValue('');
133
- }
134
- if (!scapeKeys.includes(e.key)
135
- &&
136
- this.prevValue === e.target.value
137
- &&
138
- e.key != this.prevValue) {
139
- this.inputElement.nativeElement.classList.add('key-invalid');
140
- setTimeout(() => {
141
- this.inputElement.nativeElement.classList.remove('key-invalid');
142
- }, 1000);
143
- }
144
- }
145
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgxInputNumberComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.NgxInputNumberService }], target: i0.ɵɵFactoryTarget.Component });
146
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: NgxInputNumberComponent, selector: "app-input-number", inputs: { control: "control", negative: "negative", autofocus: "autofocus", decimals: "decimals", max: "max", idForLabel: "idForLabel", tabIndex: "tabIndex", addClass: "addClass", groupSeparator: "groupSeparator", radixPoint: "radixPoint", lblKeyInvalid: "lblKeyInvalid" }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true }, { propertyName: "iMaskDir", first: true, predicate: IMaskDirective, descendants: true }], usesOnChanges: true, ngImport: i0, 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", 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"], dependencies: [{ kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.IMaskDirective, selector: "[imask]", inputs: ["imask", "unmask", "imaskElement"], outputs: ["accept", "complete"], exportAs: ["imask"] }] });
147
- }
148
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgxInputNumberComponent, decorators: [{
149
- type: Component,
150
- args: [{ selector: 'app-input-number', 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", 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"] }]
151
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.NgxInputNumberService }], propDecorators: { inputElement: [{
152
- type: ViewChild,
153
- args: ['inputElement']
154
- }], iMaskDir: [{
155
- type: ViewChild,
156
- args: [IMaskDirective, { static: false }]
157
- }], control: [{
158
- type: Input
159
- }], negative: [{
160
- type: Input
161
- }], autofocus: [{
162
- type: Input
163
- }], decimals: [{
164
- type: Input
165
- }], max: [{
166
- type: Input
167
- }], idForLabel: [{
168
- type: Input
169
- }], tabIndex: [{
170
- type: Input
171
- }], addClass: [{
172
- type: Input
173
- }], groupSeparator: [{
174
- type: Input
175
- }], radixPoint: [{
176
- type: Input
177
- }], lblKeyInvalid: [{
178
- type: Input
179
- }] } });
180
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWlucHV0LW51bWJlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHBlcnRlYW0tbXgvbmd4LWlucHV0LW51bWJlci9zcmMvbGliL25neC1pbnB1dC1udW1iZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXhwZXJ0ZWFtLW14L25neC1pbnB1dC1udW1iZXIvc3JjL2xpYi9uZ3gtaW5wdXQtbnVtYmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxTQUFTLEVBRVQsS0FBSyxFQUdMLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQTtBQUd0QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFBOzs7OztBQVE5QyxNQUFNLE9BQU8sdUJBQXVCO0lBdUJ4QjtJQUNBO0lBdEJpQixZQUFZLENBQWE7SUFDTixRQUFRLENBQStCO0lBQzVFLE9BQU8sQ0FBYztJQUNyQixRQUFRLENBQU07SUFDZCxTQUFTLEdBQVEsS0FBSyxDQUFBO0lBQ3RCLFFBQVEsQ0FBSztJQUNiLEdBQUcsQ0FBSztJQUNSLFVBQVUsR0FBUSxFQUFFLENBQUE7SUFDcEIsUUFBUSxDQUFLO0lBQ2IsUUFBUSxHQUFRLGlCQUFpQixDQUFBO0lBQ2pDLGNBQWMsQ0FBSztJQUNuQixVQUFVLENBQUs7SUFDZixhQUFhLENBQUs7SUFDM0IsbUJBQW1CLENBQUs7SUFDeEIsS0FBSyxDQUFLO0lBQ1YsV0FBVyxHQUFHLEdBQUcsQ0FBQTtJQUNqQixZQUFZLEdBQUcsS0FBSyxDQUFBO0lBQ3BCLFNBQVMsR0FBUSxFQUFFLENBQUE7SUFDbkIsYUFBYSxHQUFZLEtBQUssQ0FBQTtJQUU5QixZQUNVLGtCQUFxQyxFQUNyQyxzQkFBNkM7UUFEN0MsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFtQjtRQUNyQywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXVC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Ozs0RkRFYSx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0Usa0JBQWtCOzBIQU1ELFlBQVk7c0JBQXRDLFNBQVM7dUJBQUMsY0FBYztnQkFDcUIsUUFBUTtzQkFBckQsU0FBUzt1QkFBQyxjQUFjLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUNuQyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBOZ3hJbnB1dE51bWJlclNlcnZpY2UgfSBmcm9tICcuL25neC1pbnB1dC1udW1iZXIuc2VydmljZSdcbmltcG9ydCB7IElNYXNrRGlyZWN0aXZlIH0gZnJvbSAnYW5ndWxhci1pbWFzaydcbmltcG9ydCB7IE1hc2tlZE51bWJlciB9IGZyb20gJ2ltYXNrJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtaW5wdXQtbnVtYmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL25neC1pbnB1dC1udW1iZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9uZ3gtaW5wdXQtbnVtYmVyLmNvbXBvbmVudC5zYXNzJ11cbn0pXG5leHBvcnQgY2xhc3MgTmd4SW5wdXROdW1iZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgQFZpZXdDaGlsZCgnaW5wdXRFbGVtZW50JykgaW5wdXRFbGVtZW50ITogRWxlbWVudFJlZlxuICBAVmlld0NoaWxkKElNYXNrRGlyZWN0aXZlLCB7IHN0YXRpYzogZmFsc2UgfSkgaU1hc2tEaXIhOiBJTWFza0RpcmVjdGl2ZTxNYXNrZWROdW1iZXI+XG4gIEBJbnB1dCgpIGNvbnRyb2whOiBGb3JtQ29udHJvbFxuICBASW5wdXQoKSBuZWdhdGl2ZSE6IGFueVxuICBASW5wdXQoKSBhdXRvZm9jdXM6IGFueSA9IGZhbHNlXG4gIEBJbnB1dCgpIGRlY2ltYWxzOiBhbnlcbiAgQElucHV0KCkgbWF4OiBhbnlcbiAgQElucHV0KCkgaWRGb3JMYWJlbDogYW55ID0gJydcbiAgQElucHV0KCkgdGFiSW5kZXg6IGFueVxuICBASW5wdXQoKSBhZGRDbGFzczogYW55ID0gJ2Zvcm0tY29udHJvbC1zbSdcbiAgQElucHV0KCkgZ3JvdXBTZXBhcmF0b3I6IGFueVxuICBASW5wdXQoKSByYWRpeFBvaW50OiBhbnlcbiAgQElucHV0KCkgbGJsS2V5SW52YWxpZDogYW55XG4gIGxibEtleUludmFsaWRSZW5kZXI6IGFueVxuICBpbWFzazogYW55XG4gIHBsYWNlaG9sZGVyID0gJzAnXG4gIHJlc2V0Q29udHJvbCA9IGZhbHNlXG4gIHByZXZWYWx1ZTogYW55ID0gJydcbiAgdmFsaWRhdGVFcnJvcjogYm9vbGVhbiA9IGZhbHNlXG5cbiAgY29uc3RydWN0b3IgKFxuICAgIHByaXZhdGUgX0NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIF9OZ3hJbnB1dE51bWJlclNlcnZpY2U6IE5neElucHV0TnVtYmVyU2VydmljZSxcbiAgKSB7IH1cblxuICBuZ0FmdGVyVmlld0luaXQgKCk6IHZvaWQge1xuICAgIHRoaXMuaU1hc2tEaXIubWFza1JlZj8udXBkYXRlVmFsdWUoKVxuXG4gICAgaWYgKHRoaXMuYXV0b2ZvY3VzKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpXG4gICAgICB9KVxuICAgIH1cbiAgfVxuXG4gIHJlbmRlciAoKSB7XG4gICAgdGhpcy5fQ2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpXG5cbiAgICB0aGlzLmxibEtleUludmFsaWRSZW5kZXIgPSB0aGlzLl9OZ3hJbnB1dE51bWJlclNlcnZpY2UubGJsS2V5SW52YWxpZFxuXG4gICAgdGhpcy5pbWFzayA9IHtcbiAgICAgIG1hc2s6IE51bWJlcixcbiAgICAgIHNjYWxlOiB0aGlzLl9OZ3hJbnB1dE51bWJlclNlcnZpY2UuZGVjaW1hbHMsXG4gICAgICB0aG91c2FuZHNTZXBhcmF0b3I6IHRoaXMuX05neElucHV0TnVtYmVyU2VydmljZS5ncm91cFNlcGFyYXRvcixcbiAgICAgIHBhZEZyYWN0aW9uYWxaZXJvczogdHJ1ZSxcbiAgICAgIG5vcm1hbGl6ZVplcm9zOiB0cnVlLFxuICAgICAgcmFkaXg6IHRoaXMuX05neElucHV0TnVtYmVyU2VydmljZS5yYWRpeFBvaW50LFxuICAgICAgbWF4OiB0aGlzLl9OZ3hJbnB1dE51bWJlclNlcnZpY2UubWF4LFxuICAgICAgbWluOiB0aGlzLl9OZ3hJbnB1dE51bWJlclNlcnZpY2UubmVnYXRpdmUgPyAtOTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5IDogMCxcbiAgICAgIGZvcm1hdDogKHg6IGFueSkgPT4ge1xuICAgICAgICBpZiAodHlwZW9mIHggIT09ICdzdHJpbmcnICYmIHggPT09IG51bGwgJiYgIXRoaXMucmVzZXRDb250cm9sKSB7XG4gICAgICAgICAgdGhpcy5yZXNldENvbnRyb2wgPSB0cnVlXG4gICAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSA9IG51bGxcbiAgICAgICAgICB0aGlzLmlNYXNrRGlyLm1hc2tSZWY/LnVwZGF0ZVZhbHVlKClcbiAgICAgICAgICBzZXRUaW1lb3V0KFxuICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmlNYXNrRGlyLm1hc2tSZWY/LnVwZGF0ZUNvbnRyb2woKVxuICAgICAgICAgICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUobnVsbClcbiAgICAgICAgICAgICAgdGhpcy5yZXNldENvbnRyb2wgPSBmYWxzZVxuICAgICAgICAgICAgfVxuICAgICAgICAgIClcblxuICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gTnVtYmVyKHgpLnRvRml4ZWQodGhpcy5fTmd4SW5wdXROdW1iZXJTZXJ2aWNlLmRlY2ltYWxzKVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLmxibEtleUludmFsaWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5sYmxLZXlJbnZhbGlkUmVuZGVyID0gdGhpcy5sYmxLZXlJbnZhbGlkXG4gICAgfVxuXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5pbWFzay5taW4gPSB0aGlzLm5lZ2F0aXZlID8gLTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OSA6IDBcbiAgICB9XG5cbiAgICBpZiAodGhpcy5tYXggIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5pbWFzay5tYXggPSB0aGlzLm1heFxuICAgIH1cblxuICAgIGlmICh0aGlzLmdyb3VwU2VwYXJhdG9yICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuaW1hc2sudGhvdXNhbmRzU2VwYXJhdG9yID0gdGhpcy5ncm91cFNlcGFyYXRvclxuICAgIH1cbiAgICBpZiAodGhpcy5yYWRpeFBvaW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuaW1hc2sucmFkaXggPSB0aGlzLnJhZGl4UG9pbnRcbiAgICB9XG5cbiAgICBpZiAodGhpcy5kZWNpbWFscyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmltYXNrLnNjYWxlID0gdGhpcy5kZWNpbWFsc1xuICAgIH1cblxuICAgIHNldFRpbWVvdXQoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlID09ICcnICYmICh0aGlzLmNvbnRyb2wudmFsdWUgPT09IG51bGwgfHwgdGhpcy5jb250cm9sLnZhbHVlID09PSAnJyB8fCB0aGlzLmNvbnRyb2wudmFsdWUgPT09IDApKSB7XG4gICAgICAgICAgdGhpcy5jb250cm9sLnNldFZhbHVlKCcnKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgKVxuICB9XG5cbiAgbmdPbkluaXQgKCk6IHZvaWQge1xuICAgIHRoaXMuX05neElucHV0TnVtYmVyU2VydmljZS5nZXRDaGFuZ2VFdmVudCgpLnN1YnNjcmliZShcbiAgICAgIChjb25maWdzKSA9PiB7XG4gICAgICAgIGlmIChjb25maWdzKSB7XG4gICAgICAgICAgdGhpcy5yZW5kZXIoKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgKVxuICB9XG5cbiAgbmdPbkNoYW5nZXMgKCk6IHZvaWQge1xuICAgIHRoaXMucmVuZGVyKClcbiAgfVxuXG4gIG9uS2V5ZG93biAoZTogYW55KSB7XG4gICAgdGhpcy5wcmV2VmFsdWUgPSBlLnRhcmdldC52YWx1ZVxuICB9XG5cbiAgb25CbHVyICgpIHtcbiAgICB0aGlzLnZhbGlkYXRlRXJyb3IgPSBmYWxzZVxuICB9XG5cbiAgb25Gb2N1cyAoKSB7XG4gICAgc2V0VGltZW91dChcbiAgICAgICgpID0+IHtcbiAgICAgICAgdGhpcy52YWxpZGF0ZUVycm9yID0gdHJ1ZVxuICAgICAgfSxcbiAgICAgIDEwMDBcbiAgICApXG4gIH1cblxuICBvbktleXVwIChlOiBhbnkpIHtcbiAgICBpZiAoIXRoaXMudmFsaWRhdGVFcnJvcikgcmV0dXJuXG5cbiAgICBsZXQgc2NhcGVLZXlzOiBhbnlbXSA9IFtcbiAgICAgICdBcnJvd0xlZnQnLFxuICAgICAgJ0Fycm93UmlnaHQnLFxuICAgICAgJ0Fycm93VXAnLFxuICAgICAgJ0Fycm93RG93bicsXG4gICAgICAnRXNjYXBlJyxcbiAgICAgICdCYWNrc3BhY2UnLFxuICAgICAgJ0RlbGV0ZScsXG4gICAgICAnLicsXG4gICAgICAnLCcsXG4gICAgICAnLScsXG4gICAgICAnVGFiJyxcbiAgICBdXG5cbiAgICBpZihcbiAgICAgIGUudGFyZ2V0LnZhbHVlID09ICcnXG4gICAgICAmJlxuICAgICAgIXNjYXBlS2V5cy5pbmNsdWRlcyhlLmtleSlcbiAgICApe1xuICAgICAgdGhpcy5jb250cm9sLnNldFZhbHVlKCcnKVxuICAgIH1cblxuICAgIGlmKFxuICAgICAgIXNjYXBlS2V5cy5pbmNsdWRlcyhlLmtleSlcbiAgICAgICYmXG4gICAgICB0aGlzLnByZXZWYWx1ZSA9PT0gZS50YXJnZXQudmFsdWVcbiAgICAgICYmXG4gICAgICBlLmtleSAhPSB0aGlzLnByZXZWYWx1ZVxuICAgICl7XG4gICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2tleS1pbnZhbGlkJylcbiAgICAgIHNldFRpbWVvdXQoXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ2tleS1pbnZhbGlkJylcbiAgICAgICAgfSxcbiAgICAgICAgMTAwMFxuICAgICAgKVxuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInBvc2l0aW9uLXJlbGF0aXZlXCI+XG4gICAgPGlucHV0XG4gICAgICAgICNpbnB1dEVsZW1lbnRcbiAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICBjbGFzcz1cInRleHQtZW5kIGZvcm0tY29udHJvbCB7eyBhZGRDbGFzcyB9fVwiXG4gICAgICAgIFtjbGFzcy5pcy1pbnZhbGlkXT1cImNvbnRyb2wudG91Y2hlZCAmJiBjb250cm9sLmludmFsaWRcIlxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiXG4gICAgICAgIFt0YWJpbmRleF09XCJ0YWJJbmRleFwiXG4gICAgICAgIFtpZF09XCJpZEZvckxhYmVsXCJcbiAgICAgICAgW2ltYXNrXT1cImltYXNrXCJcbiAgICAgICAgW3VubWFza109XCIndHlwZWQnXCJcbiAgICAgICAgKGtleXVwKT1cIm9uS2V5dXAoJGV2ZW50KVwiXG4gICAgICAgIChrZXlkb3duKT1cIm9uS2V5ZG93bigkZXZlbnQpXCJcbiAgICAgICAgKGJsdXIpPVwib25CbHVyKClcIlxuICAgICAgICAoZm9jdXMpPVwib25Gb2N1cygpXCJcbiAgICA+XG4gICAgPGxhYmVsIGNsYXNzPVwibGJsLWtleS1pbnZhbGlkIHBvc2l0aW9uLWFic29sdXRlIHRvcC0xMDAgZW5kLTAgcC0yIGQtbm9uZVwiIFtpbm5lckhUTUxdPVwibGJsS2V5SW52YWxpZFJlbmRlclwiPjwvbGFiZWw+XG48L2Rpdj5cbiJdfQ==
@@ -1,48 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
- import { NgxInputNumberComponent } from './ngx-input-number.component';
5
- import { defaultTypesProvider, typesProvider } from './typesProvider';
6
- import { IMaskModule } from 'angular-imask';
7
- import * as i0 from "@angular/core";
8
- export class NgxInputNumberModule {
9
- static forRoot(config = {}) {
10
- return {
11
- ngModule: NgxInputNumberModule,
12
- providers: [
13
- config.config || {
14
- provide: typesProvider,
15
- useClass: defaultTypesProvider
16
- }
17
- ],
18
- };
19
- }
20
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgxInputNumberModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
21
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: NgxInputNumberModule, declarations: [NgxInputNumberComponent], imports: [CommonModule,
22
- FormsModule,
23
- ReactiveFormsModule,
24
- IMaskModule], exports: [NgxInputNumberComponent] });
25
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgxInputNumberModule, imports: [CommonModule,
26
- FormsModule,
27
- ReactiveFormsModule,
28
- IMaskModule] });
29
- }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgxInputNumberModule, decorators: [{
31
- type: NgModule,
32
- args: [{
33
- declarations: [
34
- NgxInputNumberComponent
35
- ],
36
- imports: [
37
- CommonModule,
38
- FormsModule,
39
- ReactiveFormsModule,
40
- IMaskModule
41
- ],
42
- exports: [
43
- NgxInputNumberComponent
44
- ],
45
- providers: []
46
- }]
47
- }] });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWlucHV0LW51bWJlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHBlcnRlYW0tbXgvbmd4LWlucHV0LW51bWJlci9zcmMvbGliL25neC1pbnB1dC1udW1iZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDakUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUE7QUFDdEUsT0FBTyxFQUFFLG9CQUFvQixFQUFvQixhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUN2RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFBOztBQWlCM0MsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQixNQUFNLENBQUMsT0FBTyxDQUFFLFNBQTJCLEVBQUU7UUFDM0MsT0FBTztZQUNMLFFBQVEsRUFBRSxvQkFBb0I7WUFDOUIsU0FBUyxFQUFFO2dCQUNULE1BQU0sQ0FBQyxNQUFNLElBQUk7b0JBQ2YsT0FBTyxFQUFFLGFBQWE7b0JBQ3RCLFFBQVEsRUFBRSxvQkFBb0I7aUJBQy9CO2FBQ0Y7U0FDRixDQUFBO0lBQ0gsQ0FBQzt3R0FYVSxvQkFBb0I7eUdBQXBCLG9CQUFvQixpQkFiN0IsdUJBQXVCLGFBR3ZCLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLFdBQVcsYUFHWCx1QkFBdUI7eUdBSWQsb0JBQW9CLFlBVjdCLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLFdBQVc7OzRGQU9GLG9CQUFvQjtrQkFmaEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osdUJBQXVCO3FCQUN4QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsV0FBVztxQkFDWjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsdUJBQXVCO3FCQUN4QjtvQkFDRCxTQUFTLEVBQUUsRUFBRTtpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBOZ3hJbnB1dE51bWJlckNvbXBvbmVudCB9IGZyb20gJy4vbmd4LWlucHV0LW51bWJlci5jb21wb25lbnQnXG5pbXBvcnQgeyBkZWZhdWx0VHlwZXNQcm92aWRlciwgaW5wdXRDb25maWdzSGVscCwgdHlwZXNQcm92aWRlciB9IGZyb20gJy4vdHlwZXNQcm92aWRlcidcbmltcG9ydCB7IElNYXNrTW9kdWxlIH0gZnJvbSAnYW5ndWxhci1pbWFzaydcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgTmd4SW5wdXROdW1iZXJDb21wb25lbnRcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIElNYXNrTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBOZ3hJbnB1dE51bWJlckNvbXBvbmVudFxuICBdLFxuICBwcm92aWRlcnM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIE5neElucHV0TnVtYmVyTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QgKGNvbmZpZzogaW5wdXRDb25maWdzSGVscCA9IHt9KTogTW9kdWxlV2l0aFByb3ZpZGVyczxOZ3hJbnB1dE51bWJlck1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogTmd4SW5wdXROdW1iZXJNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgY29uZmlnLmNvbmZpZyB8fCB7XG4gICAgICAgICAgcHJvdmlkZTogdHlwZXNQcm92aWRlcixcbiAgICAgICAgICB1c2VDbGFzczogZGVmYXVsdFR5cGVzUHJvdmlkZXJcbiAgICAgICAgfVxuICAgICAgXSxcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,64 +0,0 @@
1
- import { Inject, Injectable, Optional } from '@angular/core';
2
- import { INPUT_CONFIG_TOKEN } from './di';
3
- import { BehaviorSubject } from 'rxjs';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "./types";
6
- export class NgxInputNumberService {
7
- config;
8
- changeEvent = new BehaviorSubject(false);
9
- groupSeparator = ',';
10
- radixPoint = '.';
11
- lblKeyInvalid = 'Please enter a valid amount';
12
- negative = true;
13
- max = 999999999999999999999999999999999;
14
- decimals = 2;
15
- constructor(config) {
16
- this.config = config;
17
- if (config != null) {
18
- this.groupSeparator = config.groupSeparator;
19
- this.radixPoint = config.radixPoint;
20
- this.lblKeyInvalid = config.lblKeyInvalid;
21
- this.negative = config.negative;
22
- this.max = config.max;
23
- this.decimals = config.decimals;
24
- }
25
- }
26
- onChangeParams(config) {
27
- if (config.groupSeparator) {
28
- this.groupSeparator = config.groupSeparator;
29
- }
30
- if (config.radixPoint) {
31
- this.radixPoint = config.radixPoint;
32
- }
33
- if (config.lblKeyInvalid) {
34
- this.lblKeyInvalid = config.lblKeyInvalid;
35
- }
36
- if (config.negative !== undefined) {
37
- this.negative = config.negative;
38
- }
39
- if (config.max) {
40
- this.max = config.max;
41
- }
42
- if (config.decimals) {
43
- this.decimals = config.decimals;
44
- }
45
- this.changeEvent.next(true);
46
- }
47
- getChangeEvent() {
48
- return this.changeEvent;
49
- }
50
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgxInputNumberService, deps: [{ token: INPUT_CONFIG_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
51
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgxInputNumberService, providedIn: 'root' });
52
- }
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgxInputNumberService, decorators: [{
54
- type: Injectable,
55
- args: [{
56
- providedIn: 'root'
57
- }]
58
- }], ctorParameters: () => [{ type: i1.inputConfigs, decorators: [{
59
- type: Optional
60
- }, {
61
- type: Inject,
62
- args: [INPUT_CONFIG_TOKEN]
63
- }] }] });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWlucHV0LW51bWJlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXhwZXJ0ZWFtLW14L25neC1pbnB1dC1udW1iZXIvc3JjL2xpYi9uZ3gtaW5wdXQtbnVtYmVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzVELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUV6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFBOzs7QUFLdEMsTUFBTSxPQUFPLHFCQUFxQjtJQVliO0lBVm5CLFdBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQTtJQUNqRCxjQUFjLEdBQUcsR0FBRyxDQUFBO0lBQ3BCLFVBQVUsR0FBRyxHQUFHLENBQUE7SUFDaEIsYUFBYSxHQUFHLDZCQUE2QixDQUFBO0lBQzdDLFFBQVEsR0FBUSxJQUFJLENBQUE7SUFDcEIsR0FBRyxHQUFXLGlDQUFpQyxDQUFBO0lBQy9DLFFBQVEsR0FBRyxDQUFDLENBQUE7SUFFWixZQUVtQixNQUEyQjtRQUEzQixXQUFNLEdBQU4sTUFBTSxDQUFxQjtRQUU1QyxJQUFJLE1BQU0sSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQyxjQUFlLENBQUE7WUFDNUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVyxDQUFBO1lBQ3BDLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWMsQ0FBQTtZQUMxQyxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFTLENBQUE7WUFDaEMsSUFBSSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsR0FBSSxDQUFBO1lBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVMsQ0FBQTtRQUNsQyxDQUFDO0lBQ0gsQ0FBQztJQUVELGNBQWMsQ0FBRSxNQUFvQjtRQUNsQyxJQUFJLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUE7UUFDN0MsQ0FBQztRQUNELElBQUksTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQTtRQUNyQyxDQUFDO1FBQ0QsSUFBSSxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFBO1FBQzNDLENBQUM7UUFDRCxJQUFJLE1BQU0sQ0FBQyxRQUFRLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFBO1FBQ2pDLENBQUM7UUFDRCxJQUFJLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLEdBQUksQ0FBQTtRQUN4QixDQUFDO1FBQ0QsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFBO1FBQ2pDLENBQUM7UUFFRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUM3QixDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQTtJQUN6QixDQUFDO3dHQWpEVSxxQkFBcUIsa0JBV1Ysa0JBQWtCOzRHQVg3QixxQkFBcUIsY0FGcEIsTUFBTTs7NEZBRVAscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBWUksUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IElOUFVUX0NPTkZJR19UT0tFTiB9IGZyb20gJy4vZGknXG5pbXBvcnQgeyBpbnB1dENvbmZpZ3MgfSBmcm9tICcuL3R5cGVzJ1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcydcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTmd4SW5wdXROdW1iZXJTZXJ2aWNlIHtcblxuICBjaGFuZ2VFdmVudCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpXG4gIGdyb3VwU2VwYXJhdG9yID0gJywnXG4gIHJhZGl4UG9pbnQgPSAnLidcbiAgbGJsS2V5SW52YWxpZCA9ICdQbGVhc2UgZW50ZXIgYSB2YWxpZCBhbW91bnQnXG4gIG5lZ2F0aXZlOiBhbnkgPSB0cnVlXG4gIG1heDogbnVtYmVyID0gOTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5XG4gIGRlY2ltYWxzID0gMlxuXG4gIGNvbnN0cnVjdG9yIChcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KElOUFVUX0NPTkZJR19UT0tFTilcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZzogaW5wdXRDb25maWdzIHwgbnVsbCxcbiAgKSB7XG4gICAgaWYgKGNvbmZpZyAhPSBudWxsKSB7XG4gICAgICB0aGlzLmdyb3VwU2VwYXJhdG9yID0gY29uZmlnLmdyb3VwU2VwYXJhdG9yIVxuICAgICAgdGhpcy5yYWRpeFBvaW50ID0gY29uZmlnLnJhZGl4UG9pbnQhXG4gICAgICB0aGlzLmxibEtleUludmFsaWQgPSBjb25maWcubGJsS2V5SW52YWxpZCFcbiAgICAgIHRoaXMubmVnYXRpdmUgPSBjb25maWcubmVnYXRpdmUhXG4gICAgICB0aGlzLm1heCA9IGNvbmZpZy5tYXghXG4gICAgICB0aGlzLmRlY2ltYWxzID0gY29uZmlnLmRlY2ltYWxzIVxuICAgIH1cbiAgfVxuXG4gIG9uQ2hhbmdlUGFyYW1zIChjb25maWc6IGlucHV0Q29uZmlncykge1xuICAgIGlmIChjb25maWcuZ3JvdXBTZXBhcmF0b3IpIHtcbiAgICAgIHRoaXMuZ3JvdXBTZXBhcmF0b3IgPSBjb25maWcuZ3JvdXBTZXBhcmF0b3JcbiAgICB9XG4gICAgaWYgKGNvbmZpZy5yYWRpeFBvaW50KSB7XG4gICAgICB0aGlzLnJhZGl4UG9pbnQgPSBjb25maWcucmFkaXhQb2ludFxuICAgIH1cbiAgICBpZiAoY29uZmlnLmxibEtleUludmFsaWQpIHtcbiAgICAgIHRoaXMubGJsS2V5SW52YWxpZCA9IGNvbmZpZy5sYmxLZXlJbnZhbGlkXG4gICAgfVxuICAgIGlmIChjb25maWcubmVnYXRpdmUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5uZWdhdGl2ZSA9IGNvbmZpZy5uZWdhdGl2ZVxuICAgIH1cbiAgICBpZiAoY29uZmlnLm1heCkge1xuICAgICAgdGhpcy5tYXggPSBjb25maWcubWF4IVxuICAgIH1cbiAgICBpZiAoY29uZmlnLmRlY2ltYWxzKSB7XG4gICAgICB0aGlzLmRlY2ltYWxzID0gY29uZmlnLmRlY2ltYWxzXG4gICAgfVxuXG4gICAgdGhpcy5jaGFuZ2VFdmVudC5uZXh0KHRydWUpXG4gIH1cblxuICBnZXRDaGFuZ2VFdmVudCAoKSB7XG4gICAgcmV0dXJuIHRoaXMuY2hhbmdlRXZlbnRcbiAgfVxufVxuIl19
@@ -1,12 +0,0 @@
1
- export class inputConfigs {
2
- groupSeparator;
3
- radixPoint;
4
- lblKeyInvalid;
5
- max;
6
- decimals;
7
- negative;
8
- }
9
- export class inputConfigsHelp {
10
- config;
11
- }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHBlcnRlYW0tbXgvbmd4LWlucHV0LW51bWJlci9zcmMvbGliL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLGNBQWMsQ0FBUztJQUN2QixVQUFVLENBQVM7SUFDbkIsYUFBYSxDQUFTO0lBQ3RCLEdBQUcsQ0FBUztJQUNaLFFBQVEsQ0FBUztJQUNqQixRQUFRLENBQVU7Q0FDbkI7QUFFRCxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCLE1BQU0sQ0FBVztDQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuZXhwb3J0IGNsYXNzIGlucHV0Q29uZmlncyB7XG4gIGdyb3VwU2VwYXJhdG9yPzogc3RyaW5nXG4gIHJhZGl4UG9pbnQ/OiBzdHJpbmdcbiAgbGJsS2V5SW52YWxpZD86IHN0cmluZ1xuICBtYXg/OiBudW1iZXJcbiAgZGVjaW1hbHM/OiBudW1iZXJcbiAgbmVnYXRpdmU/OiBib29sZWFuXG59XG5cbmV4cG9ydCBjbGFzcyBpbnB1dENvbmZpZ3NIZWxwIHtcbiAgY29uZmlnPzogUHJvdmlkZXJcbn1cbiJdfQ==
@@ -1,33 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class inputConfigs {
4
- groupSeparator;
5
- radixPoint;
6
- }
7
- export class typesProvider {
8
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: typesProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
9
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: typesProvider, providedIn: 'root' });
10
- }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: typesProvider, decorators: [{
12
- type: Injectable,
13
- args: [{ providedIn: 'root' }]
14
- }] });
15
- export class defaultTypesProvider extends typesProvider {
16
- get config() {
17
- // return default config
18
- return {
19
- groupSeparator: ',',
20
- radixPoint: '.'
21
- };
22
- }
23
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: defaultTypesProvider, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
24
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: defaultTypesProvider, providedIn: 'root' });
25
- }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: defaultTypesProvider, decorators: [{
27
- type: Injectable,
28
- args: [{ providedIn: 'root' }]
29
- }] });
30
- export class inputConfigsHelp {
31
- config;
32
- }
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXNQcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4cGVydGVhbS1teC9uZ3gtaW5wdXQtbnVtYmVyL3NyYy9saWIvdHlwZXNQcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFBOztBQUVwRCxNQUFNLE9BQU8sWUFBWTtJQUN2QixjQUFjLENBQVM7SUFDdkIsVUFBVSxDQUFTO0NBQ3BCO0FBR0QsTUFBTSxPQUFnQixhQUFhO3dHQUFiLGFBQWE7NEdBQWIsYUFBYSxjQURULE1BQU07OzRGQUNWLGFBQWE7a0JBRGxDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOztBQU1sQyxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsYUFBYTtJQUNyRCxJQUFJLE1BQU07UUFDUix3QkFBd0I7UUFDeEIsT0FBTztZQUNMLGNBQWMsRUFBRSxHQUFHO1lBQ25CLFVBQVUsRUFBRSxHQUFHO1NBQ2hCLENBQUE7SUFDSCxDQUFDO3dHQVBVLG9CQUFvQjs0R0FBcEIsb0JBQW9CLGNBRFAsTUFBTTs7NEZBQ25CLG9CQUFvQjtrQkFEaEMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7O0FBV2xDLE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsTUFBTSxDQUFXO0NBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5leHBvcnQgY2xhc3MgaW5wdXRDb25maWdzIHtcbiAgZ3JvdXBTZXBhcmF0b3I/OiBzdHJpbmdcbiAgcmFkaXhQb2ludD86IHN0cmluZ1xufVxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIHR5cGVzUHJvdmlkZXIge1xuICBhYnN0cmFjdCBnZXQgY29uZmlnICgpOiBpbnB1dENvbmZpZ3M7XG59XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgZGVmYXVsdFR5cGVzUHJvdmlkZXIgZXh0ZW5kcyB0eXBlc1Byb3ZpZGVyIHtcbiAgZ2V0IGNvbmZpZyAoKTogaW5wdXRDb25maWdzIHtcbiAgICAvLyByZXR1cm4gZGVmYXVsdCBjb25maWdcbiAgICByZXR1cm4ge1xuICAgICAgZ3JvdXBTZXBhcmF0b3I6ICcsJyxcbiAgICAgIHJhZGl4UG9pbnQ6ICcuJ1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgaW5wdXRDb25maWdzSGVscCB7XG4gIGNvbmZpZz86IFByb3ZpZGVyXG59XG4iXX0=
@@ -1,9 +0,0 @@
1
- /*
2
- * Public API Surface of ngx-input-number
3
- */
4
- export * from './lib/typesProvider';
5
- export * from './lib/ngx-input-number.service';
6
- export * from './lib/ngx-input-number.component';
7
- export * from './lib/ngx-input-number.module';
8
- // export * from 'ngx-mask';
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2V4cGVydGVhbS1teC9uZ3gtaW5wdXQtbnVtYmVyL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYywrQkFBK0IsQ0FBQztBQUM5Qyw0QkFBNEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIG5neC1pbnB1dC1udW1iZXJcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi90eXBlc1Byb3ZpZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL25neC1pbnB1dC1udW1iZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9uZ3gtaW5wdXQtbnVtYmVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9uZ3gtaW5wdXQtbnVtYmVyLm1vZHVsZSc7XG4vLyBleHBvcnQgKiBmcm9tICduZ3gtbWFzayc7XG4iXX0=
package/lib/di.d.ts DELETED
@@ -1,3 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- import { inputConfigs } from './types';
3
- export declare const INPUT_CONFIG_TOKEN: InjectionToken<inputConfigs>;
@@ -1,40 +0,0 @@
1
- import { AfterViewInit, ChangeDetectorRef, ElementRef, OnChanges, OnInit } from '@angular/core';
2
- import { FormControl } from '@angular/forms';
3
- import { NgxInputNumberService } from './ngx-input-number.service';
4
- import { IMaskDirective } from 'angular-imask';
5
- import { MaskedNumber } from 'imask';
6
- import * as i0 from "@angular/core";
7
- export declare class NgxInputNumberComponent implements OnInit, OnChanges, AfterViewInit {
8
- private _ChangeDetectorRef;
9
- private _NgxInputNumberService;
10
- inputElement: ElementRef;
11
- iMaskDir: IMaskDirective<MaskedNumber>;
12
- control: FormControl;
13
- negative: any;
14
- autofocus: any;
15
- decimals: any;
16
- max: any;
17
- idForLabel: any;
18
- tabIndex: any;
19
- addClass: any;
20
- groupSeparator: any;
21
- radixPoint: any;
22
- lblKeyInvalid: any;
23
- lblKeyInvalidRender: any;
24
- imask: any;
25
- placeholder: string;
26
- resetControl: boolean;
27
- prevValue: any;
28
- validateError: boolean;
29
- constructor(_ChangeDetectorRef: ChangeDetectorRef, _NgxInputNumberService: NgxInputNumberService);
30
- ngAfterViewInit(): void;
31
- render(): void;
32
- ngOnInit(): void;
33
- ngOnChanges(): void;
34
- onKeydown(e: any): void;
35
- onBlur(): void;
36
- onFocus(): void;
37
- onKeyup(e: any): void;
38
- static ɵfac: i0.ɵɵFactoryDeclaration<NgxInputNumberComponent, never>;
39
- static ɵcmp: i0.ɵɵComponentDeclaration<NgxInputNumberComponent, "app-input-number", never, { "control": { "alias": "control"; "required": false; }; "negative": { "alias": "negative"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "decimals": { "alias": "decimals"; "required": false; }; "max": { "alias": "max"; "required": false; }; "idForLabel": { "alias": "idForLabel"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "addClass": { "alias": "addClass"; "required": false; }; "groupSeparator": { "alias": "groupSeparator"; "required": false; }; "radixPoint": { "alias": "radixPoint"; "required": false; }; "lblKeyInvalid": { "alias": "lblKeyInvalid"; "required": false; }; }, {}, never, never, false, never>;
40
- }
@@ -1,13 +0,0 @@
1
- import { ModuleWithProviders } from '@angular/core';
2
- import { inputConfigsHelp } from './typesProvider';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "./ngx-input-number.component";
5
- import * as i2 from "@angular/common";
6
- import * as i3 from "@angular/forms";
7
- import * as i4 from "angular-imask";
8
- export declare class NgxInputNumberModule {
9
- static forRoot(config?: inputConfigsHelp): ModuleWithProviders<NgxInputNumberModule>;
10
- static ɵfac: i0.ɵɵFactoryDeclaration<NgxInputNumberModule, never>;
11
- static ɵmod: i0.ɵɵNgModuleDeclaration<NgxInputNumberModule, [typeof i1.NgxInputNumberComponent], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i3.ReactiveFormsModule, typeof i4.IMaskModule], [typeof i1.NgxInputNumberComponent]>;
12
- static ɵinj: i0.ɵɵInjectorDeclaration<NgxInputNumberModule>;
13
- }
@@ -1,18 +0,0 @@
1
- import { inputConfigs } from './types';
2
- import { BehaviorSubject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export declare class NgxInputNumberService {
5
- private readonly config;
6
- changeEvent: BehaviorSubject<boolean>;
7
- groupSeparator: string;
8
- radixPoint: string;
9
- lblKeyInvalid: string;
10
- negative: any;
11
- max: number;
12
- decimals: number;
13
- constructor(config: inputConfigs | null);
14
- onChangeParams(config: inputConfigs): void;
15
- getChangeEvent(): BehaviorSubject<boolean>;
16
- static ɵfac: i0.ɵɵFactoryDeclaration<NgxInputNumberService, [{ optional: true; }]>;
17
- static ɵprov: i0.ɵɵInjectableDeclaration<NgxInputNumberService>;
18
- }
package/lib/types.d.ts DELETED
@@ -1,12 +0,0 @@
1
- import { Provider } from '@angular/core';
2
- export declare class inputConfigs {
3
- groupSeparator?: string;
4
- radixPoint?: string;
5
- lblKeyInvalid?: string;
6
- max?: number;
7
- decimals?: number;
8
- negative?: boolean;
9
- }
10
- export declare class inputConfigsHelp {
11
- config?: Provider;
12
- }
@@ -1,19 +0,0 @@
1
- import { Provider } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export declare class inputConfigs {
4
- groupSeparator?: string;
5
- radixPoint?: string;
6
- }
7
- export declare abstract class typesProvider {
8
- abstract get config(): inputConfigs;
9
- static ɵfac: i0.ɵɵFactoryDeclaration<typesProvider, never>;
10
- static ɵprov: i0.ɵɵInjectableDeclaration<typesProvider>;
11
- }
12
- export declare class defaultTypesProvider extends typesProvider {
13
- get config(): inputConfigs;
14
- static ɵfac: i0.ɵɵFactoryDeclaration<defaultTypesProvider, never>;
15
- static ɵprov: i0.ɵɵInjectableDeclaration<defaultTypesProvider>;
16
- }
17
- export declare class inputConfigsHelp {
18
- config?: Provider;
19
- }
package/public-api.d.ts DELETED
@@ -1,4 +0,0 @@
1
- export * from './lib/typesProvider';
2
- export * from './lib/ngx-input-number.service';
3
- export * from './lib/ngx-input-number.component';
4
- export * from './lib/ngx-input-number.module';