UNPKG

ngx-bladex

Version:

A simplistic and customizable blade component for Angular

1 lines 5.65 kB
{"version":3,"file":"ngx-bladex.mjs","sources":["../../../projects/ngx-blade/src/lib/ngx-blade.component.ts","../../../projects/ngx-blade/src/lib/ngx-blade.component.html","../../../projects/ngx-blade/src/lib/ngx-blade.module.ts","../../../projects/ngx-blade/src/public-api.ts","../../../projects/ngx-blade/src/ngx-bladex.ts"],"sourcesContent":["import { NgIf } from '@angular/common';\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'ngx-blade',\n templateUrl: './ngx-blade.component.html',\n styleUrls: ['./ngx-blade.component.scss'],\n standalone: true,\n imports: [NgIf],\n})\nexport class NgxBladeComponent {\n public readonly DEFAULT_WIDTH: number = 25;\n public readonly DEFAULT_CONFIG: BladeConfig = {\n closeButton: true,\n maximizeButton: true,\n isModal: false,\n };\n\n public isMinimized = true;\n\n @Input() public width: number = this.DEFAULT_WIDTH;\n @Input() public config: BladeConfig | Partial<BladeConfig> =\n this.DEFAULT_CONFIG;\n @Output() public onClose: EventEmitter<any>;\n\n constructor() {\n this.onClose = new EventEmitter();\n }\n\n public onMinimize(): void {\n if (!this.isMinimized) {\n this.isMinimized = !this.isMinimized;\n }\n }\n\n public onMaximize(): void {\n if (this.isMinimized) {\n this.isMinimized = !this.isMinimized;\n }\n }\n\n public close(): void {\n this.onClose.emit();\n }\n}\n\nexport interface BladeConfig {\n closeButton: boolean;\n maximizeButton: boolean;\n isModal: boolean;\n}\n","<div *ngIf=\"config.isModal\" class=\"modal-cover\"></div>\n<div class=\"wrapper\" [style.width.%]=\"isMinimized ? width : 100\">\n <div class=\"blade-container\">\n <div class=\"blade-header\">\n <div class=\"header-title\">\n <div class=\"header-title-wrapper\">\n <ng-content select=\"[ngxBladeHeader]\"> </ng-content>\n </div>\n </div>\n <div class=\"header-actions\">\n <span\n class=\"action-button\"\n (click)=\"onMinimize()\"\n *ngIf=\"config.maximizeButton && !isMinimized\"\n id=\"ngxBladeMinimizeBtn\"\n >\n <b>&#x0229f;</b>\n </span>\n <span\n class=\"action-button\"\n (click)=\"onMaximize()\"\n *ngIf=\"config.maximizeButton && isMinimized\"\n id=\"ngxBladeMaximizeBtn\"\n >\n <b>&#x0229E;</b>\n </span>\n <span\n class=\"action-button danger\"\n (click)=\"onClose.emit()\"\n *ngIf=\"config.closeButton\"\n id=\"ngxBladeCloseBtn\"\n >\n <b>&times;</b>\n </span>\n </div>\n </div>\n <div class=\"blade-body\">\n <div class=\"blade-body-wrapper\">\n <ng-content select=\"[ngxBladeBody]\"> </ng-content>\n </div>\n </div>\n <div class=\"blade-footer\">\n <div class=\"blade-footer-wrapper\">\n <ng-content select=\"[ngxBladeFooter]\"> </ng-content>\n </div>\n </div>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { NgxBladeComponent } from './ngx-blade.component';\n\n@NgModule({\n imports: [CommonModule, NgxBladeComponent],\n exports: [NgxBladeComponent],\n})\nexport class NgxBladeModule {}\n","/*\n * Public API Surface of ngx-blade\n */\n\nexport * from './lib/ngx-blade.component';\nexport * from './lib/ngx-blade.module';\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}