@acontplus/ng-notifications 1.1.0 → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -7,9 +7,15 @@ SweetAlert2.
7
7
  ## Installation
8
8
 
9
9
  ```bash
10
- npm install @acontplus/ng-notifications
10
+ # Using npm
11
+ npm install @acontplus/ng-notifications @acontplus/ui-kit
12
+
13
+ # Using pnpm
14
+ pnpm add @acontplus/ng-notifications @acontplus/ui-kit
11
15
  ```
12
16
 
17
+ > **Note**: `@acontplus/ng-notifications` depends on `@acontplus/ui-kit` for notification constants (messages, durations, icons). Both packages must be installed.
18
+
13
19
  ## Features
14
20
 
15
21
  - **Toast Notifications**: Using ngx-toastr for non-blocking notifications
@@ -35,11 +41,7 @@ npm install @acontplus/ng-notifications
35
41
  interface NotificationProviderConfig {
36
42
  defaultProvider: 'sweetalert' | 'toastr' | 'snackbar';
37
43
  sweetalert?: {
38
- defaultTheme?:
39
- | 'auto'
40
- | 'material-ui'
41
- | 'material-ui-light'
42
- | 'material-ui-dark';
44
+ defaultTheme?: 'auto' | 'material-ui' | 'material-ui-light' | 'material-ui-dark';
43
45
  };
44
46
  toastr?: ToastrConfig;
45
47
  snackbar?: SnackbarConfig;
@@ -58,7 +60,11 @@ interface NotificationProviderConfig {
58
60
  ### 1. Install Dependencies
59
61
 
60
62
  ```bash
63
+ # Using npm
61
64
  npm install @acontplus/ng-notifications ngx-toastr sweetalert2
65
+
66
+ # Using pnpm
67
+ pnpm add @acontplus/ng-notifications ngx-toastr sweetalert2
62
68
  ```
63
69
 
64
70
  ### 2. Import CSS (in styles.scss)
@@ -251,7 +257,7 @@ this.notificationService.success({
251
257
  title: 'Success',
252
258
  message: 'Data saved',
253
259
  config: {
254
- didOpen: popup => {
260
+ didOpen: (popup) => {
255
261
  console.log('Notification opened');
256
262
  popup.querySelector('.swal2-confirm')?.focus();
257
263
  },
@@ -280,8 +286,38 @@ this.notificationService.snackbar.info({ message: 'Information' });
280
286
  ### Quick Methods
281
287
 
282
288
  ```typescript
283
- // Predefined messages
289
+ // Predefined messages (from @acontplus/ui-kit)
284
290
  this.notificationService.quickSave(); // "Data saved successfully"
285
291
  this.notificationService.quickDelete(); // "Item deleted"
286
292
  this.notificationService.networkError(); // "Network connection error"
287
293
  ```
294
+
295
+ ## Notification Constants
296
+
297
+ This library re-exports notification constants from `@acontplus/ui-kit` for backward compatibility:
298
+
299
+ ```typescript
300
+ import {
301
+ NOTIFICATION_MESSAGES,
302
+ NOTIFICATION_DURATIONS,
303
+ NOTIFICATION_ICONS,
304
+ } from '@acontplus/ng-notifications';
305
+
306
+ // Pre-defined messages
307
+ NOTIFICATION_MESSAGES.SUCCESS.SAVE; // 'Data saved successfully'
308
+ NOTIFICATION_MESSAGES.ERROR.NETWORK; // 'Network error occurred'
309
+ NOTIFICATION_MESSAGES.WARNING.UNSAVED_CHANGES; // 'You have unsaved changes'
310
+
311
+ // Standard durations
312
+ NOTIFICATION_DURATIONS.SHORT; // 3000ms
313
+ NOTIFICATION_DURATIONS.MEDIUM; // 5000ms
314
+ NOTIFICATION_DURATIONS.LONG; // 8000ms
315
+
316
+ // Icon mappings (Material icons)
317
+ NOTIFICATION_ICONS.success; // 'check_circle'
318
+ NOTIFICATION_ICONS.error; // 'error'
319
+ NOTIFICATION_ICONS.warning; // 'warning'
320
+ NOTIFICATION_ICONS.info; // 'info'
321
+ ```
322
+
323
+ These constants are defined in `@acontplus/ui-kit` to ensure they're framework-agnostic and reusable across different notification implementations.
@@ -1,61 +1,12 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { InjectionToken, Injectable, inject, PLATFORM_ID, makeEnvironmentProviders } from '@angular/core';
3
- import { ToastrService, provideToastr } from 'ngx-toastr';
3
+ import { ToastrService, ToastNoAnimation, provideToastr } from 'ngx-toastr';
4
4
  import { of, BehaviorSubject, from } from 'rxjs';
5
5
  import { MatSnackBar } from '@angular/material/snack-bar';
6
6
  import { map } from 'rxjs/operators';
7
7
  import Swal from 'sweetalert2';
8
8
  import { isPlatformBrowser } from '@angular/common';
9
-
10
- // Type definitions for notifications
11
-
12
- const NOTIFICATION_MESSAGES = {
13
- SUCCESS: {
14
- SAVE: 'Data saved successfully',
15
- DELETE: 'Item deleted successfully',
16
- UPDATE: 'Data updated successfully',
17
- UPLOAD: 'File uploaded successfully',
18
- CREATE: 'Item created successfully',
19
- SYNC: 'Data synchronized successfully',
20
- },
21
- ERROR: {
22
- SAVE: 'Failed to save data',
23
- DELETE: 'Failed to delete item',
24
- UPDATE: 'Failed to update data',
25
- UPLOAD: 'Failed to upload file',
26
- NETWORK: 'Network error occurred',
27
- UNKNOWN: 'An unexpected error occurred',
28
- VALIDATION: 'Validation error',
29
- UNAUTHORIZED: 'Unauthorized access',
30
- SERVER: 'Server error occurred',
31
- },
32
- WARNING: {
33
- UNSAVED_CHANGES: 'You have unsaved changes',
34
- SESSION_EXPIRING: 'Your session is about to expire',
35
- STORAGE_FULL: 'Storage is running low',
36
- DEPRECATED: 'This feature is deprecated',
37
- LIMIT_REACHED: 'Limit reached',
38
- },
39
- INFO: {
40
- LOADING: 'Loading data...',
41
- PROCESSING: 'Processing request...',
42
- MAINTENANCE: 'System maintenance scheduled',
43
- UPDATE_AVAILABLE: 'Update available',
44
- BACKUP_COMPLETE: 'Backup completed',
45
- },
46
- };
47
- const NOTIFICATION_DURATIONS = {
48
- SHORT: 3000,
49
- MEDIUM: 5000,
50
- LONG: 8000,
51
- PERSISTENT: 0,
52
- };
53
- const NOTIFICATION_ICONS = {
54
- success: 'check_circle',
55
- error: 'error',
56
- warning: 'warning',
57
- info: 'info',
58
- };
9
+ import { NOTIFICATION_MESSAGES } from '@acontplus/ui-kit';
59
10
 
60
11
  const TOASTR_NOTIFICATION_CONFIG = new InjectionToken('toastr-notification-config', {
61
12
  providedIn: 'root',
@@ -84,10 +35,10 @@ const SNACKBAR_CONFIG = new InjectionToken('acontplus-snackbar-config', {
84
35
 
85
36
  const NOTIFICATION_CONFIG = new InjectionToken('NOTIFICATION_CONFIG');
86
37
  class NotificationProviderBase {
87
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: NotificationProviderBase, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
88
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: NotificationProviderBase });
38
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: NotificationProviderBase, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
39
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: NotificationProviderBase });
89
40
  }
90
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: NotificationProviderBase, decorators: [{
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: NotificationProviderBase, decorators: [{
91
42
  type: Injectable
92
43
  }] });
93
44
 
@@ -138,10 +89,10 @@ class ToastrProvider extends NotificationProviderBase {
138
89
  const result = confirm(`${config.title || ''}\n${config.message}`);
139
90
  return of({ isConfirmed: result });
140
91
  }
141
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: ToastrProvider, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
142
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: ToastrProvider, providedIn: 'root' });
92
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: ToastrProvider, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
93
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: ToastrProvider, providedIn: 'root' });
143
94
  }
144
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: ToastrProvider, decorators: [{
95
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: ToastrProvider, decorators: [{
145
96
  type: Injectable,
146
97
  args: [{
147
98
  providedIn: 'root',
@@ -216,10 +167,10 @@ class SnackbarProvider extends NotificationProviderBase {
216
167
  }
217
168
  return `${title}: ${message}`;
218
169
  }
219
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: SnackbarProvider, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
220
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: SnackbarProvider, providedIn: 'root' });
170
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: SnackbarProvider, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
171
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: SnackbarProvider, providedIn: 'root' });
221
172
  }
222
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: SnackbarProvider, decorators: [{
173
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: SnackbarProvider, decorators: [{
223
174
  type: Injectable,
224
175
  args: [{
225
176
  providedIn: 'root',
@@ -253,10 +204,10 @@ class ThemeDetector {
253
204
  getCurrentTheme() {
254
205
  return this.themeSubject.value;
255
206
  }
256
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: ThemeDetector, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
257
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: ThemeDetector, providedIn: 'root' });
207
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: ThemeDetector, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
208
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: ThemeDetector, providedIn: 'root' });
258
209
  }
259
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: ThemeDetector, decorators: [{
210
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: ThemeDetector, decorators: [{
260
211
  type: Injectable,
261
212
  args: [{
262
213
  providedIn: 'root',
@@ -302,7 +253,7 @@ class SweetalertProvider extends NotificationProviderBase {
302
253
  customClass: config.customClass ? { container: config.customClass } : undefined,
303
254
  theme: this.getTheme(),
304
255
  };
305
- return from(Swal.fire(swalConfig)).pipe(map(result => ({
256
+ return from(Swal.fire(swalConfig)).pipe(map((result) => ({
306
257
  isConfirmed: result.isConfirmed,
307
258
  isDenied: result.isDenied,
308
259
  isDismissed: result.isDismissed,
@@ -320,17 +271,17 @@ class SweetalertProvider extends NotificationProviderBase {
320
271
  ...(duration ? { timer: duration, timerProgressBar: true } : {}),
321
272
  ...otherConfig,
322
273
  };
323
- return from(Swal.fire(swalConfig)).pipe(map(result => ({
274
+ return from(Swal.fire(swalConfig)).pipe(map((result) => ({
324
275
  isConfirmed: result.isConfirmed,
325
276
  isDenied: result.isDenied,
326
277
  isDismissed: result.isDismissed,
327
278
  value: result.value,
328
279
  })));
329
280
  }
330
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: SweetalertProvider, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
331
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: SweetalertProvider, providedIn: 'root' });
281
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: SweetalertProvider, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
282
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: SweetalertProvider, providedIn: 'root' });
332
283
  }
333
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: SweetalertProvider, decorators: [{
284
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: SweetalertProvider, decorators: [{
334
285
  type: Injectable,
335
286
  args: [{
336
287
  providedIn: 'root',
@@ -416,10 +367,10 @@ class NotificationService {
416
367
  title: 'Session Alert',
417
368
  });
418
369
  }
419
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: NotificationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
420
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: NotificationService, providedIn: 'root' });
370
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: NotificationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
371
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: NotificationService, providedIn: 'root' });
421
372
  }
422
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: NotificationService, decorators: [{
373
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: NotificationService, decorators: [{
423
374
  type: Injectable,
424
375
  args: [{
425
376
  providedIn: 'root',
@@ -435,6 +386,7 @@ const DEFAULT_TOASTR_CONFIG = {
435
386
  newestOnTop: true,
436
387
  preventDuplicates: true,
437
388
  progressBar: true,
389
+ toastComponent: ToastNoAnimation,
438
390
  };
439
391
  function provideNotifications(config, toastrConfig) {
440
392
  return makeEnvironmentProviders([
@@ -463,5 +415,5 @@ function provideNotifications(config, toastrConfig) {
463
415
  * Generated bundle index. Do not edit.
464
416
  */
465
417
 
466
- export { DEFAULT_SNACKBAR_CONFIG, NOTIFICATION_CONFIG, NOTIFICATION_DURATIONS, NOTIFICATION_ICONS, NOTIFICATION_MESSAGES, NotificationProviderBase, NotificationService, SNACKBAR_CONFIG, SnackbarProvider, SweetalertProvider, TOASTR_NOTIFICATION_CONFIG, ToastrProvider, provideNotifications };
418
+ export { DEFAULT_SNACKBAR_CONFIG, NOTIFICATION_CONFIG, NotificationProviderBase, NotificationService, SNACKBAR_CONFIG, SnackbarProvider, SweetalertProvider, TOASTR_NOTIFICATION_CONFIG, ToastrProvider, provideNotifications };
467
419
  //# sourceMappingURL=acontplus-ng-notifications.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acontplus-ng-notifications.mjs","sources":["../tmp-esm2022/lib/types/notification.types.js","../tmp-esm2022/lib/constants/notification.constants.js","../tmp-esm2022/lib/config/toastr-config.js","../tmp-esm2022/lib/config/snackbar-config.js","../tmp-esm2022/lib/providers/notification-provider.js","../tmp-esm2022/lib/providers/toastr-provider.js","../tmp-esm2022/lib/providers/snackbar-provider.js","../tmp-esm2022/lib/services/theme-detector.js","../tmp-esm2022/lib/providers/sweetalert-provider.js","../tmp-esm2022/lib/services/notification-service.js","../tmp-esm2022/lib/providers.js","../tmp-esm2022/acontplus-ng-notifications.js"],"sourcesContent":["// Type definitions for notifications\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctbm90aWZpY2F0aW9ucy9zcmMvbGliL3R5cGVzL25vdGlmaWNhdGlvbi50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxQ0FBcUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUeXBlIGRlZmluaXRpb25zIGZvciBub3RpZmljYXRpb25zXG5cbmV4cG9ydCB0eXBlIE5vdGlmaWNhdGlvblR5cGUgPSAnc3VjY2VzcycgfCAnZXJyb3InIHwgJ3dhcm5pbmcnIHwgJ2luZm8nO1xuZXhwb3J0IHR5cGUgTm90aWZpY2F0aW9uUG9zaXRpb24gPVxuICB8ICd0b3AtcmlnaHQnXG4gIHwgJ3RvcC1sZWZ0J1xuICB8ICdib3R0b20tcmlnaHQnXG4gIHwgJ2JvdHRvbS1sZWZ0J1xuICB8ICd0b3AtY2VudGVyJ1xuICB8ICdib3R0b20tY2VudGVyJztcbmV4cG9ydCB0eXBlIE5vdGlmaWNhdGlvblByb3ZpZGVyID0gJ3RvYXN0cicgfCAnc25hY2tiYXInIHwgJ3N3ZWV0YWxlcnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VOb3RpZmljYXRpb25Db25maWcge1xuICByZWFkb25seSBtZXNzYWdlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHRpdGxlPzogc3RyaW5nO1xuICByZWFkb25seSB0eXBlPzogTm90aWZpY2F0aW9uVHlwZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOb3RpZmljYXRpb25DYWxsUHJvcHMgZXh0ZW5kcyBCYXNlTm90aWZpY2F0aW9uQ29uZmlnIHtcbiAgcmVhZG9ubHkgY29uZmlnPzogdW5rbm93bjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTd2VldEFsZXJ0Q29uZmlnIGV4dGVuZHMgQmFzZU5vdGlmaWNhdGlvbkNvbmZpZyB7XG4gIHJlYWRvbmx5IGh0bWw/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGNvbmZpcm1CdXR0b25UZXh0Pzogc3RyaW5nO1xuICByZWFkb25seSBjYW5jZWxCdXR0b25UZXh0Pzogc3RyaW5nO1xuICByZWFkb25seSBzaG93Q2FuY2VsQnV0dG9uPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgYWxsb3dPdXRzaWRlQ2xpY2s/OiBib29sZWFuO1xuICByZWFkb25seSBjdXN0b21DbGFzcz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOb3RpZmljYXRpb25SZXN1bHQge1xuICBpc0NvbmZpcm1lZD86IGJvb2xlYW47XG4gIGlzRGVuaWVkPzogYm9vbGVhbjtcbiAgaXNEaXNtaXNzZWQ/OiBib29sZWFuO1xuICB2YWx1ZT86IHVua25vd247XG59XG4iXX0=","export const NOTIFICATION_MESSAGES = {\n SUCCESS: {\n SAVE: 'Data saved successfully',\n DELETE: 'Item deleted successfully',\n UPDATE: 'Data updated successfully',\n UPLOAD: 'File uploaded successfully',\n CREATE: 'Item created successfully',\n SYNC: 'Data synchronized successfully',\n },\n ERROR: {\n SAVE: 'Failed to save data',\n DELETE: 'Failed to delete item',\n UPDATE: 'Failed to update data',\n UPLOAD: 'Failed to upload file',\n NETWORK: 'Network error occurred',\n UNKNOWN: 'An unexpected error occurred',\n VALIDATION: 'Validation error',\n UNAUTHORIZED: 'Unauthorized access',\n SERVER: 'Server error occurred',\n },\n WARNING: {\n UNSAVED_CHANGES: 'You have unsaved changes',\n SESSION_EXPIRING: 'Your session is about to expire',\n STORAGE_FULL: 'Storage is running low',\n DEPRECATED: 'This feature is deprecated',\n LIMIT_REACHED: 'Limit reached',\n },\n INFO: {\n LOADING: 'Loading data...',\n PROCESSING: 'Processing request...',\n MAINTENANCE: 'System maintenance scheduled',\n UPDATE_AVAILABLE: 'Update available',\n BACKUP_COMPLETE: 'Backup completed',\n },\n};\nexport const NOTIFICATION_DURATIONS = {\n SHORT: 3000,\n MEDIUM: 5000,\n LONG: 8000,\n PERSISTENT: 0,\n};\nexport const NOTIFICATION_ICONS = {\n success: 'check_circle',\n error: 'error',\n warning: 'warning',\n info: 'info',\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmNvbnN0YW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nLW5vdGlmaWNhdGlvbnMvc3JjL2xpYi9jb25zdGFudHMvbm90aWZpY2F0aW9uLmNvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRztJQUNuQyxPQUFPLEVBQUU7UUFDUCxJQUFJLEVBQUUseUJBQXlCO1FBQy9CLE1BQU0sRUFBRSwyQkFBMkI7UUFDbkMsTUFBTSxFQUFFLDJCQUEyQjtRQUNuQyxNQUFNLEVBQUUsNEJBQTRCO1FBQ3BDLE1BQU0sRUFBRSwyQkFBMkI7UUFDbkMsSUFBSSxFQUFFLGdDQUFnQztLQUN2QztJQUNELEtBQUssRUFBRTtRQUNMLElBQUksRUFBRSxxQkFBcUI7UUFDM0IsTUFBTSxFQUFFLHVCQUF1QjtRQUMvQixNQUFNLEVBQUUsdUJBQXVCO1FBQy9CLE1BQU0sRUFBRSx1QkFBdUI7UUFDL0IsT0FBTyxFQUFFLHdCQUF3QjtRQUNqQyxPQUFPLEVBQUUsOEJBQThCO1FBQ3ZDLFVBQVUsRUFBRSxrQkFBa0I7UUFDOUIsWUFBWSxFQUFFLHFCQUFxQjtRQUNuQyxNQUFNLEVBQUUsdUJBQXVCO0tBQ2hDO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsZUFBZSxFQUFFLDBCQUEwQjtRQUMzQyxnQkFBZ0IsRUFBRSxpQ0FBaUM7UUFDbkQsWUFBWSxFQUFFLHdCQUF3QjtRQUN0QyxVQUFVLEVBQUUsNEJBQTRCO1FBQ3hDLGFBQWEsRUFBRSxlQUFlO0tBQy9CO0lBQ0QsSUFBSSxFQUFFO1FBQ0osT0FBTyxFQUFFLGlCQUFpQjtRQUMxQixVQUFVLEVBQUUsdUJBQXVCO1FBQ25DLFdBQVcsRUFBRSw4QkFBOEI7UUFDM0MsZ0JBQWdCLEVBQUUsa0JBQWtCO1FBQ3BDLGVBQWUsRUFBRSxrQkFBa0I7S0FDcEM7Q0FDTyxDQUFDO0FBRVgsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUc7SUFDcEMsS0FBSyxFQUFFLElBQUk7SUFDWCxNQUFNLEVBQUUsSUFBSTtJQUNaLElBQUksRUFBRSxJQUFJO0lBQ1YsVUFBVSxFQUFFLENBQUM7Q0FDTCxDQUFDO0FBRVgsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUc7SUFDaEMsT0FBTyxFQUFFLGNBQWM7SUFDdkIsS0FBSyxFQUFFLE9BQU87SUFDZCxPQUFPLEVBQUUsU0FBUztJQUNsQixJQUFJLEVBQUUsTUFBTTtDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgTk9USUZJQ0FUSU9OX01FU1NBR0VTID0ge1xuICBTVUNDRVNTOiB7XG4gICAgU0FWRTogJ0RhdGEgc2F2ZWQgc3VjY2Vzc2Z1bGx5JyxcbiAgICBERUxFVEU6ICdJdGVtIGRlbGV0ZWQgc3VjY2Vzc2Z1bGx5JyxcbiAgICBVUERBVEU6ICdEYXRhIHVwZGF0ZWQgc3VjY2Vzc2Z1bGx5JyxcbiAgICBVUExPQUQ6ICdGaWxlIHVwbG9hZGVkIHN1Y2Nlc3NmdWxseScsXG4gICAgQ1JFQVRFOiAnSXRlbSBjcmVhdGVkIHN1Y2Nlc3NmdWxseScsXG4gICAgU1lOQzogJ0RhdGEgc3luY2hyb25pemVkIHN1Y2Nlc3NmdWxseScsXG4gIH0sXG4gIEVSUk9SOiB7XG4gICAgU0FWRTogJ0ZhaWxlZCB0byBzYXZlIGRhdGEnLFxuICAgIERFTEVURTogJ0ZhaWxlZCB0byBkZWxldGUgaXRlbScsXG4gICAgVVBEQVRFOiAnRmFpbGVkIHRvIHVwZGF0ZSBkYXRhJyxcbiAgICBVUExPQUQ6ICdGYWlsZWQgdG8gdXBsb2FkIGZpbGUnLFxuICAgIE5FVFdPUks6ICdOZXR3b3JrIGVycm9yIG9jY3VycmVkJyxcbiAgICBVTktOT1dOOiAnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cnJlZCcsXG4gICAgVkFMSURBVElPTjogJ1ZhbGlkYXRpb24gZXJyb3InLFxuICAgIFVOQVVUSE9SSVpFRDogJ1VuYXV0aG9yaXplZCBhY2Nlc3MnLFxuICAgIFNFUlZFUjogJ1NlcnZlciBlcnJvciBvY2N1cnJlZCcsXG4gIH0sXG4gIFdBUk5JTkc6IHtcbiAgICBVTlNBVkVEX0NIQU5HRVM6ICdZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMnLFxuICAgIFNFU1NJT05fRVhQSVJJTkc6ICdZb3VyIHNlc3Npb24gaXMgYWJvdXQgdG8gZXhwaXJlJyxcbiAgICBTVE9SQUdFX0ZVTEw6ICdTdG9yYWdlIGlzIHJ1bm5pbmcgbG93JyxcbiAgICBERVBSRUNBVEVEOiAnVGhpcyBmZWF0dXJlIGlzIGRlcHJlY2F0ZWQnLFxuICAgIExJTUlUX1JFQUNIRUQ6ICdMaW1pdCByZWFjaGVkJyxcbiAgfSxcbiAgSU5GTzoge1xuICAgIExPQURJTkc6ICdMb2FkaW5nIGRhdGEuLi4nLFxuICAgIFBST0NFU1NJTkc6ICdQcm9jZXNzaW5nIHJlcXVlc3QuLi4nLFxuICAgIE1BSU5URU5BTkNFOiAnU3lzdGVtIG1haW50ZW5hbmNlIHNjaGVkdWxlZCcsXG4gICAgVVBEQVRFX0FWQUlMQUJMRTogJ1VwZGF0ZSBhdmFpbGFibGUnLFxuICAgIEJBQ0tVUF9DT01QTEVURTogJ0JhY2t1cCBjb21wbGV0ZWQnLFxuICB9LFxufSBhcyBjb25zdDtcblxuZXhwb3J0IGNvbnN0IE5PVElGSUNBVElPTl9EVVJBVElPTlMgPSB7XG4gIFNIT1JUOiAzMDAwLFxuICBNRURJVU06IDUwMDAsXG4gIExPTkc6IDgwMDAsXG4gIFBFUlNJU1RFTlQ6IDAsXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgY29uc3QgTk9USUZJQ0FUSU9OX0lDT05TID0ge1xuICBzdWNjZXNzOiAnY2hlY2tfY2lyY2xlJyxcbiAgZXJyb3I6ICdlcnJvcicsXG4gIHdhcm5pbmc6ICd3YXJuaW5nJyxcbiAgaW5mbzogJ2luZm8nLFxufSBhcyBjb25zdDtcbiJdfQ==","import { InjectionToken } from '@angular/core';\nexport const TOASTR_NOTIFICATION_CONFIG = new InjectionToken('toastr-notification-config', {\n providedIn: 'root',\n factory: () => ({\n positionClass: 'toast-bottom-center',\n timeOut: 5000,\n extendedTimeOut: 1500,\n closeButton: true,\n newestOnTop: true,\n }),\n});\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3RyLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nLW5vdGlmaWNhdGlvbnMvc3JjL2xpYi9jb25maWcvdG9hc3RyLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSy9DLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLElBQUksY0FBYyxDQUMxRCw0QkFBNEIsRUFDNUI7SUFDRSxVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNkLGFBQWEsRUFBRSxxQkFBcUI7UUFDcEMsT0FBTyxFQUFFLElBQUk7UUFDYixlQUFlLEVBQUUsSUFBSTtRQUNyQixXQUFXLEVBQUUsSUFBSTtRQUNqQixXQUFXLEVBQUUsSUFBSTtLQUNsQixDQUFDO0NBQ0gsQ0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEluZGl2aWR1YWxDb25maWcgfSBmcm9tICduZ3gtdG9hc3RyJztcblxuZXhwb3J0IHR5cGUgVG9hc3RyTm90aWZpY2F0aW9uQ29uZmlnID0gUGFydGlhbDxJbmRpdmlkdWFsQ29uZmlnPjtcblxuZXhwb3J0IGNvbnN0IFRPQVNUUl9OT1RJRklDQVRJT05fQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPFRvYXN0ck5vdGlmaWNhdGlvbkNvbmZpZz4oXG4gICd0b2FzdHItbm90aWZpY2F0aW9uLWNvbmZpZycsXG4gIHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG4gICAgZmFjdG9yeTogKCkgPT4gKHtcbiAgICAgIHBvc2l0aW9uQ2xhc3M6ICd0b2FzdC1ib3R0b20tY2VudGVyJyxcbiAgICAgIHRpbWVPdXQ6IDUwMDAsXG4gICAgICBleHRlbmRlZFRpbWVPdXQ6IDE1MDAsXG4gICAgICBjbG9zZUJ1dHRvbjogdHJ1ZSxcbiAgICAgIG5ld2VzdE9uVG9wOiB0cnVlLFxuICAgIH0pLFxuICB9LFxuKTtcbiJdfQ==","import { InjectionToken } from '@angular/core';\nexport const DEFAULT_SNACKBAR_CONFIG = {\n duration: 5000,\n horizontalPosition: 'center',\n verticalPosition: 'bottom',\n panelClass: [],\n defaultAction: 'Close',\n iconEnabled: true,\n titleEnabled: true,\n};\nexport const SNACKBAR_CONFIG = new InjectionToken('acontplus-snackbar-config', {\n providedIn: 'root',\n factory: () => DEFAULT_SNACKBAR_CONFIG,\n});\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXItY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctbm90aWZpY2F0aW9ucy9zcmMvbGliL2NvbmZpZy9zbmFja2Jhci1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVMvQyxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBbUI7SUFDckQsUUFBUSxFQUFFLElBQUk7SUFDZCxrQkFBa0IsRUFBRSxRQUFRO0lBQzVCLGdCQUFnQixFQUFFLFFBQVE7SUFDMUIsVUFBVSxFQUFFLEVBQUU7SUFDZCxhQUFhLEVBQUUsT0FBTztJQUN0QixXQUFXLEVBQUUsSUFBSTtJQUNqQixZQUFZLEVBQUUsSUFBSTtDQUNuQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLElBQUksY0FBYyxDQUFpQiwyQkFBMkIsRUFBRTtJQUM3RixVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsdUJBQXVCO0NBQ3ZDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRTbmFja0JhckNvbmZpZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU25hY2tiYXJDb25maWcgZXh0ZW5kcyBNYXRTbmFja0JhckNvbmZpZyB7XG4gIHJlYWRvbmx5IGRlZmF1bHRBY3Rpb24/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGljb25FbmFibGVkPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgdGl0bGVFbmFibGVkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfU05BQ0tCQVJfQ09ORklHOiBTbmFja2JhckNvbmZpZyA9IHtcbiAgZHVyYXRpb246IDUwMDAsXG4gIGhvcml6b250YWxQb3NpdGlvbjogJ2NlbnRlcicsXG4gIHZlcnRpY2FsUG9zaXRpb246ICdib3R0b20nLFxuICBwYW5lbENsYXNzOiBbXSxcbiAgZGVmYXVsdEFjdGlvbjogJ0Nsb3NlJyxcbiAgaWNvbkVuYWJsZWQ6IHRydWUsXG4gIHRpdGxlRW5hYmxlZDogdHJ1ZSxcbn07XG5cbmV4cG9ydCBjb25zdCBTTkFDS0JBUl9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48U25hY2tiYXJDb25maWc+KCdhY29udHBsdXMtc25hY2tiYXItY29uZmlnJywge1xuICBwcm92aWRlZEluOiAncm9vdCcsXG4gIGZhY3Rvcnk6ICgpID0+IERFRkFVTFRfU05BQ0tCQVJfQ09ORklHLFxufSk7XG4iXX0=","import { Injectable, InjectionToken } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport const NOTIFICATION_CONFIG = new InjectionToken('NOTIFICATION_CONFIG');\nexport class NotificationProviderBase {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: NotificationProviderBase, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: NotificationProviderBase });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: NotificationProviderBase, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLXByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctbm90aWZpY2F0aW9ucy9zcmMvbGliL3Byb3ZpZGVycy9ub3RpZmljYXRpb24tcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUzNELE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLElBQUksY0FBYyxDQUNuRCxxQkFBcUIsQ0FDdEIsQ0FBQztBQWFGLE1BQU0sT0FBZ0Isd0JBQXdCO3VHQUF4Qix3QkFBd0I7MkdBQXhCLHdCQUF3Qjs7MkZBQXhCLHdCQUF3QjtrQkFEN0MsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBOb3RpZmljYXRpb25DYWxsUHJvcHMsXG4gIE5vdGlmaWNhdGlvblJlc3VsdCxcbiAgU3dlZXRBbGVydENvbmZpZyxcbiAgTm90aWZpY2F0aW9uUHJvdmlkZXIsXG59IGZyb20gJy4uL3R5cGVzL25vdGlmaWNhdGlvbi50eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBOT1RJRklDQVRJT05fQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPE5vdGlmaWNhdGlvblByb3ZpZGVyQ29uZmlnPihcbiAgJ05PVElGSUNBVElPTl9DT05GSUcnLFxuKTtcblxuZXhwb3J0IGludGVyZmFjZSBOb3RpZmljYXRpb25Qcm92aWRlckNvbmZpZyB7XG4gIGRlZmF1bHRQcm92aWRlcjogTm90aWZpY2F0aW9uUHJvdmlkZXI7XG4gIHRvYXN0cj86IHVua25vd247XG4gIHNuYWNrYmFyPzogdW5rbm93bjtcbiAgc3dlZXRhbGVydD86IHtcbiAgICBkZWZhdWx0VGhlbWU/OiAnYXV0bycgfCAnbWF0ZXJpYWwtdWknIHwgJ21hdGVyaWFsLXVpLWxpZ2h0JyB8ICdtYXRlcmlhbC11aS1kYXJrJyB8IHN0cmluZztcbiAgICBba2V5OiBzdHJpbmddOiB1bmtub3duO1xuICB9O1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTm90aWZpY2F0aW9uUHJvdmlkZXJCYXNlIHtcbiAgYWJzdHJhY3Qgc3VjY2Vzcyhwcm9wczogTm90aWZpY2F0aW9uQ2FsbFByb3BzKTogdm9pZCB8IE9ic2VydmFibGU8Tm90aWZpY2F0aW9uUmVzdWx0PjtcbiAgYWJzdHJhY3QgZXJyb3IocHJvcHM6IE5vdGlmaWNhdGlvbkNhbGxQcm9wcyk6IHZvaWQgfCBPYnNlcnZhYmxlPE5vdGlmaWNhdGlvblJlc3VsdD47XG4gIGFic3RyYWN0IHdhcm5pbmcocHJvcHM6IE5vdGlmaWNhdGlvbkNhbGxQcm9wcyk6IHZvaWQgfCBPYnNlcnZhYmxlPE5vdGlmaWNhdGlvblJlc3VsdD47XG4gIGFic3RyYWN0IGluZm8ocHJvcHM6IE5vdGlmaWNhdGlvbkNhbGxQcm9wcyk6IHZvaWQgfCBPYnNlcnZhYmxlPE5vdGlmaWNhdGlvblJlc3VsdD47XG4gIGFic3RyYWN0IGNvbmZpcm0oY29uZmlnOiBTd2VldEFsZXJ0Q29uZmlnKTogT2JzZXJ2YWJsZTxOb3RpZmljYXRpb25SZXN1bHQ+O1xufVxuIl19","import { Injectable, inject } from '@angular/core';\nimport { ToastrService } from 'ngx-toastr';\nimport { of } from 'rxjs';\nimport { NotificationProviderBase } from './notification-provider';\nimport { TOASTR_NOTIFICATION_CONFIG } from '../config/toastr-config';\nimport * as i0 from \"@angular/core\";\nexport class ToastrProvider extends NotificationProviderBase {\n toastrService = inject(ToastrService);\n config = inject(TOASTR_NOTIFICATION_CONFIG);\n /**\n * Generic show method for dynamic toast types\n */\n show(props) {\n const { type, message, title, options: overrideOptions } = props;\n const finalOptions = { ...this.config, ...overrideOptions };\n this.toastrService[type](message, title, finalOptions);\n }\n success(props) {\n this.show({\n type: 'success',\n message: props.message,\n title: props.title,\n options: props.config,\n });\n }\n error(props) {\n this.show({\n type: 'error',\n message: props.message,\n title: props.title,\n options: props.config,\n });\n }\n warning(props) {\n this.show({\n type: 'warning',\n message: props.message,\n title: props.title,\n options: props.config,\n });\n }\n info(props) {\n this.show({\n type: 'info',\n message: props.message,\n title: props.title,\n options: props.config,\n });\n }\n confirm(config) {\n const result = confirm(`${config.title || ''}\\n${config.message}`);\n return of({ isConfirmed: result });\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ToastrProvider, deps: null, target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ToastrProvider, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ToastrProvider, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3RyLXByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctbm90aWZpY2F0aW9ucy9zcmMvbGliL3Byb3ZpZGVycy90b2FzdHItcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFvQixhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDN0QsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFtQnJFLE1BQU0sT0FBTyxjQUFlLFNBQVEsd0JBQXdCO0lBQ3pDLGFBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdEMsTUFBTSxHQUFHLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBRTdEOztPQUVHO0lBQ0gsSUFBSSxDQUFDLEtBQXNCO1FBQ3pCLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLEdBQUcsS0FBSyxDQUFDO1FBQ2pFLE1BQU0sWUFBWSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsZUFBZSxFQUFFLENBQUM7UUFFNUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxPQUFPLENBQUMsS0FBNEI7UUFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUNSLElBQUksRUFBRSxTQUFTO1lBQ2YsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO1lBQ3RCLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztZQUNsQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQW1DO1NBQ25ELENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBNEI7UUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUNSLElBQUksRUFBRSxPQUFPO1lBQ2IsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO1lBQ3RCLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztZQUNsQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQW1DO1NBQ25ELENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBNEI7UUFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUNSLElBQUksRUFBRSxTQUFTO1lBQ2YsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO1lBQ3RCLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztZQUNsQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQW1DO1NBQ25ELENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLENBQUMsS0FBNEI7UUFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQztZQUNSLElBQUksRUFBRSxNQUFNO1lBQ1osT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO1lBQ3RCLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztZQUNsQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQW1DO1NBQ25ELENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxPQUFPLENBQUMsTUFBd0I7UUFDOUIsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssSUFBSSxFQUFFLEtBQUssTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDbkUsT0FBTyxFQUFFLENBQUMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNyQyxDQUFDO3VHQXJEVSxjQUFjOzJHQUFkLGNBQWMsY0FGYixNQUFNOzsyRkFFUCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW5kaXZpZHVhbENvbmZpZywgVG9hc3RyU2VydmljZSB9IGZyb20gJ25neC10b2FzdHInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvblByb3ZpZGVyQmFzZSB9IGZyb20gJy4vbm90aWZpY2F0aW9uLXByb3ZpZGVyJztcbmltcG9ydCB7IFRPQVNUUl9OT1RJRklDQVRJT05fQ09ORklHIH0gZnJvbSAnLi4vY29uZmlnL3RvYXN0ci1jb25maWcnO1xuaW1wb3J0IHtcbiAgTm90aWZpY2F0aW9uQ2FsbFByb3BzLFxuICBOb3RpZmljYXRpb25SZXN1bHQsXG4gIFN3ZWV0QWxlcnRDb25maWcsXG59IGZyb20gJy4uL3R5cGVzL25vdGlmaWNhdGlvbi50eXBlcyc7XG5cbmV4cG9ydCB0eXBlIFRvYXN0clR5cGUgPSAnc3VjY2VzcycgfCAnZXJyb3InIHwgJ3dhcm5pbmcnIHwgJ2luZm8nO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRvYXN0clNob3dQcm9wcyB7XG4gIHJlYWRvbmx5IHR5cGU6IFRvYXN0clR5cGU7XG4gIHJlYWRvbmx5IG1lc3NhZ2U6IHN0cmluZztcbiAgcmVhZG9ubHkgdGl0bGU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IG9wdGlvbnM/OiBQYXJ0aWFsPEluZGl2aWR1YWxDb25maWc+O1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVG9hc3RyUHJvdmlkZXIgZXh0ZW5kcyBOb3RpZmljYXRpb25Qcm92aWRlckJhc2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IHRvYXN0clNlcnZpY2UgPSBpbmplY3QoVG9hc3RyU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0KFRPQVNUUl9OT1RJRklDQVRJT05fQ09ORklHKTtcblxuICAvKipcbiAgICogR2VuZXJpYyBzaG93IG1ldGhvZCBmb3IgZHluYW1pYyB0b2FzdCB0eXBlc1xuICAgKi9cbiAgc2hvdyhwcm9wczogVG9hc3RyU2hvd1Byb3BzKTogdm9pZCB7XG4gICAgY29uc3QgeyB0eXBlLCBtZXNzYWdlLCB0aXRsZSwgb3B0aW9uczogb3ZlcnJpZGVPcHRpb25zIH0gPSBwcm9wcztcbiAgICBjb25zdCBmaW5hbE9wdGlvbnMgPSB7IC4uLnRoaXMuY29uZmlnLCAuLi5vdmVycmlkZU9wdGlvbnMgfTtcblxuICAgIHRoaXMudG9hc3RyU2VydmljZVt0eXBlXShtZXNzYWdlLCB0aXRsZSwgZmluYWxPcHRpb25zKTtcbiAgfVxuXG4gIHN1Y2Nlc3MocHJvcHM6IE5vdGlmaWNhdGlvbkNhbGxQcm9wcyk6IHZvaWQge1xuICAgIHRoaXMuc2hvdyh7XG4gICAgICB0eXBlOiAnc3VjY2VzcycsXG4gICAgICBtZXNzYWdlOiBwcm9wcy5tZXNzYWdlLFxuICAgICAgdGl0bGU6IHByb3BzLnRpdGxlLFxuICAgICAgb3B0aW9uczogcHJvcHMuY29uZmlnIGFzIFBhcnRpYWw8SW5kaXZpZHVhbENvbmZpZz4sXG4gICAgfSk7XG4gIH1cblxuICBlcnJvcihwcm9wczogTm90aWZpY2F0aW9uQ2FsbFByb3BzKTogdm9pZCB7XG4gICAgdGhpcy5zaG93KHtcbiAgICAgIHR5cGU6ICdlcnJvcicsXG4gICAgICBtZXNzYWdlOiBwcm9wcy5tZXNzYWdlLFxuICAgICAgdGl0bGU6IHByb3BzLnRpdGxlLFxuICAgICAgb3B0aW9uczogcHJvcHMuY29uZmlnIGFzIFBhcnRpYWw8SW5kaXZpZHVhbENvbmZpZz4sXG4gICAgfSk7XG4gIH1cblxuICB3YXJuaW5nKHByb3BzOiBOb3RpZmljYXRpb25DYWxsUHJvcHMpOiB2b2lkIHtcbiAgICB0aGlzLnNob3coe1xuICAgICAgdHlwZTogJ3dhcm5pbmcnLFxuICAgICAgbWVzc2FnZTogcHJvcHMubWVzc2FnZSxcbiAgICAgIHRpdGxlOiBwcm9wcy50aXRsZSxcbiAgICAgIG9wdGlvbnM6IHByb3BzLmNvbmZpZyBhcyBQYXJ0aWFsPEluZGl2aWR1YWxDb25maWc+LFxuICAgIH0pO1xuICB9XG5cbiAgaW5mbyhwcm9wczogTm90aWZpY2F0aW9uQ2FsbFByb3BzKTogdm9pZCB7XG4gICAgdGhpcy5zaG93KHtcbiAgICAgIHR5cGU6ICdpbmZvJyxcbiAgICAgIG1lc3NhZ2U6IHByb3BzLm1lc3NhZ2UsXG4gICAgICB0aXRsZTogcHJvcHMudGl0bGUsXG4gICAgICBvcHRpb25zOiBwcm9wcy5jb25maWcgYXMgUGFydGlhbDxJbmRpdmlkdWFsQ29uZmlnPixcbiAgICB9KTtcbiAgfVxuXG4gIGNvbmZpcm0oY29uZmlnOiBTd2VldEFsZXJ0Q29uZmlnKTogT2JzZXJ2YWJsZTxOb3RpZmljYXRpb25SZXN1bHQ+IHtcbiAgICBjb25zdCByZXN1bHQgPSBjb25maXJtKGAke2NvbmZpZy50aXRsZSB8fCAnJ31cXG4ke2NvbmZpZy5tZXNzYWdlfWApO1xuICAgIHJldHVybiBvZih7IGlzQ29uZmlybWVkOiByZXN1bHQgfSk7XG4gIH1cbn1cbiJdfQ==","import { inject, Injectable } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { of } from 'rxjs';\nimport { NotificationProviderBase } from './notification-provider';\nimport { SNACKBAR_CONFIG } from '../config/snackbar-config';\nimport * as i0 from \"@angular/core\";\nexport class SnackbarProvider extends NotificationProviderBase {\n snackBar = inject(MatSnackBar);\n config = inject(SNACKBAR_CONFIG);\n /**\n * Display a snackbar with specific type and configuration\n */\n show(props) {\n const { type, message, title, action = this.config.defaultAction, config: userConfig = {}, } = props;\n const typeClass = `acontplus-snackbar-${type}`;\n const panelClasses = this.buildPanelClasses(typeClass, userConfig.panelClass);\n const finalConfig = {\n ...this.config,\n ...userConfig,\n panelClass: panelClasses,\n };\n const displayMessage = this.buildMessage(message, title);\n this.snackBar.open(displayMessage, action, finalConfig);\n }\n success(props) {\n this.show({\n type: 'success',\n message: props.message,\n title: props.title,\n config: props.config,\n });\n }\n error(props) {\n this.show({\n type: 'error',\n message: props.message,\n title: props.title,\n config: props.config,\n });\n }\n warning(props) {\n this.show({\n type: 'warning',\n message: props.message,\n title: props.title,\n config: props.config,\n });\n }\n info(props) {\n this.show({\n type: 'info',\n message: props.message,\n title: props.title,\n config: props.config,\n });\n }\n confirm(config) {\n const result = confirm(`${config.title || ''}\\n${config.message}`);\n return of({ isConfirmed: result });\n }\n buildPanelClasses(typeClass, userClasses) {\n const classes = ['acontplus-snackbar', typeClass];\n if (userClasses) {\n const normalizedClasses = Array.isArray(userClasses) ? userClasses : [userClasses];\n classes.push(...normalizedClasses);\n }\n return classes;\n }\n buildMessage(message, title) {\n if (!this.config.titleEnabled || !title) {\n return message;\n }\n return `${title}: ${message}`;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: SnackbarProvider, deps: null, target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: SnackbarProvider, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: SnackbarProvider, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXItcHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy1ub3RpZmljYXRpb25zL3NyYy9saWIvcHJvdmlkZXJzL3NuYWNrYmFyLXByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQWtCLE1BQU0sMkJBQTJCLENBQUM7O0FBVzVFLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSx3QkFBd0I7SUFDM0MsUUFBUSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMvQixNQUFNLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBRWxEOztPQUVHO0lBQ0gsSUFBSSxDQUFDLEtBQW9CO1FBQ3ZCLE1BQU0sRUFDSixJQUFJLEVBQ0osT0FBTyxFQUNQLEtBQUssRUFDTCxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQ2xDLE1BQU0sRUFBRSxVQUFVLEdBQUcsRUFBRSxHQUN4QixHQUFHLEtBQUssQ0FBQztRQUVWLE1BQU0sU0FBUyxHQUFHLHNCQUFzQixJQUFJLEVBQUUsQ0FBQztRQUMvQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUU5RSxNQUFNLFdBQVcsR0FBRztZQUNsQixHQUFHLElBQUksQ0FBQyxNQUFNO1lBQ2QsR0FBRyxVQUFVO1lBQ2IsVUFBVSxFQUFFLFlBQVk7U0FDekIsQ0FBQztRQUVGLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUE0QjtRQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ1IsSUFBSSxFQUFFLFNBQVM7WUFDZixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87WUFDdEIsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO1lBQ2xCLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBaUM7U0FDaEQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUE0QjtRQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ1IsSUFBSSxFQUFFLE9BQU87WUFDYixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87WUFDdEIsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO1lBQ2xCLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBaUM7U0FDaEQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUE0QjtRQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ1IsSUFBSSxFQUFFLFNBQVM7WUFDZixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87WUFDdEIsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO1lBQ2xCLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBaUM7U0FDaEQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksQ0FBQyxLQUE0QjtRQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ1IsSUFBSSxFQUFFLE1BQU07WUFDWixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87WUFDdEIsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO1lBQ2xCLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBaUM7U0FDaEQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sQ0FBQyxNQUF3QjtRQUM5QixNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsR0FBRyxNQUFNLENBQUMsS0FBSyxJQUFJLEVBQUUsS0FBSyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNuRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxTQUFpQixFQUFFLFdBQStCO1FBQzFFLE1BQU0sT0FBTyxHQUFHLENBQUMsb0JBQW9CLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFFbEQsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNoQixNQUFNLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNuRixPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsaUJBQWlCLENBQUMsQ0FBQztRQUNyQyxDQUFDO1FBRUQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVPLFlBQVksQ0FBQyxPQUFlLEVBQUUsS0FBYztRQUNsRCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN4QyxPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDO1FBQ0QsT0FBTyxHQUFHLEtBQUssS0FBSyxPQUFPLEVBQUUsQ0FBQztJQUNoQyxDQUFDO3VHQXRGVSxnQkFBZ0I7MkdBQWhCLGdCQUFnQixjQUZmLE1BQU07OzJGQUVQLGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25Qcm92aWRlckJhc2UgfSBmcm9tICcuL25vdGlmaWNhdGlvbi1wcm92aWRlcic7XG5pbXBvcnQgeyBTTkFDS0JBUl9DT05GSUcsIFNuYWNrYmFyQ29uZmlnIH0gZnJvbSAnLi4vY29uZmlnL3NuYWNrYmFyLWNvbmZpZyc7XG5pbXBvcnQge1xuICBOb3RpZmljYXRpb25DYWxsUHJvcHMsXG4gIE5vdGlmaWNhdGlvblJlc3VsdCxcbiAgU3dlZXRBbGVydENvbmZpZyxcbn0gZnJvbSAnLi4vdHlwZXMvbm90aWZpY2F0aW9uLnR5cGVzJztcbmltcG9ydCB7IFNuYWNrYmFyUHJvcHMgfSBmcm9tICcuLi9tb2RlbHMvbm90aWZpY2F0aW9uJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNuYWNrYmFyUHJvdmlkZXIgZXh0ZW5kcyBOb3RpZmljYXRpb25Qcm92aWRlckJhc2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IHNuYWNrQmFyID0gaW5qZWN0KE1hdFNuYWNrQmFyKTtcbiAgcHJpdmF0ZSByZWFkb25seSBjb25maWcgPSBpbmplY3QoU05BQ0tCQVJfQ09ORklHKTtcblxuICAvKipcbiAgICogRGlzcGxheSBhIHNuYWNrYmFyIHdpdGggc3BlY2lmaWMgdHlwZSBhbmQgY29uZmlndXJhdGlvblxuICAgKi9cbiAgc2hvdyhwcm9wczogU25hY2tiYXJQcm9wcyk6IHZvaWQge1xuICAgIGNvbnN0IHtcbiAgICAgIHR5cGUsXG4gICAgICBtZXNzYWdlLFxuICAgICAgdGl0bGUsXG4gICAgICBhY3Rpb24gPSB0aGlzLmNvbmZpZy5kZWZhdWx0QWN0aW9uLFxuICAgICAgY29uZmlnOiB1c2VyQ29uZmlnID0ge30sXG4gICAgfSA9IHByb3BzO1xuXG4gICAgY29uc3QgdHlwZUNsYXNzID0gYGFjb250cGx1cy1zbmFja2Jhci0ke3R5cGV9YDtcbiAgICBjb25zdCBwYW5lbENsYXNzZXMgPSB0aGlzLmJ1aWxkUGFuZWxDbGFzc2VzKHR5cGVDbGFzcywgdXNlckNvbmZpZy5wYW5lbENsYXNzKTtcblxuICAgIGNvbnN0IGZpbmFsQ29uZmlnID0ge1xuICAgICAgLi4udGhpcy5jb25maWcsXG4gICAgICAuLi51c2VyQ29uZmlnLFxuICAgICAgcGFuZWxDbGFzczogcGFuZWxDbGFzc2VzLFxuICAgIH07XG5cbiAgICBjb25zdCBkaXNwbGF5TWVzc2FnZSA9IHRoaXMuYnVpbGRNZXNzYWdlKG1lc3NhZ2UsIHRpdGxlKTtcbiAgICB0aGlzLnNuYWNrQmFyLm9wZW4oZGlzcGxheU1lc3NhZ2UsIGFjdGlvbiwgZmluYWxDb25maWcpO1xuICB9XG5cbiAgc3VjY2Vzcyhwcm9wczogTm90aWZpY2F0aW9uQ2FsbFByb3BzKTogdm9pZCB7XG4gICAgdGhpcy5zaG93KHtcbiAgICAgIHR5cGU6ICdzdWNjZXNzJyxcbiAgICAgIG1lc3NhZ2U6IHByb3BzLm1lc3NhZ2UsXG4gICAgICB0aXRsZTogcHJvcHMudGl0bGUsXG4gICAgICBjb25maWc6IHByb3BzLmNvbmZpZyBhcyBQYXJ0aWFsPFNuYWNrYmFyQ29uZmlnPixcbiAgICB9KTtcbiAgfVxuXG4gIGVycm9yKHByb3BzOiBOb3RpZmljYXRpb25DYWxsUHJvcHMpOiB2b2lkIHtcbiAgICB0aGlzLnNob3coe1xuICAgICAgdHlwZTogJ2Vycm9yJyxcbiAgICAgIG1lc3NhZ2U6IHByb3BzLm1lc3NhZ2UsXG4gICAgICB0aXRsZTogcHJvcHMudGl0bGUsXG4gICAgICBjb25maWc6IHByb3BzLmNvbmZpZyBhcyBQYXJ0aWFsPFNuYWNrYmFyQ29uZmlnPixcbiAgICB9KTtcbiAgfVxuXG4gIHdhcm5pbmcocHJvcHM6IE5vdGlmaWNhdGlvbkNhbGxQcm9wcyk6IHZvaWQge1xuICAgIHRoaXMuc2hvdyh7XG4gICAgICB0eXBlOiAnd2FybmluZycsXG4gICAgICBtZXNzYWdlOiBwcm9wcy5tZXNzYWdlLFxuICAgICAgdGl0bGU6IHByb3BzLnRpdGxlLFxuICAgICAgY29uZmlnOiBwcm9wcy5jb25maWcgYXMgUGFydGlhbDxTbmFja2JhckNvbmZpZz4sXG4gICAgfSk7XG4gIH1cblxuICBpbmZvKHByb3BzOiBOb3RpZmljYXRpb25DYWxsUHJvcHMpOiB2b2lkIHtcbiAgICB0aGlzLnNob3coe1xuICAgICAgdHlwZTogJ2luZm8nLFxuICAgICAgbWVzc2FnZTogcHJvcHMubWVzc2FnZSxcbiAgICAgIHRpdGxlOiBwcm9wcy50aXRsZSxcbiAgICAgIGNvbmZpZzogcHJvcHMuY29uZmlnIGFzIFBhcnRpYWw8U25hY2tiYXJDb25maWc+LFxuICAgIH0pO1xuICB9XG5cbiAgY29uZmlybShjb25maWc6IFN3ZWV0QWxlcnRDb25maWcpOiBPYnNlcnZhYmxlPE5vdGlmaWNhdGlvblJlc3VsdD4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IGNvbmZpcm0oYCR7Y29uZmlnLnRpdGxlIHx8ICcnfVxcbiR7Y29uZmlnLm1lc3NhZ2V9YCk7XG4gICAgcmV0dXJuIG9mKHsgaXNDb25maXJtZWQ6IHJlc3VsdCB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRQYW5lbENsYXNzZXModHlwZUNsYXNzOiBzdHJpbmcsIHVzZXJDbGFzc2VzPzogc3RyaW5nIHwgc3RyaW5nW10pOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgY2xhc3NlcyA9IFsnYWNvbnRwbHVzLXNuYWNrYmFyJywgdHlwZUNsYXNzXTtcblxuICAgIGlmICh1c2VyQ2xhc3Nlcykge1xuICAgICAgY29uc3Qgbm9ybWFsaXplZENsYXNzZXMgPSBBcnJheS5pc0FycmF5KHVzZXJDbGFzc2VzKSA/IHVzZXJDbGFzc2VzIDogW3VzZXJDbGFzc2VzXTtcbiAgICAgIGNsYXNzZXMucHVzaCguLi5ub3JtYWxpemVkQ2xhc3Nlcyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNsYXNzZXM7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkTWVzc2FnZShtZXNzYWdlOiBzdHJpbmcsIHRpdGxlPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuY29uZmlnLnRpdGxlRW5hYmxlZCB8fCAhdGl0bGUpIHtcbiAgICAgIHJldHVybiBtZXNzYWdlO1xuICAgIH1cbiAgICByZXR1cm4gYCR7dGl0bGV9OiAke21lc3NhZ2V9YDtcbiAgfVxufVxuIl19","import { Injectable, PLATFORM_ID, inject } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\nimport { BehaviorSubject } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nexport class ThemeDetector {\n themeSubject = new BehaviorSubject('material-ui-light');\n platformId = inject(PLATFORM_ID);\n theme$ = this.themeSubject.asObservable();\n constructor() {\n if (isPlatformBrowser(this.platformId)) {\n this.detectTheme();\n this.watchThemeChanges();\n }\n }\n detectTheme() {\n if (!isPlatformBrowser(this.platformId))\n return;\n const isDark = document.body.classList.contains('dark-theme') ||\n document.documentElement.classList.contains('dark-theme');\n this.themeSubject.next(isDark ? 'material-ui-dark' : 'material-ui-light');\n }\n watchThemeChanges() {\n if (!isPlatformBrowser(this.platformId))\n return;\n const observer = new MutationObserver(() => this.detectTheme());\n observer.observe(document.body, { attributes: true, attributeFilter: ['class'] });\n observer.observe(document.documentElement, { attributes: true, attributeFilter: ['class'] });\n }\n getCurrentTheme() {\n return this.themeSubject.value;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ThemeDetector, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ThemeDetector, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: ThemeDetector, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtZGV0ZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy1ub3RpZmljYXRpb25zL3NyYy9saWIvc2VydmljZXMvdGhlbWUtZGV0ZWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBS3ZDLE1BQU0sT0FBTyxhQUFhO0lBQ2hCLFlBQVksR0FBRyxJQUFJLGVBQWUsQ0FBUyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3ZELFVBQVUsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDM0MsTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFakQ7UUFDRSxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUMzQixDQUFDO0lBQ0gsQ0FBQztJQUVPLFdBQVc7UUFDakIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7WUFBRSxPQUFPO1FBRWhELE1BQU0sTUFBTSxHQUNWLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUM7WUFDOUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVPLGlCQUFpQjtRQUN2QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUFFLE9BQU87UUFFaEQsTUFBTSxRQUFRLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUNoRSxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNsRixRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxlQUFlLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMvRixDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUM7SUFDakMsQ0FBQzt1R0EvQlUsYUFBYTsyR0FBYixhQUFhLGNBRlosTUFBTTs7MkZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBQTEFURk9STV9JRCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFRoZW1lRGV0ZWN0b3Ige1xuICBwcml2YXRlIHRoZW1lU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignbWF0ZXJpYWwtdWktbGlnaHQnKTtcbiAgcHJpdmF0ZSByZWFkb25seSBwbGF0Zm9ybUlkID0gaW5qZWN0KFBMQVRGT1JNX0lEKTtcbiAgcHVibGljIHRoZW1lJCA9IHRoaXMudGhlbWVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICB0aGlzLmRldGVjdFRoZW1lKCk7XG4gICAgICB0aGlzLndhdGNoVGhlbWVDaGFuZ2VzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBkZXRlY3RUaGVtZSgpOiB2b2lkIHtcbiAgICBpZiAoIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHJldHVybjtcblxuICAgIGNvbnN0IGlzRGFyayA9XG4gICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5jb250YWlucygnZGFyay10aGVtZScpIHx8XG4gICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdkYXJrLXRoZW1lJyk7XG4gICAgdGhpcy50aGVtZVN1YmplY3QubmV4dChpc0RhcmsgPyAnbWF0ZXJpYWwtdWktZGFyaycgOiAnbWF0ZXJpYWwtdWktbGlnaHQnKTtcbiAgfVxuXG4gIHByaXZhdGUgd2F0Y2hUaGVtZUNoYW5nZXMoKTogdm9pZCB7XG4gICAgaWYgKCFpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSByZXR1cm47XG5cbiAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKCgpID0+IHRoaXMuZGV0ZWN0VGhlbWUoKSk7XG4gICAgb2JzZXJ2ZXIub2JzZXJ2ZShkb2N1bWVudC5ib2R5LCB7IGF0dHJpYnV0ZXM6IHRydWUsIGF0dHJpYnV0ZUZpbHRlcjogWydjbGFzcyddIH0pO1xuICAgIG9ic2VydmVyLm9ic2VydmUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LCB7IGF0dHJpYnV0ZXM6IHRydWUsIGF0dHJpYnV0ZUZpbHRlcjogWydjbGFzcyddIH0pO1xuICB9XG5cbiAgZ2V0Q3VycmVudFRoZW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudGhlbWVTdWJqZWN0LnZhbHVlO1xuICB9XG59XG4iXX0=","import { Injectable, inject } from '@angular/core';\nimport { from } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport Swal from 'sweetalert2';\nimport { NotificationProviderBase, NOTIFICATION_CONFIG, } from './notification-provider';\nimport { ThemeDetector } from '../services/theme-detector';\nimport * as i0 from \"@angular/core\";\nexport class SweetalertProvider extends NotificationProviderBase {\n config = inject(NOTIFICATION_CONFIG);\n themeDetector = inject(ThemeDetector);\n getTheme() {\n const configTheme = this.config.sweetalert?.defaultTheme;\n // Default to 'auto' if no theme specified\n if (!configTheme || configTheme === 'auto') {\n // Auto-detect theme based on CSS classes\n const isDark = document?.body?.classList?.contains('dark-theme') ||\n document?.documentElement?.classList?.contains('dark-theme');\n return isDark ? 'material-ui-dark' : 'material-ui-light';\n }\n return configTheme;\n }\n success(props) {\n return this.showAlert({ ...props, type: 'success' });\n }\n error(props) {\n return this.showAlert({ ...props, type: 'error' });\n }\n warning(props) {\n return this.showAlert({ ...props, type: 'warning' });\n }\n info(props) {\n return this.showAlert({ ...props, type: 'info' });\n }\n confirm(config) {\n const swalConfig = {\n title: config.title,\n text: config.message,\n html: config.html,\n icon: 'question',\n showCancelButton: config.showCancelButton !== false,\n confirmButtonText: config.confirmButtonText || 'Confirm',\n cancelButtonText: config.cancelButtonText || 'Cancel',\n allowOutsideClick: config.allowOutsideClick !== false,\n customClass: config.customClass ? { container: config.customClass } : undefined,\n theme: this.getTheme(),\n };\n return from(Swal.fire(swalConfig)).pipe(map(result => ({\n isConfirmed: result.isConfirmed,\n isDenied: result.isDenied,\n isDismissed: result.isDismissed,\n value: result.value,\n })));\n }\n showAlert(props) {\n const configOptions = props.config;\n const { duration, ...otherConfig } = configOptions || {};\n const swalConfig = {\n title: props.title,\n text: props.message,\n icon: props.type,\n theme: this.getTheme(),\n ...(duration ? { timer: duration, timerProgressBar: true } : {}),\n ...otherConfig,\n };\n return from(Swal.fire(swalConfig)).pipe(map(result => ({\n isConfirmed: result.isConfirmed,\n isDenied: result.isDenied,\n isDismissed: result.isDismissed,\n value: result.value,\n })));\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: SweetalertProvider, deps: null, target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: SweetalertProvider, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: SweetalertProvider, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dlZXRhbGVydC1wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nLW5vdGlmaWNhdGlvbnMvc3JjL2xpYi9wcm92aWRlcnMvc3dlZXRhbGVydC1wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWMsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7QUFDL0IsT0FBTyxFQUNMLHdCQUF3QixFQUV4QixtQkFBbUIsR0FDcEIsTUFBTSx5QkFBeUIsQ0FBQztBQU9qQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBSzNELE1BQU0sT0FBTyxrQkFBbUIsU0FBUSx3QkFBd0I7SUFDdEQsTUFBTSxHQUFHLE1BQU0sQ0FBNkIsbUJBQW1CLENBQUMsQ0FBQztJQUNqRSxhQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBRXRDLFFBQVE7UUFDZCxNQUFNLFdBQVcsR0FBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQWtCLEVBQUUsWUFBWSxDQUFDO1FBRWxFLDBDQUEwQztRQUMxQyxJQUFJLENBQUMsV0FBVyxJQUFJLFdBQVcsS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUMzQyx5Q0FBeUM7WUFDekMsTUFBTSxNQUFNLEdBQ1YsUUFBUSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsUUFBUSxDQUFDLFlBQVksQ0FBQztnQkFDakQsUUFBUSxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQy9ELE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFD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TUFBTSxDQUFDLFdBQVc7WUFDL0IsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRO1lBQ3pCLFdBQVcsRUFBRSxNQUFNLENBQUMsV0FBVztZQUMvQixLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUs7U0FDcEIsQ0FBQyxDQUFDLENBQ0osQ0FBQztJQUNKLENBQUM7dUdBaEZVLGtCQUFrQjsyR0FBbEIsa0JBQWtCLGNBRmpCLE1BQU07OzJGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCBTd2FsIGZyb20gJ3N3ZWV0YWxlcnQyJztcbmltcG9ydCB7XG4gIE5vdGlmaWNhdGlvblByb3ZpZGVyQmFzZSxcbiAgTm90aWZpY2F0aW9uUHJvdmlkZXJDb25maWcsXG4gIE5PVElGSUNBVElPTl9DT05GSUcsXG59IGZyb20gJy4vbm90aWZpY2F0aW9uLXByb3ZpZGVyJztcbmltcG9ydCB7XG4gIE5vdGlmaWNhdGlvbkNhbGxQcm9wcyxcbiAgTm90aWZpY2F0aW9uUmVzdWx0LFxuICBOb3RpZmljYXRpb25UeXBlLFxuICBTd2VldEFsZXJ0Q29uZmlnLFxufSBmcm9tICcuLi90eXBlcy9ub3RpZmljYXRpb24udHlwZXMnO1xuaW1wb3J0IHsgVGhlbWVEZXRlY3RvciB9IGZyb20gJy4uL3NlcnZpY2VzL3RoZW1lLWRldGVjdG9yJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFN3ZWV0YWxlcnRQcm92aWRlciBleHRlbmRzIE5vdGlmaWNhdGlvblByb3ZpZGVyQmFzZSB7XG4gIHByaXZhdGUgY29uZmlnID0gaW5qZWN0PE5vdGlmaWNhdGlvblByb3ZpZGVyQ29uZmlnPihOT1RJRklDQVRJT05fQ09ORklHKTtcbiAgcHJpdmF0ZSB0aGVtZURldGVjdG9yID0gaW5qZWN0KFRoZW1lRGV0ZWN0b3IpO1xuXG4gIHByaXZhdGUgZ2V0VGhlbWUoKTogc3RyaW5nIHtcbiAgICBjb25zdCBjb25maWdUaGVtZSA9ICh0aGlzLmNvbmZpZy5zd2VldGFsZXJ0IGFzIGFueSk/LmRlZmF1bHRUaGVtZTtcblxuICAgIC8vIERlZmF1bHQgdG8gJ2F1dG8nIGlmIG5vIHRoZW1lIHNwZWNpZmllZFxuICAgIGlmICghY29uZmlnVGhlbWUgfHwgY29uZmlnVGhlbWUgPT09ICdhdXRvJykge1xuICAgICAgLy8gQXV0by1kZXRlY3QgdGhlbWUgYmFzZWQgb24gQ1NTIGNsYXNzZXNcbiAgICAgIGNvbnN0IGlzRGFyayA9XG4gICAgICAgIGRvY3VtZW50Py5ib2R5Py5jbGFzc0xpc3Q/LmNvbnRhaW5zKCdkYXJrLXRoZW1lJykgfHxcbiAgICAgICAgZG9jdW1lbnQ/LmRvY3VtZW50RWxlbWVudD8uY2xhc3NMaXN0Py5jb250YWlucygnZGFyay10aGVtZScpO1xuICAgICAgcmV0dXJuIGlzRGFyayA/ICdtYXRlcmlhbC11aS1kYXJrJyA6ICdtYXRlcmlhbC11aS1saWdodCc7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbmZpZ1RoZW1lO1xuICB9XG4gIHN1Y2Nlc3MocHJvcHM6IE5vdGlmaWNhdGlvbkNhbGxQcm9wcyk6IE9ic2VydmFibGU8Tm90aWZpY2F0aW9uUmVzdWx0PiB7XG4gICAgcmV0dXJuIHRoaXMuc2hvd0FsZXJ0KHsgLi4ucHJvcHMsIHR5cGU6ICdzdWNjZXNzJyB9KTtcbiAgfVxuXG4gIGVycm9yKHByb3BzOiBOb3RpZmljYXRpb25DYWxsUHJvcHMpOiBPYnNlcnZhYmxlPE5vdGlmaWNhdGlvblJlc3VsdD4ge1xuICAgIHJldHVybiB0aGlzLnNob3dBbGVydCh7IC4uLnByb3BzLCB0eXBlOiAnZXJyb3InIH0pO1xuICB9XG5cbiAgd2FybmluZyhwcm9wczogTm90aWZpY2F0aW9uQ2FsbFByb3BzKTogT2JzZXJ2YWJsZTxOb3RpZmljYXRpb25SZXN1bHQ+IHtcbiAgICByZXR1cm4gdGhpcy5zaG93QWxlcnQoeyAuLi5wcm9wcywgdHlwZTogJ3dhcm5pbmcnIH0pO1xuICB9XG5cbiAgaW5mbyhwcm9wczogTm90aWZpY2F0aW9uQ2FsbFByb3BzKTogT2JzZXJ2YWJsZTxOb3RpZmljYXRpb25SZXN1bHQ+IHtcbiAgICByZXR1cm4gdGhpcy5zaG93QWxlcnQoeyAuLi5wcm9wcywgdHlwZTogJ2luZm8nIH0pO1xuICB9XG5cbiAgY29uZmlybShjb25maWc6IFN3ZWV0QWxlcnRDb25maWcpOiBPYnNlcnZhYmxlPE5vdGlmaWNhdGlvblJlc3VsdD4ge1xuICAgIGNvbnN0IHN3YWxDb25maWcgPSB7XG4gICAgICB0aXRsZTogY29uZmlnLnRpdGxlLFxuICAgICAgdGV4dDogY29uZmlnLm1lc3NhZ2UsXG4gICAgICBodG1sOiBjb25maWcuaHRtbCxcbiAgICAgIGljb246ICdxdWVzdGlvbicgYXMgY29uc3QsXG4gICAgICBzaG93Q2FuY2VsQnV0dG9uOiBjb25maWcuc2hvd0NhbmNlbEJ1dHRvbiAhPT0gZmFsc2UsXG4gICAgICBjb25maXJtQnV0dG9uVGV4dDogY29uZmlnLmNvbmZpcm1CdXR0b25UZXh0IHx8ICdDb25maXJtJyxcbiAgICAgIGNhbmNlbEJ1dHRvblRleHQ6IGNvbmZpZy5jYW5jZWxCdXR0b25UZXh0IHx8ICdDYW5jZWwnLFxuICAgICAgYWxsb3dPdXRzaWRlQ2xpY2s6IGNvbmZpZy5hbGxvd091dHNpZGVDbGljayAhPT0gZmFsc2UsXG4gICAgICBjdXN0b21DbGFzczogY29uZmlnLmN1c3RvbUNsYXNzID8geyBjb250YWluZXI6IGNvbmZpZy5jdXN0b21DbGFzcyB9IDogdW5kZWZpbmVkLFxuICAgICAgdGhlbWU6IHRoaXMuZ2V0VGhlbWUoKSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGZyb20oU3dhbC5maXJlKHN3YWxDb25maWcgYXMgYW55KSkucGlwZShcbiAgICAgIG1hcChyZXN1bHQgPT4gKHtcbiAgICAgICAgaXNDb25maXJtZWQ6IHJlc3VsdC5pc0NvbmZpcm1lZCxcbiAgICAgICAgaXNEZW5pZWQ6IHJlc3VsdC5pc0RlbmllZCxcbiAgICAgICAgaXNEaXNtaXNzZWQ6IHJlc3VsdC5pc0Rpc21pc3NlZCxcbiAgICAgICAgdmFsdWU6IHJlc3VsdC52YWx1ZSxcbiAgICAgIH0pKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBzaG93QWxlcnQoXG4gICAgcHJvcHM6IE5vdGlmaWNhdGlvbkNhbGxQcm9wcyAmIHsgdHlwZTogTm90aWZpY2F0aW9uVHlwZSB9LFxuICApOiBPYnNlcnZhYmxlPE5vdGlmaWNhdGlvblJlc3VsdD4ge1xuICAgIGNvbnN0IGNvbmZpZ09wdGlvbnMgPSBwcm9wcy5jb25maWcgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCB1bmRlZmluZWQ7XG4gICAgY29uc3QgeyBkdXJhdGlvbiwgLi4ub3RoZXJDb25maWcgfSA9IGNvbmZpZ09wdGlvbnMgfHwge307XG4gICAgY29uc3Qgc3dhbENvbmZpZyA9IHtcbiAgICAgIHRpdGxlOiBwcm9wcy50aXRsZSxcbiAgICAgIHRleHQ6IHByb3BzLm1lc3NhZ2UsXG4gICAgICBpY29uOiBwcm9wcy50eXBlIGFzICdzdWNjZXNzJyB8ICdlcnJvcicgfCAnd2FybmluZycgfCAnaW5mbycsXG4gICAgICB0aGVtZTogdGhpcy5nZXRUaGVtZSgpLFxuICAgICAgLi4uKGR1cmF0aW9uID8geyB0aW1lcjogZHVyYXRpb24gYXMgbnVtYmVyLCB0aW1lclByb2dyZXNzQmFyOiB0cnVlIH0gOiB7fSksXG4gICAgICAuLi5vdGhlckNvbmZpZyxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGZyb20oU3dhbC5maXJlKHN3YWxDb25maWcgYXMgYW55KSkucGlwZShcbiAgICAgIG1hcChyZXN1bHQgPT4gKHtcbiAgICAgICAgaXNDb25maXJtZWQ6IHJlc3VsdC5pc0NvbmZpcm1lZCxcbiAgICAgICAgaXNEZW5pZWQ6IHJlc3VsdC5pc0RlbmllZCxcbiAgICAgICAgaXNEaXNtaXNzZWQ6IHJlc3VsdC5pc0Rpc21pc3NlZCxcbiAgICAgICAgdmFsdWU6IHJlc3VsdC52YWx1ZSxcbiAgICAgIH0pKSxcbiAgICApO1xuICB9XG59XG4iXX0=","import { Injectable, inject } from '@angular/core';\nimport { NOTIFICATION_CONFIG, } from '../providers/notification-provider';\nimport { ToastrProvider } from '../providers/toastr-provider';\nimport { SnackbarProvider } from '../providers/snackbar-provider';\nimport { SweetalertProvider } from '../providers/sweetalert-provider';\nimport { NOTIFICATION_MESSAGES } from '../constants/notification.constants';\nimport * as i0 from \"@angular/core\";\nexport class NotificationService {\n config = inject(NOTIFICATION_CONFIG);\n toastrProvider = inject(ToastrProvider);\n snackbarProvider = inject(SnackbarProvider);\n sweetAlertProvider = inject(SweetalertProvider);\n providers = new Map();\n currentProvider;\n // Expose predefined messages\n messages = NOTIFICATION_MESSAGES;\n constructor() {\n this.providers.set('toastr', this.toastrProvider);\n this.providers.set('snackbar', this.snackbarProvider);\n this.providers.set('sweetalert', this.sweetAlertProvider);\n this.currentProvider =\n this.providers.get(this.config.defaultProvider) || this.sweetAlertProvider;\n }\n setProvider(provider) {\n const providerInstance = this.providers.get(provider);\n if (providerInstance) {\n this.currentProvider = providerInstance;\n }\n }\n success(props) {\n return this.currentProvider.success(props);\n }\n error(props) {\n return this.currentProvider.error(props);\n }\n warning(props) {\n return this.currentProvider.warning(props);\n }\n info(props) {\n return this.currentProvider.info(props);\n }\n confirm(config) {\n return this.currentProvider.confirm(config);\n }\n show(props) {\n return this.currentProvider[props.type]({\n message: props.message,\n title: props.title,\n config: props.config,\n });\n }\n // Provider-specific methods maintaining your current API\n get toastr() {\n return this.providers.get('toastr');\n }\n get snackbar() {\n return this.providers.get('snackbar');\n }\n get sweetAlert() {\n return this.providers.get('sweetalert');\n }\n // Quick methods using predefined messages\n quickSave(type = 'success') {\n const message = type === 'success' ? this.messages.SUCCESS.SAVE : this.messages.ERROR.SAVE;\n this.currentProvider[type]({ message });\n }\n quickDelete(type = 'success') {\n const message = type === 'success' ? this.messages.SUCCESS.DELETE : this.messages.ERROR.DELETE;\n this.currentProvider[type]({ message });\n }\n quickUpdate(type = 'success') {\n const message = type === 'success' ? this.messages.SUCCESS.UPDATE : this.messages.ERROR.UPDATE;\n this.currentProvider[type]({ message });\n }\n networkError() {\n this.currentProvider.error({\n message: this.messages.ERROR.NETWORK,\n title: 'Connection Error',\n });\n }\n sessionWarning() {\n this.currentProvider.warning({\n message: this.messages.WARNING.SESSION_EXPIRING,\n title: 'Session Alert',\n });\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: NotificationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: NotificationService, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: NotificationService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLXNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy1ub3RpZmljYXRpb25zL3NyYy9saWIvc2VydmljZXMvbm90aWZpY2F0aW9uLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUVMLG1CQUFtQixHQUVwQixNQUFNLG9DQUFvQyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQVF0RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7QUFLNUUsTUFBTSxPQUFPLG1CQUFtQjtJQUN0QixNQUFNLEdBQUcsTUFBTSxDQUE2QixtQkFBbUIsQ0FBQyxDQUFDO0lBQ2pFLGNBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDNUMsa0JBQWtCLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFFaEQsU0FBUyxHQUFHLElBQUksR0FBRyxFQUFrRCxDQUFDO0lBQ3RFLGVBQWUsQ0FBMkI7SUFFbEQsNkJBQTZCO0lBQ3BCLFFBQVEsR0FBRyxxQkFBcUIsQ0FBQztJQUUxQztRQUNFLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFD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L0MsTUFBTSxPQUFPLEdBQUcsSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDL0YsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQztZQUN6QixPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsT0FBTztZQUNwQyxLQUFLLEVBQUUsa0JBQWtCO1NBQzFCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUM7WUFDM0IsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLGdCQUFnQjtZQUMvQyxLQUFLLEVBQUUsZUFBZTtTQUN2QixDQUFDLENBQUM7SUFDTCxDQUFDO3VHQW5HVSxtQkFBbUI7MkdBQW5CLG1CQUFtQixjQUZsQixNQUFNOzsyRkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBOb3RpZmljYXRpb25Qcm92aWRlckJhc2UsXG4gIE5PVElGSUNBVElPTl9DT05GSUcsXG4gIE5vdGlmaWNhdGlvblByb3ZpZGVyQ29uZmlnLFxufSBmcm9tICcuLi9wcm92aWRlcnMvbm90aWZpY2F0aW9uLXByb3ZpZGVyJztcbmltcG9ydCB7IFRvYXN0clByb3ZpZGVyIH0gZnJvbSAnLi4vcHJvdmlkZXJzL3RvYXN0ci1wcm92aWRlcic7XG5pbXBvcnQgeyBTbmFja2JhclByb3ZpZGVyIH0gZnJvbSAnLi4vcHJvdmlkZXJzL3NuYWNrYmFyLXByb3ZpZGVyJztcbmltcG9ydCB7IFN3ZWV0YWxlcnRQcm92aWRlciB9IGZyb20gJy4uL3Byb3ZpZGVycy9zd2VldGFsZXJ0LXByb3ZpZGVyJztcbmltcG9ydCB7XG4gIE5vdGlmaWNhdGlvbkNhbGxQcm9wcyxcbiAgTm90aWZpY2F0aW9uUmVzdWx0LFxuICBTd2VldEFsZXJ0Q29uZmlnLFxuICBOb3RpZmljYXRpb25Qcm92aWRlcixcbiAgTm90aWZpY2F0aW9uVHlwZSxcbn0gZnJvbSAnLi4vdHlwZXMvbm90aWZpY2F0aW9uLnR5cGVzJztcbmltcG9ydCB7IE5PVElGSUNBVElPTl9NRVNTQUdFUyB9IGZyb20gJy4uL2NvbnN0YW50cy9ub3RpZmljYXRpb24uY29uc3RhbnRzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvblNlcnZpY2Uge1xuICBwcml2YXRlIGNvbmZpZyA9IGluamVjdDxOb3RpZmljYXRpb25Qcm92aWRlckNvbmZpZz4oTk9USUZJQ0FUSU9OX0NPTkZJRyk7XG4gIHByaXZhdGUgdG9hc3RyUHJvdmlkZXIgPSBpbmplY3QoVG9hc3RyUHJvdmlkZXIpO1xuICBwcml2YXRlIHNuYWNrYmFyUHJvdmlkZXIgPSBpbmplY3QoU25hY2tiYXJQcm92aWRlcik7XG4gIHByaXZhdGUgc3dlZXRBbGVydFByb3ZpZGVyID0gaW5qZWN0KFN3ZWV0YWxlcnRQcm92aWRlcik7XG5cbiAgcHJpdmF0ZSBwcm92aWRlcnMgPSBuZXcgTWFwPE5vdGlmaWNhdGlvblByb3ZpZGVyLCBOb3RpZmljYXRpb25Qcm92aWRlckJhc2U+KCk7XG4gIHByaXZhdGUgY3VycmVudFByb3ZpZGVyOiBOb3RpZmljYXRpb25Qcm92aWRlckJhc2U7XG5cbiAgLy8gRXhwb3NlIHByZWRlZmluZWQgbWVzc2FnZXNcbiAgcmVhZG9ubHkgbWVzc2FnZXMgPSBOT1RJRklDQVRJT05fTUVTU0FHRVM7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5wcm92aWRlcnMuc2V0KCd0b2FzdHInLCB0aGlzLnRvYXN0clByb3ZpZGVyKTtcbiAgICB0aGlzLnByb3ZpZGVycy5zZXQoJ3NuYWNrYmFyJywgdGhpcy5zbmFja2JhclByb3ZpZGVyKTtcbiAgICB0aGlzLnByb3ZpZGVycy5zZXQoJ3N3ZWV0YWxlcnQnLCB0aGlzLnN3ZWV0QWxlcnRQcm92aWRlcik7XG5cbiAgICB0aGlzLmN1cnJlbnRQcm92aWRlciA9XG4gICAgICB0aGlzLnByb3ZpZGVycy5nZXQodGhpcy5jb25maWcuZGVmYXVsdFByb3ZpZGVyKSB8fCB0aGlzLnN3ZWV0QWxlcnRQcm92aWRlcjtcbiAgfVxuXG4gIHNldFByb3ZpZGVyKHByb3ZpZGVyOiBOb3RpZmljYXRpb25Qcm92aWRlcik6IHZvaWQge1xuICAgIGNvbnN0IHByb3ZpZGVySW5zdGFuY2UgPSB0aGlzLnByb3ZpZGVycy5nZXQocHJvdmlkZXIpO1xuICAgIGlmIChwcm92aWRlckluc3RhbmNlKSB7XG4gICAgICB0aGlzLmN1cnJlbnRQcm92aWRlciA9IHByb3ZpZGVySW5zdGFuY2U7XG4gICAgfVxuICB9XG5cbiAgc3VjY2Vzcyhwcm9wczogTm90aWZpY2F0aW9uQ2FsbFByb3BzKTogdm9pZCB8IE9ic2VydmFibGU8Tm90aWZpY2F0aW9uUmVzdWx0PiB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFByb3ZpZGVyLnN1Y2Nlc3MocHJvcHMpO1xuICB9XG5cbiAgZXJyb3IocHJvcHM6IE5vdGlmaWNhdGlvbkNhbGxQcm9wcyk6IHZvaWQgfCBPYnNlcnZhYmxlPE5vdGlmaWNhdGlvblJlc3VsdD4ge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRQcm92aWRlci5lcnJvcihwcm9wcyk7XG4gIH1cblxuICB3YXJuaW5nKHByb3BzOiBOb3RpZmljYXRpb25DYWxsUHJvcHMpOiB2b2lkIHwgT2JzZXJ2YWJsZTxOb3RpZmljYXRpb25SZXN1bHQ+IHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50UHJvdmlkZXIud2FybmluZyhwcm9wcyk7XG4gIH1cblxuICBpbmZvKHByb3BzOiBOb3RpZmljYXRpb25DYWxsUHJvcHMpOiB2b2lkIHwgT2JzZXJ2YWJsZTxOb3RpZmljYXRpb25SZXN1bHQ+IHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50UHJvdmlkZXIuaW5mbyhwcm9wcyk7XG4gIH1cblxuICBjb25maXJtKGNvbmZpZzogU3dlZXRBbGVydENvbmZpZyk6IE9ic2VydmFibGU8Tm90aWZpY2F0aW9uUmVzdWx0PiB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFByb3ZpZGVyLmNvbmZpcm0oY29uZmlnKTtcbiAgfVxuXG4gIHNob3coXG4gICAgcHJvcHM6IHsgdHlwZTogTm90aWZpY2F0aW9uVHlwZSB9ICYgTm90aWZpY2F0aW9uQ2FsbFByb3BzLFxuICApOiB2b2lkIHwgT2JzZXJ2YWJsZTxOb3RpZmljYXRpb25SZXN1bHQ+IHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50UHJvdmlkZXJbcHJvcHMudHlwZV0oe1xuICAgICAgbWVzc2FnZTogcHJvcHMubWVzc2FnZSxcbiAgICAgIHRpdGxlOiBwcm9wcy50aXRsZSxcbiAgICAgIGNvbmZpZzogcHJvcHMuY29uZmlnLFxuICAgIH0pO1xuICB9XG5cbiAgLy8gUHJvdmlkZXItc3BlY2lmaWMgbWV0aG9kcyBtYWludGFpbmluZyB5b3VyIGN1cnJlbnQgQVBJXG4gIGdldCB0b2FzdHIoKTogVG9hc3RyUHJvdmlkZXIge1xuICAgIHJldHVybiB0aGlzLnByb3ZpZGVycy5nZXQoJ3RvYXN0cicpIGFzIFRvYXN0clByb3ZpZGVyO1xuICB9XG5cbiAgZ2V0IHNuYWNrYmFyKCk6IFNuYWNrYmFyUHJvdmlkZXIge1xuICAgIHJldHVybiB0aGlzLnByb3ZpZGVycy5nZXQoJ3NuYWNrYmFyJykgYXMgU25hY2tiYXJQcm92aWRlcjtcbiAgfVxuXG4gIGdldCBzd2VldEFsZXJ0KCk6IFN3ZWV0YWxlcnRQcm92aWRlciB7XG4gICAgcmV0dXJuIHRoaXMucHJvdmlkZXJzLmdldCgnc3dlZXRhbGVydCcpIGFzIFN3ZWV0YWxlcnRQcm92aWRlcjtcbiAgfVxuXG4gIC8vIFF1aWNrIG1ldGhvZHMgdXNpbmcgcHJlZGVmaW5lZCBtZXNzYWdlc1xuICBxdWlja1NhdmUodHlwZTogJ3N1Y2Nlc3MnIHwgJ2Vycm9yJyA9ICdzdWNjZXNzJyk6IHZvaWQge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSB0eXBlID09PSAnc3VjY2VzcycgPyB0aGlzLm1lc3NhZ2VzLlNVQ0NFU1MuU0FWRSA6IHRoaXMubWVzc2FnZXMuRVJST1IuU0FWRTtcbiAgICB0aGlzLmN1cnJlbnRQcm92aWRlclt0eXBlXSh7IG1lc3NhZ2UgfSk7XG4gIH1cblxuICBxdWlja0RlbGV0ZSh0eXBlOiAnc3VjY2VzcycgfCAnZXJyb3InID0gJ3N1Y2Nlc3MnKTogdm9pZCB7XG4gICAgY29uc3QgbWVzc2FnZSA9IHR5cGUgPT09ICdzdWNjZXNzJyA/IHRoaXMubWVzc2FnZXMuU1VDQ0VTUy5ERUxFVEUgOiB0aGlzLm1lc3NhZ2VzLkVSUk9SLkRFTEVURTtcbiAgICB0aGlzLmN1cnJlbnRQcm92aWRlclt0eXBlXSh7IG1lc3NhZ2UgfSk7XG4gIH1cblxuICBxdWlja1VwZGF0ZSh0eXBlOiAnc3VjY2VzcycgfCAnZXJyb3InID0gJ3N1Y2Nlc3MnKTogdm9pZCB7XG4gICAgY29uc3QgbWVzc2FnZSA9IHR5cGUgPT09ICdzdWNjZXNzJyA/IHRoaXMubWVzc2FnZXMuU1VDQ0VTUy5VUERBVEUgOiB0aGlzLm1lc3NhZ2VzLkVSUk9SLlVQREFURTtcbiAgICB0aGlzLmN1cnJlbnRQcm92aWRlclt0eXBlXSh7IG1lc3NhZ2UgfSk7XG4gIH1cblxuICBuZXR3b3JrRXJyb3IoKTogdm9pZCB7XG4gICAgdGhpcy5jdXJyZW50UHJvdmlkZXIuZXJyb3Ioe1xuICAgICAgbWVzc2FnZTogdGhpcy5tZXNzYWdlcy5FUlJPUi5ORVRXT1JLLFxuICAgICAgdGl0bGU6ICdDb25uZWN0aW9uIEVycm9yJyxcbiAgICB9KTtcbiAgfVxuXG4gIHNlc3Npb25XYXJuaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuY3VycmVudFByb3ZpZGVyLndhcm5pbmcoe1xuICAgICAgbWVzc2FnZTogdGhpcy5tZXNzYWdlcy5XQVJOSU5HLlNFU1NJT05fRVhQSVJJTkcsXG4gICAgICB0aXRsZTogJ1Nlc3Npb24gQWxlcnQnLFxuICAgIH0pO1xuICB9XG59XG4iXX0=","import { makeEnvironmentProviders } from '@angular/core';\nimport { provideToastr } from 'ngx-toastr';\nimport { NotificationService } from './services/notification-service';\nimport { NOTIFICATION_CONFIG } from './providers/notification-provider';\nimport { ToastrProvider } from './providers/toastr-provider';\nimport { SnackbarProvider } from './providers/snackbar-provider';\nimport { SweetalertProvider } from './providers/sweetalert-provider';\n// Default toastr config (can be overridden)\nconst DEFAULT_TOASTR_CONFIG = {\n positionClass: 'toast-bottom-center',\n timeOut: 5000,\n extendedTimeOut: 1500,\n closeButton: true,\n newestOnTop: true,\n preventDuplicates: true,\n progressBar: true,\n};\nexport function provideNotifications(config, toastrConfig) {\n return makeEnvironmentProviders([\n provideToastr({\n ...DEFAULT_TOASTR_CONFIG,\n ...toastrConfig, // Merge with user-provided config for flexibility\n }),\n // Notification providers\n ToastrProvider,\n SnackbarProvider,\n SweetalertProvider,\n // Configuration\n {\n provide: NOTIFICATION_CONFIG,\n useValue: {\n defaultProvider: 'toastr',\n ...config,\n },\n },\n // Main service\n NotificationService,\n ]);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctbm90aWZpY2F0aW9ucy9zcmMvbGliL3Byb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXdCLHdCQUF3QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxhQUFhLEVBQWdCLE1BQU0sWUFBWSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxtQkFBbUIsRUFBOEIsTUFBTSxtQ0FBbUMsQ0FBQztBQUNwRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFckUsNENBQTRDO0FBQzVDLE1BQU0scUJBQXFCLEdBQTBCO0lBQ25ELGFBQWEsRUFBRSxxQkFBcUI7SUFDcEMsT0FBTyxFQUFFLElBQUk7SUFDYixlQUFlLEVBQUUsSUFBSTtJQUNyQixXQUFXLEVBQUUsSUFBSTtJQUNqQixXQUFXLEVBQUUsSUFBSTtJQUNqQixpQkFBaUIsRUFBRSxJQUFJO0lBQ3ZCLFdBQVcsRUFBRSxJQUFJO0NBQ2xCLENBQUM7QUFFRixNQUFNLFVBQVUsb0JBQW9CLENBQ2xDLE1BQTRDLEVBQzVDLFlBQW9DO0lBRXBDLE9BQU8sd0JBQXdCLENBQUM7UUFDOUIsYUFBYSxDQUFDO1lBQ1osR0FBRyxxQkFBcUI7WUFDeEIsR0FBRyxZQUFZLEVBQUUsa0RBQWtEO1NBQ3BFLENBQUM7UUFFRix5QkFBeUI7UUFDekIsY0FBYztRQUNkLGdCQUFnQjtRQUNoQixrQkFBa0I7UUFFbEIsZ0JBQWdCO1FBQ2hCO1lBQ0UsT0FBTyxFQUFFLG1CQUFtQjtZQUM1QixRQUFRLEVBQUU7Z0JBQ1IsZUFBZSxFQUFFLFFBQVE7Z0JBQ3pCLEdBQUcsTUFBTTthQUNWO1NBQ0Y7UUFFRCxlQUFlO1FBQ2YsbUJBQW1CO0tBQ3BCLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnZpcm9ubWVudFByb3ZpZGVycywgbWFrZUVudmlyb25tZW50UHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBwcm92aWRlVG9hc3RyLCBHbG9iYWxDb25maWcgfSBmcm9tICduZ3gtdG9hc3RyJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL25vdGlmaWNhdGlvbi1zZXJ2aWNlJztcbmltcG9ydCB7IE5PVElGSUNBVElPTl9DT05GSUcsIE5vdGlmaWNhdGlvblByb3ZpZGVyQ29uZmlnIH0gZnJvbSAnLi9wcm92aWRlcnMvbm90aWZpY2F0aW9uLXByb3ZpZGVyJztcbmltcG9ydCB7IFRvYXN0clByb3ZpZGVyIH0gZnJvbSAnLi9wcm92aWRlcnMvdG9hc3RyLXByb3ZpZGVyJztcbmltcG9ydCB7IFNuYWNrYmFyUHJvdmlkZXIgfSBmcm9tICcuL3Byb3ZpZGVycy9zbmFja2Jhci1wcm92aWRlcic7XG5pbXBvcnQgeyBTd2VldGFsZXJ0UHJvdmlkZXIgfSBmcm9tICcuL3Byb3ZpZGVycy9zd2VldGFsZXJ0LXByb3ZpZGVyJztcblxuLy8gRGVmYXVsdCB0b2FzdHIgY29uZmlnIChjYW4gYmUgb3ZlcnJpZGRlbilcbmNvbnN0IERFRkFVTFRfVE9BU1RSX0NPTkZJRzogUGFydGlhbDxHbG9iYWxDb25maWc+ID0ge1xuICBwb3NpdGlvbkNsYXNzOiAndG9hc3QtYm90dG9tLWNlbnRlcicsXG4gIHRpbWVPdXQ6IDUwMDAsXG4gIGV4dGVuZGVkVGltZU91dDogMTUwMCxcbiAgY2xvc2VCdXR0b246IHRydWUsXG4gIG5ld2VzdE9uVG9wOiB0cnVlLFxuICBwcmV2ZW50RHVwbGljYXRlczogdHJ1ZSxcbiAgcHJvZ3Jlc3NCYXI6IHRydWUsXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZU5vdGlmaWNhdGlvbnMoXG4gIGNvbmZpZz86IFBhcnRpYWw8Tm90aWZpY2F0aW9uUHJvdmlkZXJDb25maWc+LFxuICB0b2FzdHJDb25maWc/OiBQYXJ0aWFsPEdsb2JhbENvbmZpZz4sIC8vIE5ldyBvcHRpb25hbCBwYXJhbSBmb3IgZHluYW1pYyB0b2FzdHIgb3B0aW9uc1xuKTogRW52aXJvbm1lbnRQcm92aWRlcnMge1xuICByZXR1cm4gbWFrZUVudmlyb25tZW50UHJvdmlkZXJzKFtcbiAgICBwcm92aWRlVG9hc3RyKHtcbiAgICAgIC4uLkRFRkFVTFRfVE9BU1RSX0NPTkZJRyxcbiAgICAgIC4uLnRvYXN0ckNvbmZpZywgLy8gTWVyZ2Ugd2l0aCB1c2VyLXByb3ZpZGVkIGNvbmZpZyBmb3IgZmxleGliaWxpdHlcbiAgICB9KSxcblxuICAgIC8vIE5vdGlmaWNhdGlvbiBwcm92aWRlcnNcbiAgICBUb2FzdHJQcm92aWRlcixcbiAgICBTbmFja2JhclByb3ZpZGVyLFxuICAgIFN3ZWV0YWxlcnRQcm92aWRlcixcblxuICAgIC8vIENvbmZpZ3VyYXRpb25cbiAgICB7XG4gICAgICBwcm92aWRlOiBOT1RJRklDQVRJT05fQ09ORklHLFxuICAgICAgdXNlVmFsdWU6IHtcbiAgICAgICAgZGVmYXVsdFByb3ZpZGVyOiAndG9hc3RyJyxcbiAgICAgICAgLi4uY29uZmlnLFxuICAgICAgfSxcbiAgICB9LFxuXG4gICAgLy8gTWFpbiBzZXJ2aWNlXG4gICAgTm90aWZpY2F0aW9uU2VydmljZSxcbiAgXSk7XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvbnRwbHVzLW5nLW5vdGlmaWNhdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy1ub3RpZmljYXRpb25zL3NyYy9hY29udHBsdXMtbmctbm90aWZpY2F0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acontplus-ng-notifications.mjs","sources":["../../../../packages/ng-notifications/src/lib/config/toastr-config.ts","../../../../packages/ng-notifications/src/lib/config/snackbar-config.ts","../../../../packages/ng-notifications/src/lib/providers/notification-provider.ts","../../../../packages/ng-notifications/src/lib/providers/toastr-provider.ts","../../../../packages/ng-notifications/src/lib/providers/snackbar-provider.ts","../../../../packages/ng-notifications/src/lib/services/theme-detector.ts","../../../../packages/ng-notifications/src/lib/providers/sweetalert-provider.ts","../../../../packages/ng-notifications/src/lib/services/notification-service.ts","../../../../packages/ng-notifications/src/lib/providers.ts","../../../../packages/ng-notifications/src/acontplus-ng-notifications.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { IndividualConfig } from 'ngx-toastr';\n\nexport type ToastrNotificationConfig = Partial<IndividualConfig>;\n\nexport const TOASTR_NOTIFICATION_CONFIG = new InjectionToken<ToastrNotificationConfig>(\n 'toastr-notification-config',\n {\n providedIn: 'root',\n factory: () => ({\n positionClass: 'toast-bottom-center',\n timeOut: 5000,\n extendedTimeOut: 1500,\n closeButton: true,\n newestOnTop: true,\n }),\n },\n);\n","import { InjectionToken } from '@angular/core';\nimport { MatSnackBarConfig } from '@angular/material/snack-bar';\n\nexport interface SnackbarConfig extends MatSnackBarConfig {\n readonly defaultAction?: string;\n readonly iconEnabled?: boolean;\n readonly titleEnabled?: boolean;\n}\n\nexport const DEFAULT_SNACKBAR_CONFIG: SnackbarConfig = {\n duration: 5000,\n horizontalPosition: 'center',\n verticalPosition: 'bottom',\n panelClass: [],\n defaultAction: 'Close',\n iconEnabled: true,\n titleEnabled: true,\n};\n\nexport const SNACKBAR_CONFIG = new InjectionToken<SnackbarConfig>('acontplus-snackbar-config', {\n providedIn: 'root',\n factory: () => DEFAULT_SNACKBAR_CONFIG,\n});\n","import { Injectable, InjectionToken } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport type { NotificationProvider, NotificationResult } from '@acontplus/ui-kit';\nimport {\n NotificationCallProps,\n SweetAlertConfig,\n} from '../types/notification.types';\n\nexport const NOTIFICATION_CONFIG = new InjectionToken<NotificationProviderConfig>(\n 'NOTIFICATION_CONFIG',\n);\n\nexport interface NotificationProviderConfig {\n defaultProvider: NotificationProvider;\n toastr?: unknown;\n snackbar?: unknown;\n sweetalert?: {\n defaultTheme?: 'auto' | 'material-ui' | 'material-ui-light' | 'material-ui-dark' | string;\n [key: string]: unknown;\n };\n}\n\n@Injectable()\nexport abstract class NotificationProviderBase {\n abstract success(props: NotificationCallProps): void | Observable<NotificationResult>;\n abstract error(props: NotificationCallProps): void | Observable<NotificationResult>;\n abstract warning(props: NotificationCallProps): void | Observable<NotificationResult>;\n abstract info(props: NotificationCallProps): void | Observable<NotificationResult>;\n abstract confirm(config: SweetAlertConfig): Observable<NotificationResult>;\n}\n","import { Injectable, inject } from '@angular/core';\nimport { IndividualConfig, ToastrService } from 'ngx-toastr';\nimport { Observable, of } from 'rxjs';\nimport { NotificationProviderBase } from './notification-provider';\nimport { TOASTR_NOTIFICATION_CONFIG } from '../config/toastr-config';\nimport type { NotificationResult } from '@acontplus/ui-kit';\nimport {\n NotificationCallProps,\n SweetAlertConfig,\n} from '../types/notification.types';\n\nexport type ToastrType = 'success' | 'error' | 'warning' | 'info';\n\nexport interface ToastrShowProps {\n readonly type: ToastrType;\n readonly message: string;\n readonly title?: string;\n readonly options?: Partial<IndividualConfig>;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ToastrProvider extends NotificationProviderBase {\n private readonly toastrService = inject(ToastrService);\n private readonly config = inject(TOASTR_NOTIFICATION_CONFIG);\n\n /**\n * Generic show method for dynamic toast types\n */\n show(props: ToastrShowProps): void {\n const { type, message, title, options: overrideOptions } = props;\n const finalOptions = { ...this.config, ...overrideOptions };\n\n this.toastrService[type](message, title, finalOptions);\n }\n\n success(props: NotificationCallProps): void {\n this.show({\n type: 'success',\n message: props.message,\n title: props.title,\n options: props.config as Partial<IndividualConfig>,\n });\n }\n\n error(props: NotificationCallProps): void {\n this.show({\n type: 'error',\n message: props.message,\n title: props.title,\n options: props.config as Partial<IndividualConfig>,\n });\n }\n\n warning(props: NotificationCallProps): void {\n this.show({\n type: 'warning',\n message: props.message,\n title: props.title,\n options: props.config as Partial<IndividualConfig>,\n });\n }\n\n info(props: NotificationCallProps): void {\n this.show({\n type: 'info',\n message: props.message,\n title: props.title,\n options: props.config as Partial<IndividualConfig>,\n });\n }\n\n confirm(config: SweetAlertConfig): Observable<NotificationResult> {\n const result = confirm(`${config.title || ''}\\n${config.message}`);\n return of({ isConfirmed: result });\n }\n}\n","import { inject, Injectable } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { Observable, of } from 'rxjs';\nimport { NotificationProviderBase } from './notification-provider';\nimport { SNACKBAR_CONFIG, SnackbarConfig } from '../config/snackbar-config';\nimport type { NotificationResult } from '@acontplus/ui-kit';\nimport {\n NotificationCallProps,\n SweetAlertConfig,\n} from '../types/notification.types';\nimport { SnackbarProps } from '../models/notification';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SnackbarProvider extends NotificationProviderBase {\n private readonly snackBar = inject(MatSnackBar);\n private readonly config = inject(SNACKBAR_CONFIG);\n\n /**\n * Display a snackbar with specific type and configuration\n */\n show(props: SnackbarProps): void {\n const {\n type,\n message,\n title,\n action = this.config.defaultAction,\n config: userConfig = {},\n } = props;\n\n const typeClass = `acontplus-snackbar-${type}`;\n const panelClasses = this.buildPanelClasses(typeClass, userConfig.panelClass);\n\n const finalConfig = {\n ...this.config,\n ...userConfig,\n panelClass: panelClasses,\n };\n\n const displayMessage = this.buildMessage(message, title);\n this.snackBar.open(displayMessage, action, finalConfig);\n }\n\n success(props: NotificationCallProps): void {\n this.show({\n type: 'success',\n message: props.message,\n title: props.title,\n config: props.config as Partial<SnackbarConfig>,\n });\n }\n\n error(props: NotificationCallProps): void {\n this.show({\n type: 'error',\n message: props.message,\n title: props.title,\n config: props.config as Partial<SnackbarConfig>,\n });\n }\n\n warning(props: NotificationCallProps): void {\n this.show({\n type: 'warning',\n message: props.message,\n title: props.title,\n config: props.config as Partial<SnackbarConfig>,\n });\n }\n\n info(props: NotificationCallProps): void {\n this.show({\n type: 'info',\n message: props.message,\n title: props.title,\n config: props.config as Partial<SnackbarConfig>,\n });\n }\n\n confirm(config: SweetAlertConfig): Observable<NotificationResult> {\n const result = confirm(`${config.title || ''}\\n${config.message}`);\n return of({ isConfirmed: result });\n }\n\n private buildPanelClasses(typeClass: string, userClasses?: string | string[]): string[] {\n const classes = ['acontplus-snackbar', typeClass];\n\n if (userClasses) {\n const normalizedClasses = Array.isArray(userClasses) ? userClasses : [userClasses];\n classes.push(...normalizedClasses);\n }\n\n return classes;\n }\n\n private buildMessage(message: string, title?: string): string {\n if (!this.config.titleEnabled || !title) {\n return message;\n }\n return `${title}: ${message}`;\n }\n}\n","import { Injectable, PLATFORM_ID, inject } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ThemeDetector {\n private themeSubject = new BehaviorSubject<string>('material-ui-light');\n private readonly platformId = inject(PLATFORM_ID);\n public theme$ = this.themeSubject.asObservable();\n\n constructor() {\n if (isPlatformBrowser(this.platformId)) {\n this.detectTheme();\n this.watchThemeChanges();\n }\n }\n\n private detectTheme(): void {\n if (!isPlatformBrowser(this.platformId)) return;\n\n const isDark =\n document.body.classList.contains('dark-theme') ||\n document.documentElement.classList.contains('dark-theme');\n this.themeSubject.next(isDark ? 'material-ui-dark' : 'material-ui-light');\n }\n\n private watchThemeChanges(): void {\n if (!isPlatformBrowser(this.platformId)) return;\n\n const observer = new MutationObserver(() => this.detectTheme());\n observer.observe(document.body, { attributes: true, attributeFilter: ['class'] });\n observer.observe(document.documentElement, { attributes: true, attributeFilter: ['class'] });\n }\n\n getCurrentTheme(): string {\n return this.themeSubject.value;\n }\n}\n","import { Injectable, inject } from '@angular/core';\nimport { Observable, from } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport Swal from 'sweetalert2';\nimport {\n NotificationProviderBase,\n NotificationProviderConfig,\n NOTIFICATION_CONFIG,\n} from './notification-provider';\nimport type { NotificationResult, NotificationType } from '@acontplus/ui-kit';\nimport {\n NotificationCallProps,\n SweetAlertConfig,\n} from '../types/notification.types';\nimport { ThemeDetector } from '../services/theme-detector';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SweetalertProvider extends NotificationProviderBase {\n private config = inject<NotificationProviderConfig>(NOTIFICATION_CONFIG);\n private themeDetector = inject(ThemeDetector);\n\n private getTheme(): string {\n const configTheme = (this.config.sweetalert as any)?.defaultTheme;\n\n // Default to 'auto' if no theme specified\n if (!configTheme || configTheme === 'auto') {\n // Auto-detect theme based on CSS classes\n const isDark =\n document?.body?.classList?.contains('dark-theme') ||\n document?.documentElement?.classList?.contains('dark-theme');\n return isDark ? 'material-ui-dark' : 'material-ui-light';\n }\n\n return configTheme;\n }\n success(props: NotificationCallProps): Observable<NotificationResult> {\n return this.showAlert({ ...props, type: 'success' });\n }\n\n error(props: NotificationCallProps): Observable<NotificationResult> {\n return this.showAlert({ ...props, type: 'error' });\n }\n\n warning(props: NotificationCallProps): Observable<NotificationResult> {\n return this.showAlert({ ...props, type: 'warning' });\n }\n\n info(props: NotificationCallProps): Observable<NotificationResult> {\n return this.showAlert({ ...props, type: 'info' });\n }\n\n confirm(config: SweetAlertConfig): Observable<NotificationResult> {\n const swalConfig = {\n title: config.title,\n text: config.message,\n html: config.html,\n icon: 'question' as const,\n showCancelButton: config.showCancelButton !== false,\n confirmButtonText: config.confirmButtonText || 'Confirm',\n cancelButtonText: config.cancelButtonText || 'Cancel',\n allowOutsideClick: config.allowOutsideClick !== false,\n customClass: config.customClass ? { container: config.customClass } : undefined,\n theme: this.getTheme(),\n };\n\n return from(Swal.fire(swalConfig as any)).pipe(\n map((result) => ({\n isConfirmed: result.isConfirmed,\n isDenied: result.isDenied,\n isDismissed: result.isDismissed,\n value: result.value,\n })),\n );\n }\n\n private showAlert(\n props: NotificationCallProps & { type: NotificationType },\n ): Observable<NotificationResult> {\n const configOptions = props.config as Record<string, unknown> | undefined;\n const { duration, ...otherConfig } = configOptions || {};\n const swalConfig = {\n title: props.title,\n text: props.message,\n icon: props.type as 'success' | 'error' | 'warning' | 'info',\n theme: this.getTheme(),\n ...(duration ? { timer: duration as number, timerProgressBar: true } : {}),\n ...otherConfig,\n };\n\n return from(Swal.fire(swalConfig as any)).pipe(\n map((result) => ({\n isConfirmed: result.isConfirmed,\n isDenied: result.isDenied,\n isDismissed: result.isDismissed,\n value: result.value,\n })),\n );\n }\n}\n","import { Injectable, inject } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport {\n NotificationProviderBase,\n NOTIFICATION_CONFIG,\n NotificationProviderConfig,\n} from '../providers/notification-provider';\nimport { ToastrProvider } from '../providers/toastr-provider';\nimport { SnackbarProvider } from '../providers/snackbar-provider';\nimport { SweetalertProvider } from '../providers/sweetalert-provider';\nimport {\n NOTIFICATION_MESSAGES,\n type NotificationProvider,\n type NotificationResult,\n type NotificationType,\n} from '@acontplus/ui-kit';\nimport {\n NotificationCallProps,\n SweetAlertConfig,\n} from '../types/notification.types';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NotificationService {\n private config = inject<NotificationProviderConfig>(NOTIFICATION_CONFIG);\n private toastrProvider = inject(ToastrProvider);\n private snackbarProvider = inject(SnackbarProvider);\n private sweetAlertProvider = inject(SweetalertProvider);\n\n private providers = new Map<NotificationProvider, NotificationProviderBase>();\n private currentProvider: NotificationProviderBase;\n\n // Expose predefined messages\n readonly messages = NOTIFICATION_MESSAGES;\n\n constructor() {\n this.providers.set('toastr', this.toastrProvider);\n this.providers.set('snackbar', this.snackbarProvider);\n this.providers.set('sweetalert', this.sweetAlertProvider);\n\n this.currentProvider =\n this.providers.get(this.config.defaultProvider) || this.sweetAlertProvider;\n }\n\n setProvider(provider: NotificationProvider): void {\n const providerInstance = this.providers.get(provider);\n if (providerInstance) {\n this.currentProvider = providerInstance;\n }\n }\n\n success(props: NotificationCallProps): void | Observable<NotificationResult> {\n return this.currentProvider.success(props);\n }\n\n error(props: NotificationCallProps): void | Observable<NotificationResult> {\n return this.currentProvider.error(props);\n }\n\n warning(props: NotificationCallProps): void | Observable<NotificationResult> {\n return this.currentProvider.warning(props);\n }\n\n info(props: NotificationCallProps): void | Observable<NotificationResult> {\n return this.currentProvider.info(props);\n }\n\n confirm(config: SweetAlertConfig): Observable<NotificationResult> {\n return this.currentProvider.confirm(config);\n }\n\n show(\n props: { type: NotificationType } & NotificationCallProps,\n ): void | Observable<NotificationResult> {\n return this.currentProvider[props.type]({\n message: props.message,\n title: props.title,\n config: props.config,\n });\n }\n\n // Provider-specific methods maintaining your current API\n get toastr(): ToastrProvider {\n return this.providers.get('toastr') as ToastrProvider;\n }\n\n get snackbar(): SnackbarProvider {\n return this.providers.get('snackbar') as SnackbarProvider;\n }\n\n get sweetAlert(): SweetalertProvider {\n return this.providers.get('sweetalert') as SweetalertProvider;\n }\n\n // Quick methods using predefined messages\n quickSave(type: 'success' | 'error' = 'success'): void {\n const message = type === 'success' ? this.messages.SUCCESS.SAVE : this.messages.ERROR.SAVE;\n this.currentProvider[type]({ message });\n }\n\n quickDelete(type: 'success' | 'error' = 'success'): void {\n const message = type === 'success' ? this.messages.SUCCESS.DELETE : this.messages.ERROR.DELETE;\n this.currentProvider[type]({ message });\n }\n\n quickUpdate(type: 'success' | 'error' = 'success'): void {\n const message = type === 'success' ? this.messages.SUCCESS.UPDATE : this.messages.ERROR.UPDATE;\n this.currentProvider[type]({ message });\n }\n\n networkError(): void {\n this.currentProvider.error({\n message: this.messages.ERROR.NETWORK,\n title: 'Connection Error',\n });\n }\n\n sessionWarning(): void {\n this.currentProvider.warning({\n message: this.messages.WARNING.SESSION_EXPIRING,\n title: 'Session Alert',\n });\n }\n}\n","import { EnvironmentProviders, makeEnvironmentProviders } from '@angular/core';\nimport { provideToastr, GlobalConfig, ToastNoAnimation } from 'ngx-toastr';\nimport { NotificationService } from './services/notification-service';\nimport { NOTIFICATION_CONFIG, NotificationProviderConfig } from './providers/notification-provider';\nimport { ToastrProvider } from './providers/toastr-provider';\nimport { SnackbarProvider } from './providers/snackbar-provider';\nimport { SweetalertProvider } from './providers/sweetalert-provider';\n\n// Default toastr config (can be overridden)\nconst DEFAULT_TOASTR_CONFIG: Partial<GlobalConfig> = {\n positionClass: 'toast-bottom-center',\n timeOut: 5000,\n extendedTimeOut: 1500,\n closeButton: true,\n newestOnTop: true,\n preventDuplicates: true,\n progressBar: true,\n toastComponent: ToastNoAnimation,\n};\n\nexport function provideNotifications(\n config?: Partial<NotificationProviderConfig>,\n toastrConfig?: Partial<GlobalConfig>, // New optional param for dynamic toastr options\n): EnvironmentProviders {\n return makeEnvironmentProviders([\n provideToastr({\n ...DEFAULT_TOASTR_CONFIG,\n ...toastrConfig, // Merge with user-provided config for flexibility\n }),\n\n // Notification providers\n ToastrProvider,\n SnackbarProvider,\n SweetalertProvider,\n\n // Configuration\n {\n provide: NOTIFICATION_CONFIG,\n useValue: {\n defaultProvider: 'toastr',\n ...config,\n },\n },\n\n // Main service\n NotificationService,\n ]);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/index.d.ts CHANGED
@@ -1,17 +1,10 @@
1
+ import { BaseNotificationConfig, NotificationType, NotificationProvider, NotificationResult } from '@acontplus/ui-kit';
1
2
  import * as i0 from '@angular/core';
2
3
  import { InjectionToken, EnvironmentProviders } from '@angular/core';
3
4
  import { IndividualConfig, GlobalConfig } from 'ngx-toastr';
4
5
  import { MatSnackBarConfig } from '@angular/material/snack-bar';
5
6
  import { Observable } from 'rxjs';
6
7
 
7
- type NotificationType = 'success' | 'error' | 'warning' | 'info';
8
- type NotificationPosition = 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left' | 'top-center' | 'bottom-center';
9
- type NotificationProvider = 'toastr' | 'snackbar' | 'sweetalert';
10
- interface BaseNotificationConfig {
11
- readonly message: string;
12
- readonly title?: string;
13
- readonly type?: NotificationType;
14
- }
15
8
  interface NotificationCallProps extends BaseNotificationConfig {
16
9
  readonly config?: unknown;
17
10
  }
@@ -23,60 +16,6 @@ interface SweetAlertConfig extends BaseNotificationConfig {
23
16
  readonly allowOutsideClick?: boolean;
24
17
  readonly customClass?: string;
25
18
  }
26
- interface NotificationResult {
27
- isConfirmed?: boolean;
28
- isDenied?: boolean;
29
- isDismissed?: boolean;
30
- value?: unknown;
31
- }
32
-
33
- declare const NOTIFICATION_MESSAGES: {
34
- readonly SUCCESS: {
35
- readonly SAVE: "Data saved successfully";
36
- readonly DELETE: "Item deleted successfully";
37
- readonly UPDATE: "Data updated successfully";
38
- readonly UPLOAD: "File uploaded successfully";
39
- readonly CREATE: "Item created successfully";
40
- readonly SYNC: "Data synchronized successfully";
41
- };
42
- readonly ERROR: {
43
- readonly SAVE: "Failed to save data";
44
- readonly DELETE: "Failed to delete item";
45
- readonly UPDATE: "Failed to update data";
46
- readonly UPLOAD: "Failed to upload file";
47
- readonly NETWORK: "Network error occurred";
48
- readonly UNKNOWN: "An unexpected error occurred";
49
- readonly VALIDATION: "Validation error";
50
- readonly UNAUTHORIZED: "Unauthorized access";
51
- readonly SERVER: "Server error occurred";
52
- };
53
- readonly WARNING: {
54
- readonly UNSAVED_CHANGES: "You have unsaved changes";
55
- readonly SESSION_EXPIRING: "Your session is about to expire";
56
- readonly STORAGE_FULL: "Storage is running low";
57
- readonly DEPRECATED: "This feature is deprecated";
58
- readonly LIMIT_REACHED: "Limit reached";
59
- };
60
- readonly INFO: {
61
- readonly LOADING: "Loading data...";
62
- readonly PROCESSING: "Processing request...";
63
- readonly MAINTENANCE: "System maintenance scheduled";
64
- readonly UPDATE_AVAILABLE: "Update available";
65
- readonly BACKUP_COMPLETE: "Backup completed";
66
- };
67
- };
68
- declare const NOTIFICATION_DURATIONS: {
69
- readonly SHORT: 3000;
70
- readonly MEDIUM: 5000;
71
- readonly LONG: 8000;
72
- readonly PERSISTENT: 0;
73
- };
74
- declare const NOTIFICATION_ICONS: {
75
- readonly success: "check_circle";
76
- readonly error: "error";
77
- readonly warning: "warning";
78
- readonly info: "info";
79
- };
80
19
 
81
20
  type ToastrNotificationConfig = Partial<IndividualConfig>;
82
21
  declare const TOASTR_NOTIFICATION_CONFIG: InjectionToken<Partial<IndividualConfig<any>>>;
@@ -249,5 +188,5 @@ declare class NotificationService {
249
188
 
250
189
  declare function provideNotifications(config?: Partial<NotificationProviderConfig>, toastrConfig?: Partial<GlobalConfig>): EnvironmentProviders;
251
190
 
252
- export { DEFAULT_SNACKBAR_CONFIG, NOTIFICATION_CONFIG, NOTIFICATION_DURATIONS, NOTIFICATION_ICONS, NOTIFICATION_MESSAGES, NotificationProviderBase, NotificationService, SNACKBAR_CONFIG, SnackbarProvider, SweetalertProvider, TOASTR_NOTIFICATION_CONFIG, ToastrProvider, provideNotifications };
253
- export type { BaseNotificationConfig, NotificationCallProps, NotificationPosition, NotificationProvider, NotificationProviderConfig, NotificationResult, NotificationType, SnackbarCallProps, SnackbarConfig, SnackbarProps, SweetAlertConfig, ToastrCallProps, ToastrNotificationConfig, ToastrShowProps, ToastrType };
191
+ export { DEFAULT_SNACKBAR_CONFIG, NOTIFICATION_CONFIG, NotificationProviderBase, NotificationService, SNACKBAR_CONFIG, SnackbarProvider, SweetalertProvider, TOASTR_NOTIFICATION_CONFIG, ToastrProvider, provideNotifications };
192
+ export type { NotificationCallProps, NotificationProviderConfig, SnackbarCallProps, SnackbarConfig, SnackbarProps, SweetAlertConfig, ToastrCallProps, ToastrNotificationConfig, ToastrShowProps, ToastrType };
package/package.json CHANGED
@@ -1,11 +1,12 @@
1
1
  {
2
2
  "name": "@acontplus/ng-notifications",
3
- "version": "1.1.0",
3
+ "version": "1.1.2",
4
4
  "description": "Comprehensive Angular notification system with toast notifications (ngx-toastr), alerts (SweetAlert2), snackbars, theme detection, notification providers, and configurable styling. Supports multiple notification types with Angular Material integration.",
5
5
  "peerDependencies": {
6
- "@angular/common": "^20.3.2",
7
- "@angular/core": "^20.3.2",
8
- "@angular/material": "^20.2.5",
6
+ "@acontplus/ui-kit": "^1.0.1",
7
+ "@angular/common": "^20.3.9",
8
+ "@angular/core": "^20.3.9",
9
+ "@angular/material": "^20.2.12",
9
10
  "ngx-toastr": "^19.1.0",
10
11
  "sweetalert2": "^11.26.2",
11
12
  "rxjs": "^7.8.2"