{"version":3,"file":"fabric-msft-fabric-angular-slider.mjs","sources":["../../../projects/fabric-wrappers/slider/slider.directive.ts","../../../projects/fabric-wrappers/slider/public-api.ts","../../../projects/fabric-wrappers/slider/fabric-msft-fabric-angular-slider.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 { Slider, SliderDefinition } from \"@fabric-msft/fabric-web\";\n\n@Directive({\n  selector: \"fabric-slider\",\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => FabricSliderControlDirective),\n      multi: true\n    }\n  ],\n  standalone: true\n})\nexport class FabricSliderControlDirective implements ControlValueAccessor {\n  protected el: Slider;\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.value;\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-slider\")) {\n      SliderDefinition.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, \"change\", () =>\n        this.z.run(() => this.onChange(this.el.value))\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.value = 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 Slider\n * Allows importing like: import { FabricSliderDirective } from '@fabric-msft/fabric-angular/slider'\n */\nexport { FabricSliderControlDirective } from \"./slider.directive\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}