@remoteoss/remote-flows 1.38.0 → 1.39.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 (360) hide show
  1. package/dist/CheckboxFieldDefault-O6OH63GG.js +2 -0
  2. package/dist/CountryFieldDefault-DVWWTDEO.js +2 -0
  3. package/dist/DatePickerFieldDefault-XY2SCOWG.js +2 -0
  4. package/dist/RadioGroupFieldDefault-4P4DRXR2.js +2 -0
  5. package/dist/TextAreaFieldDefault-A2LOPUE3.js +2 -0
  6. package/dist/{chunk-7LA5BB2B.js → chunk-25PGBGEV.js} +2 -2
  7. package/dist/{chunk-2U3YEDMJ.js → chunk-27TI6URK.js} +2 -2
  8. package/dist/{chunk-364BWIGF.js → chunk-2A25NRQT.js} +2 -2
  9. package/dist/{chunk-QXVSZGES.js → chunk-2DNWLRNL.js} +2 -2
  10. package/dist/{chunk-RI6WVJAN.js → chunk-3CLZOKEI.js} +2 -2
  11. package/dist/{chunk-7PWMPORC.js → chunk-4TNJXIDB.js} +2 -2
  12. package/dist/{chunk-FDRDJYLE.js → chunk-53TM77OU.js} +2 -2
  13. package/dist/{chunk-Z766UAJV.js → chunk-54Z4QJ3Q.js} +2 -2
  14. package/dist/{chunk-Y3LCGYNZ.js → chunk-5XVYIBJD.js} +2 -2
  15. package/dist/{chunk-K4VSUMEK.js → chunk-6HAWSFOM.js} +2 -2
  16. package/dist/{chunk-VCNVYTNL.js → chunk-76VZ4ARW.js} +2 -2
  17. package/dist/{chunk-M4DEXIKU.js → chunk-7BPB4PXN.js} +2 -2
  18. package/dist/{chunk-CTSRJIJT.js → chunk-A2WWDGJJ.js} +2 -2
  19. package/dist/{chunk-IBAXAO5O.js → chunk-ASTB4YJL.js} +2 -2
  20. package/dist/{chunk-Q6SKWBCE.js → chunk-AXDL47BE.js} +2 -2
  21. package/dist/{chunk-ZT4G43T6.js → chunk-BRI2ESJ3.js} +2 -2
  22. package/dist/{chunk-BJDI3F3E.js → chunk-BRN6MO77.js} +2 -2
  23. package/dist/{chunk-TLMAGDWY.js → chunk-CFOXBJRN.js} +2 -2
  24. package/dist/{chunk-6JARQJWW.js → chunk-DJGO6WYW.js} +2 -2
  25. package/dist/{chunk-UCBVPJDT.js → chunk-DNAPYU5I.js} +2 -2
  26. package/dist/{chunk-EJBZ2A6J.js → chunk-DRAQLW6C.js} +2 -2
  27. package/dist/chunk-EFC4EDTM.js +2 -0
  28. package/dist/chunk-EFC4EDTM.js.map +1 -0
  29. package/dist/{chunk-75SQ56WH.js → chunk-G556HMVA.js} +2 -2
  30. package/dist/{chunk-LSYVKGY6.js → chunk-GGLJSAPH.js} +2 -2
  31. package/dist/{chunk-ICC3M37M.js → chunk-GKYQ3GAF.js} +2 -2
  32. package/dist/chunk-GZUP2IE6.js +8 -0
  33. package/dist/chunk-GZUP2IE6.js.map +1 -0
  34. package/dist/{chunk-NX2H524O.js → chunk-H3JUXG2J.js} +2 -2
  35. package/dist/{chunk-TXAYTR6N.js → chunk-HAACNERA.js} +2 -2
  36. package/dist/{chunk-WKDDTXQF.js → chunk-HJOT7JXK.js} +2 -2
  37. package/dist/chunk-I3P3NKFG.js +2 -0
  38. package/dist/chunk-I3P3NKFG.js.map +1 -0
  39. package/dist/{chunk-QD5RXKCU.js → chunk-JSTCIALQ.js} +2 -2
  40. package/dist/{chunk-3GKLBQMY.js → chunk-KUKZNLCF.js} +2 -2
  41. package/dist/{chunk-JN73IKCN.js → chunk-L2V4ZYCZ.js} +2 -2
  42. package/dist/{chunk-HIYSMDGT.js → chunk-LD5KN4ZF.js} +2 -2
  43. package/dist/{chunk-QKTF3ZBO.js → chunk-LIPJXO2R.js} +2 -2
  44. package/dist/{chunk-PYOJLGIL.js → chunk-LOPZZUAF.js} +2 -2
  45. package/dist/{chunk-5DORW3VM.js → chunk-LTJSD2MC.js} +2 -2
  46. package/dist/{chunk-W2C6CHUD.js → chunk-LXKLBMHD.js} +2 -2
  47. package/dist/{chunk-BVP2GOFZ.js → chunk-MDOVS5WS.js} +2 -2
  48. package/dist/{chunk-DXKC3WUM.js → chunk-MHOV3CQN.js} +2 -2
  49. package/dist/{chunk-D4INQE6X.js → chunk-MUXNVLZO.js} +2 -2
  50. package/dist/{chunk-3VL4JCTR.js → chunk-NFIMSJPH.js} +2 -2
  51. package/dist/{chunk-GNRLGRTN.js → chunk-OBZMQWQA.js} +2 -2
  52. package/dist/{chunk-RVE2XO2W.js → chunk-OEVMCP42.js} +2 -2
  53. package/dist/{chunk-HOS6KZEY.js → chunk-OR6ZPNF6.js} +2 -2
  54. package/dist/{chunk-QBBJUUYN.js → chunk-PIHCHWI7.js} +2 -2
  55. package/dist/{chunk-XXZFBSLJ.js → chunk-PJ6KPGIE.js} +2 -2
  56. package/dist/chunk-PPRAWJMR.js +2 -0
  57. package/dist/chunk-PPRAWJMR.js.map +1 -0
  58. package/dist/{chunk-K5RHOXWA.js → chunk-Q2OGLLBA.js} +2 -2
  59. package/dist/{chunk-K5RHOXWA.js.map → chunk-Q2OGLLBA.js.map} +1 -1
  60. package/dist/{chunk-MK7NAW6K.js → chunk-Q5HDUQPX.js} +2 -2
  61. package/dist/{chunk-5SMVSM3S.js → chunk-Q6GJJRYG.js} +2 -2
  62. package/dist/{chunk-PPP6XC3U.js → chunk-QFXZTQL7.js} +2 -2
  63. package/dist/{chunk-IC2BQMCD.js → chunk-QSCW4IHJ.js} +2 -2
  64. package/dist/{chunk-EQLO2SSM.js → chunk-R3HBG6VK.js} +2 -2
  65. package/dist/{chunk-BHHHYKTD.js → chunk-SFJV4CFP.js} +2 -2
  66. package/dist/{chunk-ULTDVIA4.js → chunk-SMBP7A4F.js} +2 -2
  67. package/dist/{chunk-NKKKI6O4.js → chunk-TBGXSWRX.js} +2 -2
  68. package/dist/chunk-TJLXZ2ZK.js +2 -0
  69. package/dist/chunk-TJLXZ2ZK.js.map +1 -0
  70. package/dist/{chunk-PRJ2IR3N.js → chunk-TLNE6GTG.js} +2 -2
  71. package/dist/{chunk-A7KFLPTA.js → chunk-TMBDUFOH.js} +2 -2
  72. package/dist/{chunk-FCVOGSVO.js → chunk-TSZLYFYT.js} +2 -2
  73. package/dist/{chunk-AXOQAXG2.js → chunk-UD3YR4VQ.js} +2 -2
  74. package/dist/{chunk-XSIS74VG.js → chunk-UHN3ELBL.js} +2 -2
  75. package/dist/chunk-UYGDMJF2.js +2 -0
  76. package/dist/chunk-UYGDMJF2.js.map +1 -0
  77. package/dist/{chunk-QN4ONV3W.js → chunk-VDH46ZCF.js} +2 -2
  78. package/dist/{chunk-WEMLZAC6.js → chunk-VEMUIRKC.js} +2 -2
  79. package/dist/chunk-VQ5PL5E3.js +2 -0
  80. package/dist/chunk-VQ5PL5E3.js.map +1 -0
  81. package/dist/{chunk-SUBBGKWN.js → chunk-VTWVHO4F.js} +2 -2
  82. package/dist/{chunk-2CEH6UIC.js → chunk-WMJP2BO5.js} +2 -2
  83. package/dist/{chunk-S62CXCJB.js → chunk-XEVHWVBT.js} +2 -2
  84. package/dist/{chunk-5QEW5VR2.js → chunk-XV7SBFS5.js} +2 -2
  85. package/dist/chunk-XYCFKCVZ.js +2 -0
  86. package/dist/chunk-XYCFKCVZ.js.map +1 -0
  87. package/dist/{chunk-SV3ZPQRS.js → chunk-YVS5MBND.js} +2 -2
  88. package/dist/{chunk-NMCYAKUO.js → chunk-ZEC5X3RH.js} +2 -2
  89. package/dist/default-components.d.ts +2 -2
  90. package/dist/default-components.js +1 -1
  91. package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.d.ts +1 -1
  92. package/dist/flows/ContractAmendment/ContractAmendmentFlow.d.ts +3 -3
  93. package/dist/flows/ContractAmendment/ContractAmendmentFlow.js +1 -1
  94. package/dist/flows/ContractAmendment/ContractAmendmentForm.d.ts +1 -1
  95. package/dist/flows/ContractAmendment/ContractAmendmentForm.js +1 -1
  96. package/dist/flows/ContractAmendment/context.d.ts +3 -3
  97. package/dist/flows/ContractAmendment/hooks.d.ts +3 -3
  98. package/dist/flows/ContractAmendment/hooks.js +1 -1
  99. package/dist/flows/ContractAmendment/index.d.ts +3 -3
  100. package/dist/flows/ContractAmendment/index.js +1 -1
  101. package/dist/flows/ContractAmendment/types.d.ts +2 -2
  102. package/dist/flows/ContractAmendment/utils.d.ts +2 -2
  103. package/dist/flows/ContractorOnboarding/ContractorOnboarding.d.ts +6 -5
  104. package/dist/flows/ContractorOnboarding/ContractorOnboarding.js +1 -1
  105. package/dist/flows/ContractorOnboarding/api.d.ts +2 -2
  106. package/dist/flows/ContractorOnboarding/api.js +1 -1
  107. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.d.ts +5 -4
  108. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.js +1 -1
  109. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.d.ts +6 -5
  110. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.js +1 -1
  111. package/dist/flows/ContractorOnboarding/components/ContractPreviewHeader.d.ts +2 -2
  112. package/dist/flows/ContractorOnboarding/components/ContractPreviewStatement.d.ts +2 -2
  113. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.d.ts +6 -5
  114. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.js +1 -1
  115. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.d.ts +6 -5
  116. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.js +1 -1
  117. package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.d.ts +6 -5
  118. package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.js +1 -1
  119. package/dist/flows/ContractorOnboarding/components/OnboardingInvite.d.ts +3 -3
  120. package/dist/flows/ContractorOnboarding/components/OnboardingInvite.js +1 -1
  121. package/dist/flows/ContractorOnboarding/components/PricingPlan.d.ts +6 -5
  122. package/dist/flows/ContractorOnboarding/components/PricingPlan.js +1 -1
  123. package/dist/flows/ContractorOnboarding/components/SaveDraftButton.d.ts +3 -3
  124. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.d.ts +5 -4
  125. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.js +1 -1
  126. package/dist/flows/ContractorOnboarding/components/StatementOfWorkDisclaimer.js +1 -1
  127. package/dist/flows/ContractorOnboarding/constants.d.ts +2 -1
  128. package/dist/flows/ContractorOnboarding/constants.js +1 -1
  129. package/dist/flows/ContractorOnboarding/context.d.ts +6 -5
  130. package/dist/flows/ContractorOnboarding/hooks.d.ts +6 -5
  131. package/dist/flows/ContractorOnboarding/hooks.js +1 -1
  132. package/dist/flows/ContractorOnboarding/index.d.ts +6 -5
  133. package/dist/flows/ContractorOnboarding/index.js +1 -1
  134. package/dist/flows/ContractorOnboarding/jsfModify.d.ts +6 -5
  135. package/dist/flows/ContractorOnboarding/jsfModify.js +1 -1
  136. package/dist/flows/ContractorOnboarding/types.d.ts +6 -5
  137. package/dist/flows/ContractorOnboarding/utils.d.ts +5 -4
  138. package/dist/flows/ContractorOnboarding/utils.js +1 -1
  139. package/dist/flows/CostCalculator/CostCalculatorFlow.d.ts +3 -3
  140. package/dist/flows/CostCalculator/CostCalculatorFlow.js +1 -1
  141. package/dist/flows/CostCalculator/CostCalculatorForm.d.ts +3 -3
  142. package/dist/flows/CostCalculator/CostCalculatorForm.js +1 -1
  143. package/dist/flows/CostCalculator/EstimationResults/EstimationResults.d.ts +2 -2
  144. package/dist/flows/CostCalculator/EstimationResults/EstimationResults.js +1 -1
  145. package/dist/flows/CostCalculator/SummaryResults/SummaryResults.d.ts +2 -2
  146. package/dist/flows/CostCalculator/api.d.ts +2 -2
  147. package/dist/flows/CostCalculator/api.js +1 -1
  148. package/dist/flows/CostCalculator/components/SalaryField.d.ts +2 -2
  149. package/dist/flows/CostCalculator/components/SalaryField.js +1 -1
  150. package/dist/flows/CostCalculator/context.d.ts +3 -3
  151. package/dist/flows/CostCalculator/hooks.d.ts +3 -3
  152. package/dist/flows/CostCalculator/hooks.js +1 -1
  153. package/dist/flows/CostCalculator/index.d.ts +3 -3
  154. package/dist/flows/CostCalculator/index.js +1 -1
  155. package/dist/flows/CostCalculator/types.d.ts +2 -2
  156. package/dist/flows/CostCalculator/utils.d.ts +3 -3
  157. package/dist/flows/CostCalculator/utils.js +1 -1
  158. package/dist/flows/CreateCompany/CreateCompany.d.ts +4 -4
  159. package/dist/flows/CreateCompany/CreateCompany.js +1 -1
  160. package/dist/flows/CreateCompany/api.d.ts +2 -2
  161. package/dist/flows/CreateCompany/api.js +1 -1
  162. package/dist/flows/CreateCompany/components/AddressDetailsStep.d.ts +4 -4
  163. package/dist/flows/CreateCompany/components/AddressDetailsStep.js +1 -1
  164. package/dist/flows/CreateCompany/components/CompanyBasicInformationStep.d.ts +4 -4
  165. package/dist/flows/CreateCompany/components/CompanyBasicInformationStep.js +1 -1
  166. package/dist/flows/CreateCompany/components/CreateCompanyForm.d.ts +2 -2
  167. package/dist/flows/CreateCompany/components/CreateCompanyForm.js +1 -1
  168. package/dist/flows/CreateCompany/context.d.ts +4 -4
  169. package/dist/flows/CreateCompany/hooks.d.ts +4 -4
  170. package/dist/flows/CreateCompany/hooks.js +1 -1
  171. package/dist/flows/CreateCompany/index.d.ts +4 -4
  172. package/dist/flows/CreateCompany/index.js +1 -1
  173. package/dist/flows/CreateCompany/types.d.ts +4 -4
  174. package/dist/flows/Onboarding/OnboardingFlow.d.ts +5 -4
  175. package/dist/flows/Onboarding/OnboardingFlow.js +1 -1
  176. package/dist/flows/Onboarding/api.d.ts +22 -5
  177. package/dist/flows/Onboarding/api.js +1 -1
  178. package/dist/flows/Onboarding/components/AnnualGrossSalary.d.ts +2 -2
  179. package/dist/flows/Onboarding/components/AnnualGrossSalary.js +1 -1
  180. package/dist/flows/Onboarding/components/BasicInformationStep.d.ts +5 -4
  181. package/dist/flows/Onboarding/components/BasicInformationStep.js +1 -1
  182. package/dist/flows/Onboarding/components/BenefitsStep.d.ts +5 -4
  183. package/dist/flows/Onboarding/components/BenefitsStep.js +1 -1
  184. package/dist/flows/Onboarding/components/ContractDetailsStep.d.ts +5 -4
  185. package/dist/flows/Onboarding/components/ContractDetailsStep.js +1 -1
  186. package/dist/flows/Onboarding/components/EngagementAgreementDetailsStep.d.ts +5 -4
  187. package/dist/flows/Onboarding/components/EngagementAgreementDetailsStep.js +1 -1
  188. package/dist/flows/Onboarding/components/OnboardingForm.d.ts +5 -4
  189. package/dist/flows/Onboarding/components/OnboardingForm.js +1 -1
  190. package/dist/flows/Onboarding/components/OnboardingInvite.d.ts +3 -3
  191. package/dist/flows/Onboarding/components/OnboardingInvite.js +1 -1
  192. package/dist/flows/Onboarding/components/PreOnboardingRequirements.d.ts +2 -2
  193. package/dist/flows/Onboarding/components/PreOnboardingRequirements.js +1 -1
  194. package/dist/flows/Onboarding/components/PreviewEmploymentAgreementStep.d.ts +5 -0
  195. package/dist/flows/Onboarding/components/PreviewEmploymentAgreementStep.js +2 -0
  196. package/dist/flows/Onboarding/components/PreviewEmploymentAgreementStep.js.map +1 -0
  197. package/dist/flows/Onboarding/components/ReviewStep.d.ts +5 -4
  198. package/dist/flows/Onboarding/components/SaveDraftButton.d.ts +3 -3
  199. package/dist/flows/Onboarding/components/SelectCountryStep.d.ts +5 -4
  200. package/dist/flows/Onboarding/components/SelectCountryStep.js +1 -1
  201. package/dist/flows/Onboarding/context.d.ts +13 -4
  202. package/dist/flows/Onboarding/hooks.d.ts +5 -4
  203. package/dist/flows/Onboarding/hooks.js +1 -1
  204. package/dist/flows/Onboarding/index.d.ts +5 -4
  205. package/dist/flows/Onboarding/index.js +1 -1
  206. package/dist/flows/Onboarding/types.d.ts +5 -4
  207. package/dist/flows/Onboarding/utils.d.ts +5 -4
  208. package/dist/flows/Onboarding/utils.js +1 -1
  209. package/dist/flows/PayrollAdminOnboarding/PayrollAdminOnboardingFlow.d.ts +3 -3
  210. package/dist/flows/PayrollAdminOnboarding/PayrollAdminOnboardingFlow.js +1 -1
  211. package/dist/flows/PayrollAdminOnboarding/context.d.ts +3 -3
  212. package/dist/flows/PayrollAdminOnboarding/hooks.d.ts +3 -3
  213. package/dist/flows/PayrollAdminOnboarding/hooks.js +1 -1
  214. package/dist/flows/PayrollAdminOnboarding/index.d.ts +3 -3
  215. package/dist/flows/PayrollAdminOnboarding/index.js +1 -1
  216. package/dist/flows/PayrollAdminOnboarding/types.d.ts +3 -3
  217. package/dist/flows/PayrollEmployeeOnboarding/PayrollEmployeeOnboardingFlow.d.ts +3 -3
  218. package/dist/flows/PayrollEmployeeOnboarding/PayrollEmployeeOnboardingFlow.js +1 -1
  219. package/dist/flows/PayrollEmployeeOnboarding/context.d.ts +3 -3
  220. package/dist/flows/PayrollEmployeeOnboarding/hooks.d.ts +3 -3
  221. package/dist/flows/PayrollEmployeeOnboarding/hooks.js +1 -1
  222. package/dist/flows/PayrollEmployeeOnboarding/index.d.ts +3 -3
  223. package/dist/flows/PayrollEmployeeOnboarding/index.js +1 -1
  224. package/dist/flows/PayrollEmployeeOnboarding/types.d.ts +3 -3
  225. package/dist/flows/Termination/AdditionalDetailsForm.d.ts +4 -4
  226. package/dist/flows/Termination/AdditionalDetailsForm.js +1 -1
  227. package/dist/flows/Termination/EmployeeComunicationForm.d.ts +4 -4
  228. package/dist/flows/Termination/EmployeeComunicationForm.js +1 -1
  229. package/dist/flows/Termination/PaidTimeOffForm.d.ts +4 -4
  230. package/dist/flows/Termination/PaidTimeOffForm.js +1 -1
  231. package/dist/flows/Termination/TerminationDetailsForm.d.ts +4 -4
  232. package/dist/flows/Termination/TerminationDetailsForm.js +1 -1
  233. package/dist/flows/Termination/TerminationFlow.d.ts +4 -4
  234. package/dist/flows/Termination/TerminationFlow.js +1 -1
  235. package/dist/flows/Termination/TerminationForm.d.ts +4 -4
  236. package/dist/flows/Termination/TerminationForm.js +1 -1
  237. package/dist/flows/Termination/api.d.ts +6 -5
  238. package/dist/flows/Termination/api.js +1 -1
  239. package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformationFees.js +1 -1
  240. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.d.ts +7 -6
  241. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.d.ts +7 -6
  242. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.js +1 -1
  243. package/dist/flows/Termination/components/PaidTimeOff/types.d.ts +7 -6
  244. package/dist/flows/Termination/components/TerminationDialogInfoContent/TerminationDialogInfoContent.js +1 -1
  245. package/dist/flows/Termination/context.d.ts +4 -4
  246. package/dist/flows/Termination/hooks.d.ts +4 -4
  247. package/dist/flows/Termination/hooks.js +1 -1
  248. package/dist/flows/Termination/index.d.ts +7 -6
  249. package/dist/flows/Termination/index.js +1 -1
  250. package/dist/flows/Termination/json-schemas/schema.d.ts +4 -4
  251. package/dist/flows/Termination/types.d.ts +4 -4
  252. package/dist/flows/Termination/utils.d.ts +4 -4
  253. package/dist/flows/types.d.ts +2 -2
  254. package/dist/flows/utils.d.ts +2 -2
  255. package/dist/index.d.ts +14 -13
  256. package/dist/index.js +2 -2
  257. package/dist/index.js.map +1 -1
  258. package/dist/internals.d.ts +3 -3
  259. package/dist/internals.js +1 -1
  260. package/dist/{mutations-CPefKCdC.d.ts → mutations-DZjKx4tI.d.ts} +1 -1
  261. package/dist/{remoteFlows-B1M2nnXU.d.ts → remoteFlows-C4Vv3_7t.d.ts} +2 -2
  262. package/dist/{types-Cfw5Vxrf.d.ts → types---jTQSYP.d.ts} +1 -1
  263. package/dist/{types-C-GzLCum.d.ts → types-5jgrwYf3.d.ts} +2 -2
  264. package/dist/{types-CMhsLd2z.d.ts → types-Bptye63R.d.ts} +4 -4
  265. package/dist/{types-_qjUD5IB.d.ts → types-Buo22VR2.d.ts} +3 -3
  266. package/dist/{types-DnykEbcW.d.ts → types-Cjy498SD.d.ts} +1 -1
  267. package/dist/{types-Rq3fYvCx.d.ts → types-HUdcwxhs.d.ts} +20 -5
  268. package/dist/{types-C_FiV7L-.d.ts → types-STTuXABa.d.ts} +1 -1
  269. package/dist/{types.gen-BvwuV8Xa.d.ts → types.gen-CTQ9C-mR.d.ts} +10 -2
  270. package/dist/{utils-D16Gaxa8.d.ts → utils-B2zQN-4q.d.ts} +1 -1
  271. package/package.json +2 -2
  272. package/dist/CheckboxFieldDefault-UVDNXDAZ.js +0 -2
  273. package/dist/CountryFieldDefault-7BB2T3HH.js +0 -2
  274. package/dist/DatePickerFieldDefault-PKERP27N.js +0 -2
  275. package/dist/RadioGroupFieldDefault-KOQPKYX4.js +0 -2
  276. package/dist/TextAreaFieldDefault-W5ZL7LM7.js +0 -2
  277. package/dist/chunk-54BUOIAG.js +0 -2
  278. package/dist/chunk-54BUOIAG.js.map +0 -1
  279. package/dist/chunk-AMT36AZO.js +0 -2
  280. package/dist/chunk-AMT36AZO.js.map +0 -1
  281. package/dist/chunk-D6MFIXSJ.js +0 -2
  282. package/dist/chunk-D6MFIXSJ.js.map +0 -1
  283. package/dist/chunk-KOJMYRXN.js +0 -2
  284. package/dist/chunk-KOJMYRXN.js.map +0 -1
  285. package/dist/chunk-M7QPV7VS.js +0 -8
  286. package/dist/chunk-M7QPV7VS.js.map +0 -1
  287. package/dist/chunk-MPB6TYP2.js +0 -2
  288. package/dist/chunk-MPB6TYP2.js.map +0 -1
  289. package/dist/chunk-NZPB425W.js +0 -2
  290. package/dist/chunk-NZPB425W.js.map +0 -1
  291. /package/dist/{CheckboxFieldDefault-UVDNXDAZ.js.map → CheckboxFieldDefault-O6OH63GG.js.map} +0 -0
  292. /package/dist/{CountryFieldDefault-7BB2T3HH.js.map → CountryFieldDefault-DVWWTDEO.js.map} +0 -0
  293. /package/dist/{DatePickerFieldDefault-PKERP27N.js.map → DatePickerFieldDefault-XY2SCOWG.js.map} +0 -0
  294. /package/dist/{RadioGroupFieldDefault-KOQPKYX4.js.map → RadioGroupFieldDefault-4P4DRXR2.js.map} +0 -0
  295. /package/dist/{TextAreaFieldDefault-W5ZL7LM7.js.map → TextAreaFieldDefault-A2LOPUE3.js.map} +0 -0
  296. /package/dist/{chunk-7LA5BB2B.js.map → chunk-25PGBGEV.js.map} +0 -0
  297. /package/dist/{chunk-2U3YEDMJ.js.map → chunk-27TI6URK.js.map} +0 -0
  298. /package/dist/{chunk-364BWIGF.js.map → chunk-2A25NRQT.js.map} +0 -0
  299. /package/dist/{chunk-QXVSZGES.js.map → chunk-2DNWLRNL.js.map} +0 -0
  300. /package/dist/{chunk-RI6WVJAN.js.map → chunk-3CLZOKEI.js.map} +0 -0
  301. /package/dist/{chunk-7PWMPORC.js.map → chunk-4TNJXIDB.js.map} +0 -0
  302. /package/dist/{chunk-FDRDJYLE.js.map → chunk-53TM77OU.js.map} +0 -0
  303. /package/dist/{chunk-Z766UAJV.js.map → chunk-54Z4QJ3Q.js.map} +0 -0
  304. /package/dist/{chunk-Y3LCGYNZ.js.map → chunk-5XVYIBJD.js.map} +0 -0
  305. /package/dist/{chunk-K4VSUMEK.js.map → chunk-6HAWSFOM.js.map} +0 -0
  306. /package/dist/{chunk-VCNVYTNL.js.map → chunk-76VZ4ARW.js.map} +0 -0
  307. /package/dist/{chunk-M4DEXIKU.js.map → chunk-7BPB4PXN.js.map} +0 -0
  308. /package/dist/{chunk-CTSRJIJT.js.map → chunk-A2WWDGJJ.js.map} +0 -0
  309. /package/dist/{chunk-IBAXAO5O.js.map → chunk-ASTB4YJL.js.map} +0 -0
  310. /package/dist/{chunk-Q6SKWBCE.js.map → chunk-AXDL47BE.js.map} +0 -0
  311. /package/dist/{chunk-ZT4G43T6.js.map → chunk-BRI2ESJ3.js.map} +0 -0
  312. /package/dist/{chunk-BJDI3F3E.js.map → chunk-BRN6MO77.js.map} +0 -0
  313. /package/dist/{chunk-TLMAGDWY.js.map → chunk-CFOXBJRN.js.map} +0 -0
  314. /package/dist/{chunk-6JARQJWW.js.map → chunk-DJGO6WYW.js.map} +0 -0
  315. /package/dist/{chunk-UCBVPJDT.js.map → chunk-DNAPYU5I.js.map} +0 -0
  316. /package/dist/{chunk-EJBZ2A6J.js.map → chunk-DRAQLW6C.js.map} +0 -0
  317. /package/dist/{chunk-75SQ56WH.js.map → chunk-G556HMVA.js.map} +0 -0
  318. /package/dist/{chunk-LSYVKGY6.js.map → chunk-GGLJSAPH.js.map} +0 -0
  319. /package/dist/{chunk-ICC3M37M.js.map → chunk-GKYQ3GAF.js.map} +0 -0
  320. /package/dist/{chunk-NX2H524O.js.map → chunk-H3JUXG2J.js.map} +0 -0
  321. /package/dist/{chunk-TXAYTR6N.js.map → chunk-HAACNERA.js.map} +0 -0
  322. /package/dist/{chunk-WKDDTXQF.js.map → chunk-HJOT7JXK.js.map} +0 -0
  323. /package/dist/{chunk-QD5RXKCU.js.map → chunk-JSTCIALQ.js.map} +0 -0
  324. /package/dist/{chunk-3GKLBQMY.js.map → chunk-KUKZNLCF.js.map} +0 -0
  325. /package/dist/{chunk-JN73IKCN.js.map → chunk-L2V4ZYCZ.js.map} +0 -0
  326. /package/dist/{chunk-HIYSMDGT.js.map → chunk-LD5KN4ZF.js.map} +0 -0
  327. /package/dist/{chunk-QKTF3ZBO.js.map → chunk-LIPJXO2R.js.map} +0 -0
  328. /package/dist/{chunk-PYOJLGIL.js.map → chunk-LOPZZUAF.js.map} +0 -0
  329. /package/dist/{chunk-5DORW3VM.js.map → chunk-LTJSD2MC.js.map} +0 -0
  330. /package/dist/{chunk-W2C6CHUD.js.map → chunk-LXKLBMHD.js.map} +0 -0
  331. /package/dist/{chunk-BVP2GOFZ.js.map → chunk-MDOVS5WS.js.map} +0 -0
  332. /package/dist/{chunk-DXKC3WUM.js.map → chunk-MHOV3CQN.js.map} +0 -0
  333. /package/dist/{chunk-D4INQE6X.js.map → chunk-MUXNVLZO.js.map} +0 -0
  334. /package/dist/{chunk-3VL4JCTR.js.map → chunk-NFIMSJPH.js.map} +0 -0
  335. /package/dist/{chunk-GNRLGRTN.js.map → chunk-OBZMQWQA.js.map} +0 -0
  336. /package/dist/{chunk-RVE2XO2W.js.map → chunk-OEVMCP42.js.map} +0 -0
  337. /package/dist/{chunk-HOS6KZEY.js.map → chunk-OR6ZPNF6.js.map} +0 -0
  338. /package/dist/{chunk-QBBJUUYN.js.map → chunk-PIHCHWI7.js.map} +0 -0
  339. /package/dist/{chunk-XXZFBSLJ.js.map → chunk-PJ6KPGIE.js.map} +0 -0
  340. /package/dist/{chunk-MK7NAW6K.js.map → chunk-Q5HDUQPX.js.map} +0 -0
  341. /package/dist/{chunk-5SMVSM3S.js.map → chunk-Q6GJJRYG.js.map} +0 -0
  342. /package/dist/{chunk-PPP6XC3U.js.map → chunk-QFXZTQL7.js.map} +0 -0
  343. /package/dist/{chunk-IC2BQMCD.js.map → chunk-QSCW4IHJ.js.map} +0 -0
  344. /package/dist/{chunk-EQLO2SSM.js.map → chunk-R3HBG6VK.js.map} +0 -0
  345. /package/dist/{chunk-BHHHYKTD.js.map → chunk-SFJV4CFP.js.map} +0 -0
  346. /package/dist/{chunk-ULTDVIA4.js.map → chunk-SMBP7A4F.js.map} +0 -0
  347. /package/dist/{chunk-NKKKI6O4.js.map → chunk-TBGXSWRX.js.map} +0 -0
  348. /package/dist/{chunk-PRJ2IR3N.js.map → chunk-TLNE6GTG.js.map} +0 -0
  349. /package/dist/{chunk-A7KFLPTA.js.map → chunk-TMBDUFOH.js.map} +0 -0
  350. /package/dist/{chunk-FCVOGSVO.js.map → chunk-TSZLYFYT.js.map} +0 -0
  351. /package/dist/{chunk-AXOQAXG2.js.map → chunk-UD3YR4VQ.js.map} +0 -0
  352. /package/dist/{chunk-XSIS74VG.js.map → chunk-UHN3ELBL.js.map} +0 -0
  353. /package/dist/{chunk-QN4ONV3W.js.map → chunk-VDH46ZCF.js.map} +0 -0
  354. /package/dist/{chunk-WEMLZAC6.js.map → chunk-VEMUIRKC.js.map} +0 -0
  355. /package/dist/{chunk-SUBBGKWN.js.map → chunk-VTWVHO4F.js.map} +0 -0
  356. /package/dist/{chunk-2CEH6UIC.js.map → chunk-WMJP2BO5.js.map} +0 -0
  357. /package/dist/{chunk-S62CXCJB.js.map → chunk-XEVHWVBT.js.map} +0 -0
  358. /package/dist/{chunk-5QEW5VR2.js.map → chunk-XV7SBFS5.js.map} +0 -0
  359. /package/dist/{chunk-SV3ZPQRS.js.map → chunk-YVS5MBND.js.map} +0 -0
  360. /package/dist/{chunk-NMCYAKUO.js.map → chunk-ZEC5X3RH.js.map} +0 -0
