@experteam-mx/ngx-input-number 4.1.32 → 18.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/esm2022/experteam-mx-ngx-input-number.mjs +5 -0
- package/esm2022/lib/di.mjs +3 -0
- package/esm2022/lib/ngx-input-number.component.mjs +181 -0
- package/esm2022/lib/ngx-input-number.module.mjs +48 -0
- package/esm2022/lib/ngx-input-number.service.mjs +64 -0
- package/esm2022/lib/types.mjs +12 -0
- package/esm2022/lib/typesProvider.mjs +33 -0
- package/esm2022/public-api.mjs +9 -0
- package/fesm2022/experteam-mx-ngx-input-number.mjs +340 -0
- package/fesm2022/experteam-mx-ngx-input-number.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/di.d.ts +3 -3
- package/lib/ngx-input-number.component.d.ts +40 -48
- package/lib/ngx-input-number.module.d.ts +13 -13
- package/lib/ngx-input-number.service.d.ts +18 -18
- package/lib/types.d.ts +12 -12
- package/lib/typesProvider.d.ts +19 -19
- package/package.json +44 -24
- package/public-api.d.ts +4 -4
- package/esm2020/experteam-mx-ngx-input-number.mjs +0 -5
- package/esm2020/lib/di.mjs +0 -3
- package/esm2020/lib/ngx-input-number.component.mjs +0 -281
- package/esm2020/lib/ngx-input-number.module.mjs +0 -48
- package/esm2020/lib/ngx-input-number.service.mjs +0 -66
- package/esm2020/lib/types.mjs +0 -5
- package/esm2020/lib/typesProvider.mjs +0 -30
- package/esm2020/public-api.mjs +0 -9
- package/fesm2015/experteam-mx-ngx-input-number.mjs +0 -436
- package/fesm2015/experteam-mx-ngx-input-number.mjs.map +0 -1
- package/fesm2020/experteam-mx-ngx-input-number.mjs +0 -431
- package/fesm2020/experteam-mx-ngx-input-number.mjs.map +0 -1
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwZXJ0ZWFtLW14LW5neC1pbnB1dC1udW1iZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9leHBlcnRlYW0tbXgvbmd4LWlucHV0LW51bWJlci9zcmMvZXhwZXJ0ZWFtLW14LW5neC1pbnB1dC1udW1iZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
export const INPUT_CONFIG_TOKEN = new InjectionToken('INPUT_CONFIG');
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHBlcnRlYW0tbXgvbmd4LWlucHV0LW51bWJlci9zcmMvbGliL2RpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHL0MsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxjQUFjLENBQWUsY0FBYyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBpbnB1dENvbmZpZ3MgfSBmcm9tICcuL3R5cGVzJztcclxuXHJcbmV4cG9ydCBjb25zdCBJTlBVVF9DT05GSUdfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48aW5wdXRDb25maWdzPignSU5QVVRfQ09ORklHJyk7XHJcbiJdfQ==
|
|
@@ -0,0 +1,181 @@
|
|
|
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.control.setValue(String(this.control.value).replace('.', this._NgxInputNumberService.radixPoint));
|
|
43
|
+
this._ChangeDetectorRef.detectChanges();
|
|
44
|
+
this.lblKeyInvalidRender = this._NgxInputNumberService.lblKeyInvalid;
|
|
45
|
+
this.imask = {
|
|
46
|
+
mask: Number,
|
|
47
|
+
scale: this._NgxInputNumberService.decimals,
|
|
48
|
+
thousandsSeparator: this._NgxInputNumberService.groupSeparator,
|
|
49
|
+
padFractionalZeros: true,
|
|
50
|
+
normalizeZeros: true,
|
|
51
|
+
radix: this._NgxInputNumberService.radixPoint,
|
|
52
|
+
max: this._NgxInputNumberService.max,
|
|
53
|
+
min: this._NgxInputNumberService.negative ? -999999999999999999999999999999999 : 0,
|
|
54
|
+
format: (x) => {
|
|
55
|
+
if (typeof x !== 'string' && x === null && !this.resetControl) {
|
|
56
|
+
this.resetControl = true;
|
|
57
|
+
this.inputElement.nativeElement.value = null;
|
|
58
|
+
this.iMaskDir.maskRef?.updateValue();
|
|
59
|
+
setTimeout(() => {
|
|
60
|
+
this.iMaskDir.maskRef?.updateControl();
|
|
61
|
+
this.control.setValue(null);
|
|
62
|
+
this.resetControl = false;
|
|
63
|
+
});
|
|
64
|
+
return null;
|
|
65
|
+
}
|
|
66
|
+
return String(x);
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
if (this.lblKeyInvalid !== undefined) {
|
|
70
|
+
this.lblKeyInvalidRender = this.lblKeyInvalid;
|
|
71
|
+
}
|
|
72
|
+
if (this.negative !== undefined) {
|
|
73
|
+
this.imask.min = this.negative ? -999999999999999999999999999999999 : 0;
|
|
74
|
+
}
|
|
75
|
+
if (this.max !== undefined) {
|
|
76
|
+
this.imask.max = this.max;
|
|
77
|
+
}
|
|
78
|
+
if (this.groupSeparator !== undefined) {
|
|
79
|
+
this.imask.thousandsSeparator = this.groupSeparator;
|
|
80
|
+
}
|
|
81
|
+
if (this.radixPoint !== undefined) {
|
|
82
|
+
this.imask.radix = this.radixPoint;
|
|
83
|
+
}
|
|
84
|
+
if (this.decimals !== undefined) {
|
|
85
|
+
this.imask.scale = this.decimals;
|
|
86
|
+
}
|
|
87
|
+
setTimeout(() => {
|
|
88
|
+
if (this.inputElement.nativeElement.value == '' && (this.control.value === null || this.control.value === '' || this.control.value === 0)) {
|
|
89
|
+
this.control.setValue('');
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
ngOnInit() {
|
|
94
|
+
this._NgxInputNumberService.getChangeEvent().subscribe((configs) => {
|
|
95
|
+
if (configs) {
|
|
96
|
+
this.render();
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
ngOnChanges() {
|
|
101
|
+
this.render();
|
|
102
|
+
}
|
|
103
|
+
onKeydown(e) {
|
|
104
|
+
this.prevValue = e.target.value;
|
|
105
|
+
}
|
|
106
|
+
onBlur() {
|
|
107
|
+
this.validateError = false;
|
|
108
|
+
}
|
|
109
|
+
onFocus() {
|
|
110
|
+
setTimeout(() => {
|
|
111
|
+
this.validateError = true;
|
|
112
|
+
}, 1000);
|
|
113
|
+
}
|
|
114
|
+
onKeyup(e) {
|
|
115
|
+
if (!this.validateError)
|
|
116
|
+
return;
|
|
117
|
+
let scapeKeys = [
|
|
118
|
+
'ArrowLeft',
|
|
119
|
+
'ArrowRight',
|
|
120
|
+
'ArrowUp',
|
|
121
|
+
'ArrowDown',
|
|
122
|
+
'Escape',
|
|
123
|
+
'Backspace',
|
|
124
|
+
'Delete',
|
|
125
|
+
'.',
|
|
126
|
+
',',
|
|
127
|
+
'-',
|
|
128
|
+
'Tab',
|
|
129
|
+
];
|
|
130
|
+
if (e.target.value == ''
|
|
131
|
+
&&
|
|
132
|
+
!scapeKeys.includes(e.key)) {
|
|
133
|
+
this.control.setValue('');
|
|
134
|
+
}
|
|
135
|
+
if (!scapeKeys.includes(e.key)
|
|
136
|
+
&&
|
|
137
|
+
this.prevValue === e.target.value
|
|
138
|
+
&&
|
|
139
|
+
e.key != this.prevValue) {
|
|
140
|
+
this.inputElement.nativeElement.classList.add('key-invalid');
|
|
141
|
+
setTimeout(() => {
|
|
142
|
+
this.inputElement.nativeElement.classList.remove('key-invalid');
|
|
143
|
+
}, 1000);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgxInputNumberComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.NgxInputNumberService }], target: i0.ɵɵFactoryTarget.Component });
|
|
147
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.11", 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\">\r\n <input\r\n #inputElement\r\n type=\"text\"\r\n class=\"text-end form-control {{ addClass }}\"\r\n [class.is-invalid]=\"control.touched && control.invalid\"\r\n [formControl]=\"control\"\r\n [tabindex]=\"tabIndex\"\r\n [id]=\"idForLabel\"\r\n [imask]=\"imask\"\r\n [unmask]=\"'typed'\"\r\n (keyup)=\"onKeyup($event)\"\r\n (keydown)=\"onKeydown($event)\"\r\n (blur)=\"onBlur()\"\r\n (focus)=\"onFocus()\"\r\n >\r\n <label class=\"lbl-key-invalid position-absolute top-100 end-0 p-2 d-none\" [innerHTML]=\"lblKeyInvalidRender\"></label>\r\n</div>\r\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"] }] });
|
|
148
|
+
}
|
|
149
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgxInputNumberComponent, decorators: [{
|
|
150
|
+
type: Component,
|
|
151
|
+
args: [{ selector: 'app-input-number', template: "<div class=\"position-relative\">\r\n <input\r\n #inputElement\r\n type=\"text\"\r\n class=\"text-end form-control {{ addClass }}\"\r\n [class.is-invalid]=\"control.touched && control.invalid\"\r\n [formControl]=\"control\"\r\n [tabindex]=\"tabIndex\"\r\n [id]=\"idForLabel\"\r\n [imask]=\"imask\"\r\n [unmask]=\"'typed'\"\r\n (keyup)=\"onKeyup($event)\"\r\n (keydown)=\"onKeydown($event)\"\r\n (blur)=\"onBlur()\"\r\n (focus)=\"onFocus()\"\r\n >\r\n <label class=\"lbl-key-invalid position-absolute top-100 end-0 p-2 d-none\" [innerHTML]=\"lblKeyInvalidRender\"></label>\r\n</div>\r\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"] }]
|
|
152
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.NgxInputNumberService }], propDecorators: { inputElement: [{
|
|
153
|
+
type: ViewChild,
|
|
154
|
+
args: ['inputElement']
|
|
155
|
+
}], iMaskDir: [{
|
|
156
|
+
type: ViewChild,
|
|
157
|
+
args: [IMaskDirective, { static: false }]
|
|
158
|
+
}], control: [{
|
|
159
|
+
type: Input
|
|
160
|
+
}], negative: [{
|
|
161
|
+
type: Input
|
|
162
|
+
}], autofocus: [{
|
|
163
|
+
type: Input
|
|
164
|
+
}], decimals: [{
|
|
165
|
+
type: Input
|
|
166
|
+
}], max: [{
|
|
167
|
+
type: Input
|
|
168
|
+
}], idForLabel: [{
|
|
169
|
+
type: Input
|
|
170
|
+
}], tabIndex: [{
|
|
171
|
+
type: Input
|
|
172
|
+
}], addClass: [{
|
|
173
|
+
type: Input
|
|
174
|
+
}], groupSeparator: [{
|
|
175
|
+
type: Input
|
|
176
|
+
}], radixPoint: [{
|
|
177
|
+
type: Input
|
|
178
|
+
}], lblKeyInvalid: [{
|
|
179
|
+
type: Input
|
|
180
|
+
}] } });
|
|
181
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWlucHV0LW51bWJlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHBlcnRlYW0tbXgvbmd4LWlucHV0LW51bWJlci9zcmMvbGliL25neC1pbnB1dC1udW1iZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXhwZXJ0ZWFtLW14L25neC1pbnB1dC1udW1iZXIvc3JjL2xpYi9uZ3gtaW5wdXQtbnVtYmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxTQUFTLEVBRVQsS0FBSyxFQUdMLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQTtBQUd0QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFBOzs7OztBQVE5QyxNQUFNLE9BQU8sdUJBQXVCO0lBdUJ4QjtJQUNBO0lBdEJpQixZQUFZLENBQWE7SUFDTixRQUFRLENBQStCO0lBQzVFLE9BQU8sQ0FBYztJQUNyQixRQUFRLENBQU07SUFDZCxTQUFTLEdBQVEsS0FBSyxDQUFBO0lBQ3RCLFFBQVEsQ0FBSztJQUNiLEdBQUcsQ0FBSztJQUNSLFVBQVUsR0FBUSxFQUFFLENBQUE7SUFDcEIsUUFBUSxDQUFLO0lBQ2IsUUFBUSxHQUFRLGlCQUFpQixDQUFBO0lBQ2pDLGNBQWMsQ0FBSztJQUNuQixVQUFVLENBQUs7SUFDZixhQUFhLENBQUs7SUFDM0IsbUJBQW1CLENBQUs7SUFDeEIsS0FBSyxDQUFLO0lBQ1YsV0FBVyxHQUFHLEdBQUcsQ0FBQTtJQUNqQixZQUFZLEdBQUcsS0FBSyxDQUFBO0lBQ3BCLFNBQVMsR0FBUSxFQUFFLENBQUE7SUFDbkIsYUFBYSxHQUFZLEtBQUssQ0FBQTtJQUU5QixZQUNVLGtCQUFxQyxFQUNyQyxzQkFBNkM7UUFEN0MsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFtQjtRQUNyQywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXVC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LEVBQ0QsSUFBSSxDQUNMLENBQUE7UUFDSCxDQUFDO0lBQ0gsQ0FBQzt3R0FoTFUsdUJBQXVCOzRGQUF2Qix1QkFBdUIsbWRBR3ZCLGNBQWMscUVDdkIzQiwrcUJBa0JBOzs0RkRFYSx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0Usa0JBQWtCOzBIQU1ELFlBQVk7c0JBQXRDLFNBQVM7dUJBQUMsY0FBYztnQkFDcUIsUUFBUTtzQkFBckQsU0FBUzt1QkFBQyxjQUFjLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUNuQyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkluaXQsXHJcbiAgVmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcclxuaW1wb3J0IHsgTmd4SW5wdXROdW1iZXJTZXJ2aWNlIH0gZnJvbSAnLi9uZ3gtaW5wdXQtbnVtYmVyLnNlcnZpY2UnXHJcbmltcG9ydCB7IElNYXNrRGlyZWN0aXZlIH0gZnJvbSAnYW5ndWxhci1pbWFzaydcclxuaW1wb3J0IHsgTWFza2VkTnVtYmVyIH0gZnJvbSAnaW1hc2snXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1pbnB1dC1udW1iZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9uZ3gtaW5wdXQtbnVtYmVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9uZ3gtaW5wdXQtbnVtYmVyLmNvbXBvbmVudC5zYXNzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIE5neElucHV0TnVtYmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQge1xyXG5cclxuICBAVmlld0NoaWxkKCdpbnB1dEVsZW1lbnQnKSBpbnB1dEVsZW1lbnQhOiBFbGVtZW50UmVmXHJcbiAgQFZpZXdDaGlsZChJTWFza0RpcmVjdGl2ZSwgeyBzdGF0aWM6IGZhbHNlIH0pIGlNYXNrRGlyITogSU1hc2tEaXJlY3RpdmU8TWFza2VkTnVtYmVyPlxyXG4gIEBJbnB1dCgpIGNvbnRyb2whOiBGb3JtQ29udHJvbFxyXG4gIEBJbnB1dCgpIG5lZ2F0aXZlITogYW55XHJcbiAgQElucHV0KCkgYXV0b2ZvY3VzOiBhbnkgPSBmYWxzZVxyXG4gIEBJbnB1dCgpIGRlY2ltYWxzOiBhbnlcclxuICBASW5wdXQoKSBtYXg6IGFueVxyXG4gIEBJbnB1dCgpIGlkRm9yTGFiZWw6IGFueSA9ICcnXHJcbiAgQElucHV0KCkgdGFiSW5kZXg6IGFueVxyXG4gIEBJbnB1dCgpIGFkZENsYXNzOiBhbnkgPSAnZm9ybS1jb250cm9sLXNtJ1xyXG4gIEBJbnB1dCgpIGdyb3VwU2VwYXJhdG9yOiBhbnlcclxuICBASW5wdXQoKSByYWRpeFBvaW50OiBhbnlcclxuICBASW5wdXQoKSBsYmxLZXlJbnZhbGlkOiBhbnlcclxuICBsYmxLZXlJbnZhbGlkUmVuZGVyOiBhbnlcclxuICBpbWFzazogYW55XHJcbiAgcGxhY2Vob2xkZXIgPSAnMCdcclxuICByZXNldENvbnRyb2wgPSBmYWxzZVxyXG4gIHByZXZWYWx1ZTogYW55ID0gJydcclxuICB2YWxpZGF0ZUVycm9yOiBib29sZWFuID0gZmFsc2VcclxuXHJcbiAgY29uc3RydWN0b3IgKFxyXG4gICAgcHJpdmF0ZSBfQ2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBfTmd4SW5wdXROdW1iZXJTZXJ2aWNlOiBOZ3hJbnB1dE51bWJlclNlcnZpY2UsXHJcbiAgKSB7IH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0ICgpOiB2b2lkIHtcclxuICAgIHRoaXMuaU1hc2tEaXIubWFza1JlZj8udXBkYXRlVmFsdWUoKVxyXG5cclxuICAgIGlmICh0aGlzLmF1dG9mb2N1cykge1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKClcclxuICAgICAgfSlcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlbmRlciAoKSB7XHJcbiAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUoU3RyaW5nKHRoaXMuY29udHJvbC52YWx1ZSkucmVwbGFjZSgnLicsIHRoaXMuX05neElucHV0TnVtYmVyU2VydmljZS5yYWRpeFBvaW50KSlcclxuXHJcbiAgICB0aGlzLl9DaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKClcclxuXHJcbiAgICB0aGlzLmxibEtleUludmFsaWRSZW5kZXIgPSB0aGlzLl9OZ3hJbnB1dE51bWJlclNlcnZpY2UubGJsS2V5SW52YWxpZFxyXG5cclxuICAgIHRoaXMuaW1hc2sgPSB7XHJcbiAgICAgIG1hc2s6IE51bWJlcixcclxuICAgICAgc2NhbGU6IHRoaXMuX05neElucHV0TnVtYmVyU2VydmljZS5kZWNpbWFscyxcclxuICAgICAgdGhvdXNhbmRzU2VwYXJhdG9yOiB0aGlzLl9OZ3hJbnB1dE51bWJlclNlcnZpY2UuZ3JvdXBTZXBhcmF0b3IsXHJcbiAgICAgIHBhZEZyYWN0aW9uYWxaZXJvczogdHJ1ZSxcclxuICAgICAgbm9ybWFsaXplWmVyb3M6IHRydWUsXHJcbiAgICAgIHJhZGl4OiB0aGlzLl9OZ3hJbnB1dE51bWJlclNlcnZpY2UucmFkaXhQb2ludCxcclxuICAgICAgbWF4OiB0aGlzLl9OZ3hJbnB1dE51bWJlclNlcnZpY2UubWF4LFxyXG4gICAgICBtaW46IHRoaXMuX05neElucHV0TnVtYmVyU2VydmljZS5uZWdhdGl2ZSA/IC05OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTkgOiAwLFxyXG4gICAgICBmb3JtYXQ6ICh4OiBhbnkpID0+IHtcclxuICAgICAgICBpZiAodHlwZW9mIHggIT09ICdzdHJpbmcnICYmIHggPT09IG51bGwgJiYgIXRoaXMucmVzZXRDb250cm9sKSB7XHJcbiAgICAgICAgICB0aGlzLnJlc2V0Q29udHJvbCA9IHRydWVcclxuICAgICAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBudWxsXHJcbiAgICAgICAgICB0aGlzLmlNYXNrRGlyLm1hc2tSZWY/LnVwZGF0ZVZhbHVlKClcclxuICAgICAgICAgIHNldFRpbWVvdXQoXHJcbiAgICAgICAgICAgICgpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLmlNYXNrRGlyLm1hc2tSZWY/LnVwZGF0ZUNvbnRyb2woKVxyXG4gICAgICAgICAgICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZShudWxsKVxyXG4gICAgICAgICAgICAgIHRoaXMucmVzZXRDb250cm9sID0gZmFsc2VcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgKVxyXG5cclxuICAgICAgICAgIHJldHVybiBudWxsXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gU3RyaW5nKHgpXHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5sYmxLZXlJbnZhbGlkICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5sYmxLZXlJbnZhbGlkUmVuZGVyID0gdGhpcy5sYmxLZXlJbnZhbGlkXHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLmltYXNrLm1pbiA9IHRoaXMubmVnYXRpdmUgPyAtOTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5IDogMFxyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLm1heCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuaW1hc2subWF4ID0gdGhpcy5tYXhcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5ncm91cFNlcGFyYXRvciAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuaW1hc2sudGhvdXNhbmRzU2VwYXJhdG9yID0gdGhpcy5ncm91cFNlcGFyYXRvclxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMucmFkaXhQb2ludCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuaW1hc2sucmFkaXggPSB0aGlzLnJhZGl4UG9pbnRcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5kZWNpbWFscyAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuaW1hc2suc2NhbGUgPSB0aGlzLmRlY2ltYWxzXHJcbiAgICB9XHJcblxyXG4gICAgc2V0VGltZW91dChcclxuICAgICAgKCkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlID09ICcnICYmICh0aGlzLmNvbnRyb2wudmFsdWUgPT09IG51bGwgfHwgdGhpcy5jb250cm9sLnZhbHVlID09PSAnJyB8fCB0aGlzLmNvbnRyb2wudmFsdWUgPT09IDApKSB7XHJcbiAgICAgICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUoJycpXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCAoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9OZ3hJbnB1dE51bWJlclNlcnZpY2UuZ2V0Q2hhbmdlRXZlbnQoKS5zdWJzY3JpYmUoXHJcbiAgICAgIChjb25maWdzKSA9PiB7XHJcbiAgICAgICAgaWYgKGNvbmZpZ3MpIHtcclxuICAgICAgICAgIHRoaXMucmVuZGVyKClcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIClcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzICgpOiB2b2lkIHtcclxuICAgIHRoaXMucmVuZGVyKClcclxuICB9XHJcblxyXG4gIG9uS2V5ZG93biAoZTogYW55KSB7XHJcbiAgICB0aGlzLnByZXZWYWx1ZSA9IGUudGFyZ2V0LnZhbHVlXHJcbiAgfVxyXG5cclxuICBvbkJsdXIgKCkge1xyXG4gICAgdGhpcy52YWxpZGF0ZUVycm9yID0gZmFsc2VcclxuICB9XHJcblxyXG4gIG9uRm9jdXMgKCkge1xyXG4gICAgc2V0VGltZW91dChcclxuICAgICAgKCkgPT4ge1xyXG4gICAgICAgIHRoaXMudmFsaWRhdGVFcnJvciA9IHRydWVcclxuICAgICAgfSxcclxuICAgICAgMTAwMFxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgb25LZXl1cCAoZTogYW55KSB7XHJcbiAgICBpZiAoIXRoaXMudmFsaWRhdGVFcnJvcikgcmV0dXJuXHJcblxyXG4gICAgbGV0IHNjYXBlS2V5czogYW55W10gPSBbXHJcbiAgICAgICdBcnJvd0xlZnQnLFxyXG4gICAgICAnQXJyb3dSaWdodCcsXHJcbiAgICAgICdBcnJvd1VwJyxcclxuICAgICAgJ0Fycm93RG93bicsXHJcbiAgICAgICdFc2NhcGUnLFxyXG4gICAgICAnQmFja3NwYWNlJyxcclxuICAgICAgJ0RlbGV0ZScsXHJcbiAgICAgICcuJyxcclxuICAgICAgJywnLFxyXG4gICAgICAnLScsXHJcbiAgICAgICdUYWInLFxyXG4gICAgXVxyXG5cclxuICAgIGlmKFxyXG4gICAgICBlLnRhcmdldC52YWx1ZSA9PSAnJ1xyXG4gICAgICAmJlxyXG4gICAgICAhc2NhcGVLZXlzLmluY2x1ZGVzKGUua2V5KVxyXG4gICAgKXtcclxuICAgICAgdGhpcy5jb250cm9sLnNldFZhbHVlKCcnKVxyXG4gICAgfVxyXG5cclxuICAgIGlmKFxyXG4gICAgICAhc2NhcGVLZXlzLmluY2x1ZGVzKGUua2V5KVxyXG4gICAgICAmJlxyXG4gICAgICB0aGlzLnByZXZWYWx1ZSA9PT0gZS50YXJnZXQudmFsdWVcclxuICAgICAgJiZcclxuICAgICAgZS5rZXkgIT0gdGhpcy5wcmV2VmFsdWVcclxuICAgICl7XHJcbiAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgna2V5LWludmFsaWQnKVxyXG4gICAgICBzZXRUaW1lb3V0KFxyXG4gICAgICAgICgpID0+IHtcclxuICAgICAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgna2V5LWludmFsaWQnKVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgMTAwMFxyXG4gICAgICApXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgPGlucHV0XHJcbiAgICAgICAgI2lucHV0RWxlbWVudFxyXG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICBjbGFzcz1cInRleHQtZW5kIGZvcm0tY29udHJvbCB7eyBhZGRDbGFzcyB9fVwiXHJcbiAgICAgICAgW2NsYXNzLmlzLWludmFsaWRdPVwiY29udHJvbC50b3VjaGVkICYmIGNvbnRyb2wuaW52YWxpZFwiXHJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIlxyXG4gICAgICAgIFt0YWJpbmRleF09XCJ0YWJJbmRleFwiXHJcbiAgICAgICAgW2lkXT1cImlkRm9yTGFiZWxcIlxyXG4gICAgICAgIFtpbWFza109XCJpbWFza1wiXHJcbiAgICAgICAgW3VubWFza109XCIndHlwZWQnXCJcclxuICAgICAgICAoa2V5dXApPVwib25LZXl1cCgkZXZlbnQpXCJcclxuICAgICAgICAoa2V5ZG93bik9XCJvbktleWRvd24oJGV2ZW50KVwiXHJcbiAgICAgICAgKGJsdXIpPVwib25CbHVyKClcIlxyXG4gICAgICAgIChmb2N1cyk9XCJvbkZvY3VzKClcIlxyXG4gICAgPlxyXG4gICAgPGxhYmVsIGNsYXNzPVwibGJsLWtleS1pbnZhbGlkIHBvc2l0aW9uLWFic29sdXRlIHRvcC0xMDAgZW5kLTAgcC0yIGQtbm9uZVwiIFtpbm5lckhUTUxdPVwibGJsS2V5SW52YWxpZFJlbmRlclwiPjwvbGFiZWw+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -0,0 +1,48 @@
|
|
|
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.11", ngImport: i0, type: NgxInputNumberModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
21
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.11", 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.11", ngImport: i0, type: NgxInputNumberModule, imports: [CommonModule,
|
|
26
|
+
FormsModule,
|
|
27
|
+
ReactiveFormsModule,
|
|
28
|
+
IMaskModule] });
|
|
29
|
+
}
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWlucHV0LW51bWJlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHBlcnRlYW0tbXgvbmd4LWlucHV0LW51bWJlci9zcmMvbGliL25neC1pbnB1dC1udW1iZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDakUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUE7QUFDdEUsT0FBTyxFQUFFLG9CQUFvQixFQUFvQixhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUN2RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFBOztBQWlCM0MsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQixNQUFNLENBQUMsT0FBTyxDQUFFLFNBQTJCLEVBQUU7UUFDM0MsT0FBTztZQUNMLFFBQVEsRUFBRSxvQkFBb0I7WUFDOUIsU0FBUyxFQUFFO2dCQUNULE1BQU0sQ0FBQyxNQUFNLElBQUk7b0JBQ2YsT0FBTyxFQUFFLGFBQWE7b0JBQ3RCLFFBQVEsRUFBRSxvQkFBb0I7aUJBQy9CO2FBQ0Y7U0FDRixDQUFBO0lBQ0gsQ0FBQzt3R0FYVSxvQkFBb0I7eUdBQXBCLG9CQUFvQixpQkFiN0IsdUJBQXVCLGFBR3ZCLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLFdBQVcsYUFHWCx1QkFBdUI7eUdBSWQsb0JBQW9CLFlBVjdCLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLFdBQVc7OzRGQU9GLG9CQUFvQjtrQkFmaEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osdUJBQXVCO3FCQUN4QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsV0FBVztxQkFDWjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsdUJBQXVCO3FCQUN4QjtvQkFDRCxTQUFTLEVBQUUsRUFBRTtpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xyXG5pbXBvcnQgeyBOZ3hJbnB1dE51bWJlckNvbXBvbmVudCB9IGZyb20gJy4vbmd4LWlucHV0LW51bWJlci5jb21wb25lbnQnXHJcbmltcG9ydCB7IGRlZmF1bHRUeXBlc1Byb3ZpZGVyLCBpbnB1dENvbmZpZ3NIZWxwLCB0eXBlc1Byb3ZpZGVyIH0gZnJvbSAnLi90eXBlc1Byb3ZpZGVyJ1xyXG5pbXBvcnQgeyBJTWFza01vZHVsZSB9IGZyb20gJ2FuZ3VsYXItaW1hc2snXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgTmd4SW5wdXROdW1iZXJDb21wb25lbnRcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIElNYXNrTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBOZ3hJbnB1dE51bWJlckNvbXBvbmVudFxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmd4SW5wdXROdW1iZXJNb2R1bGUge1xyXG4gIHN0YXRpYyBmb3JSb290IChjb25maWc6IGlucHV0Q29uZmlnc0hlbHAgPSB7fSk6IE1vZHVsZVdpdGhQcm92aWRlcnM8Tmd4SW5wdXROdW1iZXJNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBOZ3hJbnB1dE51bWJlck1vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgY29uZmlnLmNvbmZpZyB8fCB7XHJcbiAgICAgICAgICBwcm92aWRlOiB0eXBlc1Byb3ZpZGVyLFxyXG4gICAgICAgICAgdXNlQ2xhc3M6IGRlZmF1bHRUeXBlc1Byb3ZpZGVyXHJcbiAgICAgICAgfVxyXG4gICAgICBdLFxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,64 @@
|
|
|
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.11", 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.11", ngImport: i0, type: NgxInputNumberService, providedIn: 'root' });
|
|
52
|
+
}
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWlucHV0LW51bWJlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXhwZXJ0ZWFtLW14L25neC1pbnB1dC1udW1iZXIvc3JjL2xpYi9uZ3gtaW5wdXQtbnVtYmVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzVELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUV6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFBOzs7QUFLdEMsTUFBTSxPQUFPLHFCQUFxQjtJQVliO0lBVm5CLFdBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQTtJQUNqRCxjQUFjLEdBQUcsR0FBRyxDQUFBO0lBQ3BCLFVBQVUsR0FBRyxHQUFHLENBQUE7SUFDaEIsYUFBYSxHQUFHLDZCQUE2QixDQUFBO0lBQzdDLFFBQVEsR0FBUSxJQUFJLENBQUE7SUFDcEIsR0FBRyxHQUFXLGlDQUFpQyxDQUFBO0lBQy9DLFFBQVEsR0FBRyxDQUFDLENBQUE7SUFFWixZQUVtQixNQUEyQjtRQUEzQixXQUFNLEdBQU4sTUFBTSxDQUFxQjtRQUU1QyxJQUFJLE1BQU0sSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQyxjQUFlLENBQUE7WUFDNUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVyxDQUFBO1lBQ3BDLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWMsQ0FBQTtZQUMxQyxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFTLENBQUE7WUFDaEMsSUFBSSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsR0FBSSxDQUFBO1lBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVMsQ0FBQTtRQUNsQyxDQUFDO0lBQ0gsQ0FBQztJQUVELGNBQWMsQ0FBRSxNQUFvQjtRQUNsQyxJQUFJLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUE7UUFDN0MsQ0FBQztRQUNELElBQUksTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQTtRQUNyQyxDQUFDO1FBQ0QsSUFBSSxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFBO1FBQzNDLENBQUM7UUFDRCxJQUFJLE1BQU0sQ0FBQyxRQUFRLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFBO1FBQ2pDLENBQUM7UUFDRCxJQUFJLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLEdBQUksQ0FBQTtRQUN4QixDQUFDO1FBQ0QsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFBO1FBQ2pDLENBQUM7UUFFRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUM3QixDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQTtJQUN6QixDQUFDO3dHQWpEVSxxQkFBcUIsa0JBV1Ysa0JBQWtCOzRHQVg3QixxQkFBcUIsY0FGcEIsTUFBTTs7NEZBRVAscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBWUksUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgSU5QVVRfQ09ORklHX1RPS0VOIH0gZnJvbSAnLi9kaSdcclxuaW1wb3J0IHsgaW5wdXRDb25maWdzIH0gZnJvbSAnLi90eXBlcydcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcydcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIE5neElucHV0TnVtYmVyU2VydmljZSB7XHJcblxyXG4gIGNoYW5nZUV2ZW50ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSlcclxuICBncm91cFNlcGFyYXRvciA9ICcsJ1xyXG4gIHJhZGl4UG9pbnQgPSAnLidcclxuICBsYmxLZXlJbnZhbGlkID0gJ1BsZWFzZSBlbnRlciBhIHZhbGlkIGFtb3VudCdcclxuICBuZWdhdGl2ZTogYW55ID0gdHJ1ZVxyXG4gIG1heDogbnVtYmVyID0gOTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5XHJcbiAgZGVjaW1hbHMgPSAyXHJcblxyXG4gIGNvbnN0cnVjdG9yIChcclxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoSU5QVVRfQ09ORklHX1RPS0VOKVxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWc6IGlucHV0Q29uZmlncyB8IG51bGwsXHJcbiAgKSB7XHJcbiAgICBpZiAoY29uZmlnICE9IG51bGwpIHtcclxuICAgICAgdGhpcy5ncm91cFNlcGFyYXRvciA9IGNvbmZpZy5ncm91cFNlcGFyYXRvciFcclxuICAgICAgdGhpcy5yYWRpeFBvaW50ID0gY29uZmlnLnJhZGl4UG9pbnQhXHJcbiAgICAgIHRoaXMubGJsS2V5SW52YWxpZCA9IGNvbmZpZy5sYmxLZXlJbnZhbGlkIVxyXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gY29uZmlnLm5lZ2F0aXZlIVxyXG4gICAgICB0aGlzLm1heCA9IGNvbmZpZy5tYXghXHJcbiAgICAgIHRoaXMuZGVjaW1hbHMgPSBjb25maWcuZGVjaW1hbHMhXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkNoYW5nZVBhcmFtcyAoY29uZmlnOiBpbnB1dENvbmZpZ3MpIHtcclxuICAgIGlmIChjb25maWcuZ3JvdXBTZXBhcmF0b3IpIHtcclxuICAgICAgdGhpcy5ncm91cFNlcGFyYXRvciA9IGNvbmZpZy5ncm91cFNlcGFyYXRvclxyXG4gICAgfVxyXG4gICAgaWYgKGNvbmZpZy5yYWRpeFBvaW50KSB7XHJcbiAgICAgIHRoaXMucmFkaXhQb2ludCA9IGNvbmZpZy5yYWRpeFBvaW50XHJcbiAgICB9XHJcbiAgICBpZiAoY29uZmlnLmxibEtleUludmFsaWQpIHtcclxuICAgICAgdGhpcy5sYmxLZXlJbnZhbGlkID0gY29uZmlnLmxibEtleUludmFsaWRcclxuICAgIH1cclxuICAgIGlmIChjb25maWcubmVnYXRpdmUgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gY29uZmlnLm5lZ2F0aXZlXHJcbiAgICB9XHJcbiAgICBpZiAoY29uZmlnLm1heCkge1xyXG4gICAgICB0aGlzLm1heCA9IGNvbmZpZy5tYXghXHJcbiAgICB9XHJcbiAgICBpZiAoY29uZmlnLmRlY2ltYWxzKSB7XHJcbiAgICAgIHRoaXMuZGVjaW1hbHMgPSBjb25maWcuZGVjaW1hbHNcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNoYW5nZUV2ZW50Lm5leHQodHJ1ZSlcclxuICB9XHJcblxyXG4gIGdldENoYW5nZUV2ZW50ICgpIHtcclxuICAgIHJldHVybiB0aGlzLmNoYW5nZUV2ZW50XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,12 @@
|
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHBlcnRlYW0tbXgvbmd4LWlucHV0LW51bWJlci9zcmMvbGliL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLGNBQWMsQ0FBUztJQUN2QixVQUFVLENBQVM7SUFDbkIsYUFBYSxDQUFTO0lBQ3RCLEdBQUcsQ0FBUztJQUNaLFFBQVEsQ0FBUztJQUNqQixRQUFRLENBQVU7Q0FDbkI7QUFFRCxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCLE1BQU0sQ0FBVztDQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuXHJcbmV4cG9ydCBjbGFzcyBpbnB1dENvbmZpZ3Mge1xyXG4gIGdyb3VwU2VwYXJhdG9yPzogc3RyaW5nXHJcbiAgcmFkaXhQb2ludD86IHN0cmluZ1xyXG4gIGxibEtleUludmFsaWQ/OiBzdHJpbmdcclxuICBtYXg/OiBudW1iZXJcclxuICBkZWNpbWFscz86IG51bWJlclxyXG4gIG5lZ2F0aXZlPzogYm9vbGVhblxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgaW5wdXRDb25maWdzSGVscCB7XHJcbiAgY29uZmlnPzogUHJvdmlkZXJcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,33 @@
|
|
|
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.11", ngImport: i0, type: typesProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
9
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: typesProvider, providedIn: 'root' });
|
|
10
|
+
}
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", 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.11", ngImport: i0, type: defaultTypesProvider, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
24
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: defaultTypesProvider, providedIn: 'root' });
|
|
25
|
+
}
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXNQcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4cGVydGVhbS1teC9uZ3gtaW5wdXQtbnVtYmVyL3NyYy9saWIvdHlwZXNQcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFBOztBQUVwRCxNQUFNLE9BQU8sWUFBWTtJQUN2QixjQUFjLENBQVM7SUFDdkIsVUFBVSxDQUFTO0NBQ3BCO0FBR0QsTUFBTSxPQUFnQixhQUFhO3dHQUFiLGFBQWE7NEdBQWIsYUFBYSxjQURULE1BQU07OzRGQUNWLGFBQWE7a0JBRGxDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOztBQU1sQyxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsYUFBYTtJQUNyRCxJQUFJLE1BQU07UUFDUix3QkFBd0I7UUFDeEIsT0FBTztZQUNMLGNBQWMsRUFBRSxHQUFHO1lBQ25CLFVBQVUsRUFBRSxHQUFHO1NBQ2hCLENBQUE7SUFDSCxDQUFDO3dHQVBVLG9CQUFvQjs0R0FBcEIsb0JBQW9CLGNBRFAsTUFBTTs7NEZBQ25CLG9CQUFvQjtrQkFEaEMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7O0FBV2xDLE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsTUFBTSxDQUFXO0NBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5cclxuZXhwb3J0IGNsYXNzIGlucHV0Q29uZmlncyB7XHJcbiAgZ3JvdXBTZXBhcmF0b3I/OiBzdHJpbmdcclxuICByYWRpeFBvaW50Pzogc3RyaW5nXHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyB0eXBlc1Byb3ZpZGVyIHtcclxuICBhYnN0cmFjdCBnZXQgY29uZmlnICgpOiBpbnB1dENvbmZpZ3M7XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBkZWZhdWx0VHlwZXNQcm92aWRlciBleHRlbmRzIHR5cGVzUHJvdmlkZXIge1xyXG4gIGdldCBjb25maWcgKCk6IGlucHV0Q29uZmlncyB7XHJcbiAgICAvLyByZXR1cm4gZGVmYXVsdCBjb25maWdcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGdyb3VwU2VwYXJhdG9yOiAnLCcsXHJcbiAgICAgIHJhZGl4UG9pbnQ6ICcuJ1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIGlucHV0Q29uZmlnc0hlbHAge1xyXG4gIGNvbmZpZz86IFByb3ZpZGVyXHJcbn1cclxuIl19
|
|
@@ -0,0 +1,9 @@
|
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2V4cGVydGVhbS1teC9uZ3gtaW5wdXQtbnVtYmVyL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYywrQkFBK0IsQ0FBQztBQUM5Qyw0QkFBNEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygbmd4LWlucHV0LW51bWJlclxyXG4gKi9cclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3R5cGVzUHJvdmlkZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9uZ3gtaW5wdXQtbnVtYmVyLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9uZ3gtaW5wdXQtbnVtYmVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL25neC1pbnB1dC1udW1iZXIubW9kdWxlJztcclxuLy8gZXhwb3J0ICogZnJvbSAnbmd4LW1hc2snO1xyXG4iXX0=
|