@tap-payments/auth-jsconnect 2.3.7-test → 2.3.7

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 (488) hide show
  1. package/build/@types/app.d.ts +303 -1
  2. package/build/@types/app.js +17 -0
  3. package/build/@types/form.d.ts +10 -7
  4. package/build/@types/redux.d.ts +4 -0
  5. package/build/@types/user.d.ts +39 -3
  6. package/build/api/brand.d.ts +7 -0
  7. package/build/api/brand.js +10 -1
  8. package/build/api/data.d.ts +8 -0
  9. package/build/api/data.js +34 -2
  10. package/build/api/entity.d.ts +20 -5
  11. package/build/api/entity.js +26 -1
  12. package/build/api/index.d.ts +29 -5
  13. package/build/api/index.js +3 -1
  14. package/build/api/individual.d.ts +24 -6
  15. package/build/api/individual.js +9 -1
  16. package/build/api/init.d.ts +17 -0
  17. package/build/api/init.js +13 -0
  18. package/build/api/lead.d.ts +8 -1
  19. package/build/api/lead.js +9 -1
  20. package/build/app/settings.d.ts +12 -9
  21. package/build/app/settings.js +77 -34
  22. package/build/assets/locales/ar.json +28 -1
  23. package/build/assets/locales/en.json +28 -1
  24. package/build/components/AnimationFlow/AnimationFlow.d.ts +4 -2
  25. package/build/components/AnimationFlow/AnimationFlow.js +4 -4
  26. package/build/components/AnimationFlow/BottomSheet.d.ts +4 -1
  27. package/build/components/AnimationFlow/BottomSheet.js +43 -19
  28. package/build/components/AnimationFlow/Dialog.d.ts +4 -2
  29. package/build/components/AnimationFlow/Dialog.js +30 -7
  30. package/build/components/ArabicDatePicker/ArabicDatePicker.d.ts +5 -2
  31. package/build/components/ArabicDatePicker/ArabicDatePicker.js +45 -23
  32. package/build/components/ArabicDatePicker/arabicAr.d.ts +8 -0
  33. package/build/components/ArabicDatePicker/arabicAr.js +32 -0
  34. package/build/components/ArabicDatePicker/arabicEn.d.ts +8 -0
  35. package/build/components/ArabicDatePicker/arabicEn.js +32 -0
  36. package/build/components/ArabicDatePicker/style.css +45 -5
  37. package/build/components/DatePicker/DatePicker.d.ts +4 -1
  38. package/build/components/DatePicker/DatePicker.js +27 -17
  39. package/build/components/LogoBadge/LogoBadge.js +3 -0
  40. package/build/components/RadioGroup/RadioGroup.d.ts +5 -2
  41. package/build/components/RadioGroup/RadioGroup.js +5 -9
  42. package/build/components/RadioGroup/index.d.ts +1 -1
  43. package/build/components/SimpleList/SimpleList.d.ts +5 -2
  44. package/build/components/SimpleList/SimpleList.js +31 -11
  45. package/build/components/Slide/Slide.d.ts +1 -1
  46. package/build/constants/api.d.ts +7 -0
  47. package/build/constants/api.js +14 -1
  48. package/build/constants/app.d.ts +18 -0
  49. package/build/constants/app.js +80 -52
  50. package/build/constants/assets.d.ts +9 -0
  51. package/build/constants/assets.js +9 -0
  52. package/build/constants/validation.d.ts +3 -2
  53. package/build/constants/validation.js +3 -2
  54. package/build/features/app/bank/bankStore.d.ts +7 -3
  55. package/build/features/app/bank/bankStore.js +155 -115
  56. package/build/features/app/brand/brandStore.d.ts +32 -12
  57. package/build/features/app/brand/brandStore.js +384 -203
  58. package/build/features/app/business/businessStore.d.ts +16 -13
  59. package/build/features/app/business/businessStore.js +366 -297
  60. package/build/features/app/connect/connectStore.d.ts +15 -1
  61. package/build/features/app/connect/connectStore.js +292 -95
  62. package/build/features/app/connectExpress/connectExpressStore.d.ts +17 -3
  63. package/build/features/app/connectExpress/connectExpressStore.js +232 -100
  64. package/build/features/app/entity/entityStore.d.ts +15 -17
  65. package/build/features/app/entity/entityStore.js +279 -248
  66. package/build/features/app/individual/individualStore.d.ts +22 -10
  67. package/build/features/app/individual/individualStore.js +531 -418
  68. package/build/features/app/password/passwordStore.d.ts +4 -0
  69. package/build/features/app/password/passwordStore.js +99 -43
  70. package/build/features/app/tax/taxStore.d.ts +6 -2
  71. package/build/features/app/tax/taxStore.js +143 -101
  72. package/build/features/bank/Bank.js +10 -6
  73. package/build/features/bank/screens/BankDetails/BankDetails.js +43 -17
  74. package/build/features/bank/screens/BankDetails/BankName.d.ts +5 -1
  75. package/build/features/bank/screens/BankDetails/BankName.js +9 -9
  76. package/build/features/bank/screens/BankDetails/BankStatement.d.ts +5 -1
  77. package/build/features/bank/screens/BankDetails/BankStatement.js +6 -10
  78. package/build/features/bank/screens/BankDetails/Beneficiary.d.ts +3 -1
  79. package/build/features/bank/screens/BankDetails/Beneficiary.js +6 -7
  80. package/build/features/bank/screens/BankDetails/ConfirmPolicy.d.ts +4 -1
  81. package/build/features/bank/screens/BankDetails/ConfirmPolicy.js +12 -13
  82. package/build/features/bank/screens/BankDetails/IBAN.d.ts +3 -1
  83. package/build/features/bank/screens/BankDetails/IBAN.js +3 -5
  84. package/build/features/bank/screens/BankDetails/validation.d.ts +8 -8
  85. package/build/features/bank/screens/BankDetails/validation.js +6 -17
  86. package/build/features/bank/screens/ResetPasswordSuccess/ResetPasswordSuccess.js +9 -4
  87. package/build/features/bank/screens/Verify/OTPInput.js +7 -3
  88. package/build/features/bank/screens/Verify/Verify.js +3 -7
  89. package/build/features/brand/Brand.js +10 -6
  90. package/build/features/brand/screens/BrandActivities/ActivitiesList.d.ts +10 -27
  91. package/build/features/brand/screens/BrandActivities/ActivitiesList.js +45 -28
  92. package/build/features/brand/screens/BrandActivities/BrandActivities.js +42 -9
  93. package/build/features/brand/screens/BrandActivities/CustomerBase.d.ts +11 -38
  94. package/build/features/brand/screens/BrandActivities/CustomerBase.js +22 -31
  95. package/build/features/brand/screens/BrandActivities/ExpectedCustomers.d.ts +3 -1
  96. package/build/features/brand/screens/BrandActivities/ExpectedCustomers.js +24 -20
  97. package/build/features/brand/screens/BrandActivities/ExpectedSalesRange.d.ts +3 -1
  98. package/build/features/brand/screens/BrandActivities/ExpectedSalesRange.js +31 -19
  99. package/build/features/brand/screens/BrandActivities/RefundPolicy.d.ts +13 -6
  100. package/build/features/brand/screens/BrandActivities/RefundPolicy.js +23 -12
  101. package/build/features/brand/screens/BrandActivities/TAC.d.ts +14 -2
  102. package/build/features/brand/screens/BrandActivities/TAC.js +21 -12
  103. package/build/features/brand/screens/BrandActivities/TransactionPolicy.d.ts +4 -1
  104. package/build/features/brand/screens/BrandActivities/TransactionPolicy.js +18 -4
  105. package/build/features/brand/screens/BrandActivities/validation.d.ts +43 -43
  106. package/build/features/brand/screens/BrandActivities/validation.js +11 -25
  107. package/build/features/brand/screens/BrandInfo/BrandInfo.js +40 -33
  108. package/build/features/brand/screens/BrandInfo/BrandLogo.d.ts +9 -0
  109. package/build/features/brand/screens/BrandInfo/BrandLogo.js +41 -0
  110. package/build/features/brand/screens/BrandInfo/BrandName.d.ts +3 -2
  111. package/build/features/brand/screens/BrandInfo/BrandName.js +4 -7
  112. package/build/features/brand/screens/BrandInfo/SalesChannels.d.ts +2 -1
  113. package/build/features/brand/screens/BrandInfo/SalesChannels.js +19 -25
  114. package/build/features/brand/screens/BrandInfo/validation.d.ts +7 -13
  115. package/build/features/brand/screens/BrandInfo/validation.js +43 -53
  116. package/build/features/brand/screens/BrandSegmentInfo/BrandSegmentInfo.d.ts +5 -0
  117. package/build/features/brand/screens/BrandSegmentInfo/BrandSegmentInfo.js +103 -0
  118. package/build/features/brand/screens/BrandSegmentInfo/SegmentLocations.d.ts +10 -0
  119. package/build/features/brand/screens/BrandSegmentInfo/SegmentLocations.js +69 -0
  120. package/build/features/brand/screens/BrandSegmentInfo/SegmentProfits.d.ts +10 -0
  121. package/build/features/brand/screens/BrandSegmentInfo/SegmentProfits.js +69 -0
  122. package/build/features/brand/screens/BrandSegmentInfo/SegmentTechs.d.ts +10 -0
  123. package/build/features/brand/screens/BrandSegmentInfo/SegmentTechs.js +69 -0
  124. package/build/features/{connect/screens/Merchant → brand/screens/BrandSegmentInfo}/TeamSize.d.ts +3 -1
  125. package/build/features/brand/screens/{BrandInfo → BrandSegmentInfo}/TeamSize.js +20 -25
  126. package/build/features/brand/screens/BrandSegmentInfo/index.d.ts +2 -0
  127. package/build/features/brand/screens/BrandSegmentInfo/index.js +2 -0
  128. package/build/features/brand/screens/BrandSegmentInfo/validation.d.ts +17 -0
  129. package/build/features/brand/screens/BrandSegmentInfo/validation.js +9 -0
  130. package/build/features/brand/screens/ResetPasswordSuccess/ResetPasswordSuccess.js +9 -4
  131. package/build/features/brand/screens/Verify/OTPInput.js +7 -3
  132. package/build/features/brand/screens/Verify/Verify.js +9 -22
  133. package/build/features/business/Business.js +7 -5
  134. package/build/features/business/screens/Activities/Activities.js +2 -1
  135. package/build/features/business/screens/Activities/ActivitiesList.d.ts +15 -68
  136. package/build/features/business/screens/Activities/ActivitiesList.js +226 -98
  137. package/build/features/business/screens/Activities/OperationStartDate.d.ts +2 -2
  138. package/build/features/business/screens/Activities/OperationStartDate.js +3 -3
  139. package/build/features/business/screens/Activities/validation.d.ts +165 -30
  140. package/build/features/business/screens/Activities/validation.js +5 -2
  141. package/build/features/business/screens/BrandDetails/BrandDetails.d.ts +5 -0
  142. package/build/features/business/screens/BrandDetails/BrandDetails.js +39 -0
  143. package/build/features/business/screens/BrandDetails/BrandName.d.ts +5 -0
  144. package/build/features/business/screens/BrandDetails/BrandName.js +36 -0
  145. package/build/features/business/screens/BrandDetails/Header.d.ts +5 -0
  146. package/build/features/business/screens/BrandDetails/Header.js +49 -0
  147. package/build/features/business/screens/BrandDetails/LicenseInfo.d.ts +5 -0
  148. package/build/features/business/screens/BrandDetails/LicenseInfo.js +38 -0
  149. package/build/features/{brand/screens/BrandActivities/OperationStartDate.d.ts → business/screens/BrandDetails/SalesChannel.d.ts} +5 -7
  150. package/build/features/business/screens/BrandDetails/SalesChannel.js +48 -0
  151. package/build/features/business/screens/BrandDetails/index.d.ts +3 -0
  152. package/build/features/business/screens/BrandDetails/index.js +2 -0
  153. package/build/features/business/screens/BusinessType/Article.d.ts +3 -1
  154. package/build/features/business/screens/BusinessType/Article.js +19 -54
  155. package/build/features/business/screens/BusinessType/BusinessType.js +36 -12
  156. package/build/features/business/screens/BusinessType/EntityLicenseList.d.ts +9 -0
  157. package/build/features/business/screens/BusinessType/EntityLicenseList.js +129 -0
  158. package/build/features/business/screens/BusinessType/EntityName.js +6 -7
  159. package/build/features/business/screens/BusinessType/LicenseList.d.ts +1 -0
  160. package/build/features/business/screens/BusinessType/LicenseList.js +7 -22
  161. package/build/features/business/screens/BusinessType/LicenseNumber.d.ts +1 -2
  162. package/build/features/business/screens/BusinessType/LicenseNumber.js +7 -5
  163. package/build/features/business/screens/BusinessType/LicenseType.d.ts +2 -2
  164. package/build/features/business/screens/BusinessType/validation.js +2 -2
  165. package/build/features/business/screens/CivilID/CivilID.js +2 -1
  166. package/build/features/business/screens/CivilID/IDNumber.js +2 -3
  167. package/build/features/business/screens/Customers/CustomerLocations.d.ts +44 -37
  168. package/build/features/business/screens/Customers/CustomerLocations.js +35 -19
  169. package/build/features/business/screens/Customers/Customers.js +29 -17
  170. package/build/features/business/screens/Customers/ExpectedCustomers.js +12 -4
  171. package/build/features/business/screens/Customers/ExpectedSalesRange.js +14 -6
  172. package/build/features/business/screens/Customers/RefundPolicy.d.ts +5 -5
  173. package/build/features/business/screens/Customers/RefundPolicy.js +15 -4
  174. package/build/features/business/screens/Customers/TransactionPolicy.js +19 -9
  175. package/build/features/business/screens/IDBOD/DOB.js +3 -3
  176. package/build/features/business/screens/IDBOD/ID.js +2 -3
  177. package/build/features/business/screens/IDBOD/IDBOD.js +2 -1
  178. package/build/features/business/screens/OTP/OTP.js +2 -2
  179. package/build/features/business/screens/OTP/OTPInput.js +5 -2
  180. package/build/features/business/screens/ResetPasswordSuccess/ResetPasswordSuccess.js +8 -3
  181. package/build/features/business/screens/Verify/OTPInput.js +7 -3
  182. package/build/features/business/screens/Verify/Verify.js +2 -2
  183. package/build/features/connect/Connect.d.ts +2 -0
  184. package/build/features/connect/Connect.js +86 -11
  185. package/build/features/connect/screens/BrandSegment/BrandSegment.d.ts +5 -0
  186. package/build/features/connect/screens/BrandSegment/BrandSegment.js +84 -0
  187. package/build/features/connect/screens/BrandSegment/SegmentLocations.d.ts +8 -0
  188. package/build/features/connect/screens/{Merchant/Segments.js → BrandSegment/SegmentLocations.js} +17 -25
  189. package/build/features/connect/screens/BrandSegment/SegmentProfits.d.ts +8 -0
  190. package/build/features/{brand/screens/BrandInfo/Segments.js → connect/screens/BrandSegment/SegmentProfits.js} +18 -26
  191. package/build/features/connect/screens/BrandSegment/SegmentTechs.d.ts +8 -0
  192. package/build/features/connect/screens/BrandSegment/SegmentTechs.js +66 -0
  193. package/build/features/connect/screens/{Merchant → BrandSegment}/TeamSize.js +12 -20
  194. package/build/features/connect/screens/BrandSegment/index.d.ts +3 -0
  195. package/build/features/connect/screens/BrandSegment/index.js +2 -0
  196. package/build/features/connect/screens/BrandSegment/validation.d.ts +17 -0
  197. package/build/features/connect/screens/BrandSegment/validation.js +9 -0
  198. package/build/features/connect/screens/CivilID/CivilID.js +7 -14
  199. package/build/features/connect/screens/CivilID/IDNumber.js +5 -6
  200. package/build/features/connect/screens/Individual/Email.js +17 -27
  201. package/build/features/connect/screens/Individual/Individual.js +9 -2
  202. package/build/features/connect/screens/Individual/MobileNumber.js +16 -15
  203. package/build/features/connect/screens/Individual/Name.js +11 -15
  204. package/build/features/connect/screens/Merchant/BrandList.js +4 -22
  205. package/build/features/connect/screens/Merchant/BrandName.js +4 -7
  206. package/build/features/connect/screens/Merchant/Merchant.js +14 -16
  207. package/build/features/connect/screens/Merchant/SalesChannels.js +6 -6
  208. package/build/features/connect/screens/Merchant/validation.d.ts +3 -6
  209. package/build/features/connect/screens/Merchant/validation.js +14 -17
  210. package/build/features/connect/screens/Mobile/Mobile.js +14 -17
  211. package/build/features/connect/screens/Mobile/MobileNumber.js +14 -10
  212. package/build/features/connect/screens/NID/DOB.js +3 -3
  213. package/build/features/connect/screens/NID/IDNumber.js +6 -7
  214. package/build/features/connect/screens/NID/NID.js +12 -2
  215. package/build/features/connect/screens/OTP/OTP.js +14 -16
  216. package/build/features/connect/screens/OTP/OTPInput.js +14 -2
  217. package/build/features/connect/screens/ThankYou/ThankYou.js +17 -2
  218. package/build/features/connectExpress/ConnectExpress.d.ts +1 -0
  219. package/build/features/connectExpress/ConnectExpress.js +72 -12
  220. package/build/features/connectExpress/screens/Brand/Brand.js +1 -1
  221. package/build/features/connectExpress/screens/CivilID/CivilID.js +2 -1
  222. package/build/features/connectExpress/screens/CivilID/IDNumber.js +6 -7
  223. package/build/features/connectExpress/screens/CivilIDMissed/CivilID.js +2 -1
  224. package/build/features/connectExpress/screens/CivilIDMissed/IDNumber.js +6 -7
  225. package/build/features/connectExpress/screens/CollectBusinessInfo/BrandName.d.ts +2 -1
  226. package/build/features/connectExpress/screens/CollectBusinessInfo/BrandName.js +5 -7
  227. package/build/features/connectExpress/screens/CollectBusinessInfo/CollectBusinessInfo.js +8 -5
  228. package/build/features/connectExpress/screens/CollectBusinessInfo/LicenseList.d.ts +2 -1
  229. package/build/features/connectExpress/screens/CollectBusinessInfo/LicenseList.js +9 -14
  230. package/build/features/connectExpress/screens/CollectBusinessInfo/LicenseNumber.d.ts +1 -1
  231. package/build/features/connectExpress/screens/CollectBusinessInfo/LicenseNumber.js +4 -4
  232. package/build/features/connectExpress/screens/CollectBusinessInfo/LicenseType.d.ts +4 -3
  233. package/build/features/connectExpress/screens/CollectBusinessInfo/LicenseType.js +4 -2
  234. package/build/features/connectExpress/screens/CollectBusinessInfo/TAC.d.ts +14 -1
  235. package/build/features/connectExpress/screens/CollectBusinessInfo/TAC.js +9 -10
  236. package/build/features/connectExpress/screens/CollectBusinessInfo/validation.js +4 -4
  237. package/build/features/connectExpress/screens/CollectIndividualInfo/CollectIndividualInfo.js +12 -7
  238. package/build/features/connectExpress/screens/CollectIndividualInfo/Email.d.ts +2 -1
  239. package/build/features/connectExpress/screens/CollectIndividualInfo/Email.js +6 -14
  240. package/build/features/connectExpress/screens/CollectIndividualInfo/MobileNumber.d.ts +1 -0
  241. package/build/features/connectExpress/screens/CollectIndividualInfo/MobileNumber.js +6 -2
  242. package/build/features/connectExpress/screens/CollectIndividualInfo/Name.d.ts +2 -1
  243. package/build/features/connectExpress/screens/CollectIndividualInfo/Name.js +3 -4
  244. package/build/features/connectExpress/screens/IdentityOTP/OTP.js +3 -3
  245. package/build/features/connectExpress/screens/IdentityOTP/OTPInput.js +5 -3
  246. package/build/features/connectExpress/screens/Mobile/Mobile.js +6 -4
  247. package/build/features/connectExpress/screens/Mobile/MobileNumber.d.ts +1 -0
  248. package/build/features/connectExpress/screens/Mobile/MobileNumber.js +6 -2
  249. package/build/features/connectExpress/screens/Mobile/TAC.d.ts +2 -1
  250. package/build/features/connectExpress/screens/Mobile/TAC.js +3 -1
  251. package/build/features/connectExpress/screens/NID/DOB.d.ts +2 -1
  252. package/build/features/connectExpress/screens/NID/DOB.js +3 -3
  253. package/build/features/connectExpress/screens/NID/IDNumber.d.ts +1 -0
  254. package/build/features/connectExpress/screens/NID/IDNumber.js +3 -4
  255. package/build/features/connectExpress/screens/NID/NID.js +6 -3
  256. package/build/features/connectExpress/screens/NID/TAC.d.ts +14 -1
  257. package/build/features/connectExpress/screens/NID/TAC.js +9 -10
  258. package/build/features/connectExpress/screens/NIDMissed/DOB.js +2 -2
  259. package/build/features/connectExpress/screens/NIDMissed/IDNumber.js +2 -3
  260. package/build/features/connectExpress/screens/NIDMissed/NID.js +2 -1
  261. package/build/features/connectExpress/screens/OTP/OTP.js +3 -3
  262. package/build/features/connectExpress/screens/OTP/OTPInput.js +6 -4
  263. package/build/features/connectExpress/screens/SuccessWithFlowButtons/SuccessWithFlowButtons.js +2 -1
  264. package/build/features/entity/Entity.js +10 -6
  265. package/build/features/entity/screens/EntityCapital/ActivityList.d.ts +16 -68
  266. package/build/features/entity/screens/EntityCapital/ActivityList.js +221 -106
  267. package/build/features/entity/screens/EntityCapital/CapitalPaid.d.ts +3 -1
  268. package/build/features/entity/screens/EntityCapital/CapitalPaid.js +14 -15
  269. package/build/features/entity/screens/EntityCapital/CapitalShareCount.d.ts +3 -1
  270. package/build/features/entity/screens/EntityCapital/CapitalShareCount.js +10 -11
  271. package/build/features/entity/screens/EntityCapital/CapitalShareValue.d.ts +3 -1
  272. package/build/features/entity/screens/EntityCapital/CapitalShareValue.js +15 -16
  273. package/build/features/entity/screens/EntityCapital/EntityCapital.js +31 -20
  274. package/build/features/entity/screens/EntityCapital/validation.d.ts +175 -40
  275. package/build/features/entity/screens/EntityCapital/validation.js +9 -12
  276. package/build/features/entity/screens/EntityName/Article.d.ts +5 -1
  277. package/build/features/entity/screens/EntityName/Article.js +20 -54
  278. package/build/features/entity/screens/EntityName/EntityName.js +60 -16
  279. package/build/features/entity/screens/EntityName/EntityTypeList.d.ts +11 -27
  280. package/build/features/entity/screens/EntityName/EntityTypeList.js +32 -43
  281. package/build/features/entity/screens/EntityName/ExpiryDate.d.ts +5 -3
  282. package/build/features/entity/screens/EntityName/ExpiryDate.js +5 -5
  283. package/build/features/entity/screens/EntityName/IssuingDate.d.ts +5 -3
  284. package/build/features/entity/screens/EntityName/IssuingDate.js +4 -5
  285. package/build/features/entity/screens/EntityName/LegalName.d.ts +3 -1
  286. package/build/features/entity/screens/EntityName/LegalName.js +9 -6
  287. package/build/features/entity/screens/EntityName/LicenseCertificate.d.ts +4 -1
  288. package/build/features/entity/screens/EntityName/LicenseCertificate.js +12 -7
  289. package/build/features/entity/screens/EntityName/LicenseNumber.d.ts +3 -1
  290. package/build/features/entity/screens/EntityName/LicenseNumber.js +13 -11
  291. package/build/features/entity/screens/EntityName/UnifiedNumber.d.ts +3 -1
  292. package/build/features/entity/screens/EntityName/UnifiedNumber.js +9 -7
  293. package/build/features/entity/screens/EntityName/validation.d.ts +35 -35
  294. package/build/features/entity/screens/EntityName/validation.js +68 -93
  295. package/build/features/entity/screens/ResetPasswordSuccess/ResetPasswordSuccess.js +9 -4
  296. package/build/features/entity/screens/Verify/OTPInput.js +7 -3
  297. package/build/features/entity/screens/Verify/Verify.js +9 -22
  298. package/build/features/featuresScreens.js +13 -1
  299. package/build/features/individual/Individual.js +10 -6
  300. package/build/features/individual/screens/AdditionalIndividualInfo/AdditionalIndividualInfo.d.ts +2 -2
  301. package/build/features/individual/screens/AdditionalIndividualInfo/AdditionalIndividualInfo.js +54 -23
  302. package/build/features/individual/screens/AdditionalIndividualInfo/CivilIDFile.d.ts +7 -1
  303. package/build/features/individual/screens/AdditionalIndividualInfo/CivilIDFile.js +28 -10
  304. package/build/features/individual/screens/AdditionalIndividualInfo/InfluencerSwitch.d.ts +3 -1
  305. package/build/features/individual/screens/AdditionalIndividualInfo/InfluencerSwitch.js +17 -12
  306. package/build/features/individual/screens/AdditionalIndividualInfo/MonthlyIncome.d.ts +2 -1
  307. package/build/features/individual/screens/AdditionalIndividualInfo/MonthlyIncome.js +30 -41
  308. package/build/features/individual/screens/AdditionalIndividualInfo/Occupation.d.ts +3 -3
  309. package/build/features/individual/screens/AdditionalIndividualInfo/Occupation.js +94 -55
  310. package/build/features/individual/screens/AdditionalIndividualInfo/PEPSwitch.d.ts +5 -3
  311. package/build/features/individual/screens/AdditionalIndividualInfo/PEPSwitch.js +17 -12
  312. package/build/features/individual/screens/AdditionalIndividualInfo/ShareCount.d.ts +2 -1
  313. package/build/features/individual/screens/AdditionalIndividualInfo/ShareCount.js +9 -2
  314. package/build/features/individual/screens/AdditionalIndividualInfo/ShareValue.d.ts +2 -1
  315. package/build/features/individual/screens/AdditionalIndividualInfo/ShareValue.js +13 -7
  316. package/build/features/individual/screens/AdditionalIndividualInfo/SignatureFile.d.ts +4 -1
  317. package/build/features/individual/screens/AdditionalIndividualInfo/SignatureFile.js +13 -8
  318. package/build/features/individual/screens/AdditionalIndividualInfo/SourceOfIncome.d.ts +2 -1
  319. package/build/features/individual/screens/AdditionalIndividualInfo/SourceOfIncome.js +32 -42
  320. package/build/features/individual/screens/AdditionalIndividualInfo/validation.d.ts +8 -8
  321. package/build/features/individual/screens/AdditionalIndividualInfo/validation.js +8 -12
  322. package/build/features/individual/screens/IndividualList/IndividualList.d.ts +4 -4
  323. package/build/features/individual/screens/IndividualList/MobileNumber.js +0 -1
  324. package/build/features/individual/screens/IndividualList/UserList.js +10 -6
  325. package/build/features/individual/screens/IndividualPersonalInfo/BirthCity.d.ts +2 -0
  326. package/build/features/individual/screens/IndividualPersonalInfo/BirthCity.js +14 -20
  327. package/build/features/individual/screens/IndividualPersonalInfo/BirthCountry.d.ts +2 -0
  328. package/build/features/individual/screens/IndividualPersonalInfo/BirthCountry.js +8 -14
  329. package/build/features/individual/screens/IndividualPersonalInfo/DOB.d.ts +3 -1
  330. package/build/features/individual/screens/IndividualPersonalInfo/DOB.js +4 -4
  331. package/build/features/individual/screens/IndividualPersonalInfo/Email.d.ts +3 -1
  332. package/build/features/individual/screens/IndividualPersonalInfo/Email.js +3 -10
  333. package/build/features/individual/screens/IndividualPersonalInfo/ExpiryDate.d.ts +3 -1
  334. package/build/features/individual/screens/IndividualPersonalInfo/ExpiryDate.js +5 -7
  335. package/build/features/individual/screens/IndividualPersonalInfo/Gender.d.ts +5 -3
  336. package/build/features/individual/screens/IndividualPersonalInfo/Gender.js +5 -2
  337. package/build/features/individual/screens/IndividualPersonalInfo/ID.d.ts +3 -1
  338. package/build/features/individual/screens/IndividualPersonalInfo/ID.js +3 -10
  339. package/build/features/individual/screens/IndividualPersonalInfo/IndividualPersonalInfo.d.ts +2 -2
  340. package/build/features/individual/screens/IndividualPersonalInfo/IndividualPersonalInfo.js +79 -36
  341. package/build/features/individual/screens/IndividualPersonalInfo/IssuedCountry.d.ts +2 -0
  342. package/build/features/individual/screens/IndividualPersonalInfo/IssuedCountry.js +10 -21
  343. package/build/features/individual/screens/IndividualPersonalInfo/MobileNumber.d.ts +2 -0
  344. package/build/features/individual/screens/IndividualPersonalInfo/MobileNumber.js +14 -16
  345. package/build/features/individual/screens/IndividualPersonalInfo/Name.d.ts +3 -1
  346. package/build/features/individual/screens/IndividualPersonalInfo/Name.js +3 -10
  347. package/build/features/individual/screens/IndividualPersonalInfo/Nationality.d.ts +2 -0
  348. package/build/features/individual/screens/IndividualPersonalInfo/Nationality.js +10 -21
  349. package/build/features/individual/screens/IndividualPhoneInfo/MobileNumber.d.ts +1 -0
  350. package/build/features/individual/screens/IndividualPhoneInfo/MobileNumber.js +6 -3
  351. package/build/features/individual/screens/IndividualPhoneInfo/PhoneInfo.js +7 -3
  352. package/build/features/individual/screens/ResetPasswordSuccess/ResetPasswordSuccess.js +8 -3
  353. package/build/features/individual/screens/Verify/OTPInput.js +7 -3
  354. package/build/features/individual/screens/Verify/Verify.js +3 -7
  355. package/build/features/password/Password.js +7 -5
  356. package/build/features/password/screens/CreatePassword/CreatePassword.js +12 -18
  357. package/build/features/password/screens/OTP/OTP.js +2 -2
  358. package/build/features/password/screens/OTP/OTPInput.js +5 -2
  359. package/build/features/password/screens/ResetPasswordSuccess/ResetPasswordSuccess.js +8 -3
  360. package/build/features/password/screens/Verify/OTPInput.js +7 -3
  361. package/build/features/password/screens/Verify/Verify.js +9 -22
  362. package/build/features/shared/Address/CountryList.d.ts +7 -7
  363. package/build/features/shared/Address/CountryList.js +1 -1
  364. package/build/features/shared/Address/InputSelect.d.ts +7 -7
  365. package/build/features/shared/Address/InputSelect.js +1 -1
  366. package/build/features/shared/Button/Button.d.ts +3 -1
  367. package/build/features/shared/Button/Button.js +2 -2
  368. package/build/features/shared/Button/EmailProvidersButtons.js +9 -2
  369. package/build/features/shared/Button/FlowsButtons.js +22 -20
  370. package/build/features/shared/Button/IndividualActionButtons.d.ts +3 -1
  371. package/build/features/shared/Button/IndividualActionButtons.js +28 -4
  372. package/build/features/shared/Calender/Calender.d.ts +13 -0
  373. package/build/features/shared/Calender/Calender.js +56 -0
  374. package/build/features/shared/Calender/index.d.ts +2 -0
  375. package/build/features/shared/Calender/index.js +2 -0
  376. package/build/features/shared/CheckIcon/CheckIcon.d.ts +7 -1
  377. package/build/features/shared/CheckIcon/CheckIcon.js +7 -6
  378. package/build/features/shared/Chip/Chip.d.ts +3 -0
  379. package/build/features/shared/Chip/Chip.js +21 -0
  380. package/build/features/shared/Chip/index.d.ts +2 -0
  381. package/build/features/shared/Chip/index.js +2 -0
  382. package/build/features/shared/Containers/FeatureContainer.d.ts +4 -1
  383. package/build/features/shared/Containers/FeatureContainer.js +5 -4
  384. package/build/features/shared/Containers/ScreenContainer.d.ts +1 -1
  385. package/build/features/shared/Dot/Dot.d.ts +8 -0
  386. package/build/features/shared/Dot/Dot.js +29 -0
  387. package/build/features/shared/Dot/index.d.ts +2 -0
  388. package/build/features/shared/Dot/index.js +2 -0
  389. package/build/features/shared/EndAdornment/EndAdornment.d.ts +10 -0
  390. package/build/features/shared/EndAdornment/EndAdornment.js +17 -0
  391. package/build/features/shared/EndAdornment/EndAdornmentExpanded.d.ts +7 -0
  392. package/build/features/shared/EndAdornment/EndAdornmentExpanded.js +13 -0
  393. package/build/features/shared/EndAdornment/index.d.ts +3 -0
  394. package/build/features/shared/EndAdornment/index.js +3 -0
  395. package/build/features/shared/Footer/Footer.js +8 -0
  396. package/build/features/shared/Footer/PoweredByFooter.d.ts +9 -0
  397. package/build/features/shared/Footer/PoweredByFooter.js +36 -0
  398. package/build/features/shared/Footer/index.d.ts +3 -2
  399. package/build/features/shared/Footer/index.js +3 -2
  400. package/build/features/shared/GenericError/GenericError.js +1 -1
  401. package/build/features/shared/Input/Input.d.ts +5 -6
  402. package/build/features/shared/Input/Input.js +2 -3
  403. package/build/features/shared/Input/index.d.ts +2 -1
  404. package/build/features/shared/InputSelect/InputSelect.d.ts +4 -0
  405. package/build/features/shared/InputSelect/InputSelect.js +33 -0
  406. package/build/features/shared/InputSelect/index.d.ts +2 -0
  407. package/build/features/shared/InputSelect/index.js +2 -0
  408. package/build/features/shared/OTP/OTP.d.ts +2 -1
  409. package/build/features/shared/OTP/OTP.js +2 -2
  410. package/build/features/shared/SalesChannels/SaleChannelIconsInput.d.ts +3 -1
  411. package/build/features/shared/SalesChannels/SaleChannelIconsInput.js +8 -6
  412. package/build/features/shared/SalesChannels/SalesChannel.d.ts +3 -1
  413. package/build/features/shared/SalesChannels/SalesChannel.js +9 -4
  414. package/build/features/shared/Search/Search.d.ts +2 -1
  415. package/build/features/shared/Search/Search.js +2 -2
  416. package/build/features/shared/SuccessFlowButtons/SuccessFlowButtons.js +19 -8
  417. package/build/features/shared/SuccessScreen/SuccessScreen.d.ts +3 -1
  418. package/build/features/shared/SuccessScreen/SuccessScreen.js +3 -2
  419. package/build/features/shared/UploadFile/FileUpload.d.ts +32 -0
  420. package/build/features/shared/UploadFile/FileUpload.js +267 -0
  421. package/build/features/shared/UploadFile/UploadFile.d.ts +1 -1
  422. package/build/features/shared/UploadFile/UploadFile.js +7 -7
  423. package/build/features/shared/UploadFile/UploadWrapper.d.ts +36 -0
  424. package/build/features/shared/UploadFile/UploadWrapper.js +115 -0
  425. package/build/features/shared/UploadFile/index.d.ts +2 -1
  426. package/build/features/shared/UploadFile/index.js +2 -1
  427. package/build/features/shared/UploadMultipleFile/UploadFile.d.ts +4 -2
  428. package/build/features/shared/UploadMultipleFile/UploadFile.js +15 -12
  429. package/build/features/shared/UploadMultipleFile/UploadMultipleFile.d.ts +4 -2
  430. package/build/features/shared/UploadMultipleFile/UploadMultipleFile.js +4 -4
  431. package/build/features/signIn/SignIn.js +3 -4
  432. package/build/features/signIn/screens/Email/Email.js +2 -1
  433. package/build/features/signIn/screens/Mobile/Mobile.js +2 -1
  434. package/build/features/signIn/screens/OTP/OTP.js +2 -2
  435. package/build/features/signIn/screens/OTP/OTPInput.js +4 -2
  436. package/build/features/signIn/screens/Password/Password.js +2 -1
  437. package/build/features/tax/Tax.js +10 -6
  438. package/build/features/tax/screens/ResetPasswordSuccess/ResetPasswordSuccess.js +9 -4
  439. package/build/features/tax/screens/TaxDetails/ConfirmPolicy.d.ts +4 -1
  440. package/build/features/tax/screens/TaxDetails/ConfirmPolicy.js +12 -12
  441. package/build/features/tax/screens/TaxDetails/TaxDetails.js +23 -10
  442. package/build/features/tax/screens/TaxDetails/TaxDocument.d.ts +4 -1
  443. package/build/features/tax/screens/TaxDetails/TaxDocument.js +6 -5
  444. package/build/features/tax/screens/TaxDetails/VATId.d.ts +5 -1
  445. package/build/features/tax/screens/TaxDetails/VATId.js +6 -10
  446. package/build/features/tax/screens/TaxDetails/validation.d.ts +4 -4
  447. package/build/features/tax/screens/TaxDetails/validation.js +2 -5
  448. package/build/features/tax/screens/Verify/OTPInput.js +7 -3
  449. package/build/features/tax/screens/Verify/Verify.js +8 -24
  450. package/build/hooks/index.d.ts +5 -0
  451. package/build/hooks/index.js +5 -0
  452. package/build/hooks/useAppConfig.d.ts +4 -2
  453. package/build/hooks/useAppConfig.js +18 -16
  454. package/build/hooks/useDataNoneEditable.d.ts +2 -0
  455. package/build/hooks/useDataNoneEditable.js +19 -0
  456. package/build/hooks/useDataVerified.d.ts +6 -0
  457. package/build/hooks/useDataVerified.js +19 -0
  458. package/build/hooks/useErrorListener.d.ts +2 -1
  459. package/build/hooks/useErrorListener.js +16 -1
  460. package/build/hooks/useExcludeReadOnlyFelids.d.ts +11 -0
  461. package/build/hooks/useExcludeReadOnlyFelids.js +33 -0
  462. package/build/hooks/useFormErrorAndUpdateReadOnly.d.ts +6 -0
  463. package/build/hooks/useFormErrorAndUpdateReadOnly.js +48 -0
  464. package/build/hooks/useFormReadOnly.d.ts +6 -0
  465. package/build/hooks/useFormReadOnly.js +40 -0
  466. package/build/hooks/useVerifyToken.js +1 -1
  467. package/build/theme/shadows.js +1 -1
  468. package/build/utils/array.d.ts +14 -2
  469. package/build/utils/array.js +187 -2
  470. package/build/utils/common.d.ts +1 -0
  471. package/build/utils/common.js +10 -0
  472. package/build/utils/date.d.ts +1 -0
  473. package/build/utils/date.js +6 -0
  474. package/build/utils/error.d.ts +1 -0
  475. package/build/utils/error.js +3 -0
  476. package/build/utils/gtm.d.ts +6 -0
  477. package/build/utils/gtm.js +29 -0
  478. package/build/utils/index.d.ts +1 -0
  479. package/build/utils/index.js +1 -0
  480. package/build/utils/object.d.ts +5 -0
  481. package/build/utils/object.js +31 -0
  482. package/build/utils/string.d.ts +5 -2
  483. package/build/utils/string.js +28 -7
  484. package/package.json +4 -2
  485. package/build/features/brand/screens/BrandActivities/OperationStartDate.js +0 -45
  486. package/build/features/brand/screens/BrandInfo/Segments.d.ts +0 -8
  487. package/build/features/connect/screens/Merchant/Segments.d.ts +0 -8
  488. /package/build/features/{brand/screens/BrandInfo → connect/screens/BrandSegment}/TeamSize.d.ts +0 -0
