@velion-la/onboarding-sdk-react-native 1.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (557) hide show
  1. package/CHANGELOG.md +66 -0
  2. package/LICENSE +12 -0
  3. package/README.md +803 -0
  4. package/lib/commonjs/camera/AddressSearchBar.js +304 -0
  5. package/lib/commonjs/camera/AddressSearchBar.js.map +1 -0
  6. package/lib/commonjs/camera/DocumentCapture.js +505 -0
  7. package/lib/commonjs/camera/DocumentCapture.js.map +1 -0
  8. package/lib/commonjs/camera/LivenessCamera.js +534 -0
  9. package/lib/commonjs/camera/LivenessCamera.js.map +1 -0
  10. package/lib/commonjs/camera/MapAddressPicker.js +341 -0
  11. package/lib/commonjs/camera/MapAddressPicker.js.map +1 -0
  12. package/lib/commonjs/core/VelionOnboarding.js +815 -0
  13. package/lib/commonjs/core/VelionOnboarding.js.map +1 -0
  14. package/lib/commonjs/core/sessionDeclinedCopy.js +56 -0
  15. package/lib/commonjs/core/sessionDeclinedCopy.js.map +1 -0
  16. package/lib/commonjs/core/sessionStateMapper.js +137 -0
  17. package/lib/commonjs/core/sessionStateMapper.js.map +1 -0
  18. package/lib/commonjs/core/sseReasonMessages.js +450 -0
  19. package/lib/commonjs/core/sseReasonMessages.js.map +1 -0
  20. package/lib/commonjs/data/iso3166Alpha2Codes.json +1 -0
  21. package/lib/commonjs/data/iso3166CountryNames.json +251 -0
  22. package/lib/commonjs/i18n/index.js +30 -0
  23. package/lib/commonjs/i18n/index.js.map +1 -0
  24. package/lib/commonjs/i18n/strings/en.js +261 -0
  25. package/lib/commonjs/i18n/strings/en.js.map +1 -0
  26. package/lib/commonjs/i18n/strings/es.js +266 -0
  27. package/lib/commonjs/i18n/strings/es.js.map +1 -0
  28. package/lib/commonjs/index.js +213 -0
  29. package/lib/commonjs/index.js.map +1 -0
  30. package/lib/commonjs/package.json +1 -0
  31. package/lib/commonjs/steps/AddressInfoStep.js +650 -0
  32. package/lib/commonjs/steps/AddressInfoStep.js.map +1 -0
  33. package/lib/commonjs/steps/DocumentsOcrStep.js +397 -0
  34. package/lib/commonjs/steps/DocumentsOcrStep.js.map +1 -0
  35. package/lib/commonjs/steps/EmailContactStep.js +145 -0
  36. package/lib/commonjs/steps/EmailContactStep.js.map +1 -0
  37. package/lib/commonjs/steps/EmailOtpStep.js +220 -0
  38. package/lib/commonjs/steps/EmailOtpStep.js.map +1 -0
  39. package/lib/commonjs/steps/FaceMatchStep.js +166 -0
  40. package/lib/commonjs/steps/FaceMatchStep.js.map +1 -0
  41. package/lib/commonjs/steps/FingerprintStep.js +92 -0
  42. package/lib/commonjs/steps/FingerprintStep.js.map +1 -0
  43. package/lib/commonjs/steps/HumanBasicInfoStep.js +243 -0
  44. package/lib/commonjs/steps/HumanBasicInfoStep.js.map +1 -0
  45. package/lib/commonjs/steps/HumanExtendedInfoStep.js +268 -0
  46. package/lib/commonjs/steps/HumanExtendedInfoStep.js.map +1 -0
  47. package/lib/commonjs/steps/LegalBasicInfoStep.js +188 -0
  48. package/lib/commonjs/steps/LegalBasicInfoStep.js.map +1 -0
  49. package/lib/commonjs/steps/LegalExtendedInfoStep.js +166 -0
  50. package/lib/commonjs/steps/LegalExtendedInfoStep.js.map +1 -0
  51. package/lib/commonjs/steps/LivenessMatchStep.js +707 -0
  52. package/lib/commonjs/steps/LivenessMatchStep.js.map +1 -0
  53. package/lib/commonjs/steps/PhoneContactStep.js +146 -0
  54. package/lib/commonjs/steps/PhoneContactStep.js.map +1 -0
  55. package/lib/commonjs/steps/PhoneOtpStep.js +219 -0
  56. package/lib/commonjs/steps/PhoneOtpStep.js.map +1 -0
  57. package/lib/commonjs/steps/SwornDeclarationStep.js +196 -0
  58. package/lib/commonjs/steps/SwornDeclarationStep.js.map +1 -0
  59. package/lib/commonjs/steps/TaxInfoStep.js +244 -0
  60. package/lib/commonjs/steps/TaxInfoStep.js.map +1 -0
  61. package/lib/commonjs/steps/TermsAndConditionsStep.js +238 -0
  62. package/lib/commonjs/steps/TermsAndConditionsStep.js.map +1 -0
  63. package/lib/commonjs/steps/_shared.js +40 -0
  64. package/lib/commonjs/steps/_shared.js.map +1 -0
  65. package/lib/commonjs/steps/types.js +6 -0
  66. package/lib/commonjs/steps/types.js.map +1 -0
  67. package/lib/commonjs/transport/api.js +176 -0
  68. package/lib/commonjs/transport/api.js.map +1 -0
  69. package/lib/commonjs/transport/irisWebSocket.js +121 -0
  70. package/lib/commonjs/transport/irisWebSocket.js.map +1 -0
  71. package/lib/commonjs/transport/secureUrl.js +50 -0
  72. package/lib/commonjs/transport/secureUrl.js.map +1 -0
  73. package/lib/commonjs/transport/sse.js +248 -0
  74. package/lib/commonjs/transport/sse.js.map +1 -0
  75. package/lib/commonjs/types/index.js +391 -0
  76. package/lib/commonjs/types/index.js.map +1 -0
  77. package/lib/commonjs/ui/MapFallbackBoundary.js +42 -0
  78. package/lib/commonjs/ui/MapFallbackBoundary.js.map +1 -0
  79. package/lib/commonjs/ui/StepShell.js +118 -0
  80. package/lib/commonjs/ui/StepShell.js.map +1 -0
  81. package/lib/commonjs/ui/VelionOnboardingScreen.js +217 -0
  82. package/lib/commonjs/ui/VelionOnboardingScreen.js.map +1 -0
  83. package/lib/commonjs/ui/forms/index.js +38 -0
  84. package/lib/commonjs/ui/forms/index.js.map +1 -0
  85. package/lib/commonjs/ui/forms/useInlineValidation.js +88 -0
  86. package/lib/commonjs/ui/forms/useInlineValidation.js.map +1 -0
  87. package/lib/commonjs/ui/forms/validators.js +34 -0
  88. package/lib/commonjs/ui/forms/validators.js.map +1 -0
  89. package/lib/commonjs/ui/icons/HomeHeartIcon.js +38 -0
  90. package/lib/commonjs/ui/icons/HomeHeartIcon.js.map +1 -0
  91. package/lib/commonjs/ui/icons/StepIcon.js +59 -0
  92. package/lib/commonjs/ui/icons/StepIcon.js.map +1 -0
  93. package/lib/commonjs/ui/overlays/AnalyzingOverlay.js +284 -0
  94. package/lib/commonjs/ui/overlays/AnalyzingOverlay.js.map +1 -0
  95. package/lib/commonjs/ui/overlays/LoadingOverlay.js +108 -0
  96. package/lib/commonjs/ui/overlays/LoadingOverlay.js.map +1 -0
  97. package/lib/commonjs/ui/overlays/ProgressBar.js +95 -0
  98. package/lib/commonjs/ui/overlays/ProgressBar.js.map +1 -0
  99. package/lib/commonjs/ui/overlays/RetryDialog.js +125 -0
  100. package/lib/commonjs/ui/overlays/RetryDialog.js.map +1 -0
  101. package/lib/commonjs/ui/overlays/index.js +33 -0
  102. package/lib/commonjs/ui/overlays/index.js.map +1 -0
  103. package/lib/commonjs/ui/primitives/Banner.js +81 -0
  104. package/lib/commonjs/ui/primitives/Banner.js.map +1 -0
  105. package/lib/commonjs/ui/primitives/Button.js +142 -0
  106. package/lib/commonjs/ui/primitives/Button.js.map +1 -0
  107. package/lib/commonjs/ui/primitives/Card.js +50 -0
  108. package/lib/commonjs/ui/primitives/Card.js.map +1 -0
  109. package/lib/commonjs/ui/primitives/Checkbox.js +139 -0
  110. package/lib/commonjs/ui/primitives/Checkbox.js.map +1 -0
  111. package/lib/commonjs/ui/primitives/CountrySelect.js +288 -0
  112. package/lib/commonjs/ui/primitives/CountrySelect.js.map +1 -0
  113. package/lib/commonjs/ui/primitives/DatePicker.js +245 -0
  114. package/lib/commonjs/ui/primitives/DatePicker.js.map +1 -0
  115. package/lib/commonjs/ui/primitives/Input.js +101 -0
  116. package/lib/commonjs/ui/primitives/Input.js.map +1 -0
  117. package/lib/commonjs/ui/primitives/Select.js +209 -0
  118. package/lib/commonjs/ui/primitives/Select.js.map +1 -0
  119. package/lib/commonjs/ui/primitives/Spinner.js +25 -0
  120. package/lib/commonjs/ui/primitives/Spinner.js.map +1 -0
  121. package/lib/commonjs/ui/primitives/index.js +69 -0
  122. package/lib/commonjs/ui/primitives/index.js.map +1 -0
  123. package/lib/commonjs/ui/theme/ThemeProvider.js +74 -0
  124. package/lib/commonjs/ui/theme/ThemeProvider.js.map +1 -0
  125. package/lib/commonjs/ui/theme/index.js +68 -0
  126. package/lib/commonjs/ui/theme/index.js.map +1 -0
  127. package/lib/commonjs/ui/theme/tokens.js +154 -0
  128. package/lib/commonjs/ui/theme/tokens.js.map +1 -0
  129. package/lib/commonjs/utils/EventEmitter.js +144 -0
  130. package/lib/commonjs/utils/EventEmitter.js.map +1 -0
  131. package/lib/commonjs/utils/base64.js +53 -0
  132. package/lib/commonjs/utils/base64.js.map +1 -0
  133. package/lib/commonjs/utils/deviceFingerprint.js +132 -0
  134. package/lib/commonjs/utils/deviceFingerprint.js.map +1 -0
  135. package/lib/commonjs/utils/documentTypeOptions.js +35 -0
  136. package/lib/commonjs/utils/documentTypeOptions.js.map +1 -0
  137. package/lib/commonjs/utils/googleMapsPreflight.js +77 -0
  138. package/lib/commonjs/utils/googleMapsPreflight.js.map +1 -0
  139. package/lib/commonjs/utils/hmac.js +58 -0
  140. package/lib/commonjs/utils/hmac.js.map +1 -0
  141. package/lib/commonjs/utils/iso3166Countries.js +98 -0
  142. package/lib/commonjs/utils/iso3166Countries.js.map +1 -0
  143. package/lib/commonjs/utils/jpegFromUri.js +44 -0
  144. package/lib/commonjs/utils/jpegFromUri.js.map +1 -0
  145. package/lib/commonjs/utils/keepAwake.js +58 -0
  146. package/lib/commonjs/utils/keepAwake.js.map +1 -0
  147. package/lib/commonjs/utils/log.js +42 -0
  148. package/lib/commonjs/utils/log.js.map +1 -0
  149. package/lib/commonjs/utils/osGeocoder.js +70 -0
  150. package/lib/commonjs/utils/osGeocoder.js.map +1 -0
  151. package/lib/commonjs/utils/parseGoogleAddressComponents.js +74 -0
  152. package/lib/commonjs/utils/parseGoogleAddressComponents.js.map +1 -0
  153. package/lib/commonjs/utils/personNameNormalize.js +24 -0
  154. package/lib/commonjs/utils/personNameNormalize.js.map +1 -0
  155. package/lib/commonjs/utils/sdkError.js +34 -0
  156. package/lib/commonjs/utils/sdkError.js.map +1 -0
  157. package/lib/commonjs/utils/sdkVersion.js +13 -0
  158. package/lib/commonjs/utils/sdkVersion.js.map +1 -0
  159. package/lib/commonjs/utils/stepConfig.js +65 -0
  160. package/lib/commonjs/utils/stepConfig.js.map +1 -0
  161. package/lib/commonjs/utils/taxInfoConfig.js +19 -0
  162. package/lib/commonjs/utils/taxInfoConfig.js.map +1 -0
  163. package/lib/module/camera/AddressSearchBar.js +299 -0
  164. package/lib/module/camera/AddressSearchBar.js.map +1 -0
  165. package/lib/module/camera/DocumentCapture.js +500 -0
  166. package/lib/module/camera/DocumentCapture.js.map +1 -0
  167. package/lib/module/camera/LivenessCamera.js +529 -0
  168. package/lib/module/camera/LivenessCamera.js.map +1 -0
  169. package/lib/module/camera/MapAddressPicker.js +337 -0
  170. package/lib/module/camera/MapAddressPicker.js.map +1 -0
  171. package/lib/module/core/VelionOnboarding.js +811 -0
  172. package/lib/module/core/VelionOnboarding.js.map +1 -0
  173. package/lib/module/core/sessionDeclinedCopy.js +52 -0
  174. package/lib/module/core/sessionDeclinedCopy.js.map +1 -0
  175. package/lib/module/core/sessionStateMapper.js +128 -0
  176. package/lib/module/core/sessionStateMapper.js.map +1 -0
  177. package/lib/module/core/sseReasonMessages.js +446 -0
  178. package/lib/module/core/sseReasonMessages.js.map +1 -0
  179. package/lib/module/data/iso3166Alpha2Codes.json +1 -0
  180. package/lib/module/data/iso3166CountryNames.json +251 -0
  181. package/lib/module/i18n/index.js +25 -0
  182. package/lib/module/i18n/index.js.map +1 -0
  183. package/lib/module/i18n/strings/en.js +257 -0
  184. package/lib/module/i18n/strings/en.js.map +1 -0
  185. package/lib/module/i18n/strings/es.js +262 -0
  186. package/lib/module/i18n/strings/es.js.map +1 -0
  187. package/lib/module/index.js +36 -0
  188. package/lib/module/index.js.map +1 -0
  189. package/lib/module/steps/AddressInfoStep.js +646 -0
  190. package/lib/module/steps/AddressInfoStep.js.map +1 -0
  191. package/lib/module/steps/DocumentsOcrStep.js +391 -0
  192. package/lib/module/steps/DocumentsOcrStep.js.map +1 -0
  193. package/lib/module/steps/EmailContactStep.js +140 -0
  194. package/lib/module/steps/EmailContactStep.js.map +1 -0
  195. package/lib/module/steps/EmailOtpStep.js +215 -0
  196. package/lib/module/steps/EmailOtpStep.js.map +1 -0
  197. package/lib/module/steps/FaceMatchStep.js +161 -0
  198. package/lib/module/steps/FaceMatchStep.js.map +1 -0
  199. package/lib/module/steps/FingerprintStep.js +87 -0
  200. package/lib/module/steps/FingerprintStep.js.map +1 -0
  201. package/lib/module/steps/HumanBasicInfoStep.js +238 -0
  202. package/lib/module/steps/HumanBasicInfoStep.js.map +1 -0
  203. package/lib/module/steps/HumanExtendedInfoStep.js +263 -0
  204. package/lib/module/steps/HumanExtendedInfoStep.js.map +1 -0
  205. package/lib/module/steps/LegalBasicInfoStep.js +183 -0
  206. package/lib/module/steps/LegalBasicInfoStep.js.map +1 -0
  207. package/lib/module/steps/LegalExtendedInfoStep.js +161 -0
  208. package/lib/module/steps/LegalExtendedInfoStep.js.map +1 -0
  209. package/lib/module/steps/LivenessMatchStep.js +701 -0
  210. package/lib/module/steps/LivenessMatchStep.js.map +1 -0
  211. package/lib/module/steps/PhoneContactStep.js +141 -0
  212. package/lib/module/steps/PhoneContactStep.js.map +1 -0
  213. package/lib/module/steps/PhoneOtpStep.js +214 -0
  214. package/lib/module/steps/PhoneOtpStep.js.map +1 -0
  215. package/lib/module/steps/SwornDeclarationStep.js +191 -0
  216. package/lib/module/steps/SwornDeclarationStep.js.map +1 -0
  217. package/lib/module/steps/TaxInfoStep.js +239 -0
  218. package/lib/module/steps/TaxInfoStep.js.map +1 -0
  219. package/lib/module/steps/TermsAndConditionsStep.js +233 -0
  220. package/lib/module/steps/TermsAndConditionsStep.js.map +1 -0
  221. package/lib/module/steps/_shared.js +33 -0
  222. package/lib/module/steps/_shared.js.map +1 -0
  223. package/lib/module/steps/types.js +4 -0
  224. package/lib/module/steps/types.js.map +1 -0
  225. package/lib/module/transport/api.js +173 -0
  226. package/lib/module/transport/api.js.map +1 -0
  227. package/lib/module/transport/irisWebSocket.js +115 -0
  228. package/lib/module/transport/irisWebSocket.js.map +1 -0
  229. package/lib/module/transport/secureUrl.js +45 -0
  230. package/lib/module/transport/secureUrl.js.map +1 -0
  231. package/lib/module/transport/sse.js +242 -0
  232. package/lib/module/transport/sse.js.map +1 -0
  233. package/lib/module/types/index.js +457 -0
  234. package/lib/module/types/index.js.map +1 -0
  235. package/lib/module/ui/MapFallbackBoundary.js +37 -0
  236. package/lib/module/ui/MapFallbackBoundary.js.map +1 -0
  237. package/lib/module/ui/StepShell.js +114 -0
  238. package/lib/module/ui/StepShell.js.map +1 -0
  239. package/lib/module/ui/VelionOnboardingScreen.js +212 -0
  240. package/lib/module/ui/VelionOnboardingScreen.js.map +1 -0
  241. package/lib/module/ui/forms/index.js +5 -0
  242. package/lib/module/ui/forms/index.js.map +1 -0
  243. package/lib/module/ui/forms/useInlineValidation.js +84 -0
  244. package/lib/module/ui/forms/useInlineValidation.js.map +1 -0
  245. package/lib/module/ui/forms/validators.js +27 -0
  246. package/lib/module/ui/forms/validators.js.map +1 -0
  247. package/lib/module/ui/icons/HomeHeartIcon.js +33 -0
  248. package/lib/module/ui/icons/HomeHeartIcon.js.map +1 -0
  249. package/lib/module/ui/icons/StepIcon.js +55 -0
  250. package/lib/module/ui/icons/StepIcon.js.map +1 -0
  251. package/lib/module/ui/overlays/AnalyzingOverlay.js +279 -0
  252. package/lib/module/ui/overlays/AnalyzingOverlay.js.map +1 -0
  253. package/lib/module/ui/overlays/LoadingOverlay.js +104 -0
  254. package/lib/module/ui/overlays/LoadingOverlay.js.map +1 -0
  255. package/lib/module/ui/overlays/ProgressBar.js +90 -0
  256. package/lib/module/ui/overlays/ProgressBar.js.map +1 -0
  257. package/lib/module/ui/overlays/RetryDialog.js +121 -0
  258. package/lib/module/ui/overlays/RetryDialog.js.map +1 -0
  259. package/lib/module/ui/overlays/index.js +6 -0
  260. package/lib/module/ui/overlays/index.js.map +1 -0
  261. package/lib/module/ui/primitives/Banner.js +77 -0
  262. package/lib/module/ui/primitives/Banner.js.map +1 -0
  263. package/lib/module/ui/primitives/Button.js +138 -0
  264. package/lib/module/ui/primitives/Button.js.map +1 -0
  265. package/lib/module/ui/primitives/Card.js +46 -0
  266. package/lib/module/ui/primitives/Card.js.map +1 -0
  267. package/lib/module/ui/primitives/Checkbox.js +136 -0
  268. package/lib/module/ui/primitives/Checkbox.js.map +1 -0
  269. package/lib/module/ui/primitives/CountrySelect.js +284 -0
  270. package/lib/module/ui/primitives/CountrySelect.js.map +1 -0
  271. package/lib/module/ui/primitives/DatePicker.js +241 -0
  272. package/lib/module/ui/primitives/DatePicker.js.map +1 -0
  273. package/lib/module/ui/primitives/Input.js +97 -0
  274. package/lib/module/ui/primitives/Input.js.map +1 -0
  275. package/lib/module/ui/primitives/Select.js +205 -0
  276. package/lib/module/ui/primitives/Select.js.map +1 -0
  277. package/lib/module/ui/primitives/Spinner.js +21 -0
  278. package/lib/module/ui/primitives/Spinner.js.map +1 -0
  279. package/lib/module/ui/primitives/index.js +12 -0
  280. package/lib/module/ui/primitives/index.js.map +1 -0
  281. package/lib/module/ui/theme/ThemeProvider.js +67 -0
  282. package/lib/module/ui/theme/ThemeProvider.js.map +1 -0
  283. package/lib/module/ui/theme/index.js +5 -0
  284. package/lib/module/ui/theme/index.js.map +1 -0
  285. package/lib/module/ui/theme/tokens.js +145 -0
  286. package/lib/module/ui/theme/tokens.js.map +1 -0
  287. package/lib/module/utils/EventEmitter.js +139 -0
  288. package/lib/module/utils/EventEmitter.js.map +1 -0
  289. package/lib/module/utils/base64.js +47 -0
  290. package/lib/module/utils/base64.js.map +1 -0
  291. package/lib/module/utils/deviceFingerprint.js +129 -0
  292. package/lib/module/utils/deviceFingerprint.js.map +1 -0
  293. package/lib/module/utils/documentTypeOptions.js +31 -0
  294. package/lib/module/utils/documentTypeOptions.js.map +1 -0
  295. package/lib/module/utils/googleMapsPreflight.js +73 -0
  296. package/lib/module/utils/googleMapsPreflight.js.map +1 -0
  297. package/lib/module/utils/hmac.js +53 -0
  298. package/lib/module/utils/hmac.js.map +1 -0
  299. package/lib/module/utils/iso3166Countries.js +92 -0
  300. package/lib/module/utils/iso3166Countries.js.map +1 -0
  301. package/lib/module/utils/jpegFromUri.js +40 -0
  302. package/lib/module/utils/jpegFromUri.js.map +1 -0
  303. package/lib/module/utils/keepAwake.js +53 -0
  304. package/lib/module/utils/keepAwake.js.map +1 -0
  305. package/lib/module/utils/log.js +37 -0
  306. package/lib/module/utils/log.js.map +1 -0
  307. package/lib/module/utils/osGeocoder.js +65 -0
  308. package/lib/module/utils/osGeocoder.js.map +1 -0
  309. package/lib/module/utils/parseGoogleAddressComponents.js +69 -0
  310. package/lib/module/utils/parseGoogleAddressComponents.js.map +1 -0
  311. package/lib/module/utils/personNameNormalize.js +20 -0
  312. package/lib/module/utils/personNameNormalize.js.map +1 -0
  313. package/lib/module/utils/sdkError.js +29 -0
  314. package/lib/module/utils/sdkError.js.map +1 -0
  315. package/lib/module/utils/sdkVersion.js +9 -0
  316. package/lib/module/utils/sdkVersion.js.map +1 -0
  317. package/lib/module/utils/stepConfig.js +59 -0
  318. package/lib/module/utils/stepConfig.js.map +1 -0
  319. package/lib/module/utils/taxInfoConfig.js +15 -0
  320. package/lib/module/utils/taxInfoConfig.js.map +1 -0
  321. package/lib/typescript/camera/AddressSearchBar.d.ts +37 -0
  322. package/lib/typescript/camera/AddressSearchBar.d.ts.map +1 -0
  323. package/lib/typescript/camera/DocumentCapture.d.ts +34 -0
  324. package/lib/typescript/camera/DocumentCapture.d.ts.map +1 -0
  325. package/lib/typescript/camera/LivenessCamera.d.ts +50 -0
  326. package/lib/typescript/camera/LivenessCamera.d.ts.map +1 -0
  327. package/lib/typescript/camera/MapAddressPicker.d.ts +57 -0
  328. package/lib/typescript/camera/MapAddressPicker.d.ts.map +1 -0
  329. package/lib/typescript/core/VelionOnboarding.d.ts +115 -0
  330. package/lib/typescript/core/VelionOnboarding.d.ts.map +1 -0
  331. package/lib/typescript/core/sessionDeclinedCopy.d.ts +16 -0
  332. package/lib/typescript/core/sessionDeclinedCopy.d.ts.map +1 -0
  333. package/lib/typescript/core/sessionStateMapper.d.ts +33 -0
  334. package/lib/typescript/core/sessionStateMapper.d.ts.map +1 -0
  335. package/lib/typescript/core/sseReasonMessages.d.ts +20 -0
  336. package/lib/typescript/core/sseReasonMessages.d.ts.map +1 -0
  337. package/lib/typescript/i18n/index.d.ts +13 -0
  338. package/lib/typescript/i18n/index.d.ts.map +1 -0
  339. package/lib/typescript/i18n/strings/en.d.ts +3 -0
  340. package/lib/typescript/i18n/strings/en.d.ts.map +1 -0
  341. package/lib/typescript/i18n/strings/es.d.ts +260 -0
  342. package/lib/typescript/i18n/strings/es.d.ts.map +1 -0
  343. package/lib/typescript/index.d.ts +26 -0
  344. package/lib/typescript/index.d.ts.map +1 -0
  345. package/lib/typescript/steps/AddressInfoStep.d.ts +26 -0
  346. package/lib/typescript/steps/AddressInfoStep.d.ts.map +1 -0
  347. package/lib/typescript/steps/DocumentsOcrStep.d.ts +26 -0
  348. package/lib/typescript/steps/DocumentsOcrStep.d.ts.map +1 -0
  349. package/lib/typescript/steps/EmailContactStep.d.ts +15 -0
  350. package/lib/typescript/steps/EmailContactStep.d.ts.map +1 -0
  351. package/lib/typescript/steps/EmailOtpStep.d.ts +21 -0
  352. package/lib/typescript/steps/EmailOtpStep.d.ts.map +1 -0
  353. package/lib/typescript/steps/FaceMatchStep.d.ts +27 -0
  354. package/lib/typescript/steps/FaceMatchStep.d.ts.map +1 -0
  355. package/lib/typescript/steps/FingerprintStep.d.ts +25 -0
  356. package/lib/typescript/steps/FingerprintStep.d.ts.map +1 -0
  357. package/lib/typescript/steps/HumanBasicInfoStep.d.ts +25 -0
  358. package/lib/typescript/steps/HumanBasicInfoStep.d.ts.map +1 -0
  359. package/lib/typescript/steps/HumanExtendedInfoStep.d.ts +23 -0
  360. package/lib/typescript/steps/HumanExtendedInfoStep.d.ts.map +1 -0
  361. package/lib/typescript/steps/LegalBasicInfoStep.d.ts +17 -0
  362. package/lib/typescript/steps/LegalBasicInfoStep.d.ts.map +1 -0
  363. package/lib/typescript/steps/LegalExtendedInfoStep.d.ts +17 -0
  364. package/lib/typescript/steps/LegalExtendedInfoStep.d.ts.map +1 -0
  365. package/lib/typescript/steps/LivenessMatchStep.d.ts +26 -0
  366. package/lib/typescript/steps/LivenessMatchStep.d.ts.map +1 -0
  367. package/lib/typescript/steps/PhoneContactStep.d.ts +15 -0
  368. package/lib/typescript/steps/PhoneContactStep.d.ts.map +1 -0
  369. package/lib/typescript/steps/PhoneOtpStep.d.ts +19 -0
  370. package/lib/typescript/steps/PhoneOtpStep.d.ts.map +1 -0
  371. package/lib/typescript/steps/SwornDeclarationStep.d.ts +20 -0
  372. package/lib/typescript/steps/SwornDeclarationStep.d.ts.map +1 -0
  373. package/lib/typescript/steps/TaxInfoStep.d.ts +19 -0
  374. package/lib/typescript/steps/TaxInfoStep.d.ts.map +1 -0
  375. package/lib/typescript/steps/TermsAndConditionsStep.d.ts +21 -0
  376. package/lib/typescript/steps/TermsAndConditionsStep.d.ts.map +1 -0
  377. package/lib/typescript/steps/_shared.d.ts +11 -0
  378. package/lib/typescript/steps/_shared.d.ts.map +1 -0
  379. package/lib/typescript/steps/types.d.ts +68 -0
  380. package/lib/typescript/steps/types.d.ts.map +1 -0
  381. package/lib/typescript/transport/api.d.ts +35 -0
  382. package/lib/typescript/transport/api.d.ts.map +1 -0
  383. package/lib/typescript/transport/irisWebSocket.d.ts +72 -0
  384. package/lib/typescript/transport/irisWebSocket.d.ts.map +1 -0
  385. package/lib/typescript/transport/secureUrl.d.ts +14 -0
  386. package/lib/typescript/transport/secureUrl.d.ts.map +1 -0
  387. package/lib/typescript/transport/sse.d.ts +54 -0
  388. package/lib/typescript/transport/sse.d.ts.map +1 -0
  389. package/lib/typescript/types/index.d.ts +1010 -0
  390. package/lib/typescript/types/index.d.ts.map +1 -0
  391. package/lib/typescript/ui/MapFallbackBoundary.d.ts +28 -0
  392. package/lib/typescript/ui/MapFallbackBoundary.d.ts.map +1 -0
  393. package/lib/typescript/ui/StepShell.d.ts +19 -0
  394. package/lib/typescript/ui/StepShell.d.ts.map +1 -0
  395. package/lib/typescript/ui/VelionOnboardingScreen.d.ts +19 -0
  396. package/lib/typescript/ui/VelionOnboardingScreen.d.ts.map +1 -0
  397. package/lib/typescript/ui/forms/index.d.ts +3 -0
  398. package/lib/typescript/ui/forms/index.d.ts.map +1 -0
  399. package/lib/typescript/ui/forms/useInlineValidation.d.ts +30 -0
  400. package/lib/typescript/ui/forms/useInlineValidation.d.ts.map +1 -0
  401. package/lib/typescript/ui/forms/validators.d.ts +11 -0
  402. package/lib/typescript/ui/forms/validators.d.ts.map +1 -0
  403. package/lib/typescript/ui/icons/HomeHeartIcon.d.ts +14 -0
  404. package/lib/typescript/ui/icons/HomeHeartIcon.d.ts.map +1 -0
  405. package/lib/typescript/ui/icons/StepIcon.d.ts +26 -0
  406. package/lib/typescript/ui/icons/StepIcon.d.ts.map +1 -0
  407. package/lib/typescript/ui/overlays/AnalyzingOverlay.d.ts +24 -0
  408. package/lib/typescript/ui/overlays/AnalyzingOverlay.d.ts.map +1 -0
  409. package/lib/typescript/ui/overlays/LoadingOverlay.d.ts +19 -0
  410. package/lib/typescript/ui/overlays/LoadingOverlay.d.ts.map +1 -0
  411. package/lib/typescript/ui/overlays/ProgressBar.d.ts +26 -0
  412. package/lib/typescript/ui/overlays/ProgressBar.d.ts.map +1 -0
  413. package/lib/typescript/ui/overlays/RetryDialog.d.ts +17 -0
  414. package/lib/typescript/ui/overlays/RetryDialog.d.ts.map +1 -0
  415. package/lib/typescript/ui/overlays/index.d.ts +4 -0
  416. package/lib/typescript/ui/overlays/index.d.ts.map +1 -0
  417. package/lib/typescript/ui/primitives/Banner.d.ts +11 -0
  418. package/lib/typescript/ui/primitives/Banner.d.ts.map +1 -0
  419. package/lib/typescript/ui/primitives/Button.d.ts +27 -0
  420. package/lib/typescript/ui/primitives/Button.d.ts.map +1 -0
  421. package/lib/typescript/ui/primitives/Card.d.ts +10 -0
  422. package/lib/typescript/ui/primitives/Card.d.ts.map +1 -0
  423. package/lib/typescript/ui/primitives/Checkbox.d.ts +25 -0
  424. package/lib/typescript/ui/primitives/Checkbox.d.ts.map +1 -0
  425. package/lib/typescript/ui/primitives/CountrySelect.d.ts +31 -0
  426. package/lib/typescript/ui/primitives/CountrySelect.d.ts.map +1 -0
  427. package/lib/typescript/ui/primitives/DatePicker.d.ts +42 -0
  428. package/lib/typescript/ui/primitives/DatePicker.d.ts.map +1 -0
  429. package/lib/typescript/ui/primitives/Input.d.ts +17 -0
  430. package/lib/typescript/ui/primitives/Input.d.ts.map +1 -0
  431. package/lib/typescript/ui/primitives/Select.d.ts +26 -0
  432. package/lib/typescript/ui/primitives/Select.d.ts.map +1 -0
  433. package/lib/typescript/ui/primitives/Spinner.d.ts +10 -0
  434. package/lib/typescript/ui/primitives/Spinner.d.ts.map +1 -0
  435. package/lib/typescript/ui/primitives/index.d.ts +10 -0
  436. package/lib/typescript/ui/primitives/index.d.ts.map +1 -0
  437. package/lib/typescript/ui/theme/ThemeProvider.d.ts +23 -0
  438. package/lib/typescript/ui/theme/ThemeProvider.d.ts.map +1 -0
  439. package/lib/typescript/ui/theme/index.d.ts +3 -0
  440. package/lib/typescript/ui/theme/index.d.ts.map +1 -0
  441. package/lib/typescript/ui/theme/tokens.d.ts +42 -0
  442. package/lib/typescript/ui/theme/tokens.d.ts.map +1 -0
  443. package/lib/typescript/utils/EventEmitter.d.ts +98 -0
  444. package/lib/typescript/utils/EventEmitter.d.ts.map +1 -0
  445. package/lib/typescript/utils/base64.d.ts +19 -0
  446. package/lib/typescript/utils/base64.d.ts.map +1 -0
  447. package/lib/typescript/utils/deviceFingerprint.d.ts +42 -0
  448. package/lib/typescript/utils/deviceFingerprint.d.ts.map +1 -0
  449. package/lib/typescript/utils/documentTypeOptions.d.ts +13 -0
  450. package/lib/typescript/utils/documentTypeOptions.d.ts.map +1 -0
  451. package/lib/typescript/utils/googleMapsPreflight.d.ts +44 -0
  452. package/lib/typescript/utils/googleMapsPreflight.d.ts.map +1 -0
  453. package/lib/typescript/utils/hmac.d.ts +39 -0
  454. package/lib/typescript/utils/hmac.d.ts.map +1 -0
  455. package/lib/typescript/utils/iso3166Countries.d.ts +27 -0
  456. package/lib/typescript/utils/iso3166Countries.d.ts.map +1 -0
  457. package/lib/typescript/utils/jpegFromUri.d.ts +29 -0
  458. package/lib/typescript/utils/jpegFromUri.d.ts.map +1 -0
  459. package/lib/typescript/utils/keepAwake.d.ts +16 -0
  460. package/lib/typescript/utils/keepAwake.d.ts.map +1 -0
  461. package/lib/typescript/utils/log.d.ts +18 -0
  462. package/lib/typescript/utils/log.d.ts.map +1 -0
  463. package/lib/typescript/utils/osGeocoder.d.ts +38 -0
  464. package/lib/typescript/utils/osGeocoder.d.ts.map +1 -0
  465. package/lib/typescript/utils/parseGoogleAddressComponents.d.ts +43 -0
  466. package/lib/typescript/utils/parseGoogleAddressComponents.d.ts.map +1 -0
  467. package/lib/typescript/utils/personNameNormalize.d.ts +10 -0
  468. package/lib/typescript/utils/personNameNormalize.d.ts.map +1 -0
  469. package/lib/typescript/utils/sdkError.d.ts +14 -0
  470. package/lib/typescript/utils/sdkError.d.ts.map +1 -0
  471. package/lib/typescript/utils/sdkVersion.d.ts +7 -0
  472. package/lib/typescript/utils/sdkVersion.d.ts.map +1 -0
  473. package/lib/typescript/utils/stepConfig.d.ts +8 -0
  474. package/lib/typescript/utils/stepConfig.d.ts.map +1 -0
  475. package/lib/typescript/utils/taxInfoConfig.d.ts +7 -0
  476. package/lib/typescript/utils/taxInfoConfig.d.ts.map +1 -0
  477. package/package.json +99 -0
  478. package/src/camera/AddressSearchBar.tsx +363 -0
  479. package/src/camera/DocumentCapture.tsx +505 -0
  480. package/src/camera/LivenessCamera.tsx +602 -0
  481. package/src/camera/MapAddressPicker.tsx +397 -0
  482. package/src/core/VelionOnboarding.ts +974 -0
  483. package/src/core/sessionDeclinedCopy.ts +76 -0
  484. package/src/core/sessionStateMapper.ts +167 -0
  485. package/src/core/sseReasonMessages.ts +531 -0
  486. package/src/data/iso3166Alpha2Codes.json +1 -0
  487. package/src/data/iso3166CountryNames.json +251 -0
  488. package/src/i18n/index.ts +26 -0
  489. package/src/i18n/strings/en.ts +289 -0
  490. package/src/i18n/strings/es.ts +291 -0
  491. package/src/index.ts +137 -0
  492. package/src/steps/AddressInfoStep.tsx +726 -0
  493. package/src/steps/DocumentsOcrStep.tsx +472 -0
  494. package/src/steps/EmailContactStep.tsx +159 -0
  495. package/src/steps/EmailOtpStep.tsx +250 -0
  496. package/src/steps/FaceMatchStep.tsx +177 -0
  497. package/src/steps/FingerprintStep.tsx +99 -0
  498. package/src/steps/HumanBasicInfoStep.tsx +274 -0
  499. package/src/steps/HumanExtendedInfoStep.tsx +353 -0
  500. package/src/steps/LegalBasicInfoStep.tsx +205 -0
  501. package/src/steps/LegalExtendedInfoStep.tsx +171 -0
  502. package/src/steps/LivenessMatchStep.tsx +846 -0
  503. package/src/steps/PhoneContactStep.tsx +160 -0
  504. package/src/steps/PhoneOtpStep.tsx +249 -0
  505. package/src/steps/SwornDeclarationStep.tsx +220 -0
  506. package/src/steps/TaxInfoStep.tsx +277 -0
  507. package/src/steps/TermsAndConditionsStep.tsx +261 -0
  508. package/src/steps/_shared.ts +44 -0
  509. package/src/steps/types.ts +72 -0
  510. package/src/transport/api.ts +257 -0
  511. package/src/transport/irisWebSocket.ts +186 -0
  512. package/src/transport/secureUrl.ts +47 -0
  513. package/src/transport/sse.ts +310 -0
  514. package/src/types/index.ts +1198 -0
  515. package/src/ui/MapFallbackBoundary.tsx +46 -0
  516. package/src/ui/StepShell.tsx +137 -0
  517. package/src/ui/VelionOnboardingScreen.tsx +223 -0
  518. package/src/ui/forms/index.ts +12 -0
  519. package/src/ui/forms/useInlineValidation.ts +115 -0
  520. package/src/ui/forms/validators.ts +29 -0
  521. package/src/ui/icons/HomeHeartIcon.tsx +34 -0
  522. package/src/ui/icons/StepIcon.tsx +77 -0
  523. package/src/ui/overlays/AnalyzingOverlay.tsx +323 -0
  524. package/src/ui/overlays/LoadingOverlay.tsx +115 -0
  525. package/src/ui/overlays/ProgressBar.tsx +99 -0
  526. package/src/ui/overlays/RetryDialog.tsx +128 -0
  527. package/src/ui/overlays/index.ts +3 -0
  528. package/src/ui/primitives/Banner.tsx +81 -0
  529. package/src/ui/primitives/Button.tsx +164 -0
  530. package/src/ui/primitives/Card.tsx +55 -0
  531. package/src/ui/primitives/Checkbox.tsx +153 -0
  532. package/src/ui/primitives/CountrySelect.tsx +356 -0
  533. package/src/ui/primitives/DatePicker.tsx +266 -0
  534. package/src/ui/primitives/Input.tsx +110 -0
  535. package/src/ui/primitives/Select.tsx +259 -0
  536. package/src/ui/primitives/Spinner.tsx +17 -0
  537. package/src/ui/primitives/index.ts +9 -0
  538. package/src/ui/theme/ThemeProvider.tsx +102 -0
  539. package/src/ui/theme/index.ts +17 -0
  540. package/src/ui/theme/tokens.ts +159 -0
  541. package/src/utils/EventEmitter.ts +155 -0
  542. package/src/utils/base64.ts +44 -0
  543. package/src/utils/deviceFingerprint.ts +184 -0
  544. package/src/utils/documentTypeOptions.ts +31 -0
  545. package/src/utils/googleMapsPreflight.ts +72 -0
  546. package/src/utils/hmac.ts +61 -0
  547. package/src/utils/iso3166Countries.ts +111 -0
  548. package/src/utils/jpegFromUri.ts +42 -0
  549. package/src/utils/keepAwake.ts +62 -0
  550. package/src/utils/log.ts +37 -0
  551. package/src/utils/osGeocoder.ts +75 -0
  552. package/src/utils/parseGoogleAddressComponents.ts +123 -0
  553. package/src/utils/personNameNormalize.ts +17 -0
  554. package/src/utils/sdkError.ts +40 -0
  555. package/src/utils/sdkVersion.ts +6 -0
  556. package/src/utils/stepConfig.ts +75 -0
  557. package/src/utils/taxInfoConfig.ts +14 -0
