{"version":3,"file":"fabric-msft-fabric-angular-text-input.mjs","sources":["../../../projects/fabric-wrappers/text-input/textInput.directive.ts","../../../projects/fabric-wrappers/text-input/public-api.ts","../../../projects/fabric-wrappers/text-input/fabric-msft-fabric-angular-text-input.ts"],"sourcesContent":["import {\n  Directive,\n  ElementRef,\n  Input,\n  NgZone,\n  Renderer2,\n  forwardRef\n} from \"@angular/core\";\nimport { NG_VALUE_ACCESSOR } from \"@angular/forms\";\nimport type { ControlValueAccessor } from \"@angular/forms\";\nimport { TextInput, TextInputDefinition } from \"@fabric-msft/fabric-web\";\n\n@Directive({\n  selector: \"fabric-text-input\",\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => FabricTextInputControlDirective),\n      multi: true\n    }\n  ],\n  standalone: true\n})\nexport class FabricTextInputControlDirective implements ControlValueAccessor {\n  protected el: TextInput;\n\n  @Input() disabled: boolean;\n\n  @Input() set value(value: string) {\n    if (value !== undefined) {\n      this.writeValue(value);\n    }\n  }\n\n  get value() {\n    return this.el.currentValue;\n  }\n\n  constructor(\n    r: ElementRef,\n    protected z: NgZone,\n    private renderer: Renderer2\n  ) {\n    this.el = r.nativeElement;\n    if (!customElements.get(\"fabric-text-input\")) {\n      TextInputDefinition.define(customElements);\n    }\n    this.listenForChanges();\n  }\n\n  private detachFns: Array<() => void> = [];\n\n  private listenForChanges() {\n    this.detachFns.push(\n      this.renderer.listen(this.el, \"input\", () =>\n        this.z.run(() => this.onChange(this.el.currentValue))\n      ),\n      this.renderer.listen(this.el, \"blur\", () =>\n        this.z.run(() => this.onTouched())\n      )\n    );\n  }\n\n  writeValue(value: string) {\n    this.el.currentValue = value;\n  }\n\n  onChange = (value: string) => {};\n  registerOnChange(onChange: (value: string) => void) {\n    this.onChange = onChange;\n  }\n\n  onTouched = () => {};\n  registerOnTouched(onTouched: () => void) {\n    this.onTouched = onTouched;\n  }\n\n  setDisabledState(isDisabled: boolean) {\n    this.disabled = isDisabled;\n\n    if (isDisabled) {\n      this.renderer.setAttribute(this.el, \"disabled\", \"true\");\n    } else {\n      this.renderer.removeAttribute(this.el, \"disabled\");\n    }\n  }\n\n  ngOnDestroy(): void {\n    this.detachFns.forEach((fn) => fn());\n  }\n}\n","/*\n * Secondary entry point for TextInput\n * Allows importing like: import { FabricTextInputDirective } from '@fabric-msft/fabric-angular/text-input'\n */\nexport { FabricTextInputControlDirective } from \"./textInput.directive\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}