partner_react_native_sdk 0.1.0

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 (94) hide show
  1. package/LICENSE +20 -0
  2. package/PartnerReactNativeSdk.podspec +26 -0
  3. package/README.md +14 -0
  4. package/android/build.gradle +100 -0
  5. package/android/generated/java/com/partnerreactnativesdk/NativePartnerReactNativeSdkSpec.java +37 -0
  6. package/android/generated/jni/CMakeLists.txt +36 -0
  7. package/android/generated/jni/RNPartnerReactNativeSdkSpec-generated.cpp +32 -0
  8. package/android/generated/jni/RNPartnerReactNativeSdkSpec.h +31 -0
  9. package/android/generated/jni/react/renderer/components/RNPartnerReactNativeSdkSpec/RNPartnerReactNativeSdkSpecJSI-generated.cpp +28 -0
  10. package/android/generated/jni/react/renderer/components/RNPartnerReactNativeSdkSpec/RNPartnerReactNativeSdkSpecJSI.h +71 -0
  11. package/android/gradle.properties +5 -0
  12. package/android/src/main/AndroidManifest.xml +3 -0
  13. package/android/src/main/AndroidManifestNew.xml +2 -0
  14. package/android/src/main/java/com/partnerreactnativesdk/PartnerReactNativeSdkModule.kt +23 -0
  15. package/android/src/main/java/com/partnerreactnativesdk/PartnerReactNativeSdkPackage.kt +33 -0
  16. package/ios/PartnerReactNativeSdk.h +6 -0
  17. package/ios/PartnerReactNativeSdk.mm +18 -0
  18. package/ios/generated/RNPartnerReactNativeSdkSpec/RNPartnerReactNativeSdkSpec-generated.mm +39 -0
  19. package/ios/generated/RNPartnerReactNativeSdkSpec/RNPartnerReactNativeSdkSpec.h +63 -0
  20. package/ios/generated/RNPartnerReactNativeSdkSpecJSI-generated.cpp +28 -0
  21. package/ios/generated/RNPartnerReactNativeSdkSpecJSI.h +71 -0
  22. package/lib/module/NativePartnerReactNativeSdk.ts +8 -0
  23. package/lib/module/helpers/ServiceNames.js +132 -0
  24. package/lib/module/helpers/ServiceNames.js.map +1 -0
  25. package/lib/module/helpers/helper.js +4 -0
  26. package/lib/module/helpers/helper.js.map +1 -0
  27. package/lib/module/helpers/network/APICall.js +41 -0
  28. package/lib/module/helpers/network/APICall.js.map +1 -0
  29. package/lib/module/helpers/network/network_manager.js +112 -0
  30. package/lib/module/helpers/network/network_manager.js.map +1 -0
  31. package/lib/module/helpers/partner_library_react_native.js +197 -0
  32. package/lib/module/helpers/partner_library_react_native.js.map +1 -0
  33. package/lib/module/helpers/utils/Constants.js +12 -0
  34. package/lib/module/helpers/utils/Constants.js.map +1 -0
  35. package/lib/module/helpers/utils/LibraryConstants.js +115 -0
  36. package/lib/module/helpers/utils/LibraryConstants.js.map +1 -0
  37. package/lib/module/helpers/utils/deviceInfoManager.js +39 -0
  38. package/lib/module/helpers/utils/deviceInfoManager.js.map +1 -0
  39. package/lib/module/helpers/utils/headerManager.js +21 -0
  40. package/lib/module/helpers/utils/headerManager.js.map +1 -0
  41. package/lib/module/helpers/utils/themeManager.js +40 -0
  42. package/lib/module/helpers/utils/themeManager.js.map +1 -0
  43. package/lib/module/helpers/utils/webviewCallback.js +20 -0
  44. package/lib/module/helpers/utils/webviewCallback.js.map +1 -0
  45. package/lib/module/helpers/webview.js +273 -0
  46. package/lib/module/helpers/webview.js.map +1 -0
  47. package/lib/module/index.js +8 -0
  48. package/lib/module/index.js.map +1 -0
  49. package/lib/module/package.json +1 -0
  50. package/lib/typescript/package.json +1 -0
  51. package/lib/typescript/src/NativePartnerReactNativeSdk.d.ts +7 -0
  52. package/lib/typescript/src/NativePartnerReactNativeSdk.d.ts.map +1 -0
  53. package/lib/typescript/src/helpers/ServiceNames.d.ts +50 -0
  54. package/lib/typescript/src/helpers/ServiceNames.d.ts.map +1 -0
  55. package/lib/typescript/src/helpers/helper.d.ts +1 -0
  56. package/lib/typescript/src/helpers/helper.d.ts.map +1 -0
  57. package/lib/typescript/src/helpers/network/APICall.d.ts +12 -0
  58. package/lib/typescript/src/helpers/network/APICall.d.ts.map +1 -0
  59. package/lib/typescript/src/helpers/network/network_manager.d.ts +21 -0
  60. package/lib/typescript/src/helpers/network/network_manager.d.ts.map +1 -0
  61. package/lib/typescript/src/helpers/partner_library_react_native.d.ts +23 -0
  62. package/lib/typescript/src/helpers/partner_library_react_native.d.ts.map +1 -0
  63. package/lib/typescript/src/helpers/utils/Constants.d.ts +10 -0
  64. package/lib/typescript/src/helpers/utils/Constants.d.ts.map +1 -0
  65. package/lib/typescript/src/helpers/utils/LibraryConstants.d.ts +24 -0
  66. package/lib/typescript/src/helpers/utils/LibraryConstants.d.ts.map +1 -0
  67. package/lib/typescript/src/helpers/utils/deviceInfoManager.d.ts +4 -0
  68. package/lib/typescript/src/helpers/utils/deviceInfoManager.d.ts.map +1 -0
  69. package/lib/typescript/src/helpers/utils/headerManager.d.ts +5 -0
  70. package/lib/typescript/src/helpers/utils/headerManager.d.ts.map +1 -0
  71. package/lib/typescript/src/helpers/utils/themeManager.d.ts +12 -0
  72. package/lib/typescript/src/helpers/utils/themeManager.d.ts.map +1 -0
  73. package/lib/typescript/src/helpers/utils/webviewCallback.d.ts +13 -0
  74. package/lib/typescript/src/helpers/utils/webviewCallback.d.ts.map +1 -0
  75. package/lib/typescript/src/helpers/webview.d.ts +21 -0
  76. package/lib/typescript/src/helpers/webview.d.ts.map +1 -0
  77. package/lib/typescript/src/index.d.ts +5 -0
  78. package/lib/typescript/src/index.d.ts.map +1 -0
  79. package/package.json +187 -0
  80. package/react-native.config.js +12 -0
  81. package/src/NativePartnerReactNativeSdk.ts +8 -0
  82. package/src/helpers/ServiceNames.tsx +166 -0
  83. package/src/helpers/helper.tsx +1 -0
  84. package/src/helpers/network/APICall.tsx +65 -0
  85. package/src/helpers/network/network_manager.tsx +122 -0
  86. package/src/helpers/partner_library_react_native.tsx +279 -0
  87. package/src/helpers/utils/Constants.tsx +10 -0
  88. package/src/helpers/utils/LibraryConstants.tsx +133 -0
  89. package/src/helpers/utils/deviceInfoManager.tsx +37 -0
  90. package/src/helpers/utils/headerManager.tsx +22 -0
  91. package/src/helpers/utils/themeManager.tsx +51 -0
  92. package/src/helpers/utils/webviewCallback.tsx +25 -0
  93. package/src/helpers/webview.tsx +343 -0
  94. package/src/index.tsx +9 -0
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+
3
+ import { Platform } from 'react-native';
4
+ // interface ColorWithValues extends Color {
5
+ // withValues(params: { red: number; green: number; blue: number; alpha: number }): string;
6
+ // }
7
+
8
+ // Helper function for color handling
9
+ const hexToRgba = hex => {
10
+ const match = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
11
+ if (match && match[1] && match[2] && match[3]) {
12
+ return {
13
+ r: parseInt(match[1], 16),
14
+ g: parseInt(match[2], 16),
15
+ b: parseInt(match[3], 16),
16
+ a: 1
17
+ };
18
+ }
19
+ return {
20
+ r: 0,
21
+ g: 0,
22
+ b: 0,
23
+ a: 1
24
+ };
25
+ };
26
+
27
+ // const rgbaToHex = (color: Color): string => {
28
+ // return `#${color.r.toString(16).padStart(2, '0')}${color.g.toString(16).padStart(2, '0')}${color.b.toString(16).padStart(2, '0')}`;
29
+ // };
30
+
31
+ const rgbaToString = color => {
32
+ return `rgba(${color.r}, ${color.g}, ${color.b}, ${color.a})`;
33
+ };
34
+ export class LibraryConstants {
35
+ static deviceBindingEnabled = true;
36
+
37
+ // Primary color definition
38
+ static _primaryColorHex = '#037EAB';
39
+ static _primaryColorObj = hexToRgba('#037EAB');
40
+
41
+ // static get primaryColor(): string {
42
+ // return this._primaryColorHex;
43
+ // }
44
+
45
+ static set primaryColor(value) {
46
+ this._primaryColorHex = value;
47
+ this._primaryColorObj = hexToRgba(value);
48
+ }
49
+ static rgbToHex(r, g, b) {
50
+ return `#${[r, g, b].map(x => {
51
+ const hex = x.toString(16);
52
+ return hex.length === 1 ? '0' + hex : hex;
53
+ }).join('')}`;
54
+ }
55
+ static setPrimaryColorFromRGB(r, g, b) {
56
+ this._primaryColorObj = {
57
+ r,
58
+ g,
59
+ b,
60
+ a: 1
61
+ };
62
+ this._primaryColorHex = LibraryConstants.rgbToHex(r, g, b);
63
+ }
64
+ static secondaryColor = '#FFFFFF';
65
+
66
+ // Calculate disabled primary color (with 50% opacity)
67
+ static get primaryColorDisabled() {
68
+ return rgbaToString({
69
+ r: this._primaryColorObj.r,
70
+ g: this._primaryColorObj.g,
71
+ b: this._primaryColorObj.b,
72
+ a: 0.5
73
+ });
74
+ }
75
+ static openExternally = [""];
76
+ static whitelistedUrlsAndroid = [];
77
+ static whitelistedUrlsIos = [];
78
+ static hostName = "";
79
+ static whitelistedDomains = [];
80
+ static init({
81
+ host,
82
+ // whitelistedAndroid,
83
+ // whitelistedIos,
84
+ whitelistedDomains,
85
+ deviceBinding
86
+ }) {
87
+ this.hostName = host;
88
+ // if (whitelistedAndroid) this.whitelistedUrlsAndroid = whitelistedAndroid;
89
+ // if (whitelistedIos) this.whitelistedUrlsIos = whitelistedIos;
90
+ this.whitelistedDomains = whitelistedDomains;
91
+ if (deviceBinding !== undefined) this.deviceBindingEnabled = deviceBinding;
92
+ }
93
+
94
+ // Helper method to get whitelisted URLs based on platform
95
+ // static getWhitelistedUrls(): string[] {
96
+ // return Platform.OS === 'ios' ? this.whitelistedUrlsIos : this.whitelistedUrlsAndroid;
97
+ // }
98
+
99
+ static getWhitelistedDomains() {
100
+ return this.whitelistedDomains;
101
+ }
102
+ static get primaryColor() {
103
+ if (Platform.OS === 'android') {
104
+ return rgbaToString(this._primaryColorObj);
105
+ }
106
+ return this._primaryColorHex;
107
+ }
108
+ static getPrimaryColorWithOpacity(opacity) {
109
+ return rgbaToString({
110
+ ...this._primaryColorObj,
111
+ a: opacity
112
+ });
113
+ }
114
+ }
115
+ //# sourceMappingURL=LibraryConstants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Platform","hexToRgba","hex","match","exec","r","parseInt","g","b","a","rgbaToString","color","LibraryConstants","deviceBindingEnabled","_primaryColorHex","_primaryColorObj","primaryColor","value","rgbToHex","map","x","toString","length","join","setPrimaryColorFromRGB","secondaryColor","primaryColorDisabled","openExternally","whitelistedUrlsAndroid","whitelistedUrlsIos","hostName","whitelistedDomains","init","host","deviceBinding","undefined","getWhitelistedDomains","OS","getPrimaryColorWithOpacity","opacity"],"sourceRoot":"../../../../src","sources":["helpers/utils/LibraryConstants.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ import { Platform } from 'react-native';
4
+ import DeviceInfo from 'react-native-device-info';
5
+ import { Constants } from "./Constants.js";
6
+ export class DeviceInfoManager {
7
+ static async getDeviceInfo() {
8
+ if (Platform.OS === 'android') {
9
+ let androidId = 'unknown';
10
+ try {
11
+ androidId = await DeviceInfo.getAndroidId();
12
+ } catch (e) {
13
+ if (__DEV__) {
14
+ console.log('Error getting android id:', e);
15
+ }
16
+ }
17
+ return {
18
+ [Constants.MANUFACTURER]: (await DeviceInfo.getManufacturer()) || 'unknown',
19
+ [Constants.MODEL]: DeviceInfo.getModel() || 'unknown',
20
+ [Constants.OS]: 'android',
21
+ [Constants.OS_VERSION]: DeviceInfo.getSystemVersion() || 'unknown',
22
+ [Constants.APP_VERSION]: DeviceInfo.getVersion() || 'unknown',
23
+ [Constants.DEVICE_UUID]: androidId
24
+ };
25
+ } else if (Platform.OS === 'ios') {
26
+ return {
27
+ [Constants.MANUFACTURER]: 'Apple',
28
+ [Constants.MODEL]: DeviceInfo.getModel() || 'unknown',
29
+ [Constants.OS]: 'ios',
30
+ [Constants.OS_VERSION]: DeviceInfo.getSystemVersion() || 'unknown',
31
+ [Constants.APP_VERSION]: DeviceInfo.getVersion() || 'unknown',
32
+ [Constants.DEVICE_UUID]: (await DeviceInfo.getUniqueId()) || 'unknown'
33
+ };
34
+ } else {
35
+ throw new Error('Unsupported platform');
36
+ }
37
+ }
38
+ }
39
+ //# sourceMappingURL=deviceInfoManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Platform","DeviceInfo","Constants","DeviceInfoManager","getDeviceInfo","OS","androidId","getAndroidId","e","__DEV__","console","log","MANUFACTURER","getManufacturer","MODEL","getModel","OS_VERSION","getSystemVersion","APP_VERSION","getVersion","DEVICE_UUID","getUniqueId","Error"],"sourceRoot":"../../../../src","sources":["helpers/utils/deviceInfoManager.tsx"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,cAAc;AACvC,OAAOC,UAAU,MAAM,0BAA0B;AACjD,SAASC,SAAS,QAAQ,gBAAa;AAEvC,OAAO,MAAMC,iBAAiB,CAAC;EAC3B,aAAaC,aAAaA,CAAA,EAAoC;IAC1D,IAAIJ,QAAQ,CAACK,EAAE,KAAK,SAAS,EAAE;MAC3B,IAAIC,SAAS,GAAG,SAAS;MACzB,IAAI;QACAA,SAAS,GAAG,MAAML,UAAU,CAACM,YAAY,CAAC,CAAC;MAC/C,CAAC,CAAC,OAAOC,CAAC,EAAE;QACR,IAAIC,OAAO,EAAE;UACTC,OAAO,CAACC,GAAG,CAAC,2BAA2B,EAAEH,CAAC,CAAC;QAC/C;MACJ;MACA,OAAO;QACH,CAACN,SAAS,CAACU,YAAY,GAAG,CAAC,MAAMX,UAAU,CAACY,eAAe,CAAC,CAAC,KAAK,SAAS;QAC3E,CAACX,SAAS,CAACY,KAAK,GAAGb,UAAU,CAACc,QAAQ,CAAC,CAAC,IAAI,SAAS;QACrD,CAACb,SAAS,CAACG,EAAE,GAAG,SAAS;QACzB,CAACH,SAAS,CAACc,UAAU,GAAGf,UAAU,CAACgB,gBAAgB,CAAC,CAAC,IAAI,SAAS;QAClE,CAACf,SAAS,CAACgB,WAAW,GAAGjB,UAAU,CAACkB,UAAU,CAAC,CAAC,IAAI,SAAS;QAC7D,CAACjB,SAAS,CAACkB,WAAW,GAAGd;MAC7B,CAAC;IACL,CAAC,MAAM,IAAIN,QAAQ,CAACK,EAAE,KAAK,KAAK,EAAE;MAC9B,OAAO;QACH,CAACH,SAAS,CAACU,YAAY,GAAG,OAAO;QACjC,CAACV,SAAS,CAACY,KAAK,GAAGb,UAAU,CAACc,QAAQ,CAAC,CAAC,IAAI,SAAS;QACrD,CAACb,SAAS,CAACG,EAAE,GAAG,KAAK;QACrB,CAACH,SAAS,CAACc,UAAU,GAAGf,UAAU,CAACgB,gBAAgB,CAAC,CAAC,IAAI,SAAS;QAClE,CAACf,SAAS,CAACgB,WAAW,GAAGjB,UAAU,CAACkB,UAAU,CAAC,CAAC,IAAI,SAAS;QAC7D,CAACjB,SAAS,CAACkB,WAAW,GAAG,CAAC,MAAMnB,UAAU,CAACoB,WAAW,CAAC,CAAC,KAAK;MACjE,CAAC;IACL,CAAC,MAAM;MACH,MAAM,IAAIC,KAAK,CAAC,sBAAsB,CAAC;IAC3C;EACJ;AACJ","ignoreList":[]}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ import { Platform } from 'react-native';
4
+ import DeviceInfo from 'react-native-device-info';
5
+ import { DeviceInfoManager } from "./deviceInfoManager.js";
6
+ export class HeaderManager {
7
+ deviceInfoManager = DeviceInfoManager;
8
+ async generateHeaders(isEncrypted = true) {
9
+ const deviceInfo = await this.deviceInfoManager.getDeviceInfo();
10
+ return {
11
+ ...deviceInfo,
12
+ app_version: DeviceInfo.getVersion() || 'unknown',
13
+ os: Platform.OS === 'android' ? 'Android' : 'iOS',
14
+ os_version: DeviceInfo.getSystemVersion() || 'unknown',
15
+ ...(isEncrypted && {
16
+ 'Content-Type': 'application/json;charset=utf-8'
17
+ })
18
+ };
19
+ }
20
+ }
21
+ //# sourceMappingURL=headerManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Platform","DeviceInfo","DeviceInfoManager","HeaderManager","deviceInfoManager","generateHeaders","isEncrypted","deviceInfo","getDeviceInfo","app_version","getVersion","os","OS","os_version","getSystemVersion"],"sourceRoot":"../../../../src","sources":["helpers/utils/headerManager.tsx"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,cAAc;AACvC,OAAOC,UAAU,MAAM,0BAA0B;AACjD,SAASC,iBAAiB,QAAQ,wBAAqB;AAEvD,OAAO,MAAMC,aAAa,CAAC;EAEfC,iBAAiB,GAAGF,iBAAiB;EAE7C,MAAMG,eAAeA,CAACC,WAAoB,GAAG,IAAI,EAAmC;IAEhF,MAAMC,UAAU,GAAG,MAAM,IAAI,CAACH,iBAAiB,CAACI,aAAa,CAAC,CAAC;IAE/D,OAAO;MACH,GAAGD,UAAU;MACbE,WAAW,EAAER,UAAU,CAACS,UAAU,CAAC,CAAC,IAAI,SAAS;MACjDC,EAAE,EAAEX,QAAQ,CAACY,EAAE,KAAK,SAAS,GAAG,SAAS,GAAG,KAAK;MACjDC,UAAU,EAAEZ,UAAU,CAACa,gBAAgB,CAAC,CAAC,IAAI,SAAS;MACtD,IAAIR,WAAW,IAAI;QAAE,cAAc,EAAE;MAAiC,CAAC;IAC3E,CAAC;EAEL;AACJ","ignoreList":[]}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ import AsyncStorage from '@react-native-async-storage/async-storage';
4
+ import { Platform, StatusBar } from "react-native";
5
+ import { Constants } from "./Constants.js";
6
+ import { LibraryConstants } from "./LibraryConstants.js";
7
+ export class ThemeManager {
8
+ constructor() {}
9
+ static async savePrimaryColor(color) {
10
+ console.log("Saving primary color:", color);
11
+ try {
12
+ await AsyncStorage.setItem(LibraryConstants.primaryColor, color);
13
+ } catch (error) {
14
+ console.error("Error saving primary color:", error);
15
+ }
16
+ }
17
+ static async loadPrimaryColor() {
18
+ try {
19
+ return await AsyncStorage.getItem(LibraryConstants.primaryColor);
20
+ } catch (error) {
21
+ console.error("Error loading primary color:", error);
22
+ return null;
23
+ }
24
+ }
25
+ static getAppTheme() {
26
+ return {
27
+ primaryColor: Constants.PRIMARY_COLOR
28
+ };
29
+ }
30
+ static configureStatusBar() {
31
+ StatusBar.setBackgroundColor(LibraryConstants.primaryColor);
32
+ StatusBar.setNetworkActivityIndicatorVisible(true);
33
+ const barStyle = 'light-content';
34
+ StatusBar.setBarStyle(barStyle);
35
+ if (Platform.OS === 'android') {
36
+ StatusBar.setTranslucent(false);
37
+ }
38
+ }
39
+ }
40
+ //# sourceMappingURL=themeManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["AsyncStorage","Platform","StatusBar","Constants","LibraryConstants","ThemeManager","constructor","savePrimaryColor","color","console","log","setItem","primaryColor","error","loadPrimaryColor","getItem","getAppTheme","PRIMARY_COLOR","configureStatusBar","setBackgroundColor","setNetworkActivityIndicatorVisible","barStyle","setBarStyle","OS","setTranslucent"],"sourceRoot":"../../../../src","sources":["helpers/utils/themeManager.tsx"],"mappings":";;AAAA,OAAOA,YAAY,MAAM,2CAA2C;AACpE,SAASC,QAAQ,EAAEC,SAAS,QAA6B,cAAc;AACvE,SAASC,SAAS,QAAQ,gBAAa;AACvC,SAASC,gBAAgB,QAAQ,uBAAoB;AAMrD,OAAO,MAAMC,YAAY,CAAC;EAItBC,WAAWA,CAAA,EAAG,CACd;EAEA,aAAaC,gBAAgBA,CAACC,KAAa,EAAiB;IACxDC,OAAO,CAACC,GAAG,CAAC,uBAAuB,EAAEF,KAAK,CAAC;IAC3C,IAAI;MACA,MAAMR,YAAY,CAACW,OAAO,CAACP,gBAAgB,CAACQ,YAAY,EAAEJ,KAAK,CAAC;IACpE,CAAC,CAAC,OAAOK,KAAK,EAAE;MACZJ,OAAO,CAACI,KAAK,CAAC,6BAA6B,EAAEA,KAAK,CAAC;IACvD;EACJ;EAEA,aAAaC,gBAAgBA,CAAA,EAA2B;IACpD,IAAI;MACA,OAAO,MAAMd,YAAY,CAACe,OAAO,CAACX,gBAAgB,CAACQ,YAAY,CAAC;IACpE,CAAC,CACD,OAAOC,KAAK,EAAE;MACVJ,OAAO,CAACI,KAAK,CAAC,8BAA8B,EAAEA,KAAK,CAAC;MACpD,OAAO,IAAI;IACf;EACJ;EACA,OAAOG,WAAWA,CAAA,EAAU;IACxB,OAAO;MACHJ,YAAY,EAAET,SAAS,CAACc;IAC5B,CAAC;EACL;EAEA,OAAOC,kBAAkBA,CAAA,EAAS;IAC9BhB,SAAS,CAACiB,kBAAkB,CAACf,gBAAgB,CAACQ,YAAY,CAAC;IAC3DV,SAAS,CAACkB,kCAAkC,CAAC,IAAI,CAAC;IAClD,MAAMC,QAAwB,GAAG,eAAe;IAChDnB,SAAS,CAACoB,WAAW,CAACD,QAAQ,CAAC;IAE/B,IAAIpB,QAAQ,CAACsB,EAAE,KAAK,SAAS,EAAE;MAC3BrB,SAAS,CAACsB,cAAc,CAAC,KAAK,CAAC;IACnC;EACJ;AACJ","ignoreList":[]}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ export let WebViewCallbackType = /*#__PURE__*/function (WebViewCallbackType) {
4
+ WebViewCallbackType["Logout"] = "logout";
5
+ WebViewCallbackType["Redirect"] = "redirect";
6
+ return WebViewCallbackType;
7
+ }({});
8
+ export class WebViewCallback {
9
+ constructor(type, status) {
10
+ this.type = type;
11
+ this.status = status;
12
+ }
13
+ static logout() {
14
+ return new WebViewCallback(WebViewCallbackType.Logout);
15
+ }
16
+ static redirect(status) {
17
+ return new WebViewCallback(WebViewCallbackType.Redirect, status);
18
+ }
19
+ }
20
+ //# sourceMappingURL=webviewCallback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["WebViewCallbackType","WebViewCallback","constructor","type","status","logout","Logout","redirect","Redirect"],"sourceRoot":"../../../../src","sources":["helpers/utils/webviewCallback.tsx"],"mappings":";;AAAA,WAAYA,mBAAmB,0BAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAA,OAAnBA,mBAAmB;AAAA;AAM/B,OAAO,MAAMC,eAAe,CAAC;EAIjBC,WAAWA,CAACC,IAAyB,EAAEC,MAAsB,EAAE;IACnE,IAAI,CAACD,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,MAAM,GAAGA,MAAM;EACxB;EAEA,OAAOC,MAAMA,CAAA,EAAoB;IAC7B,OAAO,IAAIJ,eAAe,CAACD,mBAAmB,CAACM,MAAM,CAAC;EAC1D;EAEA,OAAOC,QAAQA,CAACH,MAAsB,EAAmB;IACrD,OAAO,IAAIH,eAAe,CAACD,mBAAmB,CAACQ,QAAQ,EAAEJ,MAAM,CAAC;EACpE;AACJ","ignoreList":[]}
@@ -0,0 +1,273 @@
1
+ "use strict";
2
+
3
+ import { WebView as RNWebView } from 'react-native-webview';
4
+ import { BackHandler, Platform, Linking, SafeAreaView, ActivityIndicator, View, ToastAndroid, StatusBar } from 'react-native';
5
+ import { useEffect, useRef, useState } from 'react';
6
+ import { WebViewCallback } from "./utils/webviewCallback.js";
7
+ import { check, PERMISSIONS, request, RESULTS } from 'react-native-permissions';
8
+ import FileViewer from 'react-native-file-viewer';
9
+ import RNFS from 'react-native-fs';
10
+ import CookieManager from '@react-native-cookies/cookies';
11
+ import { jsx as _jsx } from "react/jsx-runtime";
12
+ export const WebView = ({
13
+ url,
14
+ options,
15
+ onCallback,
16
+ hostName,
17
+ whitelistedUrls = [],
18
+ onPageFinished
19
+ }) => {
20
+ const webviewRef = useRef(null);
21
+ ;
22
+ const [canGoBack, setCanGoBack] = useState(false);
23
+ // const [hasRedirected, setHasRedirected] = useState(false);
24
+ const [, setToast] = useState(null);
25
+ const handleExternalUrl = async url => {
26
+ try {
27
+ await new Promise(resolve => setTimeout(resolve, 200));
28
+ await Linking.openURL(url);
29
+ } catch (error) {
30
+ // Implement your toast here
31
+ if (Platform.OS === 'android') {
32
+ ToastAndroid.show("Oops! Something went wrong. Please try again.", ToastAndroid.LONG);
33
+ }
34
+ console.log('Application not found to open link');
35
+ }
36
+ };
37
+ const showToast_with_code_message = syntheticEvent => {
38
+ const {
39
+ nativeEvent
40
+ } = syntheticEvent;
41
+ const errorCodesToHandle = [-6, -8, -10];
42
+ if (errorCodesToHandle.includes(nativeEvent.code)) {
43
+ const message = `WebView Error: [${nativeEvent.code}] ${nativeEvent.description}`;
44
+ setToast({
45
+ visible: true,
46
+ message
47
+ });
48
+ if (Platform.OS === 'android') {
49
+ ToastAndroid.show("Oops! Something went wrong. Please try again.", ToastAndroid.LONG);
50
+ }
51
+ setTimeout(() => setToast(null), 5000);
52
+ onCallback?.(WebViewCallback.redirect("WEBVIEW_ERROR"));
53
+ }
54
+ };
55
+ const getQueryParam = (url, param) => {
56
+ const match = url.match(new RegExp('[?&]' + param + '=([^&#]*)'));
57
+ return match && match[1] ? decodeURIComponent(match[1]) : null;
58
+ };
59
+ const downloadAndOpenFile = async fileUrl => {
60
+ try {
61
+ console.log('Starting file download...', fileUrl);
62
+
63
+ // Get cookies using CookieManager
64
+ let cookieString = '';
65
+ try {
66
+ const cookies = await CookieManager.get(fileUrl);
67
+ cookieString = Object.keys(cookies).map(key => `${key}=${cookies[key]?.value ?? ''}`).join('; ');
68
+ } catch (e) {
69
+ console.error('Failed to get cookies:', e);
70
+ }
71
+
72
+ // Create a clean filename from the URL
73
+ const timestamp = new Date().getTime();
74
+ // Extract only the last part of the path for the filename
75
+ const urlParts = fileUrl.split('/');
76
+ const lastPart = urlParts[urlParts.length - 1];
77
+ const fileExt = lastPart?.split('.').pop() || 'pdf';
78
+ const fileName = `${timestamp}.${fileExt}`;
79
+ const downloadPath = Platform.select({
80
+ ios: `${RNFS.DocumentDirectoryPath}/${fileName}`,
81
+ android: `${RNFS.DownloadDirectoryPath}/${fileName}`
82
+ });
83
+ if (!downloadPath) {
84
+ throw new Error('Could not determine download path');
85
+ }
86
+ console.log('Downloading to:', downloadPath);
87
+ const options = {
88
+ fromUrl: fileUrl,
89
+ toFile: downloadPath,
90
+ headers: {
91
+ 'Cookie': cookieString,
92
+ 'Accept': 'application/pdf',
93
+ 'Content-Type': 'application/pdf'
94
+ },
95
+ background: true,
96
+ begin: res => {
97
+ console.log('Download started with headers:', res);
98
+ }
99
+ };
100
+ const response = await RNFS.downloadFile(options).promise;
101
+ if (response.statusCode === 200) {
102
+ console.log('File downloaded to:', downloadPath);
103
+ if (Platform.OS === 'android') {
104
+ ToastAndroid.show('File downloaded successfully', ToastAndroid.SHORT);
105
+ }
106
+ await FileViewer.open(downloadPath, {
107
+ showOpenWithDialog: true,
108
+ onDismiss: () => {
109
+ if (Platform.OS === 'ios') {
110
+ RNFS.unlink(downloadPath).catch(console.error);
111
+ }
112
+ }
113
+ });
114
+ } else {
115
+ throw new Error(`Download failed with status ${response.statusCode}`);
116
+ }
117
+ } catch (error) {
118
+ console.error('File download/open error:', error);
119
+ }
120
+ };
121
+ const handleOnShouldStartLoadWithRequest = event => {
122
+ const {
123
+ url
124
+ } = event;
125
+ console.log('URL:', url);
126
+ if (url === 'about:blank' || url === 'about:srcdoc') {
127
+ return true;
128
+ }
129
+ if (url?.includes('/session-expired?status=') || url?.includes("/redirect?status=")) {
130
+ const status = getQueryParam(url, 'status');
131
+ console.log('Status thrown from webview ', status);
132
+ // navigation.pop();
133
+ StatusBar.setBackgroundColor('#7E7E7EFF');
134
+ onCallback?.(WebViewCallback.redirect(status ?? undefined));
135
+ return false;
136
+ }
137
+
138
+ // Handle whitelisted URLs
139
+ const isWhitelisted = whitelistedUrls.some(white => url.includes(white)) || hostName && url.includes(hostName);
140
+ if (!isWhitelisted && url && url !== 'about:blank' && url !== 'about:srcdoc') {
141
+ console.log('External URL detected:', url);
142
+ handleExternalUrl(url);
143
+ return false;
144
+ }
145
+ if (url.includes('.pdf') || url.includes('/statements/') || url.includes('/download_statements')) {
146
+ console.log('File download URL detected:', url);
147
+ downloadAndOpenFile(url);
148
+ return false;
149
+ }
150
+ return true;
151
+ };
152
+ const handleBackButton = () => {
153
+ if (canGoBack && webviewRef.current) {
154
+ webviewRef.current.goBack();
155
+ return true;
156
+ }
157
+ return false;
158
+ };
159
+ useEffect(() => {
160
+ const backHandler = BackHandler.addEventListener('hardwareBackPress', handleBackButton);
161
+ return () => {
162
+ backHandler.remove();
163
+ };
164
+ }, [canGoBack]);
165
+ const Loading = () => /*#__PURE__*/_jsx(View, {
166
+ style: {
167
+ flex: 1,
168
+ justifyContent: 'center',
169
+ alignItems: 'center'
170
+ },
171
+ children: /*#__PURE__*/_jsx(ActivityIndicator, {
172
+ size: "large"
173
+ })
174
+ });
175
+
176
+ // Cookie injection script
177
+
178
+ const injectedJavaScript = `
179
+ window.onerror = function(message, source, lineno, colno, error) {
180
+ if (message.includes('RATE_LIMIT_USER')) {
181
+ window.ReactNativeWebView.postMessage(JSON.stringify({
182
+ type: 'RATE_LIMIT_ERROR'
183
+ }));
184
+ }
185
+ };
186
+ true;
187
+ `;
188
+ const requestPermission = async permission => {
189
+ try {
190
+ const result = await check(permission);
191
+ if (result === RESULTS.DENIED) {
192
+ const requestResult = await request(permission);
193
+ return requestResult === RESULTS.GRANTED;
194
+ }
195
+ return result === RESULTS.GRANTED;
196
+ } catch (error) {
197
+ console.error('Permission request failed:', error);
198
+ return false;
199
+ }
200
+ };
201
+ const handlePermissionRequest = async event => {
202
+ const {
203
+ resources
204
+ } = event.nativeEvent;
205
+ console.log('Permission requested:', resources);
206
+ const permissionsToRequest = [];
207
+ if (resources.includes('video')) {
208
+ permissionsToRequest.push(Platform.OS === 'ios' ? PERMISSIONS.IOS.CAMERA : PERMISSIONS.ANDROID.CAMERA);
209
+ }
210
+ if (resources.includes('microphone')) {
211
+ permissionsToRequest.push(Platform.OS === 'ios' ? PERMISSIONS.IOS.MICROPHONE : PERMISSIONS.ANDROID.RECORD_AUDIO);
212
+ }
213
+ if (resources.includes('geolocation')) {
214
+ permissionsToRequest.push(Platform.OS === 'ios' ? PERMISSIONS.IOS.LOCATION_WHEN_IN_USE : PERMISSIONS.ANDROID.ACCESS_FINE_LOCATION);
215
+ }
216
+ try {
217
+ const results = await Promise.all(permissionsToRequest.map(permission => requestPermission(permission)));
218
+ const granted = results.every(result => result === true);
219
+ if (granted) {
220
+ // @ts-ignore - grant exists on the event
221
+ event.nativeEvent.grant();
222
+ } else {
223
+ // @ts-ignore - deny exists on the event
224
+ event.nativeEvent.deny();
225
+ }
226
+ } catch (error) {
227
+ console.error('Permission handling failed:', error);
228
+ // @ts-ignore - deny exists on the event
229
+ event.nativeEvent.deny();
230
+ }
231
+ };
232
+ return /*#__PURE__*/_jsx(SafeAreaView, {
233
+ style: {
234
+ flex: 1,
235
+ backgroundColor: 'white'
236
+ },
237
+ children: /*#__PURE__*/_jsx(RNWebView, {
238
+ ref: webviewRef,
239
+ source: {
240
+ uri: url
241
+ },
242
+ onPermissionRequest: handlePermissionRequest,
243
+ geolocationEnabled: true,
244
+ androidPermissions: {
245
+ camera: true,
246
+ microphone: true,
247
+ geolocation: true
248
+ },
249
+ onError: showToast_with_code_message,
250
+ startInLoadingState: true,
251
+ renderLoading: () => /*#__PURE__*/_jsx(Loading, {}),
252
+ onLoadEnd: onPageFinished,
253
+ originWhitelist: ['*'],
254
+ javaScriptEnabled: true,
255
+ domStorageEnabled: true,
256
+ mediaPlaybackRequiresUserAction: false,
257
+ allowsInlineMediaPlayback: true,
258
+ onShouldStartLoadWithRequest: handleOnShouldStartLoadWithRequest,
259
+ onNavigationStateChange: navState => {
260
+ setCanGoBack(navState.canGoBack);
261
+ },
262
+ injectedJavaScript: injectedJavaScript,
263
+ decelerationRate: Platform.OS === 'ios' ? 'normal' : 0.9,
264
+ allowsBackForwardNavigationGestures: Platform.OS === 'ios',
265
+ sharedCookiesEnabled: true,
266
+ setSupportMultipleWindows: false,
267
+ mixedContentMode: "always",
268
+ allowsLinkPreview: true,
269
+ ...options
270
+ })
271
+ });
272
+ };
273
+ //# sourceMappingURL=webview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["WebView","RNWebView","BackHandler","Platform","Linking","SafeAreaView","ActivityIndicator","View","ToastAndroid","StatusBar","useEffect","useRef","useState","WebViewCallback","check","PERMISSIONS","request","RESULTS","FileViewer","RNFS","CookieManager","jsx","_jsx","url","options","onCallback","hostName","whitelistedUrls","onPageFinished","webviewRef","canGoBack","setCanGoBack","setToast","handleExternalUrl","Promise","resolve","setTimeout","openURL","error","OS","show","LONG","console","log","showToast_with_code_message","syntheticEvent","nativeEvent","errorCodesToHandle","includes","code","message","description","visible","redirect","getQueryParam","param","match","RegExp","decodeURIComponent","downloadAndOpenFile","fileUrl","cookieString","cookies","get","Object","keys","map","key","value","join","e","timestamp","Date","getTime","urlParts","split","lastPart","length","fileExt","pop","fileName","downloadPath","select","ios","DocumentDirectoryPath","android","DownloadDirectoryPath","Error","fromUrl","toFile","headers","background","begin","res","response","downloadFile","promise","statusCode","SHORT","open","showOpenWithDialog","onDismiss","unlink","catch","handleOnShouldStartLoadWithRequest","event","status","setBackgroundColor","undefined","isWhitelisted","some","white","handleBackButton","current","goBack","backHandler","addEventListener","remove","Loading","style","flex","justifyContent","alignItems","children","size","injectedJavaScript","requestPermission","permission","result","DENIED","requestResult","GRANTED","handlePermissionRequest","resources","permissionsToRequest","push","IOS","CAMERA","ANDROID","MICROPHONE","RECORD_AUDIO","LOCATION_WHEN_IN_USE","ACCESS_FINE_LOCATION","results","all","granted","every","grant","deny","backgroundColor","ref","source","uri","onPermissionRequest","geolocationEnabled","androidPermissions","camera","microphone","geolocation","onError","startInLoadingState","renderLoading","onLoadEnd","originWhitelist","javaScriptEnabled","domStorageEnabled","mediaPlaybackRequiresUserAction","allowsInlineMediaPlayback","onShouldStartLoadWithRequest","onNavigationStateChange","navState","decelerationRate","allowsBackForwardNavigationGestures","sharedCookiesEnabled","setSupportMultipleWindows","mixedContentMode","allowsLinkPreview"],"sourceRoot":"../../../src","sources":["helpers/webview.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+
3
+ import PartnerReactNativeSdk from './NativePartnerReactNativeSdk';
4
+ export { WebView } from "./helpers/webview.js";
5
+ export function multiply(a, b) {
6
+ return PartnerReactNativeSdk.multiply(a, b);
7
+ }
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["PartnerReactNativeSdk","WebView","multiply","a","b"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,OAAOA,qBAAqB,MAAM,+BAA+B;AACjE,SAASC,OAAO,QAAQ,sBAAmB;AAK3C,OAAO,SAASC,QAAQA,CAACC,CAAS,EAAEC,CAAS,EAAU;EACrD,OAAOJ,qBAAqB,CAACE,QAAQ,CAACC,CAAC,EAAEC,CAAC,CAAC;AAC7C","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"type":"module"}
@@ -0,0 +1 @@
1
+ {"type":"module"}
@@ -0,0 +1,7 @@
1
+ import type { TurboModule } from 'react-native';
2
+ export interface Spec extends TurboModule {
3
+ multiply(a: number, b: number): number;
4
+ }
5
+ declare const _default: Spec;
6
+ export default _default;
7
+ //# sourceMappingURL=NativePartnerReactNativeSdk.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NativePartnerReactNativeSdk.d.ts","sourceRoot":"","sources":["../../../src/NativePartnerReactNativeSdk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACxC;;AAED,wBAA+E"}
@@ -0,0 +1,50 @@
1
+ export declare class ServiceNames {
2
+ private static get HOST_URL();
3
+ static get LOGGED_IN_URL(): string;
4
+ static get LOGIN_URL(): string;
5
+ static get THEME_URL(): string;
6
+ static get WEBSITE_KEYS(): string;
7
+ static readonly USER_SLUG = "/user";
8
+ static readonly GLOBAL_SLUG = "/global";
9
+ static readonly BANKING_SLUG = "/banking/{bank}";
10
+ static readonly BANKING_ONBOARDING_SLUG: string;
11
+ static readonly BANKING_SAVING_SLUG: string;
12
+ static readonly BANKING_SAVING_BENEFICIARY_SLUG: string;
13
+ static readonly BANKING_FIXED_SLUG: string;
14
+ static readonly PPI_SLUG = "/ppi";
15
+ static readonly DEVICE_SLUG = "/device/{partner}";
16
+ static get BANKING_APP_CONSENT(): string;
17
+ static get BANKING_CUSTOMER_CHECK(): string;
18
+ static get BANKING_FIXED(): string;
19
+ static get BANKING_FIXED_BALANCE(): string;
20
+ static get BANKING_FIXED_ACCOUNT_ID(): string;
21
+ static get BANKING_ONBOARDING_NEXT(): string;
22
+ static get BANKING_ONBOARDING_JOURNEY(): string;
23
+ static get BANKING_ONBOARDING_PHONE_INPUT(): string;
24
+ static get BANKING_ONBOARDING_PHONE_OTP_VERIFY(): string;
25
+ static get BANKING_ONBOARDING_EMAIL_INPUT(): string;
26
+ static get BANKING_ONBOARDING_EMAIL_OTP_VERIFY(): string;
27
+ static get BANKING_ONBOARDING_PAN(): string;
28
+ static get BANKING_ONBOARDING_AADHAAR(): string;
29
+ static get BANKING_ONBOARDING_APPLICATION(): string;
30
+ static get BANKING_ONBOARDING_APPLICATION_VIEW(): string;
31
+ static get BANKING_ONBOARDING_TERMS(): string;
32
+ static get BANKING_ONBOARDING_VKYC_SETUP(): string;
33
+ static get BANKING_ONBOARDING_VKYC_WEBLINK(): string;
34
+ static get BANKING_ONBOARDING_VKYC_SLOT(): string;
35
+ static get BANKING_PRODUCTS(): string;
36
+ static get BANKING_SAVING(): string;
37
+ static get BANKING_SAVING_BALANCE(): string;
38
+ static get BANKING_SAVING_BENEFICIARY(): string;
39
+ static get BANKING_SAVING_BENEFICIARY_ID(): string;
40
+ static get BANKING_SAVING_TRANSACTIONS(): string;
41
+ static get DEVICE_BIND(): string;
42
+ static get DEVICE_SESSION(): {
43
+ url: string;
44
+ params(params: Record<string, string>): string;
45
+ };
46
+ static get LOGOUT(): string;
47
+ static get PPI_PARTNER_VERIFY(): string;
48
+ static get TIME(): string;
49
+ }
50
+ //# sourceMappingURL=ServiceNames.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServiceNames.d.ts","sourceRoot":"","sources":["../../../../src/helpers/ServiceNames.tsx"],"names":[],"mappings":"AAUA,qBAAa,YAAY;IACrB,OAAO,CAAC,MAAM,KAAK,QAAQ,GAE1B;IAED,MAAM,KAAK,aAAa,IAAI,MAAM,CAEjC;IAED,MAAM,KAAK,SAAS,IAAI,MAAM,CAE7B;IAED,MAAM,KAAK,SAAS,IAAI,MAAM,CAE7B;IAED,MAAM,KAAK,YAAY,IAAI,MAAM,CAEhC;IAED,MAAM,CAAC,QAAQ,CAAC,SAAS,WAAW;IACpC,MAAM,CAAC,QAAQ,CAAC,WAAW,aAAa;IACxC,MAAM,CAAC,QAAQ,CAAC,YAAY,qBAAqB;IACjD,MAAM,CAAC,QAAQ,CAAC,uBAAuB,SAAqC;IAC5E,MAAM,CAAC,QAAQ,CAAC,mBAAmB,SAAiC;IACpE,MAAM,CAAC,QAAQ,CAAC,+BAA+B,SAA6C;IAC5F,MAAM,CAAC,QAAQ,CAAC,kBAAkB,SAAgC;IAClE,MAAM,CAAC,QAAQ,CAAC,QAAQ,UAAU;IAClC,MAAM,CAAC,QAAQ,CAAC,WAAW,uBAAuB;IAElD,MAAM,KAAK,mBAAmB,IAAI,MAAM,CAEvC;IAED,MAAM,KAAK,sBAAsB,IAAI,MAAM,CAE1C;IAED,MAAM,KAAK,aAAa,IAAI,MAAM,CAEjC;IAED,MAAM,KAAK,qBAAqB,IAAI,MAAM,CAEzC;IAED,MAAM,KAAK,wBAAwB,IAAI,MAAM,CAE5C;IAED,MAAM,KAAK,uBAAuB,IAAI,MAAM,CAE3C;IAED,MAAM,KAAK,0BAA0B,IAAI,MAAM,CAE9C;IAED,MAAM,KAAK,8BAA8B,IAAI,MAAM,CAElD;IAED,MAAM,KAAK,mCAAmC,IAAI,MAAM,CAEvD;IAED,MAAM,KAAK,8BAA8B,IAAI,MAAM,CAElD;IAED,MAAM,KAAK,mCAAmC,IAAI,MAAM,CAEvD;IAED,MAAM,KAAK,sBAAsB,IAAI,MAAM,CAE1C;IAED,MAAM,KAAK,0BAA0B,IAAI,MAAM,CAE9C;IAED,MAAM,KAAK,8BAA8B,IAAI,MAAM,CAElD;IAED,MAAM,KAAK,mCAAmC,IAAI,MAAM,CAEvD;IAED,MAAM,KAAK,wBAAwB,IAAI,MAAM,CAE5C;IAED,MAAM,KAAK,6BAA6B,IAAI,MAAM,CAEjD;IAED,MAAM,KAAK,+BAA+B,IAAI,MAAM,CAEnD;IAED,MAAM,KAAK,4BAA4B,IAAI,MAAM,CAEhD;IAED,MAAM,KAAK,gBAAgB,IAAI,MAAM,CAEpC;IAED,MAAM,KAAK,cAAc,IAAI,MAAM,CAElC;IAED,MAAM,KAAK,sBAAsB,IAAI,MAAM,CAE1C;IAED,MAAM,KAAK,0BAA0B,IAAI,MAAM,CAE9C;IAED,MAAM,KAAK,6BAA6B,IAAI,MAAM,CAEjD;IAED,MAAM,KAAK,2BAA2B,IAAI,MAAM,CAE/C;IAED,MAAM,KAAK,WAAW,IAAI,MAAM,CAE/B;IAED,MAAM,KAAK,cAAc;;uBAGF,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;MAI5C;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAE1B;IAED,MAAM,KAAK,kBAAkB,IAAI,MAAM,CAEtC;IAED,MAAM,KAAK,IAAI,IAAI,MAAM,CAExB;CACJ"}