@skyux/autonumeric 12.42.0 → 12.44.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.
@@ -17,10 +17,10 @@ class SkyAutonumericOptionsProvider {
17
17
  getConfig() {
18
18
  return {};
19
19
  }
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SkyAutonumericOptionsProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
21
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SkyAutonumericOptionsProvider, providedIn: 'root' }); }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: SkyAutonumericOptionsProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
21
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: SkyAutonumericOptionsProvider, providedIn: 'root' }); }
22
22
  }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SkyAutonumericOptionsProvider, decorators: [{
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: SkyAutonumericOptionsProvider, decorators: [{
24
24
  type: Injectable,
25
25
  args: [{
26
26
  providedIn: 'root',
@@ -53,6 +53,7 @@ class SkyAutonumericDirective {
53
53
  #autonumericOptions;
54
54
  #control;
55
55
  #isFirstChange;
56
+ #isWritingValue;
56
57
  #value;
57
58
  #ngUnsubscribe;
58
59
  #elementRef;
@@ -65,6 +66,7 @@ class SkyAutonumericDirective {
65
66
  */
66
67
  this.skyAutonumericFormChangesUnformatted = false;
67
68
  this.#isFirstChange = true;
69
+ this.#isWritingValue = false;
68
70
  this.#ngUnsubscribe = new Subject();
69
71
  // istanbul ignore next
70
72
  // eslint-disable-next-line @typescript-eslint/no-empty-function , @typescript-eslint/no-unused-vars
@@ -87,18 +89,25 @@ class SkyAutonumericDirective {
87
89
  fromEvent(this.#elementRef.nativeElement, 'input')
88
90
  .pipe(takeUntil(this.#ngUnsubscribe))
89
91
  .subscribe(() => {
90
- const numericValue = this.#getNumericValue();
91
- /* istanbul ignore else */
92
- if (this.#value !== numericValue) {
93
- this.#value = numericValue;
94
- this.#onChange(numericValue);
95
- }
92
+ this.#handleValueChange();
96
93
  /* istanbul ignore else */
97
94
  if (this.#control && !this.#control.dirty) {
98
95
  this.#control.markAsDirty();
99
96
  }
100
97
  this.#changeDetector.markForCheck();
101
98
  });
99
+ // On Android browsers, the native `input` event fires before AutoNumeric's
100
+ // `autoNumeric:rawValueModified` event (on other browsers, the order is reversed).
101
+ // To support Android without breaking existing behavior, we listen to both events.
102
+ // See: https://github.com/autoNumeric/autoNumeric/issues/781
103
+ fromEvent(this.#elementRef.nativeElement, 'autoNumeric:rawValueModified')
104
+ .pipe(takeUntil(this.#ngUnsubscribe))
105
+ .subscribe(() => {
106
+ // Prevent processing during programmatic changes via writeValue().
107
+ if (!this.#isWritingValue) {
108
+ this.#handleValueChange();
109
+ }
110
+ });
102
111
  }
103
112
  ngOnDestroy() {
104
113
  this.#autonumericInstance.remove();
@@ -112,6 +121,7 @@ class SkyAutonumericDirective {
112
121
  this.#renderer.setProperty(this.#elementRef.nativeElement, 'disabled', value);
113
122
  }
114
123
  writeValue(value) {
124
+ this.#isWritingValue = true;
115
125
  if (this.#value !== value) {
116
126
  this.#value = value;
117
127
  this.#onChange(value);
@@ -132,6 +142,7 @@ class SkyAutonumericDirective {
132
142
  else {
133
143
  this.#autonumericInstance.clear();
134
144
  }
145
+ this.#isWritingValue = false;
135
146
  }
136
147
  validate(control) {
137
148
  const noErrors = null;
@@ -157,6 +168,13 @@ class SkyAutonumericDirective {
157
168
  onBlur() {
158
169
  this.#onTouched();
159
170
  }
171
+ #handleValueChange() {
172
+ const numericValue = this.#getNumericValue();
173
+ if (this.#value !== numericValue) {
174
+ this.#value = numericValue;
175
+ this.#onChange(numericValue);
176
+ }
177
+ }
160
178
  #getNumericValue() {
161
179
  const inputValue = this.#getInputValue();
162
180
  const numericValue = this.#autonumericInstance.getNumber();
@@ -201,10 +219,10 @@ class SkyAutonumericDirective {
201
219
  // istanbul ignore next
202
220
  // eslint-disable-next-line @typescript-eslint/no-empty-function
203
221
  #onTouched;
204
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SkyAutonumericDirective, deps: [{ token: i0.ElementRef }, { token: SkyAutonumericOptionsProvider }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
205
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.14", type: SkyAutonumericDirective, isStandalone: false, selector: "input[skyAutonumeric]", inputs: { skyAutonumeric: "skyAutonumeric", skyAutonumericFormChangesUnformatted: "skyAutonumericFormChangesUnformatted" }, host: { listeners: { "blur": "onBlur()" } }, providers: [SKY_AUTONUMERIC_VALUE_ACCESSOR, SKY_AUTONUMERIC_VALIDATOR], ngImport: i0 }); }
222
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: SkyAutonumericDirective, deps: [{ token: i0.ElementRef }, { token: SkyAutonumericOptionsProvider }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
223
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.17", type: SkyAutonumericDirective, isStandalone: false, selector: "input[skyAutonumeric]", inputs: { skyAutonumeric: "skyAutonumeric", skyAutonumericFormChangesUnformatted: "skyAutonumericFormChangesUnformatted" }, host: { listeners: { "blur": "onBlur()" } }, providers: [SKY_AUTONUMERIC_VALUE_ACCESSOR, SKY_AUTONUMERIC_VALIDATOR], ngImport: i0 }); }
206
224
  }
207
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SkyAutonumericDirective, decorators: [{
225
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: SkyAutonumericDirective, decorators: [{
208
226
  type: Directive,
209
227
  args: [{
210
228
  selector: 'input[skyAutonumeric]',
@@ -221,11 +239,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
221
239
  }] } });
222
240
 
223
241
  class SkyAutonumericModule {
224
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SkyAutonumericModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
225
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: SkyAutonumericModule, declarations: [SkyAutonumericDirective], imports: [FormsModule, ReactiveFormsModule], exports: [SkyAutonumericDirective] }); }
226
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SkyAutonumericModule, imports: [FormsModule, ReactiveFormsModule] }); }
242
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: SkyAutonumericModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
243
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.17", ngImport: i0, type: SkyAutonumericModule, declarations: [SkyAutonumericDirective], imports: [FormsModule, ReactiveFormsModule], exports: [SkyAutonumericDirective] }); }
244
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: SkyAutonumericModule, imports: [FormsModule, ReactiveFormsModule] }); }
227
245
  }
228
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SkyAutonumericModule, decorators: [{
246
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: SkyAutonumericModule, decorators: [{
229
247
  type: NgModule,
230
248
  args: [{
231
249
  declarations: [SkyAutonumericDirective],
@@ -1 +1 @@
1
- {"version":3,"file":"skyux-autonumeric.mjs","sources":["../../../../../libs/components/autonumeric/src/lib/modules/autonumeric/autonumeric-options-provider.ts","../../../../../libs/components/autonumeric/src/lib/modules/autonumeric/autonumeric.directive.ts","../../../../../libs/components/autonumeric/src/lib/modules/autonumeric/autonumeric.module.ts","../../../../../libs/components/autonumeric/src/skyux-autonumeric.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\nimport { SkyAutonumericOptions } from './autonumeric-options';\n\n/**\n * Provides options to the underlying [AutoNumeric library](https://github.com/autoNumeric/autoNumeric).\n * This can set global options on multiple input fields.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class SkyAutonumericOptionsProvider {\n /**\n * The value for a settings object to pass to the AutoNumeric library.\n * This overrides any default options specified by the `skyAutonumeric` attribute.\n */\n public getConfig(): SkyAutonumericOptions {\n return {};\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n Renderer2,\n forwardRef,\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\n\nimport AutoNumeric from 'autonumeric';\nimport { Subject, fromEvent } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkyAutonumericOptions } from './autonumeric-options';\nimport { SkyAutonumericOptionsProvider } from './autonumeric-options-provider';\n\nconst SKY_AUTONUMERIC_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SkyAutonumericDirective),\n multi: true,\n};\n\nconst SKY_AUTONUMERIC_VALIDATOR = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SkyAutonumericDirective),\n multi: true,\n};\n\n/**\n * Wraps the [autoNumeric utility](https://github.com/autoNumeric/autoNumeric) to format\n * any type of number, including currency.\n */\n@Directive({\n selector: 'input[skyAutonumeric]',\n providers: [SKY_AUTONUMERIC_VALUE_ACCESSOR, SKY_AUTONUMERIC_VALIDATOR],\n standalone: false,\n})\nexport class SkyAutonumericDirective\n implements OnInit, OnDestroy, ControlValueAccessor, Validator\n{\n /**\n * Assigns the name of a property from `SkyAutonumericOptionsProvider`.\n */\n @Input()\n public set skyAutonumeric(value: SkyAutonumericOptions | undefined) {\n this.#autonumericOptions = this.#mergeOptions(value);\n this.#updateAutonumericInstance();\n }\n\n /**\n * @internal\n */\n @Input()\n public skyAutonumericFormChangesUnformatted: boolean | undefined = false;\n\n #autonumericInstance: AutoNumeric;\n #autonumericOptions: SkyAutonumericOptions | undefined;\n #control: AbstractControl | undefined;\n #isFirstChange = true;\n #value: number | undefined;\n\n #ngUnsubscribe = new Subject<void>();\n\n #elementRef: ElementRef;\n #globalConfig: SkyAutonumericOptionsProvider;\n #renderer: Renderer2;\n #changeDetector: ChangeDetectorRef;\n\n constructor(\n elementRef: ElementRef,\n globalConfig: SkyAutonumericOptionsProvider,\n renderer: Renderer2,\n changeDetector: ChangeDetectorRef,\n ) {\n this.#elementRef = elementRef;\n this.#globalConfig = globalConfig;\n this.#renderer = renderer;\n this.#changeDetector = changeDetector;\n\n this.#autonumericInstance = new AutoNumeric(elementRef.nativeElement);\n }\n\n public ngOnInit(): void {\n // Ensure that we set the global config even if no local config has been given.\n if (!this.#autonumericOptions) {\n this.#autonumericOptions = this.#globalConfig.getConfig();\n }\n this.#updateAutonumericInstance();\n\n fromEvent(this.#elementRef.nativeElement, 'input')\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe(() => {\n const numericValue: number | undefined = this.#getNumericValue();\n\n /* istanbul ignore else */\n if (this.#value !== numericValue) {\n this.#value = numericValue;\n this.#onChange(numericValue);\n }\n\n /* istanbul ignore else */\n if (this.#control && !this.#control.dirty) {\n this.#control.markAsDirty();\n }\n\n this.#changeDetector.markForCheck();\n });\n }\n\n public ngOnDestroy(): void {\n this.#autonumericInstance.remove();\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n\n /**\n * Implemented as part of ControlValueAccessor.\n */\n public setDisabledState(value: boolean): void {\n this.#renderer.setProperty(\n this.#elementRef.nativeElement,\n 'disabled',\n value,\n );\n }\n\n public writeValue(value: number | undefined): void {\n if (this.#value !== value) {\n this.#value = value;\n this.#onChange(value);\n\n // Mark the control as \"pristine\" if it is initialized with a value.\n if (this.#isFirstChange && this.#control && this.#value !== null) {\n this.#isFirstChange = false;\n this.#control.markAsPristine();\n }\n }\n\n if (typeof value === 'number') {\n if (this.skyAutonumericFormChangesUnformatted) {\n this.#autonumericInstance.setUnformatted(value.toString());\n } else {\n this.#autonumericInstance.set(value.toString());\n }\n } else {\n this.#autonumericInstance.clear();\n }\n }\n\n public validate(control: AbstractControl): ValidationErrors | null {\n const noErrors = null;\n\n if (!this.#control) {\n this.#control = control;\n }\n\n if (control.value === null || control.value === undefined) {\n return noErrors;\n }\n\n if (typeof control.value !== 'number') {\n return {\n notTypeOfNumber: { value: control.value },\n };\n }\n\n return noErrors;\n }\n\n public registerOnChange(fn: (value: number | undefined) => void): void {\n this.#onChange = fn;\n }\n\n public registerOnTouched(fn: () => void): void {\n this.#onTouched = fn;\n }\n\n @HostListener('blur')\n public onBlur(): void {\n this.#onTouched();\n }\n\n #getNumericValue(): number | undefined {\n const inputValue = this.#getInputValue();\n const numericValue = this.#autonumericInstance.getNumber();\n return inputValue &&\n !this.#isInputValueTheCurrencySymbol(inputValue) &&\n typeof numericValue === 'number'\n ? numericValue\n : undefined;\n }\n\n /**\n * Due to AutoNumeric's hover logic - when AutoNumeric has a currency symbol, the value\n * that we get back on empty fields will be the currency symbol.\n * The following logic ensures that we don't accidentally set\n * a form value when the only input was the programmatically-added currency symbol.\n */\n #isInputValueTheCurrencySymbol(inputValue: string): boolean {\n /* istanbul ignore next */\n const currencySymbol = (\n (this.#autonumericOptions as AutoNumeric.Options)?.currencySymbol ?? ''\n ).trim();\n return !!currencySymbol && inputValue === currencySymbol;\n }\n\n #getInputValue(): string {\n return this.#elementRef.nativeElement.value;\n }\n\n #updateAutonumericInstance(): void {\n this.#autonumericInstance.update(\n this.#autonumericOptions as AutoNumeric.Options,\n );\n }\n\n #mergeOptions(\n value: SkyAutonumericOptions | undefined,\n ): SkyAutonumericOptions {\n const globalOptions: SkyAutonumericOptions = this.#globalConfig.getConfig();\n\n let newOptions: SkyAutonumericOptions | undefined;\n if (typeof value === 'string') {\n const predefinedOptions = AutoNumeric.getPredefinedOptions();\n newOptions = predefinedOptions[\n value as keyof AutoNumeric.Options\n ] as AutoNumeric.Options;\n } else {\n newOptions = value;\n }\n\n return Object.assign({}, globalOptions, newOptions);\n }\n\n // istanbul ignore next\n // eslint-disable-next-line @typescript-eslint/no-empty-function , @typescript-eslint/no-unused-vars\n #onChange = (_: number | undefined): void => {};\n // istanbul ignore next\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n #onTouched = (): void => {};\n}\n","import { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { SkyAutonumericDirective } from './autonumeric.directive';\n\n@NgModule({\n declarations: [SkyAutonumericDirective],\n imports: [FormsModule, ReactiveFormsModule],\n exports: [SkyAutonumericDirective],\n})\nexport class SkyAutonumericModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.SkyAutonumericOptionsProvider"],"mappings":"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"}
1
+ {"version":3,"file":"skyux-autonumeric.mjs","sources":["../../../../../libs/components/autonumeric/src/lib/modules/autonumeric/autonumeric-options-provider.ts","../../../../../libs/components/autonumeric/src/lib/modules/autonumeric/autonumeric.directive.ts","../../../../../libs/components/autonumeric/src/lib/modules/autonumeric/autonumeric.module.ts","../../../../../libs/components/autonumeric/src/skyux-autonumeric.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\nimport { SkyAutonumericOptions } from './autonumeric-options';\n\n/**\n * Provides options to the underlying [AutoNumeric library](https://github.com/autoNumeric/autoNumeric).\n * This can set global options on multiple input fields.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class SkyAutonumericOptionsProvider {\n /**\n * The value for a settings object to pass to the AutoNumeric library.\n * This overrides any default options specified by the `skyAutonumeric` attribute.\n */\n public getConfig(): SkyAutonumericOptions {\n return {};\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n Renderer2,\n forwardRef,\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\n\nimport AutoNumeric from 'autonumeric';\nimport { Subject, fromEvent } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkyAutonumericOptions } from './autonumeric-options';\nimport { SkyAutonumericOptionsProvider } from './autonumeric-options-provider';\n\nconst SKY_AUTONUMERIC_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SkyAutonumericDirective),\n multi: true,\n};\n\nconst SKY_AUTONUMERIC_VALIDATOR = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SkyAutonumericDirective),\n multi: true,\n};\n\n/**\n * Wraps the [autoNumeric utility](https://github.com/autoNumeric/autoNumeric) to format\n * any type of number, including currency.\n */\n@Directive({\n selector: 'input[skyAutonumeric]',\n providers: [SKY_AUTONUMERIC_VALUE_ACCESSOR, SKY_AUTONUMERIC_VALIDATOR],\n standalone: false,\n})\nexport class SkyAutonumericDirective\n implements OnInit, OnDestroy, ControlValueAccessor, Validator\n{\n /**\n * Assigns the name of a property from `SkyAutonumericOptionsProvider`.\n */\n @Input()\n public set skyAutonumeric(value: SkyAutonumericOptions | undefined) {\n this.#autonumericOptions = this.#mergeOptions(value);\n this.#updateAutonumericInstance();\n }\n\n /**\n * @internal\n */\n @Input()\n public skyAutonumericFormChangesUnformatted: boolean | undefined = false;\n\n #autonumericInstance: AutoNumeric;\n #autonumericOptions: SkyAutonumericOptions | undefined;\n #control: AbstractControl | undefined;\n #isFirstChange = true;\n #isWritingValue = false;\n #value: number | undefined;\n\n #ngUnsubscribe = new Subject<void>();\n\n #elementRef: ElementRef;\n #globalConfig: SkyAutonumericOptionsProvider;\n #renderer: Renderer2;\n #changeDetector: ChangeDetectorRef;\n\n constructor(\n elementRef: ElementRef,\n globalConfig: SkyAutonumericOptionsProvider,\n renderer: Renderer2,\n changeDetector: ChangeDetectorRef,\n ) {\n this.#elementRef = elementRef;\n this.#globalConfig = globalConfig;\n this.#renderer = renderer;\n this.#changeDetector = changeDetector;\n\n this.#autonumericInstance = new AutoNumeric(elementRef.nativeElement);\n }\n\n public ngOnInit(): void {\n // Ensure that we set the global config even if no local config has been given.\n if (!this.#autonumericOptions) {\n this.#autonumericOptions = this.#globalConfig.getConfig();\n }\n this.#updateAutonumericInstance();\n\n fromEvent(this.#elementRef.nativeElement, 'input')\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe(() => {\n this.#handleValueChange();\n\n /* istanbul ignore else */\n if (this.#control && !this.#control.dirty) {\n this.#control.markAsDirty();\n }\n\n this.#changeDetector.markForCheck();\n });\n\n // On Android browsers, the native `input` event fires before AutoNumeric's\n // `autoNumeric:rawValueModified` event (on other browsers, the order is reversed).\n // To support Android without breaking existing behavior, we listen to both events.\n // See: https://github.com/autoNumeric/autoNumeric/issues/781\n fromEvent(this.#elementRef.nativeElement, 'autoNumeric:rawValueModified')\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe(() => {\n // Prevent processing during programmatic changes via writeValue().\n if (!this.#isWritingValue) {\n this.#handleValueChange();\n }\n });\n }\n\n public ngOnDestroy(): void {\n this.#autonumericInstance.remove();\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n\n /**\n * Implemented as part of ControlValueAccessor.\n */\n public setDisabledState(value: boolean): void {\n this.#renderer.setProperty(\n this.#elementRef.nativeElement,\n 'disabled',\n value,\n );\n }\n\n public writeValue(value: number | undefined): void {\n this.#isWritingValue = true;\n\n if (this.#value !== value) {\n this.#value = value;\n this.#onChange(value);\n\n // Mark the control as \"pristine\" if it is initialized with a value.\n if (this.#isFirstChange && this.#control && this.#value !== null) {\n this.#isFirstChange = false;\n this.#control.markAsPristine();\n }\n }\n\n if (typeof value === 'number') {\n if (this.skyAutonumericFormChangesUnformatted) {\n this.#autonumericInstance.setUnformatted(value.toString());\n } else {\n this.#autonumericInstance.set(value.toString());\n }\n } else {\n this.#autonumericInstance.clear();\n }\n\n this.#isWritingValue = false;\n }\n\n public validate(control: AbstractControl): ValidationErrors | null {\n const noErrors = null;\n\n if (!this.#control) {\n this.#control = control;\n }\n\n if (control.value === null || control.value === undefined) {\n return noErrors;\n }\n\n if (typeof control.value !== 'number') {\n return {\n notTypeOfNumber: { value: control.value },\n };\n }\n\n return noErrors;\n }\n\n public registerOnChange(fn: (value: number | undefined) => void): void {\n this.#onChange = fn;\n }\n\n public registerOnTouched(fn: () => void): void {\n this.#onTouched = fn;\n }\n\n @HostListener('blur')\n public onBlur(): void {\n this.#onTouched();\n }\n\n #handleValueChange(): void {\n const numericValue = this.#getNumericValue();\n\n if (this.#value !== numericValue) {\n this.#value = numericValue;\n this.#onChange(numericValue);\n }\n }\n\n #getNumericValue(): number | undefined {\n const inputValue = this.#getInputValue();\n const numericValue = this.#autonumericInstance.getNumber();\n return inputValue &&\n !this.#isInputValueTheCurrencySymbol(inputValue) &&\n typeof numericValue === 'number'\n ? numericValue\n : undefined;\n }\n\n /**\n * Due to AutoNumeric's hover logic - when AutoNumeric has a currency symbol, the value\n * that we get back on empty fields will be the currency symbol.\n * The following logic ensures that we don't accidentally set\n * a form value when the only input was the programmatically-added currency symbol.\n */\n #isInputValueTheCurrencySymbol(inputValue: string): boolean {\n /* istanbul ignore next */\n const currencySymbol = (\n (this.#autonumericOptions as AutoNumeric.Options)?.currencySymbol ?? ''\n ).trim();\n return !!currencySymbol && inputValue === currencySymbol;\n }\n\n #getInputValue(): string {\n return this.#elementRef.nativeElement.value;\n }\n\n #updateAutonumericInstance(): void {\n this.#autonumericInstance.update(\n this.#autonumericOptions as AutoNumeric.Options,\n );\n }\n\n #mergeOptions(\n value: SkyAutonumericOptions | undefined,\n ): SkyAutonumericOptions {\n const globalOptions: SkyAutonumericOptions = this.#globalConfig.getConfig();\n\n let newOptions: SkyAutonumericOptions | undefined;\n if (typeof value === 'string') {\n const predefinedOptions = AutoNumeric.getPredefinedOptions();\n newOptions = predefinedOptions[\n value as keyof AutoNumeric.Options\n ] as AutoNumeric.Options;\n } else {\n newOptions = value;\n }\n\n return Object.assign({}, globalOptions, newOptions);\n }\n\n // istanbul ignore next\n // eslint-disable-next-line @typescript-eslint/no-empty-function , @typescript-eslint/no-unused-vars\n #onChange = (_: number | undefined): void => {};\n // istanbul ignore next\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n #onTouched = (): void => {};\n}\n","import { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { SkyAutonumericDirective } from './autonumeric.directive';\n\n@NgModule({\n declarations: [SkyAutonumericDirective],\n imports: [FormsModule, ReactiveFormsModule],\n exports: [SkyAutonumericDirective],\n})\nexport class SkyAutonumericModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.SkyAutonumericOptionsProvider"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skyux/autonumeric",
3
- "version": "12.42.0",
3
+ "version": "12.44.0",
4
4
  "author": "Blackbaud, Inc.",
5
5
  "keywords": [
6
6
  "blackbaud",
@@ -16,9 +16,9 @@
16
16
  },
17
17
  "homepage": "https://github.com/blackbaud/skyux#readme",
18
18
  "peerDependencies": {
19
- "@angular/common": "^19.2.14",
20
- "@angular/core": "^19.2.14",
21
- "@angular/forms": "^19.2.14",
19
+ "@angular/common": "^19.2.17",
20
+ "@angular/core": "^19.2.17",
21
+ "@angular/forms": "^19.2.17",
22
22
  "autonumeric": "^4.10.5"
23
23
  },
24
24
  "dependencies": {