@notifizz/angular 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,24 +1,88 @@
1
- # NotifizzAngular
1
+ # @notifizz/angular
2
2
 
3
- This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 17.3.0.
3
+ Angular component to embed the Notifizz notification bell and notification center in your Angular app.
4
4
 
5
- ## Code scaffolding
5
+ ## Installation
6
6
 
7
- Run `ng generate component component-name --project notifizz-angular` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project notifizz-angular`.
8
- > Note: Don't forget to add `--project notifizz-angular` or else it will be added to the default project in your `angular.json` file.
7
+ ```bash
8
+ npm install @notifizz/angular
9
+ # or
10
+ yarn add @notifizz/angular
11
+ ```
9
12
 
10
- ## Build
13
+ ## Setup
11
14
 
12
- Run `ng build notifizz-angular` to build the project. The build artifacts will be stored in the `dist/` directory.
15
+ Import the component in your Angular module or standalone component:
13
16
 
14
- ## Publishing
17
+ ```typescript
18
+ import { Component } from '@angular/core';
19
+ import { NotifizzAngularComponent } from '@notifizz/angular';
15
20
 
16
- After building your library with `ng build notifizz-angular`, go to the dist folder `cd dist/notifizz-angular` and run `npm publish`.
21
+ @Component({
22
+ selector: 'app-root',
23
+ templateUrl: './app.component.html',
24
+ standalone: true,
25
+ imports: [NotifizzAngularComponent]
26
+ })
27
+ export class AppComponent {}
28
+ ```
17
29
 
18
- ## Running unit tests
30
+ ## Template
19
31
 
20
- Run `ng test notifizz-angular` to execute the unit tests via [Karma](https://karma-runner.github.io).
32
+ Add the widget to your template:
21
33
 
22
- ## Further help
34
+ ```html
35
+ <notifizz-bell
36
+ [options]="{
37
+ apiKey: 'YOUR_FRONT_API_KEY',
38
+ token: 'USER_FIREBASE_TOKEN_OR_BACKEND_TOKEN',
39
+ authType: 'firebase',
40
+ position: 'bottom-right',
41
+ userEmail: 'user@example.com',
42
+ userId: '12345',
43
+ notificationCenterStyles: { marginTop: '50px' },
44
+ bellStyles: { marginRight: '20px' }
45
+ }"
46
+ >
47
+ </notifizz-bell>
48
+ ```
23
49
 
24
- To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
50
+ Use `authType: 'backendToken'` when using a backend-generated token; then `userEmail` and `userId` are required.
51
+
52
+ ## Options
53
+
54
+ | Option | Type | Required | Description |
55
+ |--------|------|----------|-------------|
56
+ | `apiKey` | `string` | Yes | Your Notifizz front API key. |
57
+ | `token` | `string` | Yes | Auth token (Firebase ID token or backend token). |
58
+ | `authType` | `'firebase'` \| `'backendToken'` | Yes | How the user is authenticated. |
59
+ | `position` | `'top-right'` \| `'top-left'` \| `'bottom-right'` \| `'bottom-left'` | No | Bell position. |
60
+ | `notificationCenterStyles` | `{ marginTop?: string }` | No | Styles for the notification center. |
61
+ | `bellStyles` | `{ marginRight?: string }` | No | Styles for the bell. |
62
+ | `userEmail` | `string` | If `authType === 'backendToken'` | User email. |
63
+ | `userId` | `string` | If `authType === 'backendToken'` | User ID. |
64
+
65
+ ## Custom icon
66
+
67
+ You can pass a custom bell icon via content projection:
68
+
69
+ ```html
70
+ <notifizz-bell
71
+ [options]="{
72
+ apiKey: 'YOUR_FRONT_API_KEY',
73
+ token: 'USER_BACKEND_TOKEN',
74
+ authType: 'backendToken',
75
+ position: 'top-right',
76
+ userEmail: 'user@example.com',
77
+ userId: '12345'
78
+ }"
79
+ >
80
+ <svg #customBellIcon xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"
81
+ stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
82
+ <path d="M18 8a6 6 0 0 0-12 0c0 7-3 9-3 9h18s-3-2-3-9"></path>
83
+ <path d="M13.73 21a2 2 0 0 1-3.46 0"></path>
84
+ </svg>
85
+ </notifizz-bell>
86
+ ```
87
+
88
+ The icon is referenced with `#customBellIcon` and will replace the default bell icon.
@@ -1,8 +1,9 @@
1
- import { Component, Input } from '@angular/core';
2
- import { handleBellOptions, handleNotificationCenterOptions, handlePositionOptions, importScriptInBrowser, } from './widget';
1
+ import { Component, ContentChild, ElementRef, Input } from '@angular/core';
2
+ import { handleBellOptions, handleIcon, handleNotificationCenterOptions, handlePositionOptions, importScriptInBrowser, } from './widget';
3
3
  import * as i0 from "@angular/core";
4
4
  export class NotifizzAngularComponent {
5
5
  constructor() {
6
+ this.icon = null;
6
7
  this.options = {
7
8
  apiKey: undefined,
8
9
  token: '',
@@ -10,6 +11,8 @@ export class NotifizzAngularComponent {
10
11
  position: '',
11
12
  notificationCenterStyles: null,
12
13
  bellStyles: null,
14
+ userEmail: null,
15
+ userId: null,
13
16
  };
14
17
  }
15
18
  ngOnInit() {
@@ -20,34 +23,62 @@ export class NotifizzAngularComponent {
20
23
  apiKey: this.options.apiKey,
21
24
  serverUrl: 'https://widget.notifizz.com',
22
25
  apiUrl: 'https://eu.api.notifizz.com/v1',
23
- widgetPath: '/widget.js',
26
+ //serverUrl: "http://localhost:5174",
27
+ //apiUrl: "http://localhost:6001/v1",
28
+ widgetPath: '/dist-widget/widget.js',
24
29
  }, () => {
25
- const observer = new MutationObserver((mutations, obs) => {
26
- const myDiv = document.getElementById('notifizz-notifications');
27
- if (myDiv) {
28
- window.notifizz('authenticateWithFirebase', this.options.token, {}, () => { });
29
- if (this.options.position) {
30
- handlePositionOptions(this.options.position);
31
- }
32
- if (this.options.notificationCenterStyles) {
33
- handleNotificationCenterOptions(this.options.notificationCenterStyles);
34
- }
35
- if (this.options.bellStyles) {
36
- handleBellOptions(this.options.bellStyles);
37
- }
38
- obs.disconnect();
39
- }
40
- });
41
- observer.observe(document, { childList: true, subtree: true });
30
+ const myDiv = document.getElementById('notifizz-notifications');
31
+ if (myDiv) {
32
+ if (this.options.authType === 'firebase') {
33
+ console.log('authenticateWithFirebase');
34
+ window.notifizz('authenticateWithFirebase', this.options.token, {}, () => {
35
+ });
36
+ }
37
+ if (this.options.authType === 'backendToken') {
38
+ if (!this.options.userEmail || !this.options.userId)
39
+ throw new Error('Missing required options: userEmail and userId are required');
40
+ window.notifizz('authenticateWithBackendToken', this.options.token, { user: { email: this.options.userEmail, id: this.options.userId } }, () => {
41
+ });
42
+ }
43
+ if (this.options.position) {
44
+ handlePositionOptions(this.options.position);
45
+ }
46
+ if (this.options.notificationCenterStyles) {
47
+ handleNotificationCenterOptions(this.options.notificationCenterStyles);
48
+ }
49
+ if (this.options.bellStyles) {
50
+ handleBellOptions(this.options.bellStyles);
51
+ }
52
+ if (this.icon) {
53
+ handleIcon(this.icon);
54
+ }
55
+ if (this.customBellIcon?.nativeElement) {
56
+ const iconHtml = this.customBellIcon.nativeElement.outerHTML;
57
+ console.log('Extracted SVG:', iconHtml); // Debugging
58
+ handleIcon(iconHtml);
59
+ }
60
+ else {
61
+ console.warn('notifizz-bell: No child icon found inside!');
62
+ }
63
+ }
42
64
  });
43
65
  }
44
66
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NotifizzAngularComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
45
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: NotifizzAngularComponent, isStandalone: true, selector: "notifizz-bell", inputs: { options: "options" }, ngImport: i0, template: ` <div id="notifizz-notifications"></div> `, isInline: true }); }
67
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: NotifizzAngularComponent, isStandalone: true, selector: "notifizz-bell", inputs: { icon: "icon", options: "options" }, queries: [{ propertyName: "customBellIcon", first: true, predicate: ["customBellIcon"], descendants: true, read: ElementRef }], ngImport: i0, template: `
68
+ <div id="notifizz-notifications"><ng-content></ng-content></div>
69
+ `, isInline: true }); }
46
70
  }
