{"version":3,"file":"ng-doc-app-processors-processors-tooltip.mjs","sources":["../../../../libs/app/processors/processors/tooltip/tooltip.processor.ts","../../../../libs/app/processors/processors/tooltip/ng-doc-app-processors-processors-tooltip.ts"],"sourcesContent":["import {\n  AfterViewInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  inject,\n  Input,\n  ViewChild,\n} from '@angular/core';\nimport { NgDocPageProcessor } from '@ng-doc/app/interfaces';\nimport { NgDocTooltipDirective } from '@ng-doc/ui-kit';\n\n@Component({\n  selector: 'ng-doc-tooltip-wrapper',\n  template: `\n    <div\n      class=\"content-projection\"\n      [ngDocTooltip]=\"content ?? ''\"\n      [displayOrigin]=\"tooltipElement ?? contentProjection\"\n      [pointerOrigin]=\"tooltipElement ?? contentProjection\"\n      #contentProjection>\n      <ng-content></ng-content>\n    </div>\n  `,\n  styles: [\n    `\n      .content-projection {\n        display: unset;\n      }\n    `,\n  ],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [NgDocTooltipDirective],\n})\nclass NgDocTooltipWrapperComponent implements AfterViewInit {\n  private readonly changeDetectorRef = inject(ChangeDetectorRef);\n\n  @Input()\n  content?: string;\n\n  protected tooltipElement: HTMLElement | null = null;\n\n  @ViewChild('contentProjection', { read: ElementRef, static: true })\n  private contentProjection?: ElementRef<HTMLElement>;\n\n  constructor() {}\n\n  ngAfterViewInit(): void {\n    if (this.contentProjection) {\n      const element: Element | null =\n        this.contentProjection.nativeElement.querySelector('[ngDocTooltip]');\n\n      this.tooltipElement = element instanceof HTMLElement ? element : null;\n\n      this.changeDetectorRef.detectChanges();\n    }\n  }\n}\n\nexport const tooltipProcessor: NgDocPageProcessor<NgDocTooltipWrapperComponent> = {\n  component: NgDocTooltipWrapperComponent,\n  selector: '[ngDocTooltip]',\n  extractOptions: (element: Element) => ({\n    inputs: {\n      content: element.getAttribute('ngDocTooltip') ?? '',\n    },\n    content: [[element.cloneNode(true)]],\n  }),\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAaA,MAsBM,4BAA4B,CAAA;AAWhC,IAAA,WAAA,GAAA;AAViB,QAAA,IAAA,CAAA,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC;QAKpD,IAAA,CAAA,cAAc,GAAuB,IAAI;IAKpC;IAEf,eAAe,GAAA;AACb,QAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE;AAC1B,YAAA,MAAM,OAAO,GACX,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,aAAa,CAAC,gBAAgB,CAAC;AAEtE,YAAA,IAAI,CAAC,cAAc,GAAG,OAAO,YAAY,WAAW,GAAG,OAAO,GAAG,IAAI;AAErE,YAAA,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE;QACxC;IACF;8GAtBI,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA5B,4BAA4B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAQQ,UAAU,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EA5BxC;;;;;;;;;AAST,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,sCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EASS,qBAAqB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,OAAA,EAAA,eAAA,EAAA,eAAA,EAAA,WAAA,EAAA,SAAA,EAAA,YAAA,EAAA,WAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,UAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,EAAA,WAAA,EAAA,aAAA,EAAA,YAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAE3B,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAtBjC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,wBAAwB,EAAA,QAAA,EACxB;;;;;;;;;AAST,EAAA,CAAA,EAAA,eAAA,EAQgB,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC,CAAC,qBAAqB,CAAC,EAAA,MAAA,EAAA,CAAA,sCAAA,CAAA,EAAA;;sBAK/B;;sBAKA,SAAS;uBAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE;;AAiB7D,MAAM,gBAAgB,GAAqD;AAChF,IAAA,SAAS,EAAE,4BAA4B;AACvC,IAAA,QAAQ,EAAE,gBAAgB;AAC1B,IAAA,cAAc,EAAE,CAAC,OAAgB,MAAM;AACrC,QAAA,MAAM,EAAE;YACN,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,EAAE;AACpD,SAAA;QACD,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;KACrC,CAAC;;;ACpEJ;;AAEG;;;;"}