{"version":3,"file":"uib-angular-common.mjs","sources":["../../../../libs/angular-components/common/src/lib/services/destroy.service.ts","../../../../libs/angular-components/common/src/lib/controllers/aria-attributes.controller.ts","../../../../libs/angular-components/common/src/lib/controllers/disabled.controller.ts","../../../../libs/angular-components/common/src/lib/directives/click-outside.directive.ts","../../../../libs/angular-components/common/src/lib/models/expandable-container.ts","../../../../libs/angular-components/common/src/lib/models/expandable-item.ts","../../../../libs/angular-components/common/src/lib/directives/expandable-container.directive.ts","../../../../libs/angular-components/common/src/lib/directives/expandable-item.directive.ts","../../../../libs/angular-components/common/src/lib/directives/for.directive.ts","../../../../libs/angular-components/common/src/lib/directives/let.directive.ts","../../../../libs/angular-components/common/src/lib/common.module.ts","../../../../libs/angular-components/common/src/lib/plugins/event-plugin.ts","../../../../libs/angular-components/common/src/lib/plugins/debounce-event.plugin.ts","../../../../libs/angular-components/common/src/lib/plugins/outside-event.plugin.ts","../../../../libs/angular-components/common/src/lib/services/document-ref.ts","../../../../libs/angular-components/common/src/lib/services/event-listener-manager.ts","../../../../libs/angular-components/common/src/lib/services/window-ref.ts","../../../../libs/angular-components/common/src/uib-angular-common.ts"],"sourcesContent":["import { Injectable, OnDestroy } from '@angular/core';\nimport { ReplaySubject } from 'rxjs';\n\n@Injectable()\nexport class DestroyService extends ReplaySubject<void> implements OnDestroy {\n  constructor() {\n    super(1);\n  }\n\n  public ngOnDestroy(): void {\n    this.next();\n    this.complete();\n  }\n}\n","import { ChangeDetectorRef, Directive, forwardRef, InjectionToken, Input, NgModule, Provider } from '@angular/core';\nimport { Controller, watchedControllerFactory } from '@uib/angular/core';\nimport { DestroyService } from '../services/destroy.service';\n\nexport const ARIA_ATTRIBUTES_CONTROLLER = new InjectionToken<AriaAttributesController>('@uib/angular/common::AriaAttributesController', {\n  factory: () => new AriaAttributesController(),\n});\n\nexport const ARIA_ATTRIBUTES_WATCHED_CONTROLLER = new InjectionToken('@uib/angular/common::AriaAttributesWatchedController');\nexport const ARIA_ATTRIBUTES_CONTROLLER_PROVIDER: Provider = [\n  DestroyService,\n  {\n    provide: ARIA_ATTRIBUTES_WATCHED_CONTROLLER,\n    useFactory: watchedControllerFactory,\n    deps: [ARIA_ATTRIBUTES_CONTROLLER, ChangeDetectorRef, DestroyService],\n  },\n];\n\n@Directive({\n  // eslint-disable-next-line @angular-eslint/directive-selector\n  selector: '[aria-label], [aria-labelledby], [aria-describedby]',\n  providers: [\n    {\n      provide: ARIA_ATTRIBUTES_CONTROLLER,\n      useExisting: forwardRef(() => AriaAttributesController),\n    },\n  ],\n})\nexport class AriaAttributesController extends Controller {\n  @Input('aria-label')\n  public ariaLabel = '';\n\n  @Input('aria-labelledby')\n  public ariaLabelledby: string | null = null;\n\n  @Input('aria-describedby')\n  public ariaDescribedby: string | null = null;\n}\n\n@NgModule({\n  declarations: [AriaAttributesController],\n  exports: [AriaAttributesController],\n})\nexport class AriaAttributesControllerModule {}\n","import { ChangeDetectorRef, Directive, forwardRef, InjectionToken, Input, NgModule, Provider } from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty, Controller, Transform, watchedControllerFactory } from '@uib/angular/core';\nimport { DestroyService } from '../services/destroy.service';\n\nexport const DISABLED_CONTROLLER = new InjectionToken<DisabledController>('@uib/angular/common::DisabledController', {\n  factory: () => new DisabledController(),\n});\n\nexport const DISABLED_WATCHED_CONTROLLER = new InjectionToken('@uib/angular/common::DisabledWatchedController');\nexport const DISABLED_CONTROLLER_PROVIDER: Provider = [\n  DestroyService,\n  {\n    provide: DISABLED_WATCHED_CONTROLLER,\n    useFactory: watchedControllerFactory,\n    deps: [DISABLED_CONTROLLER, ChangeDetectorRef, DestroyService],\n  },\n];\n\n@Directive({\n  // eslint-disable-next-line @angular-eslint/directive-selector\n  selector: '[disabled]',\n  providers: [\n    {\n      provide: DISABLED_CONTROLLER,\n      useExisting: forwardRef(() => DisabledController),\n    },\n  ],\n})\nexport class DisabledController extends Controller {\n  public static ngAcceptInputType_disabled: BooleanInput;\n\n  @Input()\n  @Transform(coerceBooleanProperty)\n  public disabled = false;\n\n  public setDisabledState(state: boolean): void {\n    this.disabled = state;\n    this.ngOnChanges();\n  }\n}\n\n@NgModule({\n  declarations: [DisabledController],\n  exports: [DisabledController],\n})\nexport class DisabledControllerModule {}\n","import { Directive, ElementRef, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output, Renderer2 } from '@angular/core';\nimport { NgChanges } from '@uib/angular/utils';\n\n/**\n * ClickOutside\n */\n@Directive({\n  // eslint-disable-next-line @angular-eslint/directive-selector\n  selector: '[clickOutside]',\n})\nexport class ClickOutsideDirective implements OnChanges, OnInit, OnDestroy {\n  private listener?: () => void;\n\n  /**\n   * If true binds a global listener is binded to check outside clicks\n   */\n  @Input()\n  public clickOutsideActive = true;\n\n  /**\n   * Emits on outside click\n   */\n  @Output()\n  public readonly clickOutside = new EventEmitter<MouseEvent>();\n\n  constructor(private readonly element: ElementRef<HTMLElement>, private readonly renderer: Renderer2) {\n    this.clickOutsideActive = true;\n  }\n\n  public ngOnInit(): void {\n    if (this.clickOutsideActive) {\n      this.registerHandler();\n    }\n  }\n\n  public ngOnChanges({ clickOutsideActive }: NgChanges<ClickOutsideDirective>): void {\n    if (!clickOutsideActive?.firstChange && clickOutsideActive?.previousValue !== clickOutsideActive?.currentValue) {\n      if (clickOutsideActive?.currentValue) {\n        this.registerHandler();\n      } else {\n        this.destroy();\n      }\n    }\n  }\n\n  public ngOnDestroy(): void {\n    this.destroy();\n  }\n\n  private destroy() {\n    if (this.listener) {\n      this.listener();\n      this.listener = undefined;\n    }\n  }\n\n  private registerHandler() {\n    setTimeout(() => {\n      this.listener =\n        this.listener ||\n        this.renderer.listen('document', 'click', (event) => {\n          if (this.clickOutsideActive && this.element?.nativeElement.isConnected && !this.element?.nativeElement.contains(event.target)) {\n            this.clickOutside.emit(event);\n          }\n        });\n    }, 0);\n  }\n}\n","import { ExpandableItem } from './expandable-item';\n\nexport abstract class ExpandableContainer {\n  public abstract close(item: ExpandableItem): void;\n  public abstract closeAll(): void;\n  public abstract open(item: ExpandableItem): void;\n}\n","export abstract class ExpandableItem {\n  public abstract readonly id: string;\n  public abstract isExpanded: boolean;\n\n  public abstract close(): void;\n  public abstract open(): void;\n  public abstract toggle(): void;\n}\n","import { Directive, Input } from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty, Transform } from '@uib/angular/core';\nimport { ExpandableContainer, ExpandableItem } from '../models';\n\n@Directive({\n  selector: '[uibExpandableContainer]',\n  providers: [{ provide: ExpandableContainer, useExisting: ExpandableContainerDirective }],\n})\nexport class ExpandableContainerDirective extends ExpandableContainer {\n  public static ngAcceptInputType_multiple: BooleanInput;\n\n  private openItems: Record<string, ExpandableItem> = {};\n\n  @Input()\n  @Transform(coerceBooleanProperty)\n  public multiple = false;\n\n  public close(item: ExpandableItem): void {\n    delete this.openItems[item.id];\n  }\n\n  public closeAll(): void {\n    for (const item of Object.values(this.openItems)) {\n      item.close();\n    }\n  }\n\n  public open(item: ExpandableItem): void {\n    if (!this.multiple) {\n      this.closeAll();\n    }\n    this.openItems[item.id] = item;\n  }\n}\n","import { ChangeDetectorRef, Directive, Inject, Input, Optional, SkipSelf } from '@angular/core';\nimport { coerceBooleanProperty } from '@uib/angular/core';\nimport { uuid } from '@uib/angular/utils';\nimport { ExpandableContainer, ExpandableItem } from '../models';\n\n@Directive({\n  selector: '[uibExpandableItem]',\n  providers: [{ provide: ExpandableContainer, useValue: null }],\n})\nexport class ExpandableItemDirective extends ExpandableItem {\n  private expanded = false;\n\n  public readonly id = `expandable-list-item-${uuid()}`;\n\n  @Input()\n  public set isExpanded(value: boolean) {\n    const isExpanded = coerceBooleanProperty(value);\n    if (this.expanded !== isExpanded) {\n      this.expanded = isExpanded;\n      if (this.isExpanded) {\n        this.container?.open(this);\n      } else {\n        this.container?.close(this);\n      }\n      this.changeDetector.markForCheck();\n    }\n  }\n  public get isExpanded(): boolean {\n    return this.expanded;\n  }\n\n  constructor(\n    private readonly changeDetector: ChangeDetectorRef,\n    @Optional() @SkipSelf() @Inject(ExpandableContainer) private readonly container?: ExpandableContainer,\n  ) {\n    super();\n  }\n\n  public toggle(): void {\n    this.isExpanded = !this.isExpanded;\n  }\n\n  public open(): void {\n    this.isExpanded = true;\n  }\n\n  public close(): void {\n    this.isExpanded = false;\n  }\n}\n","import { Directive, EmbeddedViewRef, Input, OnChanges, TemplateRef, ViewContainerRef } from '@angular/core';\n\n@Directive({\n  // eslint-disable-next-line @angular-eslint/directive-selector\n  selector: '[ngFor][ngForOf][ngForElse],[ngFor][ngForOf][ngForEmpty]',\n})\nexport class ForDirective implements OnChanges {\n  @Input()\n  public ngForOf: unknown[] | null = [];\n\n  @Input()\n  public ngForElse?: TemplateRef<unknown>;\n\n  @Input()\n  public ngForEmpty?: TemplateRef<unknown>;\n\n  private viewRef?: EmbeddedViewRef<unknown>;\n\n  constructor(private readonly vcr: ViewContainerRef) {}\n\n  public ngOnChanges(): void {\n    this.viewRef?.destroy();\n\n    if (this.ngForOf?.length === 0 && this.ngForEmpty) {\n      this.viewRef = this.vcr.createEmbeddedView(this.ngForEmpty);\n    } else if (!this.ngForOf && this.ngForElse) {\n      this.viewRef = this.vcr.createEmbeddedView(this.ngForElse);\n    }\n  }\n}\n","import { Directive, EmbeddedViewRef, Input, OnChanges, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { NgChanges } from '@uib/angular/utils';\n\n/**\n * @internal\n */\nexport class LetContext<T> {\n  public $implicit = this.directive.value;\n  public uibLet = this.directive.value;\n\n  constructor(private readonly directive: LetDirective<T>) {}\n}\n\n@Directive({ selector: '[uibLet]' })\nexport class LetDirective<T> implements OnChanges {\n  private readonly viewRef: EmbeddedViewRef<LetContext<T>>;\n\n  @Input('uibLet')\n  public value: T;\n\n  constructor(viewContainer: ViewContainerRef, templateRef: TemplateRef<LetContext<T>>) {\n    this.viewRef = viewContainer.createEmbeddedView(templateRef, new LetContext<T>(this));\n  }\n\n  public static ngTemplateContextGuard<T>(_dir: LetDirective<T>, _ctx: unknown): _ctx is LetContext<T> {\n    return true;\n  }\n\n  public ngOnChanges(changes: NgChanges<LetDirective<unknown>>) {\n    if (changes.value) {\n      const value = changes.value.currentValue as T;\n      this.viewRef.context.$implicit = value;\n      this.viewRef.context.uibLet = value;\n    }\n  }\n}\n","import { CommonModule as NgCommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AriaAttributesControllerModule, DisabledControllerModule } from './controllers';\nimport { ClickOutsideDirective, ExpandableContainerDirective, ExpandableItemDirective } from './directives';\nimport { ForDirective } from './directives/for.directive';\nimport { LetDirective } from './directives/let.directive';\n\nconst directives = [ClickOutsideDirective, ExpandableContainerDirective, ExpandableItemDirective, ForDirective, LetDirective];\nconst controllers = [AriaAttributesControllerModule, DisabledControllerModule];\n@NgModule({\n  imports: [NgCommonModule],\n  declarations: [...directives],\n  exports: [NgCommonModule, ...directives, ...controllers],\n})\nexport class CommonModule {}\n","import { NgZone } from '@angular/core';\nimport { EventManager } from '@angular/platform-browser';\nimport { isFunction } from '@uib/angular/utils';\n\nexport abstract class EventPlugin {\n  protected manager!: EventManager;\n\n  protected abstract readonly modifier: RegExp;\n\n  public abstract addEventListener(element: HTMLElement, eventName: string, handler: EventListener): () => void;\n  public abstract addGlobalEventListener(element: string, eventName: string, handler: EventListener): () => void;\n\n  public supports(eventName: string): boolean {\n    return this.modifier.test(eventName);\n  }\n\n  protected getZone(): NgZone {\n    return this.manager.getZone();\n  }\n\n  protected teardown(listener: (() => void) | null) {\n    return () => (isFunction(listener) ? listener() : void 0);\n  }\n}\n","/* eslint-disable @typescript-eslint/ban-types */\nimport { Injectable } from '@angular/core';\nimport { coerceNumberProperty } from '@uib/angular/core';\nimport { debounce } from '@uib/angular/utils';\nimport { EventPlugin } from './event-plugin';\n\nconst DEFAULT_DELAY = 250;\n\n@Injectable()\nexport class DebounceEventPlugin extends EventPlugin {\n  public readonly modifier = /debounce/;\n\n  public addEventListener(element: HTMLElement, eventName: string, originalHandler: EventListener): () => void {\n    const [name, , delay] = eventName.split('.');\n    const handler = this.createHandler(originalHandler, coerceNumberProperty(delay || DEFAULT_DELAY));\n\n    return this.runOutsideAngular(() => this.manager.addEventListener(element, name, handler));\n  }\n\n  public addGlobalEventListener(element: string, eventName: string, originalHandler: EventListener): () => void {\n    const [name, , delay] = eventName.split('.');\n    const handler = this.createHandler(originalHandler, coerceNumberProperty(delay || DEFAULT_DELAY));\n\n    return this.runOutsideAngular(() => this.manager.addGlobalEventListener(element, name, handler));\n  }\n\n  private createHandler(originalHandler: EventListener, delay: number) {\n    const innerHandler = (event: Event) => this.getZone().runGuarded(() => originalHandler(event));\n\n    return debounce(innerHandler, delay);\n  }\n\n  private runOutsideAngular(addListener: () => Function) {\n    let listener: Function | null = null;\n    this.getZone().runOutsideAngular(() => {\n      listener = addListener();\n    });\n\n    return this.teardown(listener);\n  }\n}\n","import { DOCUMENT } from '@angular/common';\nimport { Inject, Injectable, NgZone } from '@angular/core';\nimport { EventPlugin } from './event-plugin';\n\n@Injectable()\nexport class OutsideEventPlugin extends EventPlugin {\n  protected modifier = /outside/;\n\n  constructor(@Inject(DOCUMENT) private readonly document: Document, private readonly zone: NgZone) {\n    super();\n  }\n\n  public addEventListener(element: HTMLElement, eventName: string, handler: EventListener): () => void {\n    const [name] = eventName.split('.');\n    let registered = false;\n    setTimeout(() => (registered = true), 0);\n    return this.zone.runOutsideAngular(() => {\n      return this.manager.addEventListener((element.ownerDocument || this.document) as never, name, (event: Event) => {\n        if (registered && element?.isConnected && event.target && !element.contains(event.target as Node)) {\n          this.zone.run(() => handler(event));\n        }\n      }) as () => void;\n    });\n  }\n\n  public addGlobalEventListener(): () => void {\n    return () => void 0;\n  }\n}\n","import { DOCUMENT } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\n\n// @dynamic\n@Injectable({\n  providedIn: 'root',\n})\nexport class DocumentRef {\n  public get nativeDocument(): Document {\n    return this.document;\n  }\n\n  constructor(@Inject(DOCUMENT) private readonly document: Document) {}\n}\n","import { ElementRef, Injectable, OnDestroy, Renderer2 } from '@angular/core';\n\n@Injectable()\nexport class EventListenerManager implements OnDestroy {\n  private listeners: Array<() => void> = [];\n\n  constructor(private readonly element: ElementRef<HTMLElement>, private readonly renderer: Renderer2) {}\n\n  public destroyListeners(): void {\n    while (this.listeners.length) this.listeners.pop()?.();\n  }\n\n  public addListener<T extends Event = Event>(eventName: string, callback: (event?: T) => void, target?: unknown): void {\n    this.listeners.push(this.renderer.listen(target ?? this.element.nativeElement, eventName, (event) => callback(event)));\n  }\n\n  public ngOnDestroy(): void {\n    this.destroyListeners();\n  }\n}\n","import { DOCUMENT } from '@angular/common';\nimport { Injectable } from '@angular/core';\nimport { fromEvents } from '@uib/angular/utils';\nimport { map, shareReplay, startWith } from 'rxjs';\n\n@Injectable({\n  providedIn: 'root',\n  useFactory: (document: Document) => new WindowRef(document.defaultView ?? window),\n  deps: [DOCUMENT],\n})\nexport class WindowRef {\n  public readonly isOnline$ = fromEvents(this.nativeWindow, 'offline', 'online').pipe(\n    startWith(null),\n    map(() => this.nativeWindow.navigator.onLine),\n    shareReplay({ refCount: true }),\n  );\n\n  public get location(): Location {\n    return this.nativeWindow.location;\n  }\n\n  constructor(public readonly nativeWindow: Window) {}\n\n  public getLanguage(): string {\n    return this.nativeWindow.navigator.language;\n  }\n\n  public getOrigin(): string {\n    return this.location.origin;\n  }\n\n  public reloadPage(): void {\n    return this.location.reload();\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["NgCommonModule"],"mappings":"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"}