@notifizz/angular 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,24 @@
1
+ # NotifizzAngular
2
+
3
+ This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 17.3.0.
4
+
5
+ ## Code scaffolding
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.
9
+
10
+ ## Build
11
+
12
+ Run `ng build notifizz-angular` to build the project. The build artifacts will be stored in the `dist/` directory.
13
+
14
+ ## Publishing
15
+
16
+ After building your library with `ng build notifizz-angular`, go to the dist folder `cd dist/notifizz-angular` and run `npm publish`.
17
+
18
+ ## Running unit tests
19
+
20
+ Run `ng test notifizz-angular` to execute the unit tests via [Karma](https://karma-runner.github.io).
21
+
22
+ ## Further help
23
+
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.
@@ -0,0 +1,53 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { handleBellOptions, handleNotificationCenterOptions, handlePositionOptions, importScriptInBrowser, } from './widget';
3
+ import * as i0 from "@angular/core";
4
+ export class NotifizzAngularComponent {
5
+ constructor() {
6
+ this.options = {
7
+ apiKey: undefined,
8
+ token: '',
9
+ authType: 'firebase',
10
+ position: '',
11
+ notificationCenterStyles: null,
12
+ bellStyles: null,
13
+ };
14
+ }
15
+ ngOnInit() {
16
+ if (!this.options.apiKey || !this.options.authType) {
17
+ throw new Error('Missing required options: apiKey and authType are required');
18
+ }
19
+ importScriptInBrowser({
20
+ apiKey: this.options.apiKey,
21
+ serverUrl: 'https://widget.notifizz.com',
22
+ apiUrl: 'https://eu.api.notifizz.com/v1',
23
+ widgetPath: '/widget.js',
24
+ }, () => {
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 });
42
+ });
43
+ }
44
+ 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 }); }
46
+ }
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NotifizzAngularComponent, decorators: [{
48
+ type: Component,
49
+ args: [{ selector: 'notifizz-bell', template: ` <div id="notifizz-notifications"></div> `, standalone: true }]
50
+ }], ctorParameters: () => [], propDecorators: { options: [{
51
+ type: Input
52
+ }] } });
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpenotYW5ndWxhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9ub3RpZml6ei1hbmd1bGFyL3NyYy9saWIvbm90aWZpenotYW5ndWxhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUNMLGlCQUFpQixFQUNqQiwrQkFBK0IsRUFDL0IscUJBQXFCLEVBQ3JCLHFCQUFxQixHQUN0QixNQUFNLFVBQVUsQ0FBQzs7QUF3QmxCLE1BQU0sT0FBTyx3QkFBd0I7SUFpQm5DO1FBaEJTLFlBQU8sR0FPWjtZQUNGLE1BQU0sRUFBRSxTQUFTO1lBQ2pCLEtBQUssRUFBRSxFQUFFO1lBQ1QsUUFBUSxFQUFFLFVBQVU7WUFDcEIsUUFBUSxFQUFFLEVBQUU7WUFDWix3QkFBd0IsRUFBRSxJQUFJO1lBQzlCLFVBQVUsRUFBRSxJQUFJO1NBQ2pCLENBQUM7SUFFYSxDQUFDO0lBRWhCLFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUNsRCxNQUFNLElBQUksS0FBSyxDQUNiLDREQUE0RCxDQUM3RCxDQUFDO1NBQ0g7UUFDRCxxQkFBcUIsQ0FDbkI7WUFDRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNO1lBQzNCLFNBQVMsRUFBRSw2QkFBNkI7WUFDeEMsTUFBTSxFQUFFLGdDQUFnQztZQUN4QyxVQUFVLEVBQUUsWUFBWTtTQUN6QixFQUNELEdBQUcsRUFBRTtZQUNILE1BQU0sUUFBUSxHQUFHLElBQUksZ0JBQWdCLENBQUMsQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFLEVBQUU7Z0JBQ3ZELE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsd0JBQXdCLENBQUMsQ0FBQztnQkFDaEUsSUFBSSxLQUFLLEVBQUU7b0JBQ1QsTUFBTSxDQUFDLFFBQVEsQ0FDYiwwQkFBMEIsRUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQ2xCLEVBQUUsRUFDRixHQUFHLEVBQUUsR0FBRSxDQUFDLENBQ1QsQ0FBQztvQkFDRixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO3dCQUN6QixxQkFBcUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO3FCQUM5QztvQkFFRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsd0JBQXdCLEVBQUU7d0JBQ3pDLCtCQUErQixDQUM3QixJQUFJLENBQUMsT0FBTyxDQUFDLHdCQUF3QixDQUN0QyxDQUFDO3FCQUNIO29CQUVELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUU7d0JBQzNCLGlCQUFpQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7cUJBQzVDO29CQUNELEdBQUcsQ0FBQyxVQUFVLEVBQUUsQ0FBQztpQkFDbEI7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUNILFFBQVEsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNqRSxDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7K0dBN0RVLHdCQUF3QjttR0FBeEIsd0JBQXdCLHlHQUp6QiwyQ0FBMkM7OzRGQUkxQyx3QkFBd0I7a0JBTnBDLFNBQVM7K0JBQ0UsZUFBZSxZQUNmLDJDQUEyQyxjQUV6QyxJQUFJO3dEQUdQLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIGhhbmRsZUJlbGxPcHRpb25zLFxuICBoYW5kbGVOb3RpZmljYXRpb25DZW50ZXJPcHRpb25zLFxuICBoYW5kbGVQb3NpdGlvbk9wdGlvbnMsXG4gIGltcG9ydFNjcmlwdEluQnJvd3Nlcixcbn0gZnJvbSAnLi93aWRnZXQnO1xuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBXaW5kb3cge1xuICAgIG5vdGlmaXp6OiAoLi4uYXJnczogYW55W10pID0+IHZvaWQ7XG4gICAgaW5pdE5vdGlmaXp6OiAoLi4uYXJnczogYW55W10pID0+IHZvaWQ7XG4gICAgX25vdGlmaXp6OiB7XG4gICAgICBfbm90aWZpenpTZXR0aW5nczoge1xuICAgICAgICBhcGlLZXk6IHN0cmluZztcbiAgICAgICAgc2VydmVyOiBzdHJpbmc7XG4gICAgICAgIGxvYWRlclZlcnNpb246IG51bWJlcjtcbiAgICAgICAgYXBpVXJsOiBzdHJpbmc7XG4gICAgICB9O1xuICAgICAgX3F1ZXVlOiBhbnlbXVtdO1xuICAgIH07XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbm90aWZpenotYmVsbCcsXG4gIHRlbXBsYXRlOiBgIDxkaXYgaWQ9XCJub3RpZml6ei1ub3RpZmljYXRpb25zXCI+PC9kaXY+IGAsXG4gIHN0eWxlczogW10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIE5vdGlmaXp6QW5ndWxhckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIG9wdGlvbnM6IHtcbiAgICBhcGlLZXk6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICB0b2tlbjogc3RyaW5nO1xuICAgIGF1dGhUeXBlOiBzdHJpbmc7XG4gICAgcG9zaXRpb246IHN0cmluZyB8IG51bGw7XG4gICAgbm90aWZpY2F0aW9uQ2VudGVyU3R5bGVzOiB7IG1hcmdpblRvcDogc3RyaW5nIH0gfCBudWxsO1xuICAgIGJlbGxTdHlsZXM6IHsgbWFyZ2luUmlnaHQ6IHN0cmluZyB9IHwgbnVsbDtcbiAgfSA9IHtcbiAgICBhcGlLZXk6IHVuZGVmaW5lZCxcbiAgICB0b2tlbjogJycsXG4gICAgYXV0aFR5cGU6ICdmaXJlYmFzZScsXG4gICAgcG9zaXRpb246ICcnLFxuICAgIG5vdGlmaWNhdGlvbkNlbnRlclN0eWxlczogbnVsbCxcbiAgICBiZWxsU3R5bGVzOiBudWxsLFxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMub3B0aW9ucy5hcGlLZXkgfHwgIXRoaXMub3B0aW9ucy5hdXRoVHlwZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnTWlzc2luZyByZXF1aXJlZCBvcHRpb25zOiBhcGlLZXkgYW5kIGF1dGhUeXBlIGFyZSByZXF1aXJlZCdcbiAgICAgICk7XG4gICAgfVxuICAgIGltcG9ydFNjcmlwdEluQnJvd3NlcihcbiAgICAgIHtcbiAgICAgICAgYXBpS2V5OiB0aGlzLm9wdGlvbnMuYXBpS2V5LFxuICAgICAgICBzZXJ2ZXJVcmw6ICdodHRwczovL3dpZGdldC5ub3RpZml6ei5jb20nLFxuICAgICAgICBhcGlVcmw6ICdodHRwczovL2V1LmFwaS5ub3RpZml6ei5jb20vdjEnLFxuICAgICAgICB3aWRnZXRQYXRoOiAnL3dpZGdldC5qcycsXG4gICAgICB9LFxuICAgICAgKCkgPT4ge1xuICAgICAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKChtdXRhdGlvbnMsIG9icykgPT4ge1xuICAgICAgICAgIGNvbnN0IG15RGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25vdGlmaXp6LW5vdGlmaWNhdGlvbnMnKTtcbiAgICAgICAgICBpZiAobXlEaXYpIHtcbiAgICAgICAgICAgIHdpbmRvdy5ub3RpZml6eihcbiAgICAgICAgICAgICAgJ2F1dGhlbnRpY2F0ZVdpdGhGaXJlYmFzZScsXG4gICAgICAgICAgICAgIHRoaXMub3B0aW9ucy50b2tlbixcbiAgICAgICAgICAgICAge30sXG4gICAgICAgICAgICAgICgpID0+IHt9XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5wb3NpdGlvbikge1xuICAgICAgICAgICAgICBoYW5kbGVQb3NpdGlvbk9wdGlvbnModGhpcy5vcHRpb25zLnBvc2l0aW9uKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5ub3RpZmljYXRpb25DZW50ZXJTdHlsZXMpIHtcbiAgICAgICAgICAgICAgaGFuZGxlTm90aWZpY2F0aW9uQ2VudGVyT3B0aW9ucyhcbiAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMubm90aWZpY2F0aW9uQ2VudGVyU3R5bGVzXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMuYmVsbFN0eWxlcykge1xuICAgICAgICAgICAgICBoYW5kbGVCZWxsT3B0aW9ucyh0aGlzLm9wdGlvbnMuYmVsbFN0eWxlcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBvYnMuZGlzY29ubmVjdCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIG9ic2VydmVyLm9ic2VydmUoZG9jdW1lbnQsIHsgY2hpbGRMaXN0OiB0cnVlLCBzdWJ0cmVlOiB0cnVlIH0pO1xuICAgICAgfVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,58 @@
1
+ export function importScriptInBrowser(config, callback) {
2
+ const head = document.head;
3
+ // Check if the script is already loaded
4
+ const existingScript = document.querySelector('script[data-widget="notifizz"]');
5
+ if (existingScript) {
6
+ console.warn('Widget script is already loaded.');
7
+ callback();
8
+ return;
9
+ }
10
+ const script = document.createElement('script');
11
+ window['notifizzCallback'] = callback;
12
+ script.type = 'module';
13
+ script.dataset['widget'] = 'notifizz';
14
+ script.textContent = `(function (n, o, t, i, f) {
15
+ (n._notifizz = n._notifizz || {}),
16
+ (n._notifizz._queue = n._notifizz._queue || []),
17
+ (n.notifizz =
18
+ n.notifizz ||
19
+ function () {
20
+ let args = [];
21
+ for (i = 0; i < arguments.length; i++) args.push(arguments[i]);
22
+ n._notifizz._queue.push(args);
23
+ }),
24
+ (n._notifizz._notifizzSettings = {
25
+ apiKey: "${config.apiKey}",
26
+ loaderVersion: "1",
27
+ server: t,
28
+ apiUrl: "${config.apiUrl}"
29
+ }),
30
+ (f = o.getElementsByTagName("head")[0]);
31
+ let r = o.createElement("script");
32
+ r.type = 'module';
33
+ r.onload = n.notifizzCallback;
34
+ (r.async = !0), (r.src = t + i), f.appendChild(r);
35
+ })(window, document, "${config.serverUrl}", "${config.widgetPath}")`;
36
+ head.appendChild(script);
37
+ }
38
+ export function handlePositionOptions(position) {
39
+ if (position.includes('top')) {
40
+ window.notifizz('setPosition', 'top');
41
+ }
42
+ if (position.includes('bottom')) {
43
+ window.notifizz('setPosition', 'bottom');
44
+ }
45
+ if (position.includes('right')) {
46
+ window.notifizz('setPosition', 'right');
47
+ }
48
+ if (position.includes('left')) {
49
+ window.notifizz('setPosition', 'left');
50
+ }
51
+ }
52
+ export function handleNotificationCenterOptions(styles) {
53
+ window.notifizz('setNotificationCenterStyles', styles);
54
+ }
55
+ export function handleBellOptions(styles) {
56
+ window.notifizz('setBellStyles', styles);
57
+ }
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbm90aWZpenotYW5ndWxhci9zcmMvbGliL3dpZGdldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxNQUFNLFVBQVUscUJBQXFCLENBQ25DLE1BQXNCLEVBQ3RCLFFBQWtCO0lBRWxCLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7SUFDM0Isd0NBQXdDO0lBQ3hDLE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQzNDLGdDQUFnQyxDQUNqQyxDQUFDO0lBQ0YsSUFBSSxjQUFjLEVBQUU7UUFDbEIsT0FBTyxDQUFDLElBQUksQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1FBQ2pELFFBQVEsRUFBRSxDQUFDO1FBQ1gsT0FBTztLQUNSO0lBQ0QsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUUvQyxNQUFjLENBQUMsa0JBQWtCLENBQUMsR0FBRyxRQUFRLENBQUM7SUFFL0MsTUFBTSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7SUFDdkIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxVQUFVLENBQUM7SUFDdEMsTUFBTSxDQUFDLFdBQVcsR0FBRzs7Ozs7Ozs7Ozs7bUJBV0osTUFBTSxDQUFDLE1BQU07OzttQkFHYixNQUFNLENBQUMsTUFBTTs7Ozs7OzswQkFPTixNQUFNLENBQUMsU0FBUyxPQUFPLE1BQU0sQ0FBQyxVQUFVLElBQUksQ0FBQztJQUVyRSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzNCLENBQUM7QUFFRCxNQUFNLFVBQVUscUJBQXFCLENBQUMsUUFBZ0I7SUFDcEQsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQzVCLE1BQU0sQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxDQUFDO0tBQ3ZDO0lBRUQsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQy9CLE1BQU0sQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0tBQzFDO0lBRUQsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQzlCLE1BQU0sQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0tBQ3pDO0lBRUQsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQzdCLE1BQU0sQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0tBQ3hDO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSwrQkFBK0IsQ0FBQyxNQUE2QjtJQUMzRSxNQUFNLENBQUMsUUFBUSxDQUFDLDZCQUE2QixFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQ3pELENBQUM7QUFFRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsTUFBK0I7SUFDL0QsTUFBTSxDQUFDLFFBQVEsQ0FBQyxlQUFlLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDM0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgTm90aWZpenpDb25maWcge1xuICBhcGlLZXk6IHN0cmluZztcbiAgYXBpVXJsOiBzdHJpbmc7XG4gIHNlcnZlclVybDogc3RyaW5nO1xuICB3aWRnZXRQYXRoOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbXBvcnRTY3JpcHRJbkJyb3dzZXIoXG4gIGNvbmZpZzogTm90aWZpenpDb25maWcsXG4gIGNhbGxiYWNrOiBGdW5jdGlvblxuKSB7XG4gIGNvbnN0IGhlYWQgPSBkb2N1bWVudC5oZWFkO1xuICAvLyBDaGVjayBpZiB0aGUgc2NyaXB0IGlzIGFscmVhZHkgbG9hZGVkXG4gIGNvbnN0IGV4aXN0aW5nU2NyaXB0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAnc2NyaXB0W2RhdGEtd2lkZ2V0PVwibm90aWZpenpcIl0nXG4gICk7XG4gIGlmIChleGlzdGluZ1NjcmlwdCkge1xuICAgIGNvbnNvbGUud2FybignV2lkZ2V0IHNjcmlwdCBpcyBhbHJlYWR5IGxvYWRlZC4nKTtcbiAgICBjYWxsYmFjaygpO1xuICAgIHJldHVybjtcbiAgfVxuICBjb25zdCBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcblxuICAod2luZG93IGFzIGFueSlbJ25vdGlmaXp6Q2FsbGJhY2snXSA9IGNhbGxiYWNrO1xuXG4gIHNjcmlwdC50eXBlID0gJ21vZHVsZSc7XG4gIHNjcmlwdC5kYXRhc2V0Wyd3aWRnZXQnXSA9ICdub3RpZml6eic7XG4gIHNjcmlwdC50ZXh0Q29udGVudCA9IGAoZnVuY3Rpb24gKG4sIG8sIHQsIGksIGYpIHtcbiAgICAobi5fbm90aWZpenogPSBuLl9ub3RpZml6eiB8fCB7fSksXG4gICAgICAobi5fbm90aWZpenouX3F1ZXVlID0gbi5fbm90aWZpenouX3F1ZXVlIHx8IFtdKSxcbiAgICAgIChuLm5vdGlmaXp6ID1cbiAgICAgICAgbi5ub3RpZml6eiB8fFxuICAgICAgICBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgbGV0IGFyZ3MgPSBbXTtcbiAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSBhcmdzLnB1c2goYXJndW1lbnRzW2ldKTtcbiAgICAgICAgICBuLl9ub3RpZml6ei5fcXVldWUucHVzaChhcmdzKTtcbiAgICAgICAgfSksXG4gICAgICAobi5fbm90aWZpenouX25vdGlmaXp6U2V0dGluZ3MgPSB7XG4gICAgICAgIGFwaUtleTogXCIke2NvbmZpZy5hcGlLZXl9XCIsXG4gICAgICAgIGxvYWRlclZlcnNpb246IFwiMVwiLFxuICAgICAgICBzZXJ2ZXI6IHQsXG4gICAgICAgIGFwaVVybDogXCIke2NvbmZpZy5hcGlVcmx9XCJcbiAgICAgIH0pLFxuICAgICAgKGYgPSBvLmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiaGVhZFwiKVswXSk7XG4gICAgbGV0IHIgPSBvLmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIik7XG4gICAgci50eXBlID0gJ21vZHVsZSc7XG4gICAgci5vbmxvYWQgPSBuLm5vdGlmaXp6Q2FsbGJhY2s7IFxuICAgIChyLmFzeW5jID0gITApLCAoci5zcmMgPSB0ICsgaSksIGYuYXBwZW5kQ2hpbGQocik7XG4gIH0pKHdpbmRvdywgZG9jdW1lbnQsIFwiJHtjb25maWcuc2VydmVyVXJsfVwiLCBcIiR7Y29uZmlnLndpZGdldFBhdGh9XCIpYDtcblxuICBoZWFkLmFwcGVuZENoaWxkKHNjcmlwdCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVQb3NpdGlvbk9wdGlvbnMocG9zaXRpb246IHN0cmluZykge1xuICBpZiAocG9zaXRpb24uaW5jbHVkZXMoJ3RvcCcpKSB7XG4gICAgd2luZG93Lm5vdGlmaXp6KCdzZXRQb3NpdGlvbicsICd0b3AnKTtcbiAgfVxuXG4gIGlmIChwb3NpdGlvbi5pbmNsdWRlcygnYm90dG9tJykpIHtcbiAgICB3aW5kb3cubm90aWZpenooJ3NldFBvc2l0aW9uJywgJ2JvdHRvbScpO1xuICB9XG5cbiAgaWYgKHBvc2l0aW9uLmluY2x1ZGVzKCdyaWdodCcpKSB7XG4gICAgd2luZG93Lm5vdGlmaXp6KCdzZXRQb3NpdGlvbicsICdyaWdodCcpO1xuICB9XG5cbiAgaWYgKHBvc2l0aW9uLmluY2x1ZGVzKCdsZWZ0JykpIHtcbiAgICB3aW5kb3cubm90aWZpenooJ3NldFBvc2l0aW9uJywgJ2xlZnQnKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlTm90aWZpY2F0aW9uQ2VudGVyT3B0aW9ucyhzdHlsZXM6IHsgbWFyZ2luVG9wOiBzdHJpbmcgfSkge1xuICB3aW5kb3cubm90aWZpenooJ3NldE5vdGlmaWNhdGlvbkNlbnRlclN0eWxlcycsIHN0eWxlcyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVCZWxsT3B0aW9ucyhzdHlsZXM6IHsgbWFyZ2luUmlnaHQ6IHN0cmluZyB9KSB7XG4gIHdpbmRvdy5ub3RpZml6eignc2V0QmVsbFN0eWxlcycsIHN0eWxlcyk7XG59XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpenotYW5ndWxhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25vdGlmaXp6LWFuZ3VsYXIvc3JjL25vdGlmaXp6LWFuZ3VsYXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /*
2
+ * Public API Surface of notifizz-angular
3
+ */
4
+ export * from './lib/notifizz-angular.component';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25vdGlmaXp6LWFuZ3VsYXIvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGtDQUFrQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBub3RpZml6ei1hbmd1bGFyXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbm90aWZpenotYW5ndWxhci5jb21wb25lbnQnO1xuIl19
@@ -0,0 +1,121 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Component, Input } from '@angular/core';
3
+
4
+ function importScriptInBrowser(config, callback) {
5
+ const head = document.head;
6
+ // Check if the script is already loaded
7
+ const existingScript = document.querySelector('script[data-widget="notifizz"]');
8
+ if (existingScript) {
9
+ console.warn('Widget script is already loaded.');
10
+ callback();
11
+ return;
12
+ }
13
+ const script = document.createElement('script');
14
+ window['notifizzCallback'] = callback;
15
+ script.type = 'module';
16
+ script.dataset['widget'] = 'notifizz';
17
+ script.textContent = `(function (n, o, t, i, f) {
18
+ (n._notifizz = n._notifizz || {}),
19
+ (n._notifizz._queue = n._notifizz._queue || []),
20
+ (n.notifizz =
21
+ n.notifizz ||
22
+ function () {
23
+ let args = [];
24
+ for (i = 0; i < arguments.length; i++) args.push(arguments[i]);
25
+ n._notifizz._queue.push(args);
26
+ }),
27
+ (n._notifizz._notifizzSettings = {
28
+ apiKey: "${config.apiKey}",
29
+ loaderVersion: "1",
30
+ server: t,
31
+ apiUrl: "${config.apiUrl}"
32
+ }),
33
+ (f = o.getElementsByTagName("head")[0]);
34
+ let r = o.createElement("script");
35
+ r.type = 'module';
36
+ r.onload = n.notifizzCallback;
37
+ (r.async = !0), (r.src = t + i), f.appendChild(r);
38
+ })(window, document, "${config.serverUrl}", "${config.widgetPath}")`;
39
+ head.appendChild(script);
40
+ }
41
+ function handlePositionOptions(position) {
42
+ if (position.includes('top')) {
43
+ window.notifizz('setPosition', 'top');
44
+ }
45
+ if (position.includes('bottom')) {
46
+ window.notifizz('setPosition', 'bottom');
47
+ }
48
+ if (position.includes('right')) {
49
+ window.notifizz('setPosition', 'right');
50
+ }
51
+ if (position.includes('left')) {
52
+ window.notifizz('setPosition', 'left');
53
+ }
54
+ }
55
+ function handleNotificationCenterOptions(styles) {
56
+ window.notifizz('setNotificationCenterStyles', styles);
57
+ }
58
+ function handleBellOptions(styles) {
59
+ window.notifizz('setBellStyles', styles);
60
+ }
61
+
62
+ class NotifizzAngularComponent {
63
+ constructor() {
64
+ this.options = {
65
+ apiKey: undefined,
66
+ token: '',
67
+ authType: 'firebase',
68
+ position: '',
69
+ notificationCenterStyles: null,
70
+ bellStyles: null,
71
+ };
72
+ }
73
+ ngOnInit() {
74
+ if (!this.options.apiKey || !this.options.authType) {
75
+ throw new Error('Missing required options: apiKey and authType are required');
76
+ }
77
+ importScriptInBrowser({
78
+ apiKey: this.options.apiKey,
79
+ serverUrl: 'https://widget.notifizz.com',
80
+ apiUrl: 'https://eu.api.notifizz.com/v1',
81
+ widgetPath: '/widget.js',
82
+ }, () => {
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();
97
+ }
98
+ });
99
+ observer.observe(document, { childList: true, subtree: true });
100
+ });
101
+ }
102
+ 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 }); }
104
+ }
105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NotifizzAngularComponent, decorators: [{
106
+ type: Component,
107
+ args: [{ selector: 'notifizz-bell', template: ` <div id="notifizz-notifications"></div> `, standalone: true }]
108
+ }], ctorParameters: () => [], propDecorators: { options: [{
109
+ type: Input
110
+ }] } });
111
+
112
+ /*
113
+ * Public API Surface of notifizz-angular
114
+ */
115
+
116
+ /**
117
+ * Generated bundle index. Do not edit.
118
+ */
119
+
120
+ export { NotifizzAngularComponent };
121
+ //# sourceMappingURL=notifizz-angular.mjs.map
@@ -0,0 +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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"}
package/index.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="@notifizz/angular" />
5
+ export * from './public-api';
@@ -0,0 +1,34 @@
1
+ import * as i0 from "@angular/core";
2
+ declare global {
3
+ interface Window {
4
+ notifizz: (...args: any[]) => void;
5
+ initNotifizz: (...args: any[]) => void;
6
+ _notifizz: {
7
+ _notifizzSettings: {
8
+ apiKey: string;
9
+ server: string;
10
+ loaderVersion: number;
11
+ apiUrl: string;
12
+ };
13
+ _queue: any[][];
14
+ };
15
+ }
16
+ }
17
+ export declare class NotifizzAngularComponent {
18
+ options: {
19
+ apiKey: string | undefined;
20
+ token: string;
21
+ authType: string;
22
+ position: string | null;
23
+ notificationCenterStyles: {
24
+ marginTop: string;
25
+ } | null;
26
+ bellStyles: {
27
+ marginRight: string;
28
+ } | null;
29
+ };
30
+ constructor();
31
+ ngOnInit(): void;
32
+ static ɵfac: i0.ɵɵFactoryDeclaration<NotifizzAngularComponent, never>;
33
+ static ɵcmp: i0.ɵɵComponentDeclaration<NotifizzAngularComponent, "notifizz-bell", never, { "options": { "alias": "options"; "required": false; }; }, {}, never, never, true, never>;
34
+ }
@@ -0,0 +1,14 @@
1
+ export interface NotifizzConfig {
2
+ apiKey: string;
3
+ apiUrl: string;
4
+ serverUrl: string;
5
+ widgetPath: string;
6
+ }
7
+ export declare function importScriptInBrowser(config: NotifizzConfig, callback: Function): void;
8
+ export declare function handlePositionOptions(position: string): void;
9
+ export declare function handleNotificationCenterOptions(styles: {
10
+ marginTop: string;
11
+ }): void;
12
+ export declare function handleBellOptions(styles: {
13
+ marginRight: string;
14
+ }): void;
package/package.json ADDED
@@ -0,0 +1,25 @@
1
+ {
2
+ "name": "@notifizz/angular",
3
+ "version": "1.0.0",
4
+ "peerDependencies": {
5
+ "@angular/common": "^17.0.0",
6
+ "@angular/core": "^17.0.0"
7
+ },
8
+ "dependencies": {
9
+ "tslib": "^2.3.0"
10
+ },
11
+ "sideEffects": false,
12
+ "module": "fesm2022/notifizz-angular.mjs",
13
+ "typings": "index.d.ts",
14
+ "exports": {
15
+ "./package.json": {
16
+ "default": "./package.json"
17
+ },
18
+ ".": {
19
+ "types": "./index.d.ts",
20
+ "esm2022": "./esm2022/notifizz-angular.mjs",
21
+ "esm": "./esm2022/notifizz-angular.mjs",
22
+ "default": "./fesm2022/notifizz-angular.mjs"
23
+ }
24
+ }
25
+ }
@@ -0,0 +1 @@
1
+ export * from './lib/notifizz-angular.component';