webs-sdk 0.15.0 → 0.15.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/README.md +398 -398
  2. package/dist/client.d.ts +2 -0
  3. package/dist/client.d.ts.map +1 -0
  4. package/dist/client.js +7 -0
  5. package/dist/client.js.map +1 -0
  6. package/dist/components/ARFilters/ARFilters.js +52 -52
  7. package/dist/components/AvatarAI.js +4 -4
  8. package/dist/components/CookieConsent/constants.js +31 -31
  9. package/dist/components/CreativeFaceSwap.js +12 -12
  10. package/dist/components/MemeGenerator.js +12 -12
  11. package/dist/components/SpinningWheel/SpinningWheel.js +7 -7
  12. package/dist/components/esports/news/EsportsNews.d.ts.map +1 -1
  13. package/dist/components/esports/news/EsportsNews.js +13 -6
  14. package/dist/components/esports/news/EsportsNews.js.map +1 -1
  15. package/dist/components/esports/news/EsportsNewsDetail.d.ts +12 -0
  16. package/dist/components/esports/news/EsportsNewsDetail.d.ts.map +1 -0
  17. package/dist/components/esports/news/EsportsNewsDetail.js +100 -0
  18. package/dist/components/esports/news/EsportsNewsDetail.js.map +1 -0
  19. package/dist/components/esports/news/index.d.ts +2 -0
  20. package/dist/components/esports/news/index.d.ts.map +1 -1
  21. package/dist/components/esports/news/index.js +3 -1
  22. package/dist/components/esports/news/index.js.map +1 -1
  23. package/dist/components/esports/news/types.d.ts +4 -1
  24. package/dist/components/esports/news/types.d.ts.map +1 -1
  25. package/dist/components/esports/utils.d.ts +1 -0
  26. package/dist/components/esports/utils.d.ts.map +1 -1
  27. package/dist/components/esports/utils.js +23 -0
  28. package/dist/components/esports/utils.js.map +1 -1
  29. package/dist/components/esports/videos/EsportsVideos.d.ts.map +1 -1
  30. package/dist/components/esports/videos/EsportsVideos.js +13 -6
  31. package/dist/components/esports/videos/EsportsVideos.js.map +1 -1
  32. package/dist/components/esports/videos/api.d.ts.map +1 -1
  33. package/dist/components/esports/videos/api.js +36 -8
  34. package/dist/components/esports/videos/api.js.map +1 -1
  35. package/dist/components/esports/videos/types.d.ts +4 -1
  36. package/dist/components/esports/videos/types.d.ts.map +1 -1
  37. package/dist/components/ui/VideoPlayer.d.ts +11 -0
  38. package/dist/components/ui/VideoPlayer.d.ts.map +1 -0
  39. package/dist/components/ui/VideoPlayer.js +171 -0
  40. package/dist/components/ui/VideoPlayer.js.map +1 -0
  41. package/dist/context/TranslationContext.d.ts +12 -0
  42. package/dist/context/TranslationContext.d.ts.map +1 -0
  43. package/dist/context/TranslationContext.js +60 -0
  44. package/dist/context/TranslationContext.js.map +1 -0
  45. package/dist/index.d.ts +0 -4
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +1 -8
  48. package/dist/index.js.map +1 -1
  49. package/index.js +83 -0
  50. package/package.json +42 -43
  51. package/public/spin2win/assets/border-afristream.svg +26 -26
  52. package/public/spin2win/assets/border-efc.svg +23 -23
  53. package/public/spin2win/assets/border-totalgym.svg +27 -27
  54. package/public/spin2win/assets/border-womantoday.svg +26 -26
  55. package/public/spin2win/assets/indicator-afristream.svg +28 -28
  56. package/public/spin2win/assets/indicator-efc.svg +29 -29
  57. package/public/spin2win/assets/indicator-totalgym.svg +29 -29
  58. package/public/spin2win/fonts/switzer/README.md +22 -22
  59. package/types/index.d.ts +415 -0
  60. package/dist/components/Quiz.d.ts +0 -91
  61. package/dist/components/Quiz.d.ts.map +0 -1
  62. package/dist/components/Quiz.js +0 -748
  63. package/dist/components/Quiz.js.map +0 -1
  64. package/dist/components/Stickers.d.ts +0 -68
  65. package/dist/components/Stickers.d.ts.map +0 -1
  66. package/dist/components/Stickers.js +0 -303
  67. package/dist/components/Stickers.js.map +0 -1
