@remoteoss/remote-flows 1.26.0 → 1.27.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 (314) hide show
  1. package/dist/CheckboxFieldDefault-QLUSGCSO.js +2 -0
  2. package/dist/CountryFieldDefault-BNXTXEWS.js +2 -0
  3. package/dist/DatePickerFieldDefault-FJ7HVEV5.js +2 -0
  4. package/dist/RadioGroupFieldDefault-ZLKZ4B4D.js +2 -0
  5. package/dist/TextAreaFieldDefault-G5AIZNH7.js +2 -0
  6. package/dist/{chunk-I2DXGO23.js → chunk-2OGPILJM.js} +2 -2
  7. package/dist/chunk-3DQ5RNLK.js +2 -0
  8. package/dist/chunk-3DQ5RNLK.js.map +1 -0
  9. package/dist/{chunk-KLN2FG5Y.js → chunk-4Y2DWXQB.js} +2 -2
  10. package/dist/{chunk-XXXLKG43.js → chunk-5QHQT6DL.js} +2 -2
  11. package/dist/{chunk-FIM36WNY.js → chunk-5TGKHA2W.js} +2 -2
  12. package/dist/{chunk-ZYAMVSAL.js → chunk-65K5T3GC.js} +2 -2
  13. package/dist/{chunk-36NGPS63.js → chunk-6K3ISPZ3.js} +2 -2
  14. package/dist/{chunk-FZO24P53.js → chunk-6QJZMW6S.js} +2 -2
  15. package/dist/chunk-6S566ZMF.js +2 -0
  16. package/dist/chunk-6S566ZMF.js.map +1 -0
  17. package/dist/chunk-7DQY3SRL.js +2 -0
  18. package/dist/chunk-7DQY3SRL.js.map +1 -0
  19. package/dist/chunk-7SRRP2D6.js +2 -0
  20. package/dist/chunk-7SRRP2D6.js.map +1 -0
  21. package/dist/chunk-7ZBLKUKE.js +2 -0
  22. package/dist/chunk-7ZBLKUKE.js.map +1 -0
  23. package/dist/{chunk-3VWXALRD.js → chunk-AL37BOFX.js} +2 -2
  24. package/dist/{chunk-K56VMRZ5.js → chunk-ALF55LF2.js} +2 -2
  25. package/dist/{chunk-SP2V52RP.js → chunk-B7HGVWIT.js} +2 -2
  26. package/dist/{chunk-ZS7YCDY6.js → chunk-BC2H7WGB.js} +2 -2
  27. package/dist/{chunk-QLJMIWS4.js → chunk-CMR5CIYN.js} +2 -2
  28. package/dist/{chunk-GCPDTL2M.js → chunk-CODZ7A6U.js} +2 -2
  29. package/dist/{chunk-XHZHFM2J.js → chunk-DHLSO7BU.js} +2 -2
  30. package/dist/{chunk-IK27ZFUU.js → chunk-DR25AW5C.js} +2 -2
  31. package/dist/{chunk-33IPP266.js → chunk-EN5ZMAYF.js} +2 -2
  32. package/dist/{chunk-AMSYQQG7.js → chunk-ET4QWXWY.js} +2 -2
  33. package/dist/{chunk-LFYDEIZG.js → chunk-GFM747IZ.js} +2 -2
  34. package/dist/{chunk-BAKE7YEE.js → chunk-GLJV3B55.js} +2 -2
  35. package/dist/{chunk-FZVUO3UU.js → chunk-HBX37YK2.js} +2 -2
  36. package/dist/{chunk-RD5FPT3Y.js → chunk-HGBOZH6Q.js} +2 -2
  37. package/dist/{chunk-POKPAJNL.js → chunk-HGETJXZZ.js} +2 -2
  38. package/dist/{chunk-DEVQ2NNK.js → chunk-HI7TK62N.js} +2 -2
  39. package/dist/{chunk-VLVKKSJP.js → chunk-JBOUDOIM.js} +2 -2
  40. package/dist/chunk-JR6VISHQ.js +2 -0
  41. package/dist/chunk-JR6VISHQ.js.map +1 -0
  42. package/dist/{chunk-LX3JPBUV.js → chunk-KFNCHTUX.js} +2 -2
  43. package/dist/{chunk-TXEONNPV.js → chunk-KIUI7FHF.js} +2 -2
  44. package/dist/{chunk-7VKV5G6N.js → chunk-L6V2G5TE.js} +2 -2
  45. package/dist/{chunk-XUT44QU6.js → chunk-L7TAT462.js} +2 -2
  46. package/dist/{chunk-3SECILYU.js → chunk-M64UJF3B.js} +2 -2
  47. package/dist/{chunk-TIJRONPS.js → chunk-MGVJ2TKE.js} +2 -2
  48. package/dist/{chunk-C6ARUHCB.js → chunk-MMIHT4V6.js} +2 -2
  49. package/dist/{chunk-GHYCSTSK.js → chunk-MVPXUUUE.js} +2 -2
  50. package/dist/{chunk-4EDPYN5F.js → chunk-NTRKVVLQ.js} +2 -2
  51. package/dist/{chunk-R47Q7R6C.js → chunk-O5XQUEB5.js} +6 -6
  52. package/dist/chunk-O5XQUEB5.js.map +1 -0
  53. package/dist/{chunk-RPCS3K2I.js → chunk-O7TCU5D2.js} +2 -2
  54. package/dist/{chunk-BI3PHE5N.js → chunk-OGKH4RJL.js} +2 -2
  55. package/dist/{chunk-IY3ASS7L.js → chunk-OVA2X5BB.js} +2 -2
  56. package/dist/{chunk-KJMPEOZ7.js → chunk-PK2E2DJH.js} +2 -2
  57. package/dist/{chunk-45K26OSG.js → chunk-PLKF2BTI.js} +2 -2
  58. package/dist/{chunk-HMVU7HJL.js → chunk-QV4FEP6W.js} +2 -2
  59. package/dist/{chunk-KKCYP5TA.js → chunk-QV7CVQDJ.js} +2 -2
  60. package/dist/{chunk-JFD2OJ6L.js → chunk-SBTZUZDR.js} +2 -2
  61. package/dist/{chunk-O6H23YQW.js → chunk-SW7DKXXK.js} +2 -2
  62. package/dist/{chunk-5F5H7LZT.js → chunk-T5U7ZIBV.js} +2 -2
  63. package/dist/{chunk-6I5FRZSX.js → chunk-TXU6EUWN.js} +2 -2
  64. package/dist/{chunk-7Z4MWUCV.js → chunk-U4344VZW.js} +2 -2
  65. package/dist/{chunk-SJVCXKRO.js → chunk-UOZUG2KL.js} +2 -2
  66. package/dist/{chunk-TFJOJCCS.js → chunk-VKKORLLM.js} +2 -2
  67. package/dist/{chunk-BS4A6UYL.js → chunk-VZXZ7ELU.js} +2 -2
  68. package/dist/{chunk-R7WSWTCF.js → chunk-WXEBBNWP.js} +2 -2
  69. package/dist/{chunk-BMLTMXEK.js → chunk-XK77JKBO.js} +2 -2
  70. package/dist/chunk-XO4DAKV7.js +2 -0
  71. package/dist/chunk-XO4DAKV7.js.map +1 -0
  72. package/dist/{chunk-TUPZTWGP.js → chunk-XYV6WN5C.js} +2 -2
  73. package/dist/{chunk-5F5BHJQO.js → chunk-ZIFQZ33N.js} +2 -2
  74. package/dist/{chunk-P4TKMCSQ.js → chunk-ZNGMRPG6.js} +2 -2
  75. package/dist/{chunk-NUD662HZ.js → chunk-ZQZWWNXL.js} +2 -2
  76. package/dist/chunk-ZQZWWNXL.js.map +1 -0
  77. package/dist/{chunk-5EHJ5HTV.js → chunk-ZSBQDVXM.js} +2 -2
  78. package/dist/{chunk-OCTM6K3V.js → chunk-ZX3JVVRL.js} +2 -2
  79. package/dist/default-components.d.ts +2 -2
  80. package/dist/default-components.js +1 -1
  81. package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.d.ts +1 -1
  82. package/dist/flows/ContractAmendment/ContractAmendmentFlow.d.ts +3 -3
  83. package/dist/flows/ContractAmendment/ContractAmendmentFlow.js +1 -1
  84. package/dist/flows/ContractAmendment/ContractAmendmentForm.d.ts +1 -1
  85. package/dist/flows/ContractAmendment/ContractAmendmentForm.js +1 -1
  86. package/dist/flows/ContractAmendment/context.d.ts +3 -3
  87. package/dist/flows/ContractAmendment/hooks.d.ts +3 -3
  88. package/dist/flows/ContractAmendment/hooks.js +1 -1
  89. package/dist/flows/ContractAmendment/index.d.ts +3 -3
  90. package/dist/flows/ContractAmendment/index.js +1 -1
  91. package/dist/flows/ContractAmendment/types.d.ts +2 -2
  92. package/dist/flows/ContractAmendment/utils.d.ts +2 -2
  93. package/dist/flows/ContractorOnboarding/ContractorOnboarding.d.ts +5 -5
  94. package/dist/flows/ContractorOnboarding/ContractorOnboarding.js +1 -1
  95. package/dist/flows/ContractorOnboarding/api.d.ts +8 -20
  96. package/dist/flows/ContractorOnboarding/api.js +1 -1
  97. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.d.ts +4 -4
  98. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.js +1 -1
  99. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.d.ts +5 -5
  100. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.js +1 -1
  101. package/dist/flows/ContractorOnboarding/components/ContractPreviewHeader.d.ts +2 -2
  102. package/dist/flows/ContractorOnboarding/components/ContractPreviewStatement.d.ts +2 -2
  103. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.d.ts +5 -5
  104. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.js +1 -1
  105. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.d.ts +5 -5
  106. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.js +1 -1
  107. package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.d.ts +5 -5
  108. package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.js +1 -1
  109. package/dist/flows/ContractorOnboarding/components/OnboardingInvite.d.ts +3 -3
  110. package/dist/flows/ContractorOnboarding/components/OnboardingInvite.js +1 -1
  111. package/dist/flows/ContractorOnboarding/components/PricingPlan.d.ts +5 -5
  112. package/dist/flows/ContractorOnboarding/components/PricingPlan.js +1 -1
  113. package/dist/flows/ContractorOnboarding/components/SaveDraftButton.d.ts +3 -3
  114. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.d.ts +4 -4
  115. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.js +1 -1
  116. package/dist/flows/ContractorOnboarding/context.d.ts +8 -7
  117. package/dist/flows/ContractorOnboarding/hooks.d.ts +5 -5
  118. package/dist/flows/ContractorOnboarding/hooks.js +1 -1
  119. package/dist/flows/ContractorOnboarding/index.d.ts +5 -5
  120. package/dist/flows/ContractorOnboarding/index.js +1 -1
  121. package/dist/flows/ContractorOnboarding/jsfModify.d.ts +5 -5
  122. package/dist/flows/ContractorOnboarding/jsfModify.js +1 -1
  123. package/dist/flows/ContractorOnboarding/types.d.ts +5 -5
  124. package/dist/flows/ContractorOnboarding/utils.d.ts +4 -4
  125. package/dist/flows/CostCalculator/CostCalculatorFlow.d.ts +3 -3
  126. package/dist/flows/CostCalculator/CostCalculatorFlow.js +1 -1
  127. package/dist/flows/CostCalculator/CostCalculatorForm.d.ts +3 -3
  128. package/dist/flows/CostCalculator/CostCalculatorForm.js +1 -1
  129. package/dist/flows/CostCalculator/EstimationResults/EstimationResults.d.ts +2 -2
  130. package/dist/flows/CostCalculator/EstimationResults/EstimationResults.js +1 -1
  131. package/dist/flows/CostCalculator/SummaryResults/SummaryResults.d.ts +2 -2
  132. package/dist/flows/CostCalculator/api.d.ts +5 -9
  133. package/dist/flows/CostCalculator/api.js +1 -1
  134. package/dist/flows/CostCalculator/components/SalaryField.d.ts +2 -2
  135. package/dist/flows/CostCalculator/components/SalaryField.js +1 -1
  136. package/dist/flows/CostCalculator/context.d.ts +3 -3
  137. package/dist/flows/CostCalculator/hooks.d.ts +3 -3
  138. package/dist/flows/CostCalculator/hooks.js +1 -1
  139. package/dist/flows/CostCalculator/index.d.ts +4 -4
  140. package/dist/flows/CostCalculator/index.js +1 -1
  141. package/dist/flows/CostCalculator/types.d.ts +2 -2
  142. package/dist/flows/CostCalculator/utils.d.ts +3 -3
  143. package/dist/flows/CostCalculator/utils.js +1 -1
  144. package/dist/flows/CreateCompany/CreateCompany.d.ts +4 -4
  145. package/dist/flows/CreateCompany/CreateCompany.js +1 -1
  146. package/dist/flows/CreateCompany/api.d.ts +6 -14
  147. package/dist/flows/CreateCompany/api.js +1 -1
  148. package/dist/flows/CreateCompany/components/AddressDetailsStep.d.ts +4 -4
  149. package/dist/flows/CreateCompany/components/AddressDetailsStep.js +1 -1
  150. package/dist/flows/CreateCompany/components/CompanyBasicInformationStep.d.ts +4 -4
  151. package/dist/flows/CreateCompany/components/CompanyBasicInformationStep.js +1 -1
  152. package/dist/flows/CreateCompany/components/CreateCompanyForm.d.ts +2 -2
  153. package/dist/flows/CreateCompany/components/CreateCompanyForm.js +1 -1
  154. package/dist/flows/CreateCompany/context.d.ts +7 -6
  155. package/dist/flows/CreateCompany/hooks.d.ts +4 -4
  156. package/dist/flows/CreateCompany/hooks.js +1 -1
  157. package/dist/flows/CreateCompany/index.d.ts +4 -4
  158. package/dist/flows/CreateCompany/index.js +1 -1
  159. package/dist/flows/CreateCompany/types.d.ts +4 -4
  160. package/dist/flows/Onboarding/OnboardingFlow.d.ts +4 -4
  161. package/dist/flows/Onboarding/OnboardingFlow.js +1 -1
  162. package/dist/flows/Onboarding/api.d.ts +9 -17
  163. package/dist/flows/Onboarding/api.js +1 -1
  164. package/dist/flows/Onboarding/components/AnnualGrossSalary.d.ts +2 -2
  165. package/dist/flows/Onboarding/components/AnnualGrossSalary.js +1 -1
  166. package/dist/flows/Onboarding/components/BasicInformationStep.d.ts +4 -4
  167. package/dist/flows/Onboarding/components/BasicInformationStep.js +1 -1
  168. package/dist/flows/Onboarding/components/BenefitsStep.d.ts +4 -4
  169. package/dist/flows/Onboarding/components/BenefitsStep.js +1 -1
  170. package/dist/flows/Onboarding/components/ContractDetailsStep.d.ts +4 -4
  171. package/dist/flows/Onboarding/components/ContractDetailsStep.js +1 -1
  172. package/dist/flows/Onboarding/components/OnboardingForm.d.ts +4 -4
  173. package/dist/flows/Onboarding/components/OnboardingForm.js +1 -1
  174. package/dist/flows/Onboarding/components/OnboardingInvite.d.ts +3 -3
  175. package/dist/flows/Onboarding/components/OnboardingInvite.js +1 -1
  176. package/dist/flows/Onboarding/components/ReviewStep.d.ts +4 -4
  177. package/dist/flows/Onboarding/components/SaveDraftButton.d.ts +3 -3
  178. package/dist/flows/Onboarding/components/SelectCountryStep.d.ts +4 -4
  179. package/dist/flows/Onboarding/components/SelectCountryStep.js +1 -1
  180. package/dist/flows/Onboarding/context.d.ts +7 -6
  181. package/dist/flows/Onboarding/hooks.d.ts +4 -4
  182. package/dist/flows/Onboarding/hooks.js +1 -1
  183. package/dist/flows/Onboarding/index.d.ts +4 -4
  184. package/dist/flows/Onboarding/index.js +1 -1
  185. package/dist/flows/Onboarding/types.d.ts +4 -4
  186. package/dist/flows/Onboarding/utils.d.ts +4 -4
  187. package/dist/flows/Termination/AdditionalDetailsForm.d.ts +4 -4
  188. package/dist/flows/Termination/AdditionalDetailsForm.js +1 -1
  189. package/dist/flows/Termination/EmployeeComunicationForm.d.ts +4 -4
  190. package/dist/flows/Termination/EmployeeComunicationForm.js +1 -1
  191. package/dist/flows/Termination/PaidTimeOffForm.d.ts +4 -4
  192. package/dist/flows/Termination/PaidTimeOffForm.js +1 -1
  193. package/dist/flows/Termination/TerminationDetailsForm.d.ts +4 -4
  194. package/dist/flows/Termination/TerminationDetailsForm.js +1 -1
  195. package/dist/flows/Termination/TerminationFlow.d.ts +4 -4
  196. package/dist/flows/Termination/TerminationFlow.js +1 -1
  197. package/dist/flows/Termination/TerminationForm.d.ts +5 -5
  198. package/dist/flows/Termination/TerminationForm.js +1 -1
  199. package/dist/flows/Termination/api.d.ts +8 -12
  200. package/dist/flows/Termination/api.js +1 -1
  201. package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformationFees.js +1 -1
  202. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.d.ts +7 -7
  203. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.d.ts +7 -7
  204. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.js +1 -1
  205. package/dist/flows/Termination/components/PaidTimeOff/types.d.ts +7 -7
  206. package/dist/flows/Termination/components/TerminationDialogInfoContent/TerminationDialogInfoContent.js +1 -1
  207. package/dist/flows/Termination/context.d.ts +4 -4
  208. package/dist/flows/Termination/hooks.d.ts +4 -4
  209. package/dist/flows/Termination/hooks.js +1 -1
  210. package/dist/flows/Termination/index.d.ts +6 -6
  211. package/dist/flows/Termination/index.js +1 -1
  212. package/dist/flows/Termination/json-schemas/schema.d.ts +4 -4
  213. package/dist/flows/Termination/types.d.ts +4 -4
  214. package/dist/flows/Termination/utils.d.ts +4 -4
  215. package/dist/flows/types.d.ts +4 -3
  216. package/dist/flows/utils.d.ts +2 -2
  217. package/dist/index.css +1 -1
  218. package/dist/index.css.map +1 -1
  219. package/dist/index.d.ts +11 -11
  220. package/dist/index.js +2 -2
  221. package/dist/index.js.map +1 -1
  222. package/dist/internals.d.ts +3 -3
  223. package/dist/internals.js +1 -1
  224. package/dist/{mutations-BlHJKh7X.d.ts → mutations-B8Mignyp.d.ts} +1 -1
  225. package/dist/{remoteFlows-BgpcnCNA.d.ts → remoteFlows-B_Qw-y-E.d.ts} +1 -1
  226. package/dist/styles.css +1 -1
  227. package/dist/styles.css.map +1 -1
  228. package/dist/{types-x02L1Qo9.d.ts → types-B5J_4wyN.d.ts} +3 -3
  229. package/dist/{types-BBgv8INf.d.ts → types-BkwrqJ5I.d.ts} +4 -4
  230. package/dist/{types-CRnEmzMD.d.ts → types-D8HNn_KX.d.ts} +1 -1
  231. package/dist/{types-nfUNaXC-.d.ts → types-XM7RZKic.d.ts} +3 -3
  232. package/dist/{types-DEzrQ-MU.d.ts → types-b3-hzr00.d.ts} +2 -2
  233. package/dist/{types.gen-Dgw1W-SB.d.ts → types.gen-DowXAxCF.d.ts} +660 -20
  234. package/dist/{utils-Dg9zSNDT.d.ts → utils-CqFJ189L.d.ts} +1 -1
  235. package/package.json +62 -62
  236. package/dist/CheckboxFieldDefault-SQULI7DO.js +0 -2
  237. package/dist/CountryFieldDefault-4YHZACZ5.js +0 -2
  238. package/dist/DatePickerFieldDefault-B7WY5H6M.js +0 -2
  239. package/dist/RadioGroupFieldDefault-G637DHSW.js +0 -2
  240. package/dist/TextAreaFieldDefault-32E5FGS7.js +0 -2
  241. package/dist/chunk-AXGWQVCT.js +0 -2
  242. package/dist/chunk-AXGWQVCT.js.map +0 -1
  243. package/dist/chunk-CEIDSIMA.js +0 -2
  244. package/dist/chunk-CEIDSIMA.js.map +0 -1
  245. package/dist/chunk-ERY43GUW.js +0 -2
  246. package/dist/chunk-ERY43GUW.js.map +0 -1
  247. package/dist/chunk-JMDINYDB.js +0 -2
  248. package/dist/chunk-JMDINYDB.js.map +0 -1
  249. package/dist/chunk-JWP4HAIS.js +0 -2
  250. package/dist/chunk-JWP4HAIS.js.map +0 -1
  251. package/dist/chunk-NUD662HZ.js.map +0 -1
  252. package/dist/chunk-R47Q7R6C.js.map +0 -1
  253. package/dist/chunk-T4Y4D743.js +0 -2
  254. package/dist/chunk-T4Y4D743.js.map +0 -1
  255. /package/dist/{CheckboxFieldDefault-SQULI7DO.js.map → CheckboxFieldDefault-QLUSGCSO.js.map} +0 -0
  256. /package/dist/{CountryFieldDefault-4YHZACZ5.js.map → CountryFieldDefault-BNXTXEWS.js.map} +0 -0
  257. /package/dist/{DatePickerFieldDefault-B7WY5H6M.js.map → DatePickerFieldDefault-FJ7HVEV5.js.map} +0 -0
  258. /package/dist/{RadioGroupFieldDefault-G637DHSW.js.map → RadioGroupFieldDefault-ZLKZ4B4D.js.map} +0 -0
  259. /package/dist/{TextAreaFieldDefault-32E5FGS7.js.map → TextAreaFieldDefault-G5AIZNH7.js.map} +0 -0
  260. /package/dist/{chunk-I2DXGO23.js.map → chunk-2OGPILJM.js.map} +0 -0
  261. /package/dist/{chunk-KLN2FG5Y.js.map → chunk-4Y2DWXQB.js.map} +0 -0
  262. /package/dist/{chunk-XXXLKG43.js.map → chunk-5QHQT6DL.js.map} +0 -0
  263. /package/dist/{chunk-FIM36WNY.js.map → chunk-5TGKHA2W.js.map} +0 -0
  264. /package/dist/{chunk-ZYAMVSAL.js.map → chunk-65K5T3GC.js.map} +0 -0
  265. /package/dist/{chunk-36NGPS63.js.map → chunk-6K3ISPZ3.js.map} +0 -0
  266. /package/dist/{chunk-FZO24P53.js.map → chunk-6QJZMW6S.js.map} +0 -0
  267. /package/dist/{chunk-3VWXALRD.js.map → chunk-AL37BOFX.js.map} +0 -0
  268. /package/dist/{chunk-K56VMRZ5.js.map → chunk-ALF55LF2.js.map} +0 -0
  269. /package/dist/{chunk-SP2V52RP.js.map → chunk-B7HGVWIT.js.map} +0 -0
  270. /package/dist/{chunk-ZS7YCDY6.js.map → chunk-BC2H7WGB.js.map} +0 -0
  271. /package/dist/{chunk-QLJMIWS4.js.map → chunk-CMR5CIYN.js.map} +0 -0
  272. /package/dist/{chunk-GCPDTL2M.js.map → chunk-CODZ7A6U.js.map} +0 -0
  273. /package/dist/{chunk-XHZHFM2J.js.map → chunk-DHLSO7BU.js.map} +0 -0
  274. /package/dist/{chunk-IK27ZFUU.js.map → chunk-DR25AW5C.js.map} +0 -0
  275. /package/dist/{chunk-33IPP266.js.map → chunk-EN5ZMAYF.js.map} +0 -0
  276. /package/dist/{chunk-AMSYQQG7.js.map → chunk-ET4QWXWY.js.map} +0 -0
  277. /package/dist/{chunk-LFYDEIZG.js.map → chunk-GFM747IZ.js.map} +0 -0
  278. /package/dist/{chunk-BAKE7YEE.js.map → chunk-GLJV3B55.js.map} +0 -0
  279. /package/dist/{chunk-FZVUO3UU.js.map → chunk-HBX37YK2.js.map} +0 -0
  280. /package/dist/{chunk-RD5FPT3Y.js.map → chunk-HGBOZH6Q.js.map} +0 -0
  281. /package/dist/{chunk-POKPAJNL.js.map → chunk-HGETJXZZ.js.map} +0 -0
  282. /package/dist/{chunk-DEVQ2NNK.js.map → chunk-HI7TK62N.js.map} +0 -0
  283. /package/dist/{chunk-VLVKKSJP.js.map → chunk-JBOUDOIM.js.map} +0 -0
  284. /package/dist/{chunk-LX3JPBUV.js.map → chunk-KFNCHTUX.js.map} +0 -0
  285. /package/dist/{chunk-TXEONNPV.js.map → chunk-KIUI7FHF.js.map} +0 -0
  286. /package/dist/{chunk-7VKV5G6N.js.map → chunk-L6V2G5TE.js.map} +0 -0
  287. /package/dist/{chunk-XUT44QU6.js.map → chunk-L7TAT462.js.map} +0 -0
  288. /package/dist/{chunk-3SECILYU.js.map → chunk-M64UJF3B.js.map} +0 -0
  289. /package/dist/{chunk-TIJRONPS.js.map → chunk-MGVJ2TKE.js.map} +0 -0
  290. /package/dist/{chunk-C6ARUHCB.js.map → chunk-MMIHT4V6.js.map} +0 -0
  291. /package/dist/{chunk-GHYCSTSK.js.map → chunk-MVPXUUUE.js.map} +0 -0
  292. /package/dist/{chunk-4EDPYN5F.js.map → chunk-NTRKVVLQ.js.map} +0 -0
  293. /package/dist/{chunk-RPCS3K2I.js.map → chunk-O7TCU5D2.js.map} +0 -0
  294. /package/dist/{chunk-BI3PHE5N.js.map → chunk-OGKH4RJL.js.map} +0 -0
  295. /package/dist/{chunk-IY3ASS7L.js.map → chunk-OVA2X5BB.js.map} +0 -0
  296. /package/dist/{chunk-KJMPEOZ7.js.map → chunk-PK2E2DJH.js.map} +0 -0
  297. /package/dist/{chunk-45K26OSG.js.map → chunk-PLKF2BTI.js.map} +0 -0
  298. /package/dist/{chunk-HMVU7HJL.js.map → chunk-QV4FEP6W.js.map} +0 -0
  299. /package/dist/{chunk-KKCYP5TA.js.map → chunk-QV7CVQDJ.js.map} +0 -0
  300. /package/dist/{chunk-JFD2OJ6L.js.map → chunk-SBTZUZDR.js.map} +0 -0
  301. /package/dist/{chunk-O6H23YQW.js.map → chunk-SW7DKXXK.js.map} +0 -0
  302. /package/dist/{chunk-5F5H7LZT.js.map → chunk-T5U7ZIBV.js.map} +0 -0
  303. /package/dist/{chunk-6I5FRZSX.js.map → chunk-TXU6EUWN.js.map} +0 -0
  304. /package/dist/{chunk-7Z4MWUCV.js.map → chunk-U4344VZW.js.map} +0 -0
  305. /package/dist/{chunk-SJVCXKRO.js.map → chunk-UOZUG2KL.js.map} +0 -0
  306. /package/dist/{chunk-TFJOJCCS.js.map → chunk-VKKORLLM.js.map} +0 -0
  307. /package/dist/{chunk-BS4A6UYL.js.map → chunk-VZXZ7ELU.js.map} +0 -0
  308. /package/dist/{chunk-R7WSWTCF.js.map → chunk-WXEBBNWP.js.map} +0 -0
  309. /package/dist/{chunk-BMLTMXEK.js.map → chunk-XK77JKBO.js.map} +0 -0
  310. /package/dist/{chunk-TUPZTWGP.js.map → chunk-XYV6WN5C.js.map} +0 -0
  311. /package/dist/{chunk-5F5BHJQO.js.map → chunk-ZIFQZ33N.js.map} +0 -0
  312. /package/dist/{chunk-P4TKMCSQ.js.map → chunk-ZNGMRPG6.js.map} +0 -0
  313. /package/dist/{chunk-5EHJ5HTV.js.map → chunk-ZSBQDVXM.js.map} +0 -0
  314. /package/dist/{chunk-OCTM6K3V.js.map → chunk-ZX3JVVRL.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/ui/collapsible.tsx","../src/components/ui/tabs.tsx","../src/components/ui/scroll-area.tsx","../src/components/JsonSchemaComparison/JsonSchemaComparison.tsx","../src/components/JsonSchemaComparison/formDiffDetector.ts","../src/components/JsonSchemaComparison/SchemaFormComparison.tsx","../src/components/JsonSchemaComparison/schemaVersions.ts"],"sourcesContent":["import * as CollapsiblePrimitive from '@radix-ui/react-collapsible';\n\nconst Collapsible = CollapsiblePrimitive.Root;\n\nconst CollapsibleTrigger = CollapsiblePrimitive.CollapsibleTrigger;\n\nconst CollapsibleContent = CollapsiblePrimitive.CollapsibleContent;\n\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent };\n","import * as React from 'react';\nimport * as TabsPrimitive from '@radix-ui/react-tabs';\n\nimport { cn } from '@/src/lib/utils';\n\nfunction Tabs({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Root>) {\n return (\n <TabsPrimitive.Root\n data-slot='tabs'\n className={cn('flex flex-col gap-2', className)}\n {...props}\n />\n );\n}\n\nfunction TabsList({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.List>) {\n return (\n <TabsPrimitive.List\n data-slot='tabs-list'\n className={cn(\n 'bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-1',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction TabsTrigger({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Trigger>) {\n return (\n <TabsPrimitive.Trigger\n data-slot='tabs-trigger'\n className={cn(\n \"data-[state=active]:bg-background data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring inline-flex flex-1 items-center justify-center gap-1.5 rounded-md px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction TabsContent({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Content>) {\n return (\n <TabsPrimitive.Content\n data-slot='tabs-content'\n className={cn('flex-1 outline-none', className)}\n {...props}\n />\n );\n}\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent };\n","import * as React from 'react';\nimport * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';\n\nimport { cn } from '@/src/lib/utils';\n\nconst ScrollArea = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>\n>(({ className, children, ...props }, ref) => (\n <ScrollAreaPrimitive.Root\n ref={ref}\n className={cn('relative overflow-hidden', className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport className='h-full w-full rounded-[inherit]'>\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n));\nScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;\n\nconst ScrollBar = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>\n>(({ className, orientation = 'vertical', ...props }, ref) => (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n ref={ref}\n orientation={orientation}\n className={cn(\n 'flex touch-none select-none transition-colors',\n orientation === 'vertical' &&\n 'h-full w-2.5 border-l border-l-transparent p-[1px]',\n orientation === 'horizontal' &&\n 'h-2.5 flex-col border-t border-t-transparent p-[1px]',\n className,\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb className='relative flex-1 rounded-full bg-border' />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n));\nScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;\n\nexport { ScrollArea, ScrollBar };\n","import { useState, useEffect, useMemo } from 'react';\nimport { useQuery } from '@tanstack/react-query';\nimport {\n Card,\n CardContent,\n CardHeader,\n CardTitle,\n} from '@/src/components/ui/card';\nimport { Label } from '@/src/components/ui/label';\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from '@/src/components/ui/select';\nimport { Tabs, TabsList, TabsTrigger } from '@/src/components/ui/tabs';\nimport { useJSONSchemaForm } from '@/src/flows/Onboarding/api';\nimport { SchemaFormComparison } from './SchemaFormComparison';\nimport {\n BASIC_INFO_VERSIONS,\n COUNTRY_CONTRACT_VERSIONS,\n COUNTRY_CONTRACT_VERSIONS_WITH_MULTIPLE_VERSIONS,\n FORM_TYPES,\n type FormType,\n type SchemaVersion,\n} from './schemaVersions';\nimport { countriesOptions } from '@/src/common/api/countries';\nimport { useClient } from '@/src/context';\nimport type { Client } from '@/src/client/client';\nimport { JSFField } from '@/src/types/remoteFlows';\n\nexport const JsonSchemaComparison = () => {\n const [formType, setFormType] = useState<FormType>(\n 'employment_basic_information',\n );\n const [topVersion, setTopVersion] = useState<SchemaVersion>(1);\n const [bottomVersion, setBottomVersion] = useState<SchemaVersion>(1);\n const [countryCode, setCountryCode] = useState<string>('ARE');\n\n const { client } = useClient();\n\n const { data: countriesData } = useQuery({\n ...countriesOptions(client as Client, 'schema-comparison'),\n select: (response) =>\n response.data?.data\n ?.filter(\n (country: { eor_onboarding?: boolean }) => country.eor_onboarding,\n )\n .filter((country: { code: string }) =>\n Object.keys(\n COUNTRY_CONTRACT_VERSIONS_WITH_MULTIPLE_VERSIONS,\n ).includes(country.code),\n )\n .map((country: { name: string; code: string }) => ({\n label: country.name,\n value: country.code,\n })) || [],\n });\n\n const isContractDetails = formType === 'contract_details';\n\n const { data: topSchema, isLoading: isLoadingTop } = useJSONSchemaForm({\n countryCode: countryCode,\n form: formType,\n fieldValues: {},\n jsonSchemaVersion: topVersion,\n options: {\n queryOptions: {\n enabled: true,\n },\n },\n });\n\n const { data: bottomSchema, isLoading: isLoadingBottom } = useJSONSchemaForm({\n countryCode: countryCode,\n form: formType,\n fieldValues: {},\n jsonSchemaVersion: bottomVersion,\n options: {\n queryOptions: {\n enabled: true,\n },\n },\n });\n\n const isLoading = isLoadingTop || isLoadingBottom;\n\n const countryVersions = COUNTRY_CONTRACT_VERSIONS[countryCode];\n const hasCountryMapping = countryVersions !== undefined;\n\n const versionOptions = useMemo(() => {\n return formType === 'employment_basic_information'\n ? BASIC_INFO_VERSIONS\n : countryVersions || [{ value: 'latest', label: 'Latest' }];\n }, [formType, countryVersions]);\n\n useEffect(() => {\n const availableVersionValues = versionOptions.map((v) => v.value);\n\n if (!availableVersionValues.includes(topVersion)) {\n // WE NEED TO FIX: react-hooks/set-state-in-effect - Calling setState synchronously within an effect can trigger cascading renders\n // eslint-disable-next-line react-hooks/set-state-in-effect\n setTopVersion(versionOptions[0].value);\n }\n if (!availableVersionValues.includes(bottomVersion)) {\n setBottomVersion(versionOptions[0].value);\n }\n }, [formType, countryCode, versionOptions, topVersion, bottomVersion]);\n\n return (\n <div className='space-y-6'>\n <Card>\n <CardHeader>\n <CardTitle>Configuration</CardTitle>\n </CardHeader>\n <CardContent className='space-y-4'>\n <div>\n <Label className='mb-2 block'>Form Type</Label>\n <Tabs\n value={formType}\n onValueChange={(value) => setFormType(value as FormType)}\n >\n <TabsList className='grid w-full grid-cols-2'>\n {FORM_TYPES.map((type) => (\n <TabsTrigger key={type.value} value={type.value}>\n {type.label}\n </TabsTrigger>\n ))}\n </TabsList>\n </Tabs>\n </div>\n\n {isContractDetails && !hasCountryMapping && (\n <div className='rounded-md bg-yellow-50 p-4 border border-yellow-200'>\n <div className='flex'>\n <div className='flex-shrink-0'>\n <svg\n className='h-5 w-5 text-yellow-400'\n viewBox='0 0 20 20'\n fill='currentColor'\n >\n <path\n fillRule='evenodd'\n d='M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z'\n clipRule='evenodd'\n />\n </svg>\n </div>\n <div className='ml-3'>\n <h3 className='text-sm font-medium text-yellow-800'>\n Version mappings not found\n </h3>\n <div className='mt-2 text-sm text-yellow-700'>\n <p>\n Country{' '}\n <span className='font-semibold'>{countryCode}</span> is\n not configured in COUNTRY_CONTRACT_VERSIONS. Using default\n (latest only).\n </p>\n </div>\n </div>\n </div>\n </div>\n )}\n\n {isContractDetails && (\n <div>\n <Label htmlFor='country-select' className='mb-2 block'>\n Country\n </Label>\n <Select value={countryCode} onValueChange={setCountryCode}>\n <SelectTrigger id='country-select'>\n <SelectValue placeholder='Select a country' />\n </SelectTrigger>\n <SelectContent>\n {countriesData?.map(\n (country: { label: string; value: string }) => (\n <SelectItem key={country.value} value={country.value}>\n {country.label}\n </SelectItem>\n ),\n )}\n </SelectContent>\n </Select>\n </div>\n )}\n\n <div className='grid grid-cols-2 gap-4'>\n <div>\n <Label htmlFor='top-version' className='mb-2 block'>\n Left Version\n </Label>\n <Select\n value={String(topVersion)}\n onValueChange={(value) =>\n setTopVersion(value === 'latest' ? 'latest' : Number(value))\n }\n >\n <SelectTrigger id='top-version'>\n <SelectValue placeholder='Select version' />\n </SelectTrigger>\n <SelectContent>\n {versionOptions.map((version) => (\n <SelectItem\n key={String(version.value)}\n value={String(version.value)}\n >\n {version.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n\n <div>\n <Label htmlFor='bottom-version' className='mb-2 block'>\n Right Version\n </Label>\n <Select\n value={String(bottomVersion)}\n onValueChange={(value) =>\n setBottomVersion(\n value === 'latest' ? 'latest' : Number(value),\n )\n }\n >\n <SelectTrigger id='bottom-version'>\n <SelectValue placeholder='Select version' />\n </SelectTrigger>\n <SelectContent>\n {versionOptions.map((version) => (\n <SelectItem\n key={String(version.value)}\n value={String(version.value)}\n >\n {version.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n </div>\n </CardContent>\n </Card>\n\n <SchemaFormComparison\n topVersion={topVersion}\n bottomVersion={bottomVersion}\n topFields={(topSchema?.fields as JSFField[]) || []}\n bottomFields={(bottomSchema?.fields as JSFField[]) || []}\n topFieldsets={topSchema?.meta?.['x-jsf-fieldsets']}\n bottomFieldsets={bottomSchema?.meta?.['x-jsf-fieldsets']}\n isLoading={isLoading}\n />\n </div>\n );\n};\n","import type { $TSFixMe, JSFField } from '@/src/types/remoteFlows';\nimport equal from 'fast-deep-equal';\n\nexport type DiffType = 'added' | 'removed' | 'modified' | 'unchanged';\n\nexport interface FieldDiff {\n fieldName: string;\n diffType: DiffType;\n orderChanged?: { oldIndex: number; newIndex: number };\n changes?: {\n label?: { old: string; new: string };\n required?: { old: boolean; new: boolean };\n type?: { old: string; new: string };\n inputType?: { old: string; new: string };\n jsonType?: { old: string; new: string };\n defaultValue?: { old: unknown; new: unknown };\n minDate?: { old: string; new: string };\n maxDate?: { old: string; new: string };\n maxLength?: { old: number; new: number };\n multiple?: { old: boolean; new: boolean };\n isVisible?: { old: boolean; new: boolean };\n options?: {\n added: Array<{ value: string; label: string }>;\n removed: Array<{ value: string; label: string }>;\n modified: Array<{\n value: string;\n changes: { label?: { old: string; new: string } };\n }>;\n };\n nestedFields?: FieldDiff[];\n };\n}\n\nexport interface FormDiff {\n added: string[];\n removed: string[];\n modified: string[];\n unchanged: string[];\n reordered: string[];\n fieldDiffs: Map<string, FieldDiff>;\n}\n\nconst validateField = (field: JSFField): boolean => {\n if (!field.name) {\n console.warn('Field missing required \"name\" property:', field);\n return false;\n }\n if (!field.type) {\n console.warn(`Field \"${field.name}\" missing required \"type\" property`);\n return false;\n }\n return true;\n};\n\nconst compareOptions = (\n options1: JSFField['options'],\n options2: JSFField['options'],\n):\n | {\n added: Array<{ value: string; label: string }>;\n removed: Array<{ value: string; label: string }>;\n modified: Array<{\n value: string;\n changes: { label?: { old: string; new: string } };\n }>;\n }\n | undefined => {\n if (equal(options1, options2)) return undefined;\n\n const map1 = new Map((options1 || []).map((o) => [o.value, o]));\n const map2 = new Map((options2 || []).map((o) => [o.value, o]));\n\n const added: Array<{ value: string; label: string }> = [];\n const removed: Array<{ value: string; label: string }> = [];\n const modified: Array<{\n value: string;\n changes: { label?: { old: string; new: string } };\n }> = [];\n\n map2.forEach((option, value) => {\n if (!map1.has(value)) {\n added.push({ value: option.value, label: option.label });\n }\n });\n\n map1.forEach((option1, value) => {\n if (!map2.has(value)) {\n removed.push({ value: option1.value, label: option1.label });\n } else {\n const option2 = map2.get(value)!;\n if (!equal(option1, option2)) {\n const changes: { label?: { old: string; new: string } } = {};\n if (option1.label !== option2.label) {\n changes.label = { old: option1.label, new: option2.label };\n }\n if (Object.keys(changes).length > 0) {\n modified.push({ value, changes });\n }\n }\n }\n });\n\n if (added.length === 0 && removed.length === 0 && modified.length === 0) {\n return undefined;\n }\n\n return { added, removed, modified };\n};\n\nconst compareNestedFields = (\n field1: JSFField,\n field2: JSFField,\n): FieldDiff[] | undefined => {\n const nestedFields1 = (field1 as $TSFixMe).fields;\n\n const nestedFields2 = (field2 as $TSFixMe).fields;\n\n if (!nestedFields1 && !nestedFields2) return undefined;\n\n const nestedDiff = compareFormFields(\n nestedFields1 || [],\n nestedFields2 || [],\n );\n\n const hasChanges =\n nestedDiff.added.length > 0 ||\n nestedDiff.removed.length > 0 ||\n nestedDiff.modified.length > 0 ||\n nestedDiff.reordered.length > 0;\n\n if (!hasChanges) return undefined;\n\n return Array.from(nestedDiff.fieldDiffs.values());\n};\n\nconst isFieldModified = (\n field1: JSFField,\n field2: JSFField,\n index1: number,\n index2: number,\n): boolean => {\n if (index1 !== index2) {\n return true;\n }\n\n // Only compare user-facing schema properties, not internal/computed ones\n // Ignore: schema (Yup), computedAttributes, scopedJsonSchema, errorMessage, meta, description\n // Note: nested fields are checked via compareNestedFields to avoid deep equal with problematic properties\n const checks = {\n label: field1.label !== field2.label,\n required: field1.required !== field2.required,\n inputType: field1.inputType !== field2.inputType,\n type: field1.type !== field2.type,\n jsonType: !equal(field1.jsonType, field2.jsonType), // Use equal since jsonType can be an array like ['string', 'null']\n name: field1.name !== field2.name,\n defaultValue: field1.defaultValue !== field2.defaultValue,\n minDate: field1.minDate !== field2.minDate,\n maxDate: field1.maxDate !== field2.maxDate,\n maxLength: field1.maxLength !== field2.maxLength,\n multiple: field1.multiple !== field2.multiple,\n isVisible: field1.isVisible !== field2.isVisible,\n options: !equal(field1.options, field2.options),\n };\n\n // Check for nested field changes using compareNestedFields to avoid deep isEqual\n const hasNestedChanges = (() => {\n const nestedFields1 = (field1 as $TSFixMe).fields;\n const nestedFields2 = (field2 as $TSFixMe).fields;\n\n // If both undefined or null, no changes\n if (!nestedFields1 && !nestedFields2) return false;\n\n // If one is defined and the other isn't, there's a change\n if (!nestedFields1 || !nestedFields2) return true;\n\n // Recursively compare using our proper comparison logic\n const nestedDiff = compareFormFields(nestedFields1, nestedFields2);\n return (\n nestedDiff.added.length > 0 ||\n nestedDiff.removed.length > 0 ||\n nestedDiff.modified.length > 0 ||\n nestedDiff.reordered.length > 0\n );\n })();\n\n const isModified =\n Object.values(checks).some((check) => check) || hasNestedChanges;\n\n return isModified;\n};\n\nconst getFieldChanges = (field1: JSFField, field2: JSFField) => {\n const changes: FieldDiff['changes'] = {};\n\n if (field1.label !== field2.label) {\n changes.label = { old: field1.label, new: field2.label };\n }\n\n if (field1.required !== field2.required) {\n changes.required = { old: field1.required, new: field2.required };\n }\n\n if (field1.type !== field2.type) {\n changes.type = { old: field1.type, new: field2.type };\n }\n\n if (field1.inputType !== field2.inputType) {\n changes.inputType = {\n old: field1.inputType,\n new: field2.inputType,\n };\n }\n\n if (!equal(field1.jsonType, field2.jsonType)) {\n changes.jsonType = {\n old: field1.jsonType,\n new: field2.jsonType,\n };\n }\n\n if (!equal(field1.defaultValue, field2.defaultValue)) {\n changes.defaultValue = {\n old: field1.defaultValue,\n new: field2.defaultValue,\n };\n }\n\n if (field1.minDate !== field2.minDate) {\n changes.minDate = {\n old: field1.minDate || '',\n new: field2.minDate || '',\n };\n }\n\n if (field1.maxDate !== field2.maxDate) {\n changes.maxDate = {\n old: field1.maxDate || '',\n new: field2.maxDate || '',\n };\n }\n\n if (field1.maxLength !== field2.maxLength) {\n changes.maxLength = {\n old: field1.maxLength || 0,\n new: field2.maxLength || 0,\n };\n }\n\n if (field1.multiple !== field2.multiple) {\n changes.multiple = {\n old: field1.multiple || false,\n new: field2.multiple || false,\n };\n }\n\n if (field1.isVisible !== field2.isVisible) {\n changes.isVisible = {\n old: field1.isVisible,\n new: field2.isVisible,\n };\n }\n\n const optionsDiff = compareOptions(field1.options, field2.options);\n if (optionsDiff) {\n changes.options = optionsDiff;\n }\n\n const nestedFieldsDiff = compareNestedFields(field1, field2);\n if (nestedFieldsDiff) {\n changes.nestedFields = nestedFieldsDiff;\n }\n\n return Object.keys(changes).length > 0 ? changes : undefined;\n};\n\nexport const compareFormFields = (\n fields1: JSFField[] = [],\n fields2: JSFField[] = [],\n): FormDiff => {\n const validFields1 = fields1.filter(validateField);\n const validFields2 = fields2.filter(validateField);\n\n const fieldMap1 = new Map(\n validFields1.map((f, i) => [f.name, { field: f, index: i }]),\n );\n const fieldMap2 = new Map(\n validFields2.map((f, i) => [f.name, { field: f, index: i }]),\n );\n\n const added: string[] = [];\n const removed: string[] = [];\n const modified: string[] = [];\n const unchanged: string[] = [];\n const reordered: string[] = [];\n const fieldDiffs = new Map<string, FieldDiff>();\n\n fieldMap2.forEach((_, name) => {\n if (!fieldMap1.has(name)) {\n added.push(name);\n fieldDiffs.set(name, {\n fieldName: name,\n diffType: 'added',\n });\n }\n });\n\n fieldMap1.forEach(({ field: field1, index: index1 }, name) => {\n if (!fieldMap2.has(name)) {\n removed.push(name);\n fieldDiffs.set(name, {\n fieldName: name,\n diffType: 'removed',\n });\n } else {\n const { field: field2, index: index2 } = fieldMap2.get(name)!;\n\n if (isFieldModified(field1, field2, index1, index2)) {\n const onlyPositionChanged =\n index1 !== index2 && !isFieldModified(field1, field2, index1, index1);\n\n if (onlyPositionChanged) {\n reordered.push(name);\n fieldDiffs.set(name, {\n fieldName: name,\n diffType: 'unchanged',\n orderChanged: { oldIndex: index1, newIndex: index2 },\n });\n } else {\n modified.push(name);\n fieldDiffs.set(name, {\n fieldName: name,\n diffType: 'modified',\n orderChanged:\n index1 !== index2\n ? { oldIndex: index1, newIndex: index2 }\n : undefined,\n changes: getFieldChanges(field1, field2),\n });\n }\n } else {\n unchanged.push(name);\n fieldDiffs.set(name, {\n fieldName: name,\n diffType: 'unchanged',\n });\n }\n }\n });\n\n return {\n added,\n removed,\n modified,\n unchanged,\n reordered,\n fieldDiffs,\n };\n};\n\nexport const getDiffStyles = (\n diffType: DiffType,\n hasOrderChange?: boolean,\n): string => {\n if (hasOrderChange && diffType === 'unchanged') {\n return 'bg-blue-50 border-l-4 border-blue-500';\n }\n\n switch (diffType) {\n case 'added':\n return 'bg-green-50 border-l-4 border-green-500';\n case 'removed':\n return 'bg-red-50 border-l-4 border-red-500';\n case 'modified':\n return 'bg-yellow-50 border-l-4 border-yellow-500';\n case 'unchanged':\n default:\n return '';\n }\n};\n","import { JSONSchemaFormFields } from '@/src/components/form/JSONSchemaForm';\nimport { Form } from '@/src/components/ui/form';\nimport { useForm } from 'react-hook-form';\nimport {\n Card,\n CardContent,\n CardHeader,\n CardTitle,\n} from '@/src/components/ui/card';\nimport type { JSFField, JSFFieldset } from '@/src/types/remoteFlows';\nimport { compareFormFields, getDiffStyles } from './formDiffDetector';\nimport { useMemo, useRef, useEffect } from 'react';\n\ninterface SchemaFormComparisonProps {\n topVersion: string | number;\n bottomVersion: string | number;\n topFields: JSFField[];\n bottomFields: JSFField[];\n topFieldsets?: JSFFieldset | null;\n bottomFieldsets?: JSFFieldset | null;\n isLoading?: boolean;\n}\n\nconst FieldWrapper = ({\n children,\n diffType,\n orderChanged,\n changes,\n}: {\n children: React.ReactNode;\n diffType: 'added' | 'removed' | 'modified' | 'unchanged';\n fieldName: string;\n orderChanged?: { oldIndex: number; newIndex: number };\n changes?: {\n label?: { old: string; new: string };\n required?: { old: boolean; new: boolean };\n type?: { old: string; new: string };\n inputType?: { old: string; new: string };\n jsonType?: { old: string; new: string };\n defaultValue?: { old: unknown; new: unknown };\n minDate?: { old: string; new: string };\n maxDate?: { old: string; new: string };\n maxLength?: { old: number; new: number };\n multiple?: { old: boolean; new: boolean };\n isVisible?: { old: boolean; new: boolean };\n options?: {\n added: Array<{ value: string; label: string }>;\n removed: Array<{ value: string; label: string }>;\n modified: Array<{\n value: string;\n changes: { label?: { old: string; new: string } };\n }>;\n };\n nestedFields?: unknown[];\n };\n}) => {\n const styles = getDiffStyles(diffType, !!orderChanged);\n\n if (diffType === 'unchanged' && !orderChanged) {\n return <div>{children}</div>;\n }\n\n const badges = {\n added: (\n <span className='text-xs font-semibold text-green-700 bg-green-100 px-2 py-1 rounded'>\n NEW\n </span>\n ),\n removed: (\n <span className='text-xs font-semibold text-red-700 bg-red-100 px-2 py-1 rounded'>\n REMOVED\n </span>\n ),\n modified: (\n <span className='text-xs font-semibold text-yellow-700 bg-yellow-100 px-2 py-1 rounded'>\n MODIFIED\n </span>\n ),\n };\n\n const reorderedBadge = orderChanged && diffType === 'unchanged' && (\n <span className='text-xs font-semibold text-blue-700 bg-blue-100 px-2 py-1 rounded'>\n MOVED\n </span>\n );\n\n const badge =\n reorderedBadge || (diffType !== 'unchanged' && badges[diffType]);\n\n const renderChanges = () => {\n if (!changes || diffType !== 'modified') return null;\n\n const changesList: React.ReactNode[] = [];\n\n if (changes.label) {\n changesList.push(\n <div key='label' className='text-xs'>\n <span className='font-semibold'>Label:</span>{' '}\n <span className='line-through text-red-600'>{changes.label.old}</span>{' '}\n → <span className='text-green-600'>{changes.label.new}</span>\n </div>,\n );\n }\n\n if (changes.required) {\n changesList.push(\n <div key='required' className='text-xs'>\n <span className='font-semibold'>Required:</span>{' '}\n <span className='line-through text-red-600'>\n {changes.required.old ? 'Yes' : 'No'}\n </span>{' '}\n →{' '}\n <span className='text-green-600'>\n {changes.required.new ? 'Yes' : 'No'}\n </span>\n </div>,\n );\n }\n\n if (changes.type) {\n changesList.push(\n <div key='type' className='text-xs'>\n <span className='font-semibold'>Type:</span>{' '}\n <span className='line-through text-red-600'>{changes.type.old}</span>{' '}\n → <span className='text-green-600'>{changes.type.new}</span>\n </div>,\n );\n }\n\n if (changes.inputType) {\n changesList.push(\n <div key='inputType' className='text-xs'>\n <span className='font-semibold'>Input Type:</span>{' '}\n <span className='line-through text-red-600'>\n {changes.inputType.old}\n </span>{' '}\n → <span className='text-green-600'>{changes.inputType.new}</span>\n </div>,\n );\n }\n\n if (changes.jsonType) {\n const oldJsonType = Array.isArray(changes.jsonType.old)\n ? changes.jsonType.old.join(' | ')\n : changes.jsonType.old;\n const newJsonType = Array.isArray(changes.jsonType.new)\n ? changes.jsonType.new.join(' | ')\n : changes.jsonType.new;\n\n changesList.push(\n <div key='jsonType' className='text-xs'>\n <span className='font-semibold'>JSON Type:</span>{' '}\n <span className='line-through text-red-600'>{oldJsonType}</span> →{' '}\n <span className='text-green-600'>{newJsonType}</span>\n </div>,\n );\n }\n\n if (changes.defaultValue !== undefined) {\n changesList.push(\n <div key='defaultValue' className='text-xs'>\n <span className='font-semibold'>Default Value:</span>{' '}\n <span className='line-through text-red-600'>\n {JSON.stringify(changes.defaultValue.old)}\n </span>{' '}\n →{' '}\n <span className='text-green-600'>\n {JSON.stringify(changes.defaultValue.new)}\n </span>\n </div>,\n );\n }\n\n if (changes.options) {\n if (changes.options.added.length > 0) {\n changesList.push(\n <div key='options-added' className='text-xs'>\n <span className='font-semibold text-green-700'>Options Added:</span>{' '}\n {changes.options.added.map((opt) => opt.label).join(', ')}\n </div>,\n );\n }\n if (changes.options.removed.length > 0) {\n changesList.push(\n <div key='options-removed' className='text-xs'>\n <span className='font-semibold text-red-700'>Options Removed:</span>{' '}\n {changes.options.removed.map((opt) => opt.label).join(', ')}\n </div>,\n );\n }\n if (changes.options.modified.length > 0) {\n changesList.push(\n <div key='options-modified' className='text-xs'>\n <span className='font-semibold'>Options Modified:</span>{' '}\n {changes.options.modified.length} option(s)\n </div>,\n );\n }\n }\n\n if (changes.nestedFields && changes.nestedFields.length > 0) {\n changesList.push(\n <div key='nestedFields' className='text-xs'>\n <span className='font-semibold'>Nested Fields:</span>{' '}\n {changes.nestedFields.length} field(s) changed\n </div>,\n );\n }\n\n if (changesList.length === 0) return null;\n\n return (\n <div className='mt-2 p-2 bg-yellow-50 rounded border border-yellow-200 space-y-1'>\n <div className='text-xs font-semibold text-yellow-800 mb-1'>\n Changes:\n </div>\n {changesList}\n </div>\n );\n };\n\n return (\n <div className={`p-3 mb-2 rounded ${styles} relative`}>\n <div className='absolute top-2 right-2'>\n {badge}\n {orderChanged && diffType !== 'unchanged' && (\n <span className='ml-2 text-xs text-gray-600'>(position changed)</span>\n )}\n </div>\n {children}\n {renderChanges()}\n </div>\n );\n};\n\nconst FormPanel = ({\n version,\n fields,\n fieldsets,\n diffMap,\n title,\n scrollRef,\n}: {\n version: string | number;\n fields: JSFField[];\n fieldsets?: JSFFieldset | null;\n diffMap: Map<\n string,\n {\n diffType: 'added' | 'removed' | 'modified' | 'unchanged';\n orderChanged?: { oldIndex: number; newIndex: number };\n changes?: unknown;\n }\n >;\n title: string;\n scrollRef?: React.RefObject<HTMLDivElement | null>;\n}) => {\n const form = useForm({\n mode: 'onBlur',\n });\n\n const fieldsWithWrappers = useMemo(() => {\n return fields.map((field) => {\n const diff = diffMap.get(field.name);\n const diffType = diff?.diffType || 'unchanged';\n const orderChanged = diff?.orderChanged;\n const changes = diff?.changes;\n\n return {\n ...field,\n WrapperComponent: ({ children }: { children: React.ReactNode }) => (\n <FieldWrapper\n diffType={diffType}\n fieldName={field.name}\n orderChanged={orderChanged}\n changes={changes as never}\n >\n {children}\n </FieldWrapper>\n ),\n };\n });\n }, [fields, diffMap]);\n\n return (\n <Card className='h-full'>\n <CardHeader>\n <CardTitle>\n {title} - Version {version}\n </CardTitle>\n </CardHeader>\n <CardContent ref={scrollRef} className='overflow-y-auto max-h-[600px]'>\n <Form {...form}>\n <form className='space-y-4'>\n <JSONSchemaFormFields\n fields={fieldsWithWrappers}\n fieldsets={fieldsets}\n fieldValues={{}}\n />\n </form>\n </Form>\n </CardContent>\n </Card>\n );\n};\n\nexport const SchemaFormComparison = ({\n topVersion,\n bottomVersion,\n topFields,\n bottomFields,\n topFieldsets,\n bottomFieldsets,\n isLoading,\n}: SchemaFormComparisonProps) => {\n const diff = useMemo(\n () => compareFormFields(topFields, bottomFields),\n [topFields, bottomFields],\n );\n\n const leftScrollRef = useRef<HTMLDivElement>(null);\n const rightScrollRef = useRef<HTMLDivElement>(null);\n const isSyncing = useRef(false);\n\n useEffect(() => {\n const leftEl = leftScrollRef.current;\n const rightEl = rightScrollRef.current;\n\n if (!leftEl || !rightEl) return;\n\n const handleLeftScroll = () => {\n if (isSyncing.current) return;\n isSyncing.current = true;\n rightEl.scrollTop = leftEl.scrollTop;\n requestAnimationFrame(() => {\n isSyncing.current = false;\n });\n };\n\n const handleRightScroll = () => {\n if (isSyncing.current) return;\n isSyncing.current = true;\n leftEl.scrollTop = rightEl.scrollTop;\n requestAnimationFrame(() => {\n isSyncing.current = false;\n });\n };\n\n leftEl.addEventListener('scroll', handleLeftScroll);\n rightEl.addEventListener('scroll', handleRightScroll);\n\n return () => {\n leftEl.removeEventListener('scroll', handleLeftScroll);\n rightEl.removeEventListener('scroll', handleRightScroll);\n };\n }, [topFields, bottomFields]);\n\n if (isLoading) {\n return (\n <div className='flex items-center justify-center h-96'>\n <div className='text-center'>\n <div className='animate-spin rounded-full h-12 w-12 border-b-2 border-gray-900 mx-auto'></div>\n <p className='mt-4 text-gray-600'>Loading schemas...</p>\n </div>\n </div>\n );\n }\n\n const hasNoDifferences =\n diff.added.length === 0 &&\n diff.removed.length === 0 &&\n diff.modified.length === 0 &&\n diff.reordered.length === 0;\n\n return (\n <div className='space-y-6'>\n <Card>\n <CardContent className='pt-6'>\n {hasNoDifferences ? (\n <p className='text-center text-gray-600'>\n No differences detected between the two versions\n </p>\n ) : (\n <div className='flex gap-6 justify-center'>\n {diff.added.length > 0 && (\n <div className='flex items-center gap-2'>\n <span className='w-4 h-4 bg-green-500 rounded'></span>\n <span className='text-sm'>\n {diff.added.length} field{diff.added.length > 1 ? 's' : ''}{' '}\n added\n </span>\n </div>\n )}\n {diff.removed.length > 0 && (\n <div className='flex items-center gap-2'>\n <span className='w-4 h-4 bg-red-500 rounded'></span>\n <span className='text-sm'>\n {diff.removed.length} field\n {diff.removed.length > 1 ? 's' : ''} removed\n </span>\n </div>\n )}\n {diff.modified.length > 0 && (\n <div className='flex items-center gap-2'>\n <span className='w-4 h-4 bg-yellow-500 rounded'></span>\n <span className='text-sm'>\n {diff.modified.length} field\n {diff.modified.length > 1 ? 's' : ''} modified\n </span>\n </div>\n )}\n {diff.reordered.length > 0 && (\n <div className='flex items-center gap-2'>\n <span className='w-4 h-4 bg-blue-500 rounded'></span>\n <span className='text-sm'>\n {diff.reordered.length} field\n {diff.reordered.length > 1 ? 's' : ''} reordered\n </span>\n </div>\n )}\n </div>\n )}\n </CardContent>\n </Card>\n\n <div className='grid grid-cols-2 gap-6'>\n <FormPanel\n version={topVersion}\n fields={topFields}\n fieldsets={topFieldsets}\n diffMap={diff.fieldDiffs}\n title='Left'\n scrollRef={leftScrollRef}\n />\n <FormPanel\n version={bottomVersion}\n fields={bottomFields}\n fieldsets={bottomFieldsets}\n diffMap={diff.fieldDiffs}\n title='Right'\n scrollRef={rightScrollRef}\n />\n </div>\n </div>\n );\n};\n","export type SchemaVersion = number | 'latest';\n\nexport interface VersionOption {\n value: SchemaVersion;\n label: string;\n}\n\nexport const BASIC_INFO_VERSIONS: VersionOption[] = [\n { value: 1, label: 'v1 (Legacy)' },\n { value: 3, label: 'v3 (Recommended)' },\n { value: 'latest', label: 'Latest' },\n];\n\n// AI generated from tiger\nexport const COUNTRY_CONTRACT_VERSIONS: Record<string, VersionOption[]> = {\n ALB: [{ value: 'latest', label: 'Latest' }],\n ARE: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 'latest', label: 'Latest' },\n ],\n ARG: [{ value: 'latest', label: 'Latest' }],\n ARM: [{ value: 'latest', label: 'Latest' }],\n AUS: [{ value: 'latest', label: 'Latest' }],\n AUT: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n BEL: [{ value: 'latest', label: 'Latest' }],\n BGD: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 'latest', label: 'Latest' },\n ],\n BGR: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 'latest', label: 'Latest' },\n ],\n BIH: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 'latest', label: 'Latest' },\n ],\n BLR: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n BOL: [{ value: 'latest', label: 'Latest' }],\n BRA: [{ value: 'latest', label: 'Latest' }],\n CAN: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n CHE: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n CHL: [{ value: 'latest', label: 'Latest' }],\n CHN: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 'latest', label: 'Latest' },\n ],\n COL: [{ value: 'latest', label: 'Latest' }],\n CRI: [{ value: 'latest', label: 'Latest' }],\n CYP: [{ value: 'latest', label: 'Latest' }],\n CZE: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n DEU: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 'latest', label: 'Latest' },\n ],\n DNK: [{ value: 'latest', label: 'Latest' }],\n DOM: [{ value: 'latest', label: 'Latest' }],\n ECU: [{ value: 'latest', label: 'Latest' }],\n EGY: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n ESP: [{ value: 'latest', label: 'Latest' }],\n EST: [{ value: 'latest', label: 'Latest' }],\n FIN: [{ value: 'latest', label: 'Latest' }],\n FRA: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n FRA_SAS: [{ value: 'latest', label: 'Latest' }],\n GBR: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n GEO: [{ value: 'latest', label: 'Latest' }],\n GRC: [{ value: 'latest', label: 'Latest' }],\n GTM: [{ value: 'latest', label: 'Latest' }],\n HKG: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n HND: [{ value: 'latest', label: 'Latest' }],\n HRV: [{ value: 'latest', label: 'Latest' }],\n HUN: [{ value: 'latest', label: 'Latest' }],\n IDN: [{ value: 'latest', label: 'Latest' }],\n IND: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n IRL: [{ value: 'latest', label: 'Latest' }],\n ISL: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n ISR: [{ value: 'latest', label: 'Latest' }],\n ITA: [{ value: 'latest', label: 'Latest' }],\n ITA_APL: [{ value: 'latest', label: 'Latest' }],\n JAM: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n JPN: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n KEN: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n KGZ: [{ value: 'latest', label: 'Latest' }],\n KHM: [{ value: 'latest', label: 'Latest' }],\n KOR: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 'latest', label: 'Latest' },\n ],\n LBN: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n LKA: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 'latest', label: 'Latest' },\n ],\n LTU: [{ value: 'latest', label: 'Latest' }],\n LUX: [{ value: 'latest', label: 'Latest' }],\n LVA: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n MAR: [{ value: 'latest', label: 'Latest' }],\n MDA: [{ value: 'latest', label: 'Latest' }],\n MEX: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n MKD: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 'latest', label: 'Latest' },\n ],\n MLT: [{ value: 'latest', label: 'Latest' }],\n MNG: [{ value: 'latest', label: 'Latest' }],\n MUS: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n MYS: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n NGA: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n NIC: [{ value: 'latest', label: 'Latest' }],\n NLD: [{ value: 'latest', label: 'Latest' }],\n NOR: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n NZL: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n PAK: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n PAN: [{ value: 'latest', label: 'Latest' }],\n PER: [{ value: 'latest', label: 'Latest' }],\n PHL: [{ value: 'latest', label: 'Latest' }],\n POL: [{ value: 'latest', label: 'Latest' }],\n PRI: [{ value: 'latest', label: 'Latest' }],\n PRT: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 'latest', label: 'Latest' },\n ],\n PRY: [{ value: 'latest', label: 'Latest' }],\n ROU: [{ value: 'latest', label: 'Latest' }],\n SAU: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n SGP: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n SLV: [{ value: 'latest', label: 'Latest' }],\n SRB: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 'latest', label: 'Latest' },\n ],\n SVK: [{ value: 'latest', label: 'Latest' }],\n SVN: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 'latest', label: 'Latest' },\n ],\n SWE: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n THA: [\n { value: 1, label: 'v1' },\n { value: 'latest', label: 'Latest' },\n ],\n TUN: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 'latest', label: 'Latest' },\n ],\n TUR: [{ value: 'latest', label: 'Latest' }],\n TWN: [{ value: 'latest', label: 'Latest' }],\n UGA: [{ value: 'latest', label: 'Latest' }],\n UKR: [{ value: 'latest', label: 'Latest' }],\n URY: [{ value: 'latest', label: 'Latest' }],\n USA: [{ value: 'latest', label: 'Latest' }],\n VNM: [{ value: 'latest', label: 'Latest' }],\n XKX: [{ value: 'latest', label: 'Latest' }],\n ZAF: [{ value: 'latest', label: 'Latest' }],\n ZWE: [{ value: 'latest', label: 'Latest' }],\n};\n\nexport const COUNTRY_CONTRACT_VERSIONS_WITH_MULTIPLE_VERSIONS =\n Object.fromEntries(\n Object.entries(COUNTRY_CONTRACT_VERSIONS).filter(\n ([, versions]) => versions.length > 1,\n ),\n ) as Record<string, VersionOption[]>;\n\nexport const FORM_TYPES = [\n { value: 'employment_basic_information', label: 'Basic Information' },\n { value: 'contract_details', label: 'Contract Details' },\n] as const;\n\nexport type FormType = (typeof FORM_TYPES)[number]['value'];\n"],"mappings":"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","names":["CollapsiblePrimitive","Collapsible","CollapsibleTrigger","CollapsibleContent","TabsPrimitive","jsx","Tabs","className","props","cn","__name","TabsList","TabsTrigger","TabsContent","React","ScrollAreaPrimitive","jsx","jsxs","ScrollArea","className","children","props","ref","cn","ScrollBar","orientation","useState","useEffect","useMemo","useQuery","equal","validateField","__name","field","compareOptions","options1","options2","equal","map1","o","map2","added","removed","modified","option","value","option1","option2","changes","compareNestedFields","field1","field2","nestedFields1","nestedFields2","nestedDiff","compareFormFields","isFieldModified","index1","index2","checks","hasNestedChanges","check","getFieldChanges","optionsDiff","nestedFieldsDiff","fields1","fields2","validFields1","validFields2","fieldMap1","f","i","fieldMap2","unchanged","reordered","fieldDiffs","_","name","getDiffStyles","diffType","hasOrderChange","useMemo","useRef","useEffect","jsx","jsxs","FieldWrapper","__name","children","diffType","orderChanged","changes","styles","getDiffStyles","badge","renderChanges","changesList","oldJsonType","newJsonType","opt","FormPanel","version","fields","fieldsets","diffMap","title","scrollRef","form","useForm","fieldsWithWrappers","useMemo","field","diff","Card","CardHeader","CardTitle","CardContent","Form","JSONSchemaFormFields","SchemaFormComparison","topVersion","bottomVersion","topFields","bottomFields","topFieldsets","bottomFieldsets","isLoading","compareFormFields","leftScrollRef","useRef","rightScrollRef","isSyncing","useEffect","leftEl","rightEl","handleLeftScroll","handleRightScroll","hasNoDifferences","BASIC_INFO_VERSIONS","COUNTRY_CONTRACT_VERSIONS","COUNTRY_CONTRACT_VERSIONS_WITH_MULTIPLE_VERSIONS","versions","FORM_TYPES","jsx","jsxs","JsonSchemaComparison","__name","formType","setFormType","useState","topVersion","setTopVersion","bottomVersion","setBottomVersion","countryCode","setCountryCode","client","useClient","countriesData","useQuery","countriesOptions","response","country","COUNTRY_CONTRACT_VERSIONS_WITH_MULTIPLE_VERSIONS","isContractDetails","topSchema","isLoadingTop","useJSONSchemaForm","bottomSchema","isLoadingBottom","isLoading","countryVersions","COUNTRY_CONTRACT_VERSIONS","hasCountryMapping","versionOptions","useMemo","BASIC_INFO_VERSIONS","useEffect","availableVersionValues","v","Card","CardHeader","CardTitle","CardContent","Label","Tabs","value","TabsList","FORM_TYPES","type","TabsTrigger","Select","SelectTrigger","SelectValue","SelectContent","SelectItem","version","SchemaFormComparison"]}
@@ -1,2 +0,0 @@
1
- import{c as m}from"./chunk-FFVTWWGX.js";import{b as f}from"./chunk-626FTNKA.js";import{a as n}from"./chunk-P37U34EQ.js";import{createHeadlessForm as a,modify as u}from"@remoteoss/remote-json-schema-form-kit";var c=n((e,o,t)=>{if(t&&t.jsfModify){let{required:i,allOf:r,...s}=t.jsfModify,{schema:l}=u(e,s);e=l,i&&(e.required=[...l.required,...i]),r&&(e.allOf=[...l.allOf||[],...r])}let d={};o&&(d=f(e.properties||{},"money").reduce((r,s)=>(r[s]=m(o[s]),r),{}));let F=JSON.parse(JSON.stringify({...o,...d}));return{meta:{"x-jsf-fieldsets":e["x-jsf-fieldsets"]},...a(e,{initialValues:F})}},"createHeadlessForm");export{c as a};
2
- //# sourceMappingURL=chunk-JMDINYDB.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/common/createHeadlessForm.tsx"],"sourcesContent":["import { FieldValues } from 'react-hook-form';\nimport {\n createHeadlessForm as baseCreateHeadlessForm,\n FormResult,\n modify,\n} from '@remoteoss/remote-json-schema-form-kit';\nimport { convertToCents } from '@/src/components/form/utils';\nimport { JSFModify } from '@/src/flows/types';\nimport { findFieldsByType } from '@/src/flows/utils';\nimport { JSFFieldset } from '@/src/types/remoteFlows';\n\ntype CreateHeadlessFormResult = FormResult & {\n meta: {\n 'x-jsf-fieldsets': JSFFieldset;\n };\n};\n\n/*\n * Creates a headless form from a JSON Schema, useful to avoid code duplication when creating headless forms.\n * @param jsfSchema - The JSON Schema\n * @param fieldValues - The field values\n * @param options - The options\n * @returns The headless form\n */\nexport const createHeadlessForm = (\n jsfSchema: Record<string, unknown>,\n fieldValues?: FieldValues,\n options?: { jsfModify?: JSFModify },\n): CreateHeadlessFormResult => {\n if (options && options.jsfModify) {\n const { required, allOf, ...modifyConfig } = options.jsfModify;\n const { schema } = modify(jsfSchema, modifyConfig);\n jsfSchema = schema;\n\n if (required) {\n jsfSchema.required = [...schema.required, ...required];\n }\n\n if (allOf) {\n jsfSchema.allOf = [...(schema.allOf || []), ...allOf];\n }\n }\n\n let moneyFieldsData: Record<string, number | null> = {};\n\n if (fieldValues) {\n const moneyFields = findFieldsByType(jsfSchema.properties || {}, 'money');\n moneyFieldsData = moneyFields.reduce<Record<string, number | null>>(\n (acc, field) => {\n acc[field] = convertToCents(fieldValues[field]);\n return acc;\n },\n {},\n );\n }\n\n /**\n * We create a deep copy of the field values to avoid modifying the original object.\n * This problem is caused by json-schema-form-v0.\n */\n const initialValues = JSON.parse(\n JSON.stringify({\n ...fieldValues,\n ...moneyFieldsData,\n }),\n );\n\n return {\n meta: {\n 'x-jsf-fieldsets': jsfSchema['x-jsf-fieldsets'] as JSFFieldset,\n },\n ...baseCreateHeadlessForm(jsfSchema, {\n initialValues,\n }),\n };\n};\n"],"mappings":"wHACA,OACE,sBAAsBA,EAEtB,UAAAC,MACK,yCAmBA,IAAMC,EAAqBC,EAAA,CAChCC,EACAC,EACAC,IAC6B,CAC7B,GAAIA,GAAWA,EAAQ,UAAW,CAChC,GAAM,CAAE,SAAAC,EAAU,MAAAC,EAAO,GAAGC,CAAa,EAAIH,EAAQ,UAC/C,CAAE,OAAAI,CAAO,EAAIC,EAAOP,EAAWK,CAAY,EACjDL,EAAYM,EAERH,IACFH,EAAU,SAAW,CAAC,GAAGM,EAAO,SAAU,GAAGH,CAAQ,GAGnDC,IACFJ,EAAU,MAAQ,CAAC,GAAIM,EAAO,OAAS,CAAC,EAAI,GAAGF,CAAK,EAExD,CAEA,IAAII,EAAiD,CAAC,EAElDP,IAEFO,EADoBC,EAAiBT,EAAU,YAAc,CAAC,EAAG,OAAO,EAC1C,OAC5B,CAACU,EAAKC,KACJD,EAAIC,CAAK,EAAIC,EAAeX,EAAYU,CAAK,CAAC,EACvCD,GAET,CAAC,CACH,GAOF,IAAMG,EAAgB,KAAK,MACzB,KAAK,UAAU,CACb,GAAGZ,EACH,GAAGO,CACL,CAAC,CACH,EAEA,MAAO,CACL,KAAM,CACJ,kBAAmBR,EAAU,iBAAiB,CAChD,EACA,GAAGc,EAAuBd,EAAW,CACnC,cAAAa,CACF,CAAC,CACH,CACF,EAnDkC","names":["baseCreateHeadlessForm","modify","createHeadlessForm","__name","jsfSchema","fieldValues","options","required","allOf","modifyConfig","schema","modify","moneyFieldsData","findFieldsByType","acc","field","convertToCents","initialValues","baseCreateHeadlessForm"]}
@@ -1,2 +0,0 @@
1
- import{b as u}from"./chunk-PGWKJ6FK.js";import{b as p}from"./chunk-KFYWUBRS.js";import{a as F}from"./chunk-4EDPYN5F.js";import{f as l,h as c}from"./chunk-72RFYT5Y.js";import{b as f}from"./chunk-OSQ6VUDM.js";import{a}from"./chunk-P37U34EQ.js";import{useEffect as y}from"react";import{jsx as S}from"react/jsx-runtime";import{createElement as O}from"react";function x({defaultValues:m,onSubmit:b,components:g}){let{formId:E,onboardingBag:o}=u(),k=p(o.handleValidation),n=l({resolver:k,defaultValues:m,shouldUnregister:!1,mode:"onBlur"});y(()=>{o.employmentId&&o?.checkFieldUpdates(n.getValues())},[]),y(()=>{let t=n?.watch(e=>{Object.keys(e).some(s=>e[s]!==m[s])&&o?.checkFieldUpdates(e)});return()=>t?.unsubscribe()},[]);let w=a(async(t,e)=>{let i=e?.nativeEvent;if(i?.isDraftSubmission){let{onSuccess:s,onError:d}=i.draftCallbacks;try{let r=await o.onSubmit(t);if(r?.data)s?.();else if(r?.error){let h=o.stepState.currentStep.name,P=o.meta?.fields?.[h],B=f(r?.fieldErrors||[],P);d?.({error:r.error,rawError:r.rawError,fieldErrors:B})}}catch(r){d?.({error:r,rawError:r,fieldErrors:[]})}}else await b(t)},"handleSubmit");return O(c,{...n,key:`form-${o.stepState.currentStep.name}`},S("form",{id:E,onSubmit:n.handleSubmit(w),className:"space-y-4 RemoteFlows__OnboardingForm",children:S(F,{components:g,fields:o.fields,fieldsets:o.meta.fieldsets,fieldValues:o.fieldValues})}))}a(x,"OnboardingForm");export{x as a};
2
- //# sourceMappingURL=chunk-JWP4HAIS.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/Onboarding/components/OnboardingForm.tsx"],"sourcesContent":["import { JSONSchemaFormFields } from '@/src/components/form/JSONSchemaForm';\nimport { Form } from '@/src/components/ui/form';\nimport { useEffect } from 'react';\nimport { useOnboardingContext } from '@/src/flows/Onboarding/context';\nimport { useForm } from 'react-hook-form';\nimport { useJsonSchemasValidationFormResolver } from '@/src/components/form/validationResolver';\nimport { JSFFields } from '@/src/types/remoteFlows';\nimport {\n BasicInformationFormPayload,\n BenefitsFormPayload,\n ContractDetailsFormPayload,\n} from '@/src/flows/Onboarding/types';\nimport { $TSFixMe, Components } from '@/src/types/remoteFlows';\nimport { normalizeFieldErrors } from '@/src/lib/mutations';\n\ntype OnboardingFormProps = {\n onSubmit: (\n payload:\n | BasicInformationFormPayload\n | BenefitsFormPayload\n | ContractDetailsFormPayload,\n ) => Promise<void>;\n components?: Components;\n fields?: JSFFields;\n defaultValues: Record<string, unknown>;\n};\n\nexport function OnboardingForm({\n defaultValues,\n onSubmit,\n components,\n}: OnboardingFormProps) {\n const { formId, onboardingBag } = useOnboardingContext();\n\n const resolver = useJsonSchemasValidationFormResolver(\n onboardingBag.handleValidation,\n );\n\n const form = useForm({\n resolver,\n defaultValues,\n shouldUnregister: false,\n mode: 'onBlur',\n });\n\n useEffect(() => {\n // When the employmentId is set,\n // we need to run the checkFieldUpdates to update fieldValues in useStepState\n if (onboardingBag.employmentId) {\n onboardingBag?.checkFieldUpdates(form.getValues());\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n const subscription = form?.watch((values) => {\n const isAnyFieldDirty = Object.keys(values).some(\n (key) =>\n values[key as keyof unknown] !== defaultValues[key as keyof unknown],\n );\n if (isAnyFieldDirty) {\n onboardingBag?.checkFieldUpdates(values);\n }\n });\n return () => subscription?.unsubscribe();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const handleSubmit = async (\n values: Record<string, unknown>,\n event?: React.BaseSyntheticEvent,\n ) => {\n const nativeEvent = event?.nativeEvent as $TSFixMe;\n\n if (nativeEvent?.isDraftSubmission) {\n // Handle draft submission\n const { onSuccess, onError } = nativeEvent.draftCallbacks;\n\n try {\n // Submit the form\n const response = await onboardingBag.onSubmit(values);\n\n if (response?.data) {\n onSuccess?.();\n } else if (response?.error) {\n const currentStepName = onboardingBag.stepState.currentStep.name;\n\n // Get the appropriate fields based on current step\n const currentStepFields =\n onboardingBag.meta?.fields?.[\n currentStepName as keyof typeof onboardingBag.meta.fields\n ];\n\n const normalizedFieldErrors = normalizeFieldErrors(\n response?.fieldErrors || [],\n currentStepFields,\n );\n onError?.({\n error: response.error,\n rawError: response.rawError,\n fieldErrors: normalizedFieldErrors,\n });\n }\n } catch (error) {\n onError?.({\n error: error as Error,\n rawError: error as Record<string, unknown>,\n fieldErrors: [],\n });\n }\n } else {\n // Handle normal form submission\n await onSubmit(values);\n }\n };\n\n return (\n <Form {...form} key={`form-${onboardingBag.stepState.currentStep.name}`}>\n <form\n id={formId}\n onSubmit={form.handleSubmit(handleSubmit)}\n className='space-y-4 RemoteFlows__OnboardingForm'\n >\n <JSONSchemaFormFields\n components={components}\n fields={onboardingBag.fields}\n fieldsets={onboardingBag.meta.fieldsets}\n fieldValues={onboardingBag.fieldValues}\n />\n </form>\n </Form>\n );\n}\n"],"mappings":"kPAEA,OAAS,aAAAA,MAAiB,QAyHlB,cAAAC,MAAA,oBANJ,wBAAAC,MAAA,QA1FG,SAASC,EAAe,CAC7B,cAAAC,EACA,SAAAC,EACA,WAAAC,CACF,EAAwB,CACtB,GAAM,CAAE,OAAAC,EAAQ,cAAAC,CAAc,EAAIC,EAAqB,EAEjDC,EAAWC,EACfH,EAAc,gBAChB,EAEMI,EAAOC,EAAQ,CACnB,SAAAH,EACA,cAAAN,EACA,iBAAkB,GAClB,KAAM,QACR,CAAC,EAEDU,EAAU,IAAM,CAGVN,EAAc,cAChBA,GAAe,kBAAkBI,EAAK,UAAU,CAAC,CAGrD,EAAG,CAAC,CAAC,EAELE,EAAU,IAAM,CACd,IAAMC,EAAeH,GAAM,MAAOI,GAAW,CACnB,OAAO,KAAKA,CAAM,EAAE,KACzCC,GACCD,EAAOC,CAAoB,IAAMb,EAAca,CAAoB,CACvE,GAEET,GAAe,kBAAkBQ,CAAM,CAE3C,CAAC,EACD,MAAO,IAAMD,GAAc,YAAY,CAEzC,EAAG,CAAC,CAAC,EAEL,IAAMG,EAAeC,EAAA,MACnBH,EACAI,IACG,CACH,IAAMC,EAAcD,GAAO,YAE3B,GAAIC,GAAa,kBAAmB,CAElC,GAAM,CAAE,UAAAC,EAAW,QAAAC,CAAQ,EAAIF,EAAY,eAE3C,GAAI,CAEF,IAAMG,EAAW,MAAMhB,EAAc,SAASQ,CAAM,EAEpD,GAAIQ,GAAU,KACZF,IAAY,UACHE,GAAU,MAAO,CAC1B,IAAMC,EAAkBjB,EAAc,UAAU,YAAY,KAGtDkB,EACJlB,EAAc,MAAM,SAClBiB,CACF,EAEIE,EAAwBC,EAC5BJ,GAAU,aAAe,CAAC,EAC1BE,CACF,EACAH,IAAU,CACR,MAAOC,EAAS,MAChB,SAAUA,EAAS,SACnB,YAAaG,CACf,CAAC,CACH,CACF,OAASE,EAAO,CACdN,IAAU,CACR,MAAOM,EACP,SAAUA,EACV,YAAa,CAAC,CAChB,CAAC,CACH,CACF,MAEE,MAAMxB,EAASW,CAAM,CAEzB,EA9CqB,gBAgDrB,OACEd,EAAC4B,EAAA,CAAM,GAAGlB,EAAM,IAAK,QAAQJ,EAAc,UAAU,YAAY,IAAI,IACnEP,EAAC,QACC,GAAIM,EACJ,SAAUK,EAAK,aAAaM,CAAY,EACxC,UAAU,wCAEV,SAAAjB,EAAC8B,EAAA,CACC,WAAYzB,EACZ,OAAQE,EAAc,OACtB,UAAWA,EAAc,KAAK,UAC9B,YAAaA,EAAc,YAC7B,EACF,CACF,CAEJ,CAzGgBW,EAAAhB,EAAA","names":["useEffect","jsx","createElement","OnboardingForm","defaultValues","onSubmit","components","formId","onboardingBag","useOnboardingContext","resolver","useJsonSchemasValidationFormResolver","form","useForm","useEffect","subscription","values","key","handleSubmit","__name","event","nativeEvent","onSuccess","onError","response","currentStepName","currentStepFields","normalizedFieldErrors","normalizeFieldErrors","error","Form","JSONSchemaFormFields"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/ContractorOnboarding/api.ts","../src/common/api/files.ts","../src/common/api/companies.ts","../src/common/api/identity.ts"],"sourcesContent":["import { FormResult } from '@remoteoss/remote-json-schema-form-kit';\nimport { useMemo } from 'react';\nimport {\n CreateContractDocument,\n getShowContractDocument,\n getShowContractorContractDetailsCountry,\n getIndexSubscription,\n ManageContractorPlusSubscriptionOperationsParams,\n postCreateContractDocument,\n postManageContractorPlusSubscriptionSubscription,\n postSignContractDocument,\n SignContractDocument,\n getIndexEmploymentContractDocument,\n EligibilityQuestionnaireJsonSchemaResponse,\n getShowEligibilityQuestionnaire,\n SubmitEligibilityQuestionnaireRequest,\n postCreateEligibilityQuestionnaire,\n postManageContractorCorSubscriptionSubscription,\n deleteDeleteContractorCorSubscriptionSubscription,\n getIndexContractorCurrency,\n Country,\n} from '@/src/client';\nimport { useClient } from '@/src/context';\nimport { signatureSchema } from '@/src/flows/ContractorOnboarding/json-schemas/signature';\nimport { selectContractorSubscriptionStepSchema } from '@/src/flows/ContractorOnboarding/json-schemas/selectContractorSubscriptionStep';\nimport {\n JSONSchemaFormResultWithFieldsets,\n FlowOptions,\n JSFModify,\n} from '@/src/flows/types';\nimport { clearBase64Data } from '@/src/lib/utils';\nimport { Client } from '@/src/client/client';\nimport { createHeadlessForm } from '@/src/common/createHeadlessForm';\nimport { useMutation, useQuery, UseQueryResult } from '@tanstack/react-query';\nimport { FieldValues } from 'react-hook-form';\nimport {\n contractorPlusProductIdentifier,\n contractorStandardProductIdentifier,\n corProductIdentifier,\n eorProductIdentifier,\n IR35_FILE_SUBTYPE,\n ProductType,\n} from '@/src/flows/ContractorOnboarding/constants';\nimport { $TSFixMe, JSFField } from '@/src/types/remoteFlows';\nimport { mutationToPromise } from '@/src/lib/mutations';\nimport {\n useDownloadFile,\n useEmploymentFiles,\n useUploadFile,\n} from '@/src/common/api/files';\nimport { convertFromCents } from '@/src/components/form/utils';\nimport { countriesOptions } from '@/src/common/api/countries';\nimport { selectCountryStepSchema } from '@/src/flows/Onboarding/json-schemas/selectCountryStep';\nimport { shouldIncludeProduct } from '@/src/flows/ContractorOnboarding/utils';\nimport { useCompanyPricingPlans } from '@/src/common/api/companies';\n\nconst useContractorCurrencies = ({\n employmentId,\n options,\n}: {\n employmentId: string;\n options?: { queryOptions?: { enabled?: boolean } };\n}) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['contractor-currencies', employmentId],\n queryFn: async () => {\n return getIndexContractorCurrency({\n client: client as Client,\n path: { employment_id: employmentId },\n query: {\n restrict_to_guaranteed_pay_out_currencies: false,\n },\n });\n },\n enabled: options?.queryOptions?.enabled,\n select: ({ data }) => {\n return data?.data;\n },\n });\n};\n\n/**\n * Get the contract document signature schema\n * @param fieldValues - The field values\n * @param options - The options\n * @returns The contract document signature schema\n */\nexport const useGetContractDocumentSignatureSchema = ({\n fieldValues,\n options,\n}: {\n fieldValues: FieldValues;\n options?: { queryOptions?: { enabled?: boolean }; jsfModify?: JSFModify };\n}) => {\n return useQuery({\n queryKey: [\n 'contract-document-signature',\n fieldValues.review_completed,\n options?.jsfModify,\n ],\n queryFn: async () => {\n return createHeadlessForm(signatureSchema, fieldValues, {\n jsfModify: options?.jsfModify,\n });\n },\n enabled: options?.queryOptions?.enabled,\n });\n};\n\n/**\n * Signs the contract document\n * @param employmentId - The employment ID\n * @param contractDocumentId - The contract document ID\n * @param payload - The payload\n * @returns The signed contract document\n */\nexport const useSignContractDocument = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: async ({\n employmentId,\n contractDocumentId,\n payload,\n }: {\n employmentId: string;\n contractDocumentId: string;\n payload: SignContractDocument;\n }) => {\n return postSignContractDocument({\n client: client as Client,\n body: payload,\n path: {\n employment_id: employmentId,\n contract_document_id: contractDocumentId,\n },\n });\n },\n });\n};\n\n/**\n * Get the contract document for a given employment and contract document ID\n * @param employmentId - The employment ID\n * @param contractDocumentId - The contract document ID\n * @returns The contract document\n */\nexport const useGetShowContractDocument = ({\n employmentId,\n contractDocumentId,\n options,\n}: {\n employmentId: string;\n contractDocumentId: string;\n options?: { queryOptions?: { enabled?: boolean }; jsfModify?: JSFModify };\n}) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['contract-document', employmentId, contractDocumentId],\n queryFn: async () => {\n return getShowContractDocument({\n client: client as Client,\n path: { employment_id: employmentId, id: contractDocumentId },\n });\n },\n enabled: options?.queryOptions?.enabled,\n select: ({ data }) => {\n return {\n ...data?.data,\n contract_document: {\n ...data?.data?.contract_document,\n content: clearBase64Data(\n data?.data?.contract_document?.content as $TSFixMe,\n ),\n },\n };\n },\n });\n};\n\n/**\n * Get the contractor subscriptions for the given employment id\n * @param employmentId - The employment ID\n * @returns The contractor subscriptions available\n */\nexport const useGetContractorSubscriptions = ({\n employmentId,\n options,\n}: {\n employmentId: string;\n options?: { queryOptions?: { enabled?: boolean } };\n}) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['contractor-subscriptions', employmentId],\n queryFn: async () => {\n return getIndexSubscription({\n client: client as Client,\n path: { employment_id: employmentId },\n });\n },\n enabled: options?.queryOptions?.enabled,\n select: ({ data }) => {\n return data?.data;\n },\n });\n};\n\n/**\n * Upgrade or downgrade contractor subscription\n */\nexport const usePostManageContractorSubscriptions = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: async ({\n employmentId,\n payload,\n }: {\n employmentId: string;\n payload: ManageContractorPlusSubscriptionOperationsParams;\n }) => {\n return postManageContractorPlusSubscriptionSubscription({\n client: client as Client,\n body: payload,\n path: {\n employment_id: employmentId,\n },\n });\n },\n });\n};\n\n/**\n * Saves the contractor details data\n * @param employmentId - The employment ID\n * @param payload - The payload\n * @returns The contractor contract document\n */\nexport const useCreateContractorContractDocument = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: async ({\n employmentId,\n payload,\n }: {\n employmentId: string;\n payload: CreateContractDocument;\n }) => {\n return postCreateContractDocument({\n client: client as Client,\n body: payload,\n path: {\n employment_id: employmentId,\n },\n });\n },\n });\n};\n\n/**\n * Get the contractor onboarding details schema for a given country\n * @param countryCode - The country code\n * @param fieldValues - The field values\n * @param options - The options\n * @returns The contractor onboarding details schema\n */\nconst useContractorOnboardingDetailsSchema = ({\n countryCode,\n employmentId,\n fieldValues,\n options,\n}: {\n countryCode: string;\n fieldValues: FieldValues;\n employmentId: string;\n options?: FlowOptions & { queryOptions?: { enabled?: boolean } };\n query?: Record<string, unknown>;\n}): UseQueryResult<JSONSchemaFormResultWithFieldsets> => {\n const { client } = useClient();\n return useQuery({\n queryKey: [\n 'contractor-onboarding-details-schema',\n countryCode,\n employmentId,\n ],\n retry: false,\n queryFn: async () => {\n return getShowContractorContractDetailsCountry({\n client: client as Client,\n path: { country_code: countryCode },\n query: {\n json_schema_version: 1,\n employment_id: employmentId,\n },\n });\n },\n enabled: options?.queryOptions?.enabled,\n select: ({ data }) => {\n const jsfSchema = data?.data?.schema || {};\n return createHeadlessForm(jsfSchema, fieldValues, options);\n },\n });\n};\n\nexport const CONTRACT_PRODUCT_TITLES = {\n [contractorStandardProductIdentifier]: 'Contractor Management',\n [contractorPlusProductIdentifier]: 'Contractor Management Plus',\n [corProductIdentifier]: 'Contractor of Record',\n};\n\nconst useEorSubscription = (options?: { enabled?: boolean }) => {\n const { data: pricingPlans, isLoading: isLoadingPricingPlans } =\n useCompanyPricingPlans({\n enabled: options?.enabled,\n });\n\n const eorPricingPlan = pricingPlans?.find(\n (plan) => plan.product.name === 'EOR Monthly',\n );\n\n const eorSubscription = {\n product: {\n identifier: eorProductIdentifier,\n short_name: 'EOR',\n },\n currency: eorPricingPlan?.price.currency,\n price: {\n amount: convertFromCents(eorPricingPlan?.price.amount ?? 0),\n },\n features: [\n 'Contract between Remote and employee',\n 'Remote manages onboarding, payroll, and compliance',\n 'Manages taxes, benefits, and time-off tracking',\n 'Handles contracts, transfers, and terminations',\n ],\n description: 'Enables hiring in countries without a local entity',\n label: 'Employer of Record',\n value: eorProductIdentifier,\n };\n\n return { eorSubscription, isLoading: isLoadingPricingPlans };\n};\n\ntype SelectedCountry =\n | (Pick<Country, 'eor_onboarding' | 'contractor_products_available'> & {\n label: string;\n })\n | undefined;\n\nconst addEorToFieldOptions = (\n fieldOptions: $TSFixMe[],\n eorSubscription: ReturnType<typeof useEorSubscription>['eorSubscription'],\n excludeProducts?: ProductType[],\n) => {\n if (shouldIncludeProduct(eorProductIdentifier, excludeProducts)) {\n fieldOptions.push({\n label: eorSubscription.label,\n value: eorSubscription.value,\n description: eorSubscription.description,\n meta: {\n features: eorSubscription.features,\n price: {\n amount: eorSubscription.price.amount,\n currencyCode: eorSubscription.currency?.code ?? '',\n },\n },\n disabled: false,\n });\n }\n return fieldOptions;\n};\n\nexport const useContractorSubscriptionSchemaField = (\n employmentId: string,\n selectedCountry: SelectedCountry,\n options?: FlowOptions & {\n queryOptions?: { enabled?: boolean };\n excludeProducts?: ProductType[];\n },\n) => {\n const {\n data: contractorSubscriptions,\n isLoading: isLoading,\n refetch,\n } = useGetContractorSubscriptions({\n employmentId: employmentId,\n options: {\n queryOptions: options?.queryOptions,\n },\n });\n\n const isEmptyContractorSubscriptions = contractorSubscriptions?.length === 0;\n\n const isSingleSubscription = contractorSubscriptions?.length === 1;\n\n const corSubscription = contractorSubscriptions?.find(\n (subscription) => subscription.product.short_name === 'COR',\n );\n\n const isEligibilityQuestionnaireBlocked =\n corSubscription?.eligibility_questionnaire?.is_blocking;\n\n const showEorSubscription =\n (isSingleSubscription ||\n isEligibilityQuestionnaireBlocked === true ||\n isEmptyContractorSubscriptions) &&\n selectedCountry?.eor_onboarding;\n\n const { eorSubscription, isLoading: isLoadingEorSubscription } =\n useEorSubscription({\n enabled: showEorSubscription,\n });\n\n const form = createHeadlessForm(\n selectContractorSubscriptionStepSchema.data.schema,\n {},\n options,\n );\n\n if (contractorSubscriptions) {\n const field: JSFField | undefined = form.fields.find(\n (field) => field.name === 'subscription',\n ) as JSFField | undefined;\n\n if (field) {\n // Start with contractor management options\n const contractorOptions = contractorSubscriptions\n .filter((opts) =>\n shouldIncludeProduct(\n opts.product.identifier ?? '',\n options?.excludeProducts,\n ),\n )\n .map((opts) => {\n const product = opts.product;\n const price = opts.price.amount;\n const currencyCode = opts.currency.code;\n const title =\n CONTRACT_PRODUCT_TITLES[\n product.identifier as keyof typeof CONTRACT_PRODUCT_TITLES\n ] ?? '';\n const label = title;\n const value = product.identifier ?? '';\n const description = product.description ?? '';\n const features = product.features ?? [];\n const meta = {\n features,\n price: {\n amount: convertFromCents(price),\n currencyCode: currencyCode,\n },\n };\n return {\n label,\n value,\n description,\n meta,\n disabled:\n isEligibilityQuestionnaireBlocked &&\n product.identifier !== contractorStandardProductIdentifier,\n };\n });\n\n // Sort contractor options\n contractorOptions.sort((a, b) => a.label.localeCompare(b.label));\n\n // Build otherSubscriptions (EOR) with separator metadata\n const otherOptions: $TSFixMe[] = [];\n if (showEorSubscription) {\n addEorToFieldOptions(\n otherOptions as unknown as $TSFixMe[],\n eorSubscription,\n options?.excludeProducts,\n );\n\n // Add separator metadata to first \"other\" option\n // only the first option to avoid problems when iterating over the options\n if (otherOptions.length > 0) {\n otherOptions[0].meta = {\n ...otherOptions[0].meta,\n groupSeparator: {\n show: true,\n },\n };\n }\n }\n\n // Combine all options into the single field\n field.options = [...contractorOptions, ...otherOptions];\n }\n }\n\n return {\n isLoading: isLoading || isLoadingEorSubscription,\n form,\n contractorSubscriptions,\n refetch,\n isEligibilityQuestionnaireBlocked,\n };\n};\n\nexport const useUpdateUKandSaudiFields = (\n createContractorContractDocumentMutation: ReturnType<\n typeof useCreateContractorContractDocument\n >,\n uploadFileMutation: ReturnType<typeof useUploadFile>,\n parsedValues: FieldValues,\n) => {\n const { mutateAsyncOrThrow: uploadFileMutationAsync } =\n mutationToPromise(uploadFileMutation);\n const { mutateAsyncOrThrow: createContractorContractDocumentMutationAsync } =\n mutationToPromise(createContractorContractDocumentMutation);\n\n return {\n mutateAsync: async ({ employmentId }: { employmentId: string }) => {\n const {\n nationality_status: nationalityStatus,\n ir35: ir35Status,\n ir35_sds_file: ir35SdsFile,\n } = parsedValues;\n const ir35ContractDetailsPayload = {\n contract_document: {\n ir_35: ir35Status,\n },\n };\n const nationalityContractDetailsPayload = {\n contract_document: {\n nationality: nationalityStatus,\n },\n };\n if (ir35Status) {\n await createContractorContractDocumentMutationAsync({\n employmentId: employmentId,\n payload: ir35ContractDetailsPayload,\n });\n\n if (ir35SdsFile) {\n return uploadFileMutationAsync({\n employment_id: employmentId,\n file: ir35SdsFile,\n sub_type: IR35_FILE_SUBTYPE,\n });\n }\n return Promise.resolve();\n }\n // nationality status is sent for the countries SAU, KWT, OMN, QAT, BHR\n if (nationalityStatus) {\n return createContractorContractDocumentMutationAsync({\n employmentId: employmentId,\n payload: nationalityContractDetailsPayload,\n });\n }\n\n return Promise.resolve();\n },\n };\n};\n\nexport const useGetIR35File = (\n employmentId: string,\n options?: { enabled?: boolean },\n) => {\n const { data: ir35Files, isLoading: isLoadingFiles } = useEmploymentFiles(\n employmentId,\n {\n sub_type: IR35_FILE_SUBTYPE,\n },\n {\n ...options,\n select: ({ data }) =>\n data?.files?.filter((file) => file.sub_type === IR35_FILE_SUBTYPE),\n },\n );\n const id = ir35Files?.[0]?.id;\n\n const downloadQuery = useDownloadFile(id as string);\n\n return {\n ...downloadQuery,\n isLoading: isLoadingFiles || downloadQuery.isLoading,\n };\n};\n\n/**\n * Get the contract documents for a given employment\n * @param employmentId - The employment ID\n * @param options - The options\n * @returns The contract documents\n */\nexport const useGetContractDocuments = (\n employmentId: string,\n options?: { enabled?: boolean },\n) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['contract-documents', employmentId],\n queryFn: async () => {\n return getIndexEmploymentContractDocument({\n client: client as Client,\n path: { employment_id: employmentId },\n });\n },\n enabled: options?.enabled,\n select: ({ data }) => {\n return data?.data?.contract_documents;\n },\n });\n};\n\nexport const useGetEligibilityQuestionnaire = ({\n options,\n fieldValues,\n}: {\n options?: FlowOptions & { queryOptions?: { enabled?: boolean } };\n fieldValues: FieldValues;\n}) => {\n const { client } = useClient();\n return useQuery<\n EligibilityQuestionnaireJsonSchemaResponse['data'],\n Error,\n FormResult\n >({\n queryKey: ['eligibility-questionnaire'],\n queryFn: async (): Promise<\n EligibilityQuestionnaireJsonSchemaResponse['data']\n > => {\n const response = await getShowEligibilityQuestionnaire({\n client: client as Client,\n query: {\n type: 'contractor_of_record',\n json_schema_version: 1,\n },\n });\n\n // Extract the data from the response wrapper\n if (response.error) {\n throw new Error('Failed to fetch eligibility questionnaire');\n }\n\n return response.data\n .data as EligibilityQuestionnaireJsonSchemaResponse['data'];\n },\n select: (data: EligibilityQuestionnaireJsonSchemaResponse['data']) => {\n const schema = data?.schema || {};\n return createHeadlessForm(schema, fieldValues, {\n jsfModify: options?.jsfModify,\n });\n },\n enabled: options?.queryOptions?.enabled,\n });\n};\n\nexport const usePostCreateEligibilityQuestionnaire = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: async ({\n employmentId,\n payload,\n }: {\n employmentId: string;\n payload: SubmitEligibilityQuestionnaireRequest['responses'];\n }) => {\n return postCreateEligibilityQuestionnaire({\n client: client as Client,\n body: {\n employment_slug: employmentId,\n responses: payload,\n type: 'contractor_of_record',\n },\n query: {\n json_schema_version: 1, // TODO: json_schema_version should be dynamic but fixed for now\n },\n });\n },\n });\n};\n\nexport const usePostManageContractorCorSubscription = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: async ({ employmentId }: { employmentId: string }) => {\n return postManageContractorCorSubscriptionSubscription({\n client: client as Client,\n path: {\n employment_id: employmentId,\n },\n });\n },\n });\n};\n\nexport const useDeleteContractorCorSubscription = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: async ({ employmentId }: { employmentId: string }) => {\n return deleteDeleteContractorCorSubscriptionSubscription({\n client: client as Client,\n path: { employment_id: employmentId },\n });\n },\n });\n};\n\nexport const useCountriesSchemaField = (\n options?: Omit<FlowOptions, 'jsonSchemaVersion'> & {\n queryOptions?: { enabled?: boolean };\n },\n) => {\n const { client } = useClient();\n const { data: countries, isLoading } = useQuery({\n ...countriesOptions(client as Client, 'contractor-onboarding-countries'),\n select: (response) => {\n return (\n response.data?.data?.map((country) => {\n return {\n label: country.name,\n value: country.code,\n eor_onboarding: country.eor_onboarding,\n contractor_products_available:\n country.contractor_products_available,\n };\n }) || []\n );\n },\n enabled: options?.queryOptions?.enabled,\n });\n\n const selectCountryForm = createHeadlessForm(\n selectCountryStepSchema.data.schema,\n {},\n options,\n );\n\n if (countries) {\n const countryField = selectCountryForm.fields.find(\n (field) => field.name === 'country',\n );\n if (countryField) {\n countryField.options = countries;\n }\n }\n\n return {\n isLoading,\n selectCountryForm,\n countries,\n };\n};\n\n/**\n * Get contractor onboarding details schema with currency options overridden\n * from the getIndexContractorCurrency endpoint\n */\nexport const useContractorOnboardingDetailsSchemaWithCurrencies = ({\n countryCode,\n employmentId,\n fieldValues,\n options,\n}: {\n countryCode: string;\n fieldValues: FieldValues;\n employmentId: string;\n options?: FlowOptions & { queryOptions?: { enabled?: boolean } };\n}) => {\n const schemaQuery = useContractorOnboardingDetailsSchema({\n countryCode,\n employmentId,\n fieldValues,\n options,\n });\n\n const { data: currencies, isLoading: isLoadingCurrencies } =\n useContractorCurrencies({\n employmentId,\n options: {\n queryOptions: { enabled: options?.queryOptions?.enabled },\n },\n });\n\n const dataWithCurrencies = useMemo(() => {\n if (!schemaQuery.data || !currencies) {\n return schemaQuery.data;\n }\n\n const form = {\n ...schemaQuery.data,\n fields: schemaQuery.data.fields.map((field) => {\n if (field.name !== 'payment_terms') {\n return field;\n }\n\n return {\n ...field,\n fields: (field.fields as $TSFixMe[])?.map((nestedField: $TSFixMe) => {\n if (nestedField.name !== 'compensation_currency_code') {\n return nestedField;\n }\n\n // Return a new object with overridden options\n return {\n ...nestedField,\n options: currencies.map((currency) => ({\n label: currency.code,\n value: currency.code,\n meta: { source: currency.source },\n })),\n };\n }),\n };\n }),\n };\n\n return form;\n }, [schemaQuery.data, currencies]);\n\n return {\n ...schemaQuery,\n data: dataWithCurrencies as $TSFixMe,\n isLoading: schemaQuery.isLoading || isLoadingCurrencies,\n };\n};\n","import { useMutation, useQuery, UseQueryOptions } from '@tanstack/react-query';\nimport { Client } from '@/src/client/client';\nimport {\n getIndexEmploymentFile,\n getShowFile,\n postUploadEmployeeFileFile,\n} from '@/src/client/sdk.gen';\nimport {\n GetIndexEmploymentFileData,\n GetIndexEmploymentFileErrors,\n File as ApiFile,\n ListFilesResponse,\n PostUploadEmployeeFileFileData,\n} from '@/src/client/types.gen';\nimport { useClient } from '@/src/context';\n\n/**\n * Hook to upload a file associated with a specified employment.\n * @returns A mutation result for uploading employee files.\n */\nexport const useUploadFile = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: (params: PostUploadEmployeeFileFileData['body']) => {\n return postUploadEmployeeFileFile({\n client: client as Client,\n body: params,\n headers: {\n Authorization: ``,\n },\n });\n },\n });\n};\n\n/**\n * Hook to download a file by its ID.\n * @param id - The ID of the file to download.\n * @returns A query result containing the file data.\n */\nexport const useDownloadFile = (id: string) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['download-file', id],\n queryFn: async () => {\n const result = await getShowFile({\n client: client as Client,\n path: { id: id },\n });\n\n if (result.error) {\n throw result.error;\n }\n\n return result.data;\n },\n select: ({ data }) => data?.file,\n enabled: !!id,\n });\n};\n\n/**\n * Hook to retrieve files associated with a specific employment.\n * @param employmentId - The ID of the employment to retrieve files for.\n * @param queryParams - The query parameters to filter the files.\n * @param queryOptions - Optional TanStack Query options to customize the query behavior.\n * @returns A query result containing the employment files.\n */\nexport const useEmploymentFiles = (\n employmentId: string,\n queryParams: GetIndexEmploymentFileData['query'],\n queryOptions?: Omit<\n UseQueryOptions<\n ListFilesResponse,\n GetIndexEmploymentFileErrors,\n ApiFile[] | undefined,\n unknown[]\n >,\n 'queryKey' | 'queryFn'\n >,\n) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['employment-files', employmentId],\n queryFn: async () => {\n const result = await getIndexEmploymentFile({\n client: client as Client,\n path: { employment_id: employmentId },\n query: queryParams,\n });\n\n if (result.error) {\n throw result.error;\n }\n\n return result.data;\n },\n ...queryOptions,\n });\n};\n","import { useQuery } from '@tanstack/react-query';\nimport { useClient } from '@/src/context';\nimport {\n getIndexCompanyPricingPlan,\n IdentityCurrentResponse,\n} from '@/src/client';\nimport { Client } from '@/src/client/client';\nimport { useIdentity } from '@/src/common/api/identity';\n\nexport function hasCompany(\n identity: IdentityCurrentResponse['data'] | undefined,\n): identity is Extract<\n IdentityCurrentResponse['data'],\n { company: { id: string } }\n> {\n return identity != null && 'company' in identity;\n}\n\nexport const useCompanyPricingPlans = (\n queryOptions: { enabled?: boolean } = { enabled: true },\n) => {\n const { data: identity } = useIdentity();\n const companyId = hasCompany(identity) ? (identity?.company?.id ?? '') : '';\n const { client } = useClient();\n return useQuery({\n queryKey: ['pricing-plans', companyId],\n queryFn: () =>\n getIndexCompanyPricingPlan({\n client: client as Client,\n path: { company_id: companyId },\n }),\n select: (data) => data.data?.data?.pricing_plans,\n enabled: Boolean(queryOptions?.enabled) && !!companyId,\n });\n};\n","import { useQuery } from '@tanstack/react-query';\nimport { getCurrentIdentity } from '@/src/client';\nimport { useClient } from '@/src/context';\nimport { Client } from '@/src/client/client';\n\nexport const useIdentity = () => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['identity'],\n queryFn: () =>\n getCurrentIdentity({\n client: client as Client,\n headers: { Authorization: `` },\n }),\n select: (data) => data.data?.data,\n });\n};\n"],"mappings":"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","names":["useMemo","useMutation","useQuery","useMutation","useQuery","useUploadFile","__name","client","useClient","useMutation","params","postUploadEmployeeFileFile","useDownloadFile","id","useQuery","result","getShowFile","data","useEmploymentFiles","employmentId","queryParams","queryOptions","getIndexEmploymentFile","useQuery","useQuery","useIdentity","__name","client","useClient","useQuery","getCurrentIdentity","data","hasCompany","identity","__name","useCompanyPricingPlans","queryOptions","useIdentity","companyId","client","useClient","useQuery","getIndexCompanyPricingPlan","data","useContractorCurrencies","__name","employmentId","options","client","useClient","useQuery","getIndexContractorCurrency","data","useGetContractDocumentSignatureSchema","fieldValues","createHeadlessForm","signatureSchema","useSignContractDocument","useMutation","contractDocumentId","payload","postSignContractDocument","useGetShowContractDocument","getShowContractDocument","clearBase64Data","useGetContractorSubscriptions","getIndexSubscription","usePostManageContractorSubscriptions","postManageContractorPlusSubscriptionSubscription","useCreateContractorContractDocument","postCreateContractDocument","useContractorOnboardingDetailsSchema","countryCode","getShowContractorContractDetailsCountry","jsfSchema","CONTRACT_PRODUCT_TITLES","contractorStandardProductIdentifier","contractorPlusProductIdentifier","corProductIdentifier","useEorSubscription","pricingPlans","isLoadingPricingPlans","useCompanyPricingPlans","eorPricingPlan","plan","eorProductIdentifier","convertFromCents","addEorToFieldOptions","fieldOptions","eorSubscription","excludeProducts","shouldIncludeProduct","useContractorSubscriptionSchemaField","selectedCountry","contractorSubscriptions","isLoading","refetch","isEmptyContractorSubscriptions","isSingleSubscription","isEligibilityQuestionnaireBlocked","subscription","showEorSubscription","isLoadingEorSubscription","form","selectContractorSubscriptionStepSchema","field","contractorOptions","opts","product","price","currencyCode","label","value","description","meta","a","b","otherOptions","useUpdateUKandSaudiFields","createContractorContractDocumentMutation","uploadFileMutation","parsedValues","uploadFileMutationAsync","mutationToPromise","createContractorContractDocumentMutationAsync","nationalityStatus","ir35Status","ir35SdsFile","ir35ContractDetailsPayload","nationalityContractDetailsPayload","IR35_FILE_SUBTYPE","useGetIR35File","ir35Files","isLoadingFiles","useEmploymentFiles","file","id","downloadQuery","useDownloadFile","useGetContractDocuments","getIndexEmploymentContractDocument","useGetEligibilityQuestionnaire","response","getShowEligibilityQuestionnaire","schema","usePostCreateEligibilityQuestionnaire","postCreateEligibilityQuestionnaire","usePostManageContractorCorSubscription","postManageContractorCorSubscriptionSubscription","useDeleteContractorCorSubscription","deleteDeleteContractorCorSubscriptionSubscription","useCountriesSchemaField","countries","countriesOptions","country","selectCountryForm","selectCountryStepSchema","countryField","useContractorOnboardingDetailsSchemaWithCurrencies","schemaQuery","currencies","isLoadingCurrencies","dataWithCurrencies","useMemo","nestedField","currency"]}