@bifold/core 2.8.0 → 2.10.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 (192) hide show
  1. package/lib/commonjs/components/animated/ButtonLoading.js +4 -2
  2. package/lib/commonjs/components/animated/ButtonLoading.js.map +1 -1
  3. package/lib/commonjs/components/inputs/PINInput.js +27 -17
  4. package/lib/commonjs/components/inputs/PINInput.js.map +1 -1
  5. package/lib/commonjs/components/misc/FauxHeader.js +3 -2
  6. package/lib/commonjs/components/misc/FauxHeader.js.map +1 -1
  7. package/lib/commonjs/components/misc/PINHeader.js +24 -5
  8. package/lib/commonjs/components/misc/PINHeader.js.map +1 -1
  9. package/lib/commonjs/components/misc/PINScreenTitleText.js +36 -0
  10. package/lib/commonjs/components/misc/PINScreenTitleText.js.map +1 -0
  11. package/lib/commonjs/components/modals/ConfirmPINModal.js +119 -0
  12. package/lib/commonjs/components/modals/ConfirmPINModal.js.map +1 -0
  13. package/lib/commonjs/components/modals/VerifyPINModal.js +51 -0
  14. package/lib/commonjs/components/modals/VerifyPINModal.js.map +1 -0
  15. package/lib/commonjs/constants.js +5 -2
  16. package/lib/commonjs/constants.js.map +1 -1
  17. package/lib/commonjs/container-impl.js +3 -0
  18. package/lib/commonjs/container-impl.js.map +1 -1
  19. package/lib/commonjs/contexts/reducers/store.js +1 -0
  20. package/lib/commonjs/contexts/reducers/store.js.map +1 -1
  21. package/lib/commonjs/hooks/usePINValidation.js +7 -6
  22. package/lib/commonjs/hooks/usePINValidation.js.map +1 -1
  23. package/lib/commonjs/localization/en/en.json +24 -3
  24. package/lib/commonjs/localization/fr/fr.json +28 -2
  25. package/lib/commonjs/localization/pt-br/pt-br.json +18 -2
  26. package/lib/commonjs/modules/openid/context/OpenIDCredentialRecordProvider.js +77 -1
  27. package/lib/commonjs/modules/openid/context/OpenIDCredentialRecordProvider.js.map +1 -1
  28. package/lib/commonjs/modules/openid/hooks/openid.js +13 -2
  29. package/lib/commonjs/modules/openid/hooks/openid.js.map +1 -1
  30. package/lib/commonjs/modules/openid/offerResolve.js +2 -2
  31. package/lib/commonjs/modules/openid/offerResolve.js.map +1 -1
  32. package/lib/commonjs/modules/openid/refresh/refreshMetadata.js +25 -0
  33. package/lib/commonjs/modules/openid/refresh/refreshMetadata.js.map +1 -0
  34. package/lib/commonjs/navigators/SettingStack.js +12 -2
  35. package/lib/commonjs/navigators/SettingStack.js.map +1 -1
  36. package/lib/commonjs/navigators/defaultStackOptions.js +6 -0
  37. package/lib/commonjs/navigators/defaultStackOptions.js.map +1 -1
  38. package/lib/commonjs/screens/CredentialDetails.js.map +1 -1
  39. package/lib/commonjs/screens/CredentialOffer.js.map +1 -1
  40. package/lib/commonjs/screens/PINChange.js +112 -47
  41. package/lib/commonjs/screens/PINChange.js.map +1 -1
  42. package/lib/commonjs/screens/PINChangeSuccess.js +68 -0
  43. package/lib/commonjs/screens/PINChangeSuccess.js.map +1 -0
  44. package/lib/commonjs/screens/PINCreate.js +68 -26
  45. package/lib/commonjs/screens/PINCreate.js.map +1 -1
  46. package/lib/commonjs/screens/PINEnter.js +54 -21
  47. package/lib/commonjs/screens/PINEnter.js.map +1 -1
  48. package/lib/commonjs/screens/PINVerify.js +35 -22
  49. package/lib/commonjs/screens/PINVerify.js.map +1 -1
  50. package/lib/commonjs/screens/Settings.js +0 -1
  51. package/lib/commonjs/screens/Settings.js.map +1 -1
  52. package/lib/commonjs/screens/ToggleBiometry.js +12 -31
  53. package/lib/commonjs/screens/ToggleBiometry.js.map +1 -1
  54. package/lib/commonjs/theme.js +56 -2
  55. package/lib/commonjs/theme.js.map +1 -1
  56. package/lib/commonjs/types/navigators.js +3 -0
  57. package/lib/commonjs/types/navigators.js.map +1 -1
  58. package/lib/commonjs/utils/PINValidation.js +23 -0
  59. package/lib/commonjs/utils/PINValidation.js.map +1 -1
  60. package/lib/commonjs/utils/agent.js +6 -2
  61. package/lib/commonjs/utils/agent.js.map +1 -1
  62. package/lib/commonjs/utils/helpers.js.map +1 -1
  63. package/lib/commonjs/utils/oca.js +1 -1
  64. package/lib/commonjs/utils/oca.js.map +1 -1
  65. package/lib/module/animated-components.js.map +1 -1
  66. package/lib/module/components/animated/ButtonLoading.js +4 -2
  67. package/lib/module/components/animated/ButtonLoading.js.map +1 -1
  68. package/lib/module/components/inputs/PINInput.js +27 -17
  69. package/lib/module/components/inputs/PINInput.js.map +1 -1
  70. package/lib/module/components/misc/FauxHeader.js +3 -2
  71. package/lib/module/components/misc/FauxHeader.js.map +1 -1
  72. package/lib/module/components/misc/PINHeader.js +23 -5
  73. package/lib/module/components/misc/PINHeader.js.map +1 -1
  74. package/lib/module/components/misc/PINScreenTitleText.js +29 -0
  75. package/lib/module/components/misc/PINScreenTitleText.js.map +1 -0
  76. package/lib/module/components/modals/ConfirmPINModal.js +112 -0
  77. package/lib/module/components/modals/ConfirmPINModal.js.map +1 -0
  78. package/lib/module/components/modals/VerifyPINModal.js +43 -0
  79. package/lib/module/components/modals/VerifyPINModal.js.map +1 -0
  80. package/lib/module/constants.js +4 -1
  81. package/lib/module/constants.js.map +1 -1
  82. package/lib/module/container-impl.js +3 -0
  83. package/lib/module/container-impl.js.map +1 -1
  84. package/lib/module/contexts/reducers/store.js +1 -0
  85. package/lib/module/contexts/reducers/store.js.map +1 -1
  86. package/lib/module/hooks/usePINValidation.js +7 -6
  87. package/lib/module/hooks/usePINValidation.js.map +1 -1
  88. package/lib/module/localization/en/en.json +24 -3
  89. package/lib/module/localization/fr/fr.json +28 -2
  90. package/lib/module/localization/pt-br/pt-br.json +18 -2
  91. package/lib/module/modules/openid/context/OpenIDCredentialRecordProvider.js +77 -1
  92. package/lib/module/modules/openid/context/OpenIDCredentialRecordProvider.js.map +1 -1
  93. package/lib/module/modules/openid/hooks/openid.js +13 -2
  94. package/lib/module/modules/openid/hooks/openid.js.map +1 -1
  95. package/lib/module/modules/openid/offerResolve.js +2 -2
  96. package/lib/module/modules/openid/offerResolve.js.map +1 -1
  97. package/lib/module/modules/openid/refresh/refreshMetadata.js +18 -0
  98. package/lib/module/modules/openid/refresh/refreshMetadata.js.map +1 -0
  99. package/lib/module/navigators/SettingStack.js +12 -2
  100. package/lib/module/navigators/SettingStack.js.map +1 -1
  101. package/lib/module/navigators/defaultStackOptions.js +6 -0
  102. package/lib/module/navigators/defaultStackOptions.js.map +1 -1
  103. package/lib/module/screens/CredentialDetails.js.map +1 -1
  104. package/lib/module/screens/CredentialOffer.js.map +1 -1
  105. package/lib/module/screens/PINChange.js +113 -48
  106. package/lib/module/screens/PINChange.js.map +1 -1
  107. package/lib/module/screens/PINChangeSuccess.js +59 -0
  108. package/lib/module/screens/PINChangeSuccess.js.map +1 -0
  109. package/lib/module/screens/PINCreate.js +68 -26
  110. package/lib/module/screens/PINCreate.js.map +1 -1
  111. package/lib/module/screens/PINEnter.js +54 -21
  112. package/lib/module/screens/PINEnter.js.map +1 -1
  113. package/lib/module/screens/PINVerify.js +35 -22
  114. package/lib/module/screens/PINVerify.js.map +1 -1
  115. package/lib/module/screens/Settings.js +0 -1
  116. package/lib/module/screens/Settings.js.map +1 -1
  117. package/lib/module/screens/ToggleBiometry.js +12 -31
  118. package/lib/module/screens/ToggleBiometry.js.map +1 -1
  119. package/lib/module/theme.js +54 -1
  120. package/lib/module/theme.js.map +1 -1
  121. package/lib/module/types/navigators.js +3 -0
  122. package/lib/module/types/navigators.js.map +1 -1
  123. package/lib/module/utils/PINValidation.js +23 -0
  124. package/lib/module/utils/PINValidation.js.map +1 -1
  125. package/lib/module/utils/agent.js +7 -3
  126. package/lib/module/utils/agent.js.map +1 -1
  127. package/lib/module/utils/helpers.js.map +1 -1
  128. package/lib/module/utils/oca.js +1 -1
  129. package/lib/module/utils/oca.js.map +1 -1
  130. package/lib/typescript/src/animated-components.d.ts +2 -1
  131. package/lib/typescript/src/animated-components.d.ts.map +1 -1
  132. package/lib/typescript/src/components/animated/ButtonLoading.d.ts +4 -1
  133. package/lib/typescript/src/components/animated/ButtonLoading.d.ts.map +1 -1
  134. package/lib/typescript/src/components/buttons/Button-api.d.ts +1 -1
  135. package/lib/typescript/src/components/buttons/Button-api.d.ts.map +1 -1
  136. package/lib/typescript/src/components/inputs/PINInput.d.ts +1 -1
  137. package/lib/typescript/src/components/inputs/PINInput.d.ts.map +1 -1
  138. package/lib/typescript/src/components/misc/FauxHeader.d.ts +1 -0
  139. package/lib/typescript/src/components/misc/FauxHeader.d.ts.map +1 -1
  140. package/lib/typescript/src/components/misc/PINHeader.d.ts.map +1 -1
  141. package/lib/typescript/src/components/misc/PINScreenTitleText.d.ts +8 -0
  142. package/lib/typescript/src/components/misc/PINScreenTitleText.d.ts.map +1 -0
  143. package/lib/typescript/src/components/modals/ConfirmPINModal.d.ts +19 -0
  144. package/lib/typescript/src/components/modals/ConfirmPINModal.d.ts.map +1 -0
  145. package/lib/typescript/src/components/modals/VerifyPINModal.d.ts +13 -0
  146. package/lib/typescript/src/components/modals/VerifyPINModal.d.ts.map +1 -0
  147. package/lib/typescript/src/constants.d.ts +1 -0
  148. package/lib/typescript/src/constants.d.ts.map +1 -1
  149. package/lib/typescript/src/container-impl.d.ts.map +1 -1
  150. package/lib/typescript/src/contexts/reducers/store.d.ts +2 -0
  151. package/lib/typescript/src/contexts/reducers/store.d.ts.map +1 -1
  152. package/lib/typescript/src/hooks/usePINValidation.d.ts +1 -1
  153. package/lib/typescript/src/hooks/usePINValidation.d.ts.map +1 -1
  154. package/lib/typescript/src/modules/openid/context/OpenIDCredentialRecordProvider.d.ts +2 -1
  155. package/lib/typescript/src/modules/openid/context/OpenIDCredentialRecordProvider.d.ts.map +1 -1
  156. package/lib/typescript/src/modules/openid/hooks/openid.d.ts.map +1 -1
  157. package/lib/typescript/src/modules/openid/offerResolve.d.ts +3 -3
  158. package/lib/typescript/src/modules/openid/offerResolve.d.ts.map +1 -1
  159. package/lib/typescript/src/modules/openid/refresh/refreshMetadata.d.ts +20 -0
  160. package/lib/typescript/src/modules/openid/refresh/refreshMetadata.d.ts.map +1 -0
  161. package/lib/typescript/src/modules/openid/types.d.ts +25 -0
  162. package/lib/typescript/src/modules/openid/types.d.ts.map +1 -1
  163. package/lib/typescript/src/navigators/SettingStack.d.ts.map +1 -1
  164. package/lib/typescript/src/navigators/defaultStackOptions.d.ts.map +1 -1
  165. package/lib/typescript/src/screens/CredentialDetails.d.ts.map +1 -1
  166. package/lib/typescript/src/screens/CredentialOffer.d.ts.map +1 -1
  167. package/lib/typescript/src/screens/PINChange.d.ts.map +1 -1
  168. package/lib/typescript/src/screens/PINChangeSuccess.d.ts +7 -0
  169. package/lib/typescript/src/screens/PINChangeSuccess.d.ts.map +1 -0
  170. package/lib/typescript/src/screens/PINCreate.d.ts +1 -1
  171. package/lib/typescript/src/screens/PINCreate.d.ts.map +1 -1
  172. package/lib/typescript/src/screens/PINEnter.d.ts.map +1 -1
  173. package/lib/typescript/src/screens/PINVerify.d.ts +7 -6
  174. package/lib/typescript/src/screens/PINVerify.d.ts.map +1 -1
  175. package/lib/typescript/src/screens/Settings.d.ts.map +1 -1
  176. package/lib/typescript/src/screens/ToggleBiometry.d.ts.map +1 -1
  177. package/lib/typescript/src/theme.d.ts +13 -2
  178. package/lib/typescript/src/theme.d.ts.map +1 -1
  179. package/lib/typescript/src/theme.interface.d.ts +26 -0
  180. package/lib/typescript/src/theme.interface.d.ts.map +1 -1
  181. package/lib/typescript/src/types/config.d.ts +4 -0
  182. package/lib/typescript/src/types/config.d.ts.map +1 -1
  183. package/lib/typescript/src/types/navigators.d.ts +4 -0
  184. package/lib/typescript/src/types/navigators.d.ts.map +1 -1
  185. package/lib/typescript/src/types/security.d.ts +2 -0
  186. package/lib/typescript/src/types/security.d.ts.map +1 -1
  187. package/lib/typescript/src/utils/PINValidation.d.ts +2 -1
  188. package/lib/typescript/src/utils/PINValidation.d.ts.map +1 -1
  189. package/lib/typescript/src/utils/agent.d.ts +2 -1
  190. package/lib/typescript/src/utils/agent.d.ts.map +1 -1
  191. package/lib/typescript/src/utils/helpers.d.ts.map +1 -1
  192. package/package.json +4 -3
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- var _native = require("@react-navigation/native");
8
7
  var _react = _interopRequireWildcard(require("react"));
