@experteam-mx/ngx-input-number 1.4.1 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/.browserslistrc +16 -0
  2. package/karma.conf.js +44 -0
  3. package/ng-package.json +11 -0
  4. package/package.json +5 -22
  5. package/{lib/di.d.ts → src/lib/di.ts} +2 -1
  6. package/src/lib/ngx-input-number.component.html +14 -0
  7. package/src/lib/ngx-input-number.component.sass +11 -0
  8. package/src/lib/ngx-input-number.component.spec.ts +25 -0
  9. package/src/lib/ngx-input-number.component.ts +145 -0
  10. package/src/lib/ngx-input-number.module.ts +38 -0
  11. package/src/lib/ngx-input-number.service.spec.ts +16 -0
  12. package/src/lib/ngx-input-number.service.ts +59 -0
  13. package/src/lib/types.ts +14 -0
  14. package/src/lib/typesProvider.ts +26 -0
  15. package/{public-api.d.ts → src/public-api.ts} +9 -5
  16. package/src/test.ts +27 -0
  17. package/tsconfig.lib.json +27 -0
  18. package/tsconfig.lib.prod.json +10 -0
  19. package/tsconfig.spec.json +17 -0
  20. package/esm2020/experteam-mx-ngx-input-number.mjs +0 -5
  21. package/esm2020/lib/di.mjs +0 -3
  22. package/esm2020/lib/ngx-input-number.component.mjs +0 -104
  23. package/esm2020/lib/ngx-input-number.module.mjs +0 -49
  24. package/esm2020/lib/ngx-input-number.service.mjs +0 -37
  25. package/esm2020/lib/types.mjs +0 -5
  26. package/esm2020/lib/typesProvider.mjs +0 -30
  27. package/esm2020/public-api.mjs +0 -9
  28. package/experteam-mx-ngx-input-number.d.ts +0 -5
  29. package/fesm2015/experteam-mx-ngx-input-number.mjs +0 -228
  30. package/fesm2015/experteam-mx-ngx-input-number.mjs.map +0 -1
  31. package/fesm2020/experteam-mx-ngx-input-number.mjs +0 -226
  32. package/fesm2020/experteam-mx-ngx-input-number.mjs.map +0 -1
  33. package/lib/ngx-input-number.component.d.ts +0 -30
  34. package/lib/ngx-input-number.module.d.ts +0 -13
  35. package/lib/ngx-input-number.service.d.ts +0 -11
  36. package/lib/types.d.ts +0 -8
  37. package/lib/typesProvider.d.ts +0 -19
