@tap-payments/auth-jsconnect 2.1.100-test → 2.2.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 (480) hide show
  1. package/build/@types/app.d.ts +298 -7
  2. package/build/@types/app.js +12 -0
  3. package/build/@types/form.d.ts +29 -26
  4. package/build/@types/redux.d.ts +4 -0
  5. package/build/@types/theme.d.ts +1 -1
  6. package/build/@types/user.d.ts +39 -3
  7. package/build/api/account.d.ts +2 -2
  8. package/build/api/auth.d.ts +11 -11
  9. package/build/api/availabilityServices.d.ts +3 -3
  10. package/build/api/axios.js +1 -1
  11. package/build/api/board.d.ts +3 -3
  12. package/build/api/brand.d.ts +7 -0
  13. package/build/api/brand.js +10 -1
  14. package/build/api/country.d.ts +1 -1
  15. package/build/api/data.d.ts +18 -10
  16. package/build/api/data.js +34 -2
  17. package/build/api/document.d.ts +25 -0
  18. package/build/api/document.js +38 -0
  19. package/build/api/entity.d.ts +24 -24
  20. package/build/api/entity.js +22 -5
  21. package/build/api/file.d.ts +2 -1
  22. package/build/api/file.js +14 -1
  23. package/build/api/index.d.ts +36 -6
  24. package/build/api/index.js +5 -1
  25. package/build/api/individual.d.ts +32 -14
  26. package/build/api/individual.js +9 -1
  27. package/build/api/init.d.ts +16 -0
  28. package/build/api/init.js +13 -0
  29. package/build/api/lead.d.ts +18 -11
  30. package/build/api/lead.js +9 -1
  31. package/build/api/operator.d.ts +1 -1
  32. package/build/api/operator.js +1 -1
  33. package/build/api/user.d.ts +2 -2
  34. package/build/app/settings.d.ts +19 -9
  35. package/build/app/settings.js +69 -24
  36. package/build/app/store.d.ts +4 -4
  37. package/build/assets/locales/ar.json +27 -1
  38. package/build/assets/locales/en.json +27 -1
  39. package/build/components/AnimationFlow/AnimationFlow.d.ts +4 -2
  40. package/build/components/AnimationFlow/AnimationFlow.js +4 -4
  41. package/build/components/AnimationFlow/BottomSheet.d.ts +4 -1
  42. package/build/components/AnimationFlow/BottomSheet.js +43 -19
  43. package/build/components/AnimationFlow/Dialog.d.ts +4 -2
  44. package/build/components/AnimationFlow/Dialog.js +30 -7
  45. package/build/components/DatePicker/DatePicker.d.ts +3 -1
  46. package/build/components/DatePicker/DatePicker.js +20 -15
  47. package/build/components/LogoBadge/LogoBadge.js +3 -0
  48. package/build/components/RadioGroup/RadioGroup.d.ts +5 -2
  49. package/build/components/RadioGroup/RadioGroup.js +5 -9
  50. package/build/components/RadioGroup/index.d.ts +1 -1
  51. package/build/components/SimpleList/SimpleList.d.ts +5 -2
  52. package/build/components/SimpleList/SimpleList.js +31 -11
  53. package/build/components/Slide/Slide.d.ts +1 -1
  54. package/build/constants/api.d.ts +7 -0
  55. package/build/constants/api.js +14 -1
  56. package/build/constants/app.d.ts +45 -0
  57. package/build/constants/app.js +101 -52
  58. package/build/constants/assets.d.ts +7 -0
  59. package/build/constants/assets.js +7 -0
  60. package/build/constants/validation.d.ts +1 -0
  61. package/build/constants/validation.js +1 -0
  62. package/build/features/app/bank/bankStore.d.ts +88 -12
  63. package/build/features/app/bank/bankStore.js +153 -107
  64. package/build/features/app/brand/brandStore.d.ts +158 -21
  65. package/build/features/app/brand/brandStore.js +401 -221
  66. package/build/features/app/business/businessStore.d.ts +176 -29
  67. package/build/features/app/business/businessStore.js +343 -282
  68. package/build/features/app/connect/connectStore.d.ts +150 -14
  69. package/build/features/app/connect/connectStore.js +185 -67
  70. package/build/features/app/connectExpress/connectExpressStore.d.ts +223 -20
  71. package/build/features/app/connectExpress/connectExpressStore.js +234 -101
  72. package/build/features/app/entity/entityStore.d.ts +93 -23
  73. package/build/features/app/entity/entityStore.js +273 -237
  74. package/build/features/app/individual/individualStore.d.ts +192 -27
  75. package/build/features/app/individual/individualStore.js +504 -380
  76. package/build/features/app/password/passwordStore.d.ts +106 -12
  77. package/build/features/app/password/passwordStore.js +84 -36
  78. package/build/features/app/signIn/signInStore.d.ts +61 -7
  79. package/build/features/app/signIn/signInStore.js +1 -1
  80. package/build/features/app/tax/taxStore.d.ts +76 -9
  81. package/build/features/app/tax/taxStore.js +136 -89
  82. package/build/features/bank/Bank.js +10 -6
  83. package/build/features/bank/screens/BankDetails/BankDetails.js +43 -17
  84. package/build/features/bank/screens/BankDetails/BankName.d.ts +5 -1
  85. package/build/features/bank/screens/BankDetails/BankName.js +9 -9
  86. package/build/features/bank/screens/BankDetails/BankStatement.d.ts +6 -2
  87. package/build/features/bank/screens/BankDetails/BankStatement.js +7 -10
  88. package/build/features/bank/screens/BankDetails/Beneficiary.d.ts +3 -1
  89. package/build/features/bank/screens/BankDetails/Beneficiary.js +6 -7
  90. package/build/features/bank/screens/BankDetails/ConfirmPolicy.d.ts +4 -1
  91. package/build/features/bank/screens/BankDetails/ConfirmPolicy.js +12 -13
  92. package/build/features/bank/screens/BankDetails/IBAN.d.ts +3 -1
  93. package/build/features/bank/screens/BankDetails/IBAN.js +4 -6
  94. package/build/features/bank/screens/BankDetails/validation.d.ts +8 -8
  95. package/build/features/bank/screens/BankDetails/validation.js +6 -17
  96. package/build/features/bank/screens/ResetPasswordSuccess/ResetPasswordSuccess.js +9 -4
  97. package/build/features/bank/screens/Verify/OTPInput.js +5 -3
  98. package/build/features/bank/screens/Verify/Verify.js +1 -5
  99. package/build/features/brand/Brand.js +10 -6
  100. package/build/features/brand/screens/BrandActivities/ActivitiesList.d.ts +13 -30
  101. package/build/features/brand/screens/BrandActivities/ActivitiesList.js +50 -34
  102. package/build/features/brand/screens/BrandActivities/BrandActivities.js +41 -9
  103. package/build/features/brand/screens/BrandActivities/CustomerBase.d.ts +14 -41
  104. package/build/features/brand/screens/BrandActivities/CustomerBase.js +21 -32
  105. package/build/features/brand/screens/BrandActivities/ExpectedCustomers.d.ts +3 -1
  106. package/build/features/brand/screens/BrandActivities/ExpectedCustomers.js +22 -19
  107. package/build/features/brand/screens/BrandActivities/ExpectedSalesRange.d.ts +3 -1
  108. package/build/features/brand/screens/BrandActivities/ExpectedSalesRange.js +28 -19
  109. package/build/features/brand/screens/BrandActivities/RefundPolicy.d.ts +15 -8
  110. package/build/features/brand/screens/BrandActivities/RefundPolicy.js +23 -12
  111. package/build/features/brand/screens/BrandActivities/TAC.d.ts +14 -2
  112. package/build/features/brand/screens/BrandActivities/TAC.js +21 -12
  113. package/build/features/brand/screens/BrandActivities/TransactionPolicy.d.ts +4 -1
  114. package/build/features/brand/screens/BrandActivities/TransactionPolicy.js +18 -4
  115. package/build/features/brand/screens/BrandActivities/validation.d.ts +7 -7
  116. package/build/features/brand/screens/BrandActivities/validation.js +10 -19
  117. package/build/features/brand/screens/BrandInfo/BrandInfo.js +40 -33
  118. package/build/features/brand/screens/BrandInfo/BrandLogo.d.ts +9 -0
  119. package/build/features/brand/screens/BrandInfo/BrandLogo.js +41 -0
  120. package/build/features/brand/screens/BrandInfo/BrandName.d.ts +3 -2
  121. package/build/features/brand/screens/BrandInfo/BrandName.js +5 -8
  122. package/build/features/brand/screens/BrandInfo/SalesChannels.d.ts +2 -1
  123. package/build/features/brand/screens/BrandInfo/SalesChannels.js +20 -26
  124. package/build/features/brand/screens/BrandInfo/validation.d.ts +7 -13
  125. package/build/features/brand/screens/BrandInfo/validation.js +37 -47
  126. package/build/features/brand/screens/BrandSegmentInfo/BrandSegmentInfo.d.ts +5 -0
  127. package/build/features/brand/screens/BrandSegmentInfo/BrandSegmentInfo.js +102 -0
  128. package/build/features/brand/screens/BrandSegmentInfo/SegmentLocations.d.ts +10 -0
  129. package/build/features/brand/screens/BrandSegmentInfo/SegmentLocations.js +69 -0
  130. package/build/features/brand/screens/BrandSegmentInfo/SegmentProfits.d.ts +10 -0
  131. package/build/features/brand/screens/BrandSegmentInfo/SegmentProfits.js +69 -0
  132. package/build/features/brand/screens/BrandSegmentInfo/SegmentTechs.d.ts +10 -0
  133. package/build/features/brand/screens/BrandSegmentInfo/SegmentTechs.js +69 -0
  134. package/build/features/{connect/screens/Merchant → brand/screens/BrandSegmentInfo}/TeamSize.d.ts +3 -1
  135. package/build/features/brand/screens/{BrandInfo → BrandSegmentInfo}/TeamSize.js +20 -25
  136. package/build/features/brand/screens/BrandSegmentInfo/index.d.ts +2 -0
  137. package/build/features/brand/screens/BrandSegmentInfo/index.js +2 -0
  138. package/build/features/brand/screens/BrandSegmentInfo/validation.d.ts +17 -0
  139. package/build/features/brand/screens/BrandSegmentInfo/validation.js +9 -0
  140. package/build/features/brand/screens/ResetPasswordSuccess/ResetPasswordSuccess.js +9 -4
  141. package/build/features/brand/screens/Verify/OTPInput.js +5 -3
  142. package/build/features/brand/screens/Verify/Verify.js +7 -20
  143. package/build/features/business/Business.js +7 -5
  144. package/build/features/business/screens/Activities/ActivitiesList.d.ts +17 -70
  145. package/build/features/business/screens/Activities/ActivitiesList.js +226 -98
  146. package/build/features/business/screens/Activities/OperationStartDate.d.ts +3 -3
  147. package/build/features/business/screens/Activities/OperationStartDate.js +2 -2
  148. package/build/features/business/screens/Activities/validation.d.ts +165 -30
  149. package/build/features/business/screens/Activities/validation.js +5 -2
  150. package/build/features/business/screens/BrandDetails/BrandDetails.d.ts +5 -0
  151. package/build/features/business/screens/BrandDetails/BrandDetails.js +39 -0
  152. package/build/features/business/screens/BrandDetails/BrandName.d.ts +5 -0
  153. package/build/features/business/screens/BrandDetails/BrandName.js +36 -0
  154. package/build/features/business/screens/BrandDetails/Header.d.ts +5 -0
  155. package/build/features/business/screens/BrandDetails/Header.js +49 -0
  156. package/build/features/business/screens/BrandDetails/LicenseInfo.d.ts +5 -0
  157. package/build/features/business/screens/BrandDetails/LicenseInfo.js +38 -0
  158. package/build/features/{brand/screens/BrandActivities/OperationStartDate.d.ts → business/screens/BrandDetails/SalesChannel.d.ts} +6 -8
  159. package/build/features/business/screens/BrandDetails/SalesChannel.js +48 -0
  160. package/build/features/business/screens/BrandDetails/index.d.ts +3 -0
  161. package/build/features/business/screens/BrandDetails/index.js +2 -0
  162. package/build/features/business/screens/BusinessType/Article.d.ts +4 -2
  163. package/build/features/business/screens/BusinessType/Article.js +19 -54
  164. package/build/features/business/screens/BusinessType/BusinessType.js +35 -11
  165. package/build/features/business/screens/BusinessType/EntityLicenseList.d.ts +9 -0
  166. package/build/features/business/screens/BusinessType/EntityLicenseList.js +129 -0
  167. package/build/features/business/screens/BusinessType/EntityName.js +6 -7
  168. package/build/features/business/screens/BusinessType/LicenseCertificate.js +2 -1
  169. package/build/features/business/screens/BusinessType/LicenseList.d.ts +1 -0
  170. package/build/features/business/screens/BusinessType/LicenseList.js +7 -22
  171. package/build/features/business/screens/BusinessType/LicenseNumber.d.ts +1 -2
  172. package/build/features/business/screens/BusinessType/LicenseNumber.js +4 -2
  173. package/build/features/business/screens/BusinessType/LicenseType.d.ts +3 -3
  174. package/build/features/business/screens/CivilID/IDNumber.js +2 -3
  175. package/build/features/business/screens/Customers/CustomerLocations.d.ts +47 -40
  176. package/build/features/business/screens/Customers/CustomerLocations.js +35 -19
  177. package/build/features/business/screens/Customers/Customers.js +27 -16
  178. package/build/features/business/screens/Customers/ExpectedCustomers.js +12 -4
  179. package/build/features/business/screens/Customers/ExpectedSalesRange.js +14 -6
  180. package/build/features/business/screens/Customers/RefundPolicy.d.ts +7 -7
  181. package/build/features/business/screens/Customers/RefundPolicy.js +15 -4
  182. package/build/features/business/screens/Customers/TransactionPolicy.js +19 -9
  183. package/build/features/business/screens/IDBOD/DOB.js +2 -2
  184. package/build/features/business/screens/IDBOD/ID.js +2 -3
  185. package/build/features/business/screens/ResetPasswordSuccess/ResetPasswordSuccess.js +8 -3
  186. package/build/features/business/screens/Verify/OTPInput.js +5 -3
  187. package/build/features/connect/Connect.js +28 -8
  188. package/build/features/connect/screens/BrandSegment/BrandSegment.d.ts +5 -0
  189. package/build/features/connect/screens/BrandSegment/BrandSegment.js +84 -0
  190. package/build/features/connect/screens/BrandSegment/SegmentLocations.d.ts +8 -0
  191. package/build/features/connect/screens/{Merchant/Segments.js → BrandSegment/SegmentLocations.js} +17 -25
  192. package/build/features/connect/screens/BrandSegment/SegmentProfits.d.ts +8 -0
  193. package/build/features/{brand/screens/BrandInfo/Segments.js → connect/screens/BrandSegment/SegmentProfits.js} +18 -26
  194. package/build/features/connect/screens/BrandSegment/SegmentTechs.d.ts +8 -0
  195. package/build/features/connect/screens/BrandSegment/SegmentTechs.js +66 -0
  196. package/build/features/connect/screens/{Merchant → BrandSegment}/TeamSize.js +12 -20
  197. package/build/features/connect/screens/BrandSegment/index.d.ts +3 -0
  198. package/build/features/connect/screens/BrandSegment/index.js +2 -0
  199. package/build/features/connect/screens/BrandSegment/validation.d.ts +17 -0
  200. package/build/features/connect/screens/BrandSegment/validation.js +9 -0
  201. package/build/features/connect/screens/CivilID/CivilID.js +5 -13
  202. package/build/features/connect/screens/CivilID/IDNumber.js +5 -6
  203. package/build/features/connect/screens/Individual/Email.js +18 -28
  204. package/build/features/connect/screens/Individual/Individual.js +8 -1
  205. package/build/features/connect/screens/Individual/MobileNumber.js +16 -15
  206. package/build/features/connect/screens/Individual/Name.js +11 -15
  207. package/build/features/connect/screens/Merchant/BrandList.js +4 -22
  208. package/build/features/connect/screens/Merchant/BrandName.js +5 -8
  209. package/build/features/connect/screens/Merchant/Merchant.js +13 -15
  210. package/build/features/connect/screens/Merchant/validation.d.ts +3 -6
  211. package/build/features/connect/screens/Merchant/validation.js +6 -9
  212. package/build/features/connect/screens/Mobile/Mobile.js +13 -16
  213. package/build/features/connect/screens/Mobile/MobileNumber.js +14 -10
  214. package/build/features/connect/screens/NID/DOB.js +1 -1
  215. package/build/features/connect/screens/NID/IDNumber.js +6 -7
  216. package/build/features/connect/screens/NID/NID.js +6 -0
  217. package/build/features/connect/screens/OTP/OTP.js +13 -15
  218. package/build/features/connect/screens/OTP/OTPInput.js +10 -0
  219. package/build/features/connect/screens/ThankYou/ThankYou.js +17 -2
  220. package/build/features/connectExpress/ConnectExpress.d.ts +1 -0
  221. package/build/features/connectExpress/ConnectExpress.js +78 -13
  222. package/build/features/connectExpress/screens/Brand/Brand.js +1 -1
  223. package/build/features/connectExpress/screens/CivilID/IDNumber.js +6 -7
  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 +6 -8
  227. package/build/features/connectExpress/screens/CollectBusinessInfo/CollectBusinessInfo.js +7 -4
  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 +1 -1
  232. package/build/features/connectExpress/screens/CollectBusinessInfo/LicenseType.d.ts +5 -4
  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/CollectIndividualInfo/CollectIndividualInfo.js +11 -6
  237. package/build/features/connectExpress/screens/CollectIndividualInfo/Email.d.ts +2 -1
  238. package/build/features/connectExpress/screens/CollectIndividualInfo/Email.js +7 -15
  239. package/build/features/connectExpress/screens/CollectIndividualInfo/MobileNumber.d.ts +1 -0
  240. package/build/features/connectExpress/screens/CollectIndividualInfo/MobileNumber.js +6 -2
  241. package/build/features/connectExpress/screens/CollectIndividualInfo/Name.d.ts +2 -1
  242. package/build/features/connectExpress/screens/CollectIndividualInfo/Name.js +3 -4
  243. package/build/features/connectExpress/screens/IdentityOTP/OTPInput.js +2 -2
  244. package/build/features/connectExpress/screens/Mobile/Mobile.js +4 -3
  245. package/build/features/connectExpress/screens/Mobile/MobileNumber.d.ts +1 -0
  246. package/build/features/connectExpress/screens/Mobile/MobileNumber.js +6 -2
  247. package/build/features/connectExpress/screens/Mobile/TAC.d.ts +2 -1
  248. package/build/features/connectExpress/screens/Mobile/TAC.js +3 -1
  249. package/build/features/connectExpress/screens/NID/DOB.d.ts +2 -1
  250. package/build/features/connectExpress/screens/NID/DOB.js +2 -2
  251. package/build/features/connectExpress/screens/NID/IDNumber.d.ts +1 -0
  252. package/build/features/connectExpress/screens/NID/IDNumber.js +3 -4
  253. package/build/features/connectExpress/screens/NID/NID.js +4 -2
  254. package/build/features/connectExpress/screens/NID/TAC.d.ts +14 -1
  255. package/build/features/connectExpress/screens/NID/TAC.js +9 -10
  256. package/build/features/connectExpress/screens/NIDMissed/DOB.js +1 -1
  257. package/build/features/connectExpress/screens/NIDMissed/IDNumber.js +2 -3
  258. package/build/features/connectExpress/screens/OTP/OTPInput.js +3 -3
  259. package/build/features/entity/Entity.js +10 -6
  260. package/build/features/entity/screens/EntityCapital/ActivityList.d.ts +17 -70
  261. package/build/features/entity/screens/EntityCapital/ActivityList.js +219 -108
  262. package/build/features/entity/screens/EntityCapital/CapitalPaid.d.ts +3 -1
  263. package/build/features/entity/screens/EntityCapital/CapitalPaid.js +14 -16
  264. package/build/features/entity/screens/EntityCapital/CapitalShareCount.d.ts +3 -1
  265. package/build/features/entity/screens/EntityCapital/CapitalShareCount.js +10 -12
  266. package/build/features/entity/screens/EntityCapital/CapitalShareValue.d.ts +3 -1
  267. package/build/features/entity/screens/EntityCapital/CapitalShareValue.js +15 -17
  268. package/build/features/entity/screens/EntityCapital/EntityCapital.js +31 -20
  269. package/build/features/entity/screens/EntityCapital/validation.d.ts +175 -40
  270. package/build/features/entity/screens/EntityCapital/validation.js +9 -12
  271. package/build/features/entity/screens/EntityName/Article.d.ts +6 -2
  272. package/build/features/entity/screens/EntityName/Article.js +20 -54
  273. package/build/features/entity/screens/EntityName/EntityName.js +60 -16
  274. package/build/features/entity/screens/EntityName/EntityTypeList.d.ts +13 -30
  275. package/build/features/entity/screens/EntityName/EntityTypeList.js +28 -45
  276. package/build/features/entity/screens/EntityName/ExpiryDate.d.ts +6 -4
  277. package/build/features/entity/screens/EntityName/ExpiryDate.js +6 -8
  278. package/build/features/entity/screens/EntityName/IssuingDate.d.ts +6 -4
  279. package/build/features/entity/screens/EntityName/IssuingDate.js +5 -8
  280. package/build/features/entity/screens/EntityName/LegalName.d.ts +3 -1
  281. package/build/features/entity/screens/EntityName/LegalName.js +10 -9
  282. package/build/features/entity/screens/EntityName/LicenseCertificate.d.ts +4 -1
  283. package/build/features/entity/screens/EntityName/LicenseCertificate.js +13 -7
  284. package/build/features/entity/screens/EntityName/LicenseNumber.d.ts +3 -1
  285. package/build/features/entity/screens/EntityName/LicenseNumber.js +13 -11
  286. package/build/features/entity/screens/EntityName/UnifiedNumber.d.ts +3 -1
  287. package/build/features/entity/screens/EntityName/UnifiedNumber.js +11 -10
  288. package/build/features/entity/screens/EntityName/validation.d.ts +35 -35
  289. package/build/features/entity/screens/EntityName/validation.js +68 -93
  290. package/build/features/entity/screens/ResetPasswordSuccess/ResetPasswordSuccess.js +9 -4
  291. package/build/features/entity/screens/Verify/OTPInput.js +5 -3
  292. package/build/features/entity/screens/Verify/Verify.js +7 -20
  293. package/build/features/featuresScreens.js +13 -1
  294. package/build/features/individual/Individual.js +10 -6
  295. package/build/features/individual/screens/AdditionalIndividualInfo/AdditionalIndividualInfo.d.ts +3 -3
  296. package/build/features/individual/screens/AdditionalIndividualInfo/AdditionalIndividualInfo.js +54 -23
  297. package/build/features/individual/screens/AdditionalIndividualInfo/CivilIDFile.d.ts +7 -1
  298. package/build/features/individual/screens/AdditionalIndividualInfo/CivilIDFile.js +29 -10
  299. package/build/features/individual/screens/AdditionalIndividualInfo/InfluencerSwitch.d.ts +3 -1
  300. package/build/features/individual/screens/AdditionalIndividualInfo/InfluencerSwitch.js +18 -15
  301. package/build/features/individual/screens/AdditionalIndividualInfo/MonthlyIncome.d.ts +2 -1
  302. package/build/features/individual/screens/AdditionalIndividualInfo/MonthlyIncome.js +30 -42
  303. package/build/features/individual/screens/AdditionalIndividualInfo/Occupation.d.ts +3 -3
  304. package/build/features/individual/screens/AdditionalIndividualInfo/Occupation.js +94 -56
  305. package/build/features/individual/screens/AdditionalIndividualInfo/PEPSwitch.d.ts +5 -3
  306. package/build/features/individual/screens/AdditionalIndividualInfo/PEPSwitch.js +18 -15
  307. package/build/features/individual/screens/AdditionalIndividualInfo/ShareCount.d.ts +2 -1
  308. package/build/features/individual/screens/AdditionalIndividualInfo/ShareCount.js +9 -2
  309. package/build/features/individual/screens/AdditionalIndividualInfo/ShareValue.d.ts +2 -1
  310. package/build/features/individual/screens/AdditionalIndividualInfo/ShareValue.js +13 -7
  311. package/build/features/individual/screens/AdditionalIndividualInfo/SignatureFile.d.ts +4 -1
  312. package/build/features/individual/screens/AdditionalIndividualInfo/SignatureFile.js +14 -8
  313. package/build/features/individual/screens/AdditionalIndividualInfo/SourceOfIncome.d.ts +2 -1
  314. package/build/features/individual/screens/AdditionalIndividualInfo/SourceOfIncome.js +32 -43
  315. package/build/features/individual/screens/AdditionalIndividualInfo/validation.d.ts +8 -8
  316. package/build/features/individual/screens/AdditionalIndividualInfo/validation.js +7 -11
  317. package/build/features/individual/screens/IndividualList/CollectPhoneEmail.js +1 -1
  318. package/build/features/individual/screens/IndividualList/Email.js +1 -1
  319. package/build/features/individual/screens/IndividualList/IndividualList.d.ts +6 -6
  320. package/build/features/individual/screens/IndividualList/MobileNumber.js +0 -1
  321. package/build/features/individual/screens/IndividualList/UserList.js +15 -6
  322. package/build/features/individual/screens/IndividualPersonalInfo/BirthCity.d.ts +2 -0
  323. package/build/features/individual/screens/IndividualPersonalInfo/BirthCity.js +14 -20
  324. package/build/features/individual/screens/IndividualPersonalInfo/BirthCountry.d.ts +2 -0
  325. package/build/features/individual/screens/IndividualPersonalInfo/BirthCountry.js +8 -14
  326. package/build/features/individual/screens/IndividualPersonalInfo/DOB.d.ts +3 -1
  327. package/build/features/individual/screens/IndividualPersonalInfo/DOB.js +3 -3
  328. package/build/features/individual/screens/IndividualPersonalInfo/Email.d.ts +3 -1
  329. package/build/features/individual/screens/IndividualPersonalInfo/Email.js +4 -12
  330. package/build/features/individual/screens/IndividualPersonalInfo/ExpiryDate.d.ts +3 -1
  331. package/build/features/individual/screens/IndividualPersonalInfo/ExpiryDate.js +5 -8
  332. package/build/features/individual/screens/IndividualPersonalInfo/Gender.d.ts +6 -4
  333. package/build/features/individual/screens/IndividualPersonalInfo/Gender.js +5 -2
  334. package/build/features/individual/screens/IndividualPersonalInfo/ID.d.ts +3 -1
  335. package/build/features/individual/screens/IndividualPersonalInfo/ID.js +4 -12
  336. package/build/features/individual/screens/IndividualPersonalInfo/IndividualPersonalInfo.d.ts +3 -3
  337. package/build/features/individual/screens/IndividualPersonalInfo/IndividualPersonalInfo.js +79 -36
  338. package/build/features/individual/screens/IndividualPersonalInfo/IssuedCountry.d.ts +2 -0
  339. package/build/features/individual/screens/IndividualPersonalInfo/IssuedCountry.js +14 -26
  340. package/build/features/individual/screens/IndividualPersonalInfo/MobileNumber.d.ts +2 -0
  341. package/build/features/individual/screens/IndividualPersonalInfo/MobileNumber.js +18 -21
  342. package/build/features/individual/screens/IndividualPersonalInfo/Name.d.ts +3 -1
  343. package/build/features/individual/screens/IndividualPersonalInfo/Name.js +4 -12
  344. package/build/features/individual/screens/IndividualPersonalInfo/Nationality.d.ts +2 -0
  345. package/build/features/individual/screens/IndividualPersonalInfo/Nationality.js +14 -26
  346. package/build/features/individual/screens/IndividualPhoneInfo/MobileNumber.d.ts +1 -0
  347. package/build/features/individual/screens/IndividualPhoneInfo/MobileNumber.js +6 -3
  348. package/build/features/individual/screens/IndividualPhoneInfo/PhoneInfo.js +6 -3
  349. package/build/features/individual/screens/ResetPasswordSuccess/ResetPasswordSuccess.js +8 -3
  350. package/build/features/individual/screens/Verify/OTPInput.js +5 -3
  351. package/build/features/individual/screens/Verify/Verify.js +1 -5
  352. package/build/features/password/Password.js +7 -5
  353. package/build/features/password/screens/CreatePassword/CreatePassword.js +9 -16
  354. package/build/features/password/screens/ResetPasswordSuccess/ResetPasswordSuccess.js +8 -3
  355. package/build/features/password/screens/Verify/OTPInput.js +5 -3
  356. package/build/features/password/screens/Verify/Verify.js +7 -20
  357. package/build/features/shared/Address/CountryList.d.ts +10 -10
  358. package/build/features/shared/Address/CountryList.js +1 -1
  359. package/build/features/shared/Address/InputSelect.d.ts +10 -10
  360. package/build/features/shared/Address/InputSelect.js +2 -2
  361. package/build/features/shared/Button/Button.d.ts +3 -1
  362. package/build/features/shared/Button/Button.js +3 -3
  363. package/build/features/shared/Button/EmailProvidersButtons.d.ts +1 -1
  364. package/build/features/shared/Button/EmailProvidersButtons.js +9 -2
  365. package/build/features/shared/Button/FlowsButtons.d.ts +1 -1
  366. package/build/features/shared/Button/FlowsButtons.js +23 -21
  367. package/build/features/shared/Button/IndividualActionButtons.d.ts +21 -0
  368. package/build/features/shared/Button/IndividualActionButtons.js +156 -0
  369. package/build/features/shared/Button/index.d.ts +1 -1
  370. package/build/features/shared/Button/index.js +1 -1
  371. package/build/features/shared/CheckIcon/CheckIcon.d.ts +7 -1
  372. package/build/features/shared/CheckIcon/CheckIcon.js +7 -6
  373. package/build/features/shared/Chip/Chip.d.ts +3 -0
  374. package/build/features/shared/Chip/Chip.js +21 -0
  375. package/build/features/shared/Chip/index.d.ts +2 -0
  376. package/build/features/shared/Chip/index.js +2 -0
  377. package/build/features/shared/Containers/FeatureContainer.d.ts +4 -1
  378. package/build/features/shared/Containers/FeatureContainer.js +5 -4
  379. package/build/features/shared/Containers/ScreenContainer.d.ts +1 -1
  380. package/build/features/shared/Dot/Dot.d.ts +8 -0
  381. package/build/features/shared/Dot/Dot.js +29 -0
  382. package/build/features/shared/Dot/index.d.ts +2 -0
  383. package/build/features/shared/Dot/index.js +2 -0
  384. package/build/features/shared/EndAdornment/EndAdornment.d.ts +10 -0
  385. package/build/features/shared/EndAdornment/EndAdornment.js +17 -0
  386. package/build/features/shared/EndAdornment/EndAdornmentExpanded.d.ts +7 -0
  387. package/build/features/shared/EndAdornment/EndAdornmentExpanded.js +13 -0
  388. package/build/features/shared/EndAdornment/index.d.ts +3 -0
  389. package/build/features/shared/EndAdornment/index.js +3 -0
  390. package/build/features/shared/Footer/Footer.js +8 -0
  391. package/build/features/shared/Footer/PoweredByFooter.d.ts +9 -0
  392. package/build/features/shared/Footer/PoweredByFooter.js +36 -0
  393. package/build/features/shared/Footer/index.d.ts +3 -2
  394. package/build/features/shared/Footer/index.js +3 -2
  395. package/build/features/shared/GenericError/GenericError.js +1 -1
  396. package/build/features/shared/Input/Input.d.ts +6 -7
  397. package/build/features/shared/Input/Input.js +2 -3
  398. package/build/features/shared/Input/index.d.ts +2 -1
  399. package/build/features/shared/InputSelect/InputSelect.d.ts +4 -0
  400. package/build/features/shared/InputSelect/InputSelect.js +33 -0
  401. package/build/features/shared/InputSelect/index.d.ts +2 -0
  402. package/build/features/shared/InputSelect/index.js +2 -0
  403. package/build/features/shared/OTP/OTP.d.ts +2 -1
  404. package/build/features/shared/OTP/OTP.js +2 -2
  405. package/build/features/shared/SalesChannels/SaleChannelIconsInput.d.ts +3 -1
  406. package/build/features/shared/SalesChannels/SaleChannelIconsInput.js +8 -6
  407. package/build/features/shared/SalesChannels/SalesChannel.d.ts +3 -1
  408. package/build/features/shared/SalesChannels/SalesChannel.js +9 -4
  409. package/build/features/shared/Search/Search.d.ts +2 -1
  410. package/build/features/shared/Search/Search.js +2 -2
  411. package/build/features/shared/SuccessFlowButtons/SuccessFlowButtons.js +14 -5
  412. package/build/features/shared/SuccessScreen/SuccessScreen.d.ts +3 -1
  413. package/build/features/shared/SuccessScreen/SuccessScreen.js +3 -2
  414. package/build/features/shared/UploadFile/FileUpload.d.ts +32 -0
  415. package/build/features/shared/UploadFile/FileUpload.js +267 -0
  416. package/build/features/shared/UploadFile/UploadFile.d.ts +2 -2
  417. package/build/features/shared/UploadFile/UploadFile.js +7 -7
  418. package/build/features/shared/UploadFile/UploadWrapper.d.ts +36 -0
  419. package/build/features/shared/UploadFile/UploadWrapper.js +115 -0
  420. package/build/features/shared/UploadFile/index.d.ts +2 -1
  421. package/build/features/shared/UploadFile/index.js +2 -1
  422. package/build/features/shared/UploadMultipleFile/UploadFile.d.ts +11 -20
  423. package/build/features/shared/UploadMultipleFile/UploadFile.js +119 -30
  424. package/build/features/shared/UploadMultipleFile/UploadMultipleFile.d.ts +8 -4
  425. package/build/features/shared/UploadMultipleFile/UploadMultipleFile.js +28 -21
  426. package/build/features/signIn/SignIn.js +3 -4
  427. package/build/features/tax/Tax.js +10 -6
  428. package/build/features/tax/screens/ResetPasswordSuccess/ResetPasswordSuccess.js +9 -4
  429. package/build/features/tax/screens/TaxDetails/ConfirmPolicy.d.ts +4 -1
  430. package/build/features/tax/screens/TaxDetails/ConfirmPolicy.js +12 -12
  431. package/build/features/tax/screens/TaxDetails/TaxDetails.js +23 -10
  432. package/build/features/tax/screens/TaxDetails/TaxDocument.d.ts +4 -1
  433. package/build/features/tax/screens/TaxDetails/TaxDocument.js +7 -5
  434. package/build/features/tax/screens/TaxDetails/VATId.d.ts +5 -1
  435. package/build/features/tax/screens/TaxDetails/VATId.js +5 -10
  436. package/build/features/tax/screens/TaxDetails/validation.d.ts +4 -4
  437. package/build/features/tax/screens/TaxDetails/validation.js +2 -5
  438. package/build/features/tax/screens/Verify/OTPInput.js +5 -3
  439. package/build/features/tax/screens/Verify/Verify.js +6 -22
  440. package/build/hooks/index.d.ts +5 -0
  441. package/build/hooks/index.js +5 -0
  442. package/build/hooks/useAppConfig.d.ts +4 -2
  443. package/build/hooks/useAppConfig.js +10 -5
  444. package/build/hooks/useDataNoneEditable.d.ts +2 -0
  445. package/build/hooks/useDataNoneEditable.js +19 -0
  446. package/build/hooks/useDataVerified.d.ts +6 -0
  447. package/build/hooks/useDataVerified.js +19 -0
  448. package/build/hooks/useErrorListener.d.ts +2 -1
  449. package/build/hooks/useErrorListener.js +16 -1
  450. package/build/hooks/useExcludeReadOnlyFelids.d.ts +11 -0
  451. package/build/hooks/useExcludeReadOnlyFelids.js +33 -0
  452. package/build/hooks/useFormErrorAndUpdateReadOnly.d.ts +6 -0
  453. package/build/hooks/useFormErrorAndUpdateReadOnly.js +48 -0
  454. package/build/hooks/useFormReadOnly.d.ts +6 -0
  455. package/build/hooks/useFormReadOnly.js +40 -0
  456. package/build/hooks/useVerifyToken.js +1 -1
  457. package/build/index.d.ts +2 -2
  458. package/build/index.js +4 -3
  459. package/build/theme/shadows.js +1 -1
  460. package/build/utils/array.d.ts +17 -3
  461. package/build/utils/array.js +220 -6
  462. package/build/utils/date.d.ts +1 -0
  463. package/build/utils/date.js +6 -0
  464. package/build/utils/error.d.ts +1 -0
  465. package/build/utils/error.js +3 -0
  466. package/build/utils/gtm.d.ts +6 -0
  467. package/build/utils/gtm.js +29 -0
  468. package/build/utils/index.d.ts +1 -0
  469. package/build/utils/index.js +1 -0
  470. package/build/utils/object.d.ts +4 -0
  471. package/build/utils/object.js +17 -0
  472. package/build/utils/string.d.ts +5 -2
  473. package/build/utils/string.js +28 -7
  474. package/package.json +4 -2
  475. package/build/features/brand/screens/BrandActivities/OperationStartDate.js +0 -45
  476. package/build/features/brand/screens/BrandInfo/Segments.d.ts +0 -8
  477. package/build/features/connect/screens/Merchant/Segments.d.ts +0 -8
  478. package/build/features/shared/Button/ListButton.d.ts +0 -18
  479. package/build/features/shared/Button/ListButton.js +0 -125
  480. /package/build/features/{brand/screens/BrandInfo → connect/screens/BrandSegment}/TeamSize.d.ts +0 -0
