{"version":3,"file":"craftsjs-modal.mjs","sources":["../../../../projects/craftsjs/modal/src/lib/modal.component.ts","../../../../projects/craftsjs/modal/src/lib/modal.component.html","../../../../projects/craftsjs/modal/src/lib/directives/modal-header.directive.ts","../../../../projects/craftsjs/modal/src/lib/directives/modal-footer.directive.ts","../../../../projects/craftsjs/modal/src/lib/components/modal-body/modal-body.component.ts","../../../../projects/craftsjs/modal/src/lib/components/modal-body/modal-body.component.html","../../../../projects/craftsjs/modal/src/lib/tokens.ts","../../../../projects/craftsjs/modal/src/lib/models/modal-config.model.ts","../../../../projects/craftsjs/modal/src/lib/services/modal.service.ts","../../../../projects/craftsjs/modal/src/lib/modal.module.ts","../../../../projects/craftsjs/modal/src/lib/modal.providers.ts","../../../../projects/craftsjs/modal/src/public-api.ts","../../../../projects/craftsjs/modal/src/craftsjs-modal.ts"],"sourcesContent":["import { Component, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';\r\n\r\n\r\n@Component({\r\n  selector: 'craftsjs-modal',\r\n  templateUrl: './modal.component.html',\r\n  styleUrls: ['./modal.component.scss'],\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  encapsulation: ViewEncapsulation.None,\r\n  host: {\r\n    class: 'modal'\r\n  },\r\n  standalone: true,\r\n  imports: []\r\n})\r\nexport class ModalComponent { }\r\n","<ng-content select=\"modal-header\"></ng-content>\r\n<ng-content select=\"modal-body\"></ng-content>\r\n<ng-content select=\"modal-footer\"></ng-content>","import { Directive } from '@angular/core';\r\n\r\n@Directive({\r\n  selector: 'modal-header, [modal-header], [craftsjsModalHeader]',\r\n  host: { class: 'modal-header' },\r\n  standalone: true\r\n})\r\nexport class ModalHeaderDirective { }\r\n","import { Directive } from '@angular/core';\r\n\r\n@Directive({\r\n  selector: 'modal-footer, [modal-footer], [craftsjsModalFooter]',\r\n  host: { class: 'modal-footer' },\r\n  standalone: true\r\n})\r\nexport class ModalFooterDirective { }\r\n","import { Component, ChangeDetectionStrategy, ViewEncapsulation, ViewChild, AfterViewInit, AfterViewChecked } from '@angular/core';\r\nimport { PerfectScrollbarDirective } from '@craftsjs/perfect-scrollbar';\r\n\r\nimport PerfectScrollbar from 'perfect-scrollbar';\r\n\r\n@Component({\r\n  selector: 'modal-body, [modal-body], [craftsjsModalBody]',\r\n  templateUrl: './modal-body.component.html',\r\n  styleUrls: ['./modal-body.component.scss'],\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  host: {\r\n    class: 'modal-body'\r\n  },\r\n  encapsulation: ViewEncapsulation.None,\r\n  standalone: true,\r\n  imports: [PerfectScrollbarDirective]\r\n})\r\nexport class ModalBodyComponent implements AfterViewInit, AfterViewChecked { \r\n\r\n  @ViewChild(PerfectScrollbar)\r\n  private ps: PerfectScrollbar;\r\n\r\n\r\n  ngAfterViewInit() {\r\n    this.ps?.update();\r\n  }\r\n\r\n  ngAfterViewChecked(): void {\r\n    this.ps?.update();\r\n  }\r\n\r\n}\r\n","<div class=\"modal-body-responsive\" perfectScrollbar>\r\n  <ng-content></ng-content>\r\n</div>\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const CRAFTSJS_MODAL_CONFIG = new InjectionToken<string>('CRAFTSJS_MODAL_CONFIG');\r\n","export class ModalConfig {\r\n    width: string;\r\n}\r\n","import { Injectable, TemplateRef, Inject, Injector, ViewContainerRef } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ComponentType } from '@angular/cdk/portal';\r\nimport { CRAFTSJS_MODAL_CONFIG } from '../tokens';\r\nimport { ModalConfig } from '../models/modal-config.model';\r\n\r\nexport interface ModalData<T = any> { \r\n  data?: T;\r\n  injector?: Injector;\r\n  viewContainerRef?: ViewContainerRef;\r\n}\r\n\r\n@Injectable()\r\nexport class ModalService {\r\n\r\n  constructor(\r\n    private _dialog: MatDialog,\r\n    @Inject(CRAFTSJS_MODAL_CONFIG) private modalConfig: ModalConfig\r\n  ) { }\r\n\r\n  show<T = any>(component: ComponentType<T> | TemplateRef<T>, data?: ModalData) {\r\n    return this._dialog.open(component, {\r\n      data: data?.data,\r\n      width: this.modalConfig.width,\r\n      injector: data?.injector,\r\n      viewContainerRef: data?.viewContainerRef\r\n    });\r\n  }\r\n\r\n}\r\n","import { NgModule, ModuleWithProviders } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { ModalComponent } from './modal.component';\r\nimport { ModalHeaderDirective } from './directives/modal-header.directive';\r\nimport { ModalFooterDirective } from './directives/modal-footer.directive';\r\nimport { ModalBodyComponent } from './components/modal-body/modal-body.component';\r\nimport { PerfectScrollbarDirective } from '@craftsjs/perfect-scrollbar';\r\nimport { ModalConfig } from './models/modal-config.model';\r\nimport { ModalService } from './services/modal.service';\r\nimport { CRAFTSJS_MODAL_CONFIG } from './tokens';\r\n\r\n@NgModule({\r\n  declarations: [],\r\n  imports: [\r\n    CommonModule,\r\n    MatDialogModule,\r\n    PerfectScrollbarDirective,\r\n  // standalone components/directives\r\n    ModalComponent,\r\n    ModalHeaderDirective,\r\n    ModalFooterDirective,\r\n    ModalBodyComponent,\r\n  ],\r\n  exports: [\r\n    ModalComponent,\r\n    ModalBodyComponent,\r\n    ModalHeaderDirective,\r\n    ModalFooterDirective\r\n  ],\r\n  providers: [\r\n    ModalService,\r\n  ]\r\n})\r\nexport class ModalModule {\r\n  static forRoot(config: ModalConfig = { width: '800px' }): ModuleWithProviders<ModalModule> {\r\n    return {\r\n      ngModule: ModalModule,\r\n      providers: [\r\n        { provide: CRAFTSJS_MODAL_CONFIG, useValue: config },\r\n        ModalService\r\n      ]\r\n    };\r\n  }\r\n}\r\n","import { EnvironmentProviders, makeEnvironmentProviders, importProvidersFrom } from '@angular/core';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { CRAFTSJS_MODAL_CONFIG } from './tokens';\r\nimport { ModalConfig } from './models/modal-config.model';\r\nimport { ModalService } from './services/modal.service';\r\n\r\n/**\r\n * Standalone providers for CraftsJS Modal.\r\n * Use in Angular 15+ standalone apps instead of ModalModule.forRoot().\r\n */\r\nexport function provideCraftsjsModal(config: ModalConfig = { width: '800px' }): EnvironmentProviders {\r\n  return makeEnvironmentProviders([\r\n    importProvidersFrom(MatDialogModule),\r\n    { provide: CRAFTSJS_MODAL_CONFIG, useValue: config },\r\n    ModalService\r\n  ]);\r\n}\r\n","/*\r\n * Public API Surface of modal\r\n */\r\n\r\nexport * from './lib/modal.component';\r\nexport * from './lib/modal.module';\r\nexport * from './lib/components/modal-body/modal-body.component';\r\nexport * from './lib/directives/modal-footer.directive';\r\nexport * from './lib/directives/modal-header.directive';\r\nexport * from './lib/models/modal-config.model';\r\nexport * from './lib/services/modal.service';\r\nexport * from './lib/tokens';\r\nexport * from './lib/modal.providers';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}