47
71
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NotifizzAngularComponent, decorators: [{
48
72
  type: Component,
49
- args: [{ selector: 'notifizz-bell', template: ` <div id="notifizz-notifications"></div> `, standalone: true }]
50
- }], ctorParameters: () => [], propDecorators: { options: [{
73
+ args: [{ selector: 'notifizz-bell', template: `
74
+ <div id="notifizz-notifications"><ng-content></ng-content></div>
75
+ `, standalone: true }]
76
+ }], ctorParameters: () => [], propDecorators: { icon: [{
77
+ type: Input
78
+ }], options: [{
51
79
  type: Input
80
+ }], customBellIcon: [{
81
+ type: ContentChild,
82
+ args: ['customBellIcon', { static: false, read: ElementRef }]
52
83
  }] } });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpenotYW5ndWxhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9ub3RpZml6ei1hbmd1bGFyL3NyYy9saWIvbm90aWZpenotYW5ndWxhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUNMLGlCQUFpQixFQUNqQiwrQkFBK0IsRUFDL0IscUJBQXFCLEVBQ3JCLHFCQUFxQixHQUN0QixNQUFNLFVBQVUsQ0FBQzs7QUF3QmxCLE1BQU0sT0FBTyx3QkFBd0I7SUFpQm5DO1FBaEJTLFlBQU8sR0FPWjtZQUNGLE1BQU0sRUFBRSxTQUFTO1lBQ2pCLEtBQUssRUFBRSxFQUFFO1lBQ1QsUUFBUSxFQUFFLFVBQVU7WUFDcEIsUUFBUSxFQUFFLEVBQUU7WUFDWix3QkFBd0IsRUFBRSxJQUFJO1lBQzlCLFVBQVUsRUFBRSxJQUFJO1NBQ2pCLENBQUM7SUFFYSxDQUFDO0lBRWhCLFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUNsRCxNQUFNLElBQUksS0FBSyxDQUNiLDREQUE0RCxDQUM3RCxDQUFDO1NBQ0g7UUFDRCxxQkFBcUIsQ0FDbkI7WUFDRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNO1lBQzNCLFNBQVMsRUFBRSw2QkFBNkI7WUFDeEMsTUFBTSxFQUFFLGdDQUFnQztZQUN4QyxVQUFVLEVBQUUsWUFBWTtTQUN6QixFQUNELEdBQUcsRUFBRTtZQUNILE1BQU0sUUFBUSxHQUFHLElBQUksZ0JBQWdCLENBQUMsQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFLEVBQUU7Z0JBQ3ZELE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsd0JBQXdCLENBQUMsQ0FBQztnQkFDaEUsSUFBSSxLQUFLLEVBQUU7b0JBQ1QsTUFBTSxDQUFDLFFBQVEsQ0FDYiwwQkFBMEIsRUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQ2xCLEVBQUUsRUFDRixHQUFHLEVBQUUsR0FBRSxDQUFDLENBQ1QsQ0FBQztvQkFDRixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO3dCQUN6QixxQkFBcUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO3FCQUM5QztvQkFFRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsd0JBQXdCLEVBQUU7d0JBQ3pDLCtCQUErQixDQUM3QixJQUFJLENBQUMsT0FBTyxDQUFDLHdCQUF3QixDQUN0QyxDQUFDO3FCQUNIO29CQUVELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUU7d0JBQzNCLGlCQUFpQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7cUJBQzVDO29CQUNELEdBQUcsQ0FBQyxVQUFVLEVBQUUsQ0FBQztpQkFDbEI7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUNILFFBQVEsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNqRSxDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7K0dBN0RVLHdCQUF3QjttR0FBeEIsd0JBQXdCLHlHQUp6QiwyQ0FBMkM7OzRGQUkxQyx3QkFBd0I7a0JBTnBDLFNBQVM7K0JBQ0UsZUFBZSxZQUNmLDJDQUEyQyxjQUV6QyxJQUFJO3dEQUdQLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIGhhbmRsZUJlbGxPcHRpb25zLFxuICBoYW5kbGVOb3RpZmljYXRpb25DZW50ZXJPcHRpb25zLFxuICBoYW5kbGVQb3NpdGlvbk9wdGlvbnMsXG4gIGltcG9ydFNjcmlwdEluQnJvd3Nlcixcbn0gZnJvbSAnLi93aWRnZXQnO1xuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBXaW5kb3cge1xuICAgIG5vdGlmaXp6OiAoLi4uYXJnczogYW55W10pID0+IHZvaWQ7XG4gICAgaW5pdE5vdGlmaXp6OiAoLi4uYXJnczogYW55W10pID0+IHZvaWQ7XG4gICAgX25vdGlmaXp6OiB7XG4gICAgICBfbm90aWZpenpTZXR0aW5nczoge1xuICAgICAgICBhcGlLZXk6IHN0cmluZztcbiAgICAgICAgc2VydmVyOiBzdHJpbmc7XG4gICAgICAgIGxvYWRlclZlcnNpb246IG51bWJlcjtcbiAgICAgICAgYXBpVXJsOiBzdHJpbmc7XG4gICAgICB9O1xuICAgICAgX3F1ZXVlOiBhbnlbXVtdO1xuICAgIH07XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbm90aWZpenotYmVsbCcsXG4gIHRlbXBsYXRlOiBgIDxkaXYgaWQ9XCJub3RpZml6ei1ub3RpZmljYXRpb25zXCI+PC9kaXY+IGAsXG4gIHN0eWxlczogW10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIE5vdGlmaXp6QW5ndWxhckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIG9wdGlvbnM6IHtcbiAgICBhcGlLZXk6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICB0b2tlbjogc3RyaW5nO1xuICAgIGF1dGhUeXBlOiBzdHJpbmc7XG4gICAgcG9zaXRpb246IHN0cmluZyB8IG51bGw7XG4gICAgbm90aWZpY2F0aW9uQ2VudGVyU3R5bGVzOiB7IG1hcmdpblRvcDogc3RyaW5nIH0gfCBudWxsO1xuICAgIGJlbGxTdHlsZXM6IHsgbWFyZ2luUmlnaHQ6IHN0cmluZyB9IHwgbnVsbDtcbiAgfSA9IHtcbiAgICBhcGlLZXk6IHVuZGVmaW5lZCxcbiAgICB0b2tlbjogJycsXG4gICAgYXV0aFR5cGU6ICdmaXJlYmFzZScsXG4gICAgcG9zaXRpb246ICcnLFxuICAgIG5vdGlmaWNhdGlvbkNlbnRlclN0eWxlczogbnVsbCxcbiAgICBiZWxsU3R5bGVzOiBudWxsLFxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMub3B0aW9ucy5hcGlLZXkgfHwgIXRoaXMub3B0aW9ucy5hdXRoVHlwZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnTWlzc2luZyByZXF1aXJlZCBvcHRpb25zOiBhcGlLZXkgYW5kIGF1dGhUeXBlIGFyZSByZXF1aXJlZCdcbiAgICAgICk7XG4gICAgfVxuICAgIGltcG9ydFNjcmlwdEluQnJvd3NlcihcbiAgICAgIHtcbiAgICAgICAgYXBpS2V5OiB0aGlzLm9wdGlvbnMuYXBpS2V5LFxuICAgICAgICBzZXJ2ZXJVcmw6ICdodHRwczovL3dpZGdldC5ub3RpZml6ei5jb20nLFxuICAgICAgICBhcGlVcmw6ICdodHRwczovL2V1LmFwaS5ub3RpZml6ei5jb20vdjEnLFxuICAgICAgICB3aWRnZXRQYXRoOiAnL3dpZGdldC5qcycsXG4gICAgICB9LFxuICAgICAgKCkgPT4ge1xuICAgICAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKChtdXRhdGlvbnMsIG9icykgPT4ge1xuICAgICAgICAgIGNvbnN0IG15RGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25vdGlmaXp6LW5vdGlmaWNhdGlvbnMnKTtcbiAgICAgICAgICBpZiAobXlEaXYpIHtcbiAgICAgICAgICAgIHdpbmRvdy5ub3RpZml6eihcbiAgICAgICAgICAgICAgJ2F1dGhlbnRpY2F0ZVdpdGhGaXJlYmFzZScsXG4gICAgICAgICAgICAgIHRoaXMub3B0aW9ucy50b2tlbixcbiAgICAgICAgICAgICAge30sXG4gICAgICAgICAgICAgICgpID0+IHt9XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5wb3NpdGlvbikge1xuICAgICAgICAgICAgICBoYW5kbGVQb3NpdGlvbk9wdGlvbnModGhpcy5vcHRpb25zLnBvc2l0aW9uKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5ub3RpZmljYXRpb25DZW50ZXJTdHlsZXMpIHtcbiAgICAgICAgICAgICAgaGFuZGxlTm90aWZpY2F0aW9uQ2VudGVyT3B0aW9ucyhcbiAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMubm90aWZpY2F0aW9uQ2VudGVyU3R5bGVzXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMuYmVsbFN0eWxlcykge1xuICAgICAgICAgICAgICBoYW5kbGVCZWxsT3B0aW9ucyh0aGlzLm9wdGlvbnMuYmVsbFN0eWxlcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBvYnMuZGlzY29ubmVjdCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIG9ic2VydmVyLm9ic2VydmUoZG9jdW1lbnQsIHsgY2hpbGRMaXN0OiB0cnVlLCBzdWJ0cmVlOiB0cnVlIH0pO1xuICAgICAgfVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpenotYW5ndWxhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9ub3RpZml6ei1hbmd1bGFyL3NyYy9saWIvbm90aWZpenotYW5ndWxhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFVBQVUsRUFDViwrQkFBK0IsRUFDL0IscUJBQXFCLEVBQ3JCLHFCQUFxQixHQUN0QixNQUFNLFVBQVUsQ0FBQzs7QUEwQmxCLE1BQU0sT0FBTyx3QkFBd0I7SUF3Qm5DO1FBdkJTLFNBQUksR0FBUyxJQUFJLENBQUM7UUFDbEIsWUFBTyxHQVNaO1lBQ0YsTUFBTSxFQUFFLFNBQVM7WUFDakIsS0FBSyxFQUFFLEVBQUU7WUFDVCxRQUFRLEVBQUUsVUFBVTtZQUNwQixRQUFRLEVBQUUsRUFBRTtZQUNaLHdCQUF3QixFQUFFLElBQUk7WUFDOUIsVUFBVSxFQUFFLElBQUk7WUFDaEIsU0FBUyxFQUFFLElBQUk7WUFDZixNQUFNLEVBQUUsSUFBSTtTQUNiLENBQUM7SUFLRixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQ2xELE1BQU0sSUFBSSxLQUFLLENBQ2IsNERBQTRELENBQzdELENBQUM7U0FDSDtRQUNELHFCQUFxQixDQUNuQjtZQUNFLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU07WUFDM0IsU0FBUyxFQUFFLDZCQUE2QjtZQUN4QyxNQUFNLEVBQUUsZ0NBQWdDO1lBQ3hDLHFDQUFxQztZQUNyQyxxQ0FBcUM7WUFDckMsVUFBVSxFQUFFLHdCQUF3QjtTQUNyQyxFQUNELEdBQUcsRUFBRTtZQUNILE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsd0JBQXdCLENBQUMsQ0FBQztZQUNoRSxJQUFJLEtBQUssRUFBRTtnQkFDVCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxLQUFLLFVBQVUsRUFBRTtvQkFDeEMsT0FBTyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFBO29CQUN2QyxNQUFNLENBQUMsUUFBUSxDQUNiLDBCQUEwQixFQUMxQixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFDbEIsRUFBRSxFQUNGLEdBQUcsRUFBRTtvQkFDTCxDQUFDLENBQ0YsQ0FBQztpQkFDSDtnQkFFRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxLQUFLLGNBQWMsRUFBRTtvQkFDNUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNO3dCQUFFLE1BQU0sSUFBSSxLQUFLLENBQ2xFLDZEQUE2RCxDQUM5RCxDQUFBO29CQUNELE1BQU0sQ0FBQyxRQUFRLENBQ2IsOEJBQThCLEVBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUNsQixFQUFFLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUNwRSxHQUFHLEVBQUU7b0JBQ0wsQ0FBQyxDQUNGLENBQUM7aUJBQ0g7Z0JBRUQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRTtvQkFDekIscUJBQXFCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztpQkFDOUM7Z0JBRUQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLHdCQUF3QixFQUFFO29CQUN6QywrQkFBK0IsQ0FDN0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyx3QkFBd0IsQ0FDdEMsQ0FBQztpQkFDSDtnQkFFRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFO29CQUMzQixpQkFBaUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2lCQUM1QztnQkFFRCxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7b0JBQ2IsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDdkI7Z0JBRUQsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLGFBQWEsRUFBRTtvQkFDdEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO29CQUM3RCxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsWUFBWTtvQkFDckQsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2lCQUN0QjtxQkFBTTtvQkFDTCxPQUFPLENBQUMsSUFBSSxDQUFDLDRDQUE0QyxDQUFDLENBQUM7aUJBQzVEO2FBQ0Y7UUFDSCxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7K0dBaEdVLHdCQUF3QjttR0FBeEIsd0JBQXdCLGdOQXFCb0IsVUFBVSw2QkEzQnZEOztHQUVUOzs0RkFJVSx3QkFBd0I7a0JBUnBDLFNBQVM7K0JBQ0UsZUFBZSxZQUNmOztHQUVULGNBRVcsSUFBSTt3REFHUCxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQW9CTixjQUFjO3NCQURiLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgRWxlbWVudFJlZiwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIGhhbmRsZUJlbGxPcHRpb25zLFxuICBoYW5kbGVJY29uLFxuICBoYW5kbGVOb3RpZmljYXRpb25DZW50ZXJPcHRpb25zLFxuICBoYW5kbGVQb3NpdGlvbk9wdGlvbnMsXG4gIGltcG9ydFNjcmlwdEluQnJvd3Nlcixcbn0gZnJvbSAnLi93aWRnZXQnO1xuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBXaW5kb3cge1xuICAgIG5vdGlmaXp6OiAoLi4uYXJnczogYW55W10pID0+IHZvaWQ7XG4gICAgaW5pdE5vdGlmaXp6OiAoLi4uYXJnczogYW55W10pID0+IHZvaWQ7XG4gICAgX25vdGlmaXp6OiB7XG4gICAgICBfbm90aWZpenpTZXR0aW5nczoge1xuICAgICAgICBhcGlLZXk6IHN0cmluZztcbiAgICAgICAgc2VydmVyOiBzdHJpbmc7XG4gICAgICAgIGxvYWRlclZlcnNpb246IG51bWJlcjtcbiAgICAgICAgYXBpVXJsOiBzdHJpbmc7XG4gICAgICB9O1xuICAgICAgX3F1ZXVlOiBhbnlbXVtdO1xuICAgIH07XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbm90aWZpenotYmVsbCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBpZD1cIm5vdGlmaXp6LW5vdGlmaWNhdGlvbnNcIj48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9kaXY+XG4gIGAsXG4gIHN0eWxlczogW10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIE5vdGlmaXp6QW5ndWxhckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGljb24/OiBhbnkgPSBudWxsO1xuICBASW5wdXQoKSBvcHRpb25zOiB7XG4gICAgYXBpS2V5OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgdG9rZW46IHN0cmluZztcbiAgICBhdXRoVHlwZTogc3RyaW5nO1xuICAgIHBvc2l0aW9uOiBzdHJpbmcgfCBudWxsO1xuICAgIG5vdGlmaWNhdGlvbkNlbnRlclN0eWxlczogeyBtYXJnaW5Ub3A6IHN0cmluZyB9IHwgbnVsbDtcbiAgICBiZWxsU3R5bGVzOiB7IG1hcmdpblJpZ2h0OiBzdHJpbmcgfSB8IG51bGw7XG4gICAgdXNlckVtYWlsPzogc3RyaW5nIHwgbnVsbDtcbiAgICB1c2VySWQ/OiBzdHJpbmcgfCBudWxsO1xuICB9ID0ge1xuICAgIGFwaUtleTogdW5kZWZpbmVkLFxuICAgIHRva2VuOiAnJyxcbiAgICBhdXRoVHlwZTogJ2ZpcmViYXNlJyxcbiAgICBwb3NpdGlvbjogJycsXG4gICAgbm90aWZpY2F0aW9uQ2VudGVyU3R5bGVzOiBudWxsLFxuICAgIGJlbGxTdHlsZXM6IG51bGwsXG4gICAgdXNlckVtYWlsOiBudWxsLFxuICAgIHVzZXJJZDogbnVsbCxcbiAgfTtcbiAgQENvbnRlbnRDaGlsZCgnY3VzdG9tQmVsbEljb24nLCB7IHN0YXRpYzogZmFsc2UsIHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgY3VzdG9tQmVsbEljb24hOiBFbGVtZW50UmVmO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm9wdGlvbnMuYXBpS2V5IHx8ICF0aGlzLm9wdGlvbnMuYXV0aFR5cGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ01pc3NpbmcgcmVxdWlyZWQgb3B0aW9uczogYXBpS2V5IGFuZCBhdXRoVHlwZSBhcmUgcmVxdWlyZWQnXG4gICAgICApO1xuICAgIH1cbiAgICBpbXBvcnRTY3JpcHRJbkJyb3dzZXIoXG4gICAgICB7XG4gICAgICAgIGFwaUtleTogdGhpcy5vcHRpb25zLmFwaUtleSxcbiAgICAgICAgc2VydmVyVXJsOiAnaHR0cHM6Ly93aWRnZXQubm90aWZpenouY29tJyxcbiAgICAgICAgYXBpVXJsOiAnaHR0cHM6Ly9ldS5hcGkubm90aWZpenouY29tL3YxJyxcbiAgICAgICAgLy9zZXJ2ZXJVcmw6IFwiaHR0cDovL2xvY2FsaG9zdDo1MTc0XCIsXG4gICAgICAgIC8vYXBpVXJsOiBcImh0dHA6Ly9sb2NhbGhvc3Q6NjAwMS92MVwiLFxuICAgICAgICB3aWRnZXRQYXRoOiAnL2Rpc3Qtd2lkZ2V0L3dpZGdldC5qcycsXG4gICAgICB9LFxuICAgICAgKCkgPT4ge1xuICAgICAgICBjb25zdCBteURpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdub3RpZml6ei1ub3RpZmljYXRpb25zJyk7XG4gICAgICAgIGlmIChteURpdikge1xuICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMuYXV0aFR5cGUgPT09ICdmaXJlYmFzZScpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdhdXRoZW50aWNhdGVXaXRoRmlyZWJhc2UnKVxuICAgICAgICAgICAgd2luZG93Lm5vdGlmaXp6KFxuICAgICAgICAgICAgICAnYXV0aGVudGljYXRlV2l0aEZpcmViYXNlJyxcbiAgICAgICAgICAgICAgdGhpcy5vcHRpb25zLnRva2VuLFxuICAgICAgICAgICAgICB7fSxcbiAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMuYXV0aFR5cGUgPT09ICdiYWNrZW5kVG9rZW4nKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMub3B0aW9ucy51c2VyRW1haWwgfHwgIXRoaXMub3B0aW9ucy51c2VySWQpIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgJ01pc3NpbmcgcmVxdWlyZWQgb3B0aW9uczogdXNlckVtYWlsIGFuZCB1c2VySWQgYXJlIHJlcXVpcmVkJ1xuICAgICAgICAgICAgKVxuICAgICAgICAgICAgd2luZG93Lm5vdGlmaXp6KFxuICAgICAgICAgICAgICAnYXV0aGVudGljYXRlV2l0aEJhY2tlbmRUb2tlbicsXG4gICAgICAgICAgICAgIHRoaXMub3B0aW9ucy50b2tlbixcbiAgICAgICAgICAgICAgeyB1c2VyOiB7IGVtYWlsOiB0aGlzLm9wdGlvbnMudXNlckVtYWlsLCBpZDogdGhpcy5vcHRpb25zLnVzZXJJZCB9IH0sXG4gICAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLnBvc2l0aW9uKSB7XG4gICAgICAgICAgICBoYW5kbGVQb3NpdGlvbk9wdGlvbnModGhpcy5vcHRpb25zLnBvc2l0aW9uKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLm5vdGlmaWNhdGlvbkNlbnRlclN0eWxlcykge1xuICAgICAgICAgICAgaGFuZGxlTm90aWZpY2F0aW9uQ2VudGVyT3B0aW9ucyhcbiAgICAgICAgICAgICAgdGhpcy5vcHRpb25zLm5vdGlmaWNhdGlvbkNlbnRlclN0eWxlc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLmJlbGxTdHlsZXMpIHtcbiAgICAgICAgICAgIGhhbmRsZUJlbGxPcHRpb25zKHRoaXMub3B0aW9ucy5iZWxsU3R5bGVzKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAodGhpcy5pY29uKSB7XG4gICAgICAgICAgICBoYW5kbGVJY29uKHRoaXMuaWNvbik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHRoaXMuY3VzdG9tQmVsbEljb24/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IGljb25IdG1sID0gdGhpcy5jdXN0b21CZWxsSWNvbi5uYXRpdmVFbGVtZW50Lm91dGVySFRNTDtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdFeHRyYWN0ZWQgU1ZHOicsIGljb25IdG1sKTsgLy8gRGVidWdnaW5nXG4gICAgICAgICAgICBoYW5kbGVJY29uKGljb25IdG1sKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdub3RpZml6ei1iZWxsOiBObyBjaGlsZCBpY29uIGZvdW5kIGluc2lkZSEnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pXG4gIH1cbn1cbiJdfQ==
