@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 +24 -0
- package/esm2022/lib/notifizz-angular.component.mjs +53 -0
- package/esm2022/lib/widget.mjs +58 -0
- package/esm2022/notifizz-angular.mjs +5 -0
- package/esm2022/public-api.mjs +5 -0
- package/fesm2022/notifizz-angular.mjs +121 -0
- package/fesm2022/notifizz-angular.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/notifizz-angular.component.d.ts +34 -0
- package/lib/widget.d.ts +14 -0
- package/package.json +25 -0
- package/public-api.d.ts +1 -0
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,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
|
+
}
|
package/lib/widget.d.ts
ADDED
|
@@ -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
|
+
}
|
package/public-api.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './lib/notifizz-angular.component';
|