9
8
  var _reactI18next = require("react-i18next");
10
9
  var _reactNative = require("react-native");
@@ -16,32 +15,36 @@ var _KeyboardView = _interopRequireDefault(require("../components/views/Keyboard
16
15
  var _constants = require("../constants");
17
16
  var _containerApi = require("../container-api");
18
17
  var _animatedComponents = require("../contexts/animated-components");
19
- var _auth = require("../contexts/auth");
20
- var _store = require("../contexts/store");
21
18
  var _theme = require("../contexts/theme");
22
19
  var _screenCapture = _interopRequireDefault(require("../hooks/screen-capture"));
23
20
  var _usePINValidation = require("../hooks/usePINValidation");
24
- var _types = require("../modules/history/types");
21
+ var _VerifyPINModal = _interopRequireDefault(require("../components/modals/VerifyPINModal"));
25
22
  var _error = require("../types/error");
26
23
  var _navigators = require("../types/navigators");
27
- var _agent = require("../utils/agent");
28
24
  var _testable = require("../utils/testable");
25
+ var _PINVerify = require("./PINVerify");
26
+ var _ConfirmPINModal = _interopRequireWildcard(require("../components/modals/ConfirmPINModal"));
27
+ var _agent = require("../utils/agent");
28
+ var _types = require("../modules/history/types");
29
+ var _auth = require("../contexts/auth");
30
+ var _store = require("../contexts/store");
29
31
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
30
32
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
31
- const PINChange = () => {
32
- const {
33
- agent
34
- } = (0, _agent.useAppAgent)();
33
+ const PINChange = ({
34
+ navigation
35
+ }) => {
35
36
  const {
36
37
  checkWalletPIN,
37
38
  rekeyWallet
38
39
  } = (0, _auth.useAuth)();
40
+ const {
41
+ agent
42
+ } = (0, _agent.useAppAgent)();
39
43
  const [PIN, setPIN] = (0, _react.useState)('');
40
44
  const [PINTwo, setPINTwo] = (0, _react.useState)('');
41
45
  const [PINOld, setPINOld] = (0, _react.useState)('');
42
- const [isLoading, setIsLoading] = (0, _react.useState)(false);
43
- const navigation = (0, _native.useNavigation)();
44
46
  const [store] = (0, _store.useStore)();
47
+ const [isLoading, setIsLoading] = (0, _react.useState)(false);
45
48
  const {
46
49
  t
47
50
  } = (0, _reactI18next.useTranslation)();
@@ -51,20 +54,22 @@ const PINChange = () => {
51
54
  const {
52
55
  ButtonLoading
53
56
  } = (0, _animatedComponents.useAnimatedComponents)();
54
- const PINTwoInputRef = (0, _react.useRef)(null);
55
57
  const createPINButtonRef = (0, _react.useRef)(null);
56
- const [PINHeader, Button, inlineMessages, logger, historyManagerCurried, historyEnabled, historyEventsLogger, {
57
- preventScreenCapture
58
- }] = (0, _containerApi.useServices)([_containerApi.TOKENS.COMPONENT_PIN_HEADER, _containerApi.TOKENS.COMP_BUTTON, _containerApi.TOKENS.INLINE_ERRORS, _containerApi.TOKENS.UTIL_LOGGER, _containerApi.TOKENS.FN_LOAD_HISTORY, _containerApi.TOKENS.HISTORY_ENABLED, _containerApi.TOKENS.HISTORY_EVENTS_LOGGER, _containerApi.TOKENS.CONFIG]);
58
+ const [Button, inlineMessages, logger, historyManagerCurried, historyEnabled, historyEventsLogger, {
59
+ preventScreenCapture,
60
+ PINScreensConfig
61
+ }, PINHeader] = (0, _containerApi.useServices)([_containerApi.TOKENS.COMP_BUTTON, _containerApi.TOKENS.INLINE_ERRORS, _containerApi.TOKENS.UTIL_LOGGER, _containerApi.TOKENS.FN_LOAD_HISTORY, _containerApi.TOKENS.HISTORY_ENABLED, _containerApi.TOKENS.HISTORY_EVENTS_LOGGER, _containerApi.TOKENS.CONFIG, _containerApi.TOKENS.COMPONENT_PIN_HEADER]);
62
+ const [verifyPINModalVisible, setVerifyPINModalVisible] = (0, _react.useState)(PINScreensConfig.useNewPINDesign);
63
+ const [confirmPINModalVisible, setPINConfirmModalVisible] = (0, _react.useState)(false);
59
64
  const {
60
65
  PINValidations,
61
66
  validatePINEntry,
62
67
  inlineMessageField1,
63
68
  inlineMessageField2,
64
69
  modalState,
65
- setModalState,
70
+ PINSecurity,
66
71
  clearModal,
67
- PINSecurity
72
+ setModalState
68
73
  } = (0, _usePINValidation.usePINValidation)(PIN, PINTwo);
69
74
  (0, _screenCapture.default)(preventScreenCapture);
70
75
  const style = _reactNative.StyleSheet.create({
@@ -76,8 +81,25 @@ const PINChange = () => {
76
81
  },
77
82
  // below used as helpful labels for views, no properties needed atp
78
83
  contentContainer: {},
79
- controlsContainer: {}
84
+ controlsContainer: {},
85
+ loadingContainer: {
86
+ justifyContent: 'center',
87
+ alignItems: 'center'
88
+ }
80
89
  });
90
+ const onVerifyPINModalBackPressed = (0, _react.useCallback)(() => {
91
+ navigation.pop();
92
+ }, [navigation]);
93
+ const onConfirmPINModalBackPressed = (0, _react.useCallback)(() => {
94
+ setPINConfirmModalVisible(false);
95
+ }, [setPINConfirmModalVisible]);
96
+ const onAuthenticationComplete = (0, _react.useCallback)(pin => {
97
+ setPINOld(pin);
98
+ setVerifyPINModalVisible(false);
99
+ }, [setPINOld, setVerifyPINModalVisible]);
100
+ const onCancelAuth = (0, _react.useCallback)(() => {
101
+ navigation.navigate(_navigators.Screens.Settings);
102
+ }, [navigation]);
81
103
  const checkOldPIN = (0, _react.useCallback)(async PIN => {
82
104
  const valid = await checkWalletPIN(PIN);
83
105
  if (!valid) {
@@ -108,6 +130,20 @@ const PINChange = () => {
108
130
  logger.error(`[${PINChange.name}]:[logHistoryRecord] Error saving history: ${err}`);
109
131
  }
110
132
  }, [agent, historyEnabled, logger, historyManagerCurried]);
133
+ const handleConfirmPINModal = async p => {
134
+ try {
135
+ setIsLoading(true);
136
+ const valid = validatePINEntry(p, p);
137
+ if (valid) {
138
+ setPINConfirmModalVisible(true);
139
+ }
140
+ } catch (err) {
141
+ const error = new _error.BifoldError(t('Error.Title1049'), t('Error.Message1049'), (err === null || err === void 0 ? void 0 : err.message) ?? err, 1049);
142
+ _reactNative.DeviceEventEmitter.emit(_constants.EventTypes.ERROR_ADDED, error);
143
+ } finally {
144
+ setIsLoading(false);
145
+ }
146
+ };
111
147
  const handleChangePinTap = async () => {
112
148
  try {
113
149
  setIsLoading(true);
@@ -139,21 +175,46 @@ const PINChange = () => {
139
175
  setIsLoading(false);
140
176
  }
141
177
  };
178
+ const handleConfirmPIN = async userPinInput => {
179
+ try {
180
+ setIsLoading(true);
181
+ const valid = validatePINEntry(PIN, userPinInput);
182
+ if (valid) {
183
+ const success = await rekeyWallet(agent, PINOld, PIN, store.preferences.useBiometry);
184
+ if (success) {
185
+ if (historyEventsLogger.logPinChanged) {
186
+ logHistoryRecord();
187
+ }
188
+ if (PINScreensConfig.useNewPINDesign) {
189
+ setPINConfirmModalVisible(false);
190
+ navigation.navigate(_navigators.Screens.ChangePINSuccess);
191
+ } else {
192
+ navigation.navigate(_navigators.Screens.Settings);
193
+ }
194
+ }
195
+ }
196
+ } catch (err) {
197
+ const error = new _error.BifoldError(t('Error.Title1049'), t('Error.Message1049'), (err === null || err === void 0 ? void 0 : err.message) ?? err, 1049);
198
+ _reactNative.DeviceEventEmitter.emit(_constants.EventTypes.ERROR_ADDED, error);
199
+ } finally {
200
+ setIsLoading(false);
201
+ }
202
+ };
142
203
  const isContinueDisabled = (0, _react.useMemo)(() => {
143
204
  if (inlineMessages || isLoading) {
144
205
  return false;
145
206
  }
146
- return PIN === '' || PINTwo === '' || PINOld === '' || PIN.length < _constants.minPINLength || PINTwo.length < _constants.minPINLength;
147
- }, [inlineMessages, isLoading, PIN, PINTwo, PINOld]);
207
+ return PIN === '' || PIN.length < _constants.minPINLength;
208
+ }, [inlineMessages, isLoading, PIN]);
148
209
  return /*#__PURE__*/_react.default.createElement(_KeyboardView.default, {
149
- keyboardAvoiding: false
210
+ keyboardAvoiding: true
150
211
  }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
151
212
  style: style.screenContainer
152
213
  }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
153
214
  style: style.contentContainer
154
215
  }, /*#__PURE__*/_react.default.createElement(PINHeader, {
155
216
  updatePin: true
156
- }), /*#__PURE__*/_react.default.createElement(_PINInput.default, {
217
+ }), !PINScreensConfig.useNewPINDesign && /*#__PURE__*/_react.default.createElement(_PINInput.default, {
157
218
  label: t('PINChange.EnterOldPINTitle'),
158
219
  testID: (0, _testable.testIdWithKey)('EnterOldPIN'),
159
220
  accessibilityLabel: t('PINChange.EnterOldPIN'),
@@ -163,14 +224,10 @@ const PINChange = () => {
163
224
  onSubmitEditing: handleChangePinTap
164
225
  }), /*#__PURE__*/_react.default.createElement(_PINInput.default, {
165
226
  label: t('PINChange.EnterPINTitle'),
166
- onPINChanged: p => {
167
- setPIN(p);
168
- if (p.length === _constants.minPINLength && PINTwoInputRef !== null && PINTwoInputRef !== void 0 && PINTwoInputRef.current) {
169
- PINTwoInputRef.current.focus();
170
- const reactTag = (0, _reactNative.findNodeHandle)(PINTwoInputRef.current);
171
- if (reactTag) {
172
- _reactNative.AccessibilityInfo.setAccessibilityFocus(reactTag);
173
- }
227
+ onPINChanged: async userPinInput => {
228
+ setPIN(userPinInput);
229
+ if (userPinInput.length === _constants.minPINLength && PINScreensConfig.useNewPINDesign) {
230
+ await handleConfirmPINModal(userPinInput);
174
231
  }
175
232
  },
176
233
  testID: (0, _testable.testIdWithKey)('EnterPIN'),
@@ -178,22 +235,14 @@ const PINChange = () => {
178
235
  autoFocus: false,
179
236
  inlineMessage: inlineMessageField1,
180
237
  onSubmitEditing: handleChangePinTap
181
- }), /*#__PURE__*/_react.default.createElement(_PINInput.default, {
182
- label: t('PINChange.ReenterPIN'),
183
- onPINChanged: p => {
184
- setPINTwo(p);
185
- if (p.length === _constants.minPINLength) {
186
- _reactNative.Keyboard.dismiss();
187
- const reactTag = (createPINButtonRef === null || createPINButtonRef === void 0 ? void 0 : createPINButtonRef.current) && (0, _reactNative.findNodeHandle)(createPINButtonRef.current);
188
- if (reactTag) {
189
- _reactNative.AccessibilityInfo.setAccessibilityFocus(reactTag);
190
- }
191
- }
238
+ }), !PINScreensConfig.useNewPINDesign && /*#__PURE__*/_react.default.createElement(_PINInput.default, {
239
+ label: t('PINCreateConfirm.PINInputLabel'),
240
+ onPINChanged: async userPinInput => {
241
+ setPINTwo(userPinInput);
192
242
  },
193
- testID: (0, _testable.testIdWithKey)('ReenterPIN'),
194
- accessibilityLabel: t('PINChange.ReenterPIN'),
243
+ testID: (0, _testable.testIdWithKey)('ConfirmPIN'),
244
+ accessibilityLabel: t('PINCreateConfirm.PINInputLabel'),
195
245
  autoFocus: false,
196
- ref: PINTwoInputRef,
197
246
  inlineMessage: inlineMessageField2,
198
247
  onSubmitEditing: handleChangePinTap
199
248
  }), PINSecurity.displayHelper && /*#__PURE__*/_react.default.createElement(_PINValidationHelper.default, {
@@ -202,17 +251,33 @@ const PINChange = () => {
202
251
  title: modalState.title,
203
252
  message: modalState.message,
204
253
  submit: modalState.onModalDismiss
205
- })), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
254
+ })), !PINScreensConfig.useNewPINDesign && /*#__PURE__*/_react.default.createElement(_reactNative.View, {
206
255
  style: style.controlsContainer
207
256
  }, /*#__PURE__*/_react.default.createElement(Button, {
208
257
  title: t('PINChange.ChangePIN'),
209
258
  testID: (0, _testable.testIdWithKey)('ChangePIN'),
210
- accessibilityLabel: t('PINChange.ChangePIN'),
259
+ accessibilityLabel: t('Global.Continue'),
211
260
  buttonType: _ButtonApi.ButtonType.Primary,
212
261
  disabled: isContinueDisabled,
213
262
  onPress: handleChangePinTap,
214
263
  ref: createPINButtonRef
215
- }, isLoading ? /*#__PURE__*/_react.default.createElement(ButtonLoading, null) : null))));
264
+ }, isLoading ? /*#__PURE__*/_react.default.createElement(ButtonLoading, null) : null))), /*#__PURE__*/_react.default.createElement(_VerifyPINModal.default, {
265
+ onAuthenticationComplete: onAuthenticationComplete,
266
+ onBackPressed: onVerifyPINModalBackPressed,
267
+ onCancelAuth: onCancelAuth,
268
+ PINVerifyModalUsage: _PINVerify.PINEntryUsage.ChangePIN,
269
+ title: t('Screens.EnterPIN'),
270
+ visible: verifyPINModalVisible
271
+ }), /*#__PURE__*/_react.default.createElement(_ConfirmPINModal.default, {
272
+ errorMessage: inlineMessageField2,
273
+ isLoading: isLoading,
274
+ modalUsage: _ConfirmPINModal.ConfirmPINModalUsage.PIN_CHANGE,
275
+ onBackPressed: onConfirmPINModalBackPressed,
276
+ onConfirmPIN: handleConfirmPIN,
277
+ PINOne: PIN,
278
+ title: "Confirm PIN",
279
+ visible: confirmPINModalVisible
280
+ }));
216
281
  };
