@skyux/autonumeric 8.7.2 → 9.0.0-alpha.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.
@@ -872,40 +872,30 @@
872
872
  ]
873
873
  },
874
874
  "codeExamples": [
875
- {
876
- "fileName": "autonumeric-demo.component.html",
877
- "filePath": "/projects/autonumeric/documentation/code-examples/autonumeric/currency/autonumeric-demo.component.html",
878
- "rawContents": "<form [formGroup]=\"formGroup\" novalidate>\n <sky-input-box labelText=\"Donation amount\">\n <input\n formControlName=\"donationAmount\"\n type=\"text\"\n [skyAutonumeric]=\"autonumericOptions\"\n />\n </sky-input-box>\n</form>\n"
879
- },
880
- {
881
- "fileName": "autonumeric-demo.component.ts",
882
- "filePath": "/projects/autonumeric/documentation/code-examples/autonumeric/currency/autonumeric-demo.component.ts",
883
- "rawContents": "import { Component, OnInit } from '@angular/core';\nimport {\n UntypedFormBuilder,\n UntypedFormControl,\n UntypedFormGroup,\n Validators,\n} from '@angular/forms';\nimport { SkyAutonumericOptions } from '@skyux/autonumeric';\n\n@Component({\n selector: 'app-autonumeric-demo',\n templateUrl: './autonumeric-demo.component.html',\n})\nexport class AutonumericDemoComponent implements OnInit {\n public autonumericOptions: SkyAutonumericOptions | undefined;\n\n public formGroup: UntypedFormGroup;\n\n constructor(formBuilder: UntypedFormBuilder) {\n this.formGroup = formBuilder.group({\n donationAmount: new UntypedFormControl(1234.5678, [Validators.required]),\n });\n }\n\n public ngOnInit(): void {\n this.autonumericOptions = {\n currencySymbol: ' €',\n currencySymbolPlacement: 's',\n decimalPlaces: 2,\n decimalCharacter: ',',\n digitGroupSeparator: '',\n };\n }\n}\n"
884
- },
885
875
  {
886
876
  "fileName": "autonumeric-demo.module.ts",
887
- "filePath": "/projects/autonumeric/documentation/code-examples/autonumeric/currency/autonumeric-demo.module.ts",
877
+ "filePath": "/projects/autonumeric/documentation/code-examples/autonumeric/preset/autonumeric-demo.module.ts",
888
878
  "rawContents": "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { SkyAutonumericModule } from '@skyux/autonumeric';\nimport { SkyInputBoxModule } from '@skyux/forms';\n\nimport { AutonumericDemoComponent } from './autonumeric-demo.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n SkyAutonumericModule,\n SkyInputBoxModule,\n ],\n declarations: [AutonumericDemoComponent],\n exports: [AutonumericDemoComponent],\n})\nexport class AutonumericDemoModule {}\n"
889
879
  },
890
880
  {
891
- "fileName": "autonumeric-demo.component.html",
892
- "filePath": "/projects/autonumeric/documentation/code-examples/autonumeric/international-formatting/autonumeric-demo.component.html",
893
- "rawContents": "<form [formGroup]=\"formGroup\" novalidate>\n <sky-input-box labelText=\"Autonumeric value\">\n <input\n formControlName=\"donationAmount\"\n type=\"text\"\n [skyAutonumeric]=\"autonumericOptions\"\n />\n </sky-input-box>\n</form>\n"
881
+ "fileName": "autonumeric-demo.component.ts",
882
+ "filePath": "/projects/autonumeric/documentation/code-examples/autonumeric/preset/autonumeric-demo.component.ts",
883
+ "rawContents": "import { Component } from '@angular/core';\nimport {\n UntypedFormBuilder,\n UntypedFormControl,\n UntypedFormGroup,\n Validators,\n} from '@angular/forms';\nimport { SkyAutonumericOptions } from '@skyux/autonumeric';\n\n@Component({\n selector: 'app-autonumeric-demo',\n templateUrl: './autonumeric-demo.component.html',\n})\nexport class AutonumericDemoComponent {\n public autonumericOptions: SkyAutonumericOptions = 'Chinese';\n\n public formGroup: UntypedFormGroup;\n\n constructor(formBuilder: UntypedFormBuilder) {\n this.formGroup = formBuilder.group({\n donationAmount: new UntypedFormControl(1234.5678, [Validators.required]),\n });\n }\n}\n"
894
884
  },
895
885
  {
896
- "fileName": "autonumeric-demo.component.ts",
897
- "filePath": "/projects/autonumeric/documentation/code-examples/autonumeric/international-formatting/autonumeric-demo.component.ts",
898
- "rawContents": "import { Component, OnInit } from '@angular/core';\nimport {\n UntypedFormBuilder,\n UntypedFormControl,\n UntypedFormGroup,\n Validators,\n} from '@angular/forms';\nimport { SkyAutonumericOptions } from '@skyux/autonumeric';\n\n@Component({\n selector: 'app-autonumeric-demo',\n templateUrl: './autonumeric-demo.component.html',\n})\nexport class AutonumericDemoComponent implements OnInit {\n public autonumericOptions: SkyAutonumericOptions | undefined;\n\n public formGroup: UntypedFormGroup;\n\n constructor(formBuilder: UntypedFormBuilder) {\n this.formGroup = formBuilder.group({\n donationAmount: new UntypedFormControl(1234.5678, [Validators.required]),\n });\n }\n\n public ngOnInit(): void {\n this.autonumericOptions = {\n decimalCharacter: ',',\n decimalPlaces: 4,\n digitGroupSeparator: '',\n };\n }\n}\n"
886
+ "fileName": "autonumeric-demo.component.html",
887
+ "filePath": "/projects/autonumeric/documentation/code-examples/autonumeric/preset/autonumeric-demo.component.html",
888
+ "rawContents": "<form [formGroup]=\"formGroup\" novalidate>\n <sky-input-box labelText=\"Donation amount\">\n <input\n formControlName=\"donationAmount\"\n type=\"text\"\n [skyAutonumeric]=\"autonumericOptions\"\n />\n </sky-input-box>\n</form>\n"
899
889
  },
900
890
  {
901
891
  "fileName": "autonumeric-demo.module.ts",
902
- "filePath": "/projects/autonumeric/documentation/code-examples/autonumeric/international-formatting/autonumeric-demo.module.ts",
892
+ "filePath": "/projects/autonumeric/documentation/code-examples/autonumeric/options-provider/autonumeric-demo.module.ts",
903
893
  "rawContents": "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { SkyAutonumericModule } from '@skyux/autonumeric';\nimport { SkyInputBoxModule } from '@skyux/forms';\n\nimport { AutonumericDemoComponent } from './autonumeric-demo.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n SkyAutonumericModule,\n SkyInputBoxModule,\n ],\n declarations: [AutonumericDemoComponent],\n exports: [AutonumericDemoComponent],\n})\nexport class AutonumericDemoModule {}\n"
904
894
  },
905
895
  {
906
- "fileName": "autonumeric-demo-options-provider.ts",
907
- "filePath": "/projects/autonumeric/documentation/code-examples/autonumeric/options-provider/autonumeric-demo-options-provider.ts",
908
- "rawContents": "import { SkyAutonumericOptions } from '@skyux/autonumeric';\nimport { SkyAutonumericOptionsProvider } from '@skyux/autonumeric';\n\nexport class AutonumericDemoOptionsProvider extends SkyAutonumericOptionsProvider {\n constructor() {\n super();\n }\n\n public override getConfig(): SkyAutonumericOptions {\n return {\n currencySymbol: ' €',\n currencySymbolPlacement: 's',\n decimalPlaces: 2,\n decimalCharacter: ',',\n digitGroupSeparator: '',\n };\n }\n}\n"
896
+ "fileName": "autonumeric-demo.component.ts",
897
+ "filePath": "/projects/autonumeric/documentation/code-examples/autonumeric/options-provider/autonumeric-demo.component.ts",
898
+ "rawContents": "import { Component } from '@angular/core';\nimport {\n UntypedFormBuilder,\n UntypedFormControl,\n UntypedFormGroup,\n Validators,\n} from '@angular/forms';\nimport { SkyAutonumericOptions } from '@skyux/autonumeric';\nimport { SkyAutonumericOptionsProvider } from '@skyux/autonumeric';\n\nimport { AutonumericDemoOptionsProvider } from './autonumeric-demo-options-provider';\n\n@Component({\n selector: 'app-autonumeric-demo',\n templateUrl: './autonumeric-demo.component.html',\n providers: [\n {\n provide: SkyAutonumericOptionsProvider,\n useClass: AutonumericDemoOptionsProvider,\n },\n ],\n})\nexport class AutonumericDemoComponent {\n public donationOptions: SkyAutonumericOptions = {};\n\n public formGroup: UntypedFormGroup;\n\n public pledgeOptions: SkyAutonumericOptions = {\n decimalPlaces: 0,\n };\n\n constructor(formBuilder: UntypedFormBuilder) {\n this.formGroup = formBuilder.group({\n donationAmount: new UntypedFormControl(1234.5678, [Validators.required]),\n pledgeAmount: new UntypedFormControl(2345.6789, [Validators.required]),\n });\n }\n}\n"
909
899
  },
910
900
  {
911
901
  "fileName": "autonumeric-demo.component.html",
@@ -913,29 +903,39 @@
913
903
  "rawContents": "<form [formGroup]=\"formGroup\" novalidate>\n <sky-input-box labelText=\"Donation amount\" stacked=\"true\">\n <input\n formControlName=\"donationAmount\"\n type=\"text\"\n [skyAutonumeric]=\"donationOptions\"\n />\n </sky-input-box>\n <sky-input-box labelText=\"Pledge amount\">\n <input\n formControlName=\"pledgeAmount\"\n type=\"text\"\n [skyAutonumeric]=\"pledgeOptions\"\n />\n </sky-input-box>\n</form>\n"
914
904
  },
915
905
  {
916
- "fileName": "autonumeric-demo.component.ts",
917
- "filePath": "/projects/autonumeric/documentation/code-examples/autonumeric/options-provider/autonumeric-demo.component.ts",
918
- "rawContents": "import { Component } from '@angular/core';\nimport {\n UntypedFormBuilder,\n UntypedFormControl,\n UntypedFormGroup,\n Validators,\n} from '@angular/forms';\nimport { SkyAutonumericOptions } from '@skyux/autonumeric';\nimport { SkyAutonumericOptionsProvider } from '@skyux/autonumeric';\n\nimport { AutonumericDemoOptionsProvider } from './autonumeric-demo-options-provider';\n\n@Component({\n selector: 'app-autonumeric-demo',\n templateUrl: './autonumeric-demo.component.html',\n providers: [\n {\n provide: SkyAutonumericOptionsProvider,\n useClass: AutonumericDemoOptionsProvider,\n },\n ],\n})\nexport class AutonumericDemoComponent {\n public donationOptions: SkyAutonumericOptions = {};\n\n public formGroup: UntypedFormGroup;\n\n public pledgeOptions: SkyAutonumericOptions = {\n decimalPlaces: 0,\n };\n\n constructor(formBuilder: UntypedFormBuilder) {\n this.formGroup = formBuilder.group({\n donationAmount: new UntypedFormControl(1234.5678, [Validators.required]),\n pledgeAmount: new UntypedFormControl(2345.6789, [Validators.required]),\n });\n }\n}\n"
906
+ "fileName": "autonumeric-demo-options-provider.ts",
907
+ "filePath": "/projects/autonumeric/documentation/code-examples/autonumeric/options-provider/autonumeric-demo-options-provider.ts",
908
+ "rawContents": "import { SkyAutonumericOptions } from '@skyux/autonumeric';\nimport { SkyAutonumericOptionsProvider } from '@skyux/autonumeric';\n\nexport class AutonumericDemoOptionsProvider extends SkyAutonumericOptionsProvider {\n constructor() {\n super();\n }\n\n public override getConfig(): SkyAutonumericOptions {\n return {\n currencySymbol: ' €',\n currencySymbolPlacement: 's',\n decimalPlaces: 2,\n decimalCharacter: ',',\n digitGroupSeparator: '',\n };\n }\n}\n"
919
909
  },
920
910
  {
921
911
  "fileName": "autonumeric-demo.module.ts",
922
- "filePath": "/projects/autonumeric/documentation/code-examples/autonumeric/options-provider/autonumeric-demo.module.ts",
912
+ "filePath": "/projects/autonumeric/documentation/code-examples/autonumeric/international-formatting/autonumeric-demo.module.ts",
923
913
  "rawContents": "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { SkyAutonumericModule } from '@skyux/autonumeric';\nimport { SkyInputBoxModule } from '@skyux/forms';\n\nimport { AutonumericDemoComponent } from './autonumeric-demo.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n SkyAutonumericModule,\n SkyInputBoxModule,\n ],\n declarations: [AutonumericDemoComponent],\n exports: [AutonumericDemoComponent],\n})\nexport class AutonumericDemoModule {}\n"
924
914
  },
925
915
  {
926
- "fileName": "autonumeric-demo.component.html",
927
- "filePath": "/projects/autonumeric/documentation/code-examples/autonumeric/preset/autonumeric-demo.component.html",
928
- "rawContents": "<form [formGroup]=\"formGroup\" novalidate>\n <sky-input-box labelText=\"Donation amount\">\n <input\n formControlName=\"donationAmount\"\n type=\"text\"\n [skyAutonumeric]=\"autonumericOptions\"\n />\n </sky-input-box>\n</form>\n"
916
+ "fileName": "autonumeric-demo.component.ts",
917
+ "filePath": "/projects/autonumeric/documentation/code-examples/autonumeric/international-formatting/autonumeric-demo.component.ts",
918
+ "rawContents": "import { Component, OnInit } from '@angular/core';\nimport {\n UntypedFormBuilder,\n UntypedFormControl,\n UntypedFormGroup,\n Validators,\n} from '@angular/forms';\nimport { SkyAutonumericOptions } from '@skyux/autonumeric';\n\n@Component({\n selector: 'app-autonumeric-demo',\n templateUrl: './autonumeric-demo.component.html',\n})\nexport class AutonumericDemoComponent implements OnInit {\n public autonumericOptions: SkyAutonumericOptions | undefined;\n\n public formGroup: UntypedFormGroup;\n\n constructor(formBuilder: UntypedFormBuilder) {\n this.formGroup = formBuilder.group({\n donationAmount: new UntypedFormControl(1234.5678, [Validators.required]),\n });\n }\n\n public ngOnInit(): void {\n this.autonumericOptions = {\n decimalCharacter: ',',\n decimalPlaces: 4,\n digitGroupSeparator: '',\n };\n }\n}\n"
929
919
  },
930
920
  {
931
- "fileName": "autonumeric-demo.component.ts",
932
- "filePath": "/projects/autonumeric/documentation/code-examples/autonumeric/preset/autonumeric-demo.component.ts",
933
- "rawContents": "import { Component } from '@angular/core';\nimport {\n UntypedFormBuilder,\n UntypedFormControl,\n UntypedFormGroup,\n Validators,\n} from '@angular/forms';\nimport { SkyAutonumericOptions } from '@skyux/autonumeric';\n\n@Component({\n selector: 'app-autonumeric-demo',\n templateUrl: './autonumeric-demo.component.html',\n})\nexport class AutonumericDemoComponent {\n public autonumericOptions: SkyAutonumericOptions = 'Chinese';\n\n public formGroup: UntypedFormGroup;\n\n constructor(formBuilder: UntypedFormBuilder) {\n this.formGroup = formBuilder.group({\n donationAmount: new UntypedFormControl(1234.5678, [Validators.required]),\n });\n }\n}\n"
921
+ "fileName": "autonumeric-demo.component.html",
922
+ "filePath": "/projects/autonumeric/documentation/code-examples/autonumeric/international-formatting/autonumeric-demo.component.html",
923
+ "rawContents": "<form [formGroup]=\"formGroup\" novalidate>\n <sky-input-box labelText=\"Autonumeric value\">\n <input\n formControlName=\"donationAmount\"\n type=\"text\"\n [skyAutonumeric]=\"autonumericOptions\"\n />\n </sky-input-box>\n</form>\n"
934
924
  },
935
925
  {
936
926
  "fileName": "autonumeric-demo.module.ts",
937
- "filePath": "/projects/autonumeric/documentation/code-examples/autonumeric/preset/autonumeric-demo.module.ts",
927
+ "filePath": "/projects/autonumeric/documentation/code-examples/autonumeric/currency/autonumeric-demo.module.ts",
938
928
  "rawContents": "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { SkyAutonumericModule } from '@skyux/autonumeric';\nimport { SkyInputBoxModule } from '@skyux/forms';\n\nimport { AutonumericDemoComponent } from './autonumeric-demo.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n SkyAutonumericModule,\n SkyInputBoxModule,\n ],\n declarations: [AutonumericDemoComponent],\n exports: [AutonumericDemoComponent],\n})\nexport class AutonumericDemoModule {}\n"
929
+ },
930
+ {
931
+ "fileName": "autonumeric-demo.component.ts",
932
+ "filePath": "/projects/autonumeric/documentation/code-examples/autonumeric/currency/autonumeric-demo.component.ts",
933
+ "rawContents": "import { Component, OnInit } from '@angular/core';\nimport {\n UntypedFormBuilder,\n UntypedFormControl,\n UntypedFormGroup,\n Validators,\n} from '@angular/forms';\nimport { SkyAutonumericOptions } from '@skyux/autonumeric';\n\n@Component({\n selector: 'app-autonumeric-demo',\n templateUrl: './autonumeric-demo.component.html',\n})\nexport class AutonumericDemoComponent implements OnInit {\n public autonumericOptions: SkyAutonumericOptions | undefined;\n\n public formGroup: UntypedFormGroup;\n\n constructor(formBuilder: UntypedFormBuilder) {\n this.formGroup = formBuilder.group({\n donationAmount: new UntypedFormControl(1234.5678, [Validators.required]),\n });\n }\n\n public ngOnInit(): void {\n this.autonumericOptions = {\n currencySymbol: ' €',\n currencySymbolPlacement: 's',\n decimalPlaces: 2,\n decimalCharacter: ',',\n digitGroupSeparator: '',\n };\n }\n}\n"
934
+ },
935
+ {
936
+ "fileName": "autonumeric-demo.component.html",
937
+ "filePath": "/projects/autonumeric/documentation/code-examples/autonumeric/currency/autonumeric-demo.component.html",
938
+ "rawContents": "<form [formGroup]=\"formGroup\" novalidate>\n <sky-input-box labelText=\"Donation amount\">\n <input\n formControlName=\"donationAmount\"\n type=\"text\"\n [skyAutonumeric]=\"autonumericOptions\"\n />\n </sky-input-box>\n</form>\n"
939
939
  }
940
940
  ]
