{"version":3,"file":"moxa-formoxa-mx-number-only.mjs","sources":["../../../../libs/formoxa/mx-number-only/src/lib/directives/mx-number-only.directive.ts","../../../../libs/formoxa/mx-number-only/src/moxa-formoxa-mx-number-only.ts"],"sourcesContent":["import { Directive, ElementRef, forwardRef, HostListener, inject, Renderer2 } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Directive({\n  selector: '[mxNumberOnly]',\n  standalone: true,\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => MxNumberOnlyDirective),\n      multi: true\n    }\n  ]\n})\nexport class MxNumberOnlyDirective implements ControlValueAccessor {\n  #elRef = inject(ElementRef);\n  #renderer = inject(Renderer2);\n  #onChange!: (val: string) => void;\n  #onTouched!: () => void;\n  #value = '';\n\n  @HostListener('input', ['$event'])\n  onInputChange(event: Event) {\n    const value = (event.target as HTMLInputElement)?.value ?? '';\n    const filteredValue: string = this.#filterValue(value);\n    this.updateTextInput(filteredValue, this.#value !== filteredValue);\n  }\n\n  @HostListener('blur')\n  onBlur() {\n    this.#onTouched();\n  }\n\n  private updateTextInput(value: string, propagateChange: boolean) {\n    this.#renderer.setProperty(this.#elRef.nativeElement, 'value', value);\n    if (propagateChange) {\n      this.#onChange(value);\n    }\n    this.#value = value;\n  }\n\n  registerOnChange(fn: any): void {\n    this.#onChange = fn;\n  }\n\n  registerOnTouched(fn: any): void {\n    this.#onTouched = fn;\n  }\n\n  writeValue(value: any): void {\n    value = value ? String(value) : '';\n    this.updateTextInput(value, false);\n  }\n\n  setDisabledState?(isDisabled: boolean): void {\n    if (!isDisabled) {\n      this.#renderer.removeAttribute(this.#elRef.nativeElement, 'disabled');\n    }\n  }\n\n  #filterValue(value: any): string {\n    return value.replace(/[^0-9]*/g, '');\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}