217
282
  var _default = exports.default = PINChange;
218
283
  //# sourceMappingURL=PINChange.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_native","require","_react","_interopRequireWildcard","_reactI18next","_reactNative","_ButtonApi","_PINInput","_interopRequireDefault","_PINValidationHelper","_AlertModal","_KeyboardView","_constants","_containerApi","_animatedComponents","_auth","_store","_theme","_screenCapture","_usePINValidation","_types","_error","_navigators","_agent","_testable","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","PINChange","agent","useAppAgent","checkWalletPIN","rekeyWallet","useAuth","PIN","setPIN","useState","PINTwo","setPINTwo","PINOld","setPINOld","isLoading","setIsLoading","navigation","useNavigation","store","useStore","useTranslation","ColorPalette","useTheme","ButtonLoading","useAnimatedComponents","PINTwoInputRef","useRef","createPINButtonRef","PINHeader","Button","inlineMessages","logger","historyManagerCurried","historyEnabled","historyEventsLogger","preventScreenCapture","useServices","TOKENS","COMPONENT_PIN_HEADER","COMP_BUTTON","INLINE_ERRORS","UTIL_LOGGER","FN_LOAD_HISTORY","HISTORY_ENABLED","HISTORY_EVENTS_LOGGER","CONFIG","PINValidations","validatePINEntry","inlineMessageField1","inlineMessageField2","modalState","setModalState","clearModal","PINSecurity","usePINValidation","usePreventScreenCapture","style","StyleSheet","create","screenContainer","height","backgroundColor","brand","primaryBackground","padding","justifyContent","contentContainer","controlsContainer","checkOldPIN","useCallback","valid","visible","title","message","onModalDismiss","logHistoryRecord","trace","name","historyManager","recordData","type","HistoryCardType","PinChanged","createdAt","Date","saveHistory","err","error","handleChangePinTap","oldPinValid","success","preferences","useBiometry","logPinChanged","navigate","Screens","Settings","BifoldError","DeviceEventEmitter","emit","EventTypes","ERROR_ADDED","isContinueDisabled","useMemo","length","minPINLength","createElement","keyboardAvoiding","View","updatePin","label","testID","testIdWithKey","accessibilityLabel","onPINChanged","p","onSubmitEditing","current","focus","reactTag","findNodeHandle","AccessibilityInfo","setAccessibilityFocus","autoFocus","inlineMessage","Keyboard","dismiss","ref","displayHelper","validations","submit","buttonType","ButtonType","Primary","disabled","onPress","_default","exports"],"sourceRoot":"../../../src","sources":["screens/PINChange.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactI18next","_reactNative","_ButtonApi","_PINInput","_interopRequireDefault","_PINValidationHelper","_AlertModal","_KeyboardView","_constants","_containerApi","_animatedComponents","_theme","_screenCapture","_usePINValidation","_VerifyPINModal","_error","_navigators","_testable","_PINVerify","_ConfirmPINModal","_agent","_types","_auth","_store","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","PINChange","navigation","checkWalletPIN","rekeyWallet","useAuth","agent","useAppAgent","PIN","setPIN","useState","PINTwo","setPINTwo","PINOld","setPINOld","store","useStore","isLoading","setIsLoading","useTranslation","ColorPalette","useTheme","ButtonLoading","useAnimatedComponents","createPINButtonRef","useRef","Button","inlineMessages","logger","historyManagerCurried","historyEnabled","historyEventsLogger","preventScreenCapture","PINScreensConfig","PINHeader","useServices","TOKENS","COMP_BUTTON","INLINE_ERRORS","UTIL_LOGGER","FN_LOAD_HISTORY","HISTORY_ENABLED","HISTORY_EVENTS_LOGGER","CONFIG","COMPONENT_PIN_HEADER","verifyPINModalVisible","setVerifyPINModalVisible","useNewPINDesign","confirmPINModalVisible","setPINConfirmModalVisible","PINValidations","validatePINEntry","inlineMessageField1","inlineMessageField2","modalState","PINSecurity","clearModal","setModalState","usePINValidation","usePreventScreenCapture","style","StyleSheet","create","screenContainer","height","backgroundColor","brand","primaryBackground","padding","justifyContent","contentContainer","controlsContainer","loadingContainer","alignItems","onVerifyPINModalBackPressed","useCallback","pop","onConfirmPINModalBackPressed","onAuthenticationComplete","pin","onCancelAuth","navigate","Screens","Settings","checkOldPIN","valid","visible","title","message","onModalDismiss","logHistoryRecord","trace","name","historyManager","recordData","type","HistoryCardType","PinChanged","createdAt","Date","saveHistory","err","error","handleConfirmPINModal","p","BifoldError","DeviceEventEmitter","emit","EventTypes","ERROR_ADDED","handleChangePinTap","oldPinValid","success","preferences","useBiometry","logPinChanged","handleConfirmPIN","userPinInput","ChangePINSuccess","isContinueDisabled","useMemo","length","minPINLength","createElement","keyboardAvoiding","View","updatePin","label","testID","testIdWithKey","accessibilityLabel","onPINChanged","onSubmitEditing","autoFocus","inlineMessage","displayHelper","validations","submit","buttonType","ButtonType","Primary","disabled","onPress","ref","onBackPressed","PINVerifyModalUsage","PINEntryUsage","ChangePIN","errorMessage","modalUsage","ConfirmPINModalUsage","PIN_CHANGE","onConfirmPIN","PINOne","_default","exports"],"sourceRoot":"../../../src","sources":["screens/PINChange.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _reactI18next = require("react-i18next");