941
941
  }
@@ -12,13 +12,13 @@ export class SkyAutonumericOptionsProvider {
12
12
  getConfig() {
13
13
  return {};
14
14
  }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyAutonumericOptionsProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
16
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyAutonumericOptionsProvider, providedIn: 'root' }); }
15
17
  }
16
- SkyAutonumericOptionsProvider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAutonumericOptionsProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
17
- SkyAutonumericOptionsProvider.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAutonumericOptionsProvider, providedIn: 'root' });
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAutonumericOptionsProvider, decorators: [{
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyAutonumericOptionsProvider, decorators: [{
19
19
  type: Injectable,
20
20
  args: [{
21
21
  providedIn: 'root',
22
22
  }]
23
23
  }] });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b251bWVyaWMtb3B0aW9ucy1wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hdXRvbnVtZXJpYy9zcmMvbGliL21vZHVsZXMvYXV0b251bWVyaWMvYXV0b251bWVyaWMtb3B0aW9ucy1wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUkzQzs7O0dBR0c7QUFJSCxNQUFNLE9BQU8sNkJBQTZCO0lBQ3hDOzs7T0FHRztJQUNJLFNBQVM7UUFDZCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7OzBIQVBVLDZCQUE2Qjs4SEFBN0IsNkJBQTZCLGNBRjVCLE1BQU07MkZBRVAsNkJBQTZCO2tCQUh6QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2t5QXV0b251bWVyaWNPcHRpb25zIH0gZnJvbSAnLi9hdXRvbnVtZXJpYy1vcHRpb25zJztcblxuLyoqXG4gKiBQcm92aWRlcyBvcHRpb25zIHRvIHRoZSB1bmRlcmx5aW5nIFtBdXRvTnVtZXJpYyBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vYXV0b051bWVyaWMvYXV0b051bWVyaWMpLlxuICogVGhpcyBjYW4gc2V0IGdsb2JhbCBvcHRpb25zIG9uIG11bHRpcGxlIGlucHV0IGZpZWxkcy5cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNreUF1dG9udW1lcmljT3B0aW9uc1Byb3ZpZGVyIHtcbiAgLyoqXG4gICAqIFRoZSB2YWx1ZSBmb3IgYSBzZXR0aW5ncyBvYmplY3QgdG8gcGFzcyB0byB0aGUgQXV0b051bWVyaWMgbGlicmFyeS5cbiAgICogVGhpcyBvdmVycmlkZXMgYW55IGRlZmF1bHQgb3B0aW9ucyBzcGVjaWZpZWQgYnkgdGhlIGBza3lBdXRvbnVtZXJpY2AgYXR0cmlidXRlLlxuICAgKi9cbiAgcHVibGljIGdldENvbmZpZygpOiBTa3lBdXRvbnVtZXJpY09wdGlvbnMge1xuICAgIHJldHVybiB7fTtcbiAgfVxufVxuIl19
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b251bWVyaWMtb3B0aW9ucy1wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hdXRvbnVtZXJpYy9zcmMvbGliL21vZHVsZXMvYXV0b251bWVyaWMvYXV0b251bWVyaWMtb3B0aW9ucy1wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUkzQzs7O0dBR0c7QUFJSCxNQUFNLE9BQU8sNkJBQTZCO0lBQ3hDOzs7T0FHRztJQUNJLFNBQVM7UUFDZCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7OEdBUFUsNkJBQTZCO2tIQUE3Qiw2QkFBNkIsY0FGNUIsTUFBTTs7MkZBRVAsNkJBQTZCO2tCQUh6QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2t5QXV0b251bWVyaWNPcHRpb25zIH0gZnJvbSAnLi9hdXRvbnVtZXJpYy1vcHRpb25zJztcblxuLyoqXG4gKiBQcm92aWRlcyBvcHRpb25zIHRvIHRoZSB1bmRlcmx5aW5nIFtBdXRvTnVtZXJpYyBsaWJyYXJ5XShodHRwczovL2dpdGh1Yi5jb20vYXV0b051bWVyaWMvYXV0b051bWVyaWMpLlxuICogVGhpcyBjYW4gc2V0IGdsb2JhbCBvcHRpb25zIG9uIG11bHRpcGxlIGlucHV0IGZpZWxkcy5cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNreUF1dG9udW1lcmljT3B0aW9uc1Byb3ZpZGVyIHtcbiAgLyoqXG4gICAqIFRoZSB2YWx1ZSBmb3IgYSBzZXR0aW5ncyBvYmplY3QgdG8gcGFzcyB0byB0aGUgQXV0b051bWVyaWMgbGlicmFyeS5cbiAgICogVGhpcyBvdmVycmlkZXMgYW55IGRlZmF1bHQgb3B0aW9ucyBzcGVjaWZpZWQgYnkgdGhlIGBza3lBdXRvbnVtZXJpY2AgYXR0cmlidXRlLlxuICAgKi9cbiAgcHVibGljIGdldENvbmZpZygpOiBTa3lBdXRvbnVtZXJpY09wdGlvbnMge1xuICAgIHJldHVybiB7fTtcbiAgfVxufVxuIl19
@@ -0,0 +1,198 @@
1
+ import { Directive, HostListener, Input, forwardRef, } from '@angular/core';
2
+ import { NG_VALIDATORS, NG_VALUE_ACCESSOR, } from '@angular/forms';
3
+ import AutoNumeric from 'autonumeric';
4
+ import { Subject, fromEvent } from 'rxjs';
5
+ import { takeUntil } from 'rxjs/operators';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "./autonumeric-options-provider";
8
+ const SKY_AUTONUMERIC_VALUE_ACCESSOR = {
9
+ provide: NG_VALUE_ACCESSOR,
10
+ useExisting: forwardRef(() => SkyAutonumericDirective),
11
+ multi: true,
12
+ };
13
+ const SKY_AUTONUMERIC_VALIDATOR = {
14
+ provide: NG_VALIDATORS,
15
+ useExisting: forwardRef(() => SkyAutonumericDirective),
16
+ multi: true,
17
+ };
18
+ /**
19
+ * Wraps the [autoNumeric utility](https://github.com/autoNumeric/autoNumeric) to format
20
+ * any type of number, including currency.
21
+ */
22
+ export class SkyAutonumericDirective {
23
+ /**
24
+ * Assigns the name of a property from `SkyAutonumericOptionsProvider`.
25
+ */
26
+ set skyAutonumeric(value) {
27
+ this.#autonumericOptions = this.#mergeOptions(value);
28
+ this.#updateAutonumericInstance();
29
+ }
30
+ #autonumericInstance;
31
+ #autonumericOptions;
32
+ #control;
33
+ #isFirstChange;
34
+ #value;
35
+ #ngUnsubscribe;
36
+ #elementRef;
37
+ #globalConfig;
38
+ #renderer;
39
+ #changeDetector;
40
+ constructor(elementRef, globalConfig, renderer, changeDetector) {
41
+ /**
42
+ * @internal
43
+ */
44
+ this.skyAutonumericFormChangesUnformatted = false;
45
+ this.#isFirstChange = true;
46
+ this.#ngUnsubscribe = new Subject();
47
+ // istanbul ignore next
48
+ // eslint-disable-next-line @typescript-eslint/no-empty-function , @typescript-eslint/no-unused-vars
49
+ this.#onChange = (_) => { };
50
+ // istanbul ignore next
51
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
52
+ this.#onTouched = () => { };
53
+ this.#elementRef = elementRef;
54
+ this.#globalConfig = globalConfig;
55
+ this.#renderer = renderer;
56
+ this.#changeDetector = changeDetector;
57
+ this.#autonumericInstance = new AutoNumeric(elementRef.nativeElement);
58
+ }
59
+ ngOnInit() {
60
+ // Ensure that we set the global config even if no local config has been given.
61
+ if (!this.#autonumericOptions) {
62
+ this.#autonumericOptions = this.#globalConfig.getConfig();
63
+ }
64
+ this.#updateAutonumericInstance();
65
+ fromEvent(this.#elementRef.nativeElement, 'input')
66
+ .pipe(takeUntil(this.#ngUnsubscribe))
67
+ .subscribe(() => {
68
+ const numericValue = this.#getNumericValue();
69
+ /* istanbul ignore else */
70
+ if (this.#value !== numericValue) {
71
+ this.#value = numericValue;
72
+ this.#onChange(numericValue);
73
+ }
74
+ /* istanbul ignore else */
75
+ if (this.#control && !this.#control.dirty) {
76
+ this.#control.markAsDirty();
77
+ }
78
+ this.#changeDetector.markForCheck();
79
+ });
80
+ }
81
+ ngOnDestroy() {
82
+ this.#ngUnsubscribe.next();
83
+ this.#ngUnsubscribe.complete();
84
+ }
85
+ /**
86
+ * Implemented as part of ControlValueAccessor.
87
+ */
88
+ setDisabledState(value) {
89
+ this.#renderer.setProperty(this.#elementRef.nativeElement, 'disabled', value);
90
+ }
91
+ writeValue(value) {
92
+ if (this.#value !== value) {
93
+ this.#value = value;
94
+ this.#onChange(value);
95
+ // Mark the control as "pristine" if it is initialized with a value.
96
+ if (this.#isFirstChange && this.#control && this.#value !== null) {
97
+ this.#isFirstChange = false;
98
+ this.#control.markAsPristine();
99
+ }
100
+ }
101
+ if (typeof value === 'number') {
102
+ if (this.skyAutonumericFormChangesUnformatted) {
103
+ this.#autonumericInstance.setUnformatted(value);
104
+ }
105
+ else {
106
+ this.#autonumericInstance.set(value);
107
+ }
108
+ }
109
+ else {
110
+ this.#autonumericInstance.clear();
111
+ }
112
+ }
113
+ validate(control) {
114
+ const noErrors = null;
115
+ if (!this.#control) {
116
+ this.#control = control;
117
+ }
118
+ if (control.value === null || control.value === undefined) {
119
+ return noErrors;
120
+ }
121
+ if (typeof control.value !== 'number') {
122
+ return {
123
+ notTypeOfNumber: { value: control.value },
124
+ };
125
+ }
126
+ return noErrors;
127
+ }
128
+ registerOnChange(fn) {
129
+ this.#onChange = fn;
130
+ }
131
+ registerOnTouched(fn) {
132
+ this.#onTouched = fn;
133
+ }
134
+ onBlur() {
135
+ this.#onTouched();
136
+ }
137
+ #getNumericValue() {
138
+ const inputValue = this.#getInputValue();
139
+ const numericValue = this.#autonumericInstance.getNumber();
140
+ return inputValue &&
141
+ !this.#isInputValueTheCurrencySymbol(inputValue) &&
142
+ typeof numericValue === 'number'
143
+ ? numericValue
144
+ : undefined;
145
+ }
146
+ /**
147
+ * Due to AutoNumeric's hover logic - when AutoNumeric has a currency symbol, the value
148
+ * that we get back on empty fields will be the currency symbol.
149
+ * The following logic ensures that we don't accidentally set
150
+ * a form value when the only input was the programmatically-added currency symbol.
151
+ */
152
+ #isInputValueTheCurrencySymbol(inputValue) {
153
+ /* istanbul ignore next */
154
+ const currencySymbol = (this.#autonumericOptions?.currencySymbol ?? '').trim();
155
+ return !!currencySymbol && inputValue === currencySymbol;
156
+ }
157
+ #getInputValue() {
158
+ return this.#elementRef.nativeElement.value;
159
+ }
160
+ #updateAutonumericInstance() {
161
+ this.#autonumericInstance.update(this.#autonumericOptions);
162
+ }
163
+ #mergeOptions(value) {
164
+ const globalOptions = this.#globalConfig.getConfig();
165
+ let newOptions;
166
+ if (typeof value === 'string') {
167
+ const predefinedOptions = AutoNumeric.getPredefinedOptions();
168
+ newOptions = predefinedOptions[value];
169
+ }
170
+ else {
171
+ newOptions = value;
172
+ }
173
+ return Object.assign({}, globalOptions, newOptions);
174
+ }
175
+ // istanbul ignore next
176
+ // eslint-disable-next-line @typescript-eslint/no-empty-function , @typescript-eslint/no-unused-vars
177
+ #onChange;
178
+ // istanbul ignore next
179
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
180
+ #onTouched;
181
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyAutonumericDirective, deps: [{ token: i0.ElementRef }, { token: i1.SkyAutonumericOptionsProvider }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
182
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.7", type: SkyAutonumericDirective, selector: "input[skyAutonumeric]", inputs: { skyAutonumeric: "skyAutonumeric", skyAutonumericFormChangesUnformatted: "skyAutonumericFormChangesUnformatted" }, host: { listeners: { "blur": "onBlur()" } }, providers: [SKY_AUTONUMERIC_VALUE_ACCESSOR, SKY_AUTONUMERIC_VALIDATOR], ngImport: i0 }); }
183
+ }
184
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyAutonumericDirective, decorators: [{
185
+ type: Directive,
186
+ args: [{
187
+ selector: 'input[skyAutonumeric]',
188
+ providers: [SKY_AUTONUMERIC_VALUE_ACCESSOR, SKY_AUTONUMERIC_VALIDATOR],
189
+ }]
190
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.SkyAutonumericOptionsProvider }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { skyAutonumeric: [{
191
+ type: Input
192
+ }], skyAutonumericFormChangesUnformatted: [{
193
+ type: Input
194
+ }], onBlur: [{
195
+ type: HostListener,
196
+ args: ['blur']
197
+ }] } });
198
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b251bWVyaWMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2F1dG9udW1lcmljL3NyYy9saWIvbW9kdWxlcy9hdXRvbnVtZXJpYy9hdXRvbnVtZXJpYy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUlMLFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBR0wsYUFBYSxFQUNiLGlCQUFpQixHQUdsQixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sV0FBVyxNQUFNLGFBQWEsQ0FBQztBQUN0QyxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUszQyxNQUFNLDhCQUE4QixHQUFHO0lBQ3JDLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztJQUN0RCxLQUFLLEVBQUUsSUFBSTtDQUNaLENBQUM7QUFFRixNQUFNLHlCQUF5QixHQUFHO0lBQ2hDLE9BQU8sRUFBRSxhQUFhO0lBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsdUJBQXVCLENBQUM7SUFDdEQsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBRUY7OztHQUdHO0FBS0gsTUFBTSxPQUFPLHVCQUF1QjtJQUdsQzs7T0FFRztJQUNILElBQ1csY0FBYyxDQUFDLEtBQXdDO1FBQ2hFLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFRRCxv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LENBQ1osQ0FBQztTQUMxQjthQUFNO1lBQ0wsVUFBVSxHQUFHLEtBQUssQ0FBQztTQUNwQjtRQUVELE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCx1QkFBdUI7SUFDdkIsb0dBQW9HO0lBQ3BHLFNBQVMsQ0FBaUM7SUFDMUMsdUJBQXVCO0lBQ3ZCLGdFQUFnRTtJQUNoRSxVQUFVLENBQVk7OEdBek1YLHVCQUF1QjtrR0FBdkIsdUJBQXVCLHlOQUZ2QixDQUFDLDhCQUE4QixFQUFFLHlCQUF5QixDQUFDOzsyRkFFM0QsdUJBQXVCO2tCQUpuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFNBQVMsRUFBRSxDQUFDLDhCQUE4QixFQUFFLHlCQUF5QixDQUFDO2lCQUN2RTtxTUFRWSxjQUFjO3NCQUR4QixLQUFLO2dCQVVDLG9DQUFvQztzQkFEMUMsS0FBSztnQkE2SEMsTUFBTTtzQkFEWixZQUFZO3VCQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgUmVuZGVyZXIyLFxuICBmb3J3YXJkUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIE5HX1ZBTElEQVRPUlMsXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxuICBWYWxpZGF0aW9uRXJyb3JzLFxuICBWYWxpZGF0b3IsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IEF1dG9OdW1lcmljIGZyb20gJ2F1dG9udW1lcmljJztcbmltcG9ydCB7IFN1YmplY3QsIGZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lBdXRvbnVtZXJpY09wdGlvbnMgfSBmcm9tICcuL2F1dG9udW1lcmljLW9wdGlvbnMnO1xuaW1wb3J0IHsgU2t5QXV0b251bWVyaWNPcHRpb25zUHJvdmlkZXIgfSBmcm9tICcuL2F1dG9udW1lcmljLW9wdGlvbnMtcHJvdmlkZXInO1xuXG5jb25zdCBTS1lfQVVUT05VTUVSSUNfVkFMVUVfQUNDRVNTT1IgPSB7XG4gIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTa3lBdXRvbnVtZXJpY0RpcmVjdGl2ZSksXG4gIG11bHRpOiB0cnVlLFxufTtcblxuY29uc3QgU0tZX0FVVE9OVU1FUklDX1ZBTElEQVRPUiA9IHtcbiAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2t5QXV0b251bWVyaWNEaXJlY3RpdmUpLFxuICBtdWx0aTogdHJ1ZSxcbn07XG5cbi8qKlxuICogV3JhcHMgdGhlIFthdXRvTnVtZXJpYyB1dGlsaXR5XShodHRwczovL2dpdGh1Yi5jb20vYXV0b051bWVyaWMvYXV0b051bWVyaWMpIHRvIGZvcm1hdFxuICogYW55IHR5cGUgb2YgbnVtYmVyLCBpbmNsdWRpbmcgY3VycmVuY3kuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ2lucHV0W3NreUF1dG9udW1lcmljXScsXG4gIHByb3ZpZGVyczogW1NLWV9BVVRPTlVNRVJJQ19WQUxVRV9BQ0NFU1NPUiwgU0tZX0FVVE9OVU1FUklDX1ZBTElEQVRPUl0sXG59KVxuZXhwb3J0IGNsYXNzIFNreUF1dG9udW1lcmljRGlyZWN0aXZlXG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0b3JcbntcbiAgLyoqXG4gICAqIEFzc2lnbnMgdGhlIG5hbWUgb2YgYSBwcm9wZXJ0eSBmcm9tIGBTa3lBdXRvbnVtZXJpY09wdGlvbnNQcm92aWRlcmAuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNreUF1dG9udW1lcmljKHZhbHVlOiBTa3lBdXRvbnVtZXJpY09wdGlvbnMgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNhdXRvbnVtZXJpY09wdGlvbnMgPSB0aGlzLiNtZXJnZU9wdGlvbnModmFsdWUpO1xuICAgIHRoaXMuI3VwZGF0ZUF1dG9udW1lcmljSW5zdGFuY2UoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBza3lBdXRvbnVtZXJpY0Zvcm1DaGFuZ2VzVW5mb3JtYXR0ZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQgPSBmYWxzZTtcblxuICAjYXV0b251bWVyaWNJbnN0YW5jZTogQXV0b051bWVyaWM7XG4gICNhdXRvbnVtZXJpY09wdGlvbnM6IFNreUF1dG9udW1lcmljT3B0aW9ucyB8IHVuZGVmaW5lZDtcbiAgI2NvbnRyb2w6IEFic3RyYWN0Q29udHJvbCB8IHVuZGVmaW5lZDtcbiAgI2lzRmlyc3RDaGFuZ2UgPSB0cnVlO1xuICAjdmFsdWU6IG51bWJlciB8IHVuZGVmaW5lZDtcblxuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgI2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY7XG4gICNnbG9iYWxDb25maWc6IFNreUF1dG9udW1lcmljT3B0aW9uc1Byb3ZpZGVyO1xuICAjcmVuZGVyZXI6IFJlbmRlcmVyMjtcbiAgI2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIGdsb2JhbENvbmZpZzogU2t5QXV0b251bWVyaWNPcHRpb25zUHJvdmlkZXIsXG4gICAgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgdGhpcy4jZWxlbWVudFJlZiA9IGVsZW1lbnRSZWY7XG4gICAgdGhpcy4jZ2xvYmFsQ29uZmlnID0gZ2xvYmFsQ29uZmlnO1xuICAgIHRoaXMuI3JlbmRlcmVyID0gcmVuZGVyZXI7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IgPSBjaGFuZ2VEZXRlY3RvcjtcblxuICAgIHRoaXMuI2F1dG9udW1lcmljSW5zdGFuY2UgPSBuZXcgQXV0b051bWVyaWMoZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBFbnN1cmUgdGhhdCB3ZSBzZXQgdGhlIGdsb2JhbCBjb25maWcgZXZlbiBpZiBubyBsb2NhbCBjb25maWcgaGFzIGJlZW4gZ2l2ZW4uXG4gICAgaWYgKCF0aGlzLiNhdXRvbnVtZXJpY09wdGlvbnMpIHtcbiAgICAgIHRoaXMuI2F1dG9udW1lcmljT3B0aW9ucyA9IHRoaXMuI2dsb2JhbENvbmZpZy5nZXRDb25maWcoKTtcbiAgICB9XG4gICAgdGhpcy4jdXBkYXRlQXV0b251bWVyaWNJbnN0YW5jZSgpO1xuXG4gICAgZnJvbUV2ZW50KHRoaXMuI2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2lucHV0JylcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBjb25zdCBudW1lcmljVmFsdWU6IG51bWJlciB8IHVuZGVmaW5lZCA9IHRoaXMuI2dldE51bWVyaWNWYWx1ZSgpO1xuXG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmICh0aGlzLiN2YWx1ZSAhPT0gbnVtZXJpY1ZhbHVlKSB7XG4gICAgICAgICAgdGhpcy4jdmFsdWUgPSBudW1lcmljVmFsdWU7XG4gICAgICAgICAgdGhpcy4jb25DaGFuZ2UobnVtZXJpY1ZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmICh0aGlzLiNjb250cm9sICYmICF0aGlzLiNjb250cm9sLmRpcnR5KSB7XG4gICAgICAgICAgdGhpcy4jY29udHJvbC5tYXJrQXNEaXJ0eSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKipcbiAgICogSW1wbGVtZW50ZWQgYXMgcGFydCBvZiBDb250cm9sVmFsdWVBY2Nlc3Nvci5cbiAgICovXG4gIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy4jcmVuZGVyZXIuc2V0UHJvcGVydHkoXG4gICAgICB0aGlzLiNlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAnZGlzYWJsZWQnLFxuICAgICAgdmFsdWVcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IG51bWJlciB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIGlmICh0aGlzLiN2YWx1ZSAhPT0gdmFsdWUpIHtcbiAgICAgIHRoaXMuI3ZhbHVlID0gdmFsdWU7XG4gICAgICB0aGlzLiNvbkNoYW5nZSh2YWx1ZSk7XG5cbiAgICAgIC8vIE1hcmsgdGhlIGNvbnRyb2wgYXMgXCJwcmlzdGluZVwiIGlmIGl0IGlzIGluaXRpYWxpemVkIHdpdGggYSB2YWx1ZS5cbiAgICAgIGlmICh0aGlzLiNpc0ZpcnN0Q2hhbmdlICYmIHRoaXMuI2NvbnRyb2wgJiYgdGhpcy4jdmFsdWUgIT09IG51bGwpIHtcbiAgICAgICAgdGhpcy4jaXNGaXJzdENoYW5nZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLiNjb250cm9sLm1hcmtBc1ByaXN0aW5lKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICAgIGlmICh0aGlzLnNreUF1dG9udW1lcmljRm9ybUNoYW5nZXNVbmZvcm1hdHRlZCkge1xuICAgICAgICB0aGlzLiNhdXRvbnVtZXJpY0luc3RhbmNlLnNldFVuZm9ybWF0dGVkKHZhbHVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuI2F1dG9udW1lcmljSW5zdGFuY2Uuc2V0KHZhbHVlKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jYXV0b251bWVyaWNJbnN0YW5jZS5jbGVhcigpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgY29uc3Qgbm9FcnJvcnMgPSBudWxsO1xuXG4gICAgaWYgKCF0aGlzLiNjb250cm9sKSB7XG4gICAgICB0aGlzLiNjb250cm9sID0gY29udHJvbDtcbiAgICB9XG5cbiAgICBpZiAoY29udHJvbC52YWx1ZSA9PT0gbnVsbCB8fCBjb250cm9sLnZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBub0Vycm9ycztcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGNvbnRyb2wudmFsdWUgIT09ICdudW1iZXInKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBub3RUeXBlT2ZOdW1iZXI6IHsgdmFsdWU6IGNvbnRyb2wudmFsdWUgfSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIG5vRXJyb3JzO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogbnVtYmVyIHwgdW5kZWZpbmVkKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy4jb25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMuI29uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignYmx1cicpXG4gIHB1YmxpYyBvbkJsdXIoKTogdm9pZCB7XG4gICAgdGhpcy4jb25Ub3VjaGVkKCk7XG4gIH1cblxuICAjZ2V0TnVtZXJpY1ZhbHVlKCk6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgaW5wdXRWYWx1ZSA9IHRoaXMuI2dldElucHV0VmFsdWUoKTtcbiAgICBjb25zdCBudW1lcmljVmFsdWUgPSB0aGlzLiNhdXRvbnVtZXJpY0luc3RhbmNlLmdldE51bWJlcigpO1xuICAgIHJldHVybiBpbnB1dFZhbHVlICYmXG4gICAgICAhdGhpcy4jaXNJbnB1dFZhbHVlVGhlQ3VycmVuY3lTeW1ib2woaW5wdXRWYWx1ZSkgJiZcbiAgICAgIHR5cGVvZiBudW1lcmljVmFsdWUgPT09ICdudW1iZXInXG4gICAgICA/IG51bWVyaWNWYWx1ZVxuICAgICAgOiB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICogRHVlIHRvIEF1dG9OdW1lcmljJ3MgaG92ZXIgbG9naWMgLSB3aGVuIEF1dG9OdW1lcmljIGhhcyBhIGN1cnJlbmN5IHN5bWJvbCwgdGhlIHZhbHVlXG4gICAqIHRoYXQgd2UgZ2V0IGJhY2sgb24gZW1wdHkgZmllbGRzIHdpbGwgYmUgdGhlIGN1cnJlbmN5IHN5bWJvbC5cbiAgICogVGhlIGZvbGxvd2luZyBsb2dpYyBlbnN1cmVzIHRoYXQgd2UgZG9uJ3QgYWNjaWRlbnRhbGx5IHNldFxuICAgKiBhIGZvcm0gdmFsdWUgd2hlbiB0aGUgb25seSBpbnB1dCB3YXMgdGhlIHByb2dyYW1tYXRpY2FsbHktYWRkZWQgY3VycmVuY3kgc3ltYm9sLlxuICAgKi9cbiAgI2lzSW5wdXRWYWx1ZVRoZUN1cnJlbmN5U3ltYm9sKGlucHV0VmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgY29uc3QgY3VycmVuY3lTeW1ib2wgPSAoXG4gICAgICAodGhpcy4jYXV0b251bWVyaWNPcHRpb25zIGFzIEF1dG9OdW1lcmljLk9wdGlvbnMpPy5jdXJyZW5jeVN5bWJvbCA/PyAnJ1xuICAgICkudHJpbSgpO1xuICAgIHJldHVybiAhIWN1cnJlbmN5U3ltYm9sICYmIGlucHV0VmFsdWUgPT09IGN1cnJlbmN5U3ltYm9sO1xuICB9XG5cbiAgI2dldElucHV0VmFsdWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy4jZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlO1xuICB9XG5cbiAgI3VwZGF0ZUF1dG9udW1lcmljSW5zdGFuY2UoKTogdm9pZCB7XG4gICAgdGhpcy4jYXV0b251bWVyaWNJbnN0YW5jZS51cGRhdGUoXG4gICAgICB0aGlzLiNhdXRvbnVtZXJpY09wdGlvbnMgYXMgQXV0b051bWVyaWMuT3B0aW9uc1xuICAgICk7XG4gIH1cblxuICAjbWVyZ2VPcHRpb25zKFxuICAgIHZhbHVlOiBTa3lBdXRvbnVtZXJpY09wdGlvbnMgfCB1bmRlZmluZWRcbiAgKTogU2t5QXV0b251bWVyaWNPcHRpb25zIHtcbiAgICBjb25zdCBnbG9iYWxPcHRpb25zOiBTa3lBdXRvbnVtZXJpY09wdGlvbnMgPSB0aGlzLiNnbG9iYWxDb25maWcuZ2V0Q29uZmlnKCk7XG5cbiAgICBsZXQgbmV3T3B0aW9uczogU2t5QXV0b251bWVyaWNPcHRpb25zIHwgdW5kZWZpbmVkO1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25zdCBwcmVkZWZpbmVkT3B0aW9ucyA9IEF1dG9OdW1lcmljLmdldFByZWRlZmluZWRPcHRpb25zKCk7XG4gICAgICBuZXdPcHRpb25zID0gcHJlZGVmaW5lZE9wdGlvbnNbXG4gICAgICAgIHZhbHVlIGFzIGtleW9mIEF1dG9OdW1lcmljLk9wdGlvbnNcbiAgICAgIF0gYXMgQXV0b051bWVyaWMuT3B0aW9ucztcbiAgICB9IGVsc2Uge1xuICAgICAgbmV3T3B0aW9ucyA9IHZhbHVlO1xuICAgIH1cblxuICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBnbG9iYWxPcHRpb25zLCBuZXdPcHRpb25zKTtcbiAgfVxuXG4gIC8vIGlzdGFuYnVsIGlnbm9yZSBuZXh0XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb24gLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgI29uQ2hhbmdlID0gKF86IG51bWJlciB8IHVuZGVmaW5lZCkgPT4ge307XG4gIC8vIGlzdGFuYnVsIGlnbm9yZSBuZXh0XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgI29uVG91Y2hlZCA9ICgpID0+IHt9O1xufVxuIl19
@@ -4,11 +4,11 @@ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
4
  import { SkyAutonumericDirective } from './autonumeric.directive';
