@sudobility/di_web 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/README.md +52 -0
  2. package/dist/firebase/firebase.interface.d.ts +81 -0
  3. package/dist/firebase/firebase.interface.d.ts.map +1 -0
  4. package/dist/firebase/firebase.interface.js +2 -0
  5. package/dist/firebase/firebase.interface.js.map +1 -0
  6. package/dist/firebase/firebase.web.d.ts +19 -0
  7. package/dist/firebase/firebase.web.d.ts.map +1 -0
  8. package/dist/firebase/firebase.web.js +322 -0
  9. package/dist/firebase/firebase.web.js.map +1 -0
  10. package/dist/index.d.ts +11 -0
  11. package/dist/index.d.ts.map +1 -0
  12. package/dist/index.js +11 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/navigation/navigation.web.d.ts +34 -0
  15. package/dist/navigation/navigation.web.d.ts.map +1 -0
  16. package/dist/navigation/navigation.web.js +176 -0
  17. package/dist/navigation/navigation.web.js.map +1 -0
  18. package/dist/network/network.web.d.ts +12 -0
  19. package/dist/network/network.web.d.ts.map +1 -0
  20. package/dist/network/network.web.js +124 -0
  21. package/dist/network/network.web.js.map +1 -0
  22. package/dist/network-singleton.d.ts +5 -0
  23. package/dist/network-singleton.d.ts.map +1 -0
  24. package/dist/network-singleton.js +21 -0
  25. package/dist/network-singleton.js.map +1 -0
  26. package/dist/storage/storage-singleton.d.ts +5 -0
  27. package/dist/storage/storage-singleton.d.ts.map +1 -0
  28. package/dist/storage/storage-singleton.js +19 -0
  29. package/dist/storage/storage-singleton.js.map +1 -0
  30. package/dist/storage/storage.web.d.ts +22 -0
  31. package/dist/storage/storage.web.d.ts.map +1 -0
  32. package/dist/storage/storage.web.js +107 -0
  33. package/dist/storage/storage.web.js.map +1 -0
  34. package/dist/storage/web-storage.service.d.ts +23 -0
  35. package/dist/storage/web-storage.service.d.ts.map +1 -0
  36. package/dist/storage/web-storage.service.js +137 -0
  37. package/dist/storage/web-storage.service.js.map +1 -0
  38. package/dist/types/ui-navigation.d.ts +51 -0
  39. package/dist/types/ui-navigation.d.ts.map +1 -0
  40. package/dist/types/ui-navigation.js +2 -0
  41. package/dist/types/ui-navigation.js.map +1 -0
  42. package/dist/web-network.service.d.ts +24 -0
  43. package/dist/web-network.service.d.ts.map +1 -0
  44. package/dist/web-network.service.js +150 -0
  45. package/dist/web-network.service.js.map +1 -0
  46. package/package.json +72 -0
