{"version":3,"file":"verben-ng-ui-src-lib-components-verben-dialogue.mjs","sources":["../../../projects/verben-ng-ui/src/lib/components/verben-dialogue/verben-dialogue.component.ts","../../../projects/verben-ng-ui/src/lib/components/verben-dialogue/verben-dialogue.component.html","../../../projects/verben-ng-ui/src/lib/components/verben-dialogue/verben-dialogue.module.ts","../../../projects/verben-ng-ui/src/lib/components/verben-dialogue/verben-ng-ui-src-lib-components-verben-dialogue.ts"],"sourcesContent":["import {\n  Component,\n  EventEmitter,\n  Input,\n  Output,\n  HostListener,\n  TemplateRef,\n} from '@angular/core';\n\n@Component({\n  selector: 'verben-dialogue',\n  templateUrl: './verben-dialogue.component.html',\n  styleUrls: ['./verben-dialogue.component.css'],\n})\nexport class VerbenDialogueComponent {\n  @Input() dialogueWidth: string = '';\n  @Input() headerTemplate: TemplateRef<any> | null = null;\n  @Input() bodyTemplate: TemplateRef<any> | null = null;\n  @Input() footerTemplate: TemplateRef<any> | null = null;\n  @Input() showCloseIcon: boolean = true;\n  @Input() dismissOutsideClick: boolean = true;\n  @Input() closeOnEscape: boolean = true;\n  @Input() isVisible: boolean = false;\n  @Input() size: 'small' | 'medium' | 'large'|'any' = 'small';\n  @Input() backdropColor: string = '#0000005d';\n  @Input() customClass: string = '';\n  @Input() disableFooter: boolean = false;\n  @Input() margin: string = '';\n  @Input() padding: string = '10px';\n  @Input() borderRadius: string = '10px';\n  @Input() dialogueBgColor: string = '#fff';\n  @Input() width: string = 'max-w-[100px]';\n  @Input() closeIconClass: string = 'closeIconClass';\n  @Input() boxShadow: string = 'box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1)';\n  @Input() enableTransition: boolean = true;\n  @Input() modalData: any;\n\n  // New inputs for drawer mode\n  @Input() mode: 'dialogue' | 'drawer' = 'dialogue';\n  @Input() position: 'left' | 'right' = 'right';\n  @Input() drawerWidth: string = '500px';\n  @Output() openModal = new EventEmitter<any>();\n  @Output() closeModal = new EventEmitter<any>();\n\n  ngOnChanges() {\n    if (this.isVisible) {\n      this.openModal.emit(this.modalData);\n    }\n  }\n  \n\n  @HostListener('document:keydown.escape', ['$event'])\n  onKeydownHandler(event: KeyboardEvent) {\n    if (this.closeOnEscape && this.isVisible) {\n      this.onClose();\n    }\n  }\n\n  @HostListener('document:click', ['$event'])\n  onOutsideClick(event: MouseEvent) {\n    if (this.dismissOutsideClick && this.isVisible) {\n      const target = event.target as HTMLElement;\n      const isInsidePane = target.closest('.cdk-overlay-pane') !== null;\n      if (target.classList.contains('modal-wrapper')&& !isInsidePane) {\n        this.onClose();\n      }\n    }\n  }\n  setStyles() {\n    const isDialogue = this.mode === 'dialogue';\n    const noCustomWidth = !this.dialogueWidth;\n  \n    return {\n      'modal-content p-4': isDialogue,\n      'max-w-sm': isDialogue && this.size === 'small' && noCustomWidth,\n      'max-w-md': isDialogue && this.size === 'medium' && noCustomWidth,\n      'max-w-lg': isDialogue && this.size === 'large' && noCustomWidth,\n      'drawer-left': this.mode === 'drawer' && this.position === 'left',\n      'drawer-right': this.mode === 'drawer' && this.position === 'right',\n      'drawer-show-left': this.mode === 'drawer' && this.position === 'left' && this.isVisible,\n      'drawer-show-right': this.mode === 'drawer' && this.position === 'right' && this.isVisible\n    };\n  }\n  \n  \n  onClose() {\n    this.isVisible = false;\n    this.closeModal.emit(this.modalData);\n  }\n}\n","<div class=\"modal-wrapper fixed inset-0 flex justify-center items-center\" [ngClass]=\"{\n    'visible opacity-100': isVisible,\n    'invisible opacity-0': !isVisible,\n    'justify-start': mode === 'drawer' && position === 'left',\n    'justify-end': mode === 'drawer' && position === 'right'\n  }\" [ngStyle]=\"{ 'background-color': backdropColor, 'transition': 'opacity 0.3s ease' }\">\n <div\n [style.padding]=\"padding\"\n [style.margin]=\"margin\"\n [style.background-color]=\"dialogueBgColor\"\n [style.border-radius]=\"mode === 'dialogue' && borderRadius\"\n [style.box-shadow]=\"boxShadow\"\n [style.width]=\"mode === 'dialogue' ? dialogueWidth :drawerWidth\"\n [class]=\"customClass\"\n [ngClass]=\"setStyles()\"\n>\n    <!-- Close Icon -->\n    <verben-svg *ngIf=\"showCloseIcon\" [class]=\"closeIconClass\" (click)=\"onClose()\" icon=\"close\" [width]=\"20\"\n      [height]=\"20\" fill=\"white\" stroke=\"#000\"></verben-svg>\n\n    <!-- Modal Header -->\n    <div class=\"modal-header text-lg font-semibold mb-4\">\n      <ng-container *ngIf=\"headerTemplate\">\n        <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n      </ng-container>\n    </div>\n\n    <!-- Modal Body -->\n    <div class=\"modal-body mb-4\">\n      <ng-container *ngIf=\"bodyTemplate\">\n        <ng-container *ngTemplateOutlet=\"bodyTemplate\"></ng-container>\n      </ng-container>\n    </div>\n\n    <!-- Modal Footer -->\n    <div *ngIf=\"!disableFooter\" class=\"modal-footer flex justify-end space-x-2\">\n      <ng-container *ngIf=\"footerTemplate\">\n        <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n      </ng-container>\n    </div>\n  </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { VerbenDialogueComponent } from './verben-dialogue.component';\nimport { SvgModule } from 'verben-ng-ui/src/lib/components/svg';\nimport { VerbenaButtonModule } from 'verben-ng-ui/src/lib/verbena-button';\n@NgModule({\n  declarations: [VerbenDialogueComponent],\n  imports: [CommonModule, SvgModule, VerbenaButtonModule],\n  exports: [VerbenDialogueComponent],\n})\nexport class VerbenDialogueModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}