{"version":3,"file":"uib-angular-components-dynamic-view.mjs","sources":["../../../../libs/angular-components/components/dynamic-view/src/lib/dynamic-view.component.ts","../../../../libs/angular-components/components/dynamic-view/src/lib/models/animated-component.ts","../../../../libs/angular-components/components/dynamic-view/src/lib/models/component-ref.ts","../../../../libs/angular-components/components/dynamic-view/src/lib/models/dynamic-view-context.ts","../../../../libs/angular-components/components/dynamic-view/src/lib/models/template-ref.ts","../../../../libs/angular-components/components/dynamic-view/src/lib/dynamic-view.service.ts","../../../../libs/angular-components/components/dynamic-view/src/lib/dynamic-view.directive.ts","../../../../libs/angular-components/components/dynamic-view/src/lib/dynamic-view.module.ts","../../../../libs/angular-components/components/dynamic-view/src/uib-angular-components-dynamic-view.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { EMPTY, isObservable, Observable, of } from 'rxjs';\n\n@Component({\n  selector: 'uib-dynamic-view',\n  template: '<span [innerHTML]=\"content$ | async\"></span>',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n})\nexport class DynamicViewComponent {\n  public content$: Observable<string> = EMPTY;\n\n  @Input()\n  public set content(value: string | Observable<string>) {\n    this.content$ = isObservable(value) ? value : of(value);\n  }\n}\n","import { ComponentRef } from '@angular/core';\nimport { isObservable, lastValueFrom, Observable } from 'rxjs';\n\nexport interface AnimatedComponent {\n  ngAnimationsDone$: Observable<void>;\n}\n\nexport function isAnimatedComponent<T>(\n  component?: ComponentRef<T | AnimatedComponent> | null,\n): component is ComponentRef<AnimatedComponent> {\n  return isObservable((component?.instance as AnimatedComponent)?.ngAnimationsDone$);\n}\n\nexport async function areAnimationsDone<T>(component?: ComponentRef<T | AnimatedComponent> | null): Promise<boolean> {\n  if (isAnimatedComponent(component)) {\n    await lastValueFrom(component.instance.ngAnimationsDone$);\n  }\n  return true;\n}\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { ApplicationRef, ChangeDetectorRef, ComponentRef as NgComponentRef, Injector, Type, ViewContainerRef } from '@angular/core';\nimport { GetProperties, setInputs } from '@uib/angular/utils';\nimport { areAnimationsDone } from './animated-component';\nimport { DynamicViewRef } from './dynamic-view-ref';\n\ninterface Options<C> {\n  component: Type<C>;\n  injector: Injector;\n  vcr?: ViewContainerRef;\n  appRef?: ApplicationRef;\n}\n\nexport class ComponentRef<T, Props = GetProperties<T>> implements DynamicViewRef<Props> {\n  private componentRef: NgComponentRef<T> | null = null;\n\n  public get instance(): T {\n    return this.componentRef!.instance;\n  }\n\n  constructor(options: Options<T>) {\n    let viewContainer: ViewContainerRef;\n    if (options.vcr) {\n      viewContainer = options.vcr;\n    } else {\n      const applicationRef = options.injector.get(ApplicationRef);\n      viewContainer = applicationRef.components[0].injector.get(ViewContainerRef);\n    }\n    this.componentRef = viewContainer.createComponent(options.component, {\n      index: viewContainer.length,\n      injector: options.injector,\n    });\n  }\n\n  public setInput(input: Partial<Props>): this;\n  public setInput<K extends keyof Props>(input: K, value: Props[K]): this;\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  public setInput(input: any, value?: any): this {\n    setInputs(this.componentRef!.instance, input, value, false);\n    this.detectChanges();\n\n    return this;\n  }\n\n  public update(context: Partial<Props>): void {\n    this.setInput(context);\n  }\n\n  public detectChanges(): void {\n    this.componentRef?.injector.get(ChangeDetectorRef).detectChanges();\n  }\n\n  public getElement<T extends Element>(): T {\n    return this.componentRef!.location.nativeElement;\n  }\n\n  public async destroy(): Promise<void> {\n    this.componentRef?.destroy();\n    try {\n      await areAnimationsDone(this.componentRef);\n    } catch {\n      //\n    }\n    this.componentRef = null;\n  }\n}\n","import { InjectionToken, TemplateRef } from '@angular/core';\n\nexport const DYNAMIC_VIEW_CONTEXT = new InjectionToken('@uib/angular/components/dynamic-view::DynamicViewContext');\n\nexport interface DynamicViewContextWithImplicitTemplate<T = unknown> {\n  $implicit: TemplateRef<T>;\n}\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { ApplicationRef, EmbeddedViewRef, TemplateRef as NgTemplateRef, ViewContainerRef } from '@angular/core';\nimport { DynamicViewRef } from './dynamic-view-ref';\n\ninterface Options<C> {\n  template: NgTemplateRef<C>;\n  context?: C;\n  vcr?: ViewContainerRef;\n  appRef?: ApplicationRef;\n}\n\nexport class TemplateRef<C> implements DynamicViewRef<C> {\n  private element: Element | null = null;\n  private embeddedViewRef: EmbeddedViewRef<C> | null = null;\n\n  constructor(private readonly options: Options<C>) {\n    this.create(options.context);\n  }\n\n  public getElement(): Element {\n    const rootNodes = this.embeddedViewRef!.rootNodes;\n    if (rootNodes.length === 1 && rootNodes[0] === Node.ELEMENT_NODE) {\n      this.element = rootNodes[0];\n    } else {\n      this.element = document.createElement('div');\n      this.element.append(...rootNodes);\n    }\n\n    return this.element!;\n  }\n\n  public update(context: C): void {\n    this.destroy();\n    this.create(context);\n  }\n\n  public detectChanges(): void {\n    this.embeddedViewRef!.detectChanges();\n  }\n\n  public async destroy(): Promise<void> {\n    if (this.embeddedViewRef!.rootNodes[0] !== 1) {\n      this.element?.parentNode?.removeChild(this.element!);\n    }\n\n    if (this.options.appRef) {\n      this.options.appRef.detachView(this.embeddedViewRef!);\n    }\n\n    this.embeddedViewRef!.destroy();\n    this.embeddedViewRef = null;\n    this.element = null;\n  }\n\n  private create(context?: C) {\n    if (this.options.vcr) {\n      this.embeddedViewRef = this.options.vcr.createEmbeddedView<C>(this.options.template, context);\n      this.detectChanges();\n    } else {\n      this.embeddedViewRef = this.options.template.createEmbeddedView(context ?? ({} as C));\n      this.detectChanges();\n      this.options.appRef?.attachView(this.embeddedViewRef);\n    }\n  }\n}\n","import { ApplicationRef, Injectable, Injector, TemplateRef as NgTemplateRef, Type } from '@angular/core';\nimport { GetProperties, isComponent, isString, isTemplateRef } from '@uib/angular/utils';\nimport { isObservable } from 'rxjs';\nimport { DynamicViewComponent } from './dynamic-view.component';\nimport {\n  ComponentRef,\n  ComponentViewOptions,\n  DynamicContent,\n  DynamicViewOptions,\n  DynamicViewRef,\n  DYNAMIC_VIEW_CONTEXT,\n  TemplateRef,\n  TemplateViewOptions,\n} from './models';\n\n@Injectable({ providedIn: 'root' })\nexport class DynamicViewService {\n  constructor(private readonly injector: Injector, private readonly application: ApplicationRef) {}\n\n  public createComponent<C>(component: Type<C>, options: ComponentViewOptions<GetProperties<C>> = {}): ComponentRef<C, GetProperties<C>> {\n    const componentRef = new ComponentRef<C>({\n      component,\n      vcr: options.vcr,\n      injector: options.injector ?? this.injector,\n    });\n    if (options.inputs) {\n      componentRef.update(options.inputs);\n    }\n\n    return componentRef;\n  }\n\n  public createTemplate<C>(template: NgTemplateRef<C>, options: TemplateViewOptions<C> = {}): TemplateRef<C> {\n    return new TemplateRef({\n      ...options,\n      template,\n      appRef: this.application,\n    });\n  }\n\n  public createView(content: DynamicContent, options: DynamicViewOptions = {}): DynamicViewRef {\n    options.injector = Injector.create({\n      providers: [\n        {\n          provide: DYNAMIC_VIEW_CONTEXT,\n          useValue: options.context,\n        },\n      ],\n      parent: options.injector,\n    });\n    if (isTemplateRef(content)) {\n      return this.createTemplate(content, options);\n    } else if (isComponent(content)) {\n      return this.createComponent(content, options);\n    } else if (isString(content) || isObservable(content)) {\n      return this.createComponent(DynamicViewComponent, {\n        ...options,\n        inputs: { content },\n      });\n    } else {\n      throw new Error('Content type is not supported');\n    }\n  }\n}\n","import { Directive, Injector, Input, NgZone, OnChanges, OnDestroy, OnInit, ViewContainerRef } from '@angular/core';\nimport { hasChanged, NgChanges } from '@uib/angular/utils';\nimport { lastValueFrom, takeWhile } from 'rxjs';\nimport { DynamicViewService } from './dynamic-view.service';\nimport { DynamicContent, DynamicViewRef } from './models';\n\n@Directive({ selector: '[uibDynamicView]' })\nexport class DynamicViewDirective implements OnDestroy, OnInit, OnChanges {\n  private viewRef: DynamicViewRef | null = null;\n\n  @Input('uibDynamicView')\n  public content?: DynamicContent | null = null;\n\n  @Input('uibDynamicViewInjector')\n  public injector: Injector;\n\n  @Input('uibDynamicViewContext')\n  public context?: Record<string, unknown> | null;\n\n  constructor(\n    private readonly viewContainer: ViewContainerRef,\n    private readonly dynamicViewService: DynamicViewService,\n    private readonly zone: NgZone,\n  ) {}\n\n  public ngOnInit(): void {\n    this.render();\n  }\n\n  public ngOnChanges(changes: NgChanges<DynamicViewDirective>): void {\n    if (hasChanged(changes, 'content')) {\n      this.destroy();\n      this.render();\n    } else if (hasChanged(changes, 'context')) {\n      this.viewRef?.update(changes.context?.currentValue);\n    }\n  }\n\n  public async ngOnDestroy(): Promise<void> {\n    try {\n      await lastValueFrom(this.zone.onStable.pipe(takeWhile(() => !this.zone.hasPendingMacrotasks && !this.zone.hasPendingMicrotasks)));\n    } catch {\n      // empty\n    }\n    this.destroy();\n  }\n\n  private render() {\n    if (!this.content) return;\n    this.viewRef = this.dynamicViewService.createView(this.content, {\n      vcr: this.viewContainer,\n      injector: this.injector ?? this.viewContainer.injector,\n      context: this.context ?? undefined,\n      inputs: this.context ?? undefined,\n    });\n  }\n\n  private async destroy() {\n    this.viewRef?.destroy();\n    this.viewRef = null;\n  }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { DynamicViewComponent } from './dynamic-view.component';\nimport { DynamicViewDirective } from './dynamic-view.directive';\n\n@NgModule({\n  imports: [CommonModule],\n  declarations: [DynamicViewDirective, DynamicViewComponent],\n  exports: [DynamicViewDirective],\n})\nexport class DynamicViewModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DynamicViewService"],"mappings":"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"}