package/README.md ADDED
@@ -0,0 +1,52 @@
1
+ # @sudobility/di_web
2
+
3
+ Web implementations of dependency injection services for 0xmail.box.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install @sudobility/di_web @sudobility/di @sudobility/types
9
+ ```
10
+
11
+ ## Usage
12
+
13
+ ```typescript
14
+ import { webNetworkClient, webStorageService, webAnalyticsService } from '@sudobility/di_web';
15
+
16
+ // Use the pre-configured singleton instances
17
+ const response = await webNetworkClient.get('https://api.example.com/data');
18
+ ```
19
+
20
+ ## Services
21
+
22
+ - **Network Client**: Axios-based HTTP client with retry logic
23
+ - **Storage Service**: LocalStorage-based persistence
24
+ - **Analytics Service**: Web analytics tracking
25
+ - **Notification Service**: Browser notification support
26
+ - **Navigation Service**: Web navigation helpers
27
+ - **Theme Service**: Dark/light theme management
28
+ - **Persistence Service**: IndexedDB-based storage
29
+ - **Firebase Service**: Firebase initialization for web
30
+
31
+ ## Development
32
+
33
+ ```bash
34
+ # Install dependencies
35
+ npm install
36
+
37
+ # Build
38
+ npm run build
39
+
40
+ # Watch mode
41
+ npm run dev
42
+
43
+ # Run tests
44
+ npm test
45
+
46
+ # Lint
47
+ npm run lint
48
+ ```
49
+
50
+ ## License
51
+
52
+ MIT
@@ -0,0 +1,81 @@
1
+ export interface AnalyticsEvent {
2
+ name: string;
3
+ parameters?: Record<string, unknown>;
4
+ }
5
+ export interface AnalyticsService {
6
+ logEvent(eventName: string, parameters?: Record<string, unknown>): void;
7
+ setUserProperties(properties: Record<string, string>): void;
8
+ setUserId(userId: string): void;
9
+ isSupported(): boolean;
10
+ }
11
+ export interface RemoteConfigValue {
12
+ asBoolean(): boolean;
13
+ asString(): string;
14
+ asNumber(): number;
15
+ getSource(): 'static' | 'default' | 'remote';
16
+ }
17
+ export interface RemoteConfigService {
18
+ fetchAndActivate(): Promise<boolean>;
19
+ getValue(key: string): RemoteConfigValue;
20
+ getAll(): Record<string, RemoteConfigValue>;
21
+ isSupported(): boolean;
22
+ }
23
+ export interface FCMNotificationPayload {
24
+ title?: string;
25
+ body?: string;
26
+ icon?: string;
27
+ badge?: string;
28
+ image?: string;
29
+ tag?: string;
30
+ requireInteraction?: boolean;
31
+ }
32
+ export interface FCMDataPayload {
33
+ [key: string]: string;
34
+ }
35
+ export interface FCMMessage {
36
+ notification?: FCMNotificationPayload;
37
+ data?: FCMDataPayload;
38
+ messageId?: string;
39
+ from?: string;
40
+ collapseKey?: string;
41
+ }
42
+ export interface FCMPermissionState {
43
+ status: 'granted' | 'denied' | 'default';
44
+ token: string | null;
45
+ }
46
+ export interface FCMState {
47
+ isSupported: boolean;
48
+ permission: FCMPermissionState;
49
+ }
50
+ export interface FCMService {
51
+ requestPermission(): Promise<boolean>;
52
+ getToken(): Promise<string | null>;
53
+ deleteToken(): Promise<boolean>;
54
+ onMessage(callback: (message: FCMMessage) => void): () => void;
55
+ isSupported(): boolean;
56
+ getPermissionStatus(): FCMPermissionState;
57
+ }
58
+ export interface FirebaseService {
59
+ analytics: AnalyticsService;
60
+ remoteConfig: RemoteConfigService;
61
+ messaging: FCMService;
62
+ isConfigured(): boolean;
63
+ isDevelopment(): boolean;
64
+ }
65
+ export interface FirebaseConfig {
66
+ apiKey: string;
67
+ authDomain: string;
68
+ projectId: string;
69
+ storageBucket: string;
70
+ messagingSenderId: string;
71
+ appId: string;
72
+ measurementId?: string;
73
+ vapidKey?: string;
74
+ }
75
+ export interface FirebaseInitOptions {
76
+ enableAnalytics?: boolean;
77
+ enableRemoteConfig?: boolean;
78
+ enableMessaging?: boolean;
79
+ enableDevelopmentMode?: boolean;
80
+ }
81
+ //# sourceMappingURL=firebase.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"firebase.interface.d.ts","sourceRoot":"","sources":["../../src/firebase/firebase.interface.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=firebase.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"firebase.interface.js","sourceRoot":"","sources":["../../src/firebase/firebase.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,19 @@
1
+ import { FirebaseService, AnalyticsService, RemoteConfigService, FCMService, FirebaseConfig, FirebaseInitOptions } from './firebase.interface';
2
+ export declare class WebFirebaseService implements FirebaseService {
3
+ analytics: AnalyticsService;
4
+ remoteConfig: RemoteConfigService;
5
+ messaging: FCMService;
6
+ private app;
7
+ private config;
8
+ private options;
9
+ private configured;
10
+ constructor(config: FirebaseConfig, options?: FirebaseInitOptions);
11
+ private initializeFirebase;
12
+ private initializeAnalytics;
13
+ private initializeRemoteConfig;
14
+ private initializeMessaging;
15
+ isConfigured(): boolean;
16
+ isDevelopment(): boolean;
17
+ }
18
+ export declare function createWebFirebaseService(config: FirebaseConfig, options?: FirebaseInitOptions): FirebaseService;
19
+ //# sourceMappingURL=firebase.web.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"firebase.web.d.ts","sourceRoot":"","sources":["../../src/firebase/firebase.web.ts"],"names":[],"mappings":"AA8BA,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,UAAU,EACV,cAAc,EACd,mBAAmB,EAIpB,MAAM,sBAAsB,CAAC;AAwO9B,qBAAa,kBAAmB,YAAW,eAAe;IACjD,SAAS,EAAE,gBAAgB,CAAC;IAC5B,YAAY,EAAE,mBAAmB,CAAC;IAClC,SAAS,EAAE,UAAU,CAAC;IAE7B,OAAO,CAAC,GAAG,CAA4B;IACvC,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,UAAU,CAAkB;gBAExB,MAAM,EAAE,cAAc,EAAE,OAAO,GAAE,mBAAwB;IAsBrE,OAAO,CAAC,kBAAkB;IA6B1B,OAAO,CAAC,mBAAmB;IAiB3B,OAAO,CAAC,sBAAsB;YAahB,mBAAmB;IAoCjC,YAAY,IAAI,OAAO;IAIvB,aAAa,IAAI,OAAO;CAGzB;AAKD,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,eAAe,CAEjB"}
@@ -0,0 +1,322 @@
1
+ import { initializeApp, getApps, getApp } from 'firebase/app';
2
+ import { getAnalytics, logEvent, setUserProperties, setUserId, } from 'firebase/analytics';
3
+ import { getRemoteConfig, fetchAndActivate, getValue, getAll, } from 'firebase/remote-config';
4
+ import { getMessaging, getToken, onMessage, deleteToken, isSupported as isMessagingSupported, } from 'firebase/messaging';
5
+ const DEFAULT_OPTIONS = {
6
+ enableAnalytics: true,
7
+ enableRemoteConfig: true,
8
+ enableMessaging: true,
9
+ enableDevelopmentMode: false,
10
+ };
11
+ class WebAnalyticsService {
12
+ constructor(analytics) {
13
+ this.analytics = analytics;
14
+ }
15
+ logEvent(eventName, parameters) {
16
+ if (this.analytics && this.isSupported()) {
17
+ try {
18
+ logEvent(this.analytics, eventName, parameters);
19
+ }
20
+ catch (error) {
21
+ console.error('Error logging analytics event:', error);
22
+ }
23
+ }
24
+ }
25
+ setUserProperties(properties) {
26
+ if (this.analytics && this.isSupported()) {
27
+ try {
28
+ setUserProperties(this.analytics, properties);
29
+ }
30
+ catch (error) {
31
+ console.error('Error setting user properties:', error);
32
+ }
33
+ }
34
+ }
35
+ setUserId(userId) {
36
+ if (this.analytics && this.isSupported()) {
37
+ try {
38
+ setUserId(this.analytics, userId);
39
+ }
40
+ catch (error) {
41
+ console.error('Error setting user ID:', error);
42
+ }
43
+ }
44
+ }
45
+ isSupported() {
46
+ return typeof window !== 'undefined' && this.analytics !== null;
47
+ }
48
+ }
49
+ class WebRemoteConfigValue {
50
+ constructor(value) {
51
+ this.value = value;
52
+ }
53
+ asBoolean() {
54
+ return this.value.asBoolean();
55
+ }
56
+ asString() {
57
+ return this.value.asString();
58
+ }
59
+ asNumber() {
60
+ return this.value.asNumber();
61
+ }
62
+ getSource() {
63
+ return this.value.getSource();
64
+ }
65
+ }
66
+ class WebRemoteConfigService {
67
+ constructor(remoteConfig) {
68
+ this.remoteConfig = remoteConfig;
69
+ }
70
+ async fetchAndActivate() {
71
+ if (this.remoteConfig && this.isSupported()) {
72
+ try {
73
+ return await fetchAndActivate(this.remoteConfig);
74
+ }
75
+ catch (error) {
76
+ console.error('Error fetching and activating remote config:', error);
77
+ return false;
78
+ }
79
+ }
80
+ return false;
81
+ }
82
+ getValue(key) {
83
+ if (this.remoteConfig && this.isSupported()) {
84
+ try {
85
+ const value = getValue(this.remoteConfig, key);
86
+ return new WebRemoteConfigValue(value);
87
+ }
88
+ catch (error) {
89
+ console.error('Error getting remote config value:', error);
90
+ }
91
+ }
92
+ return new WebRemoteConfigValue({
93
+ asBoolean: () => false,
94
+ asString: () => '',
95
+ asNumber: () => 0,
96
+ getSource: () => 'default',
97
+ });
98
+ }
99
+ getAll() {
100
+ if (this.remoteConfig && this.isSupported()) {
101
+ try {
102
+ const allValues = getAll(this.remoteConfig);
103
+ const result = {};
104
+ for (const [key, value] of Object.entries(allValues)) {
105
+ result[key] = new WebRemoteConfigValue(value);
106
+ }
107
+ return result;
108
+ }
109
+ catch (error) {
110
+ console.error('Error getting all remote config values:', error);
111
+ }
112
+ }
113
+ return {};
114
+ }
115
+ isSupported() {
116
+ return this.remoteConfig !== null;
117
+ }
118
+ }
119
+ class WebFCMService {
120
+ constructor(messaging, vapidKey) {
121
+ this.messaging = messaging;
122
+ this.vapidKey = vapidKey;
123
+ }
124
+ async requestPermission() {
125
+ if (!this.isSupported() ||
126
+ typeof window === 'undefined' ||
127
+ !('Notification' in window)) {
128
+ return false;
129
+ }
130
+ try {
131
+ const permission = await Notification.requestPermission();
132
+ return permission === 'granted';
133
+ }
134
+ catch (error) {
135
+ console.error('Error requesting notification permission:', error);
136
+ return false;
137
+ }
138
+ }
139
+ async getToken() {
140
+ if (!this.messaging || !this.isSupported()) {
141
+ return null;
142
+ }
143
+ try {
144
+ if (Notification.permission === 'granted') {
145
+ const token = await getToken(this.messaging, {
146
+ vapidKey: this.vapidKey,
147
+ });
148
+ return token || null;
149
+ }
150
+ }
151
+ catch (error) {
152
+ console.error('Error getting FCM token:', error);
153
+ }
154
+ return null;
155
+ }
156
+ async deleteToken() {
157
+ if (!this.messaging || !this.isSupported()) {
158
+ return false;
159
+ }
160
+ try {
161
+ return await deleteToken(this.messaging);
162
+ }
163
+ catch (error) {
164
+ console.error('Error deleting FCM token:', error);
165
+ return false;
166
+ }
167
+ }
168
+ onMessage(callback) {
169
+ if (!this.messaging || !this.isSupported()) {
170
+ return () => { };
171
+ }
172
+ try {
173
+ this.unsubscribe = onMessage(this.messaging, (payload) => {
174
+ const message = {
175
+ ...(payload.notification && { notification: payload.notification }),
176
+ ...(payload.data && { data: payload.data }),
177
+ ...(payload.messageId && { messageId: payload.messageId }),
178
+ ...(payload.from && { from: payload.from }),
179
+ ...(payload.collapseKey && { collapseKey: payload.collapseKey }),
180
+ };
181
+ callback(message);
182
+ });
183
+ const cleanup = () => {
184
+ if (this.unsubscribe) {
185
+ this.unsubscribe();
186
+ delete this.unsubscribe;
187
+ }
188
+ };
189
+ return cleanup;
190
+ }
191
+ catch (error) {
192
+ console.error('Error setting up FCM message listener:', error);
193
+ return () => { };
194
+ }
195
+ }
196
+ isSupported() {
197
+ return typeof window !== 'undefined' && this.messaging !== null;
198
+ }
199
+ getPermissionStatus() {
200
+ if (!this.isSupported() ||
201
+ typeof window === 'undefined' ||
202
+ !('Notification' in window)) {
203
+ return { status: 'denied', token: null };
204
+ }
205
+ return {
206
+ status: Notification.permission,
207
+ token: null,
208
+ };
209
+ }
210
+ }
211
+ export class WebFirebaseService {
212
+ constructor(config, options = {}) {
213
+ this.app = null;
214
+ this.configured = false;
215
+ this.config = config;
216
+ this.options = { ...DEFAULT_OPTIONS, ...options };
217
+ this.initializeFirebase();
218
+ this.analytics = new WebAnalyticsService(this.initializeAnalytics());
219
+ this.remoteConfig = new WebRemoteConfigService(this.initializeRemoteConfig());
220
+ this.messaging = new WebFCMService(null, config.vapidKey || '');
221
+ this.initializeMessaging()
222
+ .then((messaging) => {
223
+ if (messaging) {
224
+ this.messaging = new WebFCMService(messaging, config.vapidKey || '');
225
+ }
226
+ })
227
+ .catch(console.error);
228
+ }
229
+ initializeFirebase() {
230
+ try {
231
+ const requiredFields = [
232
+ 'apiKey',
233
+ 'authDomain',
234
+ 'projectId',
235
+ 'storageBucket',
236
+ 'messagingSenderId',
237
+ 'appId',
238
+ ];
239
+ const missingFields = requiredFields.filter((field) => !this.config[field]);
240
+ if (missingFields.length > 0) {
241
+ this.configured = false;
242
+ return;
243
+ }
244
+ this.app = getApps().length === 0 ? initializeApp(this.config) : getApp();
245
+ this.configured = true;
246
+ }
247
+ catch (error) {
248
+ console.error('Error initializing Firebase:', error);
249
+ this.configured = false;
250
+ }
251
+ }
252
+ initializeAnalytics() {
253
+ if (!this.app ||
254
+ !this.options.enableAnalytics ||
255
+ typeof window === 'undefined') {
256
+ return null;
257
+ }
258
+ try {
259
+ return getAnalytics(this.app);
260
+ }
261
+ catch (error) {
262
+ console.error('Error initializing Analytics:', error);
263
+ return null;
264
+ }
265
+ }
266
+ initializeRemoteConfig() {
267
+ if (!this.app || !this.options.enableRemoteConfig) {
268
+ return null;
269
+ }
270
+ try {
271
+ return getRemoteConfig(this.app);
272
+ }
273
+ catch (error) {
274
+ console.error('Error initializing Remote Config:', error);
275
+ return null;
276
+ }
277
+ }
278
+ async initializeMessaging() {
279
+ if (!this.app ||
280
+ !this.options.enableMessaging ||
281
+ typeof window === 'undefined') {
282
+ return null;
283
+ }
284
+ try {
285
+ return new Promise((resolve) => {
286
+ isMessagingSupported()
287
+ .then((supported) => {
288
+ if (supported) {
289
+ try {
290
+ const messaging = getMessaging(this.app);
291
+ resolve(messaging);
292
+ }
293
+ catch (error) {
294
+ console.error('Error getting messaging instance:', error);
295
+ resolve(null);
296
+ }
297
+ }
298
+ else {
299
+ resolve(null);
300
+ }
301
+ })
302
+ .catch(() => {
303
+ resolve(null);
304
+ });
305
+ });
306
+ }
307
+ catch (error) {
308
+ console.error('Error initializing messaging:', error);
309
+ return null;
310
+ }
311
+ }
312
+ isConfigured() {
313
+ return this.configured;
314
+ }
315
+ isDevelopment() {
316
+ return this.options.enableDevelopmentMode || !this.configured;
317
+ }
318
+ }
319
+ export function createWebFirebaseService(config, options) {
320
+ return new WebFirebaseService(config, options);
321
+ }
322
+ //# sourceMappingURL=firebase.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"firebase.web.js","sourceRoot":"","sources":["../../src/firebase/firebase.web.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAe,MAAM,cAAc,CAAC;AAC3E,OAAO,EACL,YAAY,EAEZ,QAAQ,EACR,iBAAiB,EACjB,SAAS,GACV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,eAAe,EAEf,gBAAgB,EAChB,QAAQ,EACR,MAAM,GAEP,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,YAAY,EAEZ,QAAQ,EACR,SAAS,EACT,WAAW,EACX,WAAW,IAAI,oBAAoB,GACpC,MAAM,oBAAoB,CAAC;AAe5B,MAAM,eAAe,GAAwB;IAC3C,eAAe,EAAE,IAAI;IACrB,kBAAkB,EAAE,IAAI;IACxB,eAAe,EAAE,IAAI;IACrB,qBAAqB,EAAE,KAAK;CAC7B,CAAC;AAEF,MAAM,mBAAmB;IACvB,YAAoB,SAA2B;QAA3B,cAAS,GAAT,SAAS,CAAkB;IAAG,CAAC;IAEnD,QAAQ,CAAC,SAAiB,EAAE,UAAoC;QAC9D,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACzC,IAAI,CAAC;gBACH,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;YAClD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;IACH,CAAC;IAED,iBAAiB,CAAC,UAAkC;QAClD,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACzC,IAAI,CAAC;gBACH,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAChD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;IACH,CAAC;IAED,SAAS,CAAC,MAAc;QACtB,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACzC,IAAI,CAAC;gBACH,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACpC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;IACH,CAAC;IAED,WAAW;QACT,OAAO,OAAO,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC;IAClE,CAAC;CACF;AAED,MAAM,oBAAoB;IACxB,YAAoB,KAAY;QAAZ,UAAK,GAAL,KAAK,CAAO;IAAG,CAAC;IAEpC,SAAS;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;IAChC,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC/B,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC/B,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,EAAqC,CAAC;IACnE,CAAC;CACF;AAED,MAAM,sBAAsB;IAC1B,YAAoB,YAAiC;QAAjC,iBAAY,GAAZ,YAAY,CAAqB;IAAG,CAAC;IAEzD,KAAK,CAAC,gBAAgB;QACpB,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YAC5C,IAAI,CAAC;gBACH,OAAO,MAAM,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACnD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,8CAA8C,EAAE,KAAK,CAAC,CAAC;gBACrE,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,QAAQ,CAAC,GAAW;QAClB,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YAC5C,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;gBAC/C,OAAO,IAAI,oBAAoB,CAAC,KAAK,CAAC,CAAC;YACzC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QAGD,OAAO,IAAI,oBAAoB,CAAC;YAC9B,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK;YACtB,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE;YAClB,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;YACjB,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS;SAClB,CAAC,CAAC;IACd,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YAC5C,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC5C,MAAM,MAAM,GAAsC,EAAE,CAAC;gBAErD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;oBACrD,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,oBAAoB,CAAC,KAAK,CAAC,CAAC;gBAChD,CAAC;gBAED,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,KAAK,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC;IACpC,CAAC;CACF;AAED,MAAM,aAAa;IAGjB,YACU,SAA2B,EAC3B,QAAgB;QADhB,cAAS,GAAT,SAAS,CAAkB;QAC3B,aAAQ,GAAR,QAAQ,CAAQ;IACvB,CAAC;IAEJ,KAAK,CAAC,iBAAiB;QACrB,IACE,CAAC,IAAI,CAAC,WAAW,EAAE;YACnB,OAAO,MAAM,KAAK,WAAW;YAC7B,CAAC,CAAC,cAAc,IAAI,MAAM,CAAC,EAC3B,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,iBAAiB,EAAE,CAAC;YAC1D,OAAO,UAAU,KAAK,SAAS,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,KAAK,CAAC,CAAC;YAClE,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACH,IAAI,YAAY,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC1C,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE;oBAC3C,QAAQ,EAAE,IAAI,CAAC,QAAQ;iBACxB,CAAC,CAAC;gBACH,OAAO,KAAK,IAAI,IAAI,CAAC;YACvB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,WAAW;QACf,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YAC3C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC;YACH,OAAO,MAAM,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;YAClD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,SAAS,CAAC,QAAuC;QAC/C,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YAC3C,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,CAAC;YACH,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE;gBACvD,MAAM,OAAO,GAAe;oBAC1B,GAAG,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC;oBACnE,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;oBAC3C,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;oBAC1D,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;oBAC3C,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;iBACjE,CAAC;gBACF,QAAQ,CAAC,OAAO,CAAC,CAAC;YACpB,CAAC,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,GAAS,EAAE;gBACzB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;oBACrB,IAAI,CAAC,WAAW,EAAE,CAAC;oBACnB,OAAO,IAAI,CAAC,WAAW,CAAC;gBAC1B,CAAC;YACH,CAAC,CAAC;YACF,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAC;YAC/D,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,WAAW;QACT,OAAO,OAAO,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC;IAClE,CAAC;IAED,mBAAmB;QACjB,IACE,CAAC,IAAI,CAAC,WAAW,EAAE;YACnB,OAAO,MAAM,KAAK,WAAW;YAC7B,CAAC,CAAC,cAAc,IAAI,MAAM,CAAC,EAC3B,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAC3C,CAAC;QAED,OAAO;YACL,MAAM,EAAE,YAAY,CAAC,UAAU;YAC/B,KAAK,EAAE,IAAI;SACZ,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,kBAAkB;IAU7B,YAAY,MAAsB,EAAE,UAA+B,EAAE;QAL7D,QAAG,GAAuB,IAAI,CAAC;QAG/B,eAAU,GAAY,KAAK,CAAC;QAGlC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,eAAe,EAAE,GAAG,OAAO,EAAE,CAAC;QAGlD,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAG1B,IAAI,CAAC,SAAS,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;QACrE,IAAI,CAAC,YAAY,GAAG,IAAI,sBAAsB,CAC5C,IAAI,CAAC,sBAAsB,EAAE,CAC9B,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,IAAI,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,mBAAmB,EAAE;aACvB,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;YAClB,IAAI,SAAS,EAAE,CAAC;gBACd,IAAI,CAAC,SAAS,GAAG,IAAI,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;YACvE,CAAC;QACH,CAAC,CAAC;aACD,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAEO,kBAAkB;QACxB,IAAI,CAAC;YAEH,MAAM,cAAc,GAAG;gBACrB,QAAQ;gBACR,YAAY;gBACZ,WAAW;gBACX,eAAe;gBACf,mBAAmB;gBACnB,OAAO;aACR,CAAC;YACF,MAAM,aAAa,GAAG,cAAc,CAAC,MAAM,CACzC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAA6B,CAAC,CACvD,CAAC;YAEF,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;gBACxB,OAAO;YACT,CAAC;YAGD,IAAI,CAAC,GAAG,GAAG,OAAO,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YAC1E,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;YACrD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAC1B,CAAC;IACH,CAAC;IAEO,mBAAmB;QACzB,IACE,CAAC,IAAI,CAAC,GAAG;YACT,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe;YAC7B,OAAO,MAAM,KAAK,WAAW,EAC7B,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACH,OAAO,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;YACtD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAEO,sBAAsB;QAC5B,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAClD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACH,OAAO,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;YAC1D,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,mBAAmB;QAC/B,IACE,CAAC,IAAI,CAAC,GAAG;YACT,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe;YAC7B,OAAO,MAAM,KAAK,WAAW,EAC7B,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YAEH,OAAO,IAAI,OAAO,CAAmB,CAAC,OAAO,EAAE,EAAE;gBAC/C,oBAAoB,EAAE;qBACnB,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;oBAClB,IAAI,SAAS,EAAE,CAAC;wBACd,IAAI,CAAC;4BACH,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,GAAI,CAAC,CAAC;4BAC1C,OAAO,CAAC,SAAS,CAAC,CAAC;wBACrB,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;4BAC1D,OAAO,CAAC,IAAI,CAAC,CAAC;wBAChB,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,IAAI,CAAC,CAAC;oBAChB,CAAC;gBACH,CAAC,CAAC;qBACD,KAAK,CAAC,GAAG,EAAE;oBACV,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChB,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;YACtD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,qBAAqB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;IAChE,CAAC;CACF;AAKD,MAAM,UAAU,wBAAwB,CACtC,MAAsB,EACtB,OAA6B;IAE7B,OAAO,IAAI,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACjD,CAAC"}
@@ -0,0 +1,11 @@
1
+ export * from './firebase/firebase.interface';
2
+ export { WebFirebaseService, createWebFirebaseService, } from './firebase/firebase.web';
3
+ export * from './types/ui-navigation';
4
+ export { WebUINavigationService, createWebUINavigationService, webNavigationHelpers, } from './navigation/navigation.web';
5
+ export { WebNetworkClient, webNetworkClient } from './network/network.web';
6
+ export { WebNetworkService } from './web-network.service';
7
+ export { getNetworkService, initializeNetworkService, resetNetworkService, } from './network-singleton';
8
+ export { WebStorage, AdvancedWebStorage, webStorage, advancedWebStorage, } from './storage/storage.web';
9
+ export { WebStorageService, WebSerializedStorageService, } from './storage/web-storage.service';
10
+ export { getStorageService, initializeStorageService, resetStorageService, } from './storage/storage-singleton';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,cAAc,+BAA+B,CAAC;AAC9C,OAAO,EACL,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AAGjC,cAAc,uBAAuB,CAAC;AACtC,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC5B,oBAAoB,GACrB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,UAAU,EACV,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,iBAAiB,EACjB,2BAA2B,GAC5B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,6BAA6B,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,11 @@
1
+ export * from './firebase/firebase.interface';
2
+ export { WebFirebaseService, createWebFirebaseService, } from './firebase/firebase.web';
3
+ export * from './types/ui-navigation';
4
+ export { WebUINavigationService, createWebUINavigationService, webNavigationHelpers, } from './navigation/navigation.web';
5
+ export { WebNetworkClient, webNetworkClient } from './network/network.web';
6
+ export { WebNetworkService } from './web-network.service';
7
+ export { getNetworkService, initializeNetworkService, resetNetworkService, } from './network-singleton';
8
+ export { WebStorage, AdvancedWebStorage, webStorage, advancedWebStorage, } from './storage/storage.web';
9
+ export { WebStorageService, WebSerializedStorageService, } from './storage/web-storage.service';
10
+ export { getStorageService, initializeStorageService, resetStorageService, } from './storage/storage-singleton';
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,cAAc,+BAA+B,CAAC;AAC9C,OAAO,EACL,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AAGjC,cAAc,uBAAuB,CAAC;AACtC,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC5B,oBAAoB,GACrB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,UAAU,EACV,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,iBAAiB,EACjB,2BAA2B,GAC5B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,6BAA6B,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { UINavigationService, UINavigationOptions, UINavigationState, UINavigationConfig } from '../types/ui-navigation';
2
+ export declare class WebUINavigationService implements UINavigationService {
3
+ private config;
4
+ private listeners;
5
+ private currentState;
6
+ constructor(config?: Partial<UINavigationConfig>);
7
+ navigate(path: string, options?: UINavigationOptions): void;
8
+ goBack(fallbackPath?: string): void;
9
+ goForward(): void;
10
+ replace(path: string, options?: UINavigationOptions): void;
11
+ getCurrentState(): UINavigationState;
12
+ getCurrentPath(): string;
13
+ getSearchParams(): Record<string, string>;
14
+ getParams(): Record<string, string>;
15
+ canGoBack(): boolean;
16
+ canGoForward(): boolean;
17
+ addListener(listener: (state: UINavigationState) => void): () => void;
18
+ isSupported(): boolean;
19
+ private buildCurrentState;
20
+ private updateCurrentState;
21
+ private handlePopState;
22
+ private notifyListeners;
23
+ private trackNavigation;
24
+ }
25
+ export declare function createWebUINavigationService(config?: Partial<UINavigationConfig>): UINavigationService;
26
+ export declare const webNavigationHelpers: {
27
+ getReactRouterNavigate: () => null;
28
+ convertLocationToState: (location: {
29
+ pathname?: string;
30
+ params?: Record<string, string>;
31
+ search?: string;
32
+ }) => UINavigationState;
33
+ };
34
+ //# sourceMappingURL=navigation.web.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation.web.d.ts","sourceRoot":"","sources":["../../src/navigation/navigation.web.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAUhC,qBAAa,sBAAuB,YAAW,mBAAmB;IAChE,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,SAAS,CAA8C;IAC/D,OAAO,CAAC,YAAY,CAAoB;gBAE5B,MAAM,GAAE,OAAO,CAAC,kBAAkB,CAAM;IAUpD,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB,GAAG,IAAI;IAsB/D,MAAM,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI;IAsBnC,SAAS,IAAI,IAAI;IAsBjB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB,GAAG,IAAI;IAI9D,eAAe,IAAI,iBAAiB;IAIpC,cAAc,IAAI,MAAM;IAOxB,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAYzC,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAMnC,SAAS,IAAI,OAAO;IAOpB,YAAY,IAAI,OAAO;IAMvB,WAAW,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,GAAG,MAAM,IAAI;IAYrE,WAAW,IAAI,OAAO;IAQtB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,eAAe;CAIxB;AAKD,wBAAgB,4BAA4B,CAC1C,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GACnC,mBAAmB,CAErB;AAKD,eAAO,MAAM,oBAAoB;;uCAcI;QACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,KAAG,iBAAiB;CAStB,CAAC"}