ngx-alert-modal 2.0.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -0
- package/fesm2022/ngx-alert-modal.mjs +35 -14
- package/fesm2022/ngx-alert-modal.mjs.map +1 -1
- package/index.d.ts +18 -6
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -92,6 +92,13 @@ providers:[
|
|
|
92
92
|
export type AlertIcon = 'success' | 'error' | 'warning' | 'info' | 'question'
|
|
93
93
|
|
|
94
94
|
export class AlertOptions {
|
|
95
|
+
/**
|
|
96
|
+
* add popover manual to set alert dialog container to top layer
|
|
97
|
+
* - usefull when using alert modal in angular material dialog
|
|
98
|
+
* - default is true
|
|
99
|
+
*/
|
|
100
|
+
useOverlay?: boolean;
|
|
101
|
+
|
|
95
102
|
/**
|
|
96
103
|
* The title of the popup
|
|
97
104
|
*
|
|
@@ -6,6 +6,7 @@ import { CommonModule, DOCUMENT } from '@angular/common';
|
|
|
6
6
|
|
|
7
7
|
const NGX_ALERT_CONFIG = new InjectionToken('IAlertOptions');
|
|
8
8
|
const defaultOptions = {
|
|
9
|
+
useOverlay: true,
|
|
9
10
|
title: '',
|
|
10
11
|
text: '',
|
|
11
12
|
html: '',
|
|
@@ -34,6 +35,12 @@ const defaultOptions = {
|
|
|
34
35
|
class AlertOptions {
|
|
35
36
|
constructor(config) {
|
|
36
37
|
this.config = config;
|
|
38
|
+
/**
|
|
39
|
+
* add popover manual to set alert dialog container to top layer
|
|
40
|
+
* - usefull when using alert modal in angular material dialog
|
|
41
|
+
*
|
|
42
|
+
*/
|
|
43
|
+
this.useOverlay = this.config?.useOverlay;
|
|
37
44
|
this.title = this.config?.title;
|
|
38
45
|
this.text = this.config?.text;
|
|
39
46
|
this.html = '';
|
|
@@ -146,15 +153,15 @@ class NgxAlertModalComponent {
|
|
|
146
153
|
ev.preventDefault();
|
|
147
154
|
ev.stopPropagation();
|
|
148
155
|
}
|
|
149
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
150
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
156
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: NgxAlertModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
157
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: NgxAlertModalComponent, isStandalone: true, selector: "lib-ngx-alert-modal", host: { listeners: { "document:keydown.escape": "onScapeKey($event)", "document:keydown.enter": "onEnterKey($event)" } }, providers: [
|
|
151
158
|
{
|
|
152
159
|
provide: NGX_ALERT_CONFIG,
|
|
153
160
|
useValue: defaultOptions
|
|
154
161
|
}
|
|
155
|
-
], ngImport: i0, template: "<div class=\"ngx-alert-container\" (click)=\"onOutSideClick()\" [ngClass]=\"options.containerClass\"\r\n [class.has-backdrop]=\"options.backdrop\">\r\n <div class=\"ngx-alert-inner\" (click)=\"innerOnClick($event)\">\r\n <div class=\"ngx-alert-header\" *ngIf=\"options.showCloseButton\">\r\n <button class=\"ngx-alert-close\" (click)=\"close()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\">\r\n <path\r\n d=\"M312.1 375c9.369 9.369 9.369 24.57 0 33.94s-24.57 9.369-33.94 0L160 289.9l-119 119c-9.369 9.369-24.57 9.369-33.94 0s-9.369-24.57 0-33.94L126.1 256L7.027 136.1c-9.369-9.369-9.369-24.57 0-33.94s24.57-9.369 33.94 0L160 222.1l119-119c9.369-9.369 24.57-9.369 33.94 0s9.369 24.57 0 33.94L193.9 256L312.1 375z\" />\r\n </svg>\r\n </button>\r\n </div>\r\n\r\n <!-- --------- icon -------- -->\r\n <ng-container [ngSwitch]=\"options.icon\">\r\n\r\n\r\n <div *ngSwitchCase=\"'success'\" class=\"alert-icon alert-success alert-icon-show\" style=\"display: flex;\">\r\n <div class=\"alert-success-circular-line-left\"></div>\r\n <span class=\"alert-success-line-tip\"></span> <span class=\"alert-success-line-long\"></span>\r\n <div class=\"alert-success-ring\"></div>\r\n <div class=\"alert-success-fix\"></div>\r\n <div class=\"alert-success-circular-line-right\"></div>\r\n </div>\r\n\r\n\r\n <div *ngSwitchCase=\"'error'\" class=\"alert-icon alert-error alert-icon-show\" style=\"display: flex;\">\r\n <span class=\"alert-x-mark\">\r\n <span class=\"alert-x-mark-line-left\"></span>\r\n <span class=\"alert-x-mark-line-right\"></span>\r\n </span>\r\n </div>\r\n\r\n\r\n <div *ngSwitchCase=\"'info'\" class=\"alert-icon alert-info alert-icon-show\" style=\"display: flex;\">\r\n <div class=\"alert-icon-content\">i</div>\r\n </div>\r\n\r\n\r\n <div *ngSwitchCase=\"'question'\" class=\"alert-icon alert-question alert-icon-show\" style=\"display: flex;\">\r\n <div class=\"alert-icon-content\">?</div>\r\n </div>\r\n\r\n\r\n <div *ngSwitchCase=\"'warning'\" class=\"alert-icon alert-warning alert-icon-show\" style=\"display: flex;\">\r\n <div class=\"alert-icon-content\">!</div>\r\n </div>\r\n\r\n\r\n </ng-container>\r\n <!-- --------- /icon -------- -->\r\n\r\n <div class=\"ngx-alert-title\">\r\n {{options.title}}\r\n </div>\r\n <div class=\"ngx-alert-body\">\r\n {{options.text}}\r\n <span [innerHTML]=\"options.html\"></span>\r\n </div>\r\n <div class=\"ngx-alert-footer\">\r\n <button *ngIf=\"options.showCancelButton\" class=\"btn-cancel\" (click)=\"onCancel()\"\r\n [attr.aria-label]=\"options.cancelButtonAriaLabel\">\r\n {{options.cancelButtonText}}\r\n </button>\r\n <button *ngIf=\"options.showDenyButton\" class=\"btn-deny\" (click)=\"onDeny()\"\r\n [attr.aria-label]=\"options.denyButtonAriaLabel\">\r\n {{options.denyButtonText}}\r\n </button>\r\n <button *ngIf=\"options.showConfirmButton\" class=\"btn-confirm\" (click)=\"onConfirm()\"\r\n [attr.aria-label]=\"options.confirmButtonAriaLabel\">\r\n {{options.confirmButtonText}}\r\n </button>\r\n </div>\r\n </div>\r\n</div>", styles: [".ngx-alert-container{position:fixed;display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:9999;top:0;bottom:0;width:100%}.ngx-alert-container.has-backdrop{background:#0000001e}.ngx-alert-container .ngx-alert-inner{background-color:#fff;box-shadow:0 0 36px #00000029;width:400px;max-width:95%;min-height:150px;border-radius:6px;animation:ShowAlert .3s}.ngx-alert-container .ngx-alert-header{display:flex;align-items:center;font-size:30px;min-height:40px}.ngx-alert-container .ngx-alert-header .ngx-alert-close{background:none;border:none;outline:none;cursor:pointer}.ngx-alert-container .ngx-alert-header .ngx-alert-close svg{width:20px;height:20px}.ngx-alert-container .ngx-alert-body{padding:5px 15px 15px;text-align:center;max-height:calc(100vh - 120px);overflow:auto;line-height:2}.ngx-alert-container .ngx-alert-title{padding:15px;text-align:center;font-size:1.2rem}.ngx-alert-container .ngx-alert-footer{display:flex;align-items:center;flex-wrap:wrap;padding:15px;gap:6px;justify-content:center}.ngx-alert-container .ngx-alert-footer button{background:none;border:none;background-color:#007bff;color:#fff;padding:8px 15px;border-radius:3px;cursor:pointer}.ngx-alert-container .ngx-alert-footer button.btn-confirm{background-color:#007bff}.ngx-alert-container .ngx-alert-footer button.btn-cancel{background-color:#6e7881}.ngx-alert-container .ngx-alert-footer button.btn-deny{background-color:#dc3741}@keyframes ShowAlert{0%{transform:scale(.7)}45%{transform:scale(1.05)}80%{transform:scale(.95)}to{transform:scale(1)}}\n", ".alert-icon{position:relative;box-sizing:content-box;justify-content:center;width:5em;height:5em;margin:.5em auto .6em;border:.25em solid rgba(0,0,0,0);border-radius:50%;border-color:#000;font-family:inherit;line-height:5em;cursor:default;-webkit-user-select:none;user-select:none}.alert-icon .alert-icon-content{display:flex;align-items:center;font-size:3.75em}.alert-icon.alert-error{border-color:#f27474;color:#f27474}.alert-icon.alert-error .alert-x-mark{position:relative;flex-grow:1}.alert-icon.alert-error [class^=alert-x-mark-line]{display:block;position:absolute;top:2.3125em;width:2.9375em;height:.3125em;border-radius:.125em;background-color:#f27474}.alert-icon.alert-error [class^=alert-x-mark-line][class$=left]{left:1.0625em;transform:rotate(45deg)}.alert-icon.alert-error [class^=alert-x-mark-line][class$=right]{right:1em;transform:rotate(-45deg)}.alert-icon.alert-error.alert-icon-show{animation:alert-animate-error-icon .5s}.alert-icon.alert-error.alert-icon-show .alert-x-mark{animation:alert-animate-error-x-mark .5s}.alert-icon.alert-warning{border-color:#facea8;color:#f8bb86}.alert-icon.alert-warning.alert-icon-show{animation:alert-animate-error-icon .5s}.alert-icon.alert-warning.alert-icon-show .alert-icon-content{animation:alert-animate-i-mark .5s}.alert-icon.alert-info{border-color:#9de0f6;color:#3fc3ee}.alert-icon.alert-info.alert-icon-show{animation:alert-animate-error-icon .5s}.alert-icon.alert-info.alert-icon-show .alert-icon-content{animation:alert-animate-i-mark .8s}.alert-icon.alert-question{border-color:#c9dae1;color:#87adbd}.alert-icon.alert-question.alert-icon-show{animation:alert-animate-error-icon .5s}.alert-icon.alert-question.alert-icon-show .alert-icon-content{animation:alert-animate-question-mark .8s}.alert-icon.alert-success{border-color:#a5dc86;color:#a5dc86}.alert-icon.alert-success [class^=alert-success-circular-line]{position:absolute;width:3.75em;height:7.5em;transform:rotate(45deg);border-radius:50%}.alert-icon.alert-success [class^=alert-success-circular-line][class$=left]{top:-.4375em;left:-2.0635em;transform:rotate(-45deg);transform-origin:3.75em 3.75em;border-radius:7.5em 0 0 7.5em}.alert-icon.alert-success [class^=alert-success-circular-line][class$=right]{top:-.6875em;left:1.875em;transform:rotate(-45deg);transform-origin:0 3.75em;border-radius:0 7.5em 7.5em 0}.alert-icon.alert-success .alert-success-ring{position:absolute;z-index:2;top:-.25em;left:-.25em;box-sizing:content-box;width:100%;height:100%;border:.25em solid rgba(165,220,134,.3);border-radius:50%}.alert-icon.alert-success .alert-success-fix{position:absolute;z-index:1;top:.5em;left:1.625em;width:.4375em;height:5.625em;transform:rotate(-45deg)}.alert-icon.alert-success [class^=alert-success-line]{display:block;position:absolute;z-index:2;height:.3125em;border-radius:.125em;background-color:#a5dc86}.alert-icon.alert-success [class^=alert-success-line][class$=tip]{top:2.875em;left:.8125em;width:1.5625em;transform:rotate(45deg)}.alert-icon.alert-success [class^=alert-success-line][class$=long]{top:2.375em;right:.5em;width:2.9375em;transform:rotate(-45deg)}.alert-icon.alert-success.alert-icon-show .alert-success-line-tip{animation:alert-animate-success-line-tip .75s}.alert-icon.alert-success.alert-icon-show .alert-success-line-long{animation:alert-animate-success-line-long .75s}.alert-icon.alert-success.alert-icon-show .alert-success-circular-line-right{animation:alert-rotate-success-circular-line 4.25s ease-in}@keyframes alert-toast-animate-success-line-tip{0%{top:.5625em;left:.0625em;width:0}54%{top:.125em;left:.125em;width:0}70%{top:.625em;left:-.25em;width:1.625em}84%{top:1.0625em;left:.75em;width:.5em}to{top:1.125em;left:.1875em;width:.75em}}@keyframes alert-toast-animate-success-line-long{0%{top:1.625em;right:1.375em;width:0}65%{top:1.25em;right:.9375em;width:0}84%{top:.9375em;right:0;width:1.125em}to{top:.9375em;right:.1875em;width:1.375em}}@keyframes alert-animate-success-line-tip{0%{top:1.1875em;left:.0625em;width:0}54%{top:1.0625em;left:.125em;width:0}70%{top:2.1875em;left:-.375em;width:3.125em}84%{top:3em;left:1.3125em;width:1.0625em}to{top:2.8125em;left:.8125em;width:1.5625em}}@keyframes alert-animate-success-line-long{0%{top:3.375em;right:2.875em;width:0}65%{top:3.375em;right:2.875em;width:0}84%{top:2.1875em;right:0;width:3.4375em}to{top:2.375em;right:.5em;width:2.9375em}}@keyframes alert-rotate-success-circular-line{0%{transform:rotate(-45deg)}5%{transform:rotate(-45deg)}12%{transform:rotate(-405deg)}to{transform:rotate(-405deg)}}@keyframes alert-animate-error-x-mark{0%{margin-top:1.625em;transform:scale(.4);opacity:0}50%{margin-top:1.625em;transform:scale(.4);opacity:0}80%{margin-top:-.375em;transform:scale(1.15)}to{margin-top:0;transform:scale(1);opacity:1}}@keyframes alert-animate-error-icon{0%{transform:rotateX(100deg);opacity:0}to{transform:rotateX(0);opacity:1}}@keyframes alert-rotate-loading{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes alert-animate-question-mark{0%{transform:rotateY(-360deg)}to{transform:rotateY(0)}}@keyframes alert-animate-i-mark{0%{transform:rotate(45deg);opacity:0}25%{transform:rotate(-25deg);opacity:.4}50%{transform:rotate(15deg);opacity:.8}75%{transform:rotate(-5deg);opacity:1}to{transform:rotateX(0);opacity:1}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] }); }
|
|
162
|
+
], ngImport: i0, template: "<div class=\"ngx-alert-container\" (click)=\"onOutSideClick()\" [ngClass]=\"options.containerClass\"\r\n [class.has-backdrop]=\"options.backdrop\">\r\n <div class=\"ngx-alert-inner\" (click)=\"innerOnClick($event)\">\r\n <div class=\"ngx-alert-header\" *ngIf=\"options.showCloseButton\">\r\n <button class=\"ngx-alert-close\" (click)=\"close()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\">\r\n <path\r\n d=\"M312.1 375c9.369 9.369 9.369 24.57 0 33.94s-24.57 9.369-33.94 0L160 289.9l-119 119c-9.369 9.369-24.57 9.369-33.94 0s-9.369-24.57 0-33.94L126.1 256L7.027 136.1c-9.369-9.369-9.369-24.57 0-33.94s24.57-9.369 33.94 0L160 222.1l119-119c9.369-9.369 24.57-9.369 33.94 0s9.369 24.57 0 33.94L193.9 256L312.1 375z\" />\r\n </svg>\r\n </button>\r\n </div>\r\n\r\n <!-- --------- icon -------- -->\r\n <ng-container [ngSwitch]=\"options.icon\">\r\n\r\n\r\n <div *ngSwitchCase=\"'success'\" class=\"alert-icon alert-success alert-icon-show\" style=\"display: flex;\">\r\n <div class=\"alert-success-circular-line-left\"></div>\r\n <span class=\"alert-success-line-tip\"></span> <span class=\"alert-success-line-long\"></span>\r\n <div class=\"alert-success-ring\"></div>\r\n <div class=\"alert-success-fix\"></div>\r\n <div class=\"alert-success-circular-line-right\"></div>\r\n </div>\r\n\r\n\r\n <div *ngSwitchCase=\"'error'\" class=\"alert-icon alert-error alert-icon-show\" style=\"display: flex;\">\r\n <span class=\"alert-x-mark\">\r\n <span class=\"alert-x-mark-line-left\"></span>\r\n <span class=\"alert-x-mark-line-right\"></span>\r\n </span>\r\n </div>\r\n\r\n\r\n <div *ngSwitchCase=\"'info'\" class=\"alert-icon alert-info alert-icon-show\" style=\"display: flex;\">\r\n <div class=\"alert-icon-content\">i</div>\r\n </div>\r\n\r\n\r\n <div *ngSwitchCase=\"'question'\" class=\"alert-icon alert-question alert-icon-show\" style=\"display: flex;\">\r\n <div class=\"alert-icon-content\">?</div>\r\n </div>\r\n\r\n\r\n <div *ngSwitchCase=\"'warning'\" class=\"alert-icon alert-warning alert-icon-show\" style=\"display: flex;\">\r\n <div class=\"alert-icon-content\">!</div>\r\n </div>\r\n\r\n\r\n </ng-container>\r\n <!-- --------- /icon -------- -->\r\n\r\n <div class=\"ngx-alert-title\">\r\n {{options.title}}\r\n </div>\r\n <div class=\"ngx-alert-body\">\r\n {{options.text}}\r\n <span [innerHTML]=\"options.html\"></span>\r\n </div>\r\n <div class=\"ngx-alert-footer\">\r\n <button *ngIf=\"options.showCancelButton\" class=\"btn-cancel\" (click)=\"onCancel()\"\r\n [attr.aria-label]=\"options.cancelButtonAriaLabel\">\r\n {{options.cancelButtonText}}\r\n </button>\r\n <button *ngIf=\"options.showDenyButton\" class=\"btn-deny\" (click)=\"onDeny()\"\r\n [attr.aria-label]=\"options.denyButtonAriaLabel\">\r\n {{options.denyButtonText}}\r\n </button>\r\n <button *ngIf=\"options.showConfirmButton\" class=\"btn-confirm\" (click)=\"onConfirm()\"\r\n [attr.aria-label]=\"options.confirmButtonAriaLabel\">\r\n {{options.confirmButtonText}}\r\n </button>\r\n </div>\r\n </div>\r\n</div>", styles: [":host:popover-open{margin:0;padding:0;border:none;background:transparent;inset:0;width:100%;height:100%;max-width:100%;max-height:100%;overflow:auto}.ngx-alert-container{position:fixed;display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:9999;top:0;bottom:0;width:100%}.ngx-alert-container.has-backdrop{background:#0000001e}.ngx-alert-container .ngx-alert-inner{background-color:#fff;box-shadow:0 0 36px #00000029;width:400px;max-width:95%;min-height:150px;border-radius:6px;animation:ShowAlert .3s}.ngx-alert-container .ngx-alert-header{display:flex;align-items:center;font-size:30px;min-height:40px}.ngx-alert-container .ngx-alert-header .ngx-alert-close{background:none;border:none;outline:none;cursor:pointer}.ngx-alert-container .ngx-alert-header .ngx-alert-close svg{width:20px;height:20px}.ngx-alert-container .ngx-alert-body{padding:5px 15px 15px;text-align:center;max-height:calc(100vh - 120px);overflow:auto;line-height:2}.ngx-alert-container .ngx-alert-title{padding:15px;text-align:center;font-size:1.2rem}.ngx-alert-container .ngx-alert-footer{display:flex;align-items:center;flex-wrap:wrap;padding:15px;gap:6px;justify-content:center}.ngx-alert-container .ngx-alert-footer button{background:none;border:none;background-color:#007bff;color:#fff;padding:8px 15px;border-radius:3px;cursor:pointer}.ngx-alert-container .ngx-alert-footer button.btn-confirm{background-color:#007bff}.ngx-alert-container .ngx-alert-footer button.btn-cancel{background-color:#6e7881}.ngx-alert-container .ngx-alert-footer button.btn-deny{background-color:#dc3741}@keyframes ShowAlert{0%{transform:scale(.7)}45%{transform:scale(1.05)}80%{transform:scale(.95)}to{transform:scale(1)}}\n", ".alert-icon{position:relative;box-sizing:content-box;justify-content:center;width:5em;height:5em;margin:.5em auto .6em;border:.25em solid rgba(0,0,0,0);border-radius:50%;border-color:#000;font-family:inherit;line-height:5em;cursor:default;-webkit-user-select:none;user-select:none}.alert-icon .alert-icon-content{display:flex;align-items:center;font-size:3.75em}.alert-icon.alert-error{border-color:#f27474;color:#f27474}.alert-icon.alert-error .alert-x-mark{position:relative;flex-grow:1}.alert-icon.alert-error [class^=alert-x-mark-line]{display:block;position:absolute;top:2.3125em;width:2.9375em;height:.3125em;border-radius:.125em;background-color:#f27474}.alert-icon.alert-error [class^=alert-x-mark-line][class$=left]{left:1.0625em;transform:rotate(45deg)}.alert-icon.alert-error [class^=alert-x-mark-line][class$=right]{right:1em;transform:rotate(-45deg)}.alert-icon.alert-error.alert-icon-show{animation:alert-animate-error-icon .5s}.alert-icon.alert-error.alert-icon-show .alert-x-mark{animation:alert-animate-error-x-mark .5s}.alert-icon.alert-warning{border-color:#facea8;color:#f8bb86}.alert-icon.alert-warning.alert-icon-show{animation:alert-animate-error-icon .5s}.alert-icon.alert-warning.alert-icon-show .alert-icon-content{animation:alert-animate-i-mark .5s}.alert-icon.alert-info{border-color:#9de0f6;color:#3fc3ee}.alert-icon.alert-info.alert-icon-show{animation:alert-animate-error-icon .5s}.alert-icon.alert-info.alert-icon-show .alert-icon-content{animation:alert-animate-i-mark .8s}.alert-icon.alert-question{border-color:#c9dae1;color:#87adbd}.alert-icon.alert-question.alert-icon-show{animation:alert-animate-error-icon .5s}.alert-icon.alert-question.alert-icon-show .alert-icon-content{animation:alert-animate-question-mark .8s}.alert-icon.alert-success{border-color:#a5dc86;color:#a5dc86}.alert-icon.alert-success [class^=alert-success-circular-line]{position:absolute;width:3.75em;height:7.5em;transform:rotate(45deg);border-radius:50%}.alert-icon.alert-success [class^=alert-success-circular-line][class$=left]{top:-.4375em;left:-2.0635em;transform:rotate(-45deg);transform-origin:3.75em 3.75em;border-radius:7.5em 0 0 7.5em}.alert-icon.alert-success [class^=alert-success-circular-line][class$=right]{top:-.6875em;left:1.875em;transform:rotate(-45deg);transform-origin:0 3.75em;border-radius:0 7.5em 7.5em 0}.alert-icon.alert-success .alert-success-ring{position:absolute;z-index:2;top:-.25em;left:-.25em;box-sizing:content-box;width:100%;height:100%;border:.25em solid rgba(165,220,134,.3);border-radius:50%}.alert-icon.alert-success .alert-success-fix{position:absolute;z-index:1;top:.5em;left:1.625em;width:.4375em;height:5.625em;transform:rotate(-45deg)}.alert-icon.alert-success [class^=alert-success-line]{display:block;position:absolute;z-index:2;height:.3125em;border-radius:.125em;background-color:#a5dc86}.alert-icon.alert-success [class^=alert-success-line][class$=tip]{top:2.875em;left:.8125em;width:1.5625em;transform:rotate(45deg)}.alert-icon.alert-success [class^=alert-success-line][class$=long]{top:2.375em;right:.5em;width:2.9375em;transform:rotate(-45deg)}.alert-icon.alert-success.alert-icon-show .alert-success-line-tip{animation:alert-animate-success-line-tip .75s}.alert-icon.alert-success.alert-icon-show .alert-success-line-long{animation:alert-animate-success-line-long .75s}.alert-icon.alert-success.alert-icon-show .alert-success-circular-line-right{animation:alert-rotate-success-circular-line 4.25s ease-in}@keyframes alert-toast-animate-success-line-tip{0%{top:.5625em;left:.0625em;width:0}54%{top:.125em;left:.125em;width:0}70%{top:.625em;left:-.25em;width:1.625em}84%{top:1.0625em;left:.75em;width:.5em}to{top:1.125em;left:.1875em;width:.75em}}@keyframes alert-toast-animate-success-line-long{0%{top:1.625em;right:1.375em;width:0}65%{top:1.25em;right:.9375em;width:0}84%{top:.9375em;right:0;width:1.125em}to{top:.9375em;right:.1875em;width:1.375em}}@keyframes alert-animate-success-line-tip{0%{top:1.1875em;left:.0625em;width:0}54%{top:1.0625em;left:.125em;width:0}70%{top:2.1875em;left:-.375em;width:3.125em}84%{top:3em;left:1.3125em;width:1.0625em}to{top:2.8125em;left:.8125em;width:1.5625em}}@keyframes alert-animate-success-line-long{0%{top:3.375em;right:2.875em;width:0}65%{top:3.375em;right:2.875em;width:0}84%{top:2.1875em;right:0;width:3.4375em}to{top:2.375em;right:.5em;width:2.9375em}}@keyframes alert-rotate-success-circular-line{0%{transform:rotate(-45deg)}5%{transform:rotate(-45deg)}12%{transform:rotate(-405deg)}to{transform:rotate(-405deg)}}@keyframes alert-animate-error-x-mark{0%{margin-top:1.625em;transform:scale(.4);opacity:0}50%{margin-top:1.625em;transform:scale(.4);opacity:0}80%{margin-top:-.375em;transform:scale(1.15)}to{margin-top:0;transform:scale(1);opacity:1}}@keyframes alert-animate-error-icon{0%{transform:rotateX(100deg);opacity:0}to{transform:rotateX(0);opacity:1}}@keyframes alert-rotate-loading{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes alert-animate-question-mark{0%{transform:rotateY(-360deg)}to{transform:rotateY(0)}}@keyframes alert-animate-i-mark{0%{transform:rotate(45deg);opacity:0}25%{transform:rotate(-25deg);opacity:.4}50%{transform:rotate(15deg);opacity:.8}75%{transform:rotate(-5deg);opacity:1}to{transform:rotateX(0);opacity:1}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] }); }
|
|
156
163
|
}
|
|
157
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
164
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: NgxAlertModalComponent, decorators: [{
|
|
158
165
|
type: Component,
|
|
159
166
|
args: [{ selector: 'lib-ngx-alert-modal', standalone: true, imports: [
|
|
160
167
|
CommonModule
|
|
@@ -163,7 +170,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
|
|
|
163
170
|
provide: NGX_ALERT_CONFIG,
|
|
164
171
|
useValue: defaultOptions
|
|
165
172
|
}
|
|
166
|
-
], template: "<div class=\"ngx-alert-container\" (click)=\"onOutSideClick()\" [ngClass]=\"options.containerClass\"\r\n [class.has-backdrop]=\"options.backdrop\">\r\n <div class=\"ngx-alert-inner\" (click)=\"innerOnClick($event)\">\r\n <div class=\"ngx-alert-header\" *ngIf=\"options.showCloseButton\">\r\n <button class=\"ngx-alert-close\" (click)=\"close()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\">\r\n <path\r\n d=\"M312.1 375c9.369 9.369 9.369 24.57 0 33.94s-24.57 9.369-33.94 0L160 289.9l-119 119c-9.369 9.369-24.57 9.369-33.94 0s-9.369-24.57 0-33.94L126.1 256L7.027 136.1c-9.369-9.369-9.369-24.57 0-33.94s24.57-9.369 33.94 0L160 222.1l119-119c9.369-9.369 24.57-9.369 33.94 0s9.369 24.57 0 33.94L193.9 256L312.1 375z\" />\r\n </svg>\r\n </button>\r\n </div>\r\n\r\n <!-- --------- icon -------- -->\r\n <ng-container [ngSwitch]=\"options.icon\">\r\n\r\n\r\n <div *ngSwitchCase=\"'success'\" class=\"alert-icon alert-success alert-icon-show\" style=\"display: flex;\">\r\n <div class=\"alert-success-circular-line-left\"></div>\r\n <span class=\"alert-success-line-tip\"></span> <span class=\"alert-success-line-long\"></span>\r\n <div class=\"alert-success-ring\"></div>\r\n <div class=\"alert-success-fix\"></div>\r\n <div class=\"alert-success-circular-line-right\"></div>\r\n </div>\r\n\r\n\r\n <div *ngSwitchCase=\"'error'\" class=\"alert-icon alert-error alert-icon-show\" style=\"display: flex;\">\r\n <span class=\"alert-x-mark\">\r\n <span class=\"alert-x-mark-line-left\"></span>\r\n <span class=\"alert-x-mark-line-right\"></span>\r\n </span>\r\n </div>\r\n\r\n\r\n <div *ngSwitchCase=\"'info'\" class=\"alert-icon alert-info alert-icon-show\" style=\"display: flex;\">\r\n <div class=\"alert-icon-content\">i</div>\r\n </div>\r\n\r\n\r\n <div *ngSwitchCase=\"'question'\" class=\"alert-icon alert-question alert-icon-show\" style=\"display: flex;\">\r\n <div class=\"alert-icon-content\">?</div>\r\n </div>\r\n\r\n\r\n <div *ngSwitchCase=\"'warning'\" class=\"alert-icon alert-warning alert-icon-show\" style=\"display: flex;\">\r\n <div class=\"alert-icon-content\">!</div>\r\n </div>\r\n\r\n\r\n </ng-container>\r\n <!-- --------- /icon -------- -->\r\n\r\n <div class=\"ngx-alert-title\">\r\n {{options.title}}\r\n </div>\r\n <div class=\"ngx-alert-body\">\r\n {{options.text}}\r\n <span [innerHTML]=\"options.html\"></span>\r\n </div>\r\n <div class=\"ngx-alert-footer\">\r\n <button *ngIf=\"options.showCancelButton\" class=\"btn-cancel\" (click)=\"onCancel()\"\r\n [attr.aria-label]=\"options.cancelButtonAriaLabel\">\r\n {{options.cancelButtonText}}\r\n </button>\r\n <button *ngIf=\"options.showDenyButton\" class=\"btn-deny\" (click)=\"onDeny()\"\r\n [attr.aria-label]=\"options.denyButtonAriaLabel\">\r\n {{options.denyButtonText}}\r\n </button>\r\n <button *ngIf=\"options.showConfirmButton\" class=\"btn-confirm\" (click)=\"onConfirm()\"\r\n [attr.aria-label]=\"options.confirmButtonAriaLabel\">\r\n {{options.confirmButtonText}}\r\n </button>\r\n </div>\r\n </div>\r\n</div>", styles: [".ngx-alert-container{position:fixed;display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:9999;top:0;bottom:0;width:100%}.ngx-alert-container.has-backdrop{background:#0000001e}.ngx-alert-container .ngx-alert-inner{background-color:#fff;box-shadow:0 0 36px #00000029;width:400px;max-width:95%;min-height:150px;border-radius:6px;animation:ShowAlert .3s}.ngx-alert-container .ngx-alert-header{display:flex;align-items:center;font-size:30px;min-height:40px}.ngx-alert-container .ngx-alert-header .ngx-alert-close{background:none;border:none;outline:none;cursor:pointer}.ngx-alert-container .ngx-alert-header .ngx-alert-close svg{width:20px;height:20px}.ngx-alert-container .ngx-alert-body{padding:5px 15px 15px;text-align:center;max-height:calc(100vh - 120px);overflow:auto;line-height:2}.ngx-alert-container .ngx-alert-title{padding:15px;text-align:center;font-size:1.2rem}.ngx-alert-container .ngx-alert-footer{display:flex;align-items:center;flex-wrap:wrap;padding:15px;gap:6px;justify-content:center}.ngx-alert-container .ngx-alert-footer button{background:none;border:none;background-color:#007bff;color:#fff;padding:8px 15px;border-radius:3px;cursor:pointer}.ngx-alert-container .ngx-alert-footer button.btn-confirm{background-color:#007bff}.ngx-alert-container .ngx-alert-footer button.btn-cancel{background-color:#6e7881}.ngx-alert-container .ngx-alert-footer button.btn-deny{background-color:#dc3741}@keyframes ShowAlert{0%{transform:scale(.7)}45%{transform:scale(1.05)}80%{transform:scale(.95)}to{transform:scale(1)}}\n", ".alert-icon{position:relative;box-sizing:content-box;justify-content:center;width:5em;height:5em;margin:.5em auto .6em;border:.25em solid rgba(0,0,0,0);border-radius:50%;border-color:#000;font-family:inherit;line-height:5em;cursor:default;-webkit-user-select:none;user-select:none}.alert-icon .alert-icon-content{display:flex;align-items:center;font-size:3.75em}.alert-icon.alert-error{border-color:#f27474;color:#f27474}.alert-icon.alert-error .alert-x-mark{position:relative;flex-grow:1}.alert-icon.alert-error [class^=alert-x-mark-line]{display:block;position:absolute;top:2.3125em;width:2.9375em;height:.3125em;border-radius:.125em;background-color:#f27474}.alert-icon.alert-error [class^=alert-x-mark-line][class$=left]{left:1.0625em;transform:rotate(45deg)}.alert-icon.alert-error [class^=alert-x-mark-line][class$=right]{right:1em;transform:rotate(-45deg)}.alert-icon.alert-error.alert-icon-show{animation:alert-animate-error-icon .5s}.alert-icon.alert-error.alert-icon-show .alert-x-mark{animation:alert-animate-error-x-mark .5s}.alert-icon.alert-warning{border-color:#facea8;color:#f8bb86}.alert-icon.alert-warning.alert-icon-show{animation:alert-animate-error-icon .5s}.alert-icon.alert-warning.alert-icon-show .alert-icon-content{animation:alert-animate-i-mark .5s}.alert-icon.alert-info{border-color:#9de0f6;color:#3fc3ee}.alert-icon.alert-info.alert-icon-show{animation:alert-animate-error-icon .5s}.alert-icon.alert-info.alert-icon-show .alert-icon-content{animation:alert-animate-i-mark .8s}.alert-icon.alert-question{border-color:#c9dae1;color:#87adbd}.alert-icon.alert-question.alert-icon-show{animation:alert-animate-error-icon .5s}.alert-icon.alert-question.alert-icon-show .alert-icon-content{animation:alert-animate-question-mark .8s}.alert-icon.alert-success{border-color:#a5dc86;color:#a5dc86}.alert-icon.alert-success [class^=alert-success-circular-line]{position:absolute;width:3.75em;height:7.5em;transform:rotate(45deg);border-radius:50%}.alert-icon.alert-success [class^=alert-success-circular-line][class$=left]{top:-.4375em;left:-2.0635em;transform:rotate(-45deg);transform-origin:3.75em 3.75em;border-radius:7.5em 0 0 7.5em}.alert-icon.alert-success [class^=alert-success-circular-line][class$=right]{top:-.6875em;left:1.875em;transform:rotate(-45deg);transform-origin:0 3.75em;border-radius:0 7.5em 7.5em 0}.alert-icon.alert-success .alert-success-ring{position:absolute;z-index:2;top:-.25em;left:-.25em;box-sizing:content-box;width:100%;height:100%;border:.25em solid rgba(165,220,134,.3);border-radius:50%}.alert-icon.alert-success .alert-success-fix{position:absolute;z-index:1;top:.5em;left:1.625em;width:.4375em;height:5.625em;transform:rotate(-45deg)}.alert-icon.alert-success [class^=alert-success-line]{display:block;position:absolute;z-index:2;height:.3125em;border-radius:.125em;background-color:#a5dc86}.alert-icon.alert-success [class^=alert-success-line][class$=tip]{top:2.875em;left:.8125em;width:1.5625em;transform:rotate(45deg)}.alert-icon.alert-success [class^=alert-success-line][class$=long]{top:2.375em;right:.5em;width:2.9375em;transform:rotate(-45deg)}.alert-icon.alert-success.alert-icon-show .alert-success-line-tip{animation:alert-animate-success-line-tip .75s}.alert-icon.alert-success.alert-icon-show .alert-success-line-long{animation:alert-animate-success-line-long .75s}.alert-icon.alert-success.alert-icon-show .alert-success-circular-line-right{animation:alert-rotate-success-circular-line 4.25s ease-in}@keyframes alert-toast-animate-success-line-tip{0%{top:.5625em;left:.0625em;width:0}54%{top:.125em;left:.125em;width:0}70%{top:.625em;left:-.25em;width:1.625em}84%{top:1.0625em;left:.75em;width:.5em}to{top:1.125em;left:.1875em;width:.75em}}@keyframes alert-toast-animate-success-line-long{0%{top:1.625em;right:1.375em;width:0}65%{top:1.25em;right:.9375em;width:0}84%{top:.9375em;right:0;width:1.125em}to{top:.9375em;right:.1875em;width:1.375em}}@keyframes alert-animate-success-line-tip{0%{top:1.1875em;left:.0625em;width:0}54%{top:1.0625em;left:.125em;width:0}70%{top:2.1875em;left:-.375em;width:3.125em}84%{top:3em;left:1.3125em;width:1.0625em}to{top:2.8125em;left:.8125em;width:1.5625em}}@keyframes alert-animate-success-line-long{0%{top:3.375em;right:2.875em;width:0}65%{top:3.375em;right:2.875em;width:0}84%{top:2.1875em;right:0;width:3.4375em}to{top:2.375em;right:.5em;width:2.9375em}}@keyframes alert-rotate-success-circular-line{0%{transform:rotate(-45deg)}5%{transform:rotate(-45deg)}12%{transform:rotate(-405deg)}to{transform:rotate(-405deg)}}@keyframes alert-animate-error-x-mark{0%{margin-top:1.625em;transform:scale(.4);opacity:0}50%{margin-top:1.625em;transform:scale(.4);opacity:0}80%{margin-top:-.375em;transform:scale(1.15)}to{margin-top:0;transform:scale(1);opacity:1}}@keyframes alert-animate-error-icon{0%{transform:rotateX(100deg);opacity:0}to{transform:rotateX(0);opacity:1}}@keyframes alert-rotate-loading{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes alert-animate-question-mark{0%{transform:rotateY(-360deg)}to{transform:rotateY(0)}}@keyframes alert-animate-i-mark{0%{transform:rotate(45deg);opacity:0}25%{transform:rotate(-25deg);opacity:.4}50%{transform:rotate(15deg);opacity:.8}75%{transform:rotate(-5deg);opacity:1}to{transform:rotateX(0);opacity:1}}\n"] }]
|
|
173
|
+
], template: "<div class=\"ngx-alert-container\" (click)=\"onOutSideClick()\" [ngClass]=\"options.containerClass\"\r\n [class.has-backdrop]=\"options.backdrop\">\r\n <div class=\"ngx-alert-inner\" (click)=\"innerOnClick($event)\">\r\n <div class=\"ngx-alert-header\" *ngIf=\"options.showCloseButton\">\r\n <button class=\"ngx-alert-close\" (click)=\"close()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\">\r\n <path\r\n d=\"M312.1 375c9.369 9.369 9.369 24.57 0 33.94s-24.57 9.369-33.94 0L160 289.9l-119 119c-9.369 9.369-24.57 9.369-33.94 0s-9.369-24.57 0-33.94L126.1 256L7.027 136.1c-9.369-9.369-9.369-24.57 0-33.94s24.57-9.369 33.94 0L160 222.1l119-119c9.369-9.369 24.57-9.369 33.94 0s9.369 24.57 0 33.94L193.9 256L312.1 375z\" />\r\n </svg>\r\n </button>\r\n </div>\r\n\r\n <!-- --------- icon -------- -->\r\n <ng-container [ngSwitch]=\"options.icon\">\r\n\r\n\r\n <div *ngSwitchCase=\"'success'\" class=\"alert-icon alert-success alert-icon-show\" style=\"display: flex;\">\r\n <div class=\"alert-success-circular-line-left\"></div>\r\n <span class=\"alert-success-line-tip\"></span> <span class=\"alert-success-line-long\"></span>\r\n <div class=\"alert-success-ring\"></div>\r\n <div class=\"alert-success-fix\"></div>\r\n <div class=\"alert-success-circular-line-right\"></div>\r\n </div>\r\n\r\n\r\n <div *ngSwitchCase=\"'error'\" class=\"alert-icon alert-error alert-icon-show\" style=\"display: flex;\">\r\n <span class=\"alert-x-mark\">\r\n <span class=\"alert-x-mark-line-left\"></span>\r\n <span class=\"alert-x-mark-line-right\"></span>\r\n </span>\r\n </div>\r\n\r\n\r\n <div *ngSwitchCase=\"'info'\" class=\"alert-icon alert-info alert-icon-show\" style=\"display: flex;\">\r\n <div class=\"alert-icon-content\">i</div>\r\n </div>\r\n\r\n\r\n <div *ngSwitchCase=\"'question'\" class=\"alert-icon alert-question alert-icon-show\" style=\"display: flex;\">\r\n <div class=\"alert-icon-content\">?</div>\r\n </div>\r\n\r\n\r\n <div *ngSwitchCase=\"'warning'\" class=\"alert-icon alert-warning alert-icon-show\" style=\"display: flex;\">\r\n <div class=\"alert-icon-content\">!</div>\r\n </div>\r\n\r\n\r\n </ng-container>\r\n <!-- --------- /icon -------- -->\r\n\r\n <div class=\"ngx-alert-title\">\r\n {{options.title}}\r\n </div>\r\n <div class=\"ngx-alert-body\">\r\n {{options.text}}\r\n <span [innerHTML]=\"options.html\"></span>\r\n </div>\r\n <div class=\"ngx-alert-footer\">\r\n <button *ngIf=\"options.showCancelButton\" class=\"btn-cancel\" (click)=\"onCancel()\"\r\n [attr.aria-label]=\"options.cancelButtonAriaLabel\">\r\n {{options.cancelButtonText}}\r\n </button>\r\n <button *ngIf=\"options.showDenyButton\" class=\"btn-deny\" (click)=\"onDeny()\"\r\n [attr.aria-label]=\"options.denyButtonAriaLabel\">\r\n {{options.denyButtonText}}\r\n </button>\r\n <button *ngIf=\"options.showConfirmButton\" class=\"btn-confirm\" (click)=\"onConfirm()\"\r\n [attr.aria-label]=\"options.confirmButtonAriaLabel\">\r\n {{options.confirmButtonText}}\r\n </button>\r\n </div>\r\n </div>\r\n</div>", styles: [":host:popover-open{margin:0;padding:0;border:none;background:transparent;inset:0;width:100%;height:100%;max-width:100%;max-height:100%;overflow:auto}.ngx-alert-container{position:fixed;display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:9999;top:0;bottom:0;width:100%}.ngx-alert-container.has-backdrop{background:#0000001e}.ngx-alert-container .ngx-alert-inner{background-color:#fff;box-shadow:0 0 36px #00000029;width:400px;max-width:95%;min-height:150px;border-radius:6px;animation:ShowAlert .3s}.ngx-alert-container .ngx-alert-header{display:flex;align-items:center;font-size:30px;min-height:40px}.ngx-alert-container .ngx-alert-header .ngx-alert-close{background:none;border:none;outline:none;cursor:pointer}.ngx-alert-container .ngx-alert-header .ngx-alert-close svg{width:20px;height:20px}.ngx-alert-container .ngx-alert-body{padding:5px 15px 15px;text-align:center;max-height:calc(100vh - 120px);overflow:auto;line-height:2}.ngx-alert-container .ngx-alert-title{padding:15px;text-align:center;font-size:1.2rem}.ngx-alert-container .ngx-alert-footer{display:flex;align-items:center;flex-wrap:wrap;padding:15px;gap:6px;justify-content:center}.ngx-alert-container .ngx-alert-footer button{background:none;border:none;background-color:#007bff;color:#fff;padding:8px 15px;border-radius:3px;cursor:pointer}.ngx-alert-container .ngx-alert-footer button.btn-confirm{background-color:#007bff}.ngx-alert-container .ngx-alert-footer button.btn-cancel{background-color:#6e7881}.ngx-alert-container .ngx-alert-footer button.btn-deny{background-color:#dc3741}@keyframes ShowAlert{0%{transform:scale(.7)}45%{transform:scale(1.05)}80%{transform:scale(.95)}to{transform:scale(1)}}\n", ".alert-icon{position:relative;box-sizing:content-box;justify-content:center;width:5em;height:5em;margin:.5em auto .6em;border:.25em solid rgba(0,0,0,0);border-radius:50%;border-color:#000;font-family:inherit;line-height:5em;cursor:default;-webkit-user-select:none;user-select:none}.alert-icon .alert-icon-content{display:flex;align-items:center;font-size:3.75em}.alert-icon.alert-error{border-color:#f27474;color:#f27474}.alert-icon.alert-error .alert-x-mark{position:relative;flex-grow:1}.alert-icon.alert-error [class^=alert-x-mark-line]{display:block;position:absolute;top:2.3125em;width:2.9375em;height:.3125em;border-radius:.125em;background-color:#f27474}.alert-icon.alert-error [class^=alert-x-mark-line][class$=left]{left:1.0625em;transform:rotate(45deg)}.alert-icon.alert-error [class^=alert-x-mark-line][class$=right]{right:1em;transform:rotate(-45deg)}.alert-icon.alert-error.alert-icon-show{animation:alert-animate-error-icon .5s}.alert-icon.alert-error.alert-icon-show .alert-x-mark{animation:alert-animate-error-x-mark .5s}.alert-icon.alert-warning{border-color:#facea8;color:#f8bb86}.alert-icon.alert-warning.alert-icon-show{animation:alert-animate-error-icon .5s}.alert-icon.alert-warning.alert-icon-show .alert-icon-content{animation:alert-animate-i-mark .5s}.alert-icon.alert-info{border-color:#9de0f6;color:#3fc3ee}.alert-icon.alert-info.alert-icon-show{animation:alert-animate-error-icon .5s}.alert-icon.alert-info.alert-icon-show .alert-icon-content{animation:alert-animate-i-mark .8s}.alert-icon.alert-question{border-color:#c9dae1;color:#87adbd}.alert-icon.alert-question.alert-icon-show{animation:alert-animate-error-icon .5s}.alert-icon.alert-question.alert-icon-show .alert-icon-content{animation:alert-animate-question-mark .8s}.alert-icon.alert-success{border-color:#a5dc86;color:#a5dc86}.alert-icon.alert-success [class^=alert-success-circular-line]{position:absolute;width:3.75em;height:7.5em;transform:rotate(45deg);border-radius:50%}.alert-icon.alert-success [class^=alert-success-circular-line][class$=left]{top:-.4375em;left:-2.0635em;transform:rotate(-45deg);transform-origin:3.75em 3.75em;border-radius:7.5em 0 0 7.5em}.alert-icon.alert-success [class^=alert-success-circular-line][class$=right]{top:-.6875em;left:1.875em;transform:rotate(-45deg);transform-origin:0 3.75em;border-radius:0 7.5em 7.5em 0}.alert-icon.alert-success .alert-success-ring{position:absolute;z-index:2;top:-.25em;left:-.25em;box-sizing:content-box;width:100%;height:100%;border:.25em solid rgba(165,220,134,.3);border-radius:50%}.alert-icon.alert-success .alert-success-fix{position:absolute;z-index:1;top:.5em;left:1.625em;width:.4375em;height:5.625em;transform:rotate(-45deg)}.alert-icon.alert-success [class^=alert-success-line]{display:block;position:absolute;z-index:2;height:.3125em;border-radius:.125em;background-color:#a5dc86}.alert-icon.alert-success [class^=alert-success-line][class$=tip]{top:2.875em;left:.8125em;width:1.5625em;transform:rotate(45deg)}.alert-icon.alert-success [class^=alert-success-line][class$=long]{top:2.375em;right:.5em;width:2.9375em;transform:rotate(-45deg)}.alert-icon.alert-success.alert-icon-show .alert-success-line-tip{animation:alert-animate-success-line-tip .75s}.alert-icon.alert-success.alert-icon-show .alert-success-line-long{animation:alert-animate-success-line-long .75s}.alert-icon.alert-success.alert-icon-show .alert-success-circular-line-right{animation:alert-rotate-success-circular-line 4.25s ease-in}@keyframes alert-toast-animate-success-line-tip{0%{top:.5625em;left:.0625em;width:0}54%{top:.125em;left:.125em;width:0}70%{top:.625em;left:-.25em;width:1.625em}84%{top:1.0625em;left:.75em;width:.5em}to{top:1.125em;left:.1875em;width:.75em}}@keyframes alert-toast-animate-success-line-long{0%{top:1.625em;right:1.375em;width:0}65%{top:1.25em;right:.9375em;width:0}84%{top:.9375em;right:0;width:1.125em}to{top:.9375em;right:.1875em;width:1.375em}}@keyframes alert-animate-success-line-tip{0%{top:1.1875em;left:.0625em;width:0}54%{top:1.0625em;left:.125em;width:0}70%{top:2.1875em;left:-.375em;width:3.125em}84%{top:3em;left:1.3125em;width:1.0625em}to{top:2.8125em;left:.8125em;width:1.5625em}}@keyframes alert-animate-success-line-long{0%{top:3.375em;right:2.875em;width:0}65%{top:3.375em;right:2.875em;width:0}84%{top:2.1875em;right:0;width:3.4375em}to{top:2.375em;right:.5em;width:2.9375em}}@keyframes alert-rotate-success-circular-line{0%{transform:rotate(-45deg)}5%{transform:rotate(-45deg)}12%{transform:rotate(-405deg)}to{transform:rotate(-405deg)}}@keyframes alert-animate-error-x-mark{0%{margin-top:1.625em;transform:scale(.4);opacity:0}50%{margin-top:1.625em;transform:scale(.4);opacity:0}80%{margin-top:-.375em;transform:scale(1.15)}to{margin-top:0;transform:scale(1);opacity:1}}@keyframes alert-animate-error-icon{0%{transform:rotateX(100deg);opacity:0}to{transform:rotateX(0);opacity:1}}@keyframes alert-rotate-loading{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes alert-animate-question-mark{0%{transform:rotateY(-360deg)}to{transform:rotateY(0)}}@keyframes alert-animate-i-mark{0%{transform:rotate(45deg);opacity:0}25%{transform:rotate(-25deg);opacity:.4}50%{transform:rotate(15deg);opacity:.8}75%{transform:rotate(-5deg);opacity:1}to{transform:rotateX(0);opacity:1}}\n"] }]
|
|
167
174
|
}], propDecorators: { onScapeKey: [{
|
|
168
175
|
type: HostListener,
|
|
169
176
|
args: ['document:keydown.escape', ['$event']]
|
|
@@ -215,12 +222,22 @@ class NgxAlertModalService {
|
|
|
215
222
|
}
|
|
216
223
|
removeDialogComponentFromBody(index) {
|
|
217
224
|
if (this.alerts[index]) {
|
|
225
|
+
const domElem = this.alerts[index].hostView
|
|
226
|
+
.rootNodes[0];
|
|
227
|
+
// قبل از destroy باید hidePopover صدا بزنیم
|
|
228
|
+
if (domElem.popover === 'manual') {
|
|
229
|
+
try {
|
|
230
|
+
domElem.hidePopover();
|
|
231
|
+
}
|
|
232
|
+
catch { }
|
|
233
|
+
}
|
|
218
234
|
this.appRef.detachView(this.alerts[index].hostView);
|
|
219
235
|
this.alerts[index].destroy();
|
|
220
236
|
}
|
|
221
237
|
}
|
|
222
238
|
appendDialogComponentToBody(componentRef, config) {
|
|
223
|
-
const domElem = componentRef.hostView
|
|
239
|
+
const domElem = componentRef.hostView
|
|
240
|
+
.rootNodes[0];
|
|
224
241
|
if (config.containerClass) {
|
|
225
242
|
for (let c of config.containerClass.split(' ')) {
|
|
226
243
|
if (c.trim())
|
|
@@ -228,19 +245,23 @@ class NgxAlertModalService {
|
|
|
228
245
|
}
|
|
229
246
|
}
|
|
230
247
|
this._doc.body.appendChild(domElem);
|
|
248
|
+
if (config.useOverlay) {
|
|
249
|
+
domElem.popover = 'manual';
|
|
250
|
+
domElem.showPopover();
|
|
251
|
+
}
|
|
231
252
|
}
|
|
232
253
|
closeAll() {
|
|
233
254
|
for (let i = 0; i < this.alerts.length; i++) {
|
|
234
255
|
this.removeDialogComponentFromBody(i);
|
|
235
256
|
}
|
|
236
257
|
}
|
|
237
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
238
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
258
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: NgxAlertModalService, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.ApplicationRef }, { token: i0.Injector }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
259
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: NgxAlertModalService, providedIn: 'root' }); }
|
|
239
260
|
}
|
|
240
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
261
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: NgxAlertModalService, decorators: [{
|
|
241
262
|
type: Injectable,
|
|
242
263
|
args: [{
|
|
243
|
-
providedIn: 'root'
|
|
264
|
+
providedIn: 'root',
|
|
244
265
|
}]
|
|
245
266
|
}], ctorParameters: () => [{ type: i0.ComponentFactoryResolver }, { type: i0.ApplicationRef }, { type: i0.Injector }, { type: Document, decorators: [{
|
|
246
267
|
type: Inject,
|
|
@@ -259,13 +280,13 @@ class NgxAlertModalModule {
|
|
|
259
280
|
]
|
|
260
281
|
};
|
|
261
282
|
}
|
|
262
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
263
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.
|
|
264
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.
|
|
283
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: NgxAlertModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
284
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: NgxAlertModalModule }); }
|
|
285
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: NgxAlertModalModule, providers: [
|
|
265
286
|
NgxAlertModalService
|
|
266
287
|
] }); }
|
|
267
288
|
}
|
|
268
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
289
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: NgxAlertModalModule, decorators: [{
|
|
269
290
|
type: NgModule,
|
|
270
291
|
args: [{
|
|
271
292
|
providers: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-alert-modal.mjs","sources":["../../../projects/ngx-alert-modal/src/models/AlertOptions.ts","../../../projects/ngx-alert-modal/src/models/alert-result.ts","../../../projects/ngx-alert-modal/src/lib/ngx-alert-modal.component.ts","../../../projects/ngx-alert-modal/src/lib/ngx-alert-modal.component.html","../../../projects/ngx-alert-modal/src/helper/apply-default.ts","../../../projects/ngx-alert-modal/src/lib/ngx-alert-modal.service.ts","../../../projects/ngx-alert-modal/src/ngx-alert-modal.module.ts","../../../projects/ngx-alert-modal/src/public-api.ts","../../../projects/ngx-alert-modal/src/ngx-alert-modal.ts"],"sourcesContent":["import { Inject, InjectionToken } from \"@angular/core\";\r\nimport { IAlertOptions } from \"./IAlertOptions\";\r\n\r\nexport type AlertIcon = 'None' | 'success' | 'error' | 'warning' | 'info' | 'question'\r\n\r\nexport const NGX_ALERT_CONFIG = new InjectionToken<IAlertOptions>('IAlertOptions');\r\n\r\nexport const defaultOptions: AlertOptions = {\r\n title: '',\r\n text: '',\r\n html: '',\r\n backdrop: true,\r\n icon: 'None',\r\n width: undefined,\r\n allowOutsideClick: true,\r\n allowEscapeKey: true,\r\n allowEnterKey: true,\r\n showConfirmButton: true,\r\n showDenyButton: false,\r\n showCancelButton: false,\r\n confirmButtonText: 'Ok',\r\n denyButtonText: 'No',\r\n cancelButtonText: 'Cancel',\r\n confirmButtonColor: '',\r\n denyButtonColor: '',\r\n cancelButtonColor: '',\r\n confirmButtonAriaLabel: '',\r\n denyButtonAriaLabel: '',\r\n cancelButtonAriaLabel: '',\r\n reverseButtons: false,\r\n showCloseButton: false,\r\n containerClass: '',\r\n}\r\n\r\n\r\nexport class AlertOptions implements IAlertOptions {\r\n public constructor(\r\n private config?: IAlertOptions,\r\n ) {\r\n //config = { ...(new AlertOptions()), ...config };\r\n }\r\n\r\n title?: string = this.config?.title;\r\n text?: string = this.config?.text;\r\n html?: string | HTMLElement = '';\r\n backdrop?: boolean = true;\r\n icon?: AlertIcon;\r\n width?: number | string;\r\n allowOutsideClick?: boolean = true;\r\n allowEscapeKey?: boolean = true;\r\n allowEnterKey?: boolean = true;\r\n showConfirmButton?: boolean = true;\r\n showDenyButton?: boolean = false;\r\n showCancelButton?: boolean = false;\r\n confirmButtonText: string = this.config?.confirmButtonText ?? 'Ok';\r\n denyButtonText?: string = 'No';\r\n cancelButtonText?: string = 'Cancel';\r\n confirmButtonColor?: string;\r\n denyButtonColor?: string;\r\n cancelButtonColor?: string;\r\n confirmButtonAriaLabel?: string = '';\r\n denyButtonAriaLabel?: string = '';\r\n cancelButtonAriaLabel?: string = '';\r\n reverseButtons?: boolean = false;\r\n showCloseButton?: boolean = false;\r\n containerClass?: string = '';\r\n}","export interface AlertResult<T = any> {\r\n readonly isConfirmed: boolean\r\n readonly isDenied: boolean\r\n readonly isDismissed: boolean\r\n /**\r\n * @description ❌⚠️NOT Implemented!⚠️❌\r\n */\r\n readonly value?: T\r\n readonly dismiss?: DismissReason\r\n}\r\n\r\n\r\n/**\r\n * An enum of possible reasons that can explain an alert dismissal.\r\n */\r\nexport enum DismissReason {\r\n cancel,\r\n backdrop,\r\n close,\r\n /**\r\n * @description ❌⚠️NOT Implemented!⚠️❌\r\n */\r\n esc,\r\n /**\r\n * @description ❌⚠️NOT Implemented!⚠️❌\r\n */\r\n timer,\r\n}\r\n","import { Component, HostListener } from '@angular/core';\r\nimport { IAlertOptions } from \"../models/IAlertOptions\";\r\nimport { Subject } from 'rxjs';\r\nimport { AlertResult, DismissReason } from '../models/alert-result';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NGX_ALERT_CONFIG, defaultOptions } from '../public-api';\r\n\r\n@Component({\r\n selector: 'lib-ngx-alert-modal',\r\n templateUrl: 'ngx-alert-modal.component.html',\r\n styleUrls: ['./ngx-alert-modal.component.scss', './ngx-alert-icons.scss'],\r\n standalone: true,\r\n imports: [\r\n CommonModule\r\n ],\r\n providers: [\r\n {\r\n provide: NGX_ALERT_CONFIG,\r\n useValue: defaultOptions\r\n }\r\n ]\r\n})\r\nexport class NgxAlertModalComponent {\r\n options!: IAlertOptions;\r\n index = 0;\r\n\r\n private readonly _onClose = new Subject<{ index: number, result: AlertResult<any> }>();\r\n public onClose = this._onClose.asObservable();\r\n\r\n\r\n @HostListener('document:keydown.escape', ['$event'])\r\n onScapeKey(event: KeyboardEvent) {\r\n if (this.options.allowEscapeKey) {\r\n this.onCancel();\r\n }\r\n }\r\n\r\n @HostListener('document:keydown.enter', ['$event'])\r\n onEnterKey(event: KeyboardEvent) {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n if (this.options.allowEnterKey) {\r\n if (this.options.showConfirmButton) {\r\n this.onConfirm();\r\n } else if (this.options.showDenyButton) {\r\n this.onDeny();\r\n } else {\r\n this.onCancel()\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n onConfirm() {\r\n this._onClose.next({\r\n index: this.index,\r\n result: {\r\n isConfirmed: true,\r\n isDismissed: false,\r\n isDenied: false,\r\n dismiss: DismissReason.close,\r\n }\r\n }\r\n );\r\n }\r\n onCancel() {\r\n this._onClose.next({\r\n index: this.index,\r\n result: {\r\n isConfirmed: false,\r\n isDismissed: true,\r\n isDenied: false,\r\n dismiss: DismissReason.cancel,\r\n }\r\n }\r\n );\r\n }\r\n onDeny() {\r\n this._onClose.next({\r\n index: this.index,\r\n result: {\r\n isConfirmed: false,\r\n isDismissed: false,\r\n isDenied: true,\r\n dismiss: DismissReason.close,\r\n }\r\n }\r\n );\r\n }\r\n close() {\r\n this.onCancel();\r\n }\r\n\r\n\r\n onOutSideClick() {\r\n if (this.options.allowOutsideClick) {\r\n this.onCancel();\r\n }\r\n }\r\n innerOnClick(ev: Event) {\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n }\r\n}\r\n","<div class=\"ngx-alert-container\" (click)=\"onOutSideClick()\" [ngClass]=\"options.containerClass\"\r\n [class.has-backdrop]=\"options.backdrop\">\r\n <div class=\"ngx-alert-inner\" (click)=\"innerOnClick($event)\">\r\n <div class=\"ngx-alert-header\" *ngIf=\"options.showCloseButton\">\r\n <button class=\"ngx-alert-close\" (click)=\"close()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\">\r\n <path\r\n d=\"M312.1 375c9.369 9.369 9.369 24.57 0 33.94s-24.57 9.369-33.94 0L160 289.9l-119 119c-9.369 9.369-24.57 9.369-33.94 0s-9.369-24.57 0-33.94L126.1 256L7.027 136.1c-9.369-9.369-9.369-24.57 0-33.94s24.57-9.369 33.94 0L160 222.1l119-119c9.369-9.369 24.57-9.369 33.94 0s9.369 24.57 0 33.94L193.9 256L312.1 375z\" />\r\n </svg>\r\n </button>\r\n </div>\r\n\r\n <!-- --------- icon -------- -->\r\n <ng-container [ngSwitch]=\"options.icon\">\r\n\r\n\r\n <div *ngSwitchCase=\"'success'\" class=\"alert-icon alert-success alert-icon-show\" style=\"display: flex;\">\r\n <div class=\"alert-success-circular-line-left\"></div>\r\n <span class=\"alert-success-line-tip\"></span> <span class=\"alert-success-line-long\"></span>\r\n <div class=\"alert-success-ring\"></div>\r\n <div class=\"alert-success-fix\"></div>\r\n <div class=\"alert-success-circular-line-right\"></div>\r\n </div>\r\n\r\n\r\n <div *ngSwitchCase=\"'error'\" class=\"alert-icon alert-error alert-icon-show\" style=\"display: flex;\">\r\n <span class=\"alert-x-mark\">\r\n <span class=\"alert-x-mark-line-left\"></span>\r\n <span class=\"alert-x-mark-line-right\"></span>\r\n </span>\r\n </div>\r\n\r\n\r\n <div *ngSwitchCase=\"'info'\" class=\"alert-icon alert-info alert-icon-show\" style=\"display: flex;\">\r\n <div class=\"alert-icon-content\">i</div>\r\n </div>\r\n\r\n\r\n <div *ngSwitchCase=\"'question'\" class=\"alert-icon alert-question alert-icon-show\" style=\"display: flex;\">\r\n <div class=\"alert-icon-content\">?</div>\r\n </div>\r\n\r\n\r\n <div *ngSwitchCase=\"'warning'\" class=\"alert-icon alert-warning alert-icon-show\" style=\"display: flex;\">\r\n <div class=\"alert-icon-content\">!</div>\r\n </div>\r\n\r\n\r\n </ng-container>\r\n <!-- --------- /icon -------- -->\r\n\r\n <div class=\"ngx-alert-title\">\r\n {{options.title}}\r\n </div>\r\n <div class=\"ngx-alert-body\">\r\n {{options.text}}\r\n <span [innerHTML]=\"options.html\"></span>\r\n </div>\r\n <div class=\"ngx-alert-footer\">\r\n <button *ngIf=\"options.showCancelButton\" class=\"btn-cancel\" (click)=\"onCancel()\"\r\n [attr.aria-label]=\"options.cancelButtonAriaLabel\">\r\n {{options.cancelButtonText}}\r\n </button>\r\n <button *ngIf=\"options.showDenyButton\" class=\"btn-deny\" (click)=\"onDeny()\"\r\n [attr.aria-label]=\"options.denyButtonAriaLabel\">\r\n {{options.denyButtonText}}\r\n </button>\r\n <button *ngIf=\"options.showConfirmButton\" class=\"btn-confirm\" (click)=\"onConfirm()\"\r\n [attr.aria-label]=\"options.confirmButtonAriaLabel\">\r\n {{options.confirmButtonText}}\r\n </button>\r\n </div>\r\n </div>\r\n</div>","\r\nexport function applyDefaultConfig(config: any, defaultConfig: any): any {\r\n var config = JSON.parse(JSON.stringify(config));\r\n for (let key in defaultConfig) {\r\n if (config[key] === undefined || config[key] === null || config[key] === '') {\r\n config[key] = defaultConfig[key];\r\n } else if (typeof config[key] === 'object') {\r\n config[key] = applyDefaultConfig(config[key], defaultConfig[key]);\r\n }\r\n }\r\n return config;\r\n}\r\n","import {\r\n ApplicationRef, ComponentFactoryResolver, ComponentRef, EmbeddedViewRef, Inject, Injectable, Injector,\r\n} from '@angular/core';\r\nimport { NGX_ALERT_CONFIG, defaultOptions, } from '../models/AlertOptions';\r\nimport { IAlertOptions } from \"../models/IAlertOptions\";\r\nimport { NgxAlertModalComponent } from './ngx-alert-modal.component';\r\nimport { AlertResult } from '../models/alert-result';\r\nimport { applyDefaultConfig } from '../helper/apply-default';\r\nimport { DOCUMENT } from '@angular/common';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NgxAlertModalService {\r\n currentAdIndex = -1;\r\n alerts: ComponentRef<NgxAlertModalComponent>[] = [];\r\n insertedId = 0;\r\n constructor(\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n private appRef: ApplicationRef,\r\n private injector: Injector,\r\n @Inject(DOCUMENT) private _doc:Document\r\n ) { }\r\n\r\n\r\n public show(config: IAlertOptions): Promise<AlertResult<any>> {\r\n let d = applyDefaultConfig(this.injector.get(NGX_ALERT_CONFIG, defaultOptions), defaultOptions);\r\n config = applyDefaultConfig(config, d);\r\n return new Promise((resolve, reject) => {\r\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(NgxAlertModalComponent);\r\n const componentRef = componentFactory.create(this.injector);\r\n this.appRef.attachView(componentRef.hostView);\r\n\r\n this.appendDialogComponentToBody(componentRef, config);\r\n componentRef.instance.options = config;\r\n componentRef.instance.index = this.insertedId;\r\n componentRef.instance.onClose.subscribe((result) => {\r\n this.removeDialogComponentFromBody(result.index);\r\n resolve(result.result);\r\n });\r\n this.alerts.push(componentRef);\r\n this.insertedId++;\r\n });\r\n }\r\n\r\n\r\n private removeDialogComponentFromBody(index: number): void {\r\n if (this.alerts[index]) {\r\n this.appRef.detachView(this.alerts[index].hostView);\r\n this.alerts[index].destroy();\r\n }\r\n }\r\n\r\n private appendDialogComponentToBody(componentRef: ComponentRef<NgxAlertModalComponent>, config: IAlertOptions) {\r\n const domElem = (componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\r\n if (config.containerClass) {\r\n for (let c of config.containerClass.split(' ')) {\r\n if (c.trim())\r\n domElem.classList.add(c);\r\n }\r\n }\r\n this._doc.body.appendChild(domElem);\r\n }\r\n\r\n closeAll() {\r\n for (let i = 0; i < this.alerts.length; i++) {\r\n this.removeDialogComponentFromBody(i);\r\n }\r\n }\r\n\r\n\r\n\r\n}\r\n","import { ModuleWithProviders, NgModule } from \"@angular/core\";\r\nimport { IAlertOptions, NGX_ALERT_CONFIG } from \"./public-api\";\r\nimport { NgxAlertModalService } from \"./lib/ngx-alert-modal.service\";\r\n\r\n@NgModule({\r\n providers: [\r\n NgxAlertModalService\r\n ]\r\n})\r\nexport class NgxAlertModalModule {\r\n static forRoot(config: IAlertOptions): ModuleWithProviders<NgxAlertModalModule> {\r\n return {\r\n ngModule: NgxAlertModalModule,\r\n providers: [\r\n {\r\n provide: NGX_ALERT_CONFIG,\r\n useValue: config\r\n }\r\n ]\r\n }\r\n }\r\n}","/*\r\n * Public API Surface of ngx-alert-modal\r\n */\r\n\r\nexport * from './lib/ngx-alert-modal.service';\r\nexport * from './lib/ngx-alert-modal.component';\r\n\r\nexport * from './models/alert-result';\r\n\r\nexport * from './models/AlertOptions';\r\nexport * from './models/IAlertOptions';\r\n\r\nexport * from './ngx-alert-modal.module';\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;MAKa,gBAAgB,GAAG,IAAI,cAAc,CAAgB,eAAe;AAE1E,MAAM,cAAc,GAAiB;AACxC,IAAA,KAAK,EAAE,EAAE;AACT,IAAA,IAAI,EAAE,EAAE;AACR,IAAA,IAAI,EAAE,EAAE;AACR,IAAA,QAAQ,EAAE,IAAI;AACd,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,KAAK,EAAE,SAAS;AAChB,IAAA,iBAAiB,EAAE,IAAI;AACvB,IAAA,cAAc,EAAE,IAAI;AACpB,IAAA,aAAa,EAAE,IAAI;AACnB,IAAA,iBAAiB,EAAE,IAAI;AACvB,IAAA,cAAc,EAAE,KAAK;AACrB,IAAA,gBAAgB,EAAE,KAAK;AACvB,IAAA,iBAAiB,EAAE,IAAI;AACvB,IAAA,cAAc,EAAE,IAAI;AACpB,IAAA,gBAAgB,EAAE,QAAQ;AAC1B,IAAA,kBAAkB,EAAE,EAAE;AACtB,IAAA,eAAe,EAAE,EAAE;AACnB,IAAA,iBAAiB,EAAE,EAAE;AACrB,IAAA,sBAAsB,EAAE,EAAE;AAC1B,IAAA,mBAAmB,EAAE,EAAE;AACvB,IAAA,qBAAqB,EAAE,EAAE;AACzB,IAAA,cAAc,EAAE,KAAK;AACrB,IAAA,eAAe,EAAE,KAAK;AACtB,IAAA,cAAc,EAAE,EAAE;;MAIT,YAAY,CAAA;AACrB,IAAA,WAAA,CACY,MAAsB,EAAA;QAAtB,IAAA,CAAA,MAAM,GAAN,MAAM;AAKlB,QAAA,IAAA,CAAA,KAAK,GAAY,IAAI,CAAC,MAAM,EAAE,KAAK;AACnC,QAAA,IAAA,CAAA,IAAI,GAAY,IAAI,CAAC,MAAM,EAAE,IAAI;QACjC,IAAA,CAAA,IAAI,GAA0B,EAAE;QAChC,IAAA,CAAA,QAAQ,GAAa,IAAI;QAGzB,IAAA,CAAA,iBAAiB,GAAa,IAAI;QAClC,IAAA,CAAA,cAAc,GAAa,IAAI;QAC/B,IAAA,CAAA,aAAa,GAAa,IAAI;QAC9B,IAAA,CAAA,iBAAiB,GAAa,IAAI;QAClC,IAAA,CAAA,cAAc,GAAa,KAAK;QAChC,IAAA,CAAA,gBAAgB,GAAa,KAAK;QAClC,IAAA,CAAA,iBAAiB,GAAW,IAAI,CAAC,MAAM,EAAE,iBAAiB,IAAI,IAAI;QAClE,IAAA,CAAA,cAAc,GAAY,IAAI;QAC9B,IAAA,CAAA,gBAAgB,GAAY,QAAQ;QAIpC,IAAA,CAAA,sBAAsB,GAAY,EAAE;QACpC,IAAA,CAAA,mBAAmB,GAAY,EAAE;QACjC,IAAA,CAAA,qBAAqB,GAAY,EAAE;QACnC,IAAA,CAAA,cAAc,GAAa,KAAK;QAChC,IAAA,CAAA,eAAe,GAAa,KAAK;QACjC,IAAA,CAAA,cAAc,GAAY,EAAE;;IAzB5B;AA0BH;;ACtDD;;AAEG;IACS;AAAZ,CAAA,UAAY,aAAa,EAAA;AACrB,IAAA,aAAA,CAAA,aAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAM;AACN,IAAA,aAAA,CAAA,aAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAQ;AACR,IAAA,aAAA,CAAA,aAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAK;AACL;;AAEA;AACA,IAAA,aAAA,CAAA,aAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAG;AACH;;AAEA;AACA,IAAA,aAAA,CAAA,aAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAK;AACT,CAAC,EAZW,aAAa,KAAb,aAAa,GAAA,EAAA,CAAA,CAAA;;MCOZ,sBAAsB,CAAA;AAfnC,IAAA,WAAA,GAAA;QAiBE,IAAA,CAAA,KAAK,GAAG,CAAC;AAEQ,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,OAAO,EAA+C;AAC/E,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE;AA6E9C,IAAA;AAzEC,IAAA,UAAU,CAAC,KAAoB,EAAA;AAC7B,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;YAC/B,IAAI,CAAC,QAAQ,EAAE;QACjB;IACF;AAGA,IAAA,UAAU,CAAC,KAAoB,EAAA;QAC7B,KAAK,CAAC,eAAe,EAAE;QACvB,KAAK,CAAC,cAAc,EAAE;AACtB,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE;AAC9B,YAAA,IAAI,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE;gBAClC,IAAI,CAAC,SAAS,EAAE;YAClB;AAAO,iBAAA,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;gBACtC,IAAI,CAAC,MAAM,EAAE;YACf;iBAAO;gBACL,IAAI,CAAC,QAAQ,EAAE;YACjB;QACF;IACF;IAIA,SAAS,GAAA;AACP,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;AACjB,YAAA,MAAM,EAAE;AACN,gBAAA,WAAW,EAAE,IAAI;AACjB,gBAAA,WAAW,EAAE,KAAK;AAClB,gBAAA,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,aAAa,CAAC,KAAK;AAC7B;AACF,SAAA,CACA;IACH;IACA,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;AACjB,YAAA,MAAM,EAAE;AACN,gBAAA,WAAW,EAAE,KAAK;AAClB,gBAAA,WAAW,EAAE,IAAI;AACjB,gBAAA,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,aAAa,CAAC,MAAM;AAC9B;AACF,SAAA,CACA;IACH;IACA,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;AACjB,YAAA,MAAM,EAAE;AACN,gBAAA,WAAW,EAAE,KAAK;AAClB,gBAAA,WAAW,EAAE,KAAK;AAClB,gBAAA,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,aAAa,CAAC,KAAK;AAC7B;AACF,SAAA,CACA;IACH;IACA,KAAK,GAAA;QACH,IAAI,CAAC,QAAQ,EAAE;IACjB;IAGA,cAAc,GAAA;AACZ,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE;YAClC,IAAI,CAAC,QAAQ,EAAE;QACjB;IACF;AACA,IAAA,YAAY,CAAC,EAAS,EAAA;QACpB,EAAE,CAAC,cAAc,EAAE;QACnB,EAAE,CAAC,eAAe,EAAE;IACtB;8GAjFW,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,yBAAA,EAAA,oBAAA,EAAA,wBAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,SAAA,EAPtB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,gBAAgB;AACzB,gBAAA,QAAQ,EAAE;AACX;SACF,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECpBH,gnHAyEM,muND5DF,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FASH,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAflC,SAAS;+BACE,qBAAqB,EAAA,UAAA,EAGnB,IAAI,EAAA,OAAA,EACP;wBACP;qBACD,EAAA,SAAA,EACU;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,gBAAgB;AACzB,4BAAA,QAAQ,EAAE;AACX;AACF,qBAAA,EAAA,QAAA,EAAA,gnHAAA,EAAA,MAAA,EAAA,CAAA,shDAAA,EAAA,opKAAA,CAAA,EAAA;8BAWD,UAAU,EAAA,CAAA;sBADT,YAAY;uBAAC,yBAAyB,EAAE,CAAC,QAAQ,CAAC;gBAQnD,UAAU,EAAA,CAAA;sBADT,YAAY;uBAAC,wBAAwB,EAAE,CAAC,QAAQ,CAAC;;;AEpC9C,SAAU,kBAAkB,CAAC,MAAW,EAAE,aAAkB,EAAA;AAC9D,IAAA,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAC/C,IAAA,KAAK,IAAI,GAAG,IAAI,aAAa,EAAE;QAC3B,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE;YACzE,MAAM,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC;QACpC;aAAO,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE;AACxC,YAAA,MAAM,CAAC,GAAG,CAAC,GAAG,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;QACrE;IACJ;AACA,IAAA,OAAO,MAAM;AACjB;;MCGa,oBAAoB,CAAA;AAI/B,IAAA,WAAA,CACU,wBAAkD,EAClD,MAAsB,EACtB,QAAkB,EACA,IAAa,EAAA;QAH/B,IAAA,CAAA,wBAAwB,GAAxB,wBAAwB;QACxB,IAAA,CAAA,MAAM,GAAN,MAAM;QACN,IAAA,CAAA,QAAQ,GAAR,QAAQ;QACU,IAAA,CAAA,IAAI,GAAJ,IAAI;QAPhC,IAAA,CAAA,cAAc,GAAG,CAAC,CAAC;QACnB,IAAA,CAAA,MAAM,GAA2C,EAAE;QACnD,IAAA,CAAA,UAAU,GAAG,CAAC;IAMV;AAGG,IAAA,IAAI,CAAC,MAAqB,EAAA;AAC/B,QAAA,IAAI,CAAC,GAAG,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC,EAAE,cAAc,CAAC;AAC/F,QAAA,MAAM,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC;QACtC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;YACrC,MAAM,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC,uBAAuB,CAAC,sBAAsB,CAAC;YACtG,MAAM,YAAY,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC3D,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC;AAE7C,YAAA,IAAI,CAAC,2BAA2B,CAAC,YAAY,EAAE,MAAM,CAAC;AACtD,YAAA,YAAY,CAAC,QAAQ,CAAC,OAAO,GAAG,MAAM;YACtC,YAAY,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU;YAC7C,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,KAAI;AACjD,gBAAA,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,KAAK,CAAC;AAChD,gBAAA,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;AACxB,YAAA,CAAC,CAAC;AACF,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;YAC9B,IAAI,CAAC,UAAU,EAAE;AACnB,QAAA,CAAC,CAAC;IACJ;AAGQ,IAAA,6BAA6B,CAAC,KAAa,EAAA;AACjD,QAAA,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;AACtB,YAAA,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC;YACnD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE;QAC9B;IACF;IAEQ,2BAA2B,CAAC,YAAkD,EAAE,MAAqB,EAAA;QAC3G,MAAM,OAAO,GAAI,YAAY,CAAC,QAAiC,CAAC,SAAS,CAAC,CAAC,CAAgB;AAC3F,QAAA,IAAI,MAAM,CAAC,cAAc,EAAE;AACzB,YAAA,KAAK,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;gBAC9C,IAAI,CAAC,CAAC,IAAI,EAAE;AACV,oBAAA,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5B;QACF;QACA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;IACrC;IAEA,QAAQ,GAAA;AACN,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC3C,YAAA,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;QACvC;IACF;AAvDW,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,gHAQrB,QAAQ,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AARP,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,cAFnB,MAAM,EAAA,CAAA,CAAA;;2FAEP,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;0BASI,MAAM;2BAAC,QAAQ;;;MCbP,mBAAmB,CAAA;IAC5B,OAAO,OAAO,CAAC,MAAqB,EAAA;QAChC,OAAO;AACH,YAAA,QAAQ,EAAE,mBAAmB;AAC7B,YAAA,SAAS,EAAE;AACP,gBAAA;AACI,oBAAA,OAAO,EAAE,gBAAgB;AACzB,oBAAA,QAAQ,EAAE;AACb;AACJ;SACJ;IACL;8GAXS,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAnB,mBAAmB,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,EAAA,SAAA,EAJjB;YACP;AACH,SAAA,EAAA,CAAA,CAAA;;2FAEQ,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,SAAS,EAAE;wBACP;AACH;AACJ,iBAAA;;;ACRD;;AAEG;;ACFH;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"ngx-alert-modal.mjs","sources":["../../../projects/ngx-alert-modal/src/models/AlertOptions.ts","../../../projects/ngx-alert-modal/src/models/alert-result.ts","../../../projects/ngx-alert-modal/src/lib/ngx-alert-modal.component.ts","../../../projects/ngx-alert-modal/src/lib/ngx-alert-modal.component.html","../../../projects/ngx-alert-modal/src/helper/apply-default.ts","../../../projects/ngx-alert-modal/src/lib/ngx-alert-modal.service.ts","../../../projects/ngx-alert-modal/src/ngx-alert-modal.module.ts","../../../projects/ngx-alert-modal/src/public-api.ts","../../../projects/ngx-alert-modal/src/ngx-alert-modal.ts"],"sourcesContent":["import { Inject, InjectionToken } from '@angular/core';\r\nimport { IAlertOptions } from './IAlertOptions';\r\n\r\nexport type AlertIcon =\r\n | 'None'\r\n | 'success'\r\n | 'error'\r\n | 'warning'\r\n | 'info'\r\n | 'question';\r\n\r\nexport const NGX_ALERT_CONFIG = new InjectionToken<IAlertOptions>(\r\n 'IAlertOptions',\r\n);\r\n\r\nexport const defaultOptions: AlertOptions = {\r\n useOverlay: true,\r\n title: '',\r\n text: '',\r\n html: '',\r\n backdrop: true,\r\n icon: 'None',\r\n width: undefined,\r\n allowOutsideClick: true,\r\n allowEscapeKey: true,\r\n allowEnterKey: true,\r\n showConfirmButton: true,\r\n showDenyButton: false,\r\n showCancelButton: false,\r\n confirmButtonText: 'Ok',\r\n denyButtonText: 'No',\r\n cancelButtonText: 'Cancel',\r\n confirmButtonColor: '',\r\n denyButtonColor: '',\r\n cancelButtonColor: '',\r\n confirmButtonAriaLabel: '',\r\n denyButtonAriaLabel: '',\r\n cancelButtonAriaLabel: '',\r\n reverseButtons: false,\r\n showCloseButton: false,\r\n containerClass: '',\r\n};\r\n\r\nexport class AlertOptions implements IAlertOptions {\r\n public constructor(private config?: IAlertOptions) {\r\n //config = { ...(new AlertOptions()), ...config };\r\n }\r\n /**\r\n * add popover manual to set alert dialog container to top layer\r\n * - usefull when using alert modal in angular material dialog\r\n *\r\n */\r\n useOverlay?: boolean = this.config?.useOverlay;\r\n title?: string = this.config?.title;\r\n text?: string = this.config?.text;\r\n html?: string | HTMLElement = '';\r\n backdrop?: boolean = true;\r\n icon?: AlertIcon;\r\n width?: number | string;\r\n allowOutsideClick?: boolean = true;\r\n allowEscapeKey?: boolean = true;\r\n allowEnterKey?: boolean = true;\r\n showConfirmButton?: boolean = true;\r\n showDenyButton?: boolean = false;\r\n showCancelButton?: boolean = false;\r\n confirmButtonText: string = this.config?.confirmButtonText ?? 'Ok';\r\n denyButtonText?: string = 'No';\r\n cancelButtonText?: string = 'Cancel';\r\n confirmButtonColor?: string;\r\n denyButtonColor?: string;\r\n cancelButtonColor?: string;\r\n confirmButtonAriaLabel?: string = '';\r\n denyButtonAriaLabel?: string = '';\r\n cancelButtonAriaLabel?: string = '';\r\n reverseButtons?: boolean = false;\r\n showCloseButton?: boolean = false;\r\n containerClass?: string = '';\r\n}\r\n","export interface AlertResult<T = any> {\r\n readonly isConfirmed: boolean\r\n readonly isDenied: boolean\r\n readonly isDismissed: boolean\r\n /**\r\n * @description ❌⚠️NOT Implemented!⚠️❌\r\n */\r\n readonly value?: T\r\n readonly dismiss?: DismissReason\r\n}\r\n\r\n\r\n/**\r\n * An enum of possible reasons that can explain an alert dismissal.\r\n */\r\nexport enum DismissReason {\r\n cancel,\r\n backdrop,\r\n close,\r\n /**\r\n * @description ❌⚠️NOT Implemented!⚠️❌\r\n */\r\n esc,\r\n /**\r\n * @description ❌⚠️NOT Implemented!⚠️❌\r\n */\r\n timer,\r\n}\r\n","import { Component, HostListener } from '@angular/core';\r\nimport { IAlertOptions } from \"../models/IAlertOptions\";\r\nimport { Subject } from 'rxjs';\r\nimport { AlertResult, DismissReason } from '../models/alert-result';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NGX_ALERT_CONFIG, defaultOptions } from '../public-api';\r\n\r\n@Component({\r\n selector: 'lib-ngx-alert-modal',\r\n templateUrl: 'ngx-alert-modal.component.html',\r\n styleUrls: ['./ngx-alert-modal.component.scss', './ngx-alert-icons.scss'],\r\n standalone: true,\r\n imports: [\r\n CommonModule\r\n ],\r\n providers: [\r\n {\r\n provide: NGX_ALERT_CONFIG,\r\n useValue: defaultOptions\r\n }\r\n ]\r\n})\r\nexport class NgxAlertModalComponent {\r\n options!: IAlertOptions;\r\n index = 0;\r\n\r\n private readonly _onClose = new Subject<{ index: number, result: AlertResult<any> }>();\r\n public onClose = this._onClose.asObservable();\r\n\r\n\r\n @HostListener('document:keydown.escape', ['$event'])\r\n onScapeKey(event: Event) {\r\n if (this.options.allowEscapeKey) {\r\n this.onCancel();\r\n }\r\n }\r\n\r\n @HostListener('document:keydown.enter', ['$event'])\r\n onEnterKey(event: Event) {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n if (this.options.allowEnterKey) {\r\n if (this.options.showConfirmButton) {\r\n this.onConfirm();\r\n } else if (this.options.showDenyButton) {\r\n this.onDeny();\r\n } else {\r\n this.onCancel()\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n onConfirm() {\r\n this._onClose.next({\r\n index: this.index,\r\n result: {\r\n isConfirmed: true,\r\n isDismissed: false,\r\n isDenied: false,\r\n dismiss: DismissReason.close,\r\n }\r\n }\r\n );\r\n }\r\n onCancel() {\r\n this._onClose.next({\r\n index: this.index,\r\n result: {\r\n isConfirmed: false,\r\n isDismissed: true,\r\n isDenied: false,\r\n dismiss: DismissReason.cancel,\r\n }\r\n }\r\n );\r\n }\r\n onDeny() {\r\n this._onClose.next({\r\n index: this.index,\r\n result: {\r\n isConfirmed: false,\r\n isDismissed: false,\r\n isDenied: true,\r\n dismiss: DismissReason.close,\r\n }\r\n }\r\n );\r\n }\r\n close() {\r\n this.onCancel();\r\n }\r\n\r\n\r\n onOutSideClick() {\r\n if (this.options.allowOutsideClick) {\r\n this.onCancel();\r\n }\r\n }\r\n innerOnClick(ev: Event) {\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n }\r\n}\r\n","<div class=\"ngx-alert-container\" (click)=\"onOutSideClick()\" [ngClass]=\"options.containerClass\"\r\n [class.has-backdrop]=\"options.backdrop\">\r\n <div class=\"ngx-alert-inner\" (click)=\"innerOnClick($event)\">\r\n <div class=\"ngx-alert-header\" *ngIf=\"options.showCloseButton\">\r\n <button class=\"ngx-alert-close\" (click)=\"close()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\">\r\n <path\r\n d=\"M312.1 375c9.369 9.369 9.369 24.57 0 33.94s-24.57 9.369-33.94 0L160 289.9l-119 119c-9.369 9.369-24.57 9.369-33.94 0s-9.369-24.57 0-33.94L126.1 256L7.027 136.1c-9.369-9.369-9.369-24.57 0-33.94s24.57-9.369 33.94 0L160 222.1l119-119c9.369-9.369 24.57-9.369 33.94 0s9.369 24.57 0 33.94L193.9 256L312.1 375z\" />\r\n </svg>\r\n </button>\r\n </div>\r\n\r\n <!-- --------- icon -------- -->\r\n <ng-container [ngSwitch]=\"options.icon\">\r\n\r\n\r\n <div *ngSwitchCase=\"'success'\" class=\"alert-icon alert-success alert-icon-show\" style=\"display: flex;\">\r\n <div class=\"alert-success-circular-line-left\"></div>\r\n <span class=\"alert-success-line-tip\"></span> <span class=\"alert-success-line-long\"></span>\r\n <div class=\"alert-success-ring\"></div>\r\n <div class=\"alert-success-fix\"></div>\r\n <div class=\"alert-success-circular-line-right\"></div>\r\n </div>\r\n\r\n\r\n <div *ngSwitchCase=\"'error'\" class=\"alert-icon alert-error alert-icon-show\" style=\"display: flex;\">\r\n <span class=\"alert-x-mark\">\r\n <span class=\"alert-x-mark-line-left\"></span>\r\n <span class=\"alert-x-mark-line-right\"></span>\r\n </span>\r\n </div>\r\n\r\n\r\n <div *ngSwitchCase=\"'info'\" class=\"alert-icon alert-info alert-icon-show\" style=\"display: flex;\">\r\n <div class=\"alert-icon-content\">i</div>\r\n </div>\r\n\r\n\r\n <div *ngSwitchCase=\"'question'\" class=\"alert-icon alert-question alert-icon-show\" style=\"display: flex;\">\r\n <div class=\"alert-icon-content\">?</div>\r\n </div>\r\n\r\n\r\n <div *ngSwitchCase=\"'warning'\" class=\"alert-icon alert-warning alert-icon-show\" style=\"display: flex;\">\r\n <div class=\"alert-icon-content\">!</div>\r\n </div>\r\n\r\n\r\n </ng-container>\r\n <!-- --------- /icon -------- -->\r\n\r\n <div class=\"ngx-alert-title\">\r\n {{options.title}}\r\n </div>\r\n <div class=\"ngx-alert-body\">\r\n {{options.text}}\r\n <span [innerHTML]=\"options.html\"></span>\r\n </div>\r\n <div class=\"ngx-alert-footer\">\r\n <button *ngIf=\"options.showCancelButton\" class=\"btn-cancel\" (click)=\"onCancel()\"\r\n [attr.aria-label]=\"options.cancelButtonAriaLabel\">\r\n {{options.cancelButtonText}}\r\n </button>\r\n <button *ngIf=\"options.showDenyButton\" class=\"btn-deny\" (click)=\"onDeny()\"\r\n [attr.aria-label]=\"options.denyButtonAriaLabel\">\r\n {{options.denyButtonText}}\r\n </button>\r\n <button *ngIf=\"options.showConfirmButton\" class=\"btn-confirm\" (click)=\"onConfirm()\"\r\n [attr.aria-label]=\"options.confirmButtonAriaLabel\">\r\n {{options.confirmButtonText}}\r\n </button>\r\n </div>\r\n </div>\r\n</div>","\r\nexport function applyDefaultConfig(config: any, defaultConfig: any): any {\r\n var config = JSON.parse(JSON.stringify(config));\r\n for (let key in defaultConfig) {\r\n if (config[key] === undefined || config[key] === null || config[key] === '') {\r\n config[key] = defaultConfig[key];\r\n } else if (typeof config[key] === 'object') {\r\n config[key] = applyDefaultConfig(config[key], defaultConfig[key]);\r\n }\r\n }\r\n return config;\r\n}\r\n","import {\r\n ApplicationRef,\r\n ComponentFactoryResolver,\r\n ComponentRef,\r\n EmbeddedViewRef,\r\n Inject,\r\n Injectable,\r\n Injector,\r\n} from '@angular/core';\r\nimport { NGX_ALERT_CONFIG, defaultOptions } from '../models/AlertOptions';\r\nimport { IAlertOptions } from '../models/IAlertOptions';\r\nimport { NgxAlertModalComponent } from './ngx-alert-modal.component';\r\nimport { AlertResult } from '../models/alert-result';\r\nimport { applyDefaultConfig } from '../helper/apply-default';\r\nimport { DOCUMENT } from '@angular/common';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class NgxAlertModalService {\r\n currentAdIndex = -1;\r\n alerts: ComponentRef<NgxAlertModalComponent>[] = [];\r\n insertedId = 0;\r\n constructor(\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n private appRef: ApplicationRef,\r\n private injector: Injector,\r\n @Inject(DOCUMENT) private _doc: Document,\r\n ) {}\r\n\r\n public show(config: IAlertOptions): Promise<AlertResult<any>> {\r\n let d = applyDefaultConfig(\r\n this.injector.get(NGX_ALERT_CONFIG, defaultOptions),\r\n defaultOptions,\r\n );\r\n config = applyDefaultConfig(config, d);\r\n return new Promise((resolve, reject) => {\r\n const componentFactory =\r\n this.componentFactoryResolver.resolveComponentFactory(\r\n NgxAlertModalComponent,\r\n );\r\n const componentRef = componentFactory.create(this.injector);\r\n this.appRef.attachView(componentRef.hostView);\r\n\r\n this.appendDialogComponentToBody(componentRef, config);\r\n componentRef.instance.options = config;\r\n componentRef.instance.index = this.insertedId;\r\n componentRef.instance.onClose.subscribe((result) => {\r\n this.removeDialogComponentFromBody(result.index);\r\n resolve(result.result);\r\n });\r\n this.alerts.push(componentRef);\r\n this.insertedId++;\r\n });\r\n }\r\n\r\n private removeDialogComponentFromBody(index: number): void {\r\n if (this.alerts[index]) {\r\n const domElem = (this.alerts[index].hostView as EmbeddedViewRef<any>)\r\n .rootNodes[0] as HTMLElement;\r\n\r\n // قبل از destroy باید hidePopover صدا بزنیم\r\n if (domElem.popover === 'manual') {\r\n try {\r\n domElem.hidePopover();\r\n } catch {}\r\n }\r\n\r\n this.appRef.detachView(this.alerts[index].hostView);\r\n this.alerts[index].destroy();\r\n }\r\n }\r\n\r\n private appendDialogComponentToBody(\r\n componentRef: ComponentRef<NgxAlertModalComponent>,\r\n config: IAlertOptions,\r\n ) {\r\n const domElem = (componentRef.hostView as EmbeddedViewRef<any>)\r\n .rootNodes[0] as HTMLElement;\r\n if (config.containerClass) {\r\n for (let c of config.containerClass.split(' ')) {\r\n if (c.trim()) domElem.classList.add(c);\r\n }\r\n }\r\n this._doc.body.appendChild(domElem);\r\n if (config.useOverlay) {\r\n domElem.popover = 'manual';\r\n domElem.showPopover();\r\n }\r\n }\r\n\r\n closeAll() {\r\n for (let i = 0; i < this.alerts.length; i++) {\r\n this.removeDialogComponentFromBody(i);\r\n }\r\n }\r\n}\r\n","import { ModuleWithProviders, NgModule } from \"@angular/core\";\r\nimport { IAlertOptions, NGX_ALERT_CONFIG } from \"./public-api\";\r\nimport { NgxAlertModalService } from \"./lib/ngx-alert-modal.service\";\r\n\r\n@NgModule({\r\n providers: [\r\n NgxAlertModalService\r\n ]\r\n})\r\nexport class NgxAlertModalModule {\r\n static forRoot(config: IAlertOptions): ModuleWithProviders<NgxAlertModalModule> {\r\n return {\r\n ngModule: NgxAlertModalModule,\r\n providers: [\r\n {\r\n provide: NGX_ALERT_CONFIG,\r\n useValue: config\r\n }\r\n ]\r\n }\r\n }\r\n}","/*\r\n * Public API Surface of ngx-alert-modal\r\n */\r\n\r\nexport * from './lib/ngx-alert-modal.service';\r\nexport * from './lib/ngx-alert-modal.component';\r\n\r\nexport * from './models/alert-result';\r\n\r\nexport * from './models/AlertOptions';\r\nexport * from './models/IAlertOptions';\r\n\r\nexport * from './ngx-alert-modal.module';\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;MAWa,gBAAgB,GAAG,IAAI,cAAc,CAChD,eAAe;AAGV,MAAM,cAAc,GAAiB;AAC1C,IAAA,UAAU,EAAE,IAAI;AAChB,IAAA,KAAK,EAAE,EAAE;AACT,IAAA,IAAI,EAAE,EAAE;AACR,IAAA,IAAI,EAAE,EAAE;AACR,IAAA,QAAQ,EAAE,IAAI;AACd,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,KAAK,EAAE,SAAS;AAChB,IAAA,iBAAiB,EAAE,IAAI;AACvB,IAAA,cAAc,EAAE,IAAI;AACpB,IAAA,aAAa,EAAE,IAAI;AACnB,IAAA,iBAAiB,EAAE,IAAI;AACvB,IAAA,cAAc,EAAE,KAAK;AACrB,IAAA,gBAAgB,EAAE,KAAK;AACvB,IAAA,iBAAiB,EAAE,IAAI;AACvB,IAAA,cAAc,EAAE,IAAI;AACpB,IAAA,gBAAgB,EAAE,QAAQ;AAC1B,IAAA,kBAAkB,EAAE,EAAE;AACtB,IAAA,eAAe,EAAE,EAAE;AACnB,IAAA,iBAAiB,EAAE,EAAE;AACrB,IAAA,sBAAsB,EAAE,EAAE;AAC1B,IAAA,mBAAmB,EAAE,EAAE;AACvB,IAAA,qBAAqB,EAAE,EAAE;AACzB,IAAA,cAAc,EAAE,KAAK;AACrB,IAAA,eAAe,EAAE,KAAK;AACtB,IAAA,cAAc,EAAE,EAAE;;MAGP,YAAY,CAAA;AACvB,IAAA,WAAA,CAA2B,MAAsB,EAAA;QAAtB,IAAA,CAAA,MAAM,GAAN,MAAM;AAGjC;;;;AAIG;AACH,QAAA,IAAA,CAAA,UAAU,GAAa,IAAI,CAAC,MAAM,EAAE,UAAU;AAC9C,QAAA,IAAA,CAAA,KAAK,GAAY,IAAI,CAAC,MAAM,EAAE,KAAK;AACnC,QAAA,IAAA,CAAA,IAAI,GAAY,IAAI,CAAC,MAAM,EAAE,IAAI;QACjC,IAAA,CAAA,IAAI,GAA0B,EAAE;QAChC,IAAA,CAAA,QAAQ,GAAa,IAAI;QAGzB,IAAA,CAAA,iBAAiB,GAAa,IAAI;QAClC,IAAA,CAAA,cAAc,GAAa,IAAI;QAC/B,IAAA,CAAA,aAAa,GAAa,IAAI;QAC9B,IAAA,CAAA,iBAAiB,GAAa,IAAI;QAClC,IAAA,CAAA,cAAc,GAAa,KAAK;QAChC,IAAA,CAAA,gBAAgB,GAAa,KAAK;QAClC,IAAA,CAAA,iBAAiB,GAAW,IAAI,CAAC,MAAM,EAAE,iBAAiB,IAAI,IAAI;QAClE,IAAA,CAAA,cAAc,GAAY,IAAI;QAC9B,IAAA,CAAA,gBAAgB,GAAY,QAAQ;QAIpC,IAAA,CAAA,sBAAsB,GAAY,EAAE;QACpC,IAAA,CAAA,mBAAmB,GAAY,EAAE;QACjC,IAAA,CAAA,qBAAqB,GAAY,EAAE;QACnC,IAAA,CAAA,cAAc,GAAa,KAAK;QAChC,IAAA,CAAA,eAAe,GAAa,KAAK;QACjC,IAAA,CAAA,cAAc,GAAY,EAAE;;IA9B5B;AA+BD;;ACjED;;AAEG;IACS;AAAZ,CAAA,UAAY,aAAa,EAAA;AACrB,IAAA,aAAA,CAAA,aAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAM;AACN,IAAA,aAAA,CAAA,aAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAQ;AACR,IAAA,aAAA,CAAA,aAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAK;AACL;;AAEA;AACA,IAAA,aAAA,CAAA,aAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAG;AACH;;AAEA;AACA,IAAA,aAAA,CAAA,aAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAK;AACT,CAAC,EAZW,aAAa,KAAb,aAAa,GAAA,EAAA,CAAA,CAAA;;MCOZ,sBAAsB,CAAA;AAfnC,IAAA,WAAA,GAAA;QAiBE,IAAA,CAAA,KAAK,GAAG,CAAC;AAEQ,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,OAAO,EAA+C;AAC/E,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE;AA6E9C,IAAA;AAzEC,IAAA,UAAU,CAAC,KAAY,EAAA;AACrB,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;YAC/B,IAAI,CAAC,QAAQ,EAAE;QACjB;IACF;AAGA,IAAA,UAAU,CAAC,KAAY,EAAA;QACrB,KAAK,CAAC,eAAe,EAAE;QACvB,KAAK,CAAC,cAAc,EAAE;AACtB,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE;AAC9B,YAAA,IAAI,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE;gBAClC,IAAI,CAAC,SAAS,EAAE;YAClB;AAAO,iBAAA,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;gBACtC,IAAI,CAAC,MAAM,EAAE;YACf;iBAAO;gBACL,IAAI,CAAC,QAAQ,EAAE;YACjB;QACF;IACF;IAIA,SAAS,GAAA;AACP,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;AACjB,YAAA,MAAM,EAAE;AACN,gBAAA,WAAW,EAAE,IAAI;AACjB,gBAAA,WAAW,EAAE,KAAK;AAClB,gBAAA,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,aAAa,CAAC,KAAK;AAC7B;AACF,SAAA,CACA;IACH;IACA,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;AACjB,YAAA,MAAM,EAAE;AACN,gBAAA,WAAW,EAAE,KAAK;AAClB,gBAAA,WAAW,EAAE,IAAI;AACjB,gBAAA,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,aAAa,CAAC,MAAM;AAC9B;AACF,SAAA,CACA;IACH;IACA,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;AACjB,YAAA,MAAM,EAAE;AACN,gBAAA,WAAW,EAAE,KAAK;AAClB,gBAAA,WAAW,EAAE,KAAK;AAClB,gBAAA,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,aAAa,CAAC,KAAK;AAC7B;AACF,SAAA,CACA;IACH;IACA,KAAK,GAAA;QACH,IAAI,CAAC,QAAQ,EAAE;IACjB;IAGA,cAAc,GAAA;AACZ,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE;YAClC,IAAI,CAAC,QAAQ,EAAE;QACjB;IACF;AACA,IAAA,YAAY,CAAC,EAAS,EAAA;QACpB,EAAE,CAAC,cAAc,EAAE;QACnB,EAAE,CAAC,eAAe,EAAE;IACtB;+GAjFW,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,yBAAA,EAAA,oBAAA,EAAA,wBAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,SAAA,EAPtB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,gBAAgB;AACzB,gBAAA,QAAQ,EAAE;AACX;SACF,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECpBH,gnHAyEM,w3ND5DF,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FASH,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAflC,SAAS;+BACE,qBAAqB,EAAA,UAAA,EAGnB,IAAI,EAAA,OAAA,EACP;wBACP;qBACD,EAAA,SAAA,EACU;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,gBAAgB;AACzB,4BAAA,QAAQ,EAAE;AACX;AACF,qBAAA,EAAA,QAAA,EAAA,gnHAAA,EAAA,MAAA,EAAA,CAAA,2qDAAA,EAAA,opKAAA,CAAA,EAAA;;sBAUA,YAAY;uBAAC,yBAAyB,EAAE,CAAC,QAAQ,CAAC;;sBAOlD,YAAY;uBAAC,wBAAwB,EAAE,CAAC,QAAQ,CAAC;;;AEpC9C,SAAU,kBAAkB,CAAC,MAAW,EAAE,aAAkB,EAAA;AAC9D,IAAA,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAC/C,IAAA,KAAK,IAAI,GAAG,IAAI,aAAa,EAAE;QAC3B,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE;YACzE,MAAM,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC;QACpC;aAAO,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE;AACxC,YAAA,MAAM,CAAC,GAAG,CAAC,GAAG,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;QACrE;IACJ;AACA,IAAA,OAAO,MAAM;AACjB;;MCQa,oBAAoB,CAAA;AAI/B,IAAA,WAAA,CACU,wBAAkD,EAClD,MAAsB,EACtB,QAAkB,EACA,IAAc,EAAA;QAHhC,IAAA,CAAA,wBAAwB,GAAxB,wBAAwB;QACxB,IAAA,CAAA,MAAM,GAAN,MAAM;QACN,IAAA,CAAA,QAAQ,GAAR,QAAQ;QACU,IAAA,CAAA,IAAI,GAAJ,IAAI;QAPhC,IAAA,CAAA,cAAc,GAAG,CAAC,CAAC;QACnB,IAAA,CAAA,MAAM,GAA2C,EAAE;QACnD,IAAA,CAAA,UAAU,GAAG,CAAC;IAMX;AAEI,IAAA,IAAI,CAAC,MAAqB,EAAA;AAC/B,QAAA,IAAI,CAAC,GAAG,kBAAkB,CACxB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC,EACnD,cAAc,CACf;AACD,QAAA,MAAM,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC;QACtC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;YACrC,MAAM,gBAAgB,GACpB,IAAI,CAAC,wBAAwB,CAAC,uBAAuB,CACnD,sBAAsB,CACvB;YACH,MAAM,YAAY,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC3D,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC;AAE7C,YAAA,IAAI,CAAC,2BAA2B,CAAC,YAAY,EAAE,MAAM,CAAC;AACtD,YAAA,YAAY,CAAC,QAAQ,CAAC,OAAO,GAAG,MAAM;YACtC,YAAY,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU;YAC7C,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,KAAI;AACjD,gBAAA,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,KAAK,CAAC;AAChD,gBAAA,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;AACxB,YAAA,CAAC,CAAC;AACF,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;YAC9B,IAAI,CAAC,UAAU,EAAE;AACnB,QAAA,CAAC,CAAC;IACJ;AAEQ,IAAA,6BAA6B,CAAC,KAAa,EAAA;AACjD,QAAA,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YACtB,MAAM,OAAO,GAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;iBACjC,SAAS,CAAC,CAAC,CAAgB;;AAG9B,YAAA,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE;AAChC,gBAAA,IAAI;oBACF,OAAO,CAAC,WAAW,EAAE;gBACvB;gBAAE,MAAM,EAAC;YACX;AAEA,YAAA,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC;YACnD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE;QAC9B;IACF;IAEQ,2BAA2B,CACjC,YAAkD,EAClD,MAAqB,EAAA;AAErB,QAAA,MAAM,OAAO,GAAI,YAAY,CAAC;aAC3B,SAAS,CAAC,CAAC,CAAgB;AAC9B,QAAA,IAAI,MAAM,CAAC,cAAc,EAAE;AACzB,YAAA,KAAK,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;gBAC9C,IAAI,CAAC,CAAC,IAAI,EAAE;AAAE,oBAAA,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YACxC;QACF;QACA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;AACnC,QAAA,IAAI,MAAM,CAAC,UAAU,EAAE;AACrB,YAAA,OAAO,CAAC,OAAO,GAAG,QAAQ;YAC1B,OAAO,CAAC,WAAW,EAAE;QACvB;IACF;IAEA,QAAQ,GAAA;AACN,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC3C,YAAA,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;QACvC;IACF;AA5EW,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,gHAQrB,QAAQ,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AARP,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,cAFnB,MAAM,EAAA,CAAA,CAAA;;4FAEP,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;0BASI,MAAM;2BAAC,QAAQ;;;MClBP,mBAAmB,CAAA;IAC5B,OAAO,OAAO,CAAC,MAAqB,EAAA;QAChC,OAAO;AACH,YAAA,QAAQ,EAAE,mBAAmB;AAC7B,YAAA,SAAS,EAAE;AACP,gBAAA;AACI,oBAAA,OAAO,EAAE,gBAAgB;AACzB,oBAAA,QAAQ,EAAE;AACb;AACJ;SACJ;IACL;+GAXS,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAnB,mBAAmB,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,EAAA,SAAA,EAJjB;YACP;AACH,SAAA,EAAA,CAAA,CAAA;;4FAEQ,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,SAAS,EAAE;wBACP;AACH;AACJ,iBAAA;;;ACRD;;AAEG;;ACFH;;AAEG;;;;"}
|
package/index.d.ts
CHANGED
|
@@ -8,6 +8,12 @@ declare const defaultOptions: AlertOptions;
|
|
|
8
8
|
declare class AlertOptions implements IAlertOptions {
|
|
9
9
|
private config?;
|
|
10
10
|
constructor(config?: IAlertOptions | undefined);
|
|
11
|
+
/**
|
|
12
|
+
* add popover manual to set alert dialog container to top layer
|
|
13
|
+
* - usefull when using alert modal in angular material dialog
|
|
14
|
+
*
|
|
15
|
+
*/
|
|
16
|
+
useOverlay?: boolean;
|
|
11
17
|
title?: string;
|
|
12
18
|
text?: string;
|
|
13
19
|
html?: string | HTMLElement;
|
|
@@ -36,10 +42,16 @@ declare class AlertOptions implements IAlertOptions {
|
|
|
36
42
|
|
|
37
43
|
interface IAlertOptions {
|
|
38
44
|
/**
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
45
|
+
* add popover manual to set alert dialog container to top layer
|
|
46
|
+
* - usefull when using alert modal in angular material dialog
|
|
47
|
+
*
|
|
48
|
+
*/
|
|
49
|
+
useOverlay?: boolean;
|
|
50
|
+
/**
|
|
51
|
+
* The title of the popup
|
|
52
|
+
*
|
|
53
|
+
* @default ''
|
|
54
|
+
*/
|
|
43
55
|
title?: string;
|
|
44
56
|
/**
|
|
45
57
|
* A description for the popup.
|
|
@@ -216,8 +228,8 @@ declare class NgxAlertModalComponent {
|
|
|
216
228
|
index: number;
|
|
217
229
|
result: AlertResult<any>;
|
|
218
230
|
}>;
|
|
219
|
-
onScapeKey(event:
|
|
220
|
-
onEnterKey(event:
|
|
231
|
+
onScapeKey(event: Event): void;
|
|
232
|
+
onEnterKey(event: Event): void;
|
|
221
233
|
onConfirm(): void;
|
|
222
234
|
onCancel(): void;
|
|
223
235
|
onDeny(): void;
|