{"version":3,"file":"uib-angular-components-loading-indicator.mjs","sources":["../../../../libs/angular-components/components/loading-indicator/src/lib/loading-indicactor.component.ts","../../../../libs/angular-components/components/loading-indicator/src/lib/loading-indicator.component.html","../../../../libs/angular-components/components/loading-indicator/src/lib/loading-indicator.module.ts","../../../../libs/angular-components/components/loading-indicator/src/uib-angular-components-loading-indicator.ts"],"sourcesContent":["import { transition, trigger, useAnimation } from '@angular/animations';\nimport {\n  AfterViewInit,\n  Attribute,\n  ChangeDetectionStrategy,\n  Component,\n  ElementRef,\n  OnDestroy,\n  Renderer2,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { fadeIn, fadeOut } from '@uib/angular/animations';\nimport { WindowRef } from '@uib/angular/common';\nimport { hasHorizontalScrollbar, hasScrollbar, hasVerticalScrollbar, isStaticPosition, isTransparentColor, px } from '@uib/angular/utils';\n\n@Component({\n  selector: 'uib-loading-indicator',\n  templateUrl: 'loading-indicator.component.html',\n  styleUrls: ['loading-indicator.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  host: {\n    '[@hostAnimation]': 'true',\n    '[class.uib-loading-indicator]': 'true',\n  },\n  animations: [trigger('hostAnimation', [transition(':enter', [useAnimation(fadeIn)]), transition(':leave', [useAnimation(fadeOut)])])],\n})\nexport class LoadingIndicatorComponent implements AfterViewInit, OnDestroy {\n  private parent: HTMLElement | null;\n  private parentOverflow: string | null = null;\n\n  public get host(): HTMLElement {\n    return this.element.nativeElement;\n  }\n\n  constructor(\n    @Attribute('parent') public readonly targetParent: string,\n    private readonly windowRef: WindowRef,\n    public readonly element: ElementRef<HTMLElement>,\n    public readonly renderer: Renderer2,\n  ) {}\n\n  public ngAfterViewInit(): void {\n    this.parent = this.resolveParent();\n    this.applyStyles();\n    this.detectScrollbars();\n    this.detectBackgroundColor();\n  }\n\n  public ngOnDestroy(): void {\n    this.removeStyles();\n  }\n\n  private applyStyles() {\n    if (this.parent) {\n      if (isStaticPosition(this.windowRef.nativeWindow.getComputedStyle(this.parent))) {\n        this.renderer.setStyle(this.parent, 'position', 'relative');\n      }\n    }\n  }\n\n  private detectBackgroundColor() {\n    let parent = this.parent;\n    let currentColor: string | null = null;\n    while (parent) {\n      currentColor = this.windowRef.nativeWindow.getComputedStyle(parent).backgroundColor;\n      if (isTransparentColor(currentColor)) {\n        parent = parent.parentElement;\n        currentColor = null;\n      } else {\n        break;\n      }\n    }\n    this.renderer.setStyle(this.host, 'backgroundColor', currentColor);\n  }\n\n  private detectScrollbars() {\n    if (this.parent) {\n      const horizontalScrollbarPresent = hasHorizontalScrollbar(this.parent);\n      const verticalScrollbarPresent = hasVerticalScrollbar(this.parent);\n      if (horizontalScrollbarPresent) {\n        this.renderer.setStyle(this.host, 'left', px(this.parent.scrollLeft));\n      }\n      if (verticalScrollbarPresent) {\n        this.renderer.setStyle(this.host, 'top', px(this.parent.scrollTop));\n      }\n      if (horizontalScrollbarPresent || verticalScrollbarPresent) {\n        this.parentOverflow = this.parent.style.overflow ?? null;\n        this.renderer.setStyle(this.parent, 'overflow', 'hidden');\n      }\n    }\n  }\n\n  private removeStyles() {\n    this.renderer.setStyle(this.parent, 'overflow', this.parentOverflow);\n  }\n\n  private resolveParent() {\n    let parent = this.host.parentElement;\n    switch (this.targetParent) {\n      case 'auto':\n        while (parent) {\n          if (hasScrollbar(parent) && this.targetParent === 'auto') {\n            return parent;\n          }\n          parent = parent.parentElement;\n        }\n        return this.host.parentElement;\n    }\n\n    return parent;\n  }\n}\n","<div class=\"uib-loading-dots\">\n  <div class=\"uib-loading-dots__dot\"></div>\n  <div class=\"uib-loading-dots__dot\"></div>\n  <div class=\"uib-loading-dots__dot\"></div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { LoadingIndicatorComponent } from './loading-indicactor.component';\n\n@NgModule({\n  declarations: [LoadingIndicatorComponent],\n  exports: [LoadingIndicatorComponent],\n})\nexport class LoadingIndicatorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}