@skyux/autonumeric 8.6.0 → 9.0.0-alpha.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.
@@ -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})\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.#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);\n } else {\n this.#autonumericInstance.set(value);\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) => {};\n // istanbul ignore next\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n #onTouched = () => {};\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { SkyAutonumericDirective } from './autonumeric.directive';\n\n@NgModule({\n declarations: [SkyAutonumericDirective],\n imports: [CommonModule, 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":";;;;;;;;;AAIA;;;AAGG;MAIU,6BAA6B,CAAA;AACxC;;;AAGG;IACI,SAAS,GAAA;AACd,QAAA,OAAO,EAAE,CAAC;KACX;;0HAPU,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAA7B,6BAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,6BAA6B,cAF5B,MAAM,EAAA,CAAA,CAAA;2FAEP,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAHzC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;;ACiBD,MAAM,8BAA8B,GAAG;AACrC,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,uBAAuB,CAAC;AACtD,IAAA,KAAK,EAAE,IAAI;CACZ,CAAC;AAEF,MAAM,yBAAyB,GAAG;AAChC,IAAA,OAAO,EAAE,aAAa;AACtB,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,uBAAuB,CAAC;AACtD,IAAA,KAAK,EAAE,IAAI;CACZ,CAAC;AAEF;;;AAGG;MAKU,uBAAuB,CAAA;AAGlC;;AAEG;IACH,IACW,cAAc,CAAC,KAAwC,EAAA;QAChE,sBAAA,CAAA,IAAI,EAAuB,2CAAA,EAAA,sBAAA,CAAA,IAAI,EAAA,kCAAA,EAAA,GAAA,EAAA,qCAAA,CAAc,CAAlB,IAAA,CAAA,IAAI,EAAe,KAAK,CAAC,EAAA,GAAA,CAAA,CAAC;AACrD,QAAA,sBAAA,CAAA,IAAI,EAAA,kCAAA,EAAA,GAAA,EAAA,kDAAA,CAA2B,CAA/B,IAAA,CAAA,IAAI,CAA6B,CAAC;KACnC;AAqBD,IAAA,WAAA,CACE,UAAsB,EACtB,YAA2C,EAC3C,QAAmB,EACnB,cAAiC,EAAA;;AAvBnC;;AAEG;AAEI,QAAA,IAAoC,CAAA,oCAAA,GAAwB,KAAK,CAAC;QAEzE,4CAAkC,CAAA,GAAA,CAAA,IAAA,EAAA,KAAA,CAAA,CAAA,CAAA;QAClC,2CAAuD,CAAA,GAAA,CAAA,IAAA,EAAA,KAAA,CAAA,CAAA,CAAA;QACvD,gCAAsC,CAAA,GAAA,CAAA,IAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AACtC,QAAA,sCAAA,CAAA,GAAA,CAAA,IAAA,EAAiB,IAAI,CAAC,CAAA;QACtB,8BAA2B,CAAA,GAAA,CAAA,IAAA,EAAA,KAAA,CAAA,CAAA,CAAA;QAE3B,sCAAiB,CAAA,GAAA,CAAA,IAAA,EAAA,IAAI,OAAO,EAAQ,CAAC,CAAA;QAErC,mCAAwB,CAAA,GAAA,CAAA,IAAA,EAAA,KAAA,CAAA,CAAA,CAAA;QACxB,qCAA6C,CAAA,GAAA,CAAA,IAAA,EAAA,KAAA,CAAA,CAAA,CAAA;QAC7C,iCAAqB,CAAA,GAAA,CAAA,IAAA,EAAA,KAAA,CAAA,CAAA,CAAA;QACrB,uCAAmC,CAAA,GAAA,CAAA,IAAA,EAAA,KAAA,CAAA,CAAA,CAAA;;;AAyKnC,QAAA,iCAAA,CAAA,GAAA,CAAA,IAAA,EAAY,CAAC,CAAqB,KAAI,GAAG,CAAC,CAAA;;;QAG1C,kCAAA,CAAA,GAAA,CAAA,IAAA,EAAa,MAAK,GAAG,CAAC,CAAA;QApKpB,sBAAA,CAAA,IAAI,EAAA,mCAAA,EAAe,UAAU,EAAA,GAAA,CAAA,CAAC;QAC9B,sBAAA,CAAA,IAAI,EAAA,qCAAA,EAAiB,YAAY,EAAA,GAAA,CAAA,CAAC;QAClC,sBAAA,CAAA,IAAI,EAAA,iCAAA,EAAa,QAAQ,EAAA,GAAA,CAAA,CAAC;QAC1B,sBAAA,CAAA,IAAI,EAAA,uCAAA,EAAmB,cAAc,EAAA,GAAA,CAAA,CAAC;AAEtC,QAAA,sBAAA,CAAA,IAAI,EAAwB,4CAAA,EAAA,IAAI,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,EAAA,GAAA,CAAA,CAAC;KACvE;IAEM,QAAQ,GAAA;;QAEb,IAAI,CAAC,sBAAA,CAAA,IAAI,EAAA,2CAAA,EAAA,GAAA,CAAoB,EAAE;AAC7B,YAAA,sBAAA,CAAA,IAAI,+CAAuB,sBAAA,CAAA,IAAI,6CAAc,CAAC,SAAS,EAAE,EAAA,GAAA,CAAA,CAAC;AAC3D,SAAA;AACD,QAAA,sBAAA,CAAA,IAAI,EAAA,kCAAA,EAAA,GAAA,EAAA,kDAAA,CAA2B,CAA/B,IAAA,CAAA,IAAI,CAA6B,CAAC;AAElC,QAAA,SAAS,CAAC,uBAAA,IAAI,EAAA,mCAAA,EAAA,GAAA,CAAY,CAAC,aAAa,EAAE,OAAO,CAAC;AAC/C,aAAA,IAAI,CAAC,SAAS,CAAC,uBAAA,IAAI,EAAA,sCAAA,EAAA,GAAA,CAAe,CAAC,CAAC;aACpC,SAAS,CAAC,MAAK;AACd,YAAA,MAAM,YAAY,GAAuB,sBAAA,CAAA,IAAI,oFAAiB,CAArB,IAAA,CAAA,IAAI,CAAmB,CAAC;;YAGjE,IAAI,sBAAA,CAAA,IAAI,EAAO,8BAAA,EAAA,GAAA,CAAA,KAAK,YAAY,EAAE;gBAChC,sBAAA,CAAA,IAAI,EAAA,8BAAA,EAAU,YAAY,EAAA,GAAA,CAAA,CAAC;AAC3B,gBAAA,sBAAA,CAAA,IAAI,EAAU,iCAAA,EAAA,GAAA,CAAA,CAAA,IAAA,CAAd,IAAI,EAAW,YAAY,CAAC,CAAC;AAC9B,aAAA;;YAGD,IAAI,sBAAA,CAAA,IAAI,EAAA,gCAAA,EAAA,GAAA,CAAS,IAAI,CAAC,uBAAA,IAAI,EAAA,gCAAA,EAAA,GAAA,CAAS,CAAC,KAAK,EAAE;gBACzC,sBAAA,CAAA,IAAI,EAAA,gCAAA,EAAA,GAAA,CAAS,CAAC,WAAW,EAAE,CAAC;AAC7B,aAAA;YAED,sBAAA,CAAA,IAAI,EAAA,uCAAA,EAAA,GAAA,CAAgB,CAAC,YAAY,EAAE,CAAC;AACtC,SAAC,CAAC,CAAC;KACN;IAEM,WAAW,GAAA;QAChB,sBAAA,CAAA,IAAI,EAAA,sCAAA,EAAA,GAAA,CAAe,CAAC,IAAI,EAAE,CAAC;QAC3B,sBAAA,CAAA,IAAI,EAAA,sCAAA,EAAA,GAAA,CAAe,CAAC,QAAQ,EAAE,CAAC;KAChC;AAED;;AAEG;AACI,IAAA,gBAAgB,CAAC,KAAc,EAAA;QACpC,sBAAA,CAAA,IAAI,EAAA,iCAAA,EAAA,GAAA,CAAU,CAAC,WAAW,CACxB,sBAAA,CAAA,IAAI,EAAY,mCAAA,EAAA,GAAA,CAAA,CAAC,aAAa,EAC9B,UAAU,EACV,KAAK,CACN,CAAC;KACH;AAEM,IAAA,UAAU,CAAC,KAAyB,EAAA;QACzC,IAAI,sBAAA,CAAA,IAAI,EAAO,8BAAA,EAAA,GAAA,CAAA,KAAK,KAAK,EAAE;YACzB,sBAAA,CAAA,IAAI,EAAA,8BAAA,EAAU,KAAK,EAAA,GAAA,CAAA,CAAC;AACpB,YAAA,sBAAA,CAAA,IAAI,EAAU,iCAAA,EAAA,GAAA,CAAA,CAAA,IAAA,CAAd,IAAI,EAAW,KAAK,CAAC,CAAC;;AAGtB,YAAA,IAAI,sBAAA,CAAA,IAAI,EAAe,sCAAA,EAAA,GAAA,CAAA,IAAI,sBAAA,CAAA,IAAI,EAAS,gCAAA,EAAA,GAAA,CAAA,IAAI,sBAAA,CAAA,IAAI,EAAO,8BAAA,EAAA,GAAA,CAAA,KAAK,IAAI,EAAE;gBAChE,sBAAA,CAAA,IAAI,EAAA,sCAAA,EAAkB,KAAK,EAAA,GAAA,CAAA,CAAC;gBAC5B,sBAAA,CAAA,IAAI,EAAA,gCAAA,EAAA,GAAA,CAAS,CAAC,cAAc,EAAE,CAAC;AAChC,aAAA;AACF,SAAA;AAED,QAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,IAAI,IAAI,CAAC,oCAAoC,EAAE;AAC7C,gBAAA,sBAAA,CAAA,IAAI,EAAqB,4CAAA,EAAA,GAAA,CAAA,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AACjD,aAAA;AAAM,iBAAA;AACL,gBAAA,sBAAA,CAAA,IAAI,EAAqB,4CAAA,EAAA,GAAA,CAAA,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACtC,aAAA;AACF,SAAA;AAAM,aAAA;YACL,sBAAA,CAAA,IAAI,EAAA,4CAAA,EAAA,GAAA,CAAqB,CAAC,KAAK,EAAE,CAAC;AACnC,SAAA;KACF;AAEM,IAAA,QAAQ,CAAC,OAAwB,EAAA;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC;QAEtB,IAAI,CAAC,sBAAA,CAAA,IAAI,EAAA,gCAAA,EAAA,GAAA,CAAS,EAAE;YAClB,sBAAA,CAAA,IAAI,EAAA,gCAAA,EAAY,OAAO,EAAA,GAAA,CAAA,CAAC;AACzB,SAAA;QAED,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE;AACzD,YAAA,OAAO,QAAQ,CAAC;AACjB,SAAA;AAED,QAAA,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE;YACrC,OAAO;AACL,gBAAA,eAAe,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE;aAC1C,CAAC;AACH,SAAA;AAED,QAAA,OAAO,QAAQ,CAAC;KACjB;AAEM,IAAA,gBAAgB,CAAC,EAAuC,EAAA;QAC7D,sBAAA,CAAA,IAAI,EAAA,iCAAA,EAAa,EAAE,EAAA,GAAA,CAAA,CAAC;KACrB;AAEM,IAAA,iBAAiB,CAAC,EAAc,EAAA;QACrC,sBAAA,CAAA,IAAI,EAAA,kCAAA,EAAc,EAAE,EAAA,GAAA,CAAA,CAAC;KACtB;IAGM,MAAM,GAAA;AACX,QAAA,sBAAA,CAAA,IAAI,EAAA,kCAAA,EAAA,GAAA,CAAW,CAAf,IAAA,CAAA,IAAI,CAAa,CAAC;KACnB;;;AAGC,IAAA,MAAM,UAAU,GAAG,sBAAA,CAAA,IAAI,kFAAe,CAAnB,IAAA,CAAA,IAAI,CAAiB,CAAC;AACzC,IAAA,MAAM,YAAY,GAAG,sBAAA,CAAA,IAAI,oDAAqB,CAAC,SAAS,EAAE,CAAC;AAC3D,IAAA,OAAO,UAAU;AACf,QAAA,CAAC,uBAAA,IAAI,EAAA,kCAAA,EAAA,GAAA,EAAA,sDAAA,CAA+B,MAAnC,IAAI,EAAgC,UAAU,CAAC;QAChD,OAAO,YAAY,KAAK,QAAQ;AAChC,UAAE,YAAY;UACZ,SAAS,CAAC;AAChB,CAAC,2HAQ8B,UAAkB,EAAA;;;IAE/C,MAAM,cAAc,GAAG,CACpB,CAAA,EAAA,GAAA,MAAA,sBAAA,CAAA,IAAI,EAA4C,2CAAA,EAAA,GAAA,CAAA,0CAAE,cAAc,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,EACvE,IAAI,EAAE,CAAC;AACT,IAAA,OAAO,CAAC,CAAC,cAAc,IAAI,UAAU,KAAK,cAAc,CAAC;AAC3D,CAAC,EAAA,sCAAA,GAAA,SAAA,sCAAA,GAAA;AAGC,IAAA,OAAO,uBAAA,IAAI,EAAA,mCAAA,EAAA,GAAA,CAAY,CAAC,aAAa,CAAC,KAAK,CAAC;AAC9C,CAAC,EAAA,kDAAA,GAAA,SAAA,kDAAA,GAAA;AAGC,IAAA,sBAAA,CAAA,IAAI,oDAAqB,CAAC,MAAM,CAC9B,sBAAA,CAAA,IAAI,EAA2C,2CAAA,EAAA,GAAA,CAAA,CAChD,CAAC;AACJ,CAAC,yFAGC,KAAwC,EAAA;AAExC,IAAA,MAAM,aAAa,GAA0B,sBAAA,CAAA,IAAI,6CAAc,CAAC,SAAS,EAAE,CAAC;AAE5E,IAAA,IAAI,UAA6C,CAAC;AAClD,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,MAAM,iBAAiB,GAAG,WAAW,CAAC,oBAAoB,EAAE,CAAC;AAC7D,QAAA,UAAU,GAAG,iBAAiB,CAC5B,KAAkC,CACZ,CAAC;AAC1B,KAAA;AAAM,SAAA;QACL,UAAU,GAAG,KAAK,CAAC;AACpB,KAAA;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;AACtD,CAAC,CAAA;oHAlMU,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,6BAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,EAFvB,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,oCAAA,EAAA,sCAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,MAAA,EAAA,UAAA,EAAA,EAAA,EAAA,SAAA,EAAA,CAAC,8BAA8B,EAAE,yBAAyB,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAE3D,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAJnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,SAAS,EAAE,CAAC,8BAA8B,EAAE,yBAAyB,CAAC;iBACvE,CAAA;kMAQY,cAAc,EAAA,CAAA;sBADxB,KAAK;gBAUC,oCAAoC,EAAA,CAAA;sBAD1C,KAAK;gBA6HC,MAAM,EAAA,CAAA;sBADZ,YAAY;uBAAC,MAAM,CAAA;;;MC/KT,oBAAoB,CAAA;;iHAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;kHAApB,oBAAoB,EAAA,YAAA,EAAA,CAJhB,uBAAuB,CAC5B,EAAA,OAAA,EAAA,CAAA,YAAY,EAAE,WAAW,EAAE,mBAAmB,CAAA,EAAA,OAAA,EAAA,CAC9C,uBAAuB,CAAA,EAAA,CAAA,CAAA;AAEtB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,EAHrB,OAAA,EAAA,CAAA,YAAY,EAAE,WAAW,EAAE,mBAAmB,CAAA,EAAA,CAAA,CAAA;2FAG7C,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,uBAAuB,CAAC;AACvC,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,mBAAmB,CAAC;oBACzD,OAAO,EAAE,CAAC,uBAAuB,CAAC;iBACnC,CAAA;;;ACVD;;AAEG;;;;"}
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})\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.#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);\n } else {\n this.#autonumericInstance.set(value);\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) => {};\n // istanbul ignore next\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n #onTouched = () => {};\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { SkyAutonumericDirective } from './autonumeric.directive';\n\n@NgModule({\n declarations: [SkyAutonumericDirective],\n imports: [CommonModule, 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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"}
@@ -30,5 +30,5 @@ export declare class SkyAutonumericDirective implements OnInit, OnDestroy, Contr
30
30
  registerOnTouched(fn: () => void): void;