@@ -16,12 +16,13 @@ import { useForm, FormProvider } from 'react-hook-form';
16
16
  import { yupResolver } from '@hookform/resolvers/yup';
17
17
  import { styled } from '@mui/material/styles';
18
18
  import Form from '../../../../components/Form';
19
- import { useAppDispatch, useLanguage, useAppSelector, useSetFromDefaultValues } from '../../../../hooks';
20
- import { handleCurrentActiveScreen, settingsSelector } from '../../../../app/settings';
21
- import { isSA } from '../../../../utils';
19
+ import { useAppDispatch, useLanguage, useAppSelector, useSetFromDefaultValues, useFormReadOnly, useDataNoneEditable, useFormErrorAndUpdateReadOnly, useExcludeReadOnlyFelids, useDataVerified } from '../../../../hooks';
20
+ import { handlePrevScreenStep, settingsSelector } from '../../../../app/settings';
21
+ import { DocumentPurpose } from '../../../../@types';
22
+ import { getFileDetailsFromDocument, isSA } from '../../../../utils';
22
23
  import { ScreenContainer } from '../../../shared/Containers';
23
24
  import Button from '../../../shared/Button';
24
- import { taxSelector, updateTaxInfo } from '../../../app/tax/taxStore';
25
+ import { retrieveBoardStatus, taxSelector, updateTaxInfo } from '../../../app/tax/taxStore';
25
26
  import { Validation } from './validation';
