webs-sdk 0.14.2 → 0.14.4

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 (60) hide show
  1. package/README.md +398 -398
  2. package/dist/components/ARFilters/ARFilters.js +52 -52
  3. package/dist/components/AvatarAI.js +4 -4
  4. package/dist/components/CreativeFaceSwap.js +12 -12
  5. package/dist/components/MemeGenerator.js +12 -12
  6. package/dist/components/SpinningWheel/SpinningWheel.js +7 -7
  7. package/dist/components/esports/index.d.ts +5 -0
  8. package/dist/components/esports/index.d.ts.map +1 -0
  9. package/dist/components/esports/index.js +13 -0
  10. package/dist/components/esports/index.js.map +1 -0
  11. package/dist/components/esports/news/EsportsNews.d.ts +4 -0
  12. package/dist/components/esports/news/EsportsNews.d.ts.map +1 -0
  13. package/dist/components/esports/news/EsportsNews.js +173 -0
  14. package/dist/components/esports/news/EsportsNews.js.map +1 -0
  15. package/dist/components/esports/news/api.d.ts +15 -0
  16. package/dist/components/esports/news/api.d.ts.map +1 -0
  17. package/dist/components/esports/news/api.js +153 -0
  18. package/dist/components/esports/news/api.js.map +1 -0
  19. package/dist/components/esports/news/index.d.ts +5 -0
  20. package/dist/components/esports/news/index.d.ts.map +1 -0
  21. package/dist/components/esports/news/index.js +9 -0
  22. package/dist/components/esports/news/index.js.map +1 -0
  23. package/dist/components/esports/news/types.d.ts +98 -0
  24. package/dist/components/esports/news/types.d.ts.map +1 -0
  25. package/dist/components/esports/news/types.js +3 -0
  26. package/dist/components/esports/news/types.js.map +1 -0
  27. package/dist/components/esports/utils.d.ts +11 -0
  28. package/dist/components/esports/utils.d.ts.map +1 -0
  29. package/dist/components/esports/utils.js +57 -0
  30. package/dist/components/esports/utils.js.map +1 -0
  31. package/dist/index.d.ts +2 -0
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +8 -1
  34. package/dist/index.js.map +1 -1
  35. package/dist/libraries/auth.d.ts.map +1 -1
  36. package/dist/libraries/auth.js +12 -9
  37. package/dist/libraries/auth.js.map +1 -1
  38. package/index.js +67 -67
  39. package/package.json +42 -40
  40. package/public/spin2win/assets/border-afristream.svg +26 -26
  41. package/public/spin2win/assets/border-efc.svg +23 -23
  42. package/public/spin2win/assets/border-totalgym.svg +27 -27
  43. package/public/spin2win/assets/border-womantoday.svg +26 -26
  44. package/public/spin2win/assets/indicator-afristream.svg +28 -28
  45. package/public/spin2win/assets/indicator-efc.svg +29 -29
  46. package/public/spin2win/assets/indicator-totalgym.svg +29 -29
  47. package/public/spin2win/fonts/switzer/README.md +22 -22
  48. package/types/index.d.ts +415 -415
  49. package/dist/components/ARFilters/ARFilters.jsx +0 -97
  50. package/dist/components/ARFilters/ARFilters.jsx.map +0 -1
  51. package/dist/components/ARFilters/FilterCarousel.jsx +0 -136
  52. package/dist/components/ARFilters/FilterCarousel.jsx.map +0 -1
  53. package/dist/components/ARFilters/Popups.jsx +0 -69
  54. package/dist/components/ARFilters/Popups.jsx.map +0 -1
  55. package/dist/components/CreativeFaceSwap.jsx +0 -536
  56. package/dist/components/CreativeFaceSwap.jsx.map +0 -1
  57. package/dist/components/Ringtone.jsx +0 -80
  58. package/dist/components/Ringtone.jsx.map +0 -1
  59. package/dist/components/SpinningWheel/SpinningWheel.jsx +0 -744
  60. package/dist/components/SpinningWheel/SpinningWheel.jsx.map +0 -1