31
31
  onBlur(): void;
32
32
  static ɵfac: i0.ɵɵFactoryDeclaration<SkyAutonumericDirective, never>;
33
- static ɵdir: i0.ɵɵDirectiveDeclaration<SkyAutonumericDirective, "input[skyAutonumeric]", never, { "skyAutonumeric": "skyAutonumeric"; "skyAutonumericFormChangesUnformatted": "skyAutonumericFormChangesUnformatted"; }, {}, never, never, false, never>;
33
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SkyAutonumericDirective, "input[skyAutonumeric]", never, { "skyAutonumeric": { "alias": "skyAutonumeric"; "required": false; }; "skyAutonumericFormChangesUnformatted": { "alias": "skyAutonumericFormChangesUnformatted"; "required": false; }; }, {}, never, never, false, never>;
34
34
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skyux/autonumeric",
3
- "version": "8.6.0",
3
+ "version": "9.0.0-alpha.0",
4
4
  "author": "Blackbaud, Inc.",
5
5
  "keywords": [
6
6
  "blackbaud",
@@ -21,30 +21,24 @@
21
21
  },
22
22
  ".": {
23
23
  "types": "./index.d.ts",
24
- "esm2020": "./esm2020/skyux-autonumeric.mjs",
25
- "es2020": "./fesm2020/skyux-autonumeric.mjs",
26
- "es2015": "./fesm2015/skyux-autonumeric.mjs",
27
- "node": "./fesm2015/skyux-autonumeric.mjs",
28
- "default": "./fesm2020/skyux-autonumeric.mjs"
24
+ "esm2022": "./esm2022/skyux-autonumeric.mjs",
25
+ "esm": "./esm2022/skyux-autonumeric.mjs",
26
+ "default": "./fesm2022/skyux-autonumeric.mjs"
29
27
  },