@@ -15,10 +15,10 @@ import { useTranslation } from 'react-i18next';
15
15
  import { useForm, FormProvider } from 'react-hook-form';
16
16
  import { yupResolver } from '@hookform/resolvers/yup';
17
17
  import { styled } from '@mui/material/styles';
18
- import { useAppDispatch, useAppSelector, useSetFromDefaultValues } from '../../../../hooks';
18
+ import { useAppDispatch, useAppSelector, useExcludeReadOnlyFelids, useFormErrorAndUpdateReadOnly, useFormReadOnly, useSetFromDefaultValues } from '../../../../hooks';
19
19
  import { AuthForType } from '../../../../@types';
20
20
  import { useLanguage } from '../../../../hooks';
21
- import { isKW } from '../../../../utils';
21
+ import { deepCopy, isKW } from '../../../../utils';
22
22
  import { countriesCode } from '../../../../constants';
23
23
  import { handlePrevScreenStep, settingsSelector } from '../../../../app/settings';
24
24
  import Form from '../../../../components/Form';
@@ -37,10 +37,11 @@ var FormStyled = styled(Form)(function () { return ({
37
37
  justifyContent: 'space-between'
38
38
  }); });
39
39
  var CollectIndividualInfo = function (_a) {
40
- var _b = React.useState(false), listActive = _b[0], setListActive = _b[1];
41
- var _c = React.useState(false), emailChecking = _c[0], setEmailChecking = _c[1];
40
+ var _b;
41
+ var _c = React.useState(false), listActive = _c[0], setListActive = _c[1];
42
+ var _d = React.useState(false), emailChecking = _d[0], setEmailChecking = _d[1];
42
43
  var settingsData = useAppSelector(settingsSelector).data;
43
- var _d = useAppSelector(connectExpressSelector), data = _d.data, loading = _d.loading, error = _d.error;
44
+ var _e = useAppSelector(connectExpressSelector), data = _e.data, loading = _e.loading, error = _e.error;
44
45
  var dispatch = useAppDispatch();
45
46
  var t = useTranslation().t;
46
47
  var isAr = useLanguage().isAr;
@@ -55,12 +56,15 @@ var CollectIndividualInfo = function (_a) {
55
56
  mode: 'onChange'
56
57
  });
