@kwik-id/sdk-react-native 0.0.0-stage → 0.1.0-alpha.1

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 (269) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +312 -2
  3. package/app.plugin.js +40 -0
  4. package/lib/commonjs/api/api-client.js +213 -0
  5. package/lib/commonjs/api/api-client.js.map +1 -0
  6. package/lib/commonjs/api/api-error.js +29 -0
  7. package/lib/commonjs/api/api-error.js.map +1 -0
  8. package/lib/commonjs/api/index.js +33 -0
  9. package/lib/commonjs/api/index.js.map +1 -0
  10. package/lib/commonjs/api/upload.js +74 -0
  11. package/lib/commonjs/api/upload.js.map +1 -0
  12. package/lib/commonjs/camera/camera-view.js +227 -0
  13. package/lib/commonjs/camera/camera-view.js.map +1 -0
  14. package/lib/commonjs/camera/index.js +20 -0
  15. package/lib/commonjs/camera/index.js.map +1 -0
  16. package/lib/commonjs/camera/photo-capture.js +50 -0
  17. package/lib/commonjs/camera/photo-capture.js.map +1 -0
  18. package/lib/commonjs/crypto/fingerprint.js +43 -0
  19. package/lib/commonjs/crypto/fingerprint.js.map +1 -0
  20. package/lib/commonjs/crypto/hmac.js +150 -0
  21. package/lib/commonjs/crypto/hmac.js.map +1 -0
  22. package/lib/commonjs/crypto/index.js +39 -0
  23. package/lib/commonjs/crypto/index.js.map +1 -0
  24. package/lib/commonjs/crypto/session-manager.js +173 -0
  25. package/lib/commonjs/crypto/session-manager.js.map +1 -0
  26. package/lib/commonjs/i18n/en.js +297 -0
  27. package/lib/commonjs/i18n/en.js.map +1 -0
  28. package/lib/commonjs/i18n/fr.js +294 -0
  29. package/lib/commonjs/i18n/fr.js.map +1 -0
  30. package/lib/commonjs/i18n/index.js +34 -0
  31. package/lib/commonjs/i18n/index.js.map +1 -0
  32. package/lib/commonjs/i18n/locale.js +20 -0
  33. package/lib/commonjs/i18n/locale.js.map +1 -0
  34. package/lib/commonjs/i18n/translator.js +37 -0
  35. package/lib/commonjs/i18n/translator.js.map +1 -0
  36. package/lib/commonjs/index.js +187 -0
  37. package/lib/commonjs/index.js.map +1 -0
  38. package/lib/commonjs/lib/device-detector.js +34 -0
  39. package/lib/commonjs/lib/device-detector.js.map +1 -0
  40. package/lib/commonjs/lib/event-emitter.js +85 -0
  41. package/lib/commonjs/lib/event-emitter.js.map +1 -0
  42. package/lib/commonjs/lib/index.js +63 -0
  43. package/lib/commonjs/lib/index.js.map +1 -0
  44. package/lib/commonjs/lib/kwik-id-rn-sdk.js +156 -0
  45. package/lib/commonjs/lib/kwik-id-rn-sdk.js.map +1 -0
  46. package/lib/commonjs/lib/verification-machine.js +276 -0
  47. package/lib/commonjs/lib/verification-machine.js.map +1 -0
  48. package/lib/commonjs/package.json +1 -0
  49. package/lib/commonjs/types/events.js +6 -0
  50. package/lib/commonjs/types/events.js.map +1 -0
  51. package/lib/commonjs/types/index.js +2 -0
  52. package/lib/commonjs/types/index.js.map +1 -0
  53. package/lib/commonjs/ui/components/KwikIDVerificationModal.js +407 -0
  54. package/lib/commonjs/ui/components/KwikIDVerificationModal.js.map +1 -0
  55. package/lib/commonjs/ui/components/screens.js +338 -0
  56. package/lib/commonjs/ui/components/screens.js.map +1 -0
  57. package/lib/commonjs/ui/context/kwik-id-provider.js +52 -0
  58. package/lib/commonjs/ui/context/kwik-id-provider.js.map +1 -0
  59. package/lib/commonjs/ui/hooks/use-kwik-verification.js +77 -0
  60. package/lib/commonjs/ui/hooks/use-kwik-verification.js.map +1 -0
  61. package/lib/commonjs/ui/index.js +33 -0
  62. package/lib/commonjs/ui/index.js.map +1 -0
  63. package/lib/module/api/api-client.js +208 -0
  64. package/lib/module/api/api-client.js.map +1 -0
  65. package/lib/module/api/api-error.js +24 -0
  66. package/lib/module/api/api-error.js.map +1 -0
  67. package/lib/module/api/index.js +6 -0
  68. package/lib/module/api/index.js.map +1 -0
  69. package/lib/module/api/upload.js +68 -0
  70. package/lib/module/api/upload.js.map +1 -0
  71. package/lib/module/camera/camera-view.js +222 -0
  72. package/lib/module/camera/camera-view.js.map +1 -0
  73. package/lib/module/camera/index.js +5 -0
  74. package/lib/module/camera/index.js.map +1 -0
  75. package/lib/module/camera/photo-capture.js +45 -0
  76. package/lib/module/camera/photo-capture.js.map +1 -0
  77. package/lib/module/crypto/fingerprint.js +37 -0
  78. package/lib/module/crypto/fingerprint.js.map +1 -0
  79. package/lib/module/crypto/hmac.js +143 -0
  80. package/lib/module/crypto/hmac.js.map +1 -0
  81. package/lib/module/crypto/index.js +6 -0
  82. package/lib/module/crypto/index.js.map +1 -0
  83. package/lib/module/crypto/session-manager.js +169 -0
  84. package/lib/module/crypto/session-manager.js.map +1 -0
  85. package/lib/module/i18n/en.js +293 -0
  86. package/lib/module/i18n/en.js.map +1 -0
  87. package/lib/module/i18n/fr.js +290 -0
  88. package/lib/module/i18n/fr.js.map +1 -0
  89. package/lib/module/i18n/index.js +11 -0
  90. package/lib/module/i18n/index.js.map +1 -0
  91. package/lib/module/i18n/locale.js +15 -0
  92. package/lib/module/i18n/locale.js.map +1 -0
  93. package/lib/module/i18n/translator.js +34 -0
  94. package/lib/module/i18n/translator.js.map +1 -0
  95. package/lib/module/index.js +30 -0
  96. package/lib/module/index.js.map +1 -0
  97. package/lib/module/lib/device-detector.js +26 -0
  98. package/lib/module/lib/device-detector.js.map +1 -0
  99. package/lib/module/lib/event-emitter.js +80 -0
  100. package/lib/module/lib/event-emitter.js.map +1 -0
  101. package/lib/module/lib/index.js +6 -0
  102. package/lib/module/lib/index.js.map +1 -0
  103. package/lib/module/lib/kwik-id-rn-sdk.js +150 -0
  104. package/lib/module/lib/kwik-id-rn-sdk.js.map +1 -0
  105. package/lib/module/lib/verification-machine.js +268 -0
  106. package/lib/module/lib/verification-machine.js.map +1 -0
  107. package/lib/module/package.json +1 -0
  108. package/lib/module/types/events.js +4 -0
  109. package/lib/module/types/events.js.map +1 -0
  110. package/lib/module/types/index.js +2 -0
  111. package/lib/module/types/index.js.map +1 -0
  112. package/lib/module/ui/components/KwikIDVerificationModal.js +402 -0
  113. package/lib/module/ui/components/KwikIDVerificationModal.js.map +1 -0
  114. package/lib/module/ui/components/screens.js +328 -0
  115. package/lib/module/ui/components/screens.js.map +1 -0
  116. package/lib/module/ui/context/kwik-id-provider.js +46 -0
  117. package/lib/module/ui/context/kwik-id-provider.js.map +1 -0
  118. package/lib/module/ui/hooks/use-kwik-verification.js +72 -0
  119. package/lib/module/ui/hooks/use-kwik-verification.js.map +1 -0
  120. package/lib/module/ui/index.js +6 -0
  121. package/lib/module/ui/index.js.map +1 -0
  122. package/lib/typescript/commonjs/api/api-client.d.ts +82 -0
  123. package/lib/typescript/commonjs/api/api-client.d.ts.map +1 -0
  124. package/lib/typescript/commonjs/api/api-error.d.ts +13 -0
  125. package/lib/typescript/commonjs/api/api-error.d.ts.map +1 -0
  126. package/lib/typescript/commonjs/api/index.d.ts +6 -0
  127. package/lib/typescript/commonjs/api/index.d.ts.map +1 -0
  128. package/lib/typescript/commonjs/api/upload.d.ts +19 -0
  129. package/lib/typescript/commonjs/api/upload.d.ts.map +1 -0
  130. package/lib/typescript/commonjs/camera/camera-view.d.ts +25 -0
  131. package/lib/typescript/commonjs/camera/camera-view.d.ts.map +1 -0
  132. package/lib/typescript/commonjs/camera/index.d.ts +5 -0
  133. package/lib/typescript/commonjs/camera/index.d.ts.map +1 -0
  134. package/lib/typescript/commonjs/camera/photo-capture.d.ts +9 -0
  135. package/lib/typescript/commonjs/camera/photo-capture.d.ts.map +1 -0
  136. package/lib/typescript/commonjs/crypto/fingerprint.d.ts +3 -0
  137. package/lib/typescript/commonjs/crypto/fingerprint.d.ts.map +1 -0
  138. package/lib/typescript/commonjs/crypto/hmac.d.ts +18 -0
  139. package/lib/typescript/commonjs/crypto/hmac.d.ts.map +1 -0
  140. package/lib/typescript/commonjs/crypto/index.d.ts +4 -0
  141. package/lib/typescript/commonjs/crypto/index.d.ts.map +1 -0
  142. package/lib/typescript/commonjs/crypto/session-manager.d.ts +27 -0
  143. package/lib/typescript/commonjs/crypto/session-manager.d.ts.map +1 -0
  144. package/lib/typescript/commonjs/i18n/en.d.ts +291 -0
  145. package/lib/typescript/commonjs/i18n/en.d.ts.map +1 -0
  146. package/lib/typescript/commonjs/i18n/fr.d.ts +6 -0
  147. package/lib/typescript/commonjs/i18n/fr.d.ts.map +1 -0
  148. package/lib/typescript/commonjs/i18n/index.d.ts +10 -0
  149. package/lib/typescript/commonjs/i18n/index.d.ts.map +1 -0
  150. package/lib/typescript/commonjs/i18n/locale.d.ts +4 -0
  151. package/lib/typescript/commonjs/i18n/locale.d.ts.map +1 -0
  152. package/lib/typescript/commonjs/i18n/translator.d.ts +15 -0
  153. package/lib/typescript/commonjs/i18n/translator.d.ts.map +1 -0
  154. package/lib/typescript/commonjs/index.d.ts +24 -0
  155. package/lib/typescript/commonjs/index.d.ts.map +1 -0
  156. package/lib/typescript/commonjs/lib/device-detector.d.ts +5 -0
  157. package/lib/typescript/commonjs/lib/device-detector.d.ts.map +1 -0
  158. package/lib/typescript/commonjs/lib/event-emitter.d.ts +19 -0
  159. package/lib/typescript/commonjs/lib/event-emitter.d.ts.map +1 -0
  160. package/lib/typescript/commonjs/lib/index.d.ts +5 -0
  161. package/lib/typescript/commonjs/lib/index.d.ts.map +1 -0
  162. package/lib/typescript/commonjs/lib/kwik-id-rn-sdk.d.ts +43 -0
  163. package/lib/typescript/commonjs/lib/kwik-id-rn-sdk.d.ts.map +1 -0
  164. package/lib/typescript/commonjs/lib/verification-machine.d.ts +78 -0
  165. package/lib/typescript/commonjs/lib/verification-machine.d.ts.map +1 -0
  166. package/lib/typescript/commonjs/package.json +1 -0
  167. package/lib/typescript/commonjs/types/events.d.ts +94 -0
  168. package/lib/typescript/commonjs/types/events.d.ts.map +1 -0
  169. package/lib/typescript/commonjs/types/index.d.ts +242 -0
  170. package/lib/typescript/commonjs/types/index.d.ts.map +1 -0
  171. package/lib/typescript/commonjs/ui/components/KwikIDVerificationModal.d.ts +21 -0
  172. package/lib/typescript/commonjs/ui/components/KwikIDVerificationModal.d.ts.map +1 -0
  173. package/lib/typescript/commonjs/ui/components/screens.d.ts +46 -0
  174. package/lib/typescript/commonjs/ui/components/screens.d.ts.map +1 -0
  175. package/lib/typescript/commonjs/ui/context/kwik-id-provider.d.ts +19 -0
  176. package/lib/typescript/commonjs/ui/context/kwik-id-provider.d.ts.map +1 -0
  177. package/lib/typescript/commonjs/ui/hooks/use-kwik-verification.d.ts +29 -0
  178. package/lib/typescript/commonjs/ui/hooks/use-kwik-verification.d.ts.map +1 -0
  179. package/lib/typescript/commonjs/ui/index.d.ts +7 -0
  180. package/lib/typescript/commonjs/ui/index.d.ts.map +1 -0
  181. package/lib/typescript/module/api/api-client.d.ts +82 -0
  182. package/lib/typescript/module/api/api-client.d.ts.map +1 -0
  183. package/lib/typescript/module/api/api-error.d.ts +13 -0
  184. package/lib/typescript/module/api/api-error.d.ts.map +1 -0
  185. package/lib/typescript/module/api/index.d.ts +6 -0
  186. package/lib/typescript/module/api/index.d.ts.map +1 -0
  187. package/lib/typescript/module/api/upload.d.ts +19 -0
  188. package/lib/typescript/module/api/upload.d.ts.map +1 -0
  189. package/lib/typescript/module/camera/camera-view.d.ts +25 -0
  190. package/lib/typescript/module/camera/camera-view.d.ts.map +1 -0
  191. package/lib/typescript/module/camera/index.d.ts +5 -0
  192. package/lib/typescript/module/camera/index.d.ts.map +1 -0
  193. package/lib/typescript/module/camera/photo-capture.d.ts +9 -0
  194. package/lib/typescript/module/camera/photo-capture.d.ts.map +1 -0
  195. package/lib/typescript/module/crypto/fingerprint.d.ts +3 -0
  196. package/lib/typescript/module/crypto/fingerprint.d.ts.map +1 -0
  197. package/lib/typescript/module/crypto/hmac.d.ts +18 -0
  198. package/lib/typescript/module/crypto/hmac.d.ts.map +1 -0
  199. package/lib/typescript/module/crypto/index.d.ts +4 -0
  200. package/lib/typescript/module/crypto/index.d.ts.map +1 -0
  201. package/lib/typescript/module/crypto/session-manager.d.ts +27 -0
  202. package/lib/typescript/module/crypto/session-manager.d.ts.map +1 -0
  203. package/lib/typescript/module/i18n/en.d.ts +291 -0
  204. package/lib/typescript/module/i18n/en.d.ts.map +1 -0
  205. package/lib/typescript/module/i18n/fr.d.ts +6 -0
  206. package/lib/typescript/module/i18n/fr.d.ts.map +1 -0
  207. package/lib/typescript/module/i18n/index.d.ts +10 -0
  208. package/lib/typescript/module/i18n/index.d.ts.map +1 -0
  209. package/lib/typescript/module/i18n/locale.d.ts +4 -0
  210. package/lib/typescript/module/i18n/locale.d.ts.map +1 -0
  211. package/lib/typescript/module/i18n/translator.d.ts +15 -0
  212. package/lib/typescript/module/i18n/translator.d.ts.map +1 -0
  213. package/lib/typescript/module/index.d.ts +24 -0
  214. package/lib/typescript/module/index.d.ts.map +1 -0
  215. package/lib/typescript/module/lib/device-detector.d.ts +5 -0
  216. package/lib/typescript/module/lib/device-detector.d.ts.map +1 -0
  217. package/lib/typescript/module/lib/event-emitter.d.ts +19 -0
  218. package/lib/typescript/module/lib/event-emitter.d.ts.map +1 -0
  219. package/lib/typescript/module/lib/index.d.ts +5 -0
  220. package/lib/typescript/module/lib/index.d.ts.map +1 -0
  221. package/lib/typescript/module/lib/kwik-id-rn-sdk.d.ts +43 -0
  222. package/lib/typescript/module/lib/kwik-id-rn-sdk.d.ts.map +1 -0
  223. package/lib/typescript/module/lib/verification-machine.d.ts +78 -0
  224. package/lib/typescript/module/lib/verification-machine.d.ts.map +1 -0
  225. package/lib/typescript/module/package.json +1 -0
  226. package/lib/typescript/module/types/events.d.ts +94 -0
  227. package/lib/typescript/module/types/events.d.ts.map +1 -0
  228. package/lib/typescript/module/types/index.d.ts +242 -0
  229. package/lib/typescript/module/types/index.d.ts.map +1 -0
  230. package/lib/typescript/module/ui/components/KwikIDVerificationModal.d.ts +21 -0
  231. package/lib/typescript/module/ui/components/KwikIDVerificationModal.d.ts.map +1 -0
  232. package/lib/typescript/module/ui/components/screens.d.ts +46 -0
  233. package/lib/typescript/module/ui/components/screens.d.ts.map +1 -0
  234. package/lib/typescript/module/ui/context/kwik-id-provider.d.ts +19 -0
  235. package/lib/typescript/module/ui/context/kwik-id-provider.d.ts.map +1 -0
  236. package/lib/typescript/module/ui/hooks/use-kwik-verification.d.ts +29 -0
  237. package/lib/typescript/module/ui/hooks/use-kwik-verification.d.ts.map +1 -0
  238. package/lib/typescript/module/ui/index.d.ts +7 -0
  239. package/lib/typescript/module/ui/index.d.ts.map +1 -0
  240. package/package.json +121 -3
  241. package/src/api/api-client.ts +319 -0
  242. package/src/api/api-error.ts +28 -0
  243. package/src/api/index.ts +12 -0
  244. package/src/api/upload.ts +87 -0
  245. package/src/camera/camera-view.tsx +217 -0
  246. package/src/camera/index.ts +4 -0
  247. package/src/camera/photo-capture.ts +58 -0
  248. package/src/crypto/fingerprint.ts +46 -0
  249. package/src/crypto/hmac.ts +172 -0
  250. package/src/crypto/index.ts +3 -0
  251. package/src/crypto/session-manager.ts +200 -0
  252. package/src/i18n/en.ts +315 -0
  253. package/src/i18n/fr.ts +325 -0
  254. package/src/i18n/index.ts +9 -0
  255. package/src/i18n/locale.ts +15 -0
  256. package/src/i18n/translator.ts +37 -0
  257. package/src/index.ts +102 -0
  258. package/src/lib/device-detector.ts +32 -0
  259. package/src/lib/event-emitter.ts +90 -0
  260. package/src/lib/index.ts +15 -0
  261. package/src/lib/kwik-id-rn-sdk.ts +160 -0
  262. package/src/lib/verification-machine.ts +273 -0
  263. package/src/types/events.ts +75 -0
  264. package/src/types/index.ts +309 -0
  265. package/src/ui/components/KwikIDVerificationModal.tsx +450 -0
  266. package/src/ui/components/screens.tsx +283 -0
  267. package/src/ui/context/kwik-id-provider.tsx +72 -0
  268. package/src/ui/hooks/use-kwik-verification.ts +121 -0
  269. package/src/ui/index.ts +9 -0