@@ -1,2 +1,2 @@
1
- import{a as F}from"./chunk-DJIQISA2.js";import{a as u}from"./chunk-SV3ZPQRS.js";import{j as p,k as l,l as i,n as a,o as c}from"./chunk-Y3CJRZLA.js";import{a as m}from"./chunk-P37U34EQ.js";import{useEffect as $,useState as v}from"react";import{jsx as n,jsxs as C}from"react/jsx-runtime";function L({field:t,fieldState:b,fieldData:o}){let[g,s]=v([]),_=m(e=>{let r=e.map(({value:S})=>S);t.onChange(r),s(e)},"handleChange");$(()=>{t.value&&o.options&&s(t.value.map(e=>o?.options?.find(r=>r.value===e)))},[t.value,o.options]);let y=[...Object.entries(o.$meta?.regions||{}).map(([e,r])=>({value:r,label:e,category:"Regions"})),...Object.entries(o.$meta?.subregions||{}).map(([e,r])=>({value:r,label:e,category:"Subregions"})),...o.options?.map(e=>({...e,value:e.value,label:e.label,category:"Countries"}))||[]];return C(p,{"data-field":t.name,className:`RemoteFlows__CountryField__Item__${t.name}`,children:[n(l,{className:"RemoteFlows__CountryField__Label",children:o.label}),n(i,{children:n(F,{options:y,selected:g,onChange:_})}),o.description&&C(a,{children:[o.description," ",n(u,{helpCenter:o.meta?.helpCenter})]}),b.error&&n(c,{})]})}m(L,"CountryFieldDefault");export{L as a};
2
- //# sourceMappingURL=chunk-FCVOGSVO.js.map
1
+ import{a as F}from"./chunk-DJIQISA2.js";import{a as u}from"./chunk-YVS5MBND.js";import{j as p,k as l,l as i,n as a,o as c}from"./chunk-Y3CJRZLA.js";import{a as m}from"./chunk-P37U34EQ.js";import{useEffect as $,useState as v}from"react";import{jsx as n,jsxs as C}from"react/jsx-runtime";function L({field:t,fieldState:b,fieldData:o}){let[g,s]=v([]),_=m(e=>{let r=e.map(({value:S})=>S);t.onChange(r),s(e)},"handleChange");$(()=>{t.value&&o.options&&s(t.value.map(e=>o?.options?.find(r=>r.value===e)))},[t.value,o.options]);let y=[...Object.entries(o.$meta?.regions||{}).map(([e,r])=>({value:r,label:e,category:"Regions"})),...Object.entries(o.$meta?.subregions||{}).map(([e,r])=>({value:r,label:e,category:"Subregions"})),...o.options?.map(e=>({...e,value:e.value,label:e.label,category:"Countries"}))||[]];return C(p,{"data-field":t.name,className:`RemoteFlows__CountryField__Item__${t.name}`,children:[n(l,{className:"RemoteFlows__CountryField__Label",children:o.label}),n(i,{children:n(F,{options:y,selected:g,onChange:_})}),o.description&&C(a,{children:[o.description," ",n(u,{helpCenter:o.meta?.helpCenter})]}),b.error&&n(c,{})]})}m(L,"CountryFieldDefault");export{L as a};
2
+ //# sourceMappingURL=chunk-TSZLYFYT.js.map
@@ -1,2 +1,2 @@
1
- import{a as m}from"./chunk-BJDI3F3E.js";import{b as a}from"./chunk-PGWKJ6FK.js";import{c as s,i as t}from"./chunk-G2LZFGZA.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as E}from"react/jsx-runtime";function P({components:d,onSubmit:l,onError:i,onSuccess:f}){let{onboardingBag:o}=a(),p=o.fields??[],c=t(p,o.initialValues.benefits);return E(m,{defaultValues:c,components:d,onSubmit:e(async n=>{try{await l?.(n);let r=await o.onSubmit(n);if(r?.data){await f?.(r.data),o?.next();return}if(r?.error){let u=s(r?.fieldErrors||[],o.meta?.fields?.benefits);i?.({error:r.error,rawError:r.rawError,fieldErrors:u})}}catch(r){i?.({error:r,rawError:r,fieldErrors:[]})}},"handleSubmit")})}e(P,"BenefitsStep");export{P as a};
2
- //# sourceMappingURL=chunk-AXOQAXG2.js.map
1
+ import{a as m}from"./chunk-BRN6MO77.js";import{b as a}from"./chunk-PGWKJ6FK.js";import{c as s,i as t}from"./chunk-G2LZFGZA.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as E}from"react/jsx-runtime";function P({components:d,onSubmit:l,onError:i,onSuccess:f}){let{onboardingBag:o}=a(),p=o.fields??[],c=t(p,o.initialValues.benefits);return E(m,{defaultValues:c,components:d,onSubmit:e(async n=>{try{await l?.(n);let r=await o.onSubmit(n);if(r?.data){await f?.(r.data),o?.next();return}if(r?.error){let u=s(r?.fieldErrors||[],o.meta?.fields?.benefits);i?.({error:r.error,rawError:r.rawError,fieldErrors:u})}}catch(r){i?.({error:r,rawError:r,fieldErrors:[]})}},"handleSubmit")})}e(P,"BenefitsStep");export{P as a};
2
+ //# sourceMappingURL=chunk-UD3YR4VQ.js.map
@@ -1,2 +1,2 @@
1
- import{a as Z}from"./chunk-WEMLZAC6.js";import{a as I}from"./chunk-VFRHMNLJ.js";import{a as Q,b as W,c as X,f as Y}from"./chunk-SUBBGKWN.js";import{a as C}from"./chunk-HN5HLFTB.js";import{a as G}from"./chunk-KFYWUBRS.js";import{c as ee}from"./chunk-K4VSUMEK.js";import{a as z}from"./chunk-LKVQ32ZK.js";import{b as K,h as M}from"./chunk-G2LZFGZA.js";import{a as o}from"./chunk-P37U34EQ.js";import{number as Be,object as se}from"yup";import{useCallback as je,useEffect as te,useMemo as we,useRef as Re,useState as j}from"react";import{string as ne,ValidationError as re}from"yup";import{jsx as ie}from"react/jsx-runtime";var O={title:"Estimation",includeBenefits:!1,includeCostBreakdowns:!1,includePremiumBenefits:!1,enableCurrencyConversion:!1,includeEstimationTitle:!1,includeManagementFee:!1},Pe=o(t=>z(I.data.schema,void 0,t),"useStaticSchema");function xe(t,i){if(typeof t=="object"&&t!==null&&"title"in t){let l=t.title;if(l)return l}return i==="my_hiring_budget"?"Hiring budget":"Employee's annual salary"}o(xe,"getSalaryTitle");var ze=o(({defaultRegion:t,defaultCurrency:i,defaultSalary:l,estimationOptions:s,options:n,version:a}={estimationOptions:O})=>{let u=Re({fields:{}}),[k,h]=j(t),[w,R]=j(),[m,q]=j(),[H,le]=j(),{data:_,isLoading:ue}=Q({includePremiumBenefits:s.includePremiumBenefits}),{data:d,isLoading:ce}=W(),me=k||w?.value,{data:P,isLoading:de}=Y(me,{includePremiumBenefits:s.includePremiumBenefits,options:n}),U=X(),{mutateAsync:fe}=K(U),b=w?.currency,p=n?.jsfModify?.fields?.salary,F=p&&typeof p=="object"&&"presentation"in p?p.presentation:void 0,L=je(()=>{let e=b&&m?b!==m:!1;return b!==m?{from:m,to:b,shouldSwapOrder:e}:{from:b,to:m,shouldSwapOrder:e}},[b,m]),J=s.showManagementFee,$=s.includeEstimationTitle,ge=we(()=>{let{from:e,to:r,shouldSwapOrder:c}=L(),g=xe(p,H);return{fields:{salary:{...p,title:g,presentation:{salary_conversion_properties:{label:F?.salary_conversion_properties?.label,description:F?.salary_conversion_properties?.description},currencies:{from:e,to:r},Component:o(y=>ie(Z,{...y,shouldSwapOrder:c,conversionType:a==="marketing"?"no_spread":"spread",defaultValue:l}),"Component")}},hiring_budget:{...n?.jsfModify?.fields?.hiring_budget,presentation:{hidden:a=="marketing"}},management:{...n?.jsfModify?.fields?.management,properties:{...n?.jsfModify?.fields?.management?.properties,management_fee:{...n?.jsfModify?.fields?.management?.properties?.management_fee,"x-jsf-presentation":{inputType:"money",additionalProps:{currency:m||"USD"}}}},presentation:{...typeof n?.jsfModify?.fields?.management=="object"?(n?.jsfModify?.fields?.management)["x-jsf-presentation"]:{},hidden:!J,Component:o(y=>ie(ee,{...y,variant:"inset",features:{toggle:{enabled:!0,stateField:"management._expanded",labels:{expand:"Define",collapse:"Remove"}}}}),"Component")}},estimation_title:{...n?.jsfModify?.fields?.estimation_title,"x-jsf-presentation":{hidden:!$}}}}},[L,p,H,F?.salary_conversion_properties?.label,F?.salary_conversion_properties?.description,n?.jsfModify?.fields?.hiring_budget,n?.jsfModify?.fields?.management,n?.jsfModify?.fields?.estimation_title,a,m,J,$,l]),f=Pe({jsfModify:{fields:{...n?.jsfModify?.fields,...ge?.fields}}});te(()=>{if(t&&_){let e=_.find(({value:r})=>r===t);e&&R(e)}},[t,_]),te(()=>{if(i&&d){let e=d.find(({value:r})=>r===i);e&&q(e.label)}},[i,d]);async function ye(e){return fe(oe(e,s,a))}o(ye,"onSubmit");function pe(e){let r=_?.find(({value:c})=>c===e);r&&r.childRegions.length===0&&r.hasAdditionalFields?h(r.regionSlug):h(void 0),R(r)}o(pe,"onCountryChange");function Ce(e){h(e)}o(Ce,"onRegionChange");function _e(e){le(e.target.value)}o(_e,"onHiringBudgetChange");function be(e){let r=d?.find(c=>c.value===e)?.label;q(r),n?.onCurrencyChange?.(r||"")}o(be,"onChangeCurrency");let E=f.fields.find(e=>e.name==="region");if(E){let e=w?.childRegions.map(r=>({value:r.slug,label:r.name}))??[];E.options=e,E.isVisible=e.length>0,E.required=e.length>0,E.onChange=Ce,E.schema=e.length>0?ne().transform(r=>typeof r=="string"?r:"").required("Region is required"):ne()}if(d){let e=f.fields.find(r=>r.name==="currency");e&&(e.options=d,e.onChange=be)}let v=f.fields.find(e=>e.name==="hiring_budget");if(v&&(v.onChange=_e),_){let e=f.fields.find(r=>r.name==="country");e&&(e.options=_,e.onChange=pe)}let Ee=o(()=>{R(void 0),h(t)},"resetForm"),D=[...f.fields.filter(e=>e.name!=="management"),...P?.fields||[],...f.fields.filter(e=>e.name==="management")],N=ae(f.fields,m||"USD",s.includeEstimationTitle);async function Se(e){let r=null;n?.onValidation?.(e);let c=await M(e,D);try{await N.validate(c,{abortEarly:!1}),r={formErrors:{},yupError:new re([],e)}}catch(S){let B=G(S);r={formErrors:Object.entries(B).reduce((T,[A,V])=>({...T,[A]:V.message}),{}),yupError:S}}let g=P?.handleValidation(c),y=[...r?.yupError.inner||[],...g?.yupError?.inner||[]],x={...r?.yupError?.value||{},...g?.yupError?.value||{}};return{formErrors:{...r?.formErrors||{},...g?.formErrors||{}},yupError:new re(y,x)}}return o(Se,"handleValidation"),{stepState:{current:0,total:1,isLastStep:!0},fields:D,validationSchema:N,parseFormValues:o(async e=>{let{country:r,region:c,currency:g,salary_converted:y,hiring_budget:x,salary_conversion:S,management:B,estimation_title:T,...A}=e,V=e.salary;y==="salary_conversion"&&(V=S);let he=await M({country:r,region:c,salary:V,salary_converted:y,salary_conversion:S,hiring_budget:x,currency:g,management:B,estimation_title:T},f.fields),Fe=await M(A,P?.fields||[]),Ve={currency_code:d?.find(Me=>Me.value===g)?.label};return{...he,...Fe,...Ve}},"parseFormValues"),handleValidation:Se,isSubmitting:U.isPending,isLoading:ue&&ce&&de,onSubmit:ye,resetForm:Ee,currencies:d,meta:{fields:u.current?.fields}}},"useCostCalculator");function ae(t,i,l){let s=t.reduce((n,a)=>(a.name==="salary"||a.name==="salary_conversion"?n[a.name]=a.schema.when("salary_converted",{is:o(u=>u===a.name,"is"),then:o(u=>u.required("Required field"),"then"),otherwise:o(u=>u.optional(),"otherwise")}):a.name==="management"?n[a.name]=se({management_fee:Be().transform(u=>isNaN(u)?void 0:u).min(0,"Management fee must be greater than or equal to 0").max(i?C[i]:C.USD,()=>`Management fee cannot exceed ${(i?C[i]:C.USD)/100} ${i}`)}):a.name==="estimation_title"&&l?n[a.name]=a.schema.required("Required field"):n[a.name]=a.schema,n),{});return se(s)}o(ae,"buildValidationSchema");function Te(t){let i="benefit-";return Object.keys(t).reduce((l,s)=>{let n=t[s];if(n==="none")return l;let u={benefit_group_slug:s.replace(i,""),benefit_tier_slug:n};return[...l,u]},[])}o(Te,"formatBenefits");function Ae(t,i,l){let s=Number(t.management?.management_fee),n=t.currency_code;return{...{region_slug:t.region||t.country,employment_term:t.contract_duration_type??"fixed",title:t.estimation_title||i.title,age:t.age??void 0,...t.benefits&&{benefits:Te(t.benefits)},...i.includeManagementFee&&s&&{discount:{quoted_amount:i.showManagementFee?s:C[n]||C.USD,text:""}}},...Oe(t,l)}}o(Ae,"mapValueToEmployment");function Oe(t,i){let l=i==="marketing"||t.salary_converted==="salary_conversion",s=i==="standard"&&t.salary_converted==="salary",n=t.hiring_budget==="my_hiring_budget";if(l){let a=t.salary_converted==="salary_conversion";return n?{annual_total_cost_in_employer_currency:t.salary}:{[a?"annual_gross_salary_in_employer_currency":"annual_gross_salary"]:t.salary}}return s?n?{annual_total_cost:t.salary}:{annual_gross_salary:t.salary}:{}}o(Oe,"getSalaryFields");function oe(t,i=O,l="standard"){let s=Array.isArray(t)?t:[t];if(s.length===0)throw new Error("At least one employment value is required");return s.length>1&&new Set(s.map(a=>a.currency)).size>1&&console.warn("Multiple currencies detected in array. Using currency from first employment."),{employer_currency_slug:s[0].currency,include_benefits:i.includeBenefits,include_cost_breakdowns:i.includeCostBreakdowns,include_premium_benefits:i.includePremiumBenefits,include_management_fee:i.includeManagementFee,employments:s.map(n=>Ae(n,i,l))}}o(oe,"buildPayload");export{ae as a,oe as b,O as c,ze as d};
2
- //# sourceMappingURL=chunk-XSIS74VG.js.map
1
+ import{a as Z}from"./chunk-VEMUIRKC.js";import{a as I}from"./chunk-VFRHMNLJ.js";import{a as Q,b as W,c as X,f as Y}from"./chunk-VTWVHO4F.js";import{a as C}from"./chunk-HN5HLFTB.js";import{a as G}from"./chunk-KFYWUBRS.js";import{c as ee}from"./chunk-6HAWSFOM.js";import{a as z}from"./chunk-LKVQ32ZK.js";import{b as K,h as M}from"./chunk-G2LZFGZA.js";import{a as o}from"./chunk-P37U34EQ.js";import{number as Be,object as se}from"yup";import{useCallback as je,useEffect as te,useMemo as we,useRef as Re,useState as j}from"react";import{string as ne,ValidationError as re}from"yup";import{jsx as ie}from"react/jsx-runtime";var O={title:"Estimation",includeBenefits:!1,includeCostBreakdowns:!1,includePremiumBenefits:!1,enableCurrencyConversion:!1,includeEstimationTitle:!1,includeManagementFee:!1},Pe=o(t=>z(I.data.schema,void 0,t),"useStaticSchema");function xe(t,i){if(typeof t=="object"&&t!==null&&"title"in t){let l=t.title;if(l)return l}return i==="my_hiring_budget"?"Hiring budget":"Employee's annual salary"}o(xe,"getSalaryTitle");var ze=o(({defaultRegion:t,defaultCurrency:i,defaultSalary:l,estimationOptions:s,options:n,version:a}={estimationOptions:O})=>{let u=Re({fields:{}}),[k,h]=j(t),[w,R]=j(),[m,q]=j(),[H,le]=j(),{data:_,isLoading:ue}=Q({includePremiumBenefits:s.includePremiumBenefits}),{data:d,isLoading:ce}=W(),me=k||w?.value,{data:P,isLoading:de}=Y(me,{includePremiumBenefits:s.includePremiumBenefits,options:n}),U=X(),{mutateAsync:fe}=K(U),b=w?.currency,p=n?.jsfModify?.fields?.salary,F=p&&typeof p=="object"&&"presentation"in p?p.presentation:void 0,L=je(()=>{let e=b&&m?b!==m:!1;return b!==m?{from:m,to:b,shouldSwapOrder:e}:{from:b,to:m,shouldSwapOrder:e}},[b,m]),J=s.showManagementFee,$=s.includeEstimationTitle,ge=we(()=>{let{from:e,to:r,shouldSwapOrder:c}=L(),g=xe(p,H);return{fields:{salary:{...p,title:g,presentation:{salary_conversion_properties:{label:F?.salary_conversion_properties?.label,description:F?.salary_conversion_properties?.description},currencies:{from:e,to:r},Component:o(y=>ie(Z,{...y,shouldSwapOrder:c,conversionType:a==="marketing"?"no_spread":"spread",defaultValue:l}),"Component")}},hiring_budget:{...n?.jsfModify?.fields?.hiring_budget,presentation:{hidden:a=="marketing"}},management:{...n?.jsfModify?.fields?.management,properties:{...n?.jsfModify?.fields?.management?.properties,management_fee:{...n?.jsfModify?.fields?.management?.properties?.management_fee,"x-jsf-presentation":{inputType:"money",additionalProps:{currency:m||"USD"}}}},presentation:{...typeof n?.jsfModify?.fields?.management=="object"?(n?.jsfModify?.fields?.management)["x-jsf-presentation"]:{},hidden:!J,Component:o(y=>ie(ee,{...y,variant:"inset",features:{toggle:{enabled:!0,stateField:"management._expanded",labels:{expand:"Define",collapse:"Remove"}}}}),"Component")}},estimation_title:{...n?.jsfModify?.fields?.estimation_title,"x-jsf-presentation":{hidden:!$}}}}},[L,p,H,F?.salary_conversion_properties?.label,F?.salary_conversion_properties?.description,n?.jsfModify?.fields?.hiring_budget,n?.jsfModify?.fields?.management,n?.jsfModify?.fields?.estimation_title,a,m,J,$,l]),f=Pe({jsfModify:{fields:{...n?.jsfModify?.fields,...ge?.fields}}});te(()=>{if(t&&_){let e=_.find(({value:r})=>r===t);e&&R(e)}},[t,_]),te(()=>{if(i&&d){let e=d.find(({value:r})=>r===i);e&&q(e.label)}},[i,d]);async function ye(e){return fe(oe(e,s,a))}o(ye,"onSubmit");function pe(e){let r=_?.find(({value:c})=>c===e);r&&r.childRegions.length===0&&r.hasAdditionalFields?h(r.regionSlug):h(void 0),R(r)}o(pe,"onCountryChange");function Ce(e){h(e)}o(Ce,"onRegionChange");function _e(e){le(e.target.value)}o(_e,"onHiringBudgetChange");function be(e){let r=d?.find(c=>c.value===e)?.label;q(r),n?.onCurrencyChange?.(r||"")}o(be,"onChangeCurrency");let E=f.fields.find(e=>e.name==="region");if(E){let e=w?.childRegions.map(r=>({value:r.slug,label:r.name}))??[];E.options=e,E.isVisible=e.length>0,E.required=e.length>0,E.onChange=Ce,E.schema=e.length>0?ne().transform(r=>typeof r=="string"?r:"").required("Region is required"):ne()}if(d){let e=f.fields.find(r=>r.name==="currency");e&&(e.options=d,e.onChange=be)}let v=f.fields.find(e=>e.name==="hiring_budget");if(v&&(v.onChange=_e),_){let e=f.fields.find(r=>r.name==="country");e&&(e.options=_,e.onChange=pe)}let Ee=o(()=>{R(void 0),h(t)},"resetForm"),D=[...f.fields.filter(e=>e.name!=="management"),...P?.fields||[],...f.fields.filter(e=>e.name==="management")],N=ae(f.fields,m||"USD",s.includeEstimationTitle);async function Se(e){let r=null;n?.onValidation?.(e);let c=await M(e,D);try{await N.validate(c,{abortEarly:!1}),r={formErrors:{},yupError:new re([],e)}}catch(S){let B=G(S);r={formErrors:Object.entries(B).reduce((T,[A,V])=>({...T,[A]:V.message}),{}),yupError:S}}let g=P?.handleValidation(c),y=[...r?.yupError.inner||[],...g?.yupError?.inner||[]],x={...r?.yupError?.value||{},...g?.yupError?.value||{}};return{formErrors:{...r?.formErrors||{},...g?.formErrors||{}},yupError:new re(y,x)}}return o(Se,"handleValidation"),{stepState:{current:0,total:1,isLastStep:!0},fields:D,validationSchema:N,parseFormValues:o(async e=>{let{country:r,region:c,currency:g,salary_converted:y,hiring_budget:x,salary_conversion:S,management:B,estimation_title:T,...A}=e,V=e.salary;y==="salary_conversion"&&(V=S);let he=await M({country:r,region:c,salary:V,salary_converted:y,salary_conversion:S,hiring_budget:x,currency:g,management:B,estimation_title:T},f.fields),Fe=await M(A,P?.fields||[]),Ve={currency_code:d?.find(Me=>Me.value===g)?.label};return{...he,...Fe,...Ve}},"parseFormValues"),handleValidation:Se,isSubmitting:U.isPending,isLoading:ue&&ce&&de,onSubmit:ye,resetForm:Ee,currencies:d,meta:{fields:u.current?.fields}}},"useCostCalculator");function ae(t,i,l){let s=t.reduce((n,a)=>(a.name==="salary"||a.name==="salary_conversion"?n[a.name]=a.schema.when("salary_converted",{is:o(u=>u===a.name,"is"),then:o(u=>u.required("Required field"),"then"),otherwise:o(u=>u.optional(),"otherwise")}):a.name==="management"?n[a.name]=se({management_fee:Be().transform(u=>isNaN(u)?void 0:u).min(0,"Management fee must be greater than or equal to 0").max(i?C[i]:C.USD,()=>`Management fee cannot exceed ${(i?C[i]:C.USD)/100} ${i}`)}):a.name==="estimation_title"&&l?n[a.name]=a.schema.required("Required field"):n[a.name]=a.schema,n),{});return se(s)}o(ae,"buildValidationSchema");function Te(t){let i="benefit-";return Object.keys(t).reduce((l,s)=>{let n=t[s];if(n==="none")return l;let u={benefit_group_slug:s.replace(i,""),benefit_tier_slug:n};return[...l,u]},[])}o(Te,"formatBenefits");function Ae(t,i,l){let s=Number(t.management?.management_fee),n=t.currency_code;return{...{region_slug:t.region||t.country,employment_term:t.contract_duration_type??"fixed",title:t.estimation_title||i.title,age:t.age??void 0,...t.benefits&&{benefits:Te(t.benefits)},...i.includeManagementFee&&s&&{discount:{quoted_amount:i.showManagementFee?s:C[n]||C.USD,text:""}}},...Oe(t,l)}}o(Ae,"mapValueToEmployment");function Oe(t,i){let l=i==="marketing"||t.salary_converted==="salary_conversion",s=i==="standard"&&t.salary_converted==="salary",n=t.hiring_budget==="my_hiring_budget";if(l){let a=t.salary_converted==="salary_conversion";return n?{annual_total_cost_in_employer_currency:t.salary}:{[a?"annual_gross_salary_in_employer_currency":"annual_gross_salary"]:t.salary}}return s?n?{annual_total_cost:t.salary}:{annual_gross_salary:t.salary}:{}}o(Oe,"getSalaryFields");function oe(t,i=O,l="standard"){let s=Array.isArray(t)?t:[t];if(s.length===0)throw new Error("At least one employment value is required");return s.length>1&&new Set(s.map(a=>a.currency)).size>1&&console.warn("Multiple currencies detected in array. Using currency from first employment."),{employer_currency_slug:s[0].currency,include_benefits:i.includeBenefits,include_cost_breakdowns:i.includeCostBreakdowns,include_premium_benefits:i.includePremiumBenefits,include_management_fee:i.includeManagementFee,employments:s.map(n=>Ae(n,i,l))}}o(oe,"buildPayload");export{ae as a,oe as b,O as c,ze as d};
2
+ //# sourceMappingURL=chunk-UHN3ELBL.js.map
@@ -0,0 +1,2 @@
1
+ import{e as K,f as p,g as y}from"./chunk-TJLXZ2ZK.js";import{a as B}from"./chunk-WVJDCDGZ.js";import{a as U}from"./chunk-54Z4QJ3Q.js";import{a as d}from"./chunk-LKVQ32ZK.js";import{A as q,D as w,G as P,H as v,J as S,M as V,O as x,T as j,Y as D,da as A,g,ha as R,i as f,ia as I,j as b,l as h,m as E,p as F,q as C,x as O,z as _}from"./chunk-GZUP2IE6.js";import{e as s}from"./chunk-H2O4CVKF.js";import{a as t}from"./chunk-P37U34EQ.js";import{useMutation as u,useQuery as l}from"@tanstack/react-query";var re=t(e=>{let{client:r}=s();return l({queryKey:["company",e],retry:!1,enabled:!!e,queryFn:t(async()=>{let n=await q({client:r,headers:{Authorization:""},path:{company_id:e}});if(n.error||!n.data)throw new Error("Failed to fetch employment data");return n},"queryFn"),select:t(({data:n})=>n.data.company,"select")})},"useCompany"),oe=t(e=>{let{client:r}=s();return l({queryKey:["benefit-offers",e],retry:!1,enabled:!!e,queryFn:t(async()=>F({client:r,path:{employment_id:e}}).then(n=>{if(n.error||!n.data)throw new Error("Failed to fetch benefit offers data");return n}),"queryFn"),select:t(({data:n})=>n?.data?.reduce((o,a)=>({...o,[a.benefit_group.slug]:{value:a.benefit_tier?.slug??"no",...a.benefit_group?.filter?.slug?{filter:a.benefit_group?.filter?.slug}:{}}}),{}),"select")})},"useBenefitOffers"),ae=t((e,r)=>{let{client:n}=s();return l({queryKey:["employment-engagement-agreement-details",e],retry:!1,enabled:r?.enabled??!!e,queryFn:t(async()=>h({client:n,headers:{Authorization:""},path:{employment_id:e}}).then(o=>{if(o.error||!o.data)throw new Error("Failed to fetch engagement agreement details");return o}),"queryFn"),select:t(({data:o})=>o?.data?.details,"select")})},"useEmploymentEngagementAgreementDetails"),se=t(()=>{let{client:e}=s();return u({mutationFn:t(r=>D({client:e,headers:{Authorization:""},path:r}),"mutationFn")})},"useEmploymentInvite"),ie=t(()=>{let{client:e}=s();return u({mutationFn:t(r=>_({client:e,body:r}),"mutationFn")})},"useCreateReserveInvoice"),me=t(({countryCode:e,form:r,fieldValues:n,options:o,query:a={},jsonSchemaVersion:i})=>{let{client:m}=s(),z=i?{json_schema_version:i}:{};return l({queryKey:["onboarding-json-schema-form",e,r,i],retry:!1,queryFn:t(async()=>{let c=await w({client:m,headers:{Authorization:""},path:{country_code:e,form:r},query:{skip_benefits:!0,...a,...z}});if(c.error||!c.data)throw new Error("Failed to fetch onboarding schema");return c},"queryFn"),enabled:o?.queryOptions?.enabled,select:t(({data:c})=>{let M=c?.data||{};return d(M,n,o)},"select")})},"useJSONSchemaForm"),le=t((e,r,n)=>{let{client:o}=s(),a={json_schema_version:y(n)};return l({queryKey:["benefit-offers-schema",e],retry:!1,enabled:!!e,queryFn:t(async()=>{let i=await S({client:o,path:{employment_id:e},query:a});if(i.error||!i.data)throw new Error("Failed to fetch benefit offers schema");return i},"queryFn"),select:t(({data:i})=>{let m=i?.data?.schema||{};return d(m,r,{jsfModify:n?.jsfModify?.benefits})},"select")})},"useBenefitOffersSchema"),ue=t(e=>{let{client:r}=s(),n={json_schema_version:p(e)};return u({mutationFn:t(o=>f({client:r,headers:{Authorization:""},body:o,query:{...n}}),"mutationFn")})},"useCreateEmployment"),ce=t((e,r)=>{let{client:n}=s(),o={employment_basic_information_json_schema_version:p(r),contract_details_json_schema_version:K(r,e)||1};return u({mutationFn:t(({employmentId:a,...i})=>V({client:n,headers:{Authorization:""},body:i,path:{employment_id:a},query:{skip_benefits:!0,...o}}),"mutationFn")})},"useUpdateEmployment"),de=t(()=>{let{client:e}=s();return u({mutationFn:t(({employmentId:r,...n})=>E({client:e,headers:{Authorization:""},body:n,path:{employment_id:r}}),"mutationFn")})},"useUpdateEmploymentEngagementAgreementDetails"),pe=t(e=>{let{client:r}=s();return u({mutationFn:t(({employmentId:n,...o})=>{let a={json_schema_version:y(e)};return C({client:r,body:o,path:{employment_id:n},query:a})},"mutationFn")})},"useUpdateBenefitsOffers"),ye=t(e=>{let{client:r}=s(),{data:n,isLoading:o}=l({...U(r,"onboarding-countries"),select:t(i=>i.data?.data?.filter(m=>m.eor_onboarding).map(m=>({label:m.name,value:m.code,employment_agreement_preview_available:m.employment_agreement_preview_available}))||[],"select"),enabled:e?.queryOptions?.enabled}),a=d(B.data.schema,{},e);if(n){let i=a.fields.find(m=>m.name==="country");i&&(i.options=n)}return{isLoading:o,selectCountryForm:a,countries:n}},"useCountriesSchemaField"),ge=t(({type:e="spread"})=>{let{client:r}=s();return u({mutationFn:t(n=>(e==="no_spread"?g:j)({client:r,body:n}),"mutationFn")})},"useConvertCurrency"),fe=t(()=>{let{client:e}=s();return u({mutationFn:t(({employmentId:r,...n})=>x({client:e,path:{employment_id:r},body:n}),"mutationFn")})},"useUpsertContractEligibility"),be=t((e,r,n=!0)=>{let{client:o}=s();return l({queryKey:["employment-onboarding-reserves-status",e,r],retry:!1,enabled:n&&!!e&&!!r,queryFn:t(async()=>{let a=await b({client:o,headers:{Authorization:""},path:{company_id:e,employment_id:r}});if(a.error||!a.data)throw new Error("Failed to fetch employment onboarding reserves status");return a},"queryFn"),select:t(({data:a})=>a?.data?.status,"select")})},"useEmploymentOnboardingReservesStatus"),he=t((e,r,n)=>{let{client:o}=s();return l({queryKey:["engagement-agreement-details",e],retry:!1,enabled:n?.queryOptions?.enabled??!!e,queryFn:t(async()=>{let a=await v({client:o,path:{country_code:e}});if(a.error||!a.data)throw new Error("Failed to fetch engagement agreement details");return a},"queryFn"),select:t(({data:a})=>{let i=a?.data?.schema||{};return d(i,r,{jsfModify:n?.jsfModify?.engagement_agreement_details})},"select")})},"useEngagementAgreementDetailsSchema"),Ee=t((e,r)=>{let{client:n}=s();return l({queryKey:["pre-onboarding-requirements",e],queryFn:t(async()=>{let o=await O({client:n,path:{employment_id:e}});if(o.error||!o.data)throw new Error("Failed to fetch pre-onboarding requirements");return o},"queryFn"),enabled:r?.queryOptions?.enabled??!0,select:t(o=>o.data?.data,"select")})},"useGetPreOnboardingRequirements"),Fe=t(()=>{let{client:e}=s();return u({mutationFn:t(({employmentId:r,body:n})=>A({client:e,body:n,path:{employment_id:r}}),"mutationFn")})},"useCreatePreOnboardingDocument"),Ce=t((e,r,n)=>{let{client:o}=s();return l({queryKey:["pre-onboarding-document",e,r],queryFn:t(async()=>{let a=await P({client:o,path:{employment_id:e,id:r}});if(a.error||!a.data)throw new Error("Failed to fetch pre-onboarding document");return a},"queryFn"),enabled:(n?.queryOptions?.enabled??!0)&&!!r,select:t(a=>a.data?.data,"select")})},"useGetPreOnboardingDocument"),Oe=t(()=>{let{client:e}=s();return u({mutationFn:t(({employmentId:r,documentId:n,signature:o})=>R({client:e,path:{employment_id:r,id:n},body:{signature:o}}),"mutationFn")})},"useSignPreOnboardingDocument"),_e=t((e,r)=>{let{client:n}=s();return l({queryKey:["employment-agreement-preview",e],retry:!1,enabled:(r?.queryOptions?.enabled??!0)&&!!e,queryFn:t(async()=>{let o=await I({client:n,path:{employment_id:e}});if(o.error||!o.data)throw new Error("Failed to fetch employment agreement preview");return o},"queryFn"),select:t(o=>o.data?.data.employment_agreement,"select")})},"useEmploymentAgreementPreview");export{re as a,oe as b,ae as c,se as d,ie as e,me as f,le as g,ue as h,ce as i,de as j,pe as k,ye as l,ge as m,fe as n,be as o,he as p,Ee as q,Fe as r,Ce as s,Oe as t,_e as u};
2
+ //# sourceMappingURL=chunk-UYGDMJF2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/Onboarding/api.ts"],"sourcesContent":["import { useMutation, useQuery, UseQueryResult } from '@tanstack/react-query';\nimport { FieldValues } from 'react-hook-form';\nimport { Client } from '@/src/client/client';\nimport {\n ConvertCurrencyParams,\n CreateContractEligibilityParams,\n EmploymentCreateParams,\n EmploymentEngagementAgreementDetailsParams,\n EmploymentFullParams,\n FindOrCreatePreOnboardingDocumentParams,\n getV1CompaniesCompanyId,\n getV1CompaniesCompanyIdEmploymentsEmploymentIdOnboardingReservesStatus,\n getV1CountriesCountryCodeEngagementAgreementDetails,\n getV1CountriesCountryCodeForm,\n getV1EmploymentsEmploymentIdBenefitOffers,\n getV1EmploymentsEmploymentIdBenefitOffersSchema,\n getV1EmploymentsEmploymentIdEmploymentAgreementPreview,\n getV2EmploymentsEmploymentIdEngagementAgreementDetails,\n patchV1EmploymentsEmploymentId2,\n postV1CurrencyConverterEffective,\n postV1CurrencyConverterRaw,\n postV1Employments,\n postV1EmploymentsEmploymentIdContractEligibility,\n postV2EmploymentsEmploymentIdEngagementAgreementDetails,\n postV1EmploymentsEmploymentIdInvite,\n PostV1EmploymentsEmploymentIdInviteData,\n postV1OnboardingEmploymentsEmploymentIdPreOnboardingDocuments,\n postV1OnboardingEmploymentsEmploymentIdPreOnboardingDocumentsIdSign,\n postV1RiskReserve,\n putV1EmploymentsEmploymentIdBenefitOffers,\n UnifiedEmploymentUpsertBenefitOffersRequest,\n getV1OnboardingEmploymentsEmploymentIdPreOnboardingDocumentRequirements,\n getV1OnboardingEmploymentsEmploymentIdPreOnboardingDocumentsId,\n} from '@/src/client';\n\nimport { useClient } from '@/src/context';\nimport { selectCountryStepSchema } from '@/src/flows/Onboarding/json-schemas/selectCountryStep';\nimport {\n OnboardingFlowProps,\n OnboardingJsfModify,\n} from '@/src/flows/Onboarding/types';\nimport {\n JSONSchemaFormResultWithFieldsets,\n JSONSchemaFormType,\n FlowOptions,\n} from '@/src/flows/types';\nimport {\n getContractDetailsSchemaVersion,\n getBasicInformationSchemaVersion,\n getBenefitOffersSchemaVersion,\n} from '@/src/flows/Onboarding/utils';\nimport { createHeadlessForm } from '@/src/common/createHeadlessForm';\nimport { countriesOptions } from '@/src/common/api/countries';\n\nexport const useCompany = (companyId: string) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['company', companyId],\n retry: false,\n enabled: !!companyId,\n queryFn: async () => {\n const response = await getV1CompaniesCompanyId({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n path: {\n company_id: companyId,\n },\n });\n\n if (response.error || !response.data) {\n throw new Error('Failed to fetch employment data');\n }\n\n return response;\n },\n select: ({ data }) => {\n return data.data.company;\n },\n });\n};\n\nexport const useBenefitOffers = (employmentId: string | undefined) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['benefit-offers', employmentId],\n retry: false,\n enabled: !!employmentId,\n queryFn: async () => {\n return getV1EmploymentsEmploymentIdBenefitOffers({\n client: client as Client,\n path: {\n employment_id: employmentId as string,\n },\n }).then((response) => {\n // If response status is 404 or other error, throw an error to trigger isError\n if (response.error || !response.data) {\n throw new Error('Failed to fetch benefit offers data');\n }\n\n return response;\n });\n },\n select: ({ data }) =>\n data?.data?.reduce(\n (acc, item) => {\n return {\n ...acc,\n [item.benefit_group.slug]: {\n value: item.benefit_tier?.slug ?? 'no',\n ...(item.benefit_group?.filter?.slug\n ? { filter: item.benefit_group?.filter?.slug }\n : {}),\n },\n };\n },\n {} as Record<string, { value: string }>,\n ),\n });\n};\n\nexport const useEmploymentEngagementAgreementDetails = (\n employmentId: string | undefined,\n queryOptions?: { enabled?: boolean },\n) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['employment-engagement-agreement-details', employmentId],\n retry: false,\n enabled: queryOptions?.enabled ?? !!employmentId,\n queryFn: async () => {\n return getV2EmploymentsEmploymentIdEngagementAgreementDetails({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n path: {\n employment_id: employmentId as string,\n },\n }).then((response) => {\n if (response.error || !response.data) {\n throw new Error('Failed to fetch engagement agreement details');\n }\n return response;\n });\n },\n select: ({ data }) => data?.data?.details,\n });\n};\n\n/**\n * Use this hook to invite an employee to the onboarding flow\n * @returns\n */\nexport const useEmploymentInvite = () => {\n const { client } = useClient();\n\n return useMutation({\n mutationFn: (payload: PostV1EmploymentsEmploymentIdInviteData['path']) => {\n return postV1EmploymentsEmploymentIdInvite({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n path: payload,\n });\n },\n });\n};\n\nexport const useCreateReserveInvoice = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: (payload: { employment_slug: string }) => {\n return postV1RiskReserve({\n client: client as Client,\n body: payload,\n });\n },\n });\n};\n\n/**\n * Use this hook to get the JSON schema form for the onboarding flow\n * @param param0\n * @returns\n */\nexport const useJSONSchemaForm = ({\n countryCode,\n form,\n fieldValues,\n options,\n query = {},\n jsonSchemaVersion,\n}: {\n countryCode: string;\n form: JSONSchemaFormType;\n fieldValues: FieldValues;\n options?: FlowOptions & { queryOptions?: { enabled?: boolean } };\n query?: Record<string, unknown>;\n jsonSchemaVersion?: number | 'latest';\n}): UseQueryResult<JSONSchemaFormResultWithFieldsets> => {\n const { client } = useClient();\n const jsonSchemaQueryParam = jsonSchemaVersion\n ? {\n json_schema_version: jsonSchemaVersion,\n }\n : {};\n return useQuery({\n queryKey: [\n 'onboarding-json-schema-form',\n countryCode,\n form,\n jsonSchemaVersion,\n ],\n retry: false,\n queryFn: async () => {\n const response = await getV1CountriesCountryCodeForm({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n path: {\n country_code: countryCode,\n form: form,\n },\n query: {\n skip_benefits: true,\n ...query,\n ...jsonSchemaQueryParam,\n },\n });\n\n // If response status is 404 or other error, throw an error to trigger isError\n if (response.error || !response.data) {\n throw new Error('Failed to fetch onboarding schema');\n }\n\n return response;\n },\n enabled: options?.queryOptions?.enabled,\n select: ({ data }) => {\n const jsfSchema = data?.data || {};\n return createHeadlessForm(jsfSchema, fieldValues, options);\n },\n });\n};\n\nexport const useBenefitOffersSchema = (\n employmentId: string,\n fieldValues: FieldValues,\n options: OnboardingFlowProps['options'],\n) => {\n const { client } = useClient();\n const jsonSchemaQueryParam = {\n json_schema_version: getBenefitOffersSchemaVersion(options),\n };\n\n return useQuery({\n queryKey: ['benefit-offers-schema', employmentId],\n retry: false,\n enabled: !!employmentId,\n queryFn: async () => {\n const response = await getV1EmploymentsEmploymentIdBenefitOffersSchema({\n client: client as Client,\n path: {\n employment_id: employmentId,\n },\n query: jsonSchemaQueryParam,\n });\n\n // If response status is 404 or other error, throw an error to trigger isError\n if (response.error || !response.data) {\n throw new Error('Failed to fetch benefit offers schema');\n }\n\n return response;\n },\n select: ({ data }) => {\n const jsfSchema = data?.data?.schema || {};\n\n return createHeadlessForm(jsfSchema, fieldValues, {\n jsfModify: options?.jsfModify?.benefits,\n });\n },\n });\n};\n\n/**\n * Use this hook to create an employment\n * @returns\n */\nexport const useCreateEmployment = (\n options?: OnboardingFlowProps['options'],\n) => {\n const { client } = useClient();\n const jsonSchemaQueryParam = {\n json_schema_version: getBasicInformationSchemaVersion(options),\n };\n return useMutation({\n mutationFn: (payload: EmploymentCreateParams) => {\n return postV1Employments({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n body: payload,\n query: {\n ...jsonSchemaQueryParam,\n },\n });\n },\n });\n};\n\nexport const useUpdateEmployment = (\n countryCode: string,\n options?: OnboardingFlowProps['options'],\n) => {\n const { client } = useClient();\n const jsonSchemaQueryParams = {\n employment_basic_information_json_schema_version:\n getBasicInformationSchemaVersion(options),\n contract_details_json_schema_version:\n getContractDetailsSchemaVersion(options, countryCode) || 1,\n };\n\n return useMutation({\n mutationFn: ({\n employmentId,\n ...payload\n }: EmploymentFullParams & { employmentId: string }) => {\n return patchV1EmploymentsEmploymentId2({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n body: payload,\n path: {\n employment_id: employmentId,\n },\n query: {\n skip_benefits: true,\n ...jsonSchemaQueryParams,\n },\n });\n },\n });\n};\n\nexport const useUpdateEmploymentEngagementAgreementDetails = () => {\n const { client } = useClient();\n\n return useMutation({\n mutationFn: ({\n employmentId,\n ...payload\n }: EmploymentEngagementAgreementDetailsParams & {\n employmentId: string;\n }) => {\n return postV2EmploymentsEmploymentIdEngagementAgreementDetails({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n body: payload,\n path: {\n employment_id: employmentId,\n },\n });\n },\n });\n};\n\nexport const useUpdateBenefitsOffers = (\n options?: OnboardingFlowProps['options'],\n) => {\n const { client } = useClient();\n return useMutation({\n mutationFn: ({\n employmentId,\n ...payload\n }: UnifiedEmploymentUpsertBenefitOffersRequest & {\n employmentId: string;\n }) => {\n const jsonSchemaQueryParam = {\n json_schema_version: getBenefitOffersSchemaVersion(options),\n };\n\n return putV1EmploymentsEmploymentIdBenefitOffers({\n client: client as Client,\n body: payload,\n path: {\n employment_id: employmentId,\n },\n query: jsonSchemaQueryParam,\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, 'onboarding-countries'),\n select: (response) => {\n return (\n response.data?.data\n ?.filter((country) => country.eor_onboarding)\n .map((country) => {\n return {\n label: country.name,\n value: country.code,\n employment_agreement_preview_available:\n country.employment_agreement_preview_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\nexport const useConvertCurrency = ({\n type = 'spread',\n}: {\n type?: 'spread' | 'no_spread';\n}) => {\n const { client } = useClient();\n return useMutation({\n mutationFn: (payload: ConvertCurrencyParams) => {\n const apiFn =\n type === 'no_spread'\n ? postV1CurrencyConverterRaw\n : postV1CurrencyConverterEffective;\n return apiFn({\n client: client as Client,\n body: payload,\n });\n },\n });\n};\n\nexport const useUpsertContractEligibility = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: ({\n employmentId,\n ...payload\n }: { employmentId: string } & CreateContractEligibilityParams) => {\n return postV1EmploymentsEmploymentIdContractEligibility({\n client: client as Client,\n path: {\n employment_id: employmentId,\n },\n body: payload,\n });\n },\n });\n};\n\n/**\n * Hook to fetch onboarding reserves status for an employment\n * @param companyId - Company ID\n * @param employmentId - Employment ID\n * @param enabled - Whether the query should be enabled\n * @returns Query result with onboarding reserves status\n */\nexport const useEmploymentOnboardingReservesStatus = (\n companyId: string | undefined,\n employmentId: string | undefined,\n enabled = true,\n) => {\n const { client } = useClient();\n return useQuery({\n queryKey: [\n 'employment-onboarding-reserves-status',\n companyId,\n employmentId,\n ],\n retry: false,\n enabled: enabled && !!companyId && !!employmentId,\n queryFn: async () => {\n const response =\n await getV1CompaniesCompanyIdEmploymentsEmploymentIdOnboardingReservesStatus(\n {\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n path: {\n company_id: companyId as string,\n employment_id: employmentId as string,\n },\n },\n );\n\n if (response.error || !response.data) {\n throw new Error(\n 'Failed to fetch employment onboarding reserves status',\n );\n }\n\n return response;\n },\n select: ({ data }) => data?.data?.status,\n });\n};\n\nexport const useEngagementAgreementDetailsSchema = (\n countryCode: string,\n fieldValues: FieldValues,\n options?: {\n jsfModify?: OnboardingJsfModify;\n queryOptions?: { enabled?: boolean };\n },\n) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['engagement-agreement-details', countryCode],\n retry: false,\n enabled: options?.queryOptions?.enabled ?? !!countryCode,\n queryFn: async () => {\n const response =\n await getV1CountriesCountryCodeEngagementAgreementDetails({\n client: client as Client,\n path: {\n country_code: countryCode,\n },\n });\n\n if (response.error || !response.data) {\n throw new Error('Failed to fetch engagement agreement details');\n }\n\n return response;\n },\n select: ({ data }) => {\n const jsfSchema = data?.data?.schema || {};\n\n return createHeadlessForm(jsfSchema, fieldValues, {\n jsfModify: options?.jsfModify?.engagement_agreement_details,\n });\n },\n });\n};\n\n/**\n * Get pre-onboarding requirements for an employment\n */\nexport const useGetPreOnboardingRequirements = (\n employmentId: string,\n options?: { queryOptions?: { enabled?: boolean } },\n) => {\n const { client } = useClient();\n\n return useQuery({\n queryKey: ['pre-onboarding-requirements', employmentId],\n queryFn: async () => {\n const response =\n await getV1OnboardingEmploymentsEmploymentIdPreOnboardingDocumentRequirements(\n {\n client: client as Client,\n path: {\n employment_id: employmentId,\n },\n },\n );\n\n if (response.error || !response.data) {\n throw new Error('Failed to fetch pre-onboarding requirements');\n }\n\n return response;\n },\n enabled: options?.queryOptions?.enabled ?? true,\n select: (response) => response.data?.data,\n });\n};\n\n/**\n * Create a pre-onboarding document\n */\nexport const useCreatePreOnboardingDocument = () => {\n const { client } = useClient();\n\n return useMutation({\n mutationFn: ({\n employmentId,\n body,\n }: {\n employmentId: string;\n body: FindOrCreatePreOnboardingDocumentParams;\n }) => {\n return postV1OnboardingEmploymentsEmploymentIdPreOnboardingDocuments({\n client: client as Client,\n body,\n path: {\n employment_id: employmentId,\n },\n });\n },\n });\n};\n\n/**\n * Get pre-onboarding document preview\n */\nexport const useGetPreOnboardingDocument = (\n employmentId: string,\n documentId: string | undefined,\n options?: { queryOptions?: { enabled?: boolean } },\n) => {\n const { client } = useClient();\n\n return useQuery({\n queryKey: ['pre-onboarding-document', employmentId, documentId],\n queryFn: async () => {\n const response =\n await getV1OnboardingEmploymentsEmploymentIdPreOnboardingDocumentsId({\n client: client as Client,\n path: {\n employment_id: employmentId,\n id: documentId!,\n },\n });\n\n if (response.error || !response.data) {\n throw new Error('Failed to fetch pre-onboarding document');\n }\n\n return response;\n },\n enabled: (options?.queryOptions?.enabled ?? true) && !!documentId,\n select: (response) => response.data?.data,\n });\n};\n\n/**\n * Sign a pre-onboarding document\n */\nexport const useSignPreOnboardingDocument = () => {\n const { client } = useClient();\n\n return useMutation({\n mutationFn: ({\n employmentId,\n documentId,\n signature,\n }: {\n employmentId: string;\n documentId: string;\n signature: string;\n }) =>\n postV1OnboardingEmploymentsEmploymentIdPreOnboardingDocumentsIdSign({\n client: client as Client,\n path: {\n employment_id: employmentId,\n id: documentId,\n },\n body: {\n signature,\n },\n }),\n });\n};\n\n/**\n * Get employment agreement preview\n */\nexport const useEmploymentAgreementPreview = (\n employmentId: string | undefined,\n options?: { queryOptions?: { enabled?: boolean } },\n) => {\n const { client } = useClient();\n\n return useQuery({\n queryKey: ['employment-agreement-preview', employmentId],\n retry: false,\n enabled: (options?.queryOptions?.enabled ?? true) && !!employmentId,\n queryFn: async () => {\n const response =\n await getV1EmploymentsEmploymentIdEmploymentAgreementPreview({\n client: client as Client,\n path: {\n employment_id: employmentId as string,\n },\n });\n\n if (response.error || !response.data) {\n throw new Error('Failed to fetch employment agreement preview');\n }\n\n return response;\n },\n select: (response) => response.data?.data.employment_agreement,\n });\n};\n"],"mappings":"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","names":["useMutation","useQuery","useCompany","__name","companyId","client","useClient","useQuery","response","getV1CompaniesCompanyId","data","useBenefitOffers","employmentId","getV1EmploymentsEmploymentIdBenefitOffers","acc","item","useEmploymentEngagementAgreementDetails","queryOptions","getV2EmploymentsEmploymentIdEngagementAgreementDetails","useEmploymentInvite","useMutation","payload","postV1EmploymentsEmploymentIdInvite","useCreateReserveInvoice","postV1RiskReserve","useJSONSchemaForm","countryCode","form","fieldValues","options","query","jsonSchemaVersion","jsonSchemaQueryParam","getV1CountriesCountryCodeForm","jsfSchema","createHeadlessForm","useBenefitOffersSchema","getBenefitOffersSchemaVersion","getV1EmploymentsEmploymentIdBenefitOffersSchema","useCreateEmployment","getBasicInformationSchemaVersion","postV1Employments","useUpdateEmployment","jsonSchemaQueryParams","getContractDetailsSchemaVersion","patchV1EmploymentsEmploymentId2","useUpdateEmploymentEngagementAgreementDetails","postV2EmploymentsEmploymentIdEngagementAgreementDetails","useUpdateBenefitsOffers","putV1EmploymentsEmploymentIdBenefitOffers","useCountriesSchemaField","countries","isLoading","countriesOptions","country","selectCountryForm","selectCountryStepSchema","countryField","field","useConvertCurrency","type","postV1CurrencyConverterRaw","postV1CurrencyConverterEffective","useUpsertContractEligibility","postV1EmploymentsEmploymentIdContractEligibility","useEmploymentOnboardingReservesStatus","enabled","getV1CompaniesCompanyIdEmploymentsEmploymentIdOnboardingReservesStatus","useEngagementAgreementDetailsSchema","getV1CountriesCountryCodeEngagementAgreementDetails","useGetPreOnboardingRequirements","getV1OnboardingEmploymentsEmploymentIdPreOnboardingDocumentRequirements","useCreatePreOnboardingDocument","body","postV1OnboardingEmploymentsEmploymentIdPreOnboardingDocuments","useGetPreOnboardingDocument","documentId","getV1OnboardingEmploymentsEmploymentIdPreOnboardingDocumentsId","useSignPreOnboardingDocument","signature","postV1OnboardingEmploymentsEmploymentIdPreOnboardingDocumentsIdSign","useEmploymentAgreementPreview","getV1EmploymentsEmploymentIdEmploymentAgreementPreview"]}
@@ -1,2 +1,2 @@
1
- import{a as L,b as H,c as U,e as O}from"./chunk-N6XLGYRK.js";import{f as W}from"./chunk-MPB6TYP2.js";import{a as oe}from"./chunk-Z766UAJV.js";import{a as ie}from"./chunk-3GKLBQMY.js";import{a as _,c as I,d as k,e as J,f as j}from"./chunk-LJUWER2H.js";import{f as le,g as A,h as te}from"./chunk-Y3CJRZLA.js";import{n as g}from"./chunk-G2LZFGZA.js";import{e as ae}from"./chunk-H2O4CVKF.js";import{a as i}from"./chunk-P37U34EQ.js";import*as M from"@radix-ui/react-collapsible";var ge=M.Root,ye=M.CollapsibleTrigger,Se=M.CollapsibleContent;import*as y from"@radix-ui/react-dialog";import{XIcon as he}from"lucide-react";import{jsx as F,jsxs as K}from"react/jsx-runtime";function Ne({...e}){return F(y.Root,{"data-slot":"full-screen-dialog",...e})}i(Ne,"FullScreenDialog");function xe({...e}){return F(y.Trigger,{"data-slot":"full-screen-dialog-trigger",...e})}i(xe,"FullScreenDialogTrigger");function Te({...e}){return F(y.Portal,{"data-slot":"full-screen-dialog-portal",...e})}i(Te,"FullScreenDialogPortal");function Fe({className:e,...l}){return F(y.Overlay,{"data-slot":"full-screen-dialog-overlay",className:g("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",e),...l})}i(Fe,"FullScreenDialogOverlay");function Ce({className:e,children:l,...a}){return K(Te,{"data-slot":"full-screen-dialog-portal",children:[F(Fe,{}),K(y.Content,{"data-slot":"full-screen-dialog-content",className:g("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 flex flex-col",e),...a,children:[l,K(y.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 RemoteFlows__FullScreenDialog__Close",children:[F(he,{}),F("span",{className:"sr-only",children:"Close"})]})]})]})}i(Ce,"FullScreenDialogContent");function De({className:e,...l}){return F("div",{"data-slot":"full-screen-dialog-header",className:g("flex flex-col gap-2 text-center sm:text-left",e),...l})}i(De,"FullScreenDialogHeader");function we({className:e,...l}){return F("div",{"data-slot":"full-screen-dialog-footer",className:g("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",e),...l})}i(we,"FullScreenDialogFooter");function Re({className:e,...l}){return F(y.Title,{"data-slot":"full-screen-dialog-title",className:g("text-lg leading-none font-semibold",e),...l})}i(Re,"FullScreenDialogTitle");function Pe({className:e,...l}){return F(y.Description,{"data-slot":"full-screen-dialog-description",className:g("text-muted-foreground text-sm",e),...l})}i(Pe,"FullScreenDialogDescription");import*as R from"@radix-ui/react-tabs";import{jsx as B}from"react/jsx-runtime";function z({className:e,...l}){return B(R.Root,{"data-slot":"tabs",className:g("flex flex-col gap-2",e),...l})}i(z,"Tabs");function $({className:e,...l}){return B(R.List,{"data-slot":"tabs-list",className:g("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-1",e),...l})}i($,"TabsList");function X({className:e,...l}){return B(R.Trigger,{"data-slot":"tabs-trigger",className:g("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",e),...l})}i(X,"TabsTrigger");function Ve({className:e,...l}){return B(R.Content,{"data-slot":"tabs-content",className:g("flex-1 outline-none",e),...l})}i(Ve,"TabsContent");import*as Z from"react";import*as x from"@radix-ui/react-scroll-area";import{jsx as q,jsxs as Ae}from"react/jsx-runtime";var ne=Z.forwardRef(({className:e,children:l,...a},s)=>Ae(x.Root,{ref:s,className:g("relative overflow-hidden",e),...a,children:[q(x.Viewport,{className:"h-full w-full rounded-[inherit]",children:l}),q(se,{}),q(x.Corner,{})]}));ne.displayName=x.Root.displayName;var se=Z.forwardRef(({className:e,orientation:l="vertical",...a},s)=>q(x.ScrollAreaScrollbar,{ref:s,orientation:l,className:g("flex touch-none select-none transition-colors",l==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",l==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",e),...a,children:q(x.ScrollAreaThumb,{className:"relative flex-1 rounded-full bg-border"})}));se.displayName=x.ScrollAreaScrollbar.displayName;import{useState as Y,useEffect as ke,useMemo as Je}from"react";import{useQuery as je}from"@tanstack/react-query";import E from"fast-deep-equal";var re=i(e=>e.name?e.type?!0:(console.warn(`Field "${e.name}" missing required "type" property`),!1):(console.warn('Field missing required "name" property:',e),!1),"validateField"),Le=i((e,l)=>{if(E(e,l))return;let a=new Map((e||[]).map(t=>[t.value,t])),s=new Map((l||[]).map(t=>[t.value,t])),u=[],m=[],p=[];if(s.forEach((t,c)=>{a.has(c)||u.push({value:t.value,label:t.label})}),a.forEach((t,c)=>{if(!s.has(c))m.push({value:t.value,label:t.label});else{let S=s.get(c);if(!E(t,S)){let b={};t.label!==S.label&&(b.label={old:t.label,new:S.label}),Object.keys(b).length>0&&p.push({value:c,changes:b})}}}),!(u.length===0&&m.length===0&&p.length===0))return{added:u,removed:m,modified:p}},"compareOptions"),Oe=i((e,l)=>{let a=e.fields,s=l.fields;if(!a&&!s)return;let u=G(a||[],s||[]);if(u.added.length>0||u.removed.length>0||u.modified.length>0)return Array.from(u.fieldDiffs.values())},"compareNestedFields"),Me=i((e,l)=>{let a={label:e.label!==l.label,required:e.required!==l.required,inputType:e.inputType!==l.inputType,type:e.type!==l.type,jsonType:!E(e.jsonType,l.jsonType),name:e.name!==l.name,defaultValue:e.defaultValue!==l.defaultValue,minDate:e.minDate!==l.minDate,maxDate:e.maxDate!==l.maxDate,maxLength:e.maxLength!==l.maxLength,multiple:e.multiple!==l.multiple,isVisible:e.isVisible!==l.isVisible,options:!E(e.options,l.options)},s=(()=>{let m=e.fields,p=l.fields;if(!m&&!p)return!1;if(!m||!p)return!0;let t=G(m,p);return t.added.length>0||t.removed.length>0||t.modified.length>0})();return Object.values(a).some(m=>m)||s},"isFieldModified"),Ee=i((e,l)=>{let a={};e.label!==l.label&&(a.label={old:e.label,new:l.label}),e.required!==l.required&&(a.required={old:e.required,new:l.required}),e.type!==l.type&&(a.type={old:e.type,new:l.type}),e.inputType!==l.inputType&&(a.inputType={old:e.inputType,new:l.inputType}),E(e.jsonType,l.jsonType)||(a.jsonType={old:e.jsonType,new:l.jsonType}),E(e.defaultValue,l.defaultValue)||(a.defaultValue={old:e.defaultValue,new:l.defaultValue}),e.minDate!==l.minDate&&(a.minDate={old:e.minDate||"",new:l.minDate||""}),e.maxDate!==l.maxDate&&(a.maxDate={old:e.maxDate||"",new:l.maxDate||""}),e.maxLength!==l.maxLength&&(a.maxLength={old:e.maxLength||0,new:l.maxLength||0}),e.multiple!==l.multiple&&(a.multiple={old:e.multiple||!1,new:l.multiple||!1}),e.isVisible!==l.isVisible&&(a.isVisible={old:e.isVisible,new:l.isVisible});let s=Le(e.options,l.options);s&&(a.options=s);let u=Oe(e,l);return u&&(a.nestedFields=u),Object.keys(a).length>0?a:void 0},"getFieldChanges"),G=i((e=[],l=[])=>{let a=e.filter(re),s=l.filter(re),u=new Map(a.map(f=>[f.name,{field:f}])),m=new Map(s.map(f=>[f.name,{field:f}])),p=[],t=[],c=[],S=[],b=new Map;return m.forEach((f,d)=>{u.has(d)||(p.push(d),b.set(d,{fieldName:d,diffType:"added"}))}),u.forEach(({field:f},d)=>{if(!m.has(d))t.push(d),b.set(d,{fieldName:d,diffType:"removed"});else{let{field:N}=m.get(d);Me(f,N)?(c.push(d),b.set(d,{fieldName:d,diffType:"modified",changes:Ee(f,N)})):(S.push(d),b.set(d,{fieldName:d,diffType:"unchanged"}))}}),{added:p,removed:t,modified:c,unchanged:S,fieldDiffs:b}},"compareFormFields"),de=i(e=>{switch(e){case"added":return"bg-green-50 border-l-4 border-green-500";case"removed":return"bg-red-50 border-l-4 border-red-500";case"modified":return"bg-yellow-50 border-l-4 border-yellow-500";default:return""}},"getDiffStyles");import{useMemo as ve,useRef as Q,useEffect as _e}from"react";import{jsx as o,jsxs as v}from"react/jsx-runtime";var Ie=i(({children:e,diffType:l,changes:a})=>{let s=de(l);if(l==="unchanged")return o("div",{children:e});let m={added:o("span",{className:"text-xs font-semibold text-green-700 bg-green-100 px-2 py-1 rounded",children:"NEW"}),removed:o("span",{className:"text-xs font-semibold text-red-700 bg-red-100 px-2 py-1 rounded",children:"REMOVED"}),modified:o("span",{className:"text-xs font-semibold text-yellow-700 bg-yellow-100 px-2 py-1 rounded",children:"MODIFIED"})}[l],p=i(()=>{if(!a||l!=="modified")return null;let t=[];if(a.label&&t.push(v("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Label:"})," ",o("span",{className:"line-through text-red-600",children:a.label.old})," ","\u2192 ",o("span",{className:"text-green-600",children:a.label.new})]},"label")),a.required&&t.push(v("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Required:"})," ",o("span",{className:"line-through text-red-600",children:a.required.old?"Yes":"No"})," ","\u2192"," ",o("span",{className:"text-green-600",children:a.required.new?"Yes":"No"})]},"required")),a.type&&t.push(v("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Type:"})," ",o("span",{className:"line-through text-red-600",children:a.type.old})," ","\u2192 ",o("span",{className:"text-green-600",children:a.type.new})]},"type")),a.inputType&&t.push(v("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Input Type:"})," ",o("span",{className:"line-through text-red-600",children:a.inputType.old})," ","\u2192 ",o("span",{className:"text-green-600",children:a.inputType.new})]},"inputType")),a.jsonType){let c=Array.isArray(a.jsonType.old)?a.jsonType.old.join(" | "):a.jsonType.old,S=Array.isArray(a.jsonType.new)?a.jsonType.new.join(" | "):a.jsonType.new;t.push(v("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"JSON Type:"})," ",o("span",{className:"line-through text-red-600",children:c})," \u2192"," ",o("span",{className:"text-green-600",children:S})]},"jsonType"))}return a.defaultValue!==void 0&&t.push(v("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Default Value:"})," ",o("span",{className:"line-through text-red-600",children:JSON.stringify(a.defaultValue.old)})," ","\u2192"," ",o("span",{className:"text-green-600",children:JSON.stringify(a.defaultValue.new)})]},"defaultValue")),a.options&&(a.options.added.length>0&&t.push(v("div",{className:"text-xs",children:[o("span",{className:"font-semibold text-green-700",children:"Options Added:"})," ",a.options.added.map(c=>c.label).join(", ")]},"options-added")),a.options.removed.length>0&&t.push(v("div",{className:"text-xs",children:[o("span",{className:"font-semibold text-red-700",children:"Options Removed:"})," ",a.options.removed.map(c=>c.label).join(", ")]},"options-removed")),a.options.modified.length>0&&t.push(v("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Options Modified:"})," ",a.options.modified.length," option(s)"]},"options-modified"))),a.nestedFields&&a.nestedFields.length>0&&t.push(v("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Nested Fields:"})," ",a.nestedFields.length," field(s) changed"]},"nestedFields")),t.length===0?null:v("div",{className:"mt-2 p-2 bg-yellow-50 rounded border border-yellow-200 space-y-1",children:[o("div",{className:"text-xs font-semibold text-yellow-800 mb-1",children:"Changes:"}),t]})},"renderChanges");return v("div",{className:`p-3 mb-2 rounded ${s} relative`,children:[o("div",{className:"absolute top-2 right-2",children:m}),e,p()]})},"FieldWrapper"),ue=i(({version:e,fields:l,fieldsets:a,diffMap:s,title:u,scrollRef:m})=>{let p=le({mode:"onBlur"}),t=ve(()=>{let c=i((S,b)=>S.map(f=>{let d=b.get(f.name),N=d?.diffType||"unchanged",T=d?.changes,C=f.fields,P=f;if(C&&Array.isArray(C)){let V=new Map;T&&typeof T=="object"&&"nestedFields"in T&&Array.isArray(T.nestedFields)&&T.nestedFields.forEach(n=>{V.set(n.fieldName,{diffType:n.diffType,changes:n.changes})});let D=c(C,V);P={...f,fields:D}}return{...P,WrapperComponent:i(({children:V})=>o(Ie,{diffType:N,fieldName:f.name,changes:T,children:V}),"WrapperComponent")}}),"applyWrappers");return c(l,s)},[l,s]);return v(L,{className:"h-full",children:[o(H,{children:v(U,{children:[u," - Version ",e]})}),o(O,{ref:m,className:"overflow-y-auto max-h-[600px]",children:o(te,{...p,children:o("form",{className:"space-y-4",children:o(ie,{fields:t,fieldsets:a,fieldValues:{}})})})})]})},"FormPanel"),me=i(({topVersion:e,bottomVersion:l,topFields:a,bottomFields:s,topFieldsets:u,bottomFieldsets:m,isLoading:p})=>{let t=ve(()=>G(a,s),[a,s]),c=Q(null),S=Q(null),b=Q(!1);if(_e(()=>{let d=c.current,N=S.current;if(!d||!N)return;let T=i(()=>{b.current||(b.current=!0,N.scrollTop=d.scrollTop,requestAnimationFrame(()=>{b.current=!1}))},"handleLeftScroll"),C=i(()=>{b.current||(b.current=!0,d.scrollTop=N.scrollTop,requestAnimationFrame(()=>{b.current=!1}))},"handleRightScroll");return d.addEventListener("scroll",T),N.addEventListener("scroll",C),()=>{d.removeEventListener("scroll",T),N.removeEventListener("scroll",C)}},[a,s]),p)return o("div",{className:"flex items-center justify-center h-96",children:v("div",{className:"text-center",children:[o("div",{className:"animate-spin rounded-full h-12 w-12 border-b-2 border-gray-900 mx-auto"}),o("p",{className:"mt-4 text-gray-600",children:"Loading schemas..."})]})});let f=t.added.length===0&&t.removed.length===0&&t.modified.length===0;return v("div",{className:"space-y-6",children:[o(L,{children:o(O,{className:"pt-6",children:f?o("p",{className:"text-center text-gray-600",children:"No differences detected between the two versions"}):v("div",{className:"flex gap-6 justify-center",children:[t.added.length>0&&v("div",{className:"flex items-center gap-2",children:[o("span",{className:"w-4 h-4 bg-green-500 rounded"}),v("span",{className:"text-sm",children:[t.added.length," field",t.added.length>1?"s":""," ","added"]})]}),t.removed.length>0&&v("div",{className:"flex items-center gap-2",children:[o("span",{className:"w-4 h-4 bg-red-500 rounded"}),v("span",{className:"text-sm",children:[t.removed.length," field",t.removed.length>1?"s":""," removed"]})]}),t.modified.length>0&&v("div",{className:"flex items-center gap-2",children:[o("span",{className:"w-4 h-4 bg-yellow-500 rounded"}),v("span",{className:"text-sm",children:[t.modified.length," field",t.modified.length>1?"s":""," modified"]})]})]})})}),v("div",{className:"grid grid-cols-2 gap-6",children:[o(ue,{version:e,fields:a,fieldsets:u,diffMap:t.fieldDiffs,title:"Left",scrollRef:c}),o(ue,{version:l,fields:s,fieldsets:m,diffMap:t.fieldDiffs,title:"Right",scrollRef:S})]})]})},"SchemaFormComparison");var pe=[{value:1,label:"v1 (Legacy)"},{value:3,label:"v3 (Recommended)"}],ee={ALB:[{value:1,label:"v1"}],ARE:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],ARG:[{value:1,label:"v1"}],ARM:[{value:1,label:"v1"}],AUS:[{value:1,label:"v1"}],AUT:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],BEL:[{value:1,label:"v1"},{value:2,label:"v2"}],BGD:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],BGR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],BIH:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],BLR:[{value:1,label:"v1"},{value:2,label:"v2"}],BOL:[{value:1,label:"v1"}],BRA:[{value:1,label:"v1"}],CAN:[{value:1,label:"v1"},{value:2,label:"v2"}],CHE:[{value:1,label:"v1"},{value:2,label:"v2"}],CHL:[{value:1,label:"v1"}],CHN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],COL:[{value:1,label:"v1"}],CRI:[{value:1,label:"v1"}],CYP:[{value:1,label:"v1"}],CZE:[{value:1,label:"v1"},{value:2,label:"v2"}],DEU:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],DNK:[{value:1,label:"v1"}],DOM:[{value:1,label:"v1"}],ECU:[{value:1,label:"v1"}],EGY:[{value:1,label:"v1"},{value:2,label:"v2"}],ESP:[{value:1,label:"v1"},{value:2,label:"v2"}],EST:[{value:1,label:"v1"}],FIN:[{value:1,label:"v1"}],FRA:[{value:1,label:"v1"},{value:2,label:"v2"}],GBR:[{value:1,label:"v1"},{value:2,label:"v2"}],GEO:[{value:1,label:"v1"}],GRC:[{value:1,label:"v1"}],GTM:[{value:1,label:"v1"}],HKG:[{value:1,label:"v1"},{value:2,label:"v2"}],HND:[{value:1,label:"v1"}],HRV:[{value:1,label:"v1"},{value:2,label:"v2"}],HUN:[{value:1,label:"v1"}],IDN:[{value:1,label:"v1"}],IND:[{value:1,label:"v1"},{value:2,label:"v2"}],IRL:[{value:1,label:"v1"}],ISL:[{value:1,label:"v1"},{value:2,label:"v2"}],ISR:[{value:1,label:"v1"}],ITA:[{value:1,label:"v1"}],JAM:[{value:1,label:"v1"},{value:2,label:"v2"}],JPN:[{value:1,label:"v1"},{value:2,label:"v2"}],KEN:[{value:1,label:"v1"},{value:2,label:"v2"}],KGZ:[{value:1,label:"v1"}],KHM:[{value:1,label:"v1"}],KOR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],LBN:[{value:1,label:"v1"},{value:2,label:"v2"}],LKA:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],LTU:[{value:1,label:"v1"}],LUX:[{value:1,label:"v1"}],LVA:[{value:1,label:"v1"},{value:2,label:"v2"}],MAR:[{value:1,label:"v1"}],MDA:[{value:1,label:"v1"}],MEX:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],MKD:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],MLT:[{value:1,label:"v1"}],MNG:[{value:1,label:"v1"}],MUS:[{value:1,label:"v1"},{value:2,label:"v2"}],MYS:[{value:1,label:"v1"},{value:2,label:"v2"}],NGA:[{value:1,label:"v1"},{value:2,label:"v2"}],NIC:[{value:1,label:"v1"}],NLD:[{value:1,label:"v1"}],NOR:[{value:1,label:"v1"},{value:2,label:"v2"}],NZL:[{value:1,label:"v1"},{value:2,label:"v2"}],PAK:[{value:1,label:"v1"},{value:2,label:"v2"}],PAN:[{value:1,label:"v1"}],PER:[{value:1,label:"v1"}],PHL:[{value:1,label:"v1"}],POL:[{value:1,label:"v1"}],PRI:[{value:1,label:"v1"}],PRT:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],PRY:[{value:1,label:"v1"}],ROU:[{value:1,label:"v1"}],SAU:[{value:1,label:"v1"},{value:2,label:"v2"}],SGP:[{value:1,label:"v1"},{value:2,label:"v2"}],SLV:[{value:1,label:"v1"}],SRB:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],SVK:[{value:1,label:"v1"}],SVN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],SWE:[{value:1,label:"v1"},{value:2,label:"v2"}],THA:[{value:1,label:"v1"},{value:2,label:"v2"}],TUN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],TUR:[{value:1,label:"v1"}],TWN:[{value:1,label:"v1"}],UGA:[{value:1,label:"v1"}],UKR:[{value:1,label:"v1"}],URY:[{value:1,label:"v1"}],USA:[{value:1,label:"v1"}],VNM:[{value:1,label:"v1"},{value:2,label:"v2"}],XKX:[{value:1,label:"v1"}],ZAF:[{value:1,label:"v1"}],ZWE:[{value:1,label:"v1"}]},ce=Object.fromEntries(Object.entries(ee).filter(([,e])=>e.length>1)),be=[{value:"employment_basic_information",label:"Basic Information"},{value:"contract_details",label:"Contract Details"}];import{jsx as r,jsxs as h}from"react/jsx-runtime";var fe=i(()=>{let[e,l]=Y("employment_basic_information"),[a,s]=Y(1),[u,m]=Y(1),[p,t]=Y("ARE"),{client:c}=ae(),{data:S}=je({...oe(c,"schema-comparison"),select:i(n=>n.data?.data?.filter(w=>w.eor_onboarding).filter(w=>Object.keys(ce).includes(w.code)).map(w=>({label:w.name,value:w.code}))||[],"select")}),b=e==="contract_details",{data:f,isLoading:d}=W({countryCode:p,form:e,fieldValues:{},jsonSchemaVersion:a,options:{queryOptions:{enabled:!0}}}),{data:N,isLoading:T}=W({countryCode:p,form:e,fieldValues:{},jsonSchemaVersion:u,options:{queryOptions:{enabled:!0}}}),C=d||T,P=ee[p],V=P!==void 0,D=Je(()=>e==="employment_basic_information"?pe:P||[{value:"latest",label:"Latest"}],[e,P]);return ke(()=>{let n=D.map(w=>w.value);n.includes(a)||s(D[0].value),n.includes(u)||m(D[0].value)},[e,p,D,a,u]),h("div",{className:"space-y-6",children:[h(L,{children:[r(H,{children:r(U,{children:"Configuration"})}),h(O,{className:"space-y-4",children:[h("div",{children:[r(A,{className:"mb-2 block",children:"Form Type"}),r(z,{value:e,onValueChange:n=>l(n),children:r($,{className:"grid w-full grid-cols-2",children:be.map(n=>r(X,{value:n.value,children:n.label},n.value))})})]}),b&&!V&&r("div",{className:"rounded-md bg-yellow-50 p-4 border border-yellow-200",children:h("div",{className:"flex",children:[r("div",{className:"flex-shrink-0",children:r("svg",{className:"h-5 w-5 text-yellow-400",viewBox:"0 0 20 20",fill:"currentColor",children:r("path",{fillRule:"evenodd",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",clipRule:"evenodd"})})}),h("div",{className:"ml-3",children:[r("h3",{className:"text-sm font-medium text-yellow-800",children:"Version mappings not found"}),r("div",{className:"mt-2 text-sm text-yellow-700",children:h("p",{children:["Country"," ",r("span",{className:"font-semibold",children:p})," is not configured in COUNTRY_CONTRACT_VERSIONS. Using default (latest only)."]})})]})]})}),b&&h("div",{children:[r(A,{htmlFor:"country-select",className:"mb-2 block",children:"Country"}),h(_,{value:p,onValueChange:t,children:[r(k,{id:"country-select",children:r(I,{placeholder:"Select a country"})}),r(J,{children:S?.map(n=>r(j,{value:n.value,children:n.label},n.value))})]})]}),h("div",{className:"grid grid-cols-2 gap-4",children:[h("div",{children:[r(A,{htmlFor:"top-version",className:"mb-2 block",children:"Left Version"}),h(_,{value:String(a),onValueChange:n=>s(n==="latest"?"latest":Number(n)),children:[r(k,{id:"top-version",children:r(I,{placeholder:"Select version"})}),r(J,{children:D.map(n=>r(j,{value:String(n.value),children:n.label},String(n.value)))})]})]}),h("div",{children:[r(A,{htmlFor:"bottom-version",className:"mb-2 block",children:"Right Version"}),h(_,{value:String(u),onValueChange:n=>m(n==="latest"?"latest":Number(n)),children:[r(k,{id:"bottom-version",children:r(I,{placeholder:"Select version"})}),r(J,{children:D.map(n=>r(j,{value:String(n.value),children:n.label},String(n.value)))})]})]})]})]})]}),r(me,{topVersion:a,bottomVersion:u,topFields:f?.fields||[],bottomFields:N?.fields||[],topFieldsets:f?.meta?.["x-jsf-fieldsets"],bottomFieldsets:N?.meta?.["x-jsf-fieldsets"],isLoading:C})]})},"JsonSchemaComparison");export{ge as a,ye as b,Se as c,Ne as d,xe as e,Ce as f,De as g,we as h,Re as i,Pe as j,z as k,$ as l,X as m,Ve as n,ne as o,fe as p};
2
- //# sourceMappingURL=chunk-QN4ONV3W.js.map
1
+ import{a as L,b as H,c as U,e as O}from"./chunk-N6XLGYRK.js";import{f as W}from"./chunk-UYGDMJF2.js";import{a as oe}from"./chunk-54Z4QJ3Q.js";import{a as ie}from"./chunk-KUKZNLCF.js";import{a as _,c as I,d as k,e as J,f as j}from"./chunk-LJUWER2H.js";import{f as le,g as A,h as te}from"./chunk-Y3CJRZLA.js";import{n as g}from"./chunk-G2LZFGZA.js";import{e as ae}from"./chunk-H2O4CVKF.js";import{a as i}from"./chunk-P37U34EQ.js";import*as M from"@radix-ui/react-collapsible";var ge=M.Root,ye=M.CollapsibleTrigger,Se=M.CollapsibleContent;import*as y from"@radix-ui/react-dialog";import{XIcon as he}from"lucide-react";import{jsx as F,jsxs as K}from"react/jsx-runtime";function Ne({...e}){return F(y.Root,{"data-slot":"full-screen-dialog",...e})}i(Ne,"FullScreenDialog");function xe({...e}){return F(y.Trigger,{"data-slot":"full-screen-dialog-trigger",...e})}i(xe,"FullScreenDialogTrigger");function Te({...e}){return F(y.Portal,{"data-slot":"full-screen-dialog-portal",...e})}i(Te,"FullScreenDialogPortal");function Fe({className:e,...l}){return F(y.Overlay,{"data-slot":"full-screen-dialog-overlay",className:g("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",e),...l})}i(Fe,"FullScreenDialogOverlay");function Ce({className:e,children:l,...a}){return K(Te,{"data-slot":"full-screen-dialog-portal",children:[F(Fe,{}),K(y.Content,{"data-slot":"full-screen-dialog-content",className:g("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 flex flex-col",e),...a,children:[l,K(y.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 RemoteFlows__FullScreenDialog__Close",children:[F(he,{}),F("span",{className:"sr-only",children:"Close"})]})]})]})}i(Ce,"FullScreenDialogContent");function De({className:e,...l}){return F("div",{"data-slot":"full-screen-dialog-header",className:g("flex flex-col gap-2 text-center sm:text-left",e),...l})}i(De,"FullScreenDialogHeader");function we({className:e,...l}){return F("div",{"data-slot":"full-screen-dialog-footer",className:g("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",e),...l})}i(we,"FullScreenDialogFooter");function Re({className:e,...l}){return F(y.Title,{"data-slot":"full-screen-dialog-title",className:g("text-lg leading-none font-semibold",e),...l})}i(Re,"FullScreenDialogTitle");function Pe({className:e,...l}){return F(y.Description,{"data-slot":"full-screen-dialog-description",className:g("text-muted-foreground text-sm",e),...l})}i(Pe,"FullScreenDialogDescription");import*as R from"@radix-ui/react-tabs";import{jsx as B}from"react/jsx-runtime";function z({className:e,...l}){return B(R.Root,{"data-slot":"tabs",className:g("flex flex-col gap-2",e),...l})}i(z,"Tabs");function $({className:e,...l}){return B(R.List,{"data-slot":"tabs-list",className:g("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-1",e),...l})}i($,"TabsList");function X({className:e,...l}){return B(R.Trigger,{"data-slot":"tabs-trigger",className:g("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",e),...l})}i(X,"TabsTrigger");function Ve({className:e,...l}){return B(R.Content,{"data-slot":"tabs-content",className:g("flex-1 outline-none",e),...l})}i(Ve,"TabsContent");import*as Z from"react";import*as x from"@radix-ui/react-scroll-area";import{jsx as q,jsxs as Ae}from"react/jsx-runtime";var ne=Z.forwardRef(({className:e,children:l,...a},s)=>Ae(x.Root,{ref:s,className:g("relative overflow-hidden",e),...a,children:[q(x.Viewport,{className:"h-full w-full rounded-[inherit]",children:l}),q(se,{}),q(x.Corner,{})]}));ne.displayName=x.Root.displayName;var se=Z.forwardRef(({className:e,orientation:l="vertical",...a},s)=>q(x.ScrollAreaScrollbar,{ref:s,orientation:l,className:g("flex touch-none select-none transition-colors",l==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",l==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",e),...a,children:q(x.ScrollAreaThumb,{className:"relative flex-1 rounded-full bg-border"})}));se.displayName=x.ScrollAreaScrollbar.displayName;import{useState as Y,useEffect as ke,useMemo as Je}from"react";import{useQuery as je}from"@tanstack/react-query";import E from"fast-deep-equal";var re=i(e=>e.name?e.type?!0:(console.warn(`Field "${e.name}" missing required "type" property`),!1):(console.warn('Field missing required "name" property:',e),!1),"validateField"),Le=i((e,l)=>{if(E(e,l))return;let a=new Map((e||[]).map(t=>[t.value,t])),s=new Map((l||[]).map(t=>[t.value,t])),u=[],m=[],p=[];if(s.forEach((t,c)=>{a.has(c)||u.push({value:t.value,label:t.label})}),a.forEach((t,c)=>{if(!s.has(c))m.push({value:t.value,label:t.label});else{let S=s.get(c);if(!E(t,S)){let b={};t.label!==S.label&&(b.label={old:t.label,new:S.label}),Object.keys(b).length>0&&p.push({value:c,changes:b})}}}),!(u.length===0&&m.length===0&&p.length===0))return{added:u,removed:m,modified:p}},"compareOptions"),Oe=i((e,l)=>{let a=e.fields,s=l.fields;if(!a&&!s)return;let u=G(a||[],s||[]);if(u.added.length>0||u.removed.length>0||u.modified.length>0)return Array.from(u.fieldDiffs.values())},"compareNestedFields"),Me=i((e,l)=>{let a={label:e.label!==l.label,required:e.required!==l.required,inputType:e.inputType!==l.inputType,type:e.type!==l.type,jsonType:!E(e.jsonType,l.jsonType),name:e.name!==l.name,defaultValue:e.defaultValue!==l.defaultValue,minDate:e.minDate!==l.minDate,maxDate:e.maxDate!==l.maxDate,maxLength:e.maxLength!==l.maxLength,multiple:e.multiple!==l.multiple,isVisible:e.isVisible!==l.isVisible,options:!E(e.options,l.options)},s=(()=>{let m=e.fields,p=l.fields;if(!m&&!p)return!1;if(!m||!p)return!0;let t=G(m,p);return t.added.length>0||t.removed.length>0||t.modified.length>0})();return Object.values(a).some(m=>m)||s},"isFieldModified"),Ee=i((e,l)=>{let a={};e.label!==l.label&&(a.label={old:e.label,new:l.label}),e.required!==l.required&&(a.required={old:e.required,new:l.required}),e.type!==l.type&&(a.type={old:e.type,new:l.type}),e.inputType!==l.inputType&&(a.inputType={old:e.inputType,new:l.inputType}),E(e.jsonType,l.jsonType)||(a.jsonType={old:e.jsonType,new:l.jsonType}),E(e.defaultValue,l.defaultValue)||(a.defaultValue={old:e.defaultValue,new:l.defaultValue}),e.minDate!==l.minDate&&(a.minDate={old:e.minDate||"",new:l.minDate||""}),e.maxDate!==l.maxDate&&(a.maxDate={old:e.maxDate||"",new:l.maxDate||""}),e.maxLength!==l.maxLength&&(a.maxLength={old:e.maxLength||0,new:l.maxLength||0}),e.multiple!==l.multiple&&(a.multiple={old:e.multiple||!1,new:l.multiple||!1}),e.isVisible!==l.isVisible&&(a.isVisible={old:e.isVisible,new:l.isVisible});let s=Le(e.options,l.options);s&&(a.options=s);let u=Oe(e,l);return u&&(a.nestedFields=u),Object.keys(a).length>0?a:void 0},"getFieldChanges"),G=i((e=[],l=[])=>{let a=e.filter(re),s=l.filter(re),u=new Map(a.map(f=>[f.name,{field:f}])),m=new Map(s.map(f=>[f.name,{field:f}])),p=[],t=[],c=[],S=[],b=new Map;return m.forEach((f,d)=>{u.has(d)||(p.push(d),b.set(d,{fieldName:d,diffType:"added"}))}),u.forEach(({field:f},d)=>{if(!m.has(d))t.push(d),b.set(d,{fieldName:d,diffType:"removed"});else{let{field:N}=m.get(d);Me(f,N)?(c.push(d),b.set(d,{fieldName:d,diffType:"modified",changes:Ee(f,N)})):(S.push(d),b.set(d,{fieldName:d,diffType:"unchanged"}))}}),{added:p,removed:t,modified:c,unchanged:S,fieldDiffs:b}},"compareFormFields"),de=i(e=>{switch(e){case"added":return"bg-green-50 border-l-4 border-green-500";case"removed":return"bg-red-50 border-l-4 border-red-500";case"modified":return"bg-yellow-50 border-l-4 border-yellow-500";default:return""}},"getDiffStyles");import{useMemo as ve,useRef as Q,useEffect as _e}from"react";import{jsx as o,jsxs as v}from"react/jsx-runtime";var Ie=i(({children:e,diffType:l,changes:a})=>{let s=de(l);if(l==="unchanged")return o("div",{children:e});let m={added:o("span",{className:"text-xs font-semibold text-green-700 bg-green-100 px-2 py-1 rounded",children:"NEW"}),removed:o("span",{className:"text-xs font-semibold text-red-700 bg-red-100 px-2 py-1 rounded",children:"REMOVED"}),modified:o("span",{className:"text-xs font-semibold text-yellow-700 bg-yellow-100 px-2 py-1 rounded",children:"MODIFIED"})}[l],p=i(()=>{if(!a||l!=="modified")return null;let t=[];if(a.label&&t.push(v("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Label:"})," ",o("span",{className:"line-through text-red-600",children:a.label.old})," ","\u2192 ",o("span",{className:"text-green-600",children:a.label.new})]},"label")),a.required&&t.push(v("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Required:"})," ",o("span",{className:"line-through text-red-600",children:a.required.old?"Yes":"No"})," ","\u2192"," ",o("span",{className:"text-green-600",children:a.required.new?"Yes":"No"})]},"required")),a.type&&t.push(v("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Type:"})," ",o("span",{className:"line-through text-red-600",children:a.type.old})," ","\u2192 ",o("span",{className:"text-green-600",children:a.type.new})]},"type")),a.inputType&&t.push(v("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Input Type:"})," ",o("span",{className:"line-through text-red-600",children:a.inputType.old})," ","\u2192 ",o("span",{className:"text-green-600",children:a.inputType.new})]},"inputType")),a.jsonType){let c=Array.isArray(a.jsonType.old)?a.jsonType.old.join(" | "):a.jsonType.old,S=Array.isArray(a.jsonType.new)?a.jsonType.new.join(" | "):a.jsonType.new;t.push(v("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"JSON Type:"})," ",o("span",{className:"line-through text-red-600",children:c})," \u2192"," ",o("span",{className:"text-green-600",children:S})]},"jsonType"))}return a.defaultValue!==void 0&&t.push(v("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Default Value:"})," ",o("span",{className:"line-through text-red-600",children:JSON.stringify(a.defaultValue.old)})," ","\u2192"," ",o("span",{className:"text-green-600",children:JSON.stringify(a.defaultValue.new)})]},"defaultValue")),a.options&&(a.options.added.length>0&&t.push(v("div",{className:"text-xs",children:[o("span",{className:"font-semibold text-green-700",children:"Options Added:"})," ",a.options.added.map(c=>c.label).join(", ")]},"options-added")),a.options.removed.length>0&&t.push(v("div",{className:"text-xs",children:[o("span",{className:"font-semibold text-red-700",children:"Options Removed:"})," ",a.options.removed.map(c=>c.label).join(", ")]},"options-removed")),a.options.modified.length>0&&t.push(v("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Options Modified:"})," ",a.options.modified.length," option(s)"]},"options-modified"))),a.nestedFields&&a.nestedFields.length>0&&t.push(v("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Nested Fields:"})," ",a.nestedFields.length," field(s) changed"]},"nestedFields")),t.length===0?null:v("div",{className:"mt-2 p-2 bg-yellow-50 rounded border border-yellow-200 space-y-1",children:[o("div",{className:"text-xs font-semibold text-yellow-800 mb-1",children:"Changes:"}),t]})},"renderChanges");return v("div",{className:`p-3 mb-2 rounded ${s} relative`,children:[o("div",{className:"absolute top-2 right-2",children:m}),e,p()]})},"FieldWrapper"),ue=i(({version:e,fields:l,fieldsets:a,diffMap:s,title:u,scrollRef:m})=>{let p=le({mode:"onBlur"}),t=ve(()=>{let c=i((S,b)=>S.map(f=>{let d=b.get(f.name),N=d?.diffType||"unchanged",T=d?.changes,C=f.fields,P=f;if(C&&Array.isArray(C)){let V=new Map;T&&typeof T=="object"&&"nestedFields"in T&&Array.isArray(T.nestedFields)&&T.nestedFields.forEach(n=>{V.set(n.fieldName,{diffType:n.diffType,changes:n.changes})});let D=c(C,V);P={...f,fields:D}}return{...P,WrapperComponent:i(({children:V})=>o(Ie,{diffType:N,fieldName:f.name,changes:T,children:V}),"WrapperComponent")}}),"applyWrappers");return c(l,s)},[l,s]);return v(L,{className:"h-full",children:[o(H,{children:v(U,{children:[u," - Version ",e]})}),o(O,{ref:m,className:"overflow-y-auto max-h-[600px]",children:o(te,{...p,children:o("form",{className:"space-y-4",children:o(ie,{fields:t,fieldsets:a,fieldValues:{}})})})})]})},"FormPanel"),me=i(({topVersion:e,bottomVersion:l,topFields:a,bottomFields:s,topFieldsets:u,bottomFieldsets:m,isLoading:p})=>{let t=ve(()=>G(a,s),[a,s]),c=Q(null),S=Q(null),b=Q(!1);if(_e(()=>{let d=c.current,N=S.current;if(!d||!N)return;let T=i(()=>{b.current||(b.current=!0,N.scrollTop=d.scrollTop,requestAnimationFrame(()=>{b.current=!1}))},"handleLeftScroll"),C=i(()=>{b.current||(b.current=!0,d.scrollTop=N.scrollTop,requestAnimationFrame(()=>{b.current=!1}))},"handleRightScroll");return d.addEventListener("scroll",T),N.addEventListener("scroll",C),()=>{d.removeEventListener("scroll",T),N.removeEventListener("scroll",C)}},[a,s]),p)return o("div",{className:"flex items-center justify-center h-96",children:v("div",{className:"text-center",children:[o("div",{className:"animate-spin rounded-full h-12 w-12 border-b-2 border-gray-900 mx-auto"}),o("p",{className:"mt-4 text-gray-600",children:"Loading schemas..."})]})});let f=t.added.length===0&&t.removed.length===0&&t.modified.length===0;return v("div",{className:"space-y-6",children:[o(L,{children:o(O,{className:"pt-6",children:f?o("p",{className:"text-center text-gray-600",children:"No differences detected between the two versions"}):v("div",{className:"flex gap-6 justify-center",children:[t.added.length>0&&v("div",{className:"flex items-center gap-2",children:[o("span",{className:"w-4 h-4 bg-green-500 rounded"}),v("span",{className:"text-sm",children:[t.added.length," field",t.added.length>1?"s":""," ","added"]})]}),t.removed.length>0&&v("div",{className:"flex items-center gap-2",children:[o("span",{className:"w-4 h-4 bg-red-500 rounded"}),v("span",{className:"text-sm",children:[t.removed.length," field",t.removed.length>1?"s":""," removed"]})]}),t.modified.length>0&&v("div",{className:"flex items-center gap-2",children:[o("span",{className:"w-4 h-4 bg-yellow-500 rounded"}),v("span",{className:"text-sm",children:[t.modified.length," field",t.modified.length>1?"s":""," modified"]})]})]})})}),v("div",{className:"grid grid-cols-2 gap-6",children:[o(ue,{version:e,fields:a,fieldsets:u,diffMap:t.fieldDiffs,title:"Left",scrollRef:c}),o(ue,{version:l,fields:s,fieldsets:m,diffMap:t.fieldDiffs,title:"Right",scrollRef:S})]})]})},"SchemaFormComparison");var pe=[{value:1,label:"v1 (Legacy)"},{value:3,label:"v3 (Recommended)"}],ee={ALB:[{value:1,label:"v1"}],ARE:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],ARG:[{value:1,label:"v1"}],ARM:[{value:1,label:"v1"}],AUS:[{value:1,label:"v1"}],AUT:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],BEL:[{value:1,label:"v1"},{value:2,label:"v2"}],BGD:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],BGR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],BIH:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],BLR:[{value:1,label:"v1"},{value:2,label:"v2"}],BOL:[{value:1,label:"v1"}],BRA:[{value:1,label:"v1"}],CAN:[{value:1,label:"v1"},{value:2,label:"v2"}],CHE:[{value:1,label:"v1"},{value:2,label:"v2"}],CHL:[{value:1,label:"v1"}],CHN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],COL:[{value:1,label:"v1"}],CRI:[{value:1,label:"v1"}],CYP:[{value:1,label:"v1"}],CZE:[{value:1,label:"v1"},{value:2,label:"v2"}],DEU:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],DNK:[{value:1,label:"v1"}],DOM:[{value:1,label:"v1"}],ECU:[{value:1,label:"v1"}],EGY:[{value:1,label:"v1"},{value:2,label:"v2"}],ESP:[{value:1,label:"v1"},{value:2,label:"v2"}],EST:[{value:1,label:"v1"}],FIN:[{value:1,label:"v1"}],FRA:[{value:1,label:"v1"},{value:2,label:"v2"}],GBR:[{value:1,label:"v1"},{value:2,label:"v2"}],GEO:[{value:1,label:"v1"}],GRC:[{value:1,label:"v1"}],GTM:[{value:1,label:"v1"}],HKG:[{value:1,label:"v1"},{value:2,label:"v2"}],HND:[{value:1,label:"v1"}],HRV:[{value:1,label:"v1"},{value:2,label:"v2"}],HUN:[{value:1,label:"v1"}],IDN:[{value:1,label:"v1"}],IND:[{value:1,label:"v1"},{value:2,label:"v2"}],IRL:[{value:1,label:"v1"}],ISL:[{value:1,label:"v1"},{value:2,label:"v2"}],ISR:[{value:1,label:"v1"}],ITA:[{value:1,label:"v1"}],JAM:[{value:1,label:"v1"},{value:2,label:"v2"}],JPN:[{value:1,label:"v1"},{value:2,label:"v2"}],KEN:[{value:1,label:"v1"},{value:2,label:"v2"}],KGZ:[{value:1,label:"v1"}],KHM:[{value:1,label:"v1"}],KOR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],LBN:[{value:1,label:"v1"},{value:2,label:"v2"}],LKA:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],LTU:[{value:1,label:"v1"}],LUX:[{value:1,label:"v1"}],LVA:[{value:1,label:"v1"},{value:2,label:"v2"}],MAR:[{value:1,label:"v1"}],MDA:[{value:1,label:"v1"}],MEX:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],MKD:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],MLT:[{value:1,label:"v1"}],MNG:[{value:1,label:"v1"}],MUS:[{value:1,label:"v1"},{value:2,label:"v2"}],MYS:[{value:1,label:"v1"},{value:2,label:"v2"}],NGA:[{value:1,label:"v1"},{value:2,label:"v2"}],NIC:[{value:1,label:"v1"}],NLD:[{value:1,label:"v1"}],NOR:[{value:1,label:"v1"},{value:2,label:"v2"}],NZL:[{value:1,label:"v1"},{value:2,label:"v2"}],PAK:[{value:1,label:"v1"},{value:2,label:"v2"}],PAN:[{value:1,label:"v1"}],PER:[{value:1,label:"v1"}],PHL:[{value:1,label:"v1"}],POL:[{value:1,label:"v1"}],PRI:[{value:1,label:"v1"}],PRT:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],PRY:[{value:1,label:"v1"}],ROU:[{value:1,label:"v1"}],SAU:[{value:1,label:"v1"},{value:2,label:"v2"}],SGP:[{value:1,label:"v1"},{value:2,label:"v2"}],SLV:[{value:1,label:"v1"}],SRB:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],SVK:[{value:1,label:"v1"}],SVN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],SWE:[{value:1,label:"v1"},{value:2,label:"v2"}],THA:[{value:1,label:"v1"},{value:2,label:"v2"}],TUN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],TUR:[{value:1,label:"v1"}],TWN:[{value:1,label:"v1"}],UGA:[{value:1,label:"v1"}],UKR:[{value:1,label:"v1"}],URY:[{value:1,label:"v1"}],USA:[{value:1,label:"v1"}],VNM:[{value:1,label:"v1"},{value:2,label:"v2"}],XKX:[{value:1,label:"v1"}],ZAF:[{value:1,label:"v1"}],ZWE:[{value:1,label:"v1"}]},ce=Object.fromEntries(Object.entries(ee).filter(([,e])=>e.length>1)),be=[{value:"employment_basic_information",label:"Basic Information"},{value:"contract_details",label:"Contract Details"}];import{jsx as r,jsxs as h}from"react/jsx-runtime";var fe=i(()=>{let[e,l]=Y("employment_basic_information"),[a,s]=Y(1),[u,m]=Y(1),[p,t]=Y("ARE"),{client:c}=ae(),{data:S}=je({...oe(c,"schema-comparison"),select:i(n=>n.data?.data?.filter(w=>w.eor_onboarding).filter(w=>Object.keys(ce).includes(w.code)).map(w=>({label:w.name,value:w.code}))||[],"select")}),b=e==="contract_details",{data:f,isLoading:d}=W({countryCode:p,form:e,fieldValues:{},jsonSchemaVersion:a,options:{queryOptions:{enabled:!0}}}),{data:N,isLoading:T}=W({countryCode:p,form:e,fieldValues:{},jsonSchemaVersion:u,options:{queryOptions:{enabled:!0}}}),C=d||T,P=ee[p],V=P!==void 0,D=Je(()=>e==="employment_basic_information"?pe:P||[{value:"latest",label:"Latest"}],[e,P]);return ke(()=>{let n=D.map(w=>w.value);n.includes(a)||s(D[0].value),n.includes(u)||m(D[0].value)},[e,p,D,a,u]),h("div",{className:"space-y-6",children:[h(L,{children:[r(H,{children:r(U,{children:"Configuration"})}),h(O,{className:"space-y-4",children:[h("div",{children:[r(A,{className:"mb-2 block",children:"Form Type"}),r(z,{value:e,onValueChange:n=>l(n),children:r($,{className:"grid w-full grid-cols-2",children:be.map(n=>r(X,{value:n.value,children:n.label},n.value))})})]}),b&&!V&&r("div",{className:"rounded-md bg-yellow-50 p-4 border border-yellow-200",children:h("div",{className:"flex",children:[r("div",{className:"flex-shrink-0",children:r("svg",{className:"h-5 w-5 text-yellow-400",viewBox:"0 0 20 20",fill:"currentColor",children:r("path",{fillRule:"evenodd",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",clipRule:"evenodd"})})}),h("div",{className:"ml-3",children:[r("h3",{className:"text-sm font-medium text-yellow-800",children:"Version mappings not found"}),r("div",{className:"mt-2 text-sm text-yellow-700",children:h("p",{children:["Country"," ",r("span",{className:"font-semibold",children:p})," is not configured in COUNTRY_CONTRACT_VERSIONS. Using default (latest only)."]})})]})]})}),b&&h("div",{children:[r(A,{htmlFor:"country-select",className:"mb-2 block",children:"Country"}),h(_,{value:p,onValueChange:t,children:[r(k,{id:"country-select",children:r(I,{placeholder:"Select a country"})}),r(J,{children:S?.map(n=>r(j,{value:n.value,children:n.label},n.value))})]})]}),h("div",{className:"grid grid-cols-2 gap-4",children:[h("div",{children:[r(A,{htmlFor:"top-version",className:"mb-2 block",children:"Left Version"}),h(_,{value:String(a),onValueChange:n=>s(n==="latest"?"latest":Number(n)),children:[r(k,{id:"top-version",children:r(I,{placeholder:"Select version"})}),r(J,{children:D.map(n=>r(j,{value:String(n.value),children:n.label},String(n.value)))})]})]}),h("div",{children:[r(A,{htmlFor:"bottom-version",className:"mb-2 block",children:"Right Version"}),h(_,{value:String(u),onValueChange:n=>m(n==="latest"?"latest":Number(n)),children:[r(k,{id:"bottom-version",children:r(I,{placeholder:"Select version"})}),r(J,{children:D.map(n=>r(j,{value:String(n.value),children:n.label},String(n.value)))})]})]})]})]})]}),r(me,{topVersion:a,bottomVersion:u,topFields:f?.fields||[],bottomFields:N?.fields||[],topFieldsets:f?.meta?.["x-jsf-fieldsets"],bottomFieldsets:N?.meta?.["x-jsf-fieldsets"],isLoading:C})]})},"JsonSchemaComparison");export{ge as a,ye as b,Se as c,Ne as d,xe as e,Ce as f,De as g,we as h,Re as i,Pe as j,z as k,$ as l,X as m,Ve as n,ne as o,fe as p};
2
+ //# sourceMappingURL=chunk-VDH46ZCF.js.map
@@ -1,2 +1,2 @@
1
- import{a as y}from"./chunk-TXAYTR6N.js";import{a as l,b as m}from"./chunk-PYOJLGIL.js";import{c}from"./chunk-Y3CJRZLA.js";import{a as t}from"./chunk-P37U34EQ.js";import{useEffect as N}from"react";import{Fragment as b,jsx as v,jsxs as C}from"react/jsx-runtime";var R=t(({currencies:{from:d,to:F},shouldSwapOrder:s,salary_conversion_properties:a,conversionType:_="no_spread",defaultValue:r,...e})=>{let{setValue:n,getValues:i}=c(),f={label:a?.label||"Salary conversion",description:a?.description||C(b,{children:["The conversion is based on the Remote FX rate."," ",v(m,{className:"text-sm",zendeskId:l.remoteFxRate,children:"Learn more \u2197"})]})},g=s?"salary_conversion":e.name,u=s?e.name:"salary_conversion";return N(()=>{if(s){let o=i(e.name);o?(n("salary_conversion",o),n("salary_converted","salary_conversion")):r&&(n("salary_conversion",r),n("salary_converted","salary_conversion"))}else{let o=i("salary_conversion");o?(n(e.name,o),n("salary_converted",e.name)):r&&(n(e.name,r),n("salary_converted",e.name))}},[s,r,n,i,e.name]),v(y,{...e,sourceCurrency:d,targetCurrency:F,mainFieldName:g,conversionFieldName:u,conversionProperties:f,classNamePrefix:"RemoteFlows-Salary",conversionType:_})},"SalaryField");export{R as a};
2
- //# sourceMappingURL=chunk-WEMLZAC6.js.map
1
+ import{a as y}from"./chunk-HAACNERA.js";import{a as l,b as m}from"./chunk-LOPZZUAF.js";import{c}from"./chunk-Y3CJRZLA.js";import{a as t}from"./chunk-P37U34EQ.js";import{useEffect as N}from"react";import{Fragment as b,jsx as v,jsxs as C}from"react/jsx-runtime";var R=t(({currencies:{from:d,to:F},shouldSwapOrder:s,salary_conversion_properties:a,conversionType:_="no_spread",defaultValue:r,...e})=>{let{setValue:n,getValues:i}=c(),f={label:a?.label||"Salary conversion",description:a?.description||C(b,{children:["The conversion is based on the Remote FX rate."," ",v(m,{className:"text-sm",zendeskId:l.remoteFxRate,children:"Learn more \u2197"})]})},g=s?"salary_conversion":e.name,u=s?e.name:"salary_conversion";return N(()=>{if(s){let o=i(e.name);o?(n("salary_conversion",o),n("salary_converted","salary_conversion")):r&&(n("salary_conversion",r),n("salary_converted","salary_conversion"))}else{let o=i("salary_conversion");o?(n(e.name,o),n("salary_converted",e.name)):r&&(n(e.name,r),n("salary_converted",e.name))}},[s,r,n,i,e.name]),v(y,{...e,sourceCurrency:d,targetCurrency:F,mainFieldName:g,conversionFieldName:u,conversionProperties:f,classNamePrefix:"RemoteFlows-Salary",conversionType:_})},"SalaryField");export{R as a};
2
+ //# sourceMappingURL=chunk-VEMUIRKC.js.map
@@ -0,0 +1,2 @@
1
+ import{a as Yt,b as re,c as oe,d as ae,e as se,f as ce,g as le,i as ue,j as de,k as pe,l as me,m as fe,n as ye,o as _e,p as ge,q as be,r as Se,s as Ce,t as we,u as ve}from"./chunk-XYCFKCVZ.js";import{a as he,b as Pe,c as Ee}from"./chunk-27TI6URK.js";import{a as Zt,b as te,f as ee,g as ne,h as ie}from"./chunk-G556HMVA.js";import{a as $,b as at,c as m,d as zt,g as Xt}from"./chunk-Q2OGLLBA.js";import{a as Wt}from"./chunk-PJ6KPGIE.js";import{f as Kt,h as Gt,i as Ht}from"./chunk-UYGDMJF2.js";import{Q as Ut}from"./chunk-GZUP2IE6.js";import{a as Nt,b as w,d as Qt,h as _,i as k,u as V,v}from"./chunk-G2LZFGZA.js";import{a as $t}from"./chunk-JDIKYCN6.js";import{e as Jt}from"./chunk-H2O4CVKF.js";import{a as d}from"./chunk-P37U34EQ.js";import{useEffect as A,useMemo as a,useRef as Me,useState as R}from"react";import Ve from"lodash.omit";import{useQuery as Pn}from"@tanstack/react-query";var En=d(()=>{let{client:T}=Jt(),{data:q}=re(),u=oe(q)?q?.company?.id??"":"";return Pn({queryKey:["legal-entities",u],queryFn:d(()=>Ut({client:T,path:{company_id:u},query:{page_size:100}}),"queryFn"),select:d(z=>z.data?.data?.legal_entities,"select"),enabled:!!u})},"useLegalEntities"),Fe=d(()=>{let{data:T}=En();return T?.find(q=>q.is_default)},"useDefaultLegalEntity");var Fn={select_country:null,basic_information:"employment_basic_information",contract_details:null,eligibility_questionnaire:null,pricing_plan:null,contract_preview:null,review:null},Mn={employment_basic_information:"basic_information"},ii=d(({countryCode:T,externalId:q,employmentId:u,skipSteps:z,options:f,initialValues:p})=>{let Oe=f?.excludeProducts||[],_t=Me(f?.onContractReviewed);A(()=>{_t.current=f?.onContractReviewed},[f?.onContractReviewed]);let[l,gt]=R(T||null),[r,De]=R(u),[g,bt]=R(void 0),X=Me({select_country:{},basic_information:{},contract_details:{},contract_preview:{},pricing_plan:{},eligibility_questionnaire:{}}),[Y,Ie]=R(void 0),[St,Z]=R(!1),[Ct,ke]=R(!0),[st,wt]=R(null),{steps:Ae,stepsArray:Re}=a(()=>Zt({includeSelectCountry:!z?.includes("select_country"),includeEligibilityQuestionnaire:St,includeContractPreview:Ct}),[St,Ct,z]),{fieldValues:c,stepState:e,setFieldValues:vt,previousStep:qe,nextStep:Te,goToStep:L,setStepValues:ht}=$t(Ae);A(()=>{st&&(L(st),wt(null))},[st,L]);let{data:o,isLoading:Le,refetch:Pt}=Wt({employmentId:r,queryParams:{exclude_files:!0}}),je=Fe(),{status:O}=o||{},h=O&&ee.includes(O),xe=O&&!ne.includes(O),Be=a(()=>O&&["invited","initiated"].includes(O)?"invited":"not_invited",[O]),Et=Gt(),Ft=Ht(l,f),ct=de(),Mt=Yt(),{mutateAsync:Vt}=fe(ct,Mt,c),Ot=be(),Dt=Se(),{mutateAsyncOrThrow:Ne}=w(Ft),It=se(),kt=ue(),At=Ce(),{mutateAsyncOrThrow:Qe}=w(Et),{mutateAsyncOrThrow:Je}=w(ct),{mutateAsyncOrThrow:Ue}=w(It),{mutateAsyncOrThrow:Rt}=w(kt),{mutateAsyncOrThrow:Ke}=w(Ot),{mutateAsyncOrThrow:qt}=w(Dt),{mutateAsyncOrThrow:Ge}=w(At);u&&o?.country?.code&&!l&&gt(o.country.code);let{selectCountryForm:j,isLoading:He,countries:Tt}=we({jsfModify:f?.jsfModify?.select_country}),lt=a(()=>Tt?.find(t=>t.value===l),[Tt,l]),We=a(()=>lt?.label,[lt]),$e=e.currentStep.name==="pricing_plan"||!!u&&h,{form:P,isLoading:ze,contractorSubscriptions:tt,filteredContractorSubscriptions:x,refetch:ut,isEligibilityQuestionnaireBlocked:B}=me(r,lt,{jsonSchemaVersion:f?.jsonSchemaVersion,queryOptions:{enabled:$e},excludeProducts:Oe,jsfModify:f?.jsfModify?.pricing_plan}),D=a(()=>!!tt?.find(t=>t.product.identifier===m)?.eligibility_questionnaire?.submitted_at,[tt]);A(()=>{if(D){Z(!1);return}else Z(Y===m)},[D,Y]),A(()=>{let t=o?.contractor_type==="cor";ke(!t)},[o?.contractor_type]);let et=a(()=>tt?.find(t=>t.product.identifier===m)?.eligibility_questionnaire?.responses,[tt]),Xe=Fn[e.currentStep.name]||"contractor_basic_information",Ye=Mn[Xe],Ze=o?.[Ye]||{},tn=d(({form:t,options:i={},query:s={}})=>{let M=Object.keys(c).length>0?{...p,...e.values?.[e.currentStep.name],...c}:{...p,...Ze};return Kt({countryCode:l,form:t,fieldValues:M,query:s,options:{...i,queryOptions:{enabled:i.queryOptions?.enabled??!0}}})},"useJSONSchema"),en=!!(l&&(e.currentStep.name==="basic_information"||u)),nn=!!(l==="GBR"&&u&&e.currentStep.name==="basic_information"),{data:N,isLoading:rn}=ye(u,{enabled:nn}),{data:nt,isLoading:on}=_e(r,{enabled:!!r});A(()=>{nt&&nt.length>0&&!g&&bt(nt[0].id)},[nt,g]);let{data:b,isLoading:an}=tn({form:"contractor_basic_information",options:{jsfModify:Pe(l,We,f),queryOptions:{enabled:en}}}),sn=a(()=>te(o?.basic_information?.provisional_start_date,c?.service_duration?.provisional_start_date),[o?.basic_information?.provisional_start_date,c?.service_duration?.provisional_start_date]),y=a(()=>{let t={standard:$,plus:at,cor:m};if(c.subscription)return c.subscription;let i=e.values?.pricing_plan?.subscription;if(i&&!B)return i;if(D&&!B)return m;if(B&&D)return $;if(x&&x.length>0)return t[o?.contractor_type]||$},[c,e.values,D,o?.contractor_type,B,x]);A(()=>{y&&y!==Y&&Ie(y)},[y,Y]);let cn=a(()=>({...et,...p,...e.values?.eligibility_questionnaire,...c}),[et,p,e.values?.eligibility_questionnaire,c]),ln=a(()=>y===m&&e.currentStep.name==="eligibility_questionnaire"||!!u&&h&&y===m,[y,e.currentStep.name,u,h]),{data:E,isLoading:un}=ge({options:{queryOptions:{enabled:ln},jsfModify:f?.jsfModify?.eligibility_questionnaire},fieldValues:cn}),dn=!!(l&&e.currentStep.name==="contract_details"||h),{data:S,isLoading:pn}=ve({countryCode:l,fieldValues:c,employmentId:r,options:{queryOptions:{enabled:dn},jsfModify:he(f?.jsfModify?.contract_details,sn,y,c,y===m)}}),mn=a(()=>e.currentStep.name==="contract_preview"||!!u&&h,[e.currentStep.name,u,h]),{data:F}=ae({fieldValues:c,options:{queryOptions:{enabled:mn},jsfModify:Ee(f,c)}}),{data:dt,isLoading:fn,refetch:yn}=ce({employmentId:r,contractDocumentId:g,options:{queryOptions:{enabled:!!g}}}),{hasCompanySignedContract:_n}=le({employmentId:r,contractDocumentId:g,options:{queryOptions:{enabled:!!g}}}),n=a(()=>({select_country:j?.fields||[],basic_information:b?.fields||[],pricing_plan:P?.fields||[],eligibility_questionnaire:E?.fields||[],contract_details:S?.fields||[],contract_preview:F?.fields||[],review:[]}),[j?.fields,b?.fields,P?.fields,S?.fields,F?.fields,E?.fields]),gn={select_country:null,basic_information:b?.meta["x-jsf-fieldsets"],pricing_plan:null,contract_details:S?.meta["x-jsf-fieldsets"],eligibility_questionnaire:null,contract_preview:null,review:null},bn={select_country:j?.meta?.["x-jsf-presentation"],basic_information:b?.meta?.["x-jsf-presentation"],pricing_plan:P?.meta?.["x-jsf-presentation"],eligibility_questionnaire:E?.meta?.["x-jsf-presentation"],contract_details:S?.meta?.["x-jsf-presentation"],contract_preview:F?.meta?.["x-jsf-presentation"],review:null},{country:Sn,basic_information:it={},contract_details:Lt={}}=o||{},jt=Sn?.code,Q=a(()=>k(n.select_country,{country:l||jt||""}),[n.select_country,l,jt]),pt=a(()=>N?.content?Qt(N.content,N.name):null,[N?.content,N?.name]),J=a(()=>{let t={...p,...it,ir35:o?.contract_details?.ir_35,nationality_status:o?.contract_details?.nationality,...pt&&{ir35_sds_file:[pt]}};return k(n.basic_information,t)},[p,it,o?.contract_details?.ir_35,o?.contract_details?.nationality,pt,n.basic_information]),U=a(()=>{let i={...{service_duration:{provisional_start_date:it.provisional_start_date}},...p,...Lt};return k(n.contract_details,i)},[n.contract_details,Lt,p,it]),K=a(()=>{let t=dt?.contract_document?.signatories?.find(s=>s.type==="company"),i={...p,signature:t?.signature};return k(n.contract_preview,i)},[n.contract_preview,p,dt]),G=a(()=>{let i={...{subscription:y},...p};return k(n.pricing_plan,i)},[n.pricing_plan,p,y]),H=a(()=>{let t={...p,...et};return k(n.eligibility_questionnaire,t)},[n.eligibility_questionnaire,p,et]),Cn=a(()=>({select_country:Q,basic_information:J,contract_details:U,contract_preview:K,pricing_plan:G,eligibility_questionnaire:H}),[Q,J,U,K,G,H]),mt=!!(u&&h&&e.currentStep.name!=="review"),ft=He||an||Le||pn||ze||fn||rn||on||un,xt=a(()=>{let i=o?.contractor_type==="cor"||n.contract_preview.length>0;return!!(mt&&!ft&&g&&n.basic_information.length>0&&n.contract_details.length>0&&i)},[mt,ft,g,n.basic_information.length,n.contract_details.length,n.contract_preview.length,o?.contractor_type]);A(()=>{xt&&(X.current={select_country:V(Q,n.select_country,{skipMoneyConversion:!0}),basic_information:V(J,n.basic_information,{skipMoneyConversion:!0}),contract_details:V(U,n.contract_details,{skipMoneyConversion:!0}),contract_preview:V(K,n.contract_preview,{skipMoneyConversion:!0}),pricing_plan:V(G,n.pricing_plan,{skipMoneyConversion:!0}),eligibility_questionnaire:V(H,n.eligibility_questionnaire,{skipMoneyConversion:!0})},ht({select_country:Q,basic_information:J,contract_details:U,contract_preview:K,pricing_plan:G,eligibility_questionnaire:H,review:{}}),L("review"))},[xt,L,Q,J,U,ht,n.select_country,n.basic_information,n.contract_details,n.pricing_plan,G,n.contract_preview,K,n.eligibility_questionnaire,H]);let wn=d(t=>{L(t)},"goTo"),Bt=d(async t=>j&&e.currentStep.name==="select_country"?t:b&&e.currentStep.name==="basic_information"?await _(t,b?.fields,{isPartialValidation:!1}):S&&e.currentStep.name==="contract_details"?await _(t,S?.fields,{isPartialValidation:!1}):F&&e.currentStep.name==="contract_preview"?await _(t,F?.fields,{isPartialValidation:!1}):P&&e.currentStep.name==="pricing_plan"?await _(t,P?.fields,{isPartialValidation:!1}):E&&e.currentStep.name==="eligibility_questionnaire"?await _(t,E?.fields,{isPartialValidation:!1}):{},"parseFormValues"),vn=d(t=>{if(!Nt(t))return null;let i=t.normalizedErrors.services_and_deliverables,s=Array.isArray(i)?i[0]:i;return s?.source===Xt?{error:s.error,source:s.source,skippable:s.skippable}:null},"extractAiValidationError");async function hn(t){let i=e.currentStep.name,s=await Bt(t);switch(i in X.current&&(X.current[i]=V(s,n[i])),e.currentStep.name){case"select_country":return gt(s.country),Promise.resolve({data:{countryCode:s.country}});case"basic_information":{let I=!r&&l,M=r&&l&&o?.country&&o?.country.code!==l;if(I||M){let yt={basic_information:Ve(s,"nationality_status","ir35","ir35_sds_file"),type:"contractor",country_code:l,external_id:q},ot=await Qe(yt),C=ot?.data?.employment?.id;if(!C)throw v("Employment ID not found");return await Vt({employmentId:C}),De(C),ot}else if(r){let rt=Ve(s,"nationality_status","ir35","ir35_sds_file");return await Vt({employmentId:r}),Ne({employmentId:r,basic_information:rt})}return}case"contract_details":{let{services_and_deliverables_ai_warning:I,services_and_deliverables_error_skippable:M,...rt}=s,yt=c.services_and_deliverables_error_skippable===!0,ot={contract_document:rt,skip_ai_checks:yt};try{let C=await Je({employmentId:r,payload:ot}),W=C?.data?.contract_document?.id;if(!W)throw v("Contract document ID not found");return bt(W),C}catch(C){let W=vn(C);throw W&&vt({...t,services_and_deliverables_ai_warning:ie(y===m),services_and_deliverables_error_skippable:W.skippable}),C}}case"contract_preview":{if(_n)return Promise.resolve({data:{contract_document:{id:g}}});let I=await Ue({employmentId:r,contractDocumentId:g,payload:{signature:s.signature}});return await yn(),I}case"pricing_plan":{if(t.subscription===zt)return Promise.resolve({data:{subscription:t.subscription}});if(x.length===0)throw v("No available subscriptions.");if(!t.subscription&&x.length>0)throw v("Please select a subscription plan.");if(B&&[m,at].includes(t.subscription))throw v(`This individual is not eligible for ${pe[t.subscription]}.`);if(D&&t.subscription!==m)try{await Ge({employmentId:r}),await ut()}catch(M){if(M?.response?.status!==404)throw M;await ut()}if(t.subscription==$)return Rt({employmentId:r,payload:{operation:"downgrade"}});if(t.subscription==at)return Rt({employmentId:r,payload:{operation:"upgrade"}});if(t.subscription==m)return D&&o?.contractor_type!=="cor"?qt({employmentId:r}):Promise.resolve({data:{subscription:t.subscription}});throw v("invalid selection")}case"eligibility_questionnaire":try{if((await Ke({employmentId:r,payload:s}))?.data?.is_blocking)throw Z(!1),wt("pricing_plan"),v("This individual is not eligible for Contractor of Record.");return await qt({employmentId:r})}finally{await ut()}default:throw v("Invalid step state")}}return d(hn,"onSubmit"),{isLoading:ft||mt,fieldValues:c,stepState:e,checkFieldUpdates:vt,markContractAsReviewed:d(()=>{_t.current?.()},"markContractAsReviewed"),back:qe,next:d(()=>{r&&Pt(),Te()},"handleNextStep"),goTo:wn,onSubmit:hn,fields:n[e.currentStep.name],meta:{fields:X.current,fieldsets:gn[e.currentStep.name],presentation:bn[e.currentStep.name]},parseFormValues:Bt,canSkipAiValidation:c.services_and_deliverables_error_skippable===!0,handleValidation:d(async t=>{if(e.currentStep.name==="select_country")return j.handleValidation(t);if(b&&e.currentStep.name==="basic_information"){let i=await _(t,b?.fields,{isPartialValidation:!1});return b?.handleValidation(i)}if(S&&e.currentStep.name==="contract_details"){let i=await _(t,S?.fields,{isPartialValidation:!1});return S?.handleValidation(i)}if(F&&e.currentStep.name==="contract_preview"){let i=await _(t,F?.fields,{isPartialValidation:!0});return F?.handleValidation(i)}if(P&&e.currentStep.name==="pricing_plan"){let i=await _(t,P?.fields,{isPartialValidation:!1});return P?.handleValidation(i)}if(E&&e.currentStep.name==="eligibility_questionnaire"){let i=await _(t,E?.fields,{isPartialValidation:!1});return E?.handleValidation(i)}return null},"handleValidation"),initialValues:Cn,employmentId:r,refetchEmployment:Pt,isSubmitting:Et.isPending||Ft.isPending||ct.isPending||It.isPending||kt.isPending||Mt.isPending||Ot.isPending||Dt.isPending||At.isPending,documentPreviewPdf:dt,canInvite:xe,isEmploymentReadOnly:h,invitedStatus:Be,employment:o,defaultLegalEntity:je,steps:Re}},"useContractorOnboarding");export{ii as a};
2
+ //# sourceMappingURL=chunk-VQ5PL5E3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/ContractorOnboarding/hooks.tsx","../src/common/api/legal-entities.ts"],"sourcesContent":["import { useEffect, useMemo, useRef, useState } from 'react';\nimport { FieldValues } from 'react-hook-form';\nimport omit from 'lodash.omit';\nimport { $TSFixMe, JSFFields } from '@/src/types/remoteFlows';\nimport {\n CreateContractDocument,\n Employment,\n EmploymentCreateParams,\n} from '@/src/client/types.gen';\nimport {\n getInitialValues,\n parseJSFToValidate,\n} from '@/src/components/form/utils';\nimport { ValidationResult } from '@remoteoss/remote-json-schema-form-kit';\nimport {\n useCreateContractorContractDocument,\n useGetContractDocumentSignatureSchema,\n usePostManageContractorSubscriptions,\n useContractorSubscriptionSchemaField,\n useGetShowContractDocument,\n useSignContractDocument,\n useUpdateUKandSaudiFields,\n useGetIR35File,\n useGetContractDocuments,\n useGetEligibilityQuestionnaire,\n usePostCreateEligibilityQuestionnaire,\n usePostManageContractorCorSubscription,\n useDeleteContractorCorSubscription,\n useCountriesSchemaField,\n useContractorOnboardingDetailsSchemaWithCurrencies,\n CONTRACT_PRODUCT_TITLES,\n useHasCompanySignedContract,\n} from '@/src/flows/ContractorOnboarding/api';\nimport {\n ContractorOnboardingFlowProps,\n ContractorOnboardingHookOptions,\n} from '@/src/flows/ContractorOnboarding/types';\nimport {\n buildSteps,\n calculateProvisionalStartDateDescription,\n reviewStepAllowedEmploymentStatus,\n disabledInviteButtonEmploymentStatus,\n StepKeys,\n} from '@/src/flows/ContractorOnboarding/utils';\nimport {\n useCreateEmployment,\n useJSONSchemaForm,\n useUpdateEmployment,\n} from '@/src/flows/Onboarding/api';\nimport { FlowOptions, JSFModify, JSONSchemaFormType } from '@/src/flows/types';\nimport { useStepState } from '@/src/flows/useStepState';\nimport { mutationToPromise, isMutationError } from '@/src/lib/mutations';\nimport { createStructuredError, prettifyFormValues } from '@/src/lib/utils';\nimport { JSFFieldset, Meta } from '@/src/types/remoteFlows';\nimport {\n contractorStandardProductIdentifier,\n contractorPlusProductIdentifier,\n corProductIdentifier,\n eorProductIdentifier,\n REMOTE_AI_ERROR_SOURCE,\n} from '@/src/flows/ContractorOnboarding/constants';\nimport {\n buildBasicInformationJsfModify,\n buildContractDetailsJsfModify,\n buildContractPreviewJsfModify,\n} from '@/src/flows/ContractorOnboarding/jsfModify';\nimport { transformAiErrorResponse } from '@/src/flows/ContractorOnboarding/utils';\nimport { AiValidationError } from '@/src/flows/ContractorOnboarding/types';\nimport { useUploadFile } from '@/src/common/api/files';\nimport { dataURLtoFile } from '@/src/lib/files';\nimport { useEmploymentQuery } from '@/src/common/api/employment';\nimport { useDefaultLegalEntity } from '@/src/common/api/legal-entities';\n\ntype useContractorOnboardingProps = Omit<\n ContractorOnboardingFlowProps,\n 'render' | 'options'\n> & {\n options: ContractorOnboardingHookOptions;\n};\n\nconst stepToFormSchemaMap: Record<StepKeys, JSONSchemaFormType | null> = {\n select_country: null,\n basic_information: 'employment_basic_information',\n contract_details: null,\n eligibility_questionnaire: null,\n pricing_plan: null,\n contract_preview: null,\n review: null,\n};\n\nconst jsonSchemaToEmployment: Partial<\n Record<JSONSchemaFormType, keyof Employment>\n> = {\n employment_basic_information: 'basic_information',\n};\n\nexport const useContractorOnboarding = ({\n countryCode,\n externalId,\n employmentId,\n skipSteps,\n options,\n initialValues: onboardingInitialValues,\n}: useContractorOnboardingProps) => {\n const excludeProducts = options?.excludeProducts || [];\n\n const onContractReviewedRef = useRef(options?.onContractReviewed);\n\n useEffect(() => {\n onContractReviewedRef.current = options?.onContractReviewed;\n }, [options?.onContractReviewed]);\n\n const [internalCountryCode, setInternalCountryCode] = useState<string | null>(\n countryCode || null,\n );\n const [internalEmploymentId, setInternalEmploymentId] = useState<\n string | undefined\n >(employmentId);\n const [internalContractDocumentId, setInternalContractDocumentId] = useState<\n string | undefined\n >(undefined);\n const fieldsMetaRef = useRef<{\n select_country: Meta;\n basic_information: Meta;\n contract_details: Meta;\n contract_preview: Meta;\n pricing_plan: Meta;\n eligibility_questionnaire: Meta;\n }>({\n select_country: {},\n basic_information: {},\n contract_details: {},\n contract_preview: {},\n pricing_plan: {},\n eligibility_questionnaire: {},\n });\n\n const [selectedProduct, setSelectedProduct] = useState<string | undefined>(\n undefined,\n );\n\n const [includeEligibilityQuestionnaire, setIncludeEligibilityQuestionnaire] =\n useState<boolean>(false);\n\n const [includeContractPreview, setIncludeContractPreview] =\n useState<boolean>(true);\n\n const [pendingNavigationStep, setPendingNavigationStep] =\n useState<StepKeys | null>(null);\n\n const { steps, stepsArray } = useMemo(\n () =>\n buildSteps({\n includeSelectCountry: !skipSteps?.includes('select_country'),\n includeEligibilityQuestionnaire: includeEligibilityQuestionnaire,\n includeContractPreview: includeContractPreview,\n }),\n [includeEligibilityQuestionnaire, includeContractPreview, skipSteps],\n );\n\n const {\n fieldValues,\n stepState,\n setFieldValues,\n previousStep,\n nextStep,\n goToStep,\n setStepValues,\n } = useStepState(steps);\n\n useEffect(() => {\n if (pendingNavigationStep) {\n // Now steps have been updated\n goToStep(pendingNavigationStep);\n setPendingNavigationStep(null);\n }\n }, [pendingNavigationStep, goToStep]);\n\n const {\n data: employment,\n isLoading: isLoadingEmployment,\n refetch: refetchEmployment,\n } = useEmploymentQuery({\n employmentId: internalEmploymentId as string,\n queryParams: { exclude_files: true },\n });\n\n const defaultLegalEntity = useDefaultLegalEntity();\n\n const { status: employmentStatus } = employment || {};\n\n const isEmploymentReadOnly =\n employmentStatus &&\n reviewStepAllowedEmploymentStatus.includes(employmentStatus);\n\n const canInvite =\n employmentStatus &&\n !disabledInviteButtonEmploymentStatus.includes(employmentStatus);\n\n const invitedStatus: 'invited' | 'not_invited' = useMemo(() => {\n const invitedStatuses = ['invited', 'initiated'];\n const isInvited =\n employmentStatus && invitedStatuses.includes(employmentStatus);\n\n return isInvited ? 'invited' : 'not_invited';\n }, [employmentStatus]);\n\n const createEmploymentMutation = useCreateEmployment();\n const updateEmploymentMutation = useUpdateEmployment(\n internalCountryCode as string,\n options,\n );\n const createContractorContractDocumentMutation =\n useCreateContractorContractDocument();\n const uploadFileMutation = useUploadFile();\n const { mutateAsync: updateUKandSaudiFieldsMutation } =\n useUpdateUKandSaudiFields(\n createContractorContractDocumentMutation,\n uploadFileMutation,\n fieldValues,\n );\n const createEligibilityQuestionnaireMutation =\n usePostCreateEligibilityQuestionnaire();\n const manageContractorCorSubscriptionMutation =\n usePostManageContractorCorSubscription();\n\n const { mutateAsyncOrThrow: updateEmploymentMutationAsync } =\n mutationToPromise(updateEmploymentMutation);\n const signContractDocumentMutation = useSignContractDocument();\n const manageContractorSubscriptionMutation =\n usePostManageContractorSubscriptions();\n const deleteContractorCorSubscriptionMutation =\n useDeleteContractorCorSubscription();\n\n const { mutateAsyncOrThrow: createEmploymentMutationAsync } =\n mutationToPromise(createEmploymentMutation);\n\n const { mutateAsyncOrThrow: createContractorContractDocumentMutationAsync } =\n mutationToPromise(createContractorContractDocumentMutation);\n\n const { mutateAsyncOrThrow: signContractDocumentMutationAsync } =\n mutationToPromise(signContractDocumentMutation);\n\n const { mutateAsyncOrThrow: manageContractorSubscriptionMutationAsync } =\n mutationToPromise(manageContractorSubscriptionMutation);\n\n const { mutateAsyncOrThrow: createEligibilityQuestionnaireMutationAsync } =\n mutationToPromise(createEligibilityQuestionnaireMutation);\n\n const { mutateAsyncOrThrow: manageContractorCorSubscriptionMutationAsync } =\n mutationToPromise(manageContractorCorSubscriptionMutation);\n\n const { mutateAsyncOrThrow: deleteContractorCorSubscriptionMutationAsync } =\n mutationToPromise(deleteContractorCorSubscriptionMutation);\n\n // if the employment is loaded, country code has not been set yet\n // we set the internal country code with the employment country code\n if (employmentId && employment?.country?.code && !internalCountryCode) {\n setInternalCountryCode(employment.country.code);\n }\n\n const {\n selectCountryForm,\n isLoading: isLoadingCountries,\n countries,\n } = useCountriesSchemaField({\n jsfModify: options?.jsfModify?.select_country,\n });\n\n const selectedCountry = useMemo(() => {\n return countries?.find((country) => country.value === internalCountryCode);\n }, [countries, internalCountryCode]);\n\n const countryName = useMemo(() => {\n return selectedCountry?.label;\n }, [selectedCountry]);\n\n const isPricingPlanEnabled =\n stepState.currentStep.name === 'pricing_plan' ||\n (Boolean(employmentId) && isEmploymentReadOnly);\n\n const {\n form: selectContractorSubscriptionForm,\n isLoading: isLoadingContractorSubscriptions,\n contractorSubscriptions,\n filteredContractorSubscriptions,\n refetch: refetchContractorSubscriptions,\n isEligibilityQuestionnaireBlocked,\n } = useContractorSubscriptionSchemaField(\n internalEmploymentId as string,\n selectedCountry,\n {\n jsonSchemaVersion: options?.jsonSchemaVersion,\n queryOptions: {\n enabled: isPricingPlanEnabled,\n },\n excludeProducts: excludeProducts,\n jsfModify: options?.jsfModify?.pricing_plan,\n },\n );\n\n const hasEligibilityQuestionnaireSubmitted = useMemo(() => {\n return Boolean(\n contractorSubscriptions?.find(\n (subscription) =>\n subscription.product.identifier === corProductIdentifier,\n )?.eligibility_questionnaire?.submitted_at,\n );\n }, [contractorSubscriptions]);\n\n useEffect(() => {\n if (hasEligibilityQuestionnaireSubmitted) {\n setIncludeEligibilityQuestionnaire(false);\n return;\n } else if (selectedProduct === corProductIdentifier) {\n setIncludeEligibilityQuestionnaire(true);\n } else {\n setIncludeEligibilityQuestionnaire(false);\n }\n }, [hasEligibilityQuestionnaireSubmitted, selectedProduct]);\n\n useEffect(() => {\n const isCor = employment?.contractor_type === 'cor';\n setIncludeContractPreview(!isCor);\n }, [employment?.contractor_type]);\n\n const eligibilityAnswers = useMemo(() => {\n return contractorSubscriptions?.find(\n (subscription) =>\n subscription.product.identifier === corProductIdentifier,\n )?.eligibility_questionnaire?.responses;\n }, [contractorSubscriptions]);\n\n const formType =\n stepToFormSchemaMap[stepState.currentStep.name] ||\n 'contractor_basic_information';\n const employmentKey = jsonSchemaToEmployment[formType] as keyof Employment;\n const serverEmploymentData = (employment?.[employmentKey] || {}) as Record<\n string,\n unknown\n >;\n\n const useJSONSchema = ({\n form,\n options: jsonSchemaOptions = {},\n query = {},\n }: {\n form: JSONSchemaFormType;\n options?: {\n jsfModify?: JSFModify;\n queryOptions?: { enabled?: boolean };\n jsonSchemaVersion?: FlowOptions['jsonSchemaVersion'];\n };\n query?: Record<string, string>;\n }) => {\n const hasUserEnteredAnyValues = Object.keys(fieldValues).length > 0;\n // when you write on the fields, the values are stored in the fieldValues state\n // when values are stored in the stepState is when the user has navigated to the step\n // and then we have the values from the server and the onboardingInitialValues that the user can inject,\n const mergedFormValues = hasUserEnteredAnyValues\n ? {\n ...onboardingInitialValues,\n ...stepState.values?.[stepState.currentStep.name], // Restore values for the current step\n ...fieldValues,\n }\n : {\n ...onboardingInitialValues,\n ...serverEmploymentData,\n };\n\n return useJSONSchemaForm({\n countryCode: internalCountryCode as string,\n form: form,\n fieldValues: mergedFormValues,\n query,\n options: {\n ...jsonSchemaOptions,\n queryOptions: {\n enabled: jsonSchemaOptions.queryOptions?.enabled ?? true,\n },\n },\n });\n };\n\n const isBasicInformationDetailsEnabled = Boolean(\n internalCountryCode &&\n (stepState.currentStep.name === 'basic_information' ||\n Boolean(employmentId)),\n );\n\n const isIR35FileEnabled = Boolean(\n internalCountryCode === 'GBR' &&\n employmentId &&\n stepState.currentStep.name === 'basic_information',\n );\n\n const { data: ir35File, isLoading: isLoadingIR35File } = useGetIR35File(\n employmentId as string,\n {\n enabled: isIR35FileEnabled,\n },\n );\n\n const { data: contractDocuments, isLoading: isLoadingContractDocuments } =\n useGetContractDocuments(internalEmploymentId as string, {\n enabled: Boolean(internalEmploymentId),\n });\n\n useEffect(() => {\n if (\n contractDocuments &&\n contractDocuments.length > 0 &&\n !internalContractDocumentId\n ) {\n setInternalContractDocumentId(contractDocuments[0].id);\n }\n }, [contractDocuments, internalContractDocumentId]);\n\n const {\n data: basicInformationForm,\n isLoading: isLoadingBasicInformationForm,\n } = useJSONSchema({\n form: 'contractor_basic_information',\n options: {\n jsfModify: buildBasicInformationJsfModify(\n internalCountryCode as string,\n countryName,\n options,\n ),\n queryOptions: {\n enabled: isBasicInformationDetailsEnabled,\n },\n },\n });\n\n const descriptionProvisionalStartDate = useMemo(() => {\n return calculateProvisionalStartDateDescription(\n employment?.basic_information?.provisional_start_date as string,\n fieldValues?.service_duration?.provisional_start_date as string,\n );\n }, [\n employment?.basic_information?.provisional_start_date,\n fieldValues?.service_duration?.provisional_start_date,\n ]);\n\n /**\n * When the user selects COR, the data isn't saved yet in the BE\n * We need to use the internalState to know what has happened\n */\n const selectedPricingPlan = useMemo(() => {\n const subscriptions = {\n standard: contractorStandardProductIdentifier,\n plus: contractorPlusProductIdentifier,\n cor: corProductIdentifier,\n };\n\n // HIGHEST PRIORITY: Current form value (user is actively selecting)\n if (fieldValues.subscription) {\n return fieldValues.subscription;\n }\n\n // SECOND: Previously submitted value in this session\n const subscription = stepState.values?.pricing_plan?.subscription;\n if (subscription && !isEligibilityQuestionnaireBlocked) {\n return subscription;\n }\n\n // THIRD: Backend state (eligibility submitted or employment contractor_type)\n if (\n hasEligibilityQuestionnaireSubmitted &&\n !isEligibilityQuestionnaireBlocked\n ) {\n return corProductIdentifier;\n }\n\n // Fourth: If the eligibility questionnaire is blocked and has been submitted, return the standard product\n if (\n isEligibilityQuestionnaireBlocked &&\n hasEligibilityQuestionnaireSubmitted\n ) {\n return contractorStandardProductIdentifier;\n }\n\n // Fifth: If there are no available subscriptions, return undefined\n const hasAvailableSubscriptions =\n filteredContractorSubscriptions &&\n filteredContractorSubscriptions.length > 0;\n\n if (!hasAvailableSubscriptions) {\n return undefined;\n }\n\n // FALLBACK: Employment contractor_type or default\n return (\n subscriptions[\n employment?.contractor_type as keyof typeof subscriptions\n ] || contractorStandardProductIdentifier\n );\n }, [\n fieldValues,\n stepState.values,\n hasEligibilityQuestionnaireSubmitted,\n employment?.contractor_type,\n isEligibilityQuestionnaireBlocked,\n filteredContractorSubscriptions,\n ]);\n\n useEffect(() => {\n if (selectedPricingPlan && selectedPricingPlan !== selectedProduct) {\n setSelectedProduct(selectedPricingPlan);\n }\n }, [selectedPricingPlan, selectedProduct]);\n\n const eligibilityFields = useMemo(() => {\n return {\n ...eligibilityAnswers,\n ...onboardingInitialValues,\n ...stepState.values?.eligibility_questionnaire,\n ...fieldValues,\n };\n }, [\n eligibilityAnswers,\n onboardingInitialValues,\n stepState.values?.eligibility_questionnaire,\n fieldValues,\n ]);\n\n const isEligibilityQuestionnaireEnabled = useMemo(() => {\n return (\n (selectedPricingPlan === corProductIdentifier &&\n stepState.currentStep.name === 'eligibility_questionnaire') ||\n (Boolean(employmentId) &&\n isEmploymentReadOnly &&\n selectedPricingPlan === corProductIdentifier)\n );\n }, [\n selectedPricingPlan,\n stepState.currentStep.name,\n employmentId,\n isEmploymentReadOnly,\n ]);\n\n const {\n data: eligibilityQuestionnaireForm,\n isLoading: isLoadingEligibilityQuestionnaire,\n } = useGetEligibilityQuestionnaire({\n options: {\n queryOptions: {\n enabled: isEligibilityQuestionnaireEnabled,\n },\n jsfModify: options?.jsfModify?.eligibility_questionnaire,\n },\n fieldValues: eligibilityFields,\n });\n\n const isContractorOnboardingDetailsEnabled = Boolean(\n (internalCountryCode &&\n stepState.currentStep.name === 'contract_details') ||\n isEmploymentReadOnly,\n );\n\n const {\n data: contractorOnboardingDetailsForm,\n isLoading: isLoadingContractorOnboardingDetailsForm,\n } = useContractorOnboardingDetailsSchemaWithCurrencies({\n countryCode: internalCountryCode as string,\n fieldValues: fieldValues,\n employmentId: internalEmploymentId as string,\n options: {\n queryOptions: {\n enabled: isContractorOnboardingDetailsEnabled,\n },\n jsfModify: buildContractDetailsJsfModify(\n options?.jsfModify?.contract_details,\n descriptionProvisionalStartDate,\n selectedPricingPlan,\n fieldValues,\n selectedPricingPlan === corProductIdentifier,\n ),\n },\n });\n\n const isSignatureSchemaEnabled = useMemo(() => {\n return (\n stepState.currentStep.name === 'contract_preview' ||\n (Boolean(employmentId) && isEmploymentReadOnly)\n );\n }, [stepState.currentStep.name, employmentId, isEmploymentReadOnly]);\n\n const { data: signatureSchemaForm } = useGetContractDocumentSignatureSchema({\n fieldValues: fieldValues,\n options: {\n queryOptions: {\n enabled: isSignatureSchemaEnabled,\n },\n jsfModify: buildContractPreviewJsfModify(options, fieldValues),\n },\n });\n\n const {\n data: documentPreviewPdf,\n isLoading: isLoadingDocumentPreviewForm,\n refetch: refetchDocumentPreviewForm,\n } = useGetShowContractDocument({\n employmentId: internalEmploymentId as string,\n contractDocumentId: internalContractDocumentId as string,\n options: {\n queryOptions: {\n enabled: Boolean(internalContractDocumentId),\n },\n },\n });\n\n const { hasCompanySignedContract } = useHasCompanySignedContract({\n employmentId: internalEmploymentId as string,\n contractDocumentId: internalContractDocumentId as string,\n options: {\n queryOptions: {\n enabled: Boolean(internalContractDocumentId),\n },\n },\n });\n\n const stepFields: Record<StepKeys, JSFFields> = useMemo(\n () => ({\n select_country: selectCountryForm?.fields || [],\n basic_information: basicInformationForm?.fields || [],\n pricing_plan: selectContractorSubscriptionForm?.fields || [],\n eligibility_questionnaire: eligibilityQuestionnaireForm?.fields || [],\n contract_details: contractorOnboardingDetailsForm?.fields || [],\n contract_preview: signatureSchemaForm?.fields || [],\n review: [],\n }),\n [\n selectCountryForm?.fields,\n basicInformationForm?.fields,\n selectContractorSubscriptionForm?.fields,\n contractorOnboardingDetailsForm?.fields,\n signatureSchemaForm?.fields,\n eligibilityQuestionnaireForm?.fields,\n ],\n );\n\n const stepFieldsWithFlatFieldsets: Record<\n StepKeys,\n JSFFieldset | null | undefined\n > = {\n select_country: null,\n basic_information: basicInformationForm?.meta['x-jsf-fieldsets'],\n pricing_plan: null,\n contract_details: contractorOnboardingDetailsForm?.meta['x-jsf-fieldsets'],\n eligibility_questionnaire: null,\n contract_preview: null,\n review: null,\n };\n\n const stepPresentation: Record<\n StepKeys,\n Record<string, unknown> | null | undefined\n > = {\n select_country: selectCountryForm?.meta?.['x-jsf-presentation'],\n basic_information: basicInformationForm?.meta?.['x-jsf-presentation'],\n pricing_plan:\n selectContractorSubscriptionForm?.meta?.['x-jsf-presentation'],\n eligibility_questionnaire:\n eligibilityQuestionnaireForm?.meta?.['x-jsf-presentation'],\n contract_details:\n contractorOnboardingDetailsForm?.meta?.['x-jsf-presentation'],\n contract_preview: signatureSchemaForm?.meta?.['x-jsf-presentation'],\n review: null,\n };\n\n const {\n country,\n basic_information: employmentBasicInformation = {},\n contract_details: employmentContractDetails = {},\n } = employment || {};\n\n const employmentCountryCode = country?.code;\n\n const selectCountryInitialValues = useMemo(\n () =>\n getInitialValues(stepFields.select_country, {\n country: internalCountryCode || employmentCountryCode || '',\n }),\n [stepFields.select_country, internalCountryCode, employmentCountryCode],\n );\n\n // memoize file conversion to avoid re-converting the file on every render\n // noticed performance issues when not doing memoizing individually\n const convertedIr35File = useMemo(() => {\n if (!ir35File?.content) return null;\n return dataURLtoFile(ir35File.content as unknown as string, ir35File.name);\n }, [ir35File?.content, ir35File?.name]);\n\n const basicInformationInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...employmentBasicInformation,\n ir35: employment?.contract_details?.ir_35,\n nationality_status: employment?.contract_details?.nationality,\n ...(convertedIr35File && {\n ir35_sds_file: [convertedIr35File],\n }),\n };\n\n return getInitialValues(stepFields.basic_information, initialValues);\n }, [\n onboardingInitialValues,\n employmentBasicInformation,\n employment?.contract_details?.ir_35,\n employment?.contract_details?.nationality,\n convertedIr35File,\n stepFields.basic_information,\n ]);\n\n const contractDetailsInitialValues = useMemo(() => {\n const hardcodedValues = {\n service_duration: {\n provisional_start_date:\n employmentBasicInformation.provisional_start_date,\n },\n };\n const initialValues = {\n ...hardcodedValues,\n ...onboardingInitialValues,\n ...employmentContractDetails,\n };\n\n return getInitialValues(stepFields.contract_details, initialValues);\n }, [\n stepFields.contract_details,\n employmentContractDetails,\n onboardingInitialValues,\n employmentBasicInformation,\n ]);\n\n const contractPreviewInitialValues = useMemo(() => {\n const signature = documentPreviewPdf?.contract_document?.signatories?.find(\n (signatory) => signatory.type === 'company',\n );\n const initialValues = {\n ...onboardingInitialValues,\n signature: signature?.signature,\n };\n\n return getInitialValues(stepFields.contract_preview, initialValues);\n }, [\n stepFields.contract_preview,\n onboardingInitialValues,\n documentPreviewPdf,\n ]);\n\n const pricingPlanInitialValues = useMemo(() => {\n const preselectedPricingPlan = {\n subscription: selectedPricingPlan,\n };\n const initialValues = {\n ...preselectedPricingPlan,\n ...onboardingInitialValues,\n };\n\n return getInitialValues(stepFields.pricing_plan, initialValues);\n }, [stepFields.pricing_plan, onboardingInitialValues, selectedPricingPlan]);\n\n const eligibilityQuestionnaireInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...eligibilityAnswers,\n };\n return getInitialValues(\n stepFields.eligibility_questionnaire,\n initialValues,\n );\n }, [\n stepFields.eligibility_questionnaire,\n onboardingInitialValues,\n eligibilityAnswers,\n ]);\n\n const initialValues = useMemo(() => {\n return {\n select_country: selectCountryInitialValues,\n basic_information: basicInformationInitialValues,\n contract_details: contractDetailsInitialValues,\n contract_preview: contractPreviewInitialValues,\n pricing_plan: pricingPlanInitialValues,\n eligibility_questionnaire: eligibilityQuestionnaireInitialValues,\n };\n }, [\n selectCountryInitialValues,\n basicInformationInitialValues,\n contractDetailsInitialValues,\n contractPreviewInitialValues,\n pricingPlanInitialValues,\n eligibilityQuestionnaireInitialValues,\n ]);\n\n const shouldHandleReadOnlyEmployment = Boolean(\n employmentId &&\n isEmploymentReadOnly &&\n stepState.currentStep.name !== 'review',\n );\n\n const initialLoading =\n isLoadingCountries ||\n isLoadingBasicInformationForm ||\n isLoadingEmployment ||\n isLoadingContractorOnboardingDetailsForm ||\n isLoadingContractorSubscriptions ||\n isLoadingDocumentPreviewForm ||\n isLoadingIR35File ||\n isLoadingContractDocuments ||\n isLoadingEligibilityQuestionnaire;\n\n const isNavigatingToReview = useMemo(() => {\n const isCor = employment?.contractor_type === 'cor';\n const hasContractPreviewFields =\n isCor || stepFields.contract_preview.length > 0;\n\n return Boolean(\n shouldHandleReadOnlyEmployment &&\n !initialLoading &&\n Boolean(internalContractDocumentId) &&\n stepFields.basic_information.length > 0 &&\n stepFields.contract_details.length > 0 &&\n hasContractPreviewFields,\n );\n }, [\n shouldHandleReadOnlyEmployment,\n initialLoading,\n internalContractDocumentId,\n stepFields.basic_information.length,\n stepFields.contract_details.length,\n stepFields.contract_preview.length,\n employment?.contractor_type,\n ]);\n\n useEffect(() => {\n if (isNavigatingToReview) {\n fieldsMetaRef.current = {\n select_country: prettifyFormValues(\n selectCountryInitialValues,\n stepFields.select_country,\n { skipMoneyConversion: true },\n ),\n basic_information: prettifyFormValues(\n basicInformationInitialValues,\n stepFields.basic_information,\n { skipMoneyConversion: true },\n ),\n contract_details: prettifyFormValues(\n contractDetailsInitialValues,\n stepFields.contract_details,\n { skipMoneyConversion: true },\n ),\n contract_preview: prettifyFormValues(\n contractPreviewInitialValues,\n stepFields.contract_preview,\n { skipMoneyConversion: true },\n ),\n pricing_plan: prettifyFormValues(\n pricingPlanInitialValues,\n stepFields.pricing_plan,\n { skipMoneyConversion: true },\n ),\n eligibility_questionnaire: prettifyFormValues(\n eligibilityQuestionnaireInitialValues,\n stepFields.eligibility_questionnaire,\n { skipMoneyConversion: true },\n ),\n };\n\n setStepValues({\n select_country: selectCountryInitialValues,\n basic_information: basicInformationInitialValues,\n contract_details: contractDetailsInitialValues,\n contract_preview: contractPreviewInitialValues,\n pricing_plan: pricingPlanInitialValues,\n eligibility_questionnaire: eligibilityQuestionnaireInitialValues,\n review: {},\n });\n goToStep('review');\n }\n }, [\n isNavigatingToReview,\n goToStep,\n selectCountryInitialValues,\n basicInformationInitialValues,\n contractDetailsInitialValues,\n setStepValues,\n stepFields.select_country,\n stepFields.basic_information,\n stepFields.contract_details,\n stepFields.pricing_plan,\n pricingPlanInitialValues,\n stepFields.contract_preview,\n contractPreviewInitialValues,\n stepFields.eligibility_questionnaire,\n eligibilityQuestionnaireInitialValues,\n ]);\n\n const goTo = (step: StepKeys) => {\n goToStep(step);\n };\n\n const parseFormValues = async (values: FieldValues) => {\n if (selectCountryForm && stepState.currentStep.name === 'select_country') {\n return values;\n }\n\n if (\n basicInformationForm &&\n stepState.currentStep.name === 'basic_information'\n ) {\n return await parseJSFToValidate(values, basicInformationForm?.fields, {\n isPartialValidation: false,\n });\n }\n\n if (\n contractorOnboardingDetailsForm &&\n stepState.currentStep.name === 'contract_details'\n ) {\n return await parseJSFToValidate(\n values,\n contractorOnboardingDetailsForm?.fields,\n {\n isPartialValidation: false,\n },\n );\n }\n\n if (\n signatureSchemaForm &&\n stepState.currentStep.name === 'contract_preview'\n ) {\n return await parseJSFToValidate(values, signatureSchemaForm?.fields, {\n isPartialValidation: false,\n });\n }\n\n if (\n selectContractorSubscriptionForm &&\n stepState.currentStep.name === 'pricing_plan'\n ) {\n return await parseJSFToValidate(\n values,\n selectContractorSubscriptionForm?.fields,\n {\n isPartialValidation: false,\n },\n );\n }\n\n if (\n eligibilityQuestionnaireForm &&\n stepState.currentStep.name === 'eligibility_questionnaire'\n ) {\n return await parseJSFToValidate(\n values,\n eligibilityQuestionnaireForm?.fields,\n {\n isPartialValidation: false,\n },\n );\n }\n\n return {};\n };\n\n /**\n * Extracts AI validation error from the error response\n * @param error - The error object from the API call\n * @returns The AI validation error if found, null otherwise\n */\n const extractAiValidationError = (\n error: unknown,\n ): AiValidationError | null => {\n if (!isMutationError(error)) {\n return null;\n }\n\n const rawError = error.normalizedErrors.services_and_deliverables;\n\n // The backend's normalize_errors wraps non-list values in an array,\n // so the AI validation error object arrives as a single-element array.\n const servicesAndDeliverablesError = (\n Array.isArray(rawError) ? rawError[0] : rawError\n ) as\n | {\n error: string[];\n source: string;\n skippable: boolean;\n }\n | undefined;\n\n if (servicesAndDeliverablesError?.source === REMOTE_AI_ERROR_SOURCE) {\n return {\n error: servicesAndDeliverablesError.error,\n source: servicesAndDeliverablesError.source,\n skippable: servicesAndDeliverablesError.skippable,\n };\n }\n return null;\n };\n\n async function onSubmit(values: FieldValues) {\n const currentStepName = stepState.currentStep.name;\n const parsedValues = await parseFormValues(values);\n\n if (currentStepName in fieldsMetaRef.current) {\n fieldsMetaRef.current[\n currentStepName as keyof typeof fieldsMetaRef.current\n ] = prettifyFormValues(parsedValues, stepFields[currentStepName]);\n }\n switch (stepState.currentStep.name) {\n case 'select_country': {\n setInternalCountryCode(parsedValues.country);\n return Promise.resolve({ data: { countryCode: parsedValues.country } });\n }\n case 'basic_information': {\n const isEmploymentNotLoaded =\n !internalEmploymentId && internalCountryCode;\n const hasChangedCountry =\n internalEmploymentId &&\n internalCountryCode &&\n employment?.country &&\n employment?.country.code !== internalCountryCode;\n\n if (isEmploymentNotLoaded || hasChangedCountry) {\n const basicInformationParsedValues = omit(\n parsedValues,\n 'nationality_status',\n 'ir35',\n 'ir35_sds_file',\n );\n const basicInformationPayload: EmploymentCreateParams = {\n basic_information: basicInformationParsedValues,\n type: 'contractor',\n country_code: internalCountryCode,\n external_id: externalId,\n };\n const response = await createEmploymentMutationAsync(\n basicInformationPayload,\n );\n const employmentId = response?.data?.employment?.id;\n if (!employmentId) {\n throw createStructuredError('Employment ID not found');\n }\n\n await updateUKandSaudiFieldsMutation({\n employmentId: employmentId as string,\n });\n\n // Only update state (triggers queries with fully consistent backend state) if not caused a bug\n // if one of the updateUKandSaudiFieldsMutation fails with a 422 for example\n setInternalEmploymentId(employmentId);\n\n return response;\n } else if (internalEmploymentId) {\n const basicInformationParsedValues = omit(\n parsedValues,\n 'nationality_status',\n 'ir35',\n 'ir35_sds_file',\n );\n\n await updateUKandSaudiFieldsMutation({\n employmentId: internalEmploymentId,\n });\n return updateEmploymentMutationAsync({\n employmentId: internalEmploymentId,\n basic_information: basicInformationParsedValues,\n });\n }\n\n return;\n }\n case 'contract_details': {\n const {\n services_and_deliverables_ai_warning:\n _servicesAndDeliverablesAiWarning,\n services_and_deliverables_error_skippable:\n _servicesAndDeliverablesErrorSkippable,\n ...contractDetailsData\n } = parsedValues;\n\n const shouldSkipAiChecks =\n fieldValues.services_and_deliverables_error_skippable === true;\n const payload: CreateContractDocument = {\n contract_document: contractDetailsData,\n skip_ai_checks: shouldSkipAiChecks,\n };\n\n try {\n const response = await createContractorContractDocumentMutationAsync({\n employmentId: internalEmploymentId as string,\n payload,\n });\n const contractDocumentId = response?.data?.contract_document?.id;\n if (!contractDocumentId) {\n throw createStructuredError('Contract document ID not found');\n }\n setInternalContractDocumentId(contractDocumentId);\n\n return response;\n } catch (error) {\n const aiError = extractAiValidationError(error);\n if (aiError) {\n const isContractorOfRecord =\n selectedPricingPlan === corProductIdentifier;\n setFieldValues({\n ...values,\n services_and_deliverables_ai_warning:\n transformAiErrorResponse(isContractorOfRecord),\n services_and_deliverables_error_skippable: aiError.skippable,\n });\n }\n\n throw error;\n }\n }\n\n case 'contract_preview': {\n if (hasCompanySignedContract) {\n return Promise.resolve({\n data: {\n contract_document: {\n id: internalContractDocumentId,\n },\n },\n });\n }\n const response = await signContractDocumentMutationAsync({\n employmentId: internalEmploymentId as string,\n contractDocumentId: internalContractDocumentId as string,\n payload: {\n signature: parsedValues.signature,\n },\n });\n await refetchDocumentPreviewForm();\n return response;\n }\n case 'pricing_plan': {\n if (values.subscription === eorProductIdentifier) {\n // EOR selection - no API call needed at this step\n return Promise.resolve({\n data: {\n subscription: values.subscription,\n },\n });\n }\n // If there are no available contractor subscriptions, throw an error\n if (filteredContractorSubscriptions.length === 0) {\n throw createStructuredError('No available subscriptions.');\n }\n\n if (\n !values.subscription &&\n filteredContractorSubscriptions.length > 0\n ) {\n throw createStructuredError('Please select a subscription plan.');\n }\n\n const blockedProductsEligibility = [\n corProductIdentifier,\n contractorPlusProductIdentifier,\n ];\n\n if (\n isEligibilityQuestionnaireBlocked &&\n blockedProductsEligibility.includes(values.subscription)\n ) {\n throw createStructuredError(\n `This individual is not eligible for ${\n CONTRACT_PRODUCT_TITLES[\n values.subscription as keyof typeof CONTRACT_PRODUCT_TITLES\n ]\n }.`,\n );\n }\n\n if (\n hasEligibilityQuestionnaireSubmitted &&\n values.subscription !== corProductIdentifier\n ) {\n try {\n await deleteContractorCorSubscriptionMutationAsync({\n employmentId: internalEmploymentId as string,\n });\n await refetchContractorSubscriptions();\n } catch (error) {\n if ((error as $TSFixMe)?.response?.status !== 404) {\n throw error;\n }\n // Still refetch to update the UI state\n await refetchContractorSubscriptions();\n }\n }\n\n if (values.subscription == contractorStandardProductIdentifier) {\n return manageContractorSubscriptionMutationAsync({\n employmentId: internalEmploymentId as string,\n payload: {\n operation: 'downgrade',\n },\n });\n } else if (values.subscription == contractorPlusProductIdentifier) {\n return manageContractorSubscriptionMutationAsync({\n employmentId: internalEmploymentId as string,\n payload: {\n operation: 'upgrade',\n },\n });\n } else if (values.subscription == corProductIdentifier) {\n if (\n hasEligibilityQuestionnaireSubmitted &&\n employment?.contractor_type !== 'cor'\n ) {\n return manageContractorCorSubscriptionMutationAsync({\n employmentId: internalEmploymentId as string,\n });\n } else {\n return Promise.resolve({\n data: { subscription: values.subscription },\n });\n }\n }\n\n throw createStructuredError('invalid selection');\n }\n\n case 'eligibility_questionnaire': {\n try {\n const response = await createEligibilityQuestionnaireMutationAsync({\n employmentId: internalEmploymentId as string,\n payload: parsedValues,\n });\n\n const isEligibilityQuestionnaireBlocked = response?.data?.is_blocking;\n\n if (isEligibilityQuestionnaireBlocked) {\n setIncludeEligibilityQuestionnaire(false);\n setPendingNavigationStep('pricing_plan');\n throw createStructuredError(\n 'This individual is not eligible for Contractor of Record.',\n );\n }\n\n return await manageContractorCorSubscriptionMutationAsync({\n employmentId: internalEmploymentId as string,\n });\n } finally {\n // Always refetch to keep state in sync, even on error\n await refetchContractorSubscriptions();\n }\n }\n\n default: {\n throw createStructuredError('Invalid step state');\n }\n }\n }\n\n const markContractAsReviewed = () => {\n // Notify parent to sync form state\n onContractReviewedRef.current?.();\n };\n\n const handleNextStep = () => {\n if (internalEmploymentId) {\n refetchEmployment();\n }\n nextStep();\n };\n\n const isLoading = initialLoading || shouldHandleReadOnlyEmployment;\n\n return {\n /**\n * Loading state indicating if the flow is loading data\n */\n isLoading,\n\n /**\n * Current state of the form fields for the current step.\n */\n fieldValues,\n\n /**\n * Current step state containing the current step and total number of steps\n */\n stepState,\n\n /**\n * Function to update the current form field values\n * @param values - New form values to set\n */\n checkFieldUpdates: setFieldValues,\n\n /**\n * Function to mark the contract as reviewed\n * @param values - New form values to check\n * @returns {boolean}\n */\n markContractAsReviewed,\n\n /**\n * Function to handle going back to the previous step\n * @returns {void}\n */\n back: previousStep,\n\n /**\n * Function to handle going to the next step\n * @returns {void}\n */\n next: handleNextStep,\n\n /**\n * Function to handle going to a specific step\n * @param step The step to go to.\n * @returns {void}\n */\n goTo: goTo,\n\n /**\n * Function to handle form submission\n * @param values - Form values to submit\n * @returns Promise resolving to the mutation result\n */\n onSubmit,\n\n /**\n * Array of form fields from the onboarding schema\n */\n fields: stepFields[stepState.currentStep.name],\n\n /**\n * Fields metadata for each step\n */\n meta: {\n fields: fieldsMetaRef.current,\n fieldsets: stepFieldsWithFlatFieldsets[stepState.currentStep.name],\n presentation: stepPresentation[stepState.currentStep.name],\n },\n\n /**\n * Function to parse form values before submission\n * @param values - Form values to parse\n * @returns Parsed form values\n */\n parseFormValues,\n\n /**\n * Indicates whether AI validation errors can be skipped (user can continue at their own risk).\n * True when there's a skippable AI validation error on services_and_deliverables field.\n * @returns {boolean}\n */\n canSkipAiValidation:\n fieldValues.services_and_deliverables_error_skippable === true,\n\n /**\n * Function to validate form values against the onboarding schema\n * @param values - Form values to validate\n * @returns Validation result or null if no schema is available\n */\n handleValidation: async (\n values: FieldValues,\n ): Promise<ValidationResult | null> => {\n if (stepState.currentStep.name === 'select_country') {\n return selectCountryForm.handleValidation(values);\n }\n\n if (\n basicInformationForm &&\n stepState.currentStep.name === 'basic_information'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n basicInformationForm?.fields,\n { isPartialValidation: false },\n );\n return basicInformationForm?.handleValidation(parsedValues);\n }\n\n if (\n contractorOnboardingDetailsForm &&\n stepState.currentStep.name === 'contract_details'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n contractorOnboardingDetailsForm?.fields,\n { isPartialValidation: false },\n );\n return contractorOnboardingDetailsForm?.handleValidation(parsedValues);\n }\n\n if (\n signatureSchemaForm &&\n stepState.currentStep.name === 'contract_preview'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n signatureSchemaForm?.fields,\n { isPartialValidation: true },\n );\n return signatureSchemaForm?.handleValidation(parsedValues);\n }\n\n if (\n selectContractorSubscriptionForm &&\n stepState.currentStep.name === 'pricing_plan'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n selectContractorSubscriptionForm?.fields,\n { isPartialValidation: false },\n );\n return selectContractorSubscriptionForm?.handleValidation(parsedValues);\n }\n\n if (\n eligibilityQuestionnaireForm &&\n stepState.currentStep.name === 'eligibility_questionnaire'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n eligibilityQuestionnaireForm?.fields,\n { isPartialValidation: false },\n );\n return eligibilityQuestionnaireForm?.handleValidation(parsedValues);\n }\n\n return null;\n },\n\n /**\n * Initial form values\n */\n initialValues,\n\n /**\n * Employment id\n */\n employmentId: internalEmploymentId,\n\n /**\n * Function to refetch the employment data\n * @returns {void}\n */\n refetchEmployment: refetchEmployment,\n\n /**\n * Loading state indicating if the onboarding mutation is in progress\n */\n isSubmitting:\n createEmploymentMutation.isPending ||\n updateEmploymentMutation.isPending ||\n createContractorContractDocumentMutation.isPending ||\n signContractDocumentMutation.isPending ||\n manageContractorSubscriptionMutation.isPending ||\n uploadFileMutation.isPending ||\n createEligibilityQuestionnaireMutation.isPending ||\n manageContractorCorSubscriptionMutation.isPending ||\n deleteContractorCorSubscriptionMutation.isPending,\n\n /**\n * Document preview PDF data\n */\n documentPreviewPdf,\n\n /**\n * let's the user know if the company can invite employees\n * @returns {boolean}\n */\n canInvite,\n\n /**\n * let's the user know that the employment cannot be edited, happens when employment.status is invited\n * @returns {boolean}\n */\n isEmploymentReadOnly,\n /**\n * let's the user know if the employment is invited or not\n * @returns {'invited' | 'not_invited'}\n */\n invitedStatus,\n\n /**\n * Employment data\n * @returns {Employment}\n */\n employment,\n\n /**\n * Default legal entity\n * @returns {CompanyLegalEntity}\n */\n defaultLegalEntity,\n /**\n * Steps array\n * @returns {Array<{name: string, index: number, visible: boolean, label: string}>}\n */\n steps: stepsArray,\n };\n};\n","import { useQuery } from '@tanstack/react-query';\nimport {\n getV1CompaniesCompanyIdLegalEntities,\n CompanyLegalEntity,\n} from '@/src/client';\nimport { Client } from '@/src/client/client';\nimport { useClient } from '@/src/context';\nimport { useIdentity } from '@/src/common/api/identity';\nimport { hasCompany } from '@/src/common/api/companies';\n\n/**\n * Hook to get the legal entities for a company\n * @param companyId - The company ID\n * @returns The legal entities\n */\nexport const useLegalEntities = () => {\n const { client } = useClient();\n const { data: identity } = useIdentity();\n const companyId = hasCompany(identity) ? (identity?.company?.id ?? '') : '';\n\n return useQuery({\n queryKey: ['legal-entities', companyId],\n queryFn: () =>\n getV1CompaniesCompanyIdLegalEntities({\n client: client as Client,\n path: {\n company_id: companyId,\n },\n query: {\n page_size: 100,\n },\n }),\n select: (data) => data.data?.data?.legal_entities,\n enabled: !!companyId,\n });\n};\n\nexport const useDefaultLegalEntity = () => {\n const { data: legalEntities } = useLegalEntities();\n return legalEntities?.find(\n (legalEntity: CompanyLegalEntity) => legalEntity.is_default,\n );\n};\n"],"mappings":"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","names":["useEffect","useMemo","useRef","useState","omit","useQuery","useLegalEntities","__name","client","useClient","identity","useIdentity","companyId","hasCompany","useQuery","getV1CompaniesCompanyIdLegalEntities","data","useDefaultLegalEntity","legalEntities","legalEntity","stepToFormSchemaMap","jsonSchemaToEmployment","useContractorOnboarding","__name","countryCode","externalId","employmentId","skipSteps","options","onboardingInitialValues","excludeProducts","onContractReviewedRef","useRef","useEffect","internalCountryCode","setInternalCountryCode","useState","internalEmploymentId","setInternalEmploymentId","internalContractDocumentId","setInternalContractDocumentId","fieldsMetaRef","selectedProduct","setSelectedProduct","includeEligibilityQuestionnaire","setIncludeEligibilityQuestionnaire","includeContractPreview","setIncludeContractPreview","pendingNavigationStep","setPendingNavigationStep","steps","stepsArray","useMemo","buildSteps","fieldValues","stepState","setFieldValues","previousStep","nextStep","goToStep","setStepValues","useStepState","employment","isLoadingEmployment","refetchEmployment","useEmploymentQuery","defaultLegalEntity","useDefaultLegalEntity","employmentStatus","isEmploymentReadOnly","reviewStepAllowedEmploymentStatus","canInvite","disabledInviteButtonEmploymentStatus","invitedStatus","createEmploymentMutation","useCreateEmployment","updateEmploymentMutation","useUpdateEmployment","createContractorContractDocumentMutation","useCreateContractorContractDocument","uploadFileMutation","useUploadFile","updateUKandSaudiFieldsMutation","useUpdateUKandSaudiFields","createEligibilityQuestionnaireMutation","usePostCreateEligibilityQuestionnaire","manageContractorCorSubscriptionMutation","usePostManageContractorCorSubscription","updateEmploymentMutationAsync","mutationToPromise","signContractDocumentMutation","useSignContractDocument","manageContractorSubscriptionMutation","usePostManageContractorSubscriptions","deleteContractorCorSubscriptionMutation","useDeleteContractorCorSubscription","createEmploymentMutationAsync","createContractorContractDocumentMutationAsync","signContractDocumentMutationAsync","manageContractorSubscriptionMutationAsync","createEligibilityQuestionnaireMutationAsync","manageContractorCorSubscriptionMutationAsync","deleteContractorCorSubscriptionMutationAsync","selectCountryForm","isLoadingCountries","countries","useCountriesSchemaField","selectedCountry","country","countryName","isPricingPlanEnabled","selectContractorSubscriptionForm","isLoadingContractorSubscriptions","contractorSubscriptions","filteredContractorSubscriptions","refetchContractorSubscriptions","isEligibilityQuestionnaireBlocked","useContractorSubscriptionSchemaField","hasEligibilityQuestionnaireSubmitted","subscription","corProductIdentifier","isCor","eligibilityAnswers","formType","employmentKey","serverEmploymentData","useJSONSchema","form","jsonSchemaOptions","query","mergedFormValues","useJSONSchemaForm","isBasicInformationDetailsEnabled","isIR35FileEnabled","ir35File","isLoadingIR35File","useGetIR35File","contractDocuments","isLoadingContractDocuments","useGetContractDocuments","basicInformationForm","isLoadingBasicInformationForm","buildBasicInformationJsfModify","descriptionProvisionalStartDate","calculateProvisionalStartDateDescription","selectedPricingPlan","subscriptions","contractorStandardProductIdentifier","contractorPlusProductIdentifier","eligibilityFields","isEligibilityQuestionnaireEnabled","eligibilityQuestionnaireForm","isLoadingEligibilityQuestionnaire","useGetEligibilityQuestionnaire","isContractorOnboardingDetailsEnabled","contractorOnboardingDetailsForm","isLoadingContractorOnboardingDetailsForm","useContractorOnboardingDetailsSchemaWithCurrencies","buildContractDetailsJsfModify","isSignatureSchemaEnabled","signatureSchemaForm","useGetContractDocumentSignatureSchema","buildContractPreviewJsfModify","documentPreviewPdf","isLoadingDocumentPreviewForm","refetchDocumentPreviewForm","useGetShowContractDocument","hasCompanySignedContract","useHasCompanySignedContract","stepFields","stepFieldsWithFlatFieldsets","stepPresentation","employmentBasicInformation","employmentContractDetails","employmentCountryCode","selectCountryInitialValues","getInitialValues","convertedIr35File","dataURLtoFile","basicInformationInitialValues","initialValues","contractDetailsInitialValues","contractPreviewInitialValues","signature","signatory","pricingPlanInitialValues","eligibilityQuestionnaireInitialValues","shouldHandleReadOnlyEmployment","initialLoading","isNavigatingToReview","hasContractPreviewFields","prettifyFormValues","goTo","step","parseFormValues","values","parseJSFToValidate","extractAiValidationError","error","isMutationError","rawError","servicesAndDeliverablesError","REMOTE_AI_ERROR_SOURCE","onSubmit","currentStepName","parsedValues","isEmploymentNotLoaded","hasChangedCountry","basicInformationPayload","omit","response","createStructuredError","basicInformationParsedValues","_servicesAndDeliverablesAiWarning","_servicesAndDeliverablesErrorSkippable","contractDetailsData","shouldSkipAiChecks","payload","contractDocumentId","aiError","transformAiErrorResponse","eorProductIdentifier","CONTRACT_PRODUCT_TITLES"]}
@@ -1,2 +1,2 @@
1
- import{a as p}from"./chunk-LKVQ32ZK.js";import{F as c,N as m,R as C,W as d,o as l,y as u}from"./chunk-M7QPV7VS.js";import{e as i}from"./chunk-H2O4CVKF.js";import{a as t}from"./chunk-P37U34EQ.js";import{useMutation as n,useQuery as r}from"@tanstack/react-query";var q=t(({includePremiumBenefits:e})=>{let{client:o}=i();return r({queryKey:["cost-calculator-countries",e],queryFn:t(()=>c({client:o,query:{include_premium_benefits:e}}),"queryFn"),select:t(a=>a.data?.data.filter(s=>s.availability==="active").map(s=>({value:s.region_slug,label:s.name,childRegions:s.child_regions,hasAdditionalFields:s.has_additional_fields,regionSlug:s.region_slug,currency:s.currency.code})),"select")})},"useCostCalculatorCountries"),P=t(()=>{let{client:e}=i();return r({queryKey:["company-currencies"],queryFn:t(()=>d({client:e}),"queryFn"),select:t(o=>o.data?.data?.company_currencies.map(a=>({value:a.slug,label:a.code})),"select")})},"useCompanyCurrencies"),h=t(()=>{let{client:e}=i();return n({mutationFn:t(o=>l({client:e,body:o}),"mutationFn")})},"useCostCalculatorEstimation"),v=t(()=>{let{client:e}=i();return n({mutationFn:t(o=>u({client:e,body:o}),"mutationFn")})},"useCostCalculatorEstimationPdf"),x=t(()=>{let{client:e}=i();return n({mutationFn:t(o=>C({client:e,body:o}),"mutationFn")})},"useCostCalculatorEstimationCsv"),V=t((e,{includePremiumBenefits:o,options:a})=>{let{client:s}=i();return r({queryKey:["cost-calculator-region-fields",e,o],queryFn:t(()=>m({client:s,path:{slug:e},query:{include_premium_benefits:o}}),"queryFn"),enabled:!!e,select:t(({data:f})=>{let y=f?.data?.schema||{};return p(y,void 0,a)},"select")})},"useRegionFields");export{q as a,P as b,h as c,v as d,x as e,V as f};
2
- //# sourceMappingURL=chunk-SUBBGKWN.js.map
1
+ import{a as p}from"./chunk-LKVQ32ZK.js";import{F as c,N as m,R as C,W as d,o as l,y as u}from"./chunk-GZUP2IE6.js";import{e as i}from"./chunk-H2O4CVKF.js";import{a as t}from"./chunk-P37U34EQ.js";import{useMutation as n,useQuery as r}from"@tanstack/react-query";var q=t(({includePremiumBenefits:e})=>{let{client:o}=i();return r({queryKey:["cost-calculator-countries",e],queryFn:t(()=>c({client:o,query:{include_premium_benefits:e}}),"queryFn"),select:t(a=>a.data?.data.filter(s=>s.availability==="active").map(s=>({value:s.region_slug,label:s.name,childRegions:s.child_regions,hasAdditionalFields:s.has_additional_fields,regionSlug:s.region_slug,currency:s.currency.code})),"select")})},"useCostCalculatorCountries"),P=t(()=>{let{client:e}=i();return r({queryKey:["company-currencies"],queryFn:t(()=>d({client:e}),"queryFn"),select:t(o=>o.data?.data?.company_currencies.map(a=>({value:a.slug,label:a.code})),"select")})},"useCompanyCurrencies"),h=t(()=>{let{client:e}=i();return n({mutationFn:t(o=>l({client:e,body:o}),"mutationFn")})},"useCostCalculatorEstimation"),v=t(()=>{let{client:e}=i();return n({mutationFn:t(o=>u({client:e,body:o}),"mutationFn")})},"useCostCalculatorEstimationPdf"),x=t(()=>{let{client:e}=i();return n({mutationFn:t(o=>C({client:e,body:o}),"mutationFn")})},"useCostCalculatorEstimationCsv"),V=t((e,{includePremiumBenefits:o,options:a})=>{let{client:s}=i();return r({queryKey:["cost-calculator-region-fields",e,o],queryFn:t(()=>m({client:s,path:{slug:e},query:{include_premium_benefits:o}}),"queryFn"),enabled:!!e,select:t(({data:f})=>{let y=f?.data?.schema||{};return p(y,void 0,a)},"select")})},"useRegionFields");export{q as a,P as b,h as c,v as d,x as e,V as f};
2
+ //# sourceMappingURL=chunk-VTWVHO4F.js.map
@@ -1,2 +1,2 @@
1
- import{a as g}from"./chunk-XXZFBSLJ.js";import{a as d,b as w}from"./chunk-WMBHCIFS.js";import{a as E}from"./chunk-LKVQ32ZK.js";import{C as P,U as F,e as _}from"./chunk-M7QPV7VS.js";import{b as h,h as C}from"./chunk-G2LZFGZA.js";import{a as j}from"./chunk-JDIKYCN6.js";import{e as c}from"./chunk-H2O4CVKF.js";import{a as e}from"./chunk-P37U34EQ.js";import{useMutation as b,useQuery as I}from"@tanstack/react-query";var B=e(({countryCode:n,employment:r,fieldValues:a,options:t})=>{let{client:u}=c(),m=t?.jsonSchemaVersion?.contract_amendments?{json_schema_version:t.jsonSchemaVersion.contract_amendments}:{};return I({queryKey:["contract-amendment-schema"],retry:!1,queryFn:e(async()=>{let o=await _({client:u,headers:{Authorization:""},query:{employment_id:r?.id,country_code:n,...m}});if(o.error||!o.data)throw new Error("Failed to fetch contract amendment schema");return o},"queryFn"),enabled:!!r,select:e(({data:o})=>{let l=o?.data||{};return E(l,a,t)},"select")})},"useContractAmendmentSchemaQuery"),J=e(n=>{let{client:r}=c(),a=n?.jsonSchemaVersion?.contract_amendments?{json_schema_version:n.jsonSchemaVersion.contract_amendments}:{};return b({mutationFn:e(t=>P({client:r,headers:{Authorization:""},body:t,query:{...a}}),"mutationFn")})},"useCreateContractAmendmentMutation"),K=e(n=>{let{client:r}=c(),a=n?.jsonSchemaVersion?.contract_amendments?{json_schema_version:n.jsonSchemaVersion.contract_amendments}:{};return b({mutationFn:e(t=>F({client:r,headers:{Authorization:""},body:t,query:{...a}}),"mutationFn")})},"useAutomatableContractAmendmentMutation"),te=e(({employmentId:n,countryCode:r,options:a})=>{let{fieldValues:t,setFieldValues:u,stepState:m,nextStep:o,previousStep:l}=j(d),{data:i,isLoading:v,isError:q,error:Q}=g({employmentId:n,queryParams:{exclude_files:!0}}),{data:s,isLoading:L,isError:M,error:T}=B({employment:i,countryCode:r,fieldValues:{...m.values?.[m.currentStep.name],...t},options:a}),k=w(i,s?.fields),S=J(a),A=K(a);async function x(p){let f=await C(p,s?.fields||[],{isPartialValidation:!1}),V={employment_id:i?.id,amendment_contract_id:i?.active_contract_id,contract_amendment:{...f}};switch(m.currentStep.name){case d.form.name:{let{mutateAsync:y}=h(A),H=await y(V);return o(),H}case d.confirmation_form.name:{let{mutateAsync:y}=h(S);return y(V)}default:throw new Error("Invalid step state")}}e(x,"onSubmit");async function z(p){if(s){let f=await C(p,s?.fields);return s?.handleValidation(f)}return null}e(z,"handleValidation");function O(){l()}return e(O,"back"),{stepState:m,fields:s?.fields||[],isLoading:v||L,isError:q||M,error:Q||T,isSubmitting:A.isPending||S.isPending,initialValues:k,values:t,handleValidation:z,checkFieldUpdates:u,onSubmit:x,back:O}},"useContractAmendment");export{te as a};
2
- //# sourceMappingURL=chunk-2CEH6UIC.js.map
1
+ import{a as d,b as w}from"./chunk-WMBHCIFS.js";import{a as g}from"./chunk-PJ6KPGIE.js";import{a as E}from"./chunk-LKVQ32ZK.js";import{C as P,U as F,e as _}from"./chunk-GZUP2IE6.js";import{b as h,h as C}from"./chunk-G2LZFGZA.js";import{a as j}from"./chunk-JDIKYCN6.js";import{e as c}from"./chunk-H2O4CVKF.js";import{a as e}from"./chunk-P37U34EQ.js";import{useMutation as b,useQuery as I}from"@tanstack/react-query";var B=e(({countryCode:n,employment:r,fieldValues:a,options:t})=>{let{client:u}=c(),m=t?.jsonSchemaVersion?.contract_amendments?{json_schema_version:t.jsonSchemaVersion.contract_amendments}:{};return I({queryKey:["contract-amendment-schema"],retry:!1,queryFn:e(async()=>{let o=await _({client:u,headers:{Authorization:""},query:{employment_id:r?.id,country_code:n,...m}});if(o.error||!o.data)throw new Error("Failed to fetch contract amendment schema");return o},"queryFn"),enabled:!!r,select:e(({data:o})=>{let l=o?.data||{};return E(l,a,t)},"select")})},"useContractAmendmentSchemaQuery"),J=e(n=>{let{client:r}=c(),a=n?.jsonSchemaVersion?.contract_amendments?{json_schema_version:n.jsonSchemaVersion.contract_amendments}:{};return b({mutationFn:e(t=>P({client:r,headers:{Authorization:""},body:t,query:{...a}}),"mutationFn")})},"useCreateContractAmendmentMutation"),K=e(n=>{let{client:r}=c(),a=n?.jsonSchemaVersion?.contract_amendments?{json_schema_version:n.jsonSchemaVersion.contract_amendments}:{};return b({mutationFn:e(t=>F({client:r,headers:{Authorization:""},body:t,query:{...a}}),"mutationFn")})},"useAutomatableContractAmendmentMutation"),te=e(({employmentId:n,countryCode:r,options:a})=>{let{fieldValues:t,setFieldValues:u,stepState:m,nextStep:o,previousStep:l}=j(d),{data:i,isLoading:v,isError:q,error:Q}=g({employmentId:n,queryParams:{exclude_files:!0}}),{data:s,isLoading:L,isError:M,error:T}=B({employment:i,countryCode:r,fieldValues:{...m.values?.[m.currentStep.name],...t},options:a}),k=w(i,s?.fields),S=J(a),A=K(a);async function x(p){let f=await C(p,s?.fields||[],{isPartialValidation:!1}),V={employment_id:i?.id,amendment_contract_id:i?.active_contract_id,contract_amendment:{...f}};switch(m.currentStep.name){case d.form.name:{let{mutateAsync:y}=h(A),H=await y(V);return o(),H}case d.confirmation_form.name:{let{mutateAsync:y}=h(S);return y(V)}default:throw new Error("Invalid step state")}}e(x,"onSubmit");async function z(p){if(s){let f=await C(p,s?.fields);return s?.handleValidation(f)}return null}e(z,"handleValidation");function O(){l()}return e(O,"back"),{stepState:m,fields:s?.fields||[],isLoading:v||L,isError:q||M,error:Q||T,isSubmitting:A.isPending||S.isPending,initialValues:k,values:t,handleValidation:z,checkFieldUpdates:u,onSubmit:x,back:O}},"useContractAmendment");export{te as a};
2
+ //# sourceMappingURL=chunk-WMJP2BO5.js.map
@@ -1,2 +1,2 @@
1
- import{a as e}from"./chunk-CTSRJIJT.js";import{b as a}from"./chunk-MRYRNB7Y.js";import{a as i}from"./chunk-P37U34EQ.js";import{jsx as s}from"react/jsx-runtime";function p({onSubmit:t}){let{terminationBag:o}=a(),n=i(async r=>{let m=await o?.parseFormValues(r);await t?.(m),o?.next()},"handleSubmit");return s(e,{defaultValues:o.fieldValues,onSubmit:n})}i(p,"TerminationDetailsForm");export{p as a};
2
- //# sourceMappingURL=chunk-S62CXCJB.js.map
1
+ import{a as e}from"./chunk-A2WWDGJJ.js";import{b as a}from"./chunk-MRYRNB7Y.js";import{a as i}from"./chunk-P37U34EQ.js";import{jsx as s}from"react/jsx-runtime";function p({onSubmit:t}){let{terminationBag:o}=a(),n=i(async r=>{let m=await o?.parseFormValues(r);await t?.(m),o?.next()},"handleSubmit");return s(e,{defaultValues:o.fieldValues,onSubmit:n})}i(p,"TerminationDetailsForm");export{p as a};
2
+ //# sourceMappingURL=chunk-XEVHWVBT.js.map
@@ -1,2 +1,2 @@
1
- import{b as w}from"./chunk-PGWKJ6FK.js";import{d as v,e as y}from"./chunk-MPB6TYP2.js";import{b as i}from"./chunk-G2LZFGZA.js";import{b as p}from"./chunk-H2O4CVKF.js";import{a as s}from"./chunk-P37U34EQ.js";import{jsx as C}from"react/jsx-runtime";function A({onSubmit:f,onSuccess:a,onError:t,render:E,...o}){let{components:R}=p(),{onboardingBag:r,setCreditScore:m}=w(),d=v(),u=y(),{mutateAsync:g}=i(d),{mutateAsync:I}=i(u),c=r.creditRiskStatus==="deposit_required"||r.onboardingReservesStatus==="deposit_required",S=s(async()=>{try{if(await f?.(),c&&r.employmentId&&r.employment?.status&&!r.isEmploymentReadOnly){let e=await I({employment_slug:r.employmentId});if(e.data){await a?.({data:e.data,employmentStatus:"created_awaiting_reserve"}),m?.(n=>({...n,showReserveInvoice:!0})),r.refetchEmployment();return}e.error&&t?.({error:e.error,rawError:e.rawError,fieldErrors:[]})}else if(r.employmentId){let e=await g({employment_id:r.employmentId});if(e.data){await a?.({data:e.data,employmentStatus:"invited"}),m?.(n=>({...n,showInviteSuccessful:!0})),r.refetchEmployment();return}e.error&&t?.({error:e.error,rawError:e.rawError,fieldErrors:[]})}}catch(e){t?.({error:e,rawError:e,fieldErrors:[]})}},"handleSubmit"),b=c&&r.employment?.status&&!r.isEmploymentReadOnly,l=R?.button;if(!l)throw new Error("Button component not found");let _=!r.canInvite||d.isPending||u.isPending||o.disabled;return C(l,{...o,disabled:_,onClick:e=>{S(),o.onClick?.(e)},children:E({employmentStatus:b?"created_awaiting_reserve":"invited"})})}s(A,"OnboardingInvite");export{A as a};
2
- //# sourceMappingURL=chunk-5QEW5VR2.js.map
1
+ import{b as w}from"./chunk-PGWKJ6FK.js";import{d as v,e as y}from"./chunk-UYGDMJF2.js";import{b as i}from"./chunk-G2LZFGZA.js";import{b as p}from"./chunk-H2O4CVKF.js";import{a as s}from"./chunk-P37U34EQ.js";import{jsx as C}from"react/jsx-runtime";function A({onSubmit:f,onSuccess:a,onError:t,render:E,...o}){let{components:R}=p(),{onboardingBag:r,setCreditScore:m}=w(),d=v(),u=y(),{mutateAsync:g}=i(d),{mutateAsync:I}=i(u),c=r.creditRiskStatus==="deposit_required"||r.onboardingReservesStatus==="deposit_required",S=s(async()=>{try{if(await f?.(),c&&r.employmentId&&r.employment?.status&&!r.isEmploymentReadOnly){let e=await I({employment_slug:r.employmentId});if(e.data){await a?.({data:e.data,employmentStatus:"created_awaiting_reserve"}),m?.(n=>({...n,showReserveInvoice:!0})),r.refetchEmployment();return}e.error&&t?.({error:e.error,rawError:e.rawError,fieldErrors:[]})}else if(r.employmentId){let e=await g({employment_id:r.employmentId});if(e.data){await a?.({data:e.data,employmentStatus:"invited"}),m?.(n=>({...n,showInviteSuccessful:!0})),r.refetchEmployment();return}e.error&&t?.({error:e.error,rawError:e.rawError,fieldErrors:[]})}}catch(e){t?.({error:e,rawError:e,fieldErrors:[]})}},"handleSubmit"),b=c&&r.employment?.status&&!r.isEmploymentReadOnly,l=R?.button;if(!l)throw new Error("Button component not found");let _=!r.canInvite||d.isPending||u.isPending||o.disabled;return C(l,{...o,disabled:_,onClick:e=>{S(),o.onClick?.(e)},children:E({employmentStatus:b?"created_awaiting_reserve":"invited"})})}s(A,"OnboardingInvite");export{A as a};
2
+ //# sourceMappingURL=chunk-XV7SBFS5.js.map