57
58
  useSetFromDefaultValues(methods, individualData, true);
59
+ var originalReadOnly = useFormReadOnly(methods);
60
+ var readOnly = useFormErrorAndUpdateReadOnly(methods, originalReadOnly);
61
+ var getFelids = useExcludeReadOnlyFelids(methods, readOnly).getFelids;
58
62
  React.useEffect(function () {
59
63
  if (countryCode.iso2 !== methods.getValues('countryCode.iso2'))
60
64
  methods.setValue('countryCode', countryCode);
61
65
  }, [countryCode]);
62
66
  var onSubmit = function (formData) {
63
- dispatch(updateLeadIndividualAsync(formData));
67
+ dispatch(updateLeadIndividualAsync(deepCopy(getFelids(formData))));
64
68
  };
65
69
  var onBack = function () {
66
70
  var _a;
@@ -84,6 +88,7 @@ var CollectIndividualInfo = function (_a) {
84
88
  var isEmailValid = typeof isEmailAvailable === 'undefined' ? isLeadEmailAvailable : isEmailAvailable;
85
89
  var emailErrChecks = !methods.formState.isValid || !!methods.formState.errors.email || !!error;
86
90
  var disabled = emailErrChecks || emailChecking || !isEmailValid;
87
- return (_jsx(ScreenContainer, { children: _jsx(FormProvider, __assign({}, methods, { children: _jsxs(FormStyled, __assign({ onSubmit: methods.handleSubmit(onSubmit) }, { children: [_jsx(Name, { show: !listActive }), _jsx(MobileNumber, { show: true, onListOpen: function () { return handleMenuListClick(); }, onListClose: function () { return handleMenuListClick(); }, countries: countriesCode }), _jsx(Email, { show: !listActive, fetchingEmail: function (v) { return setEmailChecking(v); }, emailChecking: emailChecking }), _jsx(Collapse, __assign({ in: !listActive }, { children: _jsx(Button, __assign({ onBackClicked: function () { return onBack(); }, disabled: disabled, isAr: isAr, loading: loading, error: t(error || '') }, { children: t('next') })) }))] })) })) }));
91
+ var emailReadOnly = readOnly['email'] && !((_b = methods.getFieldState('email').error) === null || _b === void 0 ? void 0 : _b.message) && !methods.getFieldState('email').isDirty;
92
+ return (_jsx(ScreenContainer, { children: _jsx(FormProvider, __assign({}, methods, { children: _jsxs(FormStyled, __assign({ onSubmit: methods.handleSubmit(onSubmit) }, { children: [_jsx(Name, { readOnly: readOnly['name'], show: !listActive }), _jsx(MobileNumber, { readOnly: readOnly['mobile'], show: true, onListOpen: function () { return handleMenuListClick(); }, onListClose: function () { return handleMenuListClick(); }, countries: countriesCode }), _jsx(Email, { readOnly: emailReadOnly, show: !listActive, fetchingEmail: function (v) { return setEmailChecking(v); }, emailChecking: emailChecking }), _jsx(Collapse, __assign({ in: !listActive }, { children: _jsx(Button, __assign({ onBackClicked: function () { return onBack(); }, disabled: disabled, isAr: isAr, loading: loading, error: t(error || '') }, { children: t('next') })) }))] })) })) }));
88
93
  };
89
94
  export default React.memo(CollectIndividualInfo);
@@ -3,6 +3,7 @@ export interface EmailProps {
3
3
  show: boolean;
4
4
  fetchingEmail: (flag: boolean) => void;
5
5
  emailChecking: boolean;
6
+ readOnly?: boolean;
6
7
  }
7
- declare const _default: React.MemoExoticComponent<({ show, fetchingEmail, emailChecking }: EmailProps) => JSX.Element>;
8
+ declare const _default: React.MemoExoticComponent<({ show, fetchingEmail, emailChecking, readOnly }: EmailProps) => JSX.Element>;
8
9
  export default _default;
@@ -52,13 +52,11 @@ import { debounce } from 'lodash-es';
52
52
  import { useController, useFormContext } from 'react-hook-form';
53
53
  import axios from 'axios';
54
54
  import { styled } from '@mui/material/styles';
55
- import CircularProgress from '@mui/material/CircularProgress';
56
55
  import { useAppDispatch, useAppSelector } from '../../../../hooks';
57
56
  import Collapse from '../../../../components/Collapse';
58
57
  import { ScreenContainer } from '../../../shared/Containers';
59
58
  import Input from '../../../shared/Input';
60
- import ClearIcon from '../../../shared/ClearIcon';
61
- import CheckIcon from '../../../shared/CheckIcon';
59
+ import { EndAdornment } from '../../../shared/EndAdornment';
62
60
  import { checkEmailAvailabilityAsync, connectExpressSelector } from '../../../app/connectExpress/connectExpressStore';
63
61
  var InputStyled = styled(Input)(function () { return ({
64
62
  input: {
@@ -67,9 +65,8 @@ var InputStyled = styled(Input)(function () { return ({
67
65
  }); });
68
66
  var cancelToken = null;
69
67
  var Email = function (_a) {
70
- var _b;
71
- var show = _a.show, fetchingEmail = _a.fetchingEmail, emailChecking = _a.emailChecking;
72
- var _c = React.useState(''), storedEmail = _c[0], setStoredEmail = _c[1];
68
+ var _b, _c, _d, _e;
69
+ var show = _a.show, fetchingEmail = _a.fetchingEmail, emailChecking = _a.emailChecking, readOnly = _a.readOnly;
73
70
  var dispatch = useAppDispatch();
74
71
  var data = useAppSelector(connectExpressSelector).data;
75
72
  var t = useTranslation().t;
@@ -77,6 +74,7 @@ var Email = function (_a) {
77
74
  var emailControl = useController({ name: 'email', control: control });
78
75
  var emailValue = emailControl.field.value;
79
76
  var error = (_b = emailControl.fieldState.error) === null || _b === void 0 ? void 0 : _b.message;
77
+ var email = (_e = (_d = (_c = data.responseData) === null || _c === void 0 ? void 0 : _c.leadData) === null || _d === void 0 ? void 0 : _d.contact) === null || _e === void 0 ? void 0 : _e.email;
80
78
  var checkEmail = debounce(function (value) { return __awaiter(void 0, void 0, void 0, function () {
81
79
  var onSuccess;
82
80
  return __generator(this, function (_a) {
@@ -92,15 +90,9 @@ var Email = function (_a) {
92
90
  var handleEmailChange = function (event) {
93
91
  emailControl.field.onChange(event.target.value);
94
92
  };
95
- React.useEffect(function () {
96
- var _a, _b, _c;
97
- var email = (_c = (_b = (_a = data.responseData) === null || _a === void 0 ? void 0 : _a.leadData) === null || _b === void 0 ? void 0 : _b.contact) === null || _c === void 0 ? void 0 : _c.email;
98
- if (!!email)
99
- setStoredEmail(email);
100
- }, [data.responseData]);
101
93
  React.useEffect(function () {
102
94
  var isValid = emailValue && !error && emailValue.length > 3;
103
- if (isValid && emailValue != storedEmail) {
95
+ if (isValid && emailValue != email) {
104
96
  fetchingEmail(true);
105
97
  checkEmail(emailValue);
106
98
  }
@@ -108,6 +100,6 @@ var Email = function (_a) {
108
100
  var clearNumber = function () {
109
101
  emailControl.field.onChange('');
110
102
  };
111
- return (_jsx(Collapse, __assign({ in: show }, { children: _jsx(ScreenContainer, { children: _jsx(InputStyled, { label: t('signup_email_lable'), value: emailValue, onEnterPressed: function (e) { return e.preventDefault(); }, onChange: handleEmailChange, type: 'email', placeholder: t('signup_email_placeholder'), warningType: 'alert', warningMessage: error && t(error), endAdornment: emailChecking ? (_jsx(CircularProgress, { size: 25, thickness: 5, sx: { height: 'auto !important' } })) : !error && emailValue ? (_jsx(CheckIcon, {})) : (emailValue && _jsx(ClearIcon, { onClick: clearNumber })) }) }) })));
103
+ return (_jsx(Collapse, __assign({ in: show }, { children: _jsx(ScreenContainer, { children: _jsx(InputStyled, { label: t('signup_email_lable'), value: emailValue, readOnly: readOnly, onEnterPressed: function (e) { return e.preventDefault(); }, onChange: handleEmailChange, type: 'email', placeholder: t('signup_email_placeholder'), warningType: 'alert', warningMessage: error && t(error), endAdornment: _jsx(EndAdornment, { value: emailValue, loading: emailChecking, error: error, onClear: clearNumber }) }) }) })));
112
104
  };
113
105
  export default React.memo(Email);
@@ -5,6 +5,7 @@ interface MobileNumberProps {
5
5
  show: boolean;
6
6
  onListOpen?: () => void;
7
7
  onListClose?: () => void;
8
+ readOnly?: boolean;
8
9
  }
9
10
  declare const _default: React.MemoExoticComponent<React.ForwardRefExoticComponent<MobileNumberProps & React.RefAttributes<unknown>>>;
10
11
  export default _default;
@@ -80,7 +80,7 @@ var InputStyled = styled(Input)(function () { return ({
80
80
  }); });
81
81
  var MobileNumber = React.forwardRef(function (_a, ref) {
82
82
  var _b, _c, _d;
83
- var countries = _a.countries, rest = __rest(_a, ["countries"]);
83
+ var countries = _a.countries, readOnly = _a.readOnly, rest = __rest(_a, ["countries", "readOnly"]);
84
84
  var _e = React.useState(countries || []), countriesCode = _e[0], setCountries = _e[1];
85
85
  var _f = React.useState(null), anchorEl = _f[0], setAnchorEl = _f[1];
86
86
  var t = useTranslation().t;
@@ -142,7 +142,11 @@ var MobileNumber = React.forwardRef(function (_a, ref) {
142
142
  });
143
143
  setCountries(filteredCountries);
144
144
  };
145
- return (_jsx(Collapse, __assign({ in: rest.show }, { children: _jsxs(ScreenContainer, __assign({ ref: ref, sx: { mb: 3 } }, { children: [_jsx(LabelContainerStyled, { children: _jsx(InputLabelStyled, { children: t('signup_enter_mobile') }) }), _jsx(InputStyled, { inputProps: { maxLength: requiredLen }, type: 'tel', disabled: !!anchorEl, onClick: onCloseCountryList, onChange: onPhoneNumberChange, value: !!anchorEl ? countryName : mobileValue, startAdornment: _jsxs(CountryCodeStyled, __assign({ onClick: function () { return toggleCountryList(); } }, { children: ["+".concat(countryCodeValue === null || countryCodeValue === void 0 ? void 0 : countryCodeValue.idd_prefix), !anchorEl && _jsx(ExpandIconStyled, { anchorEl: !!anchorEl })] })), endAdornment: !!anchorEl ? (_jsx(ExpandIconStyled, { onClick: function () { return toggleCountryList(); }, anchorEl: !!anchorEl })) : !error && mobileValue ? (_jsx(CheckIcon, {})) : (mobileValue && _jsx(ClearIcon, { onClick: clearMobileNumber })), placeholder: "".concat(isSA ? '5' : '0', "00000000"), warningType: 'alert', warningMessage: error && t(error, { length: requiredLen, number: '05|5' }) }), _jsxs(Collapse, __assign({ in: !!anchorEl }, { children: [_jsx(Search, { onSearchValue: handleSearch }), _jsx(SimpleList, { searchKeyPath: 'name.english', list: countriesCode, onSelectItem: onSelectItem, renderItem: function (item) {
145
+ return (_jsx(Collapse, __assign({ in: rest.show }, { children: _jsxs(ScreenContainer, __assign({ ref: ref, sx: { mb: 3 } }, { children: [_jsx(LabelContainerStyled, { children: _jsx(InputLabelStyled, { children: t('signup_enter_mobile') }) }), _jsx(InputStyled, { readOnly: readOnly, inputProps: { maxLength: requiredLen }, type: 'tel', disabled: !!anchorEl, onClick: onCloseCountryList, onChange: onPhoneNumberChange, value: !!anchorEl ? countryName : mobileValue, startAdornment: _jsxs(CountryCodeStyled, __assign({ onClick: function () {
146
+ if (readOnly)
147
+ return;
148
+ toggleCountryList();
149
+ } }, { children: ["+".concat(countryCodeValue === null || countryCodeValue === void 0 ? void 0 : countryCodeValue.idd_prefix), !anchorEl && _jsx(ExpandIconStyled, { anchorEl: !!anchorEl })] })), endAdornment: !!anchorEl ? (_jsx(ExpandIconStyled, { onClick: function () { return toggleCountryList(); }, anchorEl: !!anchorEl })) : !error && mobileValue ? (_jsx(CheckIcon, {})) : (mobileValue && _jsx(ClearIcon, { onClick: clearMobileNumber })), placeholder: "".concat(isSA ? '5' : '0', "00000000"), warningType: 'alert', warningMessage: error && t(error, { length: requiredLen, number: '05|5' }) }), _jsxs(Collapse, __assign({ in: !!anchorEl }, { children: [_jsx(Search, { onSearchValue: handleSearch }), _jsx(SimpleList, { searchKeyPath: 'name.english', list: countriesCode, onSelectItem: onSelectItem, renderItem: function (item) {
146
150
  return (_jsxs(_Fragment, { children: [_jsxs(CountryItemContainer, { children: [_jsxs(CountryCodeText, __assign({ isSelected: (item === null || item === void 0 ? void 0 : item.idd_prefix) === (countryCodeValue === null || countryCodeValue === void 0 ? void 0 : countryCodeValue.idd_prefix) }, { children: ["+", item.idd_prefix] })), _jsx(CountryNameText, __assign({ isSelected: (item === null || item === void 0 ? void 0 : item.idd_prefix) === (countryCodeValue === null || countryCodeValue === void 0 ? void 0 : countryCodeValue.idd_prefix) }, { children: isAr ? item.name.arabic : item.name.english }))] }), item.idd_prefix === (countryCodeValue === null || countryCodeValue === void 0 ? void 0 : countryCodeValue.idd_prefix) && _jsx(CheckIcon, {})] }));
147
151
  } })] }))] })) })));
148
152
  });
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
2
  export interface NameProps {
3
3
  show: boolean;
4
+ readOnly?: boolean;
4
5
  }
5
- declare const _default: React.MemoExoticComponent<({ show }: NameProps) => JSX.Element>;
6
+ declare const _default: React.MemoExoticComponent<({ show, readOnly }: NameProps) => JSX.Element>;
6
7
  export default _default;
@@ -18,8 +18,7 @@ import { removeAllOtherThanAlphabetAndSpace } from '../../../../utils';
18
18
  import Collapse from '../../../../components/Collapse';
19
19
  import { ScreenContainer } from '../../../shared/Containers';
20
20
  import Input from '../../../shared/Input';
21
- import ClearIcon from '../../../shared/ClearIcon';
22
- import CheckIcon from '../../../shared/CheckIcon';
21
+ import { EndAdornment } from '../../../shared/EndAdornment';
23
22
  var InputStyled = styled(Input)(function () { return ({
24
23
  input: {
25
24
  textTransform: 'capitalize'
@@ -27,7 +26,7 @@ var InputStyled = styled(Input)(function () { return ({
27
26
  }); });
28
27
  var Name = function (_a) {
29
28
  var _b;
30
- var show = _a.show;
29
+ var show = _a.show, readOnly = _a.readOnly;
31
30
  var t = useTranslation().t;
32
31
  var control = useFormContext().control;
33
32
  var nameControl = useController({ name: 'name', control: control });
@@ -40,6 +39,6 @@ var Name = function (_a) {
40
39
  var clearNumber = function () {
41
40
  nameControl.field.onChange('');
42
41
  };
43
- return (_jsx(Collapse, __assign({ in: show }, { children: _jsx(ScreenContainer, __assign({ sx: { mb: 3, mt: 2.5 } }, { children: _jsx(InputStyled, { label: t('signup_merchant_name_label'), value: nameValue, onChange: handleNameChange, placeholder: t('signup_merchant_name_label'), warningType: 'alert', warningMessage: error && t(error), endAdornment: !error && nameValue ? _jsx(CheckIcon, {}) : nameValue && _jsx(ClearIcon, { onClick: clearNumber }) }) })) })));
42
+ return (_jsx(Collapse, __assign({ in: show }, { children: _jsx(ScreenContainer, __assign({ sx: { mb: 3, mt: 2.5 } }, { children: _jsx(InputStyled, { label: t('signup_merchant_name_label'), value: nameValue, readOnly: readOnly, onChange: handleNameChange, placeholder: t('signup_merchant_name_label'), warningType: 'alert', warningMessage: error && t(error), endAdornment: _jsx(EndAdornment, { value: nameValue, error: error, onClear: clearNumber }) }) })) })));
44
43
  };
45
44
  export default React.memo(Name);
@@ -25,7 +25,7 @@ import { AuthForType } from '../../../../@types';
25
25
  import { useForm, FormProvider } from 'react-hook-form';
26
26
  import { yupResolver } from '@hookform/resolvers/yup';
27
27
  import Form from '../../../../components/Form';
28
- import { maskPhone, maskID } from '../../../../utils';
28
+ import { maskPhone, maskID, deepCopy } from '../../../../utils';
29
29
  import { OTPValidation } from './validation';
30
30
  import OTPInput from './OTPInput';
31
31
  var OTPTitleContainerStyled = styled(Box)(function (_a) {
@@ -70,10 +70,10 @@ var OTP = function () {
70
70
  }, []);
71
71
  var onSubmit = function (formData) {
72
72
  if (isNidAuth) {
73
- dispatch(verifyNIDOtpLeadIdentityAsync(formData));
73
+ dispatch(verifyNIDOtpLeadIdentityAsync(deepCopy(formData)));
74
74
  return;
75
75
  }
76
- dispatch(verifyMobileOtpAsync(formData));
76
+ dispatch(verifyMobileOtpAsync(deepCopy(formData)));
77
77
  };
78
78
  var onBack = function () {
79
79
  dispatch(handlePrevScreenStep());
@@ -18,7 +18,7 @@ import { styled } from '@mui/material/styles';
18
18
  import OTPField from '../../../shared/OTP';
19
19
  import { DEFAULT_TIMER_VALUE } from '../../../../constants';
20
20
  import { AuthForType } from '../../../../@types';
21
- import { createNIDAuthIdentityAsync, connectExpressSelector } from '../../../app/connectExpress/connectExpressStore';
21
+ import { resendNIDAuthIdentityOTP, connectExpressSelector, clearError } from '../../../app/connectExpress/connectExpressStore';
22
22
  import { useAppDispatch, useAppSelector } from '../../../../hooks';
23
23
  var BoxStyled = styled(Box)(function (_a) {
24
24
  var theme = _a.theme;
@@ -33,10 +33,12 @@ var OTPInput = function (_a) {
33
33
  var t = useTranslation().t;
34
34
  var dispatch = useAppDispatch();
35
35
  var otpControl = useController({ name: 'otp', control: control });
36
- var data = useAppSelector(connectExpressSelector).data;
36
+ var _c = useAppSelector(connectExpressSelector), data = _c.data, error = _c.error;
37
37
  var nidData = data.nidData;
38
38
  var isNidAuth = data.otpData.authFor === AuthForType.NATIONAL_ID;
39
39
  var handleOnOTPChange = function (otp) {
40
+ if (error)
41
+ dispatch(clearError());
40
42
  otpControl.field.onChange(otp);
41
43
  };
42
44
  var handleOnResendOTP = function () {
@@ -44,7 +46,7 @@ var OTPInput = function (_a) {
44
46
  var handleOnResendAbsherOTP = function () {
45
47
  if (otpControl.field.value)
46
48
  setValue('otp', '', { shouldValidate: true });
47
- dispatch(createNIDAuthIdentityAsync(nidData));
49
+ dispatch(resendNIDAuthIdentityOTP(nidData));
48
50
  };
49
51
  var otpValue = otpControl.field.value;
50
52
  return (_jsx(BoxStyled, __assign({ dir: 'ltr' }, { children: _jsx(OTPField, { timeEndLabel: t('ide_otp_resend_label'), timerInSeconds: DEFAULT_TIMER_VALUE, onResetClick: isNidAuth ? handleOnResendAbsherOTP : handleOnResendOTP, value: otpValue, onChange: function (number) { return handleOnOTPChange(number.toString()); } }) })));
@@ -19,18 +19,18 @@ import { styled, alpha } from '@mui/material/styles';
19
19
  import Collapse from '../../../../components/Collapse';
20
20
  import Form from '../../../../components/Form';
21
21
  import Button, { AbsherButton, MobileButton } from '../../../shared/Button';
22
- import { useAppDispatch, useAppSelector, useCountry } from '../../../../hooks';
22
+ import { useAppDispatch, useAppSelector, useCountry, useFormErrorAndUpdateReadOnly, useFormReadOnly } from '../../../../hooks';
23
23
  import { handlePrevScreenStep, settingsSelector } from '../../../../app/settings';
24
24
  import ScreenContainer from '../../../shared/Containers/ScreenContainer';
25
25
  import { clearError, resetStore, connectExpressSelector, createMobileAuthAsync } from '../../../app/connectExpress/connectExpressStore';
26
26
  import { useLanguage } from '../../../../hooks';
27
27
  import Divider from '@mui/material/Divider';
28
28
  import Text from '../../../../components/Text';
29
- import MIDTitle from './Title';
30
29
  import MobileNumber from './MobileNumber';
31
30
  import { PhoneValidationSchema } from './validation';
32
31
  import { ICONS_NAMES } from '../../../../constants';
33
32
  import TAC from './TAC';
33
+ import { deepCopy } from '../../../../utils';
34
34
  var FormStyled = styled(Form)(function () { return ({
35
35
  display: 'flex',
36
36
  flexDirection: 'column'
@@ -92,7 +92,7 @@ var Mobile = function (_a) {
92
92
  dispatch(resetStore());
93
93
  }, []);
94
94
  var onSubmit = function (formData) {
95
- dispatch(createMobileAuthAsync(formData));
95
+ dispatch(createMobileAuthAsync(deepCopy(formData)));
96
96
  };
97
97
  var onBack = function () {
98
98
  var screen = isKuwait ? 'CONNECT_EXPRESS_CIVIL_ID_STEP' : 'CONNECT_EXPRESS_NID_STEP';
@@ -104,7 +104,9 @@ var Mobile = function (_a) {
104
104
  var handleCountryClose = function () {
105
105
  setAnchor(false);
106
106
  };
107
+ var originalReadOnly = useFormReadOnly(methods);
108
+ var readOnly = useFormErrorAndUpdateReadOnly(methods, originalReadOnly);
107
109
  var disabled = !methods.formState.isValid || !!error;
108
- return (_jsxs(ScreenContainer, { children: [_jsx(MIDTitle, { show: !anchor, title: t('join_our_community'), description: t('ide_terms_and_conditions_description') }), _jsx(FormProvider, __assign({}, methods, { children: _jsxs(FormStyled, __assign({ onSubmit: methods.handleSubmit(onSubmit) }, { children: [_jsx(InputsContainerStyled, { children: _jsx(MobileNumber, { show: true, countries: settingData.countries, onListOpen: handleCountryOpen, onListClose: handleCountryClose }) }), _jsxs(Collapse, __assign({ in: !anchor }, { children: [_jsx(TAC, { show: isLeadIdPassed }), _jsx(Button, __assign({ onBackClicked: function () { return onBack(); }, isAr: isAr, disableBack: true, disabled: disabled, loading: loading, error: t(error || '') }, { children: t('next') })), _jsxs(Collapse, __assign({ in: isLeadIdPassed ? !isLeadIdentityIdAvailable : !methods.formState.isValid }, { children: [_jsxs(OrBoxStyled, { children: [_jsx(DividerStyled, {}), _jsx(TextStyled, { children: t('or') }), _jsx(DividerStyled, {})] }), isKuwait ? (_jsx(MobileButton, __assign({ disabled: loading, onClick: function () { return onBack(); }, icon: ICONS_NAMES.PACI_ICON }, { children: t('paci_button_label') }))) : (_jsx(AbsherButton, __assign({ disabled: loading, onClick: function () { return onBack(); } }, { children: t('absher_button_label') })))] }))] }))] })) }))] }));
110
+ return (_jsx(ScreenContainer, { children: _jsx(FormProvider, __assign({}, methods, { children: _jsxs(FormStyled, __assign({ onSubmit: methods.handleSubmit(onSubmit) }, { children: [_jsx(InputsContainerStyled, { children: _jsx(MobileNumber, { readOnly: readOnly['mobile'], show: true, countries: settingData.countries, onListOpen: handleCountryOpen, onListClose: handleCountryClose }) }), _jsxs(Collapse, __assign({ in: !anchor }, { children: [_jsx(TAC, { show: isLeadIdPassed, readOnly: readOnly['termAndConditionChecked'] }), _jsx(Button, __assign({ onBackClicked: function () { return onBack(); }, isAr: isAr, disableBack: true, disabled: disabled, loading: loading, error: t(error || '') }, { children: t('next') })), _jsxs(Collapse, __assign({ in: isLeadIdPassed ? !isLeadIdentityIdAvailable : !methods.formState.isValid }, { children: [_jsxs(OrBoxStyled, { children: [_jsx(DividerStyled, {}), _jsx(TextStyled, { children: t('or') }), _jsx(DividerStyled, {})] }), isKuwait ? (_jsx(MobileButton, __assign({ disabled: loading, onClick: function () { return onBack(); }, icon: ICONS_NAMES.PACI_ICON }, { children: t('paci_button_label') }))) : (_jsx(AbsherButton, __assign({ disabled: loading, onClick: function () { return onBack(); } }, { children: t('absher_button_label') })))] }))] }))] })) })) }));
109
111
  };
110
112
  export default React.memo(Mobile);
@@ -7,6 +7,7 @@ interface MobileNumberProps {
7
7
  onSwitchToIdNumber?: () => void;
8
8
  onListOpen?: () => void;
9
9
  onListClose?: () => void;
10
+ readOnly?: boolean;
10
11
  }
11
12
  declare const _default: React.MemoExoticComponent<React.ForwardRefExoticComponent<MobileNumberProps & React.RefAttributes<unknown>>>;
12
13
  export default _default;
@@ -81,7 +81,7 @@ var InputStyled = styled(Input)(function () { return ({
81
81
  }); });
82
82
  var MobileNumber = React.forwardRef(function (_a, ref) {
83
83
  var _b, _c, _d;
84
- var countries = _a.countries, rest = __rest(_a, ["countries"]);
84
+ var countries = _a.countries, readOnly = _a.readOnly, rest = __rest(_a, ["countries", "readOnly"]);
85
85
  var _e = React.useState(countries || []), countriesCode = _e[0], setCountries = _e[1];
86
86
  var _f = React.useState(null), anchorEl = _f[0], setAnchorEl = _f[1];
87
87
  var t = useTranslation().t;
@@ -144,7 +144,11 @@ var MobileNumber = React.forwardRef(function (_a, ref) {
144
144
  });
145
145
  setCountries(filteredCountries);
146
146
  };
147
- return (_jsx(Collapse, __assign({ in: rest.show }, { children: _jsxs(ScreenContainer, __assign({ ref: ref, sx: { minHeight: mobileValue ? '133px' : '0px' } }, { children: [_jsx(LabelContainerStyled, { children: _jsx(InputLabelStyled, { children: t('signup_enter_mobile') }) }), _jsx(InputStyled, { inputProps: { maxLength: requiredLen }, type: 'tel', readOnly: !!anchorEl, required: true, onClick: onCloseCountryList, onChange: onPhoneNumberChange, onEnterPressed: function (e) { return loading && e.preventDefault(); }, value: !!anchorEl ? countryName : mobileValue, startAdornment: _jsxs(CountryCodeStyled, __assign({ onClick: function () { return toggleCountryList(); } }, { children: ["+".concat(countryCodeValue === null || countryCodeValue === void 0 ? void 0 : countryCodeValue.idd_prefix), !anchorEl && _jsx(ExpandIconStyled, { anchorEl: !!anchorEl })] })), endAdornment: !!anchorEl ? (_jsx(ExpandIconStyled, { onClick: function () { return toggleCountryList(); }, anchorEl: !!anchorEl })) : !error && mobileValue ? (_jsx(CheckIcon, {})) : (mobileValue && _jsx(ClearIcon, { onClick: clearMobileNumber })), placeholder: "".concat(isSA ? '5' : '0', "00000000"), warningType: 'alert', warningMessage: !anchorEl ? error && t(error, { length: requiredLen, number: '05|5' }) : undefined }), _jsxs(Collapse, __assign({ in: !!anchorEl }, { children: [_jsx(Search, { onSearchValue: handleSearch }), _jsx(SimpleList, { searchKeyPath: 'name.english', list: countriesCode, onSelectItem: onSelectItem, renderItem: function (item) {
147
+ return (_jsx(Collapse, __assign({ in: rest.show }, { children: _jsxs(ScreenContainer, __assign({ ref: ref, sx: { minHeight: mobileValue ? '133px' : '0px' } }, { children: [_jsx(LabelContainerStyled, { children: _jsx(InputLabelStyled, { children: t('signup_enter_mobile') }) }), _jsx(InputStyled, { inputProps: { maxLength: requiredLen }, type: 'tel', readOnly: !!anchorEl || readOnly, required: true, onClick: onCloseCountryList, onChange: onPhoneNumberChange, onEnterPressed: function (e) { return loading && e.preventDefault(); }, value: !!anchorEl ? countryName : mobileValue, startAdornment: _jsxs(CountryCodeStyled, __assign({ onClick: function () {
148
+ if (readOnly)
149
+ return;
150
+ toggleCountryList();
151
+ } }, { children: ["+".concat(countryCodeValue === null || countryCodeValue === void 0 ? void 0 : countryCodeValue.idd_prefix), !anchorEl && _jsx(ExpandIconStyled, { anchorEl: !!anchorEl })] })), endAdornment: !!anchorEl ? (_jsx(ExpandIconStyled, { onClick: function () { return toggleCountryList(); }, anchorEl: !!anchorEl })) : !error && mobileValue ? (_jsx(CheckIcon, {})) : (mobileValue && _jsx(ClearIcon, { onClick: clearMobileNumber })), placeholder: "".concat(isSA ? '5' : '0', "00000000"), warningType: 'alert', warningMessage: !anchorEl ? error && t(error, { length: requiredLen, number: '05|5' }) : undefined }), _jsxs(Collapse, __assign({ in: !!anchorEl }, { children: [_jsx(Search, { onSearchValue: handleSearch }), _jsx(SimpleList, { searchKeyPath: 'name.english', list: countriesCode, onSelectItem: onSelectItem, renderItem: function (item) {
148
152
  return (_jsxs(_Fragment, { children: [_jsxs(CountryItemContainer, { children: [_jsxs(CountryCodeText, __assign({ isSelected: (item === null || item === void 0 ? void 0 : item.idd_prefix) === (countryCodeValue === null || countryCodeValue === void 0 ? void 0 : countryCodeValue.idd_prefix) }, { children: ["+", item.idd_prefix] })), _jsx(CountryNameText, __assign({ isSelected: (item === null || item === void 0 ? void 0 : item.idd_prefix) === (countryCodeValue === null || countryCodeValue === void 0 ? void 0 : countryCodeValue.idd_prefix) }, { children: isAr ? item.name.arabic : item.name.english }))] }), item.idd_prefix === (countryCodeValue === null || countryCodeValue === void 0 ? void 0 : countryCodeValue.idd_prefix) && _jsx(CheckIcon, {})] }));
149
153
  } })] }))] })) })));
150
154
  });
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
2
  interface TACProps {
3
3
  show: boolean;
4
+ readOnly?: boolean;
4
5
  }
5
- declare const _default: React.MemoExoticComponent<({ show }: TACProps) => JSX.Element>;
6
+ declare const _default: React.MemoExoticComponent<({ show, readOnly }: TACProps) => JSX.Element>;
6
7
  export default _default;
@@ -66,7 +66,7 @@ var CollapseStyled = styled(Collapse)(function () { return ({
66
66
  }); });
67
67
  var TAC = function (_a) {
68
68
  var _b;
69
- var show = _a.show;
69
+ var show = _a.show, readOnly = _a.readOnly;
70
70
  var t = useTranslation().t;
71
71
  var isAr = useLanguage().isAr;
72
72
  var control = useFormContext().control;
@@ -76,6 +76,8 @@ var TAC = function (_a) {
76
76
  var warningMessage = (_b = tacControl.fieldState.error) === null || _b === void 0 ? void 0 : _b.message;
77
77
  var countryCode = settingsData.businessCountry.iso2.toLowerCase();
78
78
  var handleTACCheckedChange = function (event, checked) {
79
+ if (readOnly)
80
+ return;
79
81
  tacControl.field.onChange(checked);
80
82
  };
81
83
  return (_jsx(Collapse, __assign({ in: show }, { children: _jsxs(ScreenContainer, { children: [_jsxs(TACContainerStyled, { children: [_jsx(CheckboxStyled, { disableRipple: true, disableFocusRipple: true, focusRipple: false, checked: tacChecked, onChange: handleTACCheckedChange }), _jsxs(TextStyled, { children: [t('read_agree_terms_and_conditions_message'), _jsx(LinkStyled, __assign({ href: isAr ? TAP_WEBSITE + countryCode + EXTERNAL_LINKS.TOS_AR : TAP_WEBSITE + countryCode + EXTERNAL_LINKS.TOS_EN, target: '_blank', underline: 'always' }, { children: t('terms_and_conditions_link_title') }))] })] }), _jsx(CollapseStyled, __assign({ in: !!warningMessage }, { children: _jsx(Warning, __assign({ warningType: 'alert' }, { children: warningMessage && t(warningMessage) })) }))] }) })));
@@ -1,6 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  interface DOBProps {
3
3
  onDateClicked?: (flag: boolean) => void;
4
+ readOnly?: boolean;
4
5
  }
5
- declare const DOB: ({ onDateClicked }: DOBProps) => JSX.Element;
6
+ declare const DOB: ({ onDateClicked, readOnly }: DOBProps) => JSX.Element;
6
7
  export default DOB;
@@ -14,17 +14,17 @@ import { useTranslation } from 'react-i18next';
14
14
  import { useController, useFormContext } from 'react-hook-form';
15
15
  import { useAppDispatch, useAppSelector } from '../../../../hooks';
16
16
  import { ScreenContainer } from '../../../shared/Containers';
17
- import DatePicker from '../../../../components/DatePicker';
18
17
  import { alpha, styled } from '@mui/material/styles';
19
18
  import { clearError, connectExpressSelector } from '../../../app/connectExpress/connectExpressStore';
20
19
  import Text from '../../../../components/Text';
20
+ import Calender from '../../../shared/Calender';
21
21
  var InputLabelStyled = styled(Text)(function (_a) {
22
22
  var theme = _a.theme;
23
23
  return (__assign(__assign({ color: alpha(theme.palette.text.primary, 0.6), fontWeight: theme.typography.fontWeightMedium }, theme.typography.caption), { lineHeight: theme.spacing(2.5) }));
24
24
  });
25
25
  var DOB = function (_a) {
26
26
  var _b;
27
- var onDateClicked = _a.onDateClicked;
27
+ var onDateClicked = _a.onDateClicked, readOnly = _a.readOnly;
28
28
  var t = useTranslation().t;
29
29
  var control = useFormContext().control;
30
30
  var dispatch = useAppDispatch();
@@ -42,6 +42,6 @@ var DOB = function (_a) {
42
42
  return (_jsxs(ScreenContainer, { children: [_jsx(InputLabelStyled, __assign({ sx: { p: function (_a) {
43
43
  var spacing = _a.spacing;
44
44
  return spacing(2.5, 2.5, 1.5, 2.5);
45
- } } }, { children: t('enter_birth_date') })), _jsx(DatePicker, { defaultValue: dateValue ? new Date(dateValue) : new Date(), readOnly: true, dir: 'ltr', locale: 'en', onDateChange: handleBirthDateChange, onClick: function () { return onDateClicked === null || onDateClicked === void 0 ? void 0 : onDateClicked(true); }, onDatePicked: function () { return onDateClicked === null || onDateClicked === void 0 ? void 0 : onDateClicked(false); } })] }));
45
+ } } }, { children: t('enter_birth_date') })), _jsx(Calender, { isDob: true, disabled: readOnly, defaultValue: dateValue ? new Date(dateValue) : undefined, onDateClicked: onDateClicked, onDateChange: handleBirthDateChange })] }));
46
46
  };
47
47
  export default DOB;
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
2
  interface IDNumberProps {
3
3
  show: boolean;
4
+ readOnly?: boolean;
4
5
  }
5
6
  declare const _default: React.MemoExoticComponent<React.ForwardRefExoticComponent<IDNumberProps & React.RefAttributes<unknown>>>;
6
7
  export default _default;
@@ -18,12 +18,11 @@ import { useAppSelector } from '../../../../hooks';
18
18
  import { styled, alpha } from '@mui/material/styles';
19
19
  import Text from '../../../../components/Text';
20
20
  import Input from '../../../shared/Input';
21
- import ClearIcon from '../../../shared/ClearIcon';
22
- import CheckIcon from '../../../shared/CheckIcon';
23
21
  import Collapse from '../../../../components/Collapse';
24
22
  import ScreenContainer from '../../../shared/Containers/ScreenContainer';
25
23
  import { removeAllCharsFromNumber } from '../../../../utils';
26
24
  import { ID_NUMBER_LENGTH } from '../../../../constants';
25
+ import { EndAdornment } from '../../../shared/EndAdornment';
27
26
  import { connectExpressSelector } from '../../../app/connectExpress/connectExpressStore';
28
27
  var LabelContainerStyled = styled(Box)(function (_a) {
29
28
  var theme = _a.theme;
@@ -39,7 +38,7 @@ var InputLabelStyled = styled(Text)(function (_a) {
39
38
  });
40
39
  var IDNumber = React.forwardRef(function (_a, ref) {
41
40
  var _b, _c, _d;
42
- var show = _a.show;
41
+ var show = _a.show, readOnly = _a.readOnly;
43
42
  var t = useTranslation().t;
44
43
  var control = useFormContext().control;
45
44
  var nidControl = useController({ control: control, name: 'nid' });
@@ -56,6 +55,6 @@ var IDNumber = React.forwardRef(function (_a, ref) {
56
55
  var error = (_b = nidControl.fieldState.error) === null || _b === void 0 ? void 0 : _b.message;
57
56
  var isLeadIdPassed = data.isLeadIdPassed, responseData = data.responseData;
58
57
  var isLeadIdentityIdAvailable = !!((_d = (_c = responseData === null || responseData === void 0 ? void 0 : responseData.leadData) === null || _c === void 0 ? void 0 : _c.identification) === null || _d === void 0 ? void 0 : _d.id);
59
- return (_jsx(Collapse, __assign({ in: show }, { children: _jsxs(ScreenContainer, __assign({ ref: ref }, { children: [_jsx(LabelContainerStyled, { children: _jsx(InputLabelStyled, { children: t('enter_national_id') }) }), _jsx(Input, { dir: 'ltr', type: 'tel', inputProps: { maxLength: ID_NUMBER_LENGTH }, disabled: isLeadIdPassed && isLeadIdentityIdAvailable, onChange: handleIdChange, value: nidValue, endAdornment: !error && nidValue ? _jsx(CheckIcon, {}) : nidValue && _jsx(ClearIcon, { onClick: clearIdNumber }), placeholder: t('national_id_placeholder'), warningType: 'alert', warningMessage: error && t(error, { number: '1' }), required: true })] })) })));
58
+ return (_jsx(Collapse, __assign({ in: show }, { children: _jsxs(ScreenContainer, __assign({ ref: ref }, { children: [_jsx(LabelContainerStyled, { children: _jsx(InputLabelStyled, { children: t('enter_national_id') }) }), _jsx(Input, { readOnly: readOnly, dir: 'ltr', type: 'tel', inputProps: { maxLength: ID_NUMBER_LENGTH }, disabled: isLeadIdPassed && isLeadIdentityIdAvailable, onChange: handleIdChange, value: nidValue, endAdornment: _jsx(EndAdornment, { value: nidValue, error: error, onClear: clearIdNumber }), placeholder: t('national_id_placeholder'), warningType: 'alert', warningMessage: error && t(error, { number: '1' }), required: true })] })) })));
60
59
  });
61
60
  export default React.memo(IDNumber);
@@ -16,7 +16,7 @@ import { alpha, styled } from '@mui/material/styles';
16
16
  import { useForm, FormProvider } from 'react-hook-form';
17
17
  import { yupResolver } from '@hookform/resolvers/yup';
18
18
  import { NIDValidationSchema } from './validation';
19
- import { useAppDispatch, useLanguage, useAppSelector } from '../../../../hooks';
19
+ import { useAppDispatch, useLanguage, useAppSelector, useFormReadOnly, useFormErrorAndUpdateReadOnly } from '../../../../hooks';
20
20
  import { handlePrevScreenStep } from '../../../../app/settings';
21
21
  import { clearError, connectExpressSelector, createNIDAuthAsync } from '../../../app/connectExpress/connectExpressStore';
22
22
  import Form from '../../../../components/Form';
@@ -29,6 +29,7 @@ import Text from '../../../../components/Text';
29
29
  import IDNumber from './IDNumber';
30
30
  import DOB from './DOB';
31
31
  import TAC from './TAC';
32
+ import { deepCopy } from '../../../../utils';
32
33
  var FormStyled = styled(Form)(function () { return ({
33
34
  display: 'flex',
34
35
  flexDirection: 'column'
@@ -77,7 +78,7 @@ var NID = function (_a) {
77
78
  React.useEffect(function () {
78
79
  }, []);
79
80
  var onSubmit = function (data) {
80
- dispatch(createNIDAuthAsync(data));
81
+ dispatch(createNIDAuthAsync(deepCopy(data)));
81
82
  };
82
83
  var handleCollapseOpenClose = function (flag) {
83
84
  setCollapse(flag);
@@ -85,8 +86,10 @@ var NID = function (_a) {
85
86
  var onBack = function () {
86
87
  dispatch(handlePrevScreenStep());
87
88
  };
89
+ var originalReadOnly = useFormReadOnly(methods);
90
+ var readOnly = useFormErrorAndUpdateReadOnly(methods, originalReadOnly);
88
91
  var disabled = !methods.formState.isValid || !!error;
89
92
  var isLeadIdentityIdAvailable = (_c = (_b = responseData === null || responseData === void 0 ? void 0 : responseData.leadData) === null || _b === void 0 ? void 0 : _b.identification) === null || _c === void 0 ? void 0 : _c.id;
90
- return (_jsx(ScreenContainer, { children: _jsx(FormProvider, __assign({}, methods, { children: _jsxs(FormStyled, __assign({ onSubmit: methods.handleSubmit(onSubmit) }, { children: [_jsx(Collapse, __assign({ in: !collapse }, { children: _jsx(IDNumber, { show: !collapse }) })), _jsx(DOB, { onDateClicked: handleCollapseOpenClose }), _jsxs(Collapse, __assign({ in: !collapse }, { children: [_jsx(TAC, { show: isLeadIdPassed }), _jsx(Button, __assign({ loading: loading, isAr: isAr, disableBack: true, disabled: disabled, error: t(error || '') }, { children: t('next') })), _jsxs(Collapse, __assign({ in: isLeadIdPassed ? !isLeadIdentityIdAvailable && !methods.formState.isValid : !methods.formState.isValid }, { children: [_jsxs(OrBoxStyled, { children: [_jsx(DividerStyled, {}), _jsx(TextStyled, { children: t('or') }), _jsx(DividerStyled, {})] }), _jsx(MobileButton, __assign({ onClick: function () { return onBack(); }, disabled: loading }, { children: t('mobile_button_label') }))] }))] }))] })) })) }));
93
+ return (_jsx(ScreenContainer, { children: _jsx(FormProvider, __assign({}, methods, { children: _jsxs(FormStyled, __assign({ onSubmit: methods.handleSubmit(onSubmit) }, { children: [_jsx(Collapse, __assign({ in: !collapse }, { children: _jsx(IDNumber, { show: !collapse, readOnly: readOnly['nid'] }) })), _jsx(DOB, { onDateClicked: handleCollapseOpenClose, readOnly: readOnly['dob'] }), _jsxs(Collapse, __assign({ in: !collapse }, { children: [_jsx(TAC, { show: isLeadIdPassed, readOnly: readOnly['termAndConditionChecked'] }), _jsx(Button, __assign({ loading: loading, isAr: isAr, disableBack: true, disabled: disabled, error: t(error || '') }, { children: t('next') })), _jsxs(Collapse, __assign({ in: isLeadIdPassed ? !isLeadIdentityIdAvailable && !methods.formState.isValid : !methods.formState.isValid }, { children: [_jsxs(OrBoxStyled, { children: [_jsx(DividerStyled, {}), _jsx(TextStyled, { children: t('or') }), _jsx(DividerStyled, {})] }), _jsx(MobileButton, __assign({ onClick: function () { return onBack(); }, disabled: loading }, { children: t('mobile_button_label') }))] }))] }))] })) })) }));
91
94
  };
92
95
  export default React.memo(NID);
@@ -1,6 +1,19 @@
1
1
  import * as React from 'react';
2
+ import { BoxProps } from '@mui/material/Box';
3
+ interface TACContainerStyledProps extends BoxProps {
4
+ readOnly?: boolean;
5
+ }
6
+ export declare const TACContainerStyled: import("@emotion/styled").StyledComponent<import("@mui/system").SystemProps<import("@mui/material/styles").Theme> & {
7
+ children?: React.ReactNode;
8
+ component?: React.ElementType<any> | undefined;
9
+ ref?: React.Ref<unknown> | undefined;
10
+ sx?: import("@mui/material/styles").SxProps<import("@mui/material/styles").Theme> | undefined;
11
+ } & import("@mui/material/OverridableComponent").CommonProps & Omit<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
12
+ ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
13
+ }, keyof import("@mui/material/OverridableComponent").CommonProps | ("border" | "borderTop" | "borderRight" | "borderBottom" | "borderLeft" | "borderColor" | "borderRadius" | "display" | "displayPrint" | "overflow" | "textOverflow" | "visibility" | "whiteSpace" | "flexBasis" | "flexDirection" | "flexWrap" | "justifyContent" | "alignItems" | "alignContent" | "order" | "flex" | "flexGrow" | "flexShrink" | "alignSelf" | "justifyItems" | "justifySelf" | "gap" | "columnGap" | "rowGap" | "gridColumn" | "gridRow" | "gridAutoFlow" | "gridAutoColumns" | "gridAutoRows" | "gridTemplateColumns" | "gridTemplateRows" | "gridTemplateAreas" | "gridArea" | "bgcolor" | "color" | "zIndex" | "position" | "top" | "right" | "bottom" | "left" | "boxShadow" | "width" | "maxWidth" | "minWidth" | "height" | "maxHeight" | "minHeight" | "boxSizing" | "m" | "mt" | "mr" | "mb" | "ml" | "mx" | "my" | "p" | "pt" | "pr" | "pb" | "pl" | "px" | "py" | "margin" | "marginTop" | "marginRight" | "marginBottom" | "marginLeft" | "marginX" | "marginY" | "padding" | "paddingTop" | "paddingRight" | "paddingBottom" | "paddingLeft" | "paddingX" | "paddingY" | "typography" | "fontFamily" | "fontSize" | "fontStyle" | "fontWeight" | "letterSpacing" | "lineHeight" | "textAlign" | "textTransform") | "children" | "component" | "ref" | "sx"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme> & TACContainerStyledProps, {}, {}>;
2
14
  interface TACProps {
3
15
  show: boolean;
16
+ readOnly?: boolean;
4
17
  }
5
- declare const _default: React.MemoExoticComponent<({ show }: TACProps) => JSX.Element>;
18
+ declare const _default: React.MemoExoticComponent<({ show, readOnly }: TACProps) => JSX.Element>;
6
19
  export default _default;
@@ -24,14 +24,11 @@ import Text from '../../../../components/Text';
24
24
  import Warning from '../../../../components/Warning';
25
25
  import Collapse from '../../../../components/Collapse';
26
26
  import { ScreenContainer } from '../../../shared/Containers';
27
- var TACContainerStyled = styled(Box)(function (_a) {
28
- var theme = _a.theme;
29
- return ({
30
- display: 'flex',
31
- flexDirection: 'row',
32
- alignItems: 'center',
33
- paddingInlineStart: theme.spacing(2.5)
34
- });
27
+ export var TACContainerStyled = styled(Box, { shouldForwardProp: function (prop) { return prop !== 'readOnly'; } })(function (_a) {
28
+ var theme = _a.theme, readOnly = _a.readOnly;
29
+ return (__assign({ display: 'flex', flexDirection: 'row', alignItems: 'center', paddingInlineStart: theme.spacing(2.5) }, (readOnly && {
30
+ opacity: '0.6'
31
+ })));
35
32
  });
36
33
  var TextStyled = styled(Text)(function (_a) {
37
34
  var theme = _a.theme;
@@ -66,7 +63,7 @@ var CollapseStyled = styled(Collapse)(function () { return ({
66
63
  }); });
67
64
  var TAC = function (_a) {
68
65
  var _b;
69
- var show = _a.show;
66
+ var show = _a.show, readOnly = _a.readOnly;
70
67
  var t = useTranslation().t;
71
68
  var isAr = useLanguage().isAr;
72
69
  var control = useFormContext().control;
@@ -76,8 +73,10 @@ var TAC = function (_a) {
76
73
  var warningMessage = (_b = tacControl.fieldState.error) === null || _b === void 0 ? void 0 : _b.message;
77
74
  var countryCode = settingsData.businessCountry.iso2.toLowerCase();
78
75
  var handleTACCheckedChange = function (event, checked) {
76
+ if (readOnly)
77
+ return;
79
78
  tacControl.field.onChange(checked);
80
79
  };
81
- return (_jsx(Collapse, __assign({ in: show }, { children: _jsxs(ScreenContainer, __assign({ sx: { mt: 2.5 } }, { children: [_jsxs(TACContainerStyled, { children: [_jsx(CheckboxStyled, { disableRipple: true, disableFocusRipple: true, focusRipple: false, checked: tacChecked, onChange: handleTACCheckedChange }), _jsxs(TextStyled, { children: [t('read_agree_terms_and_conditions_message'), _jsx(LinkStyled, __assign({ href: isAr ? TAP_WEBSITE + countryCode + EXTERNAL_LINKS.TOS_AR : TAP_WEBSITE + countryCode + EXTERNAL_LINKS.TOS_EN, target: '_blank', underline: 'always' }, { children: t('terms_and_conditions_link_title') }))] })] }), _jsx(CollapseStyled, __assign({ in: !!warningMessage }, { children: _jsx(Warning, __assign({ warningType: 'alert' }, { children: warningMessage && t(warningMessage) })) }))] })) })));
80
+ return (_jsx(Collapse, __assign({ in: show }, { children: _jsxs(ScreenContainer, __assign({ sx: { mt: 2.5 } }, { children: [_jsxs(TACContainerStyled, __assign({ readOnly: readOnly }, { children: [_jsx(CheckboxStyled, { disableRipple: true, disableFocusRipple: true, focusRipple: false, checked: tacChecked, onChange: handleTACCheckedChange }), _jsxs(TextStyled, { children: [t('read_agree_terms_and_conditions_message'), _jsx(LinkStyled, __assign({ href: isAr ? TAP_WEBSITE + countryCode + EXTERNAL_LINKS.TOS_AR : TAP_WEBSITE + countryCode + EXTERNAL_LINKS.TOS_EN, target: '_blank', underline: 'always' }, { children: t('terms_and_conditions_link_title') }))] })] })), _jsx(CollapseStyled, __assign({ in: !!warningMessage }, { children: _jsx(Warning, __assign({ warningType: 'alert' }, { children: warningMessage && t(warningMessage) })) }))] })) })));
82
81
  };
83
82
  export default React.memo(TAC);
@@ -14,10 +14,10 @@ import { useTranslation } from 'react-i18next';
14
14
  import { useController, useFormContext } from 'react-hook-form';
15
15
  import { useAppDispatch, useAppSelector } from '../../../../hooks';
16
16
  import { ScreenContainer } from '../../../shared/Containers';
17
- import DatePicker from '../../../../components/DatePicker';
18
17
  import { alpha, styled } from '@mui/material/styles';
19
18
  import { clearError, connectExpressSelector } from '../../../app/connectExpress/connectExpressStore';
20
19
  import Text from '../../../../components/Text';
20
+ import Calender from '../../../shared/Calender';
21
21
  var InputLabelStyled = styled(Text)(function (_a) {
22
22
  var theme = _a.theme;
23
23
  return (__assign(__assign({ color: alpha(theme.palette.text.primary, 0.6), fontWeight: theme.typography.fontWeightMedium }, theme.typography.caption), { lineHeight: theme.spacing(2.5) }));
@@ -42,6 +42,6 @@ var DOB = function (_a) {
42
42
  return (_jsxs(ScreenContainer, { children: [_jsx(InputLabelStyled, __assign({ sx: { p: function (_a) {
43
43
  var spacing = _a.spacing;
44
44
  return spacing(2.5, 2.5, 1.5, 2.5);
45
- } } }, { children: t('enter_birth_date') })), _jsx(DatePicker, { defaultValue: dateValue ? new Date(dateValue) : new Date(), readOnly: true, dir: 'ltr', locale: 'en', onDateChange: handleBirthDateChange, onClick: function () { return onDateClicked === null || onDateClicked === void 0 ? void 0 : onDateClicked(true); }, onDatePicked: function () { return onDateClicked === null || onDateClicked === void 0 ? void 0 : onDateClicked(false); } })] }));
45
+ } } }, { children: t('enter_birth_date') })), _jsx(Calender, { isDob: true, defaultValue: dateValue ? new Date(dateValue) : undefined, onDateClicked: onDateClicked, onDateChange: handleBirthDateChange })] }));
46
46
  };
47
47
  export default DOB;