@@ -1,29 +1,29 @@
1
- <svg width="102" height="133" viewBox="0 0 102 133" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
2
- <defs>
3
- <filter id="filter0_d_totalgym" x="-0.000475599" y="-9.2398e-05" width="102" height="132.723" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
4
- <feFlood flood-opacity="0" result="BackgroundImageFix"/>
5
- <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
6
- <feOffset dx="2.34533" dy="1.46583"/>
7
- <feGaussianBlur stdDeviation="1.52447"/>
8
- <feComposite in2="hardAlpha" operator="out"/>
9
- <feColorMatrix type="matrix" values="0 0 0 0 0.478 0 0 0 0 0.478 0 0 0 0 0.478 0 0 0 1 0"/>
10
- <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_totalgym"/>
11
- <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_totalgym" result="shape"/>
12
- </filter>
13
- <linearGradient id="paint0_linear_totalgym" x1="22.1125" y1="42.0126" x2="81.3468" y2="114.623" gradientUnits="userSpaceOnUse">
14
- <stop stop-color="#CCCCCC"/>
15
- <stop offset="1" stop-color="#B3B3B3"/>
16
- </linearGradient>
17
- <linearGradient id="paint1_linear_totalgym" x1="15.6097" y1="45.0064" x2="88.1121" y2="107.341" gradientUnits="userSpaceOnUse">
18
- <stop stop-color="white"/>
19
- <stop offset="1" stop-color="#7A7A7A"/>
20
- </linearGradient>
21
- </defs>
22
- <g filter="url(#filter0_d_totalgym)">
23
- <mask id="path-1-inside-1_totalgym" fill="white">
24
- <path d="M47.5679 2.30598C47.9703 1.34496 49.3317 1.34494 49.7341 2.30598L63.2237 34.5662C82.5783 40.7342 96.5979 58.8565 96.5979 80.2555C96.5978 106.736 75.1308 128.202 48.6505 128.202C22.1705 128.202 0.704202 106.736 0.704116 80.2555C0.704116 58.8568 14.7231 40.7344 34.0773 34.5662L47.5679 2.30598Z"/>
25
- </mask>
26
- <path d="M47.5679 2.30598C47.9703 1.34496 49.3317 1.34494 49.7341 2.30598L63.2237 34.5662C82.5783 40.7342 96.5979 58.8565 96.5979 80.2555C96.5978 106.736 75.1308 128.202 48.6505 128.202C22.1705 128.202 0.704202 106.736 0.704116 80.2555C0.704116 58.8568 14.7231 40.7344 34.0773 34.5662L47.5679 2.30598Z" fill="url(#paint0_linear_totalgym)"/>
27
- <path d="M47.5679 2.30598L47.2971 2.1926L47.2971 2.19271L47.5679 2.30598ZM49.7341 2.30598L50.0049 2.19272L50.0049 2.19261L49.7341 2.30598ZM63.2237 34.5662L62.9529 34.6795L63.0053 34.8047L63.1346 34.8459L63.2237 34.5662ZM96.5979 80.2555H96.8914V80.2555H96.5979ZM48.6505 128.202L48.6505 128.495H48.6505V128.202ZM0.704116 80.2555H0.410536V80.2555H0.704116ZM34.0773 34.5662L34.1664 34.8459L34.2957 34.8047L34.3481 34.6795L34.0773 34.5662ZM47.5679 2.30598L47.8387 2.41936C48.1405 1.69859 49.1615 1.6986 49.4633 2.41935L49.7341 2.30598L50.0049 2.19261C49.5019 0.99128 47.8001 0.991326 47.2971 2.1926L47.5679 2.30598ZM49.7341 2.30598L49.4632 2.41924L62.9529 34.6795L63.2237 34.5662L63.4946 34.453L50.0049 2.19272L49.7341 2.30598ZM63.2237 34.5662L63.1346 34.8459C82.371 40.9762 96.3043 58.988 96.3043 80.2555H96.5979H96.8914C96.8914 58.725 82.7857 40.4921 63.3129 34.2865L63.2237 34.5662ZM96.5979 80.2555H96.3043C96.3042 106.574 74.9686 127.908 48.6505 127.908V128.202V128.495C75.2929 128.495 96.8914 106.898 96.8914 80.2555H96.5979ZM48.6505 128.202L48.6505 127.908C22.3326 127.908 0.997781 106.573 0.997696 80.2555H0.704116H0.410536C0.410622 106.898 22.0083 128.495 48.6505 128.495L48.6505 128.202ZM0.704116 80.2555H0.997696C0.997696 58.9883 14.9305 40.9765 34.1664 34.8459L34.0773 34.5662L33.9881 34.2865C14.5158 40.4924 0.410536 58.7253 0.410536 80.2555H0.704116ZM34.0773 34.5662L34.3481 34.6795L47.8388 2.41924L47.5679 2.30598L47.2971 2.19271L33.8064 34.453L34.0773 34.5662Z" fill="url(#paint1_linear_totalgym)" mask="url(#path-1-inside-1_totalgym)"/>
28
- </g>
29
- </svg>
1
+ <svg width="102" height="133" viewBox="0 0 102 133" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
2
+ <defs>
3
+ <filter id="filter0_d_totalgym" x="-0.000475599" y="-9.2398e-05" width="102" height="132.723" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
4
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
5
+ <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
6
+ <feOffset dx="2.34533" dy="1.46583"/>
7
+ <feGaussianBlur stdDeviation="1.52447"/>
8
+ <feComposite in2="hardAlpha" operator="out"/>
9
+ <feColorMatrix type="matrix" values="0 0 0 0 0.478 0 0 0 0 0.478 0 0 0 0 0.478 0 0 0 1 0"/>
10
+ <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_totalgym"/>
11
+ <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_totalgym" result="shape"/>
12
+ </filter>
13
+ <linearGradient id="paint0_linear_totalgym" x1="22.1125" y1="42.0126" x2="81.3468" y2="114.623" gradientUnits="userSpaceOnUse">
14
+ <stop stop-color="#CCCCCC"/>
15
+ <stop offset="1" stop-color="#B3B3B3"/>
16
+ </linearGradient>
17
+ <linearGradient id="paint1_linear_totalgym" x1="15.6097" y1="45.0064" x2="88.1121" y2="107.341" gradientUnits="userSpaceOnUse">
18
+ <stop stop-color="white"/>
19
+ <stop offset="1" stop-color="#7A7A7A"/>
20
+ </linearGradient>
21
+ </defs>
22
+ <g filter="url(#filter0_d_totalgym)">
23
+ <mask id="path-1-inside-1_totalgym" fill="white">
24
+ <path d="M47.5679 2.30598C47.9703 1.34496 49.3317 1.34494 49.7341 2.30598L63.2237 34.5662C82.5783 40.7342 96.5979 58.8565 96.5979 80.2555C96.5978 106.736 75.1308 128.202 48.6505 128.202C22.1705 128.202 0.704202 106.736 0.704116 80.2555C0.704116 58.8568 14.7231 40.7344 34.0773 34.5662L47.5679 2.30598Z"/>
25
+ </mask>
26
+ <path d="M47.5679 2.30598C47.9703 1.34496 49.3317 1.34494 49.7341 2.30598L63.2237 34.5662C82.5783 40.7342 96.5979 58.8565 96.5979 80.2555C96.5978 106.736 75.1308 128.202 48.6505 128.202C22.1705 128.202 0.704202 106.736 0.704116 80.2555C0.704116 58.8568 14.7231 40.7344 34.0773 34.5662L47.5679 2.30598Z" fill="url(#paint0_linear_totalgym)"/>
27
+ <path d="M47.5679 2.30598L47.2971 2.1926L47.2971 2.19271L47.5679 2.30598ZM49.7341 2.30598L50.0049 2.19272L50.0049 2.19261L49.7341 2.30598ZM63.2237 34.5662L62.9529 34.6795L63.0053 34.8047L63.1346 34.8459L63.2237 34.5662ZM96.5979 80.2555H96.8914V80.2555H96.5979ZM48.6505 128.202L48.6505 128.495H48.6505V128.202ZM0.704116 80.2555H0.410536V80.2555H0.704116ZM34.0773 34.5662L34.1664 34.8459L34.2957 34.8047L34.3481 34.6795L34.0773 34.5662ZM47.5679 2.30598L47.8387 2.41936C48.1405 1.69859 49.1615 1.6986 49.4633 2.41935L49.7341 2.30598L50.0049 2.19261C49.5019 0.99128 47.8001 0.991326 47.2971 2.1926L47.5679 2.30598ZM49.7341 2.30598L49.4632 2.41924L62.9529 34.6795L63.2237 34.5662L63.4946 34.453L50.0049 2.19272L49.7341 2.30598ZM63.2237 34.5662L63.1346 34.8459C82.371 40.9762 96.3043 58.988 96.3043 80.2555H96.5979H96.8914C96.8914 58.725 82.7857 40.4921 63.3129 34.2865L63.2237 34.5662ZM96.5979 80.2555H96.3043C96.3042 106.574 74.9686 127.908 48.6505 127.908V128.202V128.495C75.2929 128.495 96.8914 106.898 96.8914 80.2555H96.5979ZM48.6505 128.202L48.6505 127.908C22.3326 127.908 0.997781 106.573 0.997696 80.2555H0.704116H0.410536C0.410622 106.898 22.0083 128.495 48.6505 128.495L48.6505 128.202ZM0.704116 80.2555H0.997696C0.997696 58.9883 14.9305 40.9765 34.1664 34.8459L34.0773 34.5662L33.9881 34.2865C14.5158 40.4924 0.410536 58.7253 0.410536 80.2555H0.704116ZM34.0773 34.5662L34.3481 34.6795L47.8388 2.41924L47.5679 2.30598L47.2971 2.19271L33.8064 34.453L34.0773 34.5662Z" fill="url(#paint1_linear_totalgym)" mask="url(#path-1-inside-1_totalgym)"/>
28
+ </g>
29
+ </svg>
@@ -1,23 +1,23 @@
1
- # Instrucciones para agregar la fuente Switzer
2
-
3
- ## 📁 Archivos necesarios
4
-
5
- Copia los siguientes archivos de la fuente Switzer a esta carpeta:
6
-
7
- ### Archivos requeridos:
8
- - `Switzer-Regular.woff2`
9
- - `Switzer-Regular.woff`
10
- - `Switzer-Medium.woff2`
11
- - `Switzer-Medium.woff`
12
- - `Switzer-Semibold.woff2`
13
- - `Switzer-Semibold.woff`
14
- - `Switzer-Bold.woff2`
15
- - `Switzer-Bold.woff`
16
-
17
- ## 📝 Notas:
18
- - Los archivos .woff2 son la versión comprimida (más eficiente)
19
- - Los archivos .woff son la versión de respaldo para navegadores antiguos
20
- - La configuración de @font-face ya está lista en `spin2win/styles/fonts.css`
21
-
22
- ## ✅ Una vez copiados los archivos:
1
+ # Instrucciones para agregar la fuente Switzer
2
+
3
+ ## 📁 Archivos necesarios
4
+
5
+ Copia los siguientes archivos de la fuente Switzer a esta carpeta:
6
+
7
+ ### Archivos requeridos:
8
+ - `Switzer-Regular.woff2`
9
+ - `Switzer-Regular.woff`
10
+ - `Switzer-Medium.woff2`
11
+ - `Switzer-Medium.woff`
12
+ - `Switzer-Semibold.woff2`
13
+ - `Switzer-Semibold.woff`
14
+ - `Switzer-Bold.woff2`
15
+ - `Switzer-Bold.woff`
16
+
17
+ ## 📝 Notas:
18
+ - Los archivos .woff2 son la versión comprimida (más eficiente)
19
+ - Los archivos .woff son la versión de respaldo para navegadores antiguos
20
+ - La configuración de @font-face ya está lista en `spin2win/styles/fonts.css`
21
+
22
+ ## ✅ Una vez copiados los archivos:
23
23
  La fuente Switzer estará disponible automáticamente para el tema `womantoday`.
