{"version":3,"file":"qualcomm-ui-angular-core-portal.mjs","sources":["../../src/portal/portal-context.service.ts","../../src/portal/portal.component.ts","../../src/portal/portal.directive.ts","../../src/portal/qualcomm-ui-angular-core-portal.ts"],"sourcesContent":["// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {ElementRef, inject, Injectable, InjectionToken} from \"@angular/core\"\n\nexport const PORTAL_CONTAINER = new InjectionToken<\n  ElementRef<HTMLElement> | HTMLElement | null\n>(\"PORTAL_CONTAINER\", {\n  factory: () => null,\n})\n\n@Injectable()\nexport class PortalContextService {\n  readonly container = inject(PORTAL_CONTAINER, {optional: true})\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {\n  DomPortalOutlet,\n  PortalModule,\n  TemplatePortal,\n} from \"@angular/cdk/portal\"\nimport {CommonModule, DOCUMENT} from \"@angular/common\"\nimport {\n  type AfterViewInit,\n  ApplicationRef,\n  booleanAttribute,\n  Component,\n  computed,\n  effect,\n  ElementRef,\n  inject,\n  Injector,\n  input,\n  type OnInit,\n  signal,\n  TemplateRef,\n  viewChild,\n  ViewContainerRef,\n} from \"@angular/core\"\n\nimport {useCsrCheck, useOnDestroy} from \"@qualcomm-ui/angular-core/common\"\nimport type {Booleanish} from \"@qualcomm-ui/utils/coercion\"\n\nimport {PortalContextService} from \"./portal-context.service\"\n\n/**\n * @deprecated use the PortalDirective instead\n */\n@Component({\n  imports: [CommonModule, PortalModule],\n  selector: \"q-portal\",\n  template: `\n    <ng-template #tpl><ng-content /></ng-template>\n  `,\n})\nexport class PortalComponent implements OnInit, AfterViewInit {\n  /**\n   * Set this to true to disable portalling behavior, causing the children to be\n   * rendered as-is.\n   */\n  readonly disabled = input<boolean | undefined, Booleanish>(undefined, {\n    transform: booleanAttribute,\n  })\n\n  /**\n   * Override the element that the portal is attached to.\n   */\n  readonly container = input<ElementRef<HTMLElement> | HTMLElement | null>(null)\n\n  protected readonly onDestroy = useOnDestroy()\n\n  private readonly tpl = viewChild<TemplateRef<any>>(\"tpl\")\n  private readonly templatePortal = signal<TemplatePortal | null>(null)\n\n  private outlet: DomPortalOutlet | null = null\n  private readonly appRef = inject(ApplicationRef)\n  private readonly vcr = inject(ViewContainerRef)\n  private readonly document = inject(DOCUMENT)\n  private readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef)\n  private readonly isBrowser = useCsrCheck()\n  private readonly injector = inject(Injector)\n  private readonly portalContext = inject(PortalContextService, {\n    optional: true,\n  })\n\n  constructor() {\n    effect(() => {\n      // handle changes to the container\n      const resolvedContainer = this.resolveContainer()\n      const portal = this.templatePortal()\n\n      if (!this.isBrowser() || !portal) {\n        return\n      }\n\n      if (this.outlet?.hasAttached()) {\n        this.outlet.detach()\n      }\n\n      const host = resolvedContainer ?? this.document.body\n      this.outlet = new DomPortalOutlet(host, this.appRef, this.injector)\n      this.outlet.attach(portal)\n    })\n\n    this.onDestroy(() => {\n      if (this.outlet && this.outlet.hasAttached()) {\n        this.outlet.detach()\n      }\n\n      const portal = this.templatePortal()\n      if (portal?.isAttached) {\n        portal?.detach()\n      }\n    })\n  }\n\n  ngOnInit() {\n    this.tryAttach()\n  }\n\n  ngAfterViewInit() {\n    this.tryAttach()\n  }\n\n  private tryAttach() {\n    if (!this.isBrowser()) {\n      return\n    }\n    const tpl = this.tpl()\n    if (!tpl) {\n      return\n    }\n\n    if (this.templatePortal()) {\n      return\n    }\n    const portal = new TemplatePortal(tpl, this.vcr)\n    this.templatePortal.set(portal)\n\n    const host = this.resolveContainer() ?? this.document.body\n    if (this.outlet?.hasAttached()) {\n      this.outlet.detach()\n    }\n\n    this.outlet = new DomPortalOutlet(host, this.appRef, this.injector)\n    this.outlet.attach(portal)\n  }\n\n  protected readonly resolveContainer = computed(() => {\n    const containerProp = this.container()\n    const containerContext = this.portalContext?.container\n    const disabled = this.disabled()\n    if (disabled) {\n      // when disabled, we append the portal to the element itself to render it as-is\n      return this.accessElement(this.elementRef)\n    }\n    if (containerProp) {\n      return this.accessElement(containerProp)\n    }\n    if (containerContext) {\n      return this.accessElement(containerContext)\n    }\n    return null\n  })\n\n  private accessElement(element: ElementRef<HTMLElement> | HTMLElement | null) {\n    if (element instanceof ElementRef) {\n      return element.nativeElement\n    }\n    return element || null\n  }\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {DomPortalOutlet, TemplatePortal} from \"@angular/cdk/portal\"\nimport {DOCUMENT} from \"@angular/common\"\nimport {\n  type AfterViewInit,\n  ApplicationRef,\n  booleanAttribute,\n  computed,\n  Directive,\n  effect,\n  ElementRef,\n  inject,\n  Injector,\n  input,\n  type OnInit,\n  signal,\n  TemplateRef,\n  untracked,\n  ViewContainerRef,\n} from \"@angular/core\"\n\nimport {useCsrCheck, useOnDestroy} from \"@qualcomm-ui/angular-core/common\"\nimport type {Booleanish} from \"@qualcomm-ui/utils/coercion\"\n\nimport {PortalContextService} from \"./portal-context.service\"\n\n@Directive({\n  selector: \"[qPortal]\",\n  standalone: true,\n})\nexport class PortalDirective implements OnInit, AfterViewInit {\n  readonly disabled = input<boolean | undefined, Booleanish>(undefined, {\n    transform: booleanAttribute,\n  })\n  readonly container = input<ElementRef<HTMLElement> | HTMLElement | null>(null)\n\n  protected readonly onDestroy = useOnDestroy()\n  private readonly templatePortal = signal<TemplatePortal | null>(null)\n  private outlet: DomPortalOutlet | null = null\n  private readonly appRef = inject(ApplicationRef)\n  private readonly vcr = inject(ViewContainerRef)\n  private readonly document = inject(DOCUMENT)\n  private readonly templateRef = inject(TemplateRef)\n  private readonly isBrowser = useCsrCheck()\n  private readonly injector = inject(Injector)\n  private readonly portalContext = inject(PortalContextService, {\n    optional: true,\n  })\n  private attachedToSelf: boolean = false\n\n  constructor() {\n    effect(() => {\n      const disabled = this.disabled()\n      this.container()\n      const portal = this.templatePortal()\n\n      untracked(() => {\n        if (!this.isBrowser() || !portal) {\n          return\n        }\n\n        if (disabled) {\n          if (this.outlet?.hasAttached()) {\n            this.outlet.detach()\n          }\n          this.vcr.clear()\n          this.vcr.createEmbeddedView(this.templateRef)\n          return\n        }\n\n        this.vcr.clear()\n\n        if (this.outlet?.hasAttached()) {\n          this.outlet.detach()\n        }\n\n        const resolvedContainer = this.resolveContainer()\n        const host = resolvedContainer ?? this.document.body\n        this.outlet = new DomPortalOutlet(host, this.appRef, this.injector)\n        this.outlet.attach(portal)\n      })\n    })\n\n    this.onDestroy(() => {\n      if (this.outlet && this.outlet.hasAttached()) {\n        this.outlet.detach()\n      }\n      const portal = this.templatePortal()\n      if (portal?.isAttached) {\n        portal?.detach()\n      }\n    })\n  }\n\n  ngOnInit() {\n    this.tryAttach()\n  }\n\n  ngAfterViewInit() {\n    this.tryAttach()\n  }\n\n  private tryAttach() {\n    const disabled = this.disabled()\n\n    if (!this.isBrowser() || this.templatePortal()) {\n      return\n    }\n\n    if (disabled && !this.attachedToSelf) {\n      this.vcr.createEmbeddedView(this.templateRef)\n      this.attachedToSelf = true\n      return\n    }\n\n    const portal = new TemplatePortal(this.templateRef, this.vcr)\n    this.templatePortal.set(portal)\n    const host = this.resolveContainer() ?? this.document.body\n\n    if (this.outlet?.hasAttached()) {\n      this.outlet.detach()\n    }\n\n    this.outlet = new DomPortalOutlet(host, this.appRef, this.injector)\n    this.outlet.attach(portal)\n  }\n\n  protected readonly resolveContainer = computed(() => {\n    const containerProp = this.container()\n    const containerContext = this.portalContext?.container\n\n    if (containerProp) {\n      return this.accessElement(containerProp)\n    }\n    if (containerContext) {\n      return this.accessElement(containerContext)\n    }\n    return null\n  })\n\n  private accessElement(element: ElementRef<HTMLElement> | HTMLElement | null) {\n    if (element instanceof ElementRef) {\n      return element.nativeElement\n    }\n    return element || null\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}