@@ -0,0 +1,16 @@
1
+ # This file is used by the build system to adjust CSS and JS output to support the specified browsers below.
2
+ # For additional information regarding the format and rule options, please see:
3
+ # https://github.com/browserslist/browserslist#queries
4
+
5
+ # For the full list of supported browsers by the Angular framework, please see:
6
+ # https://angular.io/guide/browser-support
7
+
8
+ # You can see what browsers were selected by your queries by running:
9
+ # npx browserslist
10
+
11
+ last 1 Chrome version
12
+ last 1 Firefox version
13
+ last 2 Edge major versions
14
+ last 2 Safari major versions
15
+ last 2 iOS major versions
16
+ Firefox ESR
package/karma.conf.js ADDED
@@ -0,0 +1,44 @@
1
+ // Karma configuration file, see link for more information
2
+ // https://karma-runner.github.io/1.0/config/configuration-file.html
3
+
4
+ module.exports = function (config) {
5
+ config.set({
6
+ basePath: '',
7
+ frameworks: ['jasmine', '@angular-devkit/build-angular'],
8
+ plugins: [
9
+ require('karma-jasmine'),
10
+ require('karma-chrome-launcher'),
11
+ require('karma-jasmine-html-reporter'),
12
+ require('karma-coverage'),
13
+ require('@angular-devkit/build-angular/plugins/karma')
14
+ ],
15
+ client: {
16
+ jasmine: {
17
+ // you can add configuration options for Jasmine here
18
+ // the possible options are listed at https://jasmine.github.io/api/edge/Configuration.html
19
+ // for example, you can disable the random execution with `random: false`
20
+ // or set a specific seed with `seed: 4321`
21
+ },
22
+ clearContext: false // leave Jasmine Spec Runner output visible in browser
23
+ },
24
+ jasmineHtmlReporter: {
25
+ suppressAll: true // removes the duplicated traces
26
+ },
27
+ coverageReporter: {
28
+ dir: require('path').join(__dirname, '../../coverage/ngx-input-number'),
29
+ subdir: '.',
30
+ reporters: [
31
+ { type: 'html' },
32
+ { type: 'text-summary' }
33
+ ]
34
+ },
35
+ reporters: ['progress', 'kjhtml'],
36
+ port: 9876,
37
+ colors: true,
38
+ logLevel: config.LOG_INFO,
39
+ autoWatch: true,
40
+ browsers: ['Chrome'],
41
+ singleRun: false,
42
+ restartOnFileChange: true
43
+ });
44
+ };
@@ -0,0 +1,11 @@
1
+ {
2
+ "$schema": "../../node_modules/ng-packagr/ng-package.schema.json",
3
+ "dest": "../../dist/ngx-input-number",
4
+ "deleteDestPath": false,
5
+ "lib": {
6
+ "entryFile": "src/public-api.ts"
7
+ },
8
+ "allowedNonPeerDependencies": [
9
+ "."
10
+ ]
11
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@experteam-mx/ngx-input-number",
3
- "version": "1.4.1",
3
+ "version": "1.6.0",
4
4
  "license": "MIT",
5
5
  "peerDependencies": {},
6
6
  "dependencies": {
@@ -11,24 +11,7 @@
11
11
  "inputmask": "^5.0.7",
12
12
  "tslib": "^2.1.0"
13
13
  },
14
- "module": "fesm2015/experteam-mx-ngx-input-number.mjs",
15
- "es2020": "fesm2020/experteam-mx-ngx-input-number.mjs",
16
- "esm2020": "esm2020/experteam-mx-ngx-input-number.mjs",
17
- "fesm2020": "fesm2020/experteam-mx-ngx-input-number.mjs",
18
- "fesm2015": "fesm2015/experteam-mx-ngx-input-number.mjs",
19
- "typings": "experteam-mx-ngx-input-number.d.ts",
20
- "exports": {
21
- "./package.json": {
22
- "default": "./package.json"
23
- },
24
- ".": {
25
- "types": "./experteam-mx-ngx-input-number.d.ts",
26
- "esm2020": "./esm2020/experteam-mx-ngx-input-number.mjs",
27
- "es2020": "./fesm2020/experteam-mx-ngx-input-number.mjs",
28
- "es2015": "./fesm2015/experteam-mx-ngx-input-number.mjs",
29
- "node": "./fesm2015/experteam-mx-ngx-input-number.mjs",
30
- "default": "./fesm2020/experteam-mx-ngx-input-number.mjs"
31
- }
32
- },
33
- "sideEffects": false
34
- }
14
+ "devDependencies": {
15
+ "@types/inputmask": "^5.0.1"
16
+ }
17
+ }
@@ -1,3 +1,4 @@
1
1
  import { InjectionToken } from '@angular/core';
2
2
  import { inputConfigs } from './types';
