@onairos/react-native 3.1.15 → 3.1.17

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 (191) hide show
  1. package/README.md +404 -0
  2. package/lib/commonjs/assets/images/Checkbox.svg +3 -3
  3. package/lib/commonjs/assets/images/EnochE.svg +19 -19
  4. package/lib/commonjs/assets/images/Personalityprofile.svg +3 -3
  5. package/lib/commonjs/assets/images/Personalitytraits.svg +3 -3
  6. package/lib/commonjs/assets/images/Userpreferences.svg +3 -3
  7. package/lib/commonjs/assets/images/arrow.svg +20 -20
  8. package/lib/commonjs/assets/images/basicproficon.svg +43 -43
  9. package/lib/commonjs/assets/images/basicprofile.svg +3 -3
  10. package/lib/commonjs/assets/images/checkmark.svg +4 -4
  11. package/lib/commonjs/assets/images/contentanalysis.svg +3 -3
  12. package/lib/commonjs/assets/images/contenticon.svg +23 -23
  13. package/lib/commonjs/assets/images/personalityicon.svg +18 -18
  14. package/lib/commonjs/assets/images/x-close.svg +3 -3
  15. package/lib/commonjs/components/OnairosSignInButton.js +32 -74
  16. package/lib/commonjs/components/OnairosSignInButton.js.map +1 -1
  17. package/lib/commonjs/components/UniversalOnboarding.js +4 -4
  18. package/lib/commonjs/config/api.js +2 -2
  19. package/lib/commonjs/hooks/useConnections.js +6 -6
  20. package/lib/commonjs/hooks/useUserConnections.js +10 -10
  21. package/lib/commonjs/index.js +5 -12
  22. package/lib/commonjs/index.js.map +1 -1
  23. package/lib/commonjs/services/apiClient.js +35 -35
  24. package/lib/commonjs/services/apiKeyService.js +99 -99
  25. package/lib/commonjs/services/authService.js +82 -82
  26. package/lib/commonjs/services/biometricPinService.js +10 -10
  27. package/lib/commonjs/services/connectedAccountsService.js +32 -32
  28. package/lib/commonjs/services/googleAuthService.js +15 -15
  29. package/lib/commonjs/services/imageCompressionService.js +15 -15
  30. package/lib/commonjs/services/jwtStorageService.js +59 -59
  31. package/lib/commonjs/services/mobileTrainingService.js +14 -14
  32. package/lib/commonjs/services/pinEncryptionService.js +10 -10
  33. package/lib/commonjs/services/pinStorageUtils.js +15 -15
  34. package/lib/commonjs/services/platformAuthService.js +47 -47
  35. package/lib/commonjs/services/storageService.js +31 -31
  36. package/lib/commonjs/services/trainingApiHelpers.js +33 -33
  37. package/lib/commonjs/services/userConnectionsService.js +24 -24
  38. package/lib/commonjs/utils/Portal.js +4 -4
  39. package/lib/commonjs/utils/api.js +24 -24
  40. package/lib/commonjs/utils/auth.js +18 -18
  41. package/lib/commonjs/utils/crypto.js +13 -13
  42. package/lib/commonjs/utils/encryption.js +12 -12
  43. package/lib/commonjs/utils/eventUtils.js +52 -52
  44. package/lib/commonjs/utils/programmaticFlow.js +16 -16
  45. package/lib/commonjs/utils/retryHelper.js +27 -27
  46. package/lib/module/assets/images/Checkbox.svg +3 -3
  47. package/lib/module/assets/images/EnochE.svg +19 -19
  48. package/lib/module/assets/images/Personalityprofile.svg +3 -3
  49. package/lib/module/assets/images/Personalitytraits.svg +3 -3
  50. package/lib/module/assets/images/Userpreferences.svg +3 -3
  51. package/lib/module/assets/images/arrow.svg +20 -20
  52. package/lib/module/assets/images/basicproficon.svg +43 -43
  53. package/lib/module/assets/images/basicprofile.svg +3 -3
  54. package/lib/module/assets/images/checkmark.svg +4 -4
  55. package/lib/module/assets/images/contentanalysis.svg +3 -3
  56. package/lib/module/assets/images/contenticon.svg +23 -23
  57. package/lib/module/assets/images/personalityicon.svg +18 -18
  58. package/lib/module/assets/images/x-close.svg +3 -3
  59. package/lib/module/components/OnairosSignInButton.js +32 -74
  60. package/lib/module/components/OnairosSignInButton.js.map +1 -1
  61. package/lib/module/components/UniversalOnboarding.js +4 -4
  62. package/lib/module/config/api.js +2 -2
  63. package/lib/module/hooks/useConnections.js +6 -6
  64. package/lib/module/hooks/useUserConnections.js +10 -10
  65. package/lib/module/index.js +5 -6
  66. package/lib/module/index.js.map +1 -1
  67. package/lib/module/services/apiClient.js +35 -35
  68. package/lib/module/services/apiKeyService.js +99 -99
  69. package/lib/module/services/authService.js +82 -82
  70. package/lib/module/services/biometricPinService.js +10 -10
  71. package/lib/module/services/connectedAccountsService.js +32 -32
  72. package/lib/module/services/googleAuthService.js +15 -15
  73. package/lib/module/services/imageCompressionService.js +15 -15
  74. package/lib/module/services/jwtStorageService.js +59 -59
  75. package/lib/module/services/mobileTrainingService.js +14 -14
  76. package/lib/module/services/pinEncryptionService.js +10 -10
  77. package/lib/module/services/pinStorageUtils.js +15 -15
  78. package/lib/module/services/platformAuthService.js +47 -47
  79. package/lib/module/services/storageService.js +31 -31
  80. package/lib/module/services/trainingApiHelpers.js +33 -33
  81. package/lib/module/services/userConnectionsService.js +24 -24
  82. package/lib/module/utils/Portal.js +4 -4
  83. package/lib/module/utils/api.js +24 -24
  84. package/lib/module/utils/auth.js +18 -18
  85. package/lib/module/utils/crypto.js +13 -13
  86. package/lib/module/utils/encryption.js +12 -12
  87. package/lib/module/utils/eventUtils.js +52 -52
  88. package/lib/module/utils/programmaticFlow.js +16 -16
  89. package/lib/module/utils/retryHelper.js +27 -27
  90. package/lib/typescript/components/OnairosSignInButton.d.ts.map +1 -1
  91. package/lib/typescript/index.d.ts +0 -1
  92. package/lib/typescript/index.d.ts.map +1 -1
  93. package/package.json +163 -163
  94. package/src/api/index.ts +151 -151
  95. package/src/assets/images/Checkbox.svg +3 -3
  96. package/src/assets/images/EnochE.svg +19 -19
  97. package/src/assets/images/Personalityprofile.svg +3 -3
  98. package/src/assets/images/Personalitytraits.svg +3 -3
  99. package/src/assets/images/Userpreferences.svg +3 -3
  100. package/src/assets/images/arrow.svg +20 -20
  101. package/src/assets/images/basicproficon.svg +43 -43
  102. package/src/assets/images/basicprofile.svg +3 -3
  103. package/src/assets/images/checkmark.svg +4 -4
  104. package/src/assets/images/contentanalysis.svg +3 -3
  105. package/src/assets/images/contenticon.svg +23 -23
  106. package/src/assets/images/personalityicon.svg +18 -18
  107. package/src/assets/images/x-close.svg +3 -3
  108. package/src/components/BodyText.tsx +33 -33
  109. package/src/components/BrandMark.tsx +62 -62
  110. package/src/components/CodeInput.tsx +32 -32
  111. package/src/components/DataRequestScreen.tsx +355 -355
  112. package/src/components/EmailInput.tsx +31 -31
  113. package/src/components/EmailVerificationModal.tsx +363 -363
  114. package/src/components/ExistingUserDataConfirmation.tsx +506 -506
  115. package/src/components/GoogleButton.tsx +55 -55
  116. package/src/components/HeadingGroup.tsx +49 -49
  117. package/src/components/ModalHeader.tsx +125 -125
  118. package/src/components/ModalSheet.tsx +57 -57
  119. package/src/components/Onairos.tsx +422 -422
  120. package/src/components/OnairosButton.tsx +339 -339
  121. package/src/components/OnairosSignInButton.tsx +130 -166
  122. package/src/components/Overlay.tsx +506 -506
  123. package/src/components/PersonaImage.tsx +79 -79
  124. package/src/components/PersonaLoadingScreen.tsx +201 -201
  125. package/src/components/PersonalizationConsentScreen.tsx +410 -410
  126. package/src/components/PinCreationScreen.tsx +492 -492
  127. package/src/components/PinInput.tsx +555 -555
  128. package/src/components/PlatformConnectorsStep.tsx +891 -891
  129. package/src/components/PlatformList.tsx +144 -144
  130. package/src/components/PlatformToggle.tsx +226 -226
  131. package/src/components/PrimaryButton.tsx +213 -213
  132. package/src/components/SignInMatchAnimation.tsx +225 -225
  133. package/src/components/SignInStep.tsx +217 -217
  134. package/src/components/TrainingModal.tsx +1047 -1047
  135. package/src/components/UniversalOnboarding.tsx +2887 -2887
  136. package/src/components/VerificationStep.tsx +198 -198
  137. package/src/components/WelcomeScreen.tsx +473 -473
  138. package/src/components/icons/Basicproficon.tsx +30 -30
  139. package/src/components/icons/Basicprofile.tsx +17 -17
  140. package/src/components/icons/Checkbox.tsx +17 -17
  141. package/src/components/icons/Checkmark.tsx +24 -24
  142. package/src/components/icons/Contentanalysis.tsx +17 -17
  143. package/src/components/icons/Contenticon.tsx +30 -30
  144. package/src/components/icons/EnochE.tsx +39 -39
  145. package/src/components/icons/Personalityicon.tsx +22 -22
  146. package/src/components/icons/Personalityprofile.tsx +17 -17
  147. package/src/components/icons/Personalitytraits.tsx +17 -17
  148. package/src/components/icons/Userpreferences.tsx +17 -17
  149. package/src/components/icons/index.ts +12 -12
  150. package/src/components/onboarding/OAuthWebView.tsx +232 -232
  151. package/src/config/api.ts +25 -25
  152. package/src/context/AuthContext.tsx +393 -393
  153. package/src/hooks/useConnectedAccounts.ts +138 -138
  154. package/src/hooks/useConnections.ts +161 -161
  155. package/src/hooks/useCredentials.ts +174 -174
  156. package/src/hooks/useUserConnections.ts +165 -165
  157. package/src/index.js +14 -14
  158. package/src/index.ts +94 -95
  159. package/src/services/apiClient.ts +336 -336
  160. package/src/services/apiKeyService.ts +919 -919
  161. package/src/services/authService.ts +1008 -1008
  162. package/src/services/biometricPinService.ts +192 -192
  163. package/src/services/connectedAccountsService.ts +289 -289
  164. package/src/services/googleAuthService.ts +279 -279
  165. package/src/services/imageCompressionService.ts +302 -302
  166. package/src/services/jwtStorageService.ts +256 -256
  167. package/src/services/mobileTrainingService.ts +203 -203
  168. package/src/services/pinEncryptionService.ts +75 -75
  169. package/src/services/pinStorageUtils.ts +96 -96
  170. package/src/services/platformAuthService.ts +1346 -1346
  171. package/src/services/storageService.ts +451 -451
  172. package/src/services/trainingApiHelpers.ts +66 -66
  173. package/src/services/userConnectionsService.ts +556 -556
  174. package/src/services/youtubeMigrationService.ts +453 -453
  175. package/src/theme/index.ts +239 -239
  176. package/src/types/ambient.d.ts +28 -28
  177. package/src/types/index.ts +265 -265
  178. package/src/types/node-fix.d.ts +18 -18
  179. package/src/types/node-override.d.ts +23 -23
  180. package/src/types/opacity.d.ts +15 -15
  181. package/src/types/types.d.ts +17 -17
  182. package/src/utils/Portal.tsx +82 -82
  183. package/src/utils/api.js +111 -111
  184. package/src/utils/auth.js +103 -103
  185. package/src/utils/crypto.js +59 -59
  186. package/src/utils/encryption.ts +68 -68
  187. package/src/utils/eventUtils.ts +302 -302
  188. package/src/utils/haptics.ts +58 -58
  189. package/src/utils/imagePreloader.ts +2 -2
  190. package/src/utils/programmaticFlow.ts +112 -112
  191. package/src/utils/retryHelper.ts +274 -274
