ngx-beacon-notify 1.3.3 → 1.3.5

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.
@@ -10,6 +10,7 @@ import { BeaconIconErrorComponent } from './icons/beacon-icon-error/beacon-icon-
10
10
  import { BeaconIconInfoComponent } from './icons/beacon-icon-info/beacon-icon-info.component';
11
11
  import { BeaconIconWarningComponent } from './icons/beacon-icon-warning/beacon-icon-warning.component';
12
12
  import { BeaconTypeResolvePipe } from './pipes/beacon-type-resolve.pipe';
13
+ import { WINDOW_PROVIDERS } from './types/constants/window';
13
14
  import * as i0 from "@angular/core";
14
15
  export class BeaconNotifyModule {
15
16
  static forRoot(config) {
@@ -17,7 +18,8 @@ export class BeaconNotifyModule {
17
18
  ngModule: BeaconNotifyModule,
18
19
  providers: [
19
20
  { provide: BEACON_GLOBAL_CONFIG, useValue: config },
20
- BeaconNotifyService
21
+ BeaconNotifyService,
22
+ WINDOW_PROVIDERS
21
23
  ]
22
24
  };
23
25
  }
@@ -55,4 +57,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
55
57
  ]
56
58
  }]
57
59
  }] });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVhY29uLW5vdGlmeS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2JlYWNvbi1ub3RpZnkubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNqRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQXVCLG9CQUFvQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOztBQXFCekUsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixNQUFNLENBQUMsT0FBTyxDQUFDLE1BQTRCO1FBQ3pDLE9BQU87WUFDTCxRQUFRLEVBQUUsa0JBQWtCO1lBQzVCLFNBQVMsRUFBRTtnQkFDVCxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFO2dCQUNuRCxtQkFBbUI7YUFDcEI7U0FDRixDQUFBO0lBQ0gsQ0FBQzt1R0FUVSxrQkFBa0I7d0dBQWxCLGtCQUFrQixpQkFqQjNCLHFCQUFxQjtZQUNyQiw4QkFBOEI7WUFDOUIsd0JBQXdCO1lBQ3hCLHdCQUF3QjtZQUN4Qix1QkFBdUI7WUFDdkIsMEJBQTBCO1lBQzFCLDBCQUEwQjtZQUMxQixxQkFBcUIsYUFHckIsWUFBWSxhQUdaLHFCQUFxQjtZQUNyQiw4QkFBOEI7d0dBR3JCLGtCQUFrQixZQVAzQixZQUFZOzsyRkFPSCxrQkFBa0I7a0JBbkI5QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixxQkFBcUI7d0JBQ3JCLDhCQUE4Qjt3QkFDOUIsd0JBQXdCO3dCQUN4Qix3QkFBd0I7d0JBQ3hCLHVCQUF1Qjt3QkFDdkIsMEJBQTBCO3dCQUMxQiwwQkFBMEI7d0JBQzFCLHFCQUFxQjtxQkFDdEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7cUJBQ2I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHFCQUFxQjt3QkFDckIsOEJBQThCO3FCQUMvQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEJlYWNvbk5vdGlmeUNvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vY29udGFpbmVyL2NvbnRhaW5lci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCZWFjb25Ob3RpZnlDb21wb25lbnQgfSBmcm9tICcuL2JlYWNvbi9iZWFjb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgSUJlYWNvbkdsb2JhbENvbmZpZywgQkVBQ09OX0dMT0JBTF9DT05GSUcgfSBmcm9tICcuL3R5cGVzJztcclxuaW1wb3J0IHsgQmVhY29uTm90aWZ5U2VydmljZSB9IGZyb20gJy4vYmVhY29uLW5vdGlmeS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQmVhY29uSWNvblN1Y2Nlc3NDb21wb25lbnQgfSBmcm9tICcuL2ljb25zL2JlYWNvbi1pY29uLXN1Y2Nlc3MvYmVhY29uLWljb24tc3VjY2Vzcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCZWFjb25JY29uQWxlcnRDb21wb25lbnQgfSBmcm9tICcuL2ljb25zL2JlYWNvbi1pY29uLWFsZXJ0L2JlYWNvbi1pY29uLWFsZXJ0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJlYWNvbkljb25FcnJvckNvbXBvbmVudCB9IGZyb20gJy4vaWNvbnMvYmVhY29uLWljb24tZXJyb3IvYmVhY29uLWljb24tZXJyb3IuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmVhY29uSWNvbkluZm9Db21wb25lbnQgfSBmcm9tICcuL2ljb25zL2JlYWNvbi1pY29uLWluZm8vYmVhY29uLWljb24taW5mby5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCZWFjb25JY29uV2FybmluZ0NvbXBvbmVudCB9IGZyb20gJy4vaWNvbnMvYmVhY29uLWljb24td2FybmluZy9iZWFjb24taWNvbi13YXJuaW5nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJlYWNvblR5cGVSZXNvbHZlUGlwZSB9IGZyb20gJy4vcGlwZXMvYmVhY29uLXR5cGUtcmVzb2x2ZS5waXBlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBCZWFjb25Ob3RpZnlDb21wb25lbnQsXHJcbiAgICBCZWFjb25Ob3RpZnlDb250YWluZXJDb21wb25lbnQsXHJcbiAgICBCZWFjb25JY29uQWxlcnRDb21wb25lbnQsXHJcbiAgICBCZWFjb25JY29uRXJyb3JDb21wb25lbnQsXHJcbiAgICBCZWFjb25JY29uSW5mb0NvbXBvbmVudCxcclxuICAgIEJlYWNvbkljb25TdWNjZXNzQ29tcG9uZW50LFxyXG4gICAgQmVhY29uSWNvbldhcm5pbmdDb21wb25lbnQsXHJcbiAgICBCZWFjb25UeXBlUmVzb2x2ZVBpcGVcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgQmVhY29uTm90aWZ5Q29tcG9uZW50LFxyXG4gICAgQmVhY29uTm90aWZ5Q29udGFpbmVyQ29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmVhY29uTm90aWZ5TW9kdWxlIHtcclxuICBzdGF0aWMgZm9yUm9vdChjb25maWc/OiBJQmVhY29uR2xvYmFsQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxCZWFjb25Ob3RpZnlNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBCZWFjb25Ob3RpZnlNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHsgcHJvdmlkZTogQkVBQ09OX0dMT0JBTF9DT05GSUcsIHVzZVZhbHVlOiBjb25maWcgfSxcclxuICAgICAgICBCZWFjb25Ob3RpZnlTZXJ2aWNlXHJcbiAgICAgIF1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVhY29uLW5vdGlmeS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2JlYWNvbi1ub3RpZnkubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNqRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQXVCLG9CQUFvQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQXFCNUQsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixNQUFNLENBQUMsT0FBTyxDQUFDLE1BQTRCO1FBQ3pDLE9BQU87WUFDTCxRQUFRLEVBQUUsa0JBQWtCO1lBQzVCLFNBQVMsRUFBRTtnQkFDVCxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFO2dCQUNuRCxtQkFBbUI7Z0JBQ25CLGdCQUFnQjthQUNqQjtTQUNGLENBQUE7SUFDSCxDQUFDO3VHQVZVLGtCQUFrQjt3R0FBbEIsa0JBQWtCLGlCQWpCM0IscUJBQXFCO1lBQ3JCLDhCQUE4QjtZQUM5Qix3QkFBd0I7WUFDeEIsd0JBQXdCO1lBQ3hCLHVCQUF1QjtZQUN2QiwwQkFBMEI7WUFDMUIsMEJBQTBCO1lBQzFCLHFCQUFxQixhQUdyQixZQUFZLGFBR1oscUJBQXFCO1lBQ3JCLDhCQUE4Qjt3R0FHckIsa0JBQWtCLFlBUDNCLFlBQVk7OzJGQU9ILGtCQUFrQjtrQkFuQjlCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLHFCQUFxQjt3QkFDckIsOEJBQThCO3dCQUM5Qix3QkFBd0I7d0JBQ3hCLHdCQUF3Qjt3QkFDeEIsdUJBQXVCO3dCQUN2QiwwQkFBMEI7d0JBQzFCLDBCQUEwQjt3QkFDMUIscUJBQXFCO3FCQUN0QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTtxQkFDYjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AscUJBQXFCO3dCQUNyQiw4QkFBOEI7cUJBQy9CO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQmVhY29uTm90aWZ5Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb250YWluZXIvY29udGFpbmVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJlYWNvbk5vdGlmeUNvbXBvbmVudCB9IGZyb20gJy4vYmVhY29uL2JlYWNvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJQmVhY29uR2xvYmFsQ29uZmlnLCBCRUFDT05fR0xPQkFMX0NPTkZJRyB9IGZyb20gJy4vdHlwZXMnO1xyXG5pbXBvcnQgeyBCZWFjb25Ob3RpZnlTZXJ2aWNlIH0gZnJvbSAnLi9iZWFjb24tbm90aWZ5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCZWFjb25JY29uU3VjY2Vzc0NvbXBvbmVudCB9IGZyb20gJy4vaWNvbnMvYmVhY29uLWljb24tc3VjY2Vzcy9iZWFjb24taWNvbi1zdWNjZXNzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJlYWNvbkljb25BbGVydENvbXBvbmVudCB9IGZyb20gJy4vaWNvbnMvYmVhY29uLWljb24tYWxlcnQvYmVhY29uLWljb24tYWxlcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmVhY29uSWNvbkVycm9yQ29tcG9uZW50IH0gZnJvbSAnLi9pY29ucy9iZWFjb24taWNvbi1lcnJvci9iZWFjb24taWNvbi1lcnJvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCZWFjb25JY29uSW5mb0NvbXBvbmVudCB9IGZyb20gJy4vaWNvbnMvYmVhY29uLWljb24taW5mby9iZWFjb24taWNvbi1pbmZvLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJlYWNvbkljb25XYXJuaW5nQ29tcG9uZW50IH0gZnJvbSAnLi9pY29ucy9iZWFjb24taWNvbi13YXJuaW5nL2JlYWNvbi1pY29uLXdhcm5pbmcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmVhY29uVHlwZVJlc29sdmVQaXBlIH0gZnJvbSAnLi9waXBlcy9iZWFjb24tdHlwZS1yZXNvbHZlLnBpcGUnO1xyXG5pbXBvcnQgeyBXSU5ET1dfUFJPVklERVJTIH0gZnJvbSAnLi90eXBlcy9jb25zdGFudHMvd2luZG93JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBCZWFjb25Ob3RpZnlDb21wb25lbnQsXHJcbiAgICBCZWFjb25Ob3RpZnlDb250YWluZXJDb21wb25lbnQsXHJcbiAgICBCZWFjb25JY29uQWxlcnRDb21wb25lbnQsXHJcbiAgICBCZWFjb25JY29uRXJyb3JDb21wb25lbnQsXHJcbiAgICBCZWFjb25JY29uSW5mb0NvbXBvbmVudCxcclxuICAgIEJlYWNvbkljb25TdWNjZXNzQ29tcG9uZW50LFxyXG4gICAgQmVhY29uSWNvbldhcm5pbmdDb21wb25lbnQsXHJcbiAgICBCZWFjb25UeXBlUmVzb2x2ZVBpcGVcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgQmVhY29uTm90aWZ5Q29tcG9uZW50LFxyXG4gICAgQmVhY29uTm90aWZ5Q29udGFpbmVyQ29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmVhY29uTm90aWZ5TW9kdWxlIHtcclxuICBzdGF0aWMgZm9yUm9vdChjb25maWc/OiBJQmVhY29uR2xvYmFsQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxCZWFjb25Ob3RpZnlNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBCZWFjb25Ob3RpZnlNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHsgcHJvdmlkZTogQkVBQ09OX0dMT0JBTF9DT05GSUcsIHVzZVZhbHVlOiBjb25maWcgfSxcclxuICAgICAgICBCZWFjb25Ob3RpZnlTZXJ2aWNlLFxyXG4gICAgICAgIFdJTkRPV19QUk9WSURFUlNcclxuICAgICAgXVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -971,7 +971,8 @@ class BeaconNotifyModule {
971
971
  ngModule: BeaconNotifyModule,
972
972
  providers: [
973
973
  { provide: BEACON_GLOBAL_CONFIG, useValue: config },
974
- BeaconNotifyService
974
+ BeaconNotifyService,
975
+ WINDOW_PROVIDERS
975
976
  ]
976
977
  };
