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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (269) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +81 -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,328 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Presentational step screens for the Phase 1 verification flow.
5
+ * Plain RN components (no reanimated yet) — kept simple and theme-driven.
6
+ */
7
+ import { ActivityIndicator, Image, Pressable, ScrollView, StyleSheet, Text, View } from "react-native";
8
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
+ const DOC_LABEL_KEYS = {
10
+ id_card: "documentType.idCard",
11
+ passport: "documentType.passport",
12
+ drivers_license: "documentType.driversLicense",
13
+ voters_card: "documentType.votersCard",
14
+ residence_permit: "documentType.residencePermit"
15
+ };
16
+ function docLabel(type, t) {
17
+ return t(DOC_LABEL_KEYS[type]);
18
+ }
19
+ function PrimaryButton({
20
+ label,
21
+ onPress,
22
+ theme
23
+ }) {
24
+ return /*#__PURE__*/_jsx(Pressable, {
25
+ style: [styles.btn, {
26
+ backgroundColor: theme.primary
27
+ }],
28
+ onPress: onPress,
29
+ children: /*#__PURE__*/_jsx(Text, {
30
+ style: styles.btnText,
31
+ children: label
32
+ })
33
+ });
34
+ }
35
+ export function IntroScreen({
36
+ orgName,
37
+ onNext,
38
+ theme,
39
+ t
40
+ }) {
41
+ return /*#__PURE__*/_jsxs(View, {
42
+ style: styles.screen,
43
+ children: [/*#__PURE__*/_jsx(Text, {
44
+ style: [styles.h1, {
45
+ color: theme.foreground
46
+ }],
47
+ children: t("intro.title")
48
+ }), /*#__PURE__*/_jsxs(Text, {
49
+ style: styles.body,
50
+ children: [orgName ? `${t("intro.orgUsesKwikID", {
51
+ orgName
52
+ })} ` : "", t("intro.bodyMobile")]
53
+ }), /*#__PURE__*/_jsx(View, {
54
+ style: styles.spacer
55
+ }), /*#__PURE__*/_jsx(PrimaryButton, {
56
+ label: t("intro.getStarted"),
57
+ onPress: onNext,
58
+ theme: theme
59
+ })]
60
+ });
61
+ }
62
+ export function DocumentTypeScreen({
63
+ allowed,
64
+ onSelect,
65
+ theme,
66
+ t
67
+ }) {
68
+ return /*#__PURE__*/_jsxs(ScrollView, {
69
+ contentContainerStyle: styles.screen,
70
+ children: [/*#__PURE__*/_jsx(Text, {
71
+ style: [styles.h1, {
72
+ color: theme.foreground
73
+ }],
74
+ children: t("documentType.chooseTitle")
75
+ }), allowed.map(doc => /*#__PURE__*/_jsxs(Pressable, {
76
+ style: styles.docRow,
77
+ onPress: () => onSelect(doc),
78
+ accessibilityRole: "button",
79
+ children: [/*#__PURE__*/_jsx(Text, {
80
+ style: [styles.docLabel, {
81
+ color: theme.foreground
82
+ }],
83
+ children: docLabel(doc, t)
84
+ }), /*#__PURE__*/_jsx(Text, {
85
+ style: [styles.chevron, {
86
+ color: theme.primary
87
+ }],
88
+ children: "\u203A"
89
+ })]
90
+ }, doc))]
91
+ });
92
+ }
93
+ const PREPARE_COPY_KEYS = {
94
+ front: {
95
+ title: "prepareFront.titleMobile",
96
+ body: "prepareFront.bodyMobile"
97
+ },
98
+ back: {
99
+ title: "prepareBack.titleMobile",
100
+ body: "prepareBack.bodyMobile"
101
+ },
102
+ selfie: {
103
+ title: "prepareSelfie.titleMobile",
104
+ body: "prepareSelfie.bodyMobile"
105
+ }
106
+ };
107
+ export function PrepareScreen({
108
+ kind,
109
+ onNext,
110
+ theme,
111
+ t
112
+ }) {
113
+ const copy = PREPARE_COPY_KEYS[kind];
114
+ return /*#__PURE__*/_jsxs(View, {
115
+ style: styles.screen,
116
+ children: [/*#__PURE__*/_jsx(Text, {
117
+ style: [styles.h1, {
118
+ color: theme.foreground
119
+ }],
120
+ children: t(copy.title)
121
+ }), /*#__PURE__*/_jsx(Text, {
122
+ style: styles.body,
123
+ children: t(copy.body)
124
+ }), /*#__PURE__*/_jsx(View, {
125
+ style: styles.spacer
126
+ }), /*#__PURE__*/_jsx(PrimaryButton, {
127
+ label: t("common.imReady"),
128
+ onPress: onNext,
129
+ theme: theme
130
+ })]
131
+ });
132
+ }
133
+ export function ConfirmScreen({
134
+ asset,
135
+ onConfirm,
136
+ onRetake,
137
+ theme,
138
+ t
139
+ }) {
140
+ return /*#__PURE__*/_jsxs(View, {
141
+ style: styles.screen,
142
+ children: [/*#__PURE__*/_jsx(Text, {
143
+ style: [styles.h1, {
144
+ color: theme.foreground
145
+ }],
146
+ children: t("confirm.looksGoodTitle")
147
+ }), /*#__PURE__*/_jsx(Image, {
148
+ source: {
149
+ uri: asset.uri
150
+ },
151
+ style: styles.preview,
152
+ resizeMode: "contain"
153
+ }), /*#__PURE__*/_jsx(View, {
154
+ style: styles.spacer
155
+ }), /*#__PURE__*/_jsx(PrimaryButton, {
156
+ label: t("confirm.useThisPhoto"),
157
+ onPress: onConfirm,
158
+ theme: theme
159
+ }), /*#__PURE__*/_jsx(Pressable, {
160
+ style: styles.linkBtn,
161
+ onPress: onRetake,
162
+ children: /*#__PURE__*/_jsx(Text, {
163
+ style: [styles.linkText, {
164
+ color: theme.primary
165
+ }],
166
+ children: t("common.retake")
167
+ })
168
+ })]
169
+ });
170
+ }
171
+ export function ProcessingScreen({
172
+ progress,
173
+ stage,
174
+ theme,
175
+ t
176
+ }) {
177
+ 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");
178
+ return /*#__PURE__*/_jsxs(View, {
179
+ style: styles.center,
180
+ children: [/*#__PURE__*/_jsx(ActivityIndicator, {
181
+ size: "large",
182
+ color: theme.primary
183
+ }), /*#__PURE__*/_jsx(Text, {
184
+ style: [styles.body, {
185
+ marginTop: 16
186
+ }],
187
+ children: label
188
+ }), /*#__PURE__*/_jsx(View, {
189
+ style: styles.progressTrack,
190
+ children: /*#__PURE__*/_jsx(View, {
191
+ style: [styles.progressFill, {
192
+ width: `${progress}%`,
193
+ backgroundColor: theme.primary
194
+ }]
195
+ })
196
+ })]
197
+ });
198
+ }
199
+ export function ResultScreen({
200
+ success,
201
+ message,
202
+ onDone,
203
+ theme,
204
+ t
205
+ }) {
206
+ return /*#__PURE__*/_jsxs(View, {
207
+ style: styles.center,
208
+ children: [/*#__PURE__*/_jsx(View, {
209
+ style: [styles.resultBadge, {
210
+ backgroundColor: success ? "#16a34a" : "#dc2626"
211
+ }],
212
+ children: /*#__PURE__*/_jsx(Text, {
213
+ style: styles.resultIcon,
214
+ children: success ? "✓" : "!"
215
+ })
216
+ }), /*#__PURE__*/_jsx(Text, {
217
+ style: [styles.h1, {
218
+ color: theme.foreground,
219
+ textAlign: "center",
220
+ marginTop: 16
221
+ }],
222
+ children: t(success ? "result.submittedShort" : "result.somethingWrong")
223
+ }), /*#__PURE__*/_jsx(Text, {
224
+ style: [styles.body, {
225
+ textAlign: "center"
226
+ }],
227
+ children: message
228
+ }), /*#__PURE__*/_jsx(View, {
229
+ style: styles.spacer
230
+ }), /*#__PURE__*/_jsx(PrimaryButton, {
231
+ label: t("common.done"),
232
+ onPress: onDone,
233
+ theme: theme
234
+ })]
235
+ });
236
+ }
237
+ const styles = StyleSheet.create({
238
+ screen: {
239
+ flex: 1,
240
+ padding: 24
241
+ },
242
+ center: {
243
+ flex: 1,
244
+ padding: 24,
245
+ alignItems: "center",
246
+ justifyContent: "center"
247
+ },
248
+ h1: {
249
+ fontSize: 22,
250
+ fontWeight: "700",
251
+ marginBottom: 12
252
+ },
253
+ body: {
254
+ fontSize: 15,
255
+ lineHeight: 22,
256
+ color: "#4b5563"
257
+ },
258
+ spacer: {
259
+ flex: 1,
260
+ minHeight: 24
261
+ },
262
+ btn: {
263
+ borderRadius: 12,
264
+ paddingVertical: 16,
265
+ alignItems: "center"
266
+ },
267
+ btnText: {
268
+ color: "#fff",
269
+ fontSize: 16,
270
+ fontWeight: "600"
271
+ },
272
+ linkBtn: {
273
+ paddingVertical: 14,
274
+ alignItems: "center"
275
+ },
276
+ linkText: {
277
+ fontSize: 15,
278
+ fontWeight: "600"
279
+ },
280
+ docRow: {
281
+ flexDirection: "row",
282
+ alignItems: "center",
283
+ justifyContent: "space-between",
284
+ paddingVertical: 18,
285
+ borderBottomWidth: 1,
286
+ borderBottomColor: "#eee"
287
+ },
288
+ docLabel: {
289
+ fontSize: 16,
290
+ fontWeight: "500"
291
+ },
292
+ chevron: {
293
+ fontSize: 24,
294
+ fontWeight: "300"
295
+ },
296
+ preview: {
297
+ flex: 1,
298
+ width: "100%",
299
+ marginVertical: 16,
300
+ borderRadius: 12,
301
+ backgroundColor: "#f3f4f6"
302
+ },
303
+ progressTrack: {
304
+ width: "80%",
305
+ height: 6,
306
+ borderRadius: 3,
307
+ backgroundColor: "#e5e7eb",
308
+ marginTop: 20,
309
+ overflow: "hidden"
310
+ },
311
+ progressFill: {
312
+ height: 6,
313
+ borderRadius: 3
314
+ },
315
+ resultBadge: {
316
+ width: 64,
317
+ height: 64,
318
+ borderRadius: 32,
319
+ alignItems: "center",
320
+ justifyContent: "center"
321
+ },
322
+ resultIcon: {
323
+ color: "#fff",
324
+ fontSize: 32,
325
+ fontWeight: "700"
326
+ }
327
+ });
328
+ //# sourceMappingURL=screens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ActivityIndicator","Image","Pressable","ScrollView","StyleSheet","Text","View","jsx","_jsx","jsxs","_jsxs","DOC_LABEL_KEYS","id_card","passport","drivers_license","voters_card","residence_permit","docLabel","type","t","PrimaryButton","label","onPress","theme","style","styles","btn","backgroundColor","primary","children","btnText","IntroScreen","orgName","onNext","screen","h1","color","foreground","body","spacer","DocumentTypeScreen","allowed","onSelect","contentContainerStyle","map","doc","docRow","accessibilityRole","chevron","PREPARE_COPY_KEYS","front","title","back","selfie","PrepareScreen","kind","copy","ConfirmScreen","asset","onConfirm","onRetake","source","uri","preview","resizeMode","linkBtn","linkText","ProcessingScreen","progress","stage","center","size","marginTop","progressTrack","progressFill","width","ResultScreen","success","message","onDone","resultBadge","resultIcon","textAlign","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,46 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * KwikIDProvider / useKwikID — optional context for advanced integrations that want
5
+ * to share a single SDK instance + theme across custom screens. The imperative
6
+ * `useKwikVerification` hook does NOT require this provider.
7
+ */
8
+ import { createContext, createElement, useContext, useEffect, useMemo, useState } from "react";
9
+ import { KwikIdRNSDK } from "../../lib/kwik-id-rn-sdk.js";
10
+ const KwikIDContext = /*#__PURE__*/createContext(null);
11
+ export function KwikIDProvider({
12
+ config,
13
+ autoInitialize = true,
14
+ children
15
+ }) {
16
+ const sdk = useMemo(() => new KwikIdRNSDK(config), [config]);
17
+ const [sessionInfo, setSessionInfo] = useState(null);
18
+ useEffect(() => {
19
+ if (!autoInitialize) return;
20
+ let active = true;
21
+ sdk.initialize().then(info => active && setSessionInfo(info)).catch(() => undefined);
22
+ return () => {
23
+ active = false;
24
+ sdk.destroy();
25
+ };
26
+ }, [sdk, autoInitialize]);
27
+ const value = useMemo(() => ({
28
+ sdk,
29
+ sessionInfo,
30
+ orgName: sessionInfo?.orgName,
31
+ allowedDocumentTypes: sessionInfo?.config.documentTypes ?? [],
32
+ livenessMode: config.livenessMode ?? sessionInfo?.config.livenessMode ?? "passive",
33
+ theme: config.theme ?? {}
34
+ }), [sdk, sessionInfo, config.livenessMode, config.theme]);
35
+ return /*#__PURE__*/createElement(KwikIDContext.Provider, {
36
+ value
37
+ }, children);
38
+ }
39
+ export function useKwikID() {
40
+ const ctx = useContext(KwikIDContext);
41
+ if (!ctx) {
42
+ throw new Error("useKwikID must be used within a <KwikIDProvider>");
43
+ }
44
+ return ctx;
45
+ }
46
+ //# sourceMappingURL=kwik-id-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createContext","createElement","useContext","useEffect","useMemo","useState","KwikIdRNSDK","KwikIDContext","KwikIDProvider","config","autoInitialize","children","sdk","sessionInfo","setSessionInfo","active","initialize","then","info","catch","undefined","destroy","value","orgName","allowedDocumentTypes","documentTypes","livenessMode","theme","Provider","useKwikID","ctx","Error"],"sourceRoot":"../../../../src","sources":["ui/context/kwik-id-provider.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA,SAASA,aAAa,EAAEC,aAAa,EAAEC,UAAU,EAAEC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;AAE9F,SAASC,WAAW,QAAQ,6BAA0B;AAkBtD,MAAMC,aAAa,gBAAGP,aAAa,CAA4B,IAAI,CAAC;AASpE,OAAO,SAASQ,cAAcA,CAAC;EAAEC,MAAM;EAAEC,cAAc,GAAG,IAAI;EAAEC;AAA8B,CAAC,EAAE;EAC7F,MAAMC,GAAG,GAAGR,OAAO,CAAC,MAAM,IAAIE,WAAW,CAACG,MAAM,CAAC,EAAE,CAACA,MAAM,CAAC,CAAC;EAC5D,MAAM,CAACI,WAAW,EAAEC,cAAc,CAAC,GAAGT,QAAQ,CAAqB,IAAI,CAAC;EAExEF,SAAS,CAAC,MAAM;IACZ,IAAI,CAACO,cAAc,EAAE;IACrB,IAAIK,MAAM,GAAG,IAAI;IACjBH,GAAG,CAACI,UAAU,CAAC,CAAC,CACXC,IAAI,CAAEC,IAAI,IAAKH,MAAM,IAAID,cAAc,CAACI,IAAI,CAAC,CAAC,CAC9CC,KAAK,CAAC,MAAMC,SAAS,CAAC;IAC3B,OAAO,MAAM;MACTL,MAAM,GAAG,KAAK;MACdH,GAAG,CAACS,OAAO,CAAC,CAAC;IACjB,CAAC;EACL,CAAC,EAAE,CAACT,GAAG,EAAEF,cAAc,CAAC,CAAC;EAEzB,MAAMY,KAAK,GAAGlB,OAAO,CACjB,OAAO;IACHQ,GAAG;IACHC,WAAW;IACXU,OAAO,EAAEV,WAAW,EAAEU,OAAO;IAC7BC,oBAAoB,EAAEX,WAAW,EAAEJ,MAAM,CAACgB,aAAa,IAAI,EAAE;IAC7DC,YAAY,EAAEjB,MAAM,CAACiB,YAAY,IAAIb,WAAW,EAAEJ,MAAM,CAACiB,YAAY,IAAI,SAAS;IAClFC,KAAK,EAAElB,MAAM,CAACkB,KAAK,IAAI,CAAC;EAC5B,CAAC,CAAC,EACF,CAACf,GAAG,EAAEC,WAAW,EAAEJ,MAAM,CAACiB,YAAY,EAAEjB,MAAM,CAACkB,KAAK,CACxD,CAAC;EAED,oBAAO1B,aAAa,CAACM,aAAa,CAACqB,QAAQ,EAAE;IAAEN;EAAM,CAAC,EAAEX,QAAQ,CAAC;AACrE;AAEA,OAAO,SAASkB,SAASA,CAAA,EAAuB;EAC5C,MAAMC,GAAG,GAAG5B,UAAU,CAACK,aAAa,CAAC;EACrC,IAAI,CAACuB,GAAG,EAAE;IACN,MAAM,IAAIC,KAAK,CAAC,kDAAkD,CAAC;EACvE;EACA,OAAOD,GAAG;AACd","ignoreList":[]}
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * useKwikVerification — imperative entry point (RN analog of the web
5
+ * `openKwikVerification`). Render `<kyc.Modal />` once, then `await kyc.start()`.
6
+ */
7
+ import { createElement, useCallback, useMemo, useRef, useSyncExternalStore } from "react";
8
+ import { KwikIDVerificationModal } from "../components/KwikIDVerificationModal.js";
9
+ export function useKwikVerification(options) {
10
+ const storeRef = useRef(undefined);
11
+ if (!storeRef.current) {
12
+ storeRef.current = {
13
+ open: false,
14
+ resolve: null,
15
+ listeners: new Set()
16
+ };
17
+ }
18
+ const store = storeRef.current;
19
+ const optionsRef = useRef(options);
20
+ optionsRef.current = options;
21
+ const subscribe = useCallback(cb => {
22
+ store.listeners.add(cb);
23
+ return () => store.listeners.delete(cb);
24
+ }, [store]);
25
+ const getSnapshot = useCallback(() => store.open, [store]);
26
+ const setOpen = useCallback(v => {
27
+ store.open = v;
28
+ store.listeners.forEach(l => l());
29
+ }, [store]);
30
+ const start = useCallback(() => new Promise(resolve => {
31
+ store.resolve = resolve;
32
+ setOpen(true);
33
+ }), [store, setOpen]);
34
+ const finish = useCallback(outcome => {
35
+ setOpen(false);
36
+ const resolve = store.resolve;
37
+ store.resolve = null;
38
+ resolve?.(outcome);
39
+ }, [store, setOpen]);
40
+ const cancel = useCallback(() => finish({
41
+ status: "cancelled"
42
+ }), [finish]);
43
+ const isOpen = useSyncExternalStore(subscribe, getSnapshot);
44
+ const Modal = useMemo(() => {
45
+ const KwikModal = () => {
46
+ const open = useSyncExternalStore(subscribe, getSnapshot);
47
+ const o = optionsRef.current;
48
+ return /*#__PURE__*/createElement(KwikIDVerificationModal, {
49
+ visible: open,
50
+ clientSecret: o.clientSecret,
51
+ baseUrl: o.baseUrl,
52
+ appName: o.appName,
53
+ theme: o.theme,
54
+ locale: o.locale,
55
+ documentTypes: o.documentTypes,
56
+ skipRuntimeCheck: o.skipRuntimeCheck,
57
+ onSubmitted: o.onSubmitted,
58
+ onComplete: finish,
59
+ onClose: () => undefined
60
+ });
61
+ };
62
+ KwikModal.displayName = "KwikIDModal";
63
+ return KwikModal;
64
+ }, [subscribe, getSnapshot, finish]);
65
+ return {
66
+ start,
67
+ cancel,
68
+ isOpen,
69
+ Modal
70
+ };
71
+ }
72
+ //# sourceMappingURL=use-kwik-verification.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createElement","useCallback","useMemo","useRef","useSyncExternalStore","KwikIDVerificationModal","useKwikVerification","options","storeRef","undefined","current","open","resolve","listeners","Set","store","optionsRef","subscribe","cb","add","delete","getSnapshot","setOpen","v","forEach","l","start","Promise","finish","outcome","cancel","status","isOpen","Modal","KwikModal","o","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,6 @@
1
+ "use strict";
2
+
3
+ export { KwikIDVerificationModal } from "./components/KwikIDVerificationModal.js";
4
+ export { useKwikVerification } from "./hooks/use-kwik-verification.js";
5
+ export { KwikIDProvider, useKwikID } from "./context/kwik-id-provider.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["KwikIDVerificationModal","useKwikVerification","KwikIDProvider","useKwikID"],"sourceRoot":"../../../src","sources":["ui/index.ts"],"mappings":";;AAAA,SAASA,uBAAuB,QAAQ,yCAAsC;AAE9E,SAASC,mBAAmB,QAAQ,kCAA+B;AAKnE,SAASC,cAAc,EAAEC,SAAS,QAAQ,+BAA4B","ignoreList":[]}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * RN API client for the KwikId SDK gateway (`/sdk/v1/*`).
3
+ *
4
+ * Ported from @kwik-id/sdk-core: the JSON `request()` (fetch + AbortController) is
5
+ * unchanged; the XMLHttpRequest upload is replaced with an injectable multipart
6
+ * uploader (expo-file-system by default). `liveness_frame` has no server endpoint
7
+ * and is rejected.
8
+ */
9
+ import { SessionManager } from "../crypto/session-manager";
10
+ import type { CaptureAsset, CaptureType, DocumentType, LivenessResult, QualityResult, SessionInfo, VerificationResult } from "../types";
11
+ import { type Uploader } from "./upload";
12
+ export declare const DEFAULT_BASE_URL = "https://api.identity.kwiknkap.com";
13
+ export interface ApiClientConfig {
14
+ baseUrl: string;
15
+ timeout?: number;
16
+ debug?: boolean;
17
+ /** Custom fetch implementation (for testing). */
18
+ fetch?: typeof fetch;
19
+ /** Custom multipart uploader (for testing). */
20
+ uploader?: Uploader;
21
+ }
22
+ export interface UploadResponse {
23
+ uploadId: string;
24
+ status: string;
25
+ }
26
+ export interface SubmitResponse {
27
+ success: boolean;
28
+ message?: string;
29
+ jobId?: string;
30
+ }
31
+ export interface StatusResponse {
32
+ jobId: string;
33
+ status: "queued" | "processing" | "completed" | "failed" | "verified" | "rejected";
34
+ progress?: number;
35
+ processingStep?: string;
36
+ errorCode?: string;
37
+ errorMessage?: string;
38
+ errorDetails?: {
39
+ document: string;
40
+ errorCode: string;
41
+ errorMessage: string;
42
+ };
43
+ }
44
+ export interface HandoffValidateResponse {
45
+ valid: boolean;
46
+ orgName?: string;
47
+ orgLogoUrl?: string;
48
+ expiresAt?: string;
49
+ error?: string;
50
+ }
51
+ export interface HandoffRedeemResponse {
52
+ sessionToken: string;
53
+ jobId: string;
54
+ expiresAt: string;
55
+ }
56
+ export declare class ApiClient {
57
+ private config;
58
+ private sessionManager;
59
+ private uploader;
60
+ constructor(sessionManager: SessionManager, config?: Partial<ApiClientConfig>);
61
+ validateSession(clientSecret: string): Promise<SessionInfo>;
62
+ uploadCapture(type: CaptureType, asset: CaptureAsset, onProgress?: (progress: number) => void): Promise<UploadResponse>;
63
+ submitVerification(documentType: DocumentType, clientAnalysis?: {
64
+ qualityScores?: QualityResult;
65
+ livenessResult?: LivenessResult;
66
+ }): Promise<SubmitResponse>;
67
+ getStatus(): Promise<StatusResponse>;
68
+ getResult(): Promise<VerificationResult>;
69
+ pollForResult(options?: {
70
+ maxAttempts?: number;
71
+ intervalMs?: number;
72
+ onProgress?: (status: StatusResponse) => void;
73
+ }): Promise<VerificationResult>;
74
+ validateHandoff(code: string): Promise<HandoffValidateResponse>;
75
+ redeemHandoff(code: string): Promise<HandoffRedeemResponse>;
76
+ reportHandoffStatus(code: string, status: "completed" | "abandoned"): Promise<void>;
77
+ getBaseUrl(): string;
78
+ private request;
79
+ private parseErrorResponse;
80
+ private delay;
81
+ }
82
+ //# sourceMappingURL=api-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../../../src/api/api-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * API error (ported verbatim from @kwik-id/sdk-core).
3
+ */
4
+ export declare class ApiError extends Error {
5
+ readonly statusCode: number;
6
+ readonly code?: string;
7
+ readonly details?: unknown;
8
+ constructor(message: string, statusCode: number, code?: string, details?: unknown);
9
+ isRetryable(): boolean;
10
+ isAuthError(): boolean;
11
+ isValidationError(): boolean;
12
+ }
13
+ //# sourceMappingURL=api-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-error.d.ts","sourceRoot":"","sources":["../../../../src/api/api-error.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,QAAS,SAAQ,KAAK;IAC/B,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,IAAI,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAgB,OAAO,CAAC,EAAE,OAAO,CAAC;gBAEtB,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;IAQjF,WAAW,IAAI,OAAO;IAItB,WAAW,IAAI,OAAO;IAItB,iBAAiB,IAAI,OAAO;CAG/B"}
@@ -0,0 +1,6 @@
1
+ export { ApiClient, DEFAULT_BASE_URL } from "./api-client";
2
+ export type { ApiClientConfig, UploadResponse, SubmitResponse, StatusResponse, HandoffValidateResponse, HandoffRedeemResponse, } from "./api-client";
3
+ export { ApiError } from "./api-error";
4
+ export { uploadMultipart } from "./upload";
5
+ export type { Uploader, UploadResult } from "./upload";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC3D,YAAY,EACR,eAAe,EACf,cAAc,EACd,cAAc,EACd,cAAc,EACd,uBAAuB,EACvB,qBAAqB,GACxB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { CaptureAsset } from "../types";
2
+ export interface UploadResult {
3
+ uploadId: string;
4
+ status: string;
5
+ }
6
+ export type Uploader = (opts: {
7
+ url: string;
8
+ asset: CaptureAsset;
9
+ headers: Record<string, string>;
10
+ onProgress?: (pct: number) => void;
11
+ /**
12
+ * Inactivity timeout in ms: the upload is cancelled and rejected when no progress
13
+ * (or response) arrives for this long. Omit or pass 0 to disable.
14
+ */
15
+ timeoutMs?: number;
16
+ }) => Promise<UploadResult>;
17
+ /** Default uploader — used on device. */
18
+ export declare const uploadMultipart: Uploader;
19
+ //# sourceMappingURL=upload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../../../src/api/upload.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAG7C,MAAM,WAAW,YAAY;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,YAAY,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;AAU5B,yCAAyC;AACzC,eAAO,MAAM,eAAe,EAAE,QAmD7B,CAAC"}
@@ -0,0 +1,25 @@
1
+ import type { RawPhoto } from "./photo-capture";
2
+ export interface CameraViewProps {
3
+ facing: "front" | "back";
4
+ /** Only render/activate the camera when this view is on screen. */
5
+ active: boolean;
6
+ primaryColor: string;
7
+ /** Optional overlay (e.g. document frame or face oval) drawn over the preview. */
8
+ overlay?: React.ReactNode;
9
+ instruction?: string;
10
+ /** Shown above the shutter when a capture (or the caller's onCapture) fails. */
11
+ captureErrorText?: string;
12
+ /** Permission-denied screen title. */
13
+ permissionTitle?: string;
14
+ /** Permission-denied screen body. */
15
+ permissionBody?: string;
16
+ /** Label of the button that opens the OS settings. */
17
+ openSettingsLabel?: string;
18
+ /** Accessibility label of the shutter button. */
19
+ captureLabel?: string;
20
+ /** May return a promise; a rejection is shown as `captureErrorText` and the user can retry. */
21
+ onCapture: (photo: RawPhoto) => void | Promise<void>;
22
+ onPermissionDenied?: (canAskAgain: boolean) => void;
23
+ }
24
+ export declare function CameraView({ facing, active, primaryColor, overlay, instruction, captureErrorText, permissionTitle, permissionBody, openSettingsLabel, captureLabel, onCapture, onPermissionDenied, }: CameraViewProps): import("react/jsx-runtime").JSX.Element;
25
+ //# sourceMappingURL=camera-view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"camera-view.d.ts","sourceRoot":"","sources":["../../../../src/camera/camera-view.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAWhD,MAAM,WAAW,eAAe;IAC5B,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,mEAAmE;IACnE,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,kFAAkF;IAClF,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gFAAgF;IAChF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,sCAAsC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qCAAqC;IACrC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sDAAsD;IACtD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iDAAiD;IACjD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+FAA+F;IAC/F,SAAS,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,kBAAkB,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;CACvD;AAED,wBAAgB,UAAU,CAAC,EACvB,MAAM,EACN,MAAM,EACN,YAAY,EACZ,OAAO,EACP,WAAW,EACX,gBAAmE,EACnE,eAAwC,EACxC,cAA6E,EAC7E,iBAAmC,EACnC,YAA8B,EAC9B,SAAS,EACT,kBAAkB,GACrB,EAAE,eAAe,2CAkGjB"}