10
+ var _KeyboardView = _interopRequireDefault(require("../components/views/KeyboardView"));
11
+ var _InfoBox = _interopRequireWildcard(require("../components/misc/InfoBox"));
12
+ var _ButtonApi = require("../components/buttons/Button-api");
13
+ var _screenCapture = _interopRequireDefault(require("../hooks/screen-capture"));
14
+ var _theme = require("../contexts/theme");
15
+ var _containerApi = require("../container-api");
16
+ var _testable = require("../utils/testable");
17
+ var _navigators = require("../types/navigators");
18
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
19
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
20
+ /* eslint-disable react/prop-types */
21
+
22
+ const ChangePINSuccessScreen = ({
23
+ navigation
24
+ }) => {
25
+ const {
26
+ ColorPalette
27
+ } = (0, _theme.useTheme)();
28
+ const {
29
+ t
30
+ } = (0, _reactI18next.useTranslation)();
31
+ const [{
32
+ preventScreenCapture
33
+ }, Button] = (0, _containerApi.useServices)([_containerApi.TOKENS.CONFIG, _containerApi.TOKENS.COMP_BUTTON]);
34
+ (0, _screenCapture.default)(preventScreenCapture);
35
+ const style = _reactNative.StyleSheet.create({
36
+ container: {
37
+ flex: 1,
38
+ padding: 20,
39
+ backgroundColor: ColorPalette.brand.primaryBackground
40
+ }
41
+ });
42
+ const onPressContinue = (0, _react.useCallback)(() => {
43
+ navigation === null || navigation === void 0 || navigation.navigate(_navigators.Screens.Settings);
44
+ }, [navigation]);
45
+ return /*#__PURE__*/_react.default.createElement(_KeyboardView.default, {
46
+ keyboardAvoiding: false
47
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
48
+ style: style.container
49
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
50
+ style: {
51
+ marginTop: 10,
52
+ marginBottom: 30
53
+ }
54
+ }, /*#__PURE__*/_react.default.createElement(_InfoBox.default, {
55
+ notificationType: _InfoBox.InfoBoxType.Success,
56
+ title: t('PINChangeSuccess.InfoBox.Title'),
57
+ message: t('PINChangeSuccess.InfoBox.Description'),
58
+ renderShowDetails: true
59
+ })), /*#__PURE__*/_react.default.createElement(Button, {
60
+ title: t('PINChangeSuccess.PrimaryButton'),
61
+ testID: (0, _testable.testIdWithKey)('GoToSettings'),
62
+ accessibilityLabel: t('PINChangeSuccess.PrimaryButton'),
63
+ buttonType: _ButtonApi.ButtonType.Primary,
64
+ onPress: onPressContinue
65
+ })));
66
+ };
67
+ var _default = exports.default = ChangePINSuccessScreen;
68
+ //# sourceMappingURL=PINChangeSuccess.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactI18next","_KeyboardView","_interopRequireDefault","_InfoBox","_ButtonApi","_screenCapture","_theme","_containerApi","_testable","_navigators","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ChangePINSuccessScreen","navigation","ColorPalette","useTheme","useTranslation","preventScreenCapture","Button","useServices","TOKENS","CONFIG","COMP_BUTTON","usePreventScreenCapture","style","StyleSheet","create","container","flex","padding","backgroundColor","brand","primaryBackground","onPressContinue","useCallback","navigate","Screens","Settings","createElement","keyboardAvoiding","View","marginTop","marginBottom","notificationType","InfoBoxType","Success","title","message","renderShowDetails","testID","testIdWithKey","accessibilityLabel","buttonType","ButtonType","Primary","onPress","_default","exports"],"sourceRoot":"../../../src","sources":["screens/PINChangeSuccess.tsx"],"mappings":"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","ignoreList":[]}
@@ -13,31 +13,34 @@ var _PINValidationHelper = _interopRequireDefault(require("../components/misc/PI
13
13
  var _AlertModal = _interopRequireDefault(require("../components/modals/AlertModal"));
14
14
  var _KeyboardView = _interopRequireDefault(require("../components/views/KeyboardView"));
15
15
  var _constants = require("../constants");
16
+ var _screenCapture = _interopRequireDefault(require("../hooks/screen-capture"));
17
+ var _usePINValidation = require("../hooks/usePINValidation");
18
+ var _auth = require("../contexts/auth");
16
19
  var _containerApi = require("../container-api");
17
20
  var _animatedComponents = require("../contexts/animated-components");
18
- var _auth = require("../contexts/auth");
19
- var _store = require("../contexts/reducers/store");
20
- var _store2 = require("../contexts/store");
21
21
  var _theme = require("../contexts/theme");
22
- var _screenCapture = _interopRequireDefault(require("../hooks/screen-capture"));
23
- var _usePINValidation = require("../hooks/usePINValidation");
24
22
  var _error = require("../types/error");
25
23
  var _testable = require("../utils/testable");
24
+ var _PINScreenTitleText = _interopRequireDefault(require("../components/misc/PINScreenTitleText"));
25
+ var _store = require("../contexts/reducers/store");
26
+ var _store2 = require("../contexts/store");
27
+ var _ConfirmPINModal = _interopRequireWildcard(require("../components/modals/ConfirmPINModal"));
26
28
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
27
29
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
28
30
  // eslint-disable-next-line import/no-named-as-default
29
31
 
30
32
  const PINCreate = ({
31
- setAuthenticated,
32
- explainedStatus
33
+ explainedStatus,
34
+ setAuthenticated
33
35
  }) => {
36
+ const [, dispatch] = (0, _store2.useStore)();
34
37
  const {
35
38
  setPIN: setWalletPIN
36
39
  } = (0, _auth.useAuth)();
40
+ const PINTwoInputRef = (0, _react.useRef)(null);
37
41
  const [PIN, setPIN] = (0, _react.useState)('');
38
42
  const [PINTwo, setPINTwo] = (0, _react.useState)('');
39
43
  const [isLoading, setIsLoading] = (0, _react.useState)(false);
40
- const [, dispatch] = (0, _store2.useStore)();
41
44
  const {
42
45
  t
43
46
  } = (0, _reactI18next.useTranslation)();
@@ -47,12 +50,13 @@ const PINCreate = ({
47
50
  const {
48
51
  ButtonLoading
49
52
  } = (0, _animatedComponents.useAnimatedComponents)();
50
- const PINTwoInputRef = (0, _react.useRef)(null);
51
53
  const createPINButtonRef = (0, _react.useRef)(null);
52
54
  const [PINExplainer, PINHeader, {
53
55
  showPINExplainer,
54
- preventScreenCapture
56
+ preventScreenCapture,
57
+ PINScreensConfig
55
58
  }, Button, inlineMessages] = (0, _containerApi.useServices)([_containerApi.TOKENS.SCREEN_PIN_EXPLAINER, _containerApi.TOKENS.COMPONENT_PIN_HEADER, _containerApi.TOKENS.CONFIG, _containerApi.TOKENS.COMP_BUTTON, _containerApi.TOKENS.INLINE_ERRORS]);
59
+ const [PINConfirmModalVisible, setPINConfirmModalVisible] = (0, _react.useState)(false);
56
60
  const [explained, setExplained] = (0, _react.useState)(explainedStatus || showPINExplainer === false);
57
61
  const {
58
62
  PINValidations,
@@ -69,8 +73,19 @@ const PINCreate = ({
69
73
  backgroundColor: ColorPalette.brand.primaryBackground,
70
74
  padding: 20,
71
75
  justifyContent: 'space-between'
76
+ },
77
+ // below used as helpful labels for views, no properties needed atp
78
+ contentContainer: {},
79
+ controlsContainer: {},
80
+ infoBox: {
81
+ marginBottom: 24
72
82
  }
73
83
  });
84
+ const handleConfirmPINFlow = (0, _react.useCallback)(async pin => {
85
+ if (validatePINEntry(pin, pin)) {
86
+ setPINConfirmModalVisible(true);
87
+ }
88
+ }, [validatePINEntry]);
74
89
  const passcodeCreate = (0, _react.useCallback)(async PIN => {
75
90
  try {
76
91
  await setWalletPIN(PIN);
@@ -84,31 +99,47 @@ const PINCreate = ({
84
99
  _reactNative.DeviceEventEmitter.emit(_constants.EventTypes.ERROR_ADDED, error);
85
100
  }
86
101
  }, [setWalletPIN, setAuthenticated, dispatch, t]);
87
- const handleCreatePinTap = (0, _react.useCallback)(async () => {
102
+ const onConfirmPIN = (0, _react.useCallback)(async (pinOne, pinTwo) => {
103
+ if (validatePINEntry(pinOne, pinTwo)) {
104
+ await passcodeCreate(pinOne);
105
+ }
106
+ }, [passcodeCreate, validatePINEntry]);
107
+ const onCreatePIN = (0, _react.useCallback)(async () => {
88
108
  setIsLoading(true);
89
109
  if (validatePINEntry(PIN, PINTwo)) {
90
110
  await passcodeCreate(PIN);
91
111
  }
92
112
  setIsLoading(false);
93
- }, [PIN, PINTwo, passcodeCreate, validatePINEntry]);
113
+ }, [passcodeCreate, validatePINEntry, PIN, PINTwo]);
114
+ const modalBackButtonPressed = () => {
115
+ setPINConfirmModalVisible(false);
116
+ };
94
117
  const isContinueDisabled = (0, _react.useMemo)(() => {
95
118
  if (inlineMessages.enabled) {
96
119
  return false;
97
120
  }
98
- return isLoading || PIN.length < _constants.minPINLength || PINTwo.length < _constants.minPINLength;
99
- }, [isLoading, PIN, PINTwo, inlineMessages]);
121
+ return isLoading || PIN.length < _constants.minPINLength;
122
+ }, [isLoading, PIN, inlineMessages]);
100
123
  const continueCreatePIN = (0, _react.useCallback)(() => {
101
124
  setExplained(true);
102
125
  }, []);
103
126
  return explained ? /*#__PURE__*/_react.default.createElement(_KeyboardView.default, {
104
- keyboardAvoiding: false
127
+ keyboardAvoiding: true
105
128
  }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
106
129
  style: style.screenContainer
107
- }, /*#__PURE__*/_react.default.createElement(_reactNative.View, null, /*#__PURE__*/_react.default.createElement(PINHeader, null), /*#__PURE__*/_react.default.createElement(_PINInput.default, {
130
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
131
+ style: style.contentContainer
132
+ }, /*#__PURE__*/_react.default.createElement(_PINScreenTitleText.default, {
133
+ header: t('PINCreate.Header'),
134
+ subheader: t('PINCreate.Subheader')
135
+ }), /*#__PURE__*/_react.default.createElement(PINHeader, null), /*#__PURE__*/_react.default.createElement(_PINInput.default, {
108
136
  label: t('PINCreate.EnterPINTitle'),
109
- onPINChanged: p => {
110
- setPIN(p);
111
- if (p.length === _constants.minPINLength && PINTwoInputRef !== null && PINTwoInputRef !== void 0 && PINTwoInputRef.current) {
137
+ onPINChanged: async p => {
138
+ setPIN(() => p);
139
+ if (p.length === _constants.minPINLength && PINScreensConfig.useNewPINDesign) {
140
+ _reactNative.Keyboard.dismiss();
141
+ await handleConfirmPINFlow(p);
142
+ } else if (!PINScreensConfig.useNewPINDesign && p.length === _constants.minPINLength && PINTwoInputRef !== null && PINTwoInputRef !== void 0 && PINTwoInputRef.current) {
112
143
  PINTwoInputRef.current.focus();
113
144
  const reactTag = (0, _reactNative.findNodeHandle)(PINTwoInputRef.current);
114
145
  if (reactTag) {
@@ -120,11 +151,11 @@ const PINCreate = ({
120
151
  accessibilityLabel: t('PINCreate.EnterPIN'),
121
152
  autoFocus: false,
122
153
  inlineMessage: inlineMessageField1
123
- }), /*#__PURE__*/_react.default.createElement(_PINInput.default, {
154
+ }), !PINScreensConfig.useNewPINDesign && /*#__PURE__*/_react.default.createElement(_PINInput.default, {
124
155
  label: t('PINCreate.ReenterPIN'),
125
- onPINChanged: p => {
126
- setPINTwo(p);
127
- if (p.length === _constants.minPINLength) {
156
+ onPINChanged: userPinInput => {
157
+ setPINTwo(userPinInput);
158
+ if (userPinInput.length === _constants.minPINLength) {
128
159
  _reactNative.Keyboard.dismiss();
129
160
  const reactTag = (createPINButtonRef === null || createPINButtonRef === void 0 ? void 0 : createPINButtonRef.current) && (0, _reactNative.findNodeHandle)(createPINButtonRef.current);
130
161
  if (reactTag) {
@@ -143,15 +174,26 @@ const PINCreate = ({
143
174
  title: modalState.title,
144
175
  message: modalState.message,
145
176
  submit: modalState.onModalDismiss
146
- })), /*#__PURE__*/_react.default.createElement(_reactNative.View, null, /*#__PURE__*/_react.default.createElement(Button, {
177
+ })), !PINScreensConfig.useNewPINDesign && /*#__PURE__*/_react.default.createElement(_reactNative.View, {
178
+ style: style.controlsContainer
179
+ }, /*#__PURE__*/_react.default.createElement(Button, {
147
180
  title: t('PINCreate.CreatePIN'),
148
181
  testID: (0, _testable.testIdWithKey)('CreatePIN'),
149
182
  accessibilityLabel: t('PINCreate.CreatePIN'),
150
183
  buttonType: _ButtonApi.ButtonType.Primary,
151
184
  disabled: isContinueDisabled,
152
- onPress: handleCreatePinTap,
185
+ onPress: onCreatePIN,
153
186
  ref: createPINButtonRef
154
- }, isLoading ? /*#__PURE__*/_react.default.createElement(ButtonLoading, null) : null)))) : /*#__PURE__*/_react.default.createElement(PINExplainer, {
187
+ }, isLoading ? /*#__PURE__*/_react.default.createElement(ButtonLoading, null) : null)), /*#__PURE__*/_react.default.createElement(_ConfirmPINModal.default, {
188
+ errorMessage: inlineMessageField2,
189
+ modalUsage: _ConfirmPINModal.ConfirmPINModalUsage.PIN_CREATE,
190
+ onBackPressed: modalBackButtonPressed,
191
+ onConfirmPIN: onConfirmPIN,
192
+ PINOne: PIN,
193
+ title: t('Screens.CreatePIN'),
194
+ visible: PINConfirmModalVisible,
195
+ isLoading: isLoading
196
+ }))) : /*#__PURE__*/_react.default.createElement(PINExplainer, {
155
197
  continueCreatePIN: continueCreatePIN
156
198
  });
157
199
  };