@rownd/react-native 0.2.5 → 2.2.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 (252) hide show
  1. package/LICENSE +1 -2
  2. package/README.md +34 -52
  3. package/android/build.gradle +127 -37
  4. package/android/gradle.properties +5 -0
  5. package/android/src/main/AndroidManifest.xml +1 -1
  6. package/android/src/main/java/com/reactnativerowndplugin/RowndPluginModule.kt +98 -0
  7. package/android/src/main/java/com/reactnativerowndplugin/RowndPluginPackage.kt +16 -0
  8. package/ios/{ReactNative.xcodeproj → Rownd.xcodeproj}/project.pbxproj +13 -12
  9. package/ios/RowndPlugin-Bridging-Header.h +3 -0
  10. package/ios/RowndPlugin.m +26 -0
  11. package/ios/RowndPlugin.swift +83 -0
  12. package/ios/RowndPluginEventEmitter.m +12 -0
  13. package/ios/RowndPluginEventEmitter.swift +19 -0
  14. package/lib/commonjs/components/GlobalContext.js +32 -298
  15. package/lib/commonjs/components/GlobalContext.js.map +1 -1
  16. package/lib/commonjs/components/{BottomSheetTextInput/types.js → GlobalContext.types.js} +1 -1
  17. package/lib/commonjs/components/GlobalContext.types.js.map +1 -0
  18. package/lib/commonjs/constants/action.js +13 -0
  19. package/lib/commonjs/constants/action.js.map +1 -0
  20. package/lib/commonjs/hooks/rownd.js +15 -146
  21. package/lib/commonjs/hooks/rownd.js.map +1 -1
  22. package/lib/commonjs/index.js +2 -12
  23. package/lib/commonjs/index.js.map +1 -1
  24. package/lib/commonjs/reducer/rowndReducer.js +89 -0
  25. package/lib/commonjs/reducer/rowndReducer.js.map +1 -0
  26. package/lib/commonjs/utils/config.js +0 -26
  27. package/lib/commonjs/utils/config.js.map +1 -1
  28. package/lib/commonjs/utils/nativeModule.js +72 -0
  29. package/lib/commonjs/utils/nativeModule.js.map +1 -0
  30. package/lib/module/components/GlobalContext.js +30 -293
  31. package/lib/module/components/GlobalContext.js.map +1 -1
  32. package/lib/module/components/GlobalContext.types.js +2 -0
  33. package/lib/module/components/GlobalContext.types.js.map +1 -0
  34. package/lib/module/constants/action.js +6 -0
  35. package/lib/module/constants/action.js.map +1 -0
  36. package/lib/module/hooks/rownd.js +12 -137
  37. package/lib/module/hooks/rownd.js.map +1 -1
  38. package/lib/module/index.js +2 -4
  39. package/lib/module/index.js.map +1 -1
  40. package/lib/module/reducer/rowndReducer.js +78 -0
  41. package/lib/module/reducer/rowndReducer.js.map +1 -0
  42. package/lib/module/utils/config.js +1 -16
  43. package/lib/module/utils/config.js.map +1 -1
  44. package/lib/module/utils/nativeModule.js +48 -0
  45. package/lib/module/utils/nativeModule.js.map +1 -0
  46. package/lib/typescript/components/GlobalContext.d.ts +13 -0
  47. package/lib/typescript/{src/components/GlobalContext.d.ts → components/GlobalContext.types.d.ts} +9 -35
  48. package/lib/typescript/constants/action.d.ts +7 -0
  49. package/lib/typescript/{src/hooks → hooks}/rownd.d.ts +10 -13
  50. package/lib/typescript/index.d.ts +3 -0
  51. package/lib/typescript/reducer/rowndReducer.d.ts +4 -0
  52. package/lib/typescript/utils/config.d.ts +10 -0
  53. package/lib/typescript/utils/nativeModule.d.ts +10 -0
  54. package/package.json +36 -56
  55. package/rownd-react-native.podspec +36 -0
  56. package/src/components/GlobalContext.tsx +47 -457
  57. package/src/components/GlobalContext.types.ts +105 -0
  58. package/src/constants/action.ts +8 -0
  59. package/src/hooks/rownd.ts +29 -147
  60. package/src/index.tsx +2 -4
  61. package/src/reducer/rowndReducer.ts +78 -0
  62. package/src/utils/config.ts +0 -27
  63. package/src/utils/nativeModule.ts +69 -0
  64. package/android/src/main/java/com/reactnative/ReactNativePackage.java +0 -22
  65. package/android/src/main/java/com/reactnative/ReactNativeViewManager.java +0 -31
  66. package/ios/ReactNativeViewManager.m +0 -34
  67. package/lib/commonjs/assets/images/checkmark--filled.svg +0 -12
  68. package/lib/commonjs/assets/images/email-verify-waiting.svg +0 -36
  69. package/lib/commonjs/assets/images/error-icon-material.svg +0 -1
  70. package/lib/commonjs/assets/images/phone-verify-waiting.svg +0 -26
  71. package/lib/commonjs/components/AuthenticatedComponent.js +0 -35
  72. package/lib/commonjs/components/AuthenticatedComponent.js.map +0 -1
  73. package/lib/commonjs/components/AutoSigninDialog.js +0 -132
  74. package/lib/commonjs/components/AutoSigninDialog.js.map +0 -1
  75. package/lib/commonjs/components/BottomSheetTextInput/BottomSheetTextInput.js +0 -65
  76. package/lib/commonjs/components/BottomSheetTextInput/BottomSheetTextInput.js.map +0 -1
  77. package/lib/commonjs/components/BottomSheetTextInput/index.js +0 -24
  78. package/lib/commonjs/components/BottomSheetTextInput/index.js.map +0 -1
  79. package/lib/commonjs/components/BottomSheetTextInput/types.js.map +0 -1
  80. package/lib/commonjs/components/DarkText.js +0 -35
  81. package/lib/commonjs/components/DarkText.js.map +0 -1
  82. package/lib/commonjs/components/DefaultContext.js +0 -266
  83. package/lib/commonjs/components/DefaultContext.js.map +0 -1
  84. package/lib/commonjs/components/RowndComponents.js +0 -25
  85. package/lib/commonjs/components/RowndComponents.js.map +0 -1
  86. package/lib/commonjs/components/RowndProvider.js +0 -55
  87. package/lib/commonjs/components/RowndProvider.js.map +0 -1
  88. package/lib/commonjs/components/SignIn.js +0 -644
  89. package/lib/commonjs/components/SignIn.js.map +0 -1
  90. package/lib/commonjs/components/images/CheckmarkFilled.js +0 -40
  91. package/lib/commonjs/components/images/CheckmarkFilled.js.map +0 -1
  92. package/lib/commonjs/components/images/EmailVerifyWaiting.js +0 -100
  93. package/lib/commonjs/components/images/EmailVerifyWaiting.js.map +0 -1
  94. package/lib/commonjs/components/images/ErrorIcon.js +0 -31
  95. package/lib/commonjs/components/images/ErrorIcon.js.map +0 -1
  96. package/lib/commonjs/components/images/PhoneVerifyWaiting.js +0 -91
  97. package/lib/commonjs/components/images/PhoneVerifyWaiting.js.map +0 -1
  98. package/lib/commonjs/data/actions.js +0 -26
  99. package/lib/commonjs/data/actions.js.map +0 -1
  100. package/lib/commonjs/hooks/api.js +0 -155
  101. package/lib/commonjs/hooks/api.js.map +0 -1
  102. package/lib/commonjs/hooks/debounce.js +0 -38
  103. package/lib/commonjs/hooks/debounce.js.map +0 -1
  104. package/lib/commonjs/hooks/fingerprint.js +0 -176
  105. package/lib/commonjs/hooks/fingerprint.js.map +0 -1
  106. package/lib/commonjs/hooks/index.js +0 -48
  107. package/lib/commonjs/hooks/index.js.map +0 -1
  108. package/lib/commonjs/hooks/interval.js +0 -31
  109. package/lib/commonjs/hooks/interval.js.map +0 -1
  110. package/lib/commonjs/hooks/nav.js +0 -39
  111. package/lib/commonjs/hooks/nav.js.map +0 -1
  112. package/lib/commonjs/index.tsx.bak +0 -26
  113. package/lib/commonjs/types.js +0 -2
  114. package/lib/commonjs/types.js.map +0 -1
  115. package/lib/commonjs/utils/events.js +0 -57
  116. package/lib/commonjs/utils/events.js.map +0 -1
  117. package/lib/commonjs/utils/form.js +0 -46
  118. package/lib/commonjs/utils/form.js.map +0 -1
  119. package/lib/commonjs/utils/queue.js +0 -117
  120. package/lib/commonjs/utils/queue.js.map +0 -1
  121. package/lib/commonjs/utils/storage.js +0 -15
  122. package/lib/commonjs/utils/storage.js.map +0 -1
  123. package/lib/commonjs/utils/tokens.js +0 -35
  124. package/lib/commonjs/utils/tokens.js.map +0 -1
  125. package/lib/commonjs/utils/user-data.js +0 -21
  126. package/lib/commonjs/utils/user-data.js.map +0 -1
  127. package/lib/module/assets/images/checkmark--filled.svg +0 -12
  128. package/lib/module/assets/images/email-verify-waiting.svg +0 -36
  129. package/lib/module/assets/images/error-icon-material.svg +0 -1
  130. package/lib/module/assets/images/phone-verify-waiting.svg +0 -26
  131. package/lib/module/components/AuthenticatedComponent.js +0 -24
  132. package/lib/module/components/AuthenticatedComponent.js.map +0 -1
  133. package/lib/module/components/AutoSigninDialog.js +0 -110
  134. package/lib/module/components/AutoSigninDialog.js.map +0 -1
  135. package/lib/module/components/BottomSheetTextInput/BottomSheetTextInput.js +0 -52
  136. package/lib/module/components/BottomSheetTextInput/BottomSheetTextInput.js.map +0 -1
  137. package/lib/module/components/BottomSheetTextInput/index.js +0 -5
  138. package/lib/module/components/BottomSheetTextInput/index.js.map +0 -1
  139. package/lib/module/components/BottomSheetTextInput/types.js +0 -2
  140. package/lib/module/components/BottomSheetTextInput/types.js.map +0 -1
  141. package/lib/module/components/DarkText.js +0 -24
  142. package/lib/module/components/DarkText.js.map +0 -1
  143. package/lib/module/components/DefaultContext.js +0 -244
  144. package/lib/module/components/DefaultContext.js.map +0 -1
  145. package/lib/module/components/RowndComponents.js +0 -12
  146. package/lib/module/components/RowndComponents.js.map +0 -1
  147. package/lib/module/components/RowndProvider.js +0 -39
  148. package/lib/module/components/RowndProvider.js.map +0 -1
  149. package/lib/module/components/SignIn.js +0 -616
  150. package/lib/module/components/SignIn.js.map +0 -1
  151. package/lib/module/components/images/CheckmarkFilled.js +0 -27
  152. package/lib/module/components/images/CheckmarkFilled.js.map +0 -1
  153. package/lib/module/components/images/EmailVerifyWaiting.js +0 -87
  154. package/lib/module/components/images/EmailVerifyWaiting.js.map +0 -1
  155. package/lib/module/components/images/ErrorIcon.js +0 -18
  156. package/lib/module/components/images/ErrorIcon.js.map +0 -1
  157. package/lib/module/components/images/PhoneVerifyWaiting.js +0 -78
  158. package/lib/module/components/images/PhoneVerifyWaiting.js.map +0 -1
  159. package/lib/module/data/actions.js +0 -19
  160. package/lib/module/data/actions.js.map +0 -1
  161. package/lib/module/hooks/api.js +0 -135
  162. package/lib/module/hooks/api.js.map +0 -1
  163. package/lib/module/hooks/debounce.js +0 -29
  164. package/lib/module/hooks/debounce.js.map +0 -1
  165. package/lib/module/hooks/fingerprint.js +0 -157
  166. package/lib/module/hooks/fingerprint.js.map +0 -1
  167. package/lib/module/hooks/index.js +0 -7
  168. package/lib/module/hooks/index.js.map +0 -1
  169. package/lib/module/hooks/interval.js +0 -23
  170. package/lib/module/hooks/interval.js.map +0 -1
  171. package/lib/module/hooks/nav.js +0 -30
  172. package/lib/module/hooks/nav.js.map +0 -1
  173. package/lib/module/index.tsx.bak +0 -26
  174. package/lib/module/types.js +0 -2
  175. package/lib/module/types.js.map +0 -1
  176. package/lib/module/utils/events.js +0 -45
  177. package/lib/module/utils/events.js.map +0 -1
  178. package/lib/module/utils/form.js +0 -34
  179. package/lib/module/utils/form.js.map +0 -1
  180. package/lib/module/utils/queue.js +0 -109
  181. package/lib/module/utils/queue.js.map +0 -1
  182. package/lib/module/utils/storage.js +0 -6
  183. package/lib/module/utils/storage.js.map +0 -1
  184. package/lib/module/utils/tokens.js +0 -24
  185. package/lib/module/utils/tokens.js.map +0 -1
  186. package/lib/module/utils/user-data.js +0 -14
  187. package/lib/module/utils/user-data.js.map +0 -1
  188. package/lib/package.json +0 -173
  189. package/lib/typescript/src/components/AuthenticatedComponent.d.ts +0 -7
  190. package/lib/typescript/src/components/AutoSigninDialog.d.ts +0 -2
  191. package/lib/typescript/src/components/BottomSheetTextInput/BottomSheetTextInput.d.ts +0 -4
  192. package/lib/typescript/src/components/BottomSheetTextInput/index.d.ts +0 -2
  193. package/lib/typescript/src/components/BottomSheetTextInput/types.d.ts +0 -3
  194. package/lib/typescript/src/components/DarkText.d.ts +0 -3
  195. package/lib/typescript/src/components/DefaultContext.d.ts +0 -12
  196. package/lib/typescript/src/components/RowndComponents.d.ts +0 -2
  197. package/lib/typescript/src/components/RowndProvider.d.ts +0 -8
  198. package/lib/typescript/src/components/SignIn.d.ts +0 -2
  199. package/lib/typescript/src/components/images/CheckmarkFilled.d.ts +0 -4
  200. package/lib/typescript/src/components/images/EmailVerifyWaiting.d.ts +0 -4
  201. package/lib/typescript/src/components/images/ErrorIcon.d.ts +0 -4
  202. package/lib/typescript/src/components/images/PhoneVerifyWaiting.d.ts +0 -4
  203. package/lib/typescript/src/data/actions.d.ts +0 -20
  204. package/lib/typescript/src/hooks/api.d.ts +0 -12
  205. package/lib/typescript/src/hooks/debounce.d.ts +0 -5
  206. package/lib/typescript/src/hooks/fingerprint.d.ts +0 -12
  207. package/lib/typescript/src/hooks/index.d.ts +0 -6
  208. package/lib/typescript/src/hooks/interval.d.ts +0 -2
  209. package/lib/typescript/src/hooks/nav.d.ts +0 -6
  210. package/lib/typescript/src/index.d.ts +0 -4
  211. package/lib/typescript/src/types.d.ts +0 -26
  212. package/lib/typescript/src/utils/config.d.ts +0 -18
  213. package/lib/typescript/src/utils/events.d.ts +0 -22
  214. package/lib/typescript/src/utils/form.d.ts +0 -18
  215. package/lib/typescript/src/utils/queue.d.ts +0 -21
  216. package/lib/typescript/src/utils/storage.d.ts +0 -3
  217. package/lib/typescript/src/utils/tokens.d.ts +0 -4
  218. package/lib/typescript/src/utils/user-data.d.ts +0 -3
  219. package/react-native.podspec +0 -19
  220. package/src/assets/images/checkmark--filled.svg +0 -12
  221. package/src/assets/images/email-verify-waiting.svg +0 -36
  222. package/src/assets/images/error-icon-material.svg +0 -1
  223. package/src/assets/images/phone-verify-waiting.svg +0 -26
  224. package/src/components/AuthenticatedComponent.tsx +0 -30
  225. package/src/components/AutoSigninDialog.tsx +0 -131
  226. package/src/components/BottomSheetTextInput/BottomSheetTextInput.tsx +0 -57
  227. package/src/components/BottomSheetTextInput/index.ts +0 -5
  228. package/src/components/BottomSheetTextInput/types.ts +0 -3
  229. package/src/components/DarkText.tsx +0 -16
  230. package/src/components/DefaultContext.tsx +0 -278
  231. package/src/components/RowndComponents.tsx +0 -18
  232. package/src/components/RowndProvider.tsx +0 -56
  233. package/src/components/SignIn.tsx +0 -797
  234. package/src/components/images/CheckmarkFilled.tsx +0 -30
  235. package/src/components/images/EmailVerifyWaiting.tsx +0 -95
  236. package/src/components/images/ErrorIcon.tsx +0 -11
  237. package/src/components/images/PhoneVerifyWaiting.tsx +0 -74
  238. package/src/data/actions.ts +0 -21
  239. package/src/hooks/api.ts +0 -162
  240. package/src/hooks/debounce.ts +0 -36
  241. package/src/hooks/fingerprint.ts +0 -217
  242. package/src/hooks/index.ts +0 -7
  243. package/src/hooks/interval.ts +0 -25
  244. package/src/hooks/nav.tsx +0 -29
  245. package/src/index.tsx.bak +0 -26
  246. package/src/types.ts +0 -27
  247. package/src/utils/events.ts +0 -54
  248. package/src/utils/form.tsx +0 -64
  249. package/src/utils/queue.ts +0 -75
  250. package/src/utils/storage.ts +0 -7
  251. package/src/utils/tokens.ts +0 -26
  252. package/src/utils/user-data.ts +0 -15