977
978
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-beacon-notify.mjs","sources":["../../src/lib/types/constants/index.ts","../../src/lib/types/constants/window.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 { isPlatformBrowser } from \"@angular/common\";\r\nimport { ClassProvider, FactoryProvider, InjectionToken, PLATFORM_ID, Injectable } from '@angular/core';\r\n\r\n/* Create a new injection token for injecting the window into a component. */\r\nexport const WINDOW = new InjectionToken('WindowToken');\r\n\r\n/* Define abstract class for obtaining reference to the global window object. */\r\nexport abstract class WindowRef {\r\n\r\n get nativeWindow(): Window | Object {\r\n throw new Error('Not implemented.');\r\n }\r\n\r\n}\r\n\r\n/* Define class that implements the abstract class and returns the native window object. */\r\n@Injectable()\r\nexport class BrowserWindowRef extends WindowRef {\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n override get nativeWindow(): Window | Object {\r\n return window;\r\n }\r\n\r\n}\r\n\r\n/* Create an factory function that returns the native window object. */\r\nexport function windowFactory(browserWindowRef: BrowserWindowRef, platformId: Object): Window | Object {\r\n if (isPlatformBrowser(platformId)) {\r\n return browserWindowRef.nativeWindow;\r\n }\r\n return new Object();\r\n}\r\n\r\n/* Create a injectable provider for the WindowRef token that uses the BrowserWindowRef class. */\r\nexport const browserWindowProvider: ClassProvider = {\r\n provide: WindowRef,\r\n useClass: BrowserWindowRef\r\n};\r\n\r\n/* Create an injectable provider that uses the windowFactory function for returning the native window object. */\r\nexport const windowProvider: FactoryProvider = {\r\n provide: WINDOW,\r\n useFactory: windowFactory,\r\n deps: [WindowRef, PLATFORM_ID]\r\n};\r\n\r\n/* Create an array of providers. */\r\nexport const WINDOW_PROVIDERS = [\r\n browserWindowProvider,\r\n windowProvider\r\n];","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';\nimport { WINDOW } from './types/constants/window';\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 beaconFontWeightTitle?: string\n private beaconFontWeightBody?: string\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 beaconGlobalFontWeightTitle?: string\n private beaconGlobalFontWeightBody?: 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(WINDOW) private window,\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 globalConfig.fontWeightTitle && (this.beaconGlobalFontWeightTitle = globalConfig.fontWeightTitle)\n globalConfig.fontWeightBody && (this.beaconGlobalFontWeightBody = globalConfig.fontWeightBody)\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 config.fontWeightTitle && (this.beaconFontWeightTitle = config.fontWeightTitle)\n config.fontWeightBody && (this.beaconFontWeightBody = config.fontWeightBody)\n return this\n }\n\n // create notification beacon\n private beacon(message: string, type: string): EventEmitter<IBeaconEvent> {\n // Get signature\n const signature = this.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 fontWeightTitle: this.beaconFontWeightTitle || this.beaconGlobalFontWeightTitle,\n fontWeightBody: this.beaconFontWeightBody || this.beaconGlobalFontWeightBody,\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 && this.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 font weight for title and body\n this.resolveFontWeightForComponents(beacon)\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 font weight for title and body\n resolveFontWeightForComponents(beacon: HTMLElement): void {\n const title: HTMLElement = beacon.querySelector('div.beacon-message-header')\n const body: HTMLElement = beacon.querySelector('div.beacon-message-body')\n title && (title.style.fontWeight = this.beacon.fontWeightTitle || 'bold')\n body && (body.style.fontWeight = this.beacon.fontWeightBody || 'bold')\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<span class=\"beacon-message-title\">{{ beacon.title }}</span>\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/types/constants/window.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 { isPlatformBrowser } from \"@angular/common\";\r\nimport { ClassProvider, FactoryProvider, InjectionToken, PLATFORM_ID, Injectable } from '@angular/core';\r\n\r\n/* Create a new injection token for injecting the window into a component. */\r\nexport const WINDOW = new InjectionToken('WindowToken');\r\n\r\n/* Define abstract class for obtaining reference to the global window object. */\r\nexport abstract class WindowRef {\r\n\r\n get nativeWindow(): Window | Object {\r\n throw new Error('Not implemented.');\r\n }\r\n\r\n}\r\n\r\n/* Define class that implements the abstract class and returns the native window object. */\r\n@Injectable()\r\nexport class BrowserWindowRef extends WindowRef {\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n override get nativeWindow(): Window | Object {\r\n return window;\r\n }\r\n\r\n}\r\n\r\n/* Create an factory function that returns the native window object. */\r\nexport function windowFactory(browserWindowRef: BrowserWindowRef, platformId: Object): Window | Object {\r\n if (isPlatformBrowser(platformId)) {\r\n return browserWindowRef.nativeWindow;\r\n }\r\n return new Object();\r\n}\r\n\r\n/* Create a injectable provider for the WindowRef token that uses the BrowserWindowRef class. */\r\nexport const browserWindowProvider: ClassProvider = {\r\n provide: WindowRef,\r\n useClass: BrowserWindowRef\r\n};\r\n\r\n/* Create an injectable provider that uses the windowFactory function for returning the native window object. */\r\nexport const windowProvider: FactoryProvider = {\r\n provide: WINDOW,\r\n useFactory: windowFactory,\r\n deps: [WindowRef, PLATFORM_ID]\r\n};\r\n\r\n/* Create an array of providers. */\r\nexport const WINDOW_PROVIDERS = [\r\n browserWindowProvider,\r\n windowProvider\r\n];","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';\nimport { WINDOW } from './types/constants/window';\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 beaconFontWeightTitle?: string\n private beaconFontWeightBody?: string\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 beaconGlobalFontWeightTitle?: string\n private beaconGlobalFontWeightBody?: 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(WINDOW) private window,\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 globalConfig.fontWeightTitle && (this.beaconGlobalFontWeightTitle = globalConfig.fontWeightTitle)\n globalConfig.fontWeightBody && (this.beaconGlobalFontWeightBody = globalConfig.fontWeightBody)\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 config.fontWeightTitle && (this.beaconFontWeightTitle = config.fontWeightTitle)\n config.fontWeightBody && (this.beaconFontWeightBody = config.fontWeightBody)\n return this\n }\n\n // create notification beacon\n private beacon(message: string, type: string): EventEmitter<IBeaconEvent> {\n // Get signature\n const signature = this.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 fontWeightTitle: this.beaconFontWeightTitle || this.beaconGlobalFontWeightTitle,\n fontWeightBody: this.beaconFontWeightBody || this.beaconGlobalFontWeightBody,\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 && this.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 font weight for title and body\n this.resolveFontWeightForComponents(beacon)\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 font weight for title and body\n resolveFontWeightForComponents(beacon: HTMLElement): void {\n const title: HTMLElement = beacon.querySelector('div.beacon-message-header')\n const body: HTMLElement = beacon.querySelector('div.beacon-message-body')\n title && (title.style.fontWeight = this.beacon.fontWeightTitle || 'bold')\n body && (body.style.fontWeight = this.beacon.fontWeightBody || 'bold')\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<span class=\"beacon-message-title\">{{ beacon.title }}</span>\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\nimport { WINDOW_PROVIDERS } from './types/constants/window';\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 WINDOW_PROVIDERS\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.3.3",
3
+ "version": "1.3.5",
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",