{"version":3,"file":"ng-doc-ui-kit-components-option.mjs","sources":["../../../../libs/ui-kit/components/option/option.component.ts","../../../../libs/ui-kit/components/option/ng-doc-ui-kit-components-option.ts"],"sourcesContent":["import {\n  ChangeDetectionStrategy,\n  Component,\n  ElementRef,\n  HostBinding,\n  HostListener,\n  inject,\n  OnDestroy,\n} from '@angular/core';\nimport { NgDocListItem } from '@ng-doc/ui-kit/classes/list-item';\nimport { NgDocListComponent } from '@ng-doc/ui-kit/components/list';\nimport { DICompareHost, DIStateControl, injectHostControl } from 'di-controls';\n\n@Component({\n  selector: 'ng-doc-option',\n  template: '<ng-content></ng-content>',\n  styleUrls: ['./option.component.scss'],\n  providers: [\n    {\n      provide: NgDocListItem,\n      useExisting: NgDocOptionComponent,\n    },\n  ],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n})\nexport class NgDocOptionComponent<T> extends DIStateControl<T> implements NgDocListItem, OnDestroy {\n  @HostBinding('attr.data-ng-doc-hover')\n  protected hovered: boolean = false;\n\n  override readonly elementRef: ElementRef<HTMLElement> = inject(ElementRef);\n  protected readonly list: NgDocListComponent | null = inject(NgDocListComponent, {\n    optional: true,\n  });\n\n  constructor() {\n    super({\n      host: injectHostControl({ optional: true }),\n      compareHost: inject(DICompareHost, { optional: true }),\n    });\n\n    this.list?.registerItem(this);\n  }\n\n  @HostListener('click')\n  clickEvent(): void {\n    this.check();\n  }\n\n  selectByUser(): void {\n    const anchor: HTMLAnchorElement | null = this.elementRef.nativeElement.querySelector('a');\n\n    anchor ? anchor.click() : this.check();\n  }\n\n  setActiveStyles(): void {\n    this.hovered = true;\n    this.changeDetectorRef.markForCheck();\n  }\n\n  setInactiveStyles(): void {\n    this.hovered = false;\n    this.changeDetectorRef.markForCheck();\n  }\n\n  ngOnDestroy(): void {\n    this.list?.unregisterItem(this);\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AA0BM,MAAO,oBAAwB,SAAQ,cAAiB,CAAA;AAS5D,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,CAAC;YACJ,IAAI,EAAE,iBAAiB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC3C,WAAW,EAAE,MAAM,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACvD,SAAA,CAAC;QAXM,IAAA,CAAA,OAAO,GAAY,KAAK;AAEhB,QAAA,IAAA,CAAA,UAAU,GAA4B,MAAM,CAAC,UAAU,CAAC;AACvD,QAAA,IAAA,CAAA,IAAI,GAA8B,MAAM,CAAC,kBAAkB,EAAE;AAC9E,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA,CAAC;AAQA,QAAA,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC;IAC/B;IAGA,UAAU,GAAA;QACR,IAAI,CAAC,KAAK,EAAE;IACd;IAEA,YAAY,GAAA;AACV,QAAA,MAAM,MAAM,GAA6B,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC;AAEzF,QAAA,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE;IACxC;IAEA,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI;AACnB,QAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE;IACvC;IAEA,iBAAiB,GAAA;AACf,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK;AACpB,QAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE;IACvC;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC;IACjC;8GAzCW,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,cAAA,EAAA,EAAA,UAAA,EAAA,EAAA,wBAAA,EAAA,cAAA,EAAA,EAAA,EAAA,SAAA,EATpB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,aAAa;AACtB,gBAAA,WAAW,EAAE,oBAAoB;AAClC,aAAA;AACF,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAPS,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,wiBAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAW1B,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAbhC,SAAS;+BACE,eAAe,EAAA,QAAA,EACf,2BAA2B,EAAA,SAAA,EAE1B;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,aAAa;AACtB,4BAAA,WAAW,EAAA,oBAAsB;AAClC,yBAAA;AACF,qBAAA,EAAA,eAAA,EACgB,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,IAAI,EAAA,MAAA,EAAA,CAAA,wiBAAA,CAAA,EAAA;;sBAGf,WAAW;uBAAC,wBAAwB;;sBAiBpC,YAAY;uBAAC,OAAO;;;AC5CvB;;AAEG;;;;"}