ngx-beacon-notify 1.2.5 → 1.2.6

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.
@@ -132,11 +132,11 @@ export class BeaconNotifyComponent {
132
132
  }
133
133
  }
134
134
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: BeaconNotifyComponent, deps: [{ token: i1.BeaconNotifyService }, { token: i2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
135
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: BeaconNotifyComponent, selector: "app-beacon", inputs: { beacon: "beacon" }, ngImport: i0, template: "<div #beaconControl \n\t\t[id]=\"'bc_' + beacon.bid\"\n\t\t(mouseenter)=\"autoClose(false, beaconControl)\" \n\t\t(mouseleave)=\"autoClose(true, beaconControl)\"\n\t\t(click)=\"beacon.preventClickClose ? null : closeBeacon(beaconControl, beacon)\"\n\t\t[attr.data-beacon-static]=\"beacon.static\"\n\t\tclass=\"beacon-message-control {{ (beacon.static !== true && beacon.fixed !== true) ? beacon.animationClass : '' }} {{ beacon.replacementClass || beacon.type }} {{ beacon.styleClass }}\"\n\t\t[class.beacon-message-control-no-hover-effect]=\"beacon.noHoverEffect\">\n\t<div class=\"beacon-message-header\">\n\t\t<div>\n\t\t\t<span *ngIf=\"beacon.fontIcon\"><i [class]=\"beacon.icon\"></i></span>\n\t\t\t<span *ngIf=\"!beacon.fontIcon && beaconDefaultIconKeys.includes(beacon.icon)\" class=\"beacon-message-svg-control\">\n\t\t\t\t<app-beacon-icon-alert *ngIf=\"beacon.icon | beaconTypeResolve:'alert'\"></app-beacon-icon-alert>\n\t\t\t\t<app-beacon-icon-error *ngIf=\"beacon.icon | beaconTypeResolve:'error'\"></app-beacon-icon-error>\n\t\t\t\t<app-beacon-icon-info *ngIf=\"beacon.icon | beaconTypeResolve:'info'\"></app-beacon-icon-info>\n\t\t\t\t<app-beacon-icon-success *ngIf=\"beacon.icon | beaconTypeResolve:'success'\"></app-beacon-icon-success>\n\t\t\t\t<app-beacon-icon-warning *ngIf=\"beacon.icon | beaconTypeResolve:'warning'\"></app-beacon-icon-warning>\n\t\t\t</span>\n\t\t\t<span *ngIf=\"!beacon.fontIcon && beacon.icon && !beaconDefaultIconKeys.includes(beacon.icon)\" class=\"beacon-message-svg-control\" [innerHTML]=\"beacon.svgIcon\"></span>\n\t\t\t{{ beacon.title }}\n\t\t</div>\n\t\t<div>\n\t\t\t<div *ngIf=\"!beacon.fixed\" class=\"beacon-message-close\" (click)=\"closeBeacon(beaconControl, beacon)\">\n\t\t\t\t<svg width=\"10\" height=\"10\" viewBox=\"0 0 78 78\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t <rect y=\"7.07104\" width=\"10\" height=\"100\" rx=\"5\" transform=\"rotate(-45 0 7.07104)\" />\n\t\t\t <rect x=\"70.7109\" width=\"10\" height=\"100\" rx=\"5\" transform=\"rotate(45 70.7109 0)\" />\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t<div class=\"beacon-message-divider\"></div>\n\t<div class=\"beacon-message-body\" [innerHTML]=\"beacon.bodyHtml\"></div>\n\t<div class=\"beacon-message-divider\" *ngIf=\"beacon.buttons?.one || beacon.buttons?.two\"></div>\n\n\t<div class=\"beacon-message-footer\" *ngIf=\"beacon.buttons && beacon.buttons?.one && beacon.buttons?.two\">\n\t\t<div><button (click)=\"beaconButtonClick($event, 1)\">{{ beacon.buttons?.one?.text }}</button></div>\n\t\t<div><button (click)=\"beaconButtonClick($event, 2)\">{{ beacon.buttons?.two?.text }}</button></div>\n\t</div>\n\n\t<div class=\"beacon-message-footer\" *ngIf=\"beacon.buttons && beacon.buttons?.one && !beacon?.buttons?.two\">\n\t\t<div [class]=\"beacon.buttons?.one?.position ? ('beacon-message-button-container-' + beacon?.buttons?.one?.position) : ''\">\n\t\t\t<button (click)=\"beaconButtonClick($event, 1)\">{{ beacon.buttons?.one?.text }}</button>\n\t\t</div>\n\t</div>\n\n</div>", styles: [".beacon-message-control{width:270px;height:auto;background:#eee;margin:6px;border-radius:4px;position:relative;z-index:4000;cursor:pointer}.beacon-message-control:hover{box-shadow:0 0 20px #4443}.beacon-message-control-no-hover-effect{box-shadow:none!important}.beacon-message-control-animate{-webkit-animation:beacon-fade-out .5s 7s linear forwards;animation:beacon-fade-out .5s 7s linear forwards}.beacon-message-header,.beacon-message-body,.beacon-message-footer{padding:8px;font-size:15px}.beacon-message-header{font-weight:700;display:flex;font-size:15px}.beacon-message-header>div:first-child{flex-grow:1;display:flex;place-items:flex-start;word-break:break-all}.beacon-message-header>div:first-child i{font-size:20px;margin-right:7px;margin-top:2px}.beacon-message-header>div:last-child{flex-grow:0}.beacon-message-divider{border-top:1px solid #44444433}.beacon-message-close{height:22px;width:22px;border:1px solid #444444;display:flex;place-items:center;place-content:center;border-radius:100%;cursor:pointer;opacity:.3}.beacon-message-close svg rect{fill:#444}.beacon-message-close:hover{opacity:.7}.beacon-message-alert{background:#eee;color:#5e5e5e}.beacon-message-alert .beacon-message-footer button{border:1px solid #5E5E5E;color:#5e5e5e}.beacon-message-alert .beacon-message-footer button:hover{background:#5e5e5e;color:#fff}.beacon-message-success{background:#f0fff0;color:#698b69}.beacon-message-success .beacon-message-divider{border-color:#698b6933}.beacon-message-success .beacon-message-footer button{border:1px solid #698B69;color:#698b69}.beacon-message-success .beacon-message-footer button:hover{background:#698b69;color:#fff}.beacon-message-error{background:#ffe4e1;color:#b22222}.beacon-message-error .beacon-message-divider{border-color:#ee3b3b33}.beacon-message-error .beacon-message-footer button{border:1px solid #B22222;color:#b22222}.beacon-message-error .beacon-message-footer button:hover{background:#b22222;color:#fff}.beacon-message-warning{background:#fffacd;color:#b8860b}.beacon-message-warning .beacon-message-divider{border-color:#ffd70088}.beacon-message-warning .beacon-message-footer button{border:1px solid #B8860B;color:#b8860b}.beacon-message-warning .beacon-message-footer button:hover{background:#b8860b;color:#fff}.beacon-message-info{background:#bfefff;color:#4a708b}.beacon-message-info .beacon-message-divider{border-color:#5cacee33}.beacon-message-info .beacon-message-footer button{border:1px solid #4A708B;color:#4a708b}.beacon-message-info .beacon-message-footer button:hover{background:#4a708b;color:#fff}.beacon-message-footer{display:flex}.beacon-message-footer>div:first-child{flex-grow:1}.beacon-message-footer>div:last-child{flex-grow:1;text-align:right}.beacon-message-footer button{padding:4px 7px;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;background:transparent;cursor:pointer}.beacon-message-footer .beacon-message-button-container-left{text-align:left!important}.beacon-message-footer .beacon-message-button-container-center{text-align:center!important}.beacon-message-footer .beacon-message-button-container-right{text-align:right!important}@keyframes beacon-fade-out{90%{opacity:0;display:none}to{opacity:0;display:none}}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.BeaconIconAlertComponent, selector: "app-beacon-icon-alert" }, { kind: "component", type: i5.BeaconIconErrorComponent, selector: "app-beacon-icon-error" }, { kind: "component", type: i6.BeaconIconInfoComponent, selector: "app-beacon-icon-info" }, { kind: "component", type: i7.BeaconIconSuccessComponent, selector: "app-beacon-icon-success" }, { kind: "component", type: i8.BeaconIconWarningComponent, selector: "app-beacon-icon-warning" }, { kind: "pipe", type: i9.BeaconTypeResolvePipe, name: "beaconTypeResolve" }] });
135
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: BeaconNotifyComponent, selector: "app-beacon", inputs: { beacon: "beacon" }, ngImport: i0, template: "<div #beaconControl \n\t\t[id]=\"'bc_' + beacon.bid\"\n\t\t(mouseenter)=\"autoClose(false, beaconControl)\" \n\t\t(mouseleave)=\"autoClose(true, beaconControl)\"\n\t\t(click)=\"beacon.preventClickClose ? null : closeBeacon(beaconControl, beacon)\"\n\t\t[attr.data-beacon-static]=\"beacon.static\"\n\t\tclass=\"beacon-message-control {{ (beacon.static !== true && beacon.fixed !== true) ? beacon.animationClass : '' }} {{ beacon.replacementClass || beacon.type }} {{ beacon.styleClass }}\"\n\t\t[class.beacon-message-control-no-hover-effect]=\"beacon.noHoverEffect\">\n\t<div class=\"beacon-message-header\">\n\t\t<div>\n\t\t\t<span *ngIf=\"beacon.fontIcon\"><i [class]=\"beacon.icon\"></i></span>\n\t\t\t<span *ngIf=\"!beacon.fontIcon && beaconDefaultIconKeys.includes(beacon.icon)\" class=\"beacon-message-svg-control\">\n\t\t\t\t<app-beacon-icon-alert *ngIf=\"beacon.icon | beaconTypeResolve:'alert'\"></app-beacon-icon-alert>\n\t\t\t\t<app-beacon-icon-error *ngIf=\"beacon.icon | beaconTypeResolve:'error'\"></app-beacon-icon-error>\n\t\t\t\t<app-beacon-icon-info *ngIf=\"beacon.icon | beaconTypeResolve:'info'\"></app-beacon-icon-info>\n\t\t\t\t<app-beacon-icon-success *ngIf=\"beacon.icon | beaconTypeResolve:'success'\"></app-beacon-icon-success>\n\t\t\t\t<app-beacon-icon-warning *ngIf=\"beacon.icon | beaconTypeResolve:'warning'\"></app-beacon-icon-warning>\n\t\t\t</span>\n\t\t\t<span *ngIf=\"!beacon.fontIcon && beacon.icon && !beaconDefaultIconKeys.includes(beacon.icon)\" class=\"beacon-message-svg-control\" [innerHTML]=\"beacon.svgIcon\"></span>\n\t\t\t{{ beacon.title }}\n\t\t</div>\n\t\t<div>\n\t\t\t<div *ngIf=\"!beacon.fixed\" class=\"beacon-message-close\" (click)=\"closeBeacon(beaconControl, beacon)\">\n\t\t\t\t<svg width=\"10\" height=\"10\" viewBox=\"0 0 78 78\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t <rect y=\"7.07104\" width=\"10\" height=\"100\" rx=\"5\" transform=\"rotate(-45 0 7.07104)\" />\n\t\t\t <rect x=\"70.7109\" width=\"10\" height=\"100\" rx=\"5\" transform=\"rotate(45 70.7109 0)\" />\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t<div class=\"beacon-message-divider\"></div>\n\t<div class=\"beacon-message-body\" [innerHTML]=\"beacon.bodyHtml\"></div>\n\t<div class=\"beacon-message-divider\" *ngIf=\"beacon.buttons?.one || beacon.buttons?.two\"></div>\n\n\t<div class=\"beacon-message-footer\" *ngIf=\"beacon.buttons && beacon.buttons?.one && beacon.buttons?.two\">\n\t\t<div><button (click)=\"beaconButtonClick($event, 1)\">{{ beacon.buttons?.one?.text }}</button></div>\n\t\t<div><button (click)=\"beaconButtonClick($event, 2)\">{{ beacon.buttons?.two?.text }}</button></div>\n\t</div>\n\n\t<div class=\"beacon-message-footer\" *ngIf=\"beacon.buttons && beacon.buttons?.one && !beacon?.buttons?.two\">\n\t\t<div [class]=\"beacon.buttons?.one?.position ? ('beacon-message-button-container-' + beacon?.buttons?.one?.position) : ''\">\n\t\t\t<button (click)=\"beaconButtonClick($event, 1)\">{{ beacon.buttons?.one?.text }}</button>\n\t\t</div>\n\t</div>\n\n</div>", styles: [".beacon-message-control{width:270px;height:auto;background:#eee;margin:6px;border-radius:4px;position:relative;z-index:4000;cursor:pointer}.beacon-message-control:hover{box-shadow:0 0 20px #4443}.beacon-message-control-no-hover-effect{box-shadow:none!important}.beacon-message-control-animate{-webkit-animation:beacon-fade-out .5s 7s linear forwards;animation:beacon-fade-out .5s 7s linear forwards}.beacon-message-header,.beacon-message-body,.beacon-message-footer{padding:8px;font-size:15px}.beacon-message-header{font-weight:700;display:flex;font-size:15px}.beacon-message-header>div:first-child{flex-grow:1;display:flex;place-items:flex-start;word-break:break-all}.beacon-message-header>div:first-child i{font-size:20px;margin-right:7px;margin-top:2px}.beacon-message-header>div:last-child{flex-grow:0}.beacon-message-body{font-weight:700}.beacon-message-divider{border-top:1px solid #44444433}.beacon-message-close{height:22px;width:22px;border:1px solid #444444;display:flex;place-items:center;place-content:center;border-radius:100%;cursor:pointer;opacity:.3}.beacon-message-close svg rect{fill:#444}.beacon-message-close:hover{opacity:.7}.beacon-message-alert{background:#eee;color:#5e5e5e}.beacon-message-alert .beacon-message-footer button{border:1px solid #5E5E5E;color:#5e5e5e}.beacon-message-alert .beacon-message-footer button:hover{background:#5e5e5e;color:#fff}.beacon-message-success{background:#f0fff0;color:#698b69}.beacon-message-success .beacon-message-divider{border-color:#698b6933}.beacon-message-success .beacon-message-footer button{border:1px solid #698B69;color:#698b69}.beacon-message-success .beacon-message-footer button:hover{background:#698b69;color:#fff}.beacon-message-error{background:#ffe4e1;color:#b22222}.beacon-message-error .beacon-message-divider{border-color:#ee3b3b33}.beacon-message-error .beacon-message-footer button{border:1px solid #B22222;color:#b22222}.beacon-message-error .beacon-message-footer button:hover{background:#b22222;color:#fff}.beacon-message-warning{background:#fffacd;color:#b8860b}.beacon-message-warning .beacon-message-divider{border-color:#ffd70088}.beacon-message-warning .beacon-message-footer button{border:1px solid #B8860B;color:#b8860b}.beacon-message-warning .beacon-message-footer button:hover{background:#b8860b;color:#fff}.beacon-message-info{background:#bfefff;color:#4a708b}.beacon-message-info .beacon-message-divider{border-color:#5cacee33}.beacon-message-info .beacon-message-footer button{border:1px solid #4A708B;color:#4a708b}.beacon-message-info .beacon-message-footer button:hover{background:#4a708b;color:#fff}.beacon-message-footer{display:flex}.beacon-message-footer>div:first-child{flex-grow:1}.beacon-message-footer>div:last-child{flex-grow:1;text-align:right}.beacon-message-footer button{padding:4px 7px;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;background:transparent;cursor:pointer}.beacon-message-footer .beacon-message-button-container-left{text-align:left!important}.beacon-message-footer .beacon-message-button-container-center{text-align:center!important}.beacon-message-footer .beacon-message-button-container-right{text-align:right!important}@keyframes beacon-fade-out{90%{opacity:0;display:none}to{opacity:0;display:none}}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.BeaconIconAlertComponent, selector: "app-beacon-icon-alert" }, { kind: "component", type: i5.BeaconIconErrorComponent, selector: "app-beacon-icon-error" }, { kind: "component", type: i6.BeaconIconInfoComponent, selector: "app-beacon-icon-info" }, { kind: "component", type: i7.BeaconIconSuccessComponent, selector: "app-beacon-icon-success" }, { kind: "component", type: i8.BeaconIconWarningComponent, selector: "app-beacon-icon-warning" }, { kind: "pipe", type: i9.BeaconTypeResolvePipe, name: "beaconTypeResolve" }] });
136
136
  }
137
137
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: BeaconNotifyComponent, decorators: [{
138
138
  type: Component,
139
- args: [{ selector: 'app-beacon', template: "<div #beaconControl \n\t\t[id]=\"'bc_' + beacon.bid\"\n\t\t(mouseenter)=\"autoClose(false, beaconControl)\" \n\t\t(mouseleave)=\"autoClose(true, beaconControl)\"\n\t\t(click)=\"beacon.preventClickClose ? null : closeBeacon(beaconControl, beacon)\"\n\t\t[attr.data-beacon-static]=\"beacon.static\"\n\t\tclass=\"beacon-message-control {{ (beacon.static !== true && beacon.fixed !== true) ? beacon.animationClass : '' }} {{ beacon.replacementClass || beacon.type }} {{ beacon.styleClass }}\"\n\t\t[class.beacon-message-control-no-hover-effect]=\"beacon.noHoverEffect\">\n\t<div class=\"beacon-message-header\">\n\t\t<div>\n\t\t\t<span *ngIf=\"beacon.fontIcon\"><i [class]=\"beacon.icon\"></i></span>\n\t\t\t<span *ngIf=\"!beacon.fontIcon && beaconDefaultIconKeys.includes(beacon.icon)\" class=\"beacon-message-svg-control\">\n\t\t\t\t<app-beacon-icon-alert *ngIf=\"beacon.icon | beaconTypeResolve:'alert'\"></app-beacon-icon-alert>\n\t\t\t\t<app-beacon-icon-error *ngIf=\"beacon.icon | beaconTypeResolve:'error'\"></app-beacon-icon-error>\n\t\t\t\t<app-beacon-icon-info *ngIf=\"beacon.icon | beaconTypeResolve:'info'\"></app-beacon-icon-info>\n\t\t\t\t<app-beacon-icon-success *ngIf=\"beacon.icon | beaconTypeResolve:'success'\"></app-beacon-icon-success>\n\t\t\t\t<app-beacon-icon-warning *ngIf=\"beacon.icon | beaconTypeResolve:'warning'\"></app-beacon-icon-warning>\n\t\t\t</span>\n\t\t\t<span *ngIf=\"!beacon.fontIcon && beacon.icon && !beaconDefaultIconKeys.includes(beacon.icon)\" class=\"beacon-message-svg-control\" [innerHTML]=\"beacon.svgIcon\"></span>\n\t\t\t{{ beacon.title }}\n\t\t</div>\n\t\t<div>\n\t\t\t<div *ngIf=\"!beacon.fixed\" class=\"beacon-message-close\" (click)=\"closeBeacon(beaconControl, beacon)\">\n\t\t\t\t<svg width=\"10\" height=\"10\" viewBox=\"0 0 78 78\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t <rect y=\"7.07104\" width=\"10\" height=\"100\" rx=\"5\" transform=\"rotate(-45 0 7.07104)\" />\n\t\t\t <rect x=\"70.7109\" width=\"10\" height=\"100\" rx=\"5\" transform=\"rotate(45 70.7109 0)\" />\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t<div class=\"beacon-message-divider\"></div>\n\t<div class=\"beacon-message-body\" [innerHTML]=\"beacon.bodyHtml\"></div>\n\t<div class=\"beacon-message-divider\" *ngIf=\"beacon.buttons?.one || beacon.buttons?.two\"></div>\n\n\t<div class=\"beacon-message-footer\" *ngIf=\"beacon.buttons && beacon.buttons?.one && beacon.buttons?.two\">\n\t\t<div><button (click)=\"beaconButtonClick($event, 1)\">{{ beacon.buttons?.one?.text }}</button></div>\n\t\t<div><button (click)=\"beaconButtonClick($event, 2)\">{{ beacon.buttons?.two?.text }}</button></div>\n\t</div>\n\n\t<div class=\"beacon-message-footer\" *ngIf=\"beacon.buttons && beacon.buttons?.one && !beacon?.buttons?.two\">\n\t\t<div [class]=\"beacon.buttons?.one?.position ? ('beacon-message-button-container-' + beacon?.buttons?.one?.position) : ''\">\n\t\t\t<button (click)=\"beaconButtonClick($event, 1)\">{{ beacon.buttons?.one?.text }}</button>\n\t\t</div>\n\t</div>\n\n</div>", styles: [".beacon-message-control{width:270px;height:auto;background:#eee;margin:6px;border-radius:4px;position:relative;z-index:4000;cursor:pointer}.beacon-message-control:hover{box-shadow:0 0 20px #4443}.beacon-message-control-no-hover-effect{box-shadow:none!important}.beacon-message-control-animate{-webkit-animation:beacon-fade-out .5s 7s linear forwards;animation:beacon-fade-out .5s 7s linear forwards}.beacon-message-header,.beacon-message-body,.beacon-message-footer{padding:8px;font-size:15px}.beacon-message-header{font-weight:700;display:flex;font-size:15px}.beacon-message-header>div:first-child{flex-grow:1;display:flex;place-items:flex-start;word-break:break-all}.beacon-message-header>div:first-child i{font-size:20px;margin-right:7px;margin-top:2px}.beacon-message-header>div:last-child{flex-grow:0}.beacon-message-divider{border-top:1px solid #44444433}.beacon-message-close{height:22px;width:22px;border:1px solid #444444;display:flex;place-items:center;place-content:center;border-radius:100%;cursor:pointer;opacity:.3}.beacon-message-close svg rect{fill:#444}.beacon-message-close:hover{opacity:.7}.beacon-message-alert{background:#eee;color:#5e5e5e}.beacon-message-alert .beacon-message-footer button{border:1px solid #5E5E5E;color:#5e5e5e}.beacon-message-alert .beacon-message-footer button:hover{background:#5e5e5e;color:#fff}.beacon-message-success{background:#f0fff0;color:#698b69}.beacon-message-success .beacon-message-divider{border-color:#698b6933}.beacon-message-success .beacon-message-footer button{border:1px solid #698B69;color:#698b69}.beacon-message-success .beacon-message-footer button:hover{background:#698b69;color:#fff}.beacon-message-error{background:#ffe4e1;color:#b22222}.beacon-message-error .beacon-message-divider{border-color:#ee3b3b33}.beacon-message-error .beacon-message-footer button{border:1px solid #B22222;color:#b22222}.beacon-message-error .beacon-message-footer button:hover{background:#b22222;color:#fff}.beacon-message-warning{background:#fffacd;color:#b8860b}.beacon-message-warning .beacon-message-divider{border-color:#ffd70088}.beacon-message-warning .beacon-message-footer button{border:1px solid #B8860B;color:#b8860b}.beacon-message-warning .beacon-message-footer button:hover{background:#b8860b;color:#fff}.beacon-message-info{background:#bfefff;color:#4a708b}.beacon-message-info .beacon-message-divider{border-color:#5cacee33}.beacon-message-info .beacon-message-footer button{border:1px solid #4A708B;color:#4a708b}.beacon-message-info .beacon-message-footer button:hover{background:#4a708b;color:#fff}.beacon-message-footer{display:flex}.beacon-message-footer>div:first-child{flex-grow:1}.beacon-message-footer>div:last-child{flex-grow:1;text-align:right}.beacon-message-footer button{padding:4px 7px;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;background:transparent;cursor:pointer}.beacon-message-footer .beacon-message-button-container-left{text-align:left!important}.beacon-message-footer .beacon-message-button-container-center{text-align:center!important}.beacon-message-footer .beacon-message-button-container-right{text-align:right!important}@keyframes beacon-fade-out{90%{opacity:0;display:none}to{opacity:0;display:none}}\n"] }]
139
+ args: [{ selector: 'app-beacon', template: "<div #beaconControl \n\t\t[id]=\"'bc_' + beacon.bid\"\n\t\t(mouseenter)=\"autoClose(false, beaconControl)\" \n\t\t(mouseleave)=\"autoClose(true, beaconControl)\"\n\t\t(click)=\"beacon.preventClickClose ? null : closeBeacon(beaconControl, beacon)\"\n\t\t[attr.data-beacon-static]=\"beacon.static\"\n\t\tclass=\"beacon-message-control {{ (beacon.static !== true && beacon.fixed !== true) ? beacon.animationClass : '' }} {{ beacon.replacementClass || beacon.type }} {{ beacon.styleClass }}\"\n\t\t[class.beacon-message-control-no-hover-effect]=\"beacon.noHoverEffect\">\n\t<div class=\"beacon-message-header\">\n\t\t<div>\n\t\t\t<span *ngIf=\"beacon.fontIcon\"><i [class]=\"beacon.icon\"></i></span>\n\t\t\t<span *ngIf=\"!beacon.fontIcon && beaconDefaultIconKeys.includes(beacon.icon)\" class=\"beacon-message-svg-control\">\n\t\t\t\t<app-beacon-icon-alert *ngIf=\"beacon.icon | beaconTypeResolve:'alert'\"></app-beacon-icon-alert>\n\t\t\t\t<app-beacon-icon-error *ngIf=\"beacon.icon | beaconTypeResolve:'error'\"></app-beacon-icon-error>\n\t\t\t\t<app-beacon-icon-info *ngIf=\"beacon.icon | beaconTypeResolve:'info'\"></app-beacon-icon-info>\n\t\t\t\t<app-beacon-icon-success *ngIf=\"beacon.icon | beaconTypeResolve:'success'\"></app-beacon-icon-success>\n\t\t\t\t<app-beacon-icon-warning *ngIf=\"beacon.icon | beaconTypeResolve:'warning'\"></app-beacon-icon-warning>\n\t\t\t</span>\n\t\t\t<span *ngIf=\"!beacon.fontIcon && beacon.icon && !beaconDefaultIconKeys.includes(beacon.icon)\" class=\"beacon-message-svg-control\" [innerHTML]=\"beacon.svgIcon\"></span>\n\t\t\t{{ beacon.title }}\n\t\t</div>\n\t\t<div>\n\t\t\t<div *ngIf=\"!beacon.fixed\" class=\"beacon-message-close\" (click)=\"closeBeacon(beaconControl, beacon)\">\n\t\t\t\t<svg width=\"10\" height=\"10\" viewBox=\"0 0 78 78\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t <rect y=\"7.07104\" width=\"10\" height=\"100\" rx=\"5\" transform=\"rotate(-45 0 7.07104)\" />\n\t\t\t <rect x=\"70.7109\" width=\"10\" height=\"100\" rx=\"5\" transform=\"rotate(45 70.7109 0)\" />\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t<div class=\"beacon-message-divider\"></div>\n\t<div class=\"beacon-message-body\" [innerHTML]=\"beacon.bodyHtml\"></div>\n\t<div class=\"beacon-message-divider\" *ngIf=\"beacon.buttons?.one || beacon.buttons?.two\"></div>\n\n\t<div class=\"beacon-message-footer\" *ngIf=\"beacon.buttons && beacon.buttons?.one && beacon.buttons?.two\">\n\t\t<div><button (click)=\"beaconButtonClick($event, 1)\">{{ beacon.buttons?.one?.text }}</button></div>\n\t\t<div><button (click)=\"beaconButtonClick($event, 2)\">{{ beacon.buttons?.two?.text }}</button></div>\n\t</div>\n\n\t<div class=\"beacon-message-footer\" *ngIf=\"beacon.buttons && beacon.buttons?.one && !beacon?.buttons?.two\">\n\t\t<div [class]=\"beacon.buttons?.one?.position ? ('beacon-message-button-container-' + beacon?.buttons?.one?.position) : ''\">\n\t\t\t<button (click)=\"beaconButtonClick($event, 1)\">{{ beacon.buttons?.one?.text }}</button>\n\t\t</div>\n\t</div>\n\n</div>", styles: [".beacon-message-control{width:270px;height:auto;background:#eee;margin:6px;border-radius:4px;position:relative;z-index:4000;cursor:pointer}.beacon-message-control:hover{box-shadow:0 0 20px #4443}.beacon-message-control-no-hover-effect{box-shadow:none!important}.beacon-message-control-animate{-webkit-animation:beacon-fade-out .5s 7s linear forwards;animation:beacon-fade-out .5s 7s linear forwards}.beacon-message-header,.beacon-message-body,.beacon-message-footer{padding:8px;font-size:15px}.beacon-message-header{font-weight:700;display:flex;font-size:15px}.beacon-message-header>div:first-child{flex-grow:1;display:flex;place-items:flex-start;word-break:break-all}.beacon-message-header>div:first-child i{font-size:20px;margin-right:7px;margin-top:2px}.beacon-message-header>div:last-child{flex-grow:0}.beacon-message-body{font-weight:700}.beacon-message-divider{border-top:1px solid #44444433}.beacon-message-close{height:22px;width:22px;border:1px solid #444444;display:flex;place-items:center;place-content:center;border-radius:100%;cursor:pointer;opacity:.3}.beacon-message-close svg rect{fill:#444}.beacon-message-close:hover{opacity:.7}.beacon-message-alert{background:#eee;color:#5e5e5e}.beacon-message-alert .beacon-message-footer button{border:1px solid #5E5E5E;color:#5e5e5e}.beacon-message-alert .beacon-message-footer button:hover{background:#5e5e5e;color:#fff}.beacon-message-success{background:#f0fff0;color:#698b69}.beacon-message-success .beacon-message-divider{border-color:#698b6933}.beacon-message-success .beacon-message-footer button{border:1px solid #698B69;color:#698b69}.beacon-message-success .beacon-message-footer button:hover{background:#698b69;color:#fff}.beacon-message-error{background:#ffe4e1;color:#b22222}.beacon-message-error .beacon-message-divider{border-color:#ee3b3b33}.beacon-message-error .beacon-message-footer button{border:1px solid #B22222;color:#b22222}.beacon-message-error .beacon-message-footer button:hover{background:#b22222;color:#fff}.beacon-message-warning{background:#fffacd;color:#b8860b}.beacon-message-warning .beacon-message-divider{border-color:#ffd70088}.beacon-message-warning .beacon-message-footer button{border:1px solid #B8860B;color:#b8860b}.beacon-message-warning .beacon-message-footer button:hover{background:#b8860b;color:#fff}.beacon-message-info{background:#bfefff;color:#4a708b}.beacon-message-info .beacon-message-divider{border-color:#5cacee33}.beacon-message-info .beacon-message-footer button{border:1px solid #4A708B;color:#4a708b}.beacon-message-info .beacon-message-footer button:hover{background:#4a708b;color:#fff}.beacon-message-footer{display:flex}.beacon-message-footer>div:first-child{flex-grow:1}.beacon-message-footer>div:last-child{flex-grow:1;text-align:right}.beacon-message-footer button{padding:4px 7px;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;background:transparent;cursor:pointer}.beacon-message-footer .beacon-message-button-container-left{text-align:left!important}.beacon-message-footer .beacon-message-button-container-center{text-align:center!important}.beacon-message-footer .beacon-message-button-container-right{text-align:right!important}@keyframes beacon-fade-out{90%{opacity:0;display:none}to{opacity:0;display:none}}\n"] }]
140
140
  }], ctorParameters: () => [{ type: i1.BeaconNotifyService }, { type: i2.DomSanitizer }], propDecorators: { beacon: [{
141
141
  type: Input
142
142
  }] } });
@@ -820,11 +820,11 @@ class BeaconNotifyComponent {
820
820
  }
821
821
  }
