@bmc-soft/keycloak-auth 1.0.1 → 1.0.3

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 (301) hide show
  1. package/dist/_lib/escapeForInjectedJS.d.ts +2 -0
  2. package/dist/_lib/escapeForInjectedJS.d.ts.map +1 -0
  3. package/dist/_lib/escapeForInjectedJS.js +8 -0
  4. package/dist/_lib/escapeForInjectedJS.js.map +1 -0
  5. package/dist/_lib/getInjectedJSForDetect.d.ts +2 -0
  6. package/dist/_lib/getInjectedJSForDetect.d.ts.map +1 -0
  7. package/dist/_lib/getInjectedJSForDetect.js +27 -0
  8. package/dist/_lib/getInjectedJSForDetect.js.map +1 -0
  9. package/dist/_lib/getInjectedJSForLogin.d.ts +2 -0
  10. package/dist/_lib/getInjectedJSForLogin.d.ts.map +1 -0
  11. package/dist/_lib/getInjectedJSForLogin.js +168 -0
  12. package/dist/_lib/getInjectedJSForLogin.js.map +1 -0
  13. package/dist/_lib/getInjectedJSForLogout.d.ts +2 -0
  14. package/dist/_lib/getInjectedJSForLogout.d.ts.map +1 -0
  15. package/dist/_lib/getInjectedJSForLogout.js +63 -0
  16. package/dist/_lib/getInjectedJSForLogout.js.map +1 -0
  17. package/dist/_lib/index.d.ts +7 -0
  18. package/dist/_lib/index.d.ts.map +1 -0
  19. package/dist/_lib/index.js +7 -0
  20. package/dist/_lib/index.js.map +1 -0
  21. package/dist/_lib/types/authStage.d.ts +7 -0
  22. package/dist/_lib/types/authStage.d.ts.map +1 -0
  23. package/dist/_lib/types/authStage.js +6 -0
  24. package/dist/_lib/types/authStage.js.map +1 -0
  25. package/dist/_lib/types/confirmAuthPhase.d.ts +7 -0
  26. package/dist/_lib/types/confirmAuthPhase.d.ts.map +1 -0
  27. package/dist/_lib/types/confirmAuthPhase.js +6 -0
  28. package/dist/_lib/types/confirmAuthPhase.js.map +1 -0
  29. package/dist/_lib/types/index.d.ts +4 -0
  30. package/dist/_lib/types/index.d.ts.map +1 -0
  31. package/dist/_lib/types/index.js +4 -0
  32. package/dist/_lib/types/index.js.map +1 -0
  33. package/dist/_lib/types/pinSetupStage.d.ts +7 -0
  34. package/dist/_lib/types/pinSetupStage.d.ts.map +1 -0
  35. package/dist/_lib/types/pinSetupStage.js +6 -0
  36. package/dist/_lib/types/pinSetupStage.js.map +1 -0
  37. package/dist/axios/adapters/KeycloakTokenProvider.d.ts +10 -0
  38. package/dist/axios/adapters/KeycloakTokenProvider.d.ts.map +1 -0
  39. package/dist/axios/adapters/KeycloakTokenProvider.js +56 -0
  40. package/dist/axios/adapters/KeycloakTokenProvider.js.map +1 -0
  41. package/dist/axios/index.d.ts +5 -0
  42. package/dist/axios/index.d.ts.map +1 -0
  43. package/dist/axios/index.js +3 -0
  44. package/dist/axios/index.js.map +1 -0
  45. package/dist/axios/interceptors.d.ts +5 -0
  46. package/dist/axios/interceptors.d.ts.map +1 -0
  47. package/dist/axios/interceptors.js +136 -0
  48. package/dist/axios/interceptors.js.map +1 -0
  49. package/dist/axios/tokenProvider.d.ts +7 -0
  50. package/dist/axios/tokenProvider.d.ts.map +1 -0
  51. package/dist/axios/tokenProvider.js +2 -0
  52. package/dist/axios/tokenProvider.js.map +1 -0
  53. package/dist/axios/types.d.ts +17 -0
  54. package/dist/axios/types.d.ts.map +1 -0
  55. package/dist/axios/types.js +2 -0
  56. package/dist/axios/types.js.map +1 -0
  57. package/dist/context/KeycloakConfigContext.d.ts +10 -0
  58. package/dist/context/KeycloakConfigContext.d.ts.map +1 -0
  59. package/dist/context/KeycloakConfigContext.js +50 -0
  60. package/dist/context/KeycloakConfigContext.js.map +1 -0
  61. package/dist/context/KeycloakInstanceContext.d.ts +20 -0
  62. package/dist/context/KeycloakInstanceContext.d.ts.map +1 -0
  63. package/dist/context/KeycloakInstanceContext.js +113 -0
  64. package/dist/context/KeycloakInstanceContext.js.map +1 -0
  65. package/dist/context/KeycloakProvider.d.ts +15 -0
  66. package/dist/context/KeycloakProvider.d.ts.map +1 -0
  67. package/dist/context/KeycloakProvider.js +19 -0
  68. package/dist/context/KeycloakProvider.js.map +1 -0
  69. package/dist/context/KeycloakThemeContext.d.ts +66 -0
  70. package/dist/context/KeycloakThemeContext.d.ts.map +1 -0
  71. package/dist/context/KeycloakThemeContext.js +59 -0
  72. package/dist/context/KeycloakThemeContext.js.map +1 -0
  73. package/dist/context/ReauthContext.d.ts +13 -0
  74. package/dist/context/ReauthContext.d.ts.map +1 -0
  75. package/dist/context/ReauthContext.js +26 -0
  76. package/dist/context/ReauthContext.js.map +1 -0
  77. package/dist/context/TokenContext.d.ts +18 -0
  78. package/dist/context/TokenContext.d.ts.map +1 -0
  79. package/dist/context/TokenContext.js +117 -0
  80. package/dist/context/TokenContext.js.map +1 -0
  81. package/dist/context/index.d.ts +14 -0
  82. package/dist/context/index.d.ts.map +1 -0
  83. package/dist/context/index.js +7 -0
  84. package/dist/context/index.js.map +1 -0
  85. package/dist/core/adapter.d.ts +23 -0
  86. package/dist/core/adapter.d.ts.map +1 -0
  87. package/dist/core/adapter.js +75 -0
  88. package/dist/core/adapter.js.map +1 -0
  89. package/dist/core/client.d.ts +7 -0
  90. package/dist/core/client.d.ts.map +1 -0
  91. package/dist/core/client.js +12 -0
  92. package/dist/core/client.js.map +1 -0
  93. package/dist/core/index.d.ts +5 -0
  94. package/dist/core/index.d.ts.map +1 -0
  95. package/dist/core/index.js +4 -0
  96. package/dist/core/index.js.map +1 -0
  97. package/dist/core/storage.d.ts +10 -0
  98. package/dist/core/storage.d.ts.map +1 -0
  99. package/dist/core/storage.js +37 -0
  100. package/dist/core/storage.js.map +1 -0
  101. package/dist/core/types.d.ts +31 -0
  102. package/dist/core/types.d.ts.map +1 -0
  103. package/dist/core/types.js +2 -0
  104. package/dist/core/types.js.map +1 -0
  105. package/dist/core/utils.d.ts +2 -0
  106. package/dist/core/utils.d.ts.map +1 -0
  107. package/dist/core/utils.js +10 -0
  108. package/dist/core/utils.js.map +1 -0
  109. package/dist/hooks/index.d.ts +9 -0
  110. package/dist/hooks/index.d.ts.map +1 -0
  111. package/dist/hooks/index.js +7 -0
  112. package/dist/hooks/index.js.map +1 -0
  113. package/dist/hooks/useKeycloakAuth.d.ts +23 -0
  114. package/dist/hooks/useKeycloakAuth.d.ts.map +1 -0
  115. package/dist/hooks/useKeycloakAuth.js +67 -0
  116. package/dist/hooks/useKeycloakAuth.js.map +1 -0
  117. package/dist/hooks/useKeycloakAuthScreen.d.ts +11 -0
  118. package/dist/hooks/useKeycloakAuthScreen.d.ts.map +1 -0
  119. package/dist/hooks/useKeycloakAuthScreen.js +59 -0
  120. package/dist/hooks/useKeycloakAuthScreen.js.map +1 -0
  121. package/dist/index.d.ts +18 -0
  122. package/dist/index.d.ts.map +1 -0
  123. package/dist/index.js +12 -0
  124. package/dist/index.js.map +1 -0
  125. package/dist/screens/AuthPage/AuthPage.d.ts +17 -0
  126. package/dist/screens/AuthPage/AuthPage.d.ts.map +1 -0
  127. package/dist/screens/AuthPage/AuthPage.js +115 -0
  128. package/dist/screens/AuthPage/AuthPage.js.map +1 -0
  129. package/dist/screens/AuthPage/index.d.ts +2 -0
  130. package/dist/screens/AuthPage/index.d.ts.map +1 -0
  131. package/dist/screens/AuthPage/index.js +2 -0
  132. package/dist/screens/AuthPage/index.js.map +1 -0
  133. package/dist/screens/ConfirmAuthPage/ConfirmAuthPage.d.ts +21 -0
  134. package/dist/screens/ConfirmAuthPage/ConfirmAuthPage.d.ts.map +1 -0
  135. package/dist/screens/ConfirmAuthPage/ConfirmAuthPage.js +215 -0
  136. package/dist/screens/ConfirmAuthPage/ConfirmAuthPage.js.map +1 -0
  137. package/dist/screens/ConfirmAuthPage/index.d.ts +2 -0
  138. package/dist/screens/ConfirmAuthPage/index.d.ts.map +1 -0
  139. package/dist/screens/ConfirmAuthPage/index.js +2 -0
  140. package/dist/screens/ConfirmAuthPage/index.js.map +1 -0
  141. package/dist/screens/index.d.ts +3 -0
  142. package/dist/screens/index.d.ts.map +1 -0
  143. package/dist/screens/index.js +3 -0
  144. package/dist/screens/index.js.map +1 -0
  145. package/dist/storage/credentialStorage.d.ts +26 -0
  146. package/dist/storage/credentialStorage.d.ts.map +1 -0
  147. package/dist/storage/credentialStorage.js +188 -0
  148. package/dist/storage/credentialStorage.js.map +1 -0
  149. package/dist/storage/index.d.ts +3 -0
  150. package/dist/storage/index.d.ts.map +1 -0
  151. package/dist/storage/index.js +3 -0
  152. package/dist/storage/index.js.map +1 -0
  153. package/dist/storage/tokenStorage.d.ts +28 -0
  154. package/dist/storage/tokenStorage.d.ts.map +1 -0
  155. package/dist/storage/tokenStorage.js +145 -0
  156. package/dist/storage/tokenStorage.js.map +1 -0
  157. package/dist/ui/DefaultButton/DefaultButton.d.ts +10 -0
  158. package/dist/ui/DefaultButton/DefaultButton.d.ts.map +1 -0
  159. package/dist/ui/DefaultButton/DefaultButton.js +41 -0
  160. package/dist/ui/DefaultButton/DefaultButton.js.map +1 -0
  161. package/dist/ui/DefaultButton/DefaultIconButton.d.ts +4 -0
  162. package/dist/ui/DefaultButton/DefaultIconButton.d.ts.map +1 -0
  163. package/dist/ui/DefaultButton/DefaultIconButton.js +11 -0
  164. package/dist/ui/DefaultButton/DefaultIconButton.js.map +1 -0
  165. package/dist/ui/DefaultButton/index.d.ts +4 -0
  166. package/dist/ui/DefaultButton/index.d.ts.map +1 -0
  167. package/dist/ui/DefaultButton/index.js +3 -0
  168. package/dist/ui/DefaultButton/index.js.map +1 -0
  169. package/dist/ui/DefaultLoader/DefaultLoader.d.ts +3 -0
  170. package/dist/ui/DefaultLoader/DefaultLoader.d.ts.map +1 -0
  171. package/dist/ui/DefaultLoader/DefaultLoader.js +16 -0
  172. package/dist/ui/DefaultLoader/DefaultLoader.js.map +1 -0
  173. package/dist/ui/DefaultLoader/index.d.ts +2 -0
  174. package/dist/ui/DefaultLoader/index.d.ts.map +1 -0
  175. package/dist/ui/DefaultLoader/index.js +2 -0
  176. package/dist/ui/DefaultLoader/index.js.map +1 -0
  177. package/dist/ui/LogoutButton/LogoutButtonIcon.d.ts +4 -0
  178. package/dist/ui/LogoutButton/LogoutButtonIcon.d.ts.map +1 -0
  179. package/dist/ui/LogoutButton/LogoutButtonIcon.js +12 -0
  180. package/dist/ui/LogoutButton/LogoutButtonIcon.js.map +1 -0
  181. package/dist/ui/LogoutButton/LogoutButtonText.d.ts +4 -0
  182. package/dist/ui/LogoutButton/LogoutButtonText.d.ts.map +1 -0
  183. package/dist/ui/LogoutButton/LogoutButtonText.js +18 -0
  184. package/dist/ui/LogoutButton/LogoutButtonText.js.map +1 -0
  185. package/dist/ui/LogoutButton/index.d.ts +4 -0
  186. package/dist/ui/LogoutButton/index.d.ts.map +1 -0
  187. package/dist/ui/LogoutButton/index.js +3 -0
  188. package/dist/ui/LogoutButton/index.js.map +1 -0
  189. package/dist/ui/LogoutButton/types.d.ts +14 -0
  190. package/dist/ui/LogoutButton/types.d.ts.map +1 -0
  191. package/dist/ui/LogoutButton/types.js +2 -0
  192. package/dist/ui/LogoutButton/types.js.map +1 -0
  193. package/dist/ui/LogoutButton/useLogoutButton.d.ts +13 -0
  194. package/dist/ui/LogoutButton/useLogoutButton.d.ts.map +1 -0
  195. package/dist/ui/LogoutButton/useLogoutButton.js +46 -0
  196. package/dist/ui/LogoutButton/useLogoutButton.js.map +1 -0
  197. package/dist/ui/LogoutConfirmSheet/LogoutConfirmSheet.d.ts +15 -0
  198. package/dist/ui/LogoutConfirmSheet/LogoutConfirmSheet.d.ts.map +1 -0
  199. package/dist/ui/LogoutConfirmSheet/LogoutConfirmSheet.js +68 -0
  200. package/dist/ui/LogoutConfirmSheet/LogoutConfirmSheet.js.map +1 -0
  201. package/dist/ui/LogoutConfirmSheet/index.d.ts +2 -0
  202. package/dist/ui/LogoutConfirmSheet/index.d.ts.map +1 -0
  203. package/dist/ui/LogoutConfirmSheet/index.js +2 -0
  204. package/dist/ui/LogoutConfirmSheet/index.js.map +1 -0
  205. package/dist/ui/NumberPad/NumberPad.d.ts +15 -0
  206. package/dist/ui/NumberPad/NumberPad.d.ts.map +1 -0
  207. package/dist/ui/NumberPad/NumberPad.js +142 -0
  208. package/dist/ui/NumberPad/NumberPad.js.map +1 -0
  209. package/dist/ui/NumberPad/index.d.ts +2 -0
  210. package/dist/ui/NumberPad/index.d.ts.map +1 -0
  211. package/dist/ui/NumberPad/index.js +2 -0
  212. package/dist/ui/NumberPad/index.js.map +1 -0
  213. package/dist/ui/PINConfirm/PINConfirm.d.ts +18 -0
  214. package/dist/ui/PINConfirm/PINConfirm.d.ts.map +1 -0
  215. package/dist/ui/PINConfirm/PINConfirm.js +148 -0
  216. package/dist/ui/PINConfirm/PINConfirm.js.map +1 -0
  217. package/dist/ui/PINConfirm/index.d.ts +2 -0
  218. package/dist/ui/PINConfirm/index.d.ts.map +1 -0
  219. package/dist/ui/PINConfirm/index.js +2 -0
  220. package/dist/ui/PINConfirm/index.js.map +1 -0
  221. package/dist/ui/PINIndicator/PINIndicator.d.ts +13 -0
  222. package/dist/ui/PINIndicator/PINIndicator.d.ts.map +1 -0
  223. package/dist/ui/PINIndicator/PINIndicator.js +52 -0
  224. package/dist/ui/PINIndicator/PINIndicator.js.map +1 -0
  225. package/dist/ui/PINIndicator/index.d.ts +2 -0
  226. package/dist/ui/PINIndicator/index.d.ts.map +1 -0
  227. package/dist/ui/PINIndicator/index.js +2 -0
  228. package/dist/ui/PINIndicator/index.js.map +1 -0
  229. package/dist/ui/PINSetup/PINSetup.d.ts +17 -0
  230. package/dist/ui/PINSetup/PINSetup.d.ts.map +1 -0
  231. package/dist/ui/PINSetup/PINSetup.js +117 -0
  232. package/dist/ui/PINSetup/PINSetup.js.map +1 -0
  233. package/dist/ui/PINSetup/index.d.ts +2 -0
  234. package/dist/ui/PINSetup/index.d.ts.map +1 -0
  235. package/dist/ui/PINSetup/index.js +2 -0
  236. package/dist/ui/PINSetup/index.js.map +1 -0
  237. package/dist/ui/PINSetup/stages/BiometryStage.d.ts +12 -0
  238. package/dist/ui/PINSetup/stages/BiometryStage.d.ts.map +1 -0
  239. package/dist/ui/PINSetup/stages/BiometryStage.js +76 -0
  240. package/dist/ui/PINSetup/stages/BiometryStage.js.map +1 -0
  241. package/dist/ui/PINSetup/stages/ConfirmStage.d.ts +13 -0
  242. package/dist/ui/PINSetup/stages/ConfirmStage.d.ts.map +1 -0
  243. package/dist/ui/PINSetup/stages/ConfirmStage.js +20 -0
  244. package/dist/ui/PINSetup/stages/ConfirmStage.js.map +1 -0
  245. package/dist/ui/PINSetup/stages/EnterStage.d.ts +13 -0
  246. package/dist/ui/PINSetup/stages/EnterStage.d.ts.map +1 -0
  247. package/dist/ui/PINSetup/stages/EnterStage.js +19 -0
  248. package/dist/ui/PINSetup/stages/EnterStage.js.map +1 -0
  249. package/dist/ui/PINSetup/stages/index.d.ts +4 -0
  250. package/dist/ui/PINSetup/stages/index.d.ts.map +1 -0
  251. package/dist/ui/PINSetup/stages/index.js +4 -0
  252. package/dist/ui/PINSetup/stages/index.js.map +1 -0
  253. package/dist/ui/PINSetup/styles.d.ts +39 -0
  254. package/dist/ui/PINSetup/styles.d.ts.map +1 -0
  255. package/dist/ui/PINSetup/styles.js +40 -0
  256. package/dist/ui/PINSetup/styles.js.map +1 -0
  257. package/dist/ui/WebViewLogin/WebViewLogin.d.ts +14 -0
  258. package/dist/ui/WebViewLogin/WebViewLogin.d.ts.map +1 -0
  259. package/dist/ui/WebViewLogin/WebViewLogin.js +125 -0
  260. package/dist/ui/WebViewLogin/WebViewLogin.js.map +1 -0
  261. package/dist/ui/WebViewLogin/index.d.ts +2 -0
  262. package/dist/ui/WebViewLogin/index.d.ts.map +1 -0
  263. package/dist/ui/WebViewLogin/index.js +2 -0
  264. package/dist/ui/WebViewLogin/index.js.map +1 -0
  265. package/dist/ui/WebViewLogout/WebViewLogout.d.ts +11 -0
  266. package/dist/ui/WebViewLogout/WebViewLogout.d.ts.map +1 -0
  267. package/dist/ui/WebViewLogout/WebViewLogout.js +96 -0
  268. package/dist/ui/WebViewLogout/WebViewLogout.js.map +1 -0
  269. package/dist/ui/WebViewLogout/index.d.ts +2 -0
  270. package/dist/ui/WebViewLogout/index.d.ts.map +1 -0
  271. package/dist/ui/WebViewLogout/index.js +2 -0
  272. package/dist/ui/WebViewLogout/index.js.map +1 -0
  273. package/dist/ui/icons/FaceIdIcon.d.ts +4 -0
  274. package/dist/ui/icons/FaceIdIcon.d.ts.map +1 -0
  275. package/dist/ui/icons/FaceIdIcon.js +7 -0
  276. package/dist/ui/icons/FaceIdIcon.js.map +1 -0
  277. package/dist/ui/icons/FingerprintIcon.d.ts +4 -0
  278. package/dist/ui/icons/FingerprintIcon.d.ts.map +1 -0
  279. package/dist/ui/icons/FingerprintIcon.js +10 -0
  280. package/dist/ui/icons/FingerprintIcon.js.map +1 -0
  281. package/dist/ui/icons/index.d.ts +3 -0
  282. package/dist/ui/icons/index.d.ts.map +1 -0
  283. package/dist/ui/icons/index.js +3 -0
  284. package/dist/ui/icons/index.js.map +1 -0
  285. package/dist/ui/index.d.ts +11 -0
  286. package/dist/ui/index.d.ts.map +1 -0
  287. package/dist/ui/index.js +11 -0
  288. package/dist/ui/index.js.map +1 -0
  289. package/dist/widgets/ReauthBottomSheet/ReauthBottomSheet.d.ts +17 -0
  290. package/dist/widgets/ReauthBottomSheet/ReauthBottomSheet.d.ts.map +1 -0
  291. package/dist/widgets/ReauthBottomSheet/ReauthBottomSheet.js +48 -0
  292. package/dist/widgets/ReauthBottomSheet/ReauthBottomSheet.js.map +1 -0
  293. package/dist/widgets/ReauthBottomSheet/index.d.ts +2 -0
  294. package/dist/widgets/ReauthBottomSheet/index.d.ts.map +1 -0
  295. package/dist/widgets/ReauthBottomSheet/index.js +2 -0
  296. package/dist/widgets/ReauthBottomSheet/index.js.map +1 -0
  297. package/dist/widgets/index.d.ts +2 -0
  298. package/dist/widgets/index.d.ts.map +1 -0
  299. package/dist/widgets/index.js +2 -0
  300. package/dist/widgets/index.js.map +1 -0
  301. package/package.json +24 -2