@@ -55,4 +55,7 @@ export function handleNotificationCenterOptions(styles) {
55
55
  export function handleBellOptions(styles) {
56
56
  window.notifizz('setBellStyles', styles);
57
57
  }
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbm90aWZpenotYW5ndWxhci9zcmMvbGliL3dpZGdldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxNQUFNLFVBQVUscUJBQXFCLENBQ25DLE1BQXNCLEVBQ3RCLFFBQWtCO0lBRWxCLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7SUFDM0Isd0NBQXdDO0lBQ3hDLE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQzNDLGdDQUFnQyxDQUNqQyxDQUFDO0lBQ0YsSUFBSSxjQUFjLEVBQUU7UUFDbEIsT0FBTyxDQUFDLElBQUksQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1FBQ2pELFFBQVEsRUFBRSxDQUFDO1FBQ1gsT0FBTztLQUNSO0lBQ0QsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUUvQyxNQUFjLENBQUMsa0JBQWtCLENBQUMsR0FBRyxRQUFRLENBQUM7SUFFL0MsTUFBTSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7SUFDdkIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxVQUFVLENBQUM7SUFDdEMsTUFBTSxDQUFDLFdBQVcsR0FBRzs7Ozs7Ozs7Ozs7bUJBV0osTUFBTSxDQUFDLE1BQU07OzttQkFHYixNQUFNLENBQUMsTUFBTTs7Ozs7OzswQkFPTixNQUFNLENBQUMsU0FBUyxPQUFPLE1BQU0sQ0FBQyxVQUFVLElBQUksQ0FBQztJQUVyRSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzNCLENBQUM7QUFFRCxNQUFNLFVBQVUscUJBQXFCLENBQUMsUUFBZ0I7SUFDcEQsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQzVCLE1BQU0sQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxDQUFDO0tBQ3ZDO0lBRUQsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQy9CLE1BQU0sQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0tBQzFDO0lBRUQsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQzlCLE1BQU0sQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0tBQ3pDO0lBRUQsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQzdCLE1BQU0sQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0tBQ3hDO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSwrQkFBK0IsQ0FBQyxNQUE2QjtJQUMzRSxNQUFNLENBQUMsUUFBUSxDQUFDLDZCQUE2QixFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQ3pELENBQUM7QUFFRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsTUFBK0I7SUFDL0QsTUFBTSxDQUFDLFFBQVEsQ0FBQyxlQUFlLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDM0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgTm90aWZpenpDb25maWcge1xuICBhcGlLZXk6IHN0cmluZztcbiAgYXBpVXJsOiBzdHJpbmc7XG4gIHNlcnZlclVybDogc3RyaW5nO1xuICB3aWRnZXRQYXRoOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbXBvcnRTY3JpcHRJbkJyb3dzZXIoXG4gIGNvbmZpZzogTm90aWZpenpDb25maWcsXG4gIGNhbGxiYWNrOiBGdW5jdGlvblxuKSB7XG4gIGNvbnN0IGhlYWQgPSBkb2N1bWVudC5oZWFkO1xuICAvLyBDaGVjayBpZiB0aGUgc2NyaXB0IGlzIGFscmVhZHkgbG9hZGVkXG4gIGNvbnN0IGV4aXN0aW5nU2NyaXB0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAnc2NyaXB0W2RhdGEtd2lkZ2V0PVwibm90aWZpenpcIl0nXG4gICk7XG4gIGlmIChleGlzdGluZ1NjcmlwdCkge1xuICAgIGNvbnNvbGUud2FybignV2lkZ2V0IHNjcmlwdCBpcyBhbHJlYWR5IGxvYWRlZC4nKTtcbiAgICBjYWxsYmFjaygpO1xuICAgIHJldHVybjtcbiAgfVxuICBjb25zdCBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcblxuICAod2luZG93IGFzIGFueSlbJ25vdGlmaXp6Q2FsbGJhY2snXSA9IGNhbGxiYWNrO1xuXG4gIHNjcmlwdC50eXBlID0gJ21vZHVsZSc7XG4gIHNjcmlwdC5kYXRhc2V0Wyd3aWRnZXQnXSA9ICdub3RpZml6eic7XG4gIHNjcmlwdC50ZXh0Q29udGVudCA9IGAoZnVuY3Rpb24gKG4sIG8sIHQsIGksIGYpIHtcbiAgICAobi5fbm90aWZpenogPSBuLl9ub3RpZml6eiB8fCB7fSksXG4gICAgICAobi5fbm90aWZpenouX3F1ZXVlID0gbi5fbm90aWZpenouX3F1ZXVlIHx8IFtdKSxcbiAgICAgIChuLm5vdGlmaXp6ID1cbiAgICAgICAgbi5ub3RpZml6eiB8fFxuICAgICAgICBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgbGV0IGFyZ3MgPSBbXTtcbiAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSBhcmdzLnB1c2goYXJndW1lbnRzW2ldKTtcbiAgICAgICAgICBuLl9ub3RpZml6ei5fcXVldWUucHVzaChhcmdzKTtcbiAgICAgICAgfSksXG4gICAgICAobi5fbm90aWZpenouX25vdGlmaXp6U2V0dGluZ3MgPSB7XG4gICAgICAgIGFwaUtleTogXCIke2NvbmZpZy5hcGlLZXl9XCIsXG4gICAgICAgIGxvYWRlclZlcnNpb246IFwiMVwiLFxuICAgICAgICBzZXJ2ZXI6IHQsXG4gICAgICAgIGFwaVVybDogXCIke2NvbmZpZy5hcGlVcmx9XCJcbiAgICAgIH0pLFxuICAgICAgKGYgPSBvLmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiaGVhZFwiKVswXSk7XG4gICAgbGV0IHIgPSBvLmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIik7XG4gICAgci50eXBlID0gJ21vZHVsZSc7XG4gICAgci5vbmxvYWQgPSBuLm5vdGlmaXp6Q2FsbGJhY2s7IFxuICAgIChyLmFzeW5jID0gITApLCAoci5zcmMgPSB0ICsgaSksIGYuYXBwZW5kQ2hpbGQocik7XG4gIH0pKHdpbmRvdywgZG9jdW1lbnQsIFwiJHtjb25maWcuc2VydmVyVXJsfVwiLCBcIiR7Y29uZmlnLndpZGdldFBhdGh9XCIpYDtcblxuICBoZWFkLmFwcGVuZENoaWxkKHNjcmlwdCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVQb3NpdGlvbk9wdGlvbnMocG9zaXRpb246IHN0cmluZykge1xuICBpZiAocG9zaXRpb24uaW5jbHVkZXMoJ3RvcCcpKSB7XG4gICAgd2luZG93Lm5vdGlmaXp6KCdzZXRQb3NpdGlvbicsICd0b3AnKTtcbiAgfVxuXG4gIGlmIChwb3NpdGlvbi5pbmNsdWRlcygnYm90dG9tJykpIHtcbiAgICB3aW5kb3cubm90aWZpenooJ3NldFBvc2l0aW9uJywgJ2JvdHRvbScpO1xuICB9XG5cbiAgaWYgKHBvc2l0aW9uLmluY2x1ZGVzKCdyaWdodCcpKSB7XG4gICAgd2luZG93Lm5vdGlmaXp6KCdzZXRQb3NpdGlvbicsICdyaWdodCcpO1xuICB9XG5cbiAgaWYgKHBvc2l0aW9uLmluY2x1ZGVzKCdsZWZ0JykpIHtcbiAgICB3aW5kb3cubm90aWZpenooJ3NldFBvc2l0aW9uJywgJ2xlZnQnKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlTm90aWZpY2F0aW9uQ2VudGVyT3B0aW9ucyhzdHlsZXM6IHsgbWFyZ2luVG9wOiBzdHJpbmcgfSkge1xuICB3aW5kb3cubm90aWZpenooJ3NldE5vdGlmaWNhdGlvbkNlbnRlclN0eWxlcycsIHN0eWxlcyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVCZWxsT3B0aW9ucyhzdHlsZXM6IHsgbWFyZ2luUmlnaHQ6IHN0cmluZyB9KSB7XG4gIHdpbmRvdy5ub3RpZml6eignc2V0QmVsbFN0eWxlcycsIHN0eWxlcyk7XG59XG4iXX0=
58
+ export function handleIcon(icon) {
59
+ window.notifizz('setIcon', icon);
60
+ }
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbm90aWZpenotYW5ndWxhci9zcmMvbGliL3dpZGdldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxNQUFNLFVBQVUscUJBQXFCLENBQ25DLE1BQXNCLEVBQ3RCLFFBQWtCO0lBRWxCLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7SUFDM0Isd0NBQXdDO0lBQ3hDLE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQzNDLGdDQUFnQyxDQUNqQyxDQUFDO0lBQ0YsSUFBSSxjQUFjLEVBQUU7UUFDbEIsT0FBTyxDQUFDLElBQUksQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1FBQ2pELFFBQVEsRUFBRSxDQUFDO1FBQ1gsT0FBTztLQUNSO0lBQ0QsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUUvQyxNQUFjLENBQUMsa0JBQWtCLENBQUMsR0FBRyxRQUFRLENBQUM7SUFFL0MsTUFBTSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7SUFDdkIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxVQUFVLENBQUM7SUFDdEMsTUFBTSxDQUFDLFdBQVcsR0FBRzs7Ozs7Ozs7Ozs7bUJBV0osTUFBTSxDQUFDLE1BQU07OzttQkFHYixNQUFNLENBQUMsTUFBTTs7Ozs7OzswQkFPTixNQUFNLENBQUMsU0FBUyxPQUFPLE1BQU0sQ0FBQyxVQUFVLElBQUksQ0FBQztJQUVyRSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzNCLENBQUM7QUFFRCxNQUFNLFVBQVUscUJBQXFCLENBQUMsUUFBZ0I7SUFDcEQsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQzVCLE1BQU0sQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxDQUFDO0tBQ3ZDO0lBRUQsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQy9CLE1BQU0sQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0tBQzFDO0lBRUQsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQzlCLE1BQU0sQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0tBQ3pDO0lBRUQsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQzdCLE1BQU0sQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0tBQ3hDO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSwrQkFBK0IsQ0FBQyxNQUE2QjtJQUMzRSxNQUFNLENBQUMsUUFBUSxDQUFDLDZCQUE2QixFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQ3pELENBQUM7QUFFRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsTUFBK0I7SUFDL0QsTUFBTSxDQUFDLFFBQVEsQ0FBQyxlQUFlLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDM0MsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUMsSUFBUztJQUNsQyxNQUFNLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNuQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBOb3RpZml6ekNvbmZpZyB7XG4gIGFwaUtleTogc3RyaW5nO1xuICBhcGlVcmw6IHN0cmluZztcbiAgc2VydmVyVXJsOiBzdHJpbmc7XG4gIHdpZGdldFBhdGg6IHN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGltcG9ydFNjcmlwdEluQnJvd3NlcihcbiAgY29uZmlnOiBOb3RpZml6ekNvbmZpZyxcbiAgY2FsbGJhY2s6IEZ1bmN0aW9uXG4pIHtcbiAgY29uc3QgaGVhZCA9IGRvY3VtZW50LmhlYWQ7XG4gIC8vIENoZWNrIGlmIHRoZSBzY3JpcHQgaXMgYWxyZWFkeSBsb2FkZWRcbiAgY29uc3QgZXhpc3RpbmdTY3JpcHQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFxuICAgICdzY3JpcHRbZGF0YS13aWRnZXQ9XCJub3RpZml6elwiXSdcbiAgKTtcbiAgaWYgKGV4aXN0aW5nU2NyaXB0KSB7XG4gICAgY29uc29sZS53YXJuKCdXaWRnZXQgc2NyaXB0IGlzIGFscmVhZHkgbG9hZGVkLicpO1xuICAgIGNhbGxiYWNrKCk7XG4gICAgcmV0dXJuO1xuICB9XG4gIGNvbnN0IHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuXG4gICh3aW5kb3cgYXMgYW55KVsnbm90aWZpenpDYWxsYmFjayddID0gY2FsbGJhY2s7XG5cbiAgc2NyaXB0LnR5cGUgPSAnbW9kdWxlJztcbiAgc2NyaXB0LmRhdGFzZXRbJ3dpZGdldCddID0gJ25vdGlmaXp6JztcbiAgc2NyaXB0LnRleHRDb250ZW50ID0gYChmdW5jdGlvbiAobiwgbywgdCwgaSwgZikge1xuICAgIChuLl9ub3RpZml6eiA9IG4uX25vdGlmaXp6IHx8IHt9KSxcbiAgICAgIChuLl9ub3RpZml6ei5fcXVldWUgPSBuLl9ub3RpZml6ei5fcXVldWUgfHwgW10pLFxuICAgICAgKG4ubm90aWZpenogPVxuICAgICAgICBuLm5vdGlmaXp6IHx8XG4gICAgICAgIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBsZXQgYXJncyA9IFtdO1xuICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIGFyZ3MucHVzaChhcmd1bWVudHNbaV0pO1xuICAgICAgICAgIG4uX25vdGlmaXp6Ll9xdWV1ZS5wdXNoKGFyZ3MpO1xuICAgICAgICB9KSxcbiAgICAgIChuLl9ub3RpZml6ei5fbm90aWZpenpTZXR0aW5ncyA9IHtcbiAgICAgICAgYXBpS2V5OiBcIiR7Y29uZmlnLmFwaUtleX1cIixcbiAgICAgICAgbG9hZGVyVmVyc2lvbjogXCIxXCIsXG4gICAgICAgIHNlcnZlcjogdCxcbiAgICAgICAgYXBpVXJsOiBcIiR7Y29uZmlnLmFwaVVybH1cIlxuICAgICAgfSksXG4gICAgICAoZiA9IG8uZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCJoZWFkXCIpWzBdKTtcbiAgICBsZXQgciA9IG8uY3JlYXRlRWxlbWVudChcInNjcmlwdFwiKTtcbiAgICByLnR5cGUgPSAnbW9kdWxlJztcbiAgICByLm9ubG9hZCA9IG4ubm90aWZpenpDYWxsYmFjazsgXG4gICAgKHIuYXN5bmMgPSAhMCksIChyLnNyYyA9IHQgKyBpKSwgZi5hcHBlbmRDaGlsZChyKTtcbiAgfSkod2luZG93LCBkb2N1bWVudCwgXCIke2NvbmZpZy5zZXJ2ZXJVcmx9XCIsIFwiJHtjb25maWcud2lkZ2V0UGF0aH1cIilgO1xuXG4gIGhlYWQuYXBwZW5kQ2hpbGQoc2NyaXB0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZVBvc2l0aW9uT3B0aW9ucyhwb3NpdGlvbjogc3RyaW5nKSB7XG4gIGlmIChwb3NpdGlvbi5pbmNsdWRlcygndG9wJykpIHtcbiAgICB3aW5kb3cubm90aWZpenooJ3NldFBvc2l0aW9uJywgJ3RvcCcpO1xuICB9XG5cbiAgaWYgKHBvc2l0aW9uLmluY2x1ZGVzKCdib3R0b20nKSkge1xuICAgIHdpbmRvdy5ub3RpZml6eignc2V0UG9zaXRpb24nLCAnYm90dG9tJyk7XG4gIH1cblxuICBpZiAocG9zaXRpb24uaW5jbHVkZXMoJ3JpZ2h0JykpIHtcbiAgICB3aW5kb3cubm90aWZpenooJ3NldFBvc2l0aW9uJywgJ3JpZ2h0Jyk7XG4gIH1cblxuICBpZiAocG9zaXRpb24uaW5jbHVkZXMoJ2xlZnQnKSkge1xuICAgIHdpbmRvdy5ub3RpZml6eignc2V0UG9zaXRpb24nLCAnbGVmdCcpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVOb3RpZmljYXRpb25DZW50ZXJPcHRpb25zKHN0eWxlczogeyBtYXJnaW5Ub3A6IHN0cmluZyB9KSB7XG4gIHdpbmRvdy5ub3RpZml6eignc2V0Tm90aWZpY2F0aW9uQ2VudGVyU3R5bGVzJywgc3R5bGVzKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZUJlbGxPcHRpb25zKHN0eWxlczogeyBtYXJnaW5SaWdodDogc3RyaW5nIH0pIHtcbiAgd2luZG93Lm5vdGlmaXp6KCdzZXRCZWxsU3R5bGVzJywgc3R5bGVzKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZUljb24oaWNvbjogYW55KSB7XG4gIHdpbmRvdy5ub3RpZml6eignc2V0SWNvbicsIGljb24pO1xufVxuIl19
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, Input } from '@angular/core';
2
+ import { ElementRef, Component, Input, ContentChild } from '@angular/core';
3
3
 