30
28
  "./documentation.json": {
31
29
  "default": "./documentation.json"
32
30
  }
33
31
  },
34
32
  "peerDependencies": {
35
- "@angular/common": "^15.2.9",
36
- "@angular/core": "^15.2.9",
37
- "@angular/forms": "^15.2.9",
33
+ "@angular/common": "^16.1.7",
34
+ "@angular/core": "^16.1.7",
35
+ "@angular/forms": "^16.1.7",
38
36
  "autonumeric": "^4.8.1"
39
37
  },
40
38
  "dependencies": {
41
39
  "tslib": "^2.5.0"
42
40
  },
43
- "module": "fesm2015/skyux-autonumeric.mjs",
44
- "es2020": "fesm2020/skyux-autonumeric.mjs",
45
- "esm2020": "esm2020/skyux-autonumeric.mjs",
46
- "fesm2020": "fesm2020/skyux-autonumeric.mjs",
47
- "fesm2015": "fesm2015/skyux-autonumeric.mjs",
41
+ "module": "fesm2022/skyux-autonumeric.mjs",
48
42
  "typings": "index.d.ts",
49
43
  "sideEffects": false
50
44
  }
@@ -1,183 +0,0 @@
1
- var _SkyAutonumericDirective_instances, _SkyAutonumericDirective_autonumericInstance, _SkyAutonumericDirective_autonumericOptions, _SkyAutonumericDirective_control, _SkyAutonumericDirective_isFirstChange, _SkyAutonumericDirective_value, _SkyAutonumericDirective_ngUnsubscribe, _SkyAutonumericDirective_elementRef, _SkyAutonumericDirective_globalConfig, _SkyAutonumericDirective_renderer, _SkyAutonumericDirective_changeDetector, _SkyAutonumericDirective_getNumericValue, _SkyAutonumericDirective_isInputValueTheCurrencySymbol, _SkyAutonumericDirective_getInputValue, _SkyAutonumericDirective_updateAutonumericInstance, _SkyAutonumericDirective_mergeOptions, _SkyAutonumericDirective_onChange, _SkyAutonumericDirective_onTouched;
2
- import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
- import { Directive, HostListener, Input, forwardRef, } from '@angular/core';
4
- import { NG_VALIDATORS, NG_VALUE_ACCESSOR, } from '@angular/forms';
5
- import AutoNumeric from 'autonumeric';
6
- import { Subject, fromEvent } from 'rxjs';
7
- import { takeUntil } from 'rxjs/operators';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "./autonumeric-options-provider";
10
- const SKY_AUTONUMERIC_VALUE_ACCESSOR = {
11
- provide: NG_VALUE_ACCESSOR,
12
- useExisting: forwardRef(() => SkyAutonumericDirective),
13
- multi: true,
14
- };
15
- const SKY_AUTONUMERIC_VALIDATOR = {
16
- provide: NG_VALIDATORS,
17
- useExisting: forwardRef(() => SkyAutonumericDirective),
18
- multi: true,
19
- };
20
- /**
21
- * Wraps the [autoNumeric utility](https://github.com/autoNumeric/autoNumeric) to format
22
- * any type of number, including currency.
23
- */
24
- export class SkyAutonumericDirective {
25
- /**
26
- * Assigns the name of a property from `SkyAutonumericOptionsProvider`.
27
- */
28
- set skyAutonumeric(value) {
29
- __classPrivateFieldSet(this, _SkyAutonumericDirective_autonumericOptions, __classPrivateFieldGet(this, _SkyAutonumericDirective_instances, "m", _SkyAutonumericDirective_mergeOptions).call(this, value), "f");
30
- __classPrivateFieldGet(this, _SkyAutonumericDirective_instances, "m", _SkyAutonumericDirective_updateAutonumericInstance).call(this);
31
- }
32
- constructor(elementRef, globalConfig, renderer, changeDetector) {
33
- _SkyAutonumericDirective_instances.add(this);
34
- /**
35
- * @internal
36
- */
37
- this.skyAutonumericFormChangesUnformatted = false;
38
- _SkyAutonumericDirective_autonumericInstance.set(this, void 0);
39
- _SkyAutonumericDirective_autonumericOptions.set(this, void 0);
40
- _SkyAutonumericDirective_control.set(this, void 0);
41
- _SkyAutonumericDirective_isFirstChange.set(this, true);
42
- _SkyAutonumericDirective_value.set(this, void 0);
43
- _SkyAutonumericDirective_ngUnsubscribe.set(this, new Subject());
44
- _SkyAutonumericDirective_elementRef.set(this, void 0);
45
- _SkyAutonumericDirective_globalConfig.set(this, void 0);
46
- _SkyAutonumericDirective_renderer.set(this, void 0);
47
- _SkyAutonumericDirective_changeDetector.set(this, void 0);
48
- // istanbul ignore next
49
- // eslint-disable-next-line @typescript-eslint/no-empty-function , @typescript-eslint/no-unused-vars
50
- _SkyAutonumericDirective_onChange.set(this, (_) => { });
51
- // istanbul ignore next
52
- // eslint-disable-next-line @typescript-eslint/no-empty-function
53
- _SkyAutonumericDirective_onTouched.set(this, () => { });
54
- __classPrivateFieldSet(this, _SkyAutonumericDirective_elementRef, elementRef, "f");
55
- __classPrivateFieldSet(this, _SkyAutonumericDirective_globalConfig, globalConfig, "f");
56
- __classPrivateFieldSet(this, _SkyAutonumericDirective_renderer, renderer, "f");
57
- __classPrivateFieldSet(this, _SkyAutonumericDirective_changeDetector, changeDetector, "f");
58
- __classPrivateFieldSet(this, _SkyAutonumericDirective_autonumericInstance, new AutoNumeric(elementRef.nativeElement), "f");
59
- }
60
- ngOnInit() {
61
- // Ensure that we set the global config even if no local config has been given.
62
- if (!__classPrivateFieldGet(this, _SkyAutonumericDirective_autonumericOptions, "f")) {
63
- __classPrivateFieldSet(this, _SkyAutonumericDirective_autonumericOptions, __classPrivateFieldGet(this, _SkyAutonumericDirective_globalConfig, "f").getConfig(), "f");
64
- }
65
- __classPrivateFieldGet(this, _SkyAutonumericDirective_instances, "m", _SkyAutonumericDirective_updateAutonumericInstance).call(this);
66
- fromEvent(__classPrivateFieldGet(this, _SkyAutonumericDirective_elementRef, "f").nativeElement, 'input')
67
- .pipe(takeUntil(__classPrivateFieldGet(this, _SkyAutonumericDirective_ngUnsubscribe, "f")))
68
- .subscribe(() => {
69
- const numericValue = __classPrivateFieldGet(this, _SkyAutonumericDirective_instances, "m", _SkyAutonumericDirective_getNumericValue).call(this);
70
- /* istanbul ignore else */
71
- if (__classPrivateFieldGet(this, _SkyAutonumericDirective_value, "f") !== numericValue) {
72
- __classPrivateFieldSet(this, _SkyAutonumericDirective_value, numericValue, "f");
73
- __classPrivateFieldGet(this, _SkyAutonumericDirective_onChange, "f").call(this, numericValue);
74
- }
75
- /* istanbul ignore else */
76
- if (__classPrivateFieldGet(this, _SkyAutonumericDirective_control, "f") && !__classPrivateFieldGet(this, _SkyAutonumericDirective_control, "f").dirty) {
77
- __classPrivateFieldGet(this, _SkyAutonumericDirective_control, "f").markAsDirty();
78
- }
79
- __classPrivateFieldGet(this, _SkyAutonumericDirective_changeDetector, "f").markForCheck();
80
- });
81
- }
82
- ngOnDestroy() {
83
- __classPrivateFieldGet(this, _SkyAutonumericDirective_ngUnsubscribe, "f").next();
84
- __classPrivateFieldGet(this, _SkyAutonumericDirective_ngUnsubscribe, "f").complete();
85
- }
86
- /**
87
- * Implemented as part of ControlValueAccessor.
88
- */
89
- setDisabledState(value) {
90
- __classPrivateFieldGet(this, _SkyAutonumericDirective_renderer, "f").setProperty(__classPrivateFieldGet(this, _SkyAutonumericDirective_elementRef, "f").nativeElement, 'disabled', value);
91
- }
92
- writeValue(value) {
93
- if (__classPrivateFieldGet(this, _SkyAutonumericDirective_value, "f") !== value) {
94
- __classPrivateFieldSet(this, _SkyAutonumericDirective_value, value, "f");
95
- __classPrivateFieldGet(this, _SkyAutonumericDirective_onChange, "f").call(this, value);
96
- // Mark the control as "pristine" if it is initialized with a value.
97
- if (__classPrivateFieldGet(this, _SkyAutonumericDirective_isFirstChange, "f") && __classPrivateFieldGet(this, _SkyAutonumericDirective_control, "f") && __classPrivateFieldGet(this, _SkyAutonumericDirective_value, "f") !== null) {
98
- __classPrivateFieldSet(this, _SkyAutonumericDirective_isFirstChange, false, "f");
99
- __classPrivateFieldGet(this, _SkyAutonumericDirective_control, "f").markAsPristine();
100
- }
101
- }
102
- if (typeof value === 'number') {
103
- if (this.skyAutonumericFormChangesUnformatted) {
104
- __classPrivateFieldGet(this, _SkyAutonumericDirective_autonumericInstance, "f").setUnformatted(value);
105
- }
106
- else {
107
- __classPrivateFieldGet(this, _SkyAutonumericDirective_autonumericInstance, "f").set(value);
108
- }
109
- }
110
- else {
111
- __classPrivateFieldGet(this, _SkyAutonumericDirective_autonumericInstance, "f").clear();
112
- }
113
- }
114
- validate(control) {
115
- const noErrors = null;
116
- if (!__classPrivateFieldGet(this, _SkyAutonumericDirective_control, "f")) {
117
- __classPrivateFieldSet(this, _SkyAutonumericDirective_control, control, "f");
118
- }
119
- if (control.value === null || control.value === undefined) {
120
- return noErrors;
121
- }
122
- if (typeof control.value !== 'number') {
123
- return {
124
- notTypeOfNumber: { value: control.value },
125
- };
126
- }
127
- return noErrors;
128
- }
129
- registerOnChange(fn) {
130
- __classPrivateFieldSet(this, _SkyAutonumericDirective_onChange, fn, "f");
131
- }
132
- registerOnTouched(fn) {
133
- __classPrivateFieldSet(this, _SkyAutonumericDirective_onTouched, fn, "f");
134
- }
135
- onBlur() {
136
- __classPrivateFieldGet(this, _SkyAutonumericDirective_onTouched, "f").call(this);
137
- }
138
- }
139
- _SkyAutonumericDirective_autonumericInstance = new WeakMap(), _SkyAutonumericDirective_autonumericOptions = new WeakMap(), _SkyAutonumericDirective_control = new WeakMap(), _SkyAutonumericDirective_isFirstChange = new WeakMap(), _SkyAutonumericDirective_value = new WeakMap(), _SkyAutonumericDirective_ngUnsubscribe = new WeakMap(), _SkyAutonumericDirective_elementRef = new WeakMap(), _SkyAutonumericDirective_globalConfig = new WeakMap(), _SkyAutonumericDirective_renderer = new WeakMap(), _SkyAutonumericDirective_changeDetector = new WeakMap(), _SkyAutonumericDirective_onChange = new WeakMap(), _SkyAutonumericDirective_onTouched = new WeakMap(), _SkyAutonumericDirective_instances = new WeakSet(), _SkyAutonumericDirective_getNumericValue = function _SkyAutonumericDirective_getNumericValue() {
140
- const inputValue = __classPrivateFieldGet(this, _SkyAutonumericDirective_instances, "m", _SkyAutonumericDirective_getInputValue).call(this);
141
- const numericValue = __classPrivateFieldGet(this, _SkyAutonumericDirective_autonumericInstance, "f").getNumber();
142
- return inputValue &&
143
- !__classPrivateFieldGet(this, _SkyAutonumericDirective_instances, "m", _SkyAutonumericDirective_isInputValueTheCurrencySymbol).call(this, inputValue) &&
144
- typeof numericValue === 'number'
145
- ? numericValue
146
- : undefined;
147
- }, _SkyAutonumericDirective_isInputValueTheCurrencySymbol = function _SkyAutonumericDirective_isInputValueTheCurrencySymbol(inputValue) {
148
- /* istanbul ignore next */
149
- const currencySymbol = (__classPrivateFieldGet(this, _SkyAutonumericDirective_autonumericOptions, "f")?.currencySymbol ?? '').trim();
150
- return !!currencySymbol && inputValue === currencySymbol;
151
- }, _SkyAutonumericDirective_getInputValue = function _SkyAutonumericDirective_getInputValue() {
152
- return __classPrivateFieldGet(this, _SkyAutonumericDirective_elementRef, "f").nativeElement.value;
153
- }, _SkyAutonumericDirective_updateAutonumericInstance = function _SkyAutonumericDirective_updateAutonumericInstance() {
154
- __classPrivateFieldGet(this, _SkyAutonumericDirective_autonumericInstance, "f").update(__classPrivateFieldGet(this, _SkyAutonumericDirective_autonumericOptions, "f"));
155
- }, _SkyAutonumericDirective_mergeOptions = function _SkyAutonumericDirective_mergeOptions(value) {
156
- const globalOptions = __classPrivateFieldGet(this, _SkyAutonumericDirective_globalConfig, "f").getConfig();
157
- let newOptions;
158
- if (typeof value === 'string') {
159
- const predefinedOptions = AutoNumeric.getPredefinedOptions();
160
- newOptions = predefinedOptions[value];
161
- }
162
- else {
163
- newOptions = value;
164
- }
165
- return Object.assign({}, globalOptions, newOptions);
166
- };
167
- SkyAutonumericDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAutonumericDirective, deps: [{ token: i0.ElementRef }, { token: i1.SkyAutonumericOptionsProvider }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
168
- SkyAutonumericDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: SkyAutonumericDirective, selector: "input[skyAutonumeric]", inputs: { skyAutonumeric: "skyAutonumeric", skyAutonumericFormChangesUnformatted: "skyAutonumericFormChangesUnformatted" }, host: { listeners: { "blur": "onBlur()" } }, providers: [SKY_AUTONUMERIC_VALUE_ACCESSOR, SKY_AUTONUMERIC_VALIDATOR], ngImport: i0 });
169
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAutonumericDirective, decorators: [{
170
- type: Directive,
171
- args: [{
172
- selector: 'input[skyAutonumeric]',
173
- providers: [SKY_AUTONUMERIC_VALUE_ACCESSOR, SKY_AUTONUMERIC_VALIDATOR],
174
- }]
175
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.SkyAutonumericOptionsProvider }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { skyAutonumeric: [{
176
- type: Input
177
- }], skyAutonumericFormChangesUnformatted: [{
178
- type: Input
179
- }], onBlur: [{
180
- type: HostListener,
181
- args: ['blur']
182
- }] } });
183
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b251bWVyaWMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2F1dG9udW1lcmljL3NyYy9saWIvbW9kdWxlcy9hdXRvbnVtZXJpYy9hdXRvbnVtZXJpYy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBRUwsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBSUwsVUFBVSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHTCxhQUFhLEVBQ2IsaUJBQWlCLEdBR2xCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxXQUFXLE1BQU0sYUFBYSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBSzNDLE1BQU0sOEJBQThCLEdBQUc7SUFDckMsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHVCQUF1QixDQUFDO0lBQ3RELEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQztBQUVGLE1BQU0seUJBQXlCLEdBQUc7SUFDaEMsT0FBTyxFQUFFLGFBQWE7SUFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztJQUN0RCxLQUFLLEVBQUUsSUFBSTtDQUNaLENBQUM7QUFFRjs7O0dBR0c7QUFLSCxNQUFNLE9BQU8sdUJBQXVCO0lBR2xDOztPQUVHO0lBQ0gsSUFDVyxjQUFjLENBQUMsS0FBd0M7UUFDaEUsdUJBQUEsSUFBSSwrQ0FBdUIsdUJBQUEsSUFBSSxpRkFBYyxNQUFsQixJQUFJLEVBQWUsS0FBSyxDQUFDLE1BQUEsQ0FBQztRQUNyRCx1QkFBQSxJQUFJLDhGQUEyQixNQUEvQixJQUFJ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QixFQUFFLENBQUM7UUFDN0QsVUFBVSxHQUFHLGlCQUFpQixDQUM1QixLQUFrQyxDQUNaLENBQUM7S0FDMUI7U0FBTTtRQUNMLFVBQVUsR0FBRyxLQUFLLENBQUM7S0FDcEI7SUFFRCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLGFBQWEsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUN0RCxDQUFDO29IQWxNVSx1QkFBdUI7d0dBQXZCLHVCQUF1Qix5TkFGdkIsQ0FBQyw4QkFBOEIsRUFBRSx5QkFBeUIsQ0FBQzsyRkFFM0QsdUJBQXVCO2tCQUpuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFNBQVMsRUFBRSxDQUFDLDhCQUE4QixFQUFFLHlCQUF5QixDQUFDO2lCQUN2RTtxTUFRWSxjQUFjO3NCQUR4QixLQUFLO2dCQVVDLG9DQUFvQztzQkFEMUMsS0FBSztnQkE2SEMsTUFBTTtzQkFEWixZQUFZO3VCQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgUmVuZGVyZXIyLFxuICBmb3J3YXJkUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIE5HX1ZBTElEQVRPUlMsXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxuICBWYWxpZGF0aW9uRXJyb3JzLFxuICBWYWxpZGF0b3IsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IEF1dG9OdW1lcmljIGZyb20gJ2F1dG9udW1lcmljJztcbmltcG9ydCB7IFN1YmplY3QsIGZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lBdXRvbnVtZXJpY09wdGlvbnMgfSBmcm9tICcuL2F1dG9udW1lcmljLW9wdGlvbnMnO1xuaW1wb3J0IHsgU2t5QXV0b251bWVyaWNPcHRpb25zUHJvdmlkZXIgfSBmcm9tICcuL2F1dG9udW1lcmljLW9wdGlvbnMtcHJvdmlkZXInO1xuXG5jb25zdCBTS1lfQVVUT05VTUVSSUNfVkFMVUVfQUNDRVNTT1IgPSB7XG4gIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTa3lBdXRvbnVtZXJpY0RpcmVjdGl2ZSksXG4gIG11bHRpOiB0cnVlLFxufTtcblxuY29uc3QgU0tZX0FVVE9OVU1FUklDX1ZBTElEQVRPUiA9IHtcbiAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2t5QXV0b251bWVyaWNEaXJlY3RpdmUpLFxuICBtdWx0aTogdHJ1ZSxcbn07XG5cbi8qKlxuICogV3JhcHMgdGhlIFthdXRvTnVtZXJpYyB1dGlsaXR5XShodHRwczovL2dpdGh1Yi5jb20vYXV0b051bWVyaWMvYXV0b051bWVyaWMpIHRvIGZvcm1hdFxuICogYW55IHR5cGUgb2YgbnVtYmVyLCBpbmNsdWRpbmcgY3VycmVuY3kuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ2lucHV0W3NreUF1dG9udW1lcmljXScsXG4gIHByb3ZpZGVyczogW1NLWV9BVVRPTlVNRVJJQ19WQUxVRV9BQ0NFU1NPUiwgU0tZX0FVVE9OVU1FUklDX1ZBTElEQVRPUl0sXG59KVxuZXhwb3J0IGNsYXNzIFNreUF1dG9udW1lcmljRGlyZWN0aXZlXG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0b3JcbntcbiAgLyoqXG4gICAqIEFzc2lnbnMgdGhlIG5hbWUgb2YgYSBwcm9wZXJ0eSBmcm9tIGBTa3lBdXRvbnVtZXJpY09wdGlvbnNQcm92aWRlcmAuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNreUF1dG9udW1lcmljKHZhbHVlOiBTa3lBdXRvbnVtZXJpY09wdGlvbnMgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNhdXRvbnVtZXJpY09wdGlvbnMgPSB0aGlzLiNtZXJnZU9wdGlvbnModmFsdWUpO1xuICAgIHRoaXMuI3VwZGF0ZUF1dG9udW1lcmljSW5zdGFuY2UoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBza3lBdXRvbnVtZXJpY0Zvcm1DaGFuZ2VzVW5mb3JtYXR0ZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQgPSBmYWxzZTtcblxuICAjYXV0b251bWVyaWNJbnN0YW5jZTogQXV0b051bWVyaWM7XG4gICNhdXRvbnVtZXJpY09wdGlvbnM6IFNreUF1dG9udW1lcmljT3B0aW9ucyB8IHVuZGVmaW5lZDtcbiAgI2NvbnRyb2w6IEFic3RyYWN0Q29udHJvbCB8IHVuZGVmaW5lZDtcbiAgI2lzRmlyc3RDaGFuZ2UgPSB0cnVlO1xuICAjdmFsdWU6IG51bWJlciB8IHVuZGVmaW5lZDtcblxuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgI2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY7XG4gICNnbG9iYWxDb25maWc6IFNreUF1dG9udW1lcmljT3B0aW9uc1Byb3ZpZGVyO1xuICAjcmVuZGVyZXI6IFJlbmRlcmVyMjtcbiAgI2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIGdsb2JhbENvbmZpZzogU2t5QXV0b251bWVyaWNPcHRpb25zUHJvdmlkZXIsXG4gICAgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgdGhpcy4jZWxlbWVudFJlZiA9IGVsZW1lbnRSZWY7XG4gICAgdGhpcy4jZ2xvYmFsQ29uZmlnID0gZ2xvYmFsQ29uZmlnO1xuICAgIHRoaXMuI3JlbmRlcmVyID0gcmVuZGVyZXI7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IgPSBjaGFuZ2VEZXRlY3RvcjtcblxuICAgIHRoaXMuI2F1dG9udW1lcmljSW5zdGFuY2UgPSBuZXcgQXV0b051bWVyaWMoZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBFbnN1cmUgdGhhdCB3ZSBzZXQgdGhlIGdsb2JhbCBjb25maWcgZXZlbiBpZiBubyBsb2NhbCBjb25maWcgaGFzIGJlZW4gZ2l2ZW4uXG4gICAgaWYgKCF0aGlzLiNhdXRvbnVtZXJpY09wdGlvbnMpIHtcbiAgICAgIHRoaXMuI2F1dG9udW1lcmljT3B0aW9ucyA9IHRoaXMuI2dsb2JhbENvbmZpZy5nZXRDb25maWcoKTtcbiAgICB9XG4gICAgdGhpcy4jdXBkYXRlQXV0b251bWVyaWNJbnN0YW5jZSgpO1xuXG4gICAgZnJvbUV2ZW50KHRoaXMuI2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2lucHV0JylcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBjb25zdCBudW1lcmljVmFsdWU6IG51bWJlciB8IHVuZGVmaW5lZCA9IHRoaXMuI2dldE51bWVyaWNWYWx1ZSgpO1xuXG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmICh0aGlzLiN2YWx1ZSAhPT0gbnVtZXJpY1ZhbHVlKSB7XG4gICAgICAgICAgdGhpcy4jdmFsdWUgPSBudW1lcmljVmFsdWU7XG4gICAgICAgICAgdGhpcy4jb25DaGFuZ2UobnVtZXJpY1ZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmICh0aGlzLiNjb250cm9sICYmICF0aGlzLiNjb250cm9sLmRpcnR5KSB7XG4gICAgICAgICAgdGhpcy4jY29udHJvbC5tYXJrQXNEaXJ0eSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKipcbiAgICogSW1wbGVtZW50ZWQgYXMgcGFydCBvZiBDb250cm9sVmFsdWVBY2Nlc3Nvci5cbiAgICovXG4gIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy4jcmVuZGVyZXIuc2V0UHJvcGVydHkoXG4gICAgICB0aGlzLiNlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAnZGlzYWJsZWQnLFxuICAgICAgdmFsdWVcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IG51bWJlciB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIGlmICh0aGlzLiN2YWx1ZSAhPT0gdmFsdWUpIHtcbiAgICAgIHRoaXMuI3ZhbHVlID0gdmFsdWU7XG4gICAgICB0aGlzLiNvbkNoYW5nZSh2YWx1ZSk7XG5cbiAgICAgIC8vIE1hcmsgdGhlIGNvbnRyb2wgYXMgXCJwcmlzdGluZVwiIGlmIGl0IGlzIGluaXRpYWxpemVkIHdpdGggYSB2YWx1ZS5cbiAgICAgIGlmICh0aGlzLiNpc0ZpcnN0Q2hhbmdlICYmIHRoaXMuI2NvbnRyb2wgJiYgdGhpcy4jdmFsdWUgIT09IG51bGwpIHtcbiAgICAgICAgdGhpcy4jaXNGaXJzdENoYW5nZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLiNjb250cm9sLm1hcmtBc1ByaXN0aW5lKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICAgIGlmICh0aGlzLnNreUF1dG9udW1lcmljRm9ybUNoYW5nZXNVbmZvcm1hdHRlZCkge1xuICAgICAgICB0aGlzLiNhdXRvbnVtZXJpY0luc3RhbmNlLnNldFVuZm9ybWF0dGVkKHZhbHVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuI2F1dG9udW1lcmljSW5zdGFuY2Uuc2V0KHZhbHVlKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jYXV0b251bWVyaWNJbnN0YW5jZS5jbGVhcigpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgY29uc3Qgbm9FcnJvcnMgPSBudWxsO1xuXG4gICAgaWYgKCF0aGlzLiNjb250cm9sKSB7XG4gICAgICB0aGlzLiNjb250cm9sID0gY29udHJvbDtcbiAgICB9XG5cbiAgICBpZiAoY29udHJvbC52YWx1ZSA9PT0gbnVsbCB8fCBjb250cm9sLnZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBub0Vycm9ycztcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGNvbnRyb2wudmFsdWUgIT09ICdudW1iZXInKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBub3RUeXBlT2ZOdW1iZXI6IHsgdmFsdWU6IGNvbnRyb2wudmFsdWUgfSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIG5vRXJyb3JzO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogbnVtYmVyIHwgdW5kZWZpbmVkKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy4jb25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMuI29uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignYmx1cicpXG4gIHB1YmxpYyBvbkJsdXIoKTogdm9pZCB7XG4gICAgdGhpcy4jb25Ub3VjaGVkKCk7XG4gIH1cblxuICAjZ2V0TnVtZXJpY1ZhbHVlKCk6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgaW5wdXRWYWx1ZSA9IHRoaXMuI2dldElucHV0VmFsdWUoKTtcbiAgICBjb25zdCBudW1lcmljVmFsdWUgPSB0aGlzLiNhdXRvbnVtZXJpY0luc3RhbmNlLmdldE51bWJlcigpO1xuICAgIHJldHVybiBpbnB1dFZhbHVlICYmXG4gICAgICAhdGhpcy4jaXNJbnB1dFZhbHVlVGhlQ3VycmVuY3lTeW1ib2woaW5wdXRWYWx1ZSkgJiZcbiAgICAgIHR5cGVvZiBudW1lcmljVmFsdWUgPT09ICdudW1iZXInXG4gICAgICA/IG51bWVyaWNWYWx1ZVxuICAgICAgOiB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICogRHVlIHRvIEF1dG9OdW1lcmljJ3MgaG92ZXIgbG9naWMgLSB3aGVuIEF1dG9OdW1lcmljIGhhcyBhIGN1cnJlbmN5IHN5bWJvbCwgdGhlIHZhbHVlXG4gICAqIHRoYXQgd2UgZ2V0IGJhY2sgb24gZW1wdHkgZmllbGRzIHdpbGwgYmUgdGhlIGN1cnJlbmN5IHN5bWJvbC5cbiAgICogVGhlIGZvbGxvd2luZyBsb2dpYyBlbnN1cmVzIHRoYXQgd2UgZG9uJ3QgYWNjaWRlbnRhbGx5IHNldFxuICAgKiBhIGZvcm0gdmFsdWUgd2hlbiB0aGUgb25seSBpbnB1dCB3YXMgdGhlIHByb2dyYW1tYXRpY2FsbHktYWRkZWQgY3VycmVuY3kgc3ltYm9sLlxuICAgKi9cbiAgI2lzSW5wdXRWYWx1ZVRoZUN1cnJlbmN5U3ltYm9sKGlucHV0VmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgY29uc3QgY3VycmVuY3lTeW1ib2wgPSAoXG4gICAgICAodGhpcy4jYXV0b251bWVyaWNPcHRpb25zIGFzIEF1dG9OdW1lcmljLk9wdGlvbnMpPy5jdXJyZW5jeVN5bWJvbCA/PyAnJ1xuICAgICkudHJpbSgpO1xuICAgIHJldHVybiAhIWN1cnJlbmN5U3ltYm9sICYmIGlucHV0VmFsdWUgPT09IGN1cnJlbmN5U3ltYm9sO1xuICB9XG5cbiAgI2dldElucHV0VmFsdWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy4jZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlO1xuICB9XG5cbiAgI3VwZGF0ZUF1dG9udW1lcmljSW5zdGFuY2UoKTogdm9pZCB7XG4gICAgdGhpcy4jYXV0b251bWVyaWNJbnN0YW5jZS51cGRhdGUoXG4gICAgICB0aGlzLiNhdXRvbnVtZXJpY09wdGlvbnMgYXMgQXV0b051bWVyaWMuT3B0aW9uc1xuICAgICk7XG4gIH1cblxuICAjbWVyZ2VPcHRpb25zKFxuICAgIHZhbHVlOiBTa3lBdXRvbnVtZXJpY09wdGlvbnMgfCB1bmRlZmluZWRcbiAgKTogU2t5QXV0b251bWVyaWNPcHRpb25zIHtcbiAgICBjb25zdCBnbG9iYWxPcHRpb25zOiBTa3lBdXRvbnVtZXJpY09wdGlvbnMgPSB0aGlzLiNnbG9iYWxDb25maWcuZ2V0Q29uZmlnKCk7XG5cbiAgICBsZXQgbmV3T3B0aW9uczogU2t5QXV0b251bWVyaWNPcHRpb25zIHwgdW5kZWZpbmVkO1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25zdCBwcmVkZWZpbmVkT3B0aW9ucyA9IEF1dG9OdW1lcmljLmdldFByZWRlZmluZWRPcHRpb25zKCk7XG4gICAgICBuZXdPcHRpb25zID0gcHJlZGVmaW5lZE9wdGlvbnNbXG4gICAgICAgIHZhbHVlIGFzIGtleW9mIEF1dG9OdW1lcmljLk9wdGlvbnNcbiAgICAgIF0gYXMgQXV0b051bWVyaWMuT3B0aW9ucztcbiAgICB9IGVsc2Uge1xuICAgICAgbmV3T3B0aW9ucyA9IHZhbHVlO1xuICAgIH1cblxuICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBnbG9iYWxPcHRpb25zLCBuZXdPcHRpb25zKTtcbiAgfVxuXG4gIC8vIGlzdGFuYnVsIGlnbm9yZSBuZXh0XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb24gLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgI29uQ2hhbmdlID0gKF86IG51bWJlciB8IHVuZGVmaW5lZCkgPT4ge307XG4gIC8vIGlzdGFuYnVsIGlnbm9yZSBuZXh0XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgI29uVG91Y2hlZCA9ICgpID0+IHt9O1xufVxuIl19
@@ -1,227 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { Injectable, forwardRef, Directive, Input, HostListener, NgModule } from '@angular/core';
3
- import { CommonModule } from '@angular/common';
4
- import { NG_VALUE_ACCESSOR, NG_VALIDATORS, FormsModule, ReactiveFormsModule } from '@angular/forms';
5
- import { __classPrivateFieldSet, __classPrivateFieldGet } from 'tslib';
6
- import AutoNumeric from 'autonumeric';
7
- import { Subject, fromEvent } from 'rxjs';
8
- import { takeUntil } from 'rxjs/operators';
9
-
10
- /**
11
- * Provides options to the underlying [AutoNumeric library](https://github.com/autoNumeric/autoNumeric).
12
- * This can set global options on multiple input fields.
13
- */
14
- class SkyAutonumericOptionsProvider {
15
- /**
16
- * The value for a settings object to pass to the AutoNumeric library.
17
- * This overrides any default options specified by the `skyAutonumeric` attribute.
18
- */
19
- getConfig() {
20
- return {};
21
- }
22
- }
23
- SkyAutonumericOptionsProvider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAutonumericOptionsProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
24
- SkyAutonumericOptionsProvider.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAutonumericOptionsProvider, providedIn: 'root' });
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAutonumericOptionsProvider, decorators: [{
26
- type: Injectable,
27
- args: [{
28
- providedIn: 'root',
29
- }]
30
- }] });
31
-
32
- var _SkyAutonumericDirective_instances, _SkyAutonumericDirective_autonumericInstance, _SkyAutonumericDirective_autonumericOptions, _SkyAutonumericDirective_control, _SkyAutonumericDirective_isFirstChange, _SkyAutonumericDirective_value, _SkyAutonumericDirective_ngUnsubscribe, _SkyAutonumericDirective_elementRef, _SkyAutonumericDirective_globalConfig, _SkyAutonumericDirective_renderer, _SkyAutonumericDirective_changeDetector, _SkyAutonumericDirective_getNumericValue, _SkyAutonumericDirective_isInputValueTheCurrencySymbol, _SkyAutonumericDirective_getInputValue, _SkyAutonumericDirective_updateAutonumericInstance, _SkyAutonumericDirective_mergeOptions, _SkyAutonumericDirective_onChange, _SkyAutonumericDirective_onTouched;
33
- const SKY_AUTONUMERIC_VALUE_ACCESSOR = {
34
- provide: NG_VALUE_ACCESSOR,
35
- useExisting: forwardRef(() => SkyAutonumericDirective),
36
- multi: true,
37
- };
38
- const SKY_AUTONUMERIC_VALIDATOR = {
39
- provide: NG_VALIDATORS,
40
- useExisting: forwardRef(() => SkyAutonumericDirective),
41
- multi: true,
42
- };
43
- /**
44
- * Wraps the [autoNumeric utility](https://github.com/autoNumeric/autoNumeric) to format
45
- * any type of number, including currency.
46
- */
47
- class SkyAutonumericDirective {
48
- /**
49
- * Assigns the name of a property from `SkyAutonumericOptionsProvider`.
50
- */
51
- set skyAutonumeric(value) {
52
- __classPrivateFieldSet(this, _SkyAutonumericDirective_autonumericOptions, __classPrivateFieldGet(this, _SkyAutonumericDirective_instances, "m", _SkyAutonumericDirective_mergeOptions).call(this, value), "f");
53
- __classPrivateFieldGet(this, _SkyAutonumericDirective_instances, "m", _SkyAutonumericDirective_updateAutonumericInstance).call(this);
54
- }
55
- constructor(elementRef, globalConfig, renderer, changeDetector) {
56
- _SkyAutonumericDirective_instances.add(this);
57
- /**
58
- * @internal
59
- */
60
- this.skyAutonumericFormChangesUnformatted = false;
61
- _SkyAutonumericDirective_autonumericInstance.set(this, void 0);
62
- _SkyAutonumericDirective_autonumericOptions.set(this, void 0);
63
- _SkyAutonumericDirective_control.set(this, void 0);
64
- _SkyAutonumericDirective_isFirstChange.set(this, true);
65
- _SkyAutonumericDirective_value.set(this, void 0);
66
- _SkyAutonumericDirective_ngUnsubscribe.set(this, new Subject());
67
- _SkyAutonumericDirective_elementRef.set(this, void 0);
68
- _SkyAutonumericDirective_globalConfig.set(this, void 0);
69
- _SkyAutonumericDirective_renderer.set(this, void 0);
70
- _SkyAutonumericDirective_changeDetector.set(this, void 0);
71
- // istanbul ignore next
72
- // eslint-disable-next-line @typescript-eslint/no-empty-function , @typescript-eslint/no-unused-vars
73
- _SkyAutonumericDirective_onChange.set(this, (_) => { });
74
- // istanbul ignore next
75
- // eslint-disable-next-line @typescript-eslint/no-empty-function
76
- _SkyAutonumericDirective_onTouched.set(this, () => { });
77
- __classPrivateFieldSet(this, _SkyAutonumericDirective_elementRef, elementRef, "f");
78
- __classPrivateFieldSet(this, _SkyAutonumericDirective_globalConfig, globalConfig, "f");
79
- __classPrivateFieldSet(this, _SkyAutonumericDirective_renderer, renderer, "f");
80
- __classPrivateFieldSet(this, _SkyAutonumericDirective_changeDetector, changeDetector, "f");
81
- __classPrivateFieldSet(this, _SkyAutonumericDirective_autonumericInstance, new AutoNumeric(elementRef.nativeElement), "f");
82
- }
83
- ngOnInit() {
84
- // Ensure that we set the global config even if no local config has been given.
85
- if (!__classPrivateFieldGet(this, _SkyAutonumericDirective_autonumericOptions, "f")) {
86
- __classPrivateFieldSet(this, _SkyAutonumericDirective_autonumericOptions, __classPrivateFieldGet(this, _SkyAutonumericDirective_globalConfig, "f").getConfig(), "f");
87
- }
88
- __classPrivateFieldGet(this, _SkyAutonumericDirective_instances, "m", _SkyAutonumericDirective_updateAutonumericInstance).call(this);
89
- fromEvent(__classPrivateFieldGet(this, _SkyAutonumericDirective_elementRef, "f").nativeElement, 'input')
90
- .pipe(takeUntil(__classPrivateFieldGet(this, _SkyAutonumericDirective_ngUnsubscribe, "f")))
91
- .subscribe(() => {
92
- const numericValue = __classPrivateFieldGet(this, _SkyAutonumericDirective_instances, "m", _SkyAutonumericDirective_getNumericValue).call(this);
93
- /* istanbul ignore else */
94
- if (__classPrivateFieldGet(this, _SkyAutonumericDirective_value, "f") !== numericValue) {
95
- __classPrivateFieldSet(this, _SkyAutonumericDirective_value, numericValue, "f");
96
- __classPrivateFieldGet(this, _SkyAutonumericDirective_onChange, "f").call(this, numericValue);
97
- }
98
- /* istanbul ignore else */
99
- if (__classPrivateFieldGet(this, _SkyAutonumericDirective_control, "f") && !__classPrivateFieldGet(this, _SkyAutonumericDirective_control, "f").dirty) {
100
- __classPrivateFieldGet(this, _SkyAutonumericDirective_control, "f").markAsDirty();
101
- }
102
- __classPrivateFieldGet(this, _SkyAutonumericDirective_changeDetector, "f").markForCheck();
103
- });
104
- }
105
- ngOnDestroy() {
106
- __classPrivateFieldGet(this, _SkyAutonumericDirective_ngUnsubscribe, "f").next();
107
- __classPrivateFieldGet(this, _SkyAutonumericDirective_ngUnsubscribe, "f").complete();
108
- }
109
- /**
110
- * Implemented as part of ControlValueAccessor.
111
- */
112
- setDisabledState(value) {
113
- __classPrivateFieldGet(this, _SkyAutonumericDirective_renderer, "f").setProperty(__classPrivateFieldGet(this, _SkyAutonumericDirective_elementRef, "f").nativeElement, 'disabled', value);
114
- }
115
- writeValue(value) {
116
- if (__classPrivateFieldGet(this, _SkyAutonumericDirective_value, "f") !== value) {
117
- __classPrivateFieldSet(this, _SkyAutonumericDirective_value, value, "f");
118
- __classPrivateFieldGet(this, _SkyAutonumericDirective_onChange, "f").call(this, value);
119
- // Mark the control as "pristine" if it is initialized with a value.
120
- if (__classPrivateFieldGet(this, _SkyAutonumericDirective_isFirstChange, "f") && __classPrivateFieldGet(this, _SkyAutonumericDirective_control, "f") && __classPrivateFieldGet(this, _SkyAutonumericDirective_value, "f") !== null) {
121
- __classPrivateFieldSet(this, _SkyAutonumericDirective_isFirstChange, false, "f");
122
- __classPrivateFieldGet(this, _SkyAutonumericDirective_control, "f").markAsPristine();
123
- }
124
- }
125
- if (typeof value === 'number') {
126
- if (this.skyAutonumericFormChangesUnformatted) {
127
- __classPrivateFieldGet(this, _SkyAutonumericDirective_autonumericInstance, "f").setUnformatted(value);
128
- }
129
- else {
130
- __classPrivateFieldGet(this, _SkyAutonumericDirective_autonumericInstance, "f").set(value);
131
- }
132
- }
133
- else {
134
- __classPrivateFieldGet(this, _SkyAutonumericDirective_autonumericInstance, "f").clear();
135
- }
136
- }
137
- validate(control) {
138
- const noErrors = null;
139
- if (!__classPrivateFieldGet(this, _SkyAutonumericDirective_control, "f")) {
140
- __classPrivateFieldSet(this, _SkyAutonumericDirective_control, control, "f");
141
- }
142
- if (control.value === null || control.value === undefined) {
143
- return noErrors;
144
- }
145
- if (typeof control.value !== 'number') {
146
- return {
147
- notTypeOfNumber: { value: control.value },
148
- };
149
- }
150
- return noErrors;
151
- }
152
- registerOnChange(fn) {
153
- __classPrivateFieldSet(this, _SkyAutonumericDirective_onChange, fn, "f");
154
- }
155
- registerOnTouched(fn) {
156
- __classPrivateFieldSet(this, _SkyAutonumericDirective_onTouched, fn, "f");
157
- }
158
- onBlur() {
159
- __classPrivateFieldGet(this, _SkyAutonumericDirective_onTouched, "f").call(this);
160
- }
161
- }
162
- _SkyAutonumericDirective_autonumericInstance = new WeakMap(), _SkyAutonumericDirective_autonumericOptions = new WeakMap(), _SkyAutonumericDirective_control = new WeakMap(), _SkyAutonumericDirective_isFirstChange = new WeakMap(), _SkyAutonumericDirective_value = new WeakMap(), _SkyAutonumericDirective_ngUnsubscribe = new WeakMap(), _SkyAutonumericDirective_elementRef = new WeakMap(), _SkyAutonumericDirective_globalConfig = new WeakMap(), _SkyAutonumericDirective_renderer = new WeakMap(), _SkyAutonumericDirective_changeDetector = new WeakMap(), _SkyAutonumericDirective_onChange = new WeakMap(), _SkyAutonumericDirective_onTouched = new WeakMap(), _SkyAutonumericDirective_instances = new WeakSet(), _SkyAutonumericDirective_getNumericValue = function _SkyAutonumericDirective_getNumericValue() {
163
- const inputValue = __classPrivateFieldGet(this, _SkyAutonumericDirective_instances, "m", _SkyAutonumericDirective_getInputValue).call(this);
164
- const numericValue = __classPrivateFieldGet(this, _SkyAutonumericDirective_autonumericInstance, "f").getNumber();
165
- return inputValue &&
166
- !__classPrivateFieldGet(this, _SkyAutonumericDirective_instances, "m", _SkyAutonumericDirective_isInputValueTheCurrencySymbol).call(this, inputValue) &&
167
- typeof numericValue === 'number'
168
- ? numericValue
169
- : undefined;
170
- }, _SkyAutonumericDirective_isInputValueTheCurrencySymbol = function _SkyAutonumericDirective_isInputValueTheCurrencySymbol(inputValue) {
171
- var _a, _b;
172
- /* istanbul ignore next */
173
- const currencySymbol = ((_b = (_a = __classPrivateFieldGet(this, _SkyAutonumericDirective_autonumericOptions, "f")) === null || _a === void 0 ? void 0 : _a.currencySymbol) !== null && _b !== void 0 ? _b : '').trim();
174
- return !!currencySymbol && inputValue === currencySymbol;
175
- }, _SkyAutonumericDirective_getInputValue = function _SkyAutonumericDirective_getInputValue() {
176
- return __classPrivateFieldGet(this, _SkyAutonumericDirective_elementRef, "f").nativeElement.value;
177
- }, _SkyAutonumericDirective_updateAutonumericInstance = function _SkyAutonumericDirective_updateAutonumericInstance() {
178
- __classPrivateFieldGet(this, _SkyAutonumericDirective_autonumericInstance, "f").update(__classPrivateFieldGet(this, _SkyAutonumericDirective_autonumericOptions, "f"));
179
- }, _SkyAutonumericDirective_mergeOptions = function _SkyAutonumericDirective_mergeOptions(value) {
180
- const globalOptions = __classPrivateFieldGet(this, _SkyAutonumericDirective_globalConfig, "f").getConfig();
181
- let newOptions;
182
- if (typeof value === 'string') {
183
- const predefinedOptions = AutoNumeric.getPredefinedOptions();
184
- newOptions = predefinedOptions[value];
185
- }
186
- else {
187
- newOptions = value;
188
- }
189
- return Object.assign({}, globalOptions, newOptions);
190
- };
191
- SkyAutonumericDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAutonumericDirective, deps: [{ token: i0.ElementRef }, { token: SkyAutonumericOptionsProvider }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
192
- SkyAutonumericDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: SkyAutonumericDirective, selector: "input[skyAutonumeric]", inputs: { skyAutonumeric: "skyAutonumeric", skyAutonumericFormChangesUnformatted: "skyAutonumericFormChangesUnformatted" }, host: { listeners: { "blur": "onBlur()" } }, providers: [SKY_AUTONUMERIC_VALUE_ACCESSOR, SKY_AUTONUMERIC_VALIDATOR], ngImport: i0 });
193
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAutonumericDirective, decorators: [{
194
- type: Directive,
195
- args: [{
196
- selector: 'input[skyAutonumeric]',
197
- providers: [SKY_AUTONUMERIC_VALUE_ACCESSOR, SKY_AUTONUMERIC_VALIDATOR],
198
- }]
199
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: SkyAutonumericOptionsProvider }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { skyAutonumeric: [{
200
- type: Input
201
- }], skyAutonumericFormChangesUnformatted: [{
202
- type: Input
203
- }], onBlur: [{
204
- type: HostListener,
205
- args: ['blur']
206
- }] } });
207
-
208
- class SkyAutonumericModule {
209
- }
210
- SkyAutonumericModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAutonumericModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
211
- SkyAutonumericModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: SkyAutonumericModule, declarations: [SkyAutonumericDirective], imports: [CommonModule, FormsModule, ReactiveFormsModule], exports: [SkyAutonumericDirective] });
212
- SkyAutonumericModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAutonumericModule, imports: [CommonModule, FormsModule, ReactiveFormsModule] });
213
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAutonumericModule, decorators: [{
214
- type: NgModule,
215
- args: [{
216
- declarations: [SkyAutonumericDirective],
217
- imports: [CommonModule, FormsModule, ReactiveFormsModule],
218
- exports: [SkyAutonumericDirective],
219
- }]
220
- }] });
221
-
222
- /**
223
- * Generated bundle index. Do not edit.
224
- */
225
-
226
- export { SkyAutonumericModule, SkyAutonumericOptionsProvider, SkyAutonumericDirective as λ1 };
227
- //# sourceMappingURL=skyux-autonumeric.mjs.map