@@ -0,0 +1,52 @@
1
+ import React from 'react';
2
+ import { StyleSheet, Text, View } from 'react-native';
3
+ import { useKeycloakTheme } from '../../context';
4
+ const ERROR_PLACEHOLDER_MIN_HEIGHT = 22;
5
+ export const PINIndicator = ({ value, codeLength, error = null, dotSize = 28, dotSpacing = 8, style, }) => {
6
+ const { colors: { primary: filledColor, pinIndicatorEmpty: emptyColor, error: errorColor }, } = useKeycloakTheme();
7
+ const hasError = Boolean(error);
8
+ const dotFilledColor = hasError ? errorColor : filledColor;
9
+ const dotEmptyColor = hasError ? `${errorColor}30` : emptyColor;
10
+ const dots = Array.from({ length: codeLength }, (_, index) => {
11
+ const isFilled = index < value.length;
12
+ return (<View key={index} style={[
13
+ styles.dot,
14
+ {
15
+ width: dotSize,
16
+ height: dotSize,
17
+ borderRadius: dotSize / 2,
18
+ backgroundColor: isFilled ? dotFilledColor : dotEmptyColor,
19
+ marginHorizontal: dotSpacing / 2,
20
+ },
21
+ ]}/>);
22
+ });
23
+ return (<View style={[styles.container, style]}>
24
+ <View style={styles.dotsRow}>{dots}</View>
25
+ <View style={styles.errorSlot}>
26
+ {error ? <Text style={[styles.errorText, { color: errorColor }]}>{error}</Text> : null}
27
+ </View>
28
+ </View>);
29
+ };
30
+ const styles = StyleSheet.create({
31
+ container: {
32
+ alignItems: 'center',
33
+ justifyContent: 'center',
34
+ },
35
+ dotsRow: {
36
+ flexDirection: 'row',
37
+ alignItems: 'center',
38
+ justifyContent: 'center',
39
+ },
40
+ dot: {},
41
+ errorSlot: {
42
+ minHeight: ERROR_PLACEHOLDER_MIN_HEIGHT,
43
+ marginTop: 8,
44
+ justifyContent: 'center',
45
+ alignItems: 'center',
46
+ },
47
+ errorText: {
48
+ fontSize: 14,
49
+ textAlign: 'center',
50
+ },
51
+ });
52
+ //# sourceMappingURL=PINIndicator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PINIndicator.js","sourceRoot":"","sources":["../../../src/ui/PINIndicator/PINIndicator.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,UAAU,EAAE,IAAI,EAAE,IAAI,EAAY,MAAM,cAAc,CAAC;AAE/D,OAAO,EAAC,gBAAgB,EAAC,MAAM,eAAe,CAAC;AA2C/C,MAAM,4BAA4B,GAAG,EAAE,CAAC;AAExC,MAAM,CAAC,MAAM,YAAY,GAAgC,CAAC,EACxD,KAAK,EACL,UAAU,EACV,KAAK,GAAG,IAAI,EACZ,OAAO,GAAG,EAAE,EACZ,UAAU,GAAG,CAAC,EACd,KAAK,GACN,EAAE,EAAE;IACH,MAAM,EACJ,MAAM,EAAE,EAAC,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAC,GACjF,GAAG,gBAAgB,EAAE,CAAC;IAEvB,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAChC,MAAM,cAAc,GAAG,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC;IAC3D,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,UAAU,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC;IAEhE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,UAAU,EAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;QACzD,MAAM,QAAQ,GAAG,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;QACtC,OAAO,CACL,CAAC,IAAI,CACH,GAAG,CAAC,CAAC,KAAK,CAAC,CACX,KAAK,CAAC,CAAC;gBACL,MAAM,CAAC,GAAG;gBACV;oBACE,KAAK,EAAE,OAAO;oBACd,MAAM,EAAE,OAAO;oBACf,YAAY,EAAE,OAAO,GAAG,CAAC;oBACzB,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa;oBAC1D,gBAAgB,EAAE,UAAU,GAAG,CAAC;iBACjC;aACF,CAAC,EACF,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CACrC;MAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CACzC;MAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAC5B;QAAA,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,EAAC,KAAK,EAAE,UAAU,EAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CACtF;MAAA,EAAE,IAAI,CACR;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,SAAS,EAAE;QACT,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,QAAQ;KACzB;IACD,OAAO,EAAE;QACP,aAAa,EAAE,KAAK;QACpB,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,QAAQ;KACzB;IACD,GAAG,EAAE,EAEJ;IACD,SAAS,EAAE;QACT,SAAS,EAAE,4BAA4B;QACvC,SAAS,EAAE,CAAC;QACZ,cAAc,EAAE,QAAQ;QACxB,UAAU,EAAE,QAAQ;KACrB;IACD,SAAS,EAAE;QACT,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,QAAQ;KACpB;CACF,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { PINIndicator } from './PINIndicator';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/PINIndicator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { PINIndicator } from './PINIndicator';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/PINIndicator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import { ViewStyle } from 'react-native';
3
+ interface PINSetupProps {
4
+ pinLength?: number;
5
+ onSuccess?: (pin: string) => void;
6
+ onError?: (error: Error) => void;
7
+ showBiometryPrompt?: boolean;
8
+ enterTitle?: string;
9
+ confirmTitle?: string;
10
+ biometryTitle?: string;
11
+ enterDescription?: string;
12
+ confirmDescription?: string;
13
+ style?: ViewStyle;
14
+ }
15
+ export declare const PINSetup: React.MemoExoticComponent<({ pinLength, onSuccess, onError, showBiometryPrompt, enterTitle, confirmTitle, biometryTitle, enterDescription, confirmDescription, style, }: PINSetupProps) => React.JSX.Element>;
16
+ export {};
17
+ //# sourceMappingURL=PINSetup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PINSetup.d.ts","sourceRoot":"","sources":["../../../src/ui/PINSetup/PINSetup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuD,MAAM,OAAO,CAAC;AAC5E,OAAO,EAAO,SAAS,EAAC,MAAM,cAAc,CAAC;AAQ7C,UAAU,aAAa;IAKrB,SAAS,CAAC,EAAE,MAAM,CAAC;IAMnB,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAKlC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAMjC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAK7B,UAAU,CAAC,EAAE,MAAM,CAAC;IAKpB,YAAY,CAAC,EAAE,MAAM,CAAC;IAKtB,aAAa,CAAC,EAAE,MAAM,CAAC;IAKvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAK1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAK5B,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAmBD,eAAO,MAAM,QAAQ,2KAYhB,aAAa,uBAsJjB,CAAC"}
@@ -0,0 +1,117 @@
1
+ import React, { memo, useCallback, useEffect, useRef, useState } from 'react';
2
+ import { View } from 'react-native';
3
+ import { SETUP_STAGE } from '../../_lib';
4
+ import { useKeycloakTheme } from '../../context/KeycloakThemeContext';
5
+ import { getSupportedBiometryType, saveBiometryEnabled } from '../../storage';
6
+ import { BiometryStage, ConfirmStage, EnterStage } from './stages';
7
+ import { pinSetupStyles } from './styles';
8
+ export const PINSetup = memo(({ pinLength = 4, onSuccess, onError, showBiometryPrompt = true, enterTitle = 'Придумайте PIN-код', confirmTitle = 'Подтвердите PIN-код', biometryTitle = 'Использовать биометрию?', enterDescription = 'Этот код будет использоваться для входа в приложение', confirmDescription = 'Введите PIN-код еще раз', style, }) => {
9
+ const { colors, LoaderComponent } = useKeycloakTheme();
10
+ const [stage, setStage] = useState(SETUP_STAGE.ENTER);
11
+ const [pin, setPin] = useState([]);
12
+ const [confirmPin, setConfirmPin] = useState([]);
13
+ const [error, setError] = useState(null);
14
+ const [biometryType, setBiometryType] = useState(null);
15
+ const [isLoading, setIsLoading] = useState(false);
16
+ const { background, text, button } = colors;
17
+ useEffect(() => {
18
+ getSupportedBiometryType()
19
+ .then(type => setBiometryType(type))
20
+ .catch(() => setBiometryType(null));
21
+ }, []);
22
+ const handleConfirmComplete = useCallback(async () => {
23
+ if (pin.join('') !== confirmPin.join('')) {
24
+ setError('PIN-коды не совпадают');
25
+ setConfirmPin([]);
26
+ return;
27
+ }
28
+ try {
29
+ setIsLoading(true);
30
+ const pinStr = pin.join('');
31
+ if (showBiometryPrompt && biometryType) {
32
+ setStage(SETUP_STAGE.BIOMETRY);
33
+ }
34
+ else {
35
+ onSuccess?.(pinStr);
36
+ }
37
+ }
38
+ catch (err) {
39
+ const saveError = err instanceof Error ? err : new Error('Ошибка сохранения PIN');
40
+ setError(saveError.message);
41
+ onError?.(saveError);
42
+ setPin([]);
43
+ setConfirmPin([]);
44
+ setStage(SETUP_STAGE.ENTER);
45
+ }
46
+ finally {
47
+ setIsLoading(false);
48
+ }
49
+ }, [pin, confirmPin, showBiometryPrompt, biometryType, onSuccess, onError]);
50
+ const handleBiometryAccept = useCallback(async () => {
51
+ try {
52
+ setIsLoading(true);
53
+ await saveBiometryEnabled(true);
54
+ onSuccess?.(pin.join(''));
55
+ }
56
+ catch (err) {
57
+ const biometryError = err instanceof Error ? err : new Error('Ошибка настройки биометрии');
58
+ onError?.(biometryError);
59
+ onSuccess?.(pin.join(''));
60
+ }
61
+ finally {
62
+ setIsLoading(false);
63
+ }
64
+ }, [pin, onSuccess, onError]);
65
+ const handleBiometrySkip = useCallback(() => {
66
+ onSuccess?.(pin.join(''));
67
+ }, [pin, onSuccess]);
68
+ const prevPinLengthRef = useRef(0);
69
+ const prevConfirmPinLengthRef = useRef(0);
70
+ useEffect(() => {
71
+ const pinLen = pin.length;
72
+ const confirmLen = confirmPin.length;
73
+ if (error &&
74
+ (pinLen > prevPinLengthRef.current || confirmLen > prevConfirmPinLengthRef.current)) {
75
+ setError(null);
76
+ }
77
+ prevPinLengthRef.current = pinLen;
78
+ prevConfirmPinLengthRef.current = confirmLen;
79
+ }, [pin, confirmPin, error]);
80
+ useEffect(() => {
81
+ if (stage === SETUP_STAGE.ENTER && pin.length >= pinLength) {
82
+ const timer = setTimeout(() => {
83
+ setStage(SETUP_STAGE.CONFIRM);
84
+ }, 200);
85
+ return () => clearTimeout(timer);
86
+ }
87
+ return undefined;
88
+ }, [pin, pinLength, stage]);
89
+ useEffect(() => {
90
+ if (stage === SETUP_STAGE.CONFIRM && confirmPin.length >= pinLength) {
91
+ const timer = setTimeout(() => {
92
+ handleConfirmComplete();
93
+ }, 200);
94
+ return () => clearTimeout(timer);
95
+ }
96
+ return undefined;
97
+ }, [confirmPin, pinLength, stage, handleConfirmComplete]);
98
+ const renderStageContent = () => {
99
+ switch (stage) {
100
+ case SETUP_STAGE.ENTER:
101
+ return (<EnterStage title={enterTitle} description={enterDescription} pin={pin} pinLength={pinLength} error={error} textColor={text} onPinChange={setPin}/>);
102
+ case SETUP_STAGE.CONFIRM:
103
+ return (<ConfirmStage title={confirmTitle} description={confirmDescription} confirmPin={confirmPin} pinLength={pinLength} error={error} textColor={text} onConfirmPinChange={setConfirmPin}/>);
104
+ case SETUP_STAGE.BIOMETRY:
105
+ return (<BiometryStage title={biometryTitle} biometryType={biometryType} textColor={text} buttonColor={button} onAccept={handleBiometryAccept} onSkip={handleBiometrySkip}/>);
106
+ default:
107
+ return null;
108
+ }
109
+ };
110
+ if (isLoading) {
111
+ return <LoaderComponent />;
112
+ }
113
+ return (<View style={[pinSetupStyles.container, { backgroundColor: background }, style]}>
114
+ {renderStageContent()}
115
+ </View>);
116
+ });
117
+ //# sourceMappingURL=PINSetup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PINSetup.js","sourceRoot":"","sources":["../../../src/ui/PINSetup/PINSetup.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { PINSetup } from './PINSetup';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/PINSetup/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { PINSetup } from './PINSetup';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/PINSetup/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC"}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ interface BiometryStageProps {
3
+ readonly title: string;
4
+ readonly biometryType: string | null;
5
+ readonly textColor: string;
6
+ readonly buttonColor: string;
7
+ readonly onAccept: () => void;
8
+ readonly onSkip: () => void;
9
+ }
10
+ export declare const BiometryStage: React.NamedExoticComponent<BiometryStageProps>;
11
+ export {};
12
+ //# sourceMappingURL=BiometryStage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BiometryStage.d.ts","sourceRoot":"","sources":["../../../../src/ui/PINSetup/stages/BiometryStage.tsx"],"names":[],"mappings":"AACA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAS3C,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC;CAC7B;AAsDD,eAAO,MAAM,aAAa,gDAqCxB,CAAC"}
@@ -0,0 +1,76 @@
1
+ import LottieView from 'lottie-react-native';
2
+ import React, { memo, useMemo } from 'react';
3
+ import { StyleSheet, Text, View } from 'react-native';
4
+ import { useKeycloakTheme } from '../../../context';
5
+ import { pinSetupStyles } from '../styles';
6
+ const faceIdAnimation = require('../../../../assets/lottie/faceId_animation.json');
7
+ const fingerprintAnimation = require('../../../../assets/lottie/fingerprint_animation.json');
8
+ const isFaceId = (type) => type === 'FaceID' || type === 'Face' || type === 'Face ID';
9
+ const styles = StyleSheet.create({
10
+ description: {
11
+ marginTop: 8,
12
+ },
13
+ animationContainer: {
14
+ flex: 1,
15
+ justifyContent: 'center',
16
+ alignItems: 'center',
17
+ minHeight: 200,
18
+ },
19
+ animation: {
20
+ width: '100%',
21
+ height: '100%',
22
+ maxWidth: 280,
23
+ maxHeight: 280,
24
+ },
25
+ buttonsBlock: {
26
+ marginTop: 24,
27
+ gap: 16,
28
+ },
29
+ primaryButton: {
30
+ fontSize: 18,
31
+ textAlign: 'center',
32
+ paddingVertical: 16,
33
+ fontWeight: '600',
34
+ },
35
+ secondaryButton: {
36
+ fontSize: 18,
37
+ textAlign: 'center',
38
+ paddingVertical: 16,
39
+ fontWeight: '500',
40
+ opacity: 0.9,
41
+ },
42
+ });
43
+ const TEXTS = {
44
+ faceId: {
45
+ description: 'Вместо ввода пароля можно будет использовать Face ID – это одновременно удобно и безопасно.',
46
+ acceptLabel: 'Использовать Face ID',
47
+ },
48
+ fingerprint: {
49
+ description: 'Вместо ввода пароля можно будет использовать отпечаток – это одновременно удобно и безопасно.',
50
+ acceptLabel: 'Использовать отпечаток',
51
+ },
52
+ skipLabel: 'Входить по PIN',
53
+ };
54
+ export const BiometryStage = memo(function BiometryStage({ title, biometryType, textColor, onAccept, onSkip, }) {
55
+ const { ContainedButtonComponent, OutlinedButtonComponent } = useKeycloakTheme();
56
+ const isFace = isFaceId(biometryType);
57
+ const animationSource = isFace ? faceIdAnimation : fingerprintAnimation;
58
+ const animationSpeed = isFace ? 0.5 : 0.25;
59
+ const texts = useMemo(() => (isFace ? TEXTS.faceId : TEXTS.fingerprint), [isFace]);
60
+ return (<View style={[pinSetupStyles.stageContainer, pinSetupStyles.biometryContainer]}>
61
+ <Text style={[pinSetupStyles.title, { color: textColor }]}>{title}</Text>
62
+ <Text style={[pinSetupStyles.description, { color: textColor }, styles.description]}>
63
+ {texts.description}
64
+ </Text>
65
+
66
+ <View style={styles.animationContainer}>
67
+ <LottieView source={animationSource} style={styles.animation} speed={animationSpeed} autoPlay loop/>
68
+ </View>
69
+
70
+ <View style={styles.buttonsBlock}>
71
+ <ContainedButtonComponent onPress={onAccept}>{texts.acceptLabel}</ContainedButtonComponent>
72
+ <OutlinedButtonComponent onPress={onSkip}>{TEXTS.skipLabel}</OutlinedButtonComponent>
73
+ </View>
74
+ </View>);
75
+ });
76
+ //# sourceMappingURL=BiometryStage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BiometryStage.js","sourceRoot":"","sources":["../../../../src/ui/PINSetup/stages/BiometryStage.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ interface ConfirmStageProps {
3
+ readonly title: string;
4
+ readonly description: string;
5
+ readonly confirmPin: number[];
6
+ readonly pinLength: number;
7
+ readonly error: string | null;
8
+ readonly textColor: string;
9
+ readonly onConfirmPinChange: (value: number[]) => void;
10
+ }
11
+ export declare const ConfirmStage: React.NamedExoticComponent<ConfirmStageProps>;
12
+ export {};
13
+ //# sourceMappingURL=ConfirmStage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfirmStage.d.ts","sourceRoot":"","sources":["../../../../src/ui/PINSetup/stages/ConfirmStage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAOlC,UAAU,iBAAiB;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CACxD;AAED,eAAO,MAAM,YAAY,+CAiBxB,CAAC"}
@@ -0,0 +1,20 @@
1
+ import React, { memo } from 'react';
2
+ import { Text, View } from 'react-native';
3
+ import { NumberPad } from '../../NumberPad';
4
+ import { PINIndicator } from '../../PINIndicator';
5
+ import { pinSetupStyles } from '../styles';
6
+ export const ConfirmStage = memo(({ title, description, confirmPin, pinLength, error, textColor, onConfirmPinChange }) => {
7
+ return (<View style={pinSetupStyles.stageContainer}>
8
+ <View style={{ rowGap: 8 }}>
9
+ <Text style={[pinSetupStyles.title, { color: textColor }]}>{title}</Text>
10
+ <Text style={[pinSetupStyles.description, { color: textColor }]}>{description}</Text>
11
+ </View>
12
+
13
+ <View style={pinSetupStyles.indicatorContainer}>
14
+ <PINIndicator value={confirmPin} codeLength={pinLength} error={error}/>
15
+ </View>
16
+
17
+ <NumberPad value={confirmPin} onChangeValue={onConfirmPinChange} codeLength={pinLength}/>
18
+ </View>);
19
+ });
20
+ //# sourceMappingURL=ConfirmStage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfirmStage.js","sourceRoot":"","sources":["../../../../src/ui/PINSetup/stages/ConfirmStage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAC,IAAI,EAAC,MAAM,OAAO,CAAC;AAClC,OAAO,EAAC,IAAI,EAAE,IAAI,EAAC,MAAM,cAAc,CAAC;AAExC,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAC,cAAc,EAAC,MAAM,WAAW,CAAC;AAYzC,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAC9B,CAAC,EAAC,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,kBAAkB,EAAC,EAAE,EAAE;IACpF,OAAO,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,CACzC;QAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAC,MAAM,EAAE,CAAC,EAAC,CAAC,CACvB;UAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,EAAC,KAAK,EAAE,SAAS,EAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,CACtE;UAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,EAAE,EAAC,KAAK,EAAE,SAAS,EAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,IAAI,CACpF;QAAA,EAAE,IAAI,CAEN;;QAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAC7C;UAAA,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EACvE;QAAA,EAAE,IAAI,CAEN;;QAAA,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC,CAAC,kBAAkB,CAAC,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,EACzF;MAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC,CACF,CAAC"}
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ interface EnterStageProps {
3
+ readonly title: string;
4
+ readonly description: string;
5
+ readonly pin: number[];
6
+ readonly pinLength: number;
7
+ readonly error: string | null;
8
+ readonly textColor: string;
9
+ readonly onPinChange: (value: number[]) => void;
10
+ }
11
+ export declare const EnterStage: React.NamedExoticComponent<EnterStageProps>;
12
+ export {};
13
+ //# sourceMappingURL=EnterStage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnterStage.d.ts","sourceRoot":"","sources":["../../../../src/ui/PINSetup/stages/EnterStage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAOlC,UAAU,eAAe;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CACjD;AAED,eAAO,MAAM,UAAU,6CAsBrB,CAAC"}
@@ -0,0 +1,19 @@
1
+ import React, { memo } from 'react';
2
+ import { Text, View } from 'react-native';
3
+ import { NumberPad } from '../../NumberPad';
4
+ import { PINIndicator } from '../../PINIndicator';
5
+ import { pinSetupStyles } from '../styles';
6
+ export const EnterStage = memo(function EnterStage({ title, description, pin, pinLength, error, textColor, onPinChange, }) {
7
+ return (<View style={pinSetupStyles.stageContainer}>
8
+ <View style={{ rowGap: 8 }}>
9
+ <Text style={[pinSetupStyles.title, { color: textColor }]}>{title}</Text>
10
+ <Text style={[pinSetupStyles.description, { color: textColor }]}>{description}</Text>
11
+ </View>
12
+
13
+ <View style={pinSetupStyles.indicatorContainer}>
14
+ <PINIndicator value={pin} codeLength={pinLength} error={error}/>
15
+ </View>
16
+ <NumberPad value={pin} onChangeValue={onPinChange} codeLength={pinLength}/>
17
+ </View>);
18
+ });
19
+ //# sourceMappingURL=EnterStage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnterStage.js","sourceRoot":"","sources":["../../../../src/ui/PINSetup/stages/EnterStage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAC,IAAI,EAAC,MAAM,OAAO,CAAC;AAClC,OAAO,EAAC,IAAI,EAAE,IAAI,EAAC,MAAM,cAAc,CAAC;AAExC,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAC,cAAc,EAAC,MAAM,WAAW,CAAC;AAYzC,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAkB,SAAS,UAAU,CAAC,EAClE,KAAK,EACL,WAAW,EACX,GAAG,EACH,SAAS,EACT,KAAK,EACL,SAAS,EACT,WAAW,GACZ;IACC,OAAO,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,CACzC;MAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAC,MAAM,EAAE,CAAC,EAAC,CAAC,CACvB;QAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,EAAC,KAAK,EAAE,SAAS,EAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,CACtE;QAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,EAAE,EAAC,KAAK,EAAE,SAAS,EAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,IAAI,CACpF;MAAA,EAAE,IAAI,CAEN;;MAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAC7C;QAAA,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAChE;MAAA,EAAE,IAAI,CACN;MAAA,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,EAC3E;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { BiometryStage } from './BiometryStage';
2
+ export { ConfirmStage } from './ConfirmStage';
3
+ export { EnterStage } from './EnterStage';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ui/PINSetup/stages/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { BiometryStage } from './BiometryStage';
2
+ export { ConfirmStage } from './ConfirmStage';
3
+ export { EnterStage } from './EnterStage';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ui/PINSetup/stages/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC"}
@@ -0,0 +1,39 @@
1
+ export declare const pinSetupStyles: {
2
+ container: {
3
+ flex: number;
4
+ paddingHorizontal: number;
5
+ };
6
+ stageContainer: {
7
+ flex: number;
8
+ justifyContent: "space-between";
9
+ paddingVertical: number;
10
+ };
11
+ title: {
12
+ fontSize: number;
13
+ fontWeight: "600";
14
+ textAlign: "center";
15
+ };
16
+ description: {
17
+ fontSize: number;
18
+ textAlign: "center";
19
+ opacity: number;
20
+ };
21
+ indicatorContainer: {
22
+ alignItems: "center";
23
+ marginVertical: number;
24
+ };
25
+ biometryContainer: {
26
+ justifyContent: "center";
27
+ };
28
+ biometryButtons: {
29
+ marginTop: number;
30
+ gap: number;
31
+ };
32
+ biometryButton: {
33
+ fontSize: number;
34
+ textAlign: "center";
35
+ paddingVertical: number;
36
+ fontWeight: "500";
37
+ };
38
+ };
39
+ //# sourceMappingURL=styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/ui/PINSetup/styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCzB,CAAC"}
@@ -0,0 +1,40 @@
1
+ import { StyleSheet } from 'react-native';
2
+ export const pinSetupStyles = StyleSheet.create({
3
+ container: {
4
+ flex: 1,
5
+ paddingHorizontal: 16,
6
+ },
7
+ stageContainer: {
8
+ flex: 1,
9
+ justifyContent: 'space-between',
10
+ paddingVertical: 24,
11
+ },
12
+ title: {
13
+ fontSize: 22,
14
+ fontWeight: '600',
15
+ textAlign: 'center',
16
+ },
17
+ description: {
18
+ fontSize: 12,
19
+ textAlign: 'center',
20
+ opacity: 0.7,
21
+ },
22
+ indicatorContainer: {
23
+ alignItems: 'center',
24
+ marginVertical: 40,
25
+ },
26
+ biometryContainer: {
27
+ justifyContent: 'center',
28
+ },
29
+ biometryButtons: {
30
+ marginTop: 40,
31
+ gap: 16,
32
+ },
33
+ biometryButton: {
34
+ fontSize: 18,
35
+ textAlign: 'center',
36
+ paddingVertical: 16,
37
+ fontWeight: '500',
38
+ },
39
+ });
40
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/ui/PINSetup/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAExC,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC;IAC9C,SAAS,EAAE;QACT,IAAI,EAAE,CAAC;QACP,iBAAiB,EAAE,EAAE;KACtB;IACD,cAAc,EAAE;QACd,IAAI,EAAE,CAAC;QACP,cAAc,EAAE,eAAe;QAC/B,eAAe,EAAE,EAAE;KACpB;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,KAAK;QACjB,SAAS,EAAE,QAAQ;KACpB;IACD,WAAW,EAAE;QACX,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,GAAG;KACb;IACD,kBAAkB,EAAE;QAClB,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,EAAE;KACnB;IACD,iBAAiB,EAAE;QACjB,cAAc,EAAE,QAAQ;KACzB;IACD,eAAe,EAAE;QACf,SAAS,EAAE,EAAE;QACb,GAAG,EAAE,EAAE;KACR;IACD,cAAc,EAAE;QACd,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,QAAQ;QACnB,eAAe,EAAE,EAAE;QACnB,UAAU,EAAE,KAAK;KAClB;CACF,CAAC,CAAC"}
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ interface WebViewLoginProps {
3
+ onLoginSuccess?: (data: {
4
+ username: string;
5
+ password: string;
6
+ url: string;
7
+ }) => void;
8
+ style?: any;
9
+ paddingTop?: number;
10
+ paddingBottom?: number;
11
+ }
12
+ export declare const WebViewLogin: React.FC<WebViewLoginProps>;
13
+ export {};
14
+ //# sourceMappingURL=WebViewLogin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebViewLogin.d.ts","sourceRoot":"","sources":["../../../src/ui/WebViewLogin/WebViewLogin.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiD,MAAM,OAAO,CAAC;AAOtE,UAAU,iBAAiB;IAKzB,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAC,KAAK,IAAI,CAAC;IAKnF,KAAK,CAAC,EAAE,GAAG,CAAC;IAKZ,UAAU,CAAC,EAAE,MAAM,CAAC;IAKpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAoBD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAsJpD,CAAC"}