@remoteoss/remote-flows 1.45.0 → 1.46.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 (331) hide show
  1. package/dist/{EmailFieldDefault-S3DO2YLL.js → EmailFieldDefault-7USH7I6B.js} +2 -2
  2. package/dist/{NumberFieldDefault-AA5UGCSR.js → NumberFieldDefault-P7TLA6SH.js} +2 -2
  3. package/dist/{TextFieldDefault-OC2TMXVF.js → TextFieldDefault-FTX32V3D.js} +2 -2
  4. package/dist/WorkScheduleFieldDefault-JAU2YFQF.js +2 -0
  5. package/dist/{chunk-R7AWHFPG.js → chunk-2CGPCBQY.js} +2 -2
  6. package/dist/{chunk-SK7MIRZS.js → chunk-2GAKAYG7.js} +2 -2
  7. package/dist/{chunk-UETHEV7Q.js → chunk-2QQZODFC.js} +2 -2
  8. package/dist/{chunk-ZZWI5S72.js → chunk-3HGUMECW.js} +2 -2
  9. package/dist/{chunk-YZKQB7WG.js → chunk-3OJAX7QH.js} +2 -2
  10. package/dist/{chunk-ZWA5FYVS.js → chunk-3OTZWYVQ.js} +2 -2
  11. package/dist/{chunk-WTJJEIF2.js → chunk-5N5B5AU2.js} +2 -2
  12. package/dist/{chunk-HU7FSSPH.js → chunk-64OGJGKN.js} +2 -2
  13. package/dist/{chunk-R6QQPJ3F.js → chunk-6AZKF6RW.js} +2 -2
  14. package/dist/{chunk-VHKLNEC2.js → chunk-6PP3Y63Z.js} +2 -2
  15. package/dist/{chunk-A3EQ7FNB.js → chunk-74A4TMTF.js} +2 -2
  16. package/dist/{chunk-2RVICCFD.js → chunk-75N7DFXJ.js} +2 -2
  17. package/dist/{chunk-FOYZWDU5.js → chunk-7UFIQ64V.js} +2 -2
  18. package/dist/{chunk-ZCTEA2O6.js → chunk-A6KORIJF.js} +2 -2
  19. package/dist/{chunk-QDTMDSL5.js → chunk-AHIJ7DGJ.js} +2 -2
  20. package/dist/{chunk-KV4SSPEB.js → chunk-AVK2P75W.js} +2 -2
  21. package/dist/{chunk-MS2MOZGL.js → chunk-B6YPSCBC.js} +2 -2
  22. package/dist/{chunk-DL6MFAFK.js → chunk-BHKAKCV4.js} +2 -2
  23. package/dist/chunk-BODQC6OK.js +2 -0
  24. package/dist/chunk-BODQC6OK.js.map +1 -0
  25. package/dist/{chunk-H7PNNMW5.js → chunk-BZA2XA4Q.js} +2 -2
  26. package/dist/chunk-C4NBYBED.js +2 -0
  27. package/dist/chunk-C4NBYBED.js.map +1 -0
  28. package/dist/{chunk-NPXIFNK2.js → chunk-CUM2NKZ4.js} +2 -2
  29. package/dist/{chunk-QMJH5JND.js → chunk-DZ3A4POL.js} +2 -2
  30. package/dist/{chunk-FII45OPC.js → chunk-EFIPOWDJ.js} +2 -2
  31. package/dist/chunk-EOSJHL6M.js +2 -0
  32. package/dist/chunk-EOSJHL6M.js.map +1 -0
  33. package/dist/{chunk-P5NAMZNA.js → chunk-FIFM55V3.js} +2 -2
  34. package/dist/chunk-G2DAXZPD.js +2 -0
  35. package/dist/chunk-G2DAXZPD.js.map +1 -0
  36. package/dist/{chunk-BIE73HZH.js → chunk-HTVGC4KT.js} +2 -2
  37. package/dist/{chunk-MQK33NLF.js → chunk-HULIBLYP.js} +2 -2
  38. package/dist/{chunk-IVISBFAT.js → chunk-HWBEYYJO.js} +2 -2
  39. package/dist/chunk-IAR7QW2Y.js +2 -0
  40. package/dist/chunk-IAR7QW2Y.js.map +1 -0
  41. package/dist/{chunk-2TBTNTJ2.js → chunk-JJK6BFGN.js} +2 -2
  42. package/dist/{chunk-6BOIGCHK.js → chunk-KZWB4FMM.js} +2 -2
  43. package/dist/{chunk-43XVHRYM.js → chunk-LBMHLNKS.js} +2 -2
  44. package/dist/chunk-NI4K773A.js +2 -0
  45. package/dist/chunk-NI4K773A.js.map +1 -0
  46. package/dist/{chunk-O2M7ZWVK.js → chunk-NQWB6O7Z.js} +2 -2
  47. package/dist/{chunk-52GHCI6X.js → chunk-O3Y4DVNY.js} +2 -2
  48. package/dist/{chunk-PQGDGJLG.js → chunk-OUFFAMO5.js} +2 -2
  49. package/dist/{chunk-6LQ2EP7Y.js → chunk-QHSIUKH6.js} +2 -2
  50. package/dist/{chunk-3NKRZURO.js → chunk-R2S73YZ5.js} +2 -2
  51. package/dist/chunk-R36IOANR.js +2 -0
  52. package/dist/chunk-R36IOANR.js.map +1 -0
  53. package/dist/{chunk-TAYJ2AK4.js → chunk-R4JUCNE4.js} +2 -2
  54. package/dist/{chunk-V2XF4QEW.js → chunk-RBUSLLAQ.js} +2 -2
  55. package/dist/{chunk-46RBPCK6.js → chunk-STFOY2NW.js} +2 -2
  56. package/dist/{chunk-H6XSWBE5.js → chunk-SUONIYV5.js} +2 -2
  57. package/dist/{chunk-WL7WQBSR.js → chunk-TMS5VMVV.js} +2 -2
  58. package/dist/{chunk-U4PFZ54M.js → chunk-TUAL6X2E.js} +2 -2
  59. package/dist/{chunk-RFVATVNN.js → chunk-U7MAWO3U.js} +2 -2
  60. package/dist/{chunk-FMRWWDZE.js → chunk-UYTYZVQM.js} +2 -2
  61. package/dist/{chunk-4IEAIF46.js → chunk-V6I7LW47.js} +2 -2
  62. package/dist/{chunk-726N45PF.js → chunk-VADVEBNE.js} +2 -2
  63. package/dist/{chunk-D2PYVF6J.js → chunk-VDXTVUFY.js} +2 -2
  64. package/dist/{chunk-XQ65RVB7.js → chunk-VMXDQYTT.js} +2 -2
  65. package/dist/{chunk-STFU4KD6.js → chunk-WKT6B3XE.js} +2 -2
  66. package/dist/{chunk-BKSWQYXH.js → chunk-Y4X4BMDD.js} +2 -2
  67. package/dist/{chunk-WMUF335R.js → chunk-YLU7JBHT.js} +2 -2
  68. package/dist/{chunk-2JK3XRHE.js → chunk-YYWBJW65.js} +2 -2
  69. package/dist/{chunk-TC6KCSDD.js → chunk-ZF3CYWGQ.js} +2 -2
  70. package/dist/default-components.d.ts +1 -1
  71. package/dist/default-components.js +1 -1
  72. package/dist/flows/ContractAmendment/ContractAmendmentFlow.d.ts +2 -2
  73. package/dist/flows/ContractAmendment/ContractAmendmentFlow.js +1 -1
  74. package/dist/flows/ContractAmendment/ContractAmendmentForm.js +1 -1
  75. package/dist/flows/ContractAmendment/context.d.ts +2 -2
  76. package/dist/flows/ContractAmendment/hooks.d.ts +2 -2
  77. package/dist/flows/ContractAmendment/index.d.ts +2 -2
  78. package/dist/flows/ContractAmendment/index.js +1 -1
  79. package/dist/flows/ContractAmendment/types.d.ts +2 -2
  80. package/dist/flows/ContractAmendment/utils.d.ts +1 -1
  81. package/dist/flows/ContractorOnboarding/ContractorOnboarding.d.ts +4 -4
  82. package/dist/flows/ContractorOnboarding/ContractorOnboarding.js +1 -1
  83. package/dist/flows/ContractorOnboarding/api.d.ts +2 -2
  84. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.d.ts +3 -3
  85. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.js +1 -1
  86. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.d.ts +4 -4
  87. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.js +1 -1
  88. package/dist/flows/ContractorOnboarding/components/ContractOriginStep.d.ts +2 -2
  89. package/dist/flows/ContractorOnboarding/components/ContractOriginStep.js +1 -1
  90. package/dist/flows/ContractorOnboarding/components/ContractPreviewHeader.d.ts +1 -1
  91. package/dist/flows/ContractorOnboarding/components/ContractPreviewStatement.d.ts +1 -1
  92. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.d.ts +4 -4
  93. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.js +1 -1
  94. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.d.ts +4 -4
  95. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.js +1 -1
  96. package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.d.ts +4 -4
  97. package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.js +1 -1
  98. package/dist/flows/ContractorOnboarding/components/OnboardingInvite.d.ts +2 -2
  99. package/dist/flows/ContractorOnboarding/components/PricingPlan.d.ts +4 -4
  100. package/dist/flows/ContractorOnboarding/components/PricingPlan.js +1 -1
  101. package/dist/flows/ContractorOnboarding/components/SaveDraftButton.d.ts +2 -2
  102. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.d.ts +3 -3
  103. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.js +1 -1
  104. package/dist/flows/ContractorOnboarding/context.d.ts +4 -4
  105. package/dist/flows/ContractorOnboarding/hooks.d.ts +4 -4
  106. package/dist/flows/ContractorOnboarding/index.d.ts +4 -4
  107. package/dist/flows/ContractorOnboarding/index.js +1 -1
  108. package/dist/flows/ContractorOnboarding/jsfModify.d.ts +4 -4
  109. package/dist/flows/ContractorOnboarding/types.d.ts +4 -4
  110. package/dist/flows/ContractorOnboarding/utils.d.ts +3 -3
  111. package/dist/flows/CostCalculator/CostCalculatorFlow.d.ts +2 -2
  112. package/dist/flows/CostCalculator/CostCalculatorFlow.js +1 -1
  113. package/dist/flows/CostCalculator/CostCalculatorForm.d.ts +2 -2
  114. package/dist/flows/CostCalculator/CostCalculatorForm.js +1 -1
  115. package/dist/flows/CostCalculator/EstimationResults/EstimationResults.d.ts +2 -2
  116. package/dist/flows/CostCalculator/SummaryResults/SummaryResults.d.ts +2 -2
  117. package/dist/flows/CostCalculator/api.d.ts +2 -2
  118. package/dist/flows/CostCalculator/components/SalaryField.d.ts +3 -2
  119. package/dist/flows/CostCalculator/components/SalaryField.js +1 -1
  120. package/dist/flows/CostCalculator/context.d.ts +2 -2
  121. package/dist/flows/CostCalculator/hooks.d.ts +2 -2
  122. package/dist/flows/CostCalculator/hooks.js +1 -1
  123. package/dist/flows/CostCalculator/index.d.ts +2 -2
  124. package/dist/flows/CostCalculator/index.js +1 -1
  125. package/dist/flows/CostCalculator/types.d.ts +12 -3
  126. package/dist/flows/CostCalculator/utils.d.ts +2 -2
  127. package/dist/flows/CostCalculator/utils.js +1 -1
  128. package/dist/flows/CreateCompany/CreateCompany.d.ts +3 -3
  129. package/dist/flows/CreateCompany/CreateCompany.js +1 -1
  130. package/dist/flows/CreateCompany/api.d.ts +2 -2
  131. package/dist/flows/CreateCompany/components/AddressDetailsStep.d.ts +3 -3
  132. package/dist/flows/CreateCompany/components/AddressDetailsStep.js +1 -1
  133. package/dist/flows/CreateCompany/components/CompanyBasicInformationStep.d.ts +3 -3
  134. package/dist/flows/CreateCompany/components/CompanyBasicInformationStep.js +1 -1
  135. package/dist/flows/CreateCompany/components/CreateCompanyForm.d.ts +1 -1
  136. package/dist/flows/CreateCompany/components/CreateCompanyForm.js +1 -1
  137. package/dist/flows/CreateCompany/context.d.ts +3 -3
  138. package/dist/flows/CreateCompany/hooks.d.ts +3 -3
  139. package/dist/flows/CreateCompany/index.d.ts +3 -3
  140. package/dist/flows/CreateCompany/index.js +1 -1
  141. package/dist/flows/CreateCompany/types.d.ts +3 -3
  142. package/dist/flows/JsonSchemaPlayground/JsonSchemaPlaygroundFlow.d.ts +2 -2
  143. package/dist/flows/JsonSchemaPlayground/JsonSchemaPlaygroundFlow.js +1 -1
  144. package/dist/flows/JsonSchemaPlayground/JsonSchemaPlaygroundForm.d.ts +1 -1
  145. package/dist/flows/JsonSchemaPlayground/JsonSchemaPlaygroundForm.js +1 -1
  146. package/dist/flows/JsonSchemaPlayground/context.d.ts +2 -2
  147. package/dist/flows/JsonSchemaPlayground/hooks.d.ts +2 -2
  148. package/dist/flows/JsonSchemaPlayground/index.d.ts +2 -2
  149. package/dist/flows/JsonSchemaPlayground/index.js +1 -1
  150. package/dist/flows/JsonSchemaPlayground/types.d.ts +2 -2
  151. package/dist/flows/Onboarding/OnboardingFlow.d.ts +3 -3
  152. package/dist/flows/Onboarding/OnboardingFlow.js +1 -1
  153. package/dist/flows/Onboarding/api.d.ts +3 -3
  154. package/dist/flows/Onboarding/components/AnnualGrossSalary.d.ts +3 -2
  155. package/dist/flows/Onboarding/components/AnnualGrossSalary.js +1 -1
  156. package/dist/flows/Onboarding/components/BasicInformationStep.d.ts +3 -3
  157. package/dist/flows/Onboarding/components/BasicInformationStep.js +1 -1
  158. package/dist/flows/Onboarding/components/BenefitsStep.d.ts +3 -3
  159. package/dist/flows/Onboarding/components/BenefitsStep.js +1 -1
  160. package/dist/flows/Onboarding/components/ContractDetailsStep.d.ts +3 -3
  161. package/dist/flows/Onboarding/components/ContractDetailsStep.js +1 -1
  162. package/dist/flows/Onboarding/components/EmploymentAgreementInfoContent.js +1 -1
  163. package/dist/flows/Onboarding/components/EngagementAgreementDetailsStep.d.ts +3 -3
  164. package/dist/flows/Onboarding/components/EngagementAgreementDetailsStep.js +1 -1
  165. package/dist/flows/Onboarding/components/OnboardingForm.d.ts +3 -3
  166. package/dist/flows/Onboarding/components/OnboardingForm.js +1 -1
  167. package/dist/flows/Onboarding/components/OnboardingInvite.d.ts +2 -2
  168. package/dist/flows/Onboarding/components/PreOnboardingRequirements.d.ts +3 -3
  169. package/dist/flows/Onboarding/components/PreviewEmploymentAgreementStep.js +1 -1
  170. package/dist/flows/Onboarding/components/ReviewStep.d.ts +3 -3
  171. package/dist/flows/Onboarding/components/SaveDraftButton.d.ts +2 -2
  172. package/dist/flows/Onboarding/components/SelectCountryStep.d.ts +3 -3
  173. package/dist/flows/Onboarding/components/SelectCountryStep.js +1 -1
  174. package/dist/flows/Onboarding/context.d.ts +4 -4
  175. package/dist/flows/Onboarding/hooks.d.ts +3 -3
  176. package/dist/flows/Onboarding/hooks.js +1 -1
  177. package/dist/flows/Onboarding/index.d.ts +3 -3
  178. package/dist/flows/Onboarding/index.js +1 -1
  179. package/dist/flows/Onboarding/types.d.ts +3 -3
  180. package/dist/flows/Onboarding/utils.d.ts +3 -3
  181. package/dist/flows/PayrollAdminOnboarding/PayrollAdminOnboardingFlow.d.ts +3 -3
  182. package/dist/flows/PayrollAdminOnboarding/PayrollAdminOnboardingFlow.js +1 -1
  183. package/dist/flows/PayrollAdminOnboarding/api.d.ts +1 -1
  184. package/dist/flows/PayrollAdminOnboarding/components/AdministrativeDetailsStep.d.ts +2 -2
  185. package/dist/flows/PayrollAdminOnboarding/components/AdministrativeDetailsStep.js +1 -1
  186. package/dist/flows/PayrollAdminOnboarding/components/ContractDetailsStep.d.ts +2 -2
  187. package/dist/flows/PayrollAdminOnboarding/components/ContractDetailsStep.js +1 -1
  188. package/dist/flows/PayrollAdminOnboarding/components/InvitationStep.d.ts +2 -2
  189. package/dist/flows/PayrollAdminOnboarding/components/PayrollAdminForm.d.ts +1 -1
  190. package/dist/flows/PayrollAdminOnboarding/components/PayrollAdminForm.js +1 -1
  191. package/dist/flows/PayrollAdminOnboarding/components/SelectCountryStep.d.ts +2 -2
  192. package/dist/flows/PayrollAdminOnboarding/components/SelectCountryStep.js +1 -1
  193. package/dist/flows/PayrollAdminOnboarding/components/useStepSubmitHandler.d.ts +2 -2
  194. package/dist/flows/PayrollAdminOnboarding/context.d.ts +3 -3
  195. package/dist/flows/PayrollAdminOnboarding/hooks.d.ts +3 -3
  196. package/dist/flows/PayrollAdminOnboarding/index.d.ts +3 -3
  197. package/dist/flows/PayrollAdminOnboarding/index.js +1 -1
  198. package/dist/flows/PayrollAdminOnboarding/types.d.ts +3 -3
  199. package/dist/flows/PayrollEmployeeOnboarding/PayrollEmployeeOnboardingFlow.d.ts +3 -3
  200. package/dist/flows/PayrollEmployeeOnboarding/PayrollEmployeeOnboardingFlow.js +1 -1
  201. package/dist/flows/PayrollEmployeeOnboarding/api.d.ts +2 -2
  202. package/dist/flows/PayrollEmployeeOnboarding/components/BankAccountStep.d.ts +2 -2
  203. package/dist/flows/PayrollEmployeeOnboarding/components/BankAccountStep.js +1 -1
  204. package/dist/flows/PayrollEmployeeOnboarding/components/FederalTaxesStep.d.ts +2 -2
  205. package/dist/flows/PayrollEmployeeOnboarding/components/FederalTaxesStep.js +1 -1
  206. package/dist/flows/PayrollEmployeeOnboarding/components/HomeAddressStep.d.ts +2 -2
  207. package/dist/flows/PayrollEmployeeOnboarding/components/HomeAddressStep.js +1 -1
  208. package/dist/flows/PayrollEmployeeOnboarding/components/PayrollEmployeeForm.d.ts +1 -1
  209. package/dist/flows/PayrollEmployeeOnboarding/components/PayrollEmployeeForm.js +1 -1
  210. package/dist/flows/PayrollEmployeeOnboarding/components/PersonalDetailsStep.d.ts +2 -2
  211. package/dist/flows/PayrollEmployeeOnboarding/components/PersonalDetailsStep.js +1 -1
  212. package/dist/flows/PayrollEmployeeOnboarding/components/StateTaxesStep.d.ts +2 -2
  213. package/dist/flows/PayrollEmployeeOnboarding/components/StateTaxesStep.js +1 -1
  214. package/dist/flows/PayrollEmployeeOnboarding/components/useEmployeeStepSubmitHandler.d.ts +2 -2
  215. package/dist/flows/PayrollEmployeeOnboarding/context.d.ts +3 -3
  216. package/dist/flows/PayrollEmployeeOnboarding/hooks.d.ts +3 -3
  217. package/dist/flows/PayrollEmployeeOnboarding/index.d.ts +3 -3
  218. package/dist/flows/PayrollEmployeeOnboarding/index.js +1 -1
  219. package/dist/flows/PayrollEmployeeOnboarding/types.d.ts +3 -3
  220. package/dist/flows/Termination/AdditionalDetailsForm.d.ts +3 -3
  221. package/dist/flows/Termination/AdditionalDetailsForm.js +1 -1
  222. package/dist/flows/Termination/EmployeeComunicationForm.d.ts +3 -3
  223. package/dist/flows/Termination/EmployeeComunicationForm.js +1 -1
  224. package/dist/flows/Termination/PaidTimeOffForm.d.ts +3 -3
  225. package/dist/flows/Termination/PaidTimeOffForm.js +1 -1
  226. package/dist/flows/Termination/TerminationDetailsForm.d.ts +3 -3
  227. package/dist/flows/Termination/TerminationDetailsForm.js +1 -1
  228. package/dist/flows/Termination/TerminationFlow.d.ts +3 -3
  229. package/dist/flows/Termination/TerminationFlow.js +1 -1
  230. package/dist/flows/Termination/TerminationForm.d.ts +3 -3
  231. package/dist/flows/Termination/TerminationForm.js +1 -1
  232. package/dist/flows/Termination/api.d.ts +4 -4
  233. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.d.ts +4 -4
  234. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.d.ts +4 -4
  235. package/dist/flows/Termination/components/PaidTimeOff/types.d.ts +4 -4
  236. package/dist/flows/Termination/components/TerminationDialogInfoContent/TerminationDialogInfoContent.js +1 -1
  237. package/dist/flows/Termination/context.d.ts +3 -3
  238. package/dist/flows/Termination/hooks.d.ts +3 -3
  239. package/dist/flows/Termination/hooks.js +1 -1
  240. package/dist/flows/Termination/index.d.ts +4 -4
  241. package/dist/flows/Termination/index.js +1 -1
  242. package/dist/flows/Termination/json-schemas/schema.d.ts +3 -3
  243. package/dist/flows/Termination/types.d.ts +3 -3
  244. package/dist/flows/Termination/utils.d.ts +3 -3
  245. package/dist/flows/types.d.ts +2 -2
  246. package/dist/flows/utils.d.ts +1 -1
  247. package/dist/index.d.ts +11 -11
  248. package/dist/index.js +2 -2
  249. package/dist/internals.d.ts +3 -3
  250. package/dist/internals.js +1 -1
  251. package/dist/{mutations-CajBazWr.d.ts → mutations-DCAaAw5a.d.ts} +1 -1
  252. package/dist/{remoteFlows-DHOW-e53.d.ts → remoteFlows-dULw8FdP.d.ts} +7 -0
  253. package/dist/{types-BolF-TDg.d.ts → types-B4GARfFq.d.ts} +1 -1
  254. package/dist/{types-EcgTFN8S.d.ts → types-BUvpsq6j.d.ts} +1 -1
  255. package/dist/{types-C3SXCvNl.d.ts → types-BrUW0aeq.d.ts} +3 -3
  256. package/dist/{types-CVrHYMLy.d.ts → types-CZ7r6pdq.d.ts} +8 -4
  257. package/dist/{types-B-hNdynz.d.ts → types-Crw4jMds.d.ts} +1 -1
  258. package/dist/{types-CRAMV8FR.d.ts → types-Cwf67dnV.d.ts} +1 -1
  259. package/dist/{types-8GvnGYSN.d.ts → types-D-1MCxhm.d.ts} +2 -2
  260. package/dist/{utils-D6wAHCpX.d.ts → utils-BVwm5Jyt.d.ts} +1 -1
  261. package/package.json +1 -1
  262. package/dist/WorkScheduleFieldDefault-MDDNWRCO.js +0 -2
  263. package/dist/chunk-4GIQCWII.js +0 -2
  264. package/dist/chunk-4GIQCWII.js.map +0 -1
  265. package/dist/chunk-B6F2M3ZM.js +0 -2
  266. package/dist/chunk-B6F2M3ZM.js.map +0 -1
  267. package/dist/chunk-CH75YRKR.js +0 -2
  268. package/dist/chunk-CH75YRKR.js.map +0 -1
  269. package/dist/chunk-L4IKDVFW.js +0 -2
  270. package/dist/chunk-L4IKDVFW.js.map +0 -1
  271. package/dist/chunk-PG7R37J5.js +0 -2
  272. package/dist/chunk-PG7R37J5.js.map +0 -1
  273. package/dist/chunk-SLTF3CJ6.js +0 -2
  274. package/dist/chunk-SLTF3CJ6.js.map +0 -1
  275. package/dist/chunk-WS5BL2WM.js +0 -2
  276. package/dist/chunk-WS5BL2WM.js.map +0 -1
  277. /package/dist/{EmailFieldDefault-S3DO2YLL.js.map → EmailFieldDefault-7USH7I6B.js.map} +0 -0
  278. /package/dist/{NumberFieldDefault-AA5UGCSR.js.map → NumberFieldDefault-P7TLA6SH.js.map} +0 -0
  279. /package/dist/{TextFieldDefault-OC2TMXVF.js.map → TextFieldDefault-FTX32V3D.js.map} +0 -0
  280. /package/dist/{WorkScheduleFieldDefault-MDDNWRCO.js.map → WorkScheduleFieldDefault-JAU2YFQF.js.map} +0 -0
  281. /package/dist/{chunk-R7AWHFPG.js.map → chunk-2CGPCBQY.js.map} +0 -0
  282. /package/dist/{chunk-SK7MIRZS.js.map → chunk-2GAKAYG7.js.map} +0 -0
  283. /package/dist/{chunk-UETHEV7Q.js.map → chunk-2QQZODFC.js.map} +0 -0
  284. /package/dist/{chunk-ZZWI5S72.js.map → chunk-3HGUMECW.js.map} +0 -0
  285. /package/dist/{chunk-YZKQB7WG.js.map → chunk-3OJAX7QH.js.map} +0 -0
  286. /package/dist/{chunk-ZWA5FYVS.js.map → chunk-3OTZWYVQ.js.map} +0 -0
  287. /package/dist/{chunk-WTJJEIF2.js.map → chunk-5N5B5AU2.js.map} +0 -0
  288. /package/dist/{chunk-HU7FSSPH.js.map → chunk-64OGJGKN.js.map} +0 -0
  289. /package/dist/{chunk-R6QQPJ3F.js.map → chunk-6AZKF6RW.js.map} +0 -0
  290. /package/dist/{chunk-VHKLNEC2.js.map → chunk-6PP3Y63Z.js.map} +0 -0
  291. /package/dist/{chunk-A3EQ7FNB.js.map → chunk-74A4TMTF.js.map} +0 -0
  292. /package/dist/{chunk-2RVICCFD.js.map → chunk-75N7DFXJ.js.map} +0 -0
  293. /package/dist/{chunk-FOYZWDU5.js.map → chunk-7UFIQ64V.js.map} +0 -0
  294. /package/dist/{chunk-ZCTEA2O6.js.map → chunk-A6KORIJF.js.map} +0 -0
  295. /package/dist/{chunk-QDTMDSL5.js.map → chunk-AHIJ7DGJ.js.map} +0 -0
  296. /package/dist/{chunk-KV4SSPEB.js.map → chunk-AVK2P75W.js.map} +0 -0
  297. /package/dist/{chunk-MS2MOZGL.js.map → chunk-B6YPSCBC.js.map} +0 -0
  298. /package/dist/{chunk-DL6MFAFK.js.map → chunk-BHKAKCV4.js.map} +0 -0
  299. /package/dist/{chunk-H7PNNMW5.js.map → chunk-BZA2XA4Q.js.map} +0 -0
  300. /package/dist/{chunk-NPXIFNK2.js.map → chunk-CUM2NKZ4.js.map} +0 -0
  301. /package/dist/{chunk-QMJH5JND.js.map → chunk-DZ3A4POL.js.map} +0 -0
  302. /package/dist/{chunk-FII45OPC.js.map → chunk-EFIPOWDJ.js.map} +0 -0
  303. /package/dist/{chunk-P5NAMZNA.js.map → chunk-FIFM55V3.js.map} +0 -0
  304. /package/dist/{chunk-BIE73HZH.js.map → chunk-HTVGC4KT.js.map} +0 -0
  305. /package/dist/{chunk-MQK33NLF.js.map → chunk-HULIBLYP.js.map} +0 -0
  306. /package/dist/{chunk-IVISBFAT.js.map → chunk-HWBEYYJO.js.map} +0 -0
  307. /package/dist/{chunk-2TBTNTJ2.js.map → chunk-JJK6BFGN.js.map} +0 -0
  308. /package/dist/{chunk-6BOIGCHK.js.map → chunk-KZWB4FMM.js.map} +0 -0
  309. /package/dist/{chunk-43XVHRYM.js.map → chunk-LBMHLNKS.js.map} +0 -0
  310. /package/dist/{chunk-O2M7ZWVK.js.map → chunk-NQWB6O7Z.js.map} +0 -0
  311. /package/dist/{chunk-52GHCI6X.js.map → chunk-O3Y4DVNY.js.map} +0 -0
  312. /package/dist/{chunk-PQGDGJLG.js.map → chunk-OUFFAMO5.js.map} +0 -0
  313. /package/dist/{chunk-6LQ2EP7Y.js.map → chunk-QHSIUKH6.js.map} +0 -0
  314. /package/dist/{chunk-3NKRZURO.js.map → chunk-R2S73YZ5.js.map} +0 -0
  315. /package/dist/{chunk-TAYJ2AK4.js.map → chunk-R4JUCNE4.js.map} +0 -0
  316. /package/dist/{chunk-V2XF4QEW.js.map → chunk-RBUSLLAQ.js.map} +0 -0
  317. /package/dist/{chunk-46RBPCK6.js.map → chunk-STFOY2NW.js.map} +0 -0
  318. /package/dist/{chunk-H6XSWBE5.js.map → chunk-SUONIYV5.js.map} +0 -0
  319. /package/dist/{chunk-WL7WQBSR.js.map → chunk-TMS5VMVV.js.map} +0 -0
  320. /package/dist/{chunk-U4PFZ54M.js.map → chunk-TUAL6X2E.js.map} +0 -0
  321. /package/dist/{chunk-RFVATVNN.js.map → chunk-U7MAWO3U.js.map} +0 -0
  322. /package/dist/{chunk-FMRWWDZE.js.map → chunk-UYTYZVQM.js.map} +0 -0
  323. /package/dist/{chunk-4IEAIF46.js.map → chunk-V6I7LW47.js.map} +0 -0
  324. /package/dist/{chunk-726N45PF.js.map → chunk-VADVEBNE.js.map} +0 -0
  325. /package/dist/{chunk-D2PYVF6J.js.map → chunk-VDXTVUFY.js.map} +0 -0
  326. /package/dist/{chunk-XQ65RVB7.js.map → chunk-VMXDQYTT.js.map} +0 -0
  327. /package/dist/{chunk-STFU4KD6.js.map → chunk-WKT6B3XE.js.map} +0 -0
  328. /package/dist/{chunk-BKSWQYXH.js.map → chunk-Y4X4BMDD.js.map} +0 -0
  329. /package/dist/{chunk-WMUF335R.js.map → chunk-YLU7JBHT.js.map} +0 -0
  330. /package/dist/{chunk-2JK3XRHE.js.map → chunk-YYWBJW65.js.map} +0 -0
  331. /package/dist/{chunk-TC6KCSDD.js.map → chunk-ZF3CYWGQ.js.map} +0 -0
