{"version":3,"file":"ng-devui-popover.mjs","sources":["../../devui/popover/popover.component.ts","../../devui/popover/popover.component.html","../../devui/popover/popover.directive.ts","../../devui/popover/popover.module.ts","../../devui/popover/ng-devui-popover.ts"],"sourcesContent":["import { DOCUMENT } from '@angular/common';\r\nimport {\r\n  AfterViewInit,\r\n  ChangeDetectorRef,\r\n  Component,\r\n  ElementRef,\r\n  HostBinding,\r\n  HostListener,\r\n  Inject,\r\n  Input,\r\n  OnChanges,\r\n  OnDestroy,\r\n  OnInit,\r\n  Renderer2,\r\n  SimpleChanges,\r\n  TemplateRef,\r\n} from '@angular/core';\r\nimport { PositionService } from 'ng-devui/position';\r\nimport { directionFadeInOut } from 'ng-devui/utils';\r\nimport { Subscription, fromEvent } from 'rxjs';\r\nimport { debounceTime } from 'rxjs/operators';\r\nimport { PopoverType, PositionType } from './popover.types';\r\n\r\ninterface PopoverStyle {\r\n  backgroundColor?: string;\r\n}\r\n\r\n@Component({\r\n  selector: 'd-popover',\r\n  templateUrl: './popover.component.html',\r\n  styleUrls: [`./popover.component.scss`],\r\n  animations: [directionFadeInOut],\r\n})\r\nexport class PopoverComponent implements OnInit, AfterViewInit, OnDestroy, OnChanges {\r\n  @Input() triggerElementRef: ElementRef;\r\n  currentPosition: PositionType = 'top';\r\n  connectionBias: string;\r\n  _position: PositionType | PositionType[] = ['top', 'left', 'bottom', 'right'];\r\n  @Input() get position() {\r\n    return this._position;\r\n  }\r\n  set position(pos) {\r\n    this._position = pos;\r\n    this.currentPosition = Array.isArray(pos) ? pos[0] : pos;\r\n  }\r\n  @Input() content: string | HTMLElement | TemplateRef<any>;\r\n  @Input() showAnimation = true;\r\n  @Input() scrollElement: Element;\r\n  @Input() autoHideCoefficient = 0;\r\n  @Input() appendToBody: boolean;\r\n  @Input() zIndex = 1060;\r\n  @Input() popType: PopoverType;\r\n  @Input() popMaxWidth: number;\r\n  @Input() popoverStyle: PopoverStyle;\r\n\r\n  /**\r\n   * @deprecated Use mouseLeaveDelay to replace.\r\n   */\r\n  @Input() set hoverDelayTime(delayTime: any) {\r\n    this.mouseLeaveDelay = delayTime;\r\n  }\r\n\r\n  // 防止每次鼠标不小心经过目标元素就会显示出PopOver的内容，所以增加适当的延迟。\r\n  @Input() mouseEnterDelay = 150;\r\n\r\n  // 因为鼠标移出之后如果立刻消失会很突然，所以增加略小一些的延迟，使得既不突然也反应灵敏\r\n  @Input() mouseLeaveDelay = 100;\r\n  animateState: string;\r\n\r\n  @HostBinding('style.display') get display() {\r\n    return this.content ? 'block' : 'none';\r\n  }\r\n  @HostBinding('class') get class() {\r\n    return 'devui-popover ' + this.currentPosition + ' ' + this.connectionBias + ' devui-popover-' + this.popType;\r\n  }\r\n  @HostBinding('@directionFadeInOut') get state() {\r\n    return this.showAnimation && this.animateState;\r\n  }\r\n  @HostBinding('@.disabled') get disabled() {\r\n    return !this.showAnimation;\r\n  }\r\n  get template() {\r\n    return this.content instanceof TemplateRef ? this.content : null;\r\n  }\r\n\r\n  document: Document;\r\n  hasSetScrollElement = false;\r\n  subs: Subscription = new Subscription();\r\n  SCROLL_REFRESH_INTERVAL = 100;\r\n\r\n  constructor(\r\n    private renderer: Renderer2,\r\n    private positionService: PositionService,\r\n    public elementRef: ElementRef,\r\n    private cdr: ChangeDetectorRef,\r\n    @Inject(DOCUMENT) private doc: any\r\n  ) {\r\n    this.document = this.doc;\r\n  }\r\n\r\n  ngOnInit() {\r\n    this.elementRef.nativeElement.style.zIndex = this.zIndex;\r\n  }\r\n\r\n  ngAfterViewInit() {\r\n    this.updatePosition();\r\n    if (this.appendToBody) {\r\n      if (this.scrollElement) {\r\n        this.hasSetScrollElement = this.autoHideCoefficient >= 0;\r\n      } else {\r\n        this.scrollElement = this.positionService.getScrollParent(this.triggerElementRef.nativeElement);\r\n      }\r\n      this.subs.add(\r\n        fromEvent(this.scrollElement || window, 'scroll')\r\n          .pipe(debounceTime(this.SCROLL_REFRESH_INTERVAL))\r\n          .subscribe(() => {\r\n            this.updatePosition();\r\n          })\r\n      );\r\n      this.subs.add(\r\n        fromEvent(window, 'resize')\r\n          .pipe(debounceTime(this.SCROLL_REFRESH_INTERVAL))\r\n          .subscribe(() => {\r\n            this.updatePosition();\r\n          })\r\n      );\r\n    }\r\n  }\r\n\r\n  ngOnChanges(changes: SimpleChanges): void {\r\n    if (changes.content) {\r\n      if (this.content !== undefined) {\r\n        this.updatePosition();\r\n      }\r\n    }\r\n  }\r\n\r\n  show() {}\r\n\r\n  hide() {\r\n    this.animateState = 'void';\r\n  }\r\n\r\n  // will be overwrite by directive\r\n  onHidden() {}\r\n\r\n  @HostListener('@directionFadeInOut.done', ['$event'])\r\n  onAnimationEnd(event) {\r\n    if (event.toState === 'void') {\r\n      this.onHidden();\r\n    }\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    if (this.subs) {\r\n      this.subs.unsubscribe();\r\n    }\r\n  }\r\n\r\n  updatePosition() {\r\n    this.renderer.setStyle(this.elementRef.nativeElement, 'visibility', 'hidden');\r\n    this.renderer.setStyle(this.elementRef.nativeElement, 'transform', 'translate(0, -99999px)');\r\n    const rect = this.positionService.positionElements(\r\n      this.triggerElementRef.nativeElement,\r\n      this.elementRef.nativeElement,\r\n      this.position,\r\n      this.appendToBody\r\n    );\r\n    setTimeout(() => {\r\n      this.currentPosition = rect.placementPrimary;\r\n      if (this.checkBounds(rect)) {\r\n        return;\r\n      }\r\n      this.animateState = this.currentPosition;\r\n      this.connectionBias = `bias-${rect.placementSecondary}`;\r\n      if (rect.placementSecondary === 'center') {\r\n        if (rect.placementPrimary === 'left' || rect.placementPrimary === 'right') {\r\n          this.connectionBias = 'bias-vertical-center';\r\n        } else {\r\n          this.connectionBias = 'bias-horizontal-center';\r\n        }\r\n      }\r\n      this.renderer.setStyle(this.elementRef.nativeElement, 'left', `${rect.left}px`);\r\n      this.renderer.setStyle(this.elementRef.nativeElement, 'top', `${rect.top}px`);\r\n      // 移除样式\r\n      this.renderer.removeStyle(this.elementRef.nativeElement, 'visibility');\r\n      this.renderer.removeStyle(this.elementRef.nativeElement, 'transform');\r\n    });\r\n  }\r\n\r\n  checkBounds(rect: DOMRect): boolean {\r\n    // 手动设置了scrollElement才执行自动隐藏逻辑，位置信息及判断排列顺序都遵循上右下左\r\n    if (this.hasSetScrollElement) {\r\n      const docElement = this.document.documentElement ? this.document.documentElement : this.document.body;\r\n      const { scrollLeft, scrollTop } = docElement;\r\n      const containerRect = this.scrollElement.getBoundingClientRect();\r\n      const rectFix = {\r\n        ...rect,\r\n        top: rect.top + rect.height * this.autoHideCoefficient,\r\n        right: rect.right - rect.width * this.autoHideCoefficient,\r\n        bottom: rect.bottom - rect.height * this.autoHideCoefficient,\r\n        left: rect.left + rect.width * this.autoHideCoefficient,\r\n      };\r\n      const positionFix = {\r\n        top: [rectFix.height, 0, 0, 0],\r\n        right: [0, -1 * rectFix.width, 0, 0],\r\n        bottom: [0, 0, -1 * rectFix.height, 0],\r\n        left: [0, 0, 0, rectFix.width],\r\n      };\r\n      const positionKeyword = this.currentPosition.split('-')[0];\r\n      const positionFixArr = positionFix[positionKeyword] ?? [0, 0, 0, 0];\r\n      const bounds = [\r\n        Math.round(rectFix.top + positionFixArr[0]) >= Math.round(containerRect.top + scrollTop),\r\n        Math.round(rectFix.right + positionFixArr[1]) <= Math.round(containerRect.left + containerRect.width + scrollLeft),\r\n        Math.round(rectFix.bottom + positionFixArr[2]) <= Math.round(containerRect.top + containerRect.height + scrollTop),\r\n        Math.round(rectFix.left + positionFixArr[3]) >= Math.round(containerRect.left + scrollLeft),\r\n      ];\r\n      if (bounds.includes(false)) {\r\n        this.animateState = 'void';\r\n        return true;\r\n      }\r\n    }\r\n    return false;\r\n  }\r\n\r\n  public updatePositionAndDetectChange() {\r\n    this.updatePosition();\r\n    this.cdr.detectChanges();\r\n  }\r\n}\r\n","<div class=\"arrow\" [ngStyle]=\"{ backgroundColor: popoverStyle?.backgroundColor ? popoverStyle.backgroundColor : '' }\"></div>\r\n<div\r\n  class=\"devui-popover-content\"\r\n  [style.maxWidth.px]=\"popMaxWidth\"\r\n  [style.width]=\"popMaxWidth ? 'fit-content' : 'auto'\"\r\n  [ngStyle]=\"popoverStyle\"\r\n>\r\n  <span class=\"devui-popover-icon\" *ngIf=\"popType && popType !== 'default'\">\r\n    <svg\r\n      *ngIf=\"popType === 'success'\"\r\n      class=\"devui-icon devui-icon-success\"\r\n      viewBox=\"0 0 16 16\"\r\n      version=\"1.1\"\r\n      xmlns=\"http://www.w3.org/2000/svg\"\r\n      xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n    >\r\n      <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n        <circle cx=\"8\" cy=\"8\" r=\"7\"></circle>\r\n        <path d=\"M8,0 C3.6,0 0,3.6 0,8 C0,12.4 3.6,16 8,16 C12.4,16 16,12.4 16,8 C16,3.6 12.4,0 8,0 Z\" fill-rule=\"nonzero\"></path>\r\n        <polygon\r\n          stroke-width=\"0.4\"\r\n          fill-rule=\"nonzero\"\r\n          points=\"8.16 10.48 7.32 11.32 6.48 10.48 6.48 10.48 3.6 7.68 4.44 6.84 7.28 9.68 11.52 5.44 12.36 6.28\"\r\n        ></polygon>\r\n      </g>\r\n    </svg>\r\n    <svg\r\n      *ngIf=\"popType === 'warning'\"\r\n      class=\"devui-icon devui-icon-warning\"\r\n      viewBox=\"0 0 16 16\"\r\n      version=\"1.1\"\r\n      xmlns=\"http://www.w3.org/2000/svg\"\r\n      xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n    >\r\n      <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n        <polygon\r\n          points=\"7.5 1.74501946 1.39184847 13.5954649 7.08947368 14.2207621 13.9973698 13.5954649 10.9383683 5.61273879 8.40084114 1.27624313\"\r\n        ></polygon>\r\n        <path\r\n          d=\"M8.51325441,0.127397589 C8.70423071,0.228333932 8.8605922,0.383286648 8.96244623,0.57254229 L15.8714442,13.4101975 C16.1549662,13.9370117 15.9538562,14.5918482 15.4222523,14.8728158 C15.2642579,14.9563203 15.0879506,15 14.9088903,15 L1.09089441,15 C0.488410063,15 0,14.5159904 0,13.9189343 C0,13.7414873 0.0440768395,13.5667684 0.128340519,13.4101975 L7.03733844,0.57254229 C7.32086049,0.0457280838 7.98165058,-0.153569987 8.51325441,0.127397589 Z M8.87894737,11.2105263 L7.08947368,11.2105263 L7.08947368,13 L8.87894737,13 L8.87894737,11.2105263 Z M8.96842105,4.5 L7,4.5 L7.08947368,9.86842105 L8.87894737,9.86842105 L8.96842105,4.5 Z\"\r\n        ></path>\r\n      </g>\r\n    </svg>\r\n    <svg\r\n      *ngIf=\"popType === 'info'\"\r\n      class=\"devui-icon devui-icon-info\"\r\n      viewBox=\"0 0 16 16\"\r\n      version=\"1.1\"\r\n      xmlns=\"http://www.w3.org/2000/svg\"\r\n      xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n    >\r\n      <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n        <circle cx=\"8\" cy=\"8\" r=\"7\"></circle>\r\n        <g stroke-width=\"1\">\r\n          <path\r\n            d=\"M8,0 C3.6,0 0,3.6 0,8 C0,12.4 3.6,16 8,16 C12.4,16 16,12.4 16,8 C16,3.6 12.4,0 8,0 Z M9,5 L7,5 L7,3 L9,3 L9,5 Z M9,12.6 L7,12.6 L7,6.6 L9,6.6 L9,12.6 Z\"\r\n          ></path>\r\n        </g>\r\n      </g>\r\n    </svg>\r\n    <svg\r\n      *ngIf=\"popType === 'error'\"\r\n      class=\"devui-icon devui-icon-error\"\r\n      width=\"16px\"\r\n      height=\"16px\"\r\n      viewBox=\"0 0 16 16\"\r\n      version=\"1.1\"\r\n      xmlns=\"http://www.w3.org/2000/svg\"\r\n      xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n    >\r\n      <g id=\"清空\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n        <path\r\n          d=\"M8,1 C11.8659932,1 15,4.13400675 15,8 C15,11.8659932 11.8659932,15 8,15 C4.13400675,15 1,11.8659932 1,8 C1,4.13400675 4.13400675,1 8,1 Z M5.87867966,5.17157288 C5.68341751,4.97631073 5.36683502,4.97631073 5.17157288,5.17157288 C4.99800652,5.34513923 4.97872137,5.61456363 5.11371742,5.80943177 L5.17157288,5.87867966 L7.29218611,7.99929289 L5.17157288,10.1213203 C4.97631073,10.3165825 4.97631073,10.633165 5.17157288,10.8284271 C5.34513923,11.0019935 5.61456363,11.0212786 5.80943177,10.8862826 L5.87867966,10.8284271 L7.99929289,8.70639967 L10.1213203,10.8284271 C10.3165825,11.0236893 10.633165,11.0236893 10.8284271,10.8284271 C11.0019935,10.6548608 11.0212786,10.3854364 10.8862826,10.1905682 L10.8284271,10.1213203 L8.70710678,8 L10.8284271,5.87867966 C11.0236893,5.68341751 11.0236893,5.36683502 10.8284271,5.17157288 C10.6548608,4.99800652 10.3854364,4.97872137 10.1905682,5.11371742 L10.1213203,5.17157288 L8,7.29289322 L5.87867966,5.17157288 Z\"\r\n          fill-rule=\"nonzero\"\r\n        ></path>\r\n      </g>\r\n    </svg>\r\n  </span>\r\n  <ng-template [ngTemplateOutlet]=\"template || defaultTemplate\"> </ng-template>\r\n  <ng-template #defaultTemplate>\r\n    <div class=\"devui-popover-main-content\" [ngClass]=\"{ 'with-icon': popType && popType !== 'default' }\" [innerHTML]=\"content\"></div>\r\n  </ng-template>\r\n</div>\r\n","import { DOCUMENT } from '@angular/common';\r\nimport {\r\n  ComponentFactoryResolver,\r\n  ComponentRef,\r\n  Directive,\r\n  ElementRef,\r\n  Inject,\r\n  Injector,\r\n  Input,\r\n  OnDestroy,\r\n  OnInit,\r\n  TemplateRef,\r\n  ViewContainerRef\r\n} from '@angular/core';\r\nimport { OverlayContainerRef } from 'ng-devui/overlay-container';\r\nimport { DevConfigService, WithConfig } from 'ng-devui/utils';\r\nimport { fromEvent, Subject, Subscription } from 'rxjs';\r\nimport { debounceTime, filter, map, takeUntil } from 'rxjs/operators';\r\nimport { PopoverComponent } from './popover.component';\r\nimport { PopoverType, PositionType, TriggerType } from './popover.types';\r\n\r\n@Directive({\r\n  selector: '[dPopover]',\r\n  exportAs: 'dPopover',\r\n})\r\nexport class PopoverDirective implements OnInit, OnDestroy {\r\n  popoverComponentRef: ComponentRef<PopoverComponent>;\r\n  _content: string | HTMLElement | TemplateRef<any>;\r\n  private subscription: Subscription = new Subscription();\r\n  /**\r\n   * popover内容\r\n   */\r\n  @Input() set content(_popoverContent) {\r\n    this._content = _popoverContent;\r\n    if (this.popoverComponentRef) {\r\n      this.popoverComponentRef.instance.content = _popoverContent;\r\n      setTimeout(() => {\r\n        if (this.popoverComponentRef) {\r\n          this.popoverComponentRef.instance.updatePosition();\r\n        }\r\n      });\r\n    }\r\n  }\r\n  /**\r\n   * 是否通过visible来控制popover状态\r\n   */\r\n  @Input() controlled: boolean;\r\n  /**\r\n   * popover显示位置\r\n   */\r\n  @Input() position: PositionType | PositionType[] = ['top', 'right', 'bottom', 'left'];\r\n  /**\r\n   * 是否显示动画\r\n   */\r\n  @Input() @WithConfig() showAnimation = true;\r\n\r\n  /**\r\n   * @deprecated Use showAnimation to replace.\r\n   */\r\n  @Input() set showAnimate(isShowAnimate: any) {\r\n    this.showAnimation = isShowAnimate;\r\n  }\r\n\r\n  /**\r\n   * `scrollElement` 默认值是 `window `, 可以不传，只有当页面的滚动不在 window 且`appendToBody`属性为`true`上的时候才需要传递\r\n   */\r\n  @Input() scrollElement: Element;\r\n  /**\r\n   * 自动隐藏系数，弹出框超出已设置的 scrollELment 边界时会自动隐藏，该值与弹出框的宽或高乘积控制超出边界多少后自动隐藏，为负数时不隐藏\r\n   */\r\n  @Input() autoHideCoefficient = 0;\r\n  /**\r\n   * `appendToBody`默认可以不传，仅当popover绑定元素外层宽高不够时，overflow为hidden，不想popover的弹出框被一并隐藏掉。\r\n   */\r\n  @Input() appendToBody = true;\r\n  @Input() zIndex = 1060;\r\n  @Input() popType: PopoverType = 'default';\r\n  @Input() popMaxWidth: number;\r\n  // 触发 popover 的方式（点击/鼠标悬停等）\r\n  @Input() trigger: TriggerType = 'click';\r\n\r\n  /**\r\n   * @deprecated\r\n   * 是否可以移入popover内部\r\n   */\r\n  @Input() hoverToContent = false;\r\n\r\n  /**\r\n   * @deprecated Use mouseLeaveDelay to replace.\r\n   * 曾经是触发移入popover内部的延迟时间\r\n   * 废弃,现在使用参数mouseLeaveDelay代替\r\n   */\r\n  @Input() set hoverDelayTime(delayTime: any) {\r\n    this.mouseLeaveDelay = delayTime;\r\n  }\r\n\r\n  // 设置样式\r\n  @Input() popoverStyle: object;\r\n\r\n  // 防止每次鼠标不小心经过目标元素就会显示出PopOver的内容，所以增加适当的延迟。\r\n  @Input() mouseEnterDelay = 150;\r\n\r\n  // 因为鼠标移出之后如果立刻消失会很突然，所以增加略小一些的延迟，使得既不突然也反应灵敏\r\n  @Input() mouseLeaveDelay = 100;\r\n  isEnter: boolean;\r\n  unsubscribe$ = new Subject<void>();\r\n  unsubscribeP$ = new Subject<void>();\r\n  document: Document;\r\n  @Input() set visible(_isShow: boolean) {\r\n    if (_isShow) {\r\n      // when set value and create component at the same time，should wait after ng2 dirty check done\r\n      setTimeout(() => this.show(), 0);\r\n    } else {\r\n      this.hide();\r\n    }\r\n  }\r\n\r\n  private get eleAppendToBody() {\r\n    return this.appendToBody || this.triggerElementRef.nativeElement.style.position === 'fixed';\r\n  }\r\n\r\n  constructor(\r\n    private triggerElementRef: ElementRef,\r\n    private overlayContainerRef: OverlayContainerRef,\r\n    private viewContainerRef: ViewContainerRef,\r\n    private injector: Injector,\r\n    private componentFactoryResolver: ComponentFactoryResolver,\r\n    private devConfigService: DevConfigService,\r\n    @Inject(DOCUMENT) private doc: any\r\n  ) {\r\n    this.document = this.doc;\r\n  }\r\n\r\n  onDocumentClick = (event) => {\r\n    event.stopPropagation();\r\n    if (this.controlled && !this.triggerElementRef.nativeElement.contains(event.target) &&\r\n      !(this.popoverComponentRef && this.popoverComponentRef.instance.elementRef.nativeElement.contains(event.target))) {\r\n      this.hide();\r\n    }\r\n  };\r\n\r\n  createPopover() {\r\n    if (this.eleAppendToBody) {\r\n      this.popoverComponentRef = this.overlayContainerRef.createComponent(\r\n        this.componentFactoryResolver.resolveComponentFactory(PopoverComponent)\r\n      );\r\n    } else {\r\n      this.popoverComponentRef = this.viewContainerRef.createComponent(\r\n        this.componentFactoryResolver.resolveComponentFactory(PopoverComponent),\r\n        this.viewContainerRef.length,\r\n        this.injector\r\n      );\r\n    }\r\n\r\n    Object.assign(this.popoverComponentRef.instance, {\r\n      content: this._content,\r\n      triggerElementRef: this.triggerElementRef,\r\n      position: this.position,\r\n      popType: this.popType,\r\n      popMaxWidth: this.popMaxWidth,\r\n      scrollElement: this.scrollElement,\r\n      appendToBody: this.eleAppendToBody,\r\n      zIndex: this.zIndex,\r\n      showAnimation: this.showAnimation,\r\n      popoverStyle: this.popoverStyle,\r\n      autoHideCoefficient: this.autoHideCoefficient,\r\n    });\r\n\r\n    // 对创建的ToolTip组件添加鼠标移入和移出的监听事件\r\n    if (this.popoverComponentRef.instance.elementRef.nativeElement && this.trigger === 'hover') {\r\n      this.addMouseEvent();\r\n    }\r\n  }\r\n  addMouseEvent() {\r\n    const el = this.popoverComponentRef.instance.elementRef.nativeElement;\r\n    fromEvent(el, 'mouseenter')\r\n      .pipe(\r\n        map((event) => {\r\n          this.isEnter = true;\r\n          return event;\r\n        }),\r\n        debounceTime(0),\r\n        filter((event) => this.isEnter),\r\n        takeUntil(this.unsubscribeP$)\r\n      )\r\n      .subscribe(() => {\r\n        if (!this.popoverComponentRef) {\r\n          this.show();\r\n        }\r\n      });\r\n    fromEvent(el, 'mouseleave')\r\n      .pipe(\r\n        map((event) => {\r\n          this.isEnter = false;\r\n          return event;\r\n        }),\r\n        debounceTime(this.mouseLeaveDelay),\r\n        filter((event) => !this.isEnter),\r\n        takeUntil(this.unsubscribeP$)\r\n      )\r\n      .subscribe(() => {\r\n        this.hide();\r\n      });\r\n  }\r\n\r\n  show() {\r\n    this.hide();\r\n    if (!this.popoverComponentRef) {\r\n      this.createPopover();\r\n    }\r\n\r\n    this.popoverComponentRef.instance.show();\r\n    this.document.addEventListener('click', this.onDocumentClick);\r\n  }\r\n\r\n  destroy() {\r\n    if (this.popoverComponentRef) {\r\n      this.popoverComponentRef.destroy();\r\n      this.popoverComponentRef = null;\r\n    }\r\n    this.document.removeEventListener('click', this.onDocumentClick);\r\n    if (this.unsubscribeP$) {\r\n      this.unsubscribeP$.next();\r\n      this.unsubscribeP$.complete();\r\n    }\r\n  }\r\n\r\n  ngOnInit() {\r\n    const element = this.triggerElementRef.nativeElement;\r\n    if (this.trigger === 'click') {\r\n      this.subscription.add(\r\n        fromEvent(element, 'click').subscribe((event) => {\r\n          if (this.controlled) {\r\n            this.show();\r\n          }\r\n        })\r\n      );\r\n    } else if (this.trigger === 'hover') {\r\n      fromEvent(element, 'mouseenter')\r\n        .pipe(\r\n          map((event) => {\r\n            this.isEnter = true;\r\n            return event;\r\n          }),\r\n          debounceTime(this.mouseEnterDelay),\r\n          filter((event) => this.isEnter),\r\n          takeUntil(this.unsubscribe$)\r\n        )\r\n        .subscribe(() => {\r\n          if (!this.popoverComponentRef && this.controlled) {\r\n            this.show();\r\n          }\r\n        });\r\n\r\n      fromEvent(element, 'mouseleave')\r\n        .pipe(\r\n          map((event) => {\r\n            this.isEnter = false;\r\n            return event;\r\n          }),\r\n          debounceTime(this.mouseLeaveDelay),\r\n          filter((event) => !this.isEnter),\r\n          takeUntil(this.unsubscribe$)\r\n        )\r\n        .subscribe(() => {\r\n          if (this.controlled) {\r\n            this.hide();\r\n          }\r\n        });\r\n    }\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    if (this.unsubscribeP$) {\r\n      this.unsubscribeP$.next();\r\n      this.unsubscribeP$.complete();\r\n    }\r\n    this.unsubscribe$.next();\r\n    this.unsubscribe$.complete();\r\n    this.destroy();\r\n    this.subscription.unsubscribe();\r\n  }\r\n\r\n  hide() {\r\n    if (this.popoverComponentRef) {\r\n      if (!this.showAnimation) {\r\n        this.destroy();\r\n        return;\r\n      }\r\n\r\n      this.popoverComponentRef.instance.hide();\r\n      this.popoverComponentRef.instance.onHidden = () => {\r\n        this.destroy();\r\n      };\r\n    }\r\n    if (this.unsubscribeP$) {\r\n      this.unsubscribeP$.next();\r\n      this.unsubscribeP$.complete();\r\n    }\r\n  }\r\n}\r\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport { OverlayContainerModule } from 'ng-devui/overlay-container';\nimport {PositioningModule} from 'ng-devui/position';\nimport {PopoverComponent} from './popover.component';\nimport {PopoverDirective} from './popover.directive';\n\n@NgModule({\n  imports: [\n    CommonModule,\n    PositioningModule,\n    OverlayContainerModule\n  ],\n  exports: [PopoverComponent, PopoverDirective],\n  declarations: [PopoverComponent, PopoverDirective],\n\n})\nexport class PopoverModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;MAiCa,gBAAgB,CAAA;AAK3B,IAAA,IAAa,QAAQ,GAAA;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;IACD,IAAI,QAAQ,CAAC,GAAG,EAAA;AACd,QAAA,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;QACrB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;KAC1D;AAWD;;AAEG;IACH,IAAa,cAAc,CAAC,SAAc,EAAA;AACxC,QAAA,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;KAClC;AASD,IAAA,IAAkC,OAAO,GAAA;QACvC,OAAO,IAAI,CAAC,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;KACxC;AACD,IAAA,IAA0B,KAAK,GAAA;AAC7B,QAAA,OAAO,gBAAgB,GAAG,IAAI,CAAC,eAAe,GAAG,GAAG,GAAG,IAAI,CAAC,cAAc,GAAG,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC;KAC/G;AACD,IAAA,IAAwC,KAAK,GAAA;AAC3C,QAAA,OAAO,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,YAAY,CAAC;KAChD;AACD,IAAA,IAA+B,QAAQ,GAAA;AACrC,QAAA,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC;KAC5B;AACD,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,OAAO,YAAY,WAAW,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;KAClE;IAOD,WACU,CAAA,QAAmB,EACnB,eAAgC,EACjC,UAAsB,EACrB,GAAsB,EACJ,GAAQ,EAAA;QAJ1B,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;QACnB,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;QACjC,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QACrB,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;QACJ,IAAG,CAAA,GAAA,GAAH,GAAG,CAAK;QA5DpC,IAAe,CAAA,eAAA,GAAiB,KAAK,CAAC;QAEtC,IAAS,CAAA,SAAA,GAAkC,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QASrE,IAAa,CAAA,aAAA,GAAG,IAAI,CAAC;QAErB,IAAmB,CAAA,mBAAA,GAAG,CAAC,CAAC;QAExB,IAAM,CAAA,MAAA,GAAG,IAAI,CAAC;;QAad,IAAe,CAAA,eAAA,GAAG,GAAG,CAAC;;QAGtB,IAAe,CAAA,eAAA,GAAG,GAAG,CAAC;QAoB/B,IAAmB,CAAA,mBAAA,GAAG,KAAK,CAAC;AAC5B,QAAA,IAAA,CAAA,IAAI,GAAiB,IAAI,YAAY,EAAE,CAAC;QACxC,IAAuB,CAAA,uBAAA,GAAG,GAAG,CAAC;AAS5B,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC;KAC1B;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;KAC1D;IAED,eAAe,GAAA;QACb,IAAI,CAAC,cAAc,EAAE,CAAC;AACtB,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,YAAA,IAAI,IAAI,CAAC,aAAa,EAAE;gBACtB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,IAAI,CAAC,CAAC;aAC1D;iBAAM;AACL,gBAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;aACjG;AACD,YAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CACX,SAAS,CAAC,IAAI,CAAC,aAAa,IAAI,MAAM,EAAE,QAAQ,CAAC;AAC9C,iBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;iBAChD,SAAS,CAAC,MAAK;gBACd,IAAI,CAAC,cAAc,EAAE,CAAC;aACvB,CAAC,CACL,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,GAAG,CACX,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC;AACxB,iBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;iBAChD,SAAS,CAAC,MAAK;gBACd,IAAI,CAAC,cAAc,EAAE,CAAC;aACvB,CAAC,CACL,CAAC;SACH;KACF;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,IAAI,OAAO,CAAC,OAAO,EAAE;AACnB,YAAA,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;gBAC9B,IAAI,CAAC,cAAc,EAAE,CAAC;aACvB;SACF;KACF;AAED,IAAA,IAAI,MAAK;IAET,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;KAC5B;;AAGD,IAAA,QAAQ,MAAK;AAGb,IAAA,cAAc,CAAC,KAAK,EAAA;AAClB,QAAA,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,EAAE;YAC5B,IAAI,CAAC,QAAQ,EAAE,CAAC;SACjB;KACF;IAED,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE;AACb,YAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;SACzB;KACF;IAED,cAAc,GAAA;AACZ,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;AAC9E,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,WAAW,EAAE,wBAAwB,CAAC,CAAC;AAC7F,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAChD,IAAI,CAAC,iBAAiB,CAAC,aAAa,EACpC,IAAI,CAAC,UAAU,CAAC,aAAa,EAC7B,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,YAAY,CAClB,CAAC;QACF,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC;AAC7C,YAAA,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;gBAC1B,OAAO;aACR;AACD,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC;YACzC,IAAI,CAAC,cAAc,GAAG,CAAA,KAAA,EAAQ,IAAI,CAAC,kBAAkB,EAAE,CAAC;AACxD,YAAA,IAAI,IAAI,CAAC,kBAAkB,KAAK,QAAQ,EAAE;AACxC,gBAAA,IAAI,IAAI,CAAC,gBAAgB,KAAK,MAAM,IAAI,IAAI,CAAC,gBAAgB,KAAK,OAAO,EAAE;AACzE,oBAAA,IAAI,CAAC,cAAc,GAAG,sBAAsB,CAAC;iBAC9C;qBAAM;AACL,oBAAA,IAAI,CAAC,cAAc,GAAG,wBAAwB,CAAC;iBAChD;aACF;AACD,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,MAAM,EAAE,CAAG,EAAA,IAAI,CAAC,IAAI,CAAA,EAAA,CAAI,CAAC,CAAC;AAChF,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,CAAG,EAAA,IAAI,CAAC,GAAG,CAAA,EAAA,CAAI,CAAC,CAAC;;AAE9E,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;AACvE,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;AACxE,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,WAAW,CAAC,IAAa,EAAA;;AAEvB,QAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;AACtG,YAAA,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC;YAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;AACjE,YAAA,MAAM,OAAO,GAAG;AACd,gBAAA,GAAG,IAAI;gBACP,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,mBAAmB;gBACtD,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,mBAAmB;gBACzD,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,mBAAmB;gBAC5D,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,mBAAmB;aACxD,CAAC;AACF,YAAA,MAAM,WAAW,GAAG;gBAClB,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAC9B,gBAAA,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;AACpC,gBAAA,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;gBACtC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC;aAC/B,CAAC;AACF,YAAA,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3D,YAAA,MAAM,cAAc,GAAG,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACpE,YAAA,MAAM,MAAM,GAAG;gBACb,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,GAAG,SAAS,CAAC;gBACxF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,GAAG,aAAa,CAAC,KAAK,GAAG,UAAU,CAAC;gBAClH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,GAAG,aAAa,CAAC,MAAM,GAAG,SAAS,CAAC;gBAClH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,GAAG,UAAU,CAAC;aAC5F,CAAC;AACF,YAAA,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AAC1B,gBAAA,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;AAC3B,gBAAA,OAAO,IAAI,CAAC;aACb;SACF;AACD,QAAA,OAAO,KAAK,CAAC;KACd;IAEM,6BAA6B,GAAA;QAClC,IAAI,CAAC,cAAc,EAAE,CAAC;AACtB,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;KAC1B;AAnMU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,qIA8DjB,QAAQ,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AA9DP,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gBAAgB,ECjC7B,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,aAAA,EAAA,eAAA,EAAA,aAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,YAAA,EAAA,cAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,0BAAA,EAAA,wBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,cAAA,EAAA,OAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,YAAA,EAAA,YAAA,EAAA,eAAA,EAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,41JAmFA,EDpDc,MAAA,EAAA,CAAA,iqGAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAC,kBAAkB,CAAC,EAAA,CAAA,CAAA,EAAA;;4FAErB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAN5B,SAAS;+BACE,WAAW,EAAA,UAAA,EAGT,CAAC,kBAAkB,CAAC,EAAA,QAAA,EAAA,41JAAA,EAAA,MAAA,EAAA,CAAA,iqGAAA,CAAA,EAAA,CAAA;;0BAgE7B,MAAM;2BAAC,QAAQ,CAAA;yCA7DT,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBAIO,QAAQ,EAAA,CAAA;sBAApB,KAAK;gBAOG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,mBAAmB,EAAA,CAAA;sBAA3B,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBAKO,cAAc,EAAA,CAAA;sBAA1B,KAAK;gBAKG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBAGG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBAG4B,OAAO,EAAA,CAAA;sBAAxC,WAAW;uBAAC,eAAe,CAAA;gBAGF,KAAK,EAAA,CAAA;sBAA9B,WAAW;uBAAC,OAAO,CAAA;gBAGoB,KAAK,EAAA,CAAA;sBAA5C,WAAW;uBAAC,qBAAqB,CAAA;gBAGH,QAAQ,EAAA,CAAA;sBAAtC,WAAW;uBAAC,YAAY,CAAA;gBAqEzB,cAAc,EAAA,CAAA;sBADb,YAAY;uBAAC,0BAA0B,EAAE,CAAC,QAAQ,CAAC,CAAA;;;MEzHzC,gBAAgB,CAAA;AAI3B;;AAEG;IACH,IAAa,OAAO,CAAC,eAAe,EAAA;AAClC,QAAA,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC;AAChC,QAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC5B,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,OAAO,GAAG,eAAe,CAAC;YAC5D,UAAU,CAAC,MAAK;AACd,gBAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;AAC5B,oBAAA,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;iBACpD;AACH,aAAC,CAAC,CAAC;SACJ;KACF;AAcD;;AAEG;IACH,IAAa,WAAW,CAAC,aAAkB,EAAA;AACzC,QAAA,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;KACpC;AA0BD;;;;AAIG;IACH,IAAa,cAAc,CAAC,SAAc,EAAA;AACxC,QAAA,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;KAClC;IAcD,IAAa,OAAO,CAAC,OAAgB,EAAA;QACnC,IAAI,OAAO,EAAE;;YAEX,UAAU,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;SAClC;aAAM;YACL,IAAI,CAAC,IAAI,EAAE,CAAC;SACb;KACF;AAED,IAAA,IAAY,eAAe,GAAA;AACzB,QAAA,OAAO,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,KAAK,OAAO,CAAC;KAC7F;AAED,IAAA,WAAA,CACU,iBAA6B,EAC7B,mBAAwC,EACxC,gBAAkC,EAClC,QAAkB,EAClB,wBAAkD,EAClD,gBAAkC,EAChB,GAAQ,EAAA;QAN1B,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAY;QAC7B,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB,CAAqB;QACxC,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;QAClC,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QAClB,IAAwB,CAAA,wBAAA,GAAxB,wBAAwB,CAA0B;QAClD,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;QAChB,IAAG,CAAA,GAAA,GAAH,GAAG,CAAK;AApG5B,QAAA,IAAA,CAAA,YAAY,GAAiB,IAAI,YAAY,EAAE,CAAC;AAmBxD;;AAEG;QACM,IAAQ,CAAA,QAAA,GAAkC,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AACtF;;AAEG;QACoB,IAAa,CAAA,aAAA,GAAG,IAAI,CAAC;AAa5C;;AAEG;QACM,IAAmB,CAAA,mBAAA,GAAG,CAAC,CAAC;AACjC;;AAEG;QACM,IAAY,CAAA,YAAA,GAAG,IAAI,CAAC;QACpB,IAAM,CAAA,MAAA,GAAG,IAAI,CAAC;QACd,IAAO,CAAA,OAAA,GAAgB,SAAS,CAAC;;QAGjC,IAAO,CAAA,OAAA,GAAgB,OAAO,CAAC;AAExC;;;AAGG;QACM,IAAc,CAAA,cAAA,GAAG,KAAK,CAAC;;QAevB,IAAe,CAAA,eAAA,GAAG,GAAG,CAAC;;QAGtB,IAAe,CAAA,eAAA,GAAG,GAAG,CAAC;AAE/B,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,OAAO,EAAQ,CAAC;AACnC,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,OAAO,EAAQ,CAAC;AA2BpC,QAAA,IAAA,CAAA,eAAe,GAAG,CAAC,KAAK,KAAI;YAC1B,KAAK,CAAC,eAAe,EAAE,CAAC;AACxB,YAAA,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;gBACjF,EAAE,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE;gBAClH,IAAI,CAAC,IAAI,EAAE,CAAC;aACb;AACH,SAAC,CAAC;AATA,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC;KAC1B;IAUD,aAAa,GAAA;AACX,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;AACxB,YAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC,eAAe,CACjE,IAAI,CAAC,wBAAwB,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,CACxE,CAAC;SACH;aAAM;AACL,YAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAC9D,IAAI,CAAC,wBAAwB,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,EACvE,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAC5B,IAAI,CAAC,QAAQ,CACd,CAAC;SACH;QAED,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE;YAC/C,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,YAAY,EAAE,IAAI,CAAC,eAAe;YAClC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;AAC9C,SAAA,CAAC,CAAC;;AAGH,QAAA,IAAI,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE;YAC1F,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;KACF;IACD,aAAa,GAAA;QACX,MAAM,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC;AACtE,QAAA,SAAS,CAAC,EAAE,EAAE,YAAY,CAAC;AACxB,aAAA,IAAI,CACH,GAAG,CAAC,CAAC,KAAK,KAAI;AACZ,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AACpB,YAAA,OAAO,KAAK,CAAC;SACd,CAAC,EACF,YAAY,CAAC,CAAC,CAAC,EACf,MAAM,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,EAC/B,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAC9B;aACA,SAAS,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;gBAC7B,IAAI,CAAC,IAAI,EAAE,CAAC;aACb;AACH,SAAC,CAAC,CAAC;AACL,QAAA,SAAS,CAAC,EAAE,EAAE,YAAY,CAAC;AACxB,aAAA,IAAI,CACH,GAAG,CAAC,CAAC,KAAK,KAAI;AACZ,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACrB,YAAA,OAAO,KAAK,CAAC;AACf,SAAC,CAAC,EACF,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,EAClC,MAAM,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAChC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAC9B;aACA,SAAS,CAAC,MAAK;YACd,IAAI,CAAC,IAAI,EAAE,CAAC;AACd,SAAC,CAAC,CAAC;KACN;IAED,IAAI,GAAA;QACF,IAAI,CAAC,IAAI,EAAE,CAAC;AACZ,QAAA,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAC7B,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;AAED,QAAA,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACzC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;KAC/D;IAED,OAAO,GAAA;AACL,QAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;AAC5B,YAAA,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,CAAC;AACnC,YAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;SACjC;QACD,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;AACjE,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;AAC1B,YAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;SAC/B;KACF;IAED,QAAQ,GAAA;AACN,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC;AACrD,QAAA,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE;AAC5B,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CACnB,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;AAC9C,gBAAA,IAAI,IAAI,CAAC,UAAU,EAAE;oBACnB,IAAI,CAAC,IAAI,EAAE,CAAC;iBACb;aACF,CAAC,CACH,CAAC;SACH;AAAM,aAAA,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE;AACnC,YAAA,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC;AAC7B,iBAAA,IAAI,CACH,GAAG,CAAC,CAAC,KAAK,KAAI;AACZ,gBAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AACpB,gBAAA,OAAO,KAAK,CAAC;aACd,CAAC,EACF,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,EAClC,MAAM,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,EAC/B,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAC7B;iBACA,SAAS,CAAC,MAAK;gBACd,IAAI,CAAC,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,UAAU,EAAE;oBAChD,IAAI,CAAC,IAAI,EAAE,CAAC;iBACb;AACH,aAAC,CAAC,CAAC;AAEL,YAAA,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC;AAC7B,iBAAA,IAAI,CACH,GAAG,CAAC,CAAC,KAAK,KAAI;AACZ,gBAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACrB,gBAAA,OAAO,KAAK,CAAC;AACf,aAAC,CAAC,EACF,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,EAClC,MAAM,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAChC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAC7B;iBACA,SAAS,CAAC,MAAK;AACd,gBAAA,IAAI,IAAI,CAAC,UAAU,EAAE;oBACnB,IAAI,CAAC,IAAI,EAAE,CAAC;iBACb;AACH,aAAC,CAAC,CAAC;SACN;KACF;IAED,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;AAC1B,YAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;SAC/B;AACD,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;AACzB,QAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;AACf,QAAA,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;KACjC;IAED,IAAI,GAAA;AACF,QAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;AAC5B,YAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;gBACvB,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,OAAO;aACR;AAED,YAAA,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACzC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,GAAG,MAAK;gBAChD,IAAI,CAAC,OAAO,EAAE,CAAC;AACjB,aAAC,CAAC;SACH;AACD,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;AAC1B,YAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;SAC/B;KACF;AAlRU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,mNAuGjB,QAAQ,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAvGP,gBAAgB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,UAAA,EAAA,aAAA,EAAA,eAAA,EAAA,WAAA,EAAA,aAAA,EAAA,aAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,OAAA,EAAA,SAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;AA6BJ,UAAA,CAAA;AAAb,IAAA,UAAU,EAAE;;AAAsB,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,eAAA,EAAA,KAAA,CAAA,CAAA,CAAA;4FA7BjC,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAJ5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,QAAQ,EAAE,UAAU;AACrB,iBAAA,CAAA;;0BAwGI,MAAM;2BAAC,QAAQ,CAAA;yCAhGL,OAAO,EAAA,CAAA;sBAAnB,KAAK;gBAcG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAIG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAIiB,aAAa,EAAA,CAAA;sBAAnC,KAAK;gBAKO,WAAW,EAAA,CAAA;sBAAvB,KAAK;gBAOG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBAIG,mBAAmB,EAAA,CAAA;sBAA3B,KAAK;gBAIG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAEG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAMG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBAOO,cAAc,EAAA,CAAA;sBAA1B,KAAK;gBAKG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBAGG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBAGG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBAKO,OAAO,EAAA,CAAA;sBAAnB,KAAK;;;MC3FK,aAAa,CAAA;+GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,EAHT,YAAA,EAAA,CAAA,gBAAgB,EAAE,gBAAgB,aAL/C,YAAY;YACZ,iBAAiB;YACjB,sBAAsB,CAAA,EAAA,OAAA,EAAA,CAEd,gBAAgB,EAAE,gBAAgB,CAAA,EAAA,CAAA,CAAA,EAAA;AAIjC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,YARtB,YAAY;YACZ,iBAAiB;YACjB,sBAAsB,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAMb,aAAa,EAAA,UAAA,EAAA,CAAA;kBAVzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,iBAAiB;wBACjB,sBAAsB;AACvB,qBAAA;AACD,oBAAA,OAAO,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;AAC7C,oBAAA,YAAY,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;AAEnD,iBAAA,CAAA;;;AChBD;;AAEG;;;;"}