package/types/index.d.ts CHANGED
@@ -1,415 +1,415 @@
1
- declare module "webs-sdk" {
2
- type JSONValue = string | number | boolean | null | JSONObject | JSONArray;
3
- interface JSONObject { [key: string]: JSONValue; }
4
- interface JSONArray extends Array<JSONValue> {}
5
-
6
- interface ApiEndpoints {
7
- contents: string;
8
- CONFIG: string;
9
- USER_CREATE_ID: string;
10
- NOTIFICATION_SET_TOKEN: string;
11
- SUB_NEW: string;
12
- SUB_STATUS: string;
13
- EVENTS_PUSH: string;
14
- [key: string]: string;
15
- }
16
-
17
- interface ImageCompression {
18
- COMPRESSION: number;
19
- WIDTH: number;
20
- ACTIVE: boolean;
21
- }
22
-
23
- interface Config {
24
- apiBaseUrl: string;
25
- apiVersion: string;
26
- endpoints: ApiEndpoints;
27
- timeout: number;
28
- retryAttempts: number;
29
- defaultHeaders: Record<string, string>;
30
- storage: {
31
- tokenKey: string;
32
- userKey: string;
33
- settingsKey: string;
34
- };
35
- i18n: {
36
- defaultLanguage: string;
37
- supportedLanguages: string[];
38
- fallbackLanguage: string;
39
- };
40
- // Nuevas propiedades del apps_sdk
41
- DEBUG_MODE: boolean;
42
- TRACKING_ANSWERED: boolean;
43
- TRACKING_ACTIVE: boolean;
44
- FORCED_UPDATE: boolean;
45
- CONFIG_EXTRA: any;
46
- QUICK_ACTIONS: any;
47
- EVENTS: { [key: string]: any };
48
- EVENTS_MIXPANEL: { [key: string]: any };
49
- PAYWALL_DATA: any;
50
- SPECIAL_EVENTS: string[];
51
- IMAGE_COMPRESSION: ImageCompression;
52
- EVENT_TYPES: {
53
- OTHER: string;
54
- ACTION: string;
55
- SCREEN: string;
56
- };
57
- MIXPANEL: {
58
- TOKEN: string;
59
- };
60
- }
61
-
62
- interface Networking {
63
- request(url: string, data?: any): Promise<any>;
64
- executeInit(): Promise<any>;
65
- getUserID(): Promise<string | null>;
66
- setToken(token: string): Promise<any>;
67
- checkConnection(): Promise<boolean>;
68
- decryptData(data: any): Promise<any>;
69
- setEndpoints(domains: any): void;
70
- setImageCompression(compression: any): void;
71
- getEndpoints(): Promise<any>;
72
- createSubscription(data: any): Promise<any>;
73
- checkSubscription(): Promise<boolean>;
74
- setForcedUpdate(data: any): boolean;
75
- setConfigExtra(data: any): void;
76
- getConfigExtra(): any;
77
- setQuickActions(quickActions: any): void;
78
- getQuickActions(): any;
79
- setEvents(events: any): void;
80
- setEventsMixPanel(events: any): void;
81
- setPayWallData(data: any): void;
82
- getPayWallData(): any;
83
- sendEvent(eventType: string, eventKeyword: string, eventData?: any, forceSend?: boolean): Promise<any>;
84
- addPendingEvent(event: any): void;
85
- clearPendingEvents(): void;
86
- sendPendingEvents(): Promise<void>;
87
- }
88
-
89
- interface AuthManager {
90
- auto_login(cfg_sessionid: string, website_id: string): Promise<any>;
91
- getThankyouPageMetadata(cfg_sessionid: string): Promise<ThankYouPageResult | any>;
92
- authUser(login: string, password: string, website_id: string): Promise<any>;
93
- authOnlyUser(login: string, website_id: string, login_only_user: string): Promise<any>;
94
- createUser(email: string, password: string, website_id: string, extraData?: any): Promise<any>;
95
- uploadProfilePhoto(login: string, password: string, website_id: string, resource: File): Promise<any>;
96
- setUserMetadata(login: string, password: string, website_id: string, metadata: Record<string, any>): Promise<any>;
97
- unsubscribeUser(user_id: string): Promise<any>;
98
- changePassword(login: string, website_id: string, new_pass: string, repeat_new_pass: string): Promise<ChangePasswordResult>;
99
- changeCredentials(website_id: string, login: string, password: string, new_login: string, new_pass: string, repeat_new_pass: string): Promise<ChangeCredentialsResult>;
100
- }
101
-
102
- interface I18nManager {
103
- // Clase vacía por ahora
104
- }
105
-
106
- interface Storage {
107
- get(key: string): string | null;
108
- set(key: string, value: string): void;
109
- remove(key: string): void;
110
- clear(): void;
111
- has(key: string): boolean;
112
- // Métodos compatibles con apps_sdk
113
- storeData(key: string, value: any): Promise<void>;
114
- getData(key: string): Promise<any>;
115
- removeData(key: string): Promise<void>;
116
- printAllKeys(): Promise<void>;
117
- removeAllKeys(): Promise<void>;
118
- handleDownloadImage(base64: string, fileName: string): Promise<void>;
119
- handleDownloadImageToCreations(base64Image: string, fileName: string, data: any): Promise<any>;
120
- getCreations(): Promise<any[]>;
121
- deleteCreation(dirName: string): Promise<void>;
122
- deleteAllCreations(): Promise<void>;
123
- setTrackingPermissionGranted(value: boolean): Promise<void>;
124
- setTrackingPermissionFromStorage(): Promise<void>;
125
- handleShareFile(fileName: string): Promise<boolean>;
126
- compressImage(imageUri: string, maxSizeMB?: number): Promise<string | null>;
127
- }
128
-
129
- interface Utils {
130
- formatDate(date: Date, format?: string): string;
131
- generateId(): string;
132
- debounce<T extends (...args: any[]) => any>(func: T, wait: number): (...args: Parameters<T>) => void;
133
- throttle<T extends (...args: any[]) => any>(func: T, limit: number): (...args: Parameters<T>) => void;
134
- deepClone<T>(obj: T): T;
135
- isValidEmail(email: string): boolean;
136
- isValidUrl(url: string): boolean;
137
- truncateText(text: string, maxLength: number, suffix?: string): string;
138
- capitalizeFirst(text: string): string;
139
- camelToKebab(str: string): string;
140
- kebabToCamel(str: string): string;
141
- sleep(ms: number): Promise<void>;
142
- getRandomInt(min: number, max: number): number;
143
- arrayChunk<T>(array: T[], size: number): T[][];
144
- arrayUnique<T>(array: T[]): T[];
145
- objectPick<T, K extends keyof T>(obj: T, keys: K[]): Pick<T, K>;
146
- objectOmit<T, K extends keyof T>(obj: T, keys: K[]): Omit<T, K>;
147
- // Métodos del apps_sdk adaptados para web
148
- isBase64(str: string): boolean;
149
- isBase64Image(str: string): boolean;
150
- capitalize(text: string): string;
151
- isSpecialEvent(eventKeyword: string): boolean;
152
- downloadFile(data: string, filename: string, type?: string): void;
153
- copyToClipboard(text: string): Promise<void>;
154
- getDeviceInfo(): any;
155
- isMobile(): boolean;
156
- isTablet(): boolean;
157
- isDesktop(): boolean;
158
- getBrowserInfo(): any;
159
- formatBytes(bytes: number, decimals?: number): string;
160
- parseQueryString(queryString: string): Record<string, string>;
161
- buildQueryString(params: Record<string, any>): string;
162
- encryptData(data: any): Promise<{ encryptedData: string; ivBase64: string }>;
163
- }
164
-
165
- interface Andromeda {
166
- getWebsiteMetadatabyHostname(hostname: string): Promise<MetadataResult | void>;
167
- getWebsiteConfig(website_id: string, merchantId?: number): Promise<MetadataResult | void>;
168
- }
169
-
170
- interface ContentManager {
171
- getContentByPreset(preset: string, params: Record<string, any>): Promise<any>;
172
- }
173
-
174
- interface SessionData {
175
- user_id: string | null;
176
- isFirstOpen: boolean;
177
- app: {
178
- shortVersion: string;
179
- package: string;
180
- languageCode: string;
181
- regionCode: string;
182
- buildVersionNumber: string;
183
- };
184
- device: {
185
- name: string;
186
- systemName: string;
187
- systemVersion: string;
188
- model: string;
189
- };
190
- sandbox: {
191
- domains: string;
192
- };
193
- adjust: {
194
- attribution_id: string;
195
- idfa: string;
196
- googleAdid: string;
197
- attribution: any;
198
- };
199
- dev: boolean;
200
- lang: string;
201
- package: string;
202
- }
203
-
204
- interface Session {
205
- init(): Promise<void>;
206
- setConfigEndpoint(endpoint: string): void;
207
- initSession(): Promise<void>;
208
- storeSessionStructure(): Promise<void>;
209
- checkFirstOpen(): Promise<void>;
210
- generateSessionID(): string;
211
- checkUserID(): Promise<string | null>;
212
- getSessionData(): SessionData;
213
- getSessionID(): string | null;
214
- getIsFirstOpen(): boolean;
215
- getIsSubscribed(): boolean;
216
- getIsDevUser(): boolean;
217
- setIsSubscribed(isSubscribed: boolean): Promise<void>;
218
- setSubscriptionData(subscriptionData: any): void;
219
- setSubscriptionID(subscriptionID: string): void;
220
- setIsDevUser(isDevUser: boolean): void;
221
- setUserID(userID: string | null): void;
222
- getUserID(): string | null;
223
- setAdjustIDFA(idfa: string): void;
224
- getAdjustIDFA(): Promise<string>;
225
- setAdjustGoogleAdid(googleAdid: string): void;
226
- getAdjustGoogleAdid(): string;
227
- setAdjustAttributionID(attribution_id: string): void;
228
- getAdjustAttributionID(): string;
229
- setAdjustAttribution(attribution: any): void;
230
- sendFirstOpen(): Promise<void>;
231
- checkSubscription(): Promise<void>;
232
- checkSubscription24h(): Promise<void>;
233
- isForcedUpdate(): boolean;
234
- getDeviceLanguage(): string;
235
- getDeviceLanguageAndRegion(): string;
236
- }
237
-
238
- interface MixPanel {
239
- initialize(token?: string | null, trackAutomaticEvents?: boolean, useNative?: boolean, devMode?: boolean): Promise<void>;
240
- getDistinctID(): Promise<string | null>;
241
- trackEvent(eventName: string, properties?: any, forceSend?: boolean): Promise<void>;
242
- trackEventIfExist(eventKeyword: string, eventData?: any): Promise<void>;
243
- superProperties(properties: any): Promise<void>;
244
- superPropertiesAppend(properties: any): Promise<void>;
245
- identifyUser(userID: string): Promise<void>;
246
- resetUserID(): Promise<void>;
247
- setUserProperties(properties: any): Promise<void>;
248
- isMixpanelInitialized(): boolean;
249
- disableTracking(): void;
250
- enableTracking(): void;
251
- }
252
-
253
- interface AudioVoice {
254
- name: string;
255
- lang: string;
256
- localService: boolean;
257
- default: boolean;
258
- voiceURI: string;
259
- }
260
-
261
- interface SpeechOptions {
262
- text: string;
263
- voice?: string;
264
- rate?: number;
265
- pitch?: number;
266
- volume?: number;
267
- lang?: string;
268
- }
269
-
270
- interface AudioConfig {
271
- defaultRate: number;
272
- defaultPitch: number;
273
- defaultVolume: number;
274
- preferredLanguages: string[];
275
- fallbackLanguage: string;
276
- }
277
-
278
- interface Audio {
279
- getAvailableVoices(): AudioVoice[];
280
- getBestVoiceForLanguage(language?: string): any;
281
- speak(options: SpeechOptions): Promise<void>;
282
- speakText(text: string, language?: string): Promise<void>;
283
- pause(): void;
284
- resume(): void;
285
- stop(): void;
286
- isSpeaking(): boolean;
287
- isPaused(): boolean;
288
- isSupported(): boolean;
289
- setAudioConfig(config: Partial<AudioConfig>): void;
290
- getAudioConfig(): AudioConfig;
291
- getAudioInfo(): any;
292
- speakSequence(texts: string[], options?: Partial<SpeechOptions>): Promise<void>;
293
- speakWithEffect(text: string, effect: 'slow' | 'fast' | 'robot' | 'whisper'): Promise<void>;
294
- }
295
-
296
- interface CorporateUserData {
297
- id: string;
298
- email: string;
299
- name: string;
300
- role: string;
301
- local_validation?: boolean;
302
- }
303
-
304
- interface CorporateValidationResponse {
305
- authenticated: boolean;
306
- user?: CorporateUserData;
307
- token?: string;
308
- expires_at?: number;
309
- error?: string;
310
- code?: string;
311
- }
312
-
313
- interface CorporateLogoutResponse {
314
- success: boolean;
315
- message?: string;
316
- redirect_url?: string;
317
- }
318
-
319
- interface CorporateAuthConfig {
320
- authDomain: string;
321
- authValidateUrl: string;
322
- authLogoutUrl: string;
323
- authLoginUrl: string;
324
- appDomain: string;
325
- authCookieDuration: number;
326
- authRevalidationInterval: number;
327
- jwtSecret: string;
328
- authJwtIssuer: string;
329
- }
330
-
331
- interface CorporateServerSideAuthResult {
332
- authenticated: boolean;
333
- user?: CorporateUserData;
334
- redirectResponse?: any;
335
- }
336
-
337
- interface CorporateAuthManager {
338
- configure(customConfig: Partial<CorporateAuthConfig>): void;
339
- validateUser(autoRedirect?: boolean): Promise<CorporateUserData | null>;
340
- checkAuthStatus(): Promise<{ authenticated: boolean; user?: CorporateUserData }>;
341
- login(returnTo?: string): void;
342
- logout(redirectTo?: string): Promise<void>;
343
- isAdmin(userData?: CorporateUserData): Promise<boolean>;
344
- getCurrentUser(): Promise<CorporateUserData | null>;
345
- hasActiveSession(): Promise<boolean>;
346
- handleAuthCallback(): Promise<boolean>;
347
- forceRevalidation(): Promise<CorporateUserData | null>;
348
- checkCorporateLogin(): Promise<CorporateUserData | null>;
349
- validateCorporateAuthServerSide(request: any): Promise<CorporateServerSideAuthResult>;
350
- }
351
-
352
- type LegalDocumentType = 'tc' | 'privacy_policy' | 'cookies_policy' | 'faqs' | 'contact';
353
-
354
- interface LegalTextResponse {
355
- success: boolean;
356
- data: any;
357
- website_id: string;
358
- type: string;
359
- language: string;
360
- }
361
-
362
- interface LegalManager {
363
- getLegalText(
364
- website_id: string,
365
- type: LegalDocumentType,
366
- language?: string
367
- ): Promise<LegalTextResponse>;
368
- }
369
-
370
- interface CalypsoManager {
371
- trackEvent(data: any): Promise<any>;
372
- }
373
-
374
- interface userParams {
375
- userId: string;
376
- }
377
-
378
- interface sessionParams {
379
- user_id: string;
380
- session: string;
381
- }
382
- interface UserCreditsParams {
383
- userId: string;
384
- website_id: string;
385
- }
386
-
387
- interface UserManager {
388
- checkUserSubscription(params: userParams): Promise<any>;
389
- checkUserLinkedStatus(params: userParams): Promise<any>;
390
- getAlias(params: userParams): Promise<any>;
391
- getUserCredits(params: UserCreditsParams): Promise<any>;
392
- checkSession(params: sessionParams): Promise<any>;
393
- }
394
-
395
- interface WebsSDK {
396
- Networking: Networking;
397
- AuthManager: AuthManager;
398
- I18nManager: I18nManager;
399
- Storage: Storage;
400
- Utils: Utils;
401
- Andromeda: Andromeda;
402
- ContentManager: ContentManager;
403
- Session: Session;
404
- MixPanel: MixPanel;
405
- Audio: Audio;
406
- CorporateAuthManager: CorporateAuthManager;
407
- Legal: LegalManager;
408
- Calypso: CalypsoManager;
409
- Config: Config;
410
- User: UserManager;
411
- }
412
-
413
- const WebsSDK: WebsSDK;
414
- export default WebsSDK;
415
- }
1
+ declare module "webs-sdk" {
2
+ type JSONValue = string | number | boolean | null | JSONObject | JSONArray;
3
+ interface JSONObject { [key: string]: JSONValue; }
4
+ interface JSONArray extends Array<JSONValue> {}
5
+
6
+ interface ApiEndpoints {
7
+ contents: string;
8
+ CONFIG: string;
9
+ USER_CREATE_ID: string;
10
+ NOTIFICATION_SET_TOKEN: string;
11
+ SUB_NEW: string;
12
+ SUB_STATUS: string;
13
+ EVENTS_PUSH: string;
14
+ [key: string]: string;
15
+ }
16
+
17
+ interface ImageCompression {
18
+ COMPRESSION: number;
19
+ WIDTH: number;
20
+ ACTIVE: boolean;
21
+ }
22
+
23
+ interface Config {
24
+ apiBaseUrl: string;
25
+ apiVersion: string;
26
+ endpoints: ApiEndpoints;
27
+ timeout: number;
28
+ retryAttempts: number;
29
+ defaultHeaders: Record<string, string>;
30
+ storage: {
31
+ tokenKey: string;
32
+ userKey: string;
33
+ settingsKey: string;
34
+ };
35
+ i18n: {
36
+ defaultLanguage: string;
37
+ supportedLanguages: string[];
38
+ fallbackLanguage: string;
39
+ };
40
+ // Nuevas propiedades del apps_sdk
41
+ DEBUG_MODE: boolean;
42
+ TRACKING_ANSWERED: boolean;
43
+ TRACKING_ACTIVE: boolean;
44
+ FORCED_UPDATE: boolean;
45
+ CONFIG_EXTRA: any;
46
+ QUICK_ACTIONS: any;
47
+ EVENTS: { [key: string]: any };
48
+ EVENTS_MIXPANEL: { [key: string]: any };
49
+ PAYWALL_DATA: any;
50
+ SPECIAL_EVENTS: string[];
51
+ IMAGE_COMPRESSION: ImageCompression;
52
+ EVENT_TYPES: {
53
+ OTHER: string;
54
+ ACTION: string;
55
+ SCREEN: string;
56
+ };
57
+ MIXPANEL: {
58
+ TOKEN: string;
59
+ };
60
+ }
61
+
62
+ interface Networking {
63
+ request(url: string, data?: any): Promise<any>;
64
+ executeInit(): Promise<any>;
65
+ getUserID(): Promise<string | null>;
66
+ setToken(token: string): Promise<any>;
67
+ checkConnection(): Promise<boolean>;
68
+ decryptData(data: any): Promise<any>;
69
+ setEndpoints(domains: any): void;
70
+ setImageCompression(compression: any): void;
71
+ getEndpoints(): Promise<any>;
72
+ createSubscription(data: any): Promise<any>;
73
+ checkSubscription(): Promise<boolean>;
74
+ setForcedUpdate(data: any): boolean;
75
+ setConfigExtra(data: any): void;
76
+ getConfigExtra(): any;
77
+ setQuickActions(quickActions: any): void;
78
+ getQuickActions(): any;
79
+ setEvents(events: any): void;
80
+ setEventsMixPanel(events: any): void;
81
+ setPayWallData(data: any): void;
82
+ getPayWallData(): any;
83
+ sendEvent(eventType: string, eventKeyword: string, eventData?: any, forceSend?: boolean): Promise<any>;
84
+ addPendingEvent(event: any): void;
85
+ clearPendingEvents(): void;
86
+ sendPendingEvents(): Promise<void>;
87
+ }
88
+
89
+ interface AuthManager {
90
+ auto_login(cfg_sessionid: string, website_id: string): Promise<any>;
91
+ getThankyouPageMetadata(cfg_sessionid: string): Promise<ThankYouPageResult | any>;
92
+ authUser(login: string, password: string, website_id: string): Promise<any>;
93
+ authOnlyUser(login: string, website_id: string, login_only_user: string): Promise<any>;
94
+ createUser(email: string, password: string, website_id: string, extraData?: any): Promise<any>;
95
+ uploadProfilePhoto(login: string, password: string, website_id: string, resource: File): Promise<any>;
96
+ setUserMetadata(login: string, password: string, website_id: string, metadata: Record<string, any>): Promise<any>;
97
+ unsubscribeUser(user_id: string): Promise<any>;
98
+ changePassword(login: string, website_id: string, new_pass: string, repeat_new_pass: string): Promise<ChangePasswordResult>;
99
+ changeCredentials(website_id: string, login: string, password: string, new_login: string, new_pass: string, repeat_new_pass: string): Promise<ChangeCredentialsResult>;
100
+ }
101
+
102
+ interface I18nManager {
103
+ // Clase vacía por ahora
104
+ }
105
+
106
+ interface Storage {
107
+ get(key: string): string | null;
108
+ set(key: string, value: string): void;
109
+ remove(key: string): void;
110
+ clear(): void;
111
+ has(key: string): boolean;
112
+ // Métodos compatibles con apps_sdk
113
+ storeData(key: string, value: any): Promise<void>;
114
+ getData(key: string): Promise<any>;
115
+ removeData(key: string): Promise<void>;
116
+ printAllKeys(): Promise<void>;
117
+ removeAllKeys(): Promise<void>;
118
+ handleDownloadImage(base64: string, fileName: string): Promise<void>;
119
+ handleDownloadImageToCreations(base64Image: string, fileName: string, data: any): Promise<any>;
120
+ getCreations(): Promise<any[]>;
121
+ deleteCreation(dirName: string): Promise<void>;
122
+ deleteAllCreations(): Promise<void>;
123
+ setTrackingPermissionGranted(value: boolean): Promise<void>;
124
+ setTrackingPermissionFromStorage(): Promise<void>;
125
+ handleShareFile(fileName: string): Promise<boolean>;
126
+ compressImage(imageUri: string, maxSizeMB?: number): Promise<string | null>;
127
+ }
128
+
129
+ interface Utils {
130
+ formatDate(date: Date, format?: string): string;
131
+ generateId(): string;
132
+ debounce<T extends (...args: any[]) => any>(func: T, wait: number): (...args: Parameters<T>) => void;
133
+ throttle<T extends (...args: any[]) => any>(func: T, limit: number): (...args: Parameters<T>) => void;
134
+ deepClone<T>(obj: T): T;
135
+ isValidEmail(email: string): boolean;
136
+ isValidUrl(url: string): boolean;
137
+ truncateText(text: string, maxLength: number, suffix?: string): string;
138
+ capitalizeFirst(text: string): string;
139
+ camelToKebab(str: string): string;
140
+ kebabToCamel(str: string): string;
141
+ sleep(ms: number): Promise<void>;
142
+ getRandomInt(min: number, max: number): number;
143
+ arrayChunk<T>(array: T[], size: number): T[][];
144
+ arrayUnique<T>(array: T[]): T[];
145
+ objectPick<T, K extends keyof T>(obj: T, keys: K[]): Pick<T, K>;
146
+ objectOmit<T, K extends keyof T>(obj: T, keys: K[]): Omit<T, K>;
147
+ // Métodos del apps_sdk adaptados para web
148
+ isBase64(str: string): boolean;
149
+ isBase64Image(str: string): boolean;
150
+ capitalize(text: string): string;
151
+ isSpecialEvent(eventKeyword: string): boolean;
152
+ downloadFile(data: string, filename: string, type?: string): void;
153
+ copyToClipboard(text: string): Promise<void>;
154
+ getDeviceInfo(): any;
155
+ isMobile(): boolean;
156
+ isTablet(): boolean;
157
+ isDesktop(): boolean;
158
+ getBrowserInfo(): any;
159
+ formatBytes(bytes: number, decimals?: number): string;
160
+ parseQueryString(queryString: string): Record<string, string>;
161
+ buildQueryString(params: Record<string, any>): string;
162
+ encryptData(data: any): Promise<{ encryptedData: string; ivBase64: string }>;
163
+ }
164
+
165
+ interface Andromeda {
166
+ getWebsiteMetadatabyHostname(hostname: string): Promise<MetadataResult | void>;
167
+ getWebsiteConfig(website_id: string, merchantId?: number): Promise<MetadataResult | void>;
168
+ }
169
+
170
+ interface ContentManager {
171
+ getContentByPreset(preset: string, params: Record<string, any>): Promise<any>;
172
+ }
173
+
174
+ interface SessionData {
175
+ user_id: string | null;
176
+ isFirstOpen: boolean;
177
+ app: {
178
+ shortVersion: string;
179
+ package: string;
180
+ languageCode: string;
181
+ regionCode: string;
182
+ buildVersionNumber: string;
183
+ };
184
+ device: {
185
+ name: string;
186
+ systemName: string;
187
+ systemVersion: string;
188
+ model: string;
189
+ };
190
+ sandbox: {
191
+ domains: string;
192
+ };
193
+ adjust: {
194
+ attribution_id: string;
195
+ idfa: string;
196
+ googleAdid: string;
197
+ attribution: any;
198
+ };
199
+ dev: boolean;
200
+ lang: string;
201
+ package: string;
202
+ }
203
+
204
+ interface Session {
205
+ init(): Promise<void>;
206
+ setConfigEndpoint(endpoint: string): void;
207
+ initSession(): Promise<void>;
208
+ storeSessionStructure(): Promise<void>;
209
+ checkFirstOpen(): Promise<void>;
210
+ generateSessionID(): string;
211
+ checkUserID(): Promise<string | null>;
212
+ getSessionData(): SessionData;
213
+ getSessionID(): string | null;
214
+ getIsFirstOpen(): boolean;
215
+ getIsSubscribed(): boolean;
216
+ getIsDevUser(): boolean;
217
+ setIsSubscribed(isSubscribed: boolean): Promise<void>;
218
+ setSubscriptionData(subscriptionData: any): void;
219
+ setSubscriptionID(subscriptionID: string): void;
220
+ setIsDevUser(isDevUser: boolean): void;
221
+ setUserID(userID: string | null): void;
222
+ getUserID(): string | null;
223
+ setAdjustIDFA(idfa: string): void;
224
+ getAdjustIDFA(): Promise<string>;
225
+ setAdjustGoogleAdid(googleAdid: string): void;
226
+ getAdjustGoogleAdid(): string;
227
+ setAdjustAttributionID(attribution_id: string): void;
228
+ getAdjustAttributionID(): string;
229
+ setAdjustAttribution(attribution: any): void;
230
+ sendFirstOpen(): Promise<void>;
231
+ checkSubscription(): Promise<void>;
232
+ checkSubscription24h(): Promise<void>;
233
+ isForcedUpdate(): boolean;
234
+ getDeviceLanguage(): string;
235
+ getDeviceLanguageAndRegion(): string;
236
+ }
237
+
238
+ interface MixPanel {
239
+ initialize(token?: string | null, trackAutomaticEvents?: boolean, useNative?: boolean, devMode?: boolean): Promise<void>;
240
+ getDistinctID(): Promise<string | null>;
241
+ trackEvent(eventName: string, properties?: any, forceSend?: boolean): Promise<void>;
242
+ trackEventIfExist(eventKeyword: string, eventData?: any): Promise<void>;
243
+ superProperties(properties: any): Promise<void>;
244
+ superPropertiesAppend(properties: any): Promise<void>;
245
+ identifyUser(userID: string): Promise<void>;
246
+ resetUserID(): Promise<void>;
247
+ setUserProperties(properties: any): Promise<void>;
248
+ isMixpanelInitialized(): boolean;
249
+ disableTracking(): void;
250
+ enableTracking(): void;
251
+ }
252
+
253
+ interface AudioVoice {
254
+ name: string;
255
+ lang: string;
256
+ localService: boolean;
257
+ default: boolean;
258
+ voiceURI: string;
259
+ }
260
+
261
+ interface SpeechOptions {
262
+ text: string;
263
+ voice?: string;
264
+ rate?: number;
265
+ pitch?: number;
266
+ volume?: number;
267
+ lang?: string;
268
+ }
269
+
270
+ interface AudioConfig {
271
+ defaultRate: number;
272
+ defaultPitch: number;
273
+ defaultVolume: number;
274
+ preferredLanguages: string[];
275
+ fallbackLanguage: string;
276
+ }
277
+
278
+ interface Audio {
279
+ getAvailableVoices(): AudioVoice[];
280
+ getBestVoiceForLanguage(language?: string): any;
281
+ speak(options: SpeechOptions): Promise<void>;
282
+ speakText(text: string, language?: string): Promise<void>;
283
+ pause(): void;
284
+ resume(): void;
285
+ stop(): void;
286
+ isSpeaking(): boolean;
287
+ isPaused(): boolean;
288
+ isSupported(): boolean;
289
+ setAudioConfig(config: Partial<AudioConfig>): void;
290
+ getAudioConfig(): AudioConfig;
291
+ getAudioInfo(): any;
292
+ speakSequence(texts: string[], options?: Partial<SpeechOptions>): Promise<void>;
293
+ speakWithEffect(text: string, effect: 'slow' | 'fast' | 'robot' | 'whisper'): Promise<void>;
294
+ }
295
+
296
+ interface CorporateUserData {
297
+ id: string;
298
+ email: string;
299
+ name: string;
300
+ role: string;
301
+ local_validation?: boolean;
302
+ }
303
+
304
+ interface CorporateValidationResponse {
305
+ authenticated: boolean;
306
+ user?: CorporateUserData;
307
+ token?: string;
308
+ expires_at?: number;
309
+ error?: string;
310
+ code?: string;
311
+ }
312
+
313
+ interface CorporateLogoutResponse {
314
+ success: boolean;
315
+ message?: string;
316
+ redirect_url?: string;
317
+ }
318
+
319
+ interface CorporateAuthConfig {
320
+ authDomain: string;
321
+ authValidateUrl: string;
322
+ authLogoutUrl: string;
323
+ authLoginUrl: string;
324
+ appDomain: string;
325
+ authCookieDuration: number;
326
+ authRevalidationInterval: number;
327
+ jwtSecret: string;
328
+ authJwtIssuer: string;
329
+ }
330
+
331
+ interface CorporateServerSideAuthResult {
332
+ authenticated: boolean;
333
+ user?: CorporateUserData;
334
+ redirectResponse?: any;
335
+ }
336
+
337
+ interface CorporateAuthManager {
338
+ configure(customConfig: Partial<CorporateAuthConfig>): void;
339
+ validateUser(autoRedirect?: boolean): Promise<CorporateUserData | null>;
340
+ checkAuthStatus(): Promise<{ authenticated: boolean; user?: CorporateUserData }>;
341
+ login(returnTo?: string): void;
342
+ logout(redirectTo?: string): Promise<void>;
343
+ isAdmin(userData?: CorporateUserData): Promise<boolean>;
344
+ getCurrentUser(): Promise<CorporateUserData | null>;
345
+ hasActiveSession(): Promise<boolean>;
346
+ handleAuthCallback(): Promise<boolean>;
347
+ forceRevalidation(): Promise<CorporateUserData | null>;
348
+ checkCorporateLogin(): Promise<CorporateUserData | null>;
349
+ validateCorporateAuthServerSide(request: any): Promise<CorporateServerSideAuthResult>;
350
+ }
351
+
352
+ type LegalDocumentType = 'tc' | 'privacy_policy' | 'cookies_policy' | 'faqs' | 'contact';
353
+
354
+ interface LegalTextResponse {
355
+ success: boolean;
356
+ data: any;
357
+ website_id: string;
358
+ type: string;
359
+ language: string;
360
+ }
361
+
362
+ interface LegalManager {
363
+ getLegalText(
364
+ website_id: string,
365
+ type: LegalDocumentType,
366
+ language?: string
367
+ ): Promise<LegalTextResponse>;
368
+ }
369
+
370
+ interface CalypsoManager {
371
+ trackEvent(data: any): Promise<any>;
372
+ }
373
+
374
+ interface userParams {
375
+ userId: string;
376
+ }
377
+
378
+ interface sessionParams {
379
+ user_id: string;
380
+ session: string;
381
+ }
382
+ interface UserCreditsParams {
383
+ userId: string;
384
+ website_id: string;
385
+ }
386
+
387
+ interface UserManager {
388
+ checkUserSubscription(params: userParams): Promise<any>;
389
+ checkUserLinkedStatus(params: userParams): Promise<any>;
390
+ getAlias(params: userParams): Promise<any>;
391
+ getUserCredits(params: UserCreditsParams): Promise<any>;
392
+ checkSession(params: sessionParams): Promise<any>;
393
+ }
394
+
395
+ interface WebsSDK {
396
+ Networking: Networking;
397
+ AuthManager: AuthManager;
398
+ I18nManager: I18nManager;
399
+ Storage: Storage;
400
+ Utils: Utils;
401
+ Andromeda: Andromeda;
402
+ ContentManager: ContentManager;
403
+ Session: Session;
404
+ MixPanel: MixPanel;
405
+ Audio: Audio;
406
+ CorporateAuthManager: CorporateAuthManager;
407
+ Legal: LegalManager;
408
+ Calypso: CalypsoManager;
409
+ Config: Config;
410
+ User: UserManager;
411
+ }
412
+
413
+ const WebsSDK: WebsSDK;
414
+ export default WebsSDK;
415
+ }