5
5
  import * as i0 from "@angular/core";
6
6
  export class SkyAutonumericModule {
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyAutonumericModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: SkyAutonumericModule, declarations: [SkyAutonumericDirective], imports: [CommonModule, FormsModule, ReactiveFormsModule], exports: [SkyAutonumericDirective] }); }
9
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyAutonumericModule, imports: [CommonModule, FormsModule, ReactiveFormsModule] }); }
7
10
  }
8
- SkyAutonumericModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAutonumericModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- SkyAutonumericModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: SkyAutonumericModule, declarations: [SkyAutonumericDirective], imports: [CommonModule, FormsModule, ReactiveFormsModule], exports: [SkyAutonumericDirective] });
10
- SkyAutonumericModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAutonumericModule, imports: [CommonModule, FormsModule, ReactiveFormsModule] });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAutonumericModule, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyAutonumericModule, decorators: [{
12
12
  type: NgModule,
13
13
  args: [{
14
14
  declarations: [SkyAutonumericDirective],
@@ -16,4 +16,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
16
16
  exports: [SkyAutonumericDirective],
17
17
  }]
18
18
  }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b251bWVyaWMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2F1dG9udW1lcmljL3NyYy9saWIvbW9kdWxlcy9hdXRvbnVtZXJpYy9hdXRvbnVtZXJpYy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQU9sRSxNQUFNLE9BQU8sb0JBQW9COztpSEFBcEIsb0JBQW9CO2tIQUFwQixvQkFBb0IsaUJBSmhCLHVCQUF1QixhQUM1QixZQUFZLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixhQUM5Qyx1QkFBdUI7a0hBRXRCLG9CQUFvQixZQUhyQixZQUFZLEVBQUUsV0FBVyxFQUFFLG1CQUFtQjsyRkFHN0Msb0JBQW9CO2tCQUxoQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLHVCQUF1QixDQUFDO29CQUN2QyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixDQUFDO29CQUN6RCxPQUFPLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztpQkFDbkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBTa3lBdXRvbnVtZXJpY0RpcmVjdGl2ZSB9IGZyb20gJy4vYXV0b251bWVyaWMuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbU2t5QXV0b251bWVyaWNEaXJlY3RpdmVdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZV0sXG4gIGV4cG9ydHM6IFtTa3lBdXRvbnVtZXJpY0RpcmVjdGl2ZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreUF1dG9udW1lcmljTW9kdWxlIHt9XG4iXX0=
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b251bWVyaWMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2F1dG9udW1lcmljL3NyYy9saWIvbW9kdWxlcy9hdXRvbnVtZXJpYy9hdXRvbnVtZXJpYy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQU9sRSxNQUFNLE9BQU8sb0JBQW9COzhHQUFwQixvQkFBb0I7K0dBQXBCLG9CQUFvQixpQkFKaEIsdUJBQXVCLGFBQzVCLFlBQVksRUFBRSxXQUFXLEVBQUUsbUJBQW1CLGFBQzlDLHVCQUF1QjsrR0FFdEIsb0JBQW9CLFlBSHJCLFlBQVksRUFBRSxXQUFXLEVBQUUsbUJBQW1COzsyRkFHN0Msb0JBQW9CO2tCQUxoQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLHVCQUF1QixDQUFDO29CQUN2QyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixDQUFDO29CQUN6RCxPQUFPLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztpQkFDbkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBTa3lBdXRvbnVtZXJpY0RpcmVjdGl2ZSB9IGZyb20gJy4vYXV0b251bWVyaWMuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbU2t5QXV0b251bWVyaWNEaXJlY3RpdmVdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZV0sXG4gIGV4cG9ydHM6IFtTa3lBdXRvbnVtZXJpY0RpcmVjdGl2ZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreUF1dG9udW1lcmljTW9kdWxlIHt9XG4iXX0=