@acontplus/ng-notifications 1.0.8 → 1.0.10
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 +233 -31
- package/fesm2022/acontplus-ng-notifications.mjs +60 -21
- package/fesm2022/acontplus-ng-notifications.mjs.map +1 -1
- package/index.d.ts +8 -2
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
# @acontplus/ng-notifications
|
|
2
2
|
|
|
3
|
-
Angular notifications library for AcontPlus applications, providing toast
|
|
3
|
+
Angular notifications library for AcontPlus applications, providing toast
|
|
4
|
+
notifications, alerts, and snackbars using popular libraries like ngx-toastr and
|
|
5
|
+
SweetAlert2.
|
|
4
6
|
|
|
5
7
|
## Installation
|
|
6
8
|
|
|
@@ -11,69 +13,269 @@ npm install @acontplus/ng-notifications
|
|
|
11
13
|
## Features
|
|
12
14
|
|
|
13
15
|
- **Toast Notifications**: Using ngx-toastr for non-blocking notifications
|
|
14
|
-
- **SweetAlert2 Integration**: Modal alerts and confirmations
|
|
16
|
+
- **SweetAlert2 Integration**: Modal alerts and confirmations with Material UI
|
|
17
|
+
theme support
|
|
15
18
|
- **Material Snackbar**: Angular Material snackbar components
|
|
16
|
-
- **
|
|
17
|
-
|
|
18
|
-
- **
|
|
19
|
-
|
|
19
|
+
- **Auto Theme Detection**: Automatically detects light/dark theme for
|
|
20
|
+
SweetAlert2
|
|
21
|
+
- **Unified Service**: Single service for managing different notification
|
|
22
|
+
providers
|
|
23
|
+
- **Flexible Configuration**: Customizable configurations for all providers
|
|
24
|
+
- **TypeScript Support**: Full type safety with comprehensive TypeScript
|
|
25
|
+
definitions
|
|
26
|
+
- **SSR Compatible**: Server-side rendering support
|
|
27
|
+
- **Lifecycle Callbacks**: Support for SweetAlert2 lifecycle hooks (didOpen,
|
|
28
|
+
willClose, etc.)
|
|
20
29
|
|
|
21
|
-
##
|
|
30
|
+
## Configuration Options
|
|
22
31
|
|
|
23
|
-
###
|
|
24
|
-
Main provider for notification management.
|
|
32
|
+
### NotificationProviderConfig
|
|
25
33
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
34
|
+
```typescript
|
|
35
|
+
interface NotificationProviderConfig {
|
|
36
|
+
defaultProvider: 'sweetalert' | 'toastr' | 'snackbar';
|
|
37
|
+
sweetalert?: {
|
|
38
|
+
defaultTheme?:
|
|
39
|
+
| 'auto'
|
|
40
|
+
| 'material-ui'
|
|
41
|
+
| 'material-ui-light'
|
|
42
|
+
| 'material-ui-dark';
|
|
43
|
+
};
|
|
44
|
+
toastr?: ToastrConfig;
|
|
45
|
+
snackbar?: SnackbarConfig;
|
|
46
|
+
}
|
|
47
|
+
```
|
|
31
48
|
|
|
32
|
-
###
|
|
33
|
-
Provider for SweetAlert2 modals.
|
|
49
|
+
### SweetAlert2 Theme Options
|
|
34
50
|
|
|
35
|
-
|
|
51
|
+
- `'auto'` - Auto-detects based on `.dark-theme` CSS class (default)
|
|
52
|
+
- `'material-ui'` - Follows system preference
|
|
53
|
+
- `'material-ui-light'` - Always light theme
|
|
54
|
+
- `'material-ui-dark'` - Always dark theme
|
|
36
55
|
|
|
37
|
-
|
|
38
|
-
Service for showing various types of notifications.
|
|
56
|
+
## Quick Start
|
|
39
57
|
|
|
40
|
-
|
|
58
|
+
### 1. Install Dependencies
|
|
41
59
|
|
|
42
|
-
|
|
43
|
-
|
|
60
|
+
```bash
|
|
61
|
+
npm install @acontplus/ng-notifications ngx-toastr sweetalert2
|
|
62
|
+
```
|
|
44
63
|
|
|
45
|
-
###
|
|
46
|
-
Configuration for snackbar notifications.
|
|
64
|
+
### 2. Import CSS (in styles.scss)
|
|
47
65
|
|
|
48
|
-
|
|
66
|
+
```scss
|
|
67
|
+
@import 'ngx-toastr/toastr';
|
|
68
|
+
@import 'sweetalert2/themes/material-ui.css';
|
|
69
|
+
```
|
|
49
70
|
|
|
50
|
-
|
|
71
|
+
### 3. Configure Providers
|
|
51
72
|
|
|
52
73
|
```typescript
|
|
53
|
-
import {
|
|
74
|
+
import { provideNotifications } from '@acontplus/ng-notifications';
|
|
54
75
|
|
|
55
76
|
// In app.config.ts
|
|
56
77
|
export const appConfig: ApplicationConfig = {
|
|
57
78
|
providers: [
|
|
58
|
-
|
|
79
|
+
// Basic configuration
|
|
80
|
+
provideNotifications({
|
|
81
|
+
defaultProvider: 'sweetalert', // or 'toastr' | 'snackbar'
|
|
82
|
+
}),
|
|
83
|
+
|
|
84
|
+
// Advanced configuration
|
|
85
|
+
provideNotifications({
|
|
86
|
+
defaultProvider: 'sweetalert',
|
|
87
|
+
sweetalert: {
|
|
88
|
+
defaultTheme: 'auto', // auto-detects light/dark theme
|
|
89
|
+
},
|
|
90
|
+
}),
|
|
59
91
|
],
|
|
60
92
|
};
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### 4. Use in Components
|
|
96
|
+
|
|
97
|
+
```typescript
|
|
98
|
+
import { NotificationService } from '@acontplus/ng-notifications';
|
|
61
99
|
|
|
62
|
-
// In component
|
|
63
100
|
@Component({...})
|
|
64
101
|
export class MyComponent {
|
|
65
102
|
constructor(private notificationService: NotificationService) {}
|
|
66
103
|
|
|
104
|
+
// Basic notifications
|
|
67
105
|
showSuccess() {
|
|
68
|
-
this.notificationService.
|
|
106
|
+
this.notificationService.success({
|
|
107
|
+
title: 'Success!',
|
|
108
|
+
message: 'Operation completed successfully'
|
|
109
|
+
});
|
|
69
110
|
}
|
|
70
111
|
|
|
71
112
|
showError() {
|
|
72
|
-
this.notificationService.
|
|
113
|
+
this.notificationService.error({
|
|
114
|
+
title: 'Error',
|
|
115
|
+
message: 'Something went wrong'
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
// Confirmation dialog
|
|
120
|
+
confirmAction() {
|
|
121
|
+
this.notificationService.confirm({
|
|
122
|
+
title: 'Are you sure?',
|
|
123
|
+
message: 'This action cannot be undone'
|
|
124
|
+
}).subscribe(result => {
|
|
125
|
+
if (result.isConfirmed) {
|
|
126
|
+
console.log('User confirmed');
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
// Custom configuration
|
|
132
|
+
showCustom() {
|
|
133
|
+
this.notificationService.info({
|
|
134
|
+
title: 'Info',
|
|
135
|
+
message: 'Custom notification',
|
|
136
|
+
config: {
|
|
137
|
+
duration: 3000, // Auto-close after 3 seconds
|
|
138
|
+
theme: 'material-ui-dark', // Force dark theme
|
|
139
|
+
didOpen: (popup) => {
|
|
140
|
+
console.log('Notification opened', popup);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
});
|
|
73
144
|
}
|
|
74
145
|
}
|
|
75
146
|
```
|
|
76
147
|
|
|
148
|
+
## Provider Behaviors
|
|
149
|
+
|
|
150
|
+
### SweetAlert2 (Default)
|
|
151
|
+
|
|
152
|
+
- **Theme**: Auto-detects light/dark theme by default
|
|
153
|
+
- **Duration**: Stays open until user interaction (Material Design approach)
|
|
154
|
+
- **Customization**: Full SweetAlert2 API support via config object
|
|
155
|
+
|
|
156
|
+
```typescript
|
|
157
|
+
// Auto-detects theme, stays open
|
|
158
|
+
this.notificationService.success({ title: 'Success', message: 'Saved!' });
|
|
159
|
+
|
|
160
|
+
// Custom theme and auto-close
|
|
161
|
+
this.notificationService.info({
|
|
162
|
+
title: 'Info',
|
|
163
|
+
message: 'Processing...',
|
|
164
|
+
config: {
|
|
165
|
+
theme: 'material-ui-dark',
|
|
166
|
+
timer: 3000,
|
|
167
|
+
timerProgressBar: true,
|
|
168
|
+
},
|
|
169
|
+
});
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### Material Snackbar
|
|
173
|
+
|
|
174
|
+
- **Duration**: Auto-dismisses after 5 seconds (Material Design default)
|
|
175
|
+
- **Position**: Bottom center
|
|
176
|
+
- **Customization**: Full MatSnackBarConfig support
|
|
177
|
+
|
|
178
|
+
```typescript
|
|
179
|
+
// Uses default 5-second duration
|
|
180
|
+
this.notificationService.snackbar.success({ message: 'Success!' });
|
|
181
|
+
|
|
182
|
+
// Custom duration and position
|
|
183
|
+
this.notificationService.snackbar.info({
|
|
184
|
+
message: 'Info message',
|
|
185
|
+
config: {
|
|
186
|
+
duration: 2000,
|
|
187
|
+
verticalPosition: 'top',
|
|
188
|
+
horizontalPosition: 'right',
|
|
189
|
+
},
|
|
190
|
+
});
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
### Toastr
|
|
194
|
+
|
|
195
|
+
- **Duration**: Auto-dismisses based on type (success: 5s, error: 10s)
|
|
196
|
+
- **Position**: Top right
|
|
197
|
+
- **Customization**: Full ngx-toastr configuration support
|
|
198
|
+
|
|
199
|
+
## Theme Configuration
|
|
200
|
+
|
|
201
|
+
### Auto Theme Detection (Default)
|
|
202
|
+
|
|
203
|
+
```typescript
|
|
204
|
+
provideNotifications({
|
|
205
|
+
defaultProvider: 'sweetalert',
|
|
206
|
+
// No theme config needed - auto-detects light/dark
|
|
207
|
+
});
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
### Manual Theme Control
|
|
211
|
+
|
|
212
|
+
```typescript
|
|
213
|
+
provideNotifications({
|
|
214
|
+
defaultProvider: 'sweetalert',
|
|
215
|
+
sweetalert: {
|
|
216
|
+
defaultTheme: 'material-ui-dark', // Always dark
|
|
217
|
+
// defaultTheme: 'material-ui-light' // Always light
|
|
218
|
+
// defaultTheme: 'material-ui' // System preference
|
|
219
|
+
},
|
|
220
|
+
});
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
### Per-Notification Theme Override
|
|
224
|
+
|
|
225
|
+
```typescript
|
|
226
|
+
this.notificationService.success({
|
|
227
|
+
title: 'Success',
|
|
228
|
+
message: 'Completed',
|
|
229
|
+
config: {
|
|
230
|
+
theme: 'material-ui-light', // Override default theme
|
|
231
|
+
},
|
|
232
|
+
});
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
## Advanced Usage
|
|
236
|
+
|
|
237
|
+
### Lifecycle Callbacks
|
|
238
|
+
|
|
239
|
+
```typescript
|
|
240
|
+
this.notificationService.success({
|
|
241
|
+
title: 'Success',
|
|
242
|
+
message: 'Data saved',
|
|
243
|
+
config: {
|
|
244
|
+
didOpen: popup => {
|
|
245
|
+
console.log('Notification opened');
|
|
246
|
+
popup.querySelector('.swal2-confirm')?.focus();
|
|
247
|
+
},
|
|
248
|
+
willClose: () => {
|
|
249
|
+
console.log('Notification closing');
|
|
250
|
+
},
|
|
251
|
+
didClose: () => {
|
|
252
|
+
console.log('Notification closed');
|
|
253
|
+
},
|
|
254
|
+
},
|
|
255
|
+
});
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
### Provider-Specific Access
|
|
259
|
+
|
|
260
|
+
```typescript
|
|
261
|
+
// Direct provider access
|
|
262
|
+
this.notificationService.sweetAlert.success({
|
|
263
|
+
title: 'Success',
|
|
264
|
+
message: 'Done!',
|
|
265
|
+
});
|
|
266
|
+
this.notificationService.toastr.error({ message: 'Error occurred' });
|
|
267
|
+
this.notificationService.snackbar.info({ message: 'Information' });
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
### Quick Methods
|
|
271
|
+
|
|
272
|
+
```typescript
|
|
273
|
+
// Predefined messages
|
|
274
|
+
this.notificationService.quickSave(); // "Data saved successfully"
|
|
275
|
+
this.notificationService.quickDelete(); // "Item deleted"
|
|
276
|
+
this.notificationService.networkError(); // "Network connection error"
|
|
277
|
+
```
|
|
278
|
+
|
|
77
279
|
## Running unit tests
|
|
78
280
|
|
|
79
281
|
Run `nx test ng-notifications` to execute the unit tests.
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken, Injectable, inject, makeEnvironmentProviders } from '@angular/core';
|
|
2
|
+
import { InjectionToken, Injectable, inject, PLATFORM_ID, makeEnvironmentProviders } from '@angular/core';
|
|
3
3
|
import { ToastrService, provideToastr } from 'ngx-toastr';
|
|
4
|
-
import { of, from } from 'rxjs';
|
|
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
|
+
import { isPlatformBrowser } from '@angular/common';
|
|
8
9
|
|
|
9
10
|
// Type definitions for notifications
|
|
10
11
|
|
|
@@ -170,10 +171,7 @@ class SnackbarProvider extends NotificationProviderBase {
|
|
|
170
171
|
type: 'success',
|
|
171
172
|
message: props.message,
|
|
172
173
|
title: props.title,
|
|
173
|
-
config:
|
|
174
|
-
duration: NOTIFICATION_DURATIONS.MEDIUM,
|
|
175
|
-
...props.config,
|
|
176
|
-
},
|
|
174
|
+
config: props.config,
|
|
177
175
|
});
|
|
178
176
|
}
|
|
179
177
|
error(props) {
|
|
@@ -181,10 +179,7 @@ class SnackbarProvider extends NotificationProviderBase {
|
|
|
181
179
|
type: 'error',
|
|
182
180
|
message: props.message,
|
|
183
181
|
title: props.title,
|
|
184
|
-
config:
|
|
185
|
-
duration: NOTIFICATION_DURATIONS.LONG,
|
|
186
|
-
...props.config,
|
|
187
|
-
},
|
|
182
|
+
config: props.config,
|
|
188
183
|
});
|
|
189
184
|
}
|
|
190
185
|
warning(props) {
|
|
@@ -192,10 +187,7 @@ class SnackbarProvider extends NotificationProviderBase {
|
|
|
192
187
|
type: 'warning',
|
|
193
188
|
message: props.message,
|
|
194
189
|
title: props.title,
|
|
195
|
-
config:
|
|
196
|
-
duration: NOTIFICATION_DURATIONS.MEDIUM,
|
|
197
|
-
...props.config,
|
|
198
|
-
},
|
|
190
|
+
config: props.config,
|
|
199
191
|
});
|
|
200
192
|
}
|
|
201
193
|
info(props) {
|
|
@@ -203,10 +195,7 @@ class SnackbarProvider extends NotificationProviderBase {
|
|
|
203
195
|
type: 'info',
|
|
204
196
|
message: props.message,
|
|
205
197
|
title: props.title,
|
|
206
|
-
config:
|
|
207
|
-
duration: NOTIFICATION_DURATIONS.MEDIUM,
|
|
208
|
-
...props.config,
|
|
209
|
-
},
|
|
198
|
+
config: props.config,
|
|
210
199
|
});
|
|
211
200
|
}
|
|
212
201
|
confirm(config) {
|
|
@@ -237,7 +226,57 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
|
|
|
237
226
|
}]
|
|
238
227
|
}] });
|
|
239
228
|
|
|
229
|
+
class ThemeDetectorService {
|
|
230
|
+
themeSubject = new BehaviorSubject('material-ui-light');
|
|
231
|
+
platformId = inject(PLATFORM_ID);
|
|
232
|
+
theme$ = this.themeSubject.asObservable();
|
|
233
|
+
constructor() {
|
|
234
|
+
if (isPlatformBrowser(this.platformId)) {
|
|
235
|
+
this.detectTheme();
|
|
236
|
+
this.watchThemeChanges();
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
detectTheme() {
|
|
240
|
+
if (!isPlatformBrowser(this.platformId))
|
|
241
|
+
return;
|
|
242
|
+
const isDark = document.body.classList.contains('dark-theme') ||
|
|
243
|
+
document.documentElement.classList.contains('dark-theme');
|
|
244
|
+
this.themeSubject.next(isDark ? 'material-ui-dark' : 'material-ui-light');
|
|
245
|
+
}
|
|
246
|
+
watchThemeChanges() {
|
|
247
|
+
if (!isPlatformBrowser(this.platformId))
|
|
248
|
+
return;
|
|
249
|
+
const observer = new MutationObserver(() => this.detectTheme());
|
|
250
|
+
observer.observe(document.body, { attributes: true, attributeFilter: ['class'] });
|
|
251
|
+
observer.observe(document.documentElement, { attributes: true, attributeFilter: ['class'] });
|
|
252
|
+
}
|
|
253
|
+
getCurrentTheme() {
|
|
254
|
+
return this.themeSubject.value;
|
|
255
|
+
}
|
|
256
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: ThemeDetectorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
257
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: ThemeDetectorService, providedIn: 'root' });
|
|
258
|
+
}
|
|
259
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: ThemeDetectorService, decorators: [{
|
|
260
|
+
type: Injectable,
|
|
261
|
+
args: [{
|
|
262
|
+
providedIn: 'root',
|
|
263
|
+
}]
|
|
264
|
+
}], ctorParameters: () => [] });
|
|
265
|
+
|
|
240
266
|
class SweetAlertProvider extends NotificationProviderBase {
|
|
267
|
+
config = inject(NOTIFICATION_CONFIG);
|
|
268
|
+
themeDetector = inject(ThemeDetectorService);
|
|
269
|
+
getTheme() {
|
|
270
|
+
const configTheme = this.config.sweetalert?.defaultTheme;
|
|
271
|
+
// Default to 'auto' if no theme specified
|
|
272
|
+
if (!configTheme || configTheme === 'auto') {
|
|
273
|
+
// Auto-detect theme based on CSS classes
|
|
274
|
+
const isDark = document?.body?.classList?.contains('dark-theme') ||
|
|
275
|
+
document?.documentElement?.classList?.contains('dark-theme');
|
|
276
|
+
return isDark ? 'material-ui-dark' : 'material-ui-light';
|
|
277
|
+
}
|
|
278
|
+
return configTheme;
|
|
279
|
+
}
|
|
241
280
|
success(props) {
|
|
242
281
|
return this.showAlert({ ...props, type: 'success' });
|
|
243
282
|
}
|
|
@@ -261,6 +300,7 @@ class SweetAlertProvider extends NotificationProviderBase {
|
|
|
261
300
|
cancelButtonText: config.cancelButtonText || 'Cancel',
|
|
262
301
|
allowOutsideClick: config.allowOutsideClick !== false,
|
|
263
302
|
customClass: config.customClass ? { container: config.customClass } : undefined,
|
|
303
|
+
theme: this.getTheme(),
|
|
264
304
|
};
|
|
265
305
|
return from(Swal.fire(swalConfig)).pipe(map(result => ({
|
|
266
306
|
isConfirmed: result.isConfirmed,
|
|
@@ -276,9 +316,8 @@ class SweetAlertProvider extends NotificationProviderBase {
|
|
|
276
316
|
title: props.title,
|
|
277
317
|
text: props.message,
|
|
278
318
|
icon: props.type,
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
timerProgressBar: true,
|
|
319
|
+
theme: this.getTheme(),
|
|
320
|
+
...(duration ? { timer: duration, timerProgressBar: true } : {}),
|
|
282
321
|
...otherConfig,
|
|
283
322
|
};
|
|
284
323
|
return from(Swal.fire(swalConfig)).pipe(map(result => ({
|
|
@@ -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/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctbm90aWZpY2F0aW9ucy9zcmMvbGliL3R5cGVzL25vdGlmaWNhdGlvbi50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxQ0FBcUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUeXBlIGRlZmluaXRpb25zIGZvciBub3RpZmljYXRpb25zXG5cbmV4cG9ydCB0eXBlIE5vdGlmaWNhdGlvblR5cGUgPSAnc3VjY2VzcycgfCAnZXJyb3InIHwgJ3dhcm5pbmcnIHwgJ2luZm8nO1xuZXhwb3J0IHR5cGUgTm90aWZpY2F0aW9uUG9zaXRpb24gPVxuICB8ICd0b3AtcmlnaHQnXG4gIHwgJ3RvcC1sZWZ0J1xuICB8ICdib3R0b20tcmlnaHQnXG4gIHwgJ2JvdHRvbS1sZWZ0J1xuICB8ICd0b3AtY2VudGVyJ1xuICB8ICdib3R0b20tY2VudGVyJztcbmV4cG9ydCB0eXBlIE5vdGlmaWNhdGlvblByb3ZpZGVyID0gJ3RvYXN0cicgfCAnc25hY2tiYXInIHwgJ3N3ZWV0YWxlcnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VOb3RpZmljYXRpb25Db25maWcge1xuICByZWFkb25seSBtZXNzYWdlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHRpdGxlPzogc3RyaW5nO1xuICByZWFkb25seSB0eXBlPzogTm90aWZpY2F0aW9uVHlwZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOb3RpZmljYXRpb25DYWxsUHJvcHMgZXh0ZW5kcyBCYXNlTm90aWZpY2F0aW9uQ29uZmlnIHtcbiAgcmVhZG9ubHkgY29uZmlnPzogdW5rbm93bjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTd2VldEFsZXJ0Q29uZmlnIGV4dGVuZHMgQmFzZU5vdGlmaWNhdGlvbkNvbmZpZyB7XG4gIHJlYWRvbmx5IGNvbmZpcm1CdXR0b25UZXh0Pzogc3RyaW5nO1xuICByZWFkb25seSBjYW5jZWxCdXR0b25UZXh0Pzogc3RyaW5nO1xuICByZWFkb25seSBzaG93Q2FuY2VsQnV0dG9uPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgYWxsb3dPdXRzaWRlQ2xpY2s/OiBib29sZWFuO1xuICByZWFkb25seSBjdXN0b21DbGFzcz86IHN0cmluZztcbiAgcmVhZG9ubHkgaHRtbD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOb3RpZmljYXRpb25SZXN1bHQge1xuICBpc0NvbmZpcm1lZD86IGJvb2xlYW47XG4gIGlzRGVuaWVkPzogYm9vbGVhbjtcbiAgaXNEaXNtaXNzZWQ/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3RyLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nLW5vdGlmaWNhdGlvbnMvc3JjL2xpYi9jb25maWcvdG9hc3RyLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSy9DLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLElBQUksY0FBYyxDQUMxRCw0QkFBNEIsRUFDNUI7SUFDRSxVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNkLGFBQWEsRUFBRSxxQkFBcUI7UUFDcEMsT0FBTyxFQUFFLElBQUk7UUFDYixlQUFlLEVBQUUsSUFBSTtRQUNyQixXQUFXLEVBQUUsSUFBSTtRQUNqQixXQUFXLEVBQUUsSUFBSTtLQUNsQixDQUFDO0NBQ0gsQ0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEluZGl2aWR1YWxDb25maWcgfSBmcm9tICduZ3gtdG9hc3RyJztcblxuZXhwb3J0IHR5cGUgVG9hc3RyTm90aWZpY2F0aW9uQ29uZmlnID0gUGFydGlhbDxJbmRpdmlkdWFsQ29uZmlnPjtcblxuZXhwb3J0IGNvbnN0IFRPQVNUUl9OT1RJRklDQVRJT05fQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPFRvYXN0ck5vdGlmaWNhdGlvbkNvbmZpZz4oXG4gICd0b2FzdHItbm90aWZpY2F0aW9uLWNvbmZpZycsXG4gIHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG4gICAgZmFjdG9yeTogKCkgPT4gKHtcbiAgICAgIHBvc2l0aW9uQ2xhc3M6ICd0b2FzdC1ib3R0b20tY2VudGVyJyxcbiAgICAgIHRpbWVPdXQ6IDUwMDAsXG4gICAgICBleHRlbmRlZFRpbWVPdXQ6IDE1MDAsXG4gICAgICBjbG9zZUJ1dHRvbjogdHJ1ZSxcbiAgICAgIG5ld2VzdE9uVG9wOiB0cnVlLFxuICAgIH0pLFxuICB9LFxuKTtcbiJdfQ==","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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXIuY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctbm90aWZpY2F0aW9ucy9zcmMvbGliL2NvbmZpZy9zbmFja2Jhci5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVMvQyxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBbUI7SUFDckQsUUFBUSxFQUFFLElBQUk7SUFDZCxrQkFBa0IsRUFBRSxRQUFRO0lBQzVCLGdCQUFnQixFQUFFLFFBQVE7SUFDMUIsVUFBVSxFQUFFLEVBQUU7SUFDZCxhQUFhLEVBQUUsT0FBTztJQUN0QixXQUFXLEVBQUUsSUFBSTtJQUNqQixZQUFZLEVBQUUsSUFBSTtDQUNuQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLElBQUksY0FBYyxDQUFpQiwyQkFBMkIsRUFBRTtJQUM3RixVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsdUJBQXVCO0NBQ3ZDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRTbmFja0JhckNvbmZpZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU25hY2tiYXJDb25maWcgZXh0ZW5kcyBNYXRTbmFja0JhckNvbmZpZyB7XG4gIHJlYWRvbmx5IGRlZmF1bHRBY3Rpb24/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.2\", ngImport: i0, type: NotificationProviderBase, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: NotificationProviderBase });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: NotificationProviderBase, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctbm90aWZpY2F0aW9ucy9zcmMvbGliL3Byb3ZpZGVycy9ub3RpZmljYXRpb24ucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUzNELE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLElBQUksY0FBYyxDQUNuRCxxQkFBcUIsQ0FDdEIsQ0FBQztBQVVGLE1BQU0sT0FBZ0Isd0JBQXdCO3VHQUF4Qix3QkFBd0I7MkdBQXhCLHdCQUF3Qjs7MkZBQXhCLHdCQUF3QjtrQkFEN0MsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBOb3RpZmljYXRpb25DYWxsUHJvcHMsXG4gIE5vdGlmaWNhdGlvblJlc3VsdCxcbiAgU3dlZXRBbGVydENvbmZpZyxcbiAgTm90aWZpY2F0aW9uUHJvdmlkZXIsXG59IGZyb20gJy4uL3R5cGVzL25vdGlmaWNhdGlvbi50eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBOT1RJRklDQVRJT05fQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPE5vdGlmaWNhdGlvblByb3ZpZGVyQ29uZmlnPihcbiAgJ05PVElGSUNBVElPTl9DT05GSUcnLFxuKTtcblxuZXhwb3J0IGludGVyZmFjZSBOb3RpZmljYXRpb25Qcm92aWRlckNvbmZpZyB7XG4gIGRlZmF1bHRQcm92aWRlcjogTm90aWZpY2F0aW9uUHJvdmlkZXI7XG4gIHRvYXN0cj86IHVua25vd247XG4gIHNuYWNrYmFyPzogdW5rbm93bjtcbiAgc3dlZXRhbGVydD86IHVua25vd247XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBOb3RpZmljYXRpb25Qcm92aWRlckJhc2Uge1xuICBhYnN0cmFjdCBzdWNjZXNzKHByb3BzOiBOb3RpZmljYXRpb25DYWxsUHJvcHMpOiB2b2lkIHwgT2JzZXJ2YWJsZTxOb3RpZmljYXRpb25SZXN1bHQ+O1xuICBhYnN0cmFjdCBlcnJvcihwcm9wczogTm90aWZpY2F0aW9uQ2FsbFByb3BzKTogdm9pZCB8IE9ic2VydmFibGU8Tm90aWZpY2F0aW9uUmVzdWx0PjtcbiAgYWJzdHJhY3Qgd2FybmluZyhwcm9wczogTm90aWZpY2F0aW9uQ2FsbFByb3BzKTogdm9pZCB8IE9ic2VydmFibGU8Tm90aWZpY2F0aW9uUmVzdWx0PjtcbiAgYWJzdHJhY3QgaW5mbyhwcm9wczogTm90aWZpY2F0aW9uQ2FsbFByb3BzKTogdm9pZCB8IE9ic2VydmFibGU8Tm90aWZpY2F0aW9uUmVzdWx0PjtcbiAgYWJzdHJhY3QgY29uZmlybShjb25maWc6IFN3ZWV0QWxlcnRDb25maWcpOiBPYnNlcnZhYmxlPE5vdGlmaWNhdGlvblJlc3VsdD47XG59XG4iXX0=","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.2\", ngImport: i0, type: ToastrProvider, deps: null, target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ToastrProvider, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ToastrProvider, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3RyLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctbm90aWZpY2F0aW9ucy9zcmMvbGliL3Byb3ZpZGVycy90b2FzdHIucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFvQixhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDN0QsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFtQnJFLE1BQU0sT0FBTyxjQUFlLFNBQVEsd0JBQXdCO0lBQ3pDLGFBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdEMsTUFBTSxHQUFHLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBRTdEOztPQUVHO0lBQ0gsSUFBSSxDQUFDLEtBQXNCO1FBQ3pCLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLEdBQUcsS0FBSyxDQUFDO1FBQ2pFLE1BQU0sWUFBWSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsZUFBZSxFQUFFLENBQUM7UUFFNUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxPQUFPLENBQUMsS0FBNEI7UUFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUNSLElBQUksRUFBRSxTQUFTO1lBQ2YsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO1lBQ3RCLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztZQUNsQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQW1DO1NBQ25ELENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBNEI7UUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUNSLElBQUksRUFBRSxPQUFPO1lBQ2IsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO1lBQ3RCLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztZQUNsQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQW1DO1NBQ25ELENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBNEI7UUFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUNSLElBQUksRUFBRSxTQUFTO1lBQ2YsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO1lBQ3RCLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztZQUNsQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQW1DO1NBQ25ELENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLENBQUMsS0FBNEI7UUFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQztZQUNSLElBQUksRUFBRSxNQUFNO1lBQ1osT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO1lBQ3RCLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztZQUNsQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQW1DO1NBQ25ELENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxPQUFPLENBQUMsTUFBd0I7UUFDOUIsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssSUFBSSxFQUFFLEtBQUssTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDbkUsT0FBTyxFQUFFLENBQUMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNyQyxDQUFDO3VHQXJEVSxjQUFjOzJHQUFkLGNBQWMsY0FGYixNQUFNOzsyRkFFUCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW5kaXZpZHVhbENvbmZpZywgVG9hc3RyU2VydmljZSB9IGZyb20gJ25neC10b2FzdHInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvblByb3ZpZGVyQmFzZSB9IGZyb20gJy4vbm90aWZpY2F0aW9uLnByb3ZpZGVyJztcbmltcG9ydCB7IFRPQVNUUl9OT1RJRklDQVRJT05fQ09ORklHIH0gZnJvbSAnLi4vY29uZmlnL3RvYXN0ci5jb25maWcnO1xuaW1wb3J0IHtcbiAgTm90aWZpY2F0aW9uQ2FsbFByb3BzLFxuICBOb3RpZmljYXRpb25SZXN1bHQsXG4gIFN3ZWV0QWxlcnRDb25maWcsXG59IGZyb20gJy4uL3R5cGVzL25vdGlmaWNhdGlvbi50eXBlcyc7XG5cbmV4cG9ydCB0eXBlIFRvYXN0clR5cGUgPSAnc3VjY2VzcycgfCAnZXJyb3InIHwgJ3dhcm5pbmcnIHwgJ2luZm8nO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRvYXN0clNob3dQcm9wcyB7XG4gIHJlYWRvbmx5IHR5cGU6IFRvYXN0clR5cGU7XG4gIHJlYWRvbmx5IG1lc3NhZ2U6IHN0cmluZztcbiAgcmVhZG9ubHkgdGl0bGU/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 { NOTIFICATION_DURATIONS } from '../constants/notification.constants';\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: {\n duration: NOTIFICATION_DURATIONS.MEDIUM,\n ...props.config,\n },\n });\n }\n error(props) {\n this.show({\n type: 'error',\n message: props.message,\n title: props.title,\n config: {\n duration: NOTIFICATION_DURATIONS.LONG,\n ...props.config,\n },\n });\n }\n warning(props) {\n this.show({\n type: 'warning',\n message: props.message,\n title: props.title,\n config: {\n duration: NOTIFICATION_DURATIONS.MEDIUM,\n ...props.config,\n },\n });\n }\n info(props) {\n this.show({\n type: 'info',\n message: props.message,\n title: props.title,\n config: {\n duration: NOTIFICATION_DURATIONS.MEDIUM,\n ...props.config,\n },\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.2\", ngImport: i0, type: SnackbarProvider, deps: null, target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: SnackbarProvider, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: SnackbarProvider, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXIucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy1ub3RpZmljYXRpb25zL3NyYy9saWIvcHJvdmlkZXJzL3NuYWNrYmFyLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQWtCLE1BQU0sMkJBQTJCLENBQUM7QUFDNUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUNBQXFDLENBQUM7O0FBVzdFLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSx3QkFBd0I7SUFDM0MsUUFBUSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMvQixNQUFNLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBRWxEOztPQUVHO0lBQ0gsSUFBSSxDQUFDLEtBQW9CO1FBQ3ZCLE1BQU0sRUFDSixJQUFJLEVBQ0osT0FBTyxFQUNQLEtBQUssRUFDTCxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQ2xDLE1BQU0sRUFBRSxVQUFVLEdBQUcsRUFBRSxHQUN4QixHQUFHLEtBQUssQ0FBQztRQUVWLE1BQU0sU0FBUyxHQUFHLHNCQUFzQixJQUFJLEVBQUUsQ0FBQztRQUMvQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUU5RSxNQUFNLFdBQVcsR0FBRztZQUNsQixHQUFHLElBQUksQ0FBQyxNQUFNO1lB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Q2hDLENBQUM7dUdBbEdVLGdCQUFnQjsyR0FBaEIsZ0JBQWdCLGNBRmYsTUFBTTs7MkZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvblByb3ZpZGVyQmFzZSB9IGZyb20gJy4vbm90aWZpY2F0aW9uLnByb3ZpZGVyJztcbmltcG9ydCB7IFNOQUNLQkFSX0NPTkZJRywgU25hY2tiYXJDb25maWcgfSBmcm9tICcuLi9jb25maWcvc25hY2tiYXIuY29uZmlnJztcbmltcG9ydCB7IE5PVElGSUNBVElPTl9EVVJBVElPTlMgfSBmcm9tICcuLi9jb25zdGFudHMvbm90aWZpY2F0aW9uLmNvbnN0YW50cyc7XG5pbXBvcnQge1xuICBOb3RpZmljYXRpb25DYWxsUHJvcHMsXG4gIE5vdGlmaWNhdGlvblJlc3VsdCxcbiAgU3dlZXRBbGVydENvbmZpZyxcbn0gZnJvbSAnLi4vdHlwZXMvbm90aWZpY2F0aW9uLnR5cGVzJztcbmltcG9ydCB7IFNuYWNrYmFyUHJvcHMgfSBmcm9tICcuLi9tb2RlbHMvbm90aWZpY2F0aW9uLm1vZGVscyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTbmFja2JhclByb3ZpZGVyIGV4dGVuZHMgTm90aWZpY2F0aW9uUHJvdmlkZXJCYXNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBzbmFja0JhciA9IGluamVjdChNYXRTbmFja0Jhcik7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0KFNOQUNLQkFSX0NPTkZJRyk7XG5cbiAgLyoqXG4gICAqIERpc3BsYXkgYSBzbmFja2JhciB3aXRoIHNwZWNpZmljIHR5cGUgYW5kIGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIHNob3cocHJvcHM6IFNuYWNrYmFyUHJvcHMpOiB2b2lkIHtcbiAgICBjb25zdCB7XG4gICAgICB0eXBlLFxuICAgICAgbWVzc2FnZSxcbiAgICAgIHRpdGxlLFxuICAgICAgYWN0aW9uID0gdGhpcy5jb25maWcuZGVmYXVsdEFjdGlvbixcbiAgICAgIGNvbmZpZzogdXNlckNvbmZpZyA9IHt9LFxuICAgIH0gPSBwcm9wcztcblxuICAgIGNvbnN0IHR5cGVDbGFzcyA9IGBhY29udHBsdXMtc25hY2tiYXItJHt0eXBlfWA7XG4gICAgY29uc3QgcGFuZWxDbGFzc2VzID0gdGhpcy5idWlsZFBhbmVsQ2xhc3Nlcyh0eXBlQ2xhc3MsIHVzZXJDb25maWcucGFuZWxDbGFzcyk7XG5cbiAgICBjb25zdCBmaW5hbENvbmZpZyA9IHtcbiAgICAgIC4uLnRoaXMuY29uZmlnLFxuICAgICAgLi4udXNlckNvbmZpZyxcbiAgICAgIHBhbmVsQ2xhc3M6IHBhbmVsQ2xhc3NlcyxcbiAgICB9O1xuXG4gICAgY29uc3QgZGlzcGxheU1lc3NhZ2UgPSB0aGlzLmJ1aWxkTWVzc2FnZShtZXNzYWdlLCB0aXRsZSk7XG4gICAgdGhpcy5zbmFja0Jhci5vcGVuKGRpc3BsYXlNZXNzYWdlLCBhY3Rpb24sIGZpbmFsQ29uZmlnKTtcbiAgfVxuXG4gIHN1Y2Nlc3MocHJvcHM6IE5vdGlmaWNhdGlvbkNhbGxQcm9wcyk6IHZvaWQge1xuICAgIHRoaXMuc2hvdyh7XG4gICAgICB0eXBlOiAnc3VjY2VzcycsXG4gICAgICBtZXNzYWdlOiBwcm9wcy5tZXNzYWdlLFxuICAgICAgdGl0bGU6IHByb3BzLnRpdGxlLFxuICAgICAgY29uZmlnOiB7XG4gICAgICAgIGR1cmF0aW9uOiBOT1RJRklDQVRJT05fRFVSQVRJT05TLk1FRElVTSxcbiAgICAgICAgLi4uKHByb3BzLmNvbmZpZyBhcyBQYXJ0aWFsPFNuYWNrYmFyQ29uZmlnPiksXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgZXJyb3IocHJvcHM6IE5vdGlmaWNhdGlvbkNhbGxQcm9wcyk6IHZvaWQge1xuICAgIHRoaXMuc2hvdyh7XG4gICAgICB0eXBlOiAnZXJyb3InLFxuICAgICAgbWVzc2FnZTogcHJvcHMubWVzc2FnZSxcbiAgICAgIHRpdGxlOiBwcm9wcy50aXRsZSxcbiAgICAgIGNvbmZpZzoge1xuICAgICAgICBkdXJhdGlvbjogTk9USUZJQ0FUSU9OX0RVUkFUSU9OUy5MT05HLFxuICAgICAgICAuLi4ocHJvcHMuY29uZmlnIGFzIFBhcnRpYWw8U25hY2tiYXJDb25maWc+KSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICB3YXJuaW5nKHByb3BzOiBOb3RpZmljYXRpb25DYWxsUHJvcHMpOiB2b2lkIHtcbiAgICB0aGlzLnNob3coe1xuICAgICAgdHlwZTogJ3dhcm5pbmcnLFxuICAgICAgbWVzc2FnZTogcHJvcHMubWVzc2FnZSxcbiAgICAgIHRpdGxlOiBwcm9wcy50aXRsZSxcbiAgICAgIGNvbmZpZzoge1xuICAgICAgICBkdXJhdGlvbjogTk9USUZJQ0FUSU9OX0RVUkFUSU9OUy5NRURJVU0sXG4gICAgICAgIC4uLihwcm9wcy5jb25maWcgYXMgUGFydGlhbDxTbmFja2JhckNvbmZpZz4pLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIGluZm8ocHJvcHM6IE5vdGlmaWNhdGlvbkNhbGxQcm9wcyk6IHZvaWQge1xuICAgIHRoaXMuc2hvdyh7XG4gICAgICB0eXBlOiAnaW5mbycsXG4gICAgICBtZXNzYWdlOiBwcm9wcy5tZXNzYWdlLFxuICAgICAgdGl0bGU6IHByb3BzLnRpdGxlLFxuICAgICAgY29uZmlnOiB7XG4gICAgICAgIGR1cmF0aW9uOiBOT1RJRklDQVRJT05fRFVSQVRJT05TLk1FRElVTSxcbiAgICAgICAgLi4uKHByb3BzLmNvbmZpZyBhcyBQYXJ0aWFsPFNuYWNrYmFyQ29uZmlnPiksXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgY29uZmlybShjb25maWc6IFN3ZWV0QWxlcnRDb25maWcpOiBPYnNlcnZhYmxlPE5vdGlmaWNhdGlvblJlc3VsdD4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IGNvbmZpcm0oYCR7Y29uZmlnLnRpdGxlIHx8ICcnfVxcbiR7Y29uZmlnLm1lc3NhZ2V9YCk7XG4gICAgcmV0dXJuIG9mKHsgaXNDb25maXJtZWQ6IHJlc3VsdCB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRQYW5lbENsYXNzZXModHlwZUNsYXNzOiBzdHJpbmcsIHVzZXJDbGFzc2VzPzogc3RyaW5nIHwgc3RyaW5nW10pOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgY2xhc3NlcyA9IFsnYWNvbnRwbHVzLXNuYWNrYmFyJywgdHlwZUNsYXNzXTtcblxuICAgIGlmICh1c2VyQ2xhc3Nlcykge1xuICAgICAgY29uc3Qgbm9ybWFsaXplZENsYXNzZXMgPSBBcnJheS5pc0FycmF5KHVzZXJDbGFzc2VzKSA/IHVzZXJDbGFzc2VzIDogW3VzZXJDbGFzc2VzXTtcbiAgICAgIGNsYXNzZXMucHVzaCguLi5ub3JtYWxpemVkQ2xhc3Nlcyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNsYXNzZXM7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkTWVzc2FnZShtZXNzYWdlOiBzdHJpbmcsIHRpdGxlPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuY29uZmlnLnRpdGxlRW5hYmxlZCB8fCAhdGl0bGUpIHtcbiAgICAgIHJldHVybiBtZXNzYWdlO1xuICAgIH1cbiAgICByZXR1cm4gYCR7dGl0bGV9OiAke21lc3NhZ2V9YDtcbiAgfVxufVxuIl19","import { Injectable } from '@angular/core';\nimport { from } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport Swal from 'sweetalert2';\nimport { NotificationProviderBase } from './notification.provider';\nimport * as i0 from \"@angular/core\";\nexport class SweetAlertProvider extends NotificationProviderBase {\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 };\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 timer: duration || 5000,\n showConfirmButton: true,\n 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.2\", ngImport: i0, type: SweetAlertProvider, deps: null, target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: SweetAlertProvider, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: SweetAlertProvider, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dlZXRhbGVydC5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nLW5vdGlmaWNhdGlvbnMvc3JjL2xpYi9wcm92aWRlcnMvc3dlZXRhbGVydC5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sSUFBSSxNQUFNLGFBQWEsQ0FBQztBQUMvQixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFXbkUsTUFBTSxPQUFPLGtCQUFtQixTQUFRLHdCQUF3QjtJQUM5RCxPQUFPLENBQUMsS0FBNEI7UUFDbEMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUE0QjtRQUNoQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQTRCO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxJQUFJLENBQUMsS0FBNEI7UUFDL0IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELE9BQU8sQ0FBQyxNQUF3QjtRQUM5QixNQUFNLFVBQVUsR0FBRztZQUNqQixLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUs7WUFDbkIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxPQUFPO1lBQ3BCLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTtZQUNqQixJQUFJLEVBQUUsVUFBbUI7WUFDekIsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixLQUFLLEtBQUs7WUFDbkQsaUJBQWlCLEVBQUUsTUFBTSxDQUFDLGlCQUFpQixJQUFJLFNBQVM7WUFDeEQsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixJQUFJLFFBQVE7WUFDckQsaUJBQWlCLEVBQUUsTUFBTSxDQUFDLGlCQUFpQixLQUFLLEtBQUs7WUFDckQsV0FBVyxFQUFFLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUztTQUNoRixDQUFDO1FBRUYsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDckMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNiLFdBQVcsRUFBRSxNQUFNLENBQUMsV0FBVztZQUMvQixRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVE7WUFDekIsV0FBVyxFQUFFLE1BQU0sQ0FBQyxXQUFXO1lBQy9CLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSztTQUNwQixDQUFDLENBQUMsQ0FDSixDQUFDO0lBQ0osQ0FBQztJQUVPLFNBQVMsQ0FDZixLQUF5RDtRQUV6RCxNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsTUFBNkMsQ0FBQztRQUMxRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsV0FBVyxFQUFFLEdBQUcsYUFBYSxJQUFJLEVBQUUsQ0FBQztRQUN6RCxNQUFNLFVBQVUsR0FBRztZQUNqQixLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7WUFDbEIsSUFBSSxFQUFFLEtBQUssQ0FBQyxPQUFPO1lBQ25CLElBQUksRUFBRSxLQUFLLENBQUMsSUFBZ0Q7WUFDNUQsS0FBSyxFQUFHLFFBQW1CLElBQUksSUFBSTtZQUNuQyxpQkFBaUIsRUFBRSxJQUFJO1lBQ3ZCLGdCQUFnQixFQUFFLElBQUk7WUFDdEIsR0FBRyxXQUFXO1NBQ2YsQ0FBQztRQUVGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ3JDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDYixXQUFXLEVBQUUsTUFBTSxDQUFDLFdBQVc7WUFDL0IsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRO1lBQ3pCLFdBQVcsRUFBRSxNQUFNLENBQUMsV0FBVztZQUMvQixLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUs7U0FDcEIsQ0FBQyxDQUFDLENBQ0osQ0FBQztJQUNKLENBQUM7dUdBL0RVLGtCQUFrQjsyR0FBbEIsa0JBQWtCLGNBRmpCLE1BQU07OzJGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgU3dhbCBmcm9tICdzd2VldGFsZXJ0Mic7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25Qcm92aWRlckJhc2UgfSBmcm9tICcuL25vdGlmaWNhdGlvbi5wcm92aWRlcic7XG5pbXBvcnQge1xuICBOb3RpZmljYXRpb25DYWxsUHJvcHMsXG4gIE5vdGlmaWNhdGlvblJlc3VsdCxcbiAgTm90aWZpY2F0aW9uVHlwZSxcbiAgU3dlZXRBbGVydENvbmZpZyxcbn0gZnJvbSAnLi4vdHlwZXMvbm90aWZpY2F0aW9uLnR5cGVzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFN3ZWV0QWxlcnRQcm92aWRlciBleHRlbmRzIE5vdGlmaWNhdGlvblByb3ZpZGVyQmFzZSB7XG4gIHN1Y2Nlc3MocHJvcHM6IE5vdGlmaWNhdGlvbkNhbGxQcm9wcyk6IE9ic2VydmFibGU8Tm90aWZpY2F0aW9uUmVzdWx0PiB7XG4gICAgcmV0dXJuIHRoaXMuc2hvd0FsZXJ0KHsgLi4ucHJvcHMsIHR5cGU6ICdzdWNjZXNzJyB9KTtcbiAgfVxuXG4gIGVycm9yKHByb3BzOiBOb3RpZmljYXRpb25DYWxsUHJvcHMpOiBPYnNlcnZhYmxlPE5vdGlmaWNhdGlvblJlc3VsdD4ge1xuICAgIHJldHVybiB0aGlzLnNob3dBbGVydCh7IC4uLnByb3BzLCB0eXBlOiAnZXJyb3InIH0pO1xuICB9XG5cbiAgd2FybmluZyhwcm9wczogTm90aWZpY2F0aW9uQ2FsbFByb3BzKTogT2JzZXJ2YWJsZTxOb3RpZmljYXRpb25SZXN1bHQ+IHtcbiAgICByZXR1cm4gdGhpcy5zaG93QWxlcnQoeyAuLi5wcm9wcywgdHlwZTogJ3dhcm5pbmcnIH0pO1xuICB9XG5cbiAgaW5mbyhwcm9wczogTm90aWZpY2F0aW9uQ2FsbFByb3BzKTogT2JzZXJ2YWJsZTxOb3RpZmljYXRpb25SZXN1bHQ+IHtcbiAgICByZXR1cm4gdGhpcy5zaG93QWxlcnQoeyAuLi5wcm9wcywgdHlwZTogJ2luZm8nIH0pO1xuICB9XG5cbiAgY29uZmlybShjb25maWc6IFN3ZWV0QWxlcnRDb25maWcpOiBPYnNlcnZhYmxlPE5vdGlmaWNhdGlvblJlc3VsdD4ge1xuICAgIGNvbnN0IHN3YWxDb25maWcgPSB7XG4gICAgICB0aXRsZTogY29uZmlnLnRpdGxlLFxuICAgICAgdGV4dDogY29uZmlnLm1lc3NhZ2UsXG4gICAgICBodG1sOiBjb25maWcuaHRtbCxcbiAgICAgIGljb246ICdxdWVzdGlvbicgYXMgY29uc3QsXG4gICAgICBzaG93Q2FuY2VsQnV0dG9uOiBjb25maWcuc2hvd0NhbmNlbEJ1dHRvbiAhPT0gZmFsc2UsXG4gICAgICBjb25maXJtQnV0dG9uVGV4dDogY29uZmlnLmNvbmZpcm1CdXR0b25UZXh0IHx8ICdDb25maXJtJyxcbiAgICAgIGNhbmNlbEJ1dHRvblRleHQ6IGNvbmZpZy5jYW5jZWxCdXR0b25UZXh0IHx8ICdDYW5jZWwnLFxuICAgICAgYWxsb3dPdXRzaWRlQ2xpY2s6IGNvbmZpZy5hbGxvd091dHNpZGVDbGljayAhPT0gZmFsc2UsXG4gICAgICBjdXN0b21DbGFzczogY29uZmlnLmN1c3RvbUNsYXNzID8geyBjb250YWluZXI6IGNvbmZpZy5jdXN0b21DbGFzcyB9IDogdW5kZWZpbmVkLFxuICAgIH07XG5cbiAgICByZXR1cm4gZnJvbShTd2FsLmZpcmUoc3dhbENvbmZpZykpLnBpcGUoXG4gICAgICBtYXAocmVzdWx0ID0+ICh7XG4gICAgICAgIGlzQ29uZmlybWVkOiByZXN1bHQuaXNDb25maXJtZWQsXG4gICAgICAgIGlzRGVuaWVkOiByZXN1bHQuaXNEZW5pZWQsXG4gICAgICAgIGlzRGlzbWlzc2VkOiByZXN1bHQuaXNEaXNtaXNzZWQsXG4gICAgICAgIHZhbHVlOiByZXN1bHQudmFsdWUsXG4gICAgICB9KSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc2hvd0FsZXJ0KFxuICAgIHByb3BzOiBOb3RpZmljYXRpb25DYWxsUHJvcHMgJiB7IHR5cGU6IE5vdGlmaWNhdGlvblR5cGUgfSxcbiAgKTogT2JzZXJ2YWJsZTxOb3RpZmljYXRpb25SZXN1bHQ+IHtcbiAgICBjb25zdCBjb25maWdPcHRpb25zID0gcHJvcHMuY29uZmlnIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgdW5kZWZpbmVkO1xuICAgIGNvbnN0IHsgZHVyYXRpb24sIC4uLm90aGVyQ29uZmlnIH0gPSBjb25maWdPcHRpb25zIHx8IHt9O1xuICAgIGNvbnN0IHN3YWxDb25maWcgPSB7XG4gICAgICB0aXRsZTogcHJvcHMudGl0bGUsXG4gICAgICB0ZXh0OiBwcm9wcy5tZXNzYWdlLFxuICAgICAgaWNvbjogcHJvcHMudHlwZSBhcyAnc3VjY2VzcycgfCAnZXJyb3InIHwgJ3dhcm5pbmcnIHwgJ2luZm8nLFxuICAgICAgdGltZXI6IChkdXJhdGlvbiBhcyBudW1iZXIpIHx8IDUwMDAsXG4gICAgICBzaG93Q29uZmlybUJ1dHRvbjogdHJ1ZSxcbiAgICAgIHRpbWVyUHJvZ3Jlc3NCYXI6IHRydWUsXG4gICAgICAuLi5vdGhlckNvbmZpZyxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGZyb20oU3dhbC5maXJlKHN3YWxDb25maWcpKS5waXBlKFxuICAgICAgbWFwKHJlc3VsdCA9PiAoe1xuICAgICAgICBpc0NvbmZpcm1lZDogcmVzdWx0LmlzQ29uZmlybWVkLFxuICAgICAgICBpc0RlbmllZDogcmVzdWx0LmlzRGVuaWVkLFxuICAgICAgICBpc0Rpc21pc3NlZDogcmVzdWx0LmlzRGlzbWlzc2VkLFxuICAgICAgICB2YWx1ZTogcmVzdWx0LnZhbHVlLFxuICAgICAgfSkpLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==","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.2\", ngImport: i0, type: NotificationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: NotificationService, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: NotificationService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy1ub3RpZmljYXRpb25zL3NyYy9saWIvc2VydmljZXMvbm90aWZpY2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUVMLG1CQUFtQixHQUVwQixNQUFNLG9DQUFvQyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQVF0RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7QUFLNUUsTUFBTSxPQUFPLG1CQUFtQjtJQUN0QixNQUFNLEdBQUcsTUFBTSxDQUE2QixtQkFBbUIsQ0FBQyxDQUFDO0lBQ2pFLGNBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDNUMsa0JBQWtCLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFFaEQsU0FBUyxHQUFHLElBQUksR0FBRyxFQUFrRCxDQUFDO0lBQ3RFLGVBQWUsQ0FBMkI7SUFFbEQsNkJBQTZCO0lBQ3BCLFFBQVEsR0FBRyxxQkFBcUIsQ0FBQztJQUUxQztRQUNFLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFD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L0MsTUFBTSxPQUFPLEdBQUcsSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDL0YsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQztZQUN6QixPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsT0FBTztZQUNwQyxLQUFLLEVBQUUsa0JBQWtCO1NBQzFCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUM7WUFDM0IsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLGdCQUFnQjtZQUMvQyxLQUFLLEVBQUUsZUFBZTtTQUN2QixDQUFDLENBQUM7SUFDTCxDQUFDO3VHQW5HVSxtQkFBbUI7MkdBQW5CLG1CQUFtQixjQUZsQixNQUFNOzsyRkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBOb3RpZmljYXRpb25Qcm92aWRlckJhc2UsXG4gIE5PVElGSUNBVElPTl9DT05GSUcsXG4gIE5vdGlmaWNhdGlvblByb3ZpZGVyQ29uZmlnLFxufSBmcm9tICcuLi9wcm92aWRlcnMvbm90aWZpY2F0aW9uLnByb3ZpZGVyJztcbmltcG9ydCB7IFRvYXN0clByb3ZpZGVyIH0gZnJvbSAnLi4vcHJvdmlkZXJzL3RvYXN0ci5wcm92aWRlcic7XG5pbXBvcnQgeyBTbmFja2JhclByb3ZpZGVyIH0gZnJvbSAnLi4vcHJvdmlkZXJzL3NuYWNrYmFyLnByb3ZpZGVyJztcbmltcG9ydCB7IFN3ZWV0QWxlcnRQcm92aWRlciB9IGZyb20gJy4uL3Byb3ZpZGVycy9zd2VldGFsZXJ0LnByb3ZpZGVyJztcbmltcG9ydCB7XG4gIE5vdGlmaWNhdGlvbkNhbGxQcm9wcyxcbiAgTm90aWZpY2F0aW9uUmVzdWx0LFxuICBTd2VldEFsZXJ0Q29uZmlnLFxuICBOb3RpZmljYXRpb25Qcm92aWRlcixcbiAgTm90aWZpY2F0aW9uVHlwZSxcbn0gZnJvbSAnLi4vdHlwZXMvbm90aWZpY2F0aW9uLnR5cGVzJztcbmltcG9ydCB7IE5PVElGSUNBVElPTl9NRVNTQUdFUyB9IGZyb20gJy4uL2NvbnN0YW50cy9ub3RpZmljYXRpb24uY29uc3RhbnRzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvblNlcnZpY2Uge1xuICBwcml2YXRlIGNvbmZpZyA9IGluamVjdDxOb3RpZmljYXRpb25Qcm92aWRlckNvbmZpZz4oTk9USUZJQ0FUSU9OX0NPTkZJRyk7XG4gIHByaXZhdGUgdG9hc3RyUHJvdmlkZXIgPSBpbmplY3QoVG9hc3RyUHJvdmlkZXIpO1xuICBwcml2YXRlIHNuYWNrYmFyUHJvdmlkZXIgPSBpbmplY3QoU25hY2tiYXJQcm92aWRlcik7XG4gIHByaXZhdGUgc3dlZXRBbGVydFByb3ZpZGVyID0gaW5qZWN0KFN3ZWV0QWxlcnRQcm92aWRlcik7XG5cbiAgcHJpdmF0ZSBwcm92aWRlcnMgPSBuZXcgTWFwPE5vdGlmaWNhdGlvblByb3ZpZGVyLCBOb3RpZmljYXRpb25Qcm92aWRlckJhc2U+KCk7XG4gIHByaXZhdGUgY3VycmVudFByb3ZpZGVyOiBOb3RpZmljYXRpb25Qcm92aWRlckJhc2U7XG5cbiAgLy8gRXhwb3NlIHByZWRlZmluZWQgbWVzc2FnZXNcbiAgcmVhZG9ubHkgbWVzc2FnZXMgPSBOT1RJRklDQVRJT05fTUVTU0FHRVM7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5wcm92aWRlcnMuc2V0KCd0b2FzdHInLCB0aGlzLnRvYXN0clByb3ZpZGVyKTtcbiAgICB0aGlzLnByb3ZpZGVycy5zZXQoJ3NuYWNrYmFyJywgdGhpcy5zbmFja2JhclByb3ZpZGVyKTtcbiAgICB0aGlzLnByb3ZpZGVycy5zZXQoJ3N3ZWV0YWxlcnQnLCB0aGlzLnN3ZWV0QWxlcnRQcm92aWRlcik7XG5cbiAgICB0aGlzLmN1cnJlbnRQcm92aWRlciA9XG4gICAgICB0aGlzLnByb3ZpZGVycy5nZXQodGhpcy5jb25maWcuZGVmYXVsdFByb3ZpZGVyKSB8fCB0aGlzLnN3ZWV0QWxlcnRQcm92aWRlcjtcbiAgfVxuXG4gIHNldFByb3ZpZGVyKHByb3ZpZGVyOiBOb3RpZmljYXRpb25Qcm92aWRlcik6IHZvaWQge1xuICAgIGNvbnN0IHByb3ZpZGVySW5zdGFuY2UgPSB0aGlzLnByb3ZpZGVycy5nZXQocHJvdmlkZXIpO1xuICAgIGlmIChwcm92aWRlckluc3RhbmNlKSB7XG4gICAgICB0aGlzLmN1cnJlbnRQcm92aWRlciA9IHByb3ZpZGVySW5zdGFuY2U7XG4gICAgfVxuICB9XG5cbiAgc3VjY2Vzcyhwcm9wczogTm90aWZpY2F0aW9uQ2FsbFByb3BzKTogdm9pZCB8IE9ic2VydmFibGU8Tm90aWZpY2F0aW9uUmVzdWx0PiB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFByb3ZpZGVyLnN1Y2Nlc3MocHJvcHMpO1xuICB9XG5cbiAgZXJyb3IocHJvcHM6IE5vdGlmaWNhdGlvbkNhbGxQcm9wcyk6IHZvaWQgfCBPYnNlcnZhYmxlPE5vdGlmaWNhdGlvblJlc3VsdD4ge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRQcm92aWRlci5lcnJvcihwcm9wcyk7XG4gIH1cblxuICB3YXJuaW5nKHByb3BzOiBOb3RpZmljYXRpb25DYWxsUHJvcHMpOiB2b2lkIHwgT2JzZXJ2YWJsZTxOb3RpZmljYXRpb25SZXN1bHQ+IHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50UHJvdmlkZXIud2FybmluZyhwcm9wcyk7XG4gIH1cblxuICBpbmZvKHByb3BzOiBOb3RpZmljYXRpb25DYWxsUHJvcHMpOiB2b2lkIHwgT2JzZXJ2YWJsZTxOb3RpZmljYXRpb25SZXN1bHQ+IHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50UHJvdmlkZXIuaW5mbyhwcm9wcyk7XG4gIH1cblxuICBjb25maXJtKGNvbmZpZzogU3dlZXRBbGVydENvbmZpZyk6IE9ic2VydmFibGU8Tm90aWZpY2F0aW9uUmVzdWx0PiB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFByb3ZpZGVyLmNvbmZpcm0oY29uZmlnKTtcbiAgfVxuXG4gIHNob3coXG4gICAgcHJvcHM6IHsgdHlwZTogTm90aWZpY2F0aW9uVHlwZSB9ICYgTm90aWZpY2F0aW9uQ2FsbFByb3BzLFxuICApOiB2b2lkIHwgT2JzZXJ2YWJsZTxOb3RpZmljYXRpb25SZXN1bHQ+IHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50UHJvdmlkZXJbcHJvcHMudHlwZV0oe1xuICAgICAgbWVzc2FnZTogcHJvcHMubWVzc2FnZSxcbiAgICAgIHRpdGxlOiBwcm9wcy50aXRsZSxcbiAgICAgIGNvbmZpZzogcHJvcHMuY29uZmlnLFxuICAgIH0pO1xuICB9XG5cbiAgLy8gUHJvdmlkZXItc3BlY2lmaWMgbWV0aG9kcyBtYWludGFpbmluZyB5b3VyIGN1cnJlbnQgQVBJXG4gIGdldCB0b2FzdHIoKTogVG9hc3RyUHJvdmlkZXIge1xuICAgIHJldHVybiB0aGlzLnByb3ZpZGVycy5nZXQoJ3RvYXN0cicpIGFzIFRvYXN0clByb3ZpZGVyO1xuICB9XG5cbiAgZ2V0IHNuYWNrYmFyKCk6IFNuYWNrYmFyUHJvdmlkZXIge1xuICAgIHJldHVybiB0aGlzLnByb3ZpZGVycy5nZXQoJ3NuYWNrYmFyJykgYXMgU25hY2tiYXJQcm92aWRlcjtcbiAgfVxuXG4gIGdldCBzd2VldEFsZXJ0KCk6IFN3ZWV0QWxlcnRQcm92aWRlciB7XG4gICAgcmV0dXJuIHRoaXMucHJvdmlkZXJzLmdldCgnc3dlZXRhbGVydCcpIGFzIFN3ZWV0QWxlcnRQcm92aWRlcjtcbiAgfVxuXG4gIC8vIFF1aWNrIG1ldGhvZHMgdXNpbmcgcHJlZGVmaW5lZCBtZXNzYWdlc1xuICBxdWlja1NhdmUodHlwZTogJ3N1Y2Nlc3MnIHwgJ2Vycm9yJyA9ICdzdWNjZXNzJyk6IHZvaWQge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSB0eXBlID09PSAnc3VjY2VzcycgPyB0aGlzLm1lc3NhZ2VzLlNVQ0NFU1MuU0FWRSA6IHRoaXMubWVzc2FnZXMuRVJST1IuU0FWRTtcbiAgICB0aGlzLmN1cnJlbnRQcm92aWRlclt0eXBlXSh7IG1lc3NhZ2UgfSk7XG4gIH1cblxuICBxdWlja0RlbGV0ZSh0eXBlOiAnc3VjY2VzcycgfCAnZXJyb3InID0gJ3N1Y2Nlc3MnKTogdm9pZCB7XG4gICAgY29uc3QgbWVzc2FnZSA9IHR5cGUgPT09ICdzdWNjZXNzJyA/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctbm90aWZpY2F0aW9ucy9zcmMvbGliL3Byb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXdCLHdCQUF3QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxhQUFhLEVBQWdCLE1BQU0sWUFBWSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxtQkFBbUIsRUFBOEIsTUFBTSxtQ0FBbUMsQ0FBQztBQUNwRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFckUsNENBQTRDO0FBQzVDLE1BQU0scUJBQXFCLEdBQTBCO0lBQ25ELGFBQWEsRUFBRSxxQkFBcUI7SUFDcEMsT0FBTyxFQUFFLElBQUk7SUFDYixlQUFlLEVBQUUsSUFBSTtJQUNyQixXQUFXLEVBQUUsSUFBSTtJQUNqQixXQUFXLEVBQUUsSUFBSTtJQUNqQixpQkFBaUIsRUFBRSxJQUFJO0lBQ3ZCLFdBQVcsRUFBRSxJQUFJO0NBQ2xCLENBQUM7QUFFRixNQUFNLFVBQVUsb0JBQW9CLENBQ2xDLE1BQTRDLEVBQzVDLFlBQW9DO0lBRXBDLE9BQU8sd0JBQXdCLENBQUM7UUFDOUIsYUFBYSxDQUFDO1lBQ1osR0FBRyxxQkFBcUI7WUFDeEIsR0FBRyxZQUFZLEVBQUUsa0RBQWtEO1NBQ3BFLENBQUM7UUFFRix5QkFBeUI7UUFDekIsY0FBYztRQUNkLGdCQUFnQjtRQUNoQixrQkFBa0I7UUFFbEIsZ0JBQWdCO1FBQ2hCO1lBQ0UsT0FBTyxFQUFFLG1CQUFtQjtZQUM1QixRQUFRLEVBQUU7Z0JBQ1IsZUFBZSxFQUFFLFFBQVE7Z0JBQ3pCLEdBQUcsTUFBTTthQUNWO1NBQ0Y7UUFFRCxlQUFlO1FBQ2YsbUJBQW1CO0tBQ3BCLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnZpcm9ubWVudFByb3ZpZGVycywgbWFrZUVudmlyb25tZW50UHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBwcm92aWRlVG9hc3RyLCBHbG9iYWxDb25maWcgfSBmcm9tICduZ3gtdG9hc3RyJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IE5PVElGSUNBVElPTl9DT05GSUcsIE5vdGlmaWNhdGlvblByb3ZpZGVyQ29uZmlnIH0gZnJvbSAnLi9wcm92aWRlcnMvbm90aWZpY2F0aW9uLnByb3ZpZGVyJztcbmltcG9ydCB7IFRvYXN0clByb3ZpZGVyIH0gZnJvbSAnLi9wcm92aWRlcnMvdG9hc3RyLnByb3ZpZGVyJztcbmltcG9ydCB7IFNuYWNrYmFyUHJvdmlkZXIgfSBmcm9tICcuL3Byb3ZpZGVycy9zbmFja2Jhci5wcm92aWRlcic7XG5pbXBvcnQgeyBTd2VldEFsZXJ0UHJvdmlkZXIgfSBmcm9tICcuL3Byb3ZpZGVycy9zd2VldGFsZXJ0LnByb3ZpZGVyJztcblxuLy8gRGVmYXVsdCB0b2FzdHIgY29uZmlnIChjYW4gYmUgb3ZlcnJpZGRlbilcbmNvbnN0IERFRkFVTFRfVE9BU1RSX0NPTkZJRzogUGFydGlhbDxHbG9iYWxDb25maWc+ID0ge1xuICBwb3NpdGlvbkNsYXNzOiAndG9hc3QtYm90dG9tLWNlbnRlcicsXG4gIHRpbWVPdXQ6IDUwMDAsXG4gIGV4dGVuZGVkVGltZU91dDogMTUwMCxcbiAgY2xvc2VCdXR0b246IHRydWUsXG4gIG5ld2VzdE9uVG9wOiB0cnVlLFxuICBwcmV2ZW50RHVwbGljYXRlczogdHJ1ZSxcbiAgcHJvZ3Jlc3NCYXI6IHRydWUsXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZU5vdGlmaWNhdGlvbnMoXG4gIGNvbmZpZz86IFBhcnRpYWw8Tm90aWZpY2F0aW9uUHJvdmlkZXJDb25maWc+LFxuICB0b2FzdHJDb25maWc/OiBQYXJ0aWFsPEdsb2JhbENvbmZpZz4sIC8vIE5ldyBvcHRpb25hbCBwYXJhbSBmb3IgZHluYW1pYyB0b2FzdHIgb3B0aW9uc1xuKTogRW52aXJvbm1lbnRQcm92aWRlcnMge1xuICByZXR1cm4gbWFrZUVudmlyb25tZW50UHJvdmlkZXJzKFtcbiAgICBwcm92aWRlVG9hc3RyKHtcbiAgICAgIC4uLkRFRkFVTFRfVE9BU1RSX0NPTkZJRyxcbiAgICAgIC4uLnRvYXN0ckNvbmZpZywgLy8gTWVyZ2Ugd2l0aCB1c2VyLXByb3ZpZGVkIGNvbmZpZyBmb3IgZmxleGliaWxpdHlcbiAgICB9KSxcblxuICAgIC8vIE5vdGlmaWNhdGlvbiBwcm92aWRlcnNcbiAgICBUb2FzdHJQcm92aWRlcixcbiAgICBTbmFja2JhclByb3ZpZGVyLFxuICAgIFN3ZWV0QWxlcnRQcm92aWRlcixcblxuICAgIC8vIENvbmZpZ3VyYXRpb25cbiAgICB7XG4gICAgICBwcm92aWRlOiBOT1RJRklDQVRJT05fQ09ORklHLFxuICAgICAgdXNlVmFsdWU6IHtcbiAgICAgICAgZGVmYXVsdFByb3ZpZGVyOiAndG9hc3RyJyxcbiAgICAgICAgLi4uY29uZmlnLFxuICAgICAgfSxcbiAgICB9LFxuXG4gICAgLy8gTWFpbiBzZXJ2aWNlXG4gICAgTm90aWZpY2F0aW9uU2VydmljZSxcbiAgXSk7XG59XG4iXX0=","/**\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":["../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.service.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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3RyLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nLW5vdGlmaWNhdGlvbnMvc3JjL2xpYi9jb25maWcvdG9hc3RyLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSy9DLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLElBQUksY0FBYyxDQUMxRCw0QkFBNEIsRUFDNUI7SUFDRSxVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNkLGFBQWEsRUFBRSxxQkFBcUI7UUFDcEMsT0FBTyxFQUFFLElBQUk7UUFDYixlQUFlLEVBQUUsSUFBSTtRQUNyQixXQUFXLEVBQUUsSUFBSTtRQUNqQixXQUFXLEVBQUUsSUFBSTtLQUNsQixDQUFDO0NBQ0gsQ0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEluZGl2aWR1YWxDb25maWcgfSBmcm9tICduZ3gtdG9hc3RyJztcblxuZXhwb3J0IHR5cGUgVG9hc3RyTm90aWZpY2F0aW9uQ29uZmlnID0gUGFydGlhbDxJbmRpdmlkdWFsQ29uZmlnPjtcblxuZXhwb3J0IGNvbnN0IFRPQVNUUl9OT1RJRklDQVRJT05fQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPFRvYXN0ck5vdGlmaWNhdGlvbkNvbmZpZz4oXG4gICd0b2FzdHItbm90aWZpY2F0aW9uLWNvbmZpZycsXG4gIHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG4gICAgZmFjdG9yeTogKCkgPT4gKHtcbiAgICAgIHBvc2l0aW9uQ2xhc3M6ICd0b2FzdC1ib3R0b20tY2VudGVyJyxcbiAgICAgIHRpbWVPdXQ6IDUwMDAsXG4gICAgICBleHRlbmRlZFRpbWVPdXQ6IDE1MDAsXG4gICAgICBjbG9zZUJ1dHRvbjogdHJ1ZSxcbiAgICAgIG5ld2VzdE9uVG9wOiB0cnVlLFxuICAgIH0pLFxuICB9LFxuKTtcbiJdfQ==","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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXIuY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctbm90aWZpY2F0aW9ucy9zcmMvbGliL2NvbmZpZy9zbmFja2Jhci5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVMvQyxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBbUI7SUFDckQsUUFBUSxFQUFFLElBQUk7SUFDZCxrQkFBa0IsRUFBRSxRQUFRO0lBQzVCLGdCQUFnQixFQUFFLFFBQVE7SUFDMUIsVUFBVSxFQUFFLEVBQUU7SUFDZCxhQUFhLEVBQUUsT0FBTztJQUN0QixXQUFXLEVBQUUsSUFBSTtJQUNqQixZQUFZLEVBQUUsSUFBSTtDQUNuQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLElBQUksY0FBYyxDQUFpQiwyQkFBMkIsRUFBRTtJQUM3RixVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsdUJBQXVCO0NBQ3ZDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRTbmFja0JhckNvbmZpZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU25hY2tiYXJDb25maWcgZXh0ZW5kcyBNYXRTbmFja0JhckNvbmZpZyB7XG4gIHJlYWRvbmx5IGRlZmF1bHRBY3Rpb24/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.2\", ngImport: i0, type: NotificationProviderBase, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: NotificationProviderBase });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: NotificationProviderBase, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctbm90aWZpY2F0aW9ucy9zcmMvbGliL3Byb3ZpZGVycy9ub3RpZmljYXRpb24ucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUzNELE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLElBQUksY0FBYyxDQUNuRCxxQkFBcUIsQ0FDdEIsQ0FBQztBQWFGLE1BQU0sT0FBZ0Isd0JBQXdCO3VHQUF4Qix3QkFBd0I7MkdBQXhCLHdCQUF3Qjs7MkZBQXhCLHdCQUF3QjtrQkFEN0MsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBOb3RpZmljYXRpb25DYWxsUHJvcHMsXG4gIE5vdGlmaWNhdGlvblJlc3VsdCxcbiAgU3dlZXRBbGVydENvbmZpZyxcbiAgTm90aWZpY2F0aW9uUHJvdmlkZXIsXG59IGZyb20gJy4uL3R5cGVzL25vdGlmaWNhdGlvbi50eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBOT1RJRklDQVRJT05fQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPE5vdGlmaWNhdGlvblByb3ZpZGVyQ29uZmlnPihcbiAgJ05PVElGSUNBVElPTl9DT05GSUcnLFxuKTtcblxuZXhwb3J0IGludGVyZmFjZSBOb3RpZmljYXRpb25Qcm92aWRlckNvbmZpZyB7XG4gIGRlZmF1bHRQcm92aWRlcjogTm90aWZpY2F0aW9uUHJvdmlkZXI7XG4gIHRvYXN0cj86IHVua25vd247XG4gIHNuYWNrYmFyPzogdW5rbm93bjtcbiAgc3dlZXRhbGVydD86IHtcbiAgICBkZWZhdWx0VGhlbWU/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.2\", ngImport: i0, type: ToastrProvider, deps: null, target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ToastrProvider, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ToastrProvider, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3RyLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctbm90aWZpY2F0aW9ucy9zcmMvbGliL3Byb3ZpZGVycy90b2FzdHIucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFvQixhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDN0QsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFtQnJFLE1BQU0sT0FBTyxjQUFlLFNBQVEsd0JBQXdCO0lBQ3pDLGFBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdEMsTUFBTSxHQUFHLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBRTdEOztPQUVHO0lBQ0gsSUFBSSxDQUFDLEtBQXNCO1FBQ3pCLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLEdBQUcsS0FBSyxDQUFDO1FBQ2pFLE1BQU0sWUFBWSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsZUFBZSxFQUFFLENBQUM7UUFFNUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxPQUFPLENBQUMsS0FBNEI7UUFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUNSLElBQUksRUFBRSxTQUFTO1lBQ2YsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO1lBQ3RCLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztZQUNsQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQW1DO1NBQ25ELENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBNEI7UUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUNSLElBQUksRUFBRSxPQUFPO1lBQ2IsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO1lBQ3RCLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztZQUNsQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQW1DO1NBQ25ELENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBNEI7UUFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUNSLElBQUksRUFBRSxTQUFTO1lBQ2YsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO1lBQ3RCLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztZQUNsQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQW1DO1NBQ25ELENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLENBQUMsS0FBNEI7UUFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQztZQUNSLElBQUksRUFBRSxNQUFNO1lBQ1osT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO1lBQ3RCLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztZQUNsQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQW1DO1NBQ25ELENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxPQUFPLENBQUMsTUFBd0I7UUFDOUIsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssSUFBSSxFQUFFLEtBQUssTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDbkUsT0FBTyxFQUFFLENBQUMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNyQyxDQUFDO3VHQXJEVSxjQUFjOzJHQUFkLGNBQWMsY0FGYixNQUFNOzsyRkFFUCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW5kaXZpZHVhbENvbmZpZywgVG9hc3RyU2VydmljZSB9IGZyb20gJ25neC10b2FzdHInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvblByb3ZpZGVyQmFzZSB9IGZyb20gJy4vbm90aWZpY2F0aW9uLnByb3ZpZGVyJztcbmltcG9ydCB7IFRPQVNUUl9OT1RJRklDQVRJT05fQ09ORklHIH0gZnJvbSAnLi4vY29uZmlnL3RvYXN0ci5jb25maWcnO1xuaW1wb3J0IHtcbiAgTm90aWZpY2F0aW9uQ2FsbFByb3BzLFxuICBOb3RpZmljYXRpb25SZXN1bHQsXG4gIFN3ZWV0QWxlcnRDb25maWcsXG59IGZyb20gJy4uL3R5cGVzL25vdGlmaWNhdGlvbi50eXBlcyc7XG5cbmV4cG9ydCB0eXBlIFRvYXN0clR5cGUgPSAnc3VjY2VzcycgfCAnZXJyb3InIHwgJ3dhcm5pbmcnIHwgJ2luZm8nO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRvYXN0clNob3dQcm9wcyB7XG4gIHJlYWRvbmx5IHR5cGU6IFRvYXN0clR5cGU7XG4gIHJlYWRvbmx5IG1lc3NhZ2U6IHN0cmluZztcbiAgcmVhZG9ubHkgdGl0bGU/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.2\", ngImport: i0, type: SnackbarProvider, deps: null, target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: SnackbarProvider, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: SnackbarProvider, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXIucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy1ub3RpZmljYXRpb25zL3NyYy9saWIvcHJvdmlkZXJzL3NuYWNrYmFyLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQWtCLE1BQU0sMkJBQTJCLENBQUM7O0FBVzVFLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSx3QkFBd0I7SUFDM0MsUUFBUSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMvQixNQUFNLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBRWxEOztPQUVHO0lBQ0gsSUFBSSxDQUFDLEtBQW9CO1FBQ3ZCLE1BQU0sRUFDSixJQUFJLEVBQ0osT0FBTyxFQUNQLEtBQUssRUFDTCxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQ2xDLE1BQU0sRUFBRSxVQUFVLEdBQUcsRUFBRSxHQUN4QixHQUFHLEtBQUssQ0FBQztRQUVWLE1BQU0sU0FBUyxHQUFHLHNCQUFzQixJQUFJLEVBQUUsQ0FBQztRQUMvQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUU5RSxNQUFNLFdBQVcsR0FBRztZQUNsQixHQUFHLElBQUksQ0FBQyxNQUFNO1lBQ2QsR0FBRyxVQUFVO1lBQ2IsVUFBVSxFQUFFLFlBQVk7U0FDekIsQ0FBQztRQUVGLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUE0QjtRQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ1IsSUFBSSxFQUFFLFNBQVM7WUFDZixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87WUFDdEIsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO1lBQ2xCLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBaUM7U0FDaEQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUE0QjtRQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ1IsSUFBSSxFQUFFLE9BQU87WUFDYixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87WUFDdEIsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO1lBQ2xCLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBaUM7U0FDaEQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUE0QjtRQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ1IsSUFBSSxFQUFFLFNBQVM7WUFDZixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87WUFDdEIsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO1lBQ2xCLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBaUM7U0FDaEQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksQ0FBQyxLQUE0QjtRQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ1IsSUFBSSxFQUFFLE1BQU07WUFDWixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87WUFDdEIsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO1lBQ2xCLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBaUM7U0FDaEQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sQ0FBQyxNQUF3QjtRQUM5QixNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsR0FBRyxNQUFNLENBQUMsS0FBSyxJQUFJLEVBQUUsS0FBSyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNuRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxTQUFpQixFQUFFLFdBQStCO1FBQzFFLE1BQU0sT0FBTyxHQUFHLENBQUMsb0JBQW9CLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFFbEQsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNoQixNQUFNLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNuRixPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsaUJBQWlCLENBQUMsQ0FBQztRQUNyQyxDQUFDO1FBRUQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVPLFlBQVksQ0FBQyxPQUFlLEVBQUUsS0FBYztRQUNsRCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN4QyxPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDO1FBQ0QsT0FBTyxHQUFHLEtBQUssS0FBSyxPQUFPLEVBQUUsQ0FBQztJQUNoQyxDQUFDO3VHQXRGVSxnQkFBZ0I7MkdBQWhCLGdCQUFnQixjQUZmLE1BQU07OzJGQUVQLGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25Qcm92aWRlckJhc2UgfSBmcm9tICcuL25vdGlmaWNhdGlvbi5wcm92aWRlcic7XG5pbXBvcnQgeyBTTkFDS0JBUl9DT05GSUcsIFNuYWNrYmFyQ29uZmlnIH0gZnJvbSAnLi4vY29uZmlnL3NuYWNrYmFyLmNvbmZpZyc7XG5pbXBvcnQge1xuICBOb3RpZmljYXRpb25DYWxsUHJvcHMsXG4gIE5vdGlmaWNhdGlvblJlc3VsdCxcbiAgU3dlZXRBbGVydENvbmZpZyxcbn0gZnJvbSAnLi4vdHlwZXMvbm90aWZpY2F0aW9uLnR5cGVzJztcbmltcG9ydCB7IFNuYWNrYmFyUHJvcHMgfSBmcm9tICcuLi9tb2RlbHMvbm90aWZpY2F0aW9uLm1vZGVscyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTbmFja2JhclByb3ZpZGVyIGV4dGVuZHMgTm90aWZpY2F0aW9uUHJvdmlkZXJCYXNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBzbmFja0JhciA9IGluamVjdChNYXRTbmFja0Jhcik7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0KFNOQUNLQkFSX0NPTkZJRyk7XG5cbiAgLyoqXG4gICAqIERpc3BsYXkgYSBzbmFja2JhciB3aXRoIHNwZWNpZmljIHR5cGUgYW5kIGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIHNob3cocHJvcHM6IFNuYWNrYmFyUHJvcHMpOiB2b2lkIHtcbiAgICBjb25zdCB7XG4gICAgICB0eXBlLFxuICAgICAgbWVzc2FnZSxcbiAgICAgIHRpdGxlLFxuICAgICAgYWN0aW9uID0gdGhpcy5jb25maWcuZGVmYXVsdEFjdGlvbixcbiAgICAgIGNvbmZpZzogdXNlckNvbmZpZyA9IHt9LFxuICAgIH0gPSBwcm9wcztcblxuICAgIGNvbnN0IHR5cGVDbGFzcyA9IGBhY29udHBsdXMtc25hY2tiYXItJHt0eXBlfWA7XG4gICAgY29uc3QgcGFuZWxDbGFzc2VzID0gdGhpcy5idWlsZFBhbmVsQ2xhc3Nlcyh0eXBlQ2xhc3MsIHVzZXJDb25maWcucGFuZWxDbGFzcyk7XG5cbiAgICBjb25zdCBmaW5hbENvbmZpZyA9IHtcbiAgICAgIC4uLnRoaXMuY29uZmlnLFxuICAgICAgLi4udXNlckNvbmZpZyxcbiAgICAgIHBhbmVsQ2xhc3M6IHBhbmVsQ2xhc3NlcyxcbiAgICB9O1xuXG4gICAgY29uc3QgZGlzcGxheU1lc3NhZ2UgPSB0aGlzLmJ1aWxkTWVzc2FnZShtZXNzYWdlLCB0aXRsZSk7XG4gICAgdGhpcy5zbmFja0Jhci5vcGVuKGRpc3BsYXlNZXNzYWdlLCBhY3Rpb24sIGZpbmFsQ29uZmlnKTtcbiAgfVxuXG4gIHN1Y2Nlc3MocHJvcHM6IE5vdGlmaWNhdGlvbkNhbGxQcm9wcyk6IHZvaWQge1xuICAgIHRoaXMuc2hvdyh7XG4gICAgICB0eXBlOiAnc3VjY2VzcycsXG4gICAgICBtZXNzYWdlOiBwcm9wcy5tZXNzYWdlLFxuICAgICAgdGl0bGU6IHByb3BzLnRpdGxlLFxuICAgICAgY29uZmlnOiBwcm9wcy5jb25maWcgYXMgUGFydGlhbDxTbmFja2JhckNvbmZpZz4sXG4gICAgfSk7XG4gIH1cblxuICBlcnJvcihwcm9wczogTm90aWZpY2F0aW9uQ2FsbFByb3BzKTogdm9pZCB7XG4gICAgdGhpcy5zaG93KHtcbiAgICAgIHR5cGU6ICdlcnJvcicsXG4gICAgICBtZXNzYWdlOiBwcm9wcy5tZXNzYWdlLFxuICAgICAgdGl0bGU6IHByb3BzLnRpdGxlLFxuICAgICAgY29uZmlnOiBwcm9wcy5jb25maWcgYXMgUGFydGlhbDxTbmFja2JhckNvbmZpZz4sXG4gICAgfSk7XG4gIH1cblxuICB3YXJuaW5nKHByb3BzOiBOb3RpZmljYXRpb25DYWxsUHJvcHMpOiB2b2lkIHtcbiAgICB0aGlzLnNob3coe1xuICAgICAgdHlwZTogJ3dhcm5pbmcnLFxuICAgICAgbWVzc2FnZTogcHJvcHMubWVzc2FnZSxcbiAgICAgIHRpdGxlOiBwcm9wcy50aXRsZSxcbiAgICAgIGNvbmZpZzogcHJvcHMuY29uZmlnIGFzIFBhcnRpYWw8U25hY2tiYXJDb25maWc+LFxuICAgIH0pO1xuICB9XG5cbiAgaW5mbyhwcm9wczogTm90aWZpY2F0aW9uQ2FsbFByb3BzKTogdm9pZCB7XG4gICAgdGhpcy5zaG93KHtcbiAgICAgIHR5cGU6ICdpbmZvJyxcbiAgICAgIG1lc3NhZ2U6IHByb3BzLm1lc3NhZ2UsXG4gICAgICB0aXRsZTogcHJvcHMudGl0bGUsXG4gICAgICBjb25maWc6IHByb3BzLmNvbmZpZyBhcyBQYXJ0aWFsPFNuYWNrYmFyQ29uZmlnPixcbiAgICB9KTtcbiAgfVxuXG4gIGNvbmZpcm0oY29uZmlnOiBTd2VldEFsZXJ0Q29uZmlnKTogT2JzZXJ2YWJsZTxOb3RpZmljYXRpb25SZXN1bHQ+IHtcbiAgICBjb25zdCByZXN1bHQgPSBjb25maXJtKGAke2NvbmZpZy50aXRsZSB8fCAnJ31cXG4ke2NvbmZpZy5tZXNzYWdlfWApO1xuICAgIHJldHVybiBvZih7IGlzQ29uZmlybWVkOiByZXN1bHQgfSk7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkUGFuZWxDbGFzc2VzKHR5cGVDbGFzczogc3RyaW5nLCB1c2VyQ2xhc3Nlcz86IHN0cmluZyB8IHN0cmluZ1tdKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGNsYXNzZXMgPSBbJ2Fjb250cGx1cy1zbmFja2JhcicsIHR5cGVDbGFzc107XG5cbiAgICBpZiAodXNlckNsYXNzZXMpIHtcbiAgICAgIGNvbnN0IG5vcm1hbGl6ZWRDbGFzc2VzID0gQXJyYXkuaXNBcnJheSh1c2VyQ2xhc3NlcykgPyB1c2VyQ2xhc3NlcyA6IFt1c2VyQ2xhc3Nlc107XG4gICAgICBjbGFzc2VzLnB1c2goLi4ubm9ybWFsaXplZENsYXNzZXMpO1xuICAgIH1cblxuICAgIHJldHVybiBjbGFzc2VzO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZE1lc3NhZ2UobWVzc2FnZTogc3RyaW5nLCB0aXRsZT86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLmNvbmZpZy50aXRsZUVuYWJsZWQgfHwgIXRpdGxlKSB7XG4gICAgICByZXR1cm4gbWVzc2FnZTtcbiAgICB9XG4gICAgcmV0dXJuIGAke3RpdGxlfTogJHttZXNzYWdlfWA7XG4gIH1cbn1cbiJdfQ==","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 ThemeDetectorService {\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.2\", ngImport: i0, type: ThemeDetectorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ThemeDetectorService, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: ThemeDetectorService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtZGV0ZWN0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nLW5vdGlmaWNhdGlvbnMvc3JjL2xpYi9zZXJ2aWNlcy90aGVtZS1kZXRlY3Rvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUt2QyxNQUFNLE9BQU8sb0JBQW9CO0lBQ3ZCLFlBQVksR0FBRyxJQUFJLGVBQWUsQ0FBUyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3ZELFVBQVUsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDM0MsTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFakQ7UUFDRSxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUMzQixDQUFDO0lBQ0gsQ0FBQztJQUVPLFdBQVc7UUFDakIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7WUFBRSxPQUFPO1FBRWhELE1BQU0sTUFBTSxHQUNWLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUM7WUFDOUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVPLGlCQUFpQjtRQUN2QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUFFLE9BQU87UUFFaEQsTUFBTSxRQUFRLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUNoRSxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNsRixRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxlQUFlLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMvRixDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUM7SUFDakMsQ0FBQzt1R0EvQlUsb0JBQW9COzJHQUFwQixvQkFBb0IsY0FGbkIsTUFBTTs7MkZBRVAsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIFBMQVRGT1JNX0lELCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVGhlbWVEZXRlY3RvclNlcnZpY2Uge1xuICBwcml2YXRlIHRoZW1lU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignbWF0ZXJpYWwtdWktbGlnaHQnKTtcbiAgcHJpdmF0ZSByZWFkb25seSBwbGF0Zm9ybUlkID0gaW5qZWN0KFBMQVRGT1JNX0lEKTtcbiAgcHVibGljIHRoZW1lJCA9IHRoaXMudGhlbWVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICB0aGlzLmRldGVjdFRoZW1lKCk7XG4gICAgICB0aGlzLndhdGNoVGhlbWVDaGFuZ2VzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBkZXRlY3RUaGVtZSgpOiB2b2lkIHtcbiAgICBpZiAoIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHJldHVybjtcblxuICAgIGNvbnN0IGlzRGFyayA9XG4gICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5jb250YWlucygnZGFyay10aGVtZScpIHx8XG4gICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdkYXJrLXRoZW1lJyk7XG4gICAgdGhpcy50aGVtZVN1YmplY3QubmV4dChpc0RhcmsgPyAnbWF0ZXJpYWwtdWktZGFyaycgOiAnbWF0ZXJpYWwtdWktbGlnaHQnKTtcbiAgfVxuXG4gIHByaXZhdGUgd2F0Y2hUaGVtZUNoYW5nZXMoKTogdm9pZCB7XG4gICAgaWYgKCFpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSByZXR1cm47XG5cbiAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKCgpID0+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 { ThemeDetectorService } from '../services/theme-detector.service';\nimport * as i0 from \"@angular/core\";\nexport class SweetAlertProvider extends NotificationProviderBase {\n config = inject(NOTIFICATION_CONFIG);\n themeDetector = inject(ThemeDetectorService);\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.2\", ngImport: i0, type: SweetAlertProvider, deps: null, target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: SweetAlertProvider, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: SweetAlertProvider, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dlZXRhbGVydC5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nLW5vdGlmaWNhdGlvbnMvc3JjL2xpYi9wcm92aWRlcnMvc3dlZXRhbGVydC5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWMsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7QUFDL0IsT0FBTyxFQUNMLHdCQUF3QixFQUV4QixtQkFBbUIsR0FDcEIsTUFBTSx5QkFBeUIsQ0FBQztBQU9qQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7QUFLMUUsTUFBTSxPQUFPLGtCQUFtQixTQUFRLHdCQUF3QjtJQUN0RCxNQUFNLEdBQUcsTUFBTSxDQUE2QixtQkFBbUIsQ0FBQyxDQUFDO0lBQ2pFLGFBQWEsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUU3QyxRQUFRO1FBQ2QsTUFBTSxXQUFXLEdBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFrQixFQUFFLFlBQVksQ0FBQztRQUVsRSwwQ0FBMEM7UUFDMUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxXQUFXLEtBQUssTUFBTSxFQUFFLENBQUM7WUFDM0MseUNBQXlDO1lBQ3pDLE1BQU0sTUFBTSxHQUNWLFFBQVEsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFFBQVEsQ0FBQyxZQUFZLENBQUM7Z0JBQ2pELFFBQVEsRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUMvRCxPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMs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QUFFLE1BQU0sQ0FBQyxXQUFXO1lBQy9CLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUTtZQUN6QixXQUFXLEVBQUUsTUFBTSxDQUFDLFdBQVc7WUFDL0IsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLO1NBQ3BCLENBQUMsQ0FBQyxDQUNKLENBQUM7SUFDSixDQUFDO3VHQWhGVSxrQkFBa0I7MkdBQWxCLGtCQUFrQixjQUZqQixNQUFNOzsyRkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgU3dhbCBmcm9tICdzd2VldGFsZXJ0Mic7XG5pbXBvcnQge1xuICBOb3RpZmljYXRpb25Qcm92aWRlckJhc2UsXG4gIE5vdGlmaWNhdGlvblByb3ZpZGVyQ29uZmlnLFxuICBOT1RJRklDQVRJT05fQ09ORklHLFxufSBmcm9tICcuL25vdGlmaWNhdGlvbi5wcm92aWRlcic7XG5pbXBvcnQge1xuICBOb3RpZmljYXRpb25DYWxsUHJvcHMsXG4gIE5vdGlmaWNhdGlvblJlc3VsdCxcbiAgTm90aWZpY2F0aW9uVHlwZSxcbiAgU3dlZXRBbGVydENvbmZpZyxcbn0gZnJvbSAnLi4vdHlwZXMvbm90aWZpY2F0aW9uLnR5cGVzJztcbmltcG9ydCB7IFRoZW1lRGV0ZWN0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdGhlbWUtZGV0ZWN0b3Iuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTd2VldEFsZXJ0UHJvdmlkZXIgZXh0ZW5kcyBOb3RpZmljYXRpb25Qcm92aWRlckJhc2Uge1xuICBwcml2YXRlIGNvbmZpZyA9IGluamVjdDxOb3RpZmljYXRpb25Qcm92aWRlckNvbmZpZz4oTk9USUZJQ0FUSU9OX0NPTkZJRyk7XG4gIHByaXZhdGUgdGhlbWVEZXRlY3RvciA9IGluamVjdChUaGVtZURldGVjdG9yU2VydmljZSk7XG5cbiAgcHJpdmF0ZSBnZXRUaGVtZSgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNvbmZpZ1RoZW1lID0gKHRoaXMuY29uZmlnLnN3ZWV0YWxlcnQgYXMgYW55KT8uZGVmYXVsdFRoZW1lO1xuXG4gICAgLy8gRGVmYXVsdCB0byAnYXV0bycgaWYgbm8gdGhlbWUgc3BlY2lmaWVkXG4gICAgaWYgKCFjb25maWdUaGVtZSB8fCBjb25maWdUaGVtZSA9PT0gJ2F1dG8nKSB7XG4gICAgICAvLyBBdXRvLWRldGVjdCB0aGVtZSBiYXNlZCBvbiBDU1MgY2xhc3Nlc1xuICAgICAgY29uc3QgaXNEYXJrID1cbiAgICAgICAgZG9jdW1lbnQ/LmJvZHk/LmNsYXNzTGlzdD8uY29udGFpbnMoJ2RhcmstdGhlbWUnKSB8fFxuICAgICAgICBkb2N1bWVudD8uZG9jdW1lbnRFbGVtZW50Py5jbGFzc0xpc3Q/LmNvbnRhaW5zKCdkYXJrLXRoZW1lJyk7XG4gICAgICByZXR1cm4gaXNEYXJrID8gJ21hdGVyaWFsLXVpLWRhcmsnIDogJ21hdGVyaWFsLXVpLWxpZ2h0JztcbiAgICB9XG5cbiAgICByZXR1cm4gY29uZmlnVGhlbWU7XG4gIH1cbiAgc3VjY2Vzcyhwcm9wczogTm90aWZpY2F0aW9uQ2FsbFByb3BzKTogT2JzZXJ2YWJsZTxOb3RpZmljYXRpb25SZXN1bHQ+IHtcbiAgICByZXR1cm4gdGhpcy5zaG93QWxlcnQoeyAuLi5wcm9wcywgdHlwZTogJ3N1Y2Nlc3MnIH0pO1xuICB9XG5cbiAgZXJyb3IocHJvcHM6IE5vdGlmaWNhdGlvbkNhbGxQcm9wcyk6IE9ic2VydmFibGU8Tm90aWZpY2F0aW9uUmVzdWx0PiB7XG4gICAgcmV0dXJuIHRoaXMuc2hvd0FsZXJ0KHsgLi4ucHJvcHMsIHR5cGU6ICdlcnJvcicgfSk7XG4gIH1cblxuICB3YXJuaW5nKHByb3BzOiBOb3RpZmljYXRpb25DYWxsUHJvcHMpOiBPYnNlcnZhYmxlPE5vdGlmaWNhdGlvblJlc3VsdD4ge1xuICAgIHJldHVybiB0aGlzLnNob3dBbGVydCh7IC4uLnByb3BzLCB0eXBlOiAnd2FybmluZycgfSk7XG4gIH1cblxuICBpbmZvKHByb3BzOiBOb3RpZmljYXRpb25DYWxsUHJvcHMpOiBPYnNlcnZhYmxlPE5vdGlmaWNhdGlvblJlc3VsdD4ge1xuICAgIHJldHVybiB0aGlzLnNob3dBbGVydCh7IC4uLnByb3BzLCB0eXBlOiAnaW5mbycgfSk7XG4gIH1cblxuICBjb25maXJtKGNvbmZpZzogU3dlZXRBbGVydENvbmZpZyk6IE9ic2VydmFibGU8Tm90aWZpY2F0aW9uUmVzdWx0PiB7XG4gICAgY29uc3Qgc3dhbENvbmZpZyA9IHtcbiAgICAgIHRpdGxlOiBjb25maWcudGl0bGUsXG4gICAgICB0ZXh0OiBjb25maWcubWVzc2FnZSxcbiAgICAgIGh0bWw6IGNvbmZpZy5odG1sLFxuICAgICAgaWNvbjogJ3F1ZXN0aW9uJyBhcyBjb25zdCxcbiAgICAgIHNob3dDYW5jZWxCdXR0b246IGNvbmZpZy5zaG93Q2FuY2VsQnV0dG9uICE9PSBmYWxzZSxcbiAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiBjb25maWcuY29uZmlybUJ1dHRvblRleHQgfHwgJ0NvbmZpcm0nLFxuICAgICAgY2FuY2VsQnV0dG9uVGV4dDogY29uZmlnLmNhbmNlbEJ1dHRvblRleHQgfHwgJ0NhbmNlbCcsXG4gICAgICBhbGxvd091dHNpZGVDbGljazogY29uZmlnLmFsbG93T3V0c2lkZUNsaWNrICE9PSBmYWxzZSxcbiAgICAgIGN1c3RvbUNsYXNzOiBjb25maWcuY3VzdG9tQ2xhc3MgPyB7IGNvbnRhaW5lcjogY29uZmlnLmN1c3RvbUNsYXNzIH0gOiB1bmRlZmluZWQsXG4gICAgICB0aGVtZTogdGhpcy5nZXRUaGVtZSgpLFxuICAgIH07XG5cbiAgICByZXR1cm4gZnJvbShTd2FsLmZpcmUoc3dhbENvbmZpZyBhcyBhbnkpKS5waXBlKFxuICAgICAgbWFwKHJlc3VsdCA9PiAoe1xuICAgICAgICBpc0NvbmZpcm1lZDogcmVzdWx0LmlzQ29uZmlybWVkLFxuICAgICAgICBpc0RlbmllZDogcmVzdWx0LmlzRGVuaWVkLFxuICAgICAgICBpc0Rpc21pc3NlZDogcmVzdWx0LmlzRGlzbWlzc2VkLFxuICAgICAgICB2YWx1ZTogcmVzdWx0LnZhbHVlLFxuICAgICAgfSkpLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHNob3dBbGVydChcbiAgICBwcm9wczogTm90aWZpY2F0aW9uQ2FsbFByb3BzICYgeyB0eXBlOiBOb3RpZmljYXRpb25UeXBlIH0sXG4gICk6IE9ic2VydmFibGU8Tm90aWZpY2F0aW9uUmVzdWx0PiB7XG4gICAgY29uc3QgY29uZmlnT3B0aW9ucyA9IHByb3BzLmNvbmZpZyBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IHVuZGVmaW5lZDtcbiAgICBjb25zdCB7IGR1cmF0aW9uLCAuLi5vdGhlckNvbmZpZyB9ID0gY29uZmlnT3B0aW9ucyB8fCB7fTtcbiAgICBjb25zdCBzd2FsQ29uZmlnID0ge1xuICAgICAgdGl0bGU6IHByb3BzLnRpdGxlLFxuICAgICAgdGV4dDogcHJvcHMubWVzc2FnZSxcbiAgICAgIGljb246IHByb3BzLnR5cGUgYXMgJ3N1Y2Nlc3MnIHwgJ2Vycm9yJyB8ICd3YXJuaW5nJyB8ICdpbmZvJyxcbiAgICAgIHRoZW1lOiB0aGlzLmdldFRoZW1lKCksXG4gICAgICAuLi4oZHVyYXRpb24gPyB7IHRpbWVyOiBkdXJhdGlvbiBhcyBudW1iZXIsIHRpbWVyUHJvZ3Jlc3NCYXI6IHRydWUgfSA6IHt9KSxcbiAgICAgIC4uLm90aGVyQ29uZmlnLFxuICAgIH07XG5cbiAgICByZXR1cm4gZnJvbShTd2FsLmZpcmUoc3dhbENvbmZpZyBhcyBhbnkpKS5waXBlKFxuICAgICAgbWFwKHJlc3VsdCA9PiAoe1xuICAgICAgICBpc0NvbmZpcm1lZDogcmVzdWx0LmlzQ29uZmlybWVkLFxuICAgICAgICBpc0RlbmllZDogcmVzdWx0LmlzRGVuaWVkLFxuICAgICAgICBpc0Rpc21pc3NlZDogcmVzdWx0LmlzRGlzbWlzc2VkLFxuICAgICAgICB2YWx1ZTogcmVzdWx0LnZhbHVlLFxuICAgICAgfSkpLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==","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.2\", ngImport: i0, type: NotificationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: NotificationService, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: NotificationService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy1ub3RpZmljYXRpb25zL3NyYy9saWIvc2VydmljZXMvbm90aWZpY2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUVMLG1CQUFtQixHQUVwQixNQUFNLG9DQUFvQyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQVF0RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7QUFLNUUsTUFBTSxPQUFPLG1CQUFtQjtJQUN0QixNQUFNLEdBQUcsTUFBTSxDQUE2QixtQkFBbUIsQ0FBQyxDQUFDO0lBQ2pFLGNBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDNUMsa0JBQWtCLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFFaEQsU0FBUyxHQUFHLElBQUksR0FBRyxFQUFrRCxDQUFDO0lBQ3RFLGVBQWUsQ0FBMkI7SUFFbEQsNkJBQTZCO0lBQ3BCLFFBQVEsR0FBRyxxQkFBcUIsQ0FBQztJQUUxQztRQUNFLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFD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L0MsTUFBTSxPQUFPLEdBQUcsSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDL0YsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQztZQUN6QixPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsT0FBTztZQUNwQyxLQUFLLEVBQUUsa0JBQWtCO1NBQzFCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUM7WUFDM0IsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLGdCQUFnQjtZQUMvQyxLQUFLLEVBQUUsZUFBZTtTQUN2QixDQUFDLENBQUM7SUFDTCxDQUFDO3VHQW5HVSxtQkFBbUI7MkdBQW5CLG1CQUFtQixjQUZsQixNQUFNOzsyRkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBOb3RpZmljYXRpb25Qcm92aWRlckJhc2UsXG4gIE5PVElGSUNBVElPTl9DT05GSUcsXG4gIE5vdGlmaWNhdGlvblByb3ZpZGVyQ29uZmlnLFxufSBmcm9tICcuLi9wcm92aWRlcnMvbm90aWZpY2F0aW9uLnByb3ZpZGVyJztcbmltcG9ydCB7IFRvYXN0clByb3ZpZGVyIH0gZnJvbSAnLi4vcHJvdmlkZXJzL3RvYXN0ci5wcm92aWRlcic7XG5pbXBvcnQgeyBTbmFja2JhclByb3ZpZGVyIH0gZnJvbSAnLi4vcHJvdmlkZXJzL3NuYWNrYmFyLnByb3ZpZGVyJztcbmltcG9ydCB7IFN3ZWV0QWxlcnRQcm92aWRlciB9IGZyb20gJy4uL3Byb3ZpZGVycy9zd2VldGFsZXJ0LnByb3ZpZGVyJztcbmltcG9ydCB7XG4gIE5vdGlmaWNhdGlvbkNhbGxQcm9wcyxcbiAgTm90aWZpY2F0aW9uUmVzdWx0LFxuICBTd2VldEFsZXJ0Q29uZmlnLFxuICBOb3RpZmljYXRpb25Qcm92aWRlcixcbiAgTm90aWZpY2F0aW9uVHlwZSxcbn0gZnJvbSAnLi4vdHlwZXMvbm90aWZpY2F0aW9uLnR5cGVzJztcbmltcG9ydCB7IE5PVElGSUNBVElPTl9NRVNTQUdFUyB9IGZyb20gJy4uL2NvbnN0YW50cy9ub3RpZmljYXRpb24uY29uc3RhbnRzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvblNlcnZpY2Uge1xuICBwcml2YXRlIGNvbmZpZyA9IGluamVjdDxOb3RpZmljYXRpb25Qcm92aWRlckNvbmZpZz4oTk9USUZJQ0FUSU9OX0NPTkZJRyk7XG4gIHByaXZhdGUgdG9hc3RyUHJvdmlkZXIgPSBpbmplY3QoVG9hc3RyUHJvdmlkZXIpO1xuICBwcml2YXRlIHNuYWNrYmFyUHJvdmlkZXIgPSBpbmplY3QoU25hY2tiYXJQcm92aWRlcik7XG4gIHByaXZhdGUgc3dlZXRBbGVydFByb3ZpZGVyID0gaW5qZWN0KFN3ZWV0QWxlcnRQcm92aWRlcik7XG5cbiAgcHJpdmF0ZSBwcm92aWRlcnMgPSBuZXcgTWFwPE5vdGlmaWNhdGlvblByb3ZpZGVyLCBOb3RpZmljYXRpb25Qcm92aWRlckJhc2U+KCk7XG4gIHByaXZhdGUgY3VycmVudFByb3ZpZGVyOiBOb3RpZmljYXRpb25Qcm92aWRlckJhc2U7XG5cbiAgLy8gRXhwb3NlIHByZWRlZmluZWQgbWVzc2FnZXNcbiAgcmVhZG9ubHkgbWVzc2FnZXMgPSBOT1RJRklDQVRJT05fTUVTU0FHRVM7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5wcm92aWRlcnMuc2V0KCd0b2FzdHInLCB0aGlzLnRvYXN0clByb3ZpZGVyKTtcbiAgICB0aGlzLnByb3ZpZGVycy5zZXQoJ3NuYWNrYmFyJywgdGhpcy5zbmFja2JhclByb3ZpZGVyKTtcbiAgICB0aGlzLnByb3ZpZGVycy5zZXQoJ3N3ZWV0YWxlcnQnLCB0aGlzLnN3ZWV0QWxlcnRQcm92aWRlcik7XG5cbiAgICB0aGlzLmN1cnJlbnRQcm92aWRlciA9XG4gICAgICB0aGlzLnByb3ZpZGVycy5nZXQodGhpcy5jb25maWcuZGVmYXVsdFByb3ZpZGVyKSB8fCB0aGlzLnN3ZWV0QWxlcnRQcm92aWRlcjtcbiAgfVxuXG4gIHNldFByb3ZpZGVyKHByb3ZpZGVyOiBOb3RpZmljYXRpb25Qcm92aWRlcik6IHZvaWQge1xuICAgIGNvbnN0IHByb3ZpZGVySW5zdGFuY2UgPSB0aGlzLnByb3ZpZGVycy5nZXQocHJvdmlkZXIpO1xuICAgIGlmIChwcm92aWRlckluc3RhbmNlKSB7XG4gICAgICB0aGlzLmN1cnJlbnRQcm92aWRlciA9IHByb3ZpZGVySW5zdGFuY2U7XG4gICAgfVxuICB9XG5cbiAgc3VjY2Vzcyhwcm9wczogTm90aWZpY2F0aW9uQ2FsbFByb3BzKTogdm9pZCB8IE9ic2VydmFibGU8Tm90aWZpY2F0aW9uUmVzdWx0PiB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFByb3ZpZGVyLnN1Y2Nlc3MocHJvcHMpO1xuICB9XG5cbiAgZXJyb3IocHJvcHM6IE5vdGlmaWNhdGlvbkNhbGxQcm9wcyk6IHZvaWQgfCBPYnNlcnZhYmxlPE5vdGlmaWNhdGlvblJlc3VsdD4ge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRQcm92aWRlci5lcnJvcihwcm9wcyk7XG4gIH1cblxuICB3YXJuaW5nKHByb3BzOiBOb3RpZmljYXRpb25DYWxsUHJvcHMpOiB2b2lkIHwgT2JzZXJ2YWJsZTxOb3RpZmljYXRpb25SZXN1bHQ+IHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50UHJvdmlkZXIud2FybmluZyhwcm9wcyk7XG4gIH1cblxuICBpbmZvKHByb3BzOiBOb3RpZmljYXRpb25DYWxsUHJvcHMpOiB2b2lkIHwgT2JzZXJ2YWJsZTxOb3RpZmljYXRpb25SZXN1bHQ+IHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50UHJvdmlkZXIuaW5mbyhwcm9wcyk7XG4gIH1cblxuICBjb25maXJtKGNvbmZpZzogU3dlZXRBbGVydENvbmZpZyk6IE9ic2VydmFibGU8Tm90aWZpY2F0aW9uUmVzdWx0PiB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFByb3ZpZGVyLmNvbmZpcm0oY29uZmlnKTtcbiAgfVxuXG4gIHNob3coXG4gICAgcHJvcHM6IHsgdHlwZTogTm90aWZpY2F0aW9uVHlwZSB9ICYgTm90aWZpY2F0aW9uQ2FsbFByb3BzLFxuICApOiB2b2lkIHwgT2JzZXJ2YWJsZTxOb3RpZmljYXRpb25SZXN1bHQ+IHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50UHJvdmlkZXJbcHJvcHMudHlwZV0oe1xuICAgICAgbWVzc2FnZTogcHJvcHMubWVzc2FnZSxcbiAgICAgIHRpdGxlOiBwcm9wcy50aXRsZSxcbiAgICAgIGNvbmZpZzogcHJvcHMuY29uZmlnLFxuICAgIH0pO1xuICB9XG5cbiAgLy8gUHJvdmlkZXItc3BlY2lmaWMgbWV0aG9kcyBtYWludGFpbmluZyB5b3VyIGN1cnJlbnQgQVBJXG4gIGdldCB0b2FzdHIoKTogVG9hc3RyUHJvdmlkZXIge1xuICAgIHJldHVybiB0aGlzLnByb3ZpZGVycy5nZXQoJ3RvYXN0cicpIGFzIFRvYXN0clByb3ZpZGVyO1xuICB9XG5cbiAgZ2V0IHNuYWNrYmFyKCk6IFNuYWNrYmFyUHJvdmlkZXIge1xuICAgIHJldHVybiB0aGlzLnByb3ZpZGVycy5nZXQoJ3NuYWNrYmFyJykgYXMgU25hY2tiYXJQcm92aWRlcjtcbiAgfVxuXG4gIGdldCBzd2VldEFsZXJ0KCk6IFN3ZWV0QWxlcnRQcm92aWRlciB7XG4gICAgcmV0dXJuIHRoaXMucHJvdmlkZXJzLmdldCgnc3dlZXRhbGVydCcpIGFzIFN3ZWV0QWxlcnRQcm92aWRlcjtcbiAgfVxuXG4gIC8vIFF1aWNrIG1ldGhvZHMgdXNpbmcgcHJlZGVmaW5lZCBtZXNzYWdlc1xuICBxdWlja1NhdmUodHlwZTogJ3N1Y2Nlc3MnIHwgJ2Vycm9yJyA9ICdzdWNjZXNzJyk6IHZvaWQge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSB0eXBlID09PSAnc3VjY2VzcycgPyB0aGlzLm1lc3NhZ2VzLlNVQ0NFU1MuU0FWRSA6IHRoaXMubWVzc2FnZXMuRVJST1IuU0FWRTtcbiAgICB0aGlzLmN1cnJlbnRQcm92aWRlclt0eXBlXSh7IG1lc3NhZ2UgfSk7XG4gIH1cblxuICBxdWlja0RlbGV0ZSh0eXBlOiAnc3VjY2VzcycgfCAnZXJyb3InID0gJ3N1Y2Nlc3MnKTogdm9pZCB7XG4gICAgY29uc3QgbWVzc2FnZSA9IHR5cGUgPT09ICdzdWNjZXNzJyA/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctbm90aWZpY2F0aW9ucy9zcmMvbGliL3Byb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXdCLHdCQUF3QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxhQUFhLEVBQWdCLE1BQU0sWUFBWSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxtQkFBbUIsRUFBOEIsTUFBTSxtQ0FBbUMsQ0FBQztBQUNwRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFckUsNENBQTRDO0FBQzVDLE1BQU0scUJBQXFCLEdBQTBCO0lBQ25ELGFBQWEsRUFBRSxxQkFBcUI7SUFDcEMsT0FBTyxFQUFFLElBQUk7SUFDYixlQUFlLEVBQUUsSUFBSTtJQUNyQixXQUFXLEVBQUUsSUFBSTtJQUNqQixXQUFXLEVBQUUsSUFBSTtJQUNqQixpQkFBaUIsRUFBRSxJQUFJO0lBQ3ZCLFdBQVcsRUFBRSxJQUFJO0NBQ2xCLENBQUM7QUFFRixNQUFNLFVBQVUsb0JBQW9CLENBQ2xDLE1BQTRDLEVBQzVDLFlBQW9DO0lBRXBDLE9BQU8sd0JBQXdCLENBQUM7UUFDOUIsYUFBYSxDQUFDO1lBQ1osR0FBRyxxQkFBcUI7WUFDeEIsR0FBRyxZQUFZLEVBQUUsa0RBQWtEO1NBQ3BFLENBQUM7UUFFRix5QkFBeUI7UUFDekIsY0FBYztRQUNkLGdCQUFnQjtRQUNoQixrQkFBa0I7UUFFbEIsZ0JBQWdCO1FBQ2hCO1lBQ0UsT0FBTyxFQUFFLG1CQUFtQjtZQUM1QixRQUFRLEVBQUU7Z0JBQ1IsZUFBZSxFQUFFLFFBQVE7Z0JBQ3pCLEdBQUcsTUFBTTthQUNWO1NBQ0Y7UUFFRCxlQUFlO1FBQ2YsbUJBQW1CO0tBQ3BCLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnZpcm9ubWVudFByb3ZpZGVycywgbWFrZUVudmlyb25tZW50UHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBwcm92aWRlVG9hc3RyLCBHbG9iYWxDb25maWcgfSBmcm9tICduZ3gtdG9hc3RyJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IE5PVElGSUNBVElPTl9DT05GSUcsIE5vdGlmaWNhdGlvblByb3ZpZGVyQ29uZmlnIH0gZnJvbSAnLi9wcm92aWRlcnMvbm90aWZpY2F0aW9uLnByb3ZpZGVyJztcbmltcG9ydCB7IFRvYXN0clByb3ZpZGVyIH0gZnJvbSAnLi9wcm92aWRlcnMvdG9hc3RyLnByb3ZpZGVyJztcbmltcG9ydCB7IFNuYWNrYmFyUHJvdmlkZXIgfSBmcm9tICcuL3Byb3ZpZGVycy9zbmFja2Jhci5wcm92aWRlcic7XG5pbXBvcnQgeyBTd2VldEFsZXJ0UHJvdmlkZXIgfSBmcm9tICcuL3Byb3ZpZGVycy9zd2VldGFsZXJ0LnByb3ZpZGVyJztcblxuLy8gRGVmYXVsdCB0b2FzdHIgY29uZmlnIChjYW4gYmUgb3ZlcnJpZGRlbilcbmNvbnN0IERFRkFVTFRfVE9BU1RSX0NPTkZJRzogUGFydGlhbDxHbG9iYWxDb25maWc+ID0ge1xuICBwb3NpdGlvbkNsYXNzOiAndG9hc3QtYm90dG9tLWNlbnRlcicsXG4gIHRpbWVPdXQ6IDUwMDAsXG4gIGV4dGVuZGVkVGltZU91dDogMTUwMCxcbiAgY2xvc2VCdXR0b246IHRydWUsXG4gIG5ld2VzdE9uVG9wOiB0cnVlLFxuICBwcmV2ZW50RHVwbGljYXRlczogdHJ1ZSxcbiAgcHJvZ3Jlc3NCYXI6IHRydWUsXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZU5vdGlmaWNhdGlvbnMoXG4gIGNvbmZpZz86IFBhcnRpYWw8Tm90aWZpY2F0aW9uUHJvdmlkZXJDb25maWc+LFxuICB0b2FzdHJDb25maWc/OiBQYXJ0aWFsPEdsb2JhbENvbmZpZz4sIC8vIE5ldyBvcHRpb25hbCBwYXJhbSBmb3IgZHluYW1pYyB0b2FzdHIgb3B0aW9uc1xuKTogRW52aXJvbm1lbnRQcm92aWRlcnMge1xuICByZXR1cm4gbWFrZUVudmlyb25tZW50UHJvdmlkZXJzKFtcbiAgICBwcm92aWRlVG9hc3RyKHtcbiAgICAgIC4uLkRFRkFVTFRfVE9BU1RSX0NPTkZJRyxcbiAgICAgIC4uLnRvYXN0ckNvbmZpZywgLy8gTWVyZ2Ugd2l0aCB1c2VyLXByb3ZpZGVkIGNvbmZpZyBmb3IgZmxleGliaWxpdHlcbiAgICB9KSxcblxuICAgIC8vIE5vdGlmaWNhdGlvbiBwcm92aWRlcnNcbiAgICBUb2FzdHJQcm92aWRlcixcbiAgICBTbmFja2JhclByb3ZpZGVyLFxuICAgIFN3ZWV0QWxlcnRQcm92aWRlcixcblxuICAgIC8vIENvbmZpZ3VyYXRpb25cbiAgICB7XG4gICAgICBwcm92aWRlOiBOT1RJRklDQVRJT05fQ09ORklHLFxuICAgICAgdXNlVmFsdWU6IHtcbiAgICAgICAgZGVmYXVsdFByb3ZpZGVyOiAndG9hc3RyJyxcbiAgICAgICAgLi4uY29uZmlnLFxuICAgICAgfSxcbiAgICB9LFxuXG4gICAgLy8gTWFpbiBzZXJ2aWNlXG4gICAgTm90aWZpY2F0aW9uU2VydmljZSxcbiAgXSk7XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvbnRwbHVzLW5nLW5vdGlmaWNhdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy1ub3RpZmljYXRpb25zL3NyYy9hY29udHBsdXMtbmctbm90aWZpY2F0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
|
package/index.d.ts
CHANGED
|
@@ -16,12 +16,12 @@ interface NotificationCallProps extends BaseNotificationConfig {
|
|
|
16
16
|
readonly config?: unknown;
|
|
17
17
|
}
|
|
18
18
|
interface SweetAlertConfig extends BaseNotificationConfig {
|
|
19
|
+
readonly html?: string;
|
|
19
20
|
readonly confirmButtonText?: string;
|
|
20
21
|
readonly cancelButtonText?: string;
|
|
21
22
|
readonly showCancelButton?: boolean;
|
|
22
23
|
readonly allowOutsideClick?: boolean;
|
|
23
24
|
readonly customClass?: string;
|
|
24
|
-
readonly html?: string;
|
|
25
25
|
}
|
|
26
26
|
interface NotificationResult {
|
|
27
27
|
isConfirmed?: boolean;
|
|
@@ -113,7 +113,10 @@ interface NotificationProviderConfig {
|
|
|
113
113
|
defaultProvider: NotificationProvider;
|
|
114
114
|
toastr?: unknown;
|
|
115
115
|
snackbar?: unknown;
|
|
116
|
-
sweetalert?:
|
|
116
|
+
sweetalert?: {
|
|
117
|
+
defaultTheme?: 'auto' | 'material-ui' | 'material-ui-light' | 'material-ui-dark' | string;
|
|
118
|
+
[key: string]: unknown;
|
|
119
|
+
};
|
|
117
120
|
}
|
|
118
121
|
declare abstract class NotificationProviderBase {
|
|
119
122
|
abstract success(props: NotificationCallProps): void | Observable<NotificationResult>;
|
|
@@ -167,6 +170,9 @@ declare class SnackbarProvider extends NotificationProviderBase {
|
|
|
167
170
|
}
|
|
168
171
|
|
|
169
172
|
declare class SweetAlertProvider extends NotificationProviderBase {
|
|
173
|
+
private config;
|
|
174
|
+
private themeDetector;
|
|
175
|
+
private getTheme;
|
|
170
176
|
success(props: NotificationCallProps): Observable<NotificationResult>;
|
|
171
177
|
error(props: NotificationCallProps): Observable<NotificationResult>;
|
|
172
178
|
warning(props: NotificationCallProps): Observable<NotificationResult>;
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@acontplus/ng-notifications",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.10",
|
|
4
4
|
"description": "A library of Angular components for notifications, including custom buttons, dialogs, and snackbars, built with Angular Material and styled with SCSS.",
|
|
5
5
|
"peerDependencies": {
|
|
6
6
|
"@angular/common": "^20.3.2",
|
|
7
7
|
"@angular/core": "^20.3.2",
|
|
8
8
|
"@angular/material": "^20.2.5",
|
|
9
9
|
"ngx-toastr": "^19.1.0",
|
|
10
|
-
"sweetalert2": "^11.
|
|
10
|
+
"sweetalert2": "^11.25.0",
|
|
11
11
|
"rxjs": "^7.8.2"
|
|
12
12
|
},
|
|
13
13
|
"sideEffects": true,
|