{"version":3,"file":"ng-toggle-directive.mjs","sources":["../../../projects/ng-toggle-directive/src/lib/ng-toggle-directive.directive.ts","../../../projects/ng-toggle-directive/src/lib/ng-toggle-directive.module.ts","../../../projects/ng-toggle-directive/src/public-api.ts","../../../projects/ng-toggle-directive/src/ng-toggle-directive.ts"],"sourcesContent":["import {\n  Directive,\n  Input,\n  ElementRef,\n  Renderer2,\n  HostListener,\n} from '@angular/core';\n\n@Directive({\n  selector: '[ngToggle]',\n})\nexport class ToggleDirective {\n  @Input('ngToggle') targetSection!: HTMLElement;\n\n  private isExpanded: boolean = false;\n\n  constructor(\n    private el: ElementRef,\n    private renderer: Renderer2,\n  ) {}\n\n  @HostListener('click') toggleTargetSection(): void {\n    const currentMaxHeight = window.getComputedStyle(\n      this.targetSection,\n    ).maxHeight;\n\n    if (currentMaxHeight === '0px' || !this.isExpanded) {\n      this.expand();\n    } else {\n      this.collapse();\n    }\n  }\n\n  private expand(): void {\n    this.renderer.setStyle(this.targetSection,'max-height', `${this.targetSection.scrollHeight}px`);\n    this.renderer.addClass(this.el.nativeElement, 'expanded');\n    this.renderer.addClass(this.targetSection, 'show');\n    this.isExpanded = true;\n  }\n\n  private collapse(): void {\n    this.renderer.setStyle(this.targetSection, 'max-height', '0');\n    this.renderer.removeClass(this.el.nativeElement, 'expanded');\n    this.renderer.removeClass(this.targetSection, 'show');\n    this.isExpanded = false;\n  }\n}\n","import { NgModule } from '@angular/core';\nimport { ToggleDirective } from './ng-toggle-directive.directive';\n\n\n\n@NgModule({\n  declarations: [ToggleDirective],\n  imports: [],\n  exports: [ToggleDirective]\n})\nexport class NgToggleDirectiveModule { }\n","/*\n * Public API Surface of ng-toggle-directive\n */\n\nexport * from './lib/ng-toggle-directive.directive';\nexport * from './lib/ng-toggle-directive.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}