{"version":3,"file":"period-year-norway-ngx-bootstrap-dropdown.mjs","sources":["../../../../src/dropdown/bs-dropdown.config.ts","../../../../src/dropdown/bs-dropdown.state.ts","../../../../src/dropdown/dropdown-animations.ts","../../../../src/dropdown/bs-dropdown-container.component.ts","../../../../src/dropdown/bs-dropdown.directive.ts","../../../../src/dropdown/bs-dropdown-menu.directive.ts","../../../../src/dropdown/bs-dropdown-toggle.directive.ts","../../../../src/dropdown/bs-dropdown.module.ts","../../../../src/dropdown/period-year-norway-ngx-bootstrap-dropdown.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n/** Default dropdown configuration */\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class BsDropdownConfig {\r\n  /** default dropdown auto closing behavior */\r\n  autoClose = true;\r\n  /** default dropdown auto closing behavior */\r\n  insideClick = false;\r\n  /** turn on/off animation */\r\n  isAnimated = false;\r\n  /** value true of stopOnClickPropagation allows event stopPropagation*/\r\n  stopOnClickPropagation = false;\r\n}\r\n","import { EventEmitter, Injectable } from '@angular/core';\r\nimport { BsComponentRef } from '@period-year-norway/ngx-bootstrap/component-loader';\r\nimport { BsDropdownMenuDirective } from './bs-dropdown-menu.directive';\r\n\r\n@Injectable({providedIn: 'platform'})\r\nexport class BsDropdownState {\r\n  direction: 'down' | 'up' = 'down';\r\n  autoClose = true;\r\n  insideClick = false;\r\n  isAnimated = false;\r\n  stopOnClickPropagation = false;\r\n  isOpenChange = new EventEmitter<boolean>();\r\n  isDisabledChange = new EventEmitter<boolean>();\r\n  toggleClick = new EventEmitter<boolean>();\r\n  counts = 0;\r\n  /**\r\n   * Content to be displayed as popover.\r\n   */\r\n  dropdownMenu: Promise<BsComponentRef<BsDropdownMenuDirective>>;\r\n  resolveDropdownMenu!: (componentRef: BsComponentRef<BsDropdownMenuDirective>) => void;\r\n\r\n  constructor() {\r\n    this.dropdownMenu = new Promise(resolve => {\r\n      this.resolveDropdownMenu = resolve;\r\n    });\r\n  }\r\n}\r\n","import {\r\n  animate,\r\n  style,\r\n  AnimationMetadata\r\n} from '@angular/animations';\r\n\r\nexport const DROPDOWN_ANIMATION_TIMING = '220ms cubic-bezier(0, 0, 0.2, 1)';\r\n\r\nexport const dropdownAnimation: AnimationMetadata[] = [\r\n  style({ height: 0, overflow: 'hidden' }),\r\n  animate(\r\n    DROPDOWN_ANIMATION_TIMING,\r\n    style({ height: '*', overflow: 'hidden' })\r\n  )\r\n];\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, OnDestroy, Renderer2 } from '@angular/core';\r\n\r\nimport { BsDropdownState } from './bs-dropdown.state';\r\nimport { isBs3 } from '@period-year-norway/ngx-bootstrap/utils';\r\n\r\nimport { dropdownAnimation } from './dropdown-animations';\r\nimport { AnimationBuilder, AnimationFactory } from '@angular/animations';\r\nimport { Subscription } from 'rxjs';\r\n\r\n// todo: revert ngClass to [class] when false positive angular-cli issue is fixed\r\n//          [class.dropdown]=\"direction === 'down'\"-->\r\n@Component({\r\n  selector: 'bs-dropdown-container',\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  host: {\r\n    style: 'display:block;position: absolute;z-index: 1040'\r\n  },\r\n  template: `\r\n    <div\r\n      [class.dropup]=\"direction === 'up'\"\r\n      [ngClass]=\"{ dropdown: direction === 'down' }\"\r\n      [class.show]=\"isOpen\"\r\n      [class.open]=\"isOpen\"\r\n    >\r\n      <ng-content></ng-content>\r\n    </div>\r\n  `,\r\n  standalone: false\r\n})\r\nexport class BsDropdownContainerComponent implements OnDestroy {\r\n  isOpen = false;\r\n\r\n  private _factoryDropDownAnimation: AnimationFactory;\r\n\r\n  get direction(): 'down' | 'up' {\r\n    return this._state.direction;\r\n  }\r\n\r\n  private _subscription: Subscription;\r\n\r\n  constructor(\r\n    private _state: BsDropdownState,\r\n    private cd: ChangeDetectorRef,\r\n    private _renderer: Renderer2,\r\n    private _element: ElementRef,\r\n    _builder: AnimationBuilder\r\n  ) {\r\n    this._factoryDropDownAnimation = _builder.build(dropdownAnimation);\r\n\r\n    this._subscription = _state.isOpenChange.subscribe((value: boolean) => {\r\n      this.isOpen = value;\r\n      const dropdown = this._element.nativeElement.querySelector('.dropdown-menu');\r\n\r\n      this._renderer.addClass(this._element.nativeElement.querySelector('div'), 'open');\r\n\r\n      if (dropdown && !isBs3()) {\r\n        this._renderer.addClass(dropdown, 'show');\r\n\r\n        if (dropdown.classList.contains('dropdown-menu-right') || dropdown.classList.contains('dropdown-menu-end')) {\r\n          this._renderer.setStyle(dropdown, 'left', 'auto');\r\n          this._renderer.setStyle(dropdown, 'right', '0');\r\n        }\r\n        if (this.direction === 'up') {\r\n          this._renderer.setStyle(dropdown, 'top', 'auto');\r\n          this._renderer.setStyle(dropdown, 'transform', 'translateY(-101%)');\r\n        }\r\n      }\r\n\r\n      if (dropdown && this._state.isAnimated) {\r\n        this._factoryDropDownAnimation.create(dropdown).play();\r\n      }\r\n\r\n      this.cd.markForCheck();\r\n      this.cd.detectChanges();\r\n    });\r\n  }\r\n\r\n  /** @internal */\r\n  _contains(el: Element): boolean {\r\n    return this._element.nativeElement.contains(el);\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    this._subscription.unsubscribe();\r\n  }\r\n}\r\n","import {\r\n  Directive,\r\n  ElementRef,\r\n  EmbeddedViewRef,\r\n  EventEmitter,\r\n  HostListener,\r\n  Input,\r\n  OnDestroy,\r\n  OnInit,\r\n  Output,\r\n  Renderer2,\r\n  ViewContainerRef\r\n} from '@angular/core';\r\nimport { filter } from 'rxjs/operators';\r\nimport { Subscription } from 'rxjs';\r\nimport {\r\n  ComponentLoader,\r\n  ComponentLoaderFactory,\r\n  BsComponentRef\r\n} from '@period-year-norway/ngx-bootstrap/component-loader';\r\n\r\nimport { BsDropdownConfig } from './bs-dropdown.config';\r\nimport { BsDropdownContainerComponent } from './bs-dropdown-container.component';\r\nimport { BsDropdownState } from './bs-dropdown.state';\r\nimport { BsDropdownMenuDirective } from './index';\r\nimport { isBs3 } from '@period-year-norway/ngx-bootstrap/utils';\r\nimport { AnimationBuilder, AnimationFactory } from '@angular/animations';\r\nimport { dropdownAnimation } from './dropdown-animations';\r\n\r\n@Directive({\r\n  selector: '[bsDropdown], [dropdown]',\r\n  exportAs: 'bs-dropdown',\r\n  providers: [BsDropdownState],\r\n  host: {\r\n    '[class.dropup]': 'dropup',\r\n    '[class.open]': 'isOpen',\r\n    '[class.show]': 'isOpen && isBs4'\r\n  },\r\n  standalone: false\r\n})\r\nexport class BsDropdownDirective implements OnInit, OnDestroy {\r\n  /**\r\n   * Placement of a popover. Accepts: \"top\", \"bottom\", \"left\", \"right\"\r\n   */\r\n  @Input() placement?: string;\r\n  /**\r\n   * Specifies events that should trigger. Supports a space separated list of\r\n   * event names.\r\n   */\r\n  @Input() triggers?: string;\r\n  /**\r\n   * A selector specifying the element the popover should be appended to.\r\n   */\r\n  @Input() container?: string;\r\n\r\n  /**\r\n   * This attribute indicates that the dropdown should be opened upwards\r\n   */\r\n  @Input() dropup = false;\r\n\r\n  /**\r\n   * Indicates that dropdown will be closed on item or document click,\r\n   * and after pressing ESC\r\n   */\r\n  @Input()\r\n  set autoClose(value: boolean) {\r\n    this._state.autoClose = value;\r\n  }\r\n\r\n  get autoClose(): boolean {\r\n    return this._state.autoClose;\r\n  }\r\n\r\n  /**\r\n   * Indicates that dropdown will be animated\r\n   */\r\n  @Input()\r\n  set isAnimated(value: boolean) {\r\n    this._state.isAnimated = value;\r\n  }\r\n\r\n  get isAnimated(): boolean {\r\n    return this._state.isAnimated;\r\n  }\r\n\r\n  /**\r\n   * This attribute indicates that the dropdown shouldn't close on inside click when autoClose is set to true\r\n   */\r\n  @Input()\r\n  set insideClick(value: boolean) {\r\n    this._state.insideClick = value;\r\n  }\r\n\r\n  get insideClick(): boolean {\r\n    return this._state.insideClick;\r\n  }\r\n\r\n  /**\r\n   * Disables dropdown toggle and hides dropdown menu if opened\r\n   */\r\n  @Input()\r\n  set isDisabled(value: boolean) {\r\n    this._isDisabled = value;\r\n    this._state.isDisabledChange.emit(value);\r\n    if (value) {\r\n      this.hide();\r\n    }\r\n  }\r\n\r\n  get isDisabled(): boolean {\r\n    return this._isDisabled;\r\n  }\r\n\r\n  /**\r\n   * Returns whether or not the popover is currently being shown\r\n   */\r\n  @Input()\r\n  get isOpen(): boolean {\r\n    if (this._showInline) {\r\n      return this._isInlineOpen;\r\n    }\r\n\r\n    return this._dropdown.isShown;\r\n  }\r\n\r\n  set isOpen(value: boolean) {\r\n    if (value) {\r\n      this.show();\r\n    } else {\r\n      this.hide();\r\n    }\r\n  }\r\n\r\n  /**\r\n   * Emits an event when isOpen change\r\n   */\r\n  @Output() isOpenChange: EventEmitter<boolean>;\r\n\r\n  /**\r\n   * Emits an event when the popover is shown\r\n   */\r\n  @Output() onShown: EventEmitter<boolean>;\r\n\r\n  /**\r\n   * Emits an event when the popover is hidden\r\n   */\r\n  @Output() onHidden: EventEmitter<boolean>;\r\n\r\n  get isBs4(): boolean {\r\n    return !isBs3();\r\n  }\r\n\r\n  private _dropdown: ComponentLoader<BsDropdownContainerComponent>;\r\n\r\n  private get _showInline(): boolean {\r\n    return !this.container;\r\n  }\r\n\r\n  // todo: move to component loader\r\n  private _isInlineOpen = false;\r\n\r\n  private _inlinedMenu?: EmbeddedViewRef<BsDropdownMenuDirective>;\r\n  private _isDisabled = false;\r\n  private _subscriptions: Subscription[] = [];\r\n  private _isInited = false;\r\n  private _factoryDropDownAnimation: AnimationFactory;\r\n\r\n  constructor(\r\n    private _elementRef: ElementRef,\r\n    private _renderer: Renderer2,\r\n    private _viewContainerRef: ViewContainerRef,\r\n    private _cis: ComponentLoaderFactory,\r\n    private _state: BsDropdownState,\r\n    private _config: BsDropdownConfig,\r\n    _builder: AnimationBuilder\r\n  ) {\r\n    // set initial dropdown state from config\r\n    this._state.autoClose = this._config.autoClose;\r\n    this._state.insideClick = this._config.insideClick;\r\n    this._state.isAnimated = this._config.isAnimated;\r\n    this._state.stopOnClickPropagation = this._config.stopOnClickPropagation;\r\n\r\n    this._factoryDropDownAnimation = _builder.build(dropdownAnimation);\r\n\r\n    // create dropdown component loader\r\n    this._dropdown = this._cis\r\n      .createLoader<BsDropdownContainerComponent>(this._elementRef, this._viewContainerRef, this._renderer)\r\n      .provide({ provide: BsDropdownState, useValue: this._state });\r\n\r\n    this.onShown = this._dropdown.onShown;\r\n    this.onHidden = this._dropdown.onHidden;\r\n    this.isOpenChange = this._state.isOpenChange;\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    // fix: seems there are an issue with `routerLinkActive`\r\n    // which result in duplicated call ngOnInit without call to ngOnDestroy\r\n    // read more: https://github.com/valor-software/ngx-bootstrap/issues/1885\r\n    if (this._isInited) {\r\n      return;\r\n    }\r\n    this._isInited = true;\r\n\r\n    // attach DOM listeners\r\n    this._dropdown.listen({\r\n      // because of dropdown inline mode\r\n      outsideClick: false,\r\n      triggers: this.triggers,\r\n      show: () => this.show()\r\n    });\r\n\r\n    // toggle visibility on toggle element click\r\n    this._subscriptions.push(this._state.toggleClick.subscribe((value: boolean) => this.toggle(value)));\r\n\r\n    // hide dropdown if set disabled while opened\r\n    this._subscriptions.push(\r\n      this._state.isDisabledChange\r\n        .pipe(filter((value: boolean) => value))\r\n        .subscribe((/*value: boolean*/) => this.hide())\r\n    );\r\n  }\r\n\r\n  /**\r\n   * Opens an element’s popover. This is considered a “manual” triggering of\r\n   * the popover.\r\n   */\r\n  show(): void {\r\n    if (this.isOpen || this.isDisabled) {\r\n      return;\r\n    }\r\n\r\n    if (this._showInline) {\r\n      if (!this._inlinedMenu) {\r\n        this._state.dropdownMenu\r\n          .then((dropdownMenu: BsComponentRef<BsDropdownMenuDirective>) => {\r\n            this._dropdown.attachInline(dropdownMenu.viewContainer, dropdownMenu.templateRef);\r\n            this._inlinedMenu = this._dropdown._inlineViewRef;\r\n\r\n            this.addBs4Polyfills();\r\n            if (this._inlinedMenu) {\r\n              this._renderer.addClass(this._inlinedMenu.rootNodes[0].parentNode, 'open');\r\n            }\r\n\r\n            this.playAnimation();\r\n          })\r\n          // swallow errors\r\n          .catch();\r\n      }\r\n      this.addBs4Polyfills();\r\n\r\n      this._isInlineOpen = true;\r\n      this.onShown.emit(true);\r\n      this._state.isOpenChange.emit(true);\r\n\r\n      this.playAnimation();\r\n\r\n      return;\r\n    }\r\n    this._state.dropdownMenu\r\n      .then((dropdownMenu) => {\r\n        // check direction in which dropdown should be opened\r\n        const _dropup = this.dropup || (typeof this.dropup !== 'undefined' && this.dropup);\r\n        this._state.direction = _dropup ? 'up' : 'down';\r\n        const _placement = this.placement || (_dropup ? 'top start' : 'bottom start');\r\n\r\n        // show dropdown\r\n        this._dropdown\r\n          .attach(BsDropdownContainerComponent)\r\n          .to(this.container)\r\n          .position({ attachment: _placement })\r\n          .show({\r\n            content: dropdownMenu.templateRef,\r\n            placement: _placement\r\n          });\r\n\r\n        this._state.isOpenChange.emit(true);\r\n      })\r\n      // swallow error\r\n      .catch();\r\n  }\r\n\r\n  /**\r\n   * Closes an element’s popover. This is considered a “manual” triggering of\r\n   * the popover.\r\n   */\r\n  hide(): void {\r\n    if (!this.isOpen) {\r\n      return;\r\n    }\r\n\r\n    if (this._showInline) {\r\n      this.removeShowClass();\r\n      this.removeDropupStyles();\r\n      this._isInlineOpen = false;\r\n      this.onHidden.emit(true);\r\n    } else {\r\n      this._dropdown.hide();\r\n    }\r\n\r\n    this._state.isOpenChange.emit(false);\r\n  }\r\n\r\n  /**\r\n   * Toggles an element’s popover. This is considered a “manual” triggering of\r\n   * the popover. With parameter <code>true</code> allows toggling, with parameter <code>false</code>\r\n   * only hides opened dropdown. Parameter usage will be removed in ngx-bootstrap v3\r\n   */\r\n  toggle(value?: boolean): void {\r\n    if (this.isOpen || !value) {\r\n      return this.hide();\r\n    }\r\n\r\n    return this.show();\r\n  }\r\n\r\n  /** @internal */\r\n  _contains(event: MouseEvent): boolean {\r\n    // todo: valorkin fix typings\r\n    return (\r\n      this._elementRef.nativeElement.contains(event.target) ||\r\n      (this._dropdown.instance && this._dropdown.instance._contains(event.target as unknown as HTMLElement))\r\n    );\r\n  }\r\n\r\n  @HostListener('keydown.arrowDown', ['$event'])\r\n  @HostListener('keydown.arrowUp', ['$event'])\r\n  navigationClick(event: any): void {\r\n    const ref = this._elementRef.nativeElement.querySelector('.dropdown-menu');\r\n\r\n    if (!ref) {\r\n      return;\r\n    }\r\n\r\n    const firstActive = this._elementRef.nativeElement.ownerDocument.activeElement;\r\n    const allRef = ref.querySelectorAll('.dropdown-item');\r\n    switch (event.keyCode) {\r\n      case 38:\r\n        if (this._state.counts > 0) {\r\n          allRef[--this._state.counts].focus();\r\n        }\r\n        break;\r\n      case 40:\r\n        if (this._state.counts + 1 < allRef.length) {\r\n          if (firstActive.classList !== allRef[this._state.counts].classList) {\r\n            allRef[this._state.counts].focus();\r\n          } else {\r\n            allRef[++this._state.counts].focus();\r\n          }\r\n        }\r\n        break;\r\n      default:\r\n    }\r\n    event.preventDefault();\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    // clean up subscriptions and destroy dropdown\r\n    for (const sub of this._subscriptions) {\r\n      sub.unsubscribe();\r\n    }\r\n    this._dropdown.dispose();\r\n  }\r\n\r\n  private addBs4Polyfills(): void {\r\n    if (!isBs3()) {\r\n      this.addShowClass();\r\n      this.checkRightAlignment();\r\n      this.addDropupStyles();\r\n    }\r\n  }\r\n\r\n  private playAnimation(): void {\r\n    if (this._state.isAnimated && this._inlinedMenu) {\r\n      setTimeout(() => {\r\n        if (this._inlinedMenu) {\r\n          this._factoryDropDownAnimation.create(this._inlinedMenu.rootNodes[0]).play();\r\n        }\r\n      });\r\n    }\r\n  }\r\n\r\n  private addShowClass(): void {\r\n    if (this._inlinedMenu && this._inlinedMenu.rootNodes[0]) {\r\n      this._renderer.addClass(this._inlinedMenu.rootNodes[0], 'show');\r\n    }\r\n  }\r\n\r\n  private removeShowClass(): void {\r\n    if (this._inlinedMenu && this._inlinedMenu.rootNodes[0]) {\r\n      this._renderer.removeClass(this._inlinedMenu.rootNodes[0], 'show');\r\n    }\r\n  }\r\n\r\n  private checkRightAlignment(): void {\r\n    if (this._inlinedMenu && this._inlinedMenu.rootNodes[0]) {\r\n      const isRightAligned =\r\n        this._inlinedMenu.rootNodes[0].classList.contains('dropdown-menu-right') ||\r\n        this._inlinedMenu.rootNodes[0].classList.contains('dropdown-menu-end');\r\n\r\n      this._renderer.setStyle(this._inlinedMenu.rootNodes[0], 'left', isRightAligned ? 'auto' : '0');\r\n      this._renderer.setStyle(this._inlinedMenu.rootNodes[0], 'right', isRightAligned ? '0' : 'auto');\r\n    }\r\n  }\r\n\r\n  private addDropupStyles(): void {\r\n    if (this._inlinedMenu && this._inlinedMenu.rootNodes[0]) {\r\n      // a little hack to not break support of bootstrap 4 beta\r\n      this._renderer.setStyle(this._inlinedMenu.rootNodes[0], 'top', this.dropup ? 'auto' : '100%');\r\n      this._renderer.setStyle(\r\n        this._inlinedMenu.rootNodes[0],\r\n        'transform',\r\n        this.dropup ? 'translateY(-101%)' : 'translateY(0)'\r\n      );\r\n      this._renderer.setStyle(this._inlinedMenu.rootNodes[0], 'bottom', 'auto');\r\n    }\r\n  }\r\n\r\n  private removeDropupStyles(): void {\r\n    if (this._inlinedMenu && this._inlinedMenu.rootNodes[0]) {\r\n      this._renderer.removeStyle(this._inlinedMenu.rootNodes[0], 'top');\r\n      this._renderer.removeStyle(this._inlinedMenu.rootNodes[0], 'transform');\r\n      this._renderer.removeStyle(this._inlinedMenu.rootNodes[0], 'bottom');\r\n    }\r\n  }\r\n}\r\n","import { Directive, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { BsDropdownState } from './bs-dropdown.state';\r\n\r\n@Directive({\n    selector: '[bsDropdownMenu],[dropdownMenu]',\n    exportAs: 'bs-dropdown-menu',\n    standalone: false\n})\r\nexport class BsDropdownMenuDirective {\r\n  constructor(\r\n    _state: BsDropdownState,\r\n    _viewContainer: ViewContainerRef,\r\n    _templateRef: TemplateRef<BsDropdownMenuDirective>\r\n  ) {\r\n    _state.resolveDropdownMenu({\r\n      templateRef: _templateRef,\r\n      viewContainer: _viewContainer\r\n    });\r\n  }\r\n}\r\n","import {\r\n  ChangeDetectorRef,\r\n  Directive,\r\n  ElementRef,\r\n  HostBinding,\r\n  HostListener,\r\n  OnDestroy,\r\n  Renderer2\r\n} from '@angular/core';\r\n\r\nimport { Subscription } from 'rxjs';\r\nimport { BsDropdownState } from './bs-dropdown.state';\r\nimport { BsDropdownDirective } from './bs-dropdown.directive';\r\n\r\n@Directive({\r\n  selector: '[bsDropdownToggle],[dropdownToggle]',\r\n  exportAs: 'bs-dropdown-toggle',\r\n  host: {\r\n    '[attr.aria-haspopup]': 'true'\r\n  },\r\n  standalone: false\r\n})\r\nexport class BsDropdownToggleDirective implements OnDestroy {\r\n  @HostBinding('attr.disabled') isDisabled: undefined | true;\r\n  @HostBinding('attr.aria-expanded') isOpen = false;\r\n\r\n  private _subscriptions: Subscription[] = [];\r\n  private _documentClickListener?: () => void;\r\n  private _escKeyUpListener?: () => void;\r\n\r\n  constructor(\r\n    private _changeDetectorRef: ChangeDetectorRef,\r\n    private _dropdown: BsDropdownDirective,\r\n    private _element: ElementRef,\r\n    private _renderer: Renderer2,\r\n    private _state: BsDropdownState\r\n  ) {\r\n    // sync is open value with state\r\n    this._subscriptions.push(\r\n      this._state.isOpenChange.subscribe((value: boolean) => {\r\n        this.isOpen = value;\r\n\r\n        if (value) {\r\n          this._documentClickListener = this._renderer.listen('document', 'click', (event: MouseEvent) => {\r\n            if (\r\n              this._state.autoClose &&\r\n              event.button !== 2 &&\r\n              !this._element.nativeElement.contains(event.target) &&\r\n              !(this._state.insideClick && this._dropdown._contains(event))\r\n            ) {\r\n              this._state.toggleClick.emit(false);\r\n              this._changeDetectorRef.detectChanges();\r\n            }\r\n          });\r\n\r\n          this._escKeyUpListener = this._renderer.listen(this._element.nativeElement, 'keyup.esc', () => {\r\n            if (this._state.autoClose) {\r\n              this._state.toggleClick.emit(false);\r\n              this._changeDetectorRef.detectChanges();\r\n            }\r\n          });\r\n        } else {\r\n          this._documentClickListener && this._documentClickListener();\r\n          this._escKeyUpListener && this._escKeyUpListener();\r\n        }\r\n      })\r\n    );\r\n\r\n    // populate disabled state\r\n    this._subscriptions.push(\r\n      this._state.isDisabledChange.subscribe((value: boolean) => (this.isDisabled = value || void 0))\r\n    );\r\n  }\r\n\r\n  @HostListener('click', ['$event'])\r\n  onClick(event: MouseEvent): void {\r\n    if (this._state.stopOnClickPropagation) {\r\n      event.stopPropagation();\r\n    }\r\n\r\n    if (this.isDisabled) {\r\n      return;\r\n    }\r\n    this._state.toggleClick.emit(true);\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    if (this._documentClickListener) {\r\n      this._documentClickListener();\r\n    }\r\n\r\n    if (this._escKeyUpListener) {\r\n      this._escKeyUpListener();\r\n    }\r\n\r\n    for (const sub of this._subscriptions) {\r\n      sub.unsubscribe();\r\n    }\r\n  }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { ComponentLoaderFactory } from '@period-year-norway/ngx-bootstrap/component-loader';\r\n\r\nimport { PositioningService } from '@period-year-norway/ngx-bootstrap/positioning';\r\nimport { BsDropdownContainerComponent } from './bs-dropdown-container.component';\r\nimport { BsDropdownMenuDirective } from './bs-dropdown-menu.directive';\r\nimport { BsDropdownToggleDirective } from './bs-dropdown-toggle.directive';\r\n\r\nimport { BsDropdownDirective } from './bs-dropdown.directive';\r\nimport { BsDropdownState } from './bs-dropdown.state';\r\n\r\n@NgModule({\r\n    imports: [CommonModule],\r\n    declarations: [\r\n        BsDropdownMenuDirective,\r\n        BsDropdownToggleDirective,\r\n        BsDropdownContainerComponent,\r\n        BsDropdownDirective\r\n    ],\r\n    exports: [\r\n        BsDropdownMenuDirective,\r\n        BsDropdownToggleDirective,\r\n        BsDropdownDirective\r\n    ]\r\n})\r\nexport class BsDropdownModule {\r\n  static forRoot(): ModuleWithProviders<BsDropdownModule> {\r\n    return {\r\n      ngModule: BsDropdownModule,\r\n      providers: [\r\n        ComponentLoaderFactory,\r\n        PositioningService,\r\n        BsDropdownState\r\n      ]\r\n    };\r\n  }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.BsDropdownState","i2.BsDropdownState","i3.BsDropdownConfig","i4","i1.BsDropdownDirective"],"mappings":"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"}