4
4
  function importScriptInBrowser(config, callback) {
5
5
  const head = document.head;
@@ -58,9 +58,13 @@ function handleNotificationCenterOptions(styles) {
58
58
  function handleBellOptions(styles) {
59
59
  window.notifizz('setBellStyles', styles);
60
60
  }
61
+ function handleIcon(icon) {
62
+ window.notifizz('setIcon', icon);
63
+ }
61
64
 
62
65
  class NotifizzAngularComponent {
63
66
  constructor() {
67
+ this.icon = null;
64
68
  this.options = {
65
69
  apiKey: undefined,
66
70
  token: '',
@@ -68,6 +72,8 @@ class NotifizzAngularComponent {
68
72
  position: '',
69
73
  notificationCenterStyles: null,
70
74
  bellStyles: null,
75
+ userEmail: null,
76
+ userId: null,
71
77
  };
72
78
  }
73
79
  ngOnInit() {
@@ -78,35 +84,63 @@ class NotifizzAngularComponent {
78
84
  apiKey: this.options.apiKey,
79
85
  serverUrl: 'https://widget.notifizz.com',
80
86
  apiUrl: 'https://eu.api.notifizz.com/v1',
81
- widgetPath: '/widget.js',
87
+ //serverUrl: "http://localhost:5174",
88
+ //apiUrl: "http://localhost:6001/v1",
89
+ widgetPath: '/dist-widget/widget.js',
82
90
  }, () => {
83
- const observer = new MutationObserver((mutations, obs) => {
84
- const myDiv = document.getElementById('notifizz-notifications');
85
- if (myDiv) {
86
- window.notifizz('authenticateWithFirebase', this.options.token, {}, () => { });
87
- if (this.options.position) {
88
- handlePositionOptions(this.options.position);
89
- }
90
- if (this.options.notificationCenterStyles) {
91
- handleNotificationCenterOptions(this.options.notificationCenterStyles);
92
- }
93
- if (this.options.bellStyles) {
94
- handleBellOptions(this.options.bellStyles);
95
- }
96
- obs.disconnect();
91
+ const myDiv = document.getElementById('notifizz-notifications');
92
+ if (myDiv) {
93
+ if (this.options.authType === 'firebase') {
94
+ console.log('authenticateWithFirebase');
95
+ window.notifizz('authenticateWithFirebase', this.options.token, {}, () => {
96
+ });
97
+ }
98
+ if (this.options.authType === 'backendToken') {
99
+ if (!this.options.userEmail || !this.options.userId)
100
+ throw new Error('Missing required options: userEmail and userId are required');
101
+ window.notifizz('authenticateWithBackendToken', this.options.token, { user: { email: this.options.userEmail, id: this.options.userId } }, () => {
102
+ });
103
+ }
104
+ if (this.options.position) {
105
+ handlePositionOptions(this.options.position);
106
+ }
107
+ if (this.options.notificationCenterStyles) {
108
+ handleNotificationCenterOptions(this.options.notificationCenterStyles);
109
+ }
110
+ if (this.options.bellStyles) {
111
+ handleBellOptions(this.options.bellStyles);
97
112
  }
98
- });
99
- observer.observe(document, { childList: true, subtree: true });
113
+ if (this.icon) {
114
+ handleIcon(this.icon);
115
+ }
116
+ if (this.customBellIcon?.nativeElement) {
117
+ const iconHtml = this.customBellIcon.nativeElement.outerHTML;
118
+ console.log('Extracted SVG:', iconHtml); // Debugging
119
+ handleIcon(iconHtml);
120
+ }
121
+ else {
122
+ console.warn('notifizz-bell: No child icon found inside!');
123
+ }
124
+ }
100
125
  });
101
126
  }
102
127
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NotifizzAngularComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
103
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: NotifizzAngularComponent, isStandalone: true, selector: "notifizz-bell", inputs: { options: "options" }, ngImport: i0, template: ` <div id="notifizz-notifications"></div> `, isInline: true }); }
128
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: NotifizzAngularComponent, isStandalone: true, selector: "notifizz-bell", inputs: { icon: "icon", options: "options" }, queries: [{ propertyName: "customBellIcon", first: true, predicate: ["customBellIcon"], descendants: true, read: ElementRef }], ngImport: i0, template: `
129
+ <div id="notifizz-notifications"><ng-content></ng-content></div>
130
+ `, isInline: true }); }
104
131
  }