@@ -1,2 +1,2 @@
1
- import{a as e}from"./chunk-PMCCHSXD.js";import{a as n}from"./chunk-DL6MFAFK.js";import{b as a}from"./chunk-WCJZAOZR.js";import{a as o}from"./chunk-P37U34EQ.js";import{jsx as i}from"react/jsx-runtime";function d(r){let{adminBag:t}=a(),l=e(r),s={...t.initialValues?.contract_details,...t.stepState.values?.contract_details};return i(n,{onSubmit:l,defaultValues:s})}o(d,"ContractDetailsStep");export{d as a};
2
- //# sourceMappingURL=chunk-QMJH5JND.js.map
1
+ import{a as e}from"./chunk-PMCCHSXD.js";import{a as n}from"./chunk-BHKAKCV4.js";import{b as a}from"./chunk-WCJZAOZR.js";import{a as o}from"./chunk-P37U34EQ.js";import{jsx as i}from"react/jsx-runtime";function d(r){let{adminBag:t}=a(),l=e(r),s={...t.initialValues?.contract_details,...t.stepState.values?.contract_details};return i(n,{onSubmit:l,defaultValues:s})}o(d,"ContractDetailsStep");export{d as a};
2
+ //# sourceMappingURL=chunk-DZ3A4POL.js.map
@@ -1,2 +1,2 @@
1
- import{b as p}from"./chunk-KSHK3ZPX.js";import{a as F}from"./chunk-WL7WQBSR.js";import{h as C}from"./chunk-4FGKIGKF.js";import{c as f,u as E}from"./chunk-NXRWBI36.js";import{a as m}from"./chunk-P37U34EQ.js";import{useEffect as R}from"react";import{jsx as n}from"react/jsx-runtime";function T({onSubmit:S,onError:w,onSuccess:y,onErrorWithFields:u,shouldResetForm:c,resetFields:a}){let{form:e,formId:V,costCalculatorBag:o}=p(),{formState:{isSubmitSuccessful:s}}=e;R(()=>{if(s&&c){o?.resetForm(),e.reset();return}if(s&&a){let t={...e.getValues()};a.forEach(r=>{t[r]=""}),o?.resetForm(),e.reset(t)}},[s,e,c,o,a]);let b=m(async d=>{try{let t=await o?.parseFormValues(d);o?.meta?.fields&&(o.meta.fields=E(t,o.fields),o.meta.fields.employer_currency_slug=o.meta.fields.currency);let r=await o?.onSubmit(t);if(await S?.(t),r?.data&&!r.error){let i={data:{...r.data.data,employments:r.data.data.employments?.map(l=>({...l,title:t.estimation_title}))}};await y?.(i)}else throw{data:null,error:r?.error,fieldErrors:r?.fieldErrors,rawError:r?.rawError}}catch(t){let r=t,i=r.fieldErrors;if(u){let l=o?.meta?.fields,h=f(i,l);u({error:r.error,rawError:r.rawError,fieldErrors:h})}else w?.(r.error)}},"handleSubmit");return n(C,{...e,children:n("form",{id:V,onSubmit:e.handleSubmit(b),className:"space-y-4 RemoteFlows__CostCalculatorForm",children:n(F,{fields:o?.fields??[]})})})}m(T,"CostCalculatorForm");export{T as a};
2
- //# sourceMappingURL=chunk-FII45OPC.js.map
1
+ import{b as p}from"./chunk-KSHK3ZPX.js";import{a as F}from"./chunk-TMS5VMVV.js";import{h as C}from"./chunk-4FGKIGKF.js";import{c as f,u as E}from"./chunk-NXRWBI36.js";import{a as m}from"./chunk-P37U34EQ.js";import{useEffect as R}from"react";import{jsx as n}from"react/jsx-runtime";function T({onSubmit:S,onError:w,onSuccess:y,onErrorWithFields:u,shouldResetForm:c,resetFields:a}){let{form:e,formId:V,costCalculatorBag:o}=p(),{formState:{isSubmitSuccessful:s}}=e;R(()=>{if(s&&c){o?.resetForm(),e.reset();return}if(s&&a){let t={...e.getValues()};a.forEach(r=>{t[r]=""}),o?.resetForm(),e.reset(t)}},[s,e,c,o,a]);let b=m(async d=>{try{let t=await o?.parseFormValues(d);o?.meta?.fields&&(o.meta.fields=E(t,o.fields),o.meta.fields.employer_currency_slug=o.meta.fields.currency);let r=await o?.onSubmit(t);if(await S?.(t),r?.data&&!r.error){let i={data:{...r.data.data,employments:r.data.data.employments?.map(l=>({...l,title:t.estimation_title}))}};await y?.(i)}else throw{data:null,error:r?.error,fieldErrors:r?.fieldErrors,rawError:r?.rawError}}catch(t){let r=t,i=r.fieldErrors;if(u){let l=o?.meta?.fields,h=f(i,l);u({error:r.error,rawError:r.rawError,fieldErrors:h})}else w?.(r.error)}},"handleSubmit");return n(C,{...e,children:n("form",{id:V,onSubmit:e.handleSubmit(b),className:"space-y-4 RemoteFlows__CostCalculatorForm",children:n(F,{fields:o?.fields??[]})})})}m(T,"CostCalculatorForm");export{T as a};
2
+ //# sourceMappingURL=chunk-EFIPOWDJ.js.map
@@ -0,0 +1,2 @@
1
+ import{a as x}from"./chunk-LQFLXXBR.js";import{a as d}from"./chunk-MZN6VY5F.js";import{j as p,k as i,l as _,n as F,o as c}from"./chunk-4FGKIGKF.js";import{a}from"./chunk-P37U34EQ.js";import{jsx as e,jsxs as C}from"react/jsx-runtime";function I({field:o,fieldState:u,fieldData:t}){let{name:n,label:r,description:s,descriptionSuffix:m,maxLength:T,includeErrorMessage:h}=t,l=(s||t.meta?.helpCenter)&&e(F,{as:m?"span":"p",className:"RemoteFlows__TextField__Description",helpCenter:e(d,{helpCenter:t.meta?.helpCenter}),children:s});return C(p,{"data-field":n,className:`RemoteFlows__TextField__Item__${n}`,children:[r&&e(i,{className:"RemoteFlows__TextField__Label",children:r}),e(_,{children:e(x,{...o,value:o.value??"",onChange:f=>{o.onChange(f)},className:"RemoteFlows__TextField__Input",placeholder:r,maxLength:T})}),m?C("span",{className:"RemoteFlows__TextField__DescriptionGroup",children:[l," ",e("span",{className:"RemoteFlows__TextField__DescriptionSuffix",children:m})]}):l,h&&u.error&&e(c,{className:"RemoteFlows__TextField__Error"})]})}a(I,"TextFieldDefault");export{I as a};
2
+ //# sourceMappingURL=chunk-EOSJHL6M.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/form/fields/default/TextFieldDefault.tsx"],"sourcesContent":["import { FormDescription, FormMessage } from '@/src/components/ui/form';\nimport { FormControl, FormItem, FormLabel } from '@/src/components/ui/form';\nimport { Input } from '@/src/components/ui/input';\nimport { HelpCenter } from '@/src/components/shared/zendesk-drawer/HelpCenter';\nimport { TextFieldComponentProps } from '@/src/types/fields';\n\nexport function TextFieldDefault({\n field,\n fieldState,\n fieldData,\n}: TextFieldComponentProps) {\n const {\n name,\n label,\n description,\n descriptionSuffix,\n maxLength,\n includeErrorMessage,\n } = fieldData;\n\n const descriptionNode = (description || fieldData.meta?.helpCenter) && (\n <FormDescription\n as={descriptionSuffix ? 'span' : 'p'}\n className='RemoteFlows__TextField__Description'\n helpCenter={<HelpCenter helpCenter={fieldData.meta?.helpCenter} />}\n >\n {description}\n </FormDescription>\n );\n\n return (\n <FormItem\n data-field={name}\n className={`RemoteFlows__TextField__Item__${name}`}\n >\n {label && (\n <FormLabel className='RemoteFlows__TextField__Label'>{label}</FormLabel>\n )}\n <FormControl>\n <Input\n {...field}\n value={field.value ?? ''}\n onChange={(event: React.ChangeEvent<HTMLInputElement>) => {\n field.onChange(event);\n }}\n className='RemoteFlows__TextField__Input'\n placeholder={label}\n maxLength={maxLength}\n />\n </FormControl>\n {descriptionSuffix ? (\n // FormItem lays its children out in a grid, so the suffix has to share the description's\n // cell to stay on the same line as it (and as the help center link), the way the salary\n // description reads when the split_salary_description feature is off.\n <span className='RemoteFlows__TextField__DescriptionGroup'>\n {descriptionNode}{' '}\n <span className='RemoteFlows__TextField__DescriptionSuffix'>\n {descriptionSuffix}\n </span>\n </span>\n ) : (\n descriptionNode\n )}\n {includeErrorMessage && fieldState.error && (\n <FormMessage className='RemoteFlows__TextField__Error' />\n )}\n </FormItem>\n );\n}\n"],"mappings":"uLAwBkB,cAAAA,EA8BV,QAAAC,MA9BU,oBAlBX,SAASC,EAAiB,CAC/B,MAAAC,EACA,WAAAC,EACA,UAAAC,CACF,EAA4B,CAC1B,GAAM,CACJ,KAAAC,EACA,MAAAC,EACA,YAAAC,EACA,kBAAAC,EACA,UAAAC,EACA,oBAAAC,CACF,EAAIN,EAEEO,GAAmBJ,GAAeH,EAAU,MAAM,aACtDL,EAACa,EAAA,CACC,GAAIJ,EAAoB,OAAS,IACjC,UAAU,sCACV,WAAYT,EAACc,EAAA,CAAW,WAAYT,EAAU,MAAM,WAAY,EAE/D,SAAAG,EACH,EAGF,OACEP,EAACc,EAAA,CACC,aAAYT,EACZ,UAAW,iCAAiCA,CAAI,GAE/C,UAAAC,GACCP,EAACgB,EAAA,CAAU,UAAU,gCAAiC,SAAAT,EAAM,EAE9DP,EAACiB,EAAA,CACC,SAAAjB,EAACkB,EAAA,CACE,GAAGf,EACJ,MAAOA,EAAM,OAAS,GACtB,SAAWgB,GAA+C,CACxDhB,EAAM,SAASgB,CAAK,CACtB,EACA,UAAU,gCACV,YAAaZ,EACb,UAAWG,EACb,EACF,EACCD,EAICR,EAAC,QAAK,UAAU,2CACb,UAAAW,EAAiB,IAClBZ,EAAC,QAAK,UAAU,4CACb,SAAAS,EACH,GACF,EAEAG,EAEDD,GAAuBP,EAAW,OACjCJ,EAACoB,EAAA,CAAY,UAAU,gCAAgC,GAE3D,CAEJ,CA9DgBC,EAAAnB,EAAA","names":["jsx","jsxs","TextFieldDefault","field","fieldState","fieldData","name","label","description","descriptionSuffix","maxLength","includeErrorMessage","descriptionNode","FormDescription","HelpCenter","FormItem","FormLabel","FormControl","Input","event","FormMessage","__name"]}
@@ -1,2 +1,2 @@
1
- import{a as r}from"./chunk-SLEK47CR.js";import{a as t}from"./chunk-GYYQWPA6.js";import{a as f}from"./chunk-ZCTEA2O6.js";import{a as e}from"./chunk-V2XF4QEW.js";import{a as p}from"./chunk-4IEAIF46.js";import{a as n}from"./chunk-YUNA3QKT.js";import{a}from"./chunk-43XVHRYM.js";import{a as m}from"./chunk-MRYRNB7Y.js";import{a as i}from"./chunk-P37U34EQ.js";import{useId as c}from"react";import{jsx as F}from"react/jsx-runtime";var k=i(({employmentId:l,render:T,options:d,initialValues:s})=>{let u=c(),o=t({employmentId:l,options:d,initialValues:s});return F(m.Provider,{value:{formId:u,terminationBag:o},children:T({terminationBag:o,components:{SubmitButton:r,Back:n,EmployeeComunicationStep:e,TerminationDetailsStep:a,PaidTimeOffStep:p,AdditionalDetailsStep:f}})})},"TerminationFlow");export{k as a};
2
- //# sourceMappingURL=chunk-P5NAMZNA.js.map
1
+ import{a as r}from"./chunk-SLEK47CR.js";import{a as t}from"./chunk-GYYQWPA6.js";import{a as f}from"./chunk-A6KORIJF.js";import{a as e}from"./chunk-RBUSLLAQ.js";import{a as p}from"./chunk-V6I7LW47.js";import{a as n}from"./chunk-YUNA3QKT.js";import{a}from"./chunk-LBMHLNKS.js";import{a as m}from"./chunk-MRYRNB7Y.js";import{a as i}from"./chunk-P37U34EQ.js";import{useId as c}from"react";import{jsx as F}from"react/jsx-runtime";var k=i(({employmentId:l,render:T,options:d,initialValues:s})=>{let u=c(),o=t({employmentId:l,options:d,initialValues:s});return F(m.Provider,{value:{formId:u,terminationBag:o},children:T({terminationBag:o,components:{SubmitButton:r,Back:n,EmployeeComunicationStep:e,TerminationDetailsStep:a,PaidTimeOffStep:p,AdditionalDetailsStep:f}})})},"TerminationFlow");export{k as a};
2
+ //# sourceMappingURL=chunk-FIFM55V3.js.map
@@ -0,0 +1,2 @@
1
+ import{a as ee}from"./chunk-NI4K773A.js";import{a as z}from"./chunk-VFRHMNLJ.js";import{a as W,b as X,c as Y,f as Z}from"./chunk-XVZQBTB3.js";import{a as C}from"./chunk-HN5HLFTB.js";import{a as I}from"./chunk-KFYWUBRS.js";import{c as te}from"./chunk-75N7DFXJ.js";import{a as Q}from"./chunk-S5BNS2JE.js";import{b as G,h as M}from"./chunk-NXRWBI36.js";import{a as o}from"./chunk-P37U34EQ.js";import{number as Te,object as le}from"yup";import{useCallback as we,useEffect as ne,useMemo as Re,useRef as Pe,useState as j}from"react";import{string as re,ValidationError as ie}from"yup";import{jsx as ae}from"react/jsx-runtime";var O={title:"Estimation",includeBenefits:!1,includeCostBreakdowns:!1,includePremiumBenefits:!1,enableCurrencyConversion:!1,includeEstimationTitle:!1,includeManagementFee:!1},xe=o(t=>Q(z.data.schema,void 0,t),"useStaticSchema");function Be(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(Be,"getSalaryTitle");var Qe=o(({defaultRegion:t,defaultCurrency:i,defaultSalary:l,estimationOptions:s,options:n,version:a}={estimationOptions:O})=>{let c=Pe({fields:{}}),[k,h]=j(t),[w,R]=j(),[m,q]=j(),[H,ce]=j(),{data:_,isLoading:ue}=W({includePremiumBenefits:s.includePremiumBenefits}),{data:d,isLoading:me}=X(),de=k||w?.value,{data:P,isLoading:fe}=Z(de,{includePremiumBenefits:s.includePremiumBenefits,options:n}),U=Y(),{mutateAsync:ge}=G(U),b=w?.currency,p=n?.jsfModify?.fields?.salary,F=p&&typeof p=="object"&&"presentation"in p?p.presentation:void 0,L=we(()=>{let e=b&&m?b!==m:!1;return b!==m?{from:m,to:b,shouldSwapOrder:e}:{from:b,to:m,shouldSwapOrder:e}},[b,m]),D=s.showManagementFee,J=s.includeEstimationTitle,$=n?.features?.includes("split_salary_description")??!1,ye=Re(()=>{let{from:e,to:r,shouldSwapOrder:u}=L(),g=Be(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=>ae(ee,{...y,shouldSwapOrder:u,conversionType:a==="marketing"?"no_spread":"spread",defaultValue:l,splitDescription:$}),"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:!D,Component:o(y=>ae(te,{...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:!J}}}}},[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,D,J,l,$]),f=xe({jsfModify:{fields:{...n?.jsfModify?.fields,...ye?.fields}}});ne(()=>{if(t&&_){let e=_.find(({value:r})=>r===t);e&&R(e)}},[t,_]),ne(()=>{if(i&&d){let e=d.find(({value:r})=>r===i);e&&q(e.label)}},[i,d]);async function pe(e){return ge(se(e,s,a))}o(pe,"onSubmit");function Ce(e){let r=_?.find(({value:u})=>u===e);r&&r.childRegions.length===0&&r.hasAdditionalFields?h(r.regionSlug):h(void 0),R(r)}o(Ce,"onCountryChange");function _e(e){h(e)}o(_e,"onRegionChange");function be(e){ce(e.target.value)}o(be,"onHiringBudgetChange");function Se(e){let r=d?.find(u=>u.value===e)?.label;q(r),n?.onCurrencyChange?.(r||"")}o(Se,"onChangeCurrency");let S=f.fields.find(e=>e.name==="region");if(S){let e=w?.childRegions.map(r=>({value:r.slug,label:r.name}))??[];S.options=e,S.isVisible=e.length>0,S.required=e.length>0,S.onChange=_e,S.schema=e.length>0?re().transform(r=>typeof r=="string"?r:"").required("Region is required"):re()}if(d){let e=f.fields.find(r=>r.name==="currency");e&&(e.options=d,e.onChange=Se)}let v=f.fields.find(e=>e.name==="hiring_budget");if(v&&(v.onChange=be),_){let e=f.fields.find(r=>r.name==="country");e&&(e.options=_,e.onChange=Ce)}let Ee=o(()=>{R(void 0),h(t)},"resetForm"),N=[...f.fields.filter(e=>e.name!=="management"),...P?.fields||[],...f.fields.filter(e=>e.name==="management")],K=oe(f.fields,m||"USD",s.includeEstimationTitle);async function he(e){let r=null;n?.onValidation?.(e);let u=await M(e,N);try{await K.validate(u,{abortEarly:!1}),r={formErrors:{},yupError:new ie([],e)}}catch(E){let B=I(E);r={formErrors:Object.entries(B).reduce((T,[A,V])=>({...T,[A]:V.message}),{}),yupError:E}}let g=P?.handleValidation(u),y=[...r?.yupError.inner||[],...g?.yupError?.inner||[]],x={...r?.yupError?.value||{},...g?.yupError?.value||{}};return{formErrors:{...r?.formErrors||{},...g?.formErrors||{}},yupError:new ie(y,x)}}return o(he,"handleValidation"),{stepState:{current:0,total:1,isLastStep:!0},fields:N,validationSchema:K,parseFormValues:o(async e=>{let{country:r,region:u,currency:g,salary_converted:y,hiring_budget:x,salary_conversion:E,management:B,estimation_title:T,...A}=e,V=e.salary;y==="salary_conversion"&&(V=E);let Fe=await M({country:r,region:u,salary:V,salary_converted:y,salary_conversion:E,hiring_budget:x,currency:g,management:B,estimation_title:T},f.fields),Ve=await M(A,P?.fields||[]),Me={currency_code:d?.find(je=>je.value===g)?.label};return{...Fe,...Ve,...Me}},"parseFormValues"),handleValidation:he,isSubmitting:U.isPending,isLoading:ue&&me&&fe,onSubmit:pe,resetForm:Ee,currencies:d,meta:{fields:c.current?.fields}}},"useCostCalculator");function oe(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(c=>c===a.name,"is"),then:o(c=>c.required("Required field"),"then"),otherwise:o(c=>c.optional(),"otherwise")}):a.name==="management"?n[a.name]=le({management_fee:Te().transform(c=>isNaN(c)?void 0:c).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 le(s)}o(oe,"buildValidationSchema");function Ae(t){let i="benefit-";return Object.keys(t).reduce((l,s)=>{let n=t[s];if(n==="none")return l;let c={benefit_group_slug:s.replace(i,""),benefit_tier_slug:n};return[...l,c]},[])}o(Ae,"formatBenefits");function Oe(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:Ae(t.benefits)},...i.includeManagementFee&&s&&{discount:{quoted_amount:i.showManagementFee?s:C[n]||C.USD,text:""}}},...ke(t,l)}}o(Oe,"mapValueToEmployment");function ke(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(ke,"getSalaryFields");function se(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=>Oe(n,i,l))}}o(se,"buildPayload");export{oe as a,se as b,O as c,Qe as d};
2
+ //# sourceMappingURL=chunk-G2DAXZPD.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/CostCalculator/utils.ts","../src/flows/CostCalculator/hooks.tsx"],"sourcesContent":["import type {\n CostCalculatorEmploymentParam,\n CostCalculatorEstimateParams,\n} from '@/src/client';\n\nimport { $TSFixMe } from '@/src/types/remoteFlows';\nimport { AnyObjectSchema, number, object } from 'yup';\nimport { CostCalculatorVersion, defaultEstimationOptions } from './hooks';\nimport type {\n CostCalculatorEstimationOptions,\n CostCalculatorEstimationSubmitValues,\n CurrencyKey,\n} from './types';\nimport { BASE_RATES } from '@/src/flows/CostCalculator/constants';\n\n/**\n * Build the validation schema for the form.\n * @returns\n */\nexport function buildValidationSchema(\n fields: $TSFixMe[],\n employerBillingCurrency: string,\n includeEstimationTitle?: boolean,\n) {\n const fieldsSchema = fields.reduce<Record<string, AnyObjectSchema>>(\n (fieldsSchemaAcc, field) => {\n // Special handling for salary fields\n if (field.name === 'salary' || field.name === 'salary_conversion') {\n fieldsSchemaAcc[field.name] = (field.schema as AnyObjectSchema).when(\n 'salary_converted',\n {\n is: (val: string | null) => val === field.name,\n then: (schema) => schema.required('Required field'),\n otherwise: (schema) => schema.optional(),\n },\n );\n } else if (field.name === 'management') {\n fieldsSchemaAcc[field.name] = object({\n management_fee: number()\n .transform((value) => {\n return isNaN(value) ? undefined : value;\n })\n .min(0, 'Management fee must be greater than or equal to 0')\n .max(\n employerBillingCurrency\n ? BASE_RATES[employerBillingCurrency as CurrencyKey]\n : BASE_RATES.USD,\n () => {\n const maxValue = employerBillingCurrency\n ? BASE_RATES[employerBillingCurrency as CurrencyKey]\n : BASE_RATES.USD;\n const displayValue = maxValue / 100;\n return `Management fee cannot exceed ${displayValue} ${employerBillingCurrency}`;\n },\n ),\n });\n } else if (field.name === 'estimation_title' && includeEstimationTitle) {\n // Make estimation_title required when includeEstimationTitle is true\n fieldsSchemaAcc[field.name] = (\n field.schema as AnyObjectSchema\n ).required('Required field');\n } else {\n fieldsSchemaAcc[field.name] = field.schema as AnyObjectSchema;\n }\n return fieldsSchemaAcc;\n },\n {},\n );\n return object(fieldsSchema) as AnyObjectSchema;\n}\n\n/**\n * Format the benefits to the expected format by the API.\n * @param benefits\n * @returns\n */\nfunction formatBenefits(benefits: Record<string, string>) {\n const needle = 'benefit-';\n return Object.keys(benefits).reduce<\n Array<{ benefit_group_slug: string; benefit_tier_slug: string }>\n >((acc, key) => {\n const benefitTierSlug = benefits[key];\n if (benefitTierSlug === 'none') {\n return acc;\n }\n const benefitGroupSlug = key.replace(needle, '');\n const benefitEntry = {\n benefit_group_slug: benefitGroupSlug,\n benefit_tier_slug: benefitTierSlug,\n };\n return [...acc, benefitEntry];\n }, []);\n}\n\nfunction mapValueToEmployment(\n value: CostCalculatorEstimationSubmitValues,\n estimationOptions: CostCalculatorEstimationOptions,\n version: CostCalculatorVersion,\n): CostCalculatorEmploymentParam {\n const managementFee = Number(value.management?.management_fee);\n const currencyCode = value.currency_code;\n\n const base: CostCalculatorEmploymentParam = {\n region_slug: value.region || value.country,\n employment_term: value.contract_duration_type ?? 'fixed',\n title: value.estimation_title || estimationOptions.title,\n age: value.age ?? undefined,\n ...(value.benefits && { benefits: formatBenefits(value.benefits) }),\n ...(estimationOptions.includeManagementFee &&\n managementFee && {\n discount: {\n quoted_amount: estimationOptions.showManagementFee\n ? managementFee\n : BASE_RATES[currencyCode as keyof typeof BASE_RATES] ||\n BASE_RATES.USD,\n text: '',\n },\n }),\n };\n\n return {\n ...base,\n ...getSalaryFields(value, version),\n };\n}\n\nfunction getSalaryFields(\n value: CostCalculatorEstimationSubmitValues,\n version: CostCalculatorVersion,\n): Partial<CostCalculatorEmploymentParam> {\n const isMarketing =\n version === 'marketing' || value.salary_converted === 'salary_conversion';\n const isStandard =\n version === 'standard' && value.salary_converted === 'salary';\n const useHiringBudget = value.hiring_budget === 'my_hiring_budget';\n\n if (isMarketing) {\n const useEmployerCurrency = value.salary_converted === 'salary_conversion';\n return useHiringBudget\n ? {\n annual_total_cost_in_employer_currency: value.salary,\n }\n : {\n [useEmployerCurrency\n ? 'annual_gross_salary_in_employer_currency'\n : 'annual_gross_salary']: value.salary,\n };\n }\n\n if (isStandard) {\n return useHiringBudget\n ? {\n annual_total_cost: value.salary,\n }\n : {\n annual_gross_salary: value.salary,\n };\n }\n\n return {};\n}\n\n/**\n * Build the payload for the cost calculator estimation.\n * @param values\n * @param estimationOptions\n * @returns\n */\nexport function buildPayload(\n values:\n | CostCalculatorEstimationSubmitValues\n | CostCalculatorEstimationSubmitValues[],\n estimationOptions: CostCalculatorEstimationOptions = defaultEstimationOptions,\n version: CostCalculatorVersion = 'standard',\n): CostCalculatorEstimateParams {\n const employments = Array.isArray(values) ? values : [values];\n\n if (employments.length === 0) {\n throw new Error('At least one employment value is required');\n }\n\n if (employments.length > 1) {\n const currencies = new Set(employments.map((v) => v.currency));\n if (currencies.size > 1) {\n console.warn(\n 'Multiple currencies detected in array. Using currency from first employment.',\n );\n }\n }\n\n return {\n employer_currency_slug: employments[0].currency,\n include_benefits: estimationOptions.includeBenefits,\n include_cost_breakdowns: estimationOptions.includeCostBreakdowns,\n include_premium_benefits: estimationOptions.includePremiumBenefits,\n include_management_fee: estimationOptions.includeManagementFee,\n employments: employments.map((value) =>\n mapValueToEmployment(value, estimationOptions, version),\n ),\n };\n}\n","import { MinimalRegion } from '@/src/client';\nimport { jsonSchema } from '@/src/flows/CostCalculator/jsonSchema';\nimport type {\n CostCalculatorEstimationFormValues,\n CostCalculatorEstimationOptions,\n CostCalculatorEstimationSubmitValues,\n UseCostCalculatorOptions,\n} from '@/src/flows/CostCalculator/types';\nimport type { JSFModify } from '@/src/flows/types';\n\nimport { parseJSFToValidate } from '@/src/components/form/utils';\nimport { iterateErrors } from '@/src/components/form/validationResolver';\nimport { createHeadlessForm } from '@/src/common/createHeadlessForm';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { string, ValidationError } from 'yup';\nimport { buildPayload, buildValidationSchema } from './utils';\nimport {\n useCompanyCurrencies,\n useCostCalculatorCountries,\n useCostCalculatorEstimation,\n useRegionFields,\n} from '@/src/flows/CostCalculator/api';\nimport { $TSFixMe, JSFField, Meta } from '@/src/types/remoteFlows';\nimport { SalaryField } from '@/src/flows/CostCalculator/components/SalaryField';\nimport {\n FieldSetField,\n FieldSetProps,\n} from '@/src/components/form/fields/FieldSetField';\nimport { mutationToPromise } from '@/src/lib/mutations';\nexport type CostCalculatorVersion = 'standard' | 'marketing';\n\ntype CostCalculatorCountry = {\n value: string;\n label: string;\n childRegions: MinimalRegion[];\n hasAdditionalFields: boolean | undefined;\n regionSlug: string;\n currency: string;\n};\n\ntype JSFValidationError = {\n formErrors: Record<\n string,\n {\n type: string;\n message: string;\n }\n >;\n yupError: ValidationError;\n};\n\nexport const defaultEstimationOptions: CostCalculatorEstimationOptions = {\n title: 'Estimation',\n includeBenefits: false,\n includeCostBreakdowns: false,\n includePremiumBenefits: false,\n enableCurrencyConversion: false,\n includeEstimationTitle: false,\n includeManagementFee: false,\n};\n\ntype UseCostCalculatorParams = {\n /**\n * The default region slug to preselect a country and a region.\n */\n defaultRegion?: string;\n /**\n * The default currency slug to preselect a currency.\n */\n defaultCurrency?: string;\n\n /**\n * The default salary to preselect a salary.\n */\n defaultSalary?: string;\n /**\n * The estimation options.\n */\n estimationOptions: CostCalculatorEstimationOptions;\n options?: UseCostCalculatorOptions;\n version?: CostCalculatorVersion;\n};\n\nconst useStaticSchema = (options?: { jsfModify?: JSFModify }) => {\n return createHeadlessForm(jsonSchema.data.schema, undefined, options);\n};\n\ntype HiringBudget = 'my_hiring_budget' | 'employee_annual_salary';\n\nfunction getSalaryTitle(\n salaryField: unknown,\n hiringBudget?: HiringBudget,\n): string {\n if (\n typeof salaryField === 'object' &&\n salaryField !== null &&\n 'title' in salaryField\n ) {\n const title = (salaryField as { title?: string }).title;\n if (title) return title;\n }\n return hiringBudget === 'my_hiring_budget'\n ? 'Hiring budget'\n : \"Employee's annual salary\";\n}\n\n/**\n * Hook to use the cost calculator.\n */\nexport const useCostCalculator = (\n {\n defaultRegion,\n defaultCurrency,\n defaultSalary,\n estimationOptions,\n options,\n version,\n }: UseCostCalculatorParams = {\n estimationOptions: defaultEstimationOptions,\n },\n) => {\n const fieldsMetaRef = useRef<{\n fields: Meta;\n }>({\n fields: {},\n });\n const [selectedRegion, setSelectedRegion] = useState<string | undefined>(\n defaultRegion,\n );\n const [selectedCountry, setSelectedCountry] =\n useState<CostCalculatorCountry>();\n const [employerBillingCurrency, setEmployerBillingCurrency] = useState<\n string | undefined\n >();\n const [hiringBudget, setHiringBudget] = useState<HiringBudget>();\n const { data: countries, isLoading: isLoadingCountries } =\n useCostCalculatorCountries({\n includePremiumBenefits: estimationOptions.includePremiumBenefits,\n });\n const { data: currencies, isLoading: isLoadingCurrencies } =\n useCompanyCurrencies();\n\n const jsonSchemaRegionSlug = selectedRegion || selectedCountry?.value;\n\n const { data: jsonSchemaRegionFields, isLoading: isLoadingRegionFields } =\n useRegionFields(jsonSchemaRegionSlug, {\n includePremiumBenefits: estimationOptions.includePremiumBenefits,\n options,\n });\n const costCalculatorEstimationMutation = useCostCalculatorEstimation();\n const { mutateAsync: costCalculatorEstimationMutationAsync } =\n mutationToPromise(costCalculatorEstimationMutation);\n const employeeBillingCurrency = selectedCountry?.currency;\n\n const salaryField = options?.jsfModify?.fields?.salary;\n const salaryFieldPresentation =\n salaryField &&\n typeof salaryField === 'object' &&\n 'presentation' in salaryField\n ? (\n salaryField as {\n presentation?: {\n salary_conversion_properties?: {\n label?: string;\n description?: string;\n };\n };\n }\n ).presentation\n : undefined;\n\n const getCurrencies = useCallback(() => {\n const shouldSwapOrder =\n employeeBillingCurrency && employerBillingCurrency\n ? employeeBillingCurrency !== employerBillingCurrency\n : false;\n\n if (employeeBillingCurrency !== employerBillingCurrency) {\n return {\n from: employerBillingCurrency,\n to: employeeBillingCurrency,\n shouldSwapOrder,\n };\n }\n\n return {\n from: employeeBillingCurrency,\n to: employerBillingCurrency,\n shouldSwapOrder,\n };\n }, [employeeBillingCurrency, employerBillingCurrency]);\n\n const showManagementField = estimationOptions.showManagementFee;\n const showEstimationTitleField = estimationOptions.includeEstimationTitle;\n const useSplitSalaryDescription =\n options?.features?.includes('split_salary_description') ?? false;\n const customFields = useMemo(() => {\n const { from, to, shouldSwapOrder } = getCurrencies();\n const salaryTitle = getSalaryTitle(salaryField, hiringBudget);\n\n return {\n fields: {\n salary: {\n ...salaryField,\n title: salaryTitle,\n presentation: {\n salary_conversion_properties: {\n label:\n salaryFieldPresentation?.salary_conversion_properties?.label,\n description:\n salaryFieldPresentation?.salary_conversion_properties\n ?.description,\n },\n currencies: { from, to },\n Component: (\n props: JSFField & { currencies: { from: string; to: string } },\n ) => {\n return (\n <SalaryField\n {...props}\n shouldSwapOrder={shouldSwapOrder}\n conversionType={\n version === 'marketing' ? 'no_spread' : 'spread'\n }\n defaultValue={defaultSalary}\n splitDescription={useSplitSalaryDescription}\n />\n );\n },\n },\n },\n hiring_budget: {\n ...options?.jsfModify?.fields?.hiring_budget,\n presentation: {\n hidden: version == 'marketing',\n },\n },\n management: {\n ...options?.jsfModify?.fields?.management,\n properties: {\n ...(options?.jsfModify?.fields?.management as $TSFixMe)?.properties,\n management_fee: {\n ...(options?.jsfModify?.fields?.management as $TSFixMe)\n ?.properties?.management_fee,\n 'x-jsf-presentation': {\n inputType: 'money',\n additionalProps: {\n currency: employerBillingCurrency || 'USD',\n },\n },\n },\n },\n presentation: {\n ...(typeof options?.jsfModify?.fields?.management === 'object'\n ? (\n options?.jsfModify?.fields?.management as Record<\n string,\n $TSFixMe\n >\n )['x-jsf-presentation']\n : {}),\n hidden: !showManagementField,\n Component: (props: FieldSetProps) => {\n return (\n <FieldSetField\n {...props}\n variant='inset'\n features={{\n toggle: {\n enabled: true,\n stateField: 'management._expanded',\n labels: {\n expand: 'Define',\n collapse: 'Remove',\n },\n },\n }}\n />\n );\n },\n },\n },\n estimation_title: {\n ...options?.jsfModify?.fields?.estimation_title,\n 'x-jsf-presentation': {\n hidden: !showEstimationTitleField,\n },\n },\n },\n };\n }, [\n getCurrencies,\n salaryField,\n hiringBudget,\n salaryFieldPresentation?.salary_conversion_properties?.label,\n salaryFieldPresentation?.salary_conversion_properties?.description,\n options?.jsfModify?.fields?.hiring_budget,\n options?.jsfModify?.fields?.management,\n options?.jsfModify?.fields?.estimation_title,\n version,\n employerBillingCurrency,\n showManagementField,\n showEstimationTitleField,\n defaultSalary,\n useSplitSalaryDescription,\n ]);\n\n const fieldsJSONSchema = useStaticSchema({\n jsfModify: {\n fields: {\n ...options?.jsfModify?.fields,\n ...customFields?.fields,\n },\n },\n });\n\n useEffect(() => {\n // Initialize selectedCountry from defaultRegion\n if (defaultRegion && countries) {\n const defaultCountry = countries.find(\n ({ value }) => value === defaultRegion,\n );\n if (defaultCountry) {\n setSelectedCountry(defaultCountry);\n }\n }\n }, [defaultRegion, countries]);\n\n useEffect(() => {\n // Initialize selectedCurrency from defaultCurrency\n if (defaultCurrency && currencies) {\n const defaultCurrencyObj = currencies.find(\n ({ value }) => value === defaultCurrency,\n );\n if (defaultCurrencyObj) {\n setEmployerBillingCurrency(defaultCurrencyObj.label);\n }\n }\n }, [defaultCurrency, currencies]);\n\n /**\n * Submit the estimation form with the given values.\n * @param values\n */\n async function onSubmit(values: CostCalculatorEstimationSubmitValues) {\n return costCalculatorEstimationMutationAsync(\n buildPayload(values, estimationOptions, version),\n );\n }\n\n /**\n * If the selected country has no child regions and has additional fields,\n * set the current region to the country's region slug and fetch the region fields.\n * @param country\n */\n function onCountryChange(country: string) {\n const currentCountry = countries?.find(({ value }) => value === country);\n\n if (\n currentCountry &&\n currentCountry.childRegions.length === 0 &&\n currentCountry.hasAdditionalFields\n ) {\n setSelectedRegion(currentCountry.regionSlug);\n } else {\n setSelectedRegion(undefined);\n }\n setSelectedCountry(currentCountry);\n }\n\n /**\n * Update the selected region and fetch the region fields.\n * @param region\n */\n function onRegionChange(region: string) {\n setSelectedRegion(region);\n }\n\n function onHiringBudgetChange(event: React.ChangeEvent<HTMLInputElement>) {\n setHiringBudget(event.target.value as HiringBudget);\n }\n\n function onChangeCurrency(currency: string) {\n const selectedCurrency = currencies?.find(\n (c) => c.value === currency,\n )?.label;\n setEmployerBillingCurrency(selectedCurrency);\n options?.onCurrencyChange?.(selectedCurrency || '');\n }\n\n const regionField = fieldsJSONSchema.fields.find(\n (field) => field.name === 'region',\n );\n\n if (regionField) {\n const regions =\n selectedCountry?.childRegions.map((region) => ({\n value: region.slug,\n label: region.name,\n })) ?? [];\n regionField.options = regions;\n regionField.isVisible = regions.length > 0;\n regionField.required = regions.length > 0;\n regionField.onChange = onRegionChange;\n regionField.schema =\n regions.length > 0\n ? string()\n .transform((value) => (typeof value === 'string' ? value : ''))\n .required('Region is required')\n : string();\n }\n\n if (currencies) {\n const currencyField = fieldsJSONSchema.fields.find(\n (field) => field.name === 'currency',\n );\n if (currencyField) {\n currencyField.options = currencies;\n currencyField.onChange = onChangeCurrency;\n }\n }\n\n const hiringBudgetField = fieldsJSONSchema.fields.find(\n (field) => field.name === 'hiring_budget',\n );\n if (hiringBudgetField) {\n hiringBudgetField.onChange = onHiringBudgetChange;\n }\n\n if (countries) {\n const countryField = fieldsJSONSchema.fields.find(\n (field) => field.name === 'country',\n );\n if (countryField) {\n countryField.options = countries;\n countryField.onChange = onCountryChange;\n }\n }\n\n const resetForm = () => {\n setSelectedCountry(undefined);\n setSelectedRegion(defaultRegion);\n };\n\n const allFields = [\n ...fieldsJSONSchema.fields.filter((field) => field.name !== 'management'),\n ...(jsonSchemaRegionFields?.fields || []),\n ...fieldsJSONSchema.fields.filter((field) => field.name === 'management'),\n ];\n\n const validationSchema = buildValidationSchema(\n fieldsJSONSchema.fields,\n employerBillingCurrency || 'USD',\n estimationOptions.includeEstimationTitle,\n );\n\n async function handleValidation(values: CostCalculatorEstimationFormValues) {\n let errors: JSFValidationError | null = null;\n\n options?.onValidation?.(values);\n const parsedValues = await parseJSFToValidate(values, allFields);\n\n // 1. validate static fields first using Yup validate function\n try {\n await validationSchema.validate(parsedValues, {\n abortEarly: false,\n });\n errors = {\n formErrors: {},\n yupError: new ValidationError([], values),\n };\n } catch (error) {\n const iterateResult = iterateErrors(error as ValidationError);\n\n errors = {\n // convert the errors to a format that can be used in the form\n formErrors: Object.entries(iterateResult).reduce(\n (acc, [key, value]) => ({ ...acc, [key]: value.message }),\n {},\n ),\n yupError: error as ValidationError,\n };\n }\n\n // 2. validate json schema fields using the handleValidation (from json-schema-form)\n const handleValidationResult =\n jsonSchemaRegionFields?.handleValidation(parsedValues);\n\n // 3. combine the errors from both validations\n const combinedInnerErrors = [\n ...(errors?.yupError.inner || []),\n ...((handleValidationResult as { yupError: ValidationError })?.yupError\n ?.inner || []),\n ];\n const combinedValues = {\n ...(errors?.yupError?.value || {}),\n ...((handleValidationResult as { yupError: ValidationError })?.yupError\n ?.value || {}),\n };\n\n return {\n formErrors: {\n ...(errors?.formErrors || {}),\n ...(handleValidationResult?.formErrors || {}),\n },\n yupError: new ValidationError(combinedInnerErrors, combinedValues),\n };\n }\n\n // WE NEED TO FIX: react-hooks/refs - Cannot access ref value during render\n // oxlint-disable-next-line react-hooks/refs\n return {\n /**\n * Current step state containing the current step and total number of steps\n */\n stepState: {\n current: 0,\n total: 1,\n isLastStep: true,\n },\n /**\n * Array of form fields from the cost calculator schema + dynamic region fields like benefits, age, etc.\n */\n fields: allFields,\n /**\n * Validation schema for the cost calculator form\n */\n validationSchema,\n /**\n * Function to parse form values before submission\n * @param values - Form values to parse\n * @returns Parsed form values\n */\n parseFormValues: async (\n values: CostCalculatorEstimationFormValues,\n ): Promise<CostCalculatorEstimationSubmitValues> => {\n const {\n country,\n region,\n currency,\n salary_converted,\n hiring_budget,\n salary_conversion,\n management,\n estimation_title,\n ...rest\n } = values;\n\n // If the salary has been converted, we take the one the user has inputted\n let salary = values.salary;\n if (salary_converted === 'salary_conversion') {\n salary = salary_conversion;\n }\n\n const jsonSchemaStaticFieldValues = {\n country,\n region,\n salary,\n salary_converted,\n salary_conversion,\n hiring_budget,\n currency,\n management,\n estimation_title,\n };\n\n const parsedStaticFields = await parseJSFToValidate(\n jsonSchemaStaticFieldValues,\n fieldsJSONSchema.fields,\n );\n\n const parsedRegionFields = await parseJSFToValidate(\n rest,\n jsonSchemaRegionFields?.fields || [],\n );\n\n const additionalFields = {\n currency_code: currencies?.find((c) => c.value === currency)?.label,\n };\n\n return {\n ...parsedStaticFields,\n ...parsedRegionFields,\n ...additionalFields,\n } as CostCalculatorEstimationSubmitValues;\n },\n /**\n * Function to handle validation of the cost calculator form\n * @param values - Form values to validate\n * @returns Validation result\n */\n handleValidation,\n /**\n * Whether the cost calculator form is currently being submitted\n */\n isSubmitting: costCalculatorEstimationMutation.isPending,\n /**\n * Whether the cost calculator form is currently loading\n */\n isLoading:\n isLoadingCountries && isLoadingCurrencies && isLoadingRegionFields,\n /**\n * Function to submit the cost calculator form\n */\n onSubmit,\n /**\n * Function to reset the cost calculator form\n */\n resetForm,\n\n /**\n * Currencies data useful to get the currency if you have a currencySlug\n */\n currencies,\n\n /**\n * Fields metadata\n */\n // WE NEED TO FIX: react-hooks/refs - Cannot access ref value during render\n // oxlint-disable-next-line react-hooks/refs\n meta: {\n // WE NEED TO FIX: react-hooks/refs - Cannot access ref value during render\n // oxlint-disable-next-line react-hooks/refs\n fields: fieldsMetaRef.current?.fields,\n },\n };\n};\n"],"mappings":"sYAMA,OAA0B,UAAAA,GAAQ,UAAAC,OAAc,MCOhD,OAAS,eAAAC,GAAa,aAAAC,GAAW,WAAAC,GAAS,UAAAC,GAAQ,YAAAC,MAAgB,QAClE,OAAS,UAAAC,GAAQ,mBAAAC,OAAuB,MA4MxB,cAAAC,OAAA,oBAvKT,IAAMC,EAA4D,CACvE,MAAO,aACP,gBAAiB,GACjB,sBAAuB,GACvB,uBAAwB,GACxB,yBAA0B,GAC1B,uBAAwB,GACxB,qBAAsB,EACxB,EAwBMC,GAAkBC,EAACC,GAChBC,EAAmBC,EAAW,KAAK,OAAQ,OAAWF,CAAO,EAD9C,mBAMxB,SAASG,GACPC,EACAC,EACQ,CACR,GACE,OAAOD,GAAgB,UACvBA,IAAgB,MAChB,UAAWA,EACX,CACA,IAAME,EAASF,EAAmC,MAClD,GAAIE,EAAO,OAAOA,CACpB,CACA,OAAOD,IAAiB,mBACpB,gBACA,0BACN,CAfSN,EAAAI,GAAA,kBAoBF,IAAMI,GAAoBR,EAAA,CAC/B,CACE,cAAAS,EACA,gBAAAC,EACA,cAAAC,EACA,kBAAAC,EACA,QAAAX,EACA,QAAAY,CACF,EAA6B,CAC3B,kBAAmBf,CACrB,IACG,CACH,IAAMgB,EAAgBC,GAEnB,CACD,OAAQ,CAAC,CACX,CAAC,EACK,CAACC,EAAgBC,CAAiB,EAAIC,EAC1CT,CACF,EACM,CAACU,EAAiBC,CAAkB,EACxCF,EAAgC,EAC5B,CAACG,EAAyBC,CAA0B,EAAIJ,EAE5D,EACI,CAACZ,EAAciB,EAAe,EAAIL,EAAuB,EACzD,CAAE,KAAMM,EAAW,UAAWC,EAAmB,EACrDC,EAA2B,CACzB,uBAAwBd,EAAkB,sBAC5C,CAAC,EACG,CAAE,KAAMe,EAAY,UAAWC,EAAoB,EACvDC,EAAqB,EAEjBC,GAAuBd,GAAkBG,GAAiB,MAE1D,CAAE,KAAMY,EAAwB,UAAWC,EAAsB,EACrEC,EAAgBH,GAAsB,CACpC,uBAAwBlB,EAAkB,uBAC1C,QAAAX,CACF,CAAC,EACGiC,EAAmCC,EAA4B,EAC/D,CAAE,YAAaC,EAAsC,EACzDC,EAAkBH,CAAgC,EAC9CI,EAA0BnB,GAAiB,SAE3Cd,EAAcJ,GAAS,WAAW,QAAQ,OAC1CsC,EACJlC,GACA,OAAOA,GAAgB,UACvB,iBAAkBA,EAEZA,EAQA,aACF,OAEAmC,EAAgBC,GAAY,IAAM,CACtC,IAAMC,EACJJ,GAA2BjB,EACvBiB,IAA4BjB,EAC5B,GAEN,OAAIiB,IAA4BjB,EACvB,CACL,KAAMA,EACN,GAAIiB,EACJ,gBAAAI,CACF,EAGK,CACL,KAAMJ,EACN,GAAIjB,EACJ,gBAAAqB,CACF,CACF,EAAG,CAACJ,EAAyBjB,CAAuB,CAAC,EAE/CsB,EAAsB/B,EAAkB,kBACxCgC,EAA2BhC,EAAkB,uBAC7CiC,EACJ5C,GAAS,UAAU,SAAS,0BAA0B,GAAK,GACvD6C,GAAeC,GAAQ,IAAM,CACjC,GAAM,CAAE,KAAAC,EAAM,GAAAC,EAAI,gBAAAP,CAAgB,EAAIF,EAAc,EAC9CU,EAAc9C,GAAeC,EAAaC,CAAY,EAE5D,MAAO,CACL,OAAQ,CACN,OAAQ,CACN,GAAGD,EACH,MAAO6C,EACP,aAAc,CACZ,6BAA8B,CAC5B,MACEX,GAAyB,8BAA8B,MACzD,YACEA,GAAyB,8BACrB,WACR,EACA,WAAY,CAAE,KAAAS,EAAM,GAAAC,CAAG,EACvB,UAAWjD,EACTmD,GAGEtD,GAACuD,GAAA,CACE,GAAGD,EACJ,gBAAiBT,EACjB,eACE7B,IAAY,YAAc,YAAc,SAE1C,aAAcF,EACd,iBAAkBkC,EACpB,EAZO,YAeb,CACF,EACA,cAAe,CACb,GAAG5C,GAAS,WAAW,QAAQ,cAC/B,aAAc,CACZ,OAAQY,GAAW,WACrB,CACF,EACA,WAAY,CACV,GAAGZ,GAAS,WAAW,QAAQ,WAC/B,WAAY,CACV,GAAIA,GAAS,WAAW,QAAQ,YAAyB,WACzD,eAAgB,CACd,GAAIA,GAAS,WAAW,QAAQ,YAC5B,YAAY,eAChB,qBAAsB,CACpB,UAAW,QACX,gBAAiB,CACf,SAAUoB,GAA2B,KACvC,CACF,CACF,CACF,EACA,aAAc,CACZ,GAAI,OAAOpB,GAAS,WAAW,QAAQ,YAAe,UAEhDA,GAAS,WAAW,QAAQ,YAI5B,oBAAoB,EACtB,CAAC,EACL,OAAQ,CAAC0C,EACT,UAAW3C,EAACmD,GAERtD,GAACwD,GAAA,CACE,GAAGF,EACJ,QAAQ,QACR,SAAU,CACR,OAAQ,CACN,QAAS,GACT,WAAY,uBACZ,OAAQ,CACN,OAAQ,SACR,SAAU,QACZ,CACF,CACF,EACF,EAfO,YAkBb,CACF,EACA,iBAAkB,CAChB,GAAGlD,GAAS,WAAW,QAAQ,iBAC/B,qBAAsB,CACpB,OAAQ,CAAC2C,CACX,CACF,CACF,CACF,CACF,EAAG,CACDJ,EACAnC,EACAC,EACAiC,GAAyB,8BAA8B,MACvDA,GAAyB,8BAA8B,YACvDtC,GAAS,WAAW,QAAQ,cAC5BA,GAAS,WAAW,QAAQ,WAC5BA,GAAS,WAAW,QAAQ,iBAC5BY,EACAQ,EACAsB,EACAC,EACAjC,EACAkC,CACF,CAAC,EAEKS,EAAmBvD,GAAgB,CACvC,UAAW,CACT,OAAQ,CACN,GAAGE,GAAS,WAAW,OACvB,GAAG6C,IAAc,MACnB,CACF,CACF,CAAC,EAEDS,GAAU,IAAM,CAEd,GAAI9C,GAAiBe,EAAW,CAC9B,IAAMgC,EAAiBhC,EAAU,KAC/B,CAAC,CAAE,MAAAiC,CAAM,IAAMA,IAAUhD,CAC3B,EACI+C,GACFpC,EAAmBoC,CAAc,CAErC,CACF,EAAG,CAAC/C,EAAee,CAAS,CAAC,EAE7B+B,GAAU,IAAM,CAEd,GAAI7C,GAAmBiB,EAAY,CACjC,IAAM+B,EAAqB/B,EAAW,KACpC,CAAC,CAAE,MAAA8B,CAAM,IAAMA,IAAU/C,CAC3B,EACIgD,GACFpC,EAA2BoC,EAAmB,KAAK,CAEvD,CACF,EAAG,CAAChD,EAAiBiB,CAAU,CAAC,EAMhC,eAAegC,GAASC,EAA8C,CACpE,OAAOxB,GACLyB,GAAaD,EAAQhD,EAAmBC,CAAO,CACjD,CACF,CAJeb,EAAA2D,GAAA,YAWf,SAASG,GAAgBC,EAAiB,CACxC,IAAMC,EAAiBxC,GAAW,KAAK,CAAC,CAAE,MAAAiC,CAAM,IAAMA,IAAUM,CAAO,EAGrEC,GACAA,EAAe,aAAa,SAAW,GACvCA,EAAe,oBAEf/C,EAAkB+C,EAAe,UAAU,EAE3C/C,EAAkB,MAAS,EAE7BG,EAAmB4C,CAAc,CACnC,CAbShE,EAAA8D,GAAA,mBAmBT,SAASG,GAAeC,EAAgB,CACtCjD,EAAkBiD,CAAM,CAC1B,CAFSlE,EAAAiE,GAAA,kBAIT,SAASE,GAAqBC,EAA4C,CACxE7C,GAAgB6C,EAAM,OAAO,KAAqB,CACpD,CAFSpE,EAAAmE,GAAA,wBAIT,SAASE,GAAiBC,EAAkB,CAC1C,IAAMC,EAAmB5C,GAAY,KAClC6C,GAAMA,EAAE,QAAUF,CACrB,GAAG,MACHhD,EAA2BiD,CAAgB,EAC3CtE,GAAS,mBAAmBsE,GAAoB,EAAE,CACpD,CANSvE,EAAAqE,GAAA,oBAQT,IAAMI,EAAcnB,EAAiB,OAAO,KACzCoB,GAAUA,EAAM,OAAS,QAC5B,EAEA,GAAID,EAAa,CACf,IAAME,EACJxD,GAAiB,aAAa,IAAK+C,IAAY,CAC7C,MAAOA,EAAO,KACd,MAAOA,EAAO,IAChB,EAAE,GAAK,CAAC,EACVO,EAAY,QAAUE,EACtBF,EAAY,UAAYE,EAAQ,OAAS,EACzCF,EAAY,SAAWE,EAAQ,OAAS,EACxCF,EAAY,SAAWR,GACvBQ,EAAY,OACVE,EAAQ,OAAS,EACbC,GAAO,EACJ,UAAWnB,GAAW,OAAOA,GAAU,SAAWA,EAAQ,EAAG,EAC7D,SAAS,oBAAoB,EAChCmB,GAAO,CACf,CAEA,GAAIjD,EAAY,CACd,IAAMkD,EAAgBvB,EAAiB,OAAO,KAC3CoB,GAAUA,EAAM,OAAS,UAC5B,EACIG,IACFA,EAAc,QAAUlD,EACxBkD,EAAc,SAAWR,GAE7B,CAEA,IAAMS,EAAoBxB,EAAiB,OAAO,KAC/CoB,GAAUA,EAAM,OAAS,eAC5B,EAKA,GAJII,IACFA,EAAkB,SAAWX,IAG3B3C,EAAW,CACb,IAAMuD,EAAezB,EAAiB,OAAO,KAC1CoB,GAAUA,EAAM,OAAS,SAC5B,EACIK,IACFA,EAAa,QAAUvD,EACvBuD,EAAa,SAAWjB,GAE5B,CAEA,IAAMkB,GAAYhF,EAAA,IAAM,CACtBoB,EAAmB,MAAS,EAC5BH,EAAkBR,CAAa,CACjC,EAHkB,aAKZwE,EAAY,CAChB,GAAG3B,EAAiB,OAAO,OAAQoB,GAAUA,EAAM,OAAS,YAAY,EACxE,GAAI3C,GAAwB,QAAU,CAAC,EACvC,GAAGuB,EAAiB,OAAO,OAAQoB,GAAUA,EAAM,OAAS,YAAY,CAC1E,EAEMQ,EAAmBC,GACvB7B,EAAiB,OACjBjC,GAA2B,MAC3BT,EAAkB,sBACpB,EAEA,eAAewE,GAAiBxB,EAA4C,CAC1E,IAAIyB,EAAoC,KAExCpF,GAAS,eAAe2D,CAAM,EAC9B,IAAM0B,EAAe,MAAMC,EAAmB3B,EAAQqB,CAAS,EAG/D,GAAI,CACF,MAAMC,EAAiB,SAASI,EAAc,CAC5C,WAAY,EACd,CAAC,EACDD,EAAS,CACP,WAAY,CAAC,EACb,SAAU,IAAIG,GAAgB,CAAC,EAAG5B,CAAM,CAC1C,CACF,OAAS6B,EAAO,CACd,IAAMC,EAAgBC,EAAcF,CAAwB,EAE5DJ,EAAS,CAEP,WAAY,OAAO,QAAQK,CAAa,EAAE,OACxC,CAACE,EAAK,CAACC,EAAKpC,CAAK,KAAO,CAAE,GAAGmC,EAAK,CAACC,CAAG,EAAGpC,EAAM,OAAQ,GACvD,CAAC,CACH,EACA,SAAUgC,CACZ,CACF,CAGA,IAAMK,EACJ/D,GAAwB,iBAAiBuD,CAAY,EAGjDS,EAAsB,CAC1B,GAAIV,GAAQ,SAAS,OAAS,CAAC,EAC/B,GAAKS,GAA0D,UAC3D,OAAS,CAAC,CAChB,EACME,EAAiB,CACrB,GAAIX,GAAQ,UAAU,OAAS,CAAC,EAChC,GAAKS,GAA0D,UAC3D,OAAS,CAAC,CAChB,EAEA,MAAO,CACL,WAAY,CACV,GAAIT,GAAQ,YAAc,CAAC,EAC3B,GAAIS,GAAwB,YAAc,CAAC,CAC7C,EACA,SAAU,IAAIN,GAAgBO,EAAqBC,CAAc,CACnE,CACF,CAnDe,OAAAhG,EAAAoF,GAAA,oBAuDR,CAIL,UAAW,CACT,QAAS,EACT,MAAO,EACP,WAAY,EACd,EAIA,OAAQH,EAIR,iBAAAC,EAMA,gBAAiBlF,EAAA,MACf4D,GACkD,CAClD,GAAM,CACJ,QAAAG,EACA,OAAAG,EACA,SAAAI,EACA,iBAAA2B,EACA,cAAAC,EACA,kBAAAC,EACA,WAAAC,EACA,iBAAAC,EACA,GAAGC,CACL,EAAI1C,EAGA2C,EAAS3C,EAAO,OAChBqC,IAAqB,sBACvBM,EAASJ,GAeX,IAAMK,GAAqB,MAAMjB,EAZG,CAClC,QAAAxB,EACA,OAAAG,EACA,OAAAqC,EACA,iBAAAN,EACA,kBAAAE,EACA,cAAAD,EACA,SAAA5B,EACA,WAAA8B,EACA,iBAAAC,CACF,EAIE/C,EAAiB,MACnB,EAEMmD,GAAqB,MAAMlB,EAC/Be,EACAvE,GAAwB,QAAU,CAAC,CACrC,EAEM2E,GAAmB,CACvB,cAAe/E,GAAY,KAAM6C,IAAMA,GAAE,QAAUF,CAAQ,GAAG,KAChE,EAEA,MAAO,CACL,GAAGkC,GACH,GAAGC,GACH,GAAGC,EACL,CACF,EApDiB,mBA0DjB,iBAAAtB,GAIA,aAAclD,EAAiC,UAI/C,UACET,IAAsBG,IAAuBI,GAI/C,SAAA2B,GAIA,UAAAqB,GAKA,WAAArD,EAOA,KAAM,CAGJ,OAAQb,EAAc,SAAS,MACjC,CACF,CACF,EArgBiC,qBD1F1B,SAAS6F,GACdC,EACAC,EACAC,EACA,CACA,IAAMC,EAAeH,EAAO,OAC1B,CAACI,EAAiBC,KAEZA,EAAM,OAAS,UAAYA,EAAM,OAAS,oBAC5CD,EAAgBC,EAAM,IAAI,EAAKA,EAAM,OAA2B,KAC9D,mBACA,CACE,GAAIC,EAACC,GAAuBA,IAAQF,EAAM,KAAtC,MACJ,KAAMC,EAACE,GAAWA,EAAO,SAAS,gBAAgB,EAA5C,QACN,UAAWF,EAACE,GAAWA,EAAO,SAAS,EAA5B,YACb,CACF,EACSH,EAAM,OAAS,aACxBD,EAAgBC,EAAM,IAAI,EAAII,GAAO,CACnC,eAAgBC,GAAO,EACpB,UAAWC,GACH,MAAMA,CAAK,EAAI,OAAYA,CACnC,EACA,IAAI,EAAG,mDAAmD,EAC1D,IACCV,EACIW,EAAWX,CAAsC,EACjDW,EAAW,IACf,IAKS,iCAJUX,EACbW,EAAWX,CAAsC,EACjDW,EAAW,KACiB,GACmB,IAAIX,CAAuB,EAElF,CACJ,CAAC,EACQI,EAAM,OAAS,oBAAsBH,EAE9CE,EAAgBC,EAAM,IAAI,EACxBA,EAAM,OACN,SAAS,gBAAgB,EAE3BD,EAAgBC,EAAM,IAAI,EAAIA,EAAM,OAE/BD,GAET,CAAC,CACH,EACA,OAAOK,GAAON,CAAY,CAC5B,CAlDgBG,EAAAP,GAAA,yBAyDhB,SAASc,GAAeC,EAAkC,CACxD,IAAMC,EAAS,WACf,OAAO,OAAO,KAAKD,CAAQ,EAAE,OAE3B,CAACE,EAAKC,IAAQ,CACd,IAAMC,EAAkBJ,EAASG,CAAG,EACpC,GAAIC,IAAoB,OACtB,OAAOF,EAGT,IAAMG,EAAe,CACnB,mBAFuBF,EAAI,QAAQF,EAAQ,EAAE,EAG7C,kBAAmBG,CACrB,EACA,MAAO,CAAC,GAAGF,EAAKG,CAAY,CAC9B,EAAG,CAAC,CAAC,CACP,CAhBSb,EAAAO,GAAA,kBAkBT,SAASO,GACPT,EACAU,EACAC,EAC+B,CAC/B,IAAMC,EAAgB,OAAOZ,EAAM,YAAY,cAAc,EACvDa,EAAeb,EAAM,cAoB3B,MAAO,CACL,GAnB0C,CAC1C,YAAaA,EAAM,QAAUA,EAAM,QACnC,gBAAiBA,EAAM,wBAA0B,QACjD,MAAOA,EAAM,kBAAoBU,EAAkB,MACnD,IAAKV,EAAM,KAAO,OAClB,GAAIA,EAAM,UAAY,CAAE,SAAUE,GAAeF,EAAM,QAAQ,CAAE,EACjE,GAAIU,EAAkB,sBACpBE,GAAiB,CACf,SAAU,CACR,cAAeF,EAAkB,kBAC7BE,EACAX,EAAWY,CAAuC,GAClDZ,EAAW,IACf,KAAM,EACR,CACF,CACJ,EAIE,GAAGa,GAAgBd,EAAOW,CAAO,CACnC,CACF,CA9BShB,EAAAc,GAAA,wBAgCT,SAASK,GACPd,EACAW,EACwC,CACxC,IAAMI,EACJJ,IAAY,aAAeX,EAAM,mBAAqB,oBAClDgB,EACJL,IAAY,YAAcX,EAAM,mBAAqB,SACjDiB,EAAkBjB,EAAM,gBAAkB,mBAEhD,GAAIe,EAAa,CACf,IAAMG,EAAsBlB,EAAM,mBAAqB,oBACvD,OAAOiB,EACH,CACE,uCAAwCjB,EAAM,MAChD,EACA,CACE,CAACkB,EACG,2CACA,qBAAqB,EAAGlB,EAAM,MACpC,CACN,CAEA,OAAIgB,EACKC,EACH,CACE,kBAAmBjB,EAAM,MAC3B,EACA,CACE,oBAAqBA,EAAM,MAC7B,EAGC,CAAC,CACV,CAlCSL,EAAAmB,GAAA,mBA0CF,SAASK,GACdC,EAGAV,EAAqDW,EACrDV,EAAiC,WACH,CAC9B,IAAMW,EAAc,MAAM,QAAQF,CAAM,EAAIA,EAAS,CAACA,CAAM,EAE5D,GAAIE,EAAY,SAAW,EACzB,MAAM,IAAI,MAAM,2CAA2C,EAG7D,OAAIA,EAAY,OAAS,GACJ,IAAI,IAAIA,EAAY,IAAKC,GAAMA,EAAE,QAAQ,CAAC,EAC9C,KAAO,GACpB,QAAQ,KACN,8EACF,EAIG,CACL,uBAAwBD,EAAY,CAAC,EAAE,SACvC,iBAAkBZ,EAAkB,gBACpC,wBAAyBA,EAAkB,sBAC3C,yBAA0BA,EAAkB,uBAC5C,uBAAwBA,EAAkB,qBAC1C,YAAaY,EAAY,IAAKtB,GAC5BS,GAAqBT,EAAOU,EAAmBC,CAAO,CACxD,CACF,CACF,CAhCgBhB,EAAAwB,GAAA","names":["number","object","useCallback","useEffect","useMemo","useRef","useState","string","ValidationError","jsx","defaultEstimationOptions","useStaticSchema","__name","options","createHeadlessForm","jsonSchema","getSalaryTitle","salaryField","hiringBudget","title","useCostCalculator","defaultRegion","defaultCurrency","defaultSalary","estimationOptions","version","fieldsMetaRef","useRef","selectedRegion","setSelectedRegion","useState","selectedCountry","setSelectedCountry","employerBillingCurrency","setEmployerBillingCurrency","setHiringBudget","countries","isLoadingCountries","useCostCalculatorCountries","currencies","isLoadingCurrencies","useCompanyCurrencies","jsonSchemaRegionSlug","jsonSchemaRegionFields","isLoadingRegionFields","useRegionFields","costCalculatorEstimationMutation","useCostCalculatorEstimation","costCalculatorEstimationMutationAsync","mutationToPromise","employeeBillingCurrency","salaryFieldPresentation","getCurrencies","useCallback","shouldSwapOrder","showManagementField","showEstimationTitleField","useSplitSalaryDescription","customFields","useMemo","from","to","salaryTitle","props","SalaryField","FieldSetField","fieldsJSONSchema","useEffect","defaultCountry","value","defaultCurrencyObj","onSubmit","values","buildPayload","onCountryChange","country","currentCountry","onRegionChange","region","onHiringBudgetChange","event","onChangeCurrency","currency","selectedCurrency","c","regionField","field","regions","string","currencyField","hiringBudgetField","countryField","resetForm","allFields","validationSchema","buildValidationSchema","handleValidation","errors","parsedValues","parseJSFToValidate","ValidationError","error","iterateResult","iterateErrors","acc","key","handleValidationResult","combinedInnerErrors","combinedValues","salary_converted","hiring_budget","salary_conversion","management","estimation_title","rest","salary","parsedStaticFields","parsedRegionFields","additionalFields","buildValidationSchema","fields","employerBillingCurrency","includeEstimationTitle","fieldsSchema","fieldsSchemaAcc","field","__name","val","schema","object","number","value","BASE_RATES","formatBenefits","benefits","needle","acc","key","benefitTierSlug","benefitEntry","mapValueToEmployment","estimationOptions","version","managementFee","currencyCode","getSalaryFields","isMarketing","isStandard","useHiringBudget","useEmployerCurrency","buildPayload","values","defaultEstimationOptions","employments","v"]}
@@ -1,2 +1,2 @@
1
- import{a as s}from"./chunk-52GHCI6X.js";import{b as e}from"./chunk-Q3ALCPJN.js";import{x as a}from"./chunk-NXRWBI36.js";import{a as i}from"./chunk-P37U34EQ.js";import{jsx as g}from"react/jsx-runtime";function E({components:m,onSubmit:p,onSuccess:l,onError:c}){let{contractorOnboardingBag:r}=e(),d=i(async(t,P)=>{try{let n=await r.parseFormValues(t);await p?.(n);let o=await r.onSubmit(t);if(o?.data){await l?.(o?.data),r?.next();return}}catch(n){let o=a(n,r.meta?.fields?.pricing_plan,P);c?.(o)}},"handleSubmit"),u=r.stepState.values?.pricing_plan||r.initialValues.pricing_plan;return g(s,{components:m,defaultValues:u,onSubmit:d})}i(E,"PricingPlanStep");export{E as a};
2
- //# sourceMappingURL=chunk-BIE73HZH.js.map
1
+ import{a as s}from"./chunk-O3Y4DVNY.js";import{b as e}from"./chunk-Q3ALCPJN.js";import{x as a}from"./chunk-NXRWBI36.js";import{a as i}from"./chunk-P37U34EQ.js";import{jsx as g}from"react/jsx-runtime";function E({components:m,onSubmit:p,onSuccess:l,onError:c}){let{contractorOnboardingBag:r}=e(),d=i(async(t,P)=>{try{let n=await r.parseFormValues(t);await p?.(n);let o=await r.onSubmit(t);if(o?.data){await l?.(o?.data),r?.next();return}}catch(n){let o=a(n,r.meta?.fields?.pricing_plan,P);c?.(o)}},"handleSubmit"),u=r.stepState.values?.pricing_plan||r.initialValues.pricing_plan;return g(s,{components:m,defaultValues:u,onSubmit:d})}i(E,"PricingPlanStep");export{E as a};
2
+ //# sourceMappingURL=chunk-HTVGC4KT.js.map
@@ -1,2 +1,2 @@
1
- import{a as i}from"./chunk-FMRWWDZE.js";import{a as d}from"./chunk-KGSH67IW.js";import{a}from"./chunk-QDTMDSL5.js";import{a as p}from"./chunk-JK4CPPN4.js";import{a as m}from"./chunk-QMJH5JND.js";import{a as l}from"./chunk-LGSOTN4M.js";import{a as n}from"./chunk-WCJZAOZR.js";import{a as t}from"./chunk-7EFZVAWU.js";import{a as r}from"./chunk-P37U34EQ.js";import{useId as c}from"react";import{jsx as u}from"react/jsx-runtime";var D=r(({companyId:e,legalEntityId:s,countryCode:f,employmentId:P,initialValues:y,options:b,render:g})=>{let A=c(),o=t({companyId:e,legalEntityId:s,countryCode:f,employmentId:P,initialValues:y,options:b});return u(n.Provider,{value:{formId:A,adminBag:o},children:g({adminBag:o,components:{SelectCountryStep:i,ContractDetailsStep:m,AdministrativeDetailsStep:a,InvitationStep:l,SubmitButton:d,BackButton:p}})})},"PayrollAdminOnboardingFlow");export{D as a};
2
- //# sourceMappingURL=chunk-MQK33NLF.js.map
1
+ import{a as i}from"./chunk-UYTYZVQM.js";import{a as d}from"./chunk-KGSH67IW.js";import{a}from"./chunk-AHIJ7DGJ.js";import{a as p}from"./chunk-JK4CPPN4.js";import{a as m}from"./chunk-DZ3A4POL.js";import{a as l}from"./chunk-LGSOTN4M.js";import{a as n}from"./chunk-WCJZAOZR.js";import{a as t}from"./chunk-7EFZVAWU.js";import{a as r}from"./chunk-P37U34EQ.js";import{useId as c}from"react";import{jsx as u}from"react/jsx-runtime";var D=r(({companyId:e,legalEntityId:s,countryCode:f,employmentId:P,initialValues:y,options:b,render:g})=>{let A=c(),o=t({companyId:e,legalEntityId:s,countryCode:f,employmentId:P,initialValues:y,options:b});return u(n.Provider,{value:{formId:A,adminBag:o},children:g({adminBag:o,components:{SelectCountryStep:i,ContractDetailsStep:m,AdministrativeDetailsStep:a,InvitationStep:l,SubmitButton:d,BackButton:p}})})},"PayrollAdminOnboardingFlow");export{D as a};
2
+ //# sourceMappingURL=chunk-HULIBLYP.js.map
@@ -1,2 +1,2 @@
1
- import{b as p}from"./chunk-KFYWUBRS.js";import{a as F}from"./chunk-WL7WQBSR.js";import{f as l,h as f}from"./chunk-4FGKIGKF.js";import{h as u}from"./chunk-NXRWBI36.js";import{b as _}from"./chunk-TVZAFTPT.js";import{a}from"./chunk-P37U34EQ.js";import{useEffect as w}from"react";import{jsx as r}from"react/jsx-runtime";var R=["effective_date","reason_for_change","reason_for_change_description","additional_comments","additional_comments_toggle"];function x({onSubmit:b,onError:s,onSuccess:A}){let{formId:C,contractAmendment:{checkFieldUpdates:h,fields:m,onSubmit:y,stepState:S,initialValues:i,handleValidation:V}}=_(),g=p(V),e=l({resolver:g,defaultValues:S.values?.form||i,shouldUnregister:!0,mode:"onBlur"});w(()=>{let t=e?.watch(o=>{(Object.keys(e.formState.dirtyFields).length>0||e.formState.isDirty)&&h(o)});return()=>t?.unsubscribe()},[]);let v=a(async t=>{let o=!1;for(let[c,P]of Object.entries(t))if(!R.includes(c)&&i[c]!==P){o=!0;break}if(!o)return s?.({message:"no_changes_detected_contract_details"});let d=await u(t,m,{isPartialValidation:!1});await b?.(d);let n=await y(t);n.error?s?.(n.error):await A?.(n.data)},"handleSubmit");return r(f,{...e,children:r("form",{id:C,"data-testid":"contract-amendment-form",onSubmit:e.handleSubmit(v),className:"space-y-4 RemoteFlows__ContractAmendmentForm",children:r(F,{fields:m})})})}a(x,"ContractAmendmentForm");export{x as a};
2
- //# sourceMappingURL=chunk-IVISBFAT.js.map
1
+ import{b as p}from"./chunk-KFYWUBRS.js";import{a as F}from"./chunk-TMS5VMVV.js";import{f as l,h as f}from"./chunk-4FGKIGKF.js";import{h as u}from"./chunk-NXRWBI36.js";import{b as _}from"./chunk-TVZAFTPT.js";import{a}from"./chunk-P37U34EQ.js";import{useEffect as w}from"react";import{jsx as r}from"react/jsx-runtime";var R=["effective_date","reason_for_change","reason_for_change_description","additional_comments","additional_comments_toggle"];function x({onSubmit:b,onError:s,onSuccess:A}){let{formId:C,contractAmendment:{checkFieldUpdates:h,fields:m,onSubmit:y,stepState:S,initialValues:i,handleValidation:V}}=_(),g=p(V),e=l({resolver:g,defaultValues:S.values?.form||i,shouldUnregister:!0,mode:"onBlur"});w(()=>{let t=e?.watch(o=>{(Object.keys(e.formState.dirtyFields).length>0||e.formState.isDirty)&&h(o)});return()=>t?.unsubscribe()},[]);let v=a(async t=>{let o=!1;for(let[c,P]of Object.entries(t))if(!R.includes(c)&&i[c]!==P){o=!0;break}if(!o)return s?.({message:"no_changes_detected_contract_details"});let d=await u(t,m,{isPartialValidation:!1});await b?.(d);let n=await y(t);n.error?s?.(n.error):await A?.(n.data)},"handleSubmit");return r(f,{...e,children:r("form",{id:C,"data-testid":"contract-amendment-form",onSubmit:e.handleSubmit(v),className:"space-y-4 RemoteFlows__ContractAmendmentForm",children:r(F,{fields:m})})})}a(x,"ContractAmendmentForm");export{x as a};
2
+ //# sourceMappingURL=chunk-HWBEYYJO.js.map
@@ -0,0 +1,2 @@
1
+ import{a as Et}from"./chunk-VAIBLWOY.js";import{a as Ft}from"./chunk-R36IOANR.js";import{c as Vt}from"./chunk-KMLI4ISS.js";import{a as bt}from"./chunk-3O7L6JUX.js";import{a as nt,b as at,c as st,f as it,g as rt,h as ot,i as lt,j as ct,k as mt,l as dt,m as ut,o as ft,p as pt,q as yt,r as gt,x as _t}from"./chunk-RG67OYQN.js";import{a as Xe,b as Ye,c as Ze,e as me,f as et,g as tt}from"./chunk-X3FRANQS.js";import{b as J,h as _,i as N,k as ce,u as O}from"./chunk-NXRWBI36.js";import{a as St}from"./chunk-XPVYX7LE.js";import{a as g}from"./chunk-P37U34EQ.js";import{useCallback as de,useEffect as ue,useMemo as r,useRef as nn,useState as K}from"react";import an from"lodash.mergewith";import{jsx as Ct}from"react/jsx-runtime";var sn={employment_basic_information:"basic_information",contract_details:"contract_details"},rn={select_country:null,basic_information:"employment_basic_information",engagement_agreement_details:null,contract_details:"contract_details",benefits:null,employment_agreement_preview:null,review:null},on=g(({isLoadingBasicInformationForm:u,isLoadingContractDetailsForm:w,isLoadingContractDetailsFormV1:P,isLoadingEngagementAgreementDetails:k,isLoadingEmploymentAgreementPreview:n,isLoadingEmploymentEngagementAgreementDetails:F,isLoadingEmployment:v,isLoadingBenefitsOffersSchema:l,isLoadingBenefitOffers:U,isLoadingCompany:G,isLoadingCountries:i,employmentStatus:A,employmentId:s,currentStepName:H,basicInformationFields:D,contractDetailsFields:Y,arePreOnboardingRequirementsFulfilled:Z,isLoadingOnboardingReservesStatus:ee})=>{let h=u||w||k||F||v||l||U||G||i||n||P,x=A&&Ye.includes(A),T=A&&!Ze.includes(A)&&Z&&!ee,W=!!(s&&x&&H!=="review"),te=h||W,ne=!!(W&&!h&&D.length>0&&Y.length>0);return{isLoading:te,isNavigatingToReview:ne,isEmploymentReadOnly:x,canInvite:T}},"getLoadingStates"),ln=g(({countryCode:u,query:w,enabled:P,jsonSchemaVersion:k,jsfModify:n})=>{let F=r(()=>({queryOptions:{enabled:P},transformMoneyFields:!1,jsfModify:n}),[P,n]),{data:v,isLoading:l}=rt({countryCode:u,query:w,options:F,jsonSchemaVersion:k});return{form:v,isLoading:l}},"useJsfV1ContractDetails"),Cn=g(({employmentId:u,companyId:w,countryCode:P,type:k,options:n,skipSteps:F,externalId:v,initialValues:l})=>{let{updateErrorContext:U}=Vt({flow:"onboarding",metadata:{employmentId:u,companyId:w,isUpdating:!!u}}),[,G]=K(0),[i,A]=K(u),[s,H]=K(P||null),[D,Y]=K(!1),[Z,ee]=K(!1),h=n?.features?.includes("dynamic_steps")??!1,x=n?.features?.includes("split_salary_description")??!1,T=!!(n?.features?.includes("ea_preview")&&Z),{steps:W,stepsArray:te}=r(()=>Xe({includeSelectCountry:!F?.includes("select_country"),includeEngagementAgreementDetails:D,useDynamicSteps:h,useEAPreview:T}),[D,F,h,T]),ne=de(e=>{U({step:e.name})},[U]),{fieldValues:E,stepState:t,setFieldValues:fe,previousStep:wt,nextStep:vt,goToStep:ae,setStepValues:pe}=St(W,ne),{data:$,isLoading:ye}=st(i,{enabled:!!(i&&n?.features?.includes("dynamic_steps"))}),ht=r(()=>({...l,...$,...t.values?.engagement_agreement_details,...E}),[$,l,t.values?.engagement_agreement_details,E]),{data:c,isLoading:ge}=yt(s,ht,{jsfModify:n?.jsfModify,queryOptions:{enabled:!!(s&&n?.features?.includes("dynamic_steps"))}});ue(()=>{let e=!!(c?.fields&&c.fields.length>0);e!==D&&Y(e)},[c?.fields,D]);let z=nn({select_country:{},basic_information:{},contract_details:{},benefits:{},engagement_agreement_details:{},employment_agreement_preview:{}}),{data:b,isLoading:_e,refetch:Mt}=bt({employmentId:i,queryParams:{exclude_files:!0}});u&&b?.country?.code&&!s&&H(b.country.code);let{data:be,isLoading:Se}=at(i),{data:Q,isLoading:Fe,refetch:Lt}=nt(w),Ot=n?.features?.includes("onboarding_reserves")&&t.currentStep.name==="review"||!1,{data:Pt,isLoading:Ee}=pt(w,i,Ot),At=!!(n?.features?.includes("pre_onboarding_requirements")&&i),{data:X,isLoading:Ve}=gt(i,{queryOptions:{enabled:At}}),Ce=r(()=>Ve?!1:!X||X.length===0?!0:X.every(e=>e.status==="finished"),[X,Ve]),Dt=r(()=>t.currentStep.name==="select_country"||F?.includes("select_country")&&!!s&&h&&n?.features?.includes("ea_preview"),[t.currentStep.name,F,s,h,n?.features]),{selectCountryForm:M,isLoading:we,countries:ve}=ut({jsfModify:n?.jsfModify?.select_country,queryOptions:{enabled:Dt}}),he=r(()=>!!ve?.find(e=>e.value===s)?.employment_agreement_preview_available,[ve,s]);ue(()=>{ee(he)},[he]);let qt=!!i&&T&&t.currentStep.name==="employment_agreement_preview",{data:jt,isLoading:Me}=_t(i,{queryOptions:{enabled:qt}}),Le=lt(n),Oe=ct(s,n),Pe=dt(n),Ae=mt(),De=ft(),{mutateAsync:Bt}=J(Le),{mutateAsync:qe}=J(Oe),{mutateAsync:Rt}=J(Pe),{mutateAsync:Jt}=J(Ae),{mutateAsync:Nt}=J(De),kt=rn[t.currentStep.name]||"employment_basic_information",xt=sn[kt],Tt=b?.[xt]||{},je=g(({form:e,options:o={},query:d={},jsonSchemaVersion:V})=>{let oe=Object.keys(E).length>0?{...l,...t.values?.[t.currentStep.name],...E}:{...l,...Tt};return it({countryCode:s,form:e,fieldValues:oe,query:d,options:{...o,queryOptions:{enabled:o.queryOptions?.enabled??!0}},jsonSchemaVersion:V})},"useJSONSchema"),It=!!(s&&(t.currentStep.name==="basic_information"||u)),Kt=!!(s&&(t.currentStep.name==="contract_details"&&!me(s)||u)),m=!!(me(s)&&(t.currentStep.name==="contract_details"||u)),{data:f,isLoading:Be}=je({form:"employment_basic_information",options:{jsfModify:n?.jsfModify?.basic_information,queryOptions:{enabled:It}},jsonSchemaVersion:tt(n)}),q=n?.jsfModify?.contract_details?.fields?.annual_gross_salary,se=q&&typeof q=="object"&&"presentation"in q?q.presentation:void 0,Re=n?.jsfModify?.contract_details?.fields?.equity_compensation,ie=r(()=>({fields:{annual_gross_salary:{...q,presentation:{annual_gross_salary_conversion_properties:{label:se?.annual_gross_salary_conversion_properties?.label,description:se?.annual_gross_salary_conversion_properties?.description},desiredCurrency:Q?.desired_currency,Component:g(e=>Ct(Ft,{desiredCurrency:Q?.desired_currency||"",splitDescription:x,...e}),"Component")}},equity_compensation:{...Re,presentation:{calculateDynamicProperties:g((e,o)=>{let d=e.equity_compensation?.offer_equity_compensation,V=o?.meta?.cost;return{extra:Ct(Et,{offerEquity:d,equityCost:V})}},"calculateDynamicProperties")}}}}),[q,se,Q?.desired_currency,Re,x]),Je=et(n,s),{data:p,isLoading:Ne}=je({form:"contract_details",query:{employment_id:i},options:{jsfModify:{...n?.jsfModify?.contract_details,fields:{...n?.jsfModify?.contract_details?.fields,...ie.fields}},queryOptions:{enabled:Kt}},jsonSchemaVersion:Je}),Ut=r(()=>({...n?.jsfModify?.contract_details,fields:{...n?.jsfModify?.contract_details?.fields,...ie.fields}}),[n?.jsfModify?.contract_details,ie.fields]),{form:y,isLoading:ke}=ln({countryCode:s,query:{employment_id:i},enabled:m,jsonSchemaVersion:Je,jsfModify:Ut}),{data:S,isLoading:xe}=ot(i,E,n),Te=r(()=>{if(t.currentStep.name==="benefits"){let e={...t.values?.[t.currentStep.name],...E};return an({},be,e)}return{}},[t.currentStep.name,be,t.values,E]),a=r(()=>({select_country:M?.fields||[],basic_information:f?.fields||[],engagement_agreement_details:c?.fields||[],contract_details:m?y?.fields||[]:p?.fields||[],benefits:S?.fields||[],employment_agreement_preview:[],review:[]}),[M?.fields,f?.fields,p?.fields,S?.fields,c?.fields,m,y?.fields]),Gt=r(()=>({select_country:null,basic_information:f?.meta["x-jsf-fieldsets"],engagement_agreement_details:c?.meta["x-jsf-fieldsets"],contract_details:m?y?.meta["x-jsf-fieldsets"]:p?.meta["x-jsf-fieldsets"],benefits:null,employment_agreement_preview:null,review:null}),[f?.meta,c?.meta,m,y?.meta,p?.meta]),Ht=r(()=>({select_country:M?.meta?.["x-jsf-presentation"],basic_information:f?.meta?.["x-jsf-presentation"],engagement_agreement_details:c?.meta?.["x-jsf-presentation"],contract_details:m?y?.meta?.["x-jsf-presentation"]:p?.meta?.["x-jsf-presentation"],benefits:S?.meta?.["x-jsf-presentation"],employment_agreement_preview:null,review:null}),[M?.meta,f?.meta,c?.meta,m,y?.meta,p?.meta,S?.meta]),{country:Ie,basic_information:Ke={},contract_details:Ue={},status:Ge}=b||{},He=Ie?.code,We=t.currentStep.name,j=r(()=>N(a.select_country,{country:s||He||""}),[a.select_country,s,He]),B=r(()=>{let e={...l,...Ke};return N(a.basic_information,e)},[a.basic_information,Ke,l]),I=r(()=>{let e={...l,...$};return N(a.engagement_agreement_details,e)},[a.engagement_agreement_details,l,$]),L=r(()=>{let e={...l,...Ue};return N(a.contract_details,e)},[a.contract_details,Ue,l]),R=r(()=>{let e={...l,...Te};return N(a.benefits,e)},[a.benefits,Te,l]),Wt=r(()=>b?{select_country:j,basic_information:ce(a.basic_information,B),engagement_agreement_details:I,contract_details:b?.contract_details!==null?ce(a.contract_details,L):L,benefits:R,employment_agreement_preview:{}}:{select_country:j,basic_information:B,contract_details:L,benefits:R,employment_agreement_preview:{}},[j,B,I,L,R,b,a]),{isLoading:$t,isNavigatingToReview:$e,isEmploymentReadOnly:zt,canInvite:Qt}=r(()=>on({isLoadingBasicInformationForm:Be,isLoadingContractDetailsForm:Ne,isLoadingContractDetailsFormV1:ke,isLoadingEngagementAgreementDetails:ge,isLoadingEmploymentEngagementAgreementDetails:ye,isLoadingEmployment:_e,isLoadingBenefitsOffersSchema:xe,isLoadingBenefitOffers:Se,isLoadingCompany:Fe,isLoadingCountries:we,isLoadingEmploymentAgreementPreview:Me,employmentId:u,employmentStatus:Ge,basicInformationFields:a.basic_information,contractDetailsFields:a.contract_details,currentStepName:We,arePreOnboardingRequirementsFulfilled:Ce,isLoadingOnboardingReservesStatus:Ee}),[Be,Ne,ge,ye,_e,xe,Se,Fe,we,Me,u,Ge,a.basic_information,a.contract_details,We,Ce,Ee,ke]);ue(()=>{$e&&(z.current={select_country:O(j,a.select_country,{skipMoneyConversion:!0}),basic_information:O(B,a.basic_information,{skipMoneyConversion:!0}),engagement_agreement_details:O(I,a.engagement_agreement_details,{skipMoneyConversion:!0}),contract_details:O(L,a.contract_details,{skipMoneyConversion:!0}),benefits:O(R,a.benefits,{skipMoneyConversion:!0}),employment_agreement_preview:{}},pe({select_country:j,basic_information:B,contract_details:L,benefits:R,engagement_agreement_details:I,employment_agreement_preview:{},review:{}}),ae("review"))},[B,R,L,I,ae,$e,j,pe,a.basic_information,a.benefits,a.contract_details,a.select_country,a.engagement_agreement_details]);let ze=g(async e=>M&&t.currentStep.name==="select_country"?e:f&&t.currentStep.name==="basic_information"?await _(e,f?.fields,{isPartialValidation:!1}):c&&t.currentStep.name==="engagement_agreement_details"?await _(e,c?.fields,{isPartialValidation:!1}):p&&t.currentStep.name==="contract_details"&&!m?await _(e,p?.fields,{isPartialValidation:!1}):y&&t.currentStep.name==="contract_details"&&m?await _(e,y?.fields,{isPartialValidation:!1}):S&&t.currentStep.name==="benefits"?await _(e,S?.fields,{isPartialValidation:!1}):{},"parseFormValues");async function Xt(e){let o=t.currentStep.name,d=await ze(e);switch(o in z.current&&(z.current[o]=O(d,a[o])),Lt(),t.currentStep.name){case"select_country":return H(d.country),Promise.resolve({data:{countryCode:d.country}});case"basic_information":{let V=!i&&s,Qe=i&&s&&b?.country&&b?.country.code!==s;if(V||Qe){let oe={basic_information:d,type:k,country_code:s,external_id:v};try{let C=await Bt(oe);if(C.error)return C;if(C.data){let le=C.data?.data?.employment?.id;return le&&(A(le),await Nt({employmentId:le,eligible_to_work_in_residing_country:"citizen",employer_or_work_restrictions:!1})),C}}catch(C){throw console.error("Error creating onboarding:",C),C}}else if(i)return qe({employmentId:i,basic_information:d,pricing_plan_details:{frequency:"monthly"},external_id:v});return}case"engagement_agreement_details":return Jt({employmentId:i,engagement_agreement_details:d});case"contract_details":return qe({employmentId:i,external_id:v,...{contract_details:d,pricing_plan_details:{frequency:"monthly"}}});case"benefits":return Rt({employmentId:i,...d})}}g(Xt,"onSubmit");function Yt(){wt()}g(Yt,"back");function Zt(){vt()}g(Zt,"next");function en(e){ae(e)}g(en,"goTo");let re=de(async e=>{if(t.currentStep.name==="select_country")return M.handleValidation(e);if(t.currentStep.name==="benefits"&&S){let o=await _(e,S?.fields,{isPartialValidation:!1});return S?.handleValidation(o)}if(f&&t.currentStep.name==="basic_information"){let o=await _(e,f?.fields,{isPartialValidation:!1});return f?.handleValidation(o)}if(c&&t.currentStep.name==="engagement_agreement_details"){let o=await _(e,c?.fields,{isPartialValidation:!1});return c?.handleValidation(o)}if(p&&t.currentStep.name==="contract_details"&&!m){let o=await _(e,p?.fields,{isPartialValidation:!1});return p?.handleValidation(o)}if(y&&t.currentStep.name==="contract_details"&&m){let o=await _(e,y?.fields,{isPartialValidation:!0}),d=y?.handleValidation(o);return G(V=>V+1),d}return null},[t,M,S,f,c,p,y,m,G]),tn=de(async e=>{fe(e),m&&t.currentStep.name==="contract_details"&&await re(e)},[fe,m,t,re]);return{employmentId:i,options:{features:n?.features},creditRiskStatus:Q?.default_legal_entity_credit_risk_status,onboardingReservesStatus:Pt,fieldValues:E,stepState:t,fields:a[t.currentStep.name],isLoading:$t,isSubmitting:Le.isPending||Oe.isPending||Pe.isPending||Ae.isPending||De.isPending,initialValues:Wt,handleValidation:re,checkFieldUpdates:tn,parseFormValues:ze,onSubmit:Xt,back:Yt,next:Zt,goTo:en,meta:{fields:z.current,fieldsets:Gt[t.currentStep.name],presentation:Ht[t.currentStep.name]},refetchEmployment:Mt,employment:b,isEmploymentReadOnly:zt,canInvite:Qt,steps:te,selectedCountry:s?{code:s,name:Ie?.name}:null,employmentAgreementPreview:jt}},"useOnboarding");export{Cn as a};
2
+ //# sourceMappingURL=chunk-IAR7QW2Y.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/Onboarding/hooks.tsx"],"sourcesContent":["import { ValidationResult } from '@remoteoss/remote-json-schema-form-kit';\nimport {\n Employment,\n EmploymentCreateParams,\n EmploymentFullParams,\n} from '@/src/client';\nimport { JSFFields, NestedMeta } from '@/src/types/remoteFlows';\nimport { useStepState, Step } from '@/src/flows/useStepState';\nimport {\n disabledInviteButtonEmploymentStatus,\n getContractDetailsSchemaVersion,\n getBasicInformationSchemaVersion,\n reviewStepAllowedEmploymentStatus,\n buildSteps,\n StepKeys,\n usesJsfV1ContractDetails,\n} from '@/src/flows/Onboarding/utils';\nimport { prettifyFormValues } from '@/src/lib/utils';\nimport {\n getInitialValues,\n enableAckFields,\n parseJSFToValidate,\n} from '@/src/components/form/utils';\nimport { mutationToPromise } from '@/src/lib/mutations';\nimport { FieldValues } from 'react-hook-form';\nimport { OnboardingFlowProps } from '@/src/flows/Onboarding/types';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport mergeWith from 'lodash.mergewith';\nimport {\n useBenefitOffers,\n useBenefitOffersSchema,\n useCompany,\n useContractDetailsSchema,\n useCountriesSchemaField,\n useCreateEmployment,\n useEmploymentAgreementPreview,\n useEmploymentEngagementAgreementDetails,\n useEmploymentOnboardingReservesStatus,\n useEngagementAgreementDetailsSchema,\n useGetPreOnboardingRequirements,\n useJSONSchemaForm,\n useUpdateBenefitsOffers,\n useUpdateEmployment,\n useUpdateEmploymentEngagementAgreementDetails,\n useUpsertContractEligibility,\n} from '@/src/flows/Onboarding/api';\nimport { JSFModify, JSONSchemaFormType } from '@/src/flows/types';\nimport { AnnualGrossSalary } from '@/src/flows/Onboarding/components/AnnualGrossSalary';\nimport { $TSFixMe, JSFField, JSFFieldset } from '@/src/types/remoteFlows';\nimport { EquityPriceDetails } from '@/src/flows/Onboarding/components/EquityPriceDetails';\nimport { useErrorReporting } from '@/src/components/error-handling/useErrorReporting';\nimport { useEmploymentQuery } from '@/src/common/api/employment';\n\ntype OnboardingHookProps = Omit<OnboardingFlowProps, 'render'>;\n\nconst jsonSchemaToEmployment: Partial<\n Record<JSONSchemaFormType, keyof Employment>\n> = {\n employment_basic_information: 'basic_information',\n contract_details: 'contract_details',\n};\n\nconst stepToFormSchemaMap: Record<StepKeys, JSONSchemaFormType | null> = {\n select_country: null,\n basic_information: 'employment_basic_information',\n engagement_agreement_details: null,\n contract_details: 'contract_details',\n benefits: null,\n employment_agreement_preview: null,\n review: null,\n};\n\nconst getLoadingStates = ({\n isLoadingBasicInformationForm,\n isLoadingContractDetailsForm,\n isLoadingContractDetailsFormV1,\n isLoadingEngagementAgreementDetails,\n isLoadingEmploymentAgreementPreview,\n isLoadingEmploymentEngagementAgreementDetails,\n isLoadingEmployment,\n isLoadingBenefitsOffersSchema,\n isLoadingBenefitOffers,\n isLoadingCompany,\n isLoadingCountries,\n employmentStatus,\n employmentId,\n currentStepName,\n basicInformationFields,\n contractDetailsFields,\n arePreOnboardingRequirementsFulfilled,\n isLoadingOnboardingReservesStatus,\n}: {\n isLoadingBasicInformationForm: boolean;\n isLoadingContractDetailsForm: boolean;\n isLoadingContractDetailsFormV1: boolean;\n isLoadingEngagementAgreementDetails: boolean;\n isLoadingEmploymentEngagementAgreementDetails: boolean;\n isLoadingEmployment: boolean;\n isLoadingBenefitsOffersSchema: boolean;\n isLoadingBenefitOffers: boolean;\n isLoadingCompany: boolean;\n isLoadingCountries: boolean;\n isLoadingEmploymentAgreementPreview: boolean;\n employmentStatus?: Employment['status'];\n employmentId?: string;\n currentStepName: string;\n basicInformationFields: JSFFields;\n contractDetailsFields: JSFFields;\n arePreOnboardingRequirementsFulfilled: boolean;\n isLoadingOnboardingReservesStatus: boolean;\n}) => {\n const initialLoading =\n isLoadingBasicInformationForm ||\n isLoadingContractDetailsForm ||\n isLoadingEngagementAgreementDetails ||\n isLoadingEmploymentEngagementAgreementDetails ||\n isLoadingEmployment ||\n isLoadingBenefitsOffersSchema ||\n isLoadingBenefitOffers ||\n isLoadingCompany ||\n isLoadingCountries ||\n isLoadingEmploymentAgreementPreview ||\n isLoadingContractDetailsFormV1;\n\n const isEmploymentReadOnly =\n employmentStatus &&\n reviewStepAllowedEmploymentStatus.includes(employmentStatus);\n\n const canInvite =\n employmentStatus &&\n !disabledInviteButtonEmploymentStatus.includes(employmentStatus) &&\n arePreOnboardingRequirementsFulfilled &&\n !isLoadingOnboardingReservesStatus;\n\n const shouldHandleReadOnlyEmployment = Boolean(\n employmentId && isEmploymentReadOnly && currentStepName !== 'review',\n );\n\n const isLoading = initialLoading || shouldHandleReadOnlyEmployment;\n\n const isNavigatingToReview = Boolean(\n shouldHandleReadOnlyEmployment &&\n !initialLoading &&\n basicInformationFields.length > 0 &&\n contractDetailsFields.length > 0,\n );\n\n return {\n isLoading,\n isNavigatingToReview,\n isEmploymentReadOnly,\n canInvite,\n };\n};\n\nconst useJsfV1ContractDetails = ({\n countryCode,\n query,\n enabled,\n jsonSchemaVersion,\n jsfModify,\n}: {\n countryCode: string;\n query: Record<string, string>;\n enabled: boolean;\n jsonSchemaVersion: number | 'latest';\n jsfModify?: JSFModify;\n}) => {\n const options = useMemo(\n () => ({\n queryOptions: {\n enabled,\n },\n transformMoneyFields: false,\n jsfModify,\n }),\n [enabled, jsfModify],\n );\n const { data: form, isLoading: isLoadingContractDetails } =\n useContractDetailsSchema({\n countryCode,\n query,\n options,\n jsonSchemaVersion,\n });\n\n return {\n form,\n isLoading: isLoadingContractDetails,\n };\n};\n\nexport const useOnboarding = ({\n employmentId,\n companyId,\n countryCode,\n type,\n options,\n skipSteps,\n externalId,\n initialValues: onboardingInitialValues,\n}: OnboardingHookProps) => {\n const { updateErrorContext } = useErrorReporting({\n flow: 'onboarding',\n metadata: {\n employmentId,\n companyId,\n isUpdating: Boolean(employmentId),\n },\n });\n\n const [, setFieldsCount] = useState<number>(0);\n const [internalEmploymentId, setInternalEmploymentId] = useState<\n string | undefined\n >(employmentId);\n const [internalCountryCode, setInternalCountryCode] = useState<string | null>(\n countryCode || null,\n );\n\n const [\n includeEngagementAgreementDetails,\n setIncludeEngagementAgreementDetails,\n ] = useState<boolean>(false);\n\n const [\n includeEmploymentAgreementPreview,\n setIncludeEmploymentAgreementPreview,\n ] = useState<boolean>(false);\n\n const useDynamicSteps = options?.features?.includes('dynamic_steps') ?? false;\n const useSplitSalaryDescription =\n options?.features?.includes('split_salary_description') ?? false;\n const useEAPreview = Boolean(\n options?.features?.includes('ea_preview') &&\n includeEmploymentAgreementPreview,\n );\n\n const { steps, stepsArray } = useMemo(\n () =>\n buildSteps({\n includeSelectCountry: !skipSteps?.includes('select_country'),\n includeEngagementAgreementDetails,\n useDynamicSteps,\n useEAPreview,\n }),\n [\n includeEngagementAgreementDetails,\n skipSteps,\n useDynamicSteps,\n useEAPreview,\n ],\n );\n\n const onStepChange = useCallback(\n (step: Step<StepKeys>) => {\n updateErrorContext({\n step: step.name,\n });\n },\n [updateErrorContext],\n );\n\n const {\n fieldValues,\n stepState,\n setFieldValues,\n previousStep,\n nextStep,\n goToStep,\n setStepValues,\n } = useStepState(steps, onStepChange);\n\n const {\n data: employmentEngagementAgreementDetails,\n isLoading: isLoadingEmploymentEngagementAgreementDetails,\n } = useEmploymentEngagementAgreementDetails(internalEmploymentId, {\n enabled: Boolean(\n !!internalEmploymentId && options?.features?.includes('dynamic_steps'),\n ),\n });\n\n const engagementAgreementDetailsFieldValues = useMemo(() => {\n return {\n ...onboardingInitialValues,\n ...employmentEngagementAgreementDetails,\n ...stepState.values?.engagement_agreement_details,\n ...fieldValues,\n };\n }, [\n employmentEngagementAgreementDetails,\n onboardingInitialValues,\n stepState.values?.engagement_agreement_details,\n fieldValues,\n ]);\n\n const {\n data: engagementAgreementDetailsSchema,\n isLoading: isLoadingEngagementAgreementDetails,\n } = useEngagementAgreementDetailsSchema(\n internalCountryCode as string,\n engagementAgreementDetailsFieldValues,\n {\n jsfModify: options?.jsfModify,\n queryOptions: {\n enabled: Boolean(\n !!internalCountryCode && options?.features?.includes('dynamic_steps'),\n ),\n },\n },\n );\n\n // logic to include the engagement agreement details step based on the schema fields\n useEffect(() => {\n const hasFields = Boolean(\n engagementAgreementDetailsSchema?.fields &&\n engagementAgreementDetailsSchema.fields.length > 0,\n );\n if (hasFields !== includeEngagementAgreementDetails) {\n setIncludeEngagementAgreementDetails(hasFields);\n }\n }, [\n engagementAgreementDetailsSchema?.fields,\n includeEngagementAgreementDetails,\n ]);\n\n const fieldsMetaRef = useRef<{\n select_country: NestedMeta;\n basic_information: NestedMeta;\n contract_details: NestedMeta;\n benefits: NestedMeta;\n engagement_agreement_details: NestedMeta;\n employment_agreement_preview: NestedMeta;\n }>({\n select_country: {},\n basic_information: {},\n contract_details: {},\n benefits: {},\n engagement_agreement_details: {},\n employment_agreement_preview: {},\n });\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 // 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 { data: benefitOffers, isLoading: isLoadingBenefitOffers } =\n useBenefitOffers(internalEmploymentId);\n\n const {\n data: company,\n isLoading: isLoadingCompany,\n refetch: refetchCompany,\n } = useCompany(companyId);\n\n const isOnboardingReservesEnabled =\n (options?.features?.includes('onboarding_reserves') &&\n stepState.currentStep.name === 'review') ||\n false;\n\n const {\n data: onboardingReservesStatus,\n isLoading: isLoadingOnboardingReservesStatus,\n } = useEmploymentOnboardingReservesStatus(\n companyId,\n internalEmploymentId,\n isOnboardingReservesEnabled,\n );\n\n const isPreOnboardingRequirementsEnabled = Boolean(\n options?.features?.includes('pre_onboarding_requirements') &&\n !!internalEmploymentId,\n );\n\n const { data: requirements, isLoading: isLoadingPreOnboardingRequirements } =\n useGetPreOnboardingRequirements(internalEmploymentId as string, {\n queryOptions: {\n enabled: isPreOnboardingRequirementsEnabled,\n },\n });\n\n const arePreOnboardingRequirementsFulfilled = useMemo(() => {\n // While loading, block the invite\n if (isLoadingPreOnboardingRequirements) {\n return false;\n }\n // If no requirements data at all, allow invite (don't block the flow)\n if (!requirements || requirements.length === 0) {\n return true;\n }\n\n // Check if all requirements are finished (even if there's an error, check cached data)\n return requirements.every(\n (requirement) => requirement.status === 'finished',\n );\n }, [requirements, isLoadingPreOnboardingRequirements]);\n\n const isSelectCountryEnabled = useMemo(() => {\n return (\n stepState.currentStep.name === 'select_country' ||\n (skipSteps?.includes('select_country') &&\n Boolean(internalCountryCode) &&\n useDynamicSteps &&\n options?.features?.includes('ea_preview'))\n );\n }, [\n stepState.currentStep.name,\n skipSteps,\n internalCountryCode,\n useDynamicSteps,\n options?.features,\n ]);\n\n const {\n selectCountryForm,\n isLoading: isLoadingCountries,\n countries,\n } = useCountriesSchemaField({\n jsfModify: options?.jsfModify?.select_country,\n queryOptions: {\n enabled: isSelectCountryEnabled,\n },\n });\n\n const isEmploymentAgreementPreviewAvailable = useMemo(() => {\n return Boolean(\n countries?.find((country) => country.value === internalCountryCode)\n ?.employment_agreement_preview_available,\n );\n }, [countries, internalCountryCode]);\n\n useEffect(() => {\n setIncludeEmploymentAgreementPreview(isEmploymentAgreementPreviewAvailable);\n }, [isEmploymentAgreementPreviewAvailable]);\n\n const isEmploymentEnabled =\n Boolean(internalEmploymentId) &&\n useEAPreview &&\n stepState.currentStep.name === 'employment_agreement_preview';\n\n const {\n data: employmentAgreementPreview,\n isLoading: isLoadingEmploymentAgreementPreview,\n } = useEmploymentAgreementPreview(internalEmploymentId, {\n queryOptions: {\n enabled: isEmploymentEnabled,\n },\n });\n\n const createEmploymentMutation = useCreateEmployment(options);\n const updateEmploymentMutation = useUpdateEmployment(\n internalCountryCode as string,\n options,\n );\n const updateBenefitsOffersMutation = useUpdateBenefitsOffers(options);\n const updateEngagementAgreementMutation =\n useUpdateEmploymentEngagementAgreementDetails();\n const updateContractEligibilityMutation = useUpsertContractEligibility();\n const { mutateAsync: createEmploymentMutationAsync } = mutationToPromise(\n createEmploymentMutation,\n );\n const { mutateAsync: updateEmploymentMutationAsync } = mutationToPromise(\n updateEmploymentMutation,\n );\n const { mutateAsync: updateBenefitsOffersMutationAsync } = mutationToPromise(\n updateBenefitsOffersMutation,\n );\n // TODO: refactor all uses in onboarding together to avoid having mixed behaviour\n const { mutateAsync: updateEngagementAgreementMutationAsync } =\n mutationToPromise(updateEngagementAgreementMutation);\n const { mutateAsync: updateContractEligibilityMutationAsync } =\n mutationToPromise(updateContractEligibilityMutation);\n\n const formType =\n stepToFormSchemaMap[stepState.currentStep.name] ||\n 'employment_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 jsonSchemaVersion,\n }: {\n form: JSONSchemaFormType;\n options?: {\n jsfModify?: JSFModify;\n queryOptions?: { enabled?: boolean };\n };\n query?: Record<string, string>;\n jsonSchemaVersion?: number | 'latest';\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 jsonSchemaVersion,\n });\n };\n\n const isBasicInformationDetailsEnabled = Boolean(\n internalCountryCode &&\n (stepState.currentStep.name === 'basic_information' ||\n Boolean(employmentId)),\n );\n\n const isContractDetailsEnabled = Boolean(\n internalCountryCode &&\n ((stepState.currentStep.name === 'contract_details' &&\n !usesJsfV1ContractDetails(internalCountryCode)) ||\n Boolean(employmentId)),\n );\n\n const isJsfV1ContractDetailsEnabled = Boolean(\n usesJsfV1ContractDetails(internalCountryCode) &&\n (stepState.currentStep.name === 'contract_details' ||\n Boolean(employmentId)),\n );\n\n const {\n data: basicInformationForm,\n isLoading: isLoadingBasicInformationForm,\n } = useJSONSchema({\n form: 'employment_basic_information',\n options: {\n jsfModify: options?.jsfModify?.basic_information,\n queryOptions: {\n enabled: isBasicInformationDetailsEnabled,\n },\n },\n jsonSchemaVersion: getBasicInformationSchemaVersion(options),\n });\n\n const annualGrossSalaryField =\n options?.jsfModify?.contract_details?.fields?.annual_gross_salary;\n const annualSalaryFieldPresentation =\n annualGrossSalaryField &&\n typeof annualGrossSalaryField === 'object' &&\n 'presentation' in annualGrossSalaryField\n ? (\n annualGrossSalaryField as {\n presentation?: {\n annual_gross_salary_conversion_properties?: {\n label?: string;\n description?: string;\n };\n };\n }\n ).presentation\n : undefined;\n\n const equityCompensationField =\n options?.jsfModify?.contract_details?.fields?.equity_compensation;\n\n const contractDetailsCustomFields = useMemo(\n () => ({\n fields: {\n annual_gross_salary: {\n ...annualGrossSalaryField,\n presentation: {\n annual_gross_salary_conversion_properties: {\n label:\n annualSalaryFieldPresentation\n ?.annual_gross_salary_conversion_properties?.label,\n description:\n annualSalaryFieldPresentation\n ?.annual_gross_salary_conversion_properties?.description,\n },\n desiredCurrency: company?.desired_currency,\n Component: (props: JSFField & { currency: string }) => {\n return (\n <AnnualGrossSalary\n desiredCurrency={company?.desired_currency || ''}\n splitDescription={useSplitSalaryDescription}\n {...props}\n />\n );\n },\n },\n },\n equity_compensation: {\n ...equityCompensationField,\n presentation: {\n calculateDynamicProperties: (\n values: FieldValues,\n field: JSFField,\n ) => {\n const offerEquity =\n values.equity_compensation?.offer_equity_compensation;\n const equityCost = field?.meta?.cost;\n\n return {\n extra: (\n <EquityPriceDetails\n offerEquity={offerEquity}\n equityCost={equityCost as $TSFixMe}\n />\n ),\n };\n },\n },\n },\n },\n }),\n [\n annualGrossSalaryField,\n annualSalaryFieldPresentation,\n company?.desired_currency,\n equityCompensationField,\n useSplitSalaryDescription,\n ],\n );\n\n const effectiveContractDetailsJsonSchemaVersion =\n getContractDetailsSchemaVersion(options, internalCountryCode);\n\n const { data: contractDetailsForm, isLoading: isLoadingContractDetailsForm } =\n useJSONSchema({\n form: 'contract_details',\n query: {\n employment_id: internalEmploymentId as string,\n },\n options: {\n jsfModify: {\n ...options?.jsfModify?.contract_details,\n fields: {\n ...options?.jsfModify?.contract_details?.fields,\n ...contractDetailsCustomFields.fields,\n },\n },\n queryOptions: {\n enabled: isContractDetailsEnabled,\n },\n },\n jsonSchemaVersion: effectiveContractDetailsJsonSchemaVersion,\n });\n\n const jsfV1Modify = useMemo(\n () => ({\n ...options?.jsfModify?.contract_details,\n fields: {\n ...options?.jsfModify?.contract_details?.fields,\n ...contractDetailsCustomFields.fields,\n },\n }),\n [options?.jsfModify?.contract_details, contractDetailsCustomFields.fields],\n );\n\n const {\n form: contractDetailsFormV1,\n isLoading: isLoadingContractDetailsFormV1,\n } = useJsfV1ContractDetails({\n countryCode: internalCountryCode as string,\n query: {\n employment_id: internalEmploymentId as string,\n },\n enabled: isJsfV1ContractDetailsEnabled,\n jsonSchemaVersion: effectiveContractDetailsJsonSchemaVersion,\n jsfModify: jsfV1Modify,\n });\n\n const {\n data: benefitOffersSchema,\n isLoading: isLoadingBenefitsOffersSchema,\n } = useBenefitOffersSchema(\n internalEmploymentId as string,\n fieldValues,\n options,\n );\n\n const initialValuesBenefitOffers = useMemo(() => {\n if (stepState.currentStep.name === 'benefits') {\n const benefitsFormValues = {\n ...stepState.values?.[stepState.currentStep.name as StepKeys], // Restore values for the current step\n ...fieldValues,\n };\n return mergeWith({}, benefitOffers, benefitsFormValues);\n }\n return {};\n }, [\n stepState.currentStep.name,\n benefitOffers,\n stepState.values,\n fieldValues,\n ]);\n\n const stepFields: Record<StepKeys, JSFFields> = useMemo(\n () => ({\n select_country: selectCountryForm?.fields || [],\n basic_information: basicInformationForm?.fields || [],\n engagement_agreement_details:\n engagementAgreementDetailsSchema?.fields || [],\n contract_details: isJsfV1ContractDetailsEnabled\n ? contractDetailsFormV1?.fields || []\n : contractDetailsForm?.fields || [],\n benefits: benefitOffersSchema?.fields || [],\n employment_agreement_preview: [],\n review: [],\n }),\n [\n selectCountryForm?.fields,\n basicInformationForm?.fields,\n contractDetailsForm?.fields,\n benefitOffersSchema?.fields,\n engagementAgreementDetailsSchema?.fields,\n isJsfV1ContractDetailsEnabled,\n contractDetailsFormV1?.fields,\n ],\n );\n\n const stepFieldsWithFlatFieldsets: Record<\n StepKeys,\n JSFFieldset | null | undefined\n > = useMemo(\n () => ({\n select_country: null,\n basic_information: basicInformationForm?.meta['x-jsf-fieldsets'],\n engagement_agreement_details:\n engagementAgreementDetailsSchema?.meta['x-jsf-fieldsets'],\n contract_details: isJsfV1ContractDetailsEnabled\n ? contractDetailsFormV1?.meta['x-jsf-fieldsets']\n : contractDetailsForm?.meta['x-jsf-fieldsets'],\n benefits: null,\n employment_agreement_preview: null,\n review: null,\n }),\n [\n basicInformationForm?.meta,\n engagementAgreementDetailsSchema?.meta,\n isJsfV1ContractDetailsEnabled,\n contractDetailsFormV1?.meta,\n contractDetailsForm?.meta,\n ],\n );\n\n const stepPresentation: Record<\n StepKeys,\n Record<string, unknown> | null | undefined\n > = useMemo(\n () => ({\n select_country: selectCountryForm?.meta?.['x-jsf-presentation'],\n basic_information: basicInformationForm?.meta?.['x-jsf-presentation'],\n engagement_agreement_details:\n engagementAgreementDetailsSchema?.meta?.['x-jsf-presentation'],\n contract_details: isJsfV1ContractDetailsEnabled\n ? contractDetailsFormV1?.meta?.['x-jsf-presentation']\n : contractDetailsForm?.meta?.['x-jsf-presentation'],\n benefits: benefitOffersSchema?.meta?.['x-jsf-presentation'],\n employment_agreement_preview: null,\n review: null,\n }),\n [\n selectCountryForm?.meta,\n basicInformationForm?.meta,\n engagementAgreementDetailsSchema?.meta,\n isJsfV1ContractDetailsEnabled,\n contractDetailsFormV1?.meta,\n contractDetailsForm?.meta,\n benefitOffersSchema?.meta,\n ],\n );\n\n const {\n country,\n basic_information: employmentBasicInformation = {},\n contract_details: employmentContractDetails = {},\n status: employmentStatus,\n } = employment || {};\n\n const employmentCountryCode = country?.code;\n const currentStepName = stepState.currentStep.name;\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 const basicInformationInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...employmentBasicInformation,\n };\n\n return getInitialValues(stepFields.basic_information, initialValues);\n }, [\n stepFields.basic_information,\n employmentBasicInformation,\n onboardingInitialValues,\n ]);\n\n const engagementAgreementDetailsInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...employmentEngagementAgreementDetails,\n };\n\n return getInitialValues(\n stepFields.engagement_agreement_details,\n initialValues,\n );\n }, [\n stepFields.engagement_agreement_details,\n onboardingInitialValues,\n employmentEngagementAgreementDetails,\n ]);\n\n const contractDetailsInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...employmentContractDetails,\n };\n\n return getInitialValues(stepFields.contract_details, initialValues);\n }, [\n stepFields.contract_details,\n employmentContractDetails,\n onboardingInitialValues,\n ]);\n\n const benefitsInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...initialValuesBenefitOffers,\n };\n\n return getInitialValues(stepFields.benefits, initialValues);\n }, [\n stepFields.benefits,\n initialValuesBenefitOffers,\n onboardingInitialValues,\n ]);\n\n const initialValues = useMemo(() => {\n if (employment) {\n return {\n select_country: selectCountryInitialValues,\n // We don't store ack fields in the db, eg \"ack_start_date_ammendment\" for Argentina, and therefore is not returned in the employment response\n // So when an employmentId exists, it means that the user has already started the onboarding process, and we need to enable the ack fields\n basic_information: enableAckFields(\n stepFields['basic_information'],\n basicInformationInitialValues,\n ),\n engagement_agreement_details: engagementAgreementDetailsInitialValues,\n contract_details:\n // if contract details is null, it means it has not been filled yet, so we can't enable the ack fields\n employment?.contract_details !== null\n ? enableAckFields(\n stepFields['contract_details'],\n contractDetailsInitialValues,\n )\n : contractDetailsInitialValues,\n benefits: benefitsInitialValues,\n employment_agreement_preview: {},\n };\n }\n return {\n select_country: selectCountryInitialValues,\n basic_information: basicInformationInitialValues,\n contract_details: contractDetailsInitialValues,\n benefits: benefitsInitialValues,\n employment_agreement_preview: {},\n };\n }, [\n selectCountryInitialValues,\n basicInformationInitialValues,\n engagementAgreementDetailsInitialValues,\n contractDetailsInitialValues,\n benefitsInitialValues,\n employment,\n stepFields,\n ]);\n\n const { isLoading, isNavigatingToReview, isEmploymentReadOnly, canInvite } =\n useMemo(\n () =>\n getLoadingStates({\n isLoadingBasicInformationForm,\n isLoadingContractDetailsForm,\n isLoadingContractDetailsFormV1,\n isLoadingEngagementAgreementDetails,\n isLoadingEmploymentEngagementAgreementDetails,\n isLoadingEmployment,\n isLoadingBenefitsOffersSchema,\n isLoadingBenefitOffers,\n isLoadingCompany,\n isLoadingCountries,\n isLoadingEmploymentAgreementPreview,\n employmentId,\n employmentStatus: employmentStatus,\n basicInformationFields: stepFields.basic_information,\n contractDetailsFields: stepFields.contract_details,\n currentStepName: currentStepName,\n arePreOnboardingRequirementsFulfilled,\n isLoadingOnboardingReservesStatus,\n }),\n [\n isLoadingBasicInformationForm,\n isLoadingContractDetailsForm,\n isLoadingEngagementAgreementDetails,\n isLoadingEmploymentEngagementAgreementDetails,\n isLoadingEmployment,\n isLoadingBenefitsOffersSchema,\n isLoadingBenefitOffers,\n isLoadingCompany,\n isLoadingCountries,\n isLoadingEmploymentAgreementPreview,\n employmentId,\n employmentStatus,\n stepFields.basic_information,\n stepFields.contract_details,\n currentStepName,\n arePreOnboardingRequirementsFulfilled,\n isLoadingOnboardingReservesStatus,\n isLoadingContractDetailsFormV1,\n ],\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 engagement_agreement_details: prettifyFormValues(\n engagementAgreementDetailsInitialValues,\n stepFields.engagement_agreement_details,\n { skipMoneyConversion: true },\n ),\n contract_details: prettifyFormValues(\n contractDetailsInitialValues,\n stepFields.contract_details,\n { skipMoneyConversion: true },\n ),\n benefits: prettifyFormValues(\n benefitsInitialValues,\n stepFields.benefits,\n { skipMoneyConversion: true },\n ),\n employment_agreement_preview: {},\n };\n\n setStepValues({\n select_country: selectCountryInitialValues,\n basic_information: basicInformationInitialValues,\n contract_details: contractDetailsInitialValues,\n benefits: benefitsInitialValues,\n engagement_agreement_details: engagementAgreementDetailsInitialValues,\n employment_agreement_preview: {},\n review: {},\n });\n\n goToStep('review');\n }\n }, [\n basicInformationInitialValues,\n benefitsInitialValues,\n contractDetailsInitialValues,\n engagementAgreementDetailsInitialValues,\n goToStep,\n isNavigatingToReview,\n selectCountryInitialValues,\n setStepValues,\n stepFields.basic_information,\n stepFields.benefits,\n stepFields.contract_details,\n stepFields.select_country,\n stepFields.engagement_agreement_details,\n ]);\n\n const parseFormValues = async (values: FieldValues) => {\n if (selectCountryForm && stepState.currentStep.name === 'select_country') {\n return values;\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 engagementAgreementDetailsSchema &&\n stepState.currentStep.name === 'engagement_agreement_details'\n ) {\n return await parseJSFToValidate(\n values,\n engagementAgreementDetailsSchema?.fields,\n {\n isPartialValidation: false,\n },\n );\n }\n\n if (\n contractDetailsForm &&\n stepState.currentStep.name === 'contract_details' &&\n !isJsfV1ContractDetailsEnabled\n ) {\n return await parseJSFToValidate(values, contractDetailsForm?.fields, {\n isPartialValidation: false,\n });\n }\n\n if (\n contractDetailsFormV1 &&\n stepState.currentStep.name === 'contract_details' &&\n isJsfV1ContractDetailsEnabled\n ) {\n return await parseJSFToValidate(values, contractDetailsFormV1?.fields, {\n isPartialValidation: false,\n });\n }\n\n if (benefitOffersSchema && stepState.currentStep.name === 'benefits') {\n return await parseJSFToValidate(values, benefitOffersSchema?.fields, {\n isPartialValidation: false,\n });\n }\n\n return {};\n };\n\n async function onSubmit(values: FieldValues) {\n // Prettify values for the current step\n const currentStepName = stepState.currentStep.name;\n const parsedValues = await parseFormValues(values);\n if (currentStepName in fieldsMetaRef.current) {\n fieldsMetaRef.current[\n currentStepName as keyof typeof fieldsMetaRef.current\n ] = prettifyFormValues(parsedValues, stepFields[currentStepName]);\n }\n\n refetchCompany();\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 if (isEmploymentNotLoaded || hasChangedCountry) {\n const payload: EmploymentCreateParams = {\n basic_information: parsedValues,\n type: type,\n country_code: internalCountryCode,\n external_id: externalId,\n };\n try {\n const response = await createEmploymentMutationAsync(payload);\n\n if (response.error) {\n return response;\n }\n\n if (response.data) {\n // @ts-expect-error the types from the response are not matching\n const employmentId = response.data?.data?.employment?.id;\n if (employmentId) {\n setInternalEmploymentId(employmentId);\n await updateContractEligibilityMutationAsync({\n employmentId: employmentId,\n eligible_to_work_in_residing_country: 'citizen',\n employer_or_work_restrictions: false,\n });\n }\n\n return response;\n }\n } catch (error) {\n console.error('Error creating onboarding:', error);\n throw error;\n }\n } else if (internalEmploymentId) {\n return updateEmploymentMutationAsync({\n employmentId: internalEmploymentId,\n basic_information: parsedValues,\n pricing_plan_details: {\n frequency: 'monthly',\n },\n external_id: externalId,\n });\n }\n\n return;\n }\n case 'engagement_agreement_details': {\n return updateEngagementAgreementMutationAsync({\n employmentId: internalEmploymentId as string,\n engagement_agreement_details: parsedValues,\n });\n }\n case 'contract_details': {\n const payload: EmploymentFullParams = {\n contract_details: parsedValues,\n pricing_plan_details: {\n frequency: 'monthly',\n },\n };\n return updateEmploymentMutationAsync({\n employmentId: internalEmploymentId as string,\n external_id: externalId,\n ...payload,\n });\n }\n\n case 'benefits': {\n return updateBenefitsOffersMutationAsync({\n employmentId: internalEmploymentId as string,\n ...parsedValues,\n });\n }\n }\n return;\n }\n\n function back() {\n previousStep();\n }\n\n function next() {\n nextStep();\n }\n\n function goTo(step: StepKeys) {\n goToStep(step);\n }\n\n const handleValidation = useCallback(\n async (values: FieldValues): Promise<ValidationResult | null> => {\n if (stepState.currentStep.name === 'select_country') {\n return selectCountryForm.handleValidation(values);\n }\n if (stepState.currentStep.name === 'benefits' && benefitOffersSchema) {\n const parsedValues = await parseJSFToValidate(\n values,\n benefitOffersSchema?.fields,\n { isPartialValidation: false },\n );\n\n return benefitOffersSchema?.handleValidation(parsedValues);\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 engagementAgreementDetailsSchema &&\n stepState.currentStep.name === 'engagement_agreement_details'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n engagementAgreementDetailsSchema?.fields,\n { isPartialValidation: false },\n );\n return engagementAgreementDetailsSchema?.handleValidation(parsedValues);\n }\n\n if (\n contractDetailsForm &&\n stepState.currentStep.name === 'contract_details' &&\n !isJsfV1ContractDetailsEnabled\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n contractDetailsForm?.fields,\n { isPartialValidation: false },\n );\n return contractDetailsForm?.handleValidation(parsedValues);\n }\n\n if (\n contractDetailsFormV1 &&\n stepState.currentStep.name === 'contract_details' &&\n isJsfV1ContractDetailsEnabled\n ) {\n // Invisible values are kept on purpose here. The fields still hold the\n // visibility of the previous change, so dropping their values would hide\n // what a field that is about to become visible needs to compute itself:\n // a hidden fieldset coming back would lose the values driving its own\n // children. handleValidation resolves the visibility first and nulls\n // whatever it considers hidden afterwards, which is the right order.\n const parsedValues = await parseJSFToValidate(\n values,\n contractDetailsFormV1?.fields,\n { isPartialValidation: true },\n );\n const result = contractDetailsFormV1?.handleValidation(parsedValues);\n setFieldsCount((prev) => prev + 1);\n return result;\n }\n\n return null;\n },\n [\n stepState,\n selectCountryForm,\n benefitOffersSchema,\n basicInformationForm,\n engagementAgreementDetailsSchema,\n contractDetailsForm,\n contractDetailsFormV1,\n isJsfV1ContractDetailsEnabled,\n setFieldsCount,\n ],\n );\n\n const checkFieldUpdates = useCallback(\n async (values: FieldValues) => {\n setFieldValues(values);\n if (\n isJsfV1ContractDetailsEnabled &&\n stepState.currentStep.name === 'contract_details'\n ) {\n await handleValidation(values);\n }\n },\n [\n setFieldValues,\n isJsfV1ContractDetailsEnabled,\n stepState,\n handleValidation,\n ],\n );\n\n return {\n /**\n * Employment id passed useful to be used between components\n */\n employmentId: internalEmploymentId,\n\n /**\n * Onboarding flow options (feature flags)\n */\n options: {\n features: options?.features,\n },\n\n /**\n * Credit risk status of the company, useful to know what to to show in the review step\n * The possible values are:\n * - not_started\n * - ready\n * - in_progress\n * - referred\n * - fail\n * - deposit_required\n * - no_deposit_required\n */\n\n creditRiskStatus: company?.default_legal_entity_credit_risk_status,\n /**\n * Onboarding reserves status for the employment\n * Returns 'deposit_required' if a deposit is required based on onboarding reserves policies\n */\n onboardingReservesStatus: onboardingReservesStatus,\n /**\n * Current state of the form fields for the current step.\n */\n fieldValues,\n /**\n * Current step state containing the current step and total number of steps\n */\n stepState,\n /**\n * Array of form fields from the onboarding schema\n */\n fields: stepFields[stepState.currentStep.name],\n\n /**\n * Loading state indicating if the onboarding schema is being fetched\n */\n isLoading: isLoading,\n /**\n * Loading state indicating if the onboarding mutation is in progress\n */\n isSubmitting:\n createEmploymentMutation.isPending ||\n updateEmploymentMutation.isPending ||\n updateBenefitsOffersMutation.isPending ||\n updateEngagementAgreementMutation.isPending ||\n updateContractEligibilityMutation.isPending,\n /**\n * Initial form values\n */\n initialValues,\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,\n /**\n * Function to update the current form field values\n * @param values - New form values to set\n */\n checkFieldUpdates,\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 * 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 * Function to handle going back to the previous step\n * @returns {void}\n */\n back,\n\n /**\n * Function to handle going to the next step\n * @returns {void}\n */\n next,\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,\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 * Function to refetch the employment data\n * @returns {void}\n */\n refetchEmployment,\n /**\n * Employment data\n */\n employment,\n\n /**\n * let's the user know that the employment cannot be edited, happens when employment.status is invited, created_awaiting_reserve or created_reserve_paid\n * @returns {boolean}\n */\n isEmploymentReadOnly,\n\n /**\n * let's the user know if the company can invite employees\n * @returns {boolean}\n */\n canInvite,\n\n /**\n * Steps array for dynamic step navigation\n * When 'dynamic_steps' feature is enabled:\n * - Returns all steps including hidden ones with their original indices\n * - Consumers must filter by `visible` property\n * When disabled (default):\n * - Returns only visible steps with sequential indices\n * - Maintains backwards compatibility with existing implementations\n * @returns {Array<{name: string, visible: boolean, index: number, label: string}>}\n */\n steps: stepsArray,\n /**\n * Selected country for the onboarding\n * @returns {name: string, code: string} | null\n */\n selectedCountry: internalCountryCode\n ? {\n code: internalCountryCode,\n name: country?.name,\n }\n : null,\n\n /**\n * Employment agreement preview\n */\n employmentAgreementPreview,\n };\n};\n"],"mappings":"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","names":["useCallback","useEffect","useMemo","useRef","useState","mergeWith","jsx","jsonSchemaToEmployment","stepToFormSchemaMap","getLoadingStates","__name","isLoadingBasicInformationForm","isLoadingContractDetailsForm","isLoadingContractDetailsFormV1","isLoadingEngagementAgreementDetails","isLoadingEmploymentAgreementPreview","isLoadingEmploymentEngagementAgreementDetails","isLoadingEmployment","isLoadingBenefitsOffersSchema","isLoadingBenefitOffers","isLoadingCompany","isLoadingCountries","employmentStatus","employmentId","currentStepName","basicInformationFields","contractDetailsFields","arePreOnboardingRequirementsFulfilled","isLoadingOnboardingReservesStatus","initialLoading","isEmploymentReadOnly","reviewStepAllowedEmploymentStatus","canInvite","disabledInviteButtonEmploymentStatus","shouldHandleReadOnlyEmployment","isLoading","isNavigatingToReview","useJsfV1ContractDetails","countryCode","query","enabled","jsonSchemaVersion","jsfModify","options","useMemo","form","isLoadingContractDetails","useContractDetailsSchema","useOnboarding","companyId","type","skipSteps","externalId","onboardingInitialValues","updateErrorContext","useErrorReporting","setFieldsCount","useState","internalEmploymentId","setInternalEmploymentId","internalCountryCode","setInternalCountryCode","includeEngagementAgreementDetails","setIncludeEngagementAgreementDetails","includeEmploymentAgreementPreview","setIncludeEmploymentAgreementPreview","useDynamicSteps","useSplitSalaryDescription","useEAPreview","steps","stepsArray","buildSteps","onStepChange","useCallback","step","fieldValues","stepState","setFieldValues","previousStep","nextStep","goToStep","setStepValues","useStepState","employmentEngagementAgreementDetails","useEmploymentEngagementAgreementDetails","engagementAgreementDetailsFieldValues","engagementAgreementDetailsSchema","useEngagementAgreementDetailsSchema","useEffect","hasFields","fieldsMetaRef","useRef","employment","refetchEmployment","useEmploymentQuery","benefitOffers","useBenefitOffers","company","refetchCompany","useCompany","isOnboardingReservesEnabled","onboardingReservesStatus","useEmploymentOnboardingReservesStatus","isPreOnboardingRequirementsEnabled","requirements","isLoadingPreOnboardingRequirements","useGetPreOnboardingRequirements","requirement","isSelectCountryEnabled","selectCountryForm","countries","useCountriesSchemaField","isEmploymentAgreementPreviewAvailable","country","isEmploymentEnabled","employmentAgreementPreview","useEmploymentAgreementPreview","createEmploymentMutation","useCreateEmployment","updateEmploymentMutation","useUpdateEmployment","updateBenefitsOffersMutation","useUpdateBenefitsOffers","updateEngagementAgreementMutation","useUpdateEmploymentEngagementAgreementDetails","updateContractEligibilityMutation","useUpsertContractEligibility","createEmploymentMutationAsync","mutationToPromise","updateEmploymentMutationAsync","updateBenefitsOffersMutationAsync","updateEngagementAgreementMutationAsync","updateContractEligibilityMutationAsync","formType","employmentKey","serverEmploymentData","useJSONSchema","jsonSchemaOptions","mergedFormValues","useJSONSchemaForm","isBasicInformationDetailsEnabled","isContractDetailsEnabled","usesJsfV1ContractDetails","isJsfV1ContractDetailsEnabled","basicInformationForm","getBasicInformationSchemaVersion","annualGrossSalaryField","annualSalaryFieldPresentation","equityCompensationField","contractDetailsCustomFields","props","AnnualGrossSalary","values","field","offerEquity","equityCost","EquityPriceDetails","effectiveContractDetailsJsonSchemaVersion","getContractDetailsSchemaVersion","contractDetailsForm","jsfV1Modify","contractDetailsFormV1","benefitOffersSchema","useBenefitOffersSchema","initialValuesBenefitOffers","benefitsFormValues","mergeWith","stepFields","stepFieldsWithFlatFieldsets","stepPresentation","employmentBasicInformation","employmentContractDetails","employmentCountryCode","selectCountryInitialValues","getInitialValues","basicInformationInitialValues","initialValues","engagementAgreementDetailsInitialValues","contractDetailsInitialValues","benefitsInitialValues","enableAckFields","prettifyFormValues","parseFormValues","parseJSFToValidate","onSubmit","parsedValues","isEmploymentNotLoaded","hasChangedCountry","payload","response","error","back","next","goTo","handleValidation","result","prev","checkFieldUpdates"]}
@@ -1,2 +1,2 @@
1
- import{a as s}from"./chunk-52GHCI6X.js";import{b as e}from"./chunk-Q3ALCPJN.js";import{x as a}from"./chunk-NXRWBI36.js";import{a as n}from"./chunk-P37U34EQ.js";import{jsx as S}from"react/jsx-runtime";function w({components:c,onSubmit:m,onSuccess:d,onError:p}){let{contractorOnboardingBag:r}=e(),u=n(async(i,l)=>{try{let t=await r.parseFormValues(i);await m?.(t);let o=await r.onSubmit(i);if(o?.data){await d?.(o.data),r?.next();return}}catch(t){let o=a(t,r.meta?.fields?.contract_origin,l);p?.(o)}},"handleSubmit"),g=r.stepState.values?.contract_origin||r.initialValues.contract_origin;return S(s,{components:c,defaultValues:g,onSubmit:u})}n(w,"ContractOriginStep");export{w as a};
2
- //# sourceMappingURL=chunk-2TBTNTJ2.js.map
1
+ import{a as s}from"./chunk-O3Y4DVNY.js";import{b as e}from"./chunk-Q3ALCPJN.js";import{x as a}from"./chunk-NXRWBI36.js";import{a as n}from"./chunk-P37U34EQ.js";import{jsx as S}from"react/jsx-runtime";function w({components:c,onSubmit:m,onSuccess:d,onError:p}){let{contractorOnboardingBag:r}=e(),u=n(async(i,l)=>{try{let t=await r.parseFormValues(i);await m?.(t);let o=await r.onSubmit(i);if(o?.data){await d?.(o.data),r?.next();return}}catch(t){let o=a(t,r.meta?.fields?.contract_origin,l);p?.(o)}},"handleSubmit"),g=r.stepState.values?.contract_origin||r.initialValues.contract_origin;return S(s,{components:c,defaultValues:g,onSubmit:u})}n(w,"ContractOriginStep");export{w as a};
2
+ //# sourceMappingURL=chunk-JJK6BFGN.js.map
@@ -1,2 +1,2 @@
1
- import{a as r}from"./chunk-NPXIFNK2.js";import{a as s}from"./chunk-X7KIEFEN.js";import{b as t}from"./chunk-SS2SYDCB.js";import{a as o}from"./chunk-P37U34EQ.js";import{jsx as n}from"react/jsx-runtime";function d(l){let{employeeBag:e}=t(),a=s(l);return n(r,{onSubmit:a,defaultValues:{...e.initialValues?.home_address,...e.stepState.values?.home_address}})}o(d,"HomeAddressStep");export{d as a};
2
- //# sourceMappingURL=chunk-6BOIGCHK.js.map
1
+ import{a as r}from"./chunk-CUM2NKZ4.js";import{a as s}from"./chunk-X7KIEFEN.js";import{b as t}from"./chunk-SS2SYDCB.js";import{a as o}from"./chunk-P37U34EQ.js";import{jsx as n}from"react/jsx-runtime";function d(l){let{employeeBag:e}=t(),a=s(l);return n(r,{onSubmit:a,defaultValues:{...e.initialValues?.home_address,...e.stepState.values?.home_address}})}o(d,"HomeAddressStep");export{d as a};
2
+ //# sourceMappingURL=chunk-KZWB4FMM.js.map
@@ -1,2 +1,2 @@
1
- import{a as e}from"./chunk-PQGDGJLG.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-43XVHRYM.js.map
1
+ import{a as e}from"./chunk-OUFFAMO5.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-LBMHLNKS.js.map
@@ -0,0 +1,2 @@
1
+ import{a as y}from"./chunk-C4NBYBED.js";import{a as l,c as m}from"./chunk-INUCPQVI.js";import{c}from"./chunk-4FGKIGKF.js";import{a as t}from"./chunk-P37U34EQ.js";import{useEffect as p}from"react";import{Fragment as N,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,splitDescription:f,...e})=>{let{setValue:n,getValues:i}=c(),g={label:a?.label||"Salary conversion",description:a?.description||C(N,{children:["The conversion is based on the Remote FX rate."," ",v(m,{className:"text-sm",zendeskId:l.remoteFxRate,children:"Learn more \u2197"})]})},u=s?"salary_conversion":e.name,b=s?e.name:"salary_conversion";return p(()=>{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:u,conversionFieldName:b,conversionProperties:g,classNamePrefix:"RemoteFlows-Salary",conversionType:_,splitDescription:f})},"SalaryField");export{R as a};
2
+ //# sourceMappingURL=chunk-NI4K773A.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/CostCalculator/components/SalaryField.tsx"],"sourcesContent":["import { CurrencyConversionField } from '@/src/components/form/fields/CurrencyConversionField';\nimport { ZendeskTriggerButton } from '@/src/components/shared/zendesk-drawer/ZendeskTriggerButton';\nimport { zendeskArticles } from '@/src/components/shared/zendesk-drawer/utils';\nimport { JSFField } from '@/src/types/remoteFlows';\nimport { useEffect } from 'react';\nimport { useFormContext } from 'react-hook-form';\n\ntype SalaryFieldProps = JSFField & {\n currencies: {\n from: string;\n to: string;\n };\n salary_conversion_properties?: {\n label?: string;\n description?: string;\n };\n conversionType?: 'spread' | 'no_spread';\n shouldSwapOrder: boolean;\n defaultValue?: string;\n splitDescription?: boolean;\n};\n\nexport const SalaryField = ({\n currencies: { from, to },\n shouldSwapOrder,\n salary_conversion_properties,\n conversionType = 'no_spread',\n defaultValue,\n splitDescription,\n ...props\n}: SalaryFieldProps) => {\n const { setValue, getValues } = useFormContext();\n\n const conversionProperties = {\n label: salary_conversion_properties?.label || 'Salary conversion',\n description: salary_conversion_properties?.description || (\n <>\n The conversion is based on the Remote FX rate.{' '}\n <ZendeskTriggerButton\n className='text-sm'\n zendeskId={zendeskArticles.remoteFxRate}\n >\n Learn more ↗\n </ZendeskTriggerButton>\n </>\n ),\n };\n\n const mainFieldName = shouldSwapOrder ? 'salary_conversion' : props.name;\n const conversionFieldName = shouldSwapOrder\n ? props.name\n : 'salary_conversion';\n\n useEffect(() => {\n if (shouldSwapOrder) {\n const currentValue = getValues(props.name);\n\n if (currentValue) {\n setValue('salary_conversion', currentValue);\n setValue('salary_converted', 'salary_conversion');\n } else if (defaultValue) {\n // Fallback to defaultValue if no current value\n setValue('salary_conversion', defaultValue);\n setValue('salary_converted', 'salary_conversion');\n }\n } else {\n const conversionValue = getValues('salary_conversion');\n\n if (conversionValue) {\n setValue(props.name, conversionValue);\n setValue('salary_converted', props.name);\n } else if (defaultValue) {\n // Fallback to defaultValue if no conversion value\n setValue(props.name, defaultValue);\n setValue('salary_converted', props.name);\n }\n }\n }, [shouldSwapOrder, defaultValue, setValue, getValues, props.name]);\n return (\n <CurrencyConversionField\n {...props}\n sourceCurrency={from}\n targetCurrency={to}\n mainFieldName={mainFieldName}\n conversionFieldName={conversionFieldName}\n conversionProperties={conversionProperties}\n classNamePrefix='RemoteFlows-Salary'\n conversionType={conversionType}\n splitDescription={splitDescription}\n />\n );\n};\n"],"mappings":"kKAIA,OAAS,aAAAA,MAAiB,QAgCpB,mBAAAC,EAEE,OAAAC,EAFF,QAAAC,MAAA,oBAdC,IAAMC,EAAcC,EAAA,CAAC,CAC1B,WAAY,CAAE,KAAAC,EAAM,GAAAC,CAAG,EACvB,gBAAAC,EACA,6BAAAC,EACA,eAAAC,EAAiB,YACjB,aAAAC,EACA,iBAAAC,EACA,GAAGC,CACL,IAAwB,CACtB,GAAM,CAAE,SAAAC,EAAU,UAAAC,CAAU,EAAIC,EAAe,EAEzCC,EAAuB,CAC3B,MAAOR,GAA8B,OAAS,oBAC9C,YAAaA,GAA8B,aACzCN,EAAAF,EAAA,CAAE,2DAC+C,IAC/CC,EAACgB,EAAA,CACC,UAAU,UACV,UAAWC,EAAgB,aAC5B,6BAED,GACF,CAEJ,EAEMC,EAAgBZ,EAAkB,oBAAsBK,EAAM,KAC9DQ,EAAsBb,EACxBK,EAAM,KACN,oBAEJ,OAAAS,EAAU,IAAM,CACd,GAAId,EAAiB,CACnB,IAAMe,EAAeR,EAAUF,EAAM,IAAI,EAErCU,GACFT,EAAS,oBAAqBS,CAAY,EAC1CT,EAAS,mBAAoB,mBAAmB,GACvCH,IAETG,EAAS,oBAAqBH,CAAY,EAC1CG,EAAS,mBAAoB,mBAAmB,EAEpD,KAAO,CACL,IAAMU,EAAkBT,EAAU,mBAAmB,EAEjDS,GACFV,EAASD,EAAM,KAAMW,CAAe,EACpCV,EAAS,mBAAoBD,EAAM,IAAI,GAC9BF,IAETG,EAASD,EAAM,KAAMF,CAAY,EACjCG,EAAS,mBAAoBD,EAAM,IAAI,EAE3C,CACF,EAAG,CAACL,EAAiBG,EAAcG,EAAUC,EAAWF,EAAM,IAAI,CAAC,EAEjEX,EAACuB,EAAA,CACE,GAAGZ,EACJ,eAAgBP,EAChB,eAAgBC,EAChB,cAAea,EACf,oBAAqBC,EACrB,qBAAsBJ,EACtB,gBAAgB,qBAChB,eAAgBP,EAChB,iBAAkBE,EACpB,CAEJ,EArE2B","names":["useEffect","Fragment","jsx","jsxs","SalaryField","__name","from","to","shouldSwapOrder","salary_conversion_properties","conversionType","defaultValue","splitDescription","props","setValue","getValues","useFormContext","conversionProperties","ZendeskTriggerButton","zendeskArticles","mainFieldName","conversionFieldName","useEffect","currentValue","conversionValue","CurrencyConversionField"]}
@@ -1,2 +1,2 @@
1
- import{a as T,b as E,c as j,d as $,f as O}from"./chunk-DOVE5SYY.js";import{a as V,d as w,e as x,f as B}from"./chunk-RRERBS7F.js";import{b as F}from"./chunk-BC4V2YAK.js";import{a as N}from"./chunk-4GIQCWII.js";import{a as y,b as k,d as D,e as R,f as H,h as C}from"./chunk-4FGKIGKF.js";import{a as s}from"./chunk-P37U34EQ.js";import*as l from"yup";var P=s((t,a,r)=>{if(t&&"reportValidity"in t){let o=y(r,a);t.setCustomValidity(o&&o.message||""),t.reportValidity()}},"r"),b=s((t,a)=>{for(let r in a.fields){let o=a.fields[r];o&&o.ref&&"reportValidity"in o.ref?P(o.ref,r,t):o&&o.refs&&o.refs.forEach(u=>P(u,r,t))}},"o"),q=s((t,a)=>{a.shouldUseNativeValidation&&b(t,a);let r={};for(let o in t){let u=y(a.fields,o),i=Object.assign(t[o]||{},{ref:u&&u.ref});if(A(a.names||Object.keys(t),o)){let n=Object.assign({},y(r,o));k(n,"root",i),k(r,o,n)}else k(r,o,i)}return r},"s"),A=s((t,a)=>{let r=M(a).replace(/[.*+?^${}()|\\]/g,"\\$&");return t.some(o=>M(o).match(`^${r}\\.\\d+`))},"i");function M(t){return t.replace(/[\[\]]/g,"")}s(M,"n");function L(t,a,r){return r===void 0&&(r={}),function(o,u,i){try{return Promise.resolve((function(n,_){try{var p=(a!=null&&a.context&&process.env.NODE_ENV==="development"&&console.warn("You should not used the yup options context. Please, use the 'useForm' context object instead"),Promise.resolve(t[r.mode==="sync"?"validateSync":"validate"](o,Object.assign({abortEarly:!1},a,{context:u}))).then(function(m){return i.shouldUseNativeValidation&&b({},i),{values:r.raw?Object.assign({},o):m,errors:{}}}))}catch(m){return _(m)}return p&&p.then?p.then(void 0,_):p})(0,function(n){if(!n.inner)throw n;return{values:{},errors:q((_=n,p=!i.shouldUseNativeValidation&&i.criteriaMode==="all",(_.inner||[]).reduce(function(m,c){if(m[c.path]||(m[c.path]={message:c.message,type:c.type}),p){var S=m[c.path].types,g=S&&S[c.type];m[c.path]=D(c.path,p,m,c.type,g?[].concat(g,c.message):c.message)}return m},{})),i)};var _,p}))}catch(n){return Promise.reject(n)}}}s(L,"o");import{Fragment as Y,useState as z}from"react";import{jsx as e,jsxs as d}from"react/jsx-runtime";var K=l.object({day:l.string().required(),checked:l.boolean().required(),start_time:l.string().matches(/^([01]\d|2[0-3]):([0-5]\d)$/,"Invalid time format (HH:mm)").when("checked",{is:!0,then:s(t=>t.required("Required"),"then"),otherwise:s(t=>t.optional().nullable(),"otherwise")}),end_time:l.string().matches(/^([01]\d|2[0-3]):([0-5]\d)$/,"Invalid time format (HH:mm)").when("checked",{is:!0,then:s(t=>t.required("Required"),"then"),otherwise:s(t=>t.optional().nullable(),"otherwise")}),hours:l.number().default(0),break_duration_minutes:l.string().default("0")}),G=l.object({schedule:l.array(K)});function J({defaultSchedule:t,onSubmit:a}){let[r,o]=z(!1),u=V.map(f=>{let h=t.find(v=>v.day.toLowerCase()===x(f).toLowerCase()||v.day.toLowerCase()===f.toLowerCase());return h?{...h,day:x(f),checked:!0}:{...t[0],checked:!1,day:x(f)}}),i=H({defaultValues:{schedule:u},resolver:L(G)}),{handleSubmit:n,watch:_,reset:p,control:m,formState:c}=i,{fields:S}=R({name:"schedule",control:m}),g=_("schedule");function I(f){let h=f.schedule.filter(({checked:v})=>v).map(v=>({...v,hours:w(v)}));a(h),o(!1)}s(I,"handleSubmitWorkingHours");function U(){p(),o(!1)}return s(U,"handleCancel"),e("div",{className:"flex items-center justify-between",children:d(T,{open:r,onOpenChange:o,children:[e(E,{asChild:!0,children:e(F,{variant:"link",className:"flex items-center p-0 RemoteFlows__WorkScheduleSelectionForm__Trigger",children:"Edit Schedule"})}),d(j,{className:"max-w-5xl max-h-[90vh] overflow-y-auto px-8 py-4 RemoteFlows__WorkScheduleSelectionForm__Content",children:[e($,{children:e(O,{className:"RemoteFlows__WorkScheduleSelectionForm__Title",children:"Edit employee working hours"})}),e(C,{...i,children:d("form",{className:"space-y-4 RemoteFlows__WorkScheduleSelectionForm__Form",children:[d("div",{className:"rounded-lg",children:[e("p",{className:"text-gray-600 text-sm mb-4 RemoteFlows__WorkScheduleSelectionForm__Description",children:"The times displayed are in the employee's time zone in the 24-hour format."}),d("div",{className:"grid grid-cols-12 gap-4 text-sm font-medium text-gray-500 uppercase tracking-wide RemoteFlows__WorkScheduleSelectionForm__Header",children:[e("div",{className:"col-span-2"}),e("div",{className:"col-span-3 text-center",children:"START"}),e("div",{className:"col-span-1 text-center"}),e("div",{className:"col-span-3 text-center",children:"END"}),e("div",{className:"col-span-2 text-center",children:"HOURS"})]}),e("div",{className:"RemoteFlows__WorkScheduleSelectionForm__Rows",children:S.map((f,h)=>{let v=g[h],W=w(v);return d(Y,{children:[d("div",{className:"grid grid-cols-12 gap-4 items-center py-2 RemoteFlows__WorkScheduleSelectionForm__Row-Hours",children:[e("div",{className:"col-span-2 flex items-center gap-3",children:e(B,{label:f.day,name:`schedule.${h}.checked`})}),e("div",{className:"col-span-3",children:e(N,{name:`schedule.${h}.start_time`,includeErrorMessage:!1})}),e("div",{className:"col-span-1 text-center text-gray-500",children:"to"}),e("div",{className:"col-span-3",children:e(N,{name:`schedule.${h}.end_time`,includeErrorMessage:!1})}),e("div",{className:"col-span-2 text-center text-gray-600",children:isNaN(W)?"-":`${W} hours`})]}),d("div",{className:"grid grid-cols-12 gap-4 items-center py-2 RemoteFlows__WorkScheduleSelectionForm__Row-Break",children:[e("div",{className:"col-span-2 text-gray-500",children:"Break"}),e("div",{className:"col-span-2",children:e(N,{name:`schedule.${h}.break_duration_minutes`,includeErrorMessage:!1})}),e("div",{className:"col-span-2 text-gray-500",children:"minutes"}),e("div",{className:"col-span-4"})]})]},f.id)})})]}),Object.keys(c.errors).length>0&&e("p",{className:"text-destructive text-sm mb-0",children:"Invalid time format (HH:mm)"}),d("div",{className:"flex gap-4 pt-4",children:[e(F,{type:"button",className:"reset-button",variant:"outline",onClick:U,children:"Cancel"}),e(F,{type:"button",className:"submit-button",onClick:n(I),children:"Save Schedule"})]})]})})]})]})})}s(J,"WorkScheduleSelectionForm");var he=s(({fieldData:t})=>{let{defaultFormattedValue:a,currentSchedule:r,onSubmit:o}=t,{workHoursSummary:u,breakSummary:i,totalWorkHours:n}=a;return d("div",{className:"flex flex-col gap-3 RemoteFlows__WorkScheduleField",children:[e("p",{className:"text-sm RemoteFlows__WorkScheduleField__Title",children:"Work hours"}),d("div",{className:"flex flex-col gap-1 RemoteFlows__WorkScheduleField__Summary",children:[e("p",{className:"text-sm text-gray-500 RemoteFlows__WorkScheduleField__Summary__WorkHours",dangerouslySetInnerHTML:{__html:u.join(", ")}}),e("p",{className:"text-sm text-gray-500 RemoteFlows__WorkScheduleField__Summary__Break",children:i.join()}),d("p",{className:"text-sm text-gray-500 RemoteFlows__WorkScheduleField__Summary__Total",children:["Total of ",e("span",{children:n})," hours per week"]}),e(J,{defaultSchedule:r,onSubmit:o})]})]})},"WorkScheduleFieldDefault");export{he as a};
2
- //# sourceMappingURL=chunk-O2M7ZWVK.js.map
1
+ import{a as T,b as E,c as j,d as $,f as O}from"./chunk-DOVE5SYY.js";import{a as V,d as w,e as x,f as B}from"./chunk-RRERBS7F.js";import{b as F}from"./chunk-BC4V2YAK.js";import{a as N}from"./chunk-BODQC6OK.js";import{a as y,b as k,d as D,e as R,f as H,h as C}from"./chunk-4FGKIGKF.js";import{a as s}from"./chunk-P37U34EQ.js";import*as l from"yup";var P=s((t,a,r)=>{if(t&&"reportValidity"in t){let o=y(r,a);t.setCustomValidity(o&&o.message||""),t.reportValidity()}},"r"),b=s((t,a)=>{for(let r in a.fields){let o=a.fields[r];o&&o.ref&&"reportValidity"in o.ref?P(o.ref,r,t):o&&o.refs&&o.refs.forEach(u=>P(u,r,t))}},"o"),q=s((t,a)=>{a.shouldUseNativeValidation&&b(t,a);let r={};for(let o in t){let u=y(a.fields,o),i=Object.assign(t[o]||{},{ref:u&&u.ref});if(A(a.names||Object.keys(t),o)){let n=Object.assign({},y(r,o));k(n,"root",i),k(r,o,n)}else k(r,o,i)}return r},"s"),A=s((t,a)=>{let r=M(a).replace(/[.*+?^${}()|\\]/g,"\\$&");return t.some(o=>M(o).match(`^${r}\\.\\d+`))},"i");function M(t){return t.replace(/[\[\]]/g,"")}s(M,"n");function L(t,a,r){return r===void 0&&(r={}),function(o,u,i){try{return Promise.resolve((function(n,_){try{var p=(a!=null&&a.context&&process.env.NODE_ENV==="development"&&console.warn("You should not used the yup options context. Please, use the 'useForm' context object instead"),Promise.resolve(t[r.mode==="sync"?"validateSync":"validate"](o,Object.assign({abortEarly:!1},a,{context:u}))).then(function(m){return i.shouldUseNativeValidation&&b({},i),{values:r.raw?Object.assign({},o):m,errors:{}}}))}catch(m){return _(m)}return p&&p.then?p.then(void 0,_):p})(0,function(n){if(!n.inner)throw n;return{values:{},errors:q((_=n,p=!i.shouldUseNativeValidation&&i.criteriaMode==="all",(_.inner||[]).reduce(function(m,c){if(m[c.path]||(m[c.path]={message:c.message,type:c.type}),p){var S=m[c.path].types,g=S&&S[c.type];m[c.path]=D(c.path,p,m,c.type,g?[].concat(g,c.message):c.message)}return m},{})),i)};var _,p}))}catch(n){return Promise.reject(n)}}}s(L,"o");import{Fragment as Y,useState as z}from"react";import{jsx as e,jsxs as d}from"react/jsx-runtime";var K=l.object({day:l.string().required(),checked:l.boolean().required(),start_time:l.string().matches(/^([01]\d|2[0-3]):([0-5]\d)$/,"Invalid time format (HH:mm)").when("checked",{is:!0,then:s(t=>t.required("Required"),"then"),otherwise:s(t=>t.optional().nullable(),"otherwise")}),end_time:l.string().matches(/^([01]\d|2[0-3]):([0-5]\d)$/,"Invalid time format (HH:mm)").when("checked",{is:!0,then:s(t=>t.required("Required"),"then"),otherwise:s(t=>t.optional().nullable(),"otherwise")}),hours:l.number().default(0),break_duration_minutes:l.string().default("0")}),G=l.object({schedule:l.array(K)});function J({defaultSchedule:t,onSubmit:a}){let[r,o]=z(!1),u=V.map(f=>{let h=t.find(v=>v.day.toLowerCase()===x(f).toLowerCase()||v.day.toLowerCase()===f.toLowerCase());return h?{...h,day:x(f),checked:!0}:{...t[0],checked:!1,day:x(f)}}),i=H({defaultValues:{schedule:u},resolver:L(G)}),{handleSubmit:n,watch:_,reset:p,control:m,formState:c}=i,{fields:S}=R({name:"schedule",control:m}),g=_("schedule");function I(f){let h=f.schedule.filter(({checked:v})=>v).map(v=>({...v,hours:w(v)}));a(h),o(!1)}s(I,"handleSubmitWorkingHours");function U(){p(),o(!1)}return s(U,"handleCancel"),e("div",{className:"flex items-center justify-between",children:d(T,{open:r,onOpenChange:o,children:[e(E,{asChild:!0,children:e(F,{variant:"link",className:"flex items-center p-0 RemoteFlows__WorkScheduleSelectionForm__Trigger",children:"Edit Schedule"})}),d(j,{className:"max-w-5xl max-h-[90vh] overflow-y-auto px-8 py-4 RemoteFlows__WorkScheduleSelectionForm__Content",children:[e($,{children:e(O,{className:"RemoteFlows__WorkScheduleSelectionForm__Title",children:"Edit employee working hours"})}),e(C,{...i,children:d("form",{className:"space-y-4 RemoteFlows__WorkScheduleSelectionForm__Form",children:[d("div",{className:"rounded-lg",children:[e("p",{className:"text-gray-600 text-sm mb-4 RemoteFlows__WorkScheduleSelectionForm__Description",children:"The times displayed are in the employee's time zone in the 24-hour format."}),d("div",{className:"grid grid-cols-12 gap-4 text-sm font-medium text-gray-500 uppercase tracking-wide RemoteFlows__WorkScheduleSelectionForm__Header",children:[e("div",{className:"col-span-2"}),e("div",{className:"col-span-3 text-center",children:"START"}),e("div",{className:"col-span-1 text-center"}),e("div",{className:"col-span-3 text-center",children:"END"}),e("div",{className:"col-span-2 text-center",children:"HOURS"})]}),e("div",{className:"RemoteFlows__WorkScheduleSelectionForm__Rows",children:S.map((f,h)=>{let v=g[h],W=w(v);return d(Y,{children:[d("div",{className:"grid grid-cols-12 gap-4 items-center py-2 RemoteFlows__WorkScheduleSelectionForm__Row-Hours",children:[e("div",{className:"col-span-2 flex items-center gap-3",children:e(B,{label:f.day,name:`schedule.${h}.checked`})}),e("div",{className:"col-span-3",children:e(N,{name:`schedule.${h}.start_time`,includeErrorMessage:!1})}),e("div",{className:"col-span-1 text-center text-gray-500",children:"to"}),e("div",{className:"col-span-3",children:e(N,{name:`schedule.${h}.end_time`,includeErrorMessage:!1})}),e("div",{className:"col-span-2 text-center text-gray-600",children:isNaN(W)?"-":`${W} hours`})]}),d("div",{className:"grid grid-cols-12 gap-4 items-center py-2 RemoteFlows__WorkScheduleSelectionForm__Row-Break",children:[e("div",{className:"col-span-2 text-gray-500",children:"Break"}),e("div",{className:"col-span-2",children:e(N,{name:`schedule.${h}.break_duration_minutes`,includeErrorMessage:!1})}),e("div",{className:"col-span-2 text-gray-500",children:"minutes"}),e("div",{className:"col-span-4"})]})]},f.id)})})]}),Object.keys(c.errors).length>0&&e("p",{className:"text-destructive text-sm mb-0",children:"Invalid time format (HH:mm)"}),d("div",{className:"flex gap-4 pt-4",children:[e(F,{type:"button",className:"reset-button",variant:"outline",onClick:U,children:"Cancel"}),e(F,{type:"button",className:"submit-button",onClick:n(I),children:"Save Schedule"})]})]})})]})]})})}s(J,"WorkScheduleSelectionForm");var he=s(({fieldData:t})=>{let{defaultFormattedValue:a,currentSchedule:r,onSubmit:o}=t,{workHoursSummary:u,breakSummary:i,totalWorkHours:n}=a;return d("div",{className:"flex flex-col gap-3 RemoteFlows__WorkScheduleField",children:[e("p",{className:"text-sm RemoteFlows__WorkScheduleField__Title",children:"Work hours"}),d("div",{className:"flex flex-col gap-1 RemoteFlows__WorkScheduleField__Summary",children:[e("p",{className:"text-sm text-gray-500 RemoteFlows__WorkScheduleField__Summary__WorkHours",dangerouslySetInnerHTML:{__html:u.join(", ")}}),e("p",{className:"text-sm text-gray-500 RemoteFlows__WorkScheduleField__Summary__Break",children:i.join()}),d("p",{className:"text-sm text-gray-500 RemoteFlows__WorkScheduleField__Summary__Total",children:["Total of ",e("span",{children:n})," hours per week"]}),e(J,{defaultSchedule:r,onSubmit:o})]})]})},"WorkScheduleFieldDefault");export{he as a};
2
+ //# sourceMappingURL=chunk-NQWB6O7Z.js.map
@@ -1,2 +1,2 @@
1
- import{b as c}from"./chunk-Q3ALCPJN.js";import{a as d}from"./chunk-G3QDDD53.js";import{a as l}from"./chunk-WL7WQBSR.js";import{h as m}from"./chunk-4FGKIGKF.js";import{c as s}from"./chunk-NXRWBI36.js";import{a}from"./chunk-P37U34EQ.js";import{useEffect as f}from"react";import{jsx as F}from"react/jsx-runtime";import{createElement as V}from"react";function B({defaultValues:p,onSubmit:u,components:S}){let{formId:y,contractorOnboardingBag:o,formRef:t}=c(),r=d({handleValidation:o.handleValidation,defaultValues:p,checkFieldUpdates:o.checkFieldUpdates});f(()=>{t?.setValue&&(t.setValue.current=r.setValue)},[r.setValue,t]),f(()=>{o.employmentId&&o?.checkFieldUpdates(r.getValues())},[]);let g=a(async(n,b)=>{let i=b?.nativeEvent;if(i?.isDraftSubmission){let{onSuccess:P,onError:E}=i.draftCallbacks;try{await o.onSubmit(n),P?.()}catch(e){let C=o.stepState.currentStep.name,h=o.meta?.fields?.[C],O=s(e?.fieldErrors||[],h);E?.({error:e?.error||e,rawError:e?.rawError||e,fieldErrors:O})}}else await u(n,r)},"handleSubmit");return V(m,{...r,key:`form-${o.stepState.currentStep.name}`},F("form",{id:y,onSubmit:r.handleSubmit(g),className:"space-y-4 RemoteFlows__OnboardingForm",children:F(l,{components:S,fields:o.fields,fieldsets:o.meta.fieldsets,fieldValues:o.fieldValues})}))}a(B,"ContractorOnboardingForm");export{B as a};
2
- //# sourceMappingURL=chunk-52GHCI6X.js.map
1
+ import{b as c}from"./chunk-Q3ALCPJN.js";import{a as d}from"./chunk-G3QDDD53.js";import{a as l}from"./chunk-TMS5VMVV.js";import{h as m}from"./chunk-4FGKIGKF.js";import{c as s}from"./chunk-NXRWBI36.js";import{a}from"./chunk-P37U34EQ.js";import{useEffect as f}from"react";import{jsx as F}from"react/jsx-runtime";import{createElement as V}from"react";function B({defaultValues:p,onSubmit:u,components:S}){let{formId:y,contractorOnboardingBag:o,formRef:t}=c(),r=d({handleValidation:o.handleValidation,defaultValues:p,checkFieldUpdates:o.checkFieldUpdates});f(()=>{t?.setValue&&(t.setValue.current=r.setValue)},[r.setValue,t]),f(()=>{o.employmentId&&o?.checkFieldUpdates(r.getValues())},[]);let g=a(async(n,b)=>{let i=b?.nativeEvent;if(i?.isDraftSubmission){let{onSuccess:P,onError:E}=i.draftCallbacks;try{await o.onSubmit(n),P?.()}catch(e){let C=o.stepState.currentStep.name,h=o.meta?.fields?.[C],O=s(e?.fieldErrors||[],h);E?.({error:e?.error||e,rawError:e?.rawError||e,fieldErrors:O})}}else await u(n,r)},"handleSubmit");return V(m,{...r,key:`form-${o.stepState.currentStep.name}`},F("form",{id:y,onSubmit:r.handleSubmit(g),className:"space-y-4 RemoteFlows__OnboardingForm",children:F(l,{components:S,fields:o.fields,fieldsets:o.meta.fieldsets,fieldValues:o.fieldValues})}))}a(B,"ContractorOnboardingForm");export{B as a};
2
+ //# sourceMappingURL=chunk-O3Y4DVNY.js.map
@@ -1,2 +1,2 @@
1
- import{b as n}from"./chunk-MRYRNB7Y.js";import{a as l}from"./chunk-G3QDDD53.js";import{a as t}from"./chunk-WL7WQBSR.js";import{h as a}from"./chunk-4FGKIGKF.js";import{a as r}from"./chunk-P37U34EQ.js";import{jsx as e}from"react/jsx-runtime";function S({defaultValues:s,fields:i,onSubmit:d}){let{formId:F,terminationBag:o}=n(),m=l({handleValidation:o.handleValidation,defaultValues:s,checkFieldUpdates:o.checkFieldUpdates}),u=i||(o?.fields??[]);return e(a,{...m,children:e("form",{id:F,onSubmit:m.handleSubmit(d),className:"space-y-4 RemoteFlows__TerminationForm",children:e(t,{fields:u})})})}r(S,"TerminationForm");export{S as a};
2
- //# sourceMappingURL=chunk-PQGDGJLG.js.map
1
+ import{b as n}from"./chunk-MRYRNB7Y.js";import{a as l}from"./chunk-G3QDDD53.js";import{a as t}from"./chunk-TMS5VMVV.js";import{h as a}from"./chunk-4FGKIGKF.js";import{a as r}from"./chunk-P37U34EQ.js";import{jsx as e}from"react/jsx-runtime";function S({defaultValues:s,fields:i,onSubmit:d}){let{formId:F,terminationBag:o}=n(),m=l({handleValidation:o.handleValidation,defaultValues:s,checkFieldUpdates:o.checkFieldUpdates}),u=i||(o?.fields??[]);return e(a,{...m,children:e("form",{id:F,onSubmit:m.handleSubmit(d),className:"space-y-4 RemoteFlows__TerminationForm",children:e(t,{fields:u})})})}r(S,"TerminationForm");export{S as a};
2
+ //# sourceMappingURL=chunk-OUFFAMO5.js.map
@@ -1,2 +1,2 @@
1
- import{a as n}from"./chunk-NPXIFNK2.js";import{a}from"./chunk-X7KIEFEN.js";import{b as t}from"./chunk-SS2SYDCB.js";import{a as o}from"./chunk-P37U34EQ.js";import{jsx as i}from"react/jsx-runtime";function b(l){let{employeeBag:e}=t(),r=a(l);return e.selfOnboardingSubsteps.some(s=>s.type==="employee_provides_bank_details")?i(n,{onSubmit:r,defaultValues:{...e.initialValues?.bank_account,...e.stepState.values?.bank_account}}):null}o(b,"BankAccountStep");export{b as a};
2
- //# sourceMappingURL=chunk-6LQ2EP7Y.js.map
1
+ import{a as n}from"./chunk-CUM2NKZ4.js";import{a}from"./chunk-X7KIEFEN.js";import{b as t}from"./chunk-SS2SYDCB.js";import{a as o}from"./chunk-P37U34EQ.js";import{jsx as i}from"react/jsx-runtime";function b(l){let{employeeBag:e}=t(),r=a(l);return e.selfOnboardingSubsteps.some(s=>s.type==="employee_provides_bank_details")?i(n,{onSubmit:r,defaultValues:{...e.initialValues?.bank_account,...e.stepState.values?.bank_account}}):null}o(b,"BankAccountStep");export{b as a};
2
+ //# sourceMappingURL=chunk-QHSIUKH6.js.map
@@ -1,2 +1,2 @@
1
- import{a}from"./chunk-R7AWHFPG.js";import{b as i}from"./chunk-PGWKJ6FK.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as d}from"react/jsx-runtime";function y({onSubmit:s,onSuccess:c,onError:t}){let{onboardingBag:o}=i(),u=e(async n=>{try{await s?.({countryCode:n.country});let r=await o.onSubmit(n);if(r?.data){await c?.(r?.data),o?.next();return}r?.error&&t?.({error:r.error,rawError:r.rawError,fieldErrors:[]})}catch(r){t?.({error:r,rawError:r,fieldErrors:[]})}},"handleSubmit"),l=o.stepState.values?.select_country||o.initialValues.select_country;return d(a,{defaultValues:l,onSubmit:u})}e(y,"SelectCountryStep");export{y as a};
2
- //# sourceMappingURL=chunk-3NKRZURO.js.map
1
+ import{a}from"./chunk-2CGPCBQY.js";import{b as i}from"./chunk-PGWKJ6FK.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as d}from"react/jsx-runtime";function y({onSubmit:s,onSuccess:c,onError:t}){let{onboardingBag:o}=i(),u=e(async n=>{try{await s?.({countryCode:n.country});let r=await o.onSubmit(n);if(r?.data){await c?.(r?.data),o?.next();return}r?.error&&t?.({error:r.error,rawError:r.rawError,fieldErrors:[]})}catch(r){t?.({error:r,rawError:r,fieldErrors:[]})}},"handleSubmit"),l=o.stepState.values?.select_country||o.initialValues.select_country;return d(a,{defaultValues:l,onSubmit:u})}e(y,"SelectCountryStep");export{y as a};
2
+ //# sourceMappingURL=chunk-R2S73YZ5.js.map
@@ -0,0 +1,2 @@
1
+ import{a as s}from"./chunk-C4NBYBED.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as a}from"react/jsx-runtime";var c=e(({currency:n,desiredCurrency:o,annual_gross_salary_conversion_properties:r,splitDescription:i,...t})=>a(s,{...t,sourceCurrency:n,targetCurrency:o,splitDescription:i,conversionFieldName:"annual_gross_salary_conversion",conversionProperties:{...r,description:r?.description||"Estimated amount. This is an estimation. We calculate conversions based on spot rates that are subject to fluctuation over time."},classNamePrefix:"RemoteFlows-AnnualGrossSalary",conversionType:"no_spread"}),"AnnualGrossSalary");export{c as a};
2
+ //# sourceMappingURL=chunk-R36IOANR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/Onboarding/components/AnnualGrossSalary.tsx"],"sourcesContent":["import { CurrencyConversionField } from '@/src/components/form/fields/CurrencyConversionField';\nimport { JSFField } from '@/src/types/remoteFlows';\n\ntype AnnualGrossSalaryProps = JSFField & {\n currency: string;\n desiredCurrency: string;\n annual_gross_salary_conversion_properties?: {\n label?: string;\n description?: string;\n };\n splitDescription?: boolean;\n};\n\nexport const AnnualGrossSalary = ({\n currency,\n desiredCurrency,\n annual_gross_salary_conversion_properties,\n splitDescription,\n ...props\n}: AnnualGrossSalaryProps) => {\n return (\n <CurrencyConversionField\n {...props}\n sourceCurrency={currency}\n targetCurrency={desiredCurrency}\n splitDescription={splitDescription}\n conversionFieldName='annual_gross_salary_conversion'\n conversionProperties={{\n ...annual_gross_salary_conversion_properties,\n description:\n annual_gross_salary_conversion_properties?.description ||\n 'Estimated amount. This is an estimation. We calculate conversions based on spot rates that are subject to fluctuation over time.',\n }}\n classNamePrefix='RemoteFlows-AnnualGrossSalary'\n conversionType='no_spread'\n />\n );\n};\n"],"mappings":"gFAqBI,cAAAA,MAAA,oBARG,IAAMC,EAAoBC,EAAA,CAAC,CAChC,SAAAC,EACA,gBAAAC,EACA,0CAAAC,EACA,iBAAAC,EACA,GAAGC,CACL,IAEIP,EAACQ,EAAA,CACE,GAAGD,EACJ,eAAgBJ,EAChB,eAAgBC,EAChB,iBAAkBE,EAClB,oBAAoB,iCACpB,qBAAsB,CACpB,GAAGD,EACH,YACEA,GAA2C,aAC3C,kIACJ,EACA,gBAAgB,gCAChB,eAAe,YACjB,EAtB6B","names":["jsx","AnnualGrossSalary","__name","currency","desiredCurrency","annual_gross_salary_conversion_properties","splitDescription","props","CurrencyConversionField"]}
@@ -1,2 +1,2 @@
1
- import{a as o}from"./chunk-4GIQCWII.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as r}from"react/jsx-runtime";function n({field:t,fieldData:p}){return r(o,{type:"text",inputMode:"decimal",pattern:"^[0-9.]*$",...t,...p})}e(n,"NumberFieldDefault");export{n as a};
2
- //# sourceMappingURL=chunk-TAYJ2AK4.js.map
1
+ import{a as o}from"./chunk-BODQC6OK.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as r}from"react/jsx-runtime";function n({field:t,fieldData:p}){return r(o,{type:"text",inputMode:"decimal",pattern:"^[0-9.]*$",...t,...p})}e(n,"NumberFieldDefault");export{n as a};
2
+ //# sourceMappingURL=chunk-R4JUCNE4.js.map
@@ -1,2 +1,2 @@
1
- import{a as i}from"./chunk-PQGDGJLG.js";import{b as e}from"./chunk-MRYRNB7Y.js";import{a as m}from"./chunk-P37U34EQ.js";import{jsx as u}from"react/jsx-runtime";function p({onSubmit:n}){let{terminationBag:o}=e(),a=m(async t=>{let r=await o?.parseFormValues(t);await n?.(r),o?.next()},"handleSubmit");return u(i,{defaultValues:o.fieldValues,onSubmit:a})}m(p,"EmployeeCommunicationForm");export{p as a};
2
- //# sourceMappingURL=chunk-V2XF4QEW.js.map
1
+ import{a as i}from"./chunk-OUFFAMO5.js";import{b as e}from"./chunk-MRYRNB7Y.js";import{a as m}from"./chunk-P37U34EQ.js";import{jsx as u}from"react/jsx-runtime";function p({onSubmit:n}){let{terminationBag:o}=e(),a=m(async t=>{let r=await o?.parseFormValues(t);await n?.(r),o?.next()},"handleSubmit");return u(i,{defaultValues:o.fieldValues,onSubmit:a})}m(p,"EmployeeCommunicationForm");export{p as a};
2
+ //# sourceMappingURL=chunk-RBUSLLAQ.js.map
@@ -1,2 +1,2 @@
1
- import{a as n}from"./chunk-RFVATVNN.js";import{b as i}from"./chunk-76ZDXC2T.js";import{x as a}from"./chunk-NXRWBI36.js";import{a as o}from"./chunk-P37U34EQ.js";import{jsx as c}from"react/jsx-runtime";function C({onSubmit:m,onSuccess:l,onError:t}){let{createCompanyBag:e}=i(),p=o(async d=>{try{await m?.(d);let r=await e.onSubmit(d);if(r?.data){await l?.(r?.data);return}if(r?.error){let s=a(r,e.meta?.fields?.address_details);t?.(s)}}catch(r){let s=a(r,e.meta?.fields?.address_details);t?.(s)}},"handleSubmit"),u=e.stepState.values?.address_details||e.initialValues.address_details;return c(n,{defaultValues:u,onSubmit:p})}o(C,"AddressDetailsStep");export{C as a};
2
- //# sourceMappingURL=chunk-46RBPCK6.js.map
1
+ import{a as n}from"./chunk-U7MAWO3U.js";import{b as i}from"./chunk-76ZDXC2T.js";import{x as a}from"./chunk-NXRWBI36.js";import{a as o}from"./chunk-P37U34EQ.js";import{jsx as c}from"react/jsx-runtime";function C({onSubmit:m,onSuccess:l,onError:t}){let{createCompanyBag:e}=i(),p=o(async d=>{try{await m?.(d);let r=await e.onSubmit(d);if(r?.data){await l?.(r?.data);return}if(r?.error){let s=a(r,e.meta?.fields?.address_details);t?.(s)}}catch(r){let s=a(r,e.meta?.fields?.address_details);t?.(s)}},"handleSubmit"),u=e.stepState.values?.address_details||e.initialValues.address_details;return c(n,{defaultValues:u,onSubmit:p})}o(C,"AddressDetailsStep");export{C as a};
2
+ //# sourceMappingURL=chunk-STFOY2NW.js.map
@@ -1,2 +1,2 @@
1
- import{a as s}from"./chunk-52GHCI6X.js";import{b as e}from"./chunk-Q3ALCPJN.js";import{x as n}from"./chunk-NXRWBI36.js";import{a as t}from"./chunk-P37U34EQ.js";import{jsx as u}from"react/jsx-runtime";function b({onSubmit:m,onSuccess:d,onError:c}){let{contractorOnboardingBag:o}=e(),p=t(async(i,f)=>{try{let a=await o.parseFormValues(i);await m?.(a);let r=await o.onSubmit(i);if(r?.data){await d?.(r?.data),o?.next();return}}catch(a){let r=n(a,o.meta?.fields?.basic_information,f);c?.(r)}},"handleSubmit"),l=o.stepState.values?.basic_information||o.initialValues.basic_information;return u(s,{defaultValues:l,onSubmit:p})}t(b,"BasicInformationStep");export{b as a};
2
- //# sourceMappingURL=chunk-H6XSWBE5.js.map
1
+ import{a as s}from"./chunk-O3Y4DVNY.js";import{b as e}from"./chunk-Q3ALCPJN.js";import{x as n}from"./chunk-NXRWBI36.js";import{a as t}from"./chunk-P37U34EQ.js";import{jsx as u}from"react/jsx-runtime";function b({onSubmit:m,onSuccess:d,onError:c}){let{contractorOnboardingBag:o}=e(),p=t(async(i,f)=>{try{let a=await o.parseFormValues(i);await m?.(a);let r=await o.onSubmit(i);if(r?.data){await d?.(r?.data),o?.next();return}}catch(a){let r=n(a,o.meta?.fields?.basic_information,f);c?.(r)}},"handleSubmit"),l=o.stepState.values?.basic_information||o.initialValues.basic_information;return u(s,{defaultValues:l,onSubmit:p})}t(b,"BasicInformationStep");export{b as a};
2
+ //# sourceMappingURL=chunk-SUONIYV5.js.map