@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 +77 -13
- package/esm2022/lib/notifizz-angular.component.mjs +55 -24
- package/esm2022/lib/widget.mjs +4 -1
- package/fesm2022/notifizz-angular.mjs +55 -21
- package/fesm2022/notifizz-angular.mjs.map +1 -1
- package/lib/notifizz-angular.component.d.ts +6 -1
- package/lib/widget.d.ts +1 -0
- package/package.json +5 -1
package/README.md
CHANGED
|
@@ -1,24 +1,88 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @notifizz/angular
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Angular component to embed the Notifizz notification bell and notification center in your Angular app.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Installation
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
```bash
|
|
8
|
+
npm install @notifizz/angular
|
|
9
|
+
# or
|
|
10
|
+
yarn add @notifizz/angular
|
|
11
|
+
```
|
|
9
12
|
|
|
10
|
-
##
|
|
13
|
+
## Setup
|
|
11
14
|
|
|
12
|
-
|
|
15
|
+
Import the component in your Angular module or standalone component:
|
|
13
16
|
|
|
14
|
-
|
|
17
|
+
```typescript
|
|
18
|
+
import { Component } from '@angular/core';
|
|
19
|
+
import { NotifizzAngularComponent } from '@notifizz/angular';
|
|
15
20
|
|
|
16
|
-
|
|
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
|
-
##
|
|
30
|
+
## Template
|
|
19
31
|
|
|
20
|
-
|
|
32
|
+
Add the widget to your template:
|
|
21
33
|
|
|
22
|
-
|
|
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
|
-
|
|
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
|
-
|
|
26
|
+
//serverUrl: "http://localhost:5174",
|
|
27
|
+
//apiUrl: "http://localhost:6001/v1",
|
|
28
|
+
widgetPath: '/dist-widget/widget.js',
|
|
24
29
|
}, () => {
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
if (
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
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" },
|
|
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: `
|
|
50
|
-
|
|
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,
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpenotYW5ndWxhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9ub3RpZml6ei1hbmd1bGFyL3NyYy9saWIvbm90aWZpenotYW5ndWxhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFVBQVUsRUFDViwrQkFBK0IsRUFDL0IscUJBQXFCLEVBQ3JCLHFCQUFxQixHQUN0QixNQUFNLFVBQVUsQ0FBQzs7QUEwQmxCLE1BQU0sT0FBTyx3QkFBd0I7SUF3Qm5DO1FBdkJTLFNBQUksR0FBUyxJQUFJLENBQUM7UUFDbEIsWUFBTyxHQVNaO1lBQ0YsTUFBTSxFQUFFLFNBQVM7WUFDakIsS0FBSyxFQUFFLEVBQUU7WUFDVCxRQUFRLEVBQUUsVUFBVTtZQUNwQixRQUFRLEVBQUUsRUFBRTtZQUNaLHdCQUF3QixFQUFFLElBQUk7WUFDOUIsVUFBVSxFQUFFLElBQUk7WUFDaEIsU0FBUyxFQUFFLElBQUk7WUFDZixNQUFNLEVBQUUsSUFBSTtTQUNiLENBQUM7SUFLRixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQ2xELE1BQU0sSUFBSSxLQUFLLENBQ2IsNERBQTRELENBQzdELENBQUM7U0FDSDtRQUNELHFCQUFxQixDQUNuQjtZQUNFLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU07WUFDM0IsU0FBUyxFQUFFLDZCQUE2QjtZQUN4QyxNQUFNLEVBQUUsZ0NBQWdDO1lBQ3hDLHFDQUFxQztZQUNyQyxxQ0FBcUM7WUFDckMsVUFBVSxFQUFFLHdCQUF3QjtTQUNyQyxFQUNELEdBQUcsRUFBRTtZQUNILE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsd0JBQXdCLENBQUMsQ0FBQztZQUNoRSxJQUFJLEtBQUssRUFBRTtnQkFDVCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxLQUFLLFVBQVUsRUFBRTtvQkFDeEMsT0FBTyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFBO29CQUN2QyxNQUFNLENBQUMsUUFBUSxDQUNiLDBCQUEwQixFQUMxQixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFDbEIsRUFBRSxFQUNGLEdBQUcsRUFBRTtvQkFDTCxDQUFDLENBQ0YsQ0FBQztpQkFDSDtnQkFFRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxLQUFLLGNBQWMsRUFBRTtvQkFDNUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNO3dCQUFFLE1BQU0sSUFBSSxLQUFLLENBQ2xFLDZEQUE2RCxDQUM5RCxDQUFBO29CQUNELE1BQU0sQ0FBQyxRQUFRLENBQ2IsOEJBQThCLEVBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUNsQixFQUFFLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUNwRSxHQUFHLEVBQUU7b0JBQ0wsQ0FBQyxDQUNGLENBQUM7aUJBQ0g7Z0JBRUQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRTtvQkFDekIscUJBQXFCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztpQkFDOUM7Z0JBRUQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLHdCQUF3QixFQUFFO29CQUN6QywrQkFBK0IsQ0FDN0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyx3QkFBd0IsQ0FDdEMsQ0FBQztpQkFDSDtnQkFFRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFO29CQUMzQixpQkFBaUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2lCQUM1QztnQkFFRCxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7b0JBQ2IsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDdkI7Z0JBRUQsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLGFBQWEsRUFBRTtvQkFDdEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO29CQUM3RCxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsWUFBWTtvQkFDckQsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2lCQUN0QjtxQkFBTTtvQkFDTCxPQUFPLENBQUMsSUFBSSxDQUFDLDRDQUE0QyxDQUFDLENBQUM7aUJBQzVEO2FBQ0Y7UUFDSCxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7K0dBaEdVLHdCQUF3QjttR0FBeEIsd0JBQXdCLGdOQXFCb0IsVUFBVSw2QkEzQnZEOztHQUVUOzs0RkFJVSx3QkFBd0I7a0JBUnBDLFNBQVM7K0JBQ0UsZUFBZSxZQUNmOztHQUVULGNBRVcsSUFBSTt3REFHUCxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQW9CTixjQUFjO3NCQURiLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgRWxlbWVudFJlZiwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIGhhbmRsZUJlbGxPcHRpb25zLFxuICBoYW5kbGVJY29uLFxuICBoYW5kbGVOb3RpZmljYXRpb25DZW50ZXJPcHRpb25zLFxuICBoYW5kbGVQb3NpdGlvbk9wdGlvbnMsXG4gIGltcG9ydFNjcmlwdEluQnJvd3Nlcixcbn0gZnJvbSAnLi93aWRnZXQnO1xuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBXaW5kb3cge1xuICAgIG5vdGlmaXp6OiAoLi4uYXJnczogYW55W10pID0+IHZvaWQ7XG4gICAgaW5pdE5vdGlmaXp6OiAoLi4uYXJnczogYW55W10pID0+IHZvaWQ7XG4gICAgX25vdGlmaXp6OiB7XG4gICAgICBfbm90aWZpenpTZXR0aW5nczoge1xuICAgICAgICBhcGlLZXk6IHN0cmluZztcbiAgICAgICAgc2VydmVyOiBzdHJpbmc7XG4gICAgICAgIGxvYWRlclZlcnNpb246IG51bWJlcjtcbiAgICAgICAgYXBpVXJsOiBzdHJpbmc7XG4gICAgICB9O1xuICAgICAgX3F1ZXVlOiBhbnlbXVtdO1xuICAgIH07XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbm90aWZpenotYmVsbCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBpZD1cIm5vdGlmaXp6LW5vdGlmaWNhdGlvbnNcIj48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9kaXY+XG4gIGAsXG4gIHN0eWxlczogW10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIE5vdGlmaXp6QW5ndWxhckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGljb24/OiBhbnkgPSBudWxsO1xuICBASW5wdXQoKSBvcHRpb25zOiB7XG4gICAgYXBpS2V5OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgdG9rZW46IHN0cmluZztcbiAgICBhdXRoVHlwZTogc3RyaW5nO1xuICAgIHBvc2l0aW9uOiBzdHJpbmcgfCBudWxsO1xuICAgIG5vdGlmaWNhdGlvbkNlbnRlclN0eWxlczogeyBtYXJnaW5Ub3A6IHN0cmluZyB9IHwgbnVsbDtcbiAgICBiZWxsU3R5bGVzOiB7IG1hcmdpblJpZ2h0OiBzdHJpbmcgfSB8IG51bGw7XG4gICAgdXNlckVtYWlsPzogc3RyaW5nIHwgbnVsbDtcbiAgICB1c2VySWQ/OiBzdHJpbmcgfCBudWxsO1xuICB9ID0ge1xuICAgIGFwaUtleTogdW5kZWZpbmVkLFxuICAgIHRva2VuOiAnJyxcbiAgICBhdXRoVHlwZTogJ2ZpcmViYXNlJyxcbiAgICBwb3NpdGlvbjogJycsXG4gICAgbm90aWZpY2F0aW9uQ2VudGVyU3R5bGVzOiBudWxsLFxuICAgIGJlbGxTdHlsZXM6IG51bGwsXG4gICAgdXNlckVtYWlsOiBudWxsLFxuICAgIHVzZXJJZDogbnVsbCxcbiAgfTtcbiAgQENvbnRlbnRDaGlsZCgnY3VzdG9tQmVsbEljb24nLCB7IHN0YXRpYzogZmFsc2UsIHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgY3VzdG9tQmVsbEljb24hOiBFbGVtZW50UmVmO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm9wdGlvbnMuYXBpS2V5IHx8ICF0aGlzLm9wdGlvbnMuYXV0aFR5cGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ01pc3NpbmcgcmVxdWlyZWQgb3B0aW9uczogYXBpS2V5IGFuZCBhdXRoVHlwZSBhcmUgcmVxdWlyZWQnXG4gICAgICApO1xuICAgIH1cbiAgICBpbXBvcnRTY3JpcHRJbkJyb3dzZXIoXG4gICAgICB7XG4gICAgICAgIGFwaUtleTogdGhpcy5vcHRpb25zLmFwaUtleSxcbiAgICAgICAgc2VydmVyVXJsOiAnaHR0cHM6Ly93aWRnZXQubm90aWZpenouY29tJyxcbiAgICAgICAgYXBpVXJsOiAnaHR0cHM6Ly9ldS5hcGkubm90aWZpenouY29tL3YxJyxcbiAgICAgICAgLy9zZXJ2ZXJVcmw6IFwiaHR0cDovL2xvY2FsaG9zdDo1MTc0XCIsXG4gICAgICAgIC8vYXBpVXJsOiBcImh0dHA6Ly9sb2NhbGhvc3Q6NjAwMS92MVwiLFxuICAgICAgICB3aWRnZXRQYXRoOiAnL2Rpc3Qtd2lkZ2V0L3dpZGdldC5qcycsXG4gICAgICB9LFxuICAgICAgKCkgPT4ge1xuICAgICAgICBjb25zdCBteURpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdub3RpZml6ei1ub3RpZmljYXRpb25zJyk7XG4gICAgICAgIGlmIChteURpdikge1xuICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMuYXV0aFR5cGUgPT09ICdmaXJlYmFzZScpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdhdXRoZW50aWNhdGVXaXRoRmlyZWJhc2UnKVxuICAgICAgICAgICAgd2luZG93Lm5vdGlmaXp6KFxuICAgICAgICAgICAgICAnYXV0aGVudGljYXRlV2l0aEZpcmViYXNlJyxcbiAgICAgICAgICAgICAgdGhpcy5vcHRpb25zLnRva2VuLFxuICAgICAgICAgICAgICB7fSxcbiAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMuYXV0aFR5cGUgPT09ICdiYWNrZW5kVG9rZW4nKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMub3B0aW9ucy51c2VyRW1haWwgfHwgIXRoaXMub3B0aW9ucy51c2VySWQpIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgJ01pc3NpbmcgcmVxdWlyZWQgb3B0aW9uczogdXNlckVtYWlsIGFuZCB1c2VySWQgYXJlIHJlcXVpcmVkJ1xuICAgICAgICAgICAgKVxuICAgICAgICAgICAgd2luZG93Lm5vdGlmaXp6KFxuICAgICAgICAgICAgICAnYXV0aGVudGljYXRlV2l0aEJhY2tlbmRUb2tlbicsXG4gICAgICAgICAgICAgIHRoaXMub3B0aW9ucy50b2tlbixcbiAgICAgICAgICAgICAgeyB1c2VyOiB7IGVtYWlsOiB0aGlzLm9wdGlvbnMudXNlckVtYWlsLCBpZDogdGhpcy5vcHRpb25zLnVzZXJJZCB9IH0sXG4gICAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLnBvc2l0aW9uKSB7XG4gICAgICAgICAgICBoYW5kbGVQb3NpdGlvbk9wdGlvbnModGhpcy5vcHRpb25zLnBvc2l0aW9uKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLm5vdGlmaWNhdGlvbkNlbnRlclN0eWxlcykge1xuICAgICAgICAgICAgaGFuZGxlTm90aWZpY2F0aW9uQ2VudGVyT3B0aW9ucyhcbiAgICAgICAgICAgICAgdGhpcy5vcHRpb25zLm5vdGlmaWNhdGlvbkNlbnRlclN0eWxlc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLmJlbGxTdHlsZXMpIHtcbiAgICAgICAgICAgIGhhbmRsZUJlbGxPcHRpb25zKHRoaXMub3B0aW9ucy5iZWxsU3R5bGVzKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAodGhpcy5pY29uKSB7XG4gICAgICAgICAgICBoYW5kbGVJY29uKHRoaXMuaWNvbik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHRoaXMuY3VzdG9tQmVsbEljb24/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IGljb25IdG1sID0gdGhpcy5jdXN0b21CZWxsSWNvbi5uYXRpdmVFbGVtZW50Lm91dGVySFRNTDtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdFeHRyYWN0ZWQgU1ZHOicsIGljb25IdG1sKTsgLy8gRGVidWdnaW5nXG4gICAgICAgICAgICBoYW5kbGVJY29uKGljb25IdG1sKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdub3RpZml6ei1iZWxsOiBObyBjaGlsZCBpY29uIGZvdW5kIGluc2lkZSEnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pXG4gIH1cbn1cbiJdfQ==
|
package/esm2022/lib/widget.mjs
CHANGED
|
@@ -55,4 +55,7 @@ export function handleNotificationCenterOptions(styles) {
|
|
|
55
55
|
export function handleBellOptions(styles) {
|
|
56
56
|
window.notifizz('setBellStyles', styles);
|
|
57
57
|
}
|
|
58
|
-
|
|
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
|
-
|
|
87
|
+
//serverUrl: "http://localhost:5174",
|
|
88
|
+
//apiUrl: "http://localhost:6001/v1",
|
|
89
|
+
widgetPath: '/dist-widget/widget.js',
|
|
82
90
|
}, () => {
|
|
83
|
-
const
|
|
84
|
-
|
|
85
|
-
if (
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
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
|
-
|
|
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" },
|
|
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: `
|
|
108
|
-
|
|
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; }; }, {},
|
|
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
package/package.json
CHANGED