{"version":3,"file":"pmeig-ngb-accordion.mjs","sources":["../../../projects/bootstrap/components/accordion/src/lib/b-accordion.directive.ts","../../../projects/bootstrap/components/accordion/src/lib/b-accordion-item/b-accordion-item.component.ts","../../../projects/bootstrap/components/accordion/src/lib/b-accordion-item/b-accordion-item.component.html","../../../projects/bootstrap/components/accordion/src/lib/b-accordion.module.ts","../../../projects/bootstrap/components/accordion/src/pmeig-ngb-accordion.ts"],"sourcesContent":["import { Directive, input } from '@angular/core';\nimport { emptyBooleanAttribute, EmptyBooleanAttribute } from '@pmeig/ng-material-core';\nimport { BTagDirective } from '@pmeig/ngb-core';\n\n@Directive({\n  selector: 'accordion',\n})\nexport class BAccordionDirective extends BTagDirective {\n  private accordion: Element | null = null;\n\n  flush = input<boolean, EmptyBooleanAttribute>(false, {transform: emptyBooleanAttribute})\n\n  constructor() {\n    super();\n    this.effect(this.refreshFlush)\n  }\n\n\n\n\n  protected override afterViewInit() {\n    super.afterViewInit();\n    this.createParentAccordion();\n  }\n\n  private refreshFlush() {\n    if (this.flush()) {\n      this.putClass(this.accordion, 'accordion-flush')\n    } else {\n      this.removeClass(this.accordion, 'accordion-flush')\n    }\n  }\n\n  private createParentAccordion() {\n    let previous = this.element.previousElementSibling;\n    if (!previous || previous.tagName !== 'ACCORDION' && !previous.classList.contains('accordion')) {\n      setTimeout(() => {\n        this.accordion = this.renderer.createElement('div');\n        this.putClass(this.accordion, 'accordion');\n        this.renderer.insertBefore(this.renderer.parentNode(this.element), this.accordion, this.element);\n        this.renderer.appendChild(this.accordion, this.element.firstElementChild);\n        this.renderer.removeChild(this.renderer.parentNode(this.element), this.element);\n        if (this.flush()) {\n          this.putClass(this.accordion, 'accordion-flush');\n        }\n      });\n    } else {\n      let timestamp = 0;\n      while (previous?.tagName === 'ACCORDION') {\n        previous = previous.previousElementSibling;\n        timestamp += .5;\n      }\n      setTimeout(() => {\n        this.accordion = this.element.previousElementSibling;\n        while (this.accordion && !this.accordion.classList.contains('accordion')) {\n          this.accordion = this.accordion.previousElementSibling;\n        }\n        this.renderer.appendChild(this.accordion, this.element.firstElementChild);\n        this.renderer.removeChild(this.renderer.parentNode(this.element), this.element);\n        if (this.flush()) {\n          this.putClass(this.accordion, 'accordion-flush');\n        }\n      }, timestamp);\n    }\n  }\n}\n","import { ChangeDetectionStrategy, Component, ContentChild, input, TemplateRef } from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { BTagComponent } from '@pmeig/ngb-core';\nimport { CollapseMaterial } from '@pmeig/ngb-collapse';\n\n@Component({\n  selector: 'accordion',\n  templateUrl: './b-accordion-item.component.html',\n  styleUrl: './b-accordion-item.component.scss',\n  imports: [\n    CollapseMaterial,\n    NgTemplateOutlet,\n  ],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BAccordionItemComponent extends BTagComponent {\n  readonly header = input<string>();\n  @ContentChild(TemplateRef) body?: TemplateRef<any>;\n\n  constructor() {\n    super();\n  }\n}\n","<div class=\"accordion-item\">\n  <div class=\"accordion-header\">\n    <button class=\"accordion-button\" type=\"button\" #accordionButton>\n      {{ header() }}\n      <ng-content select=\"[header]\"></ng-content>\n    </button>\n  </div>\n  <div *collapse=\"accordionButton\" class=\"accordion-collapse\">\n    <div class=\"accordion-body\">\n      @if (body) {\n        <ng-container *ngTemplateOutlet=\"body\"></ng-container>\n      }\n      <ng-content></ng-content>\n    </div>\n  </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { BAccordionDirective } from './b-accordion.directive';\nimport { BAccordionItemComponent } from './b-accordion-item/b-accordion-item.component';\n\nconst ACCORDION_DIRECTIVES = [BAccordionDirective, BAccordionItemComponent];\n\n@NgModule({\n  imports: ACCORDION_DIRECTIVES,\n  exports: ACCORDION_DIRECTIVES,\n})\nexport class AccordionMaterial {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}