@@ -1 +0,0 @@
1
- {"version":3,"names":["LoginStep","LoginVerificationStatus","SignIn","navTo","useNav","getFingerprint","getChallengeIfPresent","clearFingerprint","useDeviceFingerprint","state","dispatch","useGlobalContext","config","nav","app","user","decodedAccessToken","auth","access_token","jwt_decode","userIdentifier","setUserIdentifier","useState","fieldError","setFieldError","step","setStep","SUCCESS","INIT","error","setError","allowedIdentifiers","useMemo","requestId","setRequestId","loginPollStart","setLoginPollStart","isSubmitting","setIsSubmitting","loginType","setLoginType","_phoneDetails","setPhoneDetails","isValidUserIdentifier","setIsValidUserIdentifier","requiresAdditionalFields","setRequiresAdditionalFields","options","init_data","bottomSheetModalRef","useRef","useEffect","current","present","addlFieldInit","useCallback","currentState","addlFields","hub","additional_fields","addlInputs","default_values","newState","length","field","name","value","fieldReducer","action","console","log","type","payload","addlFieldValues","addlFieldDispatch","useReducer","client","api","useApi","validateEmail","email","re","isValid","test","String","toLowerCase","isValidPhone","phoneResult","phone","phoneNumber","isValidEmail","emailAtIdx","indexOf","emailSuffixIdx","substring","validateInput","validations","includes","push","some","fn","pollLoginStatus","resp","post","headers","appKey","json","challenge_id","err","status","Error","code","PENDING","ActionType","LOGIN_SUCCESS","differenceInMinutes","Date","now","ERROR","FAILURE","useInterval","WAITING","post_login_redirect","postLoginUrl","Linking","openURL","CHANGE_ROUTE","route","is_verified_user","initSignIn","return_url","user_data","Object","values","data","f","undefined","default_user_id_format","user_id","fingerprint","challengeEntry","id","hash","visitorId","challenge","auth_tokens","app_id","response","message","launchRowndWebsite","handleAddlFieldChange","evt","target","handleClose","setTimeout","hide","snapPoints","renderBackdrop","cbProps","extraBottomSheetProps","bottomSheetMeta","version","startsWith","keyboardBehavior","android_keyboardInputMode","enablePanDownToClose","styles","bottomSheet","innerContainer","show_app_icon","icon","icon_content_type","appLogo","uri","dialogHeading","inputLabel","identifierInput","text","trim","map","renderField","button","buttonDisabled","buttonSubmitting","buttonText","buttonContent","buttonDisabledText","loadingIndicator","signInNoticeText","py6","italic","link","signInVerificationImage","textBase","textRose800","StyleSheet","create","modal","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","borderRadius","borderColor","borderWidth","padding","container","flex","header","alignItems","backgroundColor","paddingVertical","borderTopLeftRadius","borderTopRightRadius","panelHandle","resizeMode","textAlign","marginLeft","marginRight","marginBottom","fontSize","marginTop","color","display","justifyContent","buttonPressed","opacity","buttonTextInner","fontStyle","lineHeight"],"sources":["SignIn.tsx"],"sourcesContent":["import React, {\n useCallback,\n useEffect,\n useMemo,\n useReducer,\n useRef,\n useState,\n} from 'react';\nimport { differenceInMinutes } from 'date-fns';\nimport {\n View,\n StyleSheet,\n TouchableOpacity,\n Image,\n ActivityIndicator,\n Linking,\n Text,\n} from 'react-native';\n// import Text from './DarkText';\nimport { SvgCssUri } from 'react-native-svg';\nimport phone, { PhoneResult } from 'phone';\nimport jwt_decode from 'jwt-decode';\nimport {\n BottomSheetBackdrop,\n BottomSheetBackdropProps,\n BottomSheetModal,\n} from '@gorhom/bottom-sheet';\nimport BottomSheetTextInput from './BottomSheetTextInput';\nimport bottomSheetMeta from '@gorhom/bottom-sheet/package.json';\n\nimport { useApi, useInterval, useNav, useDeviceFingerprint } from '../hooks';\nimport { useGlobalContext } from './GlobalContext';\nimport { ActionType } from '../data/actions';\nimport { renderField } from '../utils/form';\n\n// Image imports\nimport ImageEmailVerifyWaiting from './images/EmailVerifyWaiting';\nimport ImagePhoneVerifyWaiting from './images/PhoneVerifyWaiting';\nimport ImageCheckmarkFilled from './images/CheckmarkFilled';\n\nenum LoginStep {\n INIT = 'init',\n WAITING = 'waiting',\n SUCCESS = 'success',\n FAILURE = 'failure',\n ERROR = 'error',\n}\n\ntype LoginInitBody = {\n challenge_id: string;\n message: string;\n auth_tokens?: {\n access_token: string;\n refresh_token: string;\n };\n registration_status: string;\n init_data?: Record<string, any>;\n};\n\ntype LoginSuccessBody = {\n access_token: string;\n refresh_token: string;\n app_user_id: string;\n app_id: string;\n status: string;\n};\n\nenum LoginVerificationStatus {\n PENDING = 'pending',\n EXPIRED = 'expired',\n VERIFIED = 'verified',\n}\n\nexport function SignIn() {\n const navTo = useNav();\n const { getFingerprint, getChallengeIfPresent, clearFingerprint } =\n useDeviceFingerprint();\n const { state, dispatch } = useGlobalContext();\n const { config, nav, app, user } = state;\n\n let decodedAccessToken: any;\n if (state.auth.access_token) {\n decodedAccessToken = jwt_decode(state.auth.access_token);\n }\n\n const [userIdentifier, setUserIdentifier] = useState('');\n const [fieldError, setFieldError] = useState<string | null>(null);\n const [step, setStep] = useState(\n state.auth.access_token &&\n decodedAccessToken?.['https://auth.rownd.io/is_verified_user'] !== false\n ? LoginStep.SUCCESS\n : LoginStep.INIT\n );\n const [error, setError] = useState('');\n const allowedIdentifiers = useMemo(() => ['email', 'phone'], []);\n const [requestId, setRequestId] = useState<string | null>(null);\n const [loginPollStart, setLoginPollStart] = useState<number | null>(null);\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [loginType, setLoginType] = useState<'email' | 'phone' | null>(null);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [_phoneDetails, setPhoneDetails] = useState<PhoneResult | null>(null); // TODO: For parity with web, need to use `phoneDetails` to update the input visuals\n const [isValidUserIdentifier, setIsValidUserIdentifier] = useState(false);\n const [requiresAdditionalFields, setRequiresAdditionalFields] = useState(\n nav?.options?.init_data\n );\n\n const bottomSheetModalRef = useRef<BottomSheetModal>(null);\n useEffect(() => {\n if (bottomSheetModalRef.current) {\n bottomSheetModalRef.current.present();\n }\n }, []);\n\n const addlFieldInit = useCallback(\n (currentState: Record<string, string>) => {\n const addlFields = app?.config?.hub?.auth?.additional_fields;\n const addlInputs =\n nav?.options?.init_data || nav?.options?.default_values || {};\n\n const newState: Record<string, string> = {};\n if (addlFields?.length) {\n for (const field of addlFields) {\n if (field?.options) {\n newState[field.name] =\n addlInputs?.[field.name] || field.options[0].value;\n }\n }\n }\n\n return {\n ...currentState,\n ...newState,\n };\n },\n [\n app?.config?.hub?.auth?.additional_fields,\n nav?.options?.default_values,\n nav?.options?.init_data,\n ]\n );\n\n const fieldReducer = useCallback(\n (\n currentState: any,\n action: { type: string; payload?: Record<string, string> }\n ) => {\n console.log('fieldReducer', action);\n switch (action.type) {\n case 'reset':\n return addlFieldInit(currentState);\n\n default:\n return {\n ...currentState,\n ...action.payload,\n };\n }\n },\n [addlFieldInit]\n );\n\n const [addlFieldValues, addlFieldDispatch] = useReducer(\n fieldReducer,\n {},\n addlFieldInit\n );\n\n const { client: api } = useApi();\n\n function validateEmail(email: string): boolean {\n const re =\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n const isValid = re.test(String(email).toLowerCase());\n\n if (!isValid) {\n setFieldError('Invalid email address');\n return false;\n }\n\n setFieldError(null);\n return true;\n }\n\n const isValidPhone = useCallback((): boolean => {\n const phoneResult = phone(userIdentifier);\n if (!phoneResult.isValid) {\n setLoginType(null);\n setPhoneDetails(null);\n return false;\n }\n\n setLoginType('phone');\n setPhoneDetails(phoneResult);\n setUserIdentifier(phoneResult.phoneNumber);\n return true;\n }, [userIdentifier]);\n\n const isValidEmail = useCallback((): boolean => {\n const emailAtIdx = userIdentifier?.indexOf('@');\n const emailSuffixIdx = userIdentifier?.substring(emailAtIdx).indexOf('.');\n if (\n emailAtIdx > 0 &&\n emailSuffixIdx > 0 &&\n userIdentifier?.substring(emailAtIdx + emailSuffixIdx).length >= 3\n ) {\n return validateEmail(userIdentifier);\n }\n\n return false;\n }, [userIdentifier]);\n\n const validateInput = useCallback(() => {\n const validations = [];\n if (allowedIdentifiers.includes('phone')) {\n validations.push(isValidPhone);\n }\n\n if (allowedIdentifiers.includes('email')) {\n validations.push(isValidEmail);\n }\n\n if (!validations.some((fn) => fn())) {\n setIsValidUserIdentifier(false);\n } else {\n setIsValidUserIdentifier(true);\n }\n }, [allowedIdentifiers, isValidEmail, isValidPhone]);\n\n // Fire validation as data changes in field\n useEffect(validateInput, [validateInput]);\n\n const pollLoginStatus = useCallback(async () => {\n try {\n const resp: LoginSuccessBody = await api\n .post(`hub/auth/challenge_status`, {\n headers: {\n 'x-rownd-app-key': config?.appKey,\n },\n json: {\n challenge_id: requestId,\n [loginType === 'phone' ? 'phone' : 'email']: userIdentifier,\n },\n })\n .json();\n\n let err: any;\n switch (resp.status) {\n case 'pending':\n err = new Error('Login challenge is still pending');\n err.code = LoginVerificationStatus.PENDING;\n throw err;\n\n case 'expired':\n err = new Error('Login challenge is still pending');\n err.code = LoginVerificationStatus.PENDING;\n throw err;\n\n case 'verified':\n break;\n\n default:\n err = new Error('Unknown login challenge status');\n throw err;\n }\n\n dispatch({\n type: ActionType.LOGIN_SUCCESS,\n payload: resp,\n });\n\n setStep(LoginStep.SUCCESS);\n } catch (err: any) {\n // logger.log('login poll error', err);\n\n // If network error, try again up to 1 minute, else fail\n if (!err.code && differenceInMinutes(Date.now(), loginPollStart!) > 0) {\n setStep(LoginStep.ERROR);\n setError('Network error. Please try again later.');\n return;\n }\n\n // If request expires, then fail (assume > 6 mins is a failure/expiration)\n if (\n (err.status || err.code) &&\n differenceInMinutes(Date.now(), loginPollStart!) > 6\n ) {\n setStep(LoginStep.ERROR);\n setError('The sign in request expired.');\n return;\n }\n\n if (err.status && err.status >= 400) {\n setStep(LoginStep.FAILURE);\n setError('Sign in unsuccessful.');\n }\n }\n }, [\n api,\n config?.appKey,\n dispatch,\n loginPollStart,\n loginType,\n requestId,\n userIdentifier,\n ]);\n\n // Polling when a login flow is in progress\n useInterval(pollLoginStatus, step === LoginStep.WAITING ? 5000 : null);\n\n // login polling manager\n useEffect(() => {\n if (step === LoginStep.SUCCESS) {\n if (nav?.options?.post_login_redirect || state.config?.postLoginUrl) {\n Linking.openURL(\n nav?.options?.post_login_redirect || state.config?.postLoginUrl\n );\n }\n\n dispatch({\n type: ActionType.CHANGE_ROUTE,\n payload: {\n route: '/',\n },\n });\n\n // Reset modal state if this user is unverified, since we'll need to re-submit at some point\n if (!state.auth.is_verified_user) {\n setStep(LoginStep.INIT);\n }\n }\n }, [\n dispatch,\n nav?.options?.post_login_redirect,\n pollLoginStatus,\n state.auth.is_verified_user,\n state.config?.postLoginUrl,\n step,\n ]);\n\n const initSignIn = useCallback(async () => {\n if (step === LoginStep.WAITING) {\n return;\n }\n\n // Validation\n if (fieldError) {\n return;\n }\n\n const payload = {\n [loginType === 'phone' ? 'phone' : 'email']: userIdentifier,\n return_url:\n nav?.options?.post_login_redirect || state.config?.postLoginUrl,\n user_data: Object.values(user.data).some(\n (f) => f !== null && f !== undefined\n )\n ? user.data\n : {}, // Include user.data if at least one field is defined\n };\n\n // Set the user_id to the application's default user id format if it is defined\n if (app.config?.default_user_id_format) {\n payload.user_id = app.config?.default_user_id_format;\n }\n\n if (requiresAdditionalFields) {\n payload.user_data = {\n ...payload.user_data,\n ...addlFieldValues,\n };\n }\n\n // Submission\n try {\n setIsSubmitting(true);\n\n // Get the browser fingerprint for future sign-ins that don't require re-verification\n const fingerprint = await getFingerprint();\n const challengeEntry = await getChallengeIfPresent(app.id, [\n userIdentifier,\n ]);\n payload.fingerprint = {\n hash: fingerprint.visitorId,\n challenge: challengeEntry?.value,\n };\n\n const resp: LoginInitBody = await api\n .post('hub/auth/init', {\n headers: {\n 'x-rownd-app-key': config?.appKey,\n },\n json: payload,\n })\n .json();\n\n // This will only be true when a user is signing in for the very first time and\n // the app allows unverified users OR the user was successfully fingerprinted.\n if (resp.auth_tokens) {\n dispatch({\n type: ActionType.LOGIN_SUCCESS,\n payload: {\n ...resp.auth_tokens,\n app_id: app.id,\n },\n });\n\n setStep(LoginStep.SUCCESS);\n return;\n } else if (payload?.fingerprint?.challenge) {\n // The fingerprint is probably expired, so delete the challenge for re-registration\n try {\n clearFingerprint(payload.fingerprint.challenge);\n } catch (err) {\n // no-op, but not likely to throw anyway\n }\n }\n\n setRequestId(resp.challenge_id);\n setStep(LoginStep.WAITING);\n setLoginPollStart(Date.now());\n } catch (err: any) {\n // logger.error(err);\n\n if (err.response.status === 400) {\n setStep(LoginStep.INIT);\n setRequiresAdditionalFields(true);\n return;\n }\n\n setStep(LoginStep.ERROR);\n setError(err.message);\n } finally {\n setIsSubmitting(false);\n }\n }, [\n step,\n fieldError,\n loginType,\n userIdentifier,\n nav?.options?.post_login_redirect,\n state.config?.postLoginUrl,\n user.data,\n app.config?.default_user_id_format,\n app.id,\n requiresAdditionalFields,\n addlFieldValues,\n getFingerprint,\n getChallengeIfPresent,\n api,\n config?.appKey,\n dispatch,\n clearFingerprint,\n ]);\n\n const launchRowndWebsite = () => {\n Linking.openURL('https://rownd.io');\n };\n\n const handleAddlFieldChange = (evt: Event) => {\n const target = evt.target as HTMLInputElement;\n const { value, name } = target;\n\n addlFieldDispatch({\n type: 'default',\n payload: {\n [name]: value,\n },\n });\n };\n\n const handleClose = useCallback(() => {\n setTimeout(() => {\n navTo({ hide: true });\n }, 150);\n }, [navTo]);\n\n const snapPoints = useMemo(() => ['25%', '70%'], []);\n\n const renderBackdrop = useCallback(\n (cbProps: BottomSheetBackdropProps) => (\n <BottomSheetBackdrop {...cbProps} pressBehavior=\"close\" />\n ),\n []\n );\n\n let extraBottomSheetProps: any = {};\n if (bottomSheetMeta.version.startsWith('4')) {\n extraBottomSheetProps.keyboardBehavior = 'fillParent';\n extraBottomSheetProps.android_keyboardInputMode = 'adjustResize';\n extraBottomSheetProps.enablePanDownToClose =\n state?.nav?.options?.type === 'error';\n }\n\n return (\n <BottomSheetModal\n snapPoints={snapPoints}\n index={1}\n backdropComponent={renderBackdrop}\n onDismiss={handleClose}\n style={styles.bottomSheet}\n ref={bottomSheetModalRef}\n {...extraBottomSheetProps}\n >\n <View style={styles.innerContainer}>\n {step === LoginStep.INIT && (\n <>\n {app?.config?.hub?.auth?.show_app_icon &&\n app?.icon &&\n (app.icon_content_type === 'image/svg+xml' ? (\n <SvgCssUri uri={app.icon} style={styles.appLogo} />\n ) : (\n <Image style={styles.appLogo} source={{ uri: app.icon }} />\n ))}\n <Text style={styles.dialogHeading}>Sign in or sign up</Text>\n <Text style={styles.inputLabel}>Email or phone number</Text>\n <BottomSheetTextInput\n style={styles.identifierInput}\n placeholder=\"Enter here\"\n keyboardType=\"email-address\"\n textContentType=\"emailAddress\"\n returnKeyLabel=\"Sign in\"\n returnKeyType=\"go\"\n enablesReturnKeyAutomatically={true}\n autoCapitalize=\"none\"\n onChangeText={(text: string) => setUserIdentifier(text.trim())}\n onBlur={validateInput}\n // value={userIdentifier} // managed inputs that modify values cause strange issues on Android :-(\n onSubmitEditing={initSignIn}\n autoCorrect={false}\n />\n {requiresAdditionalFields &&\n app?.config?.hub?.auth?.additional_fields.map((field) => {\n return renderField({\n ...field,\n value: addlFieldValues[field.name] || '',\n [['input', 'text', 'tel', 'email'].includes(field.type)\n ? 'onInput'\n : 'onChange']: handleAddlFieldChange,\n });\n })}\n <TouchableOpacity\n disabled={!isValidUserIdentifier || isSubmitting}\n onPress={initSignIn}\n >\n <View\n style={{\n ...styles.button,\n ...(!isValidUserIdentifier && styles.buttonDisabled),\n ...(isSubmitting && styles.buttonSubmitting),\n }}\n >\n <View style={styles.buttonText}>\n <Text\n style={\n isValidUserIdentifier\n ? styles.buttonContent\n : {\n ...styles.buttonContent,\n ...styles.buttonDisabledText,\n }\n }\n >\n {isSubmitting && (\n // <View width={25} height={25}>\n <ActivityIndicator\n size=\"small\"\n color=\"#efefef\"\n style={styles.loadingIndicator}\n />\n // </View>\n )}\n {isSubmitting ? 'Just a sec...' : 'Continue'}\n </Text>\n </View>\n </View>\n </TouchableOpacity>\n <Text style={styles.signInNoticeText}>\n By continuing, you're agreeing to the terms of service that govern\n this app and to receive email or text messages for verification\n purposes.\n </Text>\n </>\n )}\n\n {step === LoginStep.WAITING && (\n <>\n <Text style={styles.dialogHeading}>\n Thanks! Verify your{' '}\n {loginType === 'phone' ? 'phone number' : 'email'} to finish\n </Text>\n <Text style={styles.py6}>\n Click the link in the message we just sent to{' '}\n <Text style={styles.italic}>{userIdentifier}</Text> to verify and\n finish.\n <Text\n style={[styles.link]}\n onPress={() => setStep(LoginStep.INIT)}\n >\n &nbsp;Re-send message\n </Text>\n </Text>\n\n <View style={styles.signInVerificationImage}>\n {loginType === 'phone' ? (\n <ImagePhoneVerifyWaiting />\n ) : (\n <ImageEmailVerifyWaiting />\n )}\n </View>\n\n <TouchableOpacity\n style={[styles.button]}\n onPress={() => setStep(LoginStep.INIT)}\n >\n <Text style={styles.buttonContent}>\n Try a different{' '}\n {loginType === 'phone' ? 'phone number' : 'email'}\n </Text>\n </TouchableOpacity>\n </>\n )}\n\n {step === LoginStep.SUCCESS && (\n <>\n <View style={styles.signInVerificationImage}>\n <ImageCheckmarkFilled />\n </View>\n </>\n )}\n\n {step === LoginStep.FAILURE && (\n <>\n <Text style={styles.textBase}>Whoops, that didn't work!</Text>\n <TouchableOpacity\n style={styles.button}\n onPress={() => setStep(LoginStep.INIT)}\n >\n <Text style={styles.buttonContent}>Try again</Text>\n </TouchableOpacity>\n </>\n )}\n\n {step === LoginStep.ERROR && (\n <>\n <Text style={styles.textBase}>\n An error occurred while signing you in.\n </Text>\n {!!error && <Text style={styles.textRose800}>{error}</Text>}\n <TouchableOpacity\n style={styles.button}\n onPress={() => setStep(LoginStep.INIT)}\n >\n <Text style={styles.buttonContent}>Try again</Text>\n </TouchableOpacity>\n </>\n )}\n <Text>\n Powered by{' '}\n <Text style={styles.link} onPress={launchRowndWebsite}>\n Rownd\n </Text>\n </Text>\n </View>\n </BottomSheetModal>\n );\n}\n\nconst styles = StyleSheet.create({\n modal: {\n // flex: 1,\n },\n bottomSheet: {\n shadowColor: '#000',\n shadowOffset: {\n width: 0,\n height: 12,\n },\n shadowOpacity: 0.58,\n shadowRadius: 16.0,\n\n elevation: 24,\n },\n innerContainer: {\n borderRadius: 20,\n borderColor: 'transparent',\n borderWidth: 0,\n padding: 25,\n },\n container: {\n flex: 1,\n padding: 24,\n },\n header: {\n alignItems: 'center',\n backgroundColor: 'white',\n paddingVertical: 20,\n borderTopLeftRadius: 20,\n borderTopRightRadius: 20,\n },\n panelHandle: {\n width: 40,\n height: 2,\n backgroundColor: 'rgba(0,0,0,0.3)',\n borderRadius: 4,\n },\n appLogo: {\n padding: 50,\n width: 75,\n height: 75,\n resizeMode: 'center',\n textAlign: 'center',\n marginLeft: 'auto',\n marginRight: 'auto',\n marginBottom: 20,\n },\n dialogHeading: {\n fontSize: 24,\n },\n inputLabel: {\n marginTop: 20,\n marginBottom: 5,\n },\n identifierInput: {\n backgroundColor: '#eee',\n borderRadius: 8,\n padding: 10,\n fontSize: 18,\n },\n button: {\n borderRadius: 10,\n padding: 10,\n marginTop: 20,\n marginBottom: 30,\n elevation: 0,\n backgroundColor: '#5b0ae0',\n color: '#fff',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n // height: 45,\n },\n buttonDisabled: {\n backgroundColor: '#eee',\n },\n buttonPressed: {\n opacity: 0.5,\n },\n buttonContent: {\n textAlign: 'center',\n fontSize: 18,\n color: '#fff',\n },\n buttonText: {\n // marginHorizontal: 10,\n // paddingHorizontal: 10,\n // fontSize: 18,\n // color: '#fff',\n },\n buttonTextInner: {\n fontSize: 18,\n },\n buttonDisabledText: {\n color: '#8e8e8e',\n },\n buttonSubmitting: {\n backgroundColor: '#2f0492',\n color: '#c7c7c7',\n },\n loadingIndicator: {\n marginRight: 10,\n width: 25,\n height: 25,\n },\n signInNoticeText: {\n fontSize: 12,\n marginBottom: 20,\n },\n signInVerificationImage: {\n alignItems: 'center',\n },\n link: {\n color: '#6114e1',\n },\n py6: {\n paddingVertical: 6,\n },\n italic: {\n fontStyle: 'italic',\n },\n textBase: {\n fontSize: 16,\n lineHeight: 24,\n },\n textRose800: {\n color: 'rgb(159, 18, 57)',\n },\n});\n"],"mappings":";;;;;;;AAAA;;AAQA;;AACA;;AAUA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AAGA;;AACA;;AACA;;;;;;;;;;IAEKA,S;;WAAAA,S;EAAAA,S;EAAAA,S;EAAAA,S;EAAAA,S;EAAAA,S;GAAAA,S,KAAAA,S;;IA2BAC,uB;;WAAAA,uB;EAAAA,uB;EAAAA,uB;EAAAA,uB;GAAAA,uB,KAAAA,uB;;AAME,SAASC,MAAT,GAAkB;EAAA;;EACvB,MAAMC,KAAK,GAAG,IAAAC,aAAA,GAAd;EACA,MAAM;IAAEC,cAAF;IAAkBC,qBAAlB;IAAyCC;EAAzC,IACJ,IAAAC,2BAAA,GADF;EAEA,MAAM;IAAEC,KAAF;IAASC;EAAT,IAAsB,IAAAC,+BAAA,GAA5B;EACA,MAAM;IAAEC,MAAF;IAAUC,GAAV;IAAeC,GAAf;IAAoBC;EAApB,IAA6BN,KAAnC;EAEA,IAAIO,kBAAJ;;EACA,IAAIP,KAAK,CAACQ,IAAN,CAAWC,YAAf,EAA6B;IAC3BF,kBAAkB,GAAG,IAAAG,kBAAA,EAAWV,KAAK,CAACQ,IAAN,CAAWC,YAAtB,CAArB;EACD;;EAED,MAAM,CAACE,cAAD,EAAiBC,iBAAjB,IAAsC,IAAAC,eAAA,EAAS,EAAT,CAA5C;EACA,MAAM,CAACC,UAAD,EAAaC,aAAb,IAA8B,IAAAF,eAAA,EAAwB,IAAxB,CAApC;EACA,MAAM,CAACG,IAAD,EAAOC,OAAP,IAAkB,IAAAJ,eAAA,EACtBb,KAAK,CAACQ,IAAN,CAAWC,YAAX,IACE,wBAAAF,kBAAkB,UAAlB,kEAAqB,wCAArB,OAAmE,KADrE,GAEIhB,SAAS,CAAC2B,OAFd,GAGI3B,SAAS,CAAC4B,IAJQ,CAAxB;EAMA,MAAM,CAACC,KAAD,EAAQC,QAAR,IAAoB,IAAAR,eAAA,EAAS,EAAT,CAA1B;EACA,MAAMS,kBAAkB,GAAG,IAAAC,cAAA,EAAQ,MAAM,CAAC,OAAD,EAAU,OAAV,CAAd,EAAkC,EAAlC,CAA3B;EACA,MAAM,CAACC,SAAD,EAAYC,YAAZ,IAA4B,IAAAZ,eAAA,EAAwB,IAAxB,CAAlC;EACA,MAAM,CAACa,cAAD,EAAiBC,iBAAjB,IAAsC,IAAAd,eAAA,EAAwB,IAAxB,CAA5C;EACA,MAAM,CAACe,YAAD,EAAeC,eAAf,IAAkC,IAAAhB,eAAA,EAAS,KAAT,CAAxC;EACA,MAAM,CAACiB,SAAD,EAAYC,YAAZ,IAA4B,IAAAlB,eAAA,EAAmC,IAAnC,CAAlC,CAzBuB,CA0BvB;;EACA,MAAM,CAACmB,aAAD,EAAgBC,eAAhB,IAAmC,IAAApB,eAAA,EAA6B,IAA7B,CAAzC,CA3BuB,CA2BsD;;EAC7E,MAAM,CAACqB,qBAAD,EAAwBC,wBAAxB,IAAoD,IAAAtB,eAAA,EAAS,KAAT,CAA1D;EACA,MAAM,CAACuB,wBAAD,EAA2BC,2BAA3B,IAA0D,IAAAxB,eAAA,EAC9DT,GAD8D,aAC9DA,GAD8D,uCAC9DA,GAAG,CAAEkC,OADyD,iDAC9D,aAAcC,SADgD,CAAhE;EAIA,MAAMC,mBAAmB,GAAG,IAAAC,aAAA,EAAyB,IAAzB,CAA5B;EACA,IAAAC,gBAAA,EAAU,MAAM;IACd,IAAIF,mBAAmB,CAACG,OAAxB,EAAiC;MAC/BH,mBAAmB,CAACG,OAApB,CAA4BC,OAA5B;IACD;EACF,CAJD,EAIG,EAJH;EAMA,MAAMC,aAAa,GAAG,IAAAC,kBAAA,EACnBC,YAAD,IAA0C;IAAA;;IACxC,MAAMC,UAAU,GAAG3C,GAAH,aAAGA,GAAH,sCAAGA,GAAG,CAAEF,MAAR,mEAAG,YAAa8C,GAAhB,4EAAG,gBAAkBzC,IAArB,yDAAG,qBAAwB0C,iBAA3C;IACA,MAAMC,UAAU,GACd,CAAA/C,GAAG,SAAH,IAAAA,GAAG,WAAH,6BAAAA,GAAG,CAAEkC,OAAL,gEAAcC,SAAd,MAA2BnC,GAA3B,aAA2BA,GAA3B,wCAA2BA,GAAG,CAAEkC,OAAhC,kDAA2B,cAAcc,cAAzC,KAA2D,EAD7D;IAGA,MAAMC,QAAgC,GAAG,EAAzC;;IACA,IAAIL,UAAJ,aAAIA,UAAJ,eAAIA,UAAU,CAAEM,MAAhB,EAAwB;MACtB,KAAK,MAAMC,KAAX,IAAoBP,UAApB,EAAgC;QAC9B,IAAIO,KAAJ,aAAIA,KAAJ,eAAIA,KAAK,CAAEjB,OAAX,EAAoB;UAClBe,QAAQ,CAACE,KAAK,CAACC,IAAP,CAAR,GACE,CAAAL,UAAU,SAAV,IAAAA,UAAU,WAAV,YAAAA,UAAU,CAAGI,KAAK,CAACC,IAAT,CAAV,KAA4BD,KAAK,CAACjB,OAAN,CAAc,CAAd,EAAiBmB,KAD/C;QAED;MACF;IACF;;IAED,OAAO,EACL,GAAGV,YADE;MAEL,GAAGM;IAFE,CAAP;EAID,CApBmB,EAqBpB,CACEhD,GADF,aACEA,GADF,uCACEA,GAAG,CAAEF,MADP,qEACE,aAAa8C,GADf,8EACE,iBAAkBzC,IADpB,0DACE,sBAAwB0C,iBAD1B,EAEE9C,GAFF,aAEEA,GAFF,wCAEEA,GAAG,CAAEkC,OAFP,kDAEE,cAAcc,cAFhB,EAGEhD,GAHF,aAGEA,GAHF,wCAGEA,GAAG,CAAEkC,OAHP,kDAGE,cAAcC,SAHhB,CArBoB,CAAtB;EA4BA,MAAMmB,YAAY,GAAG,IAAAZ,kBAAA,EACnB,CACEC,YADF,EAEEY,MAFF,KAGK;IACHC,OAAO,CAACC,GAAR,CAAY,cAAZ,EAA4BF,MAA5B;;IACA,QAAQA,MAAM,CAACG,IAAf;MACE,KAAK,OAAL;QACE,OAAOjB,aAAa,CAACE,YAAD,CAApB;;MAEF;QACE,OAAO,EACL,GAAGA,YADE;UAEL,GAAGY,MAAM,CAACI;QAFL,CAAP;IALJ;EAUD,CAhBkB,EAiBnB,CAAClB,aAAD,CAjBmB,CAArB;EAoBA,MAAM,CAACmB,eAAD,EAAkBC,iBAAlB,IAAuC,IAAAC,iBAAA,EAC3CR,YAD2C,EAE3C,EAF2C,EAG3Cb,aAH2C,CAA7C;EAMA,MAAM;IAAEsB,MAAM,EAAEC;EAAV,IAAkB,IAAAC,aAAA,GAAxB;;EAEA,SAASC,aAAT,CAAuBC,KAAvB,EAA+C;IAC7C,MAAMC,EAAE,GACN,uJADF;IAEA,MAAMC,OAAO,GAAGD,EAAE,CAACE,IAAH,CAAQC,MAAM,CAACJ,KAAD,CAAN,CAAcK,WAAd,EAAR,CAAhB;;IAEA,IAAI,CAACH,OAAL,EAAc;MACZ1D,aAAa,CAAC,uBAAD,CAAb;MACA,OAAO,KAAP;IACD;;IAEDA,aAAa,CAAC,IAAD,CAAb;IACA,OAAO,IAAP;EACD;;EAED,MAAM8D,YAAY,GAAG,IAAA/B,kBAAA,EAAY,MAAe;IAC9C,MAAMgC,WAAW,GAAG,IAAAC,cAAA,EAAMpE,cAAN,CAApB;;IACA,IAAI,CAACmE,WAAW,CAACL,OAAjB,EAA0B;MACxB1C,YAAY,CAAC,IAAD,CAAZ;MACAE,eAAe,CAAC,IAAD,CAAf;MACA,OAAO,KAAP;IACD;;IAEDF,YAAY,CAAC,OAAD,CAAZ;IACAE,eAAe,CAAC6C,WAAD,CAAf;IACAlE,iBAAiB,CAACkE,WAAW,CAACE,WAAb,CAAjB;IACA,OAAO,IAAP;EACD,CAZoB,EAYlB,CAACrE,cAAD,CAZkB,CAArB;EAcA,MAAMsE,YAAY,GAAG,IAAAnC,kBAAA,EAAY,MAAe;IAC9C,MAAMoC,UAAU,GAAGvE,cAAH,aAAGA,cAAH,uBAAGA,cAAc,CAAEwE,OAAhB,CAAwB,GAAxB,CAAnB;IACA,MAAMC,cAAc,GAAGzE,cAAH,aAAGA,cAAH,uBAAGA,cAAc,CAAE0E,SAAhB,CAA0BH,UAA1B,EAAsCC,OAAtC,CAA8C,GAA9C,CAAvB;;IACA,IACED,UAAU,GAAG,CAAb,IACAE,cAAc,GAAG,CADjB,IAEA,CAAAzE,cAAc,SAAd,IAAAA,cAAc,WAAd,YAAAA,cAAc,CAAE0E,SAAhB,CAA0BH,UAAU,GAAGE,cAAvC,EAAuD9B,MAAvD,KAAiE,CAHnE,EAIE;MACA,OAAOgB,aAAa,CAAC3D,cAAD,CAApB;IACD;;IAED,OAAO,KAAP;EACD,CAZoB,EAYlB,CAACA,cAAD,CAZkB,CAArB;EAcA,MAAM2E,aAAa,GAAG,IAAAxC,kBAAA,EAAY,MAAM;IACtC,MAAMyC,WAAW,GAAG,EAApB;;IACA,IAAIjE,kBAAkB,CAACkE,QAAnB,CAA4B,OAA5B,CAAJ,EAA0C;MACxCD,WAAW,CAACE,IAAZ,CAAiBZ,YAAjB;IACD;;IAED,IAAIvD,kBAAkB,CAACkE,QAAnB,CAA4B,OAA5B,CAAJ,EAA0C;MACxCD,WAAW,CAACE,IAAZ,CAAiBR,YAAjB;IACD;;IAED,IAAI,CAACM,WAAW,CAACG,IAAZ,CAAkBC,EAAD,IAAQA,EAAE,EAA3B,CAAL,EAAqC;MACnCxD,wBAAwB,CAAC,KAAD,CAAxB;IACD,CAFD,MAEO;MACLA,wBAAwB,CAAC,IAAD,CAAxB;IACD;EACF,CAfqB,EAenB,CAACb,kBAAD,EAAqB2D,YAArB,EAAmCJ,YAAnC,CAfmB,CAAtB,CA1IuB,CA2JvB;;EACA,IAAAnC,gBAAA,EAAU4C,aAAV,EAAyB,CAACA,aAAD,CAAzB;EAEA,MAAMM,eAAe,GAAG,IAAA9C,kBAAA,EAAY,YAAY;IAC9C,IAAI;MACF,MAAM+C,IAAsB,GAAG,MAAMzB,GAAG,CACrC0B,IADkC,CAC5B,2BAD4B,EACA;QACjCC,OAAO,EAAE;UACP,mBAAmB5F,MAAnB,aAAmBA,MAAnB,uBAAmBA,MAAM,CAAE6F;QADpB,CADwB;QAIjCC,IAAI,EAAE;UACJC,YAAY,EAAE1E,SADV;UAEJ,CAACM,SAAS,KAAK,OAAd,GAAwB,OAAxB,GAAkC,OAAnC,GAA6CnB;QAFzC;MAJ2B,CADA,EAUlCsF,IAVkC,EAArC;MAYA,IAAIE,GAAJ;;MACA,QAAQN,IAAI,CAACO,MAAb;QACE,KAAK,SAAL;UACED,GAAG,GAAG,IAAIE,KAAJ,CAAU,kCAAV,CAAN;UACAF,GAAG,CAACG,IAAJ,GAAW9G,uBAAuB,CAAC+G,OAAnC;UACA,MAAMJ,GAAN;;QAEF,KAAK,SAAL;UACEA,GAAG,GAAG,IAAIE,KAAJ,CAAU,kCAAV,CAAN;UACAF,GAAG,CAACG,IAAJ,GAAW9G,uBAAuB,CAAC+G,OAAnC;UACA,MAAMJ,GAAN;;QAEF,KAAK,UAAL;UACE;;QAEF;UACEA,GAAG,GAAG,IAAIE,KAAJ,CAAU,gCAAV,CAAN;UACA,MAAMF,GAAN;MAhBJ;;MAmBAlG,QAAQ,CAAC;QACP6D,IAAI,EAAE0C,mBAAA,CAAWC,aADV;QAEP1C,OAAO,EAAE8B;MAFF,CAAD,CAAR;MAKA5E,OAAO,CAAC1B,SAAS,CAAC2B,OAAX,CAAP;IACD,CAvCD,CAuCE,OAAOiF,GAAP,EAAiB;MACjB;MAEA;MACA,IAAI,CAACA,GAAG,CAACG,IAAL,IAAa,IAAAI,4BAAA,EAAoBC,IAAI,CAACC,GAAL,EAApB,EAAgClF,cAAhC,IAAmD,CAApE,EAAuE;QACrET,OAAO,CAAC1B,SAAS,CAACsH,KAAX,CAAP;QACAxF,QAAQ,CAAC,wCAAD,CAAR;QACA;MACD,CARgB,CAUjB;;;MACA,IACE,CAAC8E,GAAG,CAACC,MAAJ,IAAcD,GAAG,CAACG,IAAnB,KACA,IAAAI,4BAAA,EAAoBC,IAAI,CAACC,GAAL,EAApB,EAAgClF,cAAhC,IAAmD,CAFrD,EAGE;QACAT,OAAO,CAAC1B,SAAS,CAACsH,KAAX,CAAP;QACAxF,QAAQ,CAAC,8BAAD,CAAR;QACA;MACD;;MAED,IAAI8E,GAAG,CAACC,MAAJ,IAAcD,GAAG,CAACC,MAAJ,IAAc,GAAhC,EAAqC;QACnCnF,OAAO,CAAC1B,SAAS,CAACuH,OAAX,CAAP;QACAzF,QAAQ,CAAC,uBAAD,CAAR;MACD;IACF;EACF,CAjEuB,EAiErB,CACD+C,GADC,EAEDjE,MAFC,aAEDA,MAFC,uBAEDA,MAAM,CAAE6F,MAFP,EAGD/F,QAHC,EAIDyB,cAJC,EAKDI,SALC,EAMDN,SANC,EAODb,cAPC,CAjEqB,CAAxB,CA9JuB,CAyOvB;;EACA,IAAAoG,kBAAA,EAAYnB,eAAZ,EAA6B5E,IAAI,KAAKzB,SAAS,CAACyH,OAAnB,GAA6B,IAA7B,GAAoC,IAAjE,EA1OuB,CA4OvB;;EACA,IAAAtE,gBAAA,EAAU,MAAM;IACd,IAAI1B,IAAI,KAAKzB,SAAS,CAAC2B,OAAvB,EAAgC;MAAA;;MAC9B,IAAId,GAAG,SAAH,IAAAA,GAAG,WAAH,qBAAAA,GAAG,CAAEkC,OAAL,wDAAc2E,mBAAd,qBAAqCjH,KAAK,CAACG,MAA3C,0CAAqC,cAAc+G,YAAvD,EAAqE;QAAA;;QACnEC,oBAAA,CAAQC,OAAR,CACE,CAAAhH,GAAG,SAAH,IAAAA,GAAG,WAAH,6BAAAA,GAAG,CAAEkC,OAAL,gEAAc2E,mBAAd,wBAAqCjH,KAAK,CAACG,MAA3C,mDAAqC,eAAc+G,YAAnD,CADF;MAGD;;MAEDjH,QAAQ,CAAC;QACP6D,IAAI,EAAE0C,mBAAA,CAAWa,YADV;QAEPtD,OAAO,EAAE;UACPuD,KAAK,EAAE;QADA;MAFF,CAAD,CAAR,CAP8B,CAc9B;;MACA,IAAI,CAACtH,KAAK,CAACQ,IAAN,CAAW+G,gBAAhB,EAAkC;QAChCtG,OAAO,CAAC1B,SAAS,CAAC4B,IAAX,CAAP;MACD;IACF;EACF,CApBD,EAoBG,CACDlB,QADC,EAEDG,GAFC,aAEDA,GAFC,wCAEDA,GAAG,CAAEkC,OAFJ,kDAED,cAAc2E,mBAFb,EAGDrB,eAHC,EAID5F,KAAK,CAACQ,IAAN,CAAW+G,gBAJV,oBAKDvH,KAAK,CAACG,MALL,mDAKD,eAAc+G,YALb,EAMDlG,IANC,CApBH;EA6BA,MAAMwG,UAAU,GAAG,IAAA1E,kBAAA,EAAY,YAAY;IAAA;;IACzC,IAAI9B,IAAI,KAAKzB,SAAS,CAACyH,OAAvB,EAAgC;MAC9B;IACD,CAHwC,CAKzC;;;IACA,IAAIlG,UAAJ,EAAgB;MACd;IACD;;IAED,MAAMiD,OAAO,GAAG;MACd,CAACjC,SAAS,KAAK,OAAd,GAAwB,OAAxB,GAAkC,OAAnC,GAA6CnB,cAD/B;MAEd8G,UAAU,EACR,CAAArH,GAAG,SAAH,IAAAA,GAAG,WAAH,6BAAAA,GAAG,CAAEkC,OAAL,gEAAc2E,mBAAd,wBAAqCjH,KAAK,CAACG,MAA3C,mDAAqC,eAAc+G,YAAnD,CAHY;MAIdQ,SAAS,EAAEC,MAAM,CAACC,MAAP,CAActH,IAAI,CAACuH,IAAnB,EAAyBnC,IAAzB,CACRoC,CAAD,IAAOA,CAAC,KAAK,IAAN,IAAcA,CAAC,KAAKC,SADlB,IAGPzH,IAAI,CAACuH,IAHE,GAIP,EARU,CAQN;;IARM,CAAhB,CAVyC,CAqBzC;;IACA,oBAAIxH,GAAG,CAACF,MAAR,yCAAI,aAAY6H,sBAAhB,EAAwC;MAAA;;MACtCjE,OAAO,CAACkE,OAAR,mBAAkB5H,GAAG,CAACF,MAAtB,iDAAkB,aAAY6H,sBAA9B;IACD;;IAED,IAAI5F,wBAAJ,EAA8B;MAC5B2B,OAAO,CAAC2D,SAAR,GAAoB,EAClB,GAAG3D,OAAO,CAAC2D,SADO;QAElB,GAAG1D;MAFe,CAApB;IAID,CA/BwC,CAiCzC;;;IACA,IAAI;MAAA;;MACFnC,eAAe,CAAC,IAAD,CAAf,CADE,CAGF;;MACA,MAAMqG,WAAW,GAAG,MAAMtI,cAAc,EAAxC;MACA,MAAMuI,cAAc,GAAG,MAAMtI,qBAAqB,CAACQ,GAAG,CAAC+H,EAAL,EAAS,CACzDzH,cADyD,CAAT,CAAlD;MAGAoD,OAAO,CAACmE,WAAR,GAAsB;QACpBG,IAAI,EAAEH,WAAW,CAACI,SADE;QAEpBC,SAAS,EAAEJ,cAAF,aAAEA,cAAF,uBAAEA,cAAc,CAAE1E;MAFP,CAAtB;MAKA,MAAMoC,IAAmB,GAAG,MAAMzB,GAAG,CAClC0B,IAD+B,CAC1B,eAD0B,EACT;QACrBC,OAAO,EAAE;UACP,mBAAmB5F,MAAnB,aAAmBA,MAAnB,uBAAmBA,MAAM,CAAE6F;QADpB,CADY;QAIrBC,IAAI,EAAElC;MAJe,CADS,EAO/BkC,IAP+B,EAAlC,CAbE,CAsBF;MACA;;MACA,IAAIJ,IAAI,CAAC2C,WAAT,EAAsB;QACpBvI,QAAQ,CAAC;UACP6D,IAAI,EAAE0C,mBAAA,CAAWC,aADV;UAEP1C,OAAO,EAAE,EACP,GAAG8B,IAAI,CAAC2C,WADD;YAEPC,MAAM,EAAEpI,GAAG,CAAC+H;UAFL;QAFF,CAAD,CAAR;QAQAnH,OAAO,CAAC1B,SAAS,CAAC2B,OAAX,CAAP;QACA;MACD,CAXD,MAWO,IAAI6C,OAAJ,aAAIA,OAAJ,uCAAIA,OAAO,CAAEmE,WAAb,iDAAI,qBAAsBK,SAA1B,EAAqC;QAC1C;QACA,IAAI;UACFzI,gBAAgB,CAACiE,OAAO,CAACmE,WAAR,CAAoBK,SAArB,CAAhB;QACD,CAFD,CAEE,OAAOpC,GAAP,EAAY,CACZ;QACD;MACF;;MAED1E,YAAY,CAACoE,IAAI,CAACK,YAAN,CAAZ;MACAjF,OAAO,CAAC1B,SAAS,CAACyH,OAAX,CAAP;MACArF,iBAAiB,CAACgF,IAAI,CAACC,GAAL,EAAD,CAAjB;IACD,CA/CD,CA+CE,OAAOT,GAAP,EAAiB;MACjB;MAEA,IAAIA,GAAG,CAACuC,QAAJ,CAAatC,MAAb,KAAwB,GAA5B,EAAiC;QAC/BnF,OAAO,CAAC1B,SAAS,CAAC4B,IAAX,CAAP;QACAkB,2BAA2B,CAAC,IAAD,CAA3B;QACA;MACD;;MAEDpB,OAAO,CAAC1B,SAAS,CAACsH,KAAX,CAAP;MACAxF,QAAQ,CAAC8E,GAAG,CAACwC,OAAL,CAAR;IACD,CA1DD,SA0DU;MACR9G,eAAe,CAAC,KAAD,CAAf;IACD;EACF,CA/FkB,EA+FhB,CACDb,IADC,EAEDF,UAFC,EAGDgB,SAHC,EAIDnB,cAJC,EAKDP,GALC,aAKDA,GALC,yCAKDA,GAAG,CAAEkC,OALJ,mDAKD,eAAc2E,mBALb,oBAMDjH,KAAK,CAACG,MANL,mDAMD,eAAc+G,YANb,EAOD5G,IAAI,CAACuH,IAPJ,kBAQDxH,GAAG,CAACF,MARH,iDAQD,aAAY6H,sBARX,EASD3H,GAAG,CAAC+H,EATH,EAUDhG,wBAVC,EAWD4B,eAXC,EAYDpE,cAZC,EAaDC,qBAbC,EAcDuE,GAdC,EAeDjE,MAfC,aAeDA,MAfC,uBAeDA,MAAM,CAAE6F,MAfP,EAgBD/F,QAhBC,EAiBDH,gBAjBC,CA/FgB,CAAnB;;EAmHA,MAAM8I,kBAAkB,GAAG,MAAM;IAC/BzB,oBAAA,CAAQC,OAAR,CAAgB,kBAAhB;EACD,CAFD;;EAIA,MAAMyB,qBAAqB,GAAIC,GAAD,IAAgB;IAC5C,MAAMC,MAAM,GAAGD,GAAG,CAACC,MAAnB;IACA,MAAM;MAAEtF,KAAF;MAASD;IAAT,IAAkBuF,MAAxB;IAEA9E,iBAAiB,CAAC;MAChBH,IAAI,EAAE,SADU;MAEhBC,OAAO,EAAE;QACP,CAACP,IAAD,GAAQC;MADD;IAFO,CAAD,CAAjB;EAMD,CAVD;;EAYA,MAAMuF,WAAW,GAAG,IAAAlG,kBAAA,EAAY,MAAM;IACpCmG,UAAU,CAAC,MAAM;MACfvJ,KAAK,CAAC;QAAEwJ,IAAI,EAAE;MAAR,CAAD,CAAL;IACD,CAFS,EAEP,GAFO,CAAV;EAGD,CAJmB,EAIjB,CAACxJ,KAAD,CAJiB,CAApB;EAMA,MAAMyJ,UAAU,GAAG,IAAA5H,cAAA,EAAQ,MAAM,CAAC,KAAD,EAAQ,KAAR,CAAd,EAA8B,EAA9B,CAAnB;EAEA,MAAM6H,cAAc,GAAG,IAAAtG,kBAAA,EACpBuG,OAAD,iBACE,6BAAC,gCAAD,eAAyBA,OAAzB;IAAkC,aAAa,EAAC;EAAhD,GAFmB,EAIrB,EAJqB,CAAvB;EAOA,IAAIC,qBAA0B,GAAG,EAAjC;;EACA,IAAIC,gBAAA,CAAgBC,OAAhB,CAAwBC,UAAxB,CAAmC,GAAnC,CAAJ,EAA6C;IAAA;;IAC3CH,qBAAqB,CAACI,gBAAtB,GAAyC,YAAzC;IACAJ,qBAAqB,CAACK,yBAAtB,GAAkD,cAAlD;IACAL,qBAAqB,CAACM,oBAAtB,GACE,CAAA5J,KAAK,SAAL,IAAAA,KAAK,WAAL,0BAAAA,KAAK,CAAEI,GAAP,gFAAYkC,OAAZ,0EAAqBwB,IAArB,MAA8B,OADhC;EAED;;EAED,oBACE,6BAAC,6BAAD;IACE,UAAU,EAAEqF,UADd;IAEE,KAAK,EAAE,CAFT;IAGE,iBAAiB,EAAEC,cAHrB;IAIE,SAAS,EAAEJ,WAJb;IAKE,KAAK,EAAEa,MAAM,CAACC,WALhB;IAME,GAAG,EAAEtH;EANP,GAOM8G,qBAPN,gBASE,6BAAC,iBAAD;IAAM,KAAK,EAAEO,MAAM,CAACE;EAApB,GACG/I,IAAI,KAAKzB,SAAS,CAAC4B,IAAnB,iBACC,4DACG,CAAAd,GAAG,SAAH,IAAAA,GAAG,WAAH,4BAAAA,GAAG,CAAEF,MAAL,kFAAa8C,GAAb,+FAAkBzC,IAAlB,gFAAwBwJ,aAAxB,MACC3J,GADD,aACCA,GADD,uBACCA,GAAG,CAAE4J,IADN,MAEE5J,GAAG,CAAC6J,iBAAJ,KAA0B,eAA1B,gBACC,6BAAC,yBAAD;IAAW,GAAG,EAAE7J,GAAG,CAAC4J,IAApB;IAA0B,KAAK,EAAEJ,MAAM,CAACM;EAAxC,EADD,gBAGC,6BAAC,kBAAD;IAAO,KAAK,EAAEN,MAAM,CAACM,OAArB;IAA8B,MAAM,EAAE;MAAEC,GAAG,EAAE/J,GAAG,CAAC4J;IAAX;EAAtC,EALH,CADH,eAQE,6BAAC,iBAAD;IAAM,KAAK,EAAEJ,MAAM,CAACQ;EAApB,wBARF,eASE,6BAAC,iBAAD;IAAM,KAAK,EAAER,MAAM,CAACS;EAApB,2BATF,eAUE,6BAAC,6BAAD;IACE,KAAK,EAAET,MAAM,CAACU,eADhB;IAEE,WAAW,EAAC,YAFd;IAGE,YAAY,EAAC,eAHf;IAIE,eAAe,EAAC,cAJlB;IAKE,cAAc,EAAC,SALjB;IAME,aAAa,EAAC,IANhB;IAOE,6BAA6B,EAAE,IAPjC;IAQE,cAAc,EAAC,MARjB;IASE,YAAY,EAAGC,IAAD,IAAkB5J,iBAAiB,CAAC4J,IAAI,CAACC,IAAL,EAAD,CATnD;IAUE,MAAM,EAAEnF,aAVV,CAWE;IAXF;IAYE,eAAe,EAAEkC,UAZnB;IAaE,WAAW,EAAE;EAbf,EAVF,EAyBGpF,wBAAwB,KACvB/B,GADuB,aACvBA,GADuB,uCACvBA,GAAG,CAAEF,MADkB,qEACvB,aAAa8C,GADU,8EACvB,iBAAkBzC,IADK,0DACvB,sBAAwB0C,iBAAxB,CAA0CwH,GAA1C,CAA+CnH,KAAD,IAAW;IACvD,OAAO,IAAAoH,iBAAA,EAAY,EACjB,GAAGpH,KADc;MAEjBE,KAAK,EAAEO,eAAe,CAACT,KAAK,CAACC,IAAP,CAAf,IAA+B,EAFrB;MAGjB,CAAC,CAAC,OAAD,EAAU,MAAV,EAAkB,KAAlB,EAAyB,OAAzB,EAAkCgC,QAAlC,CAA2CjC,KAAK,CAACO,IAAjD,IACG,SADH,GAEG,UAFJ,GAEiB+E;IALA,CAAZ,CAAP;EAOD,CARD,CADuB,CAzB3B,eAmCE,6BAAC,6BAAD;IACE,QAAQ,EAAE,CAAC3G,qBAAD,IAA0BN,YADtC;IAEE,OAAO,EAAE4F;EAFX,gBAIE,6BAAC,iBAAD;IACE,KAAK,EAAE,EACL,GAAGqC,MAAM,CAACe,MADL;MAEL,IAAI,CAAC1I,qBAAD,IAA0B2H,MAAM,CAACgB,cAArC,CAFK;MAGL,IAAIjJ,YAAY,IAAIiI,MAAM,CAACiB,gBAA3B;IAHK;EADT,gBAOE,6BAAC,iBAAD;IAAM,KAAK,EAAEjB,MAAM,CAACkB;EAApB,gBACE,6BAAC,iBAAD;IACE,KAAK,EACH7I,qBAAqB,GACjB2H,MAAM,CAACmB,aADU,GAEjB,EACE,GAAGnB,MAAM,CAACmB,aADZ;MAEE,GAAGnB,MAAM,CAACoB;IAFZ;EAJR,GAUGrJ,YAAY;EAAA;EACX;EACA,6BAAC,8BAAD;IACE,IAAI,EAAC,OADP;IAEE,KAAK,EAAC,SAFR;IAGE,KAAK,EAAEiI,MAAM,CAACqB;EAHhB,EAFW,CAOX;EAjBJ,EAmBGtJ,YAAY,GAAG,eAAH,GAAqB,UAnBpC,CADF,CAPF,CAJF,CAnCF,eAuEE,6BAAC,iBAAD;IAAM,KAAK,EAAEiI,MAAM,CAACsB;EAApB,kJAvEF,CAFJ,EAiFGnK,IAAI,KAAKzB,SAAS,CAACyH,OAAnB,iBACC,yEACE,6BAAC,iBAAD;IAAM,KAAK,EAAE6C,MAAM,CAACQ;EAApB,0BACsB,GADtB,EAEGvI,SAAS,KAAK,OAAd,GAAwB,cAAxB,GAAyC,OAF5C,eADF,eAKE,6BAAC,iBAAD;IAAM,KAAK,EAAE+H,MAAM,CAACuB;EAApB,oDACgD,GADhD,eAEE,6BAAC,iBAAD;IAAM,KAAK,EAAEvB,MAAM,CAACwB;EAApB,GAA6B1K,cAA7B,CAFF,yCAIE,6BAAC,iBAAD;IACE,KAAK,EAAE,CAACkJ,MAAM,CAACyB,IAAR,CADT;IAEE,OAAO,EAAE,MAAMrK,OAAO,CAAC1B,SAAS,CAAC4B,IAAX;EAFxB,yBAJF,CALF,eAiBE,6BAAC,iBAAD;IAAM,KAAK,EAAE0I,MAAM,CAAC0B;EAApB,GACGzJ,SAAS,KAAK,OAAd,gBACC,6BAAC,2BAAD,OADD,gBAGC,6BAAC,2BAAD,OAJJ,CAjBF,eAyBE,6BAAC,6BAAD;IACE,KAAK,EAAE,CAAC+H,MAAM,CAACe,MAAR,CADT;IAEE,OAAO,EAAE,MAAM3J,OAAO,CAAC1B,SAAS,CAAC4B,IAAX;EAFxB,gBAIE,6BAAC,iBAAD;IAAM,KAAK,EAAE0I,MAAM,CAACmB;EAApB,sBACkB,GADlB,EAEGlJ,SAAS,KAAK,OAAd,GAAwB,cAAxB,GAAyC,OAF5C,CAJF,CAzBF,CAlFJ,EAuHGd,IAAI,KAAKzB,SAAS,CAAC2B,OAAnB,iBACC,yEACE,6BAAC,iBAAD;IAAM,KAAK,EAAE2I,MAAM,CAAC0B;EAApB,gBACE,6BAAC,wBAAD,OADF,CADF,CAxHJ,EA+HGvK,IAAI,KAAKzB,SAAS,CAACuH,OAAnB,iBACC,yEACE,6BAAC,iBAAD;IAAM,KAAK,EAAE+C,MAAM,CAAC2B;EAApB,+BADF,eAEE,6BAAC,6BAAD;IACE,KAAK,EAAE3B,MAAM,CAACe,MADhB;IAEE,OAAO,EAAE,MAAM3J,OAAO,CAAC1B,SAAS,CAAC4B,IAAX;EAFxB,gBAIE,6BAAC,iBAAD;IAAM,KAAK,EAAE0I,MAAM,CAACmB;EAApB,eAJF,CAFF,CAhIJ,EA2IGhK,IAAI,KAAKzB,SAAS,CAACsH,KAAnB,iBACC,yEACE,6BAAC,iBAAD;IAAM,KAAK,EAAEgD,MAAM,CAAC2B;EAApB,6CADF,EAIG,CAAC,CAACpK,KAAF,iBAAW,6BAAC,iBAAD;IAAM,KAAK,EAAEyI,MAAM,CAAC4B;EAApB,GAAkCrK,KAAlC,CAJd,eAKE,6BAAC,6BAAD;IACE,KAAK,EAAEyI,MAAM,CAACe,MADhB;IAEE,OAAO,EAAE,MAAM3J,OAAO,CAAC1B,SAAS,CAAC4B,IAAX;EAFxB,gBAIE,6BAAC,iBAAD;IAAM,KAAK,EAAE0I,MAAM,CAACmB;EAApB,eAJF,CALF,CA5IJ,eAyJE,6BAAC,iBAAD,sBACa,GADb,eAEE,6BAAC,iBAAD;IAAM,KAAK,EAAEnB,MAAM,CAACyB,IAApB;IAA0B,OAAO,EAAE1C;EAAnC,WAFF,CAzJF,CATF,CADF;AA4KD;;AAED,MAAMiB,MAAM,GAAG6B,uBAAA,CAAWC,MAAX,CAAkB;EAC/BC,KAAK,EAAE,CACL;EADK,CADwB;EAI/B9B,WAAW,EAAE;IACX+B,WAAW,EAAE,MADF;IAEXC,YAAY,EAAE;MACZC,KAAK,EAAE,CADK;MAEZC,MAAM,EAAE;IAFI,CAFH;IAMXC,aAAa,EAAE,IANJ;IAOXC,YAAY,EAAE,IAPH;IASXC,SAAS,EAAE;EATA,CAJkB;EAe/BpC,cAAc,EAAE;IACdqC,YAAY,EAAE,EADA;IAEdC,WAAW,EAAE,aAFC;IAGdC,WAAW,EAAE,CAHC;IAIdC,OAAO,EAAE;EAJK,CAfe;EAqB/BC,SAAS,EAAE;IACTC,IAAI,EAAE,CADG;IAETF,OAAO,EAAE;EAFA,CArBoB;EAyB/BG,MAAM,EAAE;IACNC,UAAU,EAAE,QADN;IAENC,eAAe,EAAE,OAFX;IAGNC,eAAe,EAAE,EAHX;IAINC,mBAAmB,EAAE,EAJf;IAKNC,oBAAoB,EAAE;EALhB,CAzBuB;EAgC/BC,WAAW,EAAE;IACXjB,KAAK,EAAE,EADI;IAEXC,MAAM,EAAE,CAFG;IAGXY,eAAe,EAAE,iBAHN;IAIXR,YAAY,EAAE;EAJH,CAhCkB;EAsC/BjC,OAAO,EAAE;IACPoC,OAAO,EAAE,EADF;IAEPR,KAAK,EAAE,EAFA;IAGPC,MAAM,EAAE,EAHD;IAIPiB,UAAU,EAAE,QAJL;IAKPC,SAAS,EAAE,QALJ;IAMPC,UAAU,EAAE,MANL;IAOPC,WAAW,EAAE,MAPN;IAQPC,YAAY,EAAE;EARP,CAtCsB;EAgD/BhD,aAAa,EAAE;IACbiD,QAAQ,EAAE;EADG,CAhDgB;EAmD/BhD,UAAU,EAAE;IACViD,SAAS,EAAE,EADD;IAEVF,YAAY,EAAE;EAFJ,CAnDmB;EAuD/B9C,eAAe,EAAE;IACfqC,eAAe,EAAE,MADF;IAEfR,YAAY,EAAE,CAFC;IAGfG,OAAO,EAAE,EAHM;IAIfe,QAAQ,EAAE;EAJK,CAvDc;EA6D/B1C,MAAM,EAAE;IACNwB,YAAY,EAAE,EADR;IAENG,OAAO,EAAE,EAFH;IAGNgB,SAAS,EAAE,EAHL;IAINF,YAAY,EAAE,EAJR;IAKNlB,SAAS,EAAE,CALL;IAMNS,eAAe,EAAE,SANX;IAONY,KAAK,EAAE,MAPD;IAQNC,OAAO,EAAE,MARH;IASNd,UAAU,EAAE,QATN;IAUNe,cAAc,EAAE,QAVV,CAWN;;EAXM,CA7DuB;EA0E/B7C,cAAc,EAAE;IACd+B,eAAe,EAAE;EADH,CA1Ee;EA6E/Be,aAAa,EAAE;IACbC,OAAO,EAAE;EADI,CA7EgB;EAgF/B5C,aAAa,EAAE;IACbkC,SAAS,EAAE,QADE;IAEbI,QAAQ,EAAE,EAFG;IAGbE,KAAK,EAAE;EAHM,CAhFgB;EAqF/BzC,UAAU,EAAE,CACV;IACA;IACA;IACA;EAJU,CArFmB;EA2F/B8C,eAAe,EAAE;IACfP,QAAQ,EAAE;EADK,CA3Fc;EA8F/BrC,kBAAkB,EAAE;IAClBuC,KAAK,EAAE;EADW,CA9FW;EAiG/B1C,gBAAgB,EAAE;IAChB8B,eAAe,EAAE,SADD;IAEhBY,KAAK,EAAE;EAFS,CAjGa;EAqG/BtC,gBAAgB,EAAE;IAChBkC,WAAW,EAAE,EADG;IAEhBrB,KAAK,EAAE,EAFS;IAGhBC,MAAM,EAAE;EAHQ,CArGa;EA0G/Bb,gBAAgB,EAAE;IAChBmC,QAAQ,EAAE,EADM;IAEhBD,YAAY,EAAE;EAFE,CA1Ga;EA8G/B9B,uBAAuB,EAAE;IACvBoB,UAAU,EAAE;EADW,CA9GM;EAiH/BrB,IAAI,EAAE;IACJkC,KAAK,EAAE;EADH,CAjHyB;EAoH/BpC,GAAG,EAAE;IACHyB,eAAe,EAAE;EADd,CApH0B;EAuH/BxB,MAAM,EAAE;IACNyC,SAAS,EAAE;EADL,CAvHuB;EA0H/BtC,QAAQ,EAAE;IACR8B,QAAQ,EAAE,EADF;IAERS,UAAU,EAAE;EAFJ,CA1HqB;EA8H/BtC,WAAW,EAAE;IACX+B,KAAK,EAAE;EADI;AA9HkB,CAAlB,CAAf"}
@@ -1,40 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var React = _interopRequireWildcard(require("react"));
9
-
10
- var _reactNativeSvg = _interopRequireWildcard(require("react-native-svg"));
11
-
12
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13
-
14
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
15
-
16
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
17
-
18
- /* SVGR has dropped some elements not supported by react-native-svg: style */
19
- const SvgComponent = props => /*#__PURE__*/React.createElement(_reactNativeSvg.default, _extends({
20
- id: "icon" // @ts-ignore
21
- ,
22
- xmlns: "http://www.w3.org/2000/svg",
23
- width: 32,
24
- height: 32,
25
- viewBox: "0 0 32 32"
26
- }, props), /*#__PURE__*/React.createElement(_reactNativeSvg.Defs, null), /*#__PURE__*/React.createElement(_reactNativeSvg.Path, {
27
- d: "M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2ZM14,21.5908l-5-5L10.5906,15,14,18.4092,21.41,11l1.5957,1.5859Z"
28
- }), /*#__PURE__*/React.createElement(_reactNativeSvg.Polygon, {
29
- id: "inner-path",
30
- points: "14 21.591 9 16.591 10.591 15 14 18.409 21.41 11 23.005 12.585 14 21.591"
31
- }), /*#__PURE__*/React.createElement(_reactNativeSvg.Rect, {
32
- id: "_Transparent_Rectangle_",
33
- "data-name": "<Transparent Rectangle>",
34
- width: 32,
35
- height: 32
36
- }));
37
-
38
- var _default = SvgComponent;
39
- exports.default = _default;
40
- //# sourceMappingURL=CheckmarkFilled.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["SvgComponent","props"],"sources":["CheckmarkFilled.tsx"],"sourcesContent":["import * as React from 'react';\nimport Svg, { SvgProps, Defs, Path, Polygon, Rect } from 'react-native-svg';\n/* SVGR has dropped some elements not supported by react-native-svg: style */\n\nconst SvgComponent = (props: SvgProps) => (\n <Svg\n id=\"icon\"\n // @ts-ignore\n xmlns=\"http://www.w3.org/2000/svg\"\n width={32}\n height={32}\n viewBox=\"0 0 32 32\"\n {...props}\n >\n <Defs />\n <Path d=\"M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2ZM14,21.5908l-5-5L10.5906,15,14,18.4092,21.41,11l1.5957,1.5859Z\" />\n <Polygon\n id=\"inner-path\"\n points=\"14 21.591 9 16.591 10.591 15 14 18.409 21.41 11 23.005 12.585 14 21.591\"\n />\n <Rect\n id=\"_Transparent_Rectangle_\"\n data-name=\"&lt;Transparent Rectangle&gt;\"\n width={32}\n height={32}\n />\n </Svg>\n);\n\nexport default SvgComponent;\n"],"mappings":";;;;;;;AAAA;;AACA;;;;;;;;AACA;AAEA,MAAMA,YAAY,GAAIC,KAAD,iBACnB,oBAAC,uBAAD;EACE,EAAE,EAAC,MADL,CAEE;EAFF;EAGE,KAAK,EAAC,4BAHR;EAIE,KAAK,EAAE,EAJT;EAKE,MAAM,EAAE,EALV;EAME,OAAO,EAAC;AANV,GAOMA,KAPN,gBASE,oBAAC,oBAAD,OATF,eAUE,oBAAC,oBAAD;EAAM,CAAC,EAAC;AAAR,EAVF,eAWE,oBAAC,uBAAD;EACE,EAAE,EAAC,YADL;EAEE,MAAM,EAAC;AAFT,EAXF,eAeE,oBAAC,oBAAD;EACE,EAAE,EAAC,yBADL;EAEE,aAAU,yBAFZ;EAGE,KAAK,EAAE,EAHT;EAIE,MAAM,EAAE;AAJV,EAfF,CADF;;eAyBeD,Y"}
@@ -1,100 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var React = _interopRequireWildcard(require("react"));
9
-
10
- var _reactNativeSvg = _interopRequireWildcard(require("react-native-svg"));
11
-
12
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13
-
14
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
15
-
16
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
17
-
18
- /* SVGR has dropped some elements not supported by react-native-svg: title, filter */
19
- const SvgComponent = props => /*#__PURE__*/React.createElement(_reactNativeSvg.default, _extends({
20
- width: "79px",
21
- height: "68px",
22
- viewBox: "0 0 79 68" // @ts-ignore
23
- ,
24
- xmlns: "http://www.w3.org/2000/svg",
25
- xmlnsXlink: "http://www.w3.org/1999/xlink"
26
- }, props), /*#__PURE__*/React.createElement(_reactNativeSvg.Defs, null, /*#__PURE__*/React.createElement(_reactNativeSvg.Rect, {
27
- id: "path-1",
28
- x: 9.69736842,
29
- y: 6.17105263,
30
- width: 53.7763158,
31
- height: 45.8421053,
32
- rx: 8
33
- }), /*#__PURE__*/React.createElement(_reactNativeSvg.Path, {
34
- d: "M1.49198314,22.8826009 L27.3602885,37.5009111 C33.5004408,40.9707422 41.014234,40.9500831 47.1352131,37.4465401 L72.5558685,22.8961951 C73.0351888,22.6218404 73.6461631,22.7879979 73.9205178,23.2673182 C74.007089,23.4185653 74.0526316,23.5898106 74.0526316,23.7640813 L74.0526316,63 C74.0526316,65.209139 72.2617706,67 70.0526316,67 L4,67 C1.790861,67 2.705415e-16,65.209139 0,63 L0,23.7532056 C8.43762138e-16,23.2009209 0.44771525,22.7532056 1,22.7532056 C1.17240673,22.7532056 1.34188502,22.7977797 1.49198314,22.8826009 Z",
35
- id: "path-3"
36
- })), /*#__PURE__*/React.createElement(_reactNativeSvg.G, {
37
- id: "V2-post--feedback",
38
- stroke: "none",
39
- strokeWidth: 1,
40
- fill: "none",
41
- fillRule: "evenodd"
42
- }, /*#__PURE__*/React.createElement(_reactNativeSvg.G, {
43
- id: "xlg-1312px-16-column-copy-96",
44
- transform: "translate(-616.000000, -265.000000)"
45
- }, /*#__PURE__*/React.createElement(_reactNativeSvg.G, {
46
- id: "Group",
47
- transform: "translate(618.000000, 265.000000)"
48
- }, /*#__PURE__*/React.createElement(_reactNativeSvg.Path, {
49
- d: "M1.1333848,21.7417845 L33.0948714,2.49908682 C35.6464021,0.96291506 38.8400625,0.97130271 41.383489,2.52085558 L72.9358668,21.743773 C73.4075139,22.0311185 73.5569199,22.6464036 73.2695744,23.1180507 C73.2235298,23.1936281 73.1676563,23.2627588 73.1034181,23.3236315 L37.2457723,57.3026316 L37.2457723,57.3026316 L0.965647178,23.3284209 C0.562522036,22.9509179 0.54175124,22.3180937 0.919254307,21.9149685 C0.982302388,21.8476412 1.0543624,21.7893607 1.1333848,21.7417845 Z",
50
- id: "Path-28",
51
- fill: "#545454"
52
- }), /*#__PURE__*/React.createElement(_reactNativeSvg.G, {
53
- id: "Rectangle"
54
- }, /*#__PURE__*/React.createElement(_reactNativeSvg.Use, {
55
- fill: "black",
56
- fillOpacity: 1 // @ts-ignore
57
- ,
58
- filter: "url(#filter-2)",
59
- xlinkHref: "#path-1"
60
- }), /*#__PURE__*/React.createElement(_reactNativeSvg.Use, {
61
- fill: "#FFFFFF",
62
- fillRule: "evenodd",
63
- xlinkHref: "#path-1"
64
- })), /*#__PURE__*/React.createElement(_reactNativeSvg.Rect, {
65
- id: "Rectangle",
66
- fillOpacity: 0.4,
67
- fill: "#D8D8D8",
68
- x: 18.5131579,
69
- y: 19.3947368,
70
- width: 36.1447368,
71
- height: 3.52631579
72
- }), /*#__PURE__*/React.createElement(_reactNativeSvg.Rect, {
73
- id: "Rectangle-Copy",
74
- fillOpacity: 0.4,
75
- fill: "#D8D8D8",
76
- x: 18.5131579,
77
- y: 27.3289474,
78
- width: 36.1447368,
79
- height: 26.4473684
80
- }), /*#__PURE__*/React.createElement(_reactNativeSvg.G, {
81
- id: "Rectangle"
82
- }, /*#__PURE__*/React.createElement(_reactNativeSvg.Use, {
83
- fill: "black",
84
- fillOpacity: 1 // @ts-ignore
85
- ,
86
- filter: "url(#filter-4)",
87
- xlinkHref: "#path-3"
88
- }), /*#__PURE__*/React.createElement(_reactNativeSvg.Use, {
89
- fill: "#646464",
90
- fillRule: "evenodd",
91
- xlinkHref: "#path-3"
92
- })), /*#__PURE__*/React.createElement(_reactNativeSvg.Path, {
93
- d: "M23.2845382,51.744338 L1.76315789,67 L1.76315789,67 L71.4078947,67 L49.8865144,51.744338 C41.9186006,46.0961966 31.252452,46.0961966 23.2845382,51.744338 Z",
94
- id: "Path-29",
95
- fill: "#545454"
96
- })))));
97
-
98
- var _default = SvgComponent;
99
- exports.default = _default;
100
- //# sourceMappingURL=EmailVerifyWaiting.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["SvgComponent","props"],"sources":["EmailVerifyWaiting.tsx"],"sourcesContent":["import * as React from 'react';\nimport Svg, { SvgProps, Defs, Rect, Path, G, Use } from 'react-native-svg';\n/* SVGR has dropped some elements not supported by react-native-svg: title, filter */\n\nconst SvgComponent = (props: SvgProps) => (\n <Svg\n width=\"79px\"\n height=\"68px\"\n viewBox=\"0 0 79 68\"\n // @ts-ignore\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n {...props}\n >\n <Defs>\n <Rect\n id=\"path-1\"\n x={9.69736842}\n y={6.17105263}\n width={53.7763158}\n height={45.8421053}\n rx={8}\n />\n <Path\n d=\"M1.49198314,22.8826009 L27.3602885,37.5009111 C33.5004408,40.9707422 41.014234,40.9500831 47.1352131,37.4465401 L72.5558685,22.8961951 C73.0351888,22.6218404 73.6461631,22.7879979 73.9205178,23.2673182 C74.007089,23.4185653 74.0526316,23.5898106 74.0526316,23.7640813 L74.0526316,63 C74.0526316,65.209139 72.2617706,67 70.0526316,67 L4,67 C1.790861,67 2.705415e-16,65.209139 0,63 L0,23.7532056 C8.43762138e-16,23.2009209 0.44771525,22.7532056 1,22.7532056 C1.17240673,22.7532056 1.34188502,22.7977797 1.49198314,22.8826009 Z\"\n id=\"path-3\"\n />\n </Defs>\n <G\n id=\"V2-post--feedback\"\n stroke=\"none\"\n strokeWidth={1}\n fill=\"none\"\n fillRule=\"evenodd\"\n >\n <G\n id=\"xlg-1312px-16-column-copy-96\"\n transform=\"translate(-616.000000, -265.000000)\"\n >\n <G id=\"Group\" transform=\"translate(618.000000, 265.000000)\">\n <Path\n d=\"M1.1333848,21.7417845 L33.0948714,2.49908682 C35.6464021,0.96291506 38.8400625,0.97130271 41.383489,2.52085558 L72.9358668,21.743773 C73.4075139,22.0311185 73.5569199,22.6464036 73.2695744,23.1180507 C73.2235298,23.1936281 73.1676563,23.2627588 73.1034181,23.3236315 L37.2457723,57.3026316 L37.2457723,57.3026316 L0.965647178,23.3284209 C0.562522036,22.9509179 0.54175124,22.3180937 0.919254307,21.9149685 C0.982302388,21.8476412 1.0543624,21.7893607 1.1333848,21.7417845 Z\"\n id=\"Path-28\"\n fill=\"#545454\"\n />\n <G id=\"Rectangle\">\n <Use\n fill=\"black\"\n fillOpacity={1}\n // @ts-ignore\n filter=\"url(#filter-2)\"\n xlinkHref=\"#path-1\"\n />\n <Use fill=\"#FFFFFF\" fillRule=\"evenodd\" xlinkHref=\"#path-1\" />\n </G>\n <Rect\n id=\"Rectangle\"\n fillOpacity={0.4}\n fill=\"#D8D8D8\"\n x={18.5131579}\n y={19.3947368}\n width={36.1447368}\n height={3.52631579}\n />\n <Rect\n id=\"Rectangle-Copy\"\n fillOpacity={0.4}\n fill=\"#D8D8D8\"\n x={18.5131579}\n y={27.3289474}\n width={36.1447368}\n height={26.4473684}\n />\n <G id=\"Rectangle\">\n <Use\n fill=\"black\"\n fillOpacity={1}\n // @ts-ignore\n filter=\"url(#filter-4)\"\n xlinkHref=\"#path-3\"\n />\n <Use fill=\"#646464\" fillRule=\"evenodd\" xlinkHref=\"#path-3\" />\n </G>\n <Path\n d=\"M23.2845382,51.744338 L1.76315789,67 L1.76315789,67 L71.4078947,67 L49.8865144,51.744338 C41.9186006,46.0961966 31.252452,46.0961966 23.2845382,51.744338 Z\"\n id=\"Path-29\"\n fill=\"#545454\"\n />\n </G>\n </G>\n </G>\n </Svg>\n);\n\nexport default SvgComponent;\n"],"mappings":";;;;;;;AAAA;;AACA;;;;;;;;AACA;AAEA,MAAMA,YAAY,GAAIC,KAAD,iBACnB,oBAAC,uBAAD;EACE,KAAK,EAAC,MADR;EAEE,MAAM,EAAC,MAFT;EAGE,OAAO,EAAC,WAHV,CAIE;EAJF;EAKE,KAAK,EAAC,4BALR;EAME,UAAU,EAAC;AANb,GAOMA,KAPN,gBASE,oBAAC,oBAAD,qBACE,oBAAC,oBAAD;EACE,EAAE,EAAC,QADL;EAEE,CAAC,EAAE,UAFL;EAGE,CAAC,EAAE,UAHL;EAIE,KAAK,EAAE,UAJT;EAKE,MAAM,EAAE,UALV;EAME,EAAE,EAAE;AANN,EADF,eASE,oBAAC,oBAAD;EACE,CAAC,EAAC,8gBADJ;EAEE,EAAE,EAAC;AAFL,EATF,CATF,eAuBE,oBAAC,iBAAD;EACE,EAAE,EAAC,mBADL;EAEE,MAAM,EAAC,MAFT;EAGE,WAAW,EAAE,CAHf;EAIE,IAAI,EAAC,MAJP;EAKE,QAAQ,EAAC;AALX,gBAOE,oBAAC,iBAAD;EACE,EAAE,EAAC,8BADL;EAEE,SAAS,EAAC;AAFZ,gBAIE,oBAAC,iBAAD;EAAG,EAAE,EAAC,OAAN;EAAc,SAAS,EAAC;AAAxB,gBACE,oBAAC,oBAAD;EACE,CAAC,EAAC,2dADJ;EAEE,EAAE,EAAC,SAFL;EAGE,IAAI,EAAC;AAHP,EADF,eAME,oBAAC,iBAAD;EAAG,EAAE,EAAC;AAAN,gBACE,oBAAC,mBAAD;EACE,IAAI,EAAC,OADP;EAEE,WAAW,EAAE,CAFf,CAGE;EAHF;EAIE,MAAM,EAAC,gBAJT;EAKE,SAAS,EAAC;AALZ,EADF,eAQE,oBAAC,mBAAD;EAAK,IAAI,EAAC,SAAV;EAAoB,QAAQ,EAAC,SAA7B;EAAuC,SAAS,EAAC;AAAjD,EARF,CANF,eAgBE,oBAAC,oBAAD;EACE,EAAE,EAAC,WADL;EAEE,WAAW,EAAE,GAFf;EAGE,IAAI,EAAC,SAHP;EAIE,CAAC,EAAE,UAJL;EAKE,CAAC,EAAE,UALL;EAME,KAAK,EAAE,UANT;EAOE,MAAM,EAAE;AAPV,EAhBF,eAyBE,oBAAC,oBAAD;EACE,EAAE,EAAC,gBADL;EAEE,WAAW,EAAE,GAFf;EAGE,IAAI,EAAC,SAHP;EAIE,CAAC,EAAE,UAJL;EAKE,CAAC,EAAE,UALL;EAME,KAAK,EAAE,UANT;EAOE,MAAM,EAAE;AAPV,EAzBF,eAkCE,oBAAC,iBAAD;EAAG,EAAE,EAAC;AAAN,gBACE,oBAAC,mBAAD;EACE,IAAI,EAAC,OADP;EAEE,WAAW,EAAE,CAFf,CAGE;EAHF;EAIE,MAAM,EAAC,gBAJT;EAKE,SAAS,EAAC;AALZ,EADF,eAQE,oBAAC,mBAAD;EAAK,IAAI,EAAC,SAAV;EAAoB,QAAQ,EAAC,SAA7B;EAAuC,SAAS,EAAC;AAAjD,EARF,CAlCF,eA4CE,oBAAC,oBAAD;EACE,CAAC,EAAC,6JADJ;EAEE,EAAE,EAAC,SAFL;EAGE,IAAI,EAAC;AAHP,EA5CF,CAJF,CAPF,CAvBF,CADF;;eA0FeD,Y"}
@@ -1,31 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var React = _interopRequireWildcard(require("react"));
9
-
10
- var _reactNativeSvg = _interopRequireWildcard(require("react-native-svg"));
11
-
12
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13
-
14
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
15
-
16
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
17
-
18
- /* SVGR has dropped some elements not supported by react-native-svg: title */
19
- const SvgComponent = props => /*#__PURE__*/React.createElement(_reactNativeSvg.default, _extends({
20
- width: 24,
21
- height: 24,
22
- xmlns: "http://www.w3.org/2000/svg"
23
- }, props), /*#__PURE__*/React.createElement(_reactNativeSvg.Path, {
24
- d: "M0 0h48v1H0z",
25
- fill: "#DA1E28",
26
- fillRule: "evenodd"
27
- }));
28
-
29
- var _default = SvgComponent;
30
- exports.default = _default;
31
- //# sourceMappingURL=ErrorIcon.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["SvgComponent","props"],"sources":["ErrorIcon.tsx"],"sourcesContent":["import * as React from 'react';\nimport Svg, { SvgProps, Path } from 'react-native-svg';\n/* SVGR has dropped some elements not supported by react-native-svg: title */\n\nconst SvgComponent = (props: SvgProps) => (\n <Svg width={24} height={24} xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <Path d=\"M0 0h48v1H0z\" fill=\"#DA1E28\" fillRule=\"evenodd\" />\n </Svg>\n);\n\nexport default SvgComponent;\n"],"mappings":";;;;;;;AAAA;;AACA;;;;;;;;AACA;AAEA,MAAMA,YAAY,GAAIC,KAAD,iBACnB,oBAAC,uBAAD;EAAK,KAAK,EAAE,EAAZ;EAAgB,MAAM,EAAE,EAAxB;EAA4B,KAAK,EAAC;AAAlC,GAAmEA,KAAnE,gBACE,oBAAC,oBAAD;EAAM,CAAC,EAAC,cAAR;EAAuB,IAAI,EAAC,SAA5B;EAAsC,QAAQ,EAAC;AAA/C,EADF,CADF;;eAMeD,Y"}
@@ -1,91 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var React = _interopRequireWildcard(require("react"));
9
-
10
- var _reactNativeSvg = _interopRequireWildcard(require("react-native-svg"));
11
-
12
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13
-
14
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
15
-
16
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
17
-
18
- /* SVGR has dropped some elements not supported by react-native-svg: title, filter */
19
- const SvgComponent = props => /*#__PURE__*/React.createElement(_reactNativeSvg.default, _extends({
20
- width: "62px",
21
- height: "100px",
22
- viewBox: "0 0 62 100" // @ts-ignore
23
- ,
24
- xmlns: "http://www.w3.org/2000/svg",
25
- xmlnsXlink: "http://www.w3.org/1999/xlink"
26
- }, props), /*#__PURE__*/React.createElement(_reactNativeSvg.Defs, null, /*#__PURE__*/React.createElement(_reactNativeSvg.Rect, {
27
- id: "path-1",
28
- x: 0,
29
- y: 0,
30
- width: 58,
31
- height: 96,
32
- rx: 8
33
- })), /*#__PURE__*/React.createElement(_reactNativeSvg.G, {
34
- id: "SMS-verify-from-web-stay-on-web-(BR)",
35
- stroke: "none",
36
- strokeWidth: 1,
37
- fill: "none",
38
- fillRule: "evenodd"
39
- }, /*#__PURE__*/React.createElement(_reactNativeSvg.G, {
40
- id: "xlg-1312px-16-column-copy-51",
41
- transform: "translate(-625.000000, -259.000000)"
42
- }, /*#__PURE__*/React.createElement(_reactNativeSvg.G, {
43
- id: "unverified-phone",
44
- transform: "translate(627.000000, 261.000000)"
45
- }, /*#__PURE__*/React.createElement(_reactNativeSvg.G, {
46
- id: "Rectangle"
47
- }, /*#__PURE__*/React.createElement(_reactNativeSvg.Use, {
48
- fill: "black",
49
- fillOpacity: 1 // @ts-ignore
50
- ,
51
- filter: "url(#filter-2)",
52
- xlinkHref: "#path-1"
53
- }), /*#__PURE__*/React.createElement(_reactNativeSvg.Use, {
54
- fill: "#444444",
55
- fillRule: "evenodd",
56
- xlinkHref: "#path-1"
57
- })), /*#__PURE__*/React.createElement(_reactNativeSvg.Circle, {
58
- id: "Oval",
59
- fill: "#000000",
60
- cx: 29,
61
- cy: 89,
62
- r: 5
63
- }), /*#__PURE__*/React.createElement(_reactNativeSvg.Rect, {
64
- id: "Rectangle",
65
- fill: "#FFFFFF",
66
- x: 5,
67
- y: 11,
68
- width: 48,
69
- height: 71,
70
- rx: 2
71
- }), /*#__PURE__*/React.createElement(_reactNativeSvg.Rect, {
72
- id: "Rectangle",
73
- fillOpacity: 0.4,
74
- fill: "#D8D8D8",
75
- x: 10,
76
- y: 20,
77
- width: 38,
78
- height: 5
79
- }), /*#__PURE__*/React.createElement(_reactNativeSvg.Rect, {
80
- id: "Rectangle-Copy",
81
- fillOpacity: 0.4,
82
- fill: "#D8D8D8",
83
- x: 10,
84
- y: 31,
85
- width: 38,
86
- height: 36
87
- })))));
88
-
89
- var _default = SvgComponent;
90
- exports.default = _default;
91
- //# sourceMappingURL=PhoneVerifyWaiting.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["SvgComponent","props"],"sources":["PhoneVerifyWaiting.tsx"],"sourcesContent":["import * as React from 'react';\nimport Svg, { SvgProps, Defs, Rect, G, Use, Circle } from 'react-native-svg';\n/* SVGR has dropped some elements not supported by react-native-svg: title, filter */\n\nconst SvgComponent = (props: SvgProps) => (\n <Svg\n width=\"62px\"\n height=\"100px\"\n viewBox=\"0 0 62 100\"\n // @ts-ignore\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n {...props}\n >\n <Defs>\n <Rect id=\"path-1\" x={0} y={0} width={58} height={96} rx={8} />\n </Defs>\n <G\n id=\"SMS-verify-from-web-stay-on-web-(BR)\"\n stroke=\"none\"\n strokeWidth={1}\n fill=\"none\"\n fillRule=\"evenodd\"\n >\n <G\n id=\"xlg-1312px-16-column-copy-51\"\n transform=\"translate(-625.000000, -259.000000)\"\n >\n <G id=\"unverified-phone\" transform=\"translate(627.000000, 261.000000)\">\n <G id=\"Rectangle\">\n <Use\n fill=\"black\"\n fillOpacity={1}\n // @ts-ignore\n filter=\"url(#filter-2)\"\n xlinkHref=\"#path-1\"\n />\n <Use fill=\"#444444\" fillRule=\"evenodd\" xlinkHref=\"#path-1\" />\n </G>\n <Circle id=\"Oval\" fill=\"#000000\" cx={29} cy={89} r={5} />\n <Rect\n id=\"Rectangle\"\n fill=\"#FFFFFF\"\n x={5}\n y={11}\n width={48}\n height={71}\n rx={2}\n />\n <Rect\n id=\"Rectangle\"\n fillOpacity={0.4}\n fill=\"#D8D8D8\"\n x={10}\n y={20}\n width={38}\n height={5}\n />\n <Rect\n id=\"Rectangle-Copy\"\n fillOpacity={0.4}\n fill=\"#D8D8D8\"\n x={10}\n y={31}\n width={38}\n height={36}\n />\n </G>\n </G>\n </G>\n </Svg>\n);\n\nexport default SvgComponent;\n"],"mappings":";;;;;;;AAAA;;AACA;;;;;;;;AACA;AAEA,MAAMA,YAAY,GAAIC,KAAD,iBACnB,oBAAC,uBAAD;EACE,KAAK,EAAC,MADR;EAEE,MAAM,EAAC,OAFT;EAGE,OAAO,EAAC,YAHV,CAIE;EAJF;EAKE,KAAK,EAAC,4BALR;EAME,UAAU,EAAC;AANb,GAOMA,KAPN,gBASE,oBAAC,oBAAD,qBACE,oBAAC,oBAAD;EAAM,EAAE,EAAC,QAAT;EAAkB,CAAC,EAAE,CAArB;EAAwB,CAAC,EAAE,CAA3B;EAA8B,KAAK,EAAE,EAArC;EAAyC,MAAM,EAAE,EAAjD;EAAqD,EAAE,EAAE;AAAzD,EADF,CATF,eAYE,oBAAC,iBAAD;EACE,EAAE,EAAC,sCADL;EAEE,MAAM,EAAC,MAFT;EAGE,WAAW,EAAE,CAHf;EAIE,IAAI,EAAC,MAJP;EAKE,QAAQ,EAAC;AALX,gBAOE,oBAAC,iBAAD;EACE,EAAE,EAAC,8BADL;EAEE,SAAS,EAAC;AAFZ,gBAIE,oBAAC,iBAAD;EAAG,EAAE,EAAC,kBAAN;EAAyB,SAAS,EAAC;AAAnC,gBACE,oBAAC,iBAAD;EAAG,EAAE,EAAC;AAAN,gBACE,oBAAC,mBAAD;EACE,IAAI,EAAC,OADP;EAEE,WAAW,EAAE,CAFf,CAGE;EAHF;EAIE,MAAM,EAAC,gBAJT;EAKE,SAAS,EAAC;AALZ,EADF,eAQE,oBAAC,mBAAD;EAAK,IAAI,EAAC,SAAV;EAAoB,QAAQ,EAAC,SAA7B;EAAuC,SAAS,EAAC;AAAjD,EARF,CADF,eAWE,oBAAC,sBAAD;EAAQ,EAAE,EAAC,MAAX;EAAkB,IAAI,EAAC,SAAvB;EAAiC,EAAE,EAAE,EAArC;EAAyC,EAAE,EAAE,EAA7C;EAAiD,CAAC,EAAE;AAApD,EAXF,eAYE,oBAAC,oBAAD;EACE,EAAE,EAAC,WADL;EAEE,IAAI,EAAC,SAFP;EAGE,CAAC,EAAE,CAHL;EAIE,CAAC,EAAE,EAJL;EAKE,KAAK,EAAE,EALT;EAME,MAAM,EAAE,EANV;EAOE,EAAE,EAAE;AAPN,EAZF,eAqBE,oBAAC,oBAAD;EACE,EAAE,EAAC,WADL;EAEE,WAAW,EAAE,GAFf;EAGE,IAAI,EAAC,SAHP;EAIE,CAAC,EAAE,EAJL;EAKE,CAAC,EAAE,EALL;EAME,KAAK,EAAE,EANT;EAOE,MAAM,EAAE;AAPV,EArBF,eA8BE,oBAAC,oBAAD;EACE,EAAE,EAAC,gBADL;EAEE,WAAW,EAAE,GAFf;EAGE,IAAI,EAAC,SAHP;EAIE,CAAC,EAAE,EAJL;EAKE,CAAC,EAAE,EALL;EAME,KAAK,EAAE,EANT;EAOE,MAAM,EAAE;AAPV,EA9BF,CAJF,CAPF,CAZF,CADF;;eAqEeD,Y"}
@@ -1,26 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.ActionType = void 0;
7
- let ActionType;
8
- exports.ActionType = ActionType;
9
-
10
- (function (ActionType) {
11
- ActionType["SET_CONTAINER_VISIBLE"] = "SET_CONTAINER_VISIBLE";
12
- ActionType["CHANGE_ROUTE"] = "CHANGE_ROUTE";
13
- ActionType["LOGIN_SUCCESS"] = "LOGIN_SUCCESS";
14
- ActionType["LOAD_USER"] = "LOAD_USER";
15
- ActionType["REFRESH_TOKEN"] = "REFRESH_TOKEN";
16
- ActionType["SIGN_OUT"] = "SIGN_OUT";
17
- ActionType["UPDATE_LOCAL_ACLS"] = "UPDATE_LOCAL_ACLS";
18
- ActionType["SET_USER_DATA_FIELD"] = "SET_USER_DATA_FIELD";
19
- ActionType["SET_USER_DATA"] = "SET_USER_DATA";
20
- ActionType["SET_REFRESH_USER_DATA"] = "SET_REFRESH_USER_DATA";
21
- ActionType["LOAD_STATE"] = "LOAD_STATE";
22
- ActionType["SET_SECTION"] = "SET_SECTION";
23
- ActionType["SET_IS_SAVING_USER_DATA"] = "SET_IS_SAVING_USER_DATA";
24
- ActionType["SET_APP_CONFIG"] = "SET_APP_CONFIG";
25
- })(ActionType || (exports.ActionType = ActionType = {}));
26
- //# sourceMappingURL=actions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["ActionType"],"sources":["actions.ts"],"sourcesContent":["export enum ActionType {\n SET_CONTAINER_VISIBLE = 'SET_CONTAINER_VISIBLE',\n CHANGE_ROUTE = 'CHANGE_ROUTE',\n LOGIN_SUCCESS = 'LOGIN_SUCCESS',\n LOAD_USER = 'LOAD_USER',\n REFRESH_TOKEN = 'REFRESH_TOKEN',\n SIGN_OUT = 'SIGN_OUT',\n UPDATE_LOCAL_ACLS = 'UPDATE_LOCAL_ACLS',\n SET_USER_DATA_FIELD = 'SET_USER_DATA_FIELD',\n SET_USER_DATA = 'SET_USER_DATA',\n SET_REFRESH_USER_DATA = 'SET_REFRESH_USER_DATA',\n LOAD_STATE = 'LOAD_STATE',\n SET_SECTION = 'SET_SECTION',\n SET_IS_SAVING_USER_DATA = 'SET_IS_SAVING_USER_DATA',\n SET_APP_CONFIG = 'SET_APP_CONFIG',\n}\n\nexport type TAction = {\n type: ActionType;\n payload?: any;\n};\n"],"mappings":";;;;;;IAAYA,U;;;WAAAA,U;EAAAA,U;EAAAA,U;EAAAA,U;EAAAA,U;EAAAA,U;EAAAA,U;EAAAA,U;EAAAA,U;EAAAA,U;EAAAA,U;EAAAA,U;EAAAA,U;EAAAA,U;EAAAA,U;GAAAA,U,0BAAAA,U"}
@@ -1,155 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.DEFAULT_USER_AGENT = void 0;
7
- exports.default = useApi;
8
-
9
- var _ky = _interopRequireDefault(require("ky"));
10
-
11
- var _jwtDecode = _interopRequireDefault(require("jwt-decode"));
12
-
13
- var _GlobalContext = require("../components/GlobalContext");
14
-
15
- var _queue = _interopRequireDefault(require("../utils/queue"));
16
-
17
- var _react = require("react");
18
-
19
- var _reactNative = require("react-native");
20
-
21
- var _actions = require("../data/actions");
22
-
23
- var _package = _interopRequireDefault(require("../../package.json"));
24
-
25
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
26
-
27
- const refreshQueue = new _queue.default();
28
- const DEFAULT_USER_AGENT = `Rownd SDK for React Native/${_package.default.version} (Language: TypeScript/JavaScript; Platform=${_reactNative.Platform.OS};)`;
29
- exports.DEFAULT_USER_AGENT = DEFAULT_USER_AGENT;
30
-
31
- function useApi() {
32
- var _state$config;
33
-
34
- const {
35
- state,
36
- dispatch
37
- } = (0, _GlobalContext.useGlobalContext)();
38
- const authRef = (0, _react.useRef)({
39
- access_token: state.auth.access_token,
40
- refresh_token: state.auth.refresh_token
41
- });
42
- (0, _react.useEffect)(() => {
43
- authRef.current = {
44
- access_token: state.auth.access_token,
45
- refresh_token: state.auth.refresh_token
46
- };
47
- }, [state.auth.access_token, state.auth.refresh_token]);
48
-
49
- function isNewAccessTokenNeeded(request) {
50
- var _authRef$current, _authRef$current2;
51
-
52
- // stateCopy = stateCopy || state;
53
- // Skip requests that don't need authentication
54
- if (!!request && !(request !== null && request !== void 0 && request.headers.get('authorization')) || !((_authRef$current = authRef.current) !== null && _authRef$current !== void 0 && _authRef$current.access_token)) {
55
- return false;
56
- }
57
-
58
- const tokenPayload = (0, _jwtDecode.default)((_authRef$current2 = authRef.current) === null || _authRef$current2 === void 0 ? void 0 : _authRef$current2.access_token); // Shave 5 minutes off the token expiration to account for clock skew
59
-
60
- const tokenExpiration = (tokenPayload.exp - 5 * 60) * 1000;
61
-
62
- if (tokenExpiration > Date.now()) {
63
- return false; // shouldn't be expired
64
- }
65
-
66
- return true;
67
- }
68
-
69
- async function _newAccessTokenFromRefreshToken(stateCopy) {
70
- var _this$_cache;
71
-
72
- stateCopy = stateCopy || state;
73
-
74
- if (this !== null && this !== void 0 && (_this$_cache = this._cache) !== null && _this$_cache !== void 0 && _this$_cache.resp) {
75
- // logger.log('using cached refresh response');
76
- return this._cache.resp;
77
- }
78
-
79
- try {
80
- var _stateCopy$config, _stateCopy$auth;
81
-
82
- // logger.log('requesting new refresh token');
83
- const resp = await _ky.default.post(`${(_stateCopy$config = stateCopy.config) === null || _stateCopy$config === void 0 ? void 0 : _stateCopy$config.apiUrl}/hub/auth/token`, {
84
- json: {
85
- refresh_token: (_stateCopy$auth = stateCopy.auth) === null || _stateCopy$auth === void 0 ? void 0 : _stateCopy$auth.refresh_token
86
- }
87
- }).json();
88
- this._cache.resp = resp; // Update local cache ref immediately to prevent stale auth checks
89
-
90
- authRef.current = {
91
- access_token: resp.access_token,
92
- refresh_token: resp.refresh_token
93
- };
94
- dispatch({
95
- type: _actions.ActionType.REFRESH_TOKEN,
96
- payload: resp
97
- });
98
- return resp;
99
- } catch (err) {
100
- dispatch({
101
- type: _actions.ActionType.SIGN_OUT
102
- });
103
- throw err;
104
- }
105
- }
106
-
107
- async function newAccessTokenFromRefreshToken(stateCopy) {
108
- return await refreshQueue.enqueue(_newAccessTokenFromRefreshToken.bind(refreshQueue, stateCopy));
109
- }
110
-
111
- const client = (0, _react.useRef)(_ky.default.extend({
112
- prefixUrl: (_state$config = state.config) === null || _state$config === void 0 ? void 0 : _state$config.apiUrl,
113
- headers: {
114
- 'Content-Type': 'application/json',
115
- 'User-Agent': DEFAULT_USER_AGENT
116
- },
117
- retry: {
118
- limit: 2,
119
- statusCodes: [401, 408, 429, 500, 502, 503, 504]
120
- },
121
- hooks: {
122
- beforeRequest: [// Auto-refresh tokens
123
- async request => {
124
- // Skip requests that don't need authentication
125
- if (!isNewAccessTokenNeeded(request)) {
126
- return;
127
- }
128
-
129
- const tokenResp = await newAccessTokenFromRefreshToken();
130
- request.headers.set('Authorization', `Bearer ${tokenResp.access_token}`);
131
- }],
132
- beforeRetry: [async _ref => {
133
- let {
134
- request
135
- /*, options, error, retryCount*/
136
-
137
- } = _ref;
138
-
139
- // Skip requests that don't need authentication
140
- if (!isNewAccessTokenNeeded(request)) {
141
- return;
142
- }
143
-
144
- const tokenResp = await newAccessTokenFromRefreshToken();
145
- request.headers.set('Authorization', `Bearer ${tokenResp.access_token}`);
146
- }]
147
- }
148
- })).current;
149
- return {
150
- client,
151
- newAccessTokenFromRefreshToken,
152
- isNewAccessTokenNeeded
153
- };
154
- }
155
- //# sourceMappingURL=api.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["refreshQueue","AutoQueue","DEFAULT_USER_AGENT","packageJson","version","Platform","OS","useApi","state","dispatch","useGlobalContext","authRef","useRef","access_token","auth","refresh_token","useEffect","current","isNewAccessTokenNeeded","request","headers","get","tokenPayload","jwt_decode","tokenExpiration","exp","Date","now","_newAccessTokenFromRefreshToken","stateCopy","_cache","resp","ky","post","config","apiUrl","json","type","ActionType","REFRESH_TOKEN","payload","err","SIGN_OUT","newAccessTokenFromRefreshToken","enqueue","bind","client","extend","prefixUrl","retry","limit","statusCodes","hooks","beforeRequest","tokenResp","set","beforeRetry"],"sources":["api.ts"],"sourcesContent":["import ky from 'ky';\nimport jwt_decode, { JwtPayload } from 'jwt-decode';\n\nimport { useGlobalContext, GlobalState } from '../components/GlobalContext';\nimport AutoQueue from '../utils/queue';\nimport { useRef, useEffect } from 'react';\nimport { Platform } from 'react-native';\nimport { ActionType } from '../data/actions';\n\nimport packageJson from '../../package.json';\n\ntype RefreshTokenResp = {\n access_token: string;\n refresh_token: string;\n};\n\nconst refreshQueue = new AutoQueue<RefreshTokenResp>();\n\nexport const DEFAULT_USER_AGENT = `Rownd SDK for React Native/${packageJson.version} (Language: TypeScript/JavaScript; Platform=${Platform.OS};)`;\n\nexport default function useApi() {\n const { state, dispatch } = useGlobalContext();\n\n const authRef = useRef({\n access_token: state.auth.access_token,\n refresh_token: state.auth.refresh_token,\n });\n\n useEffect(() => {\n authRef.current = {\n access_token: state.auth.access_token,\n refresh_token: state.auth.refresh_token,\n };\n }, [state.auth.access_token, state.auth.refresh_token]);\n\n function isNewAccessTokenNeeded(request?: Request) {\n // stateCopy = stateCopy || state;\n // Skip requests that don't need authentication\n if (\n (!!request && !request?.headers.get('authorization')) ||\n !authRef.current?.access_token\n ) {\n return false;\n }\n\n const tokenPayload: JwtPayload = jwt_decode(authRef.current?.access_token);\n\n // Shave 5 minutes off the token expiration to account for clock skew\n const tokenExpiration = (tokenPayload.exp! - 5 * 60) * 1000;\n if (tokenExpiration > Date.now()) {\n return false; // shouldn't be expired\n }\n\n return true;\n }\n\n async function _newAccessTokenFromRefreshToken(\n this: AutoQueue<RefreshTokenResp>,\n stateCopy?: GlobalState\n ) {\n stateCopy = stateCopy || state;\n if (this?._cache?.resp) {\n // logger.log('using cached refresh response');\n return this._cache.resp;\n }\n\n try {\n // logger.log('requesting new refresh token');\n const resp: RefreshTokenResp = await ky\n .post(`${stateCopy.config?.apiUrl}/hub/auth/token`, {\n json: {\n refresh_token: stateCopy.auth?.refresh_token,\n },\n })\n .json();\n\n this._cache.resp = resp;\n\n // Update local cache ref immediately to prevent stale auth checks\n authRef.current = {\n access_token: resp.access_token,\n refresh_token: resp.refresh_token,\n };\n\n dispatch({\n type: ActionType.REFRESH_TOKEN,\n payload: resp,\n });\n\n return resp;\n } catch (err) {\n dispatch({\n type: ActionType.SIGN_OUT,\n });\n\n throw err;\n }\n }\n\n async function newAccessTokenFromRefreshToken(\n stateCopy?: GlobalState\n ): Promise<RefreshTokenResp> {\n return await refreshQueue.enqueue(\n _newAccessTokenFromRefreshToken.bind(refreshQueue, stateCopy)\n );\n }\n\n const client = useRef(\n ky.extend({\n prefixUrl: state.config?.apiUrl,\n headers: {\n 'Content-Type': 'application/json',\n 'User-Agent': DEFAULT_USER_AGENT,\n },\n retry: {\n limit: 2,\n statusCodes: [401, 408, 429, 500, 502, 503, 504],\n },\n hooks: {\n beforeRequest: [\n // Auto-refresh tokens\n async (request) => {\n // Skip requests that don't need authentication\n if (!isNewAccessTokenNeeded(request)) {\n return;\n }\n\n const tokenResp: RefreshTokenResp =\n await newAccessTokenFromRefreshToken();\n\n request.headers.set(\n 'Authorization',\n `Bearer ${tokenResp.access_token}`\n );\n },\n ],\n beforeRetry: [\n async ({ request /*, options, error, retryCount*/ }) => {\n // Skip requests that don't need authentication\n if (!isNewAccessTokenNeeded(request)) {\n return;\n }\n\n const tokenResp: RefreshTokenResp =\n await newAccessTokenFromRefreshToken();\n\n request.headers.set(\n 'Authorization',\n `Bearer ${tokenResp.access_token}`\n );\n },\n ],\n },\n })\n ).current;\n\n return {\n client,\n newAccessTokenFromRefreshToken,\n isNewAccessTokenNeeded,\n };\n}\n"],"mappings":"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"}