UNPKG

@period-year-norway/ngx-bootstrap

Version:
1 lines 42.3 kB
{"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":";;;;;;;;;;;;AAEA;MAIa,gBAAgB,CAAA;AAH7B,IAAA,WAAA,GAAA;;QAKE,IAAS,CAAA,SAAA,GAAG,IAAI;;QAEhB,IAAW,CAAA,WAAA,GAAG,KAAK;;QAEnB,IAAU,CAAA,UAAA,GAAG,KAAK;;QAElB,IAAsB,CAAA,sBAAA,GAAG,KAAK;AAC/B;8GATY,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,cAFf,MAAM,EAAA,CAAA,CAAA;;2FAEP,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;MCAY,eAAe,CAAA;AAgB1B,IAAA,WAAA,GAAA;QAfA,IAAS,CAAA,SAAA,GAAkB,MAAM;QACjC,IAAS,CAAA,SAAA,GAAG,IAAI;QAChB,IAAW,CAAA,WAAA,GAAG,KAAK;QACnB,IAAU,CAAA,UAAA,GAAG,KAAK;QAClB,IAAsB,CAAA,sBAAA,GAAG,KAAK;AAC9B,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAW;AAC1C,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,YAAY,EAAW;AAC9C,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAW;QACzC,IAAM,CAAA,MAAA,GAAG,CAAC;QAQR,IAAI,CAAC,YAAY,GAAG,IAAI,OAAO,CAAC,OAAO,IAAG;AACxC,YAAA,IAAI,CAAC,mBAAmB,GAAG,OAAO;AACpC,SAAC,CAAC;;8GAnBO,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cADH,UAAU,EAAA,CAAA,CAAA;;2FACtB,eAAe,EAAA,UAAA,EAAA,CAAA;kBAD3B,UAAU;mBAAC,EAAC,UAAU,EAAE,UAAU,EAAC;;;ACE7B,MAAM,yBAAyB,GAAG,kCAAkC;AAEpE,MAAM,iBAAiB,GAAwB;IACpD,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AACxC,IAAA,OAAO,CACL,yBAAyB,EACzB,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;CAE7C;;ACLD;AACA;MAmBa,4BAA4B,CAAA;AAKvC,IAAA,IAAI,SAAS,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS;;IAK9B,WACU,CAAA,MAAuB,EACvB,EAAqB,EACrB,SAAoB,EACpB,QAAoB,EAC5B,QAA0B,EAAA;QAJlB,IAAM,CAAA,MAAA,GAAN,MAAM;QACN,IAAE,CAAA,EAAA,GAAF,EAAE;QACF,IAAS,CAAA,SAAA,GAAT,SAAS;QACT,IAAQ,CAAA,QAAA,GAAR,QAAQ;QAdlB,IAAM,CAAA,MAAA,GAAG,KAAK;QAiBZ,IAAI,CAAC,yBAAyB,GAAG,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC;AAElE,QAAA,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,KAAc,KAAI;AACpE,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK;AACnB,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAC,gBAAgB,CAAC;AAE5E,YAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;AAEjF,YAAA,IAAI,QAAQ,IAAI,CAAC,KAAK,EAAE,EAAE;gBACxB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;AAEzC,gBAAA,IAAI,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;oBAC1G,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;oBACjD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC;;AAEjD,gBAAA,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;oBAC3B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC;oBAChD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,WAAW,EAAE,mBAAmB,CAAC;;;YAIvE,IAAI,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;gBACtC,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE;;AAGxD,YAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE;AACtB,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE;AACzB,SAAC,CAAC;;;AAIJ,IAAA,SAAS,CAAC,EAAW,EAAA;QACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;;IAGjD,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE;;8GAtDvB,4BAA4B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,eAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4BAA4B,EAZ7B,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,gDAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;AAST,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,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,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAGU,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAlBxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,uBAAuB;oBACjC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE;AACR,qBAAA;AACD,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;AAST,EAAA,CAAA;AACD,oBAAA,UAAU,EAAE;AACb,iBAAA;;;MCYY,mBAAmB,CAAA;AAoB9B;;;AAGG;IACH,IACI,SAAS,CAAC,KAAc,EAAA;AAC1B,QAAA,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,KAAK;;AAG/B,IAAA,IAAI,SAAS,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS;;AAG9B;;AAEG;IACH,IACI,UAAU,CAAC,KAAc,EAAA;AAC3B,QAAA,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,KAAK;;AAGhC,IAAA,IAAI,UAAU,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU;;AAG/B;;AAEG;IACH,IACI,WAAW,CAAC,KAAc,EAAA;AAC5B,QAAA,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,KAAK;;AAGjC,IAAA,IAAI,WAAW,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW;;AAGhC;;AAEG;IACH,IACI,UAAU,CAAC,KAAc,EAAA;AAC3B,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK;QACxB,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC;QACxC,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,IAAI,EAAE;;;AAIf,IAAA,IAAI,UAAU,GAAA;QACZ,OAAO,IAAI,CAAC,WAAW;;AAGzB;;AAEG;AACH,IAAA,IACI,MAAM,GAAA;AACR,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,OAAO,IAAI,CAAC,aAAa;;AAG3B,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO;;IAG/B,IAAI,MAAM,CAAC,KAAc,EAAA;QACvB,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,IAAI,EAAE;;aACN;YACL,IAAI,CAAC,IAAI,EAAE;;;AAmBf,IAAA,IAAI,KAAK,GAAA;QACP,OAAO,CAAC,KAAK,EAAE;;AAKjB,IAAA,IAAY,WAAW,GAAA;AACrB,QAAA,OAAO,CAAC,IAAI,CAAC,SAAS;;AAYxB,IAAA,WAAA,CACU,WAAuB,EACvB,SAAoB,EACpB,iBAAmC,EACnC,IAA4B,EAC5B,MAAuB,EACvB,OAAyB,EACjC,QAA0B,EAAA;QANlB,IAAW,CAAA,WAAA,GAAX,WAAW;QACX,IAAS,CAAA,SAAA,GAAT,SAAS;QACT,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB;QACjB,IAAI,CAAA,IAAA,GAAJ,IAAI;QACJ,IAAM,CAAA,MAAA,GAAN,MAAM;QACN,IAAO,CAAA,OAAA,GAAP,OAAO;AAtHjB;;AAEG;QACM,IAAM,CAAA,MAAA,GAAG,KAAK;;QAqGf,IAAa,CAAA,aAAA,GAAG,KAAK;QAGrB,IAAW,CAAA,WAAA,GAAG,KAAK;QACnB,IAAc,CAAA,cAAA,GAAmB,EAAE;QACnC,IAAS,CAAA,SAAA,GAAG,KAAK;;QAavB,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS;QAC9C,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW;QAClD,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU;QAChD,IAAI,CAAC,MAAM,CAAC,sBAAsB,GAAG,IAAI,CAAC,OAAO,CAAC,sBAAsB;QAExE,IAAI,CAAC,yBAAyB,GAAG,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC;;AAGlE,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AACnB,aAAA,YAAY,CAA+B,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS;AACnG,aAAA,OAAO,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QAE/D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO;QACrC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ;QACvC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY;;IAG9C,QAAQ,GAAA;;;;AAIN,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB;;AAEF,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI;;AAGrB,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;;AAEpB,YAAA,YAAY,EAAE,KAAK;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACvB,YAAA,IAAI,EAAE,MAAM,IAAI,CAAC,IAAI;AACtB,SAAA,CAAC;;QAGF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,KAAc,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;;QAGnG,IAAI,CAAC,cAAc,CAAC,IAAI,CACtB,IAAI,CAAC,MAAM,CAAC;aACT,IAAI,CAAC,MAAM,CAAC,CAAC,KAAc,KAAK,KAAK,CAAC;AACtC,aAAA,SAAS,CAAC,yBAAwB,IAAI,CAAC,IAAI,EAAE,CAAC,CAClD;;AAGH;;;AAGG;IACH,IAAI,GAAA;QACF,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE;YAClC;;AAGF,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,YAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;gBACtB,IAAI,CAAC,MAAM,CAAC;AACT,qBAAA,IAAI,CAAC,CAAC,YAAqD,KAAI;AAC9D,oBAAA,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,YAAY,CAAC,aAAa,EAAE,YAAY,CAAC,WAAW,CAAC;oBACjF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc;oBAEjD,IAAI,CAAC,eAAe,EAAE;AACtB,oBAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,wBAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC;;oBAG5E,IAAI,CAAC,aAAa,EAAE;AACtB,iBAAC;;AAEA,qBAAA,KAAK,EAAE;;YAEZ,IAAI,CAAC,eAAe,EAAE;AAEtB,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI;AACzB,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;YAEnC,IAAI,CAAC,aAAa,EAAE;YAEpB;;QAEF,IAAI,CAAC,MAAM,CAAC;AACT,aAAA,IAAI,CAAC,CAAC,YAAY,KAAI;;AAErB,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,KAAK,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC;AAClF,YAAA,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM;AAC/C,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,KAAK,OAAO,GAAG,WAAW,GAAG,cAAc,CAAC;;AAG7E,YAAA,IAAI,CAAC;iBACF,MAAM,CAAC,4BAA4B;AACnC,iBAAA,EAAE,CAAC,IAAI,CAAC,SAAS;AACjB,iBAAA,QAAQ,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE;AACnC,iBAAA,IAAI,CAAC;gBACJ,OAAO,EAAE,YAAY,CAAC,WAAW;AACjC,gBAAA,SAAS,EAAE;AACZ,aAAA,CAAC;YAEJ,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;AACrC,SAAC;;AAEA,aAAA,KAAK,EAAE;;AAGZ;;;AAGG;IACH,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB;;AAGF,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,eAAe,EAAE;YACtB,IAAI,CAAC,kBAAkB,EAAE;AACzB,YAAA,IAAI,CAAC,aAAa,GAAG,KAAK;AAC1B,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;;aACnB;AACL,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;;QAGvB,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;;AAGtC;;;;AAIG;AACH,IAAA,MAAM,CAAC,KAAe,EAAA;AACpB,QAAA,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE;AACzB,YAAA,OAAO,IAAI,CAAC,IAAI,EAAE;;AAGpB,QAAA,OAAO,IAAI,CAAC,IAAI,EAAE;;;AAIpB,IAAA,SAAS,CAAC,KAAiB,EAAA;;AAEzB,QAAA,QACE,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;aACpD,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,MAAgC,CAAC,CAAC;;AAM1G,IAAA,eAAe,CAAC,KAAU,EAAA;AACxB,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,gBAAgB,CAAC;QAE1E,IAAI,CAAC,GAAG,EAAE;YACR;;QAGF,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa;QAC9E,MAAM,MAAM,GAAG,GAAG,CAAC,gBAAgB,CAAC,gBAAgB,CAAC;AACrD,QAAA,QAAQ,KAAK,CAAC,OAAO;AACnB,YAAA,KAAK,EAAE;gBACL,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC1B,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE;;gBAEtC;AACF,YAAA,KAAK,EAAE;AACL,gBAAA,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE;AAC1C,oBAAA,IAAI,WAAW,CAAC,SAAS,KAAK,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE;wBAClE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE;;yBAC7B;wBACL,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE;;;gBAGxC;YACF;;QAEF,KAAK,CAAC,cAAc,EAAE;;IAGxB,WAAW,GAAA;;AAET,QAAA,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,cAAc,EAAE;YACrC,GAAG,CAAC,WAAW,EAAE;;AAEnB,QAAA,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;;IAGlB,eAAe,GAAA;AACrB,QAAA,IAAI,CAAC,KAAK,EAAE,EAAE;YACZ,IAAI,CAAC,YAAY,EAAE;YACnB,IAAI,CAAC,mBAAmB,EAAE;YAC1B,IAAI,CAAC,eAAe,EAAE;;;IAIlB,aAAa,GAAA;QACnB,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,YAAY,EAAE;YAC/C,UAAU,CAAC,MAAK;AACd,gBAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,oBAAA,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;;AAEhF,aAAC,CAAC;;;IAIE,YAAY,GAAA;AAClB,QAAA,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;AACvD,YAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;;;IAI3D,eAAe,GAAA;AACrB,QAAA,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;AACvD,YAAA,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;;;IAI9D,mBAAmB,GAAA;AACzB,QAAA,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;AACvD,YAAA,MAAM,cAAc,GAClB,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,qBAAqB,CAAC;AACxE,gBAAA,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YAExE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,cAAc,GAAG,MAAM,GAAG,GAAG,CAAC;YAC9F,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,GAAG,GAAG,GAAG,MAAM,CAAC;;;IAI3F,eAAe,GAAA;AACrB,QAAA,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;;AAEvD,YAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAC7F,YAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CACrB,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAC9B,WAAW,EACX,IAAI,CAAC,MAAM,GAAG,mBAAmB,GAAG,eAAe,CACpD;AACD,YAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC;;;IAIrE,kBAAkB,GAAA;AACxB,QAAA,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;AACvD,YAAA,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;AACjE,YAAA,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC;AACvE,YAAA,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC;;;8GA7X7D,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAnB,mBAAmB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,EAAA,YAAA,EAAA,WAAA,EAAA,aAAA,EAAA,UAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,OAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,mBAAA,EAAA,yBAAA,EAAA,iBAAA,EAAA,yBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,cAAA,EAAA,QAAA,EAAA,YAAA,EAAA,QAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,SAAA,EARnB,CAAC,eAAe,CAAC,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAQjB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAX/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,0BAA0B;AACpC,oBAAA,QAAQ,EAAE,aAAa;oBACvB,SAAS,EAAE,CAAC,eAAe,CAAC;AAC5B,oBAAA,IAAI,EAAE;AACJ,wBAAA,gBAAgB,EAAE,QAAQ;AAC1B,wBAAA,cAAc,EAAE,QAAQ;AACxB,wBAAA,cAAc,EAAE;AACjB,qBAAA;AACD,oBAAA,UAAU,EAAE;AACb,iBAAA;iQAKU,SAAS,EAAA,CAAA;sBAAjB;gBAKQ,QAAQ,EAAA,CAAA;sBAAhB;gBAIQ,SAAS,EAAA,CAAA;sBAAjB;gBAKQ,MAAM,EAAA,CAAA;sBAAd;gBAOG,SAAS,EAAA,CAAA;sBADZ;gBAaG,UAAU,EAAA,CAAA;sBADb;gBAaG,WAAW,EAAA,CAAA;sBADd;gBAaG,UAAU,EAAA,CAAA;sBADb;gBAiBG,MAAM,EAAA,CAAA;sBADT;gBAoBS,YAAY,EAAA,CAAA;sBAArB;gBAKS,OAAO,EAAA,CAAA;sBAAhB;gBAKS,QAAQ,EAAA,CAAA;sBAAjB;gBAoLD,eAAe,EAAA,CAAA;sBAFd,YAAY;uBAAC,mBAAmB,EAAE,CAAC,QAAQ,CAAC;;sBAC5C,YAAY;uBAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC;;;MC7ThC,uBAAuB,CAAA;AAClC,IAAA,WAAA,CACE,MAAuB,EACvB,cAAgC,EAChC,YAAkD,EAAA;QAElD,MAAM,CAAC,mBAAmB,CAAC;AACzB,YAAA,WAAW,EAAE,YAAY;AACzB,YAAA,aAAa,EAAE;AAChB,SAAA,CAAC;;8GATO,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAH,eAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAvB,uBAAuB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,iCAAA,EAAA,QAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,iCAAiC;AAC3C,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,UAAU,EAAE;AACf,iBAAA;;;MCeY,yBAAyB,CAAA;IAQpC,WACU,CAAA,kBAAqC,EACrC,SAA8B,EAC9B,QAAoB,EACpB,SAAoB,EACpB,MAAuB,EAAA;QAJvB,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB;QAClB,IAAS,CAAA,SAAA,GAAT,SAAS;QACT,IAAQ,CAAA,QAAA,GAAR,QAAQ;QACR,IAAS,CAAA,SAAA,GAAT,SAAS;QACT,IAAM,CAAA,MAAA,GAAN,MAAM;QAXmB,IAAM,CAAA,MAAA,GAAG,KAAK;QAEzC,IAAc,CAAA,cAAA,GAAmB,EAAE;;AAYzC,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CACtB,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,KAAc,KAAI;AACpD,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK;YAEnB,IAAI,KAAK,EAAE;AACT,gBAAA,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC,KAAiB,KAAI;AAC7F,oBAAA,IACE,IAAI,CAAC,MAAM,CAAC,SAAS;wBACrB,KAAK,CAAC,MAAM,KAAK,CAAC;wBAClB,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;AACnD,wBAAA,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAC7D;wBACA,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;AACnC,wBAAA,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE;;AAE3C,iBAAC,CAAC;AAEF,gBAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,WAAW,EAAE,MAAK;AAC5F,oBAAA,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;wBACzB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;AACnC,wBAAA,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE;;AAE3C,iBAAC,CAAC;;iBACG;AACL,gBAAA,IAAI,CAAC,sBAAsB,IAAI,IAAI,CAAC,sBAAsB,EAAE;AAC5D,gBAAA,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,EAAE;;SAErD,CAAC,CACH;;AAGD,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CACtB,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,KAAc,MAAM,IAAI,CAAC,UAAU,GAAG,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAChG;;AAIH,IAAA,OAAO,CAAC,KAAiB,EAAA;AACvB,QAAA,IAAI,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE;YACtC,KAAK,CAAC,eAAe,EAAE;;AAGzB,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB;;QAEF,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;;IAGpC,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,sBAAsB,EAAE;YAC/B,IAAI,CAAC,sBAAsB,EAAE;;AAG/B,QAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,IAAI,CAAC,iBAAiB,EAAE;;AAG1B,QAAA,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,cAAc,EAAE;YACrC,GAAG,CAAC,WAAW,EAAE;;;8GA1EV,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAI,mBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAAH,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAzB,yBAAyB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,qCAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,aAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBARrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,qCAAqC;AAC/C,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,IAAI,EAAE;AACJ,wBAAA,sBAAsB,EAAE;AACzB,qBAAA;AACD,oBAAA,UAAU,EAAE;AACb,iBAAA;iMAE+B,UAAU,EAAA,CAAA;sBAAvC,WAAW;uBAAC,eAAe;gBACO,MAAM,EAAA,CAAA;sBAAxC,WAAW;uBAAC,oBAAoB;gBAmDjC,OAAO,EAAA,CAAA;sBADN,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;;;MChDtB,gBAAgB,CAAA;AAC3B,IAAA,OAAO,OAAO,GAAA;QACZ,OAAO;AACL,YAAA,QAAQ,EAAE,gBAAgB;AAC1B,YAAA,SAAS,EAAE;gBACT,sBAAsB;gBACtB,kBAAkB;gBAClB;AACD;SACF;;8GATQ,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,iBAXrB,uBAAuB;YACvB,yBAAyB;YACzB,4BAA4B;YAC5B,mBAAmB,CAAA,EAAA,OAAA,EAAA,CALb,YAAY,CAAA,EAAA,OAAA,EAAA,CAQlB,uBAAuB;YACvB,yBAAyB;YACzB,mBAAmB,CAAA,EAAA,CAAA,CAAA;AAGd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,YAbf,YAAY,CAAA,EAAA,CAAA,CAAA;;2FAab,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAd5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,YAAY,CAAC;AACvB,oBAAA,YAAY,EAAE;wBACV,uBAAuB;wBACvB,yBAAyB;wBACzB,4BAA4B;wBAC5B;AACH,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,uBAAuB;wBACvB,yBAAyB;wBACzB;AACH;AACJ,iBAAA;;;ACzBD;;AAEG;;;;"}