@tapsellorg/angular-material-library
Version:
Angular library for Tapsell
104 lines (98 loc) • 10.9 kB
JavaScript
import * as i0 from '@angular/core';
import { Inject, ChangeDetectionStrategy, ViewEncapsulation, Component, NgModule, Injectable } from '@angular/core';
import { CommonModule } from '@angular/common';
import * as i1 from '@angular/material/snack-bar';
import { MAT_SNACK_BAR_DATA, MAT_SNACK_BAR_DEFAULT_OPTIONS } from '@angular/material/snack-bar';
import * as i2 from '@angular/material/icon';
import { MatIconModule } from '@angular/material/icon';
import * as i3 from '@angular/material/button';
import { MatButtonModule } from '@angular/material/button';
import * as i4 from '@tapsellorg/angular-material-library/src/lib/translate';
import { TranslateModule } from '@tapsellorg/angular-material-library/src/lib/translate';
class PghSnackBarComponent {
constructor(snackBarRef, snackBarData) {
this.snackBarRef = snackBarRef;
this.snackBarData = snackBarData;
}
onActionClicked() {
this.snackBarRef.dismissWithAction();
}
dismiss() {
this.snackBarRef.dismiss();
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: PghSnackBarComponent, deps: [{ token: i1.MatSnackBarRef }, { token: MAT_SNACK_BAR_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: PghSnackBarComponent, isStandalone: false, selector: "pgh-snack-bar", ngImport: i0, template: "<div class=\"pgh-snackbar\" [class.flex-wrap]=\"snackBarData.action\">\n <div class=\"pgh-snackbar-content\">\n @if (snackBarData.iconName) {\n <mat-icon class=\"pgh-snackbar-icon\" [svgIcon]=\"snackBarData.iconName\"></mat-icon>\n }\n <div>\n <div class=\"pgh-snackbar-message\" [class.font-weight-bold]=\"snackBarData.description\">\n {{ snackBarData.message }}\n </div>\n @if (snackBarData.description) {\n <div class=\"pgh-snackbar-description\">\n {{ snackBarData.description }}\n </div>\n }\n </div>\n </div>\n <div class=\"pgh-snackbar-actions\">\n @if (snackBarData.action && snackBarData.closeOnAction) {\n <button class=\"pgh-btn me-1\" mat-button (click)=\"dismiss()\">\n {{ 'NOTIF_CLOSE_BUTTON' | translate }}\n </button>\n } @if (snackBarData.action) {\n <button class=\"pgh-snackbar-action-button\" mat-button (click)=\"onActionClicked()\">\n {{ snackBarData.action }}\n </button>\n } @if (!snackBarData.action) {\n <button class=\"pgh-snackbar-dismiss-button\" mat-icon-button (click)=\"dismiss()\">\n <mat-icon svgIcon=\"close\"></mat-icon>\n </button>\n }\n </div>\n</div>\n", styles: [".pgh-snackbar{display:flex;align-items:center;gap:.5rem 1rem}.mat-mdc-snack-bar-container .mdc-snackbar__surface{background-color:var(--000)}.pgh-snackbar-icon{flex-shrink:0;margin-inline-end:.75rem;color:var(--222);border-radius:var(--box-radius)}.pgh-snackbar-content{width:100%;display:flex;align-items:flex-start}.pgh-snackbar-message{color:var(--ddd);margin-block:.25rem;margin-inline:0}.pgh-snackbar-description{margin-top:.25rem}.pgh-snackbar-actions{display:flex;margin-inline-start:auto}.pgh-btn{color:inherit!important}.pgh-snackbar-action-button.mat-mdc-button{color:var(--eee);background-color:var(--222)}.pgh-snackbar-dismiss-button{margin-inline-start:auto;color:var(--bbb)}.pgh-success-snackbar .pgh-snackbar-icon{padding:.25rem;border-radius:50%;background-color:var(--success-300)}.pgh-error-snackbar .pgh-snackbar-icon{color:var(--danger-300)}.pgh-info-snackbar .pgh-snackbar-icon{border-radius:50%;padding:.25rem;background-color:var(--info-300);transform:rotate(180deg)}.pgh-warning-snackbar .pgh-snackbar-icon{color:var(--warning-300)}.pgh-mat .pgh-mat-snack-bar-container{padding:.75rem}\n"], dependencies: [{ kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: PghSnackBarComponent, decorators: [{
type: Component,
args: [{ selector: 'pgh-snack-bar', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<div class=\"pgh-snackbar\" [class.flex-wrap]=\"snackBarData.action\">\n <div class=\"pgh-snackbar-content\">\n @if (snackBarData.iconName) {\n <mat-icon class=\"pgh-snackbar-icon\" [svgIcon]=\"snackBarData.iconName\"></mat-icon>\n }\n <div>\n <div class=\"pgh-snackbar-message\" [class.font-weight-bold]=\"snackBarData.description\">\n {{ snackBarData.message }}\n </div>\n @if (snackBarData.description) {\n <div class=\"pgh-snackbar-description\">\n {{ snackBarData.description }}\n </div>\n }\n </div>\n </div>\n <div class=\"pgh-snackbar-actions\">\n @if (snackBarData.action && snackBarData.closeOnAction) {\n <button class=\"pgh-btn me-1\" mat-button (click)=\"dismiss()\">\n {{ 'NOTIF_CLOSE_BUTTON' | translate }}\n </button>\n } @if (snackBarData.action) {\n <button class=\"pgh-snackbar-action-button\" mat-button (click)=\"onActionClicked()\">\n {{ snackBarData.action }}\n </button>\n } @if (!snackBarData.action) {\n <button class=\"pgh-snackbar-dismiss-button\" mat-icon-button (click)=\"dismiss()\">\n <mat-icon svgIcon=\"close\"></mat-icon>\n </button>\n }\n </div>\n</div>\n", styles: [".pgh-snackbar{display:flex;align-items:center;gap:.5rem 1rem}.mat-mdc-snack-bar-container .mdc-snackbar__surface{background-color:var(--000)}.pgh-snackbar-icon{flex-shrink:0;margin-inline-end:.75rem;color:var(--222);border-radius:var(--box-radius)}.pgh-snackbar-content{width:100%;display:flex;align-items:flex-start}.pgh-snackbar-message{color:var(--ddd);margin-block:.25rem;margin-inline:0}.pgh-snackbar-description{margin-top:.25rem}.pgh-snackbar-actions{display:flex;margin-inline-start:auto}.pgh-btn{color:inherit!important}.pgh-snackbar-action-button.mat-mdc-button{color:var(--eee);background-color:var(--222)}.pgh-snackbar-dismiss-button{margin-inline-start:auto;color:var(--bbb)}.pgh-success-snackbar .pgh-snackbar-icon{padding:.25rem;border-radius:50%;background-color:var(--success-300)}.pgh-error-snackbar .pgh-snackbar-icon{color:var(--danger-300)}.pgh-info-snackbar .pgh-snackbar-icon{border-radius:50%;padding:.25rem;background-color:var(--info-300);transform:rotate(180deg)}.pgh-warning-snackbar .pgh-snackbar-icon{color:var(--warning-300)}.pgh-mat .pgh-mat-snack-bar-container{padding:.75rem}\n"] }]
}], ctorParameters: () => [{ type: i1.MatSnackBarRef }, { type: undefined, decorators: [{
type: Inject,
args: [MAT_SNACK_BAR_DATA]
}] }] });
class PghSnackBarModule {
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: PghSnackBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.15", ngImport: i0, type: PghSnackBarModule, declarations: [PghSnackBarComponent], imports: [CommonModule, MatIconModule, MatButtonModule, TranslateModule], exports: [PghSnackBarComponent] }); }
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: PghSnackBarModule, imports: [CommonModule, MatIconModule, MatButtonModule, TranslateModule] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: PghSnackBarModule, decorators: [{
type: NgModule,
args: [{
declarations: [PghSnackBarComponent],
imports: [CommonModule, MatIconModule, MatButtonModule, TranslateModule],
exports: [PghSnackBarComponent],
}]
}] });
class PghNotifService {
constructor(snackbar, matSnackBarConfig) {
this.snackbar = snackbar;
this.matSnackBarConfig = matSnackBarConfig;
this.SNACK_BAR_TYPES = {
success: { cssClass: 'pgh-success-snackbar', iconName: 'check' },
warning: { cssClass: 'pgh-warning-snackbar', iconName: 'warning' },
error: { cssClass: 'pgh-error-snackbar', iconName: 'error' },
info: { cssClass: 'pgh-info-snackbar', iconName: 'priority_high' },
};
}
info(message, options) {
return this.showNotif('info', message, options);
}
success(message, options) {
return this.showNotif('success', message, options);
}
error(message, options) {
return this.showNotif('error', message, options);
}
warn(message, options) {
return this.showNotif('warning', message, options);
}
showNotif(type, message, options) {
const snackBarData = {
...options,
message,
iconName: this.SNACK_BAR_TYPES[type].iconName,
};
return this.snackbar.openFromComponent(PghSnackBarComponent, {
panelClass: ['pgh-mat-snack-bar-container', this.SNACK_BAR_TYPES[type].cssClass],
duration: options?.closeOnAction ? Infinity : this.matSnackBarConfig.duration,
...options?.config,
data: snackBarData,
});
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: PghNotifService, deps: [{ token: i1.MatSnackBar }, { token: MAT_SNACK_BAR_DEFAULT_OPTIONS }], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: PghNotifService, providedIn: 'root' }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: PghNotifService, decorators: [{
type: Injectable,
args: [{
providedIn: 'root',
}]
}], ctorParameters: () => [{ type: i1.MatSnackBar }, { type: i1.MatSnackBarConfig, decorators: [{
type: Inject,
args: [MAT_SNACK_BAR_DEFAULT_OPTIONS]
}] }] });
/**
* Generated bundle index. Do not edit.
*/
export { PghNotifService, PghSnackBarComponent, PghSnackBarModule };
//# sourceMappingURL=tapsellorg-angular-material-library-notif.mjs.map