@@ -0,0 +1,338 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ConfirmScreen = ConfirmScreen;
7
+ exports.DocumentTypeScreen = DocumentTypeScreen;
8
+ exports.IntroScreen = IntroScreen;
9
+ exports.PrepareScreen = PrepareScreen;
10
+ exports.ProcessingScreen = ProcessingScreen;
11
+ exports.ResultScreen = ResultScreen;
12
+ var _reactNative = require("react-native");
13
+ var _jsxRuntime = require("react/jsx-runtime");
14
+ /**
15
+ * Presentational step screens for the Phase 1 verification flow.
16
+ * Plain RN components (no reanimated yet) — kept simple and theme-driven.
17
+ */
18
+
19
+ const DOC_LABEL_KEYS = {
20
+ id_card: "documentType.idCard",
21
+ passport: "documentType.passport",
22
+ drivers_license: "documentType.driversLicense",
23
+ voters_card: "documentType.votersCard",
24
+ residence_permit: "documentType.residencePermit"
25
+ };
26
+ function docLabel(type, t) {
27
+ return t(DOC_LABEL_KEYS[type]);
28
+ }
29
+ function PrimaryButton({
30
+ label,
31
+ onPress,
32
+ theme
33
+ }) {
34
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
35
+ style: [styles.btn, {
36
+ backgroundColor: theme.primary
37
+ }],
38
+ onPress: onPress,
39
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
40
+ style: styles.btnText,
41
+ children: label
42
+ })
43
+ });
44
+ }
45
+ function IntroScreen({
46
+ orgName,
47
+ onNext,
48
+ theme,
49
+ t
50
+ }) {
51
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
52
+ style: styles.screen,
53
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
54
+ style: [styles.h1, {
55
+ color: theme.foreground
56
+ }],
57
+ children: t("intro.title")
58
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
59
+ style: styles.body,
60
+ children: [orgName ? `${t("intro.orgUsesKwikID", {
61
+ orgName
62
+ })} ` : "", t("intro.bodyMobile")]
63
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
64
+ style: styles.spacer
65
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(PrimaryButton, {
66
+ label: t("intro.getStarted"),
67
+ onPress: onNext,
68
+ theme: theme
69
+ })]
70
+ });
71
+ }
72
+ function DocumentTypeScreen({
73
+ allowed,
74
+ onSelect,
75
+ theme,
76
+ t
77
+ }) {
78
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.ScrollView, {
79
+ contentContainerStyle: styles.screen,
80
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
81
+ style: [styles.h1, {
82
+ color: theme.foreground
83
+ }],
84
+ children: t("documentType.chooseTitle")
85
+ }), allowed.map(doc => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
86
+ style: styles.docRow,
87
+ onPress: () => onSelect(doc),
88
+ accessibilityRole: "button",
89
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
90
+ style: [styles.docLabel, {
91
+ color: theme.foreground
92
+ }],
93
+ children: docLabel(doc, t)
94
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
95
+ style: [styles.chevron, {
96
+ color: theme.primary
97
+ }],
98
+ children: "\u203A"
99
+ })]
100
+ }, doc))]
101
+ });
102
+ }
103
+ const PREPARE_COPY_KEYS = {
104
+ front: {
105
+ title: "prepareFront.titleMobile",
106
+ body: "prepareFront.bodyMobile"
107
+ },
108
+ back: {
109
+ title: "prepareBack.titleMobile",
110
+ body: "prepareBack.bodyMobile"
111
+ },
112
+ selfie: {
113
+ title: "prepareSelfie.titleMobile",
114
+ body: "prepareSelfie.bodyMobile"
115
+ }
116
+ };
117
+ function PrepareScreen({
118
+ kind,
119
+ onNext,
120
+ theme,
121
+ t
122
+ }) {
123
+ const copy = PREPARE_COPY_KEYS[kind];
124
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
125
+ style: styles.screen,
126
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
127
+ style: [styles.h1, {
128
+ color: theme.foreground
129
+ }],
130
+ children: t(copy.title)
131
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
132
+ style: styles.body,
133
+ children: t(copy.body)
134
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
135
+ style: styles.spacer
136
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(PrimaryButton, {
137
+ label: t("common.imReady"),
138
+ onPress: onNext,
139
+ theme: theme
140
+ })]
141
+ });
142
+ }
143
+ function ConfirmScreen({
144
+ asset,
145
+ onConfirm,
146
+ onRetake,
147
+ theme,
148
+ t
149
+ }) {
150
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
151
+ style: styles.screen,
152
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
153
+ style: [styles.h1, {
154
+ color: theme.foreground
155
+ }],
156
+ children: t("confirm.looksGoodTitle")
157
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Image, {
158
+ source: {
159
+ uri: asset.uri
160
+ },
161
+ style: styles.preview,
162
+ resizeMode: "contain"
163
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
164
+ style: styles.spacer
165
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(PrimaryButton, {
166
+ label: t("confirm.useThisPhoto"),
167
+ onPress: onConfirm,
168
+ theme: theme
169
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
170
+ style: styles.linkBtn,
171
+ onPress: onRetake,
172
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
173
+ style: [styles.linkText, {
174
+ color: theme.primary
175
+ }],
176
+ children: t("common.retake")
177
+ })
178
+ })]
179
+ });
180
+ }
181
+ function ProcessingScreen({
182
+ progress,
183
+ stage,
184
+ theme,
185
+ t
186
+ }) {
187
+ const label = stage === "submitting" ? t("processing.submitting") : stage === "document_front" ? t("processing.uploadingFront") : stage === "document_back" ? t("processing.uploadingBack") : stage === "selfie" ? t("processing.uploadingSelfie") : t("processing.working");
188
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
189
+ style: styles.center,
190
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
191
+ size: "large",
192
+ color: theme.primary
193
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
194
+ style: [styles.body, {
195
+ marginTop: 16
196
+ }],
197
+ children: label
198
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
199
+ style: styles.progressTrack,
200
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
201
+ style: [styles.progressFill, {
202
+ width: `${progress}%`,
203
+ backgroundColor: theme.primary
204
+ }]
205
+ })
206
+ })]
207
+ });
208
+ }
209
+ function ResultScreen({
210
+ success,
211
+ message,
212
+ onDone,
213
+ theme,
214
+ t
215
+ }) {
216
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
217
+ style: styles.center,
218
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
219
+ style: [styles.resultBadge, {
220
+ backgroundColor: success ? "#16a34a" : "#dc2626"
221
+ }],
222
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
223
+ style: styles.resultIcon,
224
+ children: success ? "✓" : "!"
225
+ })
226
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
227
+ style: [styles.h1, {
228
+ color: theme.foreground,
229
+ textAlign: "center",
230
+ marginTop: 16
231
+ }],
232
+ children: t(success ? "result.submittedShort" : "result.somethingWrong")
233
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
234
+ style: [styles.body, {
235
+ textAlign: "center"
236
+ }],
237
+ children: message
238
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
239
+ style: styles.spacer
240
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(PrimaryButton, {
241
+ label: t("common.done"),
242
+ onPress: onDone,
243
+ theme: theme
244
+ })]
245
+ });
246
+ }
247
+ const styles = _reactNative.StyleSheet.create({
248
+ screen: {
249
+ flex: 1,
250
+ padding: 24
251
+ },
252
+ center: {
253
+ flex: 1,
254
+ padding: 24,
255
+ alignItems: "center",
256
+ justifyContent: "center"
257
+ },
258
+ h1: {
259
+ fontSize: 22,
260
+ fontWeight: "700",
261
+ marginBottom: 12
262
+ },
263
+ body: {
264
+ fontSize: 15,
265
+ lineHeight: 22,
266
+ color: "#4b5563"
267
+ },
268
+ spacer: {
269
+ flex: 1,
270
+ minHeight: 24
271
+ },
272
+ btn: {
273
+ borderRadius: 12,
274
+ paddingVertical: 16,
275
+ alignItems: "center"
276
+ },
277
+ btnText: {
278
+ color: "#fff",
279
+ fontSize: 16,
280
+ fontWeight: "600"
281
+ },
282
+ linkBtn: {
283
+ paddingVertical: 14,
284
+ alignItems: "center"
285
+ },
286
+ linkText: {
287
+ fontSize: 15,
288
+ fontWeight: "600"
289
+ },
290
+ docRow: {
291
+ flexDirection: "row",
292
+ alignItems: "center",
293
+ justifyContent: "space-between",
294
+ paddingVertical: 18,
295
+ borderBottomWidth: 1,
296
+ borderBottomColor: "#eee"
297
+ },
298
+ docLabel: {
299
+ fontSize: 16,
300
+ fontWeight: "500"
301
+ },
302
+ chevron: {
303
+ fontSize: 24,
304
+ fontWeight: "300"
305
+ },
306
+ preview: {
307
+ flex: 1,
308
+ width: "100%",
309
+ marginVertical: 16,
310
+ borderRadius: 12,
311
+ backgroundColor: "#f3f4f6"
312
+ },
313
+ progressTrack: {
314
+ width: "80%",
315
+ height: 6,
316
+ borderRadius: 3,
317
+ backgroundColor: "#e5e7eb",
318
+ marginTop: 20,
319
+ overflow: "hidden"
320
+ },
321
+ progressFill: {
322
+ height: 6,
323
+ borderRadius: 3
324
+ },
325
+ resultBadge: {
326
+ width: 64,
327
+ height: 64,
328
+ borderRadius: 32,
329
+ alignItems: "center",
330
+ justifyContent: "center"
331
+ },
332
+ resultIcon: {
333
+ color: "#fff",
334
+ fontSize: 32,
335
+ fontWeight: "700"
336
+ }
337
+ });
338
+ //# sourceMappingURL=screens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","_jsxRuntime","DOC_LABEL_KEYS","id_card","passport","drivers_license","voters_card","residence_permit","docLabel","type","t","PrimaryButton","label","onPress","theme","jsx","Pressable","style","styles","btn","backgroundColor","primary","children","Text","btnText","IntroScreen","orgName","onNext","jsxs","View","screen","h1","color","foreground","body","spacer","DocumentTypeScreen","allowed","onSelect","ScrollView","contentContainerStyle","map","doc","docRow","accessibilityRole","chevron","PREPARE_COPY_KEYS","front","title","back","selfie","PrepareScreen","kind","copy","ConfirmScreen","asset","onConfirm","onRetake","Image","source","uri","preview","resizeMode","linkBtn","linkText","ProcessingScreen","progress","stage","center","ActivityIndicator","size","marginTop","progressTrack","progressFill","width","ResultScreen","success","message","onDone","resultBadge","resultIcon","textAlign","StyleSheet","create","flex","padding","alignItems","justifyContent","fontSize","fontWeight","marginBottom","lineHeight","minHeight","borderRadius","paddingVertical","flexDirection","borderBottomWidth","borderBottomColor","marginVertical","height","overflow"],"sourceRoot":"../../../../src","sources":["ui/components/screens.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.KwikIDProvider = KwikIDProvider;
7
+ exports.useKwikID = useKwikID;
8
+ var _react = require("react");
9
+ var _kwikIdRnSdk = require("../../lib/kwik-id-rn-sdk.js");
10
+ /**
11
+ * KwikIDProvider / useKwikID — optional context for advanced integrations that want
12
+ * to share a single SDK instance + theme across custom screens. The imperative
13
+ * `useKwikVerification` hook does NOT require this provider.
14
+ */
15
+
16
+ const KwikIDContext = /*#__PURE__*/(0, _react.createContext)(null);
17
+ function KwikIDProvider({
18
+ config,
19
+ autoInitialize = true,
20
+ children
21
+ }) {
22
+ const sdk = (0, _react.useMemo)(() => new _kwikIdRnSdk.KwikIdRNSDK(config), [config]);
23
+ const [sessionInfo, setSessionInfo] = (0, _react.useState)(null);
24
+ (0, _react.useEffect)(() => {
25
+ if (!autoInitialize) return;
26
+ let active = true;
27
+ sdk.initialize().then(info => active && setSessionInfo(info)).catch(() => undefined);
28
+ return () => {
29
+ active = false;
30
+ sdk.destroy();
31
+ };
32
+ }, [sdk, autoInitialize]);
33
+ const value = (0, _react.useMemo)(() => ({
34
+ sdk,
35
+ sessionInfo,
36
+ orgName: sessionInfo?.orgName,
37
+ allowedDocumentTypes: sessionInfo?.config.documentTypes ?? [],
38
+ livenessMode: config.livenessMode ?? sessionInfo?.config.livenessMode ?? "passive",
39
+ theme: config.theme ?? {}
40
+ }), [sdk, sessionInfo, config.livenessMode, config.theme]);
41
+ return /*#__PURE__*/(0, _react.createElement)(KwikIDContext.Provider, {
42
+ value
43
+ }, children);
44
+ }
45
+ function useKwikID() {
46
+ const ctx = (0, _react.useContext)(KwikIDContext);
47
+ if (!ctx) {
48
+ throw new Error("useKwikID must be used within a <KwikIDProvider>");
49
+ }
50
+ return ctx;
51
+ }
52
+ //# sourceMappingURL=kwik-id-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_kwikIdRnSdk","KwikIDContext","createContext","KwikIDProvider","config","autoInitialize","children","sdk","useMemo","KwikIdRNSDK","sessionInfo","setSessionInfo","useState","useEffect","active","initialize","then","info","catch","undefined","destroy","value","orgName","allowedDocumentTypes","documentTypes","livenessMode","theme","createElement","Provider","useKwikID","ctx","useContext","Error"],"sourceRoot":"../../../../src","sources":["ui/context/kwik-id-provider.tsx"],"mappings":";;;;;;;AAKA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAD,OAAA;AAPA;AACA;AACA;AACA;AACA;;AAqBA,MAAME,aAAa,gBAAG,IAAAC,oBAAa,EAA4B,IAAI,CAAC;AAS7D,SAASC,cAAcA,CAAC;EAAEC,MAAM;EAAEC,cAAc,GAAG,IAAI;EAAEC;AAA8B,CAAC,EAAE;EAC7F,MAAMC,GAAG,GAAG,IAAAC,cAAO,EAAC,MAAM,IAAIC,wBAAW,CAACL,MAAM,CAAC,EAAE,CAACA,MAAM,CAAC,CAAC;EAC5D,MAAM,CAACM,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAC,eAAQ,EAAqB,IAAI,CAAC;EAExE,IAAAC,gBAAS,EAAC,MAAM;IACZ,IAAI,CAACR,cAAc,EAAE;IACrB,IAAIS,MAAM,GAAG,IAAI;IACjBP,GAAG,CAACQ,UAAU,CAAC,CAAC,CACXC,IAAI,CAAEC,IAAI,IAAKH,MAAM,IAAIH,cAAc,CAACM,IAAI,CAAC,CAAC,CAC9CC,KAAK,CAAC,MAAMC,SAAS,CAAC;IAC3B,OAAO,MAAM;MACTL,MAAM,GAAG,KAAK;MACdP,GAAG,CAACa,OAAO,CAAC,CAAC;IACjB,CAAC;EACL,CAAC,EAAE,CAACb,GAAG,EAAEF,cAAc,CAAC,CAAC;EAEzB,MAAMgB,KAAK,GAAG,IAAAb,cAAO,EACjB,OAAO;IACHD,GAAG;IACHG,WAAW;IACXY,OAAO,EAAEZ,WAAW,EAAEY,OAAO;IAC7BC,oBAAoB,EAAEb,WAAW,EAAEN,MAAM,CAACoB,aAAa,IAAI,EAAE;IAC7DC,YAAY,EAAErB,MAAM,CAACqB,YAAY,IAAIf,WAAW,EAAEN,MAAM,CAACqB,YAAY,IAAI,SAAS;IAClFC,KAAK,EAAEtB,MAAM,CAACsB,KAAK,IAAI,CAAC;EAC5B,CAAC,CAAC,EACF,CAACnB,GAAG,EAAEG,WAAW,EAAEN,MAAM,CAACqB,YAAY,EAAErB,MAAM,CAACsB,KAAK,CACxD,CAAC;EAED,oBAAO,IAAAC,oBAAa,EAAC1B,aAAa,CAAC2B,QAAQ,EAAE;IAAEP;EAAM,CAAC,EAAEf,QAAQ,CAAC;AACrE;AAEO,SAASuB,SAASA,CAAA,EAAuB;EAC5C,MAAMC,GAAG,GAAG,IAAAC,iBAAU,EAAC9B,aAAa,CAAC;EACrC,IAAI,CAAC6B,GAAG,EAAE;IACN,MAAM,IAAIE,KAAK,CAAC,kDAAkD,CAAC;EACvE;EACA,OAAOF,GAAG;AACd","ignoreList":[]}
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useKwikVerification = useKwikVerification;
7
+ var _react = require("react");
8
+ var _KwikIDVerificationModal = require("../components/KwikIDVerificationModal.js");
9
+ /**
10
+ * useKwikVerification — imperative entry point (RN analog of the web
11
+ * `openKwikVerification`). Render `<kyc.Modal />` once, then `await kyc.start()`.
12
+ */
13
+
14
+ function useKwikVerification(options) {
15
+ const storeRef = (0, _react.useRef)(undefined);
16
+ if (!storeRef.current) {
17
+ storeRef.current = {
18
+ open: false,
19
+ resolve: null,
20
+ listeners: new Set()
21
+ };
22
+ }
23
+ const store = storeRef.current;
24
+ const optionsRef = (0, _react.useRef)(options);
25
+ optionsRef.current = options;
26
+ const subscribe = (0, _react.useCallback)(cb => {
27
+ store.listeners.add(cb);
28
+ return () => store.listeners.delete(cb);
29
+ }, [store]);
30
+ const getSnapshot = (0, _react.useCallback)(() => store.open, [store]);
31
+ const setOpen = (0, _react.useCallback)(v => {
32
+ store.open = v;
33
+ store.listeners.forEach(l => l());
34
+ }, [store]);
35
+ const start = (0, _react.useCallback)(() => new Promise(resolve => {
36
+ store.resolve = resolve;
37
+ setOpen(true);
38
+ }), [store, setOpen]);
39
+ const finish = (0, _react.useCallback)(outcome => {
40
+ setOpen(false);
41
+ const resolve = store.resolve;
42
+ store.resolve = null;
43
+ resolve?.(outcome);
44
+ }, [store, setOpen]);
45
+ const cancel = (0, _react.useCallback)(() => finish({
46
+ status: "cancelled"
47
+ }), [finish]);
48
+ const isOpen = (0, _react.useSyncExternalStore)(subscribe, getSnapshot);
49
+ const Modal = (0, _react.useMemo)(() => {
50
+ const KwikModal = () => {
51
+ const open = (0, _react.useSyncExternalStore)(subscribe, getSnapshot);
52
+ const o = optionsRef.current;
53
+ return /*#__PURE__*/(0, _react.createElement)(_KwikIDVerificationModal.KwikIDVerificationModal, {
54
+ visible: open,
55
+ clientSecret: o.clientSecret,
56
+ baseUrl: o.baseUrl,
57
+ appName: o.appName,
58
+ theme: o.theme,
59
+ locale: o.locale,
60
+ documentTypes: o.documentTypes,
61
+ skipRuntimeCheck: o.skipRuntimeCheck,
62
+ onSubmitted: o.onSubmitted,
63
+ onComplete: finish,
64
+ onClose: () => undefined
65
+ });
66
+ };
67
+ KwikModal.displayName = "KwikIDModal";
68
+ return KwikModal;
69
+ }, [subscribe, getSnapshot, finish]);
70
+ return {
71
+ start,
72
+ cancel,
73
+ isOpen,
74
+ Modal
75
+ };
76
+ }
77
+ //# sourceMappingURL=use-kwik-verification.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_KwikIDVerificationModal","useKwikVerification","options","storeRef","useRef","undefined","current","open","resolve","listeners","Set","store","optionsRef","subscribe","useCallback","cb","add","delete","getSnapshot","setOpen","v","forEach","l","start","Promise","finish","outcome","cancel","status","isOpen","useSyncExternalStore","Modal","useMemo","KwikModal","o","createElement","KwikIDVerificationModal","visible","clientSecret","baseUrl","appName","theme","locale","documentTypes","skipRuntimeCheck","onSubmitted","onComplete","onClose","displayName"],"sourceRoot":"../../../../src","sources":["ui/hooks/use-kwik-verification.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "KwikIDProvider", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _kwikIdProvider.KwikIDProvider;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "KwikIDVerificationModal", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _KwikIDVerificationModal.KwikIDVerificationModal;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "useKwikID", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _kwikIdProvider.useKwikID;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "useKwikVerification", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _useKwikVerification.useKwikVerification;
28
+ }
29
+ });
30
+ var _KwikIDVerificationModal = require("./components/KwikIDVerificationModal.js");
31
+ var _useKwikVerification = require("./hooks/use-kwik-verification.js");
32
+ var _kwikIdProvider = require("./context/kwik-id-provider.js");
33
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_KwikIDVerificationModal","require","_useKwikVerification","_kwikIdProvider"],"sourceRoot":"../../../src","sources":["ui/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,wBAAA,GAAAC,OAAA;AAEA,IAAAC,oBAAA,GAAAD,OAAA;AAKA,IAAAE,eAAA,GAAAF,OAAA","ignoreList":[]}