@experteam-mx/ngx-input-number 20.0.0-beta.1 → 20.0.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.
- package/fesm2022/experteam-mx-ngx-input-number.mjs +18 -20
- package/fesm2022/experteam-mx-ngx-input-number.mjs.map +1 -1
- package/package.json +2 -2
- package/esm2022/experteam-mx-ngx-input-number.mjs +0 -5
- package/esm2022/lib/di.mjs +0 -3
- package/esm2022/lib/ngx-input-number.component.mjs +0 -180
- package/esm2022/lib/ngx-input-number.module.mjs +0 -48
- package/esm2022/lib/ngx-input-number.service.mjs +0 -64
- package/esm2022/lib/types.mjs +0 -12
- package/esm2022/lib/typesProvider.mjs +0 -33
- package/esm2022/public-api.mjs +0 -9
- package/lib/di.d.ts +0 -3
- package/lib/ngx-input-number.component.d.ts +0 -40
- package/lib/ngx-input-number.module.d.ts +0 -13
- package/lib/ngx-input-number.service.d.ts +0 -18
- package/lib/types.d.ts +0 -12
- package/lib/typesProvider.d.ts +0 -19
- package/public-api.d.ts +0 -4
|
@@ -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.
|
|
16
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
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.
|
|
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.
|
|
31
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
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.
|
|
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
|
-
|
|
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.
|
|
100
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
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.
|
|
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.
|
|
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.
|
|
253
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
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.
|
|
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.
|
|
301
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.
|
|
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.
|
|
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.
|
|
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.
|
|
3
|
+
"version": "20.0.1",
|
|
4
4
|
"description": "Angular input number for Experteam apps",
|
|
5
5
|
"author": "Experteam Cía. Ltda.",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"angular",
|
|
8
|
-
"angular-
|
|
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==
|
package/esm2022/lib/di.mjs
DELETED
|
@@ -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
|
package/esm2022/lib/types.mjs
DELETED
|
@@ -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=
|
package/esm2022/public-api.mjs
DELETED
|
@@ -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,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
|
-
}
|
package/lib/typesProvider.d.ts
DELETED
|
@@ -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