3
- export declare const INPUT_CONFIG_TOKEN: InjectionToken<inputConfigs>;
3
+
4
+ export const INPUT_CONFIG_TOKEN = new InjectionToken<inputConfigs>('INPUT_CONFIG');
@@ -0,0 +1,14 @@
1
+ <div class="position-relative">
2
+ <input
3
+ *ngIf="!loading"
4
+ #inputElement
5
+ type="text"
6
+ class="form-control {{ addClass }}"
7
+ [class.is-invalid]="control.touched && control.invalid"
8
+ [formControl]="control"
9
+ [(inputMask)]="inputMask"
10
+ [placeholder]="placeholder"
11
+ [id]="idForLabel"
12
+ >
13
+ <label class="lbl-key-invalid position-absolute top-100 end-0 p-2 d-none" [innerHTML]="lblKeyInvalidRender"></label>
14
+ </div>
@@ -0,0 +1,11 @@
1
+ @import "~bootstrap/scss/bootstrap"
2
+
3
+ input
4
+ &.key-invalid
5
+ border-color: #dc3545 !important
6
+ box-shadow: 0 0 0 0.25rem #dc354540 !important
7
+ &+.lbl-key-invalid
8
+ background-color: #dc3545
9
+ color: #fff
10
+ display: block !important
11
+ z-index: 1
@@ -0,0 +1,25 @@
1
+ import { ComponentFixture, TestBed } from '@angular/core/testing';
2
+
3
+ import { NgxInputNumberComponent } from './ngx-input-number.component';
4
+
5
+ describe('NgxInputNumberComponent', () => {
6
+ let component: NgxInputNumberComponent;
7
+ let fixture: ComponentFixture<NgxInputNumberComponent>;
8
+
9
+ beforeEach(async () => {
10
+ await TestBed.configureTestingModule({
11
+ declarations: [ NgxInputNumberComponent ]
12
+ })
13
+ .compileComponents();
14
+ });
15
+
16
+ beforeEach(() => {
17
+ fixture = TestBed.createComponent(NgxInputNumberComponent);
18
+ component = fixture.componentInstance;
19
+ fixture.detectChanges();
20
+ });
21
+
22
+ it('should create', () => {
23
+ expect(component).toBeTruthy();
24
+ });
25
+ });
@@ -0,0 +1,145 @@
1
+ import { Component, OnInit, Input, OnChanges, AfterViewInit, AfterContentInit, ElementRef, ViewChild, SimpleChanges, ChangeDetectorRef } from '@angular/core';
2
+ import { FormBuilder, Validators, FormArray, FormGroup, FormControl } from "@angular/forms";
3
+ import { createMask, InputmaskOptions } from '@ngneat/input-mask';
4
+
5
+ import { inputConfigs, typesProvider } from './typesProvider';
6
+ import { NgxInputNumberService } from './ngx-input-number.service';
7
+
8
+ @Component({
9
+ selector: 'app-input-number',
10
+ templateUrl: './ngx-input-number.component.html',
11
+ styleUrls: ['./ngx-input-number.component.sass']
12
+ })
13
+ export class NgxInputNumberComponent implements OnInit, OnChanges {
14
+
15
+ constructor(
16
+ private _ChangeDetectorRef: ChangeDetectorRef,
17
+ private readonly _typesProvider: typesProvider,
18
+ private _NgxInputNumberService: NgxInputNumberService,
19
+ ) { }
20
+
21
+ @ViewChild('inputElement') inputElement!: ElementRef;
22
+
23
+ @Input() control!: FormControl
24
+ @Input() negative!: any
25
+ @Input() autofocus: any = false
26
+ @Input() decimals: any
27
+ @Input() max: any
28
+ @Input() idForLabel: any = ""
29
+ @Input() addClass: any = "form-control-sm"
30
+ @Input() groupSeparator: any
31
+ @Input() radixPoint: any
32
+ @Input() lblKeyInvalid: any
33
+ lblKeyInvalidRender: any
34
+
35
+ inputMask: InputmaskOptions<any> = {}
36
+
37
+ placeholder = "0"
38
+
39
+ loading = false
40
+
41
+ ngAfterViewInit(): void {
42
+ if( this.autofocus ){
43
+ setTimeout(()=>{
44
+ this.inputElement.nativeElement.focus();
45
+ })
46
+ }
47
+ }
48
+
49
+ ngAfterContentInit(): void {
50
+ }
51
+
52
+ render(){
53
+ this._ChangeDetectorRef.detectChanges()
54
+
55
+ this.lblKeyInvalidRender = this._NgxInputNumberService.lblKeyInvalid
56
+
57
+ this.inputMask = createMask({
58
+ allowMinus: this._NgxInputNumberService.negative,
59
+ alias: 'numeric',
60
+ numericInput: false,
61
+ inputType: "number",
62
+ inputmode: "numeric",
63
+ groupSeparator: this._NgxInputNumberService.groupSeparator,
64
+ radixPoint : this._NgxInputNumberService.radixPoint,
65
+ max : this._NgxInputNumberService.max,
66
+ digits: this._NgxInputNumberService.decimals,
67
+ digitsOptional: false,
68
+ placeholder: '0',
69
+ unmaskAsNumber: true,
70
+ autoUnmask: true,
71
+ showMaskOnFocus: true,
72
+ showMaskOnHover: false,
73
+ onBeforePaste: ( pastedValue: any, opts ) =>{
74
+ return pastedValue.replaceAll( opts.groupSeparator!, "" )
75
+ },
76
+ onKeyValidation: ( key, result ) => {
77
+ if( !result ){
78
+ this.inputElement.nativeElement.classList.add("key-invalid")
79
+ setTimeout(
80
+ ()=>{
81
+ this.inputElement.nativeElement.classList.remove("key-invalid")
82
+ },
83
+ 1000
84
+ )
85
+ }
86
+ }
87
+ })
88
+
89
+ if( this.negative !== undefined ){
90
+ this.inputMask.allowMinus = this.negative
91
+ }
92
+ if( this.max !== undefined ){
93
+ this.inputMask.max = this.max
94
+ }
95
+
96
+ if( this.groupSeparator !== undefined ){
97
+ this.inputMask.groupSeparator = this.groupSeparator
98
+ }
99
+ if( this.radixPoint !== undefined ){
100
+ this.inputMask.radixPoint = this.radixPoint
101
+ }
102
+ if( this.lblKeyInvalid !== undefined ){
103
+ this.lblKeyInvalidRender = this.lblKeyInvalid
104
+ }
105
+
106
+ if( this.decimals !== undefined ){
107
+ this.inputMask.digits = this.decimals
108
+ }
109
+
110
+
111
+
112
+ if( this.inputMask.digits! > 0 ){
113
+ this.placeholder = '0' + String(this.inputMask.radixPoint)
114
+ }
115
+ for( let x = 0; x < this.inputMask.digits!; x++ ){
116
+ this.placeholder += "0"
117
+ }
118
+
119
+ this.loading = false
120
+
121
+ }
122
+
123
+ ngOnInit(): void {
124
+ this._NgxInputNumberService.getChangeEvent().subscribe(
125
+ ( configs )=>{
126
+ if( configs ){
127
+ this.loading = true
128
+
129
+ setTimeout(() => {
130
+ this.render()
131
+ }, 0);
132
+ }
133
+ }
134
+ )
135
+ }
136
+
137
+ ngOnChanges(changes: SimpleChanges): void {
138
+ this.loading = true
139
+
140
+ setTimeout(() => {
141
+ this.render()
142
+ }, 0);
143
+ }
144
+
145
+ }
@@ -0,0 +1,38 @@
1
+ import { NgModule, ModuleWithProviders } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { FormsModule, ReactiveFormsModule } from "@angular/forms";
4
+
5
+ import { NgxInputNumberComponent } from './ngx-input-number.component';
6
+ import { InputMaskModule } from '@ngneat/input-mask';
7
+
8
+ import { inputConfigsHelp, typesProvider, defaultTypesProvider } from './typesProvider';
9
+
10
+ @NgModule({
11
+ declarations: [
12
+ NgxInputNumberComponent
13
+ ],
14
+ imports: [
15
+ CommonModule,
16
+ InputMaskModule.forRoot({ inputSelector: 'input', isAsync: true }),
17
+ FormsModule,
18
+ ReactiveFormsModule,
19
+ ],
20
+ exports: [
21
+ NgxInputNumberComponent
22
+ ],
23
+ providers:[
24
+ ]
25
+ })
26
+ export class NgxInputNumberModule {
27
+ static forRoot(config: inputConfigsHelp = {} ): ModuleWithProviders<NgxInputNumberModule> {
28
+ return {
29
+ ngModule: NgxInputNumberModule,
30
+ providers: [
31
+ config.config || {
32
+ provide: typesProvider,
33
+ useClass: defaultTypesProvider
34
+ }
35
+ ],
36
+ }
37
+ }
38
+ }
@@ -0,0 +1,16 @@
1
+ import { TestBed } from '@angular/core/testing';
2
+
3
+ import { NgxInputNumberService } from './ngx-input-number.service';
4
+
5
+ describe('NgxInputNumberService', () => {
6
+ let service: NgxInputNumberService;
7
+
8
+ beforeEach(() => {
9
+ TestBed.configureTestingModule({});
10
+ service = TestBed.inject(NgxInputNumberService);
11
+ });
12
+
13
+ it('should be created', () => {
14
+ expect(service).toBeTruthy();
15
+ });
16
+ });
@@ -0,0 +1,59 @@
1
+ import { Injectable, Optional, Inject, EventEmitter, Output } from '@angular/core';
2
+ import { INPUT_CONFIG_TOKEN } from './di';
3
+ import { inputConfigs } from './types';
4
+ import { BehaviorSubject, Subject } from "rxjs";
5
+
6
+ @Injectable({
7
+ providedIn: 'root'
8
+ })
9
+ export class NgxInputNumberService {
10
+
11
+ changeEvent = new BehaviorSubject<boolean>(false);
12
+ groupSeparator = ','
13
+ radixPoint = '.'
14
+ lblKeyInvalid = 'Please enter a valid amount'
15
+ negative: any = true
16
+ max: any = undefined
17
+ decimals = 2
18
+
19
+ constructor(
20
+ @Optional() @Inject(INPUT_CONFIG_TOKEN)
21
+ private readonly config: inputConfigs | null,
22
+ ) {
23
+ if( config != null ){
24
+ this.groupSeparator = config.groupSeparator!
25
+ this.radixPoint = config.radixPoint!
26
+ this.lblKeyInvalid = config.lblKeyInvalid!
27
+ this.negative = config.negative!
28
+ this.max = config.max!
29
+ this.decimals = config.decimals!
30
+ }
31
+ }
32
+
33
+ onChangeParams( config: inputConfigs ){
34
+ if( config.groupSeparator ){
35
+ this.groupSeparator = config.groupSeparator
36
+ }
37
+ if( config.radixPoint ){
38
+ this.radixPoint = config.radixPoint
39
+ }
40
+ if( config.lblKeyInvalid ){
41
+ this.lblKeyInvalid = config.lblKeyInvalid
42
+ }
43
+ if( config.negative !== undefined ){
44
+ this.negative = config.negative
45
+ }
46
+ if( config.max ){
47
+ this.max = config.max!
48
+ }
49
+ if( config.decimals ){
50
+ this.decimals = config.decimals
51
+ }
52
+
53
+ this.changeEvent.next( true )
54
+ }
55
+
56
+ getChangeEvent(){
57
+ return this.changeEvent
58
+ }
59
+ }
@@ -0,0 +1,14 @@
1
+ import { Provider } from '@angular/core';
2
+
3
+ export class inputConfigs {
4
+ groupSeparator?: string;
5
+ radixPoint?: string;
6
+ lblKeyInvalid?: string;
7
+ max?: number;
8
+ decimals?: number;
9
+ negative?: boolean;
10
+ }
11
+
12
+ export class inputConfigsHelp {
13
+ config?: Provider;
14
+ }
@@ -0,0 +1,26 @@
1
+ import { Injectable, Provider } from '@angular/core';
2
+
3
+ export class inputConfigs {
4
+ groupSeparator?: string;
5
+ radixPoint?: string;
6
+ }
7
+
8
+ @Injectable({ providedIn: 'root' })
9
+ export abstract class typesProvider {
10
+ abstract get config(): inputConfigs;
11
+ }
12
+
13
+ @Injectable({ providedIn: 'root' })
14
+ export class defaultTypesProvider extends typesProvider {
15
+ get config(): inputConfigs {
16
+ // return default config
17
+ return {
18
+ groupSeparator: ",",
19
+ radixPoint: "."
20
+ };
21
+ }
22
+ }
23
+
24
+ export class inputConfigsHelp {
25
+ config?: Provider;
26
+ }
@@ -1,5 +1,9 @@
1
- export * from './lib/typesProvider';
2
- export * from './lib/ngx-input-number.service';
3
- export * from './lib/ngx-input-number.component';
4
- export * from './lib/ngx-input-number.module';
5
- export * from '@ngneat/input-mask';
1
+ /*
2
+ * Public API Surface of ngx-input-number
3
+ */
4
+
5
+ export * from './lib/typesProvider';
6
+ export * from './lib/ngx-input-number.service';
7
+ export * from './lib/ngx-input-number.component';
8
+ export * from './lib/ngx-input-number.module';
9
+ export * from '@ngneat/input-mask';
package/src/test.ts ADDED
@@ -0,0 +1,27 @@
1
+ // This file is required by karma.conf.js and loads recursively all the .spec and framework files
2
+
3
+ import 'zone.js';
4
+ import 'zone.js/testing';
5
+ import { getTestBed } from '@angular/core/testing';
6
+ import {
7
+ BrowserDynamicTestingModule,
8
+ platformBrowserDynamicTesting
9
+ } from '@angular/platform-browser-dynamic/testing';
10
+
11
+ declare const require: {
12
+ context(path: string, deep?: boolean, filter?: RegExp): {
13
+ <T>(id: string): T;
14
+ keys(): string[];
15
+ };
16
+ };
17
+
18
+ // First, initialize the Angular testing environment.
19
+ getTestBed().initTestEnvironment(
20
+ BrowserDynamicTestingModule,
21
+ platformBrowserDynamicTesting(),
22
+ );
23
+
24
+ // Then we find all the tests.
25
+ const context = require.context('./', true, /\.spec\.ts$/);
26
+ // And load the modules.
27
+ context.keys().map(context);
@@ -0,0 +1,27 @@
1
+ /* To learn more about this file see: https://angular.io/config/tsconfig. */
2
+ {
3
+ "extends": "../../tsconfig.json",
4
+ "compilerOptions": {
5
+ "outDir": "../../out-tsc/lib",
6
+ "target": "es2015",
7
+ "declaration": true,
8
+ "declarationMap": true,
9
+ "inlineSources": true,
10
+ "types": [],
11
+ "lib": [
12
+ "dom",
13
+ "es2018"
14
+ ]
15
+ },
16
+ "angularCompilerOptions": {
17
+ "skipTemplateCodegen": true,
18
+ "strictMetadataEmit": true,
19
+ "enableResourceInlining": true,
20
+ "strictTemplates": false,
21
+ "enableIvy": false
22
+ },
23
+ "exclude": [
24
+ "src/test.ts",
25
+ "**/*.spec.ts"
26
+ ]
27
+ }
@@ -0,0 +1,10 @@
1
+ /* To learn more about this file see: https://angular.io/config/tsconfig. */
2
+ {
3
+ "extends": "./tsconfig.lib.json",
4
+ "compilerOptions": {
5
+ "declarationMap": false
6
+ },
7
+ "angularCompilerOptions": {
8
+ "compilationMode": "partial"
9
+ }
10
+ }
@@ -0,0 +1,17 @@
1
+ /* To learn more about this file see: https://angular.io/config/tsconfig. */
2
+ {
3
+ "extends": "../../tsconfig.json",
4
+ "compilerOptions": {
5
+ "outDir": "../../out-tsc/spec",
6
+ "types": [
7
+ "jasmine"
8
+ ]
9
+ },
10
+ "files": [
11
+ "src/test.ts"
12
+ ],
13
+ "include": [
14
+ "**/*.spec.ts",
15
+ "**/*.d.ts"
16
+ ]
17
+ }
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwZXJ0ZWFtLW14LW5neC1pbnB1dC1udW1iZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9uZ3gtaW5wdXQtbnVtYmVyL3NyYy9leHBlcnRlYW0tbXgtbmd4LWlucHV0LW51bWJlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtaW5wdXQtbnVtYmVyL3NyYy9saWIvZGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcvQyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FBZSxjQUFjLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGlucHV0Q29uZmlncyB9IGZyb20gJy4vdHlwZXMnO1xyXG5cclxuZXhwb3J0IGNvbnN0IElOUFVUX0NPTkZJR19UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxpbnB1dENvbmZpZ3M+KCdJTlBVVF9DT05GSUcnKTsiXX0=