105
132
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NotifizzAngularComponent, decorators: [{
106
133
  type: Component,
107
- args: [{ selector: 'notifizz-bell', template: ` <div id="notifizz-notifications"></div> `, standalone: true }]
108
- }], ctorParameters: () => [], propDecorators: { options: [{
134
+ args: [{ selector: 'notifizz-bell', template: `
135
+ <div id="notifizz-notifications"><ng-content></ng-content></div>
136
+ `, standalone: true }]
137
+ }], ctorParameters: () => [], propDecorators: { icon: [{
138
+ type: Input
139
+ }], options: [{
109
140
  type: Input
141
+ }], customBellIcon: [{
142
+ type: ContentChild,
143
+ args: ['customBellIcon', { static: false, read: ElementRef }]
110
144
  }] } });
111
145
 
112
146
  /*
@@ -1 +1 @@
1
- {"version":3,"file":"notifizz-angular.mjs","sources":["../../../projects/notifizz-angular/src/lib/widget.ts","../../../projects/notifizz-angular/src/lib/notifizz-angular.component.ts","../../../projects/notifizz-angular/src/public-api.ts","../../../projects/notifizz-angular/src/notifizz-angular.ts"],"sourcesContent":["export interface NotifizzConfig {\n apiKey: string;\n apiUrl: string;\n serverUrl: string;\n widgetPath: string;\n}\n\nexport function importScriptInBrowser(\n config: NotifizzConfig,\n callback: Function\n) {\n const head = document.head;\n // Check if the script is already loaded\n const existingScript = document.querySelector(\n 'script[data-widget=\"notifizz\"]'\n );\n if (existingScript) {\n console.warn('Widget script is already loaded.');\n callback();\n return;\n }\n const script = document.createElement('script');\n\n (window as any)['notifizzCallback'] = callback;\n\n script.type = 'module';\n script.dataset['widget'] = 'notifizz';\n script.textContent = `(function (n, o, t, i, f) {\n (n._notifizz = n._notifizz || {}),\n (n._notifizz._queue = n._notifizz._queue || []),\n (n.notifizz =\n n.notifizz ||\n function () {\n let args = [];\n for (i = 0; i < arguments.length; i++) args.push(arguments[i]);\n n._notifizz._queue.push(args);\n }),\n (n._notifizz._notifizzSettings = {\n apiKey: \"${config.apiKey}\",\n loaderVersion: \"1\",\n server: t,\n apiUrl: \"${config.apiUrl}\"\n }),\n (f = o.getElementsByTagName(\"head\")[0]);\n let r = o.createElement(\"script\");\n r.type = 'module';\n r.onload = n.notifizzCallback; \n (r.async = !0), (r.src = t + i), f.appendChild(r);\n })(window, document, \"${config.serverUrl}\", \"${config.widgetPath}\")`;\n\n head.appendChild(script);\n}\n\nexport function handlePositionOptions(position: string) {\n if (position.includes('top')) {\n window.notifizz('setPosition', 'top');\n }\n\n if (position.includes('bottom')) {\n window.notifizz('setPosition', 'bottom');\n }\n\n if (position.includes('right')) {\n window.notifizz('setPosition', 'right');\n }\n\n if (position.includes('left')) {\n window.notifizz('setPosition', 'left');\n }\n}\n\nexport function handleNotificationCenterOptions(styles: { marginTop: string }) {\n window.notifizz('setNotificationCenterStyles', styles);\n}\n\nexport function handleBellOptions(styles: { marginRight: string }) {\n window.notifizz('setBellStyles', styles);\n}\n","import { Component, Input } from '@angular/core';\nimport {\n handleBellOptions,\n handleNotificationCenterOptions,\n handlePositionOptions,\n importScriptInBrowser,\n} from './widget';\n\ndeclare global {\n interface Window {\n notifizz: (...args: any[]) => void;\n initNotifizz: (...args: any[]) => void;\n _notifizz: {\n _notifizzSettings: {\n apiKey: string;\n server: string;\n loaderVersion: number;\n apiUrl: string;\n };\n _queue: any[][];\n };\n }\n}\n\n@Component({\n selector: 'notifizz-bell',\n template: ` <div id=\"notifizz-notifications\"></div> `,\n styles: [],\n standalone: true,\n})\nexport class NotifizzAngularComponent {\n @Input() options: {\n apiKey: string | undefined;\n token: string;\n authType: string;\n position: string | null;\n notificationCenterStyles: { marginTop: string } | null;\n bellStyles: { marginRight: string } | null;\n } = {\n apiKey: undefined,\n token: '',\n authType: 'firebase',\n position: '',\n notificationCenterStyles: null,\n bellStyles: null,\n };\n\n constructor() {}\n\n ngOnInit(): void {\n if (!this.options.apiKey || !this.options.authType) {\n throw new Error(\n 'Missing required options: apiKey and authType are required'\n );\n }\n importScriptInBrowser(\n {\n apiKey: this.options.apiKey,\n serverUrl: 'https://widget.notifizz.com',\n apiUrl: 'https://eu.api.notifizz.com/v1',\n widgetPath: '/widget.js',\n },\n () => {\n const observer = new MutationObserver((mutations, obs) => {\n const myDiv = document.getElementById('notifizz-notifications');\n if (myDiv) {\n window.notifizz(\n 'authenticateWithFirebase',\n this.options.token,\n {},\n () => {}\n );\n if (this.options.position) {\n handlePositionOptions(this.options.position);\n }\n\n if (this.options.notificationCenterStyles) {\n handleNotificationCenterOptions(\n this.options.notificationCenterStyles\n );\n }\n\n if (this.options.bellStyles) {\n handleBellOptions(this.options.bellStyles);\n }\n obs.disconnect();\n }\n });\n observer.observe(document, { childList: true, subtree: true });\n }\n );\n }\n}\n","/*\n * Public API Surface of notifizz-angular\n */\n\nexport * from './lib/notifizz-angular.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"notifizz-angular.mjs","sources":["../../../projects/notifizz-angular/src/lib/widget.ts","../../../projects/notifizz-angular/src/lib/notifizz-angular.component.ts","../../../projects/notifizz-angular/src/public-api.ts","../../../projects/notifizz-angular/src/notifizz-angular.ts"],"sourcesContent":["export interface NotifizzConfig {\n apiKey: string;\n apiUrl: string;\n serverUrl: string;\n widgetPath: string;\n}\n\nexport function importScriptInBrowser(\n config: NotifizzConfig,\n callback: Function\n) {\n const head = document.head;\n // Check if the script is already loaded\n const existingScript = document.querySelector(\n 'script[data-widget=\"notifizz\"]'\n );\n if (existingScript) {\n console.warn('Widget script is already loaded.');\n callback();\n return;\n }\n const script = document.createElement('script');\n\n (window as any)['notifizzCallback'] = callback;\n\n script.type = 'module';\n script.dataset['widget'] = 'notifizz';\n script.textContent = `(function (n, o, t, i, f) {\n (n._notifizz = n._notifizz || {}),\n (n._notifizz._queue = n._notifizz._queue || []),\n (n.notifizz =\n n.notifizz ||\n function () {\n let args = [];\n for (i = 0; i < arguments.length; i++) args.push(arguments[i]);\n n._notifizz._queue.push(args);\n }),\n (n._notifizz._notifizzSettings = {\n apiKey: \"${config.apiKey}\",\n loaderVersion: \"1\",\n server: t,\n apiUrl: \"${config.apiUrl}\"\n }),\n (f = o.getElementsByTagName(\"head\")[0]);\n let r = o.createElement(\"script\");\n r.type = 'module';\n r.onload = n.notifizzCallback; \n (r.async = !0), (r.src = t + i), f.appendChild(r);\n })(window, document, \"${config.serverUrl}\", \"${config.widgetPath}\")`;\n\n head.appendChild(script);\n}\n\nexport function handlePositionOptions(position: string) {\n if (position.includes('top')) {\n window.notifizz('setPosition', 'top');\n }\n\n if (position.includes('bottom')) {\n window.notifizz('setPosition', 'bottom');\n }\n\n if (position.includes('right')) {\n window.notifizz('setPosition', 'right');\n }\n\n if (position.includes('left')) {\n window.notifizz('setPosition', 'left');\n }\n}\n\nexport function handleNotificationCenterOptions(styles: { marginTop: string }) {\n window.notifizz('setNotificationCenterStyles', styles);\n}\n\nexport function handleBellOptions(styles: { marginRight: string }) {\n window.notifizz('setBellStyles', styles);\n}\n\nexport function handleIcon(icon: any) {\n window.notifizz('setIcon', icon);\n}\n","import { Component, ContentChild, ElementRef, Input } from '@angular/core';\nimport {\n handleBellOptions,\n handleIcon,\n handleNotificationCenterOptions,\n handlePositionOptions,\n importScriptInBrowser,\n} from './widget';\n\ndeclare global {\n interface Window {\n notifizz: (...args: any[]) => void;\n initNotifizz: (...args: any[]) => void;\n _notifizz: {\n _notifizzSettings: {\n apiKey: string;\n server: string;\n loaderVersion: number;\n apiUrl: string;\n };\n _queue: any[][];\n };\n }\n}\n\n@Component({\n selector: 'notifizz-bell',\n template: `\n <div id=\"notifizz-notifications\"><ng-content></ng-content></div>\n `,\n styles: [],\n standalone: true,\n})\nexport class NotifizzAngularComponent {\n @Input() icon?: any = null;\n @Input() options: {\n apiKey: string | undefined;\n token: string;\n authType: string;\n position: string | null;\n notificationCenterStyles: { marginTop: string } | null;\n bellStyles: { marginRight: string } | null;\n userEmail?: string | null;\n userId?: string | null;\n } = {\n apiKey: undefined,\n token: '',\n authType: 'firebase',\n position: '',\n notificationCenterStyles: null,\n bellStyles: null,\n userEmail: null,\n userId: null,\n };\n @ContentChild('customBellIcon', { static: false, read: ElementRef })\n customBellIcon!: ElementRef;\n\n constructor() {\n }\n\n ngOnInit(): void {\n if (!this.options.apiKey || !this.options.authType) {\n throw new Error(\n 'Missing required options: apiKey and authType are required'\n );\n }\n importScriptInBrowser(\n {\n apiKey: this.options.apiKey,\n serverUrl: 'https://widget.notifizz.com',\n apiUrl: 'https://eu.api.notifizz.com/v1',\n //serverUrl: \"http://localhost:5174\",\n //apiUrl: \"http://localhost:6001/v1\",\n widgetPath: '/dist-widget/widget.js',\n },\n () => {\n const myDiv = document.getElementById('notifizz-notifications');\n if (myDiv) {\n if (this.options.authType === 'firebase') {\n console.log('authenticateWithFirebase')\n window.notifizz(\n 'authenticateWithFirebase',\n this.options.token,\n {},\n () => {\n }\n );\n }\n\n if (this.options.authType === 'backendToken') {\n if (!this.options.userEmail || !this.options.userId) throw new Error(\n 'Missing required options: userEmail and userId are required'\n )\n window.notifizz(\n 'authenticateWithBackendToken',\n this.options.token,\n { user: { email: this.options.userEmail, id: this.options.userId } },\n () => {\n }\n );\n }\n\n if (this.options.position) {\n handlePositionOptions(this.options.position);\n }\n\n if (this.options.notificationCenterStyles) {\n handleNotificationCenterOptions(\n this.options.notificationCenterStyles\n );\n }\n\n if (this.options.bellStyles) {\n handleBellOptions(this.options.bellStyles);\n }\n\n if (this.icon) {\n handleIcon(this.icon);\n }\n\n if (this.customBellIcon?.nativeElement) {\n const iconHtml = this.customBellIcon.nativeElement.outerHTML;\n console.log('Extracted SVG:', iconHtml); // Debugging\n handleIcon(iconHtml);\n } else {\n console.warn('notifizz-bell: No child icon found inside!');\n }\n }\n })\n }\n}\n","/*\n * Public API Surface of notifizz-angular\n */\n\nexport * from './lib/notifizz-angular.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { ElementRef } from '@angular/core';
1
2
  import * as i0 from "@angular/core";
2
3
  declare global {
3
4
  interface Window {
@@ -15,6 +16,7 @@ declare global {
15
16
  }
16
17
  }
17
18
  export declare class NotifizzAngularComponent {
19
+ icon?: any;
18
20
  options: {
19
21
  apiKey: string | undefined;
20
22
  token: string;
@@ -26,9 +28,12 @@ export declare class NotifizzAngularComponent {
26
28
  bellStyles: {
27
29
  marginRight: string;
28
30
  } | null;
31
+ userEmail?: string | null;
32
+ userId?: string | null;
29
33
  };
34
+ customBellIcon: ElementRef;
30
35
  constructor();
31
36
  ngOnInit(): void;
32
37
  static ɵfac: i0.ɵɵFactoryDeclaration<NotifizzAngularComponent, never>;
33
- static ɵcmp: i0.ɵɵComponentDeclaration<NotifizzAngularComponent, "notifizz-bell", never, { "options": { "alias": "options"; "required": false; }; }, {}, never, never, true, never>;
38
+ static ɵcmp: i0.ɵɵComponentDeclaration<NotifizzAngularComponent, "notifizz-bell", never, { "icon": { "alias": "icon"; "required": false; }; "options": { "alias": "options"; "required": false; }; }, {}, ["customBellIcon"], ["*"], true, never>;
34
39
  }
package/lib/widget.d.ts CHANGED
@@ -12,3 +12,4 @@ export declare function handleNotificationCenterOptions(styles: {
12
12
  export declare function handleBellOptions(styles: {
13
13
  marginRight: string;
14
14
  }): void;
15
+ export declare function handleIcon(icon: any): void;
package/package.json CHANGED
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "@notifizz/angular",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
+ "publishConfig": {
5
+ "access": "public",
6
+ "registry": "https://registry.npmjs.org"
7
+ },
4
8
  "peerDependencies": {
5
9
  "@angular/common": "^17.0.0",
6
10
  "@angular/core": "^17.0.0"