{"version":3,"file":"tstdl-angular-drawer-card.mjs","sources":["../../../../projects/tstdl/angular/drawer-card/source/drawer-card-content/drawer-card-content.component.ts","../../../../projects/tstdl/angular/drawer-card/source/drawer-card-content/drawer-card-content.component.html","../../../../projects/tstdl/angular/drawer-card/source/drawer-card-drawer-content/drawer-card-drawer-content.component.ts","../../../../projects/tstdl/angular/drawer-card/source/drawer-card-drawer-content/drawer-card-drawer-content.component.html","../../../../projects/tstdl/angular/drawer-card/source/drawer-card.component.ts","../../../../projects/tstdl/angular/drawer-card/source/drawer-card.component.html","../../../../projects/tstdl/angular/drawer-card/source/module.ts","../../../../projects/tstdl/angular/drawer-card/tstdl-angular-drawer-card.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, HostListener, type OnDestroy, type OnInit, ViewEncapsulation, effect, inject, output, signal } from '@angular/core';\nimport { MatRipple } from '@angular/material/core';\n\n@Component({\n  selector: 'tsl-drawer-card-content',\n  imports: [],\n  templateUrl: './drawer-card-content.component.html',\n  styleUrl: './drawer-card-content.component.scss',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  providers: [MatRipple],\n  host: {\n    '[class.interactive]': 'interactive()',\n    '[attr.tabindex]': '0',\n  },\n})\nexport class DrawerCardContentComponent implements OnInit, OnDestroy {\n  readonly #ripple = inject(MatRipple);\n  readonly clicked = output();\n\n  readonly interactive = signal(false);\n\n  constructor() {\n    effect(() => (this.#ripple.disabled = !this.interactive()));\n  }\n\n  ngOnInit(): void {\n    this.#ripple.ngOnInit();\n  }\n\n  ngOnDestroy(): void {\n    this.#ripple.ngOnDestroy();\n  }\n\n  @HostListener('click')\n  @HostListener('keyup.enter', ['$event'])\n  @HostListener('keyup.space', ['$event'])\n  onClick(event?: Event): void {\n    event?.preventDefault();\n    this.clicked.emit();\n  }\n\n  @HostListener('keydown.space', ['$event'])\n  preventDefault(event: Event): void {\n    event.preventDefault();\n  }\n}\n","<ng-content></ng-content>\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation, input, signal } from '@angular/core';\n\n@Component({\n  selector: 'tsl-drawer-card-drawer-content',\n  imports: [],\n  templateUrl: './drawer-card-drawer-content.component.html',\n  styleUrl: './drawer-card-drawer-content.component.scss',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  host: {\n    '[class.drawer-collapse]': '!open()'\n  }\n})\nexport class DrawerCardDrawerContentComponent {\n  readonly containerClasses = input<string | string[] | Record<string, any> | null | undefined>(null);\n\n  readonly open = signal(false);\n}\n","<ng-content></ng-content>\n","import { NgClass } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, afterNextRender, booleanAttribute, contentChild, effect, input, model } from '@angular/core';\nimport { collapseAnimation } from '@tstdl/angular';\n\nimport { DrawerCardContentComponent } from './drawer-card-content/drawer-card-content.component';\nimport { DrawerCardDrawerContentComponent } from './drawer-card-drawer-content/drawer-card-drawer-content.component';\n\n@Component({\n  selector: 'tsl-drawer-card',\n  imports: [NgClass],\n  templateUrl: './drawer-card.component.html',\n  styleUrl: './drawer-card.component.scss',\n  animations: [collapseAnimation({ duration: 300, ease: 'cubic-bezier(0.4, 0, 0.2, 1)' })],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  host: {\n    class: 'tsl-tw'\n  }\n})\nexport class DrawerCardComponent {\n  private readonly contentComponent = contentChild(DrawerCardContentComponent);\n\n  readonly drawerContentComponent = contentChild(DrawerCardDrawerContentComponent);\n\n  readonly open = model<boolean>(false);\n  readonly manualOpen = input<boolean, boolean | `${boolean}`>(false, { transform: booleanAttribute });\n  readonly interactive = input<boolean, boolean | `${boolean}`>(true, { transform: booleanAttribute });\n\n  constructor() {\n    effect(() => this.drawerContentComponent()?.open.set(this.open()));\n    effect(() => this.contentComponent()?.interactive.set(this.interactive()));\n\n    afterNextRender({\n      read: () => this.contentComponent()?.clicked.subscribe(() => {\n        if (!this.manualOpen()) {\n          this.open.update((open) => !open);\n        }\n      })\n    });\n  }\n}\n","<ng-content select=\"tsl-drawer-card-content\"></ng-content>\n\n@defer {\n  <div [@collapse]=\"!open()\" class=\"drawer-container\" [ngClass]=\"drawerContentComponent()?.containerClasses()\">\n    <ng-content select=\"tsl-drawer-card-drawer-content\"></ng-content>\n  </div>\n}\n","import { NgModule } from '@angular/core';\n\nimport { DrawerCardContentComponent } from './drawer-card-content/drawer-card-content.component';\nimport { DrawerCardDrawerContentComponent } from './drawer-card-drawer-content/drawer-card-drawer-content.component';\nimport { DrawerCardComponent } from './drawer-card.component';\n\n@NgModule({\n  imports: [DrawerCardComponent, DrawerCardContentComponent, DrawerCardDrawerContentComponent],\n  exports: [DrawerCardComponent, DrawerCardContentComponent, DrawerCardDrawerContentComponent]\n})\nexport class TslDrawerCardModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}