822
822
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: BeaconNotifyComponent, deps: [{ token: BeaconNotifyService }, { token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
823
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: BeaconNotifyComponent, selector: "app-beacon", inputs: { beacon: "beacon" }, ngImport: i0, template: "<div #beaconControl \n\t\t[id]=\"'bc_' + beacon.bid\"\n\t\t(mouseenter)=\"autoClose(false, beaconControl)\" \n\t\t(mouseleave)=\"autoClose(true, beaconControl)\"\n\t\t(click)=\"beacon.preventClickClose ? null : closeBeacon(beaconControl, beacon)\"\n\t\t[attr.data-beacon-static]=\"beacon.static\"\n\t\tclass=\"beacon-message-control {{ (beacon.static !== true && beacon.fixed !== true) ? beacon.animationClass : '' }} {{ beacon.replacementClass || beacon.type }} {{ beacon.styleClass }}\"\n\t\t[class.beacon-message-control-no-hover-effect]=\"beacon.noHoverEffect\">\n\t<div class=\"beacon-message-header\">\n\t\t<div>\n\t\t\t<span *ngIf=\"beacon.fontIcon\"><i [class]=\"beacon.icon\"></i></span>\n\t\t\t<span *ngIf=\"!beacon.fontIcon && beaconDefaultIconKeys.includes(beacon.icon)\" class=\"beacon-message-svg-control\">\n\t\t\t\t<app-beacon-icon-alert *ngIf=\"beacon.icon | beaconTypeResolve:'alert'\"></app-beacon-icon-alert>\n\t\t\t\t<app-beacon-icon-error *ngIf=\"beacon.icon | beaconTypeResolve:'error'\"></app-beacon-icon-error>\n\t\t\t\t<app-beacon-icon-info *ngIf=\"beacon.icon | beaconTypeResolve:'info'\"></app-beacon-icon-info>\n\t\t\t\t<app-beacon-icon-success *ngIf=\"beacon.icon | beaconTypeResolve:'success'\"></app-beacon-icon-success>\n\t\t\t\t<app-beacon-icon-warning *ngIf=\"beacon.icon | beaconTypeResolve:'warning'\"></app-beacon-icon-warning>\n\t\t\t</span>\n\t\t\t<span *ngIf=\"!beacon.fontIcon && beacon.icon && !beaconDefaultIconKeys.includes(beacon.icon)\" class=\"beacon-message-svg-control\" [innerHTML]=\"beacon.svgIcon\"></span>\n\t\t\t{{ beacon.title }}\n\t\t</div>\n\t\t<div>\n\t\t\t<div *ngIf=\"!beacon.fixed\" class=\"beacon-message-close\" (click)=\"closeBeacon(beaconControl, beacon)\">\n\t\t\t\t<svg width=\"10\" height=\"10\" viewBox=\"0 0 78 78\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t <rect y=\"7.07104\" width=\"10\" height=\"100\" rx=\"5\" transform=\"rotate(-45 0 7.07104)\" />\n\t\t\t <rect x=\"70.7109\" width=\"10\" height=\"100\" rx=\"5\" transform=\"rotate(45 70.7109 0)\" />\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t<div class=\"beacon-message-divider\"></div>\n\t<div class=\"beacon-message-body\" [innerHTML]=\"beacon.bodyHtml\"></div>\n\t<div class=\"beacon-message-divider\" *ngIf=\"beacon.buttons?.one || beacon.buttons?.two\"></div>\n\n\t<div class=\"beacon-message-footer\" *ngIf=\"beacon.buttons && beacon.buttons?.one && beacon.buttons?.two\">\n\t\t<div><button (click)=\"beaconButtonClick($event, 1)\">{{ beacon.buttons?.one?.text }}</button></div>\n\t\t<div><button (click)=\"beaconButtonClick($event, 2)\">{{ beacon.buttons?.two?.text }}</button></div>\n\t</div>\n\n\t<div class=\"beacon-message-footer\" *ngIf=\"beacon.buttons && beacon.buttons?.one && !beacon?.buttons?.two\">\n\t\t<div [class]=\"beacon.buttons?.one?.position ? ('beacon-message-button-container-' + beacon?.buttons?.one?.position) : ''\">\n\t\t\t<button (click)=\"beaconButtonClick($event, 1)\">{{ beacon.buttons?.one?.text }}</button>\n\t\t</div>\n\t</div>\n\n</div>", styles: [".beacon-message-control{width:270px;height:auto;background:#eee;margin:6px;border-radius:4px;position:relative;z-index:4000;cursor:pointer}.beacon-message-control:hover{box-shadow:0 0 20px #4443}.beacon-message-control-no-hover-effect{box-shadow:none!important}.beacon-message-control-animate{-webkit-animation:beacon-fade-out .5s 7s linear forwards;animation:beacon-fade-out .5s 7s linear forwards}.beacon-message-header,.beacon-message-body,.beacon-message-footer{padding:8px;font-size:15px}.beacon-message-header{font-weight:700;display:flex;font-size:15px}.beacon-message-header>div:first-child{flex-grow:1;display:flex;place-items:flex-start;word-break:break-all}.beacon-message-header>div:first-child i{font-size:20px;margin-right:7px;margin-top:2px}.beacon-message-header>div:last-child{flex-grow:0}.beacon-message-divider{border-top:1px solid #44444433}.beacon-message-close{height:22px;width:22px;border:1px solid #444444;display:flex;place-items:center;place-content:center;border-radius:100%;cursor:pointer;opacity:.3}.beacon-message-close svg rect{fill:#444}.beacon-message-close:hover{opacity:.7}.beacon-message-alert{background:#eee;color:#5e5e5e}.beacon-message-alert .beacon-message-footer button{border:1px solid #5E5E5E;color:#5e5e5e}.beacon-message-alert .beacon-message-footer button:hover{background:#5e5e5e;color:#fff}.beacon-message-success{background:#f0fff0;color:#698b69}.beacon-message-success .beacon-message-divider{border-color:#698b6933}.beacon-message-success .beacon-message-footer button{border:1px solid #698B69;color:#698b69}.beacon-message-success .beacon-message-footer button:hover{background:#698b69;color:#fff}.beacon-message-error{background:#ffe4e1;color:#b22222}.beacon-message-error .beacon-message-divider{border-color:#ee3b3b33}.beacon-message-error .beacon-message-footer button{border:1px solid #B22222;color:#b22222}.beacon-message-error .beacon-message-footer button:hover{background:#b22222;color:#fff}.beacon-message-warning{background:#fffacd;color:#b8860b}.beacon-message-warning .beacon-message-divider{border-color:#ffd70088}.beacon-message-warning .beacon-message-footer button{border:1px solid #B8860B;color:#b8860b}.beacon-message-warning .beacon-message-footer button:hover{background:#b8860b;color:#fff}.beacon-message-info{background:#bfefff;color:#4a708b}.beacon-message-info .beacon-message-divider{border-color:#5cacee33}.beacon-message-info .beacon-message-footer button{border:1px solid #4A708B;color:#4a708b}.beacon-message-info .beacon-message-footer button:hover{background:#4a708b;color:#fff}.beacon-message-footer{display:flex}.beacon-message-footer>div:first-child{flex-grow:1}.beacon-message-footer>div:last-child{flex-grow:1;text-align:right}.beacon-message-footer button{padding:4px 7px;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;background:transparent;cursor:pointer}.beacon-message-footer .beacon-message-button-container-left{text-align:left!important}.beacon-message-footer .beacon-message-button-container-center{text-align:center!important}.beacon-message-footer .beacon-message-button-container-right{text-align:right!important}@keyframes beacon-fade-out{90%{opacity:0;display:none}to{opacity:0;display:none}}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: BeaconIconAlertComponent, selector: "app-beacon-icon-alert" }, { kind: "component", type: BeaconIconErrorComponent, selector: "app-beacon-icon-error" }, { kind: "component", type: BeaconIconInfoComponent, selector: "app-beacon-icon-info" }, { kind: "component", type: BeaconIconSuccessComponent, selector: "app-beacon-icon-success" }, { kind: "component", type: BeaconIconWarningComponent, selector: "app-beacon-icon-warning" }, { kind: "pipe", type: BeaconTypeResolvePipe, name: "beaconTypeResolve" }] });
823
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: BeaconNotifyComponent, selector: "app-beacon", inputs: { beacon: "beacon" }, ngImport: i0, template: "<div #beaconControl \n\t\t[id]=\"'bc_' + beacon.bid\"\n\t\t(mouseenter)=\"autoClose(false, beaconControl)\" \n\t\t(mouseleave)=\"autoClose(true, beaconControl)\"\n\t\t(click)=\"beacon.preventClickClose ? null : closeBeacon(beaconControl, beacon)\"\n\t\t[attr.data-beacon-static]=\"beacon.static\"\n\t\tclass=\"beacon-message-control {{ (beacon.static !== true && beacon.fixed !== true) ? beacon.animationClass : '' }} {{ beacon.replacementClass || beacon.type }} {{ beacon.styleClass }}\"\n\t\t[class.beacon-message-control-no-hover-effect]=\"beacon.noHoverEffect\">\n\t<div class=\"beacon-message-header\">\n\t\t<div>\n\t\t\t<span *ngIf=\"beacon.fontIcon\"><i [class]=\"beacon.icon\"></i></span>\n\t\t\t<span *ngIf=\"!beacon.fontIcon && beaconDefaultIconKeys.includes(beacon.icon)\" class=\"beacon-message-svg-control\">\n\t\t\t\t<app-beacon-icon-alert *ngIf=\"beacon.icon | beaconTypeResolve:'alert'\"></app-beacon-icon-alert>\n\t\t\t\t<app-beacon-icon-error *ngIf=\"beacon.icon | beaconTypeResolve:'error'\"></app-beacon-icon-error>\n\t\t\t\t<app-beacon-icon-info *ngIf=\"beacon.icon | beaconTypeResolve:'info'\"></app-beacon-icon-info>\n\t\t\t\t<app-beacon-icon-success *ngIf=\"beacon.icon | beaconTypeResolve:'success'\"></app-beacon-icon-success>\n\t\t\t\t<app-beacon-icon-warning *ngIf=\"beacon.icon | beaconTypeResolve:'warning'\"></app-beacon-icon-warning>\n\t\t\t</span>\n\t\t\t<span *ngIf=\"!beacon.fontIcon && beacon.icon && !beaconDefaultIconKeys.includes(beacon.icon)\" class=\"beacon-message-svg-control\" [innerHTML]=\"beacon.svgIcon\"></span>\n\t\t\t{{ beacon.title }}\n\t\t</div>\n\t\t<div>\n\t\t\t<div *ngIf=\"!beacon.fixed\" class=\"beacon-message-close\" (click)=\"closeBeacon(beaconControl, beacon)\">\n\t\t\t\t<svg width=\"10\" height=\"10\" viewBox=\"0 0 78 78\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t <rect y=\"7.07104\" width=\"10\" height=\"100\" rx=\"5\" transform=\"rotate(-45 0 7.07104)\" />\n\t\t\t <rect x=\"70.7109\" width=\"10\" height=\"100\" rx=\"5\" transform=\"rotate(45 70.7109 0)\" />\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t<div class=\"beacon-message-divider\"></div>\n\t<div class=\"beacon-message-body\" [innerHTML]=\"beacon.bodyHtml\"></div>\n\t<div class=\"beacon-message-divider\" *ngIf=\"beacon.buttons?.one || beacon.buttons?.two\"></div>\n\n\t<div class=\"beacon-message-footer\" *ngIf=\"beacon.buttons && beacon.buttons?.one && beacon.buttons?.two\">\n\t\t<div><button (click)=\"beaconButtonClick($event, 1)\">{{ beacon.buttons?.one?.text }}</button></div>\n\t\t<div><button (click)=\"beaconButtonClick($event, 2)\">{{ beacon.buttons?.two?.text }}</button></div>\n\t</div>\n\n\t<div class=\"beacon-message-footer\" *ngIf=\"beacon.buttons && beacon.buttons?.one && !beacon?.buttons?.two\">\n\t\t<div [class]=\"beacon.buttons?.one?.position ? ('beacon-message-button-container-' + beacon?.buttons?.one?.position) : ''\">\n\t\t\t<button (click)=\"beaconButtonClick($event, 1)\">{{ beacon.buttons?.one?.text }}</button>\n\t\t</div>\n\t</div>\n\n</div>", styles: [".beacon-message-control{width:270px;height:auto;background:#eee;margin:6px;border-radius:4px;position:relative;z-index:4000;cursor:pointer}.beacon-message-control:hover{box-shadow:0 0 20px #4443}.beacon-message-control-no-hover-effect{box-shadow:none!important}.beacon-message-control-animate{-webkit-animation:beacon-fade-out .5s 7s linear forwards;animation:beacon-fade-out .5s 7s linear forwards}.beacon-message-header,.beacon-message-body,.beacon-message-footer{padding:8px;font-size:15px}.beacon-message-header{font-weight:700;display:flex;font-size:15px}.beacon-message-header>div:first-child{flex-grow:1;display:flex;place-items:flex-start;word-break:break-all}.beacon-message-header>div:first-child i{font-size:20px;margin-right:7px;margin-top:2px}.beacon-message-header>div:last-child{flex-grow:0}.beacon-message-body{font-weight:700}.beacon-message-divider{border-top:1px solid #44444433}.beacon-message-close{height:22px;width:22px;border:1px solid #444444;display:flex;place-items:center;place-content:center;border-radius:100%;cursor:pointer;opacity:.3}.beacon-message-close svg rect{fill:#444}.beacon-message-close:hover{opacity:.7}.beacon-message-alert{background:#eee;color:#5e5e5e}.beacon-message-alert .beacon-message-footer button{border:1px solid #5E5E5E;color:#5e5e5e}.beacon-message-alert .beacon-message-footer button:hover{background:#5e5e5e;color:#fff}.beacon-message-success{background:#f0fff0;color:#698b69}.beacon-message-success .beacon-message-divider{border-color:#698b6933}.beacon-message-success .beacon-message-footer button{border:1px solid #698B69;color:#698b69}.beacon-message-success .beacon-message-footer button:hover{background:#698b69;color:#fff}.beacon-message-error{background:#ffe4e1;color:#b22222}.beacon-message-error .beacon-message-divider{border-color:#ee3b3b33}.beacon-message-error .beacon-message-footer button{border:1px solid #B22222;color:#b22222}.beacon-message-error .beacon-message-footer button:hover{background:#b22222;color:#fff}.beacon-message-warning{background:#fffacd;color:#b8860b}.beacon-message-warning .beacon-message-divider{border-color:#ffd70088}.beacon-message-warning .beacon-message-footer button{border:1px solid #B8860B;color:#b8860b}.beacon-message-warning .beacon-message-footer button:hover{background:#b8860b;color:#fff}.beacon-message-info{background:#bfefff;color:#4a708b}.beacon-message-info .beacon-message-divider{border-color:#5cacee33}.beacon-message-info .beacon-message-footer button{border:1px solid #4A708B;color:#4a708b}.beacon-message-info .beacon-message-footer button:hover{background:#4a708b;color:#fff}.beacon-message-footer{display:flex}.beacon-message-footer>div:first-child{flex-grow:1}.beacon-message-footer>div:last-child{flex-grow:1;text-align:right}.beacon-message-footer button{padding:4px 7px;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;background:transparent;cursor:pointer}.beacon-message-footer .beacon-message-button-container-left{text-align:left!important}.beacon-message-footer .beacon-message-button-container-center{text-align:center!important}.beacon-message-footer .beacon-message-button-container-right{text-align:right!important}@keyframes beacon-fade-out{90%{opacity:0;display:none}to{opacity:0;display:none}}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: BeaconIconAlertComponent, selector: "app-beacon-icon-alert" }, { kind: "component", type: BeaconIconErrorComponent, selector: "app-beacon-icon-error" }, { kind: "component", type: BeaconIconInfoComponent, selector: "app-beacon-icon-info" }, { kind: "component", type: BeaconIconSuccessComponent, selector: "app-beacon-icon-success" }, { kind: "component", type: BeaconIconWarningComponent, selector: "app-beacon-icon-warning" }, { kind: "pipe", type: BeaconTypeResolvePipe, name: "beaconTypeResolve" }] });
824
824
  }
825
825
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: BeaconNotifyComponent, decorators: [{
826
826
  type: Component,
827
- args: [{ selector: 'app-beacon', template: "<div #beaconControl \n\t\t[id]=\"'bc_' + beacon.bid\"\n\t\t(mouseenter)=\"autoClose(false, beaconControl)\" \n\t\t(mouseleave)=\"autoClose(true, beaconControl)\"\n\t\t(click)=\"beacon.preventClickClose ? null : closeBeacon(beaconControl, beacon)\"\n\t\t[attr.data-beacon-static]=\"beacon.static\"\n\t\tclass=\"beacon-message-control {{ (beacon.static !== true && beacon.fixed !== true) ? beacon.animationClass : '' }} {{ beacon.replacementClass || beacon.type }} {{ beacon.styleClass }}\"\n\t\t[class.beacon-message-control-no-hover-effect]=\"beacon.noHoverEffect\">\n\t<div class=\"beacon-message-header\">\n\t\t<div>\n\t\t\t<span *ngIf=\"beacon.fontIcon\"><i [class]=\"beacon.icon\"></i></span>\n\t\t\t<span *ngIf=\"!beacon.fontIcon && beaconDefaultIconKeys.includes(beacon.icon)\" class=\"beacon-message-svg-control\">\n\t\t\t\t<app-beacon-icon-alert *ngIf=\"beacon.icon | beaconTypeResolve:'alert'\"></app-beacon-icon-alert>\n\t\t\t\t<app-beacon-icon-error *ngIf=\"beacon.icon | beaconTypeResolve:'error'\"></app-beacon-icon-error>\n\t\t\t\t<app-beacon-icon-info *ngIf=\"beacon.icon | beaconTypeResolve:'info'\"></app-beacon-icon-info>\n\t\t\t\t<app-beacon-icon-success *ngIf=\"beacon.icon | beaconTypeResolve:'success'\"></app-beacon-icon-success>\n\t\t\t\t<app-beacon-icon-warning *ngIf=\"beacon.icon | beaconTypeResolve:'warning'\"></app-beacon-icon-warning>\n\t\t\t</span>\n\t\t\t<span *ngIf=\"!beacon.fontIcon && beacon.icon && !beaconDefaultIconKeys.includes(beacon.icon)\" class=\"beacon-message-svg-control\" [innerHTML]=\"beacon.svgIcon\"></span>\n\t\t\t{{ beacon.title }}\n\t\t</div>\n\t\t<div>\n\t\t\t<div *ngIf=\"!beacon.fixed\" class=\"beacon-message-close\" (click)=\"closeBeacon(beaconControl, beacon)\">\n\t\t\t\t<svg width=\"10\" height=\"10\" viewBox=\"0 0 78 78\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t <rect y=\"7.07104\" width=\"10\" height=\"100\" rx=\"5\" transform=\"rotate(-45 0 7.07104)\" />\n\t\t\t <rect x=\"70.7109\" width=\"10\" height=\"100\" rx=\"5\" transform=\"rotate(45 70.7109 0)\" />\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t<div class=\"beacon-message-divider\"></div>\n\t<div class=\"beacon-message-body\" [innerHTML]=\"beacon.bodyHtml\"></div>\n\t<div class=\"beacon-message-divider\" *ngIf=\"beacon.buttons?.one || beacon.buttons?.two\"></div>\n\n\t<div class=\"beacon-message-footer\" *ngIf=\"beacon.buttons && beacon.buttons?.one && beacon.buttons?.two\">\n\t\t<div><button (click)=\"beaconButtonClick($event, 1)\">{{ beacon.buttons?.one?.text }}</button></div>\n\t\t<div><button (click)=\"beaconButtonClick($event, 2)\">{{ beacon.buttons?.two?.text }}</button></div>\n\t</div>\n\n\t<div class=\"beacon-message-footer\" *ngIf=\"beacon.buttons && beacon.buttons?.one && !beacon?.buttons?.two\">\n\t\t<div [class]=\"beacon.buttons?.one?.position ? ('beacon-message-button-container-' + beacon?.buttons?.one?.position) : ''\">\n\t\t\t<button (click)=\"beaconButtonClick($event, 1)\">{{ beacon.buttons?.one?.text }}</button>\n\t\t</div>\n\t</div>\n\n</div>", styles: [".beacon-message-control{width:270px;height:auto;background:#eee;margin:6px;border-radius:4px;position:relative;z-index:4000;cursor:pointer}.beacon-message-control:hover{box-shadow:0 0 20px #4443}.beacon-message-control-no-hover-effect{box-shadow:none!important}.beacon-message-control-animate{-webkit-animation:beacon-fade-out .5s 7s linear forwards;animation:beacon-fade-out .5s 7s linear forwards}.beacon-message-header,.beacon-message-body,.beacon-message-footer{padding:8px;font-size:15px}.beacon-message-header{font-weight:700;display:flex;font-size:15px}.beacon-message-header>div:first-child{flex-grow:1;display:flex;place-items:flex-start;word-break:break-all}.beacon-message-header>div:first-child i{font-size:20px;margin-right:7px;margin-top:2px}.beacon-message-header>div:last-child{flex-grow:0}.beacon-message-divider{border-top:1px solid #44444433}.beacon-message-close{height:22px;width:22px;border:1px solid #444444;display:flex;place-items:center;place-content:center;border-radius:100%;cursor:pointer;opacity:.3}.beacon-message-close svg rect{fill:#444}.beacon-message-close:hover{opacity:.7}.beacon-message-alert{background:#eee;color:#5e5e5e}.beacon-message-alert .beacon-message-footer button{border:1px solid #5E5E5E;color:#5e5e5e}.beacon-message-alert .beacon-message-footer button:hover{background:#5e5e5e;color:#fff}.beacon-message-success{background:#f0fff0;color:#698b69}.beacon-message-success .beacon-message-divider{border-color:#698b6933}.beacon-message-success .beacon-message-footer button{border:1px solid #698B69;color:#698b69}.beacon-message-success .beacon-message-footer button:hover{background:#698b69;color:#fff}.beacon-message-error{background:#ffe4e1;color:#b22222}.beacon-message-error .beacon-message-divider{border-color:#ee3b3b33}.beacon-message-error .beacon-message-footer button{border:1px solid #B22222;color:#b22222}.beacon-message-error .beacon-message-footer button:hover{background:#b22222;color:#fff}.beacon-message-warning{background:#fffacd;color:#b8860b}.beacon-message-warning .beacon-message-divider{border-color:#ffd70088}.beacon-message-warning .beacon-message-footer button{border:1px solid #B8860B;color:#b8860b}.beacon-message-warning .beacon-message-footer button:hover{background:#b8860b;color:#fff}.beacon-message-info{background:#bfefff;color:#4a708b}.beacon-message-info .beacon-message-divider{border-color:#5cacee33}.beacon-message-info .beacon-message-footer button{border:1px solid #4A708B;color:#4a708b}.beacon-message-info .beacon-message-footer button:hover{background:#4a708b;color:#fff}.beacon-message-footer{display:flex}.beacon-message-footer>div:first-child{flex-grow:1}.beacon-message-footer>div:last-child{flex-grow:1;text-align:right}.beacon-message-footer button{padding:4px 7px;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;background:transparent;cursor:pointer}.beacon-message-footer .beacon-message-button-container-left{text-align:left!important}.beacon-message-footer .beacon-message-button-container-center{text-align:center!important}.beacon-message-footer .beacon-message-button-container-right{text-align:right!important}@keyframes beacon-fade-out{90%{opacity:0;display:none}to{opacity:0;display:none}}\n"] }]
827
+ args: [{ selector: 'app-beacon', template: "<div #beaconControl \n\t\t[id]=\"'bc_' + beacon.bid\"\n\t\t(mouseenter)=\"autoClose(false, beaconControl)\" \n\t\t(mouseleave)=\"autoClose(true, beaconControl)\"\n\t\t(click)=\"beacon.preventClickClose ? null : closeBeacon(beaconControl, beacon)\"\n\t\t[attr.data-beacon-static]=\"beacon.static\"\n\t\tclass=\"beacon-message-control {{ (beacon.static !== true && beacon.fixed !== true) ? beacon.animationClass : '' }} {{ beacon.replacementClass || beacon.type }} {{ beacon.styleClass }}\"\n\t\t[class.beacon-message-control-no-hover-effect]=\"beacon.noHoverEffect\">\n\t<div class=\"beacon-message-header\">\n\t\t<div>\n\t\t\t<span *ngIf=\"beacon.fontIcon\"><i [class]=\"beacon.icon\"></i></span>\n\t\t\t<span *ngIf=\"!beacon.fontIcon && beaconDefaultIconKeys.includes(beacon.icon)\" class=\"beacon-message-svg-control\">\n\t\t\t\t<app-beacon-icon-alert *ngIf=\"beacon.icon | beaconTypeResolve:'alert'\"></app-beacon-icon-alert>\n\t\t\t\t<app-beacon-icon-error *ngIf=\"beacon.icon | beaconTypeResolve:'error'\"></app-beacon-icon-error>\n\t\t\t\t<app-beacon-icon-info *ngIf=\"beacon.icon | beaconTypeResolve:'info'\"></app-beacon-icon-info>\n\t\t\t\t<app-beacon-icon-success *ngIf=\"beacon.icon | beaconTypeResolve:'success'\"></app-beacon-icon-success>\n\t\t\t\t<app-beacon-icon-warning *ngIf=\"beacon.icon | beaconTypeResolve:'warning'\"></app-beacon-icon-warning>\n\t\t\t</span>\n\t\t\t<span *ngIf=\"!beacon.fontIcon && beacon.icon && !beaconDefaultIconKeys.includes(beacon.icon)\" class=\"beacon-message-svg-control\" [innerHTML]=\"beacon.svgIcon\"></span>\n\t\t\t{{ beacon.title }}\n\t\t</div>\n\t\t<div>\n\t\t\t<div *ngIf=\"!beacon.fixed\" class=\"beacon-message-close\" (click)=\"closeBeacon(beaconControl, beacon)\">\n\t\t\t\t<svg width=\"10\" height=\"10\" viewBox=\"0 0 78 78\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t <rect y=\"7.07104\" width=\"10\" height=\"100\" rx=\"5\" transform=\"rotate(-45 0 7.07104)\" />\n\t\t\t <rect x=\"70.7109\" width=\"10\" height=\"100\" rx=\"5\" transform=\"rotate(45 70.7109 0)\" />\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t<div class=\"beacon-message-divider\"></div>\n\t<div class=\"beacon-message-body\" [innerHTML]=\"beacon.bodyHtml\"></div>\n\t<div class=\"beacon-message-divider\" *ngIf=\"beacon.buttons?.one || beacon.buttons?.two\"></div>\n\n\t<div class=\"beacon-message-footer\" *ngIf=\"beacon.buttons && beacon.buttons?.one && beacon.buttons?.two\">\n\t\t<div><button (click)=\"beaconButtonClick($event, 1)\">{{ beacon.buttons?.one?.text }}</button></div>\n\t\t<div><button (click)=\"beaconButtonClick($event, 2)\">{{ beacon.buttons?.two?.text }}</button></div>\n\t</div>\n\n\t<div class=\"beacon-message-footer\" *ngIf=\"beacon.buttons && beacon.buttons?.one && !beacon?.buttons?.two\">\n\t\t<div [class]=\"beacon.buttons?.one?.position ? ('beacon-message-button-container-' + beacon?.buttons?.one?.position) : ''\">\n\t\t\t<button (click)=\"beaconButtonClick($event, 1)\">{{ beacon.buttons?.one?.text }}</button>\n\t\t</div>\n\t</div>\n\n</div>", styles: [".beacon-message-control{width:270px;height:auto;background:#eee;margin:6px;border-radius:4px;position:relative;z-index:4000;cursor:pointer}.beacon-message-control:hover{box-shadow:0 0 20px #4443}.beacon-message-control-no-hover-effect{box-shadow:none!important}.beacon-message-control-animate{-webkit-animation:beacon-fade-out .5s 7s linear forwards;animation:beacon-fade-out .5s 7s linear forwards}.beacon-message-header,.beacon-message-body,.beacon-message-footer{padding:8px;font-size:15px}.beacon-message-header{font-weight:700;display:flex;font-size:15px}.beacon-message-header>div:first-child{flex-grow:1;display:flex;place-items:flex-start;word-break:break-all}.beacon-message-header>div:first-child i{font-size:20px;margin-right:7px;margin-top:2px}.beacon-message-header>div:last-child{flex-grow:0}.beacon-message-body{font-weight:700}.beacon-message-divider{border-top:1px solid #44444433}.beacon-message-close{height:22px;width:22px;border:1px solid #444444;display:flex;place-items:center;place-content:center;border-radius:100%;cursor:pointer;opacity:.3}.beacon-message-close svg rect{fill:#444}.beacon-message-close:hover{opacity:.7}.beacon-message-alert{background:#eee;color:#5e5e5e}.beacon-message-alert .beacon-message-footer button{border:1px solid #5E5E5E;color:#5e5e5e}.beacon-message-alert .beacon-message-footer button:hover{background:#5e5e5e;color:#fff}.beacon-message-success{background:#f0fff0;color:#698b69}.beacon-message-success .beacon-message-divider{border-color:#698b6933}.beacon-message-success .beacon-message-footer button{border:1px solid #698B69;color:#698b69}.beacon-message-success .beacon-message-footer button:hover{background:#698b69;color:#fff}.beacon-message-error{background:#ffe4e1;color:#b22222}.beacon-message-error .beacon-message-divider{border-color:#ee3b3b33}.beacon-message-error .beacon-message-footer button{border:1px solid #B22222;color:#b22222}.beacon-message-error .beacon-message-footer button:hover{background:#b22222;color:#fff}.beacon-message-warning{background:#fffacd;color:#b8860b}.beacon-message-warning .beacon-message-divider{border-color:#ffd70088}.beacon-message-warning .beacon-message-footer button{border:1px solid #B8860B;color:#b8860b}.beacon-message-warning .beacon-message-footer button:hover{background:#b8860b;color:#fff}.beacon-message-info{background:#bfefff;color:#4a708b}.beacon-message-info .beacon-message-divider{border-color:#5cacee33}.beacon-message-info .beacon-message-footer button{border:1px solid #4A708B;color:#4a708b}.beacon-message-info .beacon-message-footer button:hover{background:#4a708b;color:#fff}.beacon-message-footer{display:flex}.beacon-message-footer>div:first-child{flex-grow:1}.beacon-message-footer>div:last-child{flex-grow:1;text-align:right}.beacon-message-footer button{padding:4px 7px;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;background:transparent;cursor:pointer}.beacon-message-footer .beacon-message-button-container-left{text-align:left!important}.beacon-message-footer .beacon-message-button-container-center{text-align:center!important}.beacon-message-footer .beacon-message-button-container-right{text-align:right!important}@keyframes beacon-fade-out{90%{opacity:0;display:none}to{opacity:0;display:none}}\n"] }]
828
828
  }], ctorParameters: () => [{ type: BeaconNotifyService }, { type: i1.DomSanitizer }], propDecorators: { beacon: [{
829
829
  type: Input
830
830
  }] } });
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-beacon-notify.mjs","sources":["../../src/lib/types/constants/index.ts","../../src/lib/beacon-notify.service.ts","../../src/lib/icons/beacon-icon-alert/beacon-icon-alert.component.ts","../../src/lib/icons/beacon-icon-alert/beacon-icon-alert.component.html","../../src/lib/icons/beacon-icon-error/beacon-icon-error.component.ts","../../src/lib/icons/beacon-icon-error/beacon-icon-error.component.html","../../src/lib/icons/beacon-icon-info/beacon-icon-info.component.ts","../../src/lib/icons/beacon-icon-info/beacon-icon-info.component.html","../../src/lib/icons/beacon-icon-success/beacon-icon-success.component.ts","../../src/lib/icons/beacon-icon-success/beacon-icon-success.component.html","../../src/lib/icons/beacon-icon-warning/beacon-icon-warning.component.ts","../../src/lib/icons/beacon-icon-warning/beacon-icon-warning.component.html","../../src/lib/pipes/beacon-type-resolve.pipe.ts","../../src/lib/beacon/beacon.component.ts","../../src/lib/beacon/beacon.component.html","../../src/lib/container/container.component.ts","../../src/lib/container/container.component.html","../../src/lib/beacon-notify.module.ts","../../src/ngx-beacon-notify.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\r\nimport { IBeaconGlobalConfig } from '../interfaces';\r\n\r\nexport const BEACON_GLOBAL_CONFIG = new InjectionToken<IBeaconGlobalConfig>('IBeaconGlobalConfig')\r\n\r\nexport const BEACON_OVERLAY_COLOR = '#000000DD'\r\n\r\nexport const BEACON_OVERLAY_ID = 'beacon-notify-focus-overlay_x'\r\n\r\nexport const BEACON_TYPE_KEYS = ['a.a', 'a.e', 'a.i', 'a.s', 'a.w']","import { Injectable, Inject, ViewChild, EventEmitter, ElementRef } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { BeaconNotifyComponent } from './beacon/beacon.component';\nimport {\n IBeaconConfig,\n IBeaconInlineConfig,\n IBeaconGlobalConfig,\n IBeaconType,\n IBeaconPositionConfig,\n IBeaconEvent,\n IBeaconWatchedEvent,\n IBeaconEventMessage,\n IBeaconTypeIcon,\n IBeaconButtonType,\n BEACON_GLOBAL_CONFIG,\n BEACON_OVERLAY_COLOR,\n BEACON_OVERLAY_ID,\n BEACON_TYPE_KEYS\n} from './types';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BeaconNotifyService {\n private beaconDefaultIconKeys = BEACON_TYPE_KEYS\n private beaconConfigMap: { [key: string]: { [key: string]: string } } = {\n alert: { icon: this.beaconDefaultIconKeys[0], fontIcon: 'false', class: 'beacon-message-alert', title: 'Alert', style: '', animation: '', type: 'alert' },\n error: { icon: this.beaconDefaultIconKeys[1], fontIcon: 'false', class: 'beacon-message-error', title: 'Error', style: '', animation: '', type: 'error' },\n info: { icon: this.beaconDefaultIconKeys[2], fontIcon: 'false', class: 'beacon-message-info', title: 'Information', style: '', animation: '', type: 'info' },\n success: { icon: this.beaconDefaultIconKeys[3], fontIcon: 'false', class: 'beacon-message-success', title: 'Success', style: '', animation: '', type: 'success' },\n warning: { icon: this.beaconDefaultIconKeys[4], fontIcon: 'false', class: 'beacon-message-warning', title: 'Warning', style: '', animation: '', type: 'warning' }\n }\n private beaconTypeMap: { [key: string]: string } = {\n a: 'success', b: 'error', c: 'warning', d: 'info', e: 'alert'\n }\n private beaconTitle?: string\n private beaconMessage?: string\n private beaconIcon?: string\n private beaconManualId?: string\n private beaconSelectedManualId?: string\n private beaconIconFromFont?: true\n private beaconStatic?: true | number\n private beaconFixed?: true\n private beaconBlockOthers?: true\n private beaconPreventClickClose?: true\n private beaconAllowDuplicate?: true\n private beaconFocus?: true\n private beaconFocusShine?: true\n private beaconFocusShineScale?: number\n private beaconOverlayColor?: string\n private beaconStyleClass?: string\n private beaconReplacementClass?: string\n private beaconAnimationClass?: string\n private beaconNoHoverEffect?: true\n private beaconGlobalStatic?: true | number\n private beaconGlobalFixed?: true\n private beaconGlobalBlockOthers?: true\n private beaconGlobalPreventClickClose?: true\n private beaconGlobalDuplicate?: boolean\n private beaconGlobalNoHoverEffect?: true\n private beaconGlobalFocusShineScale?: number\n private beaconGlobalPositioning?: IBeaconPositionConfig\n private beaconGlobalFocusOverlayColor?: string\n private beaconContainer!: ElementRef\n private beaconDefaultAnimationClassName: string = 'beacon-message-control-animate'\n private beaconSuccessorBlockerAutoId?: string\n private beaconWithActiveFocusAutoId?: string\n private beaconButtons: IBeaconButtonType = {}\n private beaconFocusOrderLibrary: Array<string> = []\n private beaconSubscribedEventLibrary: { [key: string]: { [key: string]: string | EventEmitter<IBeaconEvent> } } = {}\n private beaconWatchedEventLibrary: Map<string, string> = new Map<string, string>([])\n private beaconWatchedEventTaskMaster: EventEmitter<IBeaconWatchedEvent> = new EventEmitter<IBeaconWatchedEvent>()\n private beaconAllEventTaskMaster: EventEmitter<IBeaconWatchedEvent> = new EventEmitter<IBeaconWatchedEvent>()\n private beaconFocusOverlayDOM?: HTMLElement\n public beaconEventTaskMaster: EventEmitter<{ [key: string]: boolean| string }> = new EventEmitter<{ [key: string]: boolean | string }>()\n public beaconLibrary: Array<IBeaconConfig> = []\n public beaconLibraryQueue: Array<IBeaconConfig> = []\n \n constructor(private sanitizer: DomSanitizer,\n @Inject(BEACON_GLOBAL_CONFIG) private globalConfig?: IBeaconGlobalConfig) {\n this.globalConfig && this.resolveGlobalConfig(this.globalConfig)\n // Resolve events\n this.resolveBeaconEvents()\n }\n\n // Resolve global config\n private resolveGlobalConfig(globalConfig: IBeaconGlobalConfig): void {\n if (globalConfig.static) {\n if (typeof globalConfig.static == 'boolean') {\n this.beaconGlobalFixed = undefined\n this.beaconGlobalStatic = true\n } else this.beaconGlobalStatic = globalConfig.static\n }\n\n if (globalConfig.fixed) {\n this.beaconGlobalStatic = undefined\n this.beaconGlobalFixed = true\n }\n\n globalConfig.preventClickClose && (this.beaconGlobalPreventClickClose = globalConfig.preventClickClose)\n globalConfig.blockOthers && (this.beaconGlobalBlockOthers = globalConfig.blockOthers)\n globalConfig.overlayColor && (this.beaconGlobalFocusOverlayColor = globalConfig.overlayColor)\n globalConfig.duplicate && (this.beaconGlobalDuplicate = globalConfig.duplicate)\n globalConfig.icon && this.resolveGlobalIconConfig(globalConfig.icon)\n globalConfig.styleClass && this.resolveGlobalPropertyConfig(globalConfig.styleClass, 'style')\n globalConfig.replacementClass && this.resolveGlobalPropertyConfig(globalConfig.replacementClass, 'class')\n globalConfig.animationClass && this.resolveGlobalPropertyConfig(globalConfig.animationClass, 'animation')\n globalConfig.position && (this.beaconGlobalPositioning = globalConfig.position)\n globalConfig.noHoverEffect && (this.beaconGlobalNoHoverEffect = globalConfig.noHoverEffect)\n globalConfig.shineScale && (this.beaconGlobalFocusShineScale = globalConfig.shineScale)\n }\n\n // Resolve global config / for property\n private resolveGlobalPropertyConfig(config: IBeaconType, property: string): void {\n config.alert && (this.beaconConfigMap.alert[property] = config.alert)\n config.error && (this.beaconConfigMap.error[property] = config.error)\n config.info && (this.beaconConfigMap.info[property] = config.info)\n config.success && (this.beaconConfigMap.success[property] = config.success)\n config.warning && (this.beaconConfigMap.warning[property] = config.warning)\n }\n\n // Resolve global config / for icons\n private resolveGlobalIconConfig(config: IBeaconTypeIcon): void {\n config?.alert?.icon && (this.beaconConfigMap.alert.icon = config.alert.icon) && (this.beaconConfigMap.alert.fontIcon = String((config?.alert?.fontIcon || false)))\n config?.error?.icon && (this.beaconConfigMap.error.icon = config.error.icon) && (this.beaconConfigMap.error.fontIcon = String((config?.error?.fontIcon || false)))\n config?.info?.icon && (this.beaconConfigMap.info.icon = config.info.icon) && (this.beaconConfigMap.info.fontIcon = String((config.info.fontIcon || false)))\n config?.success?.icon && (this.beaconConfigMap.success.icon = config.success.icon) && (this.beaconConfigMap.success.fontIcon = String((config.success.fontIcon || false)))\n config?.warning?.icon && (this.beaconConfigMap.warning.icon = config.warning.icon) && (this.beaconConfigMap.warning.fontIcon = String((config.warning.fontIcon || false)))\n }\n\n // Resolve beacon events\n private resolveBeaconEvents(): void {\n this.beaconEventTaskMaster.subscribe((message: IBeaconEventMessage) => {\n const id = String(message.id)\n if (message.delete) {\n this.resolvePossibleBlockedBeacons(id)\n this.resolvePossibleQueuedFocus(id)\n this.performEventTask(id, { on: false, off: true })\n delete this.beaconSubscribedEventLibrary[id]\n } else if (message.mount) {\n this.performEventTask(id, { on: true, off: false })\n }\n })\n }\n\n // Perform event task\n private performEventTask(id: string, eventObject: IBeaconEvent): void {\n const stamp = this.beaconSubscribedEventLibrary[id]\n const event = <EventEmitter<IBeaconEvent>>stamp.event\n const manualId = stamp?.manualId?.toString().replace(/undefined/, '')\n event.emit(eventObject)\n this.beaconAllEventTaskMaster.emit({ id: manualId || null, type: String(stamp.type), ...eventObject })\n\n // Check if this manual id is watched\n if (manualId && this.beaconWatchedEventLibrary.has(manualId)) {\n this.beaconWatchedEventTaskMaster.emit({ id: manualId, type: String(stamp.type), ...eventObject })\n // Check if beacon is off\n if (eventObject.off) \n this.beaconWatchedEventLibrary.delete(manualId)\n }\n }\n\n // Resolve possible blocked beacons\n private resolvePossibleBlockedBeacons(id: string): void {\n // Check if this id is blocking others\n if (id == this.beaconSuccessorBlockerAutoId) {\n if (this.beaconLibraryQueue.length) {\n const queueLength = this.beaconLibraryQueue.length\n // Loop through queue\n for (let x = 0; x < queueLength; x++) {\n const nextInLine = <IBeaconConfig>this.beaconLibraryQueue.shift()\n\n // Add message to library\n if (this.getBeaconGlobalPositionConfig?.topBottom == 'top')\n this.beaconLibrary.unshift(nextInLine)\n else this.beaconLibrary.push(nextInLine) \n\n // Check if set to block\n if (nextInLine.blockOthers) {\n this.beaconSuccessorBlockerAutoId = nextInLine.bid\n break\n }\n }\n\n // Check if no new beacon is set as blocker and unset previous value\n if (id == this.beaconSuccessorBlockerAutoId) \n this.beaconSuccessorBlockerAutoId = undefined\n }\n else this.beaconSuccessorBlockerAutoId = undefined\n }\n }\n\n // Resolve queued beacon focus\n private resolvePossibleQueuedFocus(id: string): void {\n // Check if this id is active focus beacon\n if (id == this.beaconWithActiveFocusAutoId) {\n if (this.beaconFocusOrderLibrary.length) {\n // Pass the next focus\n this.beaconWithActiveFocusAutoId = this.beaconFocusOrderLibrary.shift()\n this.beaconEventTaskMaster.emit({ autoDetectNextFocusBeacon: true })\n }\n else {\n this.beaconWithActiveFocusAutoId = undefined\n this.destroyBeaconFocusOverlay()\n }\n }\n }\n\n // Generate unique id for item\n private get getId(): string {\n return crypto.getRandomValues(new Uint32Array(2)).toString().split(',').join('')\n }\n\n // Set beacon container\n public setBeaconContainer(container: ElementRef): void {\n this.beaconContainer = container\n }\n\n // Get beacon container\n public get getBeaconContainer(): ElementRef {\n return this.beaconContainer\n }\n\n // Get beacon global position config\n public get getBeaconGlobalPositionConfig(): IBeaconPositionConfig | undefined {\n return this.beaconGlobalPositioning\n }\n\n // Get default icon keys\n public get getBeaconDefaultIconKeys(): string[] {\n return this.beaconDefaultIconKeys\n }\n\n // Get active focus beacon id\n public get getActiveFocusBeaconId(): string | undefined {\n return this.beaconWithActiveFocusAutoId\n }\n\n // Create overlay for focused beacon\n public createBeaconFocusOverlay(overlayColor?: string): void {\n const overlay = document.createElement('div')\n overlay.setAttribute('id', BEACON_OVERLAY_ID)\n overlay.style.position = 'fixed'\n overlay.style.top = '0'\n overlay.style.bottom = '0'\n overlay.style.right = '0'\n overlay.style.left = '0'\n overlay.style.zIndex = '9002'\n overlay.style.background = overlayColor || this.beaconGlobalFocusOverlayColor || BEACON_OVERLAY_COLOR\n document.body.style.overflow = 'hidden'\n\n // Pass overlay element\n this.beaconFocusOverlayDOM = overlay\n\n this.beaconContainer.nativeElement.appendChild(overlay)\n }\n\n // Repaint overlay for focused beacon\n public repaintBeaconFocusOverlay(overlayColor?: string): void {\n if (this.beaconFocusOverlayDOM)\n this.beaconFocusOverlayDOM.style.background = overlayColor || this.beaconGlobalFocusOverlayColor || BEACON_OVERLAY_COLOR\n }\n\n // Destroy overlay for focused beacon\n public destroyBeaconFocusOverlay(): void {\n document.body.style.overflow = 'auto'\n this.beaconContainer.nativeElement.querySelector('div#' + BEACON_OVERLAY_ID).remove()\n this.beaconFocusOverlayDOM = undefined\n }\n\n // Set id for beacon\n public id(id: string): BeaconNotifyService {\n id && (this.beaconManualId = id)\n return this\n }\n\n // Set notification title\n public title(title: string): BeaconNotifyService {\n title && (this.beaconTitle = title)\n return this\n }\n\n // Set notification message\n public message(message: string): BeaconNotifyService {\n message && (this.beaconMessage = message)\n return this\n }\n\n // Highlight id of beacon to update\n public select(id: string): BeaconNotifyService {\n id && (this.beaconSelectedManualId = id)\n return this\n }\n\n // Change notification title\n public setTitle(title: string): void {\n // Check for active manual id / and if a beacon is tied to it\n if (this.beaconSelectedManualId) {\n const beaconIndex = this.beaconLibrary.findIndex(x => x.mid == this.beaconSelectedManualId)\n if (beaconIndex >= 0)\n this.beaconLibrary[beaconIndex].title = title\n }\n }\n\n // Change notification message\n public setMessage(message: string): void {\n // Check for active manual id / and if a beacon is tied to it\n if (this.beaconSelectedManualId) {\n const beaconIndex = this.beaconLibrary.findIndex(x => x.mid == this.beaconSelectedManualId)\n if (beaconIndex >= 0)\n this.beaconLibrary[beaconIndex].body = message\n }\n }\n\n // Change notification title & message\n public setContent(title: string, message: string): void {\n // Check for active manual id / and if a beacon is tied to it\n if (this.beaconSelectedManualId) {\n const beaconIndex = this.beaconLibrary.findIndex(x => x.mid == this.beaconSelectedManualId)\n if (beaconIndex >= 0)\n this.beaconLibrary[beaconIndex].title = title\n this.beaconLibrary[beaconIndex].body = message\n }\n }\n\n // Update beacon button 1\n public setButtonOne(text: string, canDismiss?: boolean | null, callback?: any, callbackArgs?: any[] | null, position?: 'left' | 'center' | 'right'): void {\n // Check for active manual id / and if a beacon is tied to it\n if (this.beaconSelectedManualId) {\n const beaconIndex = this.beaconLibrary.findIndex(x => x.mid == this.beaconSelectedManualId)\n if (beaconIndex >= 0) {\n (<IBeaconButtonType>this.beaconLibrary[beaconIndex].buttons).one = {\n text: text.substring(0, 15),\n canDismiss,\n callback,\n callbackArgs,\n position\n }\n }\n }\n }\n\n // Update beacon button 2\n public setButtonTwo(text: string, canDismiss?: boolean | null, callback?: any, callbackArgs?: any[] | null, position?: 'left' | 'center' | 'right'): void {\n // Check for active manual id / and if a beacon is tied to it\n if (this.beaconSelectedManualId) {\n const beaconIndex = this.beaconLibrary.findIndex(x => x.mid == this.beaconSelectedManualId)\n if (beaconIndex >= 0) {\n if (this.beaconLibrary[beaconIndex].buttons?.one) {\n (<IBeaconButtonType>this.beaconLibrary[beaconIndex].buttons).two = {\n text: text.substring(0, 15),\n canDismiss,\n callback,\n callbackArgs,\n position\n }\n } else this.setButtonOne(text, canDismiss, callback, callbackArgs, position)\n }\n }\n }\n\n // Remove beacon button 1\n public removeButtonOne(): void {\n // Check for active manual id / and if a beacon is tied to it\n if (this.beaconSelectedManualId) {\n const beaconIndex = this.beaconLibrary.findIndex(x => x.mid == this.beaconSelectedManualId)\n if (beaconIndex >= 0) {\n (<IBeaconButtonType>this.beaconLibrary[beaconIndex].buttons).one = undefined\n }\n }\n }\n\n // Remove beacon button 2\n public removeButtonTwo(): void {\n // Check for active manual id / and if a beacon is tied to it\n if (this.beaconSelectedManualId) {\n const beaconIndex = this.beaconLibrary.findIndex(x => x.mid == this.beaconSelectedManualId)\n if (beaconIndex >= 0) {\n (<IBeaconButtonType>this.beaconLibrary[beaconIndex].buttons).two = undefined\n }\n }\n }\n\n // Remove beacon buttons\n public removeButtons(): void {\n // Check for active manual id / and if a beacon is tied to it\n if (this.beaconSelectedManualId) {\n const beaconIndex = this.beaconLibrary.findIndex(x => x.mid == this.beaconSelectedManualId)\n if (beaconIndex >= 0) {\n (<IBeaconButtonType>this.beaconLibrary[beaconIndex].buttons).one = undefined;\n (<IBeaconButtonType>this.beaconLibrary[beaconIndex].buttons).two = undefined\n }\n }\n }\n\n // Set beacon as static or with delay\n public static(delay?: number): BeaconNotifyService {\n this.beaconStatic = delay || true\n this.beaconFixed = undefined\n return this\n }\n\n // Set beacon as fixed which removes the close button and disallows close on click\n public fixed(): BeaconNotifyService {\n this.beaconStatic = undefined\n this.beaconFixed = true\n return this\n }\n\n // Allow beacon to block others\n public block(): BeaconNotifyService {\n this.beaconBlockOthers = true\n return this\n }\n\n // Focus on beacon\n public focus(overlayColor?: string): BeaconNotifyService {\n overlayColor && (this.beaconOverlayColor = overlayColor)\n this.beaconFocus = true\n return this\n }\n\n // Focus beacon on center screen\n public shine(scale?: number, overlayColor?: string): BeaconNotifyService {\n overlayColor && (this.beaconOverlayColor = overlayColor)\n this.beaconFocusShine = this.beaconFocus = true\n scale && (this.beaconFocusShineScale = scale)\n return this\n }\n\n // Add button for beacon\n public button(text: string, canDismiss?: boolean | null, callback?: any, callbackArgs?: any[] | null, position?: 'left' | 'center' | 'right'): BeaconNotifyService {\n if (!this.beaconButtons?.one) {\n this.beaconButtons.one = {\n text: text.substring(0, 15),\n canDismiss,\n callback,\n callbackArgs,\n position\n }\n } else if (this.beaconButtons.one && !this.beaconButtons.two) {\n this.beaconButtons.two = {\n text: text.substring(0, 15),\n canDismiss,\n callback,\n callbackArgs,\n position\n }\n }\n\n return this\n }\n\n // Allow duplicate for beacon\n public duplicate(): BeaconNotifyService {\n this.beaconAllowDuplicate = true\n return this\n }\n\n // Set config values for beacon\n public build(config: IBeaconInlineConfig): BeaconNotifyService {\n if (config.static) {\n if (typeof config.static == 'boolean')\n this.static()\n else this.static(Number(config.static))\n }\n\n config.fixed && this.fixed()\n config.duplicate && this.duplicate()\n config.preventClickClose && (this.beaconPreventClickClose = config.preventClickClose)\n config.blockOthers && (this.beaconBlockOthers = config.blockOthers)\n config.focus && (this.beaconFocus = config.focus)\n config.shine && (this.beaconFocusShine = this.beaconFocus = config.shine)\n config.icon && (this.beaconIcon = config.icon)\n config.fontIcon && (this.beaconIconFromFont = config.fontIcon)\n config.styleClass && (this.beaconStyleClass = config.styleClass)\n config.replacementClass && (this.beaconReplacementClass = config.replacementClass)\n config.animationClass && (this.beaconAnimationClass = config.animationClass)\n config.animationClass && (this.beaconAnimationClass = config.animationClass)\n config.overlayColor && (this.beaconOverlayColor = config.overlayColor)\n config.noHoverEffect && (this.beaconNoHoverEffect = config.noHoverEffect)\n config.shineScale && (this.beaconFocusShineScale = config.shineScale)\n return this\n }\n\n // create notification beacon\n private beacon(message: string, type: string): EventEmitter<IBeaconEvent> {\n // Get signature\n const signature = window.btoa((this.beaconTitle || this.beaconConfigMap[type].title) + '.' + message)\n // Generate beacon id\n const beaconId = this.getId\n // Register beacon in event library\n this.beaconSubscribedEventLibrary[beaconId] = Object.create({})\n // Check for duplicate if set to prevent or proceed if turned off\n if (this.beaconAllowDuplicate || (([undefined, false].includes(this.beaconGlobalDuplicate) && this.isNewBeaconADuplicate(signature) == !1) || this.beaconGlobalDuplicate)) {\n const beaconObject: IBeaconConfig = {\n bid: beaconId,\n mid: this.beaconManualId,\n type: this.beaconConfigMap[type].class,\n icon: this.beaconIcon || this.beaconConfigMap[type].icon,\n fontIcon: this.beaconIconFromFont || (this.beaconConfigMap[type].fontIcon == 'true' ? true : undefined),\n title: this.beaconTitle || this.beaconConfigMap[type].title,\n static: this.beaconStatic || this.beaconGlobalStatic,\n fixed: this.beaconFixed || this.beaconGlobalFixed,\n preventClickClose: this.beaconPreventClickClose || this.beaconGlobalPreventClickClose,\n styleClass: this.beaconStyleClass || this.beaconConfigMap[type].style,\n replacementClass: this.beaconReplacementClass,\n animationClass: this.beaconAnimationClass || this.beaconConfigMap[type].animation || this.beaconDefaultAnimationClassName,\n blockOthers: this.beaconBlockOthers || this.beaconGlobalBlockOthers,\n buttons: this.beaconButtons,\n overlayColor: this.beaconOverlayColor,\n bodyHtml: <SafeHtml>this.sanitizer.bypassSecurityTrustHtml(message),\n body: message,\n focus: this.beaconFocus,\n shine: this.beaconFocusShine,\n noHoverEffect: this.beaconNoHoverEffect || this.beaconGlobalNoHoverEffect,\n shineScale: this.beaconFocusShineScale || this.beaconGlobalFocusShineScale,\n signature\n }\n\n // Sanitize icon if passed\n if (!beaconObject.fontIcon && beaconObject.icon && !this.beaconDefaultIconKeys.includes(beaconObject.icon)) {\n beaconObject.svgIcon = <SafeHtml>this.sanitizer.bypassSecurityTrustHtml(beaconObject.icon)\n }\n\n // Check if there is an active beacon blocking others and add build beacon to queue\n if (this.beaconSuccessorBlockerAutoId) {\n this.beaconLibraryQueue.push(beaconObject)\n } else {\n // Check if beacon can block and register id\n if (beaconObject.blockOthers)\n this.beaconSuccessorBlockerAutoId = beaconObject.bid\n\n // Add message to library\n if (this.getBeaconGlobalPositionConfig?.topBottom == 'top')\n this.beaconLibrary.unshift(beaconObject)\n else this.beaconLibrary.push(beaconObject)\n }\n\n // Check if beacon has focus\n if (this.beaconFocus) {\n if (this.beaconWithActiveFocusAutoId)\n this.beaconFocusOrderLibrary.push(beaconObject.bid)\n else\n this.beaconWithActiveFocusAutoId = beaconObject.bid\n }\n\n // Check if id is set and register it\n if (this.beaconManualId) {\n this.beaconSubscribedEventLibrary[beaconId].manualId = this.beaconManualId\n // Map the defined id to the auto-gen id\n this.beaconWatchedEventLibrary.set(this.beaconManualId, beaconId)\n }\n\n // Register beacon type \n this.beaconSubscribedEventLibrary[beaconId].type = this.beaconConfigMap[type].type\n }\n\n // Register event for beacon\n this.beaconSubscribedEventLibrary[beaconId].event = new EventEmitter<IBeaconEvent>()\n\n // Reset\n this.beaconTitle = undefined\n this.beaconMessage = undefined\n this.beaconStatic = undefined\n this.beaconFixed = undefined\n this.beaconBlockOthers = undefined\n this.beaconManualId = undefined\n this.beaconFocus = undefined\n this.beaconFocusShine = undefined\n this.beaconOverlayColor = undefined\n this.beaconAllowDuplicate = undefined\n this.beaconNoHoverEffect = undefined\n this.beaconIcon = undefined\n this.beaconIconFromFont = undefined\n this.beaconStyleClass = undefined\n this.beaconReplacementClass = undefined\n this.beaconAnimationClass = undefined\n this.beaconButtons = {}\n\n return <EventEmitter<IBeaconEvent>>this.beaconSubscribedEventLibrary[beaconId].event\n }\n\n // Set notification message / success\n public success(...message: string[]): EventEmitter<IBeaconEvent> {\n // Set title\n (message.length > 1) && message[0] && this.title(message[0])\n // Set body\n return this.beacon(message[1] || message[0] || this.beaconMessage || this.beaconConfigMap.success.title, this.beaconTypeMap.a)\n }\n\n // Set notification message / error\n public error(...message: string[]): EventEmitter<IBeaconEvent> {\n // Set title\n (message.length > 1) && message[0] && this.title(message[0])\n // Set body\n return this.beacon(message[1] || message[0] || this.beaconMessage || this.beaconConfigMap.error.title, this.beaconTypeMap.b)\n }\n\n // Set notification message / warning\n public warning(...message: string[]): EventEmitter<IBeaconEvent> {\n // Set title\n (message.length > 1) && message[0] && this.title(message[0])\n // Set body\n return this.beacon(message[1] || message[0] || this.beaconMessage || this.beaconConfigMap.warning.title, this.beaconTypeMap.c)\n }\n\n // Set notification message / info\n public info(...message: string[]): EventEmitter<IBeaconEvent> {\n // Set title\n (message.length > 1) && message[0] && this.title(message[0])\n // Set body\n return this.beacon(message[1] || message[0] || this.beaconMessage || this.beaconConfigMap.info.title, this.beaconTypeMap.d)\n }\n\n // Set notification message / alert\n public alert(...message: string[]): EventEmitter<IBeaconEvent> {\n // Set title\n (message.length > 1) && message[0] && this.title(message[0])\n // Set body\n return this.beacon(message[1] || message[0] || this.beaconMessage || this.beaconConfigMap.alert.title, this.beaconTypeMap.e)\n }\n\n // Watch events for beacon with specified id\n public watch(id: string | string[]): EventEmitter<IBeaconWatchedEvent> {\n // Register watched id\n if (Array.isArray(id))\n id.forEach(k => this.beaconWatchedEventLibrary.set(k, String()))\n else this.beaconWatchedEventLibrary.set(id, String())\n\n return this.beaconWatchedEventTaskMaster\n }\n\n // Watch events for all beacons\n public events(): EventEmitter<IBeaconWatchedEvent> {\n return this.beaconAllEventTaskMaster\n }\n\n // Close beacon with id\n public closeOne(id: string): void {\n if (this.beaconWatchedEventLibrary.has(id)) {\n const autoId = <string>this.beaconWatchedEventLibrary.get(id)\n\n // Remove the beacon\n this.beaconLibrary = this.beaconLibrary.filter(x => {\n return (x.bid != autoId)\n })\n\n this.beaconEventTaskMaster.emit({\n delete: true,\n id: autoId\n })\n }\n }\n\n // Close all beacons\n public closeAll(): void {\n this.beaconLibrary = this.beaconLibrary.filter(x => {\n this.beaconEventTaskMaster.emit({\n delete: true,\n id: x.bid\n })\n\n return !(x.bid)\n })\n }\n\n // Check for possible duplicate\n private isNewBeaconADuplicate(signature: string): boolean {\n const duplicate = this.beaconLibrary.find(x => x.signature == signature)\n const beacon = this.beaconContainer.nativeElement.querySelector(`div#bc_${duplicate?.bid}`)\n return Boolean(beacon && window.getComputedStyle(beacon).opacity == '1')\n }\n}","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-beacon-icon-alert',\n templateUrl: './beacon-icon-alert.component.html',\n styleUrls: ['./beacon-icon-alert.component.css']\n})\nexport class BeaconIconAlertComponent {\n\n}\n","<svg fill=\"currentColor\" viewBox=\"0 0 48 48\" data-name=\"Layer 1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\">\n <g id=\"SVGRepo_bgCarrier\" stroke-width=\"0\"></g>\n <g id=\"SVGRepo_tracerCarrier\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></g>\n <g id=\"SVGRepo_iconCarrier\">\n <title></title>\n <path\n d=\"M40.62,28.34l-.87-.7A2,2,0,0,1,39,26.08V18A15,15,0,0,0,26.91,3.29a3,3,0,0,0-5.81,0A15,15,0,0,0,9,18v8.08a2,2,0,0,1-.75,1.56l-.87.7a9,9,0,0,0-3.38,7V37a4,4,0,0,0,4,4h8.26a8,8,0,0,0,15.47,0H40a4,4,0,0,0,4-4V35.36A9,9,0,0,0,40.62,28.34ZM24,43a4,4,0,0,1-3.44-2h6.89A4,4,0,0,1,24,43Zm16-6H8V35.36a5,5,0,0,1,1.88-3.9l.87-.7A6,6,0,0,0,13,26.08V18a11,11,0,0,1,22,0v8.08a6,6,0,0,0,2.25,4.69l.87.7A5,5,0,0,1,40,35.36Z\"\n ></path>\n </g>\n</svg>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-beacon-icon-error',\n templateUrl: './beacon-icon-error.component.html',\n styleUrls: ['./beacon-icon-error.component.css']\n})\nexport class BeaconIconErrorComponent {\n\n}\n","<svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g id=\"SVGRepo_bgCarrier\" stroke-width=\"0\"></g>\n <g id=\"SVGRepo_tracerCarrier\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></g>\n <g id=\"SVGRepo_iconCarrier\">\n <path\n d=\"M11.3586 20.6831C11.5639 20.7901 11.6666 20.8436 11.809 20.8713C11.92 20.8929 12.08 20.8929 12.191 20.8713C12.3334 20.8436 12.4361 20.7901 12.6414 20.6831C14.54 19.6939 20 16.4612 20 12.0001V8.21772C20 7.4182 20 7.01845 19.8692 6.67482C19.7537 6.37126 19.566 6.10039 19.3223 5.88564C19.0465 5.64255 18.6722 5.50219 17.9236 5.22146L12.5618 3.21079C12.3539 3.13283 12.25 3.09385 12.143 3.07839C12.0482 3.06469 11.9518 3.06469 11.857 3.07839C11.75 3.09385 11.6461 3.13283 11.4382 3.21079L6.0764 5.22146C5.3278 5.50219 4.9535 5.64255 4.67766 5.88564C4.43398 6.10039 4.24627 6.37126 4.13076 6.67482C4 7.01845 4 7.4182 4 8.21772V12.0001C4 16.4612 9.45996 19.6939 11.3586 20.6831Z\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n ></path>\n </g>\n</svg>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-beacon-icon-info',\n templateUrl: './beacon-icon-info.component.html',\n styleUrls: ['./beacon-icon-info.component.css']\n})\nexport class BeaconIconInfoComponent {\n\n}\n","<svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g id=\"SVGRepo_bgCarrier\" stroke-width=\"0\"></g>\n <g id=\"SVGRepo_tracerCarrier\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></g>\n <g id=\"SVGRepo_iconCarrier\">\n <path\n d=\"M10 22H14M5 9C5 5.13401 8.13401 2 12 2C15.866 2 19 5.13401 19 9C19 11.3787 17.8135 13.4694 16 14.7344L15.4582 17.3004C15.3097 18.2778 14.4695 19 13.4809 19H10.5191C9.53052 19 8.69027 18.2778 8.54177 17.3004L8 14.7453C6.18652 13.4804 5 11.3787 5 9Z\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n ></path>\n <path d=\"M8 15H16\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </g>\n</svg>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-beacon-icon-success',\n templateUrl: './beacon-icon-success.component.html',\n styleUrls: ['./beacon-icon-success.component.css']\n})\nexport class BeaconIconSuccessComponent {\n}\n","<svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g id=\"SVGRepo_bgCarrier\" stroke-width=\"0\"></g>\n <g id=\"SVGRepo_tracerCarrier\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></g>\n <g id=\"SVGRepo_iconCarrier\">\n <path\n d=\"M8.5 12.5L10.0089 14.0089C10.3526 14.3526 10.5245 14.5245 10.7198 14.5822C10.8914 14.6328 11.0749 14.6245 11.2412 14.5585C11.4305 14.4834 11.5861 14.2967 11.8973 13.9232L16 9M16.3287 4.75855C17.0676 4.77963 17.8001 5.07212 18.364 5.636C18.9278 6.19989 19.2203 6.9324 19.2414 7.67121C19.2623 8.40232 19.2727 8.76787 19.2942 8.85296C19.3401 9.0351 19.2867 8.90625 19.383 9.06752C19.428 9.14286 19.6792 9.40876 20.1814 9.94045C20.6889 10.4778 21 11.2026 21 12C21 12.7974 20.6889 13.5222 20.1814 14.0595C19.6792 14.5912 19.428 14.8571 19.383 14.9325C19.2867 15.0937 19.3401 14.9649 19.2942 15.147C19.2727 15.2321 19.2623 15.5977 19.2414 16.3288C19.2203 17.0676 18.9278 17.8001 18.364 18.364C17.8001 18.9279 17.0676 19.2204 16.3287 19.2414C15.5976 19.2623 15.2321 19.2727 15.147 19.2942C14.9649 19.3401 15.0937 19.2868 14.9325 19.3831C14.8571 19.4281 14.5912 19.6792 14.0595 20.1814C13.5222 20.6889 12.7974 21 12 21C11.2026 21 10.4778 20.6889 9.94047 20.1814C9.40874 19.6792 9.14287 19.4281 9.06753 19.3831C8.90626 19.2868 9.0351 19.3401 8.85296 19.2942C8.76788 19.2727 8.40225 19.2623 7.67121 19.2414C6.93238 19.2204 6.19986 18.9279 5.63597 18.364C5.07207 17.8001 4.77959 17.0676 4.75852 16.3287C4.73766 15.5976 4.72724 15.2321 4.70578 15.147C4.65985 14.9649 4.71322 15.0937 4.61691 14.9324C4.57192 14.8571 4.32082 14.5912 3.81862 14.0595C3.31113 13.5222 3 12.7974 3 12C3 11.2026 3.31113 10.4778 3.81862 9.94048C4.32082 9.40876 4.57192 9.14289 4.61691 9.06755C4.71322 8.90628 4.65985 9.03512 4.70578 8.85299C4.72724 8.7679 4.73766 8.40235 4.75852 7.67126C4.77959 6.93243 5.07207 6.1999 5.63597 5.636C6.19986 5.07211 6.93238 4.77963 7.67121 4.75855C8.40232 4.73769 8.76788 4.72727 8.85296 4.70581C9.0351 4.65988 8.90626 4.71325 9.06753 4.61694C9.14287 4.57195 9.40876 4.32082 9.94047 3.81863C10.4778 3.31113 11.2026 3 12 3C12.7974 3 13.5222 3.31114 14.0595 3.81864C14.5913 4.32084 14.8571 4.57194 14.9325 4.61693C15.0937 4.71324 14.9649 4.65988 15.147 4.70581C15.2321 4.72726 15.5976 4.73769 16.3287 4.75855Z\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n ></path>\n </g>\n</svg>","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-beacon-icon-warning',\n templateUrl: './beacon-icon-warning.component.html',\n styleUrls: ['./beacon-icon-warning.component.css']\n})\nexport class BeaconIconWarningComponent {\n\n}\n","<svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g id=\"SVGRepo_bgCarrier\" stroke-width=\"0\"></g>\n <g id=\"SVGRepo_tracerCarrier\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></g>\n <g id=\"SVGRepo_iconCarrier\">\n <path d=\"M12 7.75V13\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n <path\n d=\"M21.08 8.58003V15.42C21.08 16.54 20.48 17.58 19.51 18.15L13.57 21.58C12.6 22.14 11.4 22.14 10.42 21.58L4.47998 18.15C3.50998 17.59 2.90997 16.55 2.90997 15.42V8.58003C2.90997 7.46003 3.50998 6.41999 4.47998 5.84999L10.42 2.42C11.39 1.86 12.59 1.86 13.57 2.42L19.51 5.84999C20.48 6.41999 21.08 7.45003 21.08 8.58003Z\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n ></path>\n <path d=\"M12 16.2V16.2999\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </g>\n</svg>\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { BEACON_TYPE_KEYS } from '../types/constants';\n\n@Pipe({\n name: 'beaconTypeResolve'\n})\nexport class BeaconTypeResolvePipe implements PipeTransform {\n private beaconTypeKeys!: Array<string>\n constructor(){\n this.beaconTypeKeys = BEACON_TYPE_KEYS\n }\n\n transform(value: string, ...args: string[]): boolean {\n let status: boolean = false\n switch (args[0]) {\n case 'alert':\n status = value == this.beaconTypeKeys[0]\n break\n case 'error':\n status = value == this.beaconTypeKeys[1]\n break\n case 'info':\n status = value == this.beaconTypeKeys[2]\n break\n case 'success':\n status = value == this.beaconTypeKeys[3]\n break\n case 'warning':\n status = value == this.beaconTypeKeys[4]\n break\n }\n\n return status\n }\n\n}\n","import { Component, Input, AfterViewInit } from '@angular/core';\nimport { BeaconNotifyService } from '../beacon-notify.service';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { IBeaconConfig, IBeaconEventMessage } from '../types';\n\n@Component({\n selector: 'app-beacon',\n templateUrl: './beacon.component.html',\n styleUrls: ['./beacon.component.css']\n})\nexport class BeaconNotifyComponent {\n @Input() beacon!: IBeaconConfig\n private beaconDOM!: HTMLElement\n public beaconDefaultIconKeys!: string[]\n\n constructor(private beaconService: BeaconNotifyService,\n private sanitizer: DomSanitizer){\n this.beaconDefaultIconKeys = this.beaconService.getBeaconDefaultIconKeys\n }\n\n ngOnInit(): void {\n // Fire mount event\n this.beaconService.beaconEventTaskMaster.emit({\n mount: true,\n id: this.beacon.bid\n })\n }\n\n ngAfterViewInit(): void {\n // Get beacon\n const beacon = this.beaconDOM = this.beaconService.getBeaconContainer.nativeElement.querySelector(`#bc_${this.beacon.bid}`)\n // Resolve possible focus for beacon\n this.resolvePossibleFocusForBeacon(beacon)\n setTimeout(() => {\n // Resolve delay setting\n this.resolveDelayForBeacon(beacon, true)\n // Set beacon listener\n this.setListenerForBeacon(beacon, this.beacon)\n\n // Sanitize svg content if not font icon\n if (this.beacon.svgIcon) {\n const beaconSvgIcon = beacon.querySelector('span.beacon-message-svg-control svg')\n beaconSvgIcon.style.width = '20px'\n beaconSvgIcon.style.height = '20px'\n beaconSvgIcon.style.marginRight = '7px'\n beaconSvgIcon.style.marginTop = '-2px'\n }\n }, 0)\n\n // Listen for event\n this.beaconService.beaconEventTaskMaster.subscribe((message: IBeaconEventMessage) => {\n // Check for next for focus event\n if (message.autoDetectNextFocusBeacon)\n this.resolvePossibleFocusForBeacon(this.beaconDOM, false)\n })\n }\n\n // When beacon button is clicked\n beaconButtonClick(e: Event, no: number): void {\n e.stopPropagation()\n switch (no) {\n case 1:\n // Check for callback\n if (this.beacon?.buttons?.one?.callback)\n this.beacon?.buttons?.one?.callback(...(this.beacon?.buttons?.one?.callbackArgs || []))\n \n // Check if can dismiss\n if (this.beacon?.buttons?.one?.canDismiss)\n this.closeBeacon(this.beaconDOM, this.beacon)\n break\n case 2:\n // Check for callback\n if (this.beacon?.buttons?.two?.callback)\n this.beacon?.buttons?.two?.callback(...(this.beacon?.buttons?.two?.callbackArgs || []))\n\n // Check if can dismiss\n if (this.beacon?.buttons?.two?.canDismiss)\n this.closeBeacon(this.beaconDOM, this.beacon)\n break\n }\n }\n\n // Set listener for beacon changes\n setListenerForBeacon(beacon: Element, beaconData: IBeaconConfig): void {\n ((b, d) => {\n beacon?.addEventListener('animationend', (e) => this.closeBeacon(b, d))\n beacon?.addEventListener('webkitAnimationEnd', (e) => this.closeBeacon(b, d))\n beacon?.addEventListener('oAnimationEnd', (e) => this.closeBeacon(b, d))\n })(beacon, beaconData)\n }\n\n // Toggle auto-close\n autoClose(status: boolean, control: HTMLElement): void {\n status\n ? (control.getAttribute('data-beacon-static') != 'true' && this.resolveDelayForBeacon(control, false))\n : control.classList.remove(String(this.beacon.animationClass))\n }\n\n // Resolve delay for beacon\n resolveDelayForBeacon(beacon: HTMLElement, onLoad?: boolean): void {\n // Check if delay set\n if (this.beacon.static && typeof this.beacon.static == 'number') {\n beacon && (beacon.style.animationDelay = this.beacon.static + 's')\n } else {\n if (onLoad == !1 && this.beacon?.fixed != true)\n beacon.classList.add(String(this.beacon.animationClass))\n }\n }\n\n // Resolve focus beacon\n resolvePossibleFocusForBeacon(beacon: HTMLElement, createOverlay: boolean = true): void {\n const activeFocusBeaconId = this.beaconService.getActiveFocusBeaconId\n if (activeFocusBeaconId == this.beacon.bid) {\n beacon.style.zIndex = '9003'\n \n // Check if beacon should be centered\n if (this.beacon.shine) {\n const scale = this.beacon.shineScale && String(this.beacon.shineScale).match(/(\\d+)\\.(\\d+)/) ? this.beacon.shineScale : '1.5'\n beacon.style.position = 'fixed'\n beacon.style.right = '0'\n beacon.style.left = '0'\n beacon.style.bottom = '50%'\n beacon.style.margin = 'auto'\n beacon.style.transform = 'scale(' + scale + ')'\n }\n\n // Create overlay\n if (createOverlay)\n this.beaconService.createBeaconFocusOverlay(this.beacon.overlayColor)\n else this.beaconService.repaintBeaconFocusOverlay(this.beacon.overlayColor)\n }\n }\n\n // Trigger close beacon\n closeBeacon(beaconControl: any, beaconData: IBeaconConfig): void {\n if (!this.beacon?.fixed) {\n this.beaconService.beaconEventTaskMaster.emit({\n delete: true,\n id: beaconControl.getAttribute('id').replace(/bc_/, '')\n })\n }\n }\n}\n","<div #beaconControl \n\t\t[id]=\"'bc_' + beacon.bid\"\n\t\t(mouseenter)=\"autoClose(false, beaconControl)\" \n\t\t(mouseleave)=\"autoClose(true, beaconControl)\"\n\t\t(click)=\"beacon.preventClickClose ? null : closeBeacon(beaconControl, beacon)\"\n\t\t[attr.data-beacon-static]=\"beacon.static\"\n\t\tclass=\"beacon-message-control {{ (beacon.static !== true && beacon.fixed !== true) ? beacon.animationClass : '' }} {{ beacon.replacementClass || beacon.type }} {{ beacon.styleClass }}\"\n\t\t[class.beacon-message-control-no-hover-effect]=\"beacon.noHoverEffect\">\n\t<div class=\"beacon-message-header\">\n\t\t<div>\n\t\t\t<span *ngIf=\"beacon.fontIcon\"><i [class]=\"beacon.icon\"></i></span>\n\t\t\t<span *ngIf=\"!beacon.fontIcon && beaconDefaultIconKeys.includes(beacon.icon)\" class=\"beacon-message-svg-control\">\n\t\t\t\t<app-beacon-icon-alert *ngIf=\"beacon.icon | beaconTypeResolve:'alert'\"></app-beacon-icon-alert>\n\t\t\t\t<app-beacon-icon-error *ngIf=\"beacon.icon | beaconTypeResolve:'error'\"></app-beacon-icon-error>\n\t\t\t\t<app-beacon-icon-info *ngIf=\"beacon.icon | beaconTypeResolve:'info'\"></app-beacon-icon-info>\n\t\t\t\t<app-beacon-icon-success *ngIf=\"beacon.icon | beaconTypeResolve:'success'\"></app-beacon-icon-success>\n\t\t\t\t<app-beacon-icon-warning *ngIf=\"beacon.icon | beaconTypeResolve:'warning'\"></app-beacon-icon-warning>\n\t\t\t</span>\n\t\t\t<span *ngIf=\"!beacon.fontIcon && beacon.icon && !beaconDefaultIconKeys.includes(beacon.icon)\" class=\"beacon-message-svg-control\" [innerHTML]=\"beacon.svgIcon\"></span>\n\t\t\t{{ beacon.title }}\n\t\t</div>\n\t\t<div>\n\t\t\t<div *ngIf=\"!beacon.fixed\" class=\"beacon-message-close\" (click)=\"closeBeacon(beaconControl, beacon)\">\n\t\t\t\t<svg width=\"10\" height=\"10\" viewBox=\"0 0 78 78\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t <rect y=\"7.07104\" width=\"10\" height=\"100\" rx=\"5\" transform=\"rotate(-45 0 7.07104)\" />\n\t\t\t <rect x=\"70.7109\" width=\"10\" height=\"100\" rx=\"5\" transform=\"rotate(45 70.7109 0)\" />\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t<div class=\"beacon-message-divider\"></div>\n\t<div class=\"beacon-message-body\" [innerHTML]=\"beacon.bodyHtml\"></div>\n\t<div class=\"beacon-message-divider\" *ngIf=\"beacon.buttons?.one || beacon.buttons?.two\"></div>\n\n\t<div class=\"beacon-message-footer\" *ngIf=\"beacon.buttons && beacon.buttons?.one && beacon.buttons?.two\">\n\t\t<div><button (click)=\"beaconButtonClick($event, 1)\">{{ beacon.buttons?.one?.text }}</button></div>\n\t\t<div><button (click)=\"beaconButtonClick($event, 2)\">{{ beacon.buttons?.two?.text }}</button></div>\n\t</div>\n\n\t<div class=\"beacon-message-footer\" *ngIf=\"beacon.buttons && beacon.buttons?.one && !beacon?.buttons?.two\">\n\t\t<div [class]=\"beacon.buttons?.one?.position ? ('beacon-message-button-container-' + beacon?.buttons?.one?.position) : ''\">\n\t\t\t<button (click)=\"beaconButtonClick($event, 1)\">{{ beacon.buttons?.one?.text }}</button>\n\t\t</div>\n\t</div>\n\n</div>","import { Component, Input, ViewChild, ElementRef, AfterViewInit } from '@angular/core';\nimport { BeaconNotifyService } from '../beacon-notify.service';\nimport { IBeaconConfig, IBeaconEventMessage } from '../types';\n\n@Component({\n selector: 'ngx-beacon-notify',\n templateUrl: './container.component.html',\n styleUrls: ['./container.component.css']\n})\nexport class BeaconNotifyContainerComponent implements AfterViewInit {\n @ViewChild('beaconContainer', { static: false }) set content(content: ElementRef) {\n content && this.resolveBeaconContainer(content)\n }\n beaconLibrary!: Array<IBeaconConfig>\n\n constructor(private beaconService: BeaconNotifyService){\n this.beaconLibrary = this.beaconService.beaconLibrary\n }\n\n ngOnInit(): void {\n // Listen for delete event\n this.beaconService.beaconEventTaskMaster.subscribe((message: IBeaconEventMessage) => {\n if (message.delete)\n this.beaconLibrary = this.beaconService.beaconLibrary = this.beaconService.beaconLibrary.filter(x => x.bid != message.id)\n })\n }\n\n ngAfterViewInit(): void {}\n\n // Resolve beacon container\n resolveBeaconContainer(content: ElementRef): void {\n this.beaconService.setBeaconContainer(content)\n\n // Resolve position\n const position = this.beaconService.getBeaconGlobalPositionConfig\n // Resolve ltr\n if (position?.leftRight) {\n if(position?.leftRight == 'left') {\n content.nativeElement.style.left = 0\n content.nativeElement.style.right = 'auto'\n } else if (position?.leftRight == 'center') {\n content.nativeElement.style.left = 0\n content.nativeElement.style.right = 0\n content.nativeElement.style.margin = 'auto'\n } else {\n content.nativeElement.style.left = 'auto'\n content.nativeElement.style.right = 0\n }\n }\n // Resolve ttb\n if (position?.topBottom) {\n if(position?.topBottom == 'top') {\n content.nativeElement.style.top = 0\n content.nativeElement.style.bottom = 'auto'\n } else {\n content.nativeElement.style.top = 'auto'\n content.nativeElement.style.bottom = 0\n }\n }\n }\n\n // Track-by function\n trackBy(idx: number, item: { bid: string }): string {\n return item.bid;\n }\n}\n","<div id=\"app-beacon-notify-container\" #beaconContainer>\n\t<app-beacon *ngFor=\"let beacon of beaconLibrary; trackBy: trackBy\" [id]=\"'bcp_'+beacon.bid\" [beacon]=\"beacon\"></app-beacon>\n</div>","import { NgModule, ModuleWithProviders } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { BeaconNotifyContainerComponent } from './container/container.component';\r\nimport { BeaconNotifyComponent } from './beacon/beacon.component';\r\nimport { IBeaconGlobalConfig, BEACON_GLOBAL_CONFIG } from './types';\r\nimport { BeaconNotifyService } from './beacon-notify.service';\r\nimport { BeaconIconSuccessComponent } from './icons/beacon-icon-success/beacon-icon-success.component';\r\nimport { BeaconIconAlertComponent } from './icons/beacon-icon-alert/beacon-icon-alert.component';\r\nimport { BeaconIconErrorComponent } from './icons/beacon-icon-error/beacon-icon-error.component';\r\nimport { BeaconIconInfoComponent } from './icons/beacon-icon-info/beacon-icon-info.component';\r\nimport { BeaconIconWarningComponent } from './icons/beacon-icon-warning/beacon-icon-warning.component';\r\nimport { BeaconTypeResolvePipe } from './pipes/beacon-type-resolve.pipe';\r\n\r\n@NgModule({\r\n declarations: [\r\n BeaconNotifyComponent,\r\n BeaconNotifyContainerComponent,\r\n BeaconIconAlertComponent,\r\n BeaconIconErrorComponent,\r\n BeaconIconInfoComponent,\r\n BeaconIconSuccessComponent,\r\n BeaconIconWarningComponent,\r\n BeaconTypeResolvePipe\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n BeaconNotifyComponent,\r\n BeaconNotifyContainerComponent\r\n ]\r\n})\r\nexport class BeaconNotifyModule {\r\n static forRoot(config?: IBeaconGlobalConfig): ModuleWithProviders<BeaconNotifyModule> {\r\n return {\r\n ngModule: BeaconNotifyModule,\r\n providers: [\r\n { provide: BEACON_GLOBAL_CONFIG, useValue: config },\r\n BeaconNotifyService\r\n ]\r\n }\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.BeaconNotifyService","i2","i4.BeaconIconAlertComponent","i5.BeaconIconErrorComponent","i6.BeaconIconInfoComponent","i7.BeaconIconSuccessComponent","i8.BeaconIconWarningComponent","i9.BeaconTypeResolvePipe","i3.BeaconNotifyComponent"],"mappings":"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"}
1
+ {"version":3,"file":"ngx-beacon-notify.mjs","sources":["../../src/lib/types/constants/index.ts","../../src/lib/beacon-notify.service.ts","../../src/lib/icons/beacon-icon-alert/beacon-icon-alert.component.ts","../../src/lib/icons/beacon-icon-alert/beacon-icon-alert.component.html","../../src/lib/icons/beacon-icon-error/beacon-icon-error.component.ts","../../src/lib/icons/beacon-icon-error/beacon-icon-error.component.html","../../src/lib/icons/beacon-icon-info/beacon-icon-info.component.ts","../../src/lib/icons/beacon-icon-info/beacon-icon-info.component.html","../../src/lib/icons/beacon-icon-success/beacon-icon-success.component.ts","../../src/lib/icons/beacon-icon-success/beacon-icon-success.component.html","../../src/lib/icons/beacon-icon-warning/beacon-icon-warning.component.ts","../../src/lib/icons/beacon-icon-warning/beacon-icon-warning.component.html","../../src/lib/pipes/beacon-type-resolve.pipe.ts","../../src/lib/beacon/beacon.component.ts","../../src/lib/beacon/beacon.component.html","../../src/lib/container/container.component.ts","../../src/lib/container/container.component.html","../../src/lib/beacon-notify.module.ts","../../src/ngx-beacon-notify.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\r\nimport { IBeaconGlobalConfig } from '../interfaces';\r\n\r\nexport const BEACON_GLOBAL_CONFIG = new InjectionToken<IBeaconGlobalConfig>('IBeaconGlobalConfig')\r\n\r\nexport const BEACON_OVERLAY_COLOR = '#000000DD'\r\n\r\nexport const BEACON_OVERLAY_ID = 'beacon-notify-focus-overlay_x'\r\n\r\nexport const BEACON_TYPE_KEYS = ['a.a', 'a.e', 'a.i', 'a.s', 'a.w']","import { Injectable, Inject, ViewChild, EventEmitter, ElementRef } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { BeaconNotifyComponent } from './beacon/beacon.component';\nimport {\n IBeaconConfig,\n IBeaconInlineConfig,\n IBeaconGlobalConfig,\n IBeaconType,\n IBeaconPositionConfig,\n IBeaconEvent,\n IBeaconWatchedEvent,\n IBeaconEventMessage,\n IBeaconTypeIcon,\n IBeaconButtonType,\n BEACON_GLOBAL_CONFIG,\n BEACON_OVERLAY_COLOR,\n BEACON_OVERLAY_ID,\n BEACON_TYPE_KEYS\n} from './types';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BeaconNotifyService {\n private beaconDefaultIconKeys = BEACON_TYPE_KEYS\n private beaconConfigMap: { [key: string]: { [key: string]: string } } = {\n alert: { icon: this.beaconDefaultIconKeys[0], fontIcon: 'false', class: 'beacon-message-alert', title: 'Alert', style: '', animation: '', type: 'alert' },\n error: { icon: this.beaconDefaultIconKeys[1], fontIcon: 'false', class: 'beacon-message-error', title: 'Error', style: '', animation: '', type: 'error' },\n info: { icon: this.beaconDefaultIconKeys[2], fontIcon: 'false', class: 'beacon-message-info', title: 'Information', style: '', animation: '', type: 'info' },\n success: { icon: this.beaconDefaultIconKeys[3], fontIcon: 'false', class: 'beacon-message-success', title: 'Success', style: '', animation: '', type: 'success' },\n warning: { icon: this.beaconDefaultIconKeys[4], fontIcon: 'false', class: 'beacon-message-warning', title: 'Warning', style: '', animation: '', type: 'warning' }\n }\n private beaconTypeMap: { [key: string]: string } = {\n a: 'success', b: 'error', c: 'warning', d: 'info', e: 'alert'\n }\n private beaconTitle?: string\n private beaconMessage?: string\n private beaconIcon?: string\n private beaconManualId?: string\n private beaconSelectedManualId?: string\n private beaconIconFromFont?: true\n private beaconStatic?: true | number\n private beaconFixed?: true\n private beaconBlockOthers?: true\n private beaconPreventClickClose?: true\n private beaconAllowDuplicate?: true\n private beaconFocus?: true\n private beaconFocusShine?: true\n private beaconFocusShineScale?: number\n private beaconOverlayColor?: string\n private beaconStyleClass?: string\n private beaconReplacementClass?: string\n private beaconAnimationClass?: string\n private beaconNoHoverEffect?: true\n private beaconGlobalStatic?: true | number\n private beaconGlobalFixed?: true\n private beaconGlobalBlockOthers?: true\n private beaconGlobalPreventClickClose?: true\n private beaconGlobalDuplicate?: boolean\n private beaconGlobalNoHoverEffect?: true\n private beaconGlobalFocusShineScale?: number\n private beaconGlobalPositioning?: IBeaconPositionConfig\n private beaconGlobalFocusOverlayColor?: string\n private beaconContainer!: ElementRef\n private beaconDefaultAnimationClassName: string = 'beacon-message-control-animate'\n private beaconSuccessorBlockerAutoId?: string\n private beaconWithActiveFocusAutoId?: string\n private beaconButtons: IBeaconButtonType = {}\n private beaconFocusOrderLibrary: Array<string> = []\n private beaconSubscribedEventLibrary: { [key: string]: { [key: string]: string | EventEmitter<IBeaconEvent> } } = {}\n private beaconWatchedEventLibrary: Map<string, string> = new Map<string, string>([])\n private beaconWatchedEventTaskMaster: EventEmitter<IBeaconWatchedEvent> = new EventEmitter<IBeaconWatchedEvent>()\n private beaconAllEventTaskMaster: EventEmitter<IBeaconWatchedEvent> = new EventEmitter<IBeaconWatchedEvent>()\n private beaconFocusOverlayDOM?: HTMLElement\n public beaconEventTaskMaster: EventEmitter<{ [key: string]: boolean| string }> = new EventEmitter<{ [key: string]: boolean | string }>()\n public beaconLibrary: Array<IBeaconConfig> = []\n public beaconLibraryQueue: Array<IBeaconConfig> = []\n \n constructor(private sanitizer: DomSanitizer,\n @Inject(BEACON_GLOBAL_CONFIG) private globalConfig?: IBeaconGlobalConfig) {\n this.globalConfig && this.resolveGlobalConfig(this.globalConfig)\n // Resolve events\n this.resolveBeaconEvents()\n }\n\n // Resolve global config\n private resolveGlobalConfig(globalConfig: IBeaconGlobalConfig): void {\n if (globalConfig.static) {\n if (typeof globalConfig.static == 'boolean') {\n this.beaconGlobalFixed = undefined\n this.beaconGlobalStatic = true\n } else this.beaconGlobalStatic = globalConfig.static\n }\n\n if (globalConfig.fixed) {\n this.beaconGlobalStatic = undefined\n this.beaconGlobalFixed = true\n }\n\n globalConfig.preventClickClose && (this.beaconGlobalPreventClickClose = globalConfig.preventClickClose)\n globalConfig.blockOthers && (this.beaconGlobalBlockOthers = globalConfig.blockOthers)\n globalConfig.overlayColor && (this.beaconGlobalFocusOverlayColor = globalConfig.overlayColor)\n globalConfig.duplicate && (this.beaconGlobalDuplicate = globalConfig.duplicate)\n globalConfig.icon && this.resolveGlobalIconConfig(globalConfig.icon)\n globalConfig.styleClass && this.resolveGlobalPropertyConfig(globalConfig.styleClass, 'style')\n globalConfig.replacementClass && this.resolveGlobalPropertyConfig(globalConfig.replacementClass, 'class')\n globalConfig.animationClass && this.resolveGlobalPropertyConfig(globalConfig.animationClass, 'animation')\n globalConfig.position && (this.beaconGlobalPositioning = globalConfig.position)\n globalConfig.noHoverEffect && (this.beaconGlobalNoHoverEffect = globalConfig.noHoverEffect)\n globalConfig.shineScale && (this.beaconGlobalFocusShineScale = globalConfig.shineScale)\n }\n\n // Resolve global config / for property\n private resolveGlobalPropertyConfig(config: IBeaconType, property: string): void {\n config.alert && (this.beaconConfigMap.alert[property] = config.alert)\n config.error && (this.beaconConfigMap.error[property] = config.error)\n config.info && (this.beaconConfigMap.info[property] = config.info)\n config.success && (this.beaconConfigMap.success[property] = config.success)\n config.warning && (this.beaconConfigMap.warning[property] = config.warning)\n }\n\n // Resolve global config / for icons\n private resolveGlobalIconConfig(config: IBeaconTypeIcon): void {\n config?.alert?.icon && (this.beaconConfigMap.alert.icon = config.alert.icon) && (this.beaconConfigMap.alert.fontIcon = String((config?.alert?.fontIcon || false)))\n config?.error?.icon && (this.beaconConfigMap.error.icon = config.error.icon) && (this.beaconConfigMap.error.fontIcon = String((config?.error?.fontIcon || false)))\n config?.info?.icon && (this.beaconConfigMap.info.icon = config.info.icon) && (this.beaconConfigMap.info.fontIcon = String((config.info.fontIcon || false)))\n config?.success?.icon && (this.beaconConfigMap.success.icon = config.success.icon) && (this.beaconConfigMap.success.fontIcon = String((config.success.fontIcon || false)))\n config?.warning?.icon && (this.beaconConfigMap.warning.icon = config.warning.icon) && (this.beaconConfigMap.warning.fontIcon = String((config.warning.fontIcon || false)))\n }\n\n // Resolve beacon events\n private resolveBeaconEvents(): void {\n this.beaconEventTaskMaster.subscribe((message: IBeaconEventMessage) => {\n const id = String(message.id)\n if (message.delete) {\n this.resolvePossibleBlockedBeacons(id)\n this.resolvePossibleQueuedFocus(id)\n this.performEventTask(id, { on: false, off: true })\n delete this.beaconSubscribedEventLibrary[id]\n } else if (message.mount) {\n this.performEventTask(id, { on: true, off: false })\n }\n })\n }\n\n // Perform event task\n private performEventTask(id: string, eventObject: IBeaconEvent): void {\n const stamp = this.beaconSubscribedEventLibrary[id]\n const event = <EventEmitter<IBeaconEvent>>stamp.event\n const manualId = stamp?.manualId?.toString().replace(/undefined/, '')\n event.emit(eventObject)\n this.beaconAllEventTaskMaster.emit({ id: manualId || null, type: String(stamp.type), ...eventObject })\n\n // Check if this manual id is watched\n if (manualId && this.beaconWatchedEventLibrary.has(manualId)) {\n this.beaconWatchedEventTaskMaster.emit({ id: manualId, type: String(stamp.type), ...eventObject })\n // Check if beacon is off\n if (eventObject.off) \n this.beaconWatchedEventLibrary.delete(manualId)\n }\n }\n\n // Resolve possible blocked beacons\n private resolvePossibleBlockedBeacons(id: string): void {\n // Check if this id is blocking others\n if (id == this.beaconSuccessorBlockerAutoId) {\n if (this.beaconLibraryQueue.length) {\n const queueLength = this.beaconLibraryQueue.length\n // Loop through queue\n for (let x = 0; x < queueLength; x++) {\n const nextInLine = <IBeaconConfig>this.beaconLibraryQueue.shift()\n\n // Add message to library\n if (this.getBeaconGlobalPositionConfig?.topBottom == 'top')\n this.beaconLibrary.unshift(nextInLine)\n else this.beaconLibrary.push(nextInLine) \n\n // Check if set to block\n if (nextInLine.blockOthers) {\n this.beaconSuccessorBlockerAutoId = nextInLine.bid\n break\n }\n }\n\n // Check if no new beacon is set as blocker and unset previous value\n if (id == this.beaconSuccessorBlockerAutoId) \n this.beaconSuccessorBlockerAutoId = undefined\n }\n else this.beaconSuccessorBlockerAutoId = undefined\n }\n }\n\n // Resolve queued beacon focus\n private resolvePossibleQueuedFocus(id: string): void {\n // Check if this id is active focus beacon\n if (id == this.beaconWithActiveFocusAutoId) {\n if (this.beaconFocusOrderLibrary.length) {\n // Pass the next focus\n this.beaconWithActiveFocusAutoId = this.beaconFocusOrderLibrary.shift()\n this.beaconEventTaskMaster.emit({ autoDetectNextFocusBeacon: true })\n }\n else {\n this.beaconWithActiveFocusAutoId = undefined\n this.destroyBeaconFocusOverlay()\n }\n }\n }\n\n // Generate unique id for item\n private get getId(): string {\n return crypto.getRandomValues(new Uint32Array(2)).toString().split(',').join('')\n }\n\n // Set beacon container\n public setBeaconContainer(container: ElementRef): void {\n this.beaconContainer = container\n }\n\n // Get beacon container\n public get getBeaconContainer(): ElementRef {\n return this.beaconContainer\n }\n\n // Get beacon global position config\n public get getBeaconGlobalPositionConfig(): IBeaconPositionConfig | undefined {\n return this.beaconGlobalPositioning\n }\n\n // Get default icon keys\n public get getBeaconDefaultIconKeys(): string[] {\n return this.beaconDefaultIconKeys\n }\n\n // Get active focus beacon id\n public get getActiveFocusBeaconId(): string | undefined {\n return this.beaconWithActiveFocusAutoId\n }\n\n // Create overlay for focused beacon\n public createBeaconFocusOverlay(overlayColor?: string): void {\n const overlay = document.createElement('div')\n overlay.setAttribute('id', BEACON_OVERLAY_ID)\n overlay.style.position = 'fixed'\n overlay.style.top = '0'\n overlay.style.bottom = '0'\n overlay.style.right = '0'\n overlay.style.left = '0'\n overlay.style.zIndex = '9002'\n overlay.style.background = overlayColor || this.beaconGlobalFocusOverlayColor || BEACON_OVERLAY_COLOR\n document.body.style.overflow = 'hidden'\n\n // Pass overlay element\n this.beaconFocusOverlayDOM = overlay\n\n this.beaconContainer.nativeElement.appendChild(overlay)\n }\n\n // Repaint overlay for focused beacon\n public repaintBeaconFocusOverlay(overlayColor?: string): void {\n if (this.beaconFocusOverlayDOM)\n this.beaconFocusOverlayDOM.style.background = overlayColor || this.beaconGlobalFocusOverlayColor || BEACON_OVERLAY_COLOR\n }\n\n // Destroy overlay for focused beacon\n public destroyBeaconFocusOverlay(): void {\n document.body.style.overflow = 'auto'\n this.beaconContainer.nativeElement.querySelector('div#' + BEACON_OVERLAY_ID).remove()\n this.beaconFocusOverlayDOM = undefined\n }\n\n // Set id for beacon\n public id(id: string): BeaconNotifyService {\n id && (this.beaconManualId = id)\n return this\n }\n\n // Set notification title\n public title(title: string): BeaconNotifyService {\n title && (this.beaconTitle = title)\n return this\n }\n\n // Set notification message\n public message(message: string): BeaconNotifyService {\n message && (this.beaconMessage = message)\n return this\n }\n\n // Highlight id of beacon to update\n public select(id: string): BeaconNotifyService {\n id && (this.beaconSelectedManualId = id)\n return this\n }\n\n // Change notification title\n public setTitle(title: string): void {\n // Check for active manual id / and if a beacon is tied to it\n if (this.beaconSelectedManualId) {\n const beaconIndex = this.beaconLibrary.findIndex(x => x.mid == this.beaconSelectedManualId)\n if (beaconIndex >= 0)\n this.beaconLibrary[beaconIndex].title = title\n }\n }\n\n // Change notification message\n public setMessage(message: string): void {\n // Check for active manual id / and if a beacon is tied to it\n if (this.beaconSelectedManualId) {\n const beaconIndex = this.beaconLibrary.findIndex(x => x.mid == this.beaconSelectedManualId)\n if (beaconIndex >= 0)\n this.beaconLibrary[beaconIndex].body = message\n }\n }\n\n // Change notification title & message\n public setContent(title: string, message: string): void {\n // Check for active manual id / and if a beacon is tied to it\n if (this.beaconSelectedManualId) {\n const beaconIndex = this.beaconLibrary.findIndex(x => x.mid == this.beaconSelectedManualId)\n if (beaconIndex >= 0)\n this.beaconLibrary[beaconIndex].title = title\n this.beaconLibrary[beaconIndex].body = message\n }\n }\n\n // Update beacon button 1\n public setButtonOne(text: string, canDismiss?: boolean | null, callback?: any, callbackArgs?: any[] | null, position?: 'left' | 'center' | 'right'): void {\n // Check for active manual id / and if a beacon is tied to it\n if (this.beaconSelectedManualId) {\n const beaconIndex = this.beaconLibrary.findIndex(x => x.mid == this.beaconSelectedManualId)\n if (beaconIndex >= 0) {\n (<IBeaconButtonType>this.beaconLibrary[beaconIndex].buttons).one = {\n text: text.substring(0, 15),\n canDismiss,\n callback,\n callbackArgs,\n position\n }\n }\n }\n }\n\n // Update beacon button 2\n public setButtonTwo(text: string, canDismiss?: boolean | null, callback?: any, callbackArgs?: any[] | null, position?: 'left' | 'center' | 'right'): void {\n // Check for active manual id / and if a beacon is tied to it\n if (this.beaconSelectedManualId) {\n const beaconIndex = this.beaconLibrary.findIndex(x => x.mid == this.beaconSelectedManualId)\n if (beaconIndex >= 0) {\n if (this.beaconLibrary[beaconIndex].buttons?.one) {\n (<IBeaconButtonType>this.beaconLibrary[beaconIndex].buttons).two = {\n text: text.substring(0, 15),\n canDismiss,\n callback,\n callbackArgs,\n position\n }\n } else this.setButtonOne(text, canDismiss, callback, callbackArgs, position)\n }\n }\n }\n\n // Remove beacon button 1\n public removeButtonOne(): void {\n // Check for active manual id / and if a beacon is tied to it\n if (this.beaconSelectedManualId) {\n const beaconIndex = this.beaconLibrary.findIndex(x => x.mid == this.beaconSelectedManualId)\n if (beaconIndex >= 0) {\n (<IBeaconButtonType>this.beaconLibrary[beaconIndex].buttons).one = undefined\n }\n }\n }\n\n // Remove beacon button 2\n public removeButtonTwo(): void {\n // Check for active manual id / and if a beacon is tied to it\n if (this.beaconSelectedManualId) {\n const beaconIndex = this.beaconLibrary.findIndex(x => x.mid == this.beaconSelectedManualId)\n if (beaconIndex >= 0) {\n (<IBeaconButtonType>this.beaconLibrary[beaconIndex].buttons).two = undefined\n }\n }\n }\n\n // Remove beacon buttons\n public removeButtons(): void {\n // Check for active manual id / and if a beacon is tied to it\n if (this.beaconSelectedManualId) {\n const beaconIndex = this.beaconLibrary.findIndex(x => x.mid == this.beaconSelectedManualId)\n if (beaconIndex >= 0) {\n (<IBeaconButtonType>this.beaconLibrary[beaconIndex].buttons).one = undefined;\n (<IBeaconButtonType>this.beaconLibrary[beaconIndex].buttons).two = undefined\n }\n }\n }\n\n // Set beacon as static or with delay\n public static(delay?: number): BeaconNotifyService {\n this.beaconStatic = delay || true\n this.beaconFixed = undefined\n return this\n }\n\n // Set beacon as fixed which removes the close button and disallows close on click\n public fixed(): BeaconNotifyService {\n this.beaconStatic = undefined\n this.beaconFixed = true\n return this\n }\n\n // Allow beacon to block others\n public block(): BeaconNotifyService {\n this.beaconBlockOthers = true\n return this\n }\n\n // Focus on beacon\n public focus(overlayColor?: string): BeaconNotifyService {\n overlayColor && (this.beaconOverlayColor = overlayColor)\n this.beaconFocus = true\n return this\n }\n\n // Focus beacon on center screen\n public shine(scale?: number, overlayColor?: string): BeaconNotifyService {\n overlayColor && (this.beaconOverlayColor = overlayColor)\n this.beaconFocusShine = this.beaconFocus = true\n scale && (this.beaconFocusShineScale = scale)\n return this\n }\n\n // Add button for beacon\n public button(text: string, canDismiss?: boolean | null, callback?: any, callbackArgs?: any[] | null, position?: 'left' | 'center' | 'right'): BeaconNotifyService {\n if (!this.beaconButtons?.one) {\n this.beaconButtons.one = {\n text: text.substring(0, 15),\n canDismiss,\n callback,\n callbackArgs,\n position\n }\n } else if (this.beaconButtons.one && !this.beaconButtons.two) {\n this.beaconButtons.two = {\n text: text.substring(0, 15),\n canDismiss,\n callback,\n callbackArgs,\n position\n }\n }\n\n return this\n }\n\n // Allow duplicate for beacon\n public duplicate(): BeaconNotifyService {\n this.beaconAllowDuplicate = true\n return this\n }\n\n // Set config values for beacon\n public build(config: IBeaconInlineConfig): BeaconNotifyService {\n if (config.static) {\n if (typeof config.static == 'boolean')\n this.static()\n else this.static(Number(config.static))\n }\n\n config.fixed && this.fixed()\n config.duplicate && this.duplicate()\n config.preventClickClose && (this.beaconPreventClickClose = config.preventClickClose)\n config.blockOthers && (this.beaconBlockOthers = config.blockOthers)\n config.focus && (this.beaconFocus = config.focus)\n config.shine && (this.beaconFocusShine = this.beaconFocus = config.shine)\n config.icon && (this.beaconIcon = config.icon)\n config.fontIcon && (this.beaconIconFromFont = config.fontIcon)\n config.styleClass && (this.beaconStyleClass = config.styleClass)\n config.replacementClass && (this.beaconReplacementClass = config.replacementClass)\n config.animationClass && (this.beaconAnimationClass = config.animationClass)\n config.animationClass && (this.beaconAnimationClass = config.animationClass)\n config.overlayColor && (this.beaconOverlayColor = config.overlayColor)\n config.noHoverEffect && (this.beaconNoHoverEffect = config.noHoverEffect)\n config.shineScale && (this.beaconFocusShineScale = config.shineScale)\n return this\n }\n\n // create notification beacon\n private beacon(message: string, type: string): EventEmitter<IBeaconEvent> {\n // Get signature\n const signature = window.btoa((this.beaconTitle || this.beaconConfigMap[type].title) + '.' + message)\n // Generate beacon id\n const beaconId = this.getId\n // Register beacon in event library\n this.beaconSubscribedEventLibrary[beaconId] = Object.create({})\n // Check for duplicate if set to prevent or proceed if turned off\n if (this.beaconAllowDuplicate || (([undefined, false].includes(this.beaconGlobalDuplicate) && this.isNewBeaconADuplicate(signature) == !1) || this.beaconGlobalDuplicate)) {\n const beaconObject: IBeaconConfig = {\n bid: beaconId,\n mid: this.beaconManualId,\n type: this.beaconConfigMap[type].class,\n icon: this.beaconIcon || this.beaconConfigMap[type].icon,\n fontIcon: this.beaconIconFromFont || (this.beaconConfigMap[type].fontIcon == 'true' ? true : undefined),\n title: this.beaconTitle || this.beaconConfigMap[type].title,\n static: this.beaconStatic || this.beaconGlobalStatic,\n fixed: this.beaconFixed || this.beaconGlobalFixed,\n preventClickClose: this.beaconPreventClickClose || this.beaconGlobalPreventClickClose,\n styleClass: this.beaconStyleClass || this.beaconConfigMap[type].style,\n replacementClass: this.beaconReplacementClass,\n animationClass: this.beaconAnimationClass || this.beaconConfigMap[type].animation || this.beaconDefaultAnimationClassName,\n blockOthers: this.beaconBlockOthers || this.beaconGlobalBlockOthers,\n buttons: this.beaconButtons,\n overlayColor: this.beaconOverlayColor,\n bodyHtml: <SafeHtml>this.sanitizer.bypassSecurityTrustHtml(message),\n body: message,\n focus: this.beaconFocus,\n shine: this.beaconFocusShine,\n noHoverEffect: this.beaconNoHoverEffect || this.beaconGlobalNoHoverEffect,\n shineScale: this.beaconFocusShineScale || this.beaconGlobalFocusShineScale,\n signature\n }\n\n // Sanitize icon if passed\n if (!beaconObject.fontIcon && beaconObject.icon && !this.beaconDefaultIconKeys.includes(beaconObject.icon)) {\n beaconObject.svgIcon = <SafeHtml>this.sanitizer.bypassSecurityTrustHtml(beaconObject.icon)\n }\n\n // Check if there is an active beacon blocking others and add build beacon to queue\n if (this.beaconSuccessorBlockerAutoId) {\n this.beaconLibraryQueue.push(beaconObject)\n } else {\n // Check if beacon can block and register id\n if (beaconObject.blockOthers)\n this.beaconSuccessorBlockerAutoId = beaconObject.bid\n\n // Add message to library\n if (this.getBeaconGlobalPositionConfig?.topBottom == 'top')\n this.beaconLibrary.unshift(beaconObject)\n else this.beaconLibrary.push(beaconObject)\n }\n\n // Check if beacon has focus\n if (this.beaconFocus) {\n if (this.beaconWithActiveFocusAutoId)\n this.beaconFocusOrderLibrary.push(beaconObject.bid)\n else\n this.beaconWithActiveFocusAutoId = beaconObject.bid\n }\n\n // Check if id is set and register it\n if (this.beaconManualId) {\n this.beaconSubscribedEventLibrary[beaconId].manualId = this.beaconManualId\n // Map the defined id to the auto-gen id\n this.beaconWatchedEventLibrary.set(this.beaconManualId, beaconId)\n }\n\n // Register beacon type \n this.beaconSubscribedEventLibrary[beaconId].type = this.beaconConfigMap[type].type\n }\n\n // Register event for beacon\n this.beaconSubscribedEventLibrary[beaconId].event = new EventEmitter<IBeaconEvent>()\n\n // Reset\n this.beaconTitle = undefined\n this.beaconMessage = undefined\n this.beaconStatic = undefined\n this.beaconFixed = undefined\n this.beaconBlockOthers = undefined\n this.beaconManualId = undefined\n this.beaconFocus = undefined\n this.beaconFocusShine = undefined\n this.beaconOverlayColor = undefined\n this.beaconAllowDuplicate = undefined\n this.beaconNoHoverEffect = undefined\n this.beaconIcon = undefined\n this.beaconIconFromFont = undefined\n this.beaconStyleClass = undefined\n this.beaconReplacementClass = undefined\n this.beaconAnimationClass = undefined\n this.beaconButtons = {}\n\n return <EventEmitter<IBeaconEvent>>this.beaconSubscribedEventLibrary[beaconId].event\n }\n\n // Set notification message / success\n public success(...message: string[]): EventEmitter<IBeaconEvent> {\n // Set title\n (message.length > 1) && message[0] && this.title(message[0])\n // Set body\n return this.beacon(message[1] || message[0] || this.beaconMessage || this.beaconConfigMap.success.title, this.beaconTypeMap.a)\n }\n\n // Set notification message / error\n public error(...message: string[]): EventEmitter<IBeaconEvent> {\n // Set title\n (message.length > 1) && message[0] && this.title(message[0])\n // Set body\n return this.beacon(message[1] || message[0] || this.beaconMessage || this.beaconConfigMap.error.title, this.beaconTypeMap.b)\n }\n\n // Set notification message / warning\n public warning(...message: string[]): EventEmitter<IBeaconEvent> {\n // Set title\n (message.length > 1) && message[0] && this.title(message[0])\n // Set body\n return this.beacon(message[1] || message[0] || this.beaconMessage || this.beaconConfigMap.warning.title, this.beaconTypeMap.c)\n }\n\n // Set notification message / info\n public info(...message: string[]): EventEmitter<IBeaconEvent> {\n // Set title\n (message.length > 1) && message[0] && this.title(message[0])\n // Set body\n return this.beacon(message[1] || message[0] || this.beaconMessage || this.beaconConfigMap.info.title, this.beaconTypeMap.d)\n }\n\n // Set notification message / alert\n public alert(...message: string[]): EventEmitter<IBeaconEvent> {\n // Set title\n (message.length > 1) && message[0] && this.title(message[0])\n // Set body\n return this.beacon(message[1] || message[0] || this.beaconMessage || this.beaconConfigMap.alert.title, this.beaconTypeMap.e)\n }\n\n // Watch events for beacon with specified id\n public watch(id: string | string[]): EventEmitter<IBeaconWatchedEvent> {\n // Register watched id\n if (Array.isArray(id))\n id.forEach(k => this.beaconWatchedEventLibrary.set(k, String()))\n else this.beaconWatchedEventLibrary.set(id, String())\n\n return this.beaconWatchedEventTaskMaster\n }\n\n // Watch events for all beacons\n public events(): EventEmitter<IBeaconWatchedEvent> {\n return this.beaconAllEventTaskMaster\n }\n\n // Close beacon with id\n public closeOne(id: string): void {\n if (this.beaconWatchedEventLibrary.has(id)) {\n const autoId = <string>this.beaconWatchedEventLibrary.get(id)\n\n // Remove the beacon\n this.beaconLibrary = this.beaconLibrary.filter(x => {\n return (x.bid != autoId)\n })\n\n this.beaconEventTaskMaster.emit({\n delete: true,\n id: autoId\n })\n }\n }\n\n // Close all beacons\n public closeAll(): void {\n this.beaconLibrary = this.beaconLibrary.filter(x => {\n this.beaconEventTaskMaster.emit({\n delete: true,\n id: x.bid\n })\n\n return !(x.bid)\n })\n }\n\n // Check for possible duplicate\n private isNewBeaconADuplicate(signature: string): boolean {\n const duplicate = this.beaconLibrary.find(x => x.signature == signature)\n const beacon = this.beaconContainer.nativeElement.querySelector(`div#bc_${duplicate?.bid}`)\n return Boolean(beacon && window.getComputedStyle(beacon).opacity == '1')\n }\n}","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-beacon-icon-alert',\n templateUrl: './beacon-icon-alert.component.html',\n styleUrls: ['./beacon-icon-alert.component.css']\n})\nexport class BeaconIconAlertComponent {\n\n}\n","<svg fill=\"currentColor\" viewBox=\"0 0 48 48\" data-name=\"Layer 1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\">\n <g id=\"SVGRepo_bgCarrier\" stroke-width=\"0\"></g>\n <g id=\"SVGRepo_tracerCarrier\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></g>\n <g id=\"SVGRepo_iconCarrier\">\n <title></title>\n <path\n d=\"M40.62,28.34l-.87-.7A2,2,0,0,1,39,26.08V18A15,15,0,0,0,26.91,3.29a3,3,0,0,0-5.81,0A15,15,0,0,0,9,18v8.08a2,2,0,0,1-.75,1.56l-.87.7a9,9,0,0,0-3.38,7V37a4,4,0,0,0,4,4h8.26a8,8,0,0,0,15.47,0H40a4,4,0,0,0,4-4V35.36A9,9,0,0,0,40.62,28.34ZM24,43a4,4,0,0,1-3.44-2h6.89A4,4,0,0,1,24,43Zm16-6H8V35.36a5,5,0,0,1,1.88-3.9l.87-.7A6,6,0,0,0,13,26.08V18a11,11,0,0,1,22,0v8.08a6,6,0,0,0,2.25,4.69l.87.7A5,5,0,0,1,40,35.36Z\"\n ></path>\n </g>\n</svg>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-beacon-icon-error',\n templateUrl: './beacon-icon-error.component.html',\n styleUrls: ['./beacon-icon-error.component.css']\n})\nexport class BeaconIconErrorComponent {\n\n}\n","<svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g id=\"SVGRepo_bgCarrier\" stroke-width=\"0\"></g>\n <g id=\"SVGRepo_tracerCarrier\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></g>\n <g id=\"SVGRepo_iconCarrier\">\n <path\n d=\"M11.3586 20.6831C11.5639 20.7901 11.6666 20.8436 11.809 20.8713C11.92 20.8929 12.08 20.8929 12.191 20.8713C12.3334 20.8436 12.4361 20.7901 12.6414 20.6831C14.54 19.6939 20 16.4612 20 12.0001V8.21772C20 7.4182 20 7.01845 19.8692 6.67482C19.7537 6.37126 19.566 6.10039 19.3223 5.88564C19.0465 5.64255 18.6722 5.50219 17.9236 5.22146L12.5618 3.21079C12.3539 3.13283 12.25 3.09385 12.143 3.07839C12.0482 3.06469 11.9518 3.06469 11.857 3.07839C11.75 3.09385 11.6461 3.13283 11.4382 3.21079L6.0764 5.22146C5.3278 5.50219 4.9535 5.64255 4.67766 5.88564C4.43398 6.10039 4.24627 6.37126 4.13076 6.67482C4 7.01845 4 7.4182 4 8.21772V12.0001C4 16.4612 9.45996 19.6939 11.3586 20.6831Z\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n ></path>\n </g>\n</svg>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-beacon-icon-info',\n templateUrl: './beacon-icon-info.component.html',\n styleUrls: ['./beacon-icon-info.component.css']\n})\nexport class BeaconIconInfoComponent {\n\n}\n","<svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g id=\"SVGRepo_bgCarrier\" stroke-width=\"0\"></g>\n <g id=\"SVGRepo_tracerCarrier\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></g>\n <g id=\"SVGRepo_iconCarrier\">\n <path\n d=\"M10 22H14M5 9C5 5.13401 8.13401 2 12 2C15.866 2 19 5.13401 19 9C19 11.3787 17.8135 13.4694 16 14.7344L15.4582 17.3004C15.3097 18.2778 14.4695 19 13.4809 19H10.5191C9.53052 19 8.69027 18.2778 8.54177 17.3004L8 14.7453C6.18652 13.4804 5 11.3787 5 9Z\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n ></path>\n <path d=\"M8 15H16\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </g>\n</svg>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-beacon-icon-success',\n templateUrl: './beacon-icon-success.component.html',\n styleUrls: ['./beacon-icon-success.component.css']\n})\nexport class BeaconIconSuccessComponent {\n}\n","<svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g id=\"SVGRepo_bgCarrier\" stroke-width=\"0\"></g>\n <g id=\"SVGRepo_tracerCarrier\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></g>\n <g id=\"SVGRepo_iconCarrier\">\n <path\n d=\"M8.5 12.5L10.0089 14.0089C10.3526 14.3526 10.5245 14.5245 10.7198 14.5822C10.8914 14.6328 11.0749 14.6245 11.2412 14.5585C11.4305 14.4834 11.5861 14.2967 11.8973 13.9232L16 9M16.3287 4.75855C17.0676 4.77963 17.8001 5.07212 18.364 5.636C18.9278 6.19989 19.2203 6.9324 19.2414 7.67121C19.2623 8.40232 19.2727 8.76787 19.2942 8.85296C19.3401 9.0351 19.2867 8.90625 19.383 9.06752C19.428 9.14286 19.6792 9.40876 20.1814 9.94045C20.6889 10.4778 21 11.2026 21 12C21 12.7974 20.6889 13.5222 20.1814 14.0595C19.6792 14.5912 19.428 14.8571 19.383 14.9325C19.2867 15.0937 19.3401 14.9649 19.2942 15.147C19.2727 15.2321 19.2623 15.5977 19.2414 16.3288C19.2203 17.0676 18.9278 17.8001 18.364 18.364C17.8001 18.9279 17.0676 19.2204 16.3287 19.2414C15.5976 19.2623 15.2321 19.2727 15.147 19.2942C14.9649 19.3401 15.0937 19.2868 14.9325 19.3831C14.8571 19.4281 14.5912 19.6792 14.0595 20.1814C13.5222 20.6889 12.7974 21 12 21C11.2026 21 10.4778 20.6889 9.94047 20.1814C9.40874 19.6792 9.14287 19.4281 9.06753 19.3831C8.90626 19.2868 9.0351 19.3401 8.85296 19.2942C8.76788 19.2727 8.40225 19.2623 7.67121 19.2414C6.93238 19.2204 6.19986 18.9279 5.63597 18.364C5.07207 17.8001 4.77959 17.0676 4.75852 16.3287C4.73766 15.5976 4.72724 15.2321 4.70578 15.147C4.65985 14.9649 4.71322 15.0937 4.61691 14.9324C4.57192 14.8571 4.32082 14.5912 3.81862 14.0595C3.31113 13.5222 3 12.7974 3 12C3 11.2026 3.31113 10.4778 3.81862 9.94048C4.32082 9.40876 4.57192 9.14289 4.61691 9.06755C4.71322 8.90628 4.65985 9.03512 4.70578 8.85299C4.72724 8.7679 4.73766 8.40235 4.75852 7.67126C4.77959 6.93243 5.07207 6.1999 5.63597 5.636C6.19986 5.07211 6.93238 4.77963 7.67121 4.75855C8.40232 4.73769 8.76788 4.72727 8.85296 4.70581C9.0351 4.65988 8.90626 4.71325 9.06753 4.61694C9.14287 4.57195 9.40876 4.32082 9.94047 3.81863C10.4778 3.31113 11.2026 3 12 3C12.7974 3 13.5222 3.31114 14.0595 3.81864C14.5913 4.32084 14.8571 4.57194 14.9325 4.61693C15.0937 4.71324 14.9649 4.65988 15.147 4.70581C15.2321 4.72726 15.5976 4.73769 16.3287 4.75855Z\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n ></path>\n </g>\n</svg>","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-beacon-icon-warning',\n templateUrl: './beacon-icon-warning.component.html',\n styleUrls: ['./beacon-icon-warning.component.css']\n})\nexport class BeaconIconWarningComponent {\n\n}\n","<svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g id=\"SVGRepo_bgCarrier\" stroke-width=\"0\"></g>\n <g id=\"SVGRepo_tracerCarrier\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></g>\n <g id=\"SVGRepo_iconCarrier\">\n <path d=\"M12 7.75V13\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n <path\n d=\"M21.08 8.58003V15.42C21.08 16.54 20.48 17.58 19.51 18.15L13.57 21.58C12.6 22.14 11.4 22.14 10.42 21.58L4.47998 18.15C3.50998 17.59 2.90997 16.55 2.90997 15.42V8.58003C2.90997 7.46003 3.50998 6.41999 4.47998 5.84999L10.42 2.42C11.39 1.86 12.59 1.86 13.57 2.42L19.51 5.84999C20.48 6.41999 21.08 7.45003 21.08 8.58003Z\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n ></path>\n <path d=\"M12 16.2V16.2999\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </g>\n</svg>\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { BEACON_TYPE_KEYS } from '../types/constants';\n\n@Pipe({\n name: 'beaconTypeResolve'\n})\nexport class BeaconTypeResolvePipe implements PipeTransform {\n private beaconTypeKeys!: Array<string>\n constructor(){\n this.beaconTypeKeys = BEACON_TYPE_KEYS\n }\n\n transform(value: string, ...args: string[]): boolean {\n let status: boolean = false\n switch (args[0]) {\n case 'alert':\n status = value == this.beaconTypeKeys[0]\n break\n case 'error':\n status = value == this.beaconTypeKeys[1]\n break\n case 'info':\n status = value == this.beaconTypeKeys[2]\n break\n case 'success':\n status = value == this.beaconTypeKeys[3]\n break\n case 'warning':\n status = value == this.beaconTypeKeys[4]\n break\n }\n\n return status\n }\n\n}\n","import { Component, Input, AfterViewInit } from '@angular/core';\nimport { BeaconNotifyService } from '../beacon-notify.service';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { IBeaconConfig, IBeaconEventMessage } from '../types';\n\n@Component({\n selector: 'app-beacon',\n templateUrl: './beacon.component.html',\n styleUrls: ['./beacon.component.css']\n})\nexport class BeaconNotifyComponent {\n @Input() beacon!: IBeaconConfig\n private beaconDOM!: HTMLElement\n public beaconDefaultIconKeys!: string[]\n\n constructor(private beaconService: BeaconNotifyService,\n private sanitizer: DomSanitizer){\n this.beaconDefaultIconKeys = this.beaconService.getBeaconDefaultIconKeys\n }\n\n ngOnInit(): void {\n // Fire mount event\n this.beaconService.beaconEventTaskMaster.emit({\n mount: true,\n id: this.beacon.bid\n })\n }\n\n ngAfterViewInit(): void {\n // Get beacon\n const beacon = this.beaconDOM = this.beaconService.getBeaconContainer.nativeElement.querySelector(`#bc_${this.beacon.bid}`)\n // Resolve possible focus for beacon\n this.resolvePossibleFocusForBeacon(beacon)\n setTimeout(() => {\n // Resolve delay setting\n this.resolveDelayForBeacon(beacon, true)\n // Set beacon listener\n this.setListenerForBeacon(beacon, this.beacon)\n\n // Sanitize svg content if not font icon\n if (this.beacon.svgIcon) {\n const beaconSvgIcon = beacon.querySelector('span.beacon-message-svg-control svg')\n beaconSvgIcon.style.width = '20px'\n beaconSvgIcon.style.height = '20px'\n beaconSvgIcon.style.marginRight = '7px'\n beaconSvgIcon.style.marginTop = '-2px'\n }\n }, 0)\n\n // Listen for event\n this.beaconService.beaconEventTaskMaster.subscribe((message: IBeaconEventMessage) => {\n // Check for next for focus event\n if (message.autoDetectNextFocusBeacon)\n this.resolvePossibleFocusForBeacon(this.beaconDOM, false)\n })\n }\n\n // When beacon button is clicked\n beaconButtonClick(e: Event, no: number): void {\n e.stopPropagation()\n switch (no) {\n case 1:\n // Check for callback\n if (this.beacon?.buttons?.one?.callback)\n this.beacon?.buttons?.one?.callback(...(this.beacon?.buttons?.one?.callbackArgs || []))\n \n // Check if can dismiss\n if (this.beacon?.buttons?.one?.canDismiss)\n this.closeBeacon(this.beaconDOM, this.beacon)\n break\n case 2:\n // Check for callback\n if (this.beacon?.buttons?.two?.callback)\n this.beacon?.buttons?.two?.callback(...(this.beacon?.buttons?.two?.callbackArgs || []))\n\n // Check if can dismiss\n if (this.beacon?.buttons?.two?.canDismiss)\n this.closeBeacon(this.beaconDOM, this.beacon)\n break\n }\n }\n\n // Set listener for beacon changes\n setListenerForBeacon(beacon: Element, beaconData: IBeaconConfig): void {\n ((b, d) => {\n beacon?.addEventListener('animationend', (e) => this.closeBeacon(b, d))\n beacon?.addEventListener('webkitAnimationEnd', (e) => this.closeBeacon(b, d))\n beacon?.addEventListener('oAnimationEnd', (e) => this.closeBeacon(b, d))\n })(beacon, beaconData)\n }\n\n // Toggle auto-close\n autoClose(status: boolean, control: HTMLElement): void {\n status\n ? (control.getAttribute('data-beacon-static') != 'true' && this.resolveDelayForBeacon(control, false))\n : control.classList.remove(String(this.beacon.animationClass))\n }\n\n // Resolve delay for beacon\n resolveDelayForBeacon(beacon: HTMLElement, onLoad?: boolean): void {\n // Check if delay set\n if (this.beacon.static && typeof this.beacon.static == 'number') {\n beacon && (beacon.style.animationDelay = this.beacon.static + 's')\n } else {\n if (onLoad == !1 && this.beacon?.fixed != true)\n beacon.classList.add(String(this.beacon.animationClass))\n }\n }\n\n // Resolve focus beacon\n resolvePossibleFocusForBeacon(beacon: HTMLElement, createOverlay: boolean = true): void {\n const activeFocusBeaconId = this.beaconService.getActiveFocusBeaconId\n if (activeFocusBeaconId == this.beacon.bid) {\n beacon.style.zIndex = '9003'\n \n // Check if beacon should be centered\n if (this.beacon.shine) {\n const scale = this.beacon.shineScale && String(this.beacon.shineScale).match(/(\\d+)\\.(\\d+)/) ? this.beacon.shineScale : '1.5'\n beacon.style.position = 'fixed'\n beacon.style.right = '0'\n beacon.style.left = '0'\n beacon.style.bottom = '50%'\n beacon.style.margin = 'auto'\n beacon.style.transform = 'scale(' + scale + ')'\n }\n\n // Create overlay\n if (createOverlay)\n this.beaconService.createBeaconFocusOverlay(this.beacon.overlayColor)\n else this.beaconService.repaintBeaconFocusOverlay(this.beacon.overlayColor)\n }\n }\n\n // Trigger close beacon\n closeBeacon(beaconControl: any, beaconData: IBeaconConfig): void {\n if (!this.beacon?.fixed) {\n this.beaconService.beaconEventTaskMaster.emit({\n delete: true,\n id: beaconControl.getAttribute('id').replace(/bc_/, '')\n })\n }\n }\n}\n","<div #beaconControl \n\t\t[id]=\"'bc_' + beacon.bid\"\n\t\t(mouseenter)=\"autoClose(false, beaconControl)\" \n\t\t(mouseleave)=\"autoClose(true, beaconControl)\"\n\t\t(click)=\"beacon.preventClickClose ? null : closeBeacon(beaconControl, beacon)\"\n\t\t[attr.data-beacon-static]=\"beacon.static\"\n\t\tclass=\"beacon-message-control {{ (beacon.static !== true && beacon.fixed !== true) ? beacon.animationClass : '' }} {{ beacon.replacementClass || beacon.type }} {{ beacon.styleClass }}\"\n\t\t[class.beacon-message-control-no-hover-effect]=\"beacon.noHoverEffect\">\n\t<div class=\"beacon-message-header\">\n\t\t<div>\n\t\t\t<span *ngIf=\"beacon.fontIcon\"><i [class]=\"beacon.icon\"></i></span>\n\t\t\t<span *ngIf=\"!beacon.fontIcon && beaconDefaultIconKeys.includes(beacon.icon)\" class=\"beacon-message-svg-control\">\n\t\t\t\t<app-beacon-icon-alert *ngIf=\"beacon.icon | beaconTypeResolve:'alert'\"></app-beacon-icon-alert>\n\t\t\t\t<app-beacon-icon-error *ngIf=\"beacon.icon | beaconTypeResolve:'error'\"></app-beacon-icon-error>\n\t\t\t\t<app-beacon-icon-info *ngIf=\"beacon.icon | beaconTypeResolve:'info'\"></app-beacon-icon-info>\n\t\t\t\t<app-beacon-icon-success *ngIf=\"beacon.icon | beaconTypeResolve:'success'\"></app-beacon-icon-success>\n\t\t\t\t<app-beacon-icon-warning *ngIf=\"beacon.icon | beaconTypeResolve:'warning'\"></app-beacon-icon-warning>\n\t\t\t</span>\n\t\t\t<span *ngIf=\"!beacon.fontIcon && beacon.icon && !beaconDefaultIconKeys.includes(beacon.icon)\" class=\"beacon-message-svg-control\" [innerHTML]=\"beacon.svgIcon\"></span>\n\t\t\t{{ beacon.title }}\n\t\t</div>\n\t\t<div>\n\t\t\t<div *ngIf=\"!beacon.fixed\" class=\"beacon-message-close\" (click)=\"closeBeacon(beaconControl, beacon)\">\n\t\t\t\t<svg width=\"10\" height=\"10\" viewBox=\"0 0 78 78\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t <rect y=\"7.07104\" width=\"10\" height=\"100\" rx=\"5\" transform=\"rotate(-45 0 7.07104)\" />\n\t\t\t <rect x=\"70.7109\" width=\"10\" height=\"100\" rx=\"5\" transform=\"rotate(45 70.7109 0)\" />\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t<div class=\"beacon-message-divider\"></div>\n\t<div class=\"beacon-message-body\" [innerHTML]=\"beacon.bodyHtml\"></div>\n\t<div class=\"beacon-message-divider\" *ngIf=\"beacon.buttons?.one || beacon.buttons?.two\"></div>\n\n\t<div class=\"beacon-message-footer\" *ngIf=\"beacon.buttons && beacon.buttons?.one && beacon.buttons?.two\">\n\t\t<div><button (click)=\"beaconButtonClick($event, 1)\">{{ beacon.buttons?.one?.text }}</button></div>\n\t\t<div><button (click)=\"beaconButtonClick($event, 2)\">{{ beacon.buttons?.two?.text }}</button></div>\n\t</div>\n\n\t<div class=\"beacon-message-footer\" *ngIf=\"beacon.buttons && beacon.buttons?.one && !beacon?.buttons?.two\">\n\t\t<div [class]=\"beacon.buttons?.one?.position ? ('beacon-message-button-container-' + beacon?.buttons?.one?.position) : ''\">\n\t\t\t<button (click)=\"beaconButtonClick($event, 1)\">{{ beacon.buttons?.one?.text }}</button>\n\t\t</div>\n\t</div>\n\n</div>","import { Component, Input, ViewChild, ElementRef, AfterViewInit } from '@angular/core';\nimport { BeaconNotifyService } from '../beacon-notify.service';\nimport { IBeaconConfig, IBeaconEventMessage } from '../types';\n\n@Component({\n selector: 'ngx-beacon-notify',\n templateUrl: './container.component.html',\n styleUrls: ['./container.component.css']\n})\nexport class BeaconNotifyContainerComponent implements AfterViewInit {\n @ViewChild('beaconContainer', { static: false }) set content(content: ElementRef) {\n content && this.resolveBeaconContainer(content)\n }\n beaconLibrary!: Array<IBeaconConfig>\n\n constructor(private beaconService: BeaconNotifyService){\n this.beaconLibrary = this.beaconService.beaconLibrary\n }\n\n ngOnInit(): void {\n // Listen for delete event\n this.beaconService.beaconEventTaskMaster.subscribe((message: IBeaconEventMessage) => {\n if (message.delete)\n this.beaconLibrary = this.beaconService.beaconLibrary = this.beaconService.beaconLibrary.filter(x => x.bid != message.id)\n })\n }\n\n ngAfterViewInit(): void {}\n\n // Resolve beacon container\n resolveBeaconContainer(content: ElementRef): void {\n this.beaconService.setBeaconContainer(content)\n\n // Resolve position\n const position = this.beaconService.getBeaconGlobalPositionConfig\n // Resolve ltr\n if (position?.leftRight) {\n if(position?.leftRight == 'left') {\n content.nativeElement.style.left = 0\n content.nativeElement.style.right = 'auto'\n } else if (position?.leftRight == 'center') {\n content.nativeElement.style.left = 0\n content.nativeElement.style.right = 0\n content.nativeElement.style.margin = 'auto'\n } else {\n content.nativeElement.style.left = 'auto'\n content.nativeElement.style.right = 0\n }\n }\n // Resolve ttb\n if (position?.topBottom) {\n if(position?.topBottom == 'top') {\n content.nativeElement.style.top = 0\n content.nativeElement.style.bottom = 'auto'\n } else {\n content.nativeElement.style.top = 'auto'\n content.nativeElement.style.bottom = 0\n }\n }\n }\n\n // Track-by function\n trackBy(idx: number, item: { bid: string }): string {\n return item.bid;\n }\n}\n","<div id=\"app-beacon-notify-container\" #beaconContainer>\n\t<app-beacon *ngFor=\"let beacon of beaconLibrary; trackBy: trackBy\" [id]=\"'bcp_'+beacon.bid\" [beacon]=\"beacon\"></app-beacon>\n</div>","import { NgModule, ModuleWithProviders } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { BeaconNotifyContainerComponent } from './container/container.component';\r\nimport { BeaconNotifyComponent } from './beacon/beacon.component';\r\nimport { IBeaconGlobalConfig, BEACON_GLOBAL_CONFIG } from './types';\r\nimport { BeaconNotifyService } from './beacon-notify.service';\r\nimport { BeaconIconSuccessComponent } from './icons/beacon-icon-success/beacon-icon-success.component';\r\nimport { BeaconIconAlertComponent } from './icons/beacon-icon-alert/beacon-icon-alert.component';\r\nimport { BeaconIconErrorComponent } from './icons/beacon-icon-error/beacon-icon-error.component';\r\nimport { BeaconIconInfoComponent } from './icons/beacon-icon-info/beacon-icon-info.component';\r\nimport { BeaconIconWarningComponent } from './icons/beacon-icon-warning/beacon-icon-warning.component';\r\nimport { BeaconTypeResolvePipe } from './pipes/beacon-type-resolve.pipe';\r\n\r\n@NgModule({\r\n declarations: [\r\n BeaconNotifyComponent,\r\n BeaconNotifyContainerComponent,\r\n BeaconIconAlertComponent,\r\n BeaconIconErrorComponent,\r\n BeaconIconInfoComponent,\r\n BeaconIconSuccessComponent,\r\n BeaconIconWarningComponent,\r\n BeaconTypeResolvePipe\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n BeaconNotifyComponent,\r\n BeaconNotifyContainerComponent\r\n ]\r\n})\r\nexport class BeaconNotifyModule {\r\n static forRoot(config?: IBeaconGlobalConfig): ModuleWithProviders<BeaconNotifyModule> {\r\n return {\r\n ngModule: BeaconNotifyModule,\r\n providers: [\r\n { provide: BEACON_GLOBAL_CONFIG, useValue: config },\r\n BeaconNotifyService\r\n ]\r\n }\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.BeaconNotifyService","i2","i4.BeaconIconAlertComponent","i5.BeaconIconErrorComponent","i6.BeaconIconInfoComponent","i7.BeaconIconSuccessComponent","i8.BeaconIconWarningComponent","i9.BeaconTypeResolvePipe","i3.BeaconNotifyComponent"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ngx-beacon-notify",
3
- "version": "1.2.5",
3
+ "version": "1.2.6",
4
4
  "description": "A versatile and beautifully designed toast/alert plugin for Angular, offering flexible functionalities for powerful and seamless notifications.",
5
5
  "main": "bundles/ngx-beacon-notify.umd.js",
6
6
  "module": "fesm2022/ngx-beacon-notify.mjs",