@@ -9,9 +9,9 @@ var _asyncStorage = _interopRequireDefault(require("@react-native-async-storage/
9
9
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
10
  const API_URL = 'https://api2.onairos.uk';
11
11
 
12
- /**
13
- * Create an API instance with authorization headers
14
- * @returns {Promise<Object>} - The axios instance
12
+ /**
13
+ * Create an API instance with authorization headers
14
+ * @returns {Promise<Object>} - The axios instance
15
15
  */
16
16
  const createApiInstance = async () => {
17
17
  const token = await _asyncStorage.default.getItem('onairosToken');
@@ -26,9 +26,9 @@ const createApiInstance = async () => {
26
26
  });
27
27
  };
28
28
 
29
- /**
30
- * Validate the domain with the Onairos API
31
- * @returns {Promise<Object>} - The validation response
29
+ /**
30
+ * Validate the domain with the Onairos API
31
+ * @returns {Promise<Object>} - The validation response
32
32
  */
33
33
  exports.createApiInstance = createApiInstance;
34
34
  const validateDomain = async () => {
@@ -44,11 +44,11 @@ const validateDomain = async () => {
44
44
  }
45
45
  };
46
46
 
47
- /**
48
- * Fetch account information
49
- * @param {string} identifier - The username or email
50
- * @param {boolean} isEmail - Whether the identifier is an email
51
- * @returns {Promise<Object>} - The account information
47
+ /**
48
+ * Fetch account information
49
+ * @param {string} identifier - The username or email
50
+ * @param {boolean} isEmail - Whether the identifier is an email
51
+ * @returns {Promise<Object>} - The account information
52
52
  */
53
53
  exports.validateDomain = validateDomain;
54
54
  const fetchAccountInfo = async (identifier, isEmail = false) => {
@@ -72,12 +72,12 @@ const fetchAccountInfo = async (identifier, isEmail = false) => {
72
72
  }
73
73
  };
74
74
 
75
- /**
76
- * Get API URL for data requests
77
- * @param {Array} approvedRequests - The approved data requests
78
- * @param {string} pin - The encrypted PIN
79
- * @param {string} othentSub - The hashed Othent sub
80
- * @returns {Promise<Object>} - The API URL response
75
+ /**
76
+ * Get API URL for data requests
77
+ * @param {Array} approvedRequests - The approved data requests
78
+ * @param {string} pin - The encrypted PIN
79
+ * @param {string} othentSub - The hashed Othent sub
80
+ * @returns {Promise<Object>} - The API URL response
81
81
  */
82
82
  exports.fetchAccountInfo = fetchAccountInfo;
83
83
  const getApiUrl = async (approvedRequests, pin, othentSub) => {
@@ -101,13 +101,13 @@ const getApiUrl = async (approvedRequests, pin, othentSub) => {
101
101
  }
102
102
  };
103
103
 
104
- /**
105
- * Create a new user account
106
- * @param {string} othentSub - The hashed Othent sub
107
- * @param {string} pin - The PIN
108
- * @param {Array} socialAccounts - The selected social accounts
109
- * @param {string} email - The user's email
110
- * @returns {Promise<Object>} - The account creation response
104
+ /**
105
+ * Create a new user account
106
+ * @param {string} othentSub - The hashed Othent sub
107
+ * @param {string} pin - The PIN
108
+ * @param {Array} socialAccounts - The selected social accounts
109
+ * @param {string} email - The user's email
110
+ * @returns {Promise<Object>} - The account creation response
111
111
  */
112
112
  exports.getApiUrl = getApiUrl;
113
113
  const createAccount = async (othentSub, pin, socialAccounts, email) => {
@@ -9,10 +9,10 @@ var _asyncStorage = _interopRequireDefault(require("@react-native-async-storage/
9
9
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
10
  const API_URL = 'https://api2.onairos.uk';
11
11
 
12
- /**
13
- * Get the encrypted PIN for a user
14
- * @param {string} hashedOthentSub - The hashed Othent sub
15
- * @returns {Promise<Object>} - The response containing the encrypted PIN
12
+ /**
13
+ * Get the encrypted PIN for a user
14
+ * @param {string} hashedOthentSub - The hashed Othent sub
15
+ * @returns {Promise<Object>} - The response containing the encrypted PIN
16
16
  */
17
17
  const getPin = async hashedOthentSub => {
18
18
  try {
@@ -26,10 +26,10 @@ const getPin = async hashedOthentSub => {
26
26
  }
27
27
  };
28
28
 
29
- /**
30
- * Verify a token with the Onairos API
31
- * @param {string} token - The token to verify
32
- * @returns {Promise<boolean>} - Whether the token is valid
29
+ /**
30
+ * Verify a token with the Onairos API
31
+ * @param {string} token - The token to verify
32
+ * @returns {Promise<boolean>} - Whether the token is valid
33
33
  */
34
34
  exports.getPin = getPin;
35
35
  const verifyToken = async token => {
@@ -46,11 +46,11 @@ const verifyToken = async token => {
46
46
  }
47
47
  };
48
48
 
49
- /**
50
- * Store authentication data
51
- * @param {string} token - The authentication token
52
- * @param {string} username - The username
53
- * @param {Object} othentData - The Othent user data
49
+ /**
50
+ * Store authentication data
51
+ * @param {string} token - The authentication token
52
+ * @param {string} username - The username
53
+ * @param {Object} othentData - The Othent user data
54
54
  */
55
55
  exports.verifyToken = verifyToken;
56
56
  const storeAuthData = async (token, username = null, othentData = null) => {
@@ -68,8 +68,8 @@ const storeAuthData = async (token, username = null, othentData = null) => {
68
68
  }
69
69
  };
70
70
 
71
- /**
72
- * Clear authentication data
71
+ /**
72
+ * Clear authentication data
73
73
  */
74
74
  exports.storeAuthData = storeAuthData;
75
75
  const clearAuthData = async () => {
@@ -83,9 +83,9 @@ const clearAuthData = async () => {
83
83
  }
84
84
  };
85
85
 
86
- /**
87
- * Get stored authentication data
88
- * @returns {Promise<Object>} - The stored authentication data
86
+ /**
87
+ * Get stored authentication data
88
+ * @returns {Promise<Object>} - The stored authentication data
89
89
  */
90
90
  exports.clearAuthData = clearAuthData;
91
91
  const getStoredAuthData = async () => {
@@ -6,11 +6,11 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.sha256 = exports.rsaEncrypt = exports.base64ToBuffer = void 0;
7
7
  var _reactNativeRsaNative = require("react-native-rsa-native");
8
8
  var _reactNativeCryptoJs = require("react-native-crypto-js");
9
- /**
10
- * Encrypt data using RSA
11
- * @param {string} publicKey - The RSA public key
12
- * @param {string} data - The data to encrypt
13
- * @returns {Promise<string>} - The encrypted data
9
+ /**
10
+ * Encrypt data using RSA
11
+ * @param {string} publicKey - The RSA public key
12
+ * @param {string} data - The data to encrypt
13
+ * @returns {Promise<string>} - The encrypted data
14
14
  */
15
15
  const rsaEncrypt = async (publicKey, data) => {
16
16
  try {
@@ -29,20 +29,20 @@ const rsaEncrypt = async (publicKey, data) => {
29
29
  }
30
30
  };
31
31
 
32
- /**
33
- * Hash data using SHA-256
34
- * @param {string} data - The data to hash
35
- * @returns {string} - The hashed data
32
+ /**
33
+ * Hash data using SHA-256
34
+ * @param {string} data - The data to hash
35
+ * @returns {string} - The hashed data
36
36
  */
37
37
  exports.rsaEncrypt = rsaEncrypt;
38
38
  const sha256 = data => {
39
39
  return (0, _reactNativeCryptoJs.sha256)(data).toString();
40
40
  };
41
41
 
42
- /**
43
- * Convert a base64 string to a buffer
44
- * @param {string} base64String - The base64 string to convert
45
- * @returns {ArrayBuffer} - The converted buffer
42
+ /**
43
+ * Convert a base64 string to a buffer
44
+ * @param {string} base64String - The base64 string to convert
45
+ * @returns {ArrayBuffer} - The converted buffer
46
46
  */
47
47
  exports.sha256 = sha256;
48
48
  const base64ToBuffer = base64String => {
@@ -5,11 +5,11 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.hashString = exports.getServerPublicKey = exports.encryptModelKey = void 0;
7
7
  var _api = require("../api");
8
- /**
9
- * Encrypt a model key using RSA with a public key
10
- * @param publicKey The public key to encrypt with
11
- * @param modelKey The model key to encrypt
12
- * @returns The encrypted model key
8
+ /**
9
+ * Encrypt a model key using RSA with a public key
10
+ * @param publicKey The public key to encrypt with
11
+ * @param modelKey The model key to encrypt
12
+ * @returns The encrypted model key
13
13
  */
14
14
  const encryptModelKey = (publicKey, modelKey) => {
15
15
  try {
@@ -30,9 +30,9 @@ const encryptModelKey = (publicKey, modelKey) => {
30
30
  }
31
31
  };
32
32
 
33
- /**
34
- * Get the server's public key
35
- * @returns The server's public key
33
+ /**
34
+ * Get the server's public key
35
+ * @returns The server's public key
36
36
  */
37
37
  exports.encryptModelKey = encryptModelKey;
38
38
  const getServerPublicKey = async () => {
@@ -56,10 +56,10 @@ const getServerPublicKey = async () => {
56
56
  }
57
57
  };
58
58
 
59
- /**
60
- * Hash a string using SHA-256
61
- * @param input The string to hash
62
- * @returns The hashed string
59
+ /**
60
+ * Hash a string using SHA-256
61
+ * @param input The string to hash
62
+ * @returns The hashed string
63
63
  */
64
64
  exports.getServerPublicKey = getServerPublicKey;
65
65
  const hashString = async input => {
@@ -4,14 +4,14 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.validateEventCode = exports.sortEventsByDate = exports.isEventToday = exports.isEventPast = exports.getUniqueEventTags = exports.getEventStatus = exports.getDaysUntilEvent = exports.generateSmartEventCode = exports.generateEventCode = exports.formatEventDate = exports.filterEventsBySearch = exports.calculateEventStats = void 0;
7
- /**
8
- * Event utility functions for event management
7
+ /**
8
+ * Event utility functions for event management
9
9
  */
10
10
 
11
- /**
12
- * Generate a random alphanumeric event code
13
- * @param length - Length of the code (default: 6)
14
- * @returns Random event code
11
+ /**
12
+ * Generate a random alphanumeric event code
13
+ * @param length - Length of the code (default: 6)
14
+ * @returns Random event code
15
15
  */
16
16
  const generateEventCode = (length = 6) => {
17
17
  const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
@@ -22,10 +22,10 @@ const generateEventCode = (length = 6) => {
22
22
  return result;
23
23
  };
24
24
 
25
- /**
26
- * Generate a smart event code based on the event title
27
- * @param title - Event title
28
- * @returns Smart event code
25
+ /**
26
+ * Generate a smart event code based on the event title
27
+ * @param title - Event title
28
+ * @returns Smart event code
29
29
  */
30
30
  exports.generateEventCode = generateEventCode;
31
31
  const generateSmartEventCode = title => {
@@ -63,10 +63,10 @@ const generateSmartEventCode = title => {
63
63
  return code;
64
64
  };
65
65
 
66
- /**
67
- * Validate event code format
68
- * @param code - Event code to validate
69
- * @returns Object with validation result and error message
66
+ /**
67
+ * Validate event code format
68
+ * @param code - Event code to validate
69
+ * @returns Object with validation result and error message
70
70
  */
71
71
  exports.generateSmartEventCode = generateSmartEventCode;
72
72
  const validateEventCode = code => {
@@ -100,10 +100,10 @@ const validateEventCode = code => {
100
100
  };
101
101
  };
102
102
 
103
- /**
104
- * Format event date for display
105
- * @param dateString - Date string in YYYY-MM-DD format
106
- * @returns Formatted date string
103
+ /**
104
+ * Format event date for display
105
+ * @param dateString - Date string in YYYY-MM-DD format
106
+ * @returns Formatted date string
107
107
  */
108
108
  exports.validateEventCode = validateEventCode;
109
109
  const formatEventDate = dateString => {
@@ -120,10 +120,10 @@ const formatEventDate = dateString => {
120
120
  }
121
121
  };
122
122
 
123
- /**
124
- * Check if an event is happening today
125
- * @param eventDate - Event date string
126
- * @returns True if event is today
123
+ /**
124
+ * Check if an event is happening today
125
+ * @param eventDate - Event date string
126
+ * @returns True if event is today
127
127
  */
128
128
  exports.formatEventDate = formatEventDate;
129
129
  const isEventToday = eventDate => {
@@ -136,10 +136,10 @@ const isEventToday = eventDate => {
136
136
  }
137
137
  };
138
138
 
139
- /**
140
- * Check if an event is in the past
141
- * @param eventDate - Event date string
142
- * @returns True if event is in the past
139
+ /**
140
+ * Check if an event is in the past
141
+ * @param eventDate - Event date string
142
+ * @returns True if event is in the past
143
143
  */
144
144
  exports.isEventToday = isEventToday;
145
145
  const isEventPast = eventDate => {
@@ -156,11 +156,11 @@ const isEventPast = eventDate => {
156
156
  }
157
157
  };
158
158
 
159
- /**
160
- * Get event status based on date and active status
161
- * @param eventDate - Event date string
162
- * @param isActive - Whether event is active
163
- * @returns Event status string
159
+ /**
160
+ * Get event status based on date and active status
161
+ * @param eventDate - Event date string
162
+ * @param isActive - Whether event is active
163
+ * @returns Event status string
164
164
  */
165
165
  exports.isEventPast = isEventPast;
166
166
  const getEventStatus = (eventDate, isActive) => {
@@ -176,10 +176,10 @@ const getEventStatus = (eventDate, isActive) => {
176
176
  return 'Upcoming';
177
177
  };
178
178
 
179
- /**
180
- * Calculate days until event
181
- * @param eventDate - Event date string
182
- * @returns Number of days until event (negative if past)
179
+ /**
180
+ * Calculate days until event
181
+ * @param eventDate - Event date string
182
+ * @returns Number of days until event (negative if past)
183
183
  */
184
184
  exports.getEventStatus = getEventStatus;
185
185
  const getDaysUntilEvent = eventDate => {
@@ -198,10 +198,10 @@ const getDaysUntilEvent = eventDate => {
198
198
  }
199
199
  };
200
200
 
201
- /**
202
- * Sort events by date (upcoming first, then past events)
203
- * @param events - Array of events
204
- * @returns Sorted array of events
201
+ /**
202
+ * Sort events by date (upcoming first, then past events)
203
+ * @param events - Array of events
204
+ * @returns Sorted array of events
205
205
  */
206
206
  exports.getDaysUntilEvent = getDaysUntilEvent;
207
207
  const sortEventsByDate = events => {
@@ -228,11 +228,11 @@ const sortEventsByDate = events => {
228
228
  });
229
229
  };
230
230
 
231
- /**
232
- * Filter events by search query
233
- * @param events - Array of events
234
- * @param query - Search query
235
- * @returns Filtered array of events
231
+ /**
232
+ * Filter events by search query
233
+ * @param events - Array of events
234
+ * @param query - Search query
235
+ * @returns Filtered array of events
236
236
  */
237
237
  exports.sortEventsByDate = sortEventsByDate;
238
238
  const filterEventsBySearch = (events, query) => {
@@ -246,10 +246,10 @@ const filterEventsBySearch = (events, query) => {
246
246
  });
247
247
  };
248
248
 
249
- /**
250
- * Get unique tags from events
251
- * @param events - Array of events
252
- * @returns Array of unique tags
249
+ /**
250
+ * Get unique tags from events
251
+ * @param events - Array of events
252
+ * @returns Array of unique tags
253
253
  */
254
254
  exports.filterEventsBySearch = filterEventsBySearch;
255
255
  const getUniqueEventTags = events => {
@@ -257,10 +257,10 @@ const getUniqueEventTags = events => {
257
257
  return Array.from(new Set(allTags)).sort();
258
258
  };
259
259
 
260
- /**
261
- * Calculate event statistics
262
- * @param events - Array of events
263
- * @returns Event statistics object
260
+ /**
261
+ * Calculate event statistics
262
+ * @param events - Array of events
263
+ * @returns Event statistics object
264
264
  */
265
265
  exports.getUniqueEventTags = getUniqueEventTags;
266
266
  const calculateEventStats = events => {
@@ -5,18 +5,18 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.startOnairosFlow = exports.executeOnairosFlow = void 0;
7
7
  var _platformAuthService = require("../services/platformAuthService");
8
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); } /**
9
- * Programmatic Onairos Flow
10
- *
11
- * This function executes the complete Onairos authentication and onboarding flow
12
- * that can be attached to custom buttons or called programmatically.
8
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); } /**
9
+ * Programmatic Onairos Flow
10
+ *
11
+ * This function executes the complete Onairos authentication and onboarding flow
12
+ * that can be attached to custom buttons or called programmatically.
13
13
  */
14
- /**
15
- * Execute the complete Onairos flow programmatically
16
- * This is the same logic that the OnairosButton uses internally
17
- *
18
- * @param options Configuration options for the flow
19
- * @returns Promise that resolves when flow is complete
14
+ /**
15
+ * Execute the complete Onairos flow programmatically
16
+ * This is the same logic that the OnairosButton uses internally
17
+ *
18
+ * @param options Configuration options for the flow
19
+ * @returns Promise that resolves when flow is complete
20
20
  */
21
21
  const executeOnairosFlow = async options => {
22
22
  try {
@@ -90,11 +90,11 @@ const executeOnairosFlow = async options => {
90
90
  }
91
91
  };
92
92
 
93
- /**
94
- * Simple wrapper function that matches the OnairosButton click behavior
95
- *
96
- * @param options Configuration options for the flow
97
- * @returns Promise that resolves when flow is complete
93
+ /**
94
+ * Simple wrapper function that matches the OnairosButton click behavior
95
+ *
96
+ * @param options Configuration options for the flow
97
+ * @returns Promise that resolves when flow is complete
98
98
  */
99
99
  exports.executeOnairosFlow = executeOnairosFlow;
100
100
  const startOnairosFlow = async options => {
@@ -7,15 +7,15 @@ exports.NETWORK_RETRY_OPTIONS = exports.DEFAULT_RETRY_OPTIONS = exports.API_RETR
7
7
  exports.fetchWithRetry = fetchWithRetry;
8
8
  exports.healthCheck = healthCheck;
9
9
  exports.withRetry = withRetry;
10
- /**
11
- * 🔄 Retry Helper Utility
12
- *
13
- * Provides robust retry logic with exponential backoff for network operations.
14
- * Used throughout the Onairos SDK for handling transient failures gracefully.
10
+ /**
11
+ * 🔄 Retry Helper Utility
12
+ *
13
+ * Provides robust retry logic with exponential backoff for network operations.
14
+ * Used throughout the Onairos SDK for handling transient failures gracefully.
15
15
  */
16
16
 
17
- /**
18
- * Default retry options for the Onairos SDK
17
+ /**
18
+ * Default retry options for the Onairos SDK
19
19
  */
20
20
  const DEFAULT_RETRY_OPTIONS = exports.DEFAULT_RETRY_OPTIONS = {
21
21
  maxRetries: 3,
@@ -42,11 +42,11 @@ const DEFAULT_RETRY_OPTIONS = exports.DEFAULT_RETRY_OPTIONS = {
42
42
  }
43
43
  };
44
44
 
45
- /**
46
- * Execute a function with retry logic and exponential backoff
47
- * @param fn Function to execute (should return a Promise)
48
- * @param options Retry configuration options
49
- * @returns Promise with retry result
45
+ /**
46
+ * Execute a function with retry logic and exponential backoff
47
+ * @param fn Function to execute (should return a Promise)
48
+ * @param options Retry configuration options
49
+ * @returns Promise with retry result
50
50
  */
51
51
  async function withRetry(fn, options = {}) {
52
52
  const config = {
@@ -109,8 +109,8 @@ async function withRetry(fn, options = {}) {
109
109
  };
110
110
  }
111
111
 
112
- /**
113
- * Retry configuration for API calls
112
+ /**
113
+ * Retry configuration for API calls
114
114
  */
115
115
  const API_RETRY_OPTIONS = exports.API_RETRY_OPTIONS = {
116
116
  maxRetries: 3,
@@ -156,8 +156,8 @@ const API_RETRY_OPTIONS = exports.API_RETRY_OPTIONS = {
156
156
  }
157
157
  };
158
158
 
159
- /**
160
- * Specialized retry for network/connectivity issues
159
+ /**
160
+ * Specialized retry for network/connectivity issues
161
161
  */
162
162
  const NETWORK_RETRY_OPTIONS = exports.NETWORK_RETRY_OPTIONS = {
163
163
  maxRetries: 2,
@@ -170,12 +170,12 @@ const NETWORK_RETRY_OPTIONS = exports.NETWORK_RETRY_OPTIONS = {
170
170
  }
171
171
  };
172
172
 
173
- /**
174
- * Create a retry wrapper for fetch requests
175
- * @param url Request URL
176
- * @param options Fetch options
177
- * @param retryOptions Retry configuration
178
- * @returns Promise with fetch response
173
+ /**
174
+ * Create a retry wrapper for fetch requests
175
+ * @param url Request URL
176
+ * @param options Fetch options
177
+ * @param retryOptions Retry configuration
178
+ * @returns Promise with fetch response
179
179
  */
180
180
  async function fetchWithRetry(url, options = {}, retryOptions = API_RETRY_OPTIONS) {
181
181
  const result = await withRetry(() => fetch(url, options), retryOptions);
@@ -185,11 +185,11 @@ async function fetchWithRetry(url, options = {}, retryOptions = API_RETRY_OPTION
185
185
  return result.data;
186
186
  }
187
187
 
188
- /**
189
- * Health check function with retry for testing connectivity
190
- * @param url URL to check
191
- * @param timeout Timeout in milliseconds
192
- * @returns Promise indicating if the service is reachable
188
+ /**
189
+ * Health check function with retry for testing connectivity
190
+ * @param url URL to check
191
+ * @param timeout Timeout in milliseconds
192
+ * @returns Promise indicating if the service is reachable
193
193
  */
194
194
  async function healthCheck(url, timeout = 5000) {
195
195
  const startTime = Date.now();
@@ -1,3 +1,3 @@
1
- <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <path d="M4 0.5H12C13.933 0.5 15.5 2.067 15.5 4V12C15.5 13.933 13.933 15.5 12 15.5H4C2.067 15.5 0.5 13.933 0.5 12V4C0.5 2.067 2.067 0.5 4 0.5Z" stroke="#CECFD2"/>
3
- </svg>
1
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M4 0.5H12C13.933 0.5 15.5 2.067 15.5 4V12C15.5 13.933 13.933 15.5 12 15.5H4C2.067 15.5 0.5 13.933 0.5 12V4C0.5 2.067 2.067 0.5 4 0.5Z" stroke="#CECFD2"/>
3
+ </svg>
@@ -1,19 +1,19 @@
1
- <svg width="113" height="112" viewBox="0 0 113 112" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <g filter="url(#filter0_d_197_1914)">
3
- <rect x="24.5" y="16" width="64" height="64" rx="10" fill="white" shape-rendering="crispEdges"/>
4
- <rect x="20.5" y="12" width="72" height="72" rx="14" stroke="white" stroke-opacity="0.2" stroke-width="8" shape-rendering="crispEdges"/>
5
- <path d="M46.9531 30.7881C46.9531 30.2705 46.7633 29.8564 46.3838 29.5459C46.0042 29.2354 45.5384 28.9938 44.9863 28.8213C44.4342 28.6315 43.8477 28.5021 43.2266 28.4331C42.6055 28.3641 42.0534 28.3123 41.5703 28.2778C41.4495 28.2778 41.3374 28.2692 41.2339 28.252C41.1304 28.2174 41.0786 28.1226 41.0786 27.9673C41.0786 27.8638 41.1217 27.7775 41.208 27.7085C41.2943 27.6395 41.3978 27.5877 41.5186 27.5532C41.6393 27.5015 41.7601 27.4756 41.8809 27.4756C42.0016 27.4583 42.1051 27.4497 42.1914 27.4497C42.3122 27.4497 42.571 27.4583 42.9678 27.4756C43.3646 27.4756 43.8563 27.4842 44.4429 27.5015C45.0295 27.5015 45.6764 27.5101 46.3838 27.5273C47.1084 27.5273 47.8589 27.5273 48.6353 27.5273C49.9637 27.5273 51.1024 27.5101 52.0513 27.4756C53.0174 27.4238 53.8887 27.3721 54.665 27.3203C55.4587 27.2513 56.2091 27.1995 56.9165 27.165C57.6411 27.1133 58.4175 27.0874 59.2456 27.0874C59.5734 27.0874 59.8581 27.0874 60.0996 27.0874C60.3584 27.0874 60.6172 27.0874 60.876 27.0874C61.1348 27.0874 61.4194 27.096 61.73 27.1133C62.0578 27.1133 62.446 27.1219 62.8945 27.1392C63.3604 27.1564 63.9211 27.1737 64.5767 27.1909C65.2495 27.2082 66.0604 27.234 67.0093 27.2686C67.1991 27.2858 67.363 27.3548 67.501 27.4756C67.639 27.5964 67.7253 27.7516 67.7598 27.9414C67.7943 29.1318 67.8201 30.2705 67.8374 31.3574C67.8719 32.4271 67.8892 33.5658 67.8892 34.7734C67.8892 35.0495 67.846 35.1875 67.7598 35.1875C67.7253 35.1875 67.6735 35.1789 67.6045 35.1616C67.5355 35.1444 67.4837 35.0926 67.4492 35.0063C67.3112 34.7303 67.1646 34.4284 67.0093 34.1006C66.854 33.7728 66.6901 33.445 66.5176 33.1172C66.3623 32.7721 66.1984 32.4443 66.0259 32.1338C65.8706 31.8232 65.7153 31.5558 65.5601 31.3315C65.3358 31.0037 65.0425 30.6673 64.6802 30.3223C64.3179 29.96 63.9124 29.6322 63.4639 29.3389C63.0153 29.0456 62.5322 28.804 62.0146 28.6143C61.5143 28.4245 61.014 28.3123 60.5137 28.2778C60.2031 28.2778 59.9271 28.2778 59.6855 28.2778C59.4613 28.2606 59.237 28.252 59.0127 28.252C58.7884 28.252 58.5555 28.252 58.314 28.252C58.0724 28.252 57.7878 28.252 57.46 28.252C56.7871 28.252 56.0884 28.2692 55.3638 28.3037C54.6564 28.3382 53.9663 28.4245 53.2935 28.5625C53.1382 28.597 52.9829 28.6488 52.8276 28.7178C52.6724 28.7695 52.5947 28.9076 52.5947 29.1318V45.3062C52.6292 45.5304 52.75 45.6771 52.957 45.7461C53.9404 45.6598 54.9842 45.5908 56.0884 45.5391C57.2098 45.4701 58.2622 45.4355 59.2456 45.4355C59.7287 45.401 60.16 45.2458 60.5396 44.9697C60.9364 44.6764 61.2814 44.3314 61.5747 43.9346C61.868 43.5205 62.1268 43.0719 62.3511 42.5889C62.5754 42.0885 62.7738 41.6055 62.9463 41.1396C63.1188 40.6738 63.2655 40.2598 63.3862 39.8975C63.5243 39.5179 63.6536 39.2332 63.7744 39.0435C63.8262 38.9572 63.8779 38.9054 63.9297 38.8882C63.9814 38.8709 64.1281 38.8623 64.3696 38.8623C64.4731 38.8623 64.5767 38.8882 64.6802 38.9399C64.8009 38.9744 64.8613 39.0348 64.8613 39.1211C64.8613 39.7422 64.8354 40.2943 64.7837 40.7773C64.7492 41.2604 64.7061 41.6917 64.6543 42.0713C64.6025 42.4508 64.5508 42.8045 64.499 43.1323C64.4645 43.4429 64.4473 43.7448 64.4473 44.0381V53.7168C64.4128 53.7686 64.3696 53.8117 64.3179 53.8462C64.2316 53.9325 64.1453 53.9756 64.0591 53.9756C63.9211 53.9756 63.783 53.8548 63.645 53.6133C63.5243 53.3545 63.3949 53.0353 63.2568 52.6558C63.1361 52.2762 63.0067 51.8535 62.8687 51.3877C62.7479 50.9219 62.6099 50.4647 62.4546 50.0161C62.3166 49.5675 62.1613 49.1621 61.9888 48.7998C61.8335 48.4375 61.6523 48.1701 61.4453 47.9976C61.2555 47.8423 60.9795 47.7043 60.6172 47.5835C60.2549 47.4627 59.8408 47.3678 59.375 47.2988C58.9264 47.2298 58.4434 47.1781 57.9258 47.1436C57.4082 47.0918 56.9079 47.0573 56.4248 47.04C55.959 47.0228 55.519 47.0142 55.105 47.0142C54.6909 47.0142 54.3631 47.0142 54.1216 47.0142C53.742 47.0142 53.4401 47.04 53.2158 47.0918C53.0088 47.1263 52.8449 47.2126 52.7241 47.3506C52.6206 47.4886 52.5516 47.687 52.5171 47.9458C52.4826 48.2046 52.4653 48.5583 52.4653 49.0068V59.436C52.4653 59.9364 52.4912 60.3763 52.543 60.7559C52.5947 61.1354 52.681 61.4718 52.8018 61.7651C52.9398 62.0412 53.1123 62.2913 53.3193 62.5156C53.5436 62.7227 53.811 62.9211 54.1216 63.1108C54.3631 63.2489 54.6305 63.3869 54.9238 63.5249C55.2344 63.6457 55.519 63.7061 55.7778 63.7061H59.8408C60.2376 63.7061 60.5913 63.7061 60.9019 63.7061C61.2297 63.6888 61.5575 63.6715 61.8853 63.6543C62.2131 63.6198 62.5581 63.5767 62.9204 63.5249C63.2827 63.4559 63.7054 63.3696 64.1885 63.2661C64.7061 63.1453 65.1891 62.9383 65.6377 62.645C66.0863 62.3517 66.509 61.998 66.9058 61.584C67.3198 61.1699 67.708 60.7041 68.0703 60.1865C68.4326 59.6689 68.7777 59.1255 69.1055 58.5562C69.1572 58.4699 69.2521 58.2887 69.3901 58.0127C69.5282 57.7194 69.6748 57.4951 69.8301 57.3398C69.8473 57.3053 69.8905 57.2881 69.9595 57.2881C70.0285 57.2881 70.0889 57.3485 70.1406 57.4692C70.2614 57.6935 70.3218 58.1421 70.3218 58.8149C70.3218 59.022 70.2614 59.3411 70.1406 59.7725C70.0199 60.1865 69.9163 60.5833 69.8301 60.9629C69.7438 61.2734 69.6748 61.6616 69.623 62.1274C69.5713 62.5933 69.5023 63.0505 69.416 63.499C69.3298 63.9303 69.2004 64.3013 69.0278 64.6118C68.8726 64.9224 68.6569 65.0776 68.3809 65.0776C68.2773 65.0776 68.1911 65.069 68.1221 65.0518C68.0531 65.0518 67.9927 65.0518 67.9409 65.0518C67.8892 65.0173 67.7425 65 67.501 65H48.4282C48.0314 65 47.5483 65.0086 46.979 65.0259C46.4269 65.0604 45.8662 65.0863 45.2969 65.1035C44.7275 65.138 44.1841 65.1639 43.6665 65.1812C43.1662 65.2157 42.7694 65.2329 42.4761 65.2329H41.7515C41.5617 65.2329 41.3719 65.1898 41.1821 65.1035C40.9924 65.0345 40.8975 64.9137 40.8975 64.7412C40.8975 64.5859 40.9147 64.4307 40.9492 64.2754C41.001 64.1201 41.1045 63.9993 41.2598 63.9131C41.2943 63.8958 41.3719 63.8786 41.4927 63.8613C41.6307 63.8441 41.7773 63.8268 41.9326 63.8096C42.0879 63.7923 42.2345 63.7837 42.3726 63.7837C42.5106 63.7664 42.6141 63.7578 42.6831 63.7578C43.0972 63.7233 43.4422 63.6974 43.7183 63.6802C43.9943 63.6457 44.3221 63.5594 44.7017 63.4214C45.4435 63.1971 46.0042 62.9038 46.3838 62.5415C46.7633 62.1619 46.9531 61.5667 46.9531 60.7559V30.7881Z" fill="black"/>
6
- </g>
7
- <defs>
8
- <filter id="filter0_d_197_1914" x="0.5" y="0" width="112" height="112" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
9
- <feFlood flood-opacity="0" result="BackgroundImageFix"/>
10
- <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"/>
11
- <feOffset dy="8"/>
12
- <feGaussianBlur stdDeviation="8"/>
13
- <feComposite in2="hardAlpha" operator="out"/>
14
- <feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.16 0"/>
15
- <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_197_1914"/>
16
- <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_197_1914" result="shape"/>
17
- </filter>
18
- </defs>
19
- </svg>
1
+ <svg width="113" height="112" viewBox="0 0 113 112" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g filter="url(#filter0_d_197_1914)">
3
+ <rect x="24.5" y="16" width="64" height="64" rx="10" fill="white" shape-rendering="crispEdges"/>
4
+ <rect x="20.5" y="12" width="72" height="72" rx="14" stroke="white" stroke-opacity="0.2" stroke-width="8" shape-rendering="crispEdges"/>
5
+ <path d="M46.9531 30.7881C46.9531 30.2705 46.7633 29.8564 46.3838 29.5459C46.0042 29.2354 45.5384 28.9938 44.9863 28.8213C44.4342 28.6315 43.8477 28.5021 43.2266 28.4331C42.6055 28.3641 42.0534 28.3123 41.5703 28.2778C41.4495 28.2778 41.3374 28.2692 41.2339 28.252C41.1304 28.2174 41.0786 28.1226 41.0786 27.9673C41.0786 27.8638 41.1217 27.7775 41.208 27.7085C41.2943 27.6395 41.3978 27.5877 41.5186 27.5532C41.6393 27.5015 41.7601 27.4756 41.8809 27.4756C42.0016 27.4583 42.1051 27.4497 42.1914 27.4497C42.3122 27.4497 42.571 27.4583 42.9678 27.4756C43.3646 27.4756 43.8563 27.4842 44.4429 27.5015C45.0295 27.5015 45.6764 27.5101 46.3838 27.5273C47.1084 27.5273 47.8589 27.5273 48.6353 27.5273C49.9637 27.5273 51.1024 27.5101 52.0513 27.4756C53.0174 27.4238 53.8887 27.3721 54.665 27.3203C55.4587 27.2513 56.2091 27.1995 56.9165 27.165C57.6411 27.1133 58.4175 27.0874 59.2456 27.0874C59.5734 27.0874 59.8581 27.0874 60.0996 27.0874C60.3584 27.0874 60.6172 27.0874 60.876 27.0874C61.1348 27.0874 61.4194 27.096 61.73 27.1133C62.0578 27.1133 62.446 27.1219 62.8945 27.1392C63.3604 27.1564 63.9211 27.1737 64.5767 27.1909C65.2495 27.2082 66.0604 27.234 67.0093 27.2686C67.1991 27.2858 67.363 27.3548 67.501 27.4756C67.639 27.5964 67.7253 27.7516 67.7598 27.9414C67.7943 29.1318 67.8201 30.2705 67.8374 31.3574C67.8719 32.4271 67.8892 33.5658 67.8892 34.7734C67.8892 35.0495 67.846 35.1875 67.7598 35.1875C67.7253 35.1875 67.6735 35.1789 67.6045 35.1616C67.5355 35.1444 67.4837 35.0926 67.4492 35.0063C67.3112 34.7303 67.1646 34.4284 67.0093 34.1006C66.854 33.7728 66.6901 33.445 66.5176 33.1172C66.3623 32.7721 66.1984 32.4443 66.0259 32.1338C65.8706 31.8232 65.7153 31.5558 65.5601 31.3315C65.3358 31.0037 65.0425 30.6673 64.6802 30.3223C64.3179 29.96 63.9124 29.6322 63.4639 29.3389C63.0153 29.0456 62.5322 28.804 62.0146 28.6143C61.5143 28.4245 61.014 28.3123 60.5137 28.2778C60.2031 28.2778 59.9271 28.2778 59.6855 28.2778C59.4613 28.2606 59.237 28.252 59.0127 28.252C58.7884 28.252 58.5555 28.252 58.314 28.252C58.0724 28.252 57.7878 28.252 57.46 28.252C56.7871 28.252 56.0884 28.2692 55.3638 28.3037C54.6564 28.3382 53.9663 28.4245 53.2935 28.5625C53.1382 28.597 52.9829 28.6488 52.8276 28.7178C52.6724 28.7695 52.5947 28.9076 52.5947 29.1318V45.3062C52.6292 45.5304 52.75 45.6771 52.957 45.7461C53.9404 45.6598 54.9842 45.5908 56.0884 45.5391C57.2098 45.4701 58.2622 45.4355 59.2456 45.4355C59.7287 45.401 60.16 45.2458 60.5396 44.9697C60.9364 44.6764 61.2814 44.3314 61.5747 43.9346C61.868 43.5205 62.1268 43.0719 62.3511 42.5889C62.5754 42.0885 62.7738 41.6055 62.9463 41.1396C63.1188 40.6738 63.2655 40.2598 63.3862 39.8975C63.5243 39.5179 63.6536 39.2332 63.7744 39.0435C63.8262 38.9572 63.8779 38.9054 63.9297 38.8882C63.9814 38.8709 64.1281 38.8623 64.3696 38.8623C64.4731 38.8623 64.5767 38.8882 64.6802 38.9399C64.8009 38.9744 64.8613 39.0348 64.8613 39.1211C64.8613 39.7422 64.8354 40.2943 64.7837 40.7773C64.7492 41.2604 64.7061 41.6917 64.6543 42.0713C64.6025 42.4508 64.5508 42.8045 64.499 43.1323C64.4645 43.4429 64.4473 43.7448 64.4473 44.0381V53.7168C64.4128 53.7686 64.3696 53.8117 64.3179 53.8462C64.2316 53.9325 64.1453 53.9756 64.0591 53.9756C63.9211 53.9756 63.783 53.8548 63.645 53.6133C63.5243 53.3545 63.3949 53.0353 63.2568 52.6558C63.1361 52.2762 63.0067 51.8535 62.8687 51.3877C62.7479 50.9219 62.6099 50.4647 62.4546 50.0161C62.3166 49.5675 62.1613 49.1621 61.9888 48.7998C61.8335 48.4375 61.6523 48.1701 61.4453 47.9976C61.2555 47.8423 60.9795 47.7043 60.6172 47.5835C60.2549 47.4627 59.8408 47.3678 59.375 47.2988C58.9264 47.2298 58.4434 47.1781 57.9258 47.1436C57.4082 47.0918 56.9079 47.0573 56.4248 47.04C55.959 47.0228 55.519 47.0142 55.105 47.0142C54.6909 47.0142 54.3631 47.0142 54.1216 47.0142C53.742 47.0142 53.4401 47.04 53.2158 47.0918C53.0088 47.1263 52.8449 47.2126 52.7241 47.3506C52.6206 47.4886 52.5516 47.687 52.5171 47.9458C52.4826 48.2046 52.4653 48.5583 52.4653 49.0068V59.436C52.4653 59.9364 52.4912 60.3763 52.543 60.7559C52.5947 61.1354 52.681 61.4718 52.8018 61.7651C52.9398 62.0412 53.1123 62.2913 53.3193 62.5156C53.5436 62.7227 53.811 62.9211 54.1216 63.1108C54.3631 63.2489 54.6305 63.3869 54.9238 63.5249C55.2344 63.6457 55.519 63.7061 55.7778 63.7061H59.8408C60.2376 63.7061 60.5913 63.7061 60.9019 63.7061C61.2297 63.6888 61.5575 63.6715 61.8853 63.6543C62.2131 63.6198 62.5581 63.5767 62.9204 63.5249C63.2827 63.4559 63.7054 63.3696 64.1885 63.2661C64.7061 63.1453 65.1891 62.9383 65.6377 62.645C66.0863 62.3517 66.509 61.998 66.9058 61.584C67.3198 61.1699 67.708 60.7041 68.0703 60.1865C68.4326 59.6689 68.7777 59.1255 69.1055 58.5562C69.1572 58.4699 69.2521 58.2887 69.3901 58.0127C69.5282 57.7194 69.6748 57.4951 69.8301 57.3398C69.8473 57.3053 69.8905 57.2881 69.9595 57.2881C70.0285 57.2881 70.0889 57.3485 70.1406 57.4692C70.2614 57.6935 70.3218 58.1421 70.3218 58.8149C70.3218 59.022 70.2614 59.3411 70.1406 59.7725C70.0199 60.1865 69.9163 60.5833 69.8301 60.9629C69.7438 61.2734 69.6748 61.6616 69.623 62.1274C69.5713 62.5933 69.5023 63.0505 69.416 63.499C69.3298 63.9303 69.2004 64.3013 69.0278 64.6118C68.8726 64.9224 68.6569 65.0776 68.3809 65.0776C68.2773 65.0776 68.1911 65.069 68.1221 65.0518C68.0531 65.0518 67.9927 65.0518 67.9409 65.0518C67.8892 65.0173 67.7425 65 67.501 65H48.4282C48.0314 65 47.5483 65.0086 46.979 65.0259C46.4269 65.0604 45.8662 65.0863 45.2969 65.1035C44.7275 65.138 44.1841 65.1639 43.6665 65.1812C43.1662 65.2157 42.7694 65.2329 42.4761 65.2329H41.7515C41.5617 65.2329 41.3719 65.1898 41.1821 65.1035C40.9924 65.0345 40.8975 64.9137 40.8975 64.7412C40.8975 64.5859 40.9147 64.4307 40.9492 64.2754C41.001 64.1201 41.1045 63.9993 41.2598 63.9131C41.2943 63.8958 41.3719 63.8786 41.4927 63.8613C41.6307 63.8441 41.7773 63.8268 41.9326 63.8096C42.0879 63.7923 42.2345 63.7837 42.3726 63.7837C42.5106 63.7664 42.6141 63.7578 42.6831 63.7578C43.0972 63.7233 43.4422 63.6974 43.7183 63.6802C43.9943 63.6457 44.3221 63.5594 44.7017 63.4214C45.4435 63.1971 46.0042 62.9038 46.3838 62.5415C46.7633 62.1619 46.9531 61.5667 46.9531 60.7559V30.7881Z" fill="black"/>
6
+ </g>
7
+ <defs>
8
+ <filter id="filter0_d_197_1914" x="0.5" y="0" width="112" height="112" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
9
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
10
+ <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"/>
11
+ <feOffset dy="8"/>
12
+ <feGaussianBlur stdDeviation="8"/>
13
+ <feComposite in2="hardAlpha" operator="out"/>
14
+ <feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.16 0"/>
15
+ <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_197_1914"/>
16
+ <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_197_1914" result="shape"/>
17
+ </filter>
18
+ </defs>
19
+ </svg>