{"version":3,"file":"ng-sidebarjs.mjs","sources":["../../../projects/ng-sidebarjs/src/lib/sidebarjs-element/sidebarjs-element.component.ts","../../../projects/ng-sidebarjs/src/lib/sidebarjs-element/sidebarjs-element.component.html","../../../projects/ng-sidebarjs/src/lib/sidebarjs-toggle.directive.ts","../../../projects/ng-sidebarjs/src/lib/sidebarjs-open.directive.ts","../../../projects/ng-sidebarjs/src/lib/sidebarjs-close.directive.ts","../../../projects/ng-sidebarjs/src/lib/sidebarjs.module.ts","../../../projects/ng-sidebarjs/src/public-api.ts","../../../projects/ng-sidebarjs/src/ng-sidebarjs.ts"],"sourcesContent":["import {\n  AfterContentInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  EventEmitter,\n  Input,\n  OnDestroy,\n  Output,\n  Renderer2,\n  ViewChild,\n  ViewEncapsulation\n} from '@angular/core';\nimport { SidebarjsService, SidebarConfig } from '../sidebarjs.service';\n\n@Component({\n  selector: 'sidebarjs-element',\n  templateUrl: './sidebarjs-element.component.html',\n  styleUrls: ['./sidebarjs-element.component.scss'],\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SidebarjsElementComponent implements AfterContentInit, OnDestroy {\n\n  @Input() sidebarjsName = '';\n  @Input() sidebarjsConfig: SidebarConfig = {};\n\n  @Output() open: EventEmitter<void> = new EventEmitter();\n  @Output() close: EventEmitter<void> = new EventEmitter();\n  @Output() changeVisibility: EventEmitter<{ isVisible: boolean }> = new EventEmitter();\n\n  @ViewChild('container', {static: true}) container?: ElementRef<HTMLElement>;\n  @ViewChild('backdrop', {static: true}) backdrop?: ElementRef<HTMLElement>;\n\n  constructor(\n    private readonly elementRef: ElementRef<HTMLElement>,\n    private readonly sidebarjsService: SidebarjsService,\n    private readonly renderer: Renderer2,\n    private readonly changeDetectorRef: ChangeDetectorRef,\n  ) {\n    this.changeDetectorRef.detach();\n  }\n\n  ngAfterContentInit() {\n    const baseConfig = this.defineConfigDomElements();\n    this.renderer.setAttribute(baseConfig.component, 'sidebarjs', this.sidebarjsName);\n    this.renderer.setAttribute(baseConfig.container, 'sidebarjs-container', '');\n    this.renderer.setAttribute(baseConfig.backdrop, 'sidebarjs-backdrop', '');\n    this.sidebarjsService.create({\n      ...this.sidebarjsConfig,\n      ...baseConfig,\n      onOpen: () => this.open.emit(),\n      onClose: () => this.close.emit(),\n      onChangeVisibility: (changes) => this.changeVisibility.emit(changes),\n    });\n    this.changeDetectorRef.detectChanges();\n  }\n\n  ngOnDestroy() {\n    this.sidebarjsService.destroy(this.sidebarjsName);\n  }\n\n  private defineConfigDomElements() {\n    return {\n      component: this.elementRef.nativeElement,\n      container: this.container?.nativeElement,\n      backdrop: this.backdrop?.nativeElement,\n    };\n  }\n}\n","<div #container>\n  <ng-content></ng-content>\n</div>\n<div #backdrop></div>\n","import { Directive, ElementRef, Input, OnDestroy, Renderer2 } from '@angular/core';\nimport { SidebarjsService, HTMLSidebarElement } from './sidebarjs.service';\n\n@Directive({\n  selector: '[sidebarjsToggle]',\n})\nexport class SidebarjsToggleDirective implements OnDestroy {\n  @Input() sidebarjsToggle = '';\n\n  private readonly destroyListener = this.renderer.listen(\n    this.elementRef.nativeElement,\n    'click',\n    ({target}: Event) => {\n      if (!this.sidebarjsService.elemHasListener(target as HTMLSidebarElement)) {\n        this.sidebarjsService.toggle(this.sidebarjsToggle);\n      }\n    });\n\n  constructor(\n    private readonly sidebarjsService: SidebarjsService,\n    private readonly renderer: Renderer2,\n    private readonly elementRef: ElementRef<Element>,\n  ) {\n  }\n\n  public ngOnDestroy(): void {\n    this.destroyListener();\n  }\n}\n","import { Directive, ElementRef, Input, OnDestroy, Renderer2 } from '@angular/core';\nimport { SidebarjsService, HTMLSidebarElement } from './sidebarjs.service';\n\n@Directive({\n  selector: '[sidebarjsOpen]',\n})\nexport class SidebarjsOpenDirective implements OnDestroy {\n  @Input() sidebarjsOpen = '';\n\n  private readonly destroyListener = this.renderer.listen(\n    this.elementRef.nativeElement,\n    'click',\n    ({target}: Event) => {\n      if (!this.sidebarjsService.elemHasListener(target as HTMLSidebarElement)) {\n        this.sidebarjsService.open(this.sidebarjsOpen);\n      }\n    });\n\n  constructor(\n    private readonly sidebarjsService: SidebarjsService,\n    private readonly renderer: Renderer2,\n    private readonly elementRef: ElementRef<Element>,\n  ) {\n  }\n\n  public ngOnDestroy(): void {\n    this.destroyListener();\n  }\n}\n","import { Directive, ElementRef, Input, OnDestroy, Renderer2 } from '@angular/core';\nimport { SidebarjsService, HTMLSidebarElement } from './sidebarjs.service';\n\n@Directive({\n  selector: '[sidebarjsClose]',\n})\nexport class SidebarjsCloseDirective implements OnDestroy {\n  @Input() sidebarjsClose = '';\n\n  private readonly destroyListener = this.renderer.listen(\n    this.elementRef.nativeElement,\n    'click',\n    ({target}: Event) => {\n      if (!this.sidebarjsService.elemHasListener(target as HTMLSidebarElement)) {\n        this.sidebarjsService.close(this.sidebarjsClose);\n      }\n    });\n\n  constructor(\n    private readonly sidebarjsService: SidebarjsService,\n    private readonly renderer: Renderer2,\n    private readonly elementRef: ElementRef<Element>,\n  ) {\n  }\n\n  public ngOnDestroy(): void {\n    this.destroyListener();\n  }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { SidebarjsElementComponent } from './sidebarjs-element/sidebarjs-element.component';\nimport { SidebarjsToggleDirective } from './sidebarjs-toggle.directive';\nimport { SidebarjsOpenDirective } from './sidebarjs-open.directive';\nimport { SidebarjsCloseDirective } from './sidebarjs-close.directive';\nimport { SidebarjsService } from './sidebarjs.service';\n\n@NgModule({\n  imports: [],\n  declarations: [\n    SidebarjsElementComponent,\n    SidebarjsToggleDirective,\n    SidebarjsOpenDirective,\n    SidebarjsCloseDirective,\n  ],\n  exports: [\n    SidebarjsElementComponent,\n    SidebarjsToggleDirective,\n    SidebarjsOpenDirective,\n    SidebarjsCloseDirective,\n  ],\n})\nexport class SidebarjsModule {\n  static forRoot(): ModuleWithProviders<SidebarjsModule> {\n    return {\n      ngModule: SidebarjsModule,\n      providers: [SidebarjsService],\n    };\n  }\n}\n","/*\n * Public API Surface of ng-sidebarjs\n */\n\nexport * from './lib/sidebarjs.module';\nexport * from './lib/sidebarjs.service';\nexport * from './lib/sidebarjs-element/sidebarjs-element.component';\nexport * from './lib/sidebarjs-toggle.directive';\nexport * from './lib/sidebarjs-close.directive';\nexport * from './lib/sidebarjs-open.directive';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.SidebarjsService","SidebarjsService"],"mappings":"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"}