{"version":3,"file":"tapsellorg-angular-material-library-media.mjs","sources":["../../projects/pegah-library/media/breakpoints.ts","../../projects/pegah-library/media/media.directive.ts","../../projects/pegah-library/media/media.module.ts","../../projects/pegah-library/media/tapsellorg-angular-material-library-media.ts"],"sourcesContent":["export type PghBreakpoints = {\n  [key in PghBreakpoint]: string;\n};\n\nexport type PghBreakpoint =\n  | 'xs'\n  | 'sm'\n  | 'md'\n  | 'lg'\n  | 'xl'\n  | 'max-xs'\n  | 'max-sm'\n  | 'max-md'\n  | 'max-lg';\n\nexport const PghBreakpoints: PghBreakpoints = {\n  xs: '(min-width: 400px)',\n  sm: '(min-width: 600px)',\n  md: '(min-width: 720px)',\n  lg: '(min-width: 960px)',\n  xl: '(min-width: 1280px)',\n  'max-xs': '(max-width: 599.98px)',\n  'max-sm': '(max-width: 719.98px)',\n  'max-md': '(max-width: 959.98px)',\n  'max-lg': '(max-width: 1279.98px)',\n};\n","import {\n  ChangeDetectorRef,\n  Directive,\n  input,\n  signal,\n  TemplateRef,\n  ViewContainerRef,\n} from '@angular/core';\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport { PghBreakpoint, PghBreakpoints } from './breakpoints';\nimport { withDestroy } from '@tapsellorg/angular-material-library/src/lib/common';\nimport { takeUntil } from 'rxjs/operators';\n\n@Directive({\n  selector: '[ifMedia]',\n  standalone: false,\n})\nexport class PghMediaDirective extends withDestroy() {\n  mediaChange = signal<any | undefined>(undefined);\n\n  ifMedia = input(undefined, {\n    transform: (breakpoints: PghBreakpoint | PghBreakpoint[]) => {\n      const media = this.mediaChange();\n      this.mediaChange.set(breakpoints);\n      this.observeBreakpoints(breakpoints);\n      return media;\n    },\n  });\n\n  private hasView = false;\n\n  constructor(\n    private readonly viewContainer: ViewContainerRef,\n    private readonly template: TemplateRef<any>,\n    private readonly breakpointObserver: BreakpointObserver,\n    private readonly cdr: ChangeDetectorRef,\n  ) {\n    super();\n  }\n\n  private observeBreakpoints(breakpoints: PghBreakpoint | PghBreakpoint[]) {\n    const mappedBreakpoints = Array.isArray(breakpoints)\n      ? breakpoints.map(breakpoint => PghBreakpoints[breakpoint])\n      : PghBreakpoints[breakpoints];\n    this.breakpointObserver\n      .observe(mappedBreakpoints)\n      .pipe(takeUntil(this._destroyed$))\n      .subscribe(result => {\n        if (result.matches && !this.hasView) {\n          this.hasView = true;\n          this.viewContainer.createEmbeddedView(this.template);\n        }\n        if (!result.matches && this.hasView) {\n          this.hasView = false;\n          this.viewContainer.clear();\n        }\n        this.cdr.detectChanges();\n      });\n  }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PghMediaDirective } from './media.directive';\n\n@NgModule({\n  declarations: [PghMediaDirective],\n  imports: [CommonModule],\n  exports: [PghMediaDirective],\n})\nexport class PghMediaModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}