@@ -0,0 +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,91 +0,0 @@
1
- import React from 'react';
2
- export interface QuizQuestion {
3
- id: string | number;
4
- question: string;
5
- thumbnail?: string;
6
- options: Array<{
7
- text: string;
8
- points: number;
9
- }>;
10
- correctIndex?: number;
11
- explanation?: string;
12
- }
13
- export interface QuizResult {
14
- title: string;
15
- description: string;
16
- minPoints: number;
17
- maxPoints: number;
18
- }
19
- export interface QuizItem {
20
- id: string | number;
21
- title: string;
22
- description?: string;
23
- thumbnail?: string;
24
- contentsId: string;
25
- }
26
- export interface QuizTheme {
27
- primaryColor?: string;
28
- primaryHoverColor?: string;
29
- textColor?: string;
30
- backgroundColor?: string;
31
- cardBackground?: string;
32
- buttonColor?: string;
33
- buttonTextColor?: string;
34
- neutralMid?: string;
35
- cardBorderColor?: string;
36
- titleDarkColor?: string;
37
- }
38
- export interface QuizTexts {
39
- title?: string;
40
- subtitle?: string;
41
- loading?: string;
42
- noItems?: string;
43
- loadMore?: string;
44
- startQuiz?: string;
45
- questionLabel?: string;
46
- nextButton?: string;
47
- previousButton?: string;
48
- submitButton?: string;
49
- correctAnswer?: string;
50
- wrongAnswer?: string;
51
- retryButton?: string;
52
- closeButton?: string;
53
- scoreLabel?: string;
54
- loadingQuestions?: string;
55
- }
56
- export interface QuizConfig {
57
- apiUrl: string;
58
- questionsApiUrl?: string;
59
- tags?: string[];
60
- includeIds?: number[];
61
- locale?: string;
62
- initialCount?: number;
63
- loadMoreCount?: number;
64
- }
65
- export interface QuizProps {
66
- config: QuizConfig;
67
- theme?: QuizTheme;
68
- texts?: QuizTexts;
69
- onQuizStart?: (quiz: QuizItem) => void;
70
- onQuizComplete?: (score: number, totalQuestions: number) => void;
71
- }
72
- export declare function Quiz({ config, theme: themeP, texts: textsP, onQuizStart, onQuizComplete }: QuizProps): React.JSX.Element;
73
- export interface QuizForYouCardProps {
74
- title: string;
75
- description: string;
76
- ctaText: string;
77
- ctaHref: string;
78
- desktopImage: string;
79
- mobileImage?: string;
80
- imageAlt?: string;
81
- imageOnRight?: boolean;
82
- titleColor?: string;
83
- descriptionColor?: string;
84
- ctaColor?: string;
85
- ctaHoverColor?: string;
86
- backgroundColor?: string;
87
- paddingClass?: string;
88
- }
89
- export declare function QuizForYouCard({ title, description, ctaText, ctaHref, desktopImage, mobileImage, imageAlt, imageOnRight, titleColor, descriptionColor, ctaColor, ctaHoverColor, backgroundColor, paddingClass, }: QuizForYouCardProps): React.JSX.Element;
90
- export default Quiz;
91
- //# sourceMappingURL=Quiz.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Quiz.d.ts","sourceRoot":"","sources":["../../src/components/Quiz.tsx"],"names":[],"mappings":"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"}