26
27
  import VATId from './VATId';
27
28
  import ConfirmPolicy from './ConfirmPolicy';
@@ -35,11 +36,12 @@ var FormStyled = styled(Form)(function () { return ({
35
36
  var TaxDetails = function () {
36
37
  var dispatch = useAppDispatch();
37
38
  var _a = useAppSelector(taxSelector), data = _a.data, loading = _a.loading, error = _a.error, uploading = _a.uploading;
38
- var entity = (data.verify.responseBody || {}).entity;
39
+ var _b = data.verify.responseBody || {}, entity = _b.entity, flows = _b.flows;
40
+ var _c = entity || {}, documents = _c.documents, data_status = _c.data_status, data_verification = _c.data_verification, vat_id = _c.vat_id;
39
41
  var settingsData = useAppSelector(settingsSelector).data;
40
- var _b = data.taxData, vatId = _b.vatId, confirmPolicy = _b.confirmPolicy, documentId = _b.documentId;
42
+ var _d = data.taxData, vatId = _d.vatId, confirmPolicy = _d.confirmPolicy, documentId = _d.documentId;
41
43
  var methods = useForm({
42
- resolver: yupResolver(Validation(entity)),
44
+ resolver: yupResolver(Validation()),
43
45
  defaultValues: {
44
46
  vatId: vatId,
45
47
  confirmPolicy: confirmPolicy,
@@ -48,15 +50,26 @@ var TaxDetails = function () {
48
50
  mode: 'onChange'
49
51
  });
50
52
  useSetFromDefaultValues(methods, data.taxData);
53
+ var defaultTaxFiles = React.useMemo(function () { return getFileDetailsFromDocument(documents, DocumentPurpose.TAX_DOCUMENT); }, [documents]);
54
+ var originalReadOnly = useFormReadOnly(methods, { documentId: defaultTaxFiles });
55
+ var noneEditable = useDataNoneEditable(data_status, ['tax_number', 'documents', 'is_vat_acknowledged']);
56
+ var readOnly = useFormErrorAndUpdateReadOnly(methods, originalReadOnly, noneEditable);
57
+ var dataVerified = useDataVerified(data_verification, ['tax_number']);
58
+ var getFelids = useExcludeReadOnlyFelids(methods, readOnly).getFelids;
59
+ var isVatIdVerified = dataVerified['tax_number'] && vat_id === methods.watch('vatId');
51
60
  var t = useTranslation().t;
52
61
  var isAr = useLanguage().isAr;
53
62
  var isSACountry = React.useMemo(function () { return isSA(settingsData.businessCountry.iso2); }, [settingsData.businessCountry.iso2]);
54
63
  var onSubmit = function (data) {
55
- dispatch(updateTaxInfo(data));
64
+ dispatch(updateTaxInfo(getFelids(data)));
56
65
  };
57
66
  var onBack = function () {
58
- dispatch(handleCurrentActiveScreen('TAX_SUCCESS_FOUR_FLOWS_BUTTONS_STEP'));
67
+ if ((flows === null || flows === void 0 ? void 0 : flows.length) > 0) {
68
+ dispatch(handlePrevScreenStep());
69
+ return;
70
+ }
71
+ dispatch(retrieveBoardStatus());
59
72
  };
60
- return (_jsx(ScreenContainer, { children: _jsx(FormProvider, __assign({}, methods, { children: _jsxs(FormStyled, __assign({ onSubmit: methods.handleSubmit(onSubmit) }, { children: [_jsx(VATId, {}), _jsx(TaxDocument, { show: isSACountry }), _jsx(ConfirmPolicy, {}), _jsx(Button, __assign({ onBackClicked: function () { return onBack(); }, isAr: isAr, disableBack: true, disabled: !methods.formState.isValid || uploading, loading: loading, error: t(error || '') }, { children: t('next') }))] })) })) }));
73
+ return (_jsx(ScreenContainer, { children: _jsx(FormProvider, __assign({}, methods, { children: _jsxs(FormStyled, __assign({ onSubmit: methods.handleSubmit(onSubmit) }, { children: [_jsx(VATId, { readOnly: readOnly['vatId'] || noneEditable['tax_number'], isVerified: isVatIdVerified }), _jsx(TaxDocument, { show: isSACountry, defaultFiles: defaultTaxFiles, readOnly: readOnly['documentId'] || noneEditable['documents'] }), _jsx(ConfirmPolicy, { readOnly: readOnly['confirmPolicy'] || noneEditable['is_vat_acknowledged'] }), _jsx(Button, __assign({ onBackClicked: function () { return onBack(); }, isAr: isAr, disabled: !methods.formState.isValid || uploading, loading: loading, error: t(error || '') }, { children: t('next') }))] })) })) }));
61
74
  };
62
75
  export default TaxDetails;
@@ -1,6 +1,9 @@
1
1
  /// <reference types="react" />
2
+ import { FileDetails } from '../../../../@types';
2
3
  interface TaxDocumentProps {
3
4
  show: boolean;
5
+ readOnly?: boolean;
6
+ defaultFiles?: Array<FileDetails>;
4
7
  }
5
- declare const TaxDocument: ({ show }: TaxDocumentProps) => JSX.Element;
8
+ declare const TaxDocument: ({ show, readOnly, defaultFiles }: TaxDocumentProps) => JSX.Element;
6
9
  export default TaxDocument;
@@ -17,10 +17,11 @@ import { useAppDispatch, useAppSelector } from '../../../../hooks';
17
17
  import { DocumentPurpose } from '../../../../@types';
18
18
  import { styled } from '@mui/material/styles';
19
19
  import Collapse from '../../../../components/Collapse';
20
- import { getRecentDocumentFiles } from '../../../../utils';
20
+ import { FileType } from '../../../../constants';
21
21
  import { ScreenContainer } from '../../../shared/Containers';
22
22
  import { taxSelector, uploadingStatus } from '../../../app/tax/taxStore';
23
23
  import UploadMultipleFile from '../../../shared/UploadMultipleFile';
24
+ import { hasVerifiedValue } from '../../../../utils';
24
25
  var FeatureStyled = styled(ScreenContainer)(function (_a) {
25
26
  var theme = _a.theme;
26
27
  return ({
@@ -29,20 +30,21 @@ var FeatureStyled = styled(ScreenContainer)(function (_a) {
29
30
  });
30
31
  var TaxDocument = function (_a) {
31
32
  var _b;
32
- var show = _a.show;
33
+ var show = _a.show, readOnly = _a.readOnly, defaultFiles = _a.defaultFiles;
33
34
  var t = useTranslation().t;
34
35
  var control = useFormContext().control;
35
36
  var dispatch = useAppDispatch();
36
37
  var documentIdControl = useController({ name: 'documentId', control: control });
37
38
  var _c = useAppSelector(taxSelector), loading = _c.loading, data = _c.data;
38
- var documents = (((_b = data.verify.responseBody) === null || _b === void 0 ? void 0 : _b.entity) || {}).documents;
39
+ var data_verification = (((_b = data.verify.responseBody) === null || _b === void 0 ? void 0 : _b.entity) || {}).data_verification;
40
+ var uploadedIds = documentIdControl.field.value;
39
41
  var handleTaxDocumentChange = function (ids) {
40
42
  documentIdControl.field.onChange(ids);
41
43
  };
42
44
  var handleReset = function (ids) {
43
45
  documentIdControl.field.onChange(ids);
44
46
  };
45
- var defaultFiles = React.useMemo(function () { return getRecentDocumentFiles(documents, DocumentPurpose.TAX_DOCUMENT); }, [documents]);
46
- return (_jsx(Collapse, __assign({ in: show }, { children: _jsx(FeatureStyled, __assign({ sx: { mb: 2.5 } }, { children: _jsx(UploadMultipleFile, { id: 'documentId', control: control, label: t('title_tax_document'), title: t('drag_and_drop'), subTitle: t('subtitle_drop'), dragDescription: t('desc_drag_and_drop_tax_document'), uploadingTitle: t('file_uploading_title'), successTitle: t('success_upload_bank_statement'), onFileUploaded: handleTaxDocumentChange, isSubmitting: loading, onDeleteFile: handleReset, maxLimit: 4, defaultFiles: defaultFiles, purpose: DocumentPurpose.TAX_DOCUMENT, fileUploadingStatus: function (uploading) { return dispatch(uploadingStatus(uploading)); } }) })) })));
47
+ var isDocumentVerified = React.useMemo(function () { var _a; return !!((_a = defaultFiles === null || defaultFiles === void 0 ? void 0 : defaultFiles[0]) === null || _a === void 0 ? void 0 : _a.docId) && hasVerifiedValue(data_verification, "documents.".concat(defaultFiles[0].docId)); }, [data_verification]);
48
+ return (_jsx(Collapse, __assign({ in: show }, { children: _jsx(FeatureStyled, __assign({ sx: { mb: 2.5 } }, { children: _jsx(UploadMultipleFile, { readOnly: readOnly, id: 'documentId', control: control, label: t('title_tax_document'), title: t('drag_and_drop'), subTitle: t('subtitle_drop'), dragDescription: t('desc_drag_and_drop_tax_document'), uploadingTitle: t('file_uploading_title'), successTitle: t('success_upload_bank_statement'), onFileUploaded: handleTaxDocumentChange, isSubmitting: loading, onDeleteFile: handleReset, maxLimit: 4, defaultFiles: defaultFiles, purpose: DocumentPurpose.TAX_DOCUMENT, fileUploadingStatus: function (uploading) { return dispatch(uploadingStatus(uploading)); }, fileType: FileType.IMAGES, isVerified: !(uploadedIds === null || uploadedIds === void 0 ? void 0 : uploadedIds.length) && isDocumentVerified }) })) })));
47
49
  };
48
50
  export default TaxDocument;
@@ -1,3 +1,7 @@
1
1
  /// <reference types="react" />
2
- declare const VATId: () => JSX.Element;
2
+ type VATIdProps = {
3
+ readOnly?: boolean;
4
+ isVerified?: boolean;
5
+ };
6
+ declare const VATId: ({ readOnly, isVerified }: VATIdProps) => JSX.Element;
3
7
  export default VATId;
@@ -17,22 +17,17 @@ import { useTranslation } from 'react-i18next';
17
17
  import { useController, useFormContext } from 'react-hook-form';
18
18
  import { VAT_ID_LENGTH } from '../../../../constants';
19
19
  import { useAppSelector } from '../../../../hooks';
20
- import { FieldType } from '../../../../@types';
21
20
  import { isSA, removeAllCharsFromNumber } from '../../../../utils';
22
21
  import { settingsSelector } from '../../../../app/settings';
23
- import ClearIcon from '../../../shared/ClearIcon';
24
- import CheckIcon from '../../../shared/CheckIcon';
25
- import { taxSelector } from '../../../app/tax/taxStore';
26
- var VATId = function () {
27
- var _a, _b;
22
+ import { EndAdornment } from '../../../shared/EndAdornment';
23
+ var VATId = function (_a) {
24
+ var _b;
25
+ var readOnly = _a.readOnly, isVerified = _a.isVerified;
28
26
  var t = useTranslation().t;
29
27
  var control = useFormContext().control;
30
28
  var vatControl = useController({ name: 'vatId', control: control });
31
29
  var settingsData = useAppSelector(settingsSelector).data;
32
30
  var isSACountry = React.useMemo(function () { return isSA(settingsData.businessCountry.iso2); }, [settingsData.businessCountry.iso2]);
33
- var data = useAppSelector(taxSelector).data;
34
- var entity = (data.verify.responseBody || {}).entity;
35
- var disabled = ((_a = entity === null || entity === void 0 ? void 0 : entity.data_status) === null || _a === void 0 ? void 0 : _a.tax_number) === FieldType.NON_EDITABLE;
36
31
  var handleOnChange = function (vat) {
37
32
  var value = removeAllCharsFromNumber(vat);
38
33
  vatControl.field.onChange(value);
@@ -42,6 +37,6 @@ var VATId = function () {
42
37
  var clearValue = function () {
43
38
  vatControl.field.onChange('');
44
39
  };
45
- return (_jsx(Box, __assign({ sx: isSACountry ? {} : { height: '200px' } }, { children: _jsx(Input, { label: t('vat_id'), disabled: disabled, inputProps: { maxLength: VAT_ID_LENGTH }, value: vatValue, onChange: function (event) { return handleOnChange(event.target.value); }, placeholder: t('vat_id_placeholder'), warningType: 'alert', warningMessage: vatError && t(vatError), required: true, endAdornment: !vatError && vatValue ? _jsx(CheckIcon, {}) : vatValue && _jsx(ClearIcon, { onClick: clearValue }) }) })));
40
+ return (_jsx(Box, __assign({ sx: isSACountry ? {} : { height: '200px' } }, { children: _jsx(Input, { readOnly: readOnly, label: t('vat_id'), inputProps: { maxLength: VAT_ID_LENGTH }, value: vatValue || '', onChange: function (event) { return handleOnChange(event.target.value); }, placeholder: t('vat_id_placeholder'), warningType: 'alert', warningMessage: vatError && t(vatError), required: true, endAdornment: _jsx(EndAdornment, { value: vatValue, isVerified: isVerified, error: vatError, onClear: clearValue }) }) })));
46
41
  };
47
42
  export default VATId;
@@ -1,14 +1,14 @@
1
1
  import * as yup from 'yup';
2
- export declare const Validation: (entity: any) => yup.ObjectSchema<import("yup/lib/object").Assign<import("yup/lib/object").ObjectShape, {
3
- vatId: yup.StringSchema<string | undefined, import("yup/lib/types").AnyObject, string | undefined>;
2
+ export declare const Validation: () => yup.ObjectSchema<import("yup/lib/object").Assign<import("yup/lib/object").ObjectShape, {
3
+ vatId: import("yup/lib/string").RequiredStringSchema<string | undefined, import("yup/lib/types").AnyObject>;
4
4
  confirmPolicy: yup.BooleanSchema<boolean | undefined, import("yup/lib/types").AnyObject, true>;
5
5
  documentId: yup.ArraySchema<yup.AnySchema<any, any, any>, import("yup/lib/types").AnyObject, any[] | undefined, any[] | undefined>;
6
6
  }>, import("yup/lib/object").AnyObject, import("yup/lib/object").TypeOfShape<import("yup/lib/object").Assign<import("yup/lib/object").ObjectShape, {
7
- vatId: yup.StringSchema<string | undefined, import("yup/lib/types").AnyObject, string | undefined>;
7
+ vatId: import("yup/lib/string").RequiredStringSchema<string | undefined, import("yup/lib/types").AnyObject>;
8
8
  confirmPolicy: yup.BooleanSchema<boolean | undefined, import("yup/lib/types").AnyObject, true>;
9
9
  documentId: yup.ArraySchema<yup.AnySchema<any, any, any>, import("yup/lib/types").AnyObject, any[] | undefined, any[] | undefined>;
10
10
  }>>, import("yup/lib/object").AssertsShape<import("yup/lib/object").Assign<import("yup/lib/object").ObjectShape, {
11
- vatId: yup.StringSchema<string | undefined, import("yup/lib/types").AnyObject, string | undefined>;
11
+ vatId: import("yup/lib/string").RequiredStringSchema<string | undefined, import("yup/lib/types").AnyObject>;
12
12
  confirmPolicy: yup.BooleanSchema<boolean | undefined, import("yup/lib/types").AnyObject, true>;
13
13
  documentId: yup.ArraySchema<yup.AnySchema<any, any, any>, import("yup/lib/types").AnyObject, any[] | undefined, any[] | undefined>;
14
14
  }>>>;
@@ -1,10 +1,7 @@
1
1
  import * as yup from 'yup';
2
- import { FieldType } from '../../../../@types';
3
- export var Validation = function (entity) {
4
- var _a = entity || {}, vat_id = _a.vat_id, data_status = _a.data_status;
5
- var isTaxNumberOptional = !vat_id && (data_status === null || data_status === void 0 ? void 0 : data_status.tax_number) === FieldType.NON_EDITABLE;
2
+ export var Validation = function () {
6
3
  return yup.object().shape({
7
- vatId: isTaxNumberOptional ? yup.string().optional() : yup.string().min(9, 'alert_vat').max(15, 'alert_vat').required('alert_vat'),
4
+ vatId: yup.string().min(9, 'alert_vat').max(15, 'alert_vat').required('alert_vat'),
8
5
  confirmPolicy: yup.boolean().required('alert_tax_confirm').isTrue('alert_tax_confirm'),
9
6
  documentId: yup.array().optional()
10
7
  });
@@ -11,14 +11,15 @@ var __assign = (this && this.__assign) || function () {
11
11
  };
12
12
  import { jsx as _jsx } from "react/jsx-runtime";
13
13
  import * as React from 'react';
14
- import { useAppDispatch } from '../../../../hooks';
14
+ import { useAppDispatch, useAppSelector } from '../../../../hooks';
15
15
  import Box from '@mui/material/Box/Box';
16
16
  import { styled } from '@mui/material/styles';
17
17
  import OTPField from '../../../shared/OTP';
18
18
  import { useController, useFormContext } from 'react-hook-form';
19
19
  import { useTranslation } from 'react-i18next';
20
20
  import { DEFAULT_TIMER_VALUE } from '../../../../constants';
21
- import { resendOTP } from '../../../app/tax/taxStore';
21
+ import { isTokenExpired } from '../../../../utils';
22
+ import { resendOTP, taxSelector } from '../../../app/tax/taxStore';
22
23
  var BoxStyled = styled(Box)(function (_a) {
23
24
  var theme = _a.theme;
24
25
  return ({
@@ -33,6 +34,7 @@ var OTPInput = function (_a) {
33
34
  var t = useTranslation().t;
34
35
  var otpControl = useController({ name: 'otp', control: control });
35
36
  var dispatch = useAppDispatch();
37
+ var error = useAppSelector(taxSelector).error;
36
38
  var handleOnOTPChange = function (otp) {
37
39
  otpControl.field.onChange(otp);
38
40
  };
@@ -42,6 +44,6 @@ var OTPInput = function (_a) {
42
44
  dispatch(resendOTP());
43
45
  };
44
46
  var otpValue = otpControl.field.value;
45
- return (_jsx(BoxStyled, __assign({ dir: 'ltr' }, { children: _jsx(OTPField, { loading: loading, timeEndLabel: t('ide_otp_resend_label'), timerInSeconds: DEFAULT_TIMER_VALUE, onResetClick: handleOnResendOTP, value: otpValue, onChange: function (number) { return handleOnOTPChange(number.toString()); } }) })));
47
+ return (_jsx(BoxStyled, __assign({ dir: 'ltr' }, { children: _jsx(OTPField, { loading: loading, timeEndLabel: t('ide_otp_resend_label'), timerInSeconds: DEFAULT_TIMER_VALUE, onResetClick: handleOnResendOTP, value: otpValue, hasError: isTokenExpired(error), onChange: function (number) { return handleOnOTPChange(number.toString()); } }) })));
46
48
  };
47
49
  export default React.memo(OTPInput);
@@ -9,17 +9,6 @@ var __assign = (this && this.__assign) || function () {
9
9
  };
10
10
  return __assign.apply(this, arguments);
11
11
  };
12
- var __rest = (this && this.__rest) || function (s, e) {
13
- var t = {};
14
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
- t[p] = s[p];
16
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
- t[p[i]] = s[p[i]];
20
- }
21
- return t;
22
- };
23
12
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
24
13
  import * as React from 'react';
25
14
  import { useAppDispatch, useSetFromDefaultValues } from '../../../../hooks';
@@ -28,7 +17,6 @@ import { useForm, FormProvider } from 'react-hook-form';
28
17
  import { yupResolver } from '@hookform/resolvers/yup';
29
18
  import Box from '@mui/material/Box/Box';
30
19
  import { styled } from '@mui/material/styles';
31
- import { handlePrevScreenStep } from '../../../../app/settings';
32
20
  import { useLanguage, useAppSelector } from '../../../../hooks';
33
21
  import { maskPhone } from '../../../../utils';
34
22
  import Form from '../../../../components/Form';
@@ -58,20 +46,19 @@ var FormStyled = styled(Form)(function () { return ({
58
46
  flexDirection: 'column'
59
47
  }); });
60
48
  var VerifyNumber = function (_a) {
61
- var _b, _c, _d;
49
+ var _b, _c, _d, _e;
62
50
  var dispatch = useAppDispatch();
63
- var _e = useAppSelector(taxSelector), data = _e.data, loading = _e.loading, error = _e.error;
64
- var _f = data.otpData, responseBody = _f.responseBody, defaultValues = __rest(_f, ["responseBody"]);
51
+ var _f = useAppSelector(taxSelector), data = _f.data, loading = _f.loading, error = _f.error;
65
52
  var methods = useForm({
66
53
  resolver: yupResolver(OTPValidation),
67
- defaultValues: defaultValues,
54
+ defaultValues: data.otpData,
68
55
  mode: 'onChange'
69
56
  });
70
- useSetFromDefaultValues(methods, defaultValues);
57
+ useSetFromDefaultValues(methods, data.otpData);
71
58
  var t = useTranslation().t;
72
59
  var isAr = useLanguage().isAr;
73
60
  var _g = React.useState(false), resendLoading = _g[0], setResendLoading = _g[1];
74
- var phone = (_d = (_c = (_b = data.verify.responseBody) === null || _b === void 0 ? void 0 : _b.user.contact) === null || _c === void 0 ? void 0 : _c.phone) === null || _d === void 0 ? void 0 : _d.number;
61
+ var phone = (_e = (_d = (_c = (_b = data.verify.responseBody) === null || _b === void 0 ? void 0 : _b.user) === null || _c === void 0 ? void 0 : _c.contact) === null || _d === void 0 ? void 0 : _d.phone) === null || _e === void 0 ? void 0 : _e.number;
75
62
  React.useEffect(function () {
76
63
  if (error && methods.formState.isValid && phone)
77
64
  dispatch(clearError());
@@ -82,10 +69,7 @@ var VerifyNumber = function (_a) {
82
69
  var onSubmit = function (formData) {
83
70
  dispatch(verifyTaxLeadOTP(formData));
84
71
  };
85
- var onBack = function () {
86
- dispatch(handlePrevScreenStep());
87
- };
88
72
  var disabled = !methods.formState.isValid || !!error || !phone || resendLoading;
89
- return (_jsx(ScreenContainer, { children: _jsx(FormProvider, __assign({}, methods, { children: _jsxs(FormStyled, __assign({ onSubmit: methods.handleSubmit(onSubmit) }, { children: [_jsx(OTPTitleContainerStyled, { children: _jsxs(OTPTitleStyled, { children: [loading ? t('ide_otp_waiting_title') : t('ide_opt_sent_title'), !loading && phone && _jsx("span", __assign({ dir: 'ltr' }, { children: "".concat(maskPhone(phone || '')) }))] }) }), _jsx(OTPInput, { loading: resendLoading, setLoading: setResendLoading }), _jsx(Button, __assign({ disableBack: true, onBackClicked: function () { return onBack(); }, disabled: disabled, isAr: isAr, loading: loading, error: t(error || '') }, { children: t('next') }))] })) })) }));
73
+ return (_jsx(ScreenContainer, { children: _jsx(FormProvider, __assign({}, methods, { children: _jsxs(FormStyled, __assign({ onSubmit: methods.handleSubmit(onSubmit) }, { children: [_jsx(OTPTitleContainerStyled, { children: _jsxs(OTPTitleStyled, { children: [loading ? t('ide_otp_waiting_title') : t('ide_opt_sent_title'), !loading && phone && _jsx("span", __assign({ dir: 'ltr' }, { children: "".concat(maskPhone(phone || '')) }))] }) }), _jsx(OTPInput, { loading: resendLoading, setLoading: setResendLoading }), _jsx(Button, __assign({ disableBack: true, disabled: disabled, isAr: isAr, loading: loading, error: t(error || '') }, { children: t('next') }))] })) })) }));
90
74
  };
91
75
  export default React.memo(VerifyNumber);
@@ -15,3 +15,8 @@ export * from './useSetFromDefaultValues';
15
15
  export * from './useCountUp';
16
16
  export * from './useCountry';
17
17
  export * from './useVerifyToken';
18
+ export * from './useFormReadOnly';
19
+ export * from './useDataNoneEditable';
20
+ export * from './useFormErrorAndUpdateReadOnly';
21
+ export * from './useExcludeReadOnlyFelids';
22
+ export * from './useDataVerified';
@@ -15,3 +15,8 @@ export * from './useSetFromDefaultValues';
15
15
  export * from './useCountUp';
16
16
  export * from './useCountry';
17
17
  export * from './useVerifyToken';
18
+ export * from './useFormReadOnly';
19
+ export * from './useDataNoneEditable';
20
+ export * from './useFormErrorAndUpdateReadOnly';
21
+ export * from './useExcludeReadOnlyFelids';
22
+ export * from './useDataVerified';
@@ -1,10 +1,12 @@
1
- import { LibConfig, ScreenStepNavigation } from '../@types';
1
+ import { LibConfig, ScreenStepNavigation, VerifyExpressTokenParams } from '../@types';
2
2
  interface AppConfigProps extends LibConfig {
3
3
  navigation: ScreenStepNavigation[];
4
4
  disableCountries?: boolean;
5
5
  disableLocale?: boolean;
6
6
  disableSettingFetching?: boolean;
7
7
  maturity?: 'full' | 'express';
8
+ expressToken?: string;
9
+ onExpressVerifyTokenSuccess?: (data: VerifyExpressTokenParams) => Promise<void>;
8
10
  }
9
- export declare const useAppConfig: ({ appInfo, navigation, publicKey, disableCountries, disableLocale, disableSettingFetching, maturity, ...rest }: AppConfigProps) => void;
11
+ export declare const useAppConfig: ({ appInfo, navigation, publicKey, disableCountries, disableLocale, disableSettingFetching, maturity, boardMaturity, expressToken, onExpressVerifyTokenSuccess, ...rest }: AppConfigProps) => void;
10
12
  export {};
@@ -21,21 +21,23 @@ var __rest = (this && this.__rest) || function (s, e) {
21
21
  return t;
22
22
  };
23
23
  import { useEffect } from 'react';
24
- import { handleActiveFlowScreens, handleSetAppConfig, handleLanguage, handleOpen, handleIsTapOrigin, fetchAppSettingsSync } from '../app/settings';
24
+ import { handleActiveFlowScreens, handleSetAppConfig, handleLanguage, handleOpen, handleIsTapOrigin, fetchAppSettingsSync, handelBoardMaturity, settingsSelector } from '../app/settings';
25
25
  import { useAppDispatch } from './useAppDispatch';
26
+ import { useAppSelector } from './useAppSelector';
26
27
  import { axiosInstance } from '../api';
27
28
  import { isTapDomain, removeRequestHeaders } from '../utils';
28
29
  import { ENDPOINT_PATHS } from '../constants';
29
30
  export var useAppConfig = function (_a) {
30
- var appInfo = _a.appInfo, navigation = _a.navigation, publicKey = _a.publicKey, disableCountries = _a.disableCountries, disableLocale = _a.disableLocale, disableSettingFetching = _a.disableSettingFetching, maturity = _a.maturity, rest = __rest(_a, ["appInfo", "navigation", "publicKey", "disableCountries", "disableLocale", "disableSettingFetching", "maturity"]);
31
+ var appInfo = _a.appInfo, navigation = _a.navigation, publicKey = _a.publicKey, disableCountries = _a.disableCountries, disableLocale = _a.disableLocale, disableSettingFetching = _a.disableSettingFetching, maturity = _a.maturity, boardMaturity = _a.boardMaturity, expressToken = _a.expressToken, onExpressVerifyTokenSuccess = _a.onExpressVerifyTokenSuccess, rest = __rest(_a, ["appInfo", "navigation", "publicKey", "disableCountries", "disableLocale", "disableSettingFetching", "maturity", "boardMaturity", "expressToken", "onExpressVerifyTokenSuccess"]);
31
32
  var dispatch = useAppDispatch();
33
+ var data = useAppSelector(settingsSelector).data;
32
34
  var setBaseUrl = function () {
33
35
  var isProd = publicKey.includes('pk_live');
34
36
  if (isProd) {
35
37
  axiosInstance.defaults.baseURL = ENDPOINT_PATHS.PRODUCTION_BASE_URL;
36
38
  return;
37
39
  }
38
- axiosInstance.defaults.baseURL = ENDPOINT_PATHS.DEV_BASE_URL;
40
+ axiosInstance.defaults.baseURL = ENDPOINT_PATHS.SANDBOX_BASE_URL;
39
41
  };
40
42
  var setAppConfig = function () {
41
43
  dispatch(handleSetAppConfig(__assign({ appInfo: appInfo, publicKey: publicKey }, rest)));
@@ -56,8 +58,11 @@ export var useAppConfig = function (_a) {
56
58
  checkDomain();
57
59
  setBaseUrl();
58
60
  setAppConfig();
59
- dispatch(handleLanguage(rest.language));
61
+ if (typeof boardMaturity === 'boolean')
62
+ dispatch(handelBoardMaturity(boardMaturity));
63
+ if (!data.isMaturityExpress)
64
+ dispatch(handleLanguage(rest.language));
60
65
  if (!disableSettingFetching)
61
- dispatch(fetchAppSettingsSync({ disableCountries: disableCountries, disableLocale: disableLocale, mdn: rest.merchantDomain, maturity: maturity }));
66
+ dispatch(fetchAppSettingsSync({ disableCountries: disableCountries, disableLocale: disableLocale, mdn: rest.merchantDomain, maturity: maturity, expressToken: expressToken, onExpressVerifyTokenSuccess: onExpressVerifyTokenSuccess }));
62
67
  }, []);
63
68
  };
@@ -0,0 +1,2 @@
1
+ import { FieldType } from '../@types';
2
+ export declare const useDataNoneEditable: <T = undefined>(dataStatus: Record<keyof T, FieldType>, noneEditableKeys: (keyof T)[]) => { [key in keyof T]: boolean; };
@@ -0,0 +1,19 @@
1
+ import { useCallback, useEffect, useState } from 'react';
2
+ import { hasNoneEditableValue } from '../utils';
3
+ export var useDataNoneEditable = function (dataStatus, noneEditableKeys) {
4
+ var _a = useState({}), dataNoneEditable = _a[0], setDataNoneEditable = _a[1];
5
+ var setNoneEditableValue = useCallback(function () {
6
+ if (!dataStatus)
7
+ return;
8
+ var obj = {};
9
+ noneEditableKeys.forEach(function (path) {
10
+ var isNoneEditable = hasNoneEditableValue(dataStatus, path);
11
+ obj[path] = isNoneEditable;
12
+ });
13
+ setDataNoneEditable(obj);
14
+ }, [dataStatus, noneEditableKeys, hasNoneEditableValue]);
15
+ useEffect(function () {
16
+ setNoneEditableValue();
17
+ }, [setDataNoneEditable]);
18
+ return dataNoneEditable;
19
+ };
@@ -0,0 +1,6 @@
1
+ import { FieldType } from '../@types';
2
+ type DataVerified<T> = {
3
+ [K in keyof T]?: boolean;
4
+ };
5
+ export declare const useDataVerified: <T = undefined>(dataVerification: Record<keyof T, FieldType>, verifiedKeys: (keyof T)[]) => DataVerified<T>;
6
+ export {};
@@ -0,0 +1,19 @@
1
+ import { useCallback, useEffect, useState } from 'react';
2
+ import { hasVerifiedValue } from '../utils';
3
+ export var useDataVerified = function (dataVerification, verifiedKeys) {
4
+ var _a = useState({}), dataVerified = _a[0], setVerified = _a[1];
5
+ var setVerifiedValue = useCallback(function () {
6
+ if (!dataVerification)
7
+ return;
8
+ var obj = {};
9
+ verifiedKeys.forEach(function (path) {
10
+ var isVerified = hasVerifiedValue(dataVerification, path);
11
+ obj[path] = isVerified;
12
+ });
13
+ setVerified(obj);
14
+ }, [dataVerification, verifiedKeys]);
15
+ useEffect(function () {
16
+ setVerifiedValue();
17
+ }, [setVerified]);
18
+ return dataVerified;
19
+ };
@@ -1 +1,2 @@
1
- export declare const useErrorListener: (error?: string | null) => void;
1
+ import { DataLayer } from '../@types';
2
+ export declare const useErrorListener: (error?: string | null, event?: DataLayer) => void;
@@ -1,11 +1,26 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
1
12
  import { useEffect } from 'react';
2
13
  import { settingsSelector } from '../app/settings';
14
+ import { sendCustomEventToGTM } from '../utils';
3
15
  import { useAppSelector } from './useAppSelector';
4
- export var useErrorListener = function (error) {
16
+ export var useErrorListener = function (error, event) {
5
17
  var settings = useAppSelector(settingsSelector);
6
18
  useEffect(function () {
7
19
  var _a, _b;
8
20
  if (error) {
21
+ if (event) {
22
+ sendCustomEventToGTM(__assign(__assign({}, event), { event_label: error }));
23
+ }
9
24
  (_b = (_a = settings.data.appConfig) === null || _a === void 0 ? void 0 : _a.onError) === null || _b === void 0 ? void 0 : _b.call(_a, error);
10
25
  }
11
26
  }, [error]);
@@ -0,0 +1,11 @@
1
+ import { FieldValues, UseFormReturn } from 'react-hook-form';
2
+ type ReadOnly<TF, V> = {
3
+ [key in keyof TF]: V;
4
+ };
5
+ export declare const useExcludeReadOnlyFelids: <TF extends FieldValues = FieldValues>({ formState }: UseFormReturn<TF, any>, readOnly: ReadOnly<TF, boolean>) => {
6
+ getFelids: <T extends TF = TF>(data: T) => {
7
+ originalFormData: T;
8
+ formData: T;
9
+ };
10
+ };
11
+ export {};
@@ -0,0 +1,33 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { settingsSelector } from '../app/settings';
13
+ import { useAppSelector } from './useAppSelector';
14
+ export var useExcludeReadOnlyFelids = function (_a, readOnly) {
15
+ var formState = _a.formState;
16
+ var settingData = useAppSelector(settingsSelector).data;
17
+ var getFelids = function (data) {
18
+ if (settingData.boardMaturity !== false)
19
+ return { originalFormData: data, formData: data };
20
+ var object = {};
21
+ var objectCopy = __assign({}, data);
22
+ for (var key in data) {
23
+ if (readOnly[key] === true)
24
+ continue;
25
+ object[key] = data[key];
26
+ }
27
+ return {
28
+ originalFormData: objectCopy,
29
+ formData: object
30
+ };
31
+ };
32
+ return { getFelids: getFelids };
33
+ };
@@ -0,0 +1,6 @@
1
+ import { FieldValues, UseFormReturn } from 'react-hook-form';
2
+ type ReadOnly<TF, V> = {
3
+ [key in keyof TF]: V;
4
+ };
5
+ export declare const useFormErrorAndUpdateReadOnly: <TF extends FieldValues = FieldValues>(methods: UseFormReturn<TF, any>, readOnlyData: { [key in keyof TF]: boolean; }, noneEditable?: Record<any, boolean>) => ReadOnly<TF, boolean>;
6
+ export {};
@@ -0,0 +1,48 @@
1
+ import { useCallback, useEffect, useState } from 'react';
2
+ export var useFormErrorAndUpdateReadOnly = function (methods, readOnlyData, noneEditable) {
3
+ if (noneEditable === void 0) { noneEditable = {}; }
4
+ var _a = useState({}), readOnly = _a[0], setReadOnly = _a[1];
5
+ var reValidateReadOnly = useCallback(function () {
6
+ if (Object.keys(readOnlyData).length === 0)
7
+ return;
8
+ var defaultValues = methods.formState.defaultValues;
9
+ for (var key in readOnlyData) {
10
+ var value = readOnlyData === null || readOnlyData === void 0 ? void 0 : readOnlyData[key];
11
+ if (value === true) {
12
+ methods.setValue(key, defaultValues === null || defaultValues === void 0 ? void 0 : defaultValues[key], { shouldValidate: true });
13
+ }
14
+ }
15
+ }, [readOnlyData, methods.setValue, methods.formState.defaultValues]);
16
+ var reValidateNoneEditable = useCallback(function () {
17
+ var hasNoneEditable = Object.values(noneEditable).some(function (value) { return value === true; });
18
+ if (!hasNoneEditable)
19
+ return;
20
+ var defaultValues = methods.formState.defaultValues;
21
+ for (var key in defaultValues) {
22
+ methods.setValue(key, defaultValues[key], { shouldValidate: true });
23
+ }
24
+ }, [noneEditable, methods.formState.defaultValues]);
25
+ var updateReadOnly = useCallback(function () {
26
+ var errors = methods.formState.errors;
27
+ var newReadOnly = {};
28
+ for (var key in readOnlyData) {
29
+ var error = errors === null || errors === void 0 ? void 0 : errors[key];
30
+ var value = readOnlyData === null || readOnlyData === void 0 ? void 0 : readOnlyData[key];
31
+ if (error)
32
+ newReadOnly[key] = false;
33
+ else
34
+ newReadOnly[key] = value;
35
+ }
36
+ setReadOnly(newReadOnly);
37
+ }, [readOnlyData, methods.formState.errors]);
38
+ useEffect(function () {
39
+ reValidateReadOnly();
40
+ }, [reValidateReadOnly]);
41
+ useEffect(function () {
42
+ reValidateNoneEditable();
43
+ }, [reValidateNoneEditable]);
44
+ useEffect(function () {
45
+ updateReadOnly();
46
+ }, [updateReadOnly]);
47
+ return readOnly;
48
+ };
@@ -0,0 +1,6 @@
1
+ import { FieldValues, UseFormReturn } from 'react-hook-form';
2
+ type ReadOnly<TF, V> = {
3
+ [key in keyof TF]: V;
4
+ };
5
+ export declare const useFormReadOnly: <TF extends FieldValues = FieldValues>(methods: UseFormReturn<TF, any>, extraData?: { [key in keyof TF]?: any; }) => ReadOnly<TF, boolean>;
6
+ export {};
@@ -0,0 +1,40 @@
1
+ import { useCallback, useEffect, useState } from 'react';
2
+ import { settingsSelector } from '../app/settings';
3
+ import { useAppSelector } from './useAppSelector';
4
+ var isValidData = function (data) {
5
+ if (data === null || data === undefined)
6
+ return false;
7
+ if (typeof data === 'boolean')
8
+ return data === true;
9
+ if (typeof data === 'string' && data.trim() === '')
10
+ return false;
11
+ if (typeof data === 'object' && Object.keys(data).length === 0)
12
+ return false;
13
+ if (Array.isArray(data) && data.length === 0)
14
+ return false;
15
+ return true;
16
+ };
17
+ export var useFormReadOnly = function (methods, extraData) {
18
+ if (extraData === void 0) { extraData = {}; }
19
+ var _a = useState({}), readOnly = _a[0], setReadOnly = _a[1];
20
+ var data = useAppSelector(settingsSelector).data;
21
+ var setReadOnlyValues = useCallback(function () {
22
+ if (data.boardMaturity)
23
+ return;
24
+ var values = methods.formState.defaultValues;
25
+ var readOnlyValues = {};
26
+ for (var key in values) {
27
+ var value = values === null || values === void 0 ? void 0 : values[key];
28
+ readOnlyValues[key] = isValidData(value);
29
+ }
30
+ for (var key in extraData) {
31
+ var value = extraData === null || extraData === void 0 ? void 0 : extraData[key];
32
+ readOnlyValues[key] = isValidData(value);
33
+ }
34
+ setReadOnly(readOnlyValues);
35
+ }, [methods.formState.defaultValues, data.boardMaturity]);
36
+ useEffect(function () {
37
+ setReadOnlyValues();
38
+ }, [setReadOnlyValues]);
39
+ return readOnly;
40
+ };