{"version":3,"file":"dua-ui.mjs","sources":["../../../projects/dua-ui/src/lib/dialog/dialog.component.ts","../../../projects/dua-ui/src/lib/dialog/dialog.component.html","../../../projects/dua-ui/src/lib/dua-ui.module.ts","../../../projects/dua-ui/src/public-api.ts","../../../projects/dua-ui/src/dua-ui.ts"],"sourcesContent":["import {\n  animate,\n  state,\n  style,\n  transition,\n  trigger,\n} from '@angular/animations';\nimport {\n  Component,\n  EventEmitter,\n  HostBinding,\n  HostListener,\n  Input,\n  Output,\n} from '@angular/core';\n\n@Component({\n  selector: 'dua-dialog',\n  templateUrl: './dialog.component.html',\n  styleUrls: ['./dialog.component.css'],\n  animations: [\n    trigger('dialog', [\n      state(\n        'void',\n        style({\n          opacity: 0,\n        })\n      ),\n      state(\n        '*',\n        style({\n          opacity: 1,\n        })\n      ),\n      transition('void => *', animate('300ms ease-in')),\n      transition('* => void', animate('350ms ease-out')),\n    ]),\n  ],\n})\nexport class DialogComponent {\n  @HostBinding('class.dua-dialog')\n  @Input()\n  show = false;\n  @Input() title = 'Dialog Title - Dua UI';\n  @Input() config?: {\n    top?: number;\n    bottom?: number;\n    position?: 'left' | 'right' | 'center' | 'top' | 'bottom';\n    type?: 'confirm' | 'modal' | 'alert';\n    confirmText?: string;\n    cancelText?: string;\n    showCloseButton?: boolean;\n    showFooter?: boolean;\n    confirmCancelPosition?: 'left' | 'right' | 'center';\n  } = {\n    top: 0,\n    bottom: 0,\n    position: 'center',\n    type: 'modal',\n    confirmText: 'Confirm',\n    cancelText: 'Cancel',\n    showFooter: false,\n    showCloseButton: true,\n    confirmCancelPosition: 'center',\n  };\n  @Output() closeDialog = new EventEmitter<Event>();\n  @Output() dialogConfirm = new EventEmitter<Event>();\n  @Output() dialogCancel = new EventEmitter<Event>();\n  @HostBinding('attr.role') role = 'dialog';\n  @HostBinding('attr.aria-modal') ariaModal = true;\n\n  @HostListener('document:keydown.escape', ['$event'])\n  handleClose(event: Event): void {\n    this.show = false;\n    this.closeDialog.emit(event);\n    this.dialogCancel.emit(event);\n  }\n}\n","<section\n  *ngIf=\"show\"\n  @dialog\n  class=\"dialog-overlay\"\n  [style]=\"{\n    justifyContent:\n      config?.position === 'right'\n        ? 'flex-end'\n        : config?.position === 'left'\n        ? 'flex-start'\n        : config?.position === 'center'\n        ? 'center'\n        : 'center'\n  }\"\n>\n  <section\n    class=\"dialog-content\"\n    [style]=\"{ top: config?.top + 'px', bottom: config?.bottom + 'px' }\"\n  >\n    <div *ngIf=\"config?.type !== 'alert'\" class=\"dialog-header\">\n      <div class=\"dialog-title\">{{ title }}</div>\n      <div\n        *ngIf=\"config?.showCloseButton\"\n        class=\"dialog-close\"\n        (click)=\"handleClose($event)\"\n      >\n        <svg\n          xmlns=\"http://www.w3.org/2000/svg\"\n          viewBox=\"0 0 24 24\"\n          width=\"24\"\n          height=\"24\"\n        >\n          <path\n            d=\"M5.72 5.72a.75.75 0 0 1 1.06 0L12 10.94l5.22-5.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L13.06 12l5.22 5.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L12 13.06l-5.22 5.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L10.94 12 5.72 6.78a.75.75 0 0 1 0-1.06Z\"\n          ></path>\n        </svg>\n      </div>\n    </div>\n    <div class=\"dialog-body\">\n      <ng-content select=\"[dialog-body]\"></ng-content>\n    </div>\n    <div class=\"dialog-footer\">\n      <ng-content\n        *ngIf=\"\n          config?.type === 'modal' ||\n            config?.type === 'alert' ||\n            config?.showFooter;\n          else confirmDialog\n        \"\n        select=\"[dialog-footer]\"\n      ></ng-content>\n      <ng-template #confirmDialog>\n        <div class=\"dialog-footer-content\">\n          <button\n            type=\"button\"\n            class=\"dialog-confirm-btn btn btn-primary btn-lg\"\n            (click)=\"dialogConfirm.emit($event)\"\n          >\n            {{ config?.confirmText || \"Confirm\" }}\n          </button>\n          <button\n            type=\"button\"\n            class=\"dialog-cancel-btn btn btn-light btn-lg ml-2\"\n            (click)=\"handleClose($event)\"\n          >\n            {{ config?.cancelText || \"Cancel\" }}\n          </button>\n        </div>\n      </ng-template>\n    </div>\n  </section>\n</section>\n","import { NgModule } from '@angular/core';\nimport { DialogComponent } from './dialog/dialog.component';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n  declarations: [DialogComponent],\n  imports: [CommonModule],\n  exports: [DialogComponent],\n})\nexport class DuaUIModule {}\n","/*\n * Public API Surface of dua-ui\n */\n\nexport * from './lib/dua-ui.module';\nexport * from './lib/dialog/dialog.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}