@@ -0,0 +1,209 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Select = Select;
7
+ var _react = require("react");
8
+ var _reactNative = require("react-native");
9
+ var _theme = require("../theme");
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ /**
12
+ * Lightweight select — uses a modal-anchored option list. Matches the rhythm
13
+ * of `<Input>` (label, 44 px tap target, error styling) so step forms can mix
14
+ * the two primitives interchangeably.
15
+ *
16
+ * Intentionally simple: no search, no virtualisation. For searchable country
17
+ * pickers use `CountrySelect`.
18
+ */
19
+
20
+ function Select({
21
+ label,
22
+ options,
23
+ value,
24
+ onChange,
25
+ placeholder,
26
+ errorMessage,
27
+ required,
28
+ disabled = false,
29
+ containerStyle
30
+ }) {
31
+ const theme = (0, _theme.useTheme)();
32
+ const errorId = (0, _react.useId)();
33
+ const [open, setOpen] = (0, _react.useState)(false);
34
+ const hasError = Boolean(errorMessage && errorMessage.length > 0);
35
+ const selected = (0, _react.useMemo)(() => options.find(o => o.value === value) ?? null, [options, value]);
36
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
37
+ style: [styles.wrap, containerStyle],
38
+ children: [label ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
39
+ style: [styles.label, {
40
+ color: theme.textColor
41
+ }],
42
+ children: [label, required ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
43
+ style: [styles.required, {
44
+ color: theme.textSecondaryColor
45
+ }],
46
+ children: [' ', "*"]
47
+ }) : null]
48
+ }) : null, /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
49
+ accessibilityRole: "combobox",
50
+ accessibilityState: {
51
+ disabled,
52
+ expanded: open
53
+ },
54
+ accessibilityLabel: label,
55
+ disabled: disabled,
56
+ onPress: () => setOpen(true),
57
+ style: [styles.trigger, {
58
+ backgroundColor: theme.backgroundColor,
59
+ borderColor: hasError ? theme.errorColor : theme.borderColor,
60
+ borderRadius: theme.borderRadiusPx
61
+ }, disabled && styles.disabled],
62
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
63
+ numberOfLines: 1,
64
+ style: [styles.triggerText, {
65
+ color: selected ? theme.textColor : theme.textSecondaryColor
66
+ }],
67
+ children: selected?.label ?? placeholder ?? ''
68
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
69
+ style: [styles.chevron, {
70
+ color: theme.textSecondaryColor
71
+ }],
72
+ children: "\u25BE"
73
+ })]
74
+ }), hasError ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
75
+ nativeID: errorId,
76
+ accessibilityLiveRegion: "polite",
77
+ style: [styles.error, {
78
+ color: theme.errorColor
79
+ }],
80
+ children: errorMessage
81
+ }) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Modal, {
82
+ visible: open,
83
+ transparent: true,
84
+ animationType: "fade",
85
+ onRequestClose: () => setOpen(false),
86
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
87
+ style: styles.backdrop,
88
+ onPress: () => setOpen(false),
89
+ accessibilityLabel: "Close",
90
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
91
+ style: [styles.sheet, {
92
+ backgroundColor: theme.backgroundColor,
93
+ borderRadius: theme.borderRadiusPx,
94
+ borderColor: theme.borderColor
95
+ }],
96
+ onPress: () => undefined,
97
+ children: [label ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
98
+ style: [styles.sheetTitle, {
99
+ color: theme.textColor
100
+ }],
101
+ children: label
102
+ }) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ScrollView, {
103
+ style: styles.sheetList,
104
+ children: options.map(opt => {
105
+ const isSelected = opt.value === value;
106
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
107
+ accessibilityRole: "menuitem",
108
+ accessibilityState: {
109
+ selected: isSelected
110
+ },
111
+ onPress: () => {
112
+ onChange(opt.value);
113
+ setOpen(false);
114
+ },
115
+ style: ({
116
+ pressed
117
+ }) => [styles.option, isSelected && {
118
+ backgroundColor: (0, _theme.withAlpha)(theme.primaryColor, 0.12)
119
+ }, pressed && {
120
+ backgroundColor: (0, _theme.withAlpha)(theme.primaryColor, 0.18)
121
+ }],
122
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
123
+ style: [styles.optionText, {
124
+ color: isSelected ? theme.primaryColor : theme.textColor,
125
+ fontWeight: isSelected ? '600' : '400'
126
+ }],
127
+ children: opt.label
128
+ })
129
+ }, opt.value);
130
+ })
131
+ })]
132
+ })
133
+ })
134
+ })]
135
+ });
136
+ }
137
+ const styles = _reactNative.StyleSheet.create({
138
+ wrap: {
139
+ width: '100%',
140
+ marginBottom: 4
141
+ },
142
+ label: {
143
+ fontSize: 14,
144
+ fontWeight: '500',
145
+ marginBottom: 4
146
+ },
147
+ required: {
148
+ fontWeight: '400'
149
+ },
150
+ trigger: {
151
+ minHeight: 44,
152
+ paddingHorizontal: 12,
153
+ paddingVertical: 10,
154
+ borderWidth: 1,
155
+ flexDirection: 'row',
156
+ alignItems: 'center',
157
+ justifyContent: 'space-between'
158
+ },
159
+ triggerText: {
160
+ fontSize: 15,
161
+ flex: 1
162
+ },
163
+ chevron: {
164
+ fontSize: 14,
165
+ marginLeft: 8
166
+ },
167
+ disabled: {
168
+ opacity: 0.5
169
+ },
170
+ error: {
171
+ fontSize: 13,
172
+ marginTop: 4,
173
+ lineHeight: 18
174
+ },
175
+ backdrop: {
176
+ flex: 1,
177
+ backgroundColor: 'rgba(0,0,0,0.4)',
178
+ justifyContent: 'center',
179
+ alignItems: 'center',
180
+ padding: 20
181
+ },
182
+ sheet: {
183
+ width: '100%',
184
+ maxWidth: 420,
185
+ maxHeight: '70%',
186
+ borderWidth: 1,
187
+ paddingTop: 12,
188
+ paddingBottom: 6
189
+ },
190
+ sheetTitle: {
191
+ fontSize: 16,
192
+ fontWeight: '600',
193
+ paddingHorizontal: 16,
194
+ marginBottom: 8
195
+ },
196
+ sheetList: {
197
+ flexShrink: 1
198
+ },
199
+ option: {
200
+ minHeight: 44,
201
+ paddingHorizontal: 16,
202
+ paddingVertical: 12,
203
+ justifyContent: 'center'
204
+ },
205
+ optionText: {
206
+ fontSize: 15
207
+ }
208
+ });
209
+ //# sourceMappingURL=Select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNative","_theme","_jsxRuntime","Select","label","options","value","onChange","placeholder","errorMessage","required","disabled","containerStyle","theme","useTheme","errorId","useId","open","setOpen","useState","hasError","Boolean","length","selected","useMemo","find","o","jsxs","View","style","styles","wrap","children","Text","color","textColor","textSecondaryColor","Pressable","accessibilityRole","accessibilityState","expanded","accessibilityLabel","onPress","trigger","backgroundColor","borderColor","errorColor","borderRadius","borderRadiusPx","jsx","numberOfLines","triggerText","chevron","nativeID","accessibilityLiveRegion","error","Modal","visible","transparent","animationType","onRequestClose","backdrop","sheet","undefined","sheetTitle","ScrollView","sheetList","map","opt","isSelected","pressed","option","withAlpha","primaryColor","optionText","fontWeight","StyleSheet","create","width","marginBottom","fontSize","minHeight","paddingHorizontal","paddingVertical","borderWidth","flexDirection","alignItems","justifyContent","flex","marginLeft","opacity","marginTop","lineHeight","padding","maxWidth","maxHeight","paddingTop","paddingBottom","flexShrink"],"sourceRoot":"../../../../src","sources":["ui/primitives/Select.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Spinner = Spinner;
7
+ var _reactNative = require("react-native");
8
+ var _theme = require("../theme");
9
+ var _jsxRuntime = require("react/jsx-runtime");
10
+ /**
11
+ * Activity spinner that respects reduced-motion. RN ships `ActivityIndicator`
12
+ * natively which already complies with platform accessibility settings.
13
+ */
14
+
15
+ function Spinner({
16
+ size = 'large',
17
+ color
18
+ }) {
19
+ const theme = (0, _theme.useTheme)();
20
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
21
+ size: size,
22
+ color: color ?? theme.primaryColor
23
+ });
24
+ }
25
+ //# sourceMappingURL=Spinner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","_theme","_jsxRuntime","Spinner","size","color","theme","useTheme","jsx","ActivityIndicator","primaryColor"],"sourceRoot":"../../../../src","sources":["ui/primitives/Spinner.tsx"],"mappings":";;;;;;AAKA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAAoC,IAAAE,WAAA,GAAAF,OAAA;AANpC;AACA;AACA;AACA;;AAUO,SAASG,OAAOA,CAAC;EAAEC,IAAI,GAAG,OAAO;EAAEC;AAAoB,CAAC,EAAE;EAC/D,MAAMC,KAAK,GAAG,IAAAC,eAAQ,EAAC,CAAC;EACxB,oBAAO,IAAAL,WAAA,CAAAM,GAAA,EAACT,YAAA,CAAAU,iBAAiB;IAACL,IAAI,EAAEA,IAAK;IAACC,KAAK,EAAEA,KAAK,IAAIC,KAAK,CAACI;EAAa,CAAE,CAAC;AAC9E","ignoreList":[]}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "Banner", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _Banner.Banner;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "Button", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _Button.Button;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "Card", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _Card.Card;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "Checkbox", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _Checkbox.Checkbox;
28
+ }
29
+ });
30
+ Object.defineProperty(exports, "CountrySelect", {
31
+ enumerable: true,
32
+ get: function () {
33
+ return _CountrySelect.CountrySelect;
34
+ }
35
+ });
36
+ Object.defineProperty(exports, "DatePicker", {
37
+ enumerable: true,
38
+ get: function () {
39
+ return _DatePicker.DatePicker;
40
+ }
41
+ });
42
+ Object.defineProperty(exports, "Input", {
43
+ enumerable: true,
44
+ get: function () {
45
+ return _Input.Input;
46
+ }
47
+ });
48
+ Object.defineProperty(exports, "Select", {
49
+ enumerable: true,
50
+ get: function () {
51
+ return _Select.Select;
52
+ }
53
+ });
54
+ Object.defineProperty(exports, "Spinner", {
55
+ enumerable: true,
56
+ get: function () {
57
+ return _Spinner.Spinner;
58
+ }
59
+ });
60
+ var _Button = require("./Button");
61
+ var _Input = require("./Input");
62
+ var _Select = require("./Select");
63
+ var _Card = require("./Card");
64
+ var _Banner = require("./Banner");
65
+ var _Spinner = require("./Spinner");
66
+ var _Checkbox = require("./Checkbox");
67
+ var _DatePicker = require("./DatePicker");
68
+ var _CountrySelect = require("./CountrySelect");
69
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_Button","require","_Input","_Select","_Card","_Banner","_Spinner","_Checkbox","_DatePicker","_CountrySelect"],"sourceRoot":"../../../../src","sources":["ui/primitives/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,SAAA,GAAAN,OAAA;AACA,IAAAO,WAAA,GAAAP,OAAA;AACA,IAAAQ,cAAA,GAAAR,OAAA","ignoreList":[]}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ThemeProvider = ThemeProvider;
7
+ exports.useReducedMotion = useReducedMotion;
8
+ exports.useTheme = useTheme;
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _reactNative = require("react-native");
11
+ var _tokens = require("./tokens");
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ 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); }
14
+ /**
15
+ * @fileoverview ThemeProvider + hooks.
16
+ *
17
+ * - `ThemeProvider` resolves tokens from `VelionConfig.theme` + colorMode and
18
+ * exposes them to descendants.
19
+ * - `useTheme()` returns the active `ResolvedTheme`.
20
+ * - `useReducedMotion()` honours the OS-level `prefers-reduced-motion` flag —
21
+ * components disable animations when true.
22
+ */
23
+
24
+ const ThemeContext = /*#__PURE__*/(0, _react.createContext)(null);
25
+ function ThemeProvider({
26
+ themeOverrides,
27
+ colorMode = 'auto',
28
+ children
29
+ }) {
30
+ const systemScheme = (0, _reactNative.useColorScheme)();
31
+ const reduceMotion = useReducedMotionInternal();
32
+ const resolvedMode = (0, _react.useMemo)(() => {
33
+ if (colorMode === 'light' || colorMode === 'dark') return colorMode;
34
+ return systemScheme === 'dark' ? 'dark' : 'light';
35
+ }, [colorMode, systemScheme]);
36
+ const theme = (0, _react.useMemo)(() => (0, _tokens.resolveTheme)(themeOverrides, resolvedMode), [themeOverrides, resolvedMode]);
37
+ const value = (0, _react.useMemo)(() => ({
38
+ theme,
39
+ reduceMotion
40
+ }), [theme, reduceMotion]);
41
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(ThemeContext.Provider, {
42
+ value: value,
43
+ children: children
44
+ });
45
+ }
46
+ function useTheme() {
47
+ const ctx = (0, _react.useContext)(ThemeContext);
48
+ if (!ctx) {
49
+ throw new Error('useTheme must be used inside <ThemeProvider>. Did you mount <VelionOnboardingScreen> at the root of your screen?');
50
+ }
51
+ return ctx.theme;
52
+ }
53
+ function useReducedMotion() {
54
+ const ctx = (0, _react.useContext)(ThemeContext);
55
+ return ctx?.reduceMotion ?? false;
56
+ }
57
+ function useReducedMotionInternal() {
58
+ const [enabled, setEnabled] = (0, _react.useState)(false);
59
+ (0, _react.useEffect)(() => {
60
+ let mounted = true;
61
+ _reactNative.AccessibilityInfo.isReduceMotionEnabled().then(v => {
62
+ if (mounted) setEnabled(v);
63
+ }).catch(() => {
64
+ // The API is best-effort on every platform; default to false on error.
65
+ });
66
+ const sub = _reactNative.AccessibilityInfo.addEventListener('reduceMotionChanged', v => setEnabled(v));
67
+ return () => {
68
+ mounted = false;
69
+ sub.remove();
70
+ };
71
+ }, []);
72
+ return enabled;
73
+ }
74
+ //# sourceMappingURL=ThemeProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_tokens","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ThemeContext","createContext","ThemeProvider","themeOverrides","colorMode","children","systemScheme","useColorScheme","reduceMotion","useReducedMotionInternal","resolvedMode","useMemo","theme","resolveTheme","value","jsx","Provider","useTheme","ctx","useContext","Error","useReducedMotion","enabled","setEnabled","useState","useEffect","mounted","AccessibilityInfo","isReduceMotionEnabled","then","v","catch","sub","addEventListener","remove"],"sourceRoot":"../../../../src","sources":["ui/theme/ThemeProvider.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "DARK_TOKENS", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _tokens.DARK_TOKENS;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "LIGHT_TOKENS", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _tokens.LIGHT_TOKENS;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "ThemeProvider", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _ThemeProvider.ThemeProvider;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "getDefaultThemeTokens", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _tokens.getDefaultThemeTokens;
28
+ }
29
+ });
30
+ Object.defineProperty(exports, "isHexDark", {
31
+ enumerable: true,
32
+ get: function () {
33
+ return _tokens.isHexDark;
34
+ }
35
+ });
36
+ Object.defineProperty(exports, "mixHex", {
37
+ enumerable: true,
38
+ get: function () {
39
+ return _tokens.mixHex;
40
+ }
41
+ });
42
+ Object.defineProperty(exports, "resolveTheme", {
43
+ enumerable: true,
44
+ get: function () {
45
+ return _tokens.resolveTheme;
46
+ }
47
+ });
48
+ Object.defineProperty(exports, "useReducedMotion", {
49
+ enumerable: true,
50
+ get: function () {
51
+ return _ThemeProvider.useReducedMotion;
52
+ }
53
+ });
54
+ Object.defineProperty(exports, "useTheme", {
55
+ enumerable: true,
56
+ get: function () {
57
+ return _ThemeProvider.useTheme;
58
+ }
59
+ });
60
+ Object.defineProperty(exports, "withAlpha", {
61
+ enumerable: true,
62
+ get: function () {
63
+ return _tokens.withAlpha;
64
+ }
65
+ });
66
+ var _ThemeProvider = require("./ThemeProvider");
67
+ var _tokens = require("./tokens");
68
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_ThemeProvider","require","_tokens"],"sourceRoot":"../../../../src","sources":["ui/theme/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AAMA,IAAAC,OAAA,GAAAD,OAAA","ignoreList":[]}
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.LIGHT_TOKENS = exports.DARK_TOKENS = void 0;
7
+ exports.getDefaultThemeTokens = getDefaultThemeTokens;
8
+ exports.isHexDark = isHexDark;
9
+ exports.mixHex = mixHex;
10
+ exports.resolveTheme = resolveTheme;
11
+ exports.withAlpha = withAlpha;
12
+ /**
13
+ * @fileoverview Theme tokens for the React Native SDK.
14
+ *
15
+ * Exposes logical tokens as a plain JS object that components consume via
16
+ * `useTheme()`.
17
+ *
18
+ * Light and dark are tuned independently (Material Design 3 / Apple HIG dark
19
+ * pairing). Consumer overrides from `VelionConfig.theme` are layered on top.
20
+ */
21
+
22
+ /** Tonal token set. Shape matches `VelionTheme` (all required, no undefineds). */
23
+
24
+ /**
25
+ * Resolved values that components actually read from. We keep colors as plain
26
+ * hex strings; consumers that want to layer translucency use `mixHex` instead
27
+ * of CSS `color-mix()` (which does not exist in RN).
28
+ */
29
+
30
+ const LIGHT_TOKENS = exports.LIGHT_TOKENS = {
31
+ primaryColor: '#2563EB',
32
+ secondaryColor: '#1D4ED8',
33
+ backgroundColor: '#FFFFFF',
34
+ textColor: '#111827',
35
+ textSecondaryColor: '#6B7280',
36
+ borderRadius: '8px',
37
+ fontFamily: 'System',
38
+ errorColor: '#DC2626',
39
+ successColor: '#16A34A',
40
+ warningColor: '#D97706',
41
+ borderColor: '#E5E7EB',
42
+ cardShadow: '0 4px 6px -1px rgba(0,0,0,0.10), 0 2px 4px -2px rgba(0,0,0,0.10)',
43
+ hideStepIcons: false,
44
+ hideProgressBar: false
45
+ };
46
+ const DARK_TOKENS = exports.DARK_TOKENS = {
47
+ primaryColor: '#3B82F6',
48
+ secondaryColor: '#60A5FA',
49
+ backgroundColor: '#0B1220',
50
+ textColor: '#F1F5F9',
51
+ textSecondaryColor: '#94A3B8',
52
+ borderRadius: '8px',
53
+ fontFamily: 'System',
54
+ errorColor: '#F87171',
55
+ successColor: '#34D399',
56
+ warningColor: '#FBBF24',
57
+ borderColor: '#1E293B',
58
+ cardShadow: '0 8px 18px -4px rgba(0,0,0,0.55), 0 4px 8px -4px rgba(0,0,0,0.40)',
59
+ hideStepIcons: false,
60
+ hideProgressBar: false
61
+ };
62
+ function getDefaultThemeTokens(colorMode = 'light') {
63
+ return colorMode === 'dark' ? {
64
+ ...DARK_TOKENS
65
+ } : {
66
+ ...LIGHT_TOKENS
67
+ };
68
+ }
69
+
70
+ /** Layers consumer overrides on top of the base tokens for the requested mode. */
71
+ function resolveTheme(theme, colorMode) {
72
+ const base = colorMode === 'dark' ? DARK_TOKENS : LIGHT_TOKENS;
73
+ const merged = {
74
+ ...base,
75
+ ...theme
76
+ };
77
+ // Recompute the effective mode from the resolved background luminance, so a
78
+ // consumer that passes `colorMode: "light"` but overrides `backgroundColor`
79
+ // with a dark hex still gets icons / images that branch on the mode right.
80
+ const effectiveMode = isHexDark(merged.backgroundColor) ? 'dark' : 'light';
81
+ const borderRadiusPx = parsePx(merged.borderRadius, 8);
82
+ return {
83
+ ...merged,
84
+ effectiveMode,
85
+ borderRadiusPx
86
+ };
87
+ }
88
+
89
+ /** WCAG relative-luminance check. Returns false on unparsable input. */
90
+ function isHexDark(hex) {
91
+ const parsed = parseHex(hex);
92
+ if (!parsed) return false;
93
+ const linearize = c => {
94
+ const n = c / 255;
95
+ return n <= 0.03928 ? n / 12.92 : Math.pow((n + 0.055) / 1.055, 2.4);
96
+ };
97
+ const luminance = 0.2126 * linearize(parsed.r) + 0.7152 * linearize(parsed.g) + 0.0722 * linearize(parsed.b);
98
+ return luminance < 0.5;
99
+ }
100
+
101
+ /**
102
+ * Mix two hex colors at the given ratio (0–100). Cheap stand-in for the web's
103
+ * `color-mix(in srgb, A x%, B)` so we can render the soft halos and tinted
104
+ * backgrounds the design system uses (.vl-retry-dialog, .vl-sworn__option).
105
+ */
106
+ function mixHex(a, b, ratioOfA) {
107
+ const ar = clamp(ratioOfA, 0, 100) / 100;
108
+ const ca = parseHex(a);
109
+ const cb = parseHex(b);
110
+ if (!ca || !cb) return a;
111
+ const r = Math.round(ca.r * ar + cb.r * (1 - ar));
112
+ const g = Math.round(ca.g * ar + cb.g * (1 - ar));
113
+ const blue = Math.round(ca.b * ar + cb.b * (1 - ar));
114
+ return `#${toHex(r)}${toHex(g)}${toHex(blue)}`;
115
+ }
116
+
117
+ /**
118
+ * Returns an `rgba()` string with the supplied alpha (0–1). Use for translucent
119
+ * borders / fills that should not blend with the host background.
120
+ */
121
+ function withAlpha(hex, alpha) {
122
+ const c = parseHex(hex);
123
+ if (!c) return hex;
124
+ const a = clamp(alpha, 0, 1);
125
+ return `rgba(${c.r}, ${c.g}, ${c.b}, ${a})`;
126
+ }
127
+ function parseHex(hex) {
128
+ const match = hex.match(/^#?([0-9a-f]{3}|[0-9a-f]{6})$/i);
129
+ if (!match || !match[1]) return null;
130
+ const raw = match[1];
131
+ const full = raw.length === 3 ? raw[0] + raw[0] + raw[1] + raw[1] + raw[2] + raw[2] : raw;
132
+ return {
133
+ r: parseInt(full.slice(0, 2), 16),
134
+ g: parseInt(full.slice(2, 4), 16),
135
+ b: parseInt(full.slice(4, 6), 16)
136
+ };
137
+ }
138
+ function toHex(n) {
139
+ return clamp(n, 0, 255).toString(16).padStart(2, '0').toUpperCase();
140
+ }
141
+ function clamp(n, min, max) {
142
+ if (n < min) return min;
143
+ if (n > max) return max;
144
+ return n;
145
+ }
146
+ function parsePx(value, fallback) {
147
+ const m = value.trim().match(/^(\d+(?:\.\d+)?)\s*px$/i);
148
+ if (m && m[1]) {
149
+ const parsed = Number(m[1]);
150
+ if (Number.isFinite(parsed)) return parsed;
151
+ }
152
+ return fallback;
153
+ }
154
+ //# sourceMappingURL=tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["LIGHT_TOKENS","exports","primaryColor","secondaryColor","backgroundColor","textColor","textSecondaryColor","borderRadius","fontFamily","errorColor","successColor","warningColor","borderColor","cardShadow","hideStepIcons","hideProgressBar","DARK_TOKENS","getDefaultThemeTokens","colorMode","resolveTheme","theme","base","merged","effectiveMode","isHexDark","borderRadiusPx","parsePx","hex","parsed","parseHex","linearize","c","n","Math","pow","luminance","r","g","b","mixHex","a","ratioOfA","ar","clamp","ca","cb","round","blue","toHex","withAlpha","alpha","match","raw","full","length","parseInt","slice","toString","padStart","toUpperCase","min","max","value","fallback","m","trim","Number","isFinite"],"sourceRoot":"../../../../src","sources":["ui/theme/tokens.ts"],"mappings":"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","ignoreList":[]}