{"version":3,"file":"bootkit-angular-components-modal.mjs","sources":["../../../projects/bootkit/components/modal/modal.component.ts","../../../projects/bootkit/components/modal/modal.component.html","../../../projects/bootkit/components/modal/modal.module.ts","../../../projects/bootkit/components/modal/bootkit-angular-components-modal.ts"],"sourcesContent":["import { Component, Output, EventEmitter, ChangeDetectionStrategy, input, signal, HostListener } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ModalCloseRequest } from './types';\r\n\r\n@Component({\r\n    selector: 'bk-modal',\r\n    exportAs: 'bkModal',\r\n    templateUrl: 'modal.component.html',\r\n    standalone: true,\r\n    changeDetection: ChangeDetectionStrategy.OnPush,\r\n    imports: [\r\n        CommonModule,\r\n    ]\r\n})\r\nexport class ModalComponent {\r\n    public header = input<string>();\r\n    public scrollable = input<boolean>(false);\r\n\r\n    /** Is modal vertically centered? */\r\n    public centered = input<boolean>(false);\r\n    public size = input<'sm' | 'default' | 'lg' | 'xl'>('default');\r\n    public fullscreen = input<'always' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'>();\r\n    @Output() public closeRequest = new EventEmitter<ModalCloseRequest>();\r\n    @Output() public backdropClick = new EventEmitter();\r\n\r\n    protected _modalStatic = signal(false);\r\n\r\n    constructor() {\r\n    }\r\n\r\n    protected _onBackdropClick() {\r\n        this.backdropClick.emit();\r\n        this._modalStatic.set(true)\r\n        var timeout = setTimeout(() => {\r\n            this._modalStatic.set(false)\r\n            clearTimeout(timeout);\r\n        }, 100);\r\n    }\r\n\r\n    @HostListener('document:keydown', ['$event'])\r\n    onKeyDown(event: KeyboardEvent) {\r\n      if (event.key === 'Escape') {\r\n        this.closeRequest.emit();\r\n      }\r\n    }\r\n}\r\n","@let fullscreenValue=fullscreen();\r\n@let sizeValue=size();\r\n<div class=\"modal d-block\"\r\n     (click)=\"$event.target == $event.currentTarget ? _onBackdropClick(): ''\"\r\n     [class.modal-static]=\"_modalStatic()\">\r\n\r\n  <div class=\"modal-dialog\"\r\n       [class]=\"{\r\n            'modal-dialog-scrollable': scrollable(),\r\n            'modal-dialog-centered': centered(),\r\n            'modal-fullscreen': fullscreenValue == 'always',\r\n            'modal-fullscreen-sm-down': fullscreenValue == 'sm',\r\n            'modal-fullscreen-md-down': fullscreenValue == 'md',\r\n            'modal-fullscreen-lg-down': fullscreenValue == 'lg',\r\n            'modal-fullscreen-xl-down': fullscreenValue == 'xl',\r\n            'modal-fullscreen-xxl-down': fullscreenValue == 'xxl',\r\n            'modal-sm': sizeValue == 'sm',\r\n            'modal-lg': sizeValue == 'lg',\r\n            'modal-xl': sizeValue == 'xl',\r\n          }\">\r\n    <div class=\"modal-content\">\r\n      @if(header()) {\r\n        <div class=\"modal-header\">\r\n          <h5 class=\"modal-title\">{{header()}}</h5>\r\n        </div>\r\n      }\r\n\r\n      <ng-content></ng-content>\r\n    </div>\r\n  </div>\r\n</div>\r\n<div class=\"modal-backdrop fade show\"></div>","import { NgModule } from '@angular/core';\r\nimport { ModalComponent } from './modal.component';\r\n\r\n@NgModule({\r\n    imports: [\r\n        ModalComponent,\r\n    ],\r\n    exports: [\r\n        ModalComponent,\r\n    ]\r\n})\r\nexport class ModalModule {\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}