{"version":3,"file":"fabric-msft-fabric-angular-switch.mjs","sources":["../../../projects/fabric-wrappers/switch/switch.directive.ts","../../../projects/fabric-wrappers/switch/public-api.ts","../../../projects/fabric-wrappers/switch/fabric-msft-fabric-angular-switch.ts"],"sourcesContent":["import { SwitchDefinition } from \"@fabric-msft/fabric-web\";\nimport {\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 type { Switch } from \"@fabric-msft/fabric-web\";\n@Directive({\n  selector: \"fabric-switch\",\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => FabricSwitchControlDirective),\n      multi: true\n    }\n  ],\n  standalone: true\n})\nexport class FabricSwitchControlDirective implements ControlValueAccessor {\n  protected el: Switch;\n  private _checked: boolean;\n\n  @Input() value: string;\n  @Input() disabled: boolean;\n\n  @Input() set checked(value: boolean) {\n    if (value !== undefined) {\n      this.writeValue(value);\n    }\n  }\n\n  get checked() {\n    return this._checked;\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-switch\")) {\n      SwitchDefinition.define(customElements);\n    }\n    this.listenForChanges();\n  }\n\n  private listenForChanges() {\n    this.el.addEventListener(\"change\", this.changeEventHandler);\n    this.el.addEventListener(\"blur\", this.blurEventHandler);\n  }\n\n  private changeEventHandler = (event: Event) => {\n    this.writeValue(this.el.checked);\n    this.onChange(this.checked);\n  };\n\n  private blurEventHandler = () => {\n    this.onTouched();\n  };\n\n  writeValue(value: boolean): void {\n    this._checked = this.el.checked = !!value;\n  }\n\n  onChange = (value: boolean) => {};\n  registerOnChange(onChange: (value: boolean) => 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.el.removeEventListener(\"change\", this.changeEventHandler);\n    this.el.removeEventListener(\"blur\", this.blurEventHandler);\n  }\n}\n","/*\n * Secondary entry point for Switch\n * Allows importing like: import { FabricSwitchDirective } from '@fabric-msft/fabric-angular/switch'\n */\nexport { FabricSwitchControlDirective } from \"./switch.directive\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;MAuBa,4BAA4B,CAAA;IAOvC,IAAa,OAAO,CAAC,KAAc,EAAA;AACjC,QAAA,IAAI,KAAK,KAAK,SAAS,EAAE;AACvB,YAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QACxB;IACF;AAEA,IAAA,IAAI,OAAO,GAAA;QACT,OAAO,IAAI,CAAC,QAAQ;IACtB;AAEA,IAAA,WAAA,CACE,CAAa,EACH,CAAS,EACX,QAAmB,EAAA;QADjB,IAAA,CAAA,CAAC,GAAD,CAAC;QACH,IAAA,CAAA,QAAQ,GAAR,QAAQ;AAcV,QAAA,IAAA,CAAA,kBAAkB,GAAG,CAAC,KAAY,KAAI;YAC5C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;AAChC,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;AAC7B,QAAA,CAAC;QAEO,IAAA,CAAA,gBAAgB,GAAG,MAAK;YAC9B,IAAI,CAAC,SAAS,EAAE;AAClB,QAAA,CAAC;AAMD,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAC,KAAc,KAAI,EAAE,CAAC;AAKjC,QAAA,IAAA,CAAA,SAAS,GAAG,MAAK,EAAE,CAAC;AA9BlB,QAAA,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;QACzB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE;AACxC,YAAA,gBAAgB,CAAC,MAAM,CAAC,cAAc,CAAC;QACzC;QACA,IAAI,CAAC,gBAAgB,EAAE;IACzB;IAEQ,gBAAgB,GAAA;QACtB,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,kBAAkB,CAAC;QAC3D,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC;IACzD;AAWA,IAAA,UAAU,CAAC,KAAc,EAAA;AACvB,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK;IAC3C;AAGA,IAAA,gBAAgB,CAAC,QAAkC,EAAA;AACjD,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;IAC1B;AAGA,IAAA,iBAAiB,CAAC,SAAqB,EAAA;AACrC,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS;IAC5B;AAEA,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU;QAE1B,IAAI,UAAU,EAAE;AACd,YAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC;QACzD;aAAO;YACL,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC;QACpD;IACF;IAEA,WAAW,GAAA;QACT,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,kBAAkB,CAAC;QAC9D,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC;IAC5D;+GAtEW,4BAA4B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAT5B;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,4BAA4B,CAAC;AAC3D,gBAAA,KAAK,EAAE;AACR;AACF,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAGU,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAXxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,kCAAkC,CAAC;AAC3D,4BAAA,KAAK,EAAE;AACR;AACF,qBAAA;AACD,oBAAA,UAAU,EAAE;AACb,iBAAA;4HAKU,KAAK,EAAA,CAAA;sBAAb;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBAEY,OAAO,EAAA,CAAA;sBAAnB;;;AC9BH;;;AAGG;;ACHH;;AAEG;;;;"}