@remoteoss/remote-flows 1.42.2 → 1.43.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 (463) hide show
  1. package/dist/CheckboxFieldDefault-VKVKDNK4.js +2 -0
  2. package/dist/CountryFieldDefault-N7P5V5NR.js +2 -0
  3. package/dist/DatePickerFieldDefault-V3F2DLPV.js +2 -0
  4. package/dist/RadioGroupFieldDefault-UMDJEJZU.js +2 -0
  5. package/dist/TextAreaFieldDefault-5CV4XTOT.js +2 -0
  6. package/dist/chunk-2FQ6GVQW.js +2 -0
  7. package/dist/chunk-2FQ6GVQW.js.map +1 -0
  8. package/dist/{chunk-TZGC6PWQ.js → chunk-2PZFP56I.js} +2 -2
  9. package/dist/{chunk-L3ZVE4JS.js → chunk-2RGJDZY5.js} +2 -2
  10. package/dist/chunk-3TPHSFKE.js +2 -0
  11. package/dist/chunk-3TPHSFKE.js.map +1 -0
  12. package/dist/{chunk-PDQ5GZSE.js → chunk-3XJJ4HXR.js} +2 -2
  13. package/dist/{chunk-ZVNUZW4X.js → chunk-47IOBQQK.js} +2 -2
  14. package/dist/chunk-4IYHL2HJ.js +2 -0
  15. package/dist/chunk-4IYHL2HJ.js.map +1 -0
  16. package/dist/chunk-5MPW7QWT.js +2 -0
  17. package/dist/chunk-5NV3RUYR.js +2 -0
  18. package/dist/chunk-5NV3RUYR.js.map +1 -0
  19. package/dist/{chunk-PXU2LCFW.js → chunk-6LDS3IEF.js} +2 -2
  20. package/dist/{chunk-NRGNFMIO.js → chunk-AJ4MBLOD.js} +2 -2
  21. package/dist/chunk-AS7SJDU5.js +8 -0
  22. package/dist/chunk-AS7SJDU5.js.map +1 -0
  23. package/dist/chunk-ATFHOPEX.js +2 -0
  24. package/dist/{chunk-XT6WMFV5.js.map → chunk-ATFHOPEX.js.map} +1 -1
  25. package/dist/{chunk-IVDF2PMA.js → chunk-BOE6NL6T.js} +2 -2
  26. package/dist/{chunk-YYX3OX7N.js → chunk-BT66BBW7.js} +2 -2
  27. package/dist/{chunk-A5SRPVT2.js → chunk-CG6HX6UO.js} +2 -2
  28. package/dist/chunk-CLHYC45V.js +2 -0
  29. package/dist/chunk-CLHYC45V.js.map +1 -0
  30. package/dist/chunk-DIH7KHWI.js +2 -0
  31. package/dist/chunk-DIH7KHWI.js.map +1 -0
  32. package/dist/{chunk-OPDKYPYM.js → chunk-DSGQZDY6.js} +2 -2
  33. package/dist/chunk-DWTCMKOF.js +2 -0
  34. package/dist/{chunk-3DD3UNKM.js.map → chunk-DWTCMKOF.js.map} +1 -1
  35. package/dist/{chunk-7XZP24UE.js → chunk-DZTCYIAO.js} +2 -2
  36. package/dist/{chunk-LVTBMTOU.js → chunk-EFPJWNJM.js} +2 -2
  37. package/dist/{chunk-A675PPWA.js → chunk-ESJIOFFN.js} +2 -2
  38. package/dist/chunk-FHIMDCMT.js +2 -0
  39. package/dist/{chunk-2TAVZJPX.js.map → chunk-FHIMDCMT.js.map} +1 -1
  40. package/dist/chunk-FMBHLDZJ.js +2 -0
  41. package/dist/{chunk-GYSU3LLC.js.map → chunk-FMBHLDZJ.js.map} +1 -1
  42. package/dist/{chunk-3QG44XYC.js → chunk-FUDRYKIB.js} +2 -2
  43. package/dist/{chunk-ZQWAUPIL.js → chunk-FWUSJ6VA.js} +2 -2
  44. package/dist/{chunk-X25ZOPO6.js → chunk-G5YHPMZC.js} +2 -2
  45. package/dist/{chunk-RLFV5DLC.js → chunk-GCMBCASL.js} +2 -2
  46. package/dist/{chunk-H6Z54SNM.js → chunk-GECWUJEZ.js} +2 -2
  47. package/dist/chunk-HBT3XDPU.js +2 -0
  48. package/dist/chunk-HBT3XDPU.js.map +1 -0
  49. package/dist/{chunk-BSOKKYGH.js → chunk-HNQMRZMV.js} +2 -2
  50. package/dist/{chunk-SRXYQVLN.js → chunk-HQXMHMKE.js} +2 -2
  51. package/dist/{chunk-5LJ5IFXF.js → chunk-HTF7CUHW.js} +2 -2
  52. package/dist/{chunk-6NKXOUJW.js → chunk-HXEOVMUT.js} +2 -2
  53. package/dist/{chunk-RFVHV6RE.js → chunk-J2L3CYIS.js} +2 -2
  54. package/dist/chunk-JFTSASNK.js +2 -0
  55. package/dist/chunk-JFTSASNK.js.map +1 -0
  56. package/dist/{chunk-V7YF7ICV.js → chunk-JOR4AIRW.js} +2 -2
  57. package/dist/{chunk-WKAVKFP6.js → chunk-JVLARDTF.js} +2 -2
  58. package/dist/{chunk-TM2GTPUI.js → chunk-KGRA5MUT.js} +2 -2
  59. package/dist/chunk-KTPIKOUV.js +2 -0
  60. package/dist/chunk-KTPIKOUV.js.map +1 -0
  61. package/dist/{chunk-PSCFVUJB.js → chunk-LFHFZU6X.js} +2 -2
  62. package/dist/{chunk-S4QKVG2B.js → chunk-LSC6NTXD.js} +2 -2
  63. package/dist/{chunk-UZBAOB4W.js → chunk-M7TNUSD4.js} +2 -2
  64. package/dist/{chunk-ID4S6FWD.js → chunk-MKO33XZ5.js} +2 -2
  65. package/dist/{chunk-G7N6QIOB.js → chunk-MNU7XYNI.js} +2 -2
  66. package/dist/{chunk-TWBTRW4Z.js → chunk-N64UNJDY.js} +2 -2
  67. package/dist/{chunk-BS2B4OOE.js → chunk-NL6J7N4R.js} +2 -2
  68. package/dist/chunk-NXSRNOBC.js +2 -0
  69. package/dist/chunk-NXSRNOBC.js.map +1 -0
  70. package/dist/{chunk-Q7SMO5VI.js → chunk-OC6P4VCC.js} +2 -2
  71. package/dist/{chunk-GHHMGTM4.js → chunk-ODVWR3Q2.js} +2 -2
  72. package/dist/chunk-OPX7E3W2.js +2 -0
  73. package/dist/chunk-OPX7E3W2.js.map +1 -0
  74. package/dist/chunk-OUKBSQWA.js +2 -0
  75. package/dist/chunk-OUKBSQWA.js.map +1 -0
  76. package/dist/{chunk-YW4FHEYJ.js → chunk-OV3ZB5MP.js} +2 -2
  77. package/dist/{chunk-YRNO7X3H.js → chunk-PLG6FBQY.js} +2 -2
  78. package/dist/{chunk-LWTE6DD4.js → chunk-PQOOEARB.js} +2 -2
  79. package/dist/{chunk-ZF3JITFM.js → chunk-PSU2AEFU.js} +2 -2
  80. package/dist/{chunk-4QJUNKBR.js → chunk-QH4D5IUC.js} +2 -2
  81. package/dist/chunk-QKFKOLC2.js +2 -0
  82. package/dist/chunk-QKFKOLC2.js.map +1 -0
  83. package/dist/{chunk-X4IJ52GQ.js → chunk-QLYOADZI.js} +2 -2
  84. package/dist/chunk-QOOAS2EM.js +2 -0
  85. package/dist/chunk-QOOAS2EM.js.map +1 -0
  86. package/dist/chunk-QQPF2DUF.js +2 -0
  87. package/dist/chunk-QQPF2DUF.js.map +1 -0
  88. package/dist/{chunk-DAFIBCX4.js → chunk-RFEF2B5D.js} +2 -2
  89. package/dist/{chunk-3QSHWQS3.js → chunk-RKRYZZ3R.js} +2 -2
  90. package/dist/chunk-RT3NH5Z7.js +2 -0
  91. package/dist/chunk-RT3NH5Z7.js.map +1 -0
  92. package/dist/{chunk-BJZXTS47.js → chunk-S35AFXC5.js} +2 -2
  93. package/dist/chunk-SDECFXTQ.js +2 -0
  94. package/dist/{chunk-3GB6QH7W.js.map → chunk-SDECFXTQ.js.map} +1 -1
  95. package/dist/{chunk-J3HIQRZO.js → chunk-SP2XK27T.js} +2 -2
  96. package/dist/{chunk-HGY2ZKJN.js → chunk-TEYUKQIC.js} +2 -2
  97. package/dist/{chunk-C3J4KQEW.js → chunk-UCTUH2PW.js} +2 -2
  98. package/dist/{chunk-FMP4J4GT.js → chunk-UROJWVTV.js} +2 -2
  99. package/dist/{chunk-TNGJKUUV.js → chunk-V73B2ODG.js} +2 -2
  100. package/dist/chunk-VAV22UKR.js +2 -0
  101. package/dist/chunk-VAV22UKR.js.map +1 -0
  102. package/dist/{chunk-IOGX6GAZ.js → chunk-WILDFDDO.js} +2 -2
  103. package/dist/chunk-WSRH5UQP.js +2 -0
  104. package/dist/chunk-WSRH5UQP.js.map +1 -0
  105. package/dist/{chunk-4KKA35AX.js → chunk-WUUVA6KN.js} +2 -2
  106. package/dist/{chunk-DS6URMR3.js → chunk-WX3PEOTF.js} +2 -2
  107. package/dist/{chunk-IF42CZJH.js → chunk-XGECMN4V.js} +2 -2
  108. package/dist/{chunk-SRGB5JQU.js → chunk-XGSPLTOD.js} +2 -2
  109. package/dist/{chunk-3YP27SZK.js → chunk-XJIICTBB.js} +2 -2
  110. package/dist/chunk-XPVYX7LE.js +2 -0
  111. package/dist/chunk-XPVYX7LE.js.map +1 -0
  112. package/dist/{chunk-GNDFT5KG.js → chunk-Y2K74EBE.js} +2 -2
  113. package/dist/{chunk-O4CLVNOP.js → chunk-Y6JRTQCB.js} +2 -2
  114. package/dist/{chunk-KSJLZDGY.js → chunk-YMDSJ6OX.js} +2 -2
  115. package/dist/{chunk-QK3FQD6C.js → chunk-YN3HZWGV.js} +2 -2
  116. package/dist/{chunk-QZMSDP2S.js → chunk-YOMORSUA.js} +2 -2
  117. package/dist/chunk-YUVDNGMO.js +2 -0
  118. package/dist/chunk-YUVDNGMO.js.map +1 -0
  119. package/dist/chunk-Z4Q2UO2Y.js +2 -0
  120. package/dist/chunk-Z4Q2UO2Y.js.map +1 -0
  121. package/dist/{chunk-EI44AIUW.js → chunk-ZFTMZUXE.js} +2 -2
  122. package/dist/chunk-ZU46EKGD.js +2 -0
  123. package/dist/chunk-ZU46EKGD.js.map +1 -0
  124. package/dist/default-components.d.ts +2 -2
  125. package/dist/default-components.js +1 -1
  126. package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.d.ts +1 -1
  127. package/dist/flows/ContractAmendment/ContractAmendmentFlow.d.ts +3 -3
  128. package/dist/flows/ContractAmendment/ContractAmendmentFlow.js +1 -1
  129. package/dist/flows/ContractAmendment/ContractAmendmentForm.d.ts +1 -1
  130. package/dist/flows/ContractAmendment/ContractAmendmentForm.js +1 -1
  131. package/dist/flows/ContractAmendment/context.d.ts +3 -3
  132. package/dist/flows/ContractAmendment/hooks.d.ts +3 -3
  133. package/dist/flows/ContractAmendment/hooks.js +1 -1
  134. package/dist/flows/ContractAmendment/index.d.ts +3 -3
  135. package/dist/flows/ContractAmendment/index.js +1 -1
  136. package/dist/flows/ContractAmendment/types.d.ts +3 -2
  137. package/dist/flows/ContractAmendment/utils.d.ts +2 -2
  138. package/dist/flows/ContractorOnboarding/ContractorOnboarding.d.ts +5 -5
  139. package/dist/flows/ContractorOnboarding/ContractorOnboarding.js +1 -1
  140. package/dist/flows/ContractorOnboarding/api.d.ts +3 -2
  141. package/dist/flows/ContractorOnboarding/api.js +1 -1
  142. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.d.ts +4 -4
  143. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.js +1 -1
  144. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.d.ts +5 -5
  145. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.js +1 -1
  146. package/dist/flows/ContractorOnboarding/components/ContractOriginStep.d.ts +3 -3
  147. package/dist/flows/ContractorOnboarding/components/ContractOriginStep.js +1 -1
  148. package/dist/flows/ContractorOnboarding/components/ContractPreviewHeader.d.ts +2 -2
  149. package/dist/flows/ContractorOnboarding/components/ContractPreviewStatement.d.ts +2 -2
  150. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.d.ts +5 -5
  151. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.js +1 -1
  152. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.d.ts +5 -5
  153. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.js +1 -1
  154. package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.d.ts +5 -5
  155. package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.js +1 -1
  156. package/dist/flows/ContractorOnboarding/components/OnboardingInvite.d.ts +3 -3
  157. package/dist/flows/ContractorOnboarding/components/OnboardingInvite.js +1 -1
  158. package/dist/flows/ContractorOnboarding/components/PricingPlan.d.ts +5 -5
  159. package/dist/flows/ContractorOnboarding/components/PricingPlan.js +1 -1
  160. package/dist/flows/ContractorOnboarding/components/SaveDraftButton.d.ts +3 -3
  161. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.d.ts +4 -4
  162. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.js +1 -1
  163. package/dist/flows/ContractorOnboarding/context.d.ts +5 -5
  164. package/dist/flows/ContractorOnboarding/hooks.d.ts +5 -5
  165. package/dist/flows/ContractorOnboarding/hooks.js +1 -1
  166. package/dist/flows/ContractorOnboarding/index.d.ts +5 -5
  167. package/dist/flows/ContractorOnboarding/index.js +1 -1
  168. package/dist/flows/ContractorOnboarding/jsfModify.d.ts +5 -5
  169. package/dist/flows/ContractorOnboarding/jsfModify.js +1 -1
  170. package/dist/flows/ContractorOnboarding/types.d.ts +5 -5
  171. package/dist/flows/ContractorOnboarding/utils.d.ts +4 -4
  172. package/dist/flows/CostCalculator/CostCalculatorFlow.d.ts +3 -3
  173. package/dist/flows/CostCalculator/CostCalculatorFlow.js +1 -1
  174. package/dist/flows/CostCalculator/CostCalculatorForm.d.ts +3 -3
  175. package/dist/flows/CostCalculator/CostCalculatorForm.js +1 -1
  176. package/dist/flows/CostCalculator/EstimationResults/EstimationResults.d.ts +3 -2
  177. package/dist/flows/CostCalculator/EstimationResults/EstimationResults.js +1 -1
  178. package/dist/flows/CostCalculator/SummaryResults/SummaryResults.d.ts +3 -2
  179. package/dist/flows/CostCalculator/api.d.ts +3 -2
  180. package/dist/flows/CostCalculator/api.js +1 -1
  181. package/dist/flows/CostCalculator/components/SalaryField.d.ts +2 -2
  182. package/dist/flows/CostCalculator/components/SalaryField.js +1 -1
  183. package/dist/flows/CostCalculator/context.d.ts +3 -3
  184. package/dist/flows/CostCalculator/hooks.d.ts +3 -3
  185. package/dist/flows/CostCalculator/hooks.js +1 -1
  186. package/dist/flows/CostCalculator/index.d.ts +3 -3
  187. package/dist/flows/CostCalculator/index.js +1 -1
  188. package/dist/flows/CostCalculator/types.d.ts +3 -2
  189. package/dist/flows/CostCalculator/utils.d.ts +3 -3
  190. package/dist/flows/CostCalculator/utils.js +1 -1
  191. package/dist/flows/CreateCompany/CreateCompany.d.ts +4 -4
  192. package/dist/flows/CreateCompany/CreateCompany.js +1 -1
  193. package/dist/flows/CreateCompany/api.d.ts +3 -2
  194. package/dist/flows/CreateCompany/api.js +1 -1
  195. package/dist/flows/CreateCompany/components/AddressDetailsStep.d.ts +4 -4
  196. package/dist/flows/CreateCompany/components/AddressDetailsStep.js +1 -1
  197. package/dist/flows/CreateCompany/components/CompanyBasicInformationStep.d.ts +4 -4
  198. package/dist/flows/CreateCompany/components/CompanyBasicInformationStep.js +1 -1
  199. package/dist/flows/CreateCompany/components/CreateCompanyForm.d.ts +2 -2
  200. package/dist/flows/CreateCompany/components/CreateCompanyForm.js +1 -1
  201. package/dist/flows/CreateCompany/context.d.ts +4 -4
  202. package/dist/flows/CreateCompany/hooks.d.ts +4 -4
  203. package/dist/flows/CreateCompany/hooks.js +1 -1
  204. package/dist/flows/CreateCompany/index.d.ts +4 -4
  205. package/dist/flows/CreateCompany/index.js +1 -1
  206. package/dist/flows/CreateCompany/types.d.ts +4 -4
  207. package/dist/flows/Onboarding/OnboardingFlow.d.ts +4 -4
  208. package/dist/flows/Onboarding/OnboardingFlow.js +1 -1
  209. package/dist/flows/Onboarding/api.d.ts +4 -4
  210. package/dist/flows/Onboarding/api.js +1 -1
  211. package/dist/flows/Onboarding/components/AnnualGrossSalary.d.ts +2 -2
  212. package/dist/flows/Onboarding/components/AnnualGrossSalary.js +1 -1
  213. package/dist/flows/Onboarding/components/BasicInformationStep.d.ts +4 -4
  214. package/dist/flows/Onboarding/components/BasicInformationStep.js +1 -1
  215. package/dist/flows/Onboarding/components/BenefitsStep.d.ts +4 -4
  216. package/dist/flows/Onboarding/components/BenefitsStep.js +1 -1
  217. package/dist/flows/Onboarding/components/ContractDetailsStep.d.ts +4 -4
  218. package/dist/flows/Onboarding/components/ContractDetailsStep.js +1 -1
  219. package/dist/flows/Onboarding/components/EmploymentAgreementInfoContent.js +1 -1
  220. package/dist/flows/Onboarding/components/EngagementAgreementDetailsStep.d.ts +4 -4
  221. package/dist/flows/Onboarding/components/EngagementAgreementDetailsStep.js +1 -1
  222. package/dist/flows/Onboarding/components/OnboardingForm.d.ts +4 -4
  223. package/dist/flows/Onboarding/components/OnboardingForm.js +1 -1
  224. package/dist/flows/Onboarding/components/OnboardingInvite.d.ts +3 -3
  225. package/dist/flows/Onboarding/components/OnboardingInvite.js +1 -1
  226. package/dist/flows/Onboarding/components/PreOnboardingRequirements.d.ts +6 -6
  227. package/dist/flows/Onboarding/components/PreOnboardingRequirements.js +1 -1
  228. package/dist/flows/Onboarding/components/PreviewEmploymentAgreementStep.js +1 -1
  229. package/dist/flows/Onboarding/components/ReviewStep.d.ts +4 -4
  230. package/dist/flows/Onboarding/components/SaveDraftButton.d.ts +3 -3
  231. package/dist/flows/Onboarding/components/SelectCountryStep.d.ts +4 -4
  232. package/dist/flows/Onboarding/components/SelectCountryStep.js +1 -1
  233. package/dist/flows/Onboarding/context.d.ts +4 -4
  234. package/dist/flows/Onboarding/hooks.d.ts +4 -4
  235. package/dist/flows/Onboarding/hooks.js +1 -1
  236. package/dist/flows/Onboarding/index.d.ts +4 -4
  237. package/dist/flows/Onboarding/index.js +1 -1
  238. package/dist/flows/Onboarding/types.d.ts +4 -4
  239. package/dist/flows/Onboarding/utils.d.ts +4 -4
  240. package/dist/flows/PayrollAdminOnboarding/PayrollAdminOnboardingFlow.d.ts +8 -5
  241. package/dist/flows/PayrollAdminOnboarding/PayrollAdminOnboardingFlow.js +1 -1
  242. package/dist/flows/PayrollAdminOnboarding/api.d.ts +82 -0
  243. package/dist/flows/PayrollAdminOnboarding/api.js +2 -0
  244. package/dist/flows/PayrollAdminOnboarding/api.js.map +1 -0
  245. package/dist/flows/PayrollAdminOnboarding/components/AdministrativeDetailsStep.d.ts +12 -0
  246. package/dist/flows/PayrollAdminOnboarding/components/AdministrativeDetailsStep.js +2 -0
  247. package/dist/flows/PayrollAdminOnboarding/components/AdministrativeDetailsStep.js.map +1 -0
  248. package/dist/flows/PayrollAdminOnboarding/components/BackButton.d.ts +6 -0
  249. package/dist/flows/PayrollAdminOnboarding/components/BackButton.js +2 -0
  250. package/dist/flows/PayrollAdminOnboarding/components/BackButton.js.map +1 -0
  251. package/dist/flows/PayrollAdminOnboarding/components/ContractDetailsStep.d.ts +12 -0
  252. package/dist/flows/PayrollAdminOnboarding/components/ContractDetailsStep.js +2 -0
  253. package/dist/flows/PayrollAdminOnboarding/components/ContractDetailsStep.js.map +1 -0
  254. package/dist/flows/PayrollAdminOnboarding/components/InvitationStep.d.ts +16 -0
  255. package/dist/flows/PayrollAdminOnboarding/components/InvitationStep.js +2 -0
  256. package/dist/flows/PayrollAdminOnboarding/components/InvitationStep.js.map +1 -0
  257. package/dist/flows/PayrollAdminOnboarding/components/PayrollAdminForm.d.ts +13 -0
  258. package/dist/flows/PayrollAdminOnboarding/components/PayrollAdminForm.js +2 -0
  259. package/dist/flows/PayrollAdminOnboarding/components/PayrollAdminForm.js.map +1 -0
  260. package/dist/flows/PayrollAdminOnboarding/components/SelectCountryStep.d.ts +12 -0
  261. package/dist/flows/PayrollAdminOnboarding/components/SelectCountryStep.js +2 -0
  262. package/dist/flows/PayrollAdminOnboarding/components/SelectCountryStep.js.map +1 -0
  263. package/dist/flows/PayrollAdminOnboarding/components/SubmitButton.d.ts +6 -0
  264. package/dist/flows/PayrollAdminOnboarding/components/SubmitButton.js +2 -0
  265. package/dist/flows/PayrollAdminOnboarding/components/SubmitButton.js.map +1 -0
  266. package/dist/flows/PayrollAdminOnboarding/components/useStepSubmitHandler.d.ts +12 -0
  267. package/dist/flows/PayrollAdminOnboarding/components/useStepSubmitHandler.js +2 -0
  268. package/dist/flows/PayrollAdminOnboarding/components/useStepSubmitHandler.js.map +1 -0
  269. package/dist/flows/PayrollAdminOnboarding/context.d.ts +7 -4
  270. package/dist/flows/PayrollAdminOnboarding/hooks.d.ts +7 -4
  271. package/dist/flows/PayrollAdminOnboarding/hooks.js +1 -1
  272. package/dist/flows/PayrollAdminOnboarding/index.d.ts +9 -6
  273. package/dist/flows/PayrollAdminOnboarding/index.js +1 -1
  274. package/dist/flows/PayrollAdminOnboarding/json-schemas/selectCountryStep.d.ts +22 -0
  275. package/dist/flows/PayrollAdminOnboarding/json-schemas/selectCountryStep.js +2 -0
  276. package/dist/flows/PayrollAdminOnboarding/json-schemas/selectCountryStep.js.map +1 -0
  277. package/dist/flows/PayrollAdminOnboarding/types.d.ts +8 -5
  278. package/dist/flows/PayrollEmployeeOnboarding/PayrollEmployeeOnboardingFlow.d.ts +9 -6
  279. package/dist/flows/PayrollEmployeeOnboarding/PayrollEmployeeOnboardingFlow.js +1 -1
  280. package/dist/flows/PayrollEmployeeOnboarding/api.d.ts +69 -0
  281. package/dist/flows/PayrollEmployeeOnboarding/api.js +2 -0
  282. package/dist/flows/PayrollEmployeeOnboarding/api.js.map +1 -0
  283. package/dist/flows/PayrollEmployeeOnboarding/components/BackButton.d.ts +6 -0
  284. package/dist/flows/PayrollEmployeeOnboarding/components/BackButton.js +2 -0
  285. package/dist/flows/PayrollEmployeeOnboarding/components/BackButton.js.map +1 -0
  286. package/dist/flows/PayrollEmployeeOnboarding/components/BankAccountStep.d.ts +17 -0
  287. package/dist/flows/PayrollEmployeeOnboarding/components/BankAccountStep.js +2 -0
  288. package/dist/flows/PayrollEmployeeOnboarding/components/BankAccountStep.js.map +1 -0
  289. package/dist/flows/PayrollEmployeeOnboarding/components/FederalTaxesStep.d.ts +18 -0
  290. package/dist/flows/PayrollEmployeeOnboarding/components/FederalTaxesStep.js +2 -0
  291. package/dist/flows/PayrollEmployeeOnboarding/components/FederalTaxesStep.js.map +1 -0
  292. package/dist/flows/PayrollEmployeeOnboarding/components/HomeAddressStep.d.ts +12 -0
  293. package/dist/flows/PayrollEmployeeOnboarding/components/HomeAddressStep.js +2 -0
  294. package/dist/flows/PayrollEmployeeOnboarding/components/HomeAddressStep.js.map +1 -0
  295. package/dist/flows/PayrollEmployeeOnboarding/components/PayrollEmployeeForm.d.ts +13 -0
  296. package/dist/flows/PayrollEmployeeOnboarding/components/PayrollEmployeeForm.js +2 -0
  297. package/dist/flows/PayrollEmployeeOnboarding/components/PayrollEmployeeForm.js.map +1 -0
  298. package/dist/flows/PayrollEmployeeOnboarding/components/PersonalDetailsStep.d.ts +12 -0
  299. package/dist/flows/PayrollEmployeeOnboarding/components/PersonalDetailsStep.js +2 -0
  300. package/dist/flows/PayrollEmployeeOnboarding/components/PersonalDetailsStep.js.map +1 -0
  301. package/dist/flows/PayrollEmployeeOnboarding/components/StateTaxesStep.d.ts +18 -0
  302. package/dist/flows/PayrollEmployeeOnboarding/components/StateTaxesStep.js +2 -0
  303. package/dist/flows/PayrollEmployeeOnboarding/components/StateTaxesStep.js.map +1 -0
  304. package/dist/flows/PayrollEmployeeOnboarding/components/SubmitButton.d.ts +6 -0
  305. package/dist/flows/PayrollEmployeeOnboarding/components/SubmitButton.js +2 -0
  306. package/dist/flows/PayrollEmployeeOnboarding/components/SubmitButton.js.map +1 -0
  307. package/dist/flows/PayrollEmployeeOnboarding/components/useEmployeeStepSubmitHandler.d.ts +12 -0
  308. package/dist/flows/PayrollEmployeeOnboarding/components/useEmployeeStepSubmitHandler.js +2 -0
  309. package/dist/flows/PayrollEmployeeOnboarding/components/useEmployeeStepSubmitHandler.js.map +1 -0
  310. package/dist/flows/PayrollEmployeeOnboarding/context.d.ts +7 -4
  311. package/dist/flows/PayrollEmployeeOnboarding/hooks.d.ts +8 -5
  312. package/dist/flows/PayrollEmployeeOnboarding/hooks.js +1 -1
  313. package/dist/flows/PayrollEmployeeOnboarding/index.d.ts +9 -6
  314. package/dist/flows/PayrollEmployeeOnboarding/index.js +1 -1
  315. package/dist/flows/PayrollEmployeeOnboarding/taxErrors.d.ts +12 -0
  316. package/dist/flows/PayrollEmployeeOnboarding/taxErrors.js +2 -0
  317. package/dist/flows/PayrollEmployeeOnboarding/taxErrors.js.map +1 -0
  318. package/dist/flows/PayrollEmployeeOnboarding/types.d.ts +8 -5
  319. package/dist/flows/Termination/AdditionalDetailsForm.d.ts +4 -4
  320. package/dist/flows/Termination/AdditionalDetailsForm.js +1 -1
  321. package/dist/flows/Termination/EmployeeComunicationForm.d.ts +4 -4
  322. package/dist/flows/Termination/EmployeeComunicationForm.js +1 -1
  323. package/dist/flows/Termination/PaidTimeOffForm.d.ts +4 -4
  324. package/dist/flows/Termination/PaidTimeOffForm.js +1 -1
  325. package/dist/flows/Termination/TerminationDetailsForm.d.ts +4 -4
  326. package/dist/flows/Termination/TerminationDetailsForm.js +1 -1
  327. package/dist/flows/Termination/TerminationFlow.d.ts +4 -4
  328. package/dist/flows/Termination/TerminationFlow.js +1 -1
  329. package/dist/flows/Termination/TerminationForm.d.ts +4 -4
  330. package/dist/flows/Termination/TerminationForm.js +1 -1
  331. package/dist/flows/Termination/api.d.ts +5 -5
  332. package/dist/flows/Termination/api.js +1 -1
  333. package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformationFees.js +1 -1
  334. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.d.ts +6 -6
  335. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.d.ts +6 -6
  336. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.js +1 -1
  337. package/dist/flows/Termination/components/PaidTimeOff/types.d.ts +6 -6
  338. package/dist/flows/Termination/components/TerminationDialogInfoContent/TerminationDialogInfoContent.js +1 -1
  339. package/dist/flows/Termination/context.d.ts +4 -4
  340. package/dist/flows/Termination/hooks.d.ts +4 -4
  341. package/dist/flows/Termination/hooks.js +1 -1
  342. package/dist/flows/Termination/index.d.ts +6 -6
  343. package/dist/flows/Termination/index.js +1 -1
  344. package/dist/flows/Termination/json-schemas/jsonSchema.js +1 -1
  345. package/dist/flows/Termination/json-schemas/schema.d.ts +4 -4
  346. package/dist/flows/Termination/json-schemas/schema.js +1 -1
  347. package/dist/flows/Termination/types.d.ts +4 -4
  348. package/dist/flows/Termination/utils.d.ts +4 -4
  349. package/dist/flows/types.d.ts +18 -3
  350. package/dist/flows/useStepState.js +1 -1
  351. package/dist/flows/utils.d.ts +2 -2
  352. package/dist/index.d.ts +14 -14
  353. package/dist/index.js +2 -2
  354. package/dist/index.js.map +1 -1
  355. package/dist/internals.d.ts +3 -3
  356. package/dist/internals.js +1 -1
  357. package/dist/{mutations-Bb4S8J29.d.ts → mutations-DvVcqvg5.d.ts} +1 -1
  358. package/dist/{remoteFlows-CZEN0YS9.d.ts → remoteFlows-CechEV91.d.ts} +2 -2
  359. package/dist/{types-cBDclXLf.d.ts → types-9je8PSj5.d.ts} +3 -3
  360. package/dist/{types-DuPw8mPr.d.ts → types-BAC83sie.d.ts} +2 -2
  361. package/dist/types-BK8KKAy9.d.ts +117 -0
  362. package/dist/{types-BjDBV8pu.d.ts → types-BZ848Pt4.d.ts} +1 -1
  363. package/dist/{types-CBkHhvbz.d.ts → types-BqWiHByM.d.ts} +4 -4
  364. package/dist/{types-QvgO54zG.d.ts → types-CofHUO5N.d.ts} +39 -20
  365. package/dist/{types-DvNZcY-b.d.ts → types-DkSb8xxm.d.ts} +44 -11
  366. package/dist/{types.gen-rKTincuW.d.ts → types.gen-CfmmdzdT.d.ts} +171 -61
  367. package/dist/{utils-Cexn9XOb.d.ts → utils-C8GdUhD6.d.ts} +1 -1
  368. package/package.json +1 -1
  369. package/dist/CheckboxFieldDefault-OK7JODEG.js +0 -2
  370. package/dist/CountryFieldDefault-ORC6XVVK.js +0 -2
  371. package/dist/DatePickerFieldDefault-XMG6ZDVQ.js +0 -2
  372. package/dist/RadioGroupFieldDefault-X3HP3BDR.js +0 -2
  373. package/dist/TextAreaFieldDefault-5YJYIBAO.js +0 -2
  374. package/dist/chunk-2TAVZJPX.js +0 -2
  375. package/dist/chunk-3BRO52TO.js +0 -2
  376. package/dist/chunk-3BRO52TO.js.map +0 -1
  377. package/dist/chunk-3DD3UNKM.js +0 -2
  378. package/dist/chunk-3GB6QH7W.js +0 -2
  379. package/dist/chunk-6TKWWM5A.js +0 -2
  380. package/dist/chunk-6TKWWM5A.js.map +0 -1
  381. package/dist/chunk-ARNYUYFG.js +0 -2
  382. package/dist/chunk-ARNYUYFG.js.map +0 -1
  383. package/dist/chunk-BYDNNJHZ.js +0 -8
  384. package/dist/chunk-BYDNNJHZ.js.map +0 -1
  385. package/dist/chunk-DN6BXTAC.js +0 -2
  386. package/dist/chunk-GYSU3LLC.js +0 -2
  387. package/dist/chunk-JDIKYCN6.js +0 -2
  388. package/dist/chunk-JDIKYCN6.js.map +0 -1
  389. package/dist/chunk-RU5E42WN.js +0 -2
  390. package/dist/chunk-RU5E42WN.js.map +0 -1
  391. package/dist/chunk-TMBL5YM4.js +0 -2
  392. package/dist/chunk-TMBL5YM4.js.map +0 -1
  393. package/dist/chunk-UOWQ7UKA.js +0 -2
  394. package/dist/chunk-UOWQ7UKA.js.map +0 -1
  395. package/dist/chunk-XT6WMFV5.js +0 -2
  396. package/dist/types-CBDzsY3a.d.ts +0 -53
  397. /package/dist/{CheckboxFieldDefault-OK7JODEG.js.map → CheckboxFieldDefault-VKVKDNK4.js.map} +0 -0
  398. /package/dist/{CountryFieldDefault-ORC6XVVK.js.map → CountryFieldDefault-N7P5V5NR.js.map} +0 -0
  399. /package/dist/{DatePickerFieldDefault-XMG6ZDVQ.js.map → DatePickerFieldDefault-V3F2DLPV.js.map} +0 -0
  400. /package/dist/{RadioGroupFieldDefault-X3HP3BDR.js.map → RadioGroupFieldDefault-UMDJEJZU.js.map} +0 -0
  401. /package/dist/{TextAreaFieldDefault-5YJYIBAO.js.map → TextAreaFieldDefault-5CV4XTOT.js.map} +0 -0
  402. /package/dist/{chunk-TZGC6PWQ.js.map → chunk-2PZFP56I.js.map} +0 -0
  403. /package/dist/{chunk-L3ZVE4JS.js.map → chunk-2RGJDZY5.js.map} +0 -0
  404. /package/dist/{chunk-PDQ5GZSE.js.map → chunk-3XJJ4HXR.js.map} +0 -0
  405. /package/dist/{chunk-ZVNUZW4X.js.map → chunk-47IOBQQK.js.map} +0 -0
  406. /package/dist/{chunk-DN6BXTAC.js.map → chunk-5MPW7QWT.js.map} +0 -0
  407. /package/dist/{chunk-PXU2LCFW.js.map → chunk-6LDS3IEF.js.map} +0 -0
  408. /package/dist/{chunk-NRGNFMIO.js.map → chunk-AJ4MBLOD.js.map} +0 -0
  409. /package/dist/{chunk-IVDF2PMA.js.map → chunk-BOE6NL6T.js.map} +0 -0
  410. /package/dist/{chunk-YYX3OX7N.js.map → chunk-BT66BBW7.js.map} +0 -0
  411. /package/dist/{chunk-A5SRPVT2.js.map → chunk-CG6HX6UO.js.map} +0 -0
  412. /package/dist/{chunk-OPDKYPYM.js.map → chunk-DSGQZDY6.js.map} +0 -0
  413. /package/dist/{chunk-7XZP24UE.js.map → chunk-DZTCYIAO.js.map} +0 -0
  414. /package/dist/{chunk-LVTBMTOU.js.map → chunk-EFPJWNJM.js.map} +0 -0
  415. /package/dist/{chunk-A675PPWA.js.map → chunk-ESJIOFFN.js.map} +0 -0
  416. /package/dist/{chunk-3QG44XYC.js.map → chunk-FUDRYKIB.js.map} +0 -0
  417. /package/dist/{chunk-ZQWAUPIL.js.map → chunk-FWUSJ6VA.js.map} +0 -0
  418. /package/dist/{chunk-X25ZOPO6.js.map → chunk-G5YHPMZC.js.map} +0 -0
  419. /package/dist/{chunk-RLFV5DLC.js.map → chunk-GCMBCASL.js.map} +0 -0
  420. /package/dist/{chunk-H6Z54SNM.js.map → chunk-GECWUJEZ.js.map} +0 -0
  421. /package/dist/{chunk-BSOKKYGH.js.map → chunk-HNQMRZMV.js.map} +0 -0
  422. /package/dist/{chunk-SRXYQVLN.js.map → chunk-HQXMHMKE.js.map} +0 -0
  423. /package/dist/{chunk-5LJ5IFXF.js.map → chunk-HTF7CUHW.js.map} +0 -0
  424. /package/dist/{chunk-6NKXOUJW.js.map → chunk-HXEOVMUT.js.map} +0 -0
  425. /package/dist/{chunk-RFVHV6RE.js.map → chunk-J2L3CYIS.js.map} +0 -0
  426. /package/dist/{chunk-V7YF7ICV.js.map → chunk-JOR4AIRW.js.map} +0 -0
  427. /package/dist/{chunk-WKAVKFP6.js.map → chunk-JVLARDTF.js.map} +0 -0
  428. /package/dist/{chunk-TM2GTPUI.js.map → chunk-KGRA5MUT.js.map} +0 -0
  429. /package/dist/{chunk-PSCFVUJB.js.map → chunk-LFHFZU6X.js.map} +0 -0
  430. /package/dist/{chunk-S4QKVG2B.js.map → chunk-LSC6NTXD.js.map} +0 -0
  431. /package/dist/{chunk-UZBAOB4W.js.map → chunk-M7TNUSD4.js.map} +0 -0
  432. /package/dist/{chunk-ID4S6FWD.js.map → chunk-MKO33XZ5.js.map} +0 -0
  433. /package/dist/{chunk-G7N6QIOB.js.map → chunk-MNU7XYNI.js.map} +0 -0
  434. /package/dist/{chunk-TWBTRW4Z.js.map → chunk-N64UNJDY.js.map} +0 -0
  435. /package/dist/{chunk-BS2B4OOE.js.map → chunk-NL6J7N4R.js.map} +0 -0
  436. /package/dist/{chunk-Q7SMO5VI.js.map → chunk-OC6P4VCC.js.map} +0 -0
  437. /package/dist/{chunk-GHHMGTM4.js.map → chunk-ODVWR3Q2.js.map} +0 -0
  438. /package/dist/{chunk-YW4FHEYJ.js.map → chunk-OV3ZB5MP.js.map} +0 -0
  439. /package/dist/{chunk-YRNO7X3H.js.map → chunk-PLG6FBQY.js.map} +0 -0
  440. /package/dist/{chunk-LWTE6DD4.js.map → chunk-PQOOEARB.js.map} +0 -0
  441. /package/dist/{chunk-ZF3JITFM.js.map → chunk-PSU2AEFU.js.map} +0 -0
  442. /package/dist/{chunk-4QJUNKBR.js.map → chunk-QH4D5IUC.js.map} +0 -0
  443. /package/dist/{chunk-X4IJ52GQ.js.map → chunk-QLYOADZI.js.map} +0 -0
  444. /package/dist/{chunk-DAFIBCX4.js.map → chunk-RFEF2B5D.js.map} +0 -0
  445. /package/dist/{chunk-3QSHWQS3.js.map → chunk-RKRYZZ3R.js.map} +0 -0
  446. /package/dist/{chunk-BJZXTS47.js.map → chunk-S35AFXC5.js.map} +0 -0
  447. /package/dist/{chunk-J3HIQRZO.js.map → chunk-SP2XK27T.js.map} +0 -0
  448. /package/dist/{chunk-HGY2ZKJN.js.map → chunk-TEYUKQIC.js.map} +0 -0
  449. /package/dist/{chunk-C3J4KQEW.js.map → chunk-UCTUH2PW.js.map} +0 -0
  450. /package/dist/{chunk-FMP4J4GT.js.map → chunk-UROJWVTV.js.map} +0 -0
  451. /package/dist/{chunk-TNGJKUUV.js.map → chunk-V73B2ODG.js.map} +0 -0
  452. /package/dist/{chunk-IOGX6GAZ.js.map → chunk-WILDFDDO.js.map} +0 -0
  453. /package/dist/{chunk-4KKA35AX.js.map → chunk-WUUVA6KN.js.map} +0 -0
  454. /package/dist/{chunk-DS6URMR3.js.map → chunk-WX3PEOTF.js.map} +0 -0
  455. /package/dist/{chunk-IF42CZJH.js.map → chunk-XGECMN4V.js.map} +0 -0
  456. /package/dist/{chunk-SRGB5JQU.js.map → chunk-XGSPLTOD.js.map} +0 -0
  457. /package/dist/{chunk-3YP27SZK.js.map → chunk-XJIICTBB.js.map} +0 -0
  458. /package/dist/{chunk-GNDFT5KG.js.map → chunk-Y2K74EBE.js.map} +0 -0
  459. /package/dist/{chunk-O4CLVNOP.js.map → chunk-Y6JRTQCB.js.map} +0 -0
  460. /package/dist/{chunk-KSJLZDGY.js.map → chunk-YMDSJ6OX.js.map} +0 -0
  461. /package/dist/{chunk-QK3FQD6C.js.map → chunk-YN3HZWGV.js.map} +0 -0
  462. /package/dist/{chunk-QZMSDP2S.js.map → chunk-YOMORSUA.js.map} +0 -0
  463. /package/dist/{chunk-EI44AIUW.js.map → chunk-ZFTMZUXE.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/Onboarding/api.ts"],"sourcesContent":["import { useMutation, useQuery, UseQueryResult } from '@tanstack/react-query';\nimport { FieldValues } from 'react-hook-form';\nimport { Client } from '@/src/client/client';\nimport {\n ConvertCurrencyParams,\n CreateContractEligibilityParams,\n EmploymentCreateParams,\n EmploymentEngagementAgreementDetailsParams,\n EmploymentFullParams,\n getV1CompaniesCompanyId,\n getV1CompaniesCompanyIdEmploymentsEmploymentIdOnboardingReservesStatus,\n getV1CountriesCountryCodeEngagementAgreementDetails,\n getV1CountriesCountryCodeForm,\n getV1EmploymentsEmploymentIdBenefitOffers,\n getV1EmploymentsEmploymentIdBenefitOffersSchema,\n getV1EmploymentsEmploymentIdEmploymentAgreementPreview,\n getV2EmploymentsEmploymentIdEngagementAgreementDetails,\n patchV1EmploymentsEmploymentId2,\n postV1CurrencyConverterEffective,\n postV1CurrencyConverterRaw,\n postV1Employments,\n postV1EmploymentsEmploymentIdContractEligibility,\n postV2EmploymentsEmploymentIdEngagementAgreementDetails,\n postV1EmploymentsEmploymentIdInvite,\n PostV1EmploymentsEmploymentIdInviteData,\n postV1OnboardingEmploymentsEmploymentIdPreOnboardingRequirementsRequirementSlugDocuments,\n postV1OnboardingEmploymentsEmploymentIdPreOnboardingRequirementsRequirementSlugAcknowledge,\n deleteV1OnboardingEmploymentsEmploymentIdPreOnboardingRequirementsRequirementSlugAcknowledge,\n postV1OnboardingEmploymentsEmploymentIdPreOnboardingDocumentsIdSign,\n postV1RiskReserve,\n putV1EmploymentsEmploymentIdBenefitOffers,\n UnifiedEmploymentUpsertBenefitOffersRequest,\n getV1OnboardingEmploymentsEmploymentIdPreOnboardingRequirements,\n getV1OnboardingEmploymentsEmploymentIdPreOnboardingDocumentsId,\n PostV1OnboardingEmploymentsEmploymentIdPreOnboardingRequirementsRequirementSlugDocumentsData,\n} from '@/src/client';\n\nimport { useClient } from '@/src/context';\nimport { selectCountryStepSchema } from '@/src/flows/Onboarding/json-schemas/selectCountryStep';\nimport {\n OnboardingFlowProps,\n OnboardingJsfModify,\n} from '@/src/flows/Onboarding/types';\nimport {\n JSONSchemaFormResultWithFieldsets,\n JSONSchemaFormType,\n FlowOptions,\n} from '@/src/flows/types';\nimport {\n getContractDetailsSchemaVersion,\n getBasicInformationSchemaVersion,\n getBenefitOffersSchemaVersion,\n} from '@/src/flows/Onboarding/utils';\nimport { createHeadlessForm } from '@/src/common/createHeadlessForm';\nimport { countriesOptions } from '@/src/common/api/countries';\n\nexport const useCompany = (companyId: string) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['company', companyId],\n retry: false,\n enabled: !!companyId,\n queryFn: async () => {\n const response = await getV1CompaniesCompanyId({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n path: {\n company_id: companyId,\n },\n });\n\n if (response.error || !response.data) {\n throw new Error('Failed to fetch employment data');\n }\n\n return response;\n },\n select: ({ data }) => {\n return data.data.company;\n },\n });\n};\n\nexport const useBenefitOffers = (employmentId: string | undefined) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['benefit-offers', employmentId],\n retry: false,\n enabled: !!employmentId,\n queryFn: async () => {\n return getV1EmploymentsEmploymentIdBenefitOffers({\n client: client as Client,\n path: {\n employment_id: employmentId as string,\n },\n }).then((response) => {\n // If response status is 404 or other error, throw an error to trigger isError\n if (response.error || !response.data) {\n throw new Error('Failed to fetch benefit offers data');\n }\n\n return response;\n });\n },\n select: ({ data }) =>\n data?.data?.reduce(\n (acc, item) => {\n return {\n ...acc,\n [item.benefit_group.slug]: {\n value: item.benefit_tier?.slug ?? 'no',\n ...(item.benefit_group?.filter?.slug\n ? { filter: item.benefit_group?.filter?.slug }\n : {}),\n },\n };\n },\n {} as Record<string, { value: string }>,\n ),\n });\n};\n\nexport const useEmploymentEngagementAgreementDetails = (\n employmentId: string | undefined,\n queryOptions?: { enabled?: boolean },\n) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['employment-engagement-agreement-details', employmentId],\n retry: false,\n enabled: queryOptions?.enabled ?? !!employmentId,\n queryFn: async () => {\n return getV2EmploymentsEmploymentIdEngagementAgreementDetails({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n path: {\n employment_id: employmentId as string,\n },\n }).then((response) => {\n if (response.error || !response.data) {\n throw new Error('Failed to fetch engagement agreement details');\n }\n return response;\n });\n },\n select: ({ data }) => data?.data?.details,\n });\n};\n\n/**\n * Use this hook to invite an employee to the onboarding flow\n * @returns\n */\nexport const useEmploymentInvite = () => {\n const { client } = useClient();\n\n return useMutation({\n mutationFn: (payload: PostV1EmploymentsEmploymentIdInviteData['path']) => {\n return postV1EmploymentsEmploymentIdInvite({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n path: payload,\n });\n },\n });\n};\n\nexport const useCreateReserveInvoice = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: (payload: { employment_slug: string }) => {\n return postV1RiskReserve({\n client: client as Client,\n body: payload,\n });\n },\n });\n};\n\n/**\n * Use this hook to get the JSON schema form for the onboarding flow\n * @param param0\n * @returns\n */\nexport const useJSONSchemaForm = ({\n countryCode,\n form,\n fieldValues,\n options,\n query = {},\n jsonSchemaVersion,\n}: {\n countryCode: string;\n form: JSONSchemaFormType;\n fieldValues: FieldValues;\n options?: FlowOptions & { queryOptions?: { enabled?: boolean } };\n query?: Record<string, unknown>;\n jsonSchemaVersion?: number | 'latest';\n}): UseQueryResult<JSONSchemaFormResultWithFieldsets> => {\n const { client } = useClient();\n const jsonSchemaQueryParam = jsonSchemaVersion\n ? {\n json_schema_version: jsonSchemaVersion,\n }\n : {};\n return useQuery({\n queryKey: [\n 'onboarding-json-schema-form',\n countryCode,\n form,\n jsonSchemaVersion,\n ],\n retry: false,\n queryFn: async () => {\n const response = await getV1CountriesCountryCodeForm({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n path: {\n country_code: countryCode,\n form: form,\n },\n query: {\n skip_benefits: true,\n ...query,\n ...jsonSchemaQueryParam,\n },\n });\n\n // If response status is 404 or other error, throw an error to trigger isError\n if (response.error || !response.data) {\n throw new Error('Failed to fetch onboarding schema');\n }\n\n return response;\n },\n enabled: options?.queryOptions?.enabled,\n select: ({ data }) => {\n const jsfSchema = data?.data || {};\n return createHeadlessForm(jsfSchema, fieldValues, options);\n },\n });\n};\n\nexport const useBenefitOffersSchema = (\n employmentId: string,\n fieldValues: FieldValues,\n options: OnboardingFlowProps['options'],\n) => {\n const { client } = useClient();\n const jsonSchemaQueryParam = {\n json_schema_version: getBenefitOffersSchemaVersion(options),\n };\n\n return useQuery({\n queryKey: ['benefit-offers-schema', employmentId],\n retry: false,\n enabled: !!employmentId,\n queryFn: async () => {\n const response = await getV1EmploymentsEmploymentIdBenefitOffersSchema({\n client: client as Client,\n path: {\n employment_id: employmentId,\n },\n query: jsonSchemaQueryParam,\n });\n\n // If response status is 404 or other error, throw an error to trigger isError\n if (response.error || !response.data) {\n throw new Error('Failed to fetch benefit offers schema');\n }\n\n return response;\n },\n select: ({ data }) => {\n const jsfSchema = data?.data?.schema || {};\n\n return createHeadlessForm(jsfSchema, fieldValues, {\n jsfModify: options?.jsfModify?.benefits,\n });\n },\n });\n};\n\n/**\n * Use this hook to create an employment\n * @returns\n */\nexport const useCreateEmployment = (\n options?: OnboardingFlowProps['options'],\n) => {\n const { client } = useClient();\n const jsonSchemaQueryParam = {\n json_schema_version: getBasicInformationSchemaVersion(options),\n };\n return useMutation({\n mutationFn: (payload: EmploymentCreateParams) => {\n return postV1Employments({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n body: payload,\n query: {\n ...jsonSchemaQueryParam,\n },\n });\n },\n });\n};\n\nexport const useUpdateEmployment = (\n countryCode: string,\n options?: OnboardingFlowProps['options'],\n) => {\n const { client } = useClient();\n const jsonSchemaQueryParams = {\n employment_basic_information_json_schema_version:\n getBasicInformationSchemaVersion(options),\n contract_details_json_schema_version:\n getContractDetailsSchemaVersion(options, countryCode) || 1,\n };\n\n return useMutation({\n mutationFn: ({\n employmentId,\n ...payload\n }: EmploymentFullParams & { employmentId: string }) => {\n return patchV1EmploymentsEmploymentId2({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n body: payload,\n path: {\n employment_id: employmentId,\n },\n query: {\n skip_benefits: true,\n ...jsonSchemaQueryParams,\n },\n });\n },\n });\n};\n\nexport const useUpdateEmploymentEngagementAgreementDetails = () => {\n const { client } = useClient();\n\n return useMutation({\n mutationFn: ({\n employmentId,\n ...payload\n }: EmploymentEngagementAgreementDetailsParams & {\n employmentId: string;\n }) => {\n return postV2EmploymentsEmploymentIdEngagementAgreementDetails({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n body: payload,\n path: {\n employment_id: employmentId,\n },\n });\n },\n });\n};\n\nexport const useUpdateBenefitsOffers = (\n options?: OnboardingFlowProps['options'],\n) => {\n const { client } = useClient();\n return useMutation({\n mutationFn: ({\n employmentId,\n ...payload\n }: UnifiedEmploymentUpsertBenefitOffersRequest & {\n employmentId: string;\n }) => {\n const jsonSchemaQueryParam = {\n json_schema_version: getBenefitOffersSchemaVersion(options),\n };\n\n return putV1EmploymentsEmploymentIdBenefitOffers({\n client: client as Client,\n body: payload,\n path: {\n employment_id: employmentId,\n },\n query: jsonSchemaQueryParam,\n });\n },\n });\n};\n\nexport const useCountriesSchemaField = (\n options?: Omit<FlowOptions, 'jsonSchemaVersion'> & {\n queryOptions?: { enabled?: boolean };\n },\n) => {\n const { client } = useClient();\n const { data: countries, isLoading } = useQuery({\n ...countriesOptions(client as Client, 'onboarding-countries'),\n select: (response) => {\n return (\n response.data?.data\n ?.filter((country) => country.eor_onboarding)\n .map((country) => {\n return {\n label: country.name,\n value: country.code,\n employment_agreement_preview_available:\n country.employment_agreement_preview_available,\n };\n }) || []\n );\n },\n enabled: options?.queryOptions?.enabled,\n });\n\n const selectCountryForm = createHeadlessForm(\n selectCountryStepSchema.data.schema,\n {},\n options,\n );\n\n if (countries) {\n const countryField = selectCountryForm.fields.find(\n (field) => field.name === 'country',\n );\n if (countryField) {\n countryField.options = countries;\n }\n }\n\n return {\n isLoading,\n selectCountryForm,\n countries,\n };\n};\n\nexport const useConvertCurrency = ({\n type = 'spread',\n}: {\n type?: 'spread' | 'no_spread';\n}) => {\n const { client } = useClient();\n return useMutation({\n mutationFn: (payload: ConvertCurrencyParams) => {\n const apiFn =\n type === 'no_spread'\n ? postV1CurrencyConverterRaw\n : postV1CurrencyConverterEffective;\n return apiFn({\n client: client as Client,\n body: payload,\n });\n },\n });\n};\n\nexport const useUpsertContractEligibility = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: ({\n employmentId,\n ...payload\n }: { employmentId: string } & CreateContractEligibilityParams) => {\n return postV1EmploymentsEmploymentIdContractEligibility({\n client: client as Client,\n path: {\n employment_id: employmentId,\n },\n body: payload,\n });\n },\n });\n};\n\n/**\n * Hook to fetch onboarding reserves status for an employment\n * @param companyId - Company ID\n * @param employmentId - Employment ID\n * @param enabled - Whether the query should be enabled\n * @returns Query result with onboarding reserves status\n */\nexport const useEmploymentOnboardingReservesStatus = (\n companyId: string | undefined,\n employmentId: string | undefined,\n enabled = true,\n) => {\n const { client } = useClient();\n return useQuery({\n queryKey: [\n 'employment-onboarding-reserves-status',\n companyId,\n employmentId,\n ],\n retry: false,\n enabled: enabled && !!companyId && !!employmentId,\n queryFn: async () => {\n const response =\n await getV1CompaniesCompanyIdEmploymentsEmploymentIdOnboardingReservesStatus(\n {\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n path: {\n company_id: companyId as string,\n employment_id: employmentId as string,\n },\n },\n );\n\n if (response.error || !response.data) {\n throw new Error(\n 'Failed to fetch employment onboarding reserves status',\n );\n }\n\n return response;\n },\n select: ({ data }) => data?.data?.status,\n });\n};\n\nexport const useEngagementAgreementDetailsSchema = (\n countryCode: string,\n fieldValues: FieldValues,\n options?: {\n jsfModify?: OnboardingJsfModify;\n queryOptions?: { enabled?: boolean };\n },\n) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['engagement-agreement-details', countryCode],\n retry: false,\n enabled: options?.queryOptions?.enabled ?? !!countryCode,\n queryFn: async () => {\n const response =\n await getV1CountriesCountryCodeEngagementAgreementDetails({\n client: client as Client,\n path: {\n country_code: countryCode,\n },\n });\n\n if (response.error || !response.data) {\n throw new Error('Failed to fetch engagement agreement details');\n }\n\n return response;\n },\n select: ({ data }) => {\n const jsfSchema = data?.data?.schema || {};\n\n return createHeadlessForm(jsfSchema, fieldValues, {\n jsfModify: options?.jsfModify?.engagement_agreement_details,\n });\n },\n });\n};\n\n/**\n * Get pre-onboarding requirements for an employment\n */\nexport const useGetPreOnboardingRequirements = (\n employmentId: string,\n options?: { queryOptions?: { enabled?: boolean } },\n) => {\n const { client } = useClient();\n\n return useQuery({\n queryKey: ['pre-onboarding-requirements', employmentId],\n queryFn: async () => {\n const response =\n await getV1OnboardingEmploymentsEmploymentIdPreOnboardingRequirements({\n client: client as Client,\n path: {\n employment_id: employmentId,\n },\n });\n\n if (response.error || !response.data) {\n throw new Error('Failed to fetch pre-onboarding requirements');\n }\n\n return response;\n },\n enabled: options?.queryOptions?.enabled ?? true,\n select: (response) => response.data?.data,\n });\n};\n\n/**\n * Create a pre-onboarding document\n */\nexport const useCreatePreOnboardingDocument = () => {\n const { client } = useClient();\n\n return useMutation({\n mutationFn: ({\n employmentId,\n body,\n }: {\n employmentId: string;\n body: PostV1OnboardingEmploymentsEmploymentIdPreOnboardingRequirementsRequirementSlugDocumentsData['path'];\n }) => {\n return postV1OnboardingEmploymentsEmploymentIdPreOnboardingRequirementsRequirementSlugDocuments(\n {\n client: client as Client,\n path: {\n employment_id: employmentId,\n requirement_slug: body.requirement_slug,\n },\n },\n );\n },\n });\n};\n\n/**\n * Get pre-onboarding document preview\n */\nexport const useGetPreOnboardingDocument = (\n employmentId: string,\n documentId: string | undefined,\n options?: { queryOptions?: { enabled?: boolean } },\n) => {\n const { client } = useClient();\n\n return useQuery({\n queryKey: ['pre-onboarding-document', employmentId, documentId],\n queryFn: async () => {\n const response =\n await getV1OnboardingEmploymentsEmploymentIdPreOnboardingDocumentsId({\n client: client as Client,\n path: {\n employment_id: employmentId,\n id: documentId!,\n },\n });\n\n if (response.error || !response.data) {\n throw new Error('Failed to fetch pre-onboarding document');\n }\n\n return response;\n },\n enabled: (options?.queryOptions?.enabled ?? true) && !!documentId,\n select: (response) => response.data?.data,\n });\n};\n\n/**\n * Sign a pre-onboarding document\n */\nexport const useSignPreOnboardingDocument = () => {\n const { client } = useClient();\n\n return useMutation({\n mutationFn: ({\n employmentId,\n documentId,\n signature,\n }: {\n employmentId: string;\n documentId: string;\n signature: string;\n }) =>\n postV1OnboardingEmploymentsEmploymentIdPreOnboardingDocumentsIdSign({\n client: client as Client,\n path: {\n employment_id: employmentId,\n id: documentId,\n },\n body: {\n signature,\n },\n }),\n });\n};\n\n/**\n * Acknowledge a pre-onboarding requirement\n */\nexport const useAcknowledgePreOnboardingRequirement = () => {\n const { client } = useClient();\n\n return useMutation({\n mutationFn: ({\n employmentId,\n requirementSlug,\n }: {\n employmentId: string;\n requirementSlug: string;\n }) =>\n postV1OnboardingEmploymentsEmploymentIdPreOnboardingRequirementsRequirementSlugAcknowledge(\n {\n client: client as Client,\n path: {\n employment_id: employmentId,\n requirement_slug: requirementSlug,\n },\n },\n ),\n });\n};\n\n/**\n * Remove acknowledgement from a pre-onboarding requirement\n */\nexport const useRemoveAcknowledgePreOnboardingRequirement = () => {\n const { client } = useClient();\n\n return useMutation({\n mutationFn: ({\n employmentId,\n requirementSlug,\n }: {\n employmentId: string;\n requirementSlug: string;\n }) =>\n deleteV1OnboardingEmploymentsEmploymentIdPreOnboardingRequirementsRequirementSlugAcknowledge(\n {\n client: client as Client,\n path: {\n employment_id: employmentId,\n requirement_slug: requirementSlug,\n },\n },\n ),\n });\n};\n\n/**\n * Get employment agreement preview\n */\nexport const useEmploymentAgreementPreview = (\n employmentId: string | undefined,\n options?: { queryOptions?: { enabled?: boolean } },\n) => {\n const { client } = useClient();\n\n return useQuery({\n queryKey: ['employment-agreement-preview', employmentId],\n retry: false,\n enabled: (options?.queryOptions?.enabled ?? true) && !!employmentId,\n queryFn: async () => {\n const response =\n await getV1EmploymentsEmploymentIdEmploymentAgreementPreview({\n client: client as Client,\n path: {\n employment_id: employmentId as string,\n },\n });\n\n if (response.error || !response.data) {\n throw new Error('Failed to fetch employment agreement preview');\n }\n\n return response;\n },\n select: (response) => response.data?.data.employment_agreement,\n });\n};\n"],"mappings":"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","names":["useMutation","useQuery","useCompany","__name","companyId","client","useClient","useQuery","response","getV1CompaniesCompanyId","data","useBenefitOffers","employmentId","getV1EmploymentsEmploymentIdBenefitOffers","acc","item","useEmploymentEngagementAgreementDetails","queryOptions","getV2EmploymentsEmploymentIdEngagementAgreementDetails","useEmploymentInvite","useMutation","payload","postV1EmploymentsEmploymentIdInvite","useCreateReserveInvoice","postV1RiskReserve","useJSONSchemaForm","countryCode","form","fieldValues","options","query","jsonSchemaVersion","jsonSchemaQueryParam","getV1CountriesCountryCodeForm","jsfSchema","createHeadlessForm","useBenefitOffersSchema","getBenefitOffersSchemaVersion","getV1EmploymentsEmploymentIdBenefitOffersSchema","useCreateEmployment","getBasicInformationSchemaVersion","postV1Employments","useUpdateEmployment","jsonSchemaQueryParams","getContractDetailsSchemaVersion","patchV1EmploymentsEmploymentId2","useUpdateEmploymentEngagementAgreementDetails","postV2EmploymentsEmploymentIdEngagementAgreementDetails","useUpdateBenefitsOffers","putV1EmploymentsEmploymentIdBenefitOffers","useCountriesSchemaField","countries","isLoading","countriesOptions","country","selectCountryForm","selectCountryStepSchema","countryField","field","useConvertCurrency","type","postV1CurrencyConverterRaw","postV1CurrencyConverterEffective","useUpsertContractEligibility","postV1EmploymentsEmploymentIdContractEligibility","useEmploymentOnboardingReservesStatus","enabled","getV1CompaniesCompanyIdEmploymentsEmploymentIdOnboardingReservesStatus","useEngagementAgreementDetailsSchema","getV1CountriesCountryCodeEngagementAgreementDetails","useGetPreOnboardingRequirements","getV1OnboardingEmploymentsEmploymentIdPreOnboardingRequirements","useCreatePreOnboardingDocument","body","postV1OnboardingEmploymentsEmploymentIdPreOnboardingRequirementsRequirementSlugDocuments","useGetPreOnboardingDocument","documentId","getV1OnboardingEmploymentsEmploymentIdPreOnboardingDocumentsId","useSignPreOnboardingDocument","signature","postV1OnboardingEmploymentsEmploymentIdPreOnboardingDocumentsIdSign","useAcknowledgePreOnboardingRequirement","requirementSlug","postV1OnboardingEmploymentsEmploymentIdPreOnboardingRequirementsRequirementSlugAcknowledge","useRemoveAcknowledgePreOnboardingRequirement","deleteV1OnboardingEmploymentsEmploymentIdPreOnboardingRequirementsRequirementSlugAcknowledge","useEmploymentAgreementPreview","getV1EmploymentsEmploymentIdEmploymentAgreementPreview"]}
@@ -1,2 +1,2 @@
1
- import{a as l}from"./chunk-WCJZAOZR.js";import{a as t}from"./chunk-TMBL5YM4.js";import{a as o}from"./chunk-P37U34EQ.js";import{useId as c}from"react";import{jsx as O}from"react/jsx-runtime";var u=o(()=>null,"SelectCountryStep"),P=o(()=>null,"ContractDetailsStep"),y=o(()=>null,"AdministrativeDetailsStep"),b=o(()=>null,"InvitationStep"),g=o(()=>null,"SubmitButton"),A=o(()=>null,"BackButton"),w=o(({companyId:r,legalEntityId:i,countryCode:a,employmentId:d,initialValues:e,options:m,render:s})=>{let p=c(),n=t({companyId:r,legalEntityId:i,countryCode:a,employmentId:d,initialValues:e,options:m});return O(l.Provider,{value:{formId:p,adminBag:n},children:s({adminBag:n,components:{SelectCountryStep:u,ContractDetailsStep:P,AdministrativeDetailsStep:y,InvitationStep:b,SubmitButton:g,BackButton:A}})})},"PayrollAdminOnboardingFlow");export{w as a};
2
- //# sourceMappingURL=chunk-YW4FHEYJ.js.map
1
+ import{a as l}from"./chunk-WCJZAOZR.js";import{a as t}from"./chunk-ZU46EKGD.js";import{a as o}from"./chunk-P37U34EQ.js";import{useId as c}from"react";import{jsx as O}from"react/jsx-runtime";var u=o(()=>null,"SelectCountryStep"),P=o(()=>null,"ContractDetailsStep"),y=o(()=>null,"AdministrativeDetailsStep"),b=o(()=>null,"InvitationStep"),g=o(()=>null,"SubmitButton"),A=o(()=>null,"BackButton"),w=o(({companyId:r,legalEntityId:i,countryCode:a,employmentId:d,initialValues:e,options:m,render:s})=>{let p=c(),n=t({companyId:r,legalEntityId:i,countryCode:a,employmentId:d,initialValues:e,options:m});return O(l.Provider,{value:{formId:p,adminBag:n},children:s({adminBag:n,components:{SelectCountryStep:u,ContractDetailsStep:P,AdministrativeDetailsStep:y,InvitationStep:b,SubmitButton:g,BackButton:A}})})},"PayrollAdminOnboardingFlow");export{w as a};
2
+ //# sourceMappingURL=chunk-OV3ZB5MP.js.map
@@ -1,2 +1,2 @@
1
- import{a as se,b as me,c as fe,d as ye,e as _e,f as ge,g as be,i as Ce,j as Se,k as we,l as ve,m as he,n as Pe,o as Ee,p as Oe,q as Ve,r as Fe,s as Me,t as Ie,u as De,v as Ae,w as Re,x as ke}from"./chunk-XT6WMFV5.js";import{a as Te,b as qe,c as Le}from"./chunk-PXU2LCFW.js";import{a as ce,b as le,f as ue,g as de,h as pe}from"./chunk-E2463GRM.js";import{a as q,b as st,c as _,d as oe,g as ae}from"./chunk-PB6UQ4A4.js";import{a as ie}from"./chunk-GNDFT5KG.js";import{f as te,h as ee,i as ne}from"./chunk-ARNYUYFG.js";import{Q as Zt}from"./chunk-BYDNNJHZ.js";import{a as zt,b,d as Xt,h as y,i as D,u as A,v}from"./chunk-G2LZFGZA.js";import{a as re}from"./chunk-JDIKYCN6.js";import{e as Yt}from"./chunk-H2O4CVKF.js";import{a as p}from"./chunk-P37U34EQ.js";import{useEffect as h,useMemo as a,useRef as xe,useState as P}from"react";import Be from"lodash.omit";import{useQuery as Bn}from"@tanstack/react-query";var Qn=p(()=>{let{client:B}=Yt(),{data:L}=me(),d=fe(L)?L?.company?.id??"":"";return Bn({queryKey:["legal-entities",d],queryFn:p(()=>Zt({client:B,path:{company_id:d},query:{page_size:100}}),"queryFn"),select:p(j=>j.data?.data?.legal_entities,"select"),enabled:!!d})},"useLegalEntities"),je=p(()=>{let{data:B}=Qn();return B?.find(L=>L.is_default)},"useDefaultLegalEntity");var Nn={select_country:null,basic_information:"employment_basic_information",contract_origin:null,contract_details:null,eligibility_questionnaire:null,pricing_plan:null,contract_preview:null,review:null},Jn={employment_basic_information:"basic_information"},Ci=p(({countryCode:B,externalId:L,employmentId:d,skipSteps:j,options:f,initialValues:l})=>{let Qe=f?.excludeProducts||[],gt=xe(f?.onContractReviewed);h(()=>{gt.current=f?.onContractReviewed},[f?.onContractReviewed]);let[u,bt]=P(B||null),[r,Ne]=P(d),[g,Ct]=P(void 0),tt=xe({select_country:{},basic_information:{},contract_origin:{},contract_details:{},contract_preview:{},pricing_plan:{},eligibility_questionnaire:{}}),[Q,Je]=P(void 0),[St,wt]=P(!1),[vt,Ue]=P(!0),[ht,Ke]=P(!0),[Pt,Ge]=P(!0),[ct,Et]=P(null),{steps:He,stepsArray:We}=a(()=>ce({includeSelectCountry:!j?.includes("select_country"),includeContractOrigin:Pt,includeEligibilityQuestionnaire:St,includeContractDetails:ht,includeContractPreview:vt}),[Pt,St,ht,vt,j]),{fieldValues:s,stepState:e,setFieldValues:Ot,previousStep:$e,nextStep:ze,goToStep:N,setStepValues:Vt}=re(He);h(()=>{ct&&(N(ct),Et(null))},[ct,N]);let{data:o,isLoading:Xe,refetch:Ft}=ie({employmentId:r,queryParams:{exclude_files:!0}}),Ye=je(),{data:Mt}=ke({options:{queryOptions:{enabled:e.currentStep.name==="review"}}}),{status:R}=o||{},E=R&&ue.includes(R),Ze=R&&!de.includes(R),tn=a(()=>R&&["invited","initiated"].includes(R)?"invited":"not_invited",[R]),It=ee(),Dt=ne(u,f),lt=Se(),At=se(),{mutateAsync:Rt}=he(lt,At,s),kt=Ve(),Tt=Fe(),qt=Ie(),{mutateAsyncOrThrow:en}=b(Dt),Lt=_e(),jt=Ce(),xt=Me(),{mutateAsyncOrThrow:nn}=b(It),{mutateAsyncOrThrow:rn}=b(lt),{mutateAsyncOrThrow:on}=b(Lt),{mutateAsyncOrThrow:Bt}=b(jt),{mutateAsyncOrThrow:an}=b(kt),{mutateAsyncOrThrow:Qt}=b(Tt),{mutateAsyncOrThrow:sn}=b(xt),{mutateAsyncOrThrow:cn}=b(qt);d&&o?.country?.code&&!u&&bt(o.country.code);let{selectCountryForm:J,isLoading:ln,countries:Nt}=Ae({jsfModify:f?.jsfModify?.select_country}),ut=a(()=>Nt?.find(t=>t.value===u),[Nt,u]),un=a(()=>ut?.label,[ut]),dn=e.currentStep.name==="pricing_plan"||!!d&&E,{form:O,isLoading:pn,contractorSubscriptions:et,filteredContractorSubscriptions:U,refetch:dt,isEligibilityQuestionnaireBlocked:K}=ve(r,ut,{jsonSchemaVersion:f?.jsonSchemaVersion,queryOptions:{enabled:dn},excludeProducts:Qe,jsfModify:f?.jsfModify?.pricing_plan}),k=a(()=>!!et?.find(t=>t.product.identifier===_)?.eligibility_questionnaire?.submitted_at,[et]),Jt=a(()=>k?!1:Q===_,[k,Q]),Ut=o?.contractor_type!=="cor",mn=s.contract_origin??e.values?.contract_origin?.contract_origin??o?.contract_details?.contract_origin,x=Q===q&&mn==="provided_by_customer";h(()=>{Ke(!x)},[x]),h(()=>{wt(!x&&Jt)},[x,Jt]),h(()=>{Ue(!x&&Ut)},[x,Ut]);let nt=a(()=>et?.find(t=>t.product.identifier===_)?.eligibility_questionnaire?.responses,[et]),fn=Nn[e.currentStep.name]||"contractor_basic_information",yn=Jn[fn],_n=o?.[yn]||{},gn=p(({form:t,options:i={},query:c={}})=>{let I=Object.keys(s).length>0?{...l,...e.values?.[e.currentStep.name],...s}:{...l,..._n};return te({countryCode:u,form:t,fieldValues:I,query:c,options:{...i,queryOptions:{enabled:i.queryOptions?.enabled??!0}}})},"useJSONSchema"),bn=!!(u&&(e.currentStep.name==="basic_information"||d)),Cn=!!(u==="GBR"&&d&&e.currentStep.name==="basic_information"),{data:G,isLoading:Sn}=Pe(d,{enabled:Cn}),{data:it,isLoading:wn}=Ee(r,{enabled:!!r});h(()=>{it&&it.length>0&&!g&&Ct(it[0].id)},[it,g]);let{data:C,isLoading:vn}=gn({form:"contractor_basic_information",options:{jsfModify:qe(u,un,f),queryOptions:{enabled:bn}}}),hn=a(()=>le(o?.basic_information?.provisional_start_date,s?.service_duration?.provisional_start_date),[o?.basic_information?.provisional_start_date,s?.service_duration?.provisional_start_date]),m=a(()=>{let t={standard:q,plus:st,cor:_};if(s.subscription)return s.subscription;let i=e.values?.pricing_plan?.subscription;if(i&&!K)return i;if(k&&!K)return _;if(K&&k)return q;if(U&&U.length>0)return t[o?.contractor_type]||q},[s,e.values,k,o?.contractor_type,K,U]);h(()=>{m&&m!==Q&&Je(m)},[m,Q]),h(()=>{Ge(!j?.includes("contract_origin")&&m===q)},[j,m]);let Pn=a(()=>({...nt,...l,...e.values?.eligibility_questionnaire,...s}),[nt,l,e.values?.eligibility_questionnaire,s]),En=a(()=>m===_&&e.currentStep.name==="eligibility_questionnaire"||!!d&&E&&m===_,[m,e.currentStep.name,d,E]),{data:V,isLoading:On}=Oe({options:{queryOptions:{enabled:En},jsfModify:f?.jsfModify?.eligibility_questionnaire},fieldValues:Pn}),Vn=!!(u&&e.currentStep.name==="contract_details"||E),{data:S,isLoading:Fn}=Re({countryCode:u,fieldValues:s,employmentId:r,options:{queryOptions:{enabled:Vn},jsfModify:Te(f?.jsfModify?.contract_details,hn,m,s,m===_)}}),Mn=a(()=>e.currentStep.name==="contract_preview"||!!d&&E,[e.currentStep.name,d,E]),{data:F}=ye({fieldValues:s,options:{queryOptions:{enabled:Mn},jsfModify:Le(f,s)}}),{data:M}=De({fieldValues:s,options:{jsfModify:f?.jsfModify?.contract_origin}}),{data:pt,isLoading:In,refetch:Dn}=ge({employmentId:r,contractDocumentId:g,options:{queryOptions:{enabled:!!g}}}),{hasCompanySignedContract:An}=be({employmentId:r,contractDocumentId:g,options:{queryOptions:{enabled:!!g}}}),n=a(()=>({select_country:J?.fields||[],basic_information:C?.fields||[],contract_origin:M?.fields||[],pricing_plan:O?.fields||[],eligibility_questionnaire:V?.fields||[],contract_details:S?.fields||[],contract_preview:F?.fields||[],review:[]}),[J?.fields,C?.fields,M?.fields,O?.fields,S?.fields,F?.fields,V?.fields]),Rn={select_country:null,basic_information:C?.meta["x-jsf-fieldsets"],contract_origin:null,pricing_plan:null,contract_details:S?.meta["x-jsf-fieldsets"],eligibility_questionnaire:null,contract_preview:null,review:null},kn={select_country:J?.meta?.["x-jsf-presentation"],basic_information:C?.meta?.["x-jsf-presentation"],contract_origin:M?.meta?.["x-jsf-presentation"],pricing_plan:O?.meta?.["x-jsf-presentation"],eligibility_questionnaire:V?.meta?.["x-jsf-presentation"],contract_details:S?.meta?.["x-jsf-presentation"],contract_preview:F?.meta?.["x-jsf-presentation"],review:null},{country:Tn,basic_information:rt={},contract_details:Kt={}}=o||{},Gt=Tn?.code,H=a(()=>D(n.select_country,{country:u||Gt||""}),[n.select_country,u,Gt]),mt=a(()=>G?.content?Xt(G.content,G.name):null,[G?.content,G?.name]),W=a(()=>{let t={...l,...rt,ir35:o?.contract_details?.ir_35,nationality_status:o?.contract_details?.nationality,...mt&&{ir35_sds_file:[mt]}};return D(n.basic_information,t)},[l,rt,o?.contract_details?.ir_35,o?.contract_details?.nationality,mt,n.basic_information]),Ht=a(()=>{let t={...l,contract_origin:o?.contract_details?.contract_origin};return D(n.contract_origin,t)},[n.contract_origin,l,o?.contract_details?.contract_origin]),$=a(()=>{let i={...{service_duration:{provisional_start_date:rt.provisional_start_date}},...l,...Kt};return D(n.contract_details,i)},[n.contract_details,Kt,l,rt]),z=a(()=>{let t=pt?.contract_document?.signatories?.find(c=>c.type==="company"),i={...l,signature:t?.signature};return D(n.contract_preview,i)},[n.contract_preview,l,pt]),X=a(()=>{let i={...{subscription:m},...l};return D(n.pricing_plan,i)},[n.pricing_plan,l,m]),Y=a(()=>{let t={...l,...nt};return D(n.eligibility_questionnaire,t)},[n.eligibility_questionnaire,l,nt]),qn=a(()=>({select_country:H,basic_information:W,contract_origin:Ht,contract_details:$,contract_preview:z,pricing_plan:X,eligibility_questionnaire:Y}),[H,W,Ht,$,z,X,Y]),ft=!!(d&&E&&e.currentStep.name!=="review"),yt=ln||vn||Xe||Fn||pn||In||Sn||wn||On,Wt=a(()=>{let i=o?.contractor_type==="cor"||n.contract_preview.length>0;return!!(ft&&!yt&&g&&n.basic_information.length>0&&n.contract_details.length>0&&i)},[ft,yt,g,n.basic_information.length,n.contract_details.length,n.contract_preview.length,o?.contractor_type]);h(()=>{Wt&&(tt.current={select_country:A(H,n.select_country,{skipMoneyConversion:!0}),basic_information:A(W,n.basic_information,{skipMoneyConversion:!0}),contract_origin:{},contract_details:A($,n.contract_details,{skipMoneyConversion:!0}),contract_preview:A(z,n.contract_preview,{skipMoneyConversion:!0}),pricing_plan:A(X,n.pricing_plan,{skipMoneyConversion:!0}),eligibility_questionnaire:A(Y,n.eligibility_questionnaire,{skipMoneyConversion:!0})},Vt({select_country:H,basic_information:W,contract_origin:{},contract_details:$,contract_preview:z,pricing_plan:X,eligibility_questionnaire:Y,review:{}}),N("review"))},[Wt,N,H,W,$,Vt,n.select_country,n.basic_information,n.contract_details,n.pricing_plan,X,n.contract_preview,z,n.eligibility_questionnaire,Y]);let Ln=p(t=>{N(t)},"goTo"),$t=p(async t=>J&&e.currentStep.name==="select_country"?t:C&&e.currentStep.name==="basic_information"?await y(t,C?.fields,{isPartialValidation:!1}):S&&e.currentStep.name==="contract_details"?await y(t,S?.fields,{isPartialValidation:!1}):F&&e.currentStep.name==="contract_preview"?await y(t,F?.fields,{isPartialValidation:!1}):O&&e.currentStep.name==="pricing_plan"?await y(t,O?.fields,{isPartialValidation:!1}):V&&e.currentStep.name==="eligibility_questionnaire"?await y(t,V?.fields,{isPartialValidation:!1}):M&&e.currentStep.name==="contract_origin"?await y(t,M?.fields,{isPartialValidation:!1}):{},"parseFormValues"),jn=p(t=>{if(!zt(t))return null;let i=t.normalizedErrors.services_and_deliverables,c=Array.isArray(i)?i[0]:i;return c?.source===ae?{error:c.error,source:c.source,skippable:c.skippable}:null},"extractAiValidationError");async function xn(t){let i=e.currentStep.name,c=await $t(t);switch(i in tt.current&&(tt.current[i]=A(c,n[i])),e.currentStep.name){case"select_country":return bt(c.country),Promise.resolve({data:{countryCode:c.country}});case"basic_information":{let T=!r&&u,I=r&&u&&o?.country&&o?.country.code!==u;if(T||I){let _t={basic_information:Be(c,"nationality_status","ir35","ir35_sds_file"),type:"contractor",country_code:u,external_id:L},at=await nn(_t),w=at?.data?.employment?.id;if(!w)throw v("Employment ID not found");return await Rt({employmentId:w}),Ne(w),at}else if(r){let ot=Be(c,"nationality_status","ir35","ir35_sds_file");return await Rt({employmentId:r}),en({employmentId:r,basic_information:ot})}return}case"contract_details":{let{services_and_deliverables_ai_warning:T,services_and_deliverables_error_skippable:I,...ot}=c,_t=s.services_and_deliverables_error_skippable===!0,at={contract_document:ot,skip_ai_checks:_t};try{let w=await rn({employmentId:r,payload:at}),Z=w?.data?.contract_document?.id;if(!Z)throw v("Contract document ID not found");return Ct(Z),w}catch(w){let Z=jn(w);throw Z&&Ot({...t,services_and_deliverables_ai_warning:pe(m===_),services_and_deliverables_error_skippable:Z.skippable}),w}}case"contract_preview":{if(An)return Promise.resolve({data:{contract_document:{id:g}}});let T=await on({employmentId:r,contractDocumentId:g,payload:{signature:c.signature}});return await Dn(),T}case"pricing_plan":{if(t.subscription===oe)return Promise.resolve({data:{subscription:t.subscription}});if(U.length===0)throw v("No available subscriptions.");if(!t.subscription&&U.length>0)throw v("Please select a subscription plan.");if(K&&[_,st].includes(t.subscription))throw v(`This individual is not eligible for ${we[t.subscription]}.`);if(k&&t.subscription!==_)try{await sn({employmentId:r}),await dt()}catch(I){if(I?.response?.status!==404)throw I;await dt()}if(t.subscription==q)return Bt({employmentId:r,payload:{operation:"downgrade"}});if(t.subscription==st)return Bt({employmentId:r,payload:{operation:"upgrade"}});if(t.subscription==_)return k&&o?.contractor_type!=="cor"?Qt({employmentId:r}):Promise.resolve({data:{subscription:t.subscription}});throw v("invalid selection")}case"contract_origin":return t.contract_origin==="provided_by_customer"&&await cn({employmentId:r,contractOrigin:"provided_by_customer",templateType:"contractor_agreement"}),{data:{contractOrigin:t.contract_origin}};case"eligibility_questionnaire":try{if((await an({employmentId:r,payload:c}))?.data?.is_blocking)throw wt(!1),Et("pricing_plan"),v("This individual is not eligible for Contractor of Record.");return await Qt({employmentId:r})}finally{await dt()}default:throw v("Invalid step state")}}return p(xn,"onSubmit"),{isLoading:yt||ft,fieldValues:s,stepState:e,checkFieldUpdates:Ot,markContractAsReviewed:p(()=>{gt.current?.()},"markContractAsReviewed"),back:$e,next:p(()=>{r&&Ft(),ze()},"handleNextStep"),goTo:Ln,onSubmit:xn,fields:n[e.currentStep.name],meta:{fields:tt.current,fieldsets:Rn[e.currentStep.name],presentation:kn[e.currentStep.name]},parseFormValues:$t,canSkipAiValidation:s.services_and_deliverables_error_skippable===!0,handleValidation:p(async t=>{if(e.currentStep.name==="select_country")return J.handleValidation(t);if(C&&e.currentStep.name==="basic_information"){let i=await y(t,C?.fields,{isPartialValidation:!1});return C?.handleValidation(i)}if(S&&e.currentStep.name==="contract_details"){let i=await y(t,S?.fields,{isPartialValidation:!1});return S?.handleValidation(i)}if(F&&e.currentStep.name==="contract_preview"){let i=await y(t,F?.fields,{isPartialValidation:!0});return F?.handleValidation(i)}if(O&&e.currentStep.name==="pricing_plan"){let i=await y(t,O?.fields,{isPartialValidation:!1});return O?.handleValidation(i)}if(V&&e.currentStep.name==="eligibility_questionnaire"){let i=await y(t,V?.fields,{isPartialValidation:!1});return V?.handleValidation(i)}if(M&&e.currentStep.name==="contract_origin"){let i=await y(t,M?.fields,{isPartialValidation:!1});return M?.handleValidation(i)}return null},"handleValidation"),initialValues:qn,employmentId:r,refetchEmployment:Ft,isSubmitting:It.isPending||Dt.isPending||lt.isPending||Lt.isPending||jt.isPending||At.isPending||kt.isPending||Tt.isPending||xt.isPending||qt.isPending,documentPreviewPdf:pt,canInvite:Ze,isEmploymentReadOnly:E,invitedStatus:tn,employment:o,defaultLegalEntity:Ye,needsCompanyVerification:Mt?.some(t=>t.type==="verify_company")??!1,needsRemotePaymentsSetup:Mt?.some(t=>t.type==="setup_remote_payments")??!1,steps:We}},"useContractorOnboarding");export{Ci as a};
2
- //# sourceMappingURL=chunk-YRNO7X3H.js.map
1
+ import{a as Te,b as qe,c as Le}from"./chunk-6LDS3IEF.js";import{a as se,b as me,c as fe,d as ye,e as _e,f as ge,g as be,i as Ce,j as Se,k as we,l as ve,m as he,n as Pe,o as Ee,p as Oe,q as Ve,r as Fe,s as Me,t as Ie,u as De,v as Ae,w as Re,x as ke}from"./chunk-ATFHOPEX.js";import{a as ce,b as le,f as ue,g as de,h as pe}from"./chunk-E2463GRM.js";import{a as q,b as st,c as _,d as oe,g as ae}from"./chunk-PB6UQ4A4.js";import{a as ie}from"./chunk-Y2K74EBE.js";import{f as te,h as ee,i as ne}from"./chunk-OUKBSQWA.js";import{X as Zt}from"./chunk-AS7SJDU5.js";import{a as zt,b,d as Xt,h as y,i as D,u as A,v}from"./chunk-G2LZFGZA.js";import{a as re}from"./chunk-XPVYX7LE.js";import{e as Yt}from"./chunk-H2O4CVKF.js";import{a as p}from"./chunk-P37U34EQ.js";import{useEffect as h,useMemo as a,useRef as xe,useState as P}from"react";import Be from"lodash.omit";import{useQuery as Bn}from"@tanstack/react-query";var Qn=p(()=>{let{client:B}=Yt(),{data:L}=me(),d=fe(L)?L?.company?.id??"":"";return Bn({queryKey:["legal-entities",d],queryFn:p(()=>Zt({client:B,path:{company_id:d},query:{page_size:100}}),"queryFn"),select:p(j=>j.data?.data?.legal_entities,"select"),enabled:!!d})},"useLegalEntities"),je=p(()=>{let{data:B}=Qn();return B?.find(L=>L.is_default)},"useDefaultLegalEntity");var Nn={select_country:null,basic_information:"employment_basic_information",contract_origin:null,contract_details:null,eligibility_questionnaire:null,pricing_plan:null,contract_preview:null,review:null},Jn={employment_basic_information:"basic_information"},Ci=p(({countryCode:B,externalId:L,employmentId:d,skipSteps:j,options:f,initialValues:l})=>{let Qe=f?.excludeProducts||[],gt=xe(f?.onContractReviewed);h(()=>{gt.current=f?.onContractReviewed},[f?.onContractReviewed]);let[u,bt]=P(B||null),[r,Ne]=P(d),[g,Ct]=P(void 0),tt=xe({select_country:{},basic_information:{},contract_origin:{},contract_details:{},contract_preview:{},pricing_plan:{},eligibility_questionnaire:{}}),[Q,Je]=P(void 0),[St,wt]=P(!1),[vt,Ue]=P(!0),[ht,Ke]=P(!0),[Pt,Ge]=P(!0),[ct,Et]=P(null),{steps:He,stepsArray:We}=a(()=>ce({includeSelectCountry:!j?.includes("select_country"),includeContractOrigin:Pt,includeEligibilityQuestionnaire:St,includeContractDetails:ht,includeContractPreview:vt}),[Pt,St,ht,vt,j]),{fieldValues:s,stepState:e,setFieldValues:Ot,previousStep:$e,nextStep:ze,goToStep:N,setStepValues:Vt}=re(He);h(()=>{ct&&(N(ct),Et(null))},[ct,N]);let{data:o,isLoading:Xe,refetch:Ft}=ie({employmentId:r,queryParams:{exclude_files:!0}}),Ye=je(),{data:Mt}=ke({options:{queryOptions:{enabled:e.currentStep.name==="review"}}}),{status:R}=o||{},E=R&&ue.includes(R),Ze=R&&!de.includes(R),tn=a(()=>R&&["invited","initiated"].includes(R)?"invited":"not_invited",[R]),It=ee(),Dt=ne(u,f),lt=Se(),At=se(),{mutateAsync:Rt}=he(lt,At,s),kt=Ve(),Tt=Fe(),qt=Ie(),{mutateAsyncOrThrow:en}=b(Dt),Lt=_e(),jt=Ce(),xt=Me(),{mutateAsyncOrThrow:nn}=b(It),{mutateAsyncOrThrow:rn}=b(lt),{mutateAsyncOrThrow:on}=b(Lt),{mutateAsyncOrThrow:Bt}=b(jt),{mutateAsyncOrThrow:an}=b(kt),{mutateAsyncOrThrow:Qt}=b(Tt),{mutateAsyncOrThrow:sn}=b(xt),{mutateAsyncOrThrow:cn}=b(qt);d&&o?.country?.code&&!u&&bt(o.country.code);let{selectCountryForm:J,isLoading:ln,countries:Nt}=Ae({jsfModify:f?.jsfModify?.select_country}),ut=a(()=>Nt?.find(t=>t.value===u),[Nt,u]),un=a(()=>ut?.label,[ut]),dn=e.currentStep.name==="pricing_plan"||!!d&&E,{form:O,isLoading:pn,contractorSubscriptions:et,filteredContractorSubscriptions:U,refetch:dt,isEligibilityQuestionnaireBlocked:K}=ve(r,ut,{jsonSchemaVersion:f?.jsonSchemaVersion,queryOptions:{enabled:dn},excludeProducts:Qe,jsfModify:f?.jsfModify?.pricing_plan}),k=a(()=>!!et?.find(t=>t.product.identifier===_)?.eligibility_questionnaire?.submitted_at,[et]),Jt=a(()=>k?!1:Q===_,[k,Q]),Ut=o?.contractor_type!=="cor",mn=s.contract_origin??e.values?.contract_origin?.contract_origin??o?.contract_details?.contract_origin,x=Q===q&&mn==="provided_by_customer";h(()=>{Ke(!x)},[x]),h(()=>{wt(!x&&Jt)},[x,Jt]),h(()=>{Ue(!x&&Ut)},[x,Ut]);let nt=a(()=>et?.find(t=>t.product.identifier===_)?.eligibility_questionnaire?.responses,[et]),fn=Nn[e.currentStep.name]||"contractor_basic_information",yn=Jn[fn],_n=o?.[yn]||{},gn=p(({form:t,options:i={},query:c={}})=>{let I=Object.keys(s).length>0?{...l,...e.values?.[e.currentStep.name],...s}:{...l,..._n};return te({countryCode:u,form:t,fieldValues:I,query:c,options:{...i,queryOptions:{enabled:i.queryOptions?.enabled??!0}}})},"useJSONSchema"),bn=!!(u&&(e.currentStep.name==="basic_information"||d)),Cn=!!(u==="GBR"&&d&&e.currentStep.name==="basic_information"),{data:G,isLoading:Sn}=Pe(d,{enabled:Cn}),{data:it,isLoading:wn}=Ee(r,{enabled:!!r});h(()=>{it&&it.length>0&&!g&&Ct(it[0].id)},[it,g]);let{data:C,isLoading:vn}=gn({form:"contractor_basic_information",options:{jsfModify:qe(u,un,f),queryOptions:{enabled:bn}}}),hn=a(()=>le(o?.basic_information?.provisional_start_date,s?.service_duration?.provisional_start_date),[o?.basic_information?.provisional_start_date,s?.service_duration?.provisional_start_date]),m=a(()=>{let t={standard:q,plus:st,cor:_};if(s.subscription)return s.subscription;let i=e.values?.pricing_plan?.subscription;if(i&&!K)return i;if(k&&!K)return _;if(K&&k)return q;if(U&&U.length>0)return t[o?.contractor_type]||q},[s,e.values,k,o?.contractor_type,K,U]);h(()=>{m&&m!==Q&&Je(m)},[m,Q]),h(()=>{Ge(!j?.includes("contract_origin")&&m===q)},[j,m]);let Pn=a(()=>({...nt,...l,...e.values?.eligibility_questionnaire,...s}),[nt,l,e.values?.eligibility_questionnaire,s]),En=a(()=>m===_&&e.currentStep.name==="eligibility_questionnaire"||!!d&&E&&m===_,[m,e.currentStep.name,d,E]),{data:V,isLoading:On}=Oe({options:{queryOptions:{enabled:En},jsfModify:f?.jsfModify?.eligibility_questionnaire},fieldValues:Pn}),Vn=!!(u&&e.currentStep.name==="contract_details"||E),{data:S,isLoading:Fn}=Re({countryCode:u,fieldValues:s,employmentId:r,options:{queryOptions:{enabled:Vn},jsfModify:Te(f?.jsfModify?.contract_details,hn,m,s,m===_)}}),Mn=a(()=>e.currentStep.name==="contract_preview"||!!d&&E,[e.currentStep.name,d,E]),{data:F}=ye({fieldValues:s,options:{queryOptions:{enabled:Mn},jsfModify:Le(f,s)}}),{data:M}=De({fieldValues:s,options:{jsfModify:f?.jsfModify?.contract_origin}}),{data:pt,isLoading:In,refetch:Dn}=ge({employmentId:r,contractDocumentId:g,options:{queryOptions:{enabled:!!g}}}),{hasCompanySignedContract:An}=be({employmentId:r,contractDocumentId:g,options:{queryOptions:{enabled:!!g}}}),n=a(()=>({select_country:J?.fields||[],basic_information:C?.fields||[],contract_origin:M?.fields||[],pricing_plan:O?.fields||[],eligibility_questionnaire:V?.fields||[],contract_details:S?.fields||[],contract_preview:F?.fields||[],review:[]}),[J?.fields,C?.fields,M?.fields,O?.fields,S?.fields,F?.fields,V?.fields]),Rn={select_country:null,basic_information:C?.meta["x-jsf-fieldsets"],contract_origin:null,pricing_plan:null,contract_details:S?.meta["x-jsf-fieldsets"],eligibility_questionnaire:null,contract_preview:null,review:null},kn={select_country:J?.meta?.["x-jsf-presentation"],basic_information:C?.meta?.["x-jsf-presentation"],contract_origin:M?.meta?.["x-jsf-presentation"],pricing_plan:O?.meta?.["x-jsf-presentation"],eligibility_questionnaire:V?.meta?.["x-jsf-presentation"],contract_details:S?.meta?.["x-jsf-presentation"],contract_preview:F?.meta?.["x-jsf-presentation"],review:null},{country:Tn,basic_information:rt={},contract_details:Kt={}}=o||{},Gt=Tn?.code,H=a(()=>D(n.select_country,{country:u||Gt||""}),[n.select_country,u,Gt]),mt=a(()=>G?.content?Xt(G.content,G.name):null,[G?.content,G?.name]),W=a(()=>{let t={...l,...rt,ir35:o?.contract_details?.ir_35,nationality_status:o?.contract_details?.nationality,...mt&&{ir35_sds_file:[mt]}};return D(n.basic_information,t)},[l,rt,o?.contract_details?.ir_35,o?.contract_details?.nationality,mt,n.basic_information]),Ht=a(()=>{let t={...l,contract_origin:o?.contract_details?.contract_origin};return D(n.contract_origin,t)},[n.contract_origin,l,o?.contract_details?.contract_origin]),$=a(()=>{let i={...{service_duration:{provisional_start_date:rt.provisional_start_date}},...l,...Kt};return D(n.contract_details,i)},[n.contract_details,Kt,l,rt]),z=a(()=>{let t=pt?.contract_document?.signatories?.find(c=>c.type==="company"),i={...l,signature:t?.signature};return D(n.contract_preview,i)},[n.contract_preview,l,pt]),X=a(()=>{let i={...{subscription:m},...l};return D(n.pricing_plan,i)},[n.pricing_plan,l,m]),Y=a(()=>{let t={...l,...nt};return D(n.eligibility_questionnaire,t)},[n.eligibility_questionnaire,l,nt]),qn=a(()=>({select_country:H,basic_information:W,contract_origin:Ht,contract_details:$,contract_preview:z,pricing_plan:X,eligibility_questionnaire:Y}),[H,W,Ht,$,z,X,Y]),ft=!!(d&&E&&e.currentStep.name!=="review"),yt=ln||vn||Xe||Fn||pn||In||Sn||wn||On,Wt=a(()=>{let i=o?.contractor_type==="cor"||n.contract_preview.length>0;return!!(ft&&!yt&&g&&n.basic_information.length>0&&n.contract_details.length>0&&i)},[ft,yt,g,n.basic_information.length,n.contract_details.length,n.contract_preview.length,o?.contractor_type]);h(()=>{Wt&&(tt.current={select_country:A(H,n.select_country,{skipMoneyConversion:!0}),basic_information:A(W,n.basic_information,{skipMoneyConversion:!0}),contract_origin:{},contract_details:A($,n.contract_details,{skipMoneyConversion:!0}),contract_preview:A(z,n.contract_preview,{skipMoneyConversion:!0}),pricing_plan:A(X,n.pricing_plan,{skipMoneyConversion:!0}),eligibility_questionnaire:A(Y,n.eligibility_questionnaire,{skipMoneyConversion:!0})},Vt({select_country:H,basic_information:W,contract_origin:{},contract_details:$,contract_preview:z,pricing_plan:X,eligibility_questionnaire:Y,review:{}}),N("review"))},[Wt,N,H,W,$,Vt,n.select_country,n.basic_information,n.contract_details,n.pricing_plan,X,n.contract_preview,z,n.eligibility_questionnaire,Y]);let Ln=p(t=>{N(t)},"goTo"),$t=p(async t=>J&&e.currentStep.name==="select_country"?t:C&&e.currentStep.name==="basic_information"?await y(t,C?.fields,{isPartialValidation:!1}):S&&e.currentStep.name==="contract_details"?await y(t,S?.fields,{isPartialValidation:!1}):F&&e.currentStep.name==="contract_preview"?await y(t,F?.fields,{isPartialValidation:!1}):O&&e.currentStep.name==="pricing_plan"?await y(t,O?.fields,{isPartialValidation:!1}):V&&e.currentStep.name==="eligibility_questionnaire"?await y(t,V?.fields,{isPartialValidation:!1}):M&&e.currentStep.name==="contract_origin"?await y(t,M?.fields,{isPartialValidation:!1}):{},"parseFormValues"),jn=p(t=>{if(!zt(t))return null;let i=t.normalizedErrors.services_and_deliverables,c=Array.isArray(i)?i[0]:i;return c?.source===ae?{error:c.error,source:c.source,skippable:c.skippable}:null},"extractAiValidationError");async function xn(t){let i=e.currentStep.name,c=await $t(t);switch(i in tt.current&&(tt.current[i]=A(c,n[i])),e.currentStep.name){case"select_country":return bt(c.country),Promise.resolve({data:{countryCode:c.country}});case"basic_information":{let T=!r&&u,I=r&&u&&o?.country&&o?.country.code!==u;if(T||I){let _t={basic_information:Be(c,"nationality_status","ir35","ir35_sds_file"),type:"contractor",country_code:u,external_id:L},at=await nn(_t),w=at?.data?.employment?.id;if(!w)throw v("Employment ID not found");return await Rt({employmentId:w}),Ne(w),at}else if(r){let ot=Be(c,"nationality_status","ir35","ir35_sds_file");return await Rt({employmentId:r}),en({employmentId:r,basic_information:ot})}return}case"contract_details":{let{services_and_deliverables_ai_warning:T,services_and_deliverables_error_skippable:I,...ot}=c,_t=s.services_and_deliverables_error_skippable===!0,at={contract_document:ot,skip_ai_checks:_t};try{let w=await rn({employmentId:r,payload:at}),Z=w?.data?.contract_document?.id;if(!Z)throw v("Contract document ID not found");return Ct(Z),w}catch(w){let Z=jn(w);throw Z&&Ot({...t,services_and_deliverables_ai_warning:pe(m===_),services_and_deliverables_error_skippable:Z.skippable}),w}}case"contract_preview":{if(An)return Promise.resolve({data:{contract_document:{id:g}}});let T=await on({employmentId:r,contractDocumentId:g,payload:{signature:c.signature}});return await Dn(),T}case"pricing_plan":{if(t.subscription===oe)return Promise.resolve({data:{subscription:t.subscription}});if(U.length===0)throw v("No available subscriptions.");if(!t.subscription&&U.length>0)throw v("Please select a subscription plan.");if(K&&[_,st].includes(t.subscription))throw v(`This individual is not eligible for ${we[t.subscription]}.`);if(k&&t.subscription!==_)try{await sn({employmentId:r}),await dt()}catch(I){if(I?.response?.status!==404)throw I;await dt()}if(t.subscription==q)return Bt({employmentId:r,payload:{operation:"downgrade"}});if(t.subscription==st)return Bt({employmentId:r,payload:{operation:"upgrade"}});if(t.subscription==_)return k&&o?.contractor_type!=="cor"?Qt({employmentId:r}):Promise.resolve({data:{subscription:t.subscription}});throw v("invalid selection")}case"contract_origin":return t.contract_origin==="provided_by_customer"&&await cn({employmentId:r,contractOrigin:"provided_by_customer",templateType:"contractor_agreement"}),{data:{contractOrigin:t.contract_origin}};case"eligibility_questionnaire":try{if((await an({employmentId:r,payload:c}))?.data?.is_blocking)throw wt(!1),Et("pricing_plan"),v("This individual is not eligible for Contractor of Record.");return await Qt({employmentId:r})}finally{await dt()}default:throw v("Invalid step state")}}return p(xn,"onSubmit"),{isLoading:yt||ft,fieldValues:s,stepState:e,checkFieldUpdates:Ot,markContractAsReviewed:p(()=>{gt.current?.()},"markContractAsReviewed"),back:$e,next:p(()=>{r&&Ft(),ze()},"handleNextStep"),goTo:Ln,onSubmit:xn,fields:n[e.currentStep.name],meta:{fields:tt.current,fieldsets:Rn[e.currentStep.name],presentation:kn[e.currentStep.name]},parseFormValues:$t,canSkipAiValidation:s.services_and_deliverables_error_skippable===!0,handleValidation:p(async t=>{if(e.currentStep.name==="select_country")return J.handleValidation(t);if(C&&e.currentStep.name==="basic_information"){let i=await y(t,C?.fields,{isPartialValidation:!1});return C?.handleValidation(i)}if(S&&e.currentStep.name==="contract_details"){let i=await y(t,S?.fields,{isPartialValidation:!1});return S?.handleValidation(i)}if(F&&e.currentStep.name==="contract_preview"){let i=await y(t,F?.fields,{isPartialValidation:!0});return F?.handleValidation(i)}if(O&&e.currentStep.name==="pricing_plan"){let i=await y(t,O?.fields,{isPartialValidation:!1});return O?.handleValidation(i)}if(V&&e.currentStep.name==="eligibility_questionnaire"){let i=await y(t,V?.fields,{isPartialValidation:!1});return V?.handleValidation(i)}if(M&&e.currentStep.name==="contract_origin"){let i=await y(t,M?.fields,{isPartialValidation:!1});return M?.handleValidation(i)}return null},"handleValidation"),initialValues:qn,employmentId:r,refetchEmployment:Ft,isSubmitting:It.isPending||Dt.isPending||lt.isPending||Lt.isPending||jt.isPending||At.isPending||kt.isPending||Tt.isPending||xt.isPending||qt.isPending,documentPreviewPdf:pt,canInvite:Ze,isEmploymentReadOnly:E,invitedStatus:tn,employment:o,defaultLegalEntity:Ye,needsCompanyVerification:Mt?.some(t=>t.type==="verify_company")??!1,needsRemotePaymentsSetup:Mt?.some(t=>t.type==="setup_remote_payments")??!1,steps:We}},"useContractorOnboarding");export{Ci as a};
2
+ //# sourceMappingURL=chunk-PLG6FBQY.js.map
@@ -1,2 +1,2 @@
1
- import{a as y}from"./chunk-3YP27SZK.js";import{a as l,c as m}from"./chunk-RFVHV6RE.js";import{c}from"./chunk-Y3CJRZLA.js";import{a as t}from"./chunk-P37U34EQ.js";import{useEffect as N}from"react";import{Fragment as b,jsx as v,jsxs as C}from"react/jsx-runtime";var R=t(({currencies:{from:d,to:F},shouldSwapOrder:s,salary_conversion_properties:a,conversionType:_="no_spread",defaultValue:r,...e})=>{let{setValue:n,getValues:i}=c(),f={label:a?.label||"Salary conversion",description:a?.description||C(b,{children:["The conversion is based on the Remote FX rate."," ",v(m,{className:"text-sm",zendeskId:l.remoteFxRate,children:"Learn more \u2197"})]})},g=s?"salary_conversion":e.name,u=s?e.name:"salary_conversion";return N(()=>{if(s){let o=i(e.name);o?(n("salary_conversion",o),n("salary_converted","salary_conversion")):r&&(n("salary_conversion",r),n("salary_converted","salary_conversion"))}else{let o=i("salary_conversion");o?(n(e.name,o),n("salary_converted",e.name)):r&&(n(e.name,r),n("salary_converted",e.name))}},[s,r,n,i,e.name]),v(y,{...e,sourceCurrency:d,targetCurrency:F,mainFieldName:g,conversionFieldName:u,conversionProperties:f,classNamePrefix:"RemoteFlows-Salary",conversionType:_})},"SalaryField");export{R as a};
2
- //# sourceMappingURL=chunk-LWTE6DD4.js.map
1
+ import{a as y}from"./chunk-XJIICTBB.js";import{a as l,c as m}from"./chunk-J2L3CYIS.js";import{c}from"./chunk-Y3CJRZLA.js";import{a as t}from"./chunk-P37U34EQ.js";import{useEffect as N}from"react";import{Fragment as b,jsx as v,jsxs as C}from"react/jsx-runtime";var R=t(({currencies:{from:d,to:F},shouldSwapOrder:s,salary_conversion_properties:a,conversionType:_="no_spread",defaultValue:r,...e})=>{let{setValue:n,getValues:i}=c(),f={label:a?.label||"Salary conversion",description:a?.description||C(b,{children:["The conversion is based on the Remote FX rate."," ",v(m,{className:"text-sm",zendeskId:l.remoteFxRate,children:"Learn more \u2197"})]})},g=s?"salary_conversion":e.name,u=s?e.name:"salary_conversion";return N(()=>{if(s){let o=i(e.name);o?(n("salary_conversion",o),n("salary_converted","salary_conversion")):r&&(n("salary_conversion",r),n("salary_converted","salary_conversion"))}else{let o=i("salary_conversion");o?(n(e.name,o),n("salary_converted",e.name)):r&&(n(e.name,r),n("salary_converted",e.name))}},[s,r,n,i,e.name]),v(y,{...e,sourceCurrency:d,targetCurrency:F,mainFieldName:g,conversionFieldName:u,conversionProperties:f,classNamePrefix:"RemoteFlows-Salary",conversionType:_})},"SalaryField");export{R as a};
2
+ //# sourceMappingURL=chunk-PQOOEARB.js.map
@@ -1,2 +1,2 @@
1
- import{a as n,c as i}from"./chunk-RFVHV6RE.js";import{n as e}from"./chunk-G2LZFGZA.js";import{a as o}from"./chunk-P37U34EQ.js";import{Fragment as s,jsx as t,jsxs as r}from"react/jsx-runtime";var l=["You submit your termination request.","Remote reviews your request along with the employment agreement, local labor laws, and any collective bargaining agreements in place.","A lifecycle specialist contacts you if they need additional details. Sometimes they will request a call.","Depending on the country-specific laws and the terms of the employment agreement, Remote may need to seek additional legal advice. We\u2019ll let you know if there are additional charges before proceeding.","Terms and conditions for the termination are finalized.","You verbally communicate the termination to the employee.","Remote shares termination documents with the employee.","The employee signs the termination documents if required.","Remote processes the final salary and offboards the employee."],f=o(()=>r(s,{children:[t("h3",{className:e("RemoteFlows__TerminationDialogInfoContent__Title"),children:"Please read carefully before you continue"}),t("p",{className:e("RemoteFlows__TerminationDialogInfoContent__Description"),children:"Please do not inform the employee of the termination. Remote will lead communication with them after you submit this form and they finalize the termination terms."}),t("p",{className:e("RemoteFlows__TerminationDialogInfoContent__Description RemoteFlows__TerminationDialogInfoContent__FollowUpDescription"),children:"If you already informed them, that's okay. Remote will ask for the details regarding that communication and they'll take it from there."}),t(i,{className:e("RemoteFlows__TerminationDialogInfoContent__ZendeskTriggerButton text-sm"),zendeskId:n.terminationEmployeeCommunication,children:"Learn more about employee communication"}),t("h3",{className:e("RemoteFlows__TerminationDialogInfoContent__ProcessTitle"),children:"The termination process"}),t("ul",{className:e("RemoteFlows__TerminationDialogInfoContent__ProcessList list-disc list-inside"),children:l.map((a,m)=>t("li",{className:e("RemoteFlows__TerminationDialogInfoContent__ProcessListItem"),children:a},m))})]}),"TerminationDialogInfoContent");export{f as a};
2
- //# sourceMappingURL=chunk-ZF3JITFM.js.map
1
+ import{a as n,c as i}from"./chunk-J2L3CYIS.js";import{n as e}from"./chunk-G2LZFGZA.js";import{a as o}from"./chunk-P37U34EQ.js";import{Fragment as s,jsx as t,jsxs as r}from"react/jsx-runtime";var l=["You submit your termination request.","Remote reviews your request along with the employment agreement, local labor laws, and any collective bargaining agreements in place.","A lifecycle specialist contacts you if they need additional details. Sometimes they will request a call.","Depending on the country-specific laws and the terms of the employment agreement, Remote may need to seek additional legal advice. We\u2019ll let you know if there are additional charges before proceeding.","Terms and conditions for the termination are finalized.","You verbally communicate the termination to the employee.","Remote shares termination documents with the employee.","The employee signs the termination documents if required.","Remote processes the final salary and offboards the employee."],f=o(()=>r(s,{children:[t("h3",{className:e("RemoteFlows__TerminationDialogInfoContent__Title"),children:"Please read carefully before you continue"}),t("p",{className:e("RemoteFlows__TerminationDialogInfoContent__Description"),children:"Please do not inform the employee of the termination. Remote will lead communication with them after you submit this form and they finalize the termination terms."}),t("p",{className:e("RemoteFlows__TerminationDialogInfoContent__Description RemoteFlows__TerminationDialogInfoContent__FollowUpDescription"),children:"If you already informed them, that's okay. Remote will ask for the details regarding that communication and they'll take it from there."}),t(i,{className:e("RemoteFlows__TerminationDialogInfoContent__ZendeskTriggerButton text-sm"),zendeskId:n.terminationEmployeeCommunication,children:"Learn more about employee communication"}),t("h3",{className:e("RemoteFlows__TerminationDialogInfoContent__ProcessTitle"),children:"The termination process"}),t("ul",{className:e("RemoteFlows__TerminationDialogInfoContent__ProcessList list-disc list-inside"),children:l.map((a,m)=>t("li",{className:e("RemoteFlows__TerminationDialogInfoContent__ProcessListItem"),children:a},m))})]}),"TerminationDialogInfoContent");export{f as a};
2
+ //# sourceMappingURL=chunk-PSU2AEFU.js.map
@@ -1,2 +1,2 @@
1
- import{a as d}from"./chunk-J2ARI3NQ.js";import{b as c}from"./chunk-Q3ALCPJN.js";import{a as l}from"./chunk-X4IJ52GQ.js";import{h as m}from"./chunk-Y3CJRZLA.js";import{c as s}from"./chunk-G2LZFGZA.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-4QJUNKBR.js.map
1
+ import{a as d}from"./chunk-J2ARI3NQ.js";import{b as c}from"./chunk-Q3ALCPJN.js";import{a as l}from"./chunk-QLYOADZI.js";import{h as m}from"./chunk-Y3CJRZLA.js";import{c as s}from"./chunk-G2LZFGZA.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-QH4D5IUC.js.map
@@ -0,0 +1,2 @@
1
+ import{a as m,b as z,c as Q,d as Z,e as $,f as C}from"./chunk-HBT3XDPU.js";import{a as F}from"./chunk-NXSRNOBC.js";import{a as q}from"./chunk-FHIMDCMT.js";import{c as I}from"./chunk-KMLI4ISS.js";import{a as X,b as c,h as A}from"./chunk-G2LZFGZA.js";import{a as Y}from"./chunk-XPVYX7LE.js";import{a as y}from"./chunk-P37U34EQ.js";import{useMemo as g,useCallback as b,useState as Se,useEffect as be}from"react";var j={name:{"x-jsf-presentation":{inputType:"hidden"}}},xe={fields:{...j,mobile_number:{description:"Enter 10 digits, no country code (e.g. 5389274785)"}}},ye={fields:{...j,mobile_number:{"x-jsf-presentation":{inputType:"tel"}}}};function ge(n){return n==="USA"?xe:ye}y(ge,"getPersonalDetailsJsfModify");var he=y(({hasBankSubstep:n,federalTaxesVisible:o,stateTaxesVisible:r})=>({personal_details:{index:0,name:"personal_details"},home_address:{index:1,name:"home_address"},bank_account:{index:2,name:"bank_account",visible:n},federal_taxes:{index:3,name:"federal_taxes",visible:o},state_taxes:{index:4,name:"state_taxes",visible:r}}),"buildEmployeeSteps");var Re=y(({employmentId:n,countryCode:o,jurisdiction:r,initialValues:ee,options:ae})=>{let[f,k]=Se({}),{updateErrorContext:O}=I({flow:"payroll_employee_onboarding"}),te=b(e=>{O({step:e.name})},[O]),{data:x,isLoading:se,refetch:p}=q(n),R=g(()=>x?.find(a=>a.type==="self_onboarding")?.sub_steps??[],[x]),V=x?.find(e=>e.type==="completion")?.sub_steps?.[0]?.status==="completed",i=o==="USA",d=V??!1,L=R.some(e=>e.type==="employee_provides_bank_details"),ne=g(()=>he({hasBankSubstep:L,federalTaxesVisible:i&&d,stateTaxesVisible:i&&!!r&&d}),[L,i,d,r]),{stepState:M,nextStep:oe,previousStep:re,goToStep:le,setStepValues:ie,fieldValues:u,setFieldValues:de}=Y(ne,te),s=M.currentStep.name;be(()=>{s!=="federal_taxes"&&s!=="state_taxes"||k(e=>{if(!e[s])return e;let a={...e};return delete a[s],a})},[s]);let h=m(o,"global_payroll_personal_details",u,{enabled:s==="personal_details",employmentId:n},ge(o)),T=m(o,"address_details",u,{enabled:s==="home_address",employmentId:n}),E=m(o,"global_payroll_bank_account_details",u,{enabled:s==="bank_account",employmentId:n}),_=m(o,"global_payroll_federal_taxes",u,{enabled:i&&d&&s==="federal_taxes",employmentId:n}),S=m(o,"global_payroll_state_taxes",u,{enabled:i&&!!r&&d&&s==="state_taxes",employmentId:n,jurisdiction:r}),l=g(()=>({personal_details:h.data,home_address:T.data,bank_account:E.data,federal_taxes:_.data,state_taxes:S.data})[s],[s,h.data,T.data,E.data,_.data,S.data]),pe=g(()=>{let e=i?f.federal_taxes?f.federal_taxes:d?_.isError?"schema_unavailable":null:"pending_enrollment":"unsupported_country",a=i?r?f.state_taxes?f.state_taxes:d?S.isError?"schema_unavailable":null:"pending_enrollment":"no_jurisdiction":"unsupported_country";return{federal_taxes:{isAvailable:e===null,unavailableReason:e},state_taxes:{isAvailable:a===null,unavailableReason:a}}},[i,d,r,f,_.isError,S.isError]),ue=h.isLoading||T.isLoading||E.isLoading||_.isLoading||S.isLoading,v=z(),U=Q(),D=Z(),J=$(),K=C(r),{mutateAsyncOrThrow:B}=c(v),{mutateAsyncOrThrow:G}=c(U),{mutateAsyncOrThrow:N}=c(D),{mutateAsyncOrThrow:H}=c(J),{mutateAsyncOrThrow:W}=c(K),ce=v.isPending||U.isPending||D.isPending||J.isPending||K.isPending,me=b(async e=>{if(!l)return null;let a=await A(e,l.fields,{isPartialValidation:!1});return l.handleValidation(a)},[l]),w=b(async e=>l?A(e,l.fields,{isPartialValidation:!1}):e,[l]),P=b((e,a)=>{if(!X(a))return!1;let t=typeof a.rawError=="object"&&a.rawError!==null&&"message"in a.rawError?String(a.rawError.message??""):"";return/tax task not found/i.test(t)?(k(_e=>({..._e,[e]:"pending_enrollment"})),!0):!1},[]),fe=b(async e=>{let a=await w(e);switch(s){case"personal_details":{let t=await B(a);return await p(),t}case"home_address":{let t=await G(a);return await p(),t}case"bank_account":{let t=await N(a);return await p(),t}case"federal_taxes":try{let t=await H(a);return await p(),t}catch(t){throw P("federal_taxes",t)?new F:t}case"state_taxes":try{let t=await W(a);return await p(),t}catch(t){throw P("state_taxes",t)?new F:t}default:return}},[s,w,B,G,N,H,W,p,P]);return{stepState:M,isLoading:se||ue,isSubmitting:ce,isComplete:V??!1,employmentId:n,countryCode:o,jurisdiction:r,initialValues:ee,options:ae,apiSteps:x,selfOnboardingSubsteps:R,taxStepsAvailability:pe,refetchSteps:p,fields:l?.fields??[],meta:l?.meta??{},fieldValues:u,setFieldValues:de,handleValidation:me,parseFormValues:w,onSubmit:fe,next:oe,back:re,goToStep:le,setStepValues:ie}},"usePayrollEmployeeOnboarding");export{Re as a};
2
+ //# sourceMappingURL=chunk-QKFKOLC2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/PayrollEmployeeOnboarding/hooks.tsx"],"sourcesContent":["import { useMemo, useCallback, useState, useEffect } from 'react';\nimport type { FieldValues } from 'react-hook-form';\nimport { useGPOnboardingSteps } from '@/src/common/api/gpOnboarding';\nimport { useStepState } from '@/src/flows/useStepState';\nimport type { Step } from '@/src/flows/useStepState';\nimport type {\n PayrollEmployeeOnboardingFlowProps,\n TaxStepUnavailableReason,\n} from '@/src/flows/PayrollEmployeeOnboarding/types';\nimport { useErrorReporting } from '@/src/components/error-handling/useErrorReporting';\nimport { isMutationError, mutationToPromise } from '@/src/lib/mutations';\nimport { parseJSFToValidate } from '@/src/components/form/utils';\nimport {\n useGPEmployeeFormSchema,\n useGPUpdateBankAccount,\n useGPUpdateFederalTaxes,\n useGPUpdateHomeAddress,\n useGPUpdatePersonalDetails,\n useGPUpdateStateTaxes,\n} from '@/src/flows/PayrollEmployeeOnboarding/api';\nimport type {\n JSONSchemaFormResultWithFieldsets,\n JSFModify,\n} from '@/src/flows/types';\nimport { TaxPendingEnrollmentError } from '@/src/flows/PayrollEmployeeOnboarding/taxErrors';\n\nexport type EmployeeStepKey =\n | 'personal_details'\n | 'home_address'\n | 'bank_account'\n | 'federal_taxes'\n | 'state_taxes';\n\n// Stable module-level jsfModify configs for personal_details. Two variants:\n// - USA: schema's mobile_number is a plain 10-digit string with `inputType: 'text'`.\n// Add a description so users know what's expected.\n// - non-USA: schema's mobile_number is an `anyOf` of per-country dial-code\n// patterns. Force `inputType: 'tel'` so TelField renders a country picker +\n// national-number input. Without this it falls back to a plain text input\n// that silently fails the anyOf validation.\n//\n// Both variants hide `name` (a computed display-only field that the PUT\n// endpoint rejects via `additionalProperties: false`).\nconst PERSONAL_DETAILS_HIDE_NAME = {\n name: { 'x-jsf-presentation': { inputType: 'hidden' } },\n};\n\nconst PERSONAL_DETAILS_JSF_MODIFY_USA: JSFModify = {\n fields: {\n ...PERSONAL_DETAILS_HIDE_NAME,\n mobile_number: {\n description: 'Enter 10 digits, no country code (e.g. 5389274785)',\n },\n },\n};\n\nconst PERSONAL_DETAILS_JSF_MODIFY_INTL: JSFModify = {\n fields: {\n ...PERSONAL_DETAILS_HIDE_NAME,\n mobile_number: { 'x-jsf-presentation': { inputType: 'tel' } },\n },\n};\n\nfunction getPersonalDetailsJsfModify(\n countryCode: string | undefined,\n): JSFModify {\n return countryCode === 'USA'\n ? PERSONAL_DETAILS_JSF_MODIFY_USA\n : PERSONAL_DETAILS_JSF_MODIFY_INTL;\n}\n\nconst buildEmployeeSteps = ({\n hasBankSubstep,\n federalTaxesVisible,\n stateTaxesVisible,\n}: {\n hasBankSubstep: boolean;\n federalTaxesVisible: boolean;\n stateTaxesVisible: boolean;\n}): Record<EmployeeStepKey, Step<EmployeeStepKey>> => ({\n personal_details: { index: 0, name: 'personal_details' },\n home_address: { index: 1, name: 'home_address' },\n bank_account: { index: 2, name: 'bank_account', visible: hasBankSubstep },\n federal_taxes: {\n index: 3,\n name: 'federal_taxes',\n visible: federalTaxesVisible,\n },\n state_taxes: { index: 4, name: 'state_taxes', visible: stateTaxesVisible },\n});\n\nconst TAX_STEPS = ['federal_taxes', 'state_taxes'] as const;\ntype TaxStepKey = (typeof TAX_STEPS)[number];\n\nexport const usePayrollEmployeeOnboarding = ({\n employmentId,\n countryCode,\n jurisdiction,\n initialValues,\n options,\n}: Omit<PayrollEmployeeOnboardingFlowProps, 'render'>) => {\n // Per-step failures detected at submit time. Used to retroactively flip a\n // tax step to `pending_enrollment` after the backend returns 404 with\n // `Tax task not found...`.\n const [taxSubmitFailures, setTaxSubmitFailures] = useState<\n Partial<Record<TaxStepKey, TaxStepUnavailableReason>>\n >({});\n\n const { updateErrorContext } = useErrorReporting({\n flow: 'payroll_employee_onboarding',\n });\n\n const onStepChange = useCallback(\n (step: Step<EmployeeStepKey>) => {\n updateErrorContext({ step: step.name });\n },\n [updateErrorContext],\n );\n\n // ── API steps ───────────────────────────────────────────────────────────────\n\n const {\n data: apiSteps,\n isLoading: isLoadingSteps,\n refetch: refetchSteps,\n } = useGPOnboardingSteps(employmentId);\n\n const selfOnboardingSubsteps = useMemo(() => {\n const selfOnboarding = apiSteps?.find((s) => s.type === 'self_onboarding');\n return selfOnboarding?.sub_steps ?? [];\n }, [apiSteps]);\n\n const isComplete =\n apiSteps?.find((s) => s.type === 'completion')?.sub_steps?.[0]?.status ===\n 'completed';\n\n // ── Step visibility — drop steps the backend says are unneeded ──────────────\n const isUSA = countryCode === 'USA';\n const isPostEnrollment = isComplete ?? false;\n const hasBankSubstep = selfOnboardingSubsteps.some(\n (s) => s.type === 'employee_provides_bank_details',\n );\n\n const steps = useMemo(\n () =>\n buildEmployeeSteps({\n hasBankSubstep,\n federalTaxesVisible: isUSA && isPostEnrollment,\n stateTaxesVisible: isUSA && !!jurisdiction && isPostEnrollment,\n }),\n [hasBankSubstep, isUSA, isPostEnrollment, jurisdiction],\n );\n\n const {\n stepState,\n nextStep,\n previousStep,\n goToStep,\n setStepValues,\n fieldValues,\n setFieldValues,\n } = useStepState<EmployeeStepKey>(steps, onStepChange);\n\n const currentStep = stepState.currentStep.name;\n\n // A tax step flagged `pending_enrollment` after a 404 would otherwise stay\n // flagged for the whole session, trapping the user even once the backend tax\n // task appears. Clear the flag when the user (re)enters the step so revisiting\n // it re-attempts the submit instead of showing not-available forever.\n useEffect(() => {\n if (currentStep !== 'federal_taxes' && currentStep !== 'state_taxes')\n return;\n setTaxSubmitFailures((prev) => {\n if (!prev[currentStep]) return prev;\n const next = { ...prev };\n delete next[currentStep];\n return next;\n });\n }, [currentStep]);\n\n // ── Tax-step availability ───────────────────────────────────────────────────\n //\n // The federal_taxes and state_taxes endpoints only respond once Tiger creates\n // the corresponding tax_task — which happens when the employment becomes\n // `active`. We don't have a clean signal callable with the employee token\n // (employments/:id returns 401, employee/current returns user+company only),\n // so we use the `completion` step as the best upfront probe and, when even\n // that is insufficient (e.g. step status is completed but employment lifecycle\n // is `onboarded`), we fall back to retroactively flipping the step to\n // `pending_enrollment` after the PUT returns 404. See `taxSubmitFailures`.\n\n // ── Schema queries ──────────────────────────────────────────────────────────\n\n const personalDetailsSchema = useGPEmployeeFormSchema(\n countryCode,\n 'global_payroll_personal_details',\n fieldValues,\n { enabled: currentStep === 'personal_details', employmentId },\n getPersonalDetailsJsfModify(countryCode),\n );\n\n const homeAddressSchema = useGPEmployeeFormSchema(\n countryCode,\n 'address_details',\n fieldValues,\n { enabled: currentStep === 'home_address', employmentId },\n );\n\n const bankAccountSchema = useGPEmployeeFormSchema(\n countryCode,\n 'global_payroll_bank_account_details',\n fieldValues,\n { enabled: currentStep === 'bank_account', employmentId },\n );\n\n // The tax-step schema queries are gated only on country + active. We can't\n // gate on `taxStepsAvailability` here because availability itself depends on\n // the query outcome (schema_unavailable when 400/404), which would create a\n // dependency cycle. The query just won't surface in the UI when the step\n // isn't current — and a failed fetch flips availability to schema_unavailable\n // via the dedicated effect below.\n const federalTaxesSchema = useGPEmployeeFormSchema(\n countryCode,\n 'global_payroll_federal_taxes',\n fieldValues,\n {\n enabled: isUSA && isPostEnrollment && currentStep === 'federal_taxes',\n employmentId,\n },\n );\n\n const stateTaxesSchema = useGPEmployeeFormSchema(\n countryCode,\n 'global_payroll_state_taxes',\n fieldValues,\n {\n enabled:\n isUSA &&\n !!jurisdiction &&\n isPostEnrollment &&\n currentStep === 'state_taxes',\n employmentId,\n jurisdiction,\n },\n );\n\n const currentSchema = useMemo(() => {\n const schemaByStep: Partial<\n Record<EmployeeStepKey, typeof personalDetailsSchema.data>\n > = {\n personal_details: personalDetailsSchema.data,\n home_address: homeAddressSchema.data,\n bank_account: bankAccountSchema.data,\n federal_taxes: federalTaxesSchema.data,\n state_taxes: stateTaxesSchema.data,\n };\n return schemaByStep[currentStep];\n }, [\n currentStep,\n personalDetailsSchema.data,\n homeAddressSchema.data,\n bankAccountSchema.data,\n federalTaxesSchema.data,\n stateTaxesSchema.data,\n ]);\n\n // Availability is computed AFTER schema queries so we can fold their error\n // state (e.g. backend returns 400 for an unseeded schema) into a friendly\n // `schema_unavailable` reason instead of letting the consumer render an\n // empty form.\n const taxStepsAvailability = useMemo(() => {\n const federalReason = ((): TaxStepUnavailableReason | null => {\n if (!isUSA) return 'unsupported_country';\n if (taxSubmitFailures.federal_taxes)\n return taxSubmitFailures.federal_taxes;\n if (!isPostEnrollment) return 'pending_enrollment';\n if (federalTaxesSchema.isError) return 'schema_unavailable';\n return null;\n })();\n\n const stateReason = ((): TaxStepUnavailableReason | null => {\n if (!isUSA) return 'unsupported_country';\n if (!jurisdiction) return 'no_jurisdiction';\n if (taxSubmitFailures.state_taxes) return taxSubmitFailures.state_taxes;\n if (!isPostEnrollment) return 'pending_enrollment';\n if (stateTaxesSchema.isError) return 'schema_unavailable';\n return null;\n })();\n\n return {\n federal_taxes: {\n isAvailable: federalReason === null,\n unavailableReason: federalReason,\n },\n state_taxes: {\n isAvailable: stateReason === null,\n unavailableReason: stateReason,\n },\n };\n }, [\n isUSA,\n isPostEnrollment,\n jurisdiction,\n taxSubmitFailures,\n federalTaxesSchema.isError,\n stateTaxesSchema.isError,\n ]);\n\n const isLoadingSchema =\n personalDetailsSchema.isLoading ||\n homeAddressSchema.isLoading ||\n bankAccountSchema.isLoading ||\n federalTaxesSchema.isLoading ||\n stateTaxesSchema.isLoading;\n\n // ── Mutations ───────────────────────────────────────────────────────────────\n\n const updatePersonalDetailsMutation = useGPUpdatePersonalDetails();\n const updateHomeAddressMutation = useGPUpdateHomeAddress();\n const updateBankAccountMutation = useGPUpdateBankAccount();\n const updateFederalTaxesMutation = useGPUpdateFederalTaxes();\n const updateStateTaxesMutation = useGPUpdateStateTaxes(jurisdiction);\n\n const { mutateAsyncOrThrow: updatePersonalDetailsAsync } = mutationToPromise(\n updatePersonalDetailsMutation,\n );\n const { mutateAsyncOrThrow: updateHomeAddressAsync } = mutationToPromise(\n updateHomeAddressMutation,\n );\n const { mutateAsyncOrThrow: updateBankAccountAsync } = mutationToPromise(\n updateBankAccountMutation,\n );\n const { mutateAsyncOrThrow: updateFederalTaxesAsync } = mutationToPromise(\n updateFederalTaxesMutation,\n );\n const { mutateAsyncOrThrow: updateStateTaxesAsync } = mutationToPromise(\n updateStateTaxesMutation,\n );\n\n const isSubmitting =\n updatePersonalDetailsMutation.isPending ||\n updateHomeAddressMutation.isPending ||\n updateBankAccountMutation.isPending ||\n updateFederalTaxesMutation.isPending ||\n updateStateTaxesMutation.isPending;\n\n // ── Form helpers ────────────────────────────────────────────────────────────\n\n const handleValidation = useCallback(\n async (values: FieldValues) => {\n if (!currentSchema) return null;\n const parsedValues = await parseJSFToValidate(\n values,\n currentSchema.fields,\n { isPartialValidation: false },\n );\n return currentSchema.handleValidation(parsedValues);\n },\n [currentSchema],\n );\n\n const parseFormValues = useCallback(\n async (values: FieldValues): Promise<Record<string, unknown>> => {\n if (!currentSchema) return values;\n return parseJSFToValidate(values, currentSchema.fields, {\n isPartialValidation: false,\n });\n },\n [currentSchema],\n );\n\n /**\n * Tiger's tax endpoints return 404 with `{message: \"Tax task not found...\"}`\n * when the employment hasn't reached post-enrollment. Convert that to a\n * `pending_enrollment` availability flip so the consumer can render the\n * not-available state instead of surfacing a raw error.\n */\n const handleTaxSubmitError = useCallback(\n (taxStep: TaxStepKey, error: unknown): boolean => {\n if (!isMutationError(error)) return false;\n const message =\n typeof error.rawError === 'object' &&\n error.rawError !== null &&\n 'message' in error.rawError\n ? String((error.rawError as { message?: unknown }).message ?? '')\n : '';\n // Only a \"tax task not found\" response means the task isn't provisioned\n // yet (pending enrollment). Other 404s are genuine errors and must\n // surface rather than being hidden behind the pending-enrollment state.\n if (/tax task not found/i.test(message)) {\n setTaxSubmitFailures((prev) => ({\n ...prev,\n [taxStep]: 'pending_enrollment' as TaxStepUnavailableReason,\n }));\n return true;\n }\n return false;\n },\n [],\n );\n\n const onSubmit = useCallback(\n async (values: FieldValues) => {\n const parsedValues = await parseFormValues(values);\n\n switch (currentStep) {\n case 'personal_details': {\n const data = await updatePersonalDetailsAsync(parsedValues);\n await refetchSteps();\n return data;\n }\n case 'home_address': {\n const data = await updateHomeAddressAsync(parsedValues);\n await refetchSteps();\n return data;\n }\n case 'bank_account': {\n const data = await updateBankAccountAsync(parsedValues);\n await refetchSteps();\n return data;\n }\n case 'federal_taxes': {\n try {\n const data = await updateFederalTaxesAsync(parsedValues);\n await refetchSteps();\n return data;\n } catch (e) {\n if (handleTaxSubmitError('federal_taxes', e)) {\n throw new TaxPendingEnrollmentError();\n }\n throw e;\n }\n }\n case 'state_taxes': {\n try {\n const data = await updateStateTaxesAsync(parsedValues);\n await refetchSteps();\n return data;\n } catch (e) {\n if (handleTaxSubmitError('state_taxes', e)) {\n throw new TaxPendingEnrollmentError();\n }\n throw e;\n }\n }\n default:\n return;\n }\n },\n [\n currentStep,\n parseFormValues,\n updatePersonalDetailsAsync,\n updateHomeAddressAsync,\n updateBankAccountAsync,\n updateFederalTaxesAsync,\n updateStateTaxesAsync,\n refetchSteps,\n handleTaxSubmitError,\n ],\n );\n\n return {\n stepState,\n isLoading: isLoadingSteps || isLoadingSchema,\n isSubmitting,\n isComplete: isComplete ?? false,\n employmentId,\n countryCode,\n jurisdiction,\n initialValues,\n options,\n apiSteps,\n selfOnboardingSubsteps,\n taxStepsAvailability,\n refetchSteps,\n fields: currentSchema?.fields ?? [],\n meta: (currentSchema?.meta ??\n {}) as JSONSchemaFormResultWithFieldsets['meta'],\n fieldValues,\n setFieldValues,\n handleValidation,\n parseFormValues,\n onSubmit,\n next: nextStep,\n back: previousStep,\n goToStep,\n setStepValues,\n };\n};\n"],"mappings":"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","names":["useMemo","useCallback","useState","useEffect","PERSONAL_DETAILS_HIDE_NAME","PERSONAL_DETAILS_JSF_MODIFY_USA","PERSONAL_DETAILS_JSF_MODIFY_INTL","getPersonalDetailsJsfModify","countryCode","__name","buildEmployeeSteps","hasBankSubstep","federalTaxesVisible","stateTaxesVisible","usePayrollEmployeeOnboarding","__name","employmentId","countryCode","jurisdiction","initialValues","options","taxSubmitFailures","setTaxSubmitFailures","useState","updateErrorContext","useErrorReporting","onStepChange","useCallback","step","apiSteps","isLoadingSteps","refetchSteps","useGPOnboardingSteps","selfOnboardingSubsteps","useMemo","s","isComplete","isUSA","isPostEnrollment","hasBankSubstep","steps","buildEmployeeSteps","stepState","nextStep","previousStep","goToStep","setStepValues","fieldValues","setFieldValues","useStepState","currentStep","useEffect","prev","next","personalDetailsSchema","useGPEmployeeFormSchema","getPersonalDetailsJsfModify","homeAddressSchema","bankAccountSchema","federalTaxesSchema","stateTaxesSchema","currentSchema","taxStepsAvailability","federalReason","stateReason","isLoadingSchema","updatePersonalDetailsMutation","useGPUpdatePersonalDetails","updateHomeAddressMutation","useGPUpdateHomeAddress","updateBankAccountMutation","useGPUpdateBankAccount","updateFederalTaxesMutation","useGPUpdateFederalTaxes","updateStateTaxesMutation","useGPUpdateStateTaxes","updatePersonalDetailsAsync","mutationToPromise","updateHomeAddressAsync","updateBankAccountAsync","updateFederalTaxesAsync","updateStateTaxesAsync","isSubmitting","handleValidation","values","parsedValues","parseJSFToValidate","parseFormValues","handleTaxSubmitError","taxStep","error","isMutationError","message","onSubmit","data","e","TaxPendingEnrollmentError"]}
@@ -1,2 +1,2 @@
1
- import{a as P,b as W,c as u}from"./chunk-A5SRPVT2.js";import{a as l}from"./chunk-OXTA4W4J.js";import{c as y}from"./chunk-Y3CJRZLA.js";import{j as h,m as x}from"./chunk-G2LZFGZA.js";import{a as c}from"./chunk-P37U34EQ.js";import{Fragment as $}from"react";import a from"lodash.omit";var C={...P,fieldset:u,"fieldset-flat":u};import{Fragment as S,jsx as n,jsxs as g}from"react/jsx-runtime";var B=c(({fields:p,fieldsets:d,fieldValues:i,components:m})=>{let{setValue:T,watch:M}=y();if(!p||p.length===0)return null;let J=d&&i?h({fields:p,fieldsets:d,values:i}):p,r=c((e,F,o)=>F.WrapperComponent?n(F.WrapperComponent,{children:e},o):n($,{children:e},o),"wrapWithCustomWrapper");return n(S,{children:J.map(e=>{if(e.calculateDynamicProperties&&(e={...e,...e.calculateDynamicProperties(i,e)||{}}),e.isVisible===!1||e.deprecated||e.hidden)return null;if(x(e)){let t=a(e,"WrapperComponent");return r(n(W,{name:t.name,description:t.description,value:t.const,statement:t.statement,label:t.label,helpCenter:t.meta?.helpCenter}),e,e.name)}if(e.Component){let{Component:t}=e,R=a(e,["Component","WrapperComponent"]);return r(g(S,{children:[n(t,{...R,value:M(e.name),setValue:V=>T(e.name,V)}),e.statement?n(l,{...e.statement}):null,e.extra?e.extra:null]}),e,e.name)}let o=e.type,s=C[o];if(!s)return g("p",{className:"error",children:["Field type ",o," not supported"]});if(o==="fieldset"){let t=a(e,"WrapperComponent");return r(n(s,{...t,components:m}),e,e.name)}if(o==="fieldset-flat"){let t=a(e,"WrapperComponent");return r(n(s,{...t,components:m,isFlatFieldset:!0}),e,e.name)}o==="select"&&e.multiple&&(s=C["multi-select"]);let k=a(e,"WrapperComponent");return r(g(S,{children:[n(s,{...k,component:m&&m[o]}),e.statement?n(l,{...e.statement}):null,e.extra?e.extra:null]}),e,e.name)})})},"JSONSchemaFormFields");export{B as a};
2
- //# sourceMappingURL=chunk-X4IJ52GQ.js.map
1
+ import{a as P,b as W,c as u}from"./chunk-CG6HX6UO.js";import{a as l}from"./chunk-OXTA4W4J.js";import{c as y}from"./chunk-Y3CJRZLA.js";import{j as h,m as x}from"./chunk-G2LZFGZA.js";import{a as c}from"./chunk-P37U34EQ.js";import{Fragment as $}from"react";import a from"lodash.omit";var C={...P,fieldset:u,"fieldset-flat":u};import{Fragment as S,jsx as n,jsxs as g}from"react/jsx-runtime";var B=c(({fields:p,fieldsets:d,fieldValues:i,components:m})=>{let{setValue:T,watch:M}=y();if(!p||p.length===0)return null;let J=d&&i?h({fields:p,fieldsets:d,values:i}):p,r=c((e,F,o)=>F.WrapperComponent?n(F.WrapperComponent,{children:e},o):n($,{children:e},o),"wrapWithCustomWrapper");return n(S,{children:J.map(e=>{if(e.calculateDynamicProperties&&(e={...e,...e.calculateDynamicProperties(i,e)||{}}),e.isVisible===!1||e.deprecated||e.hidden)return null;if(x(e)){let t=a(e,"WrapperComponent");return r(n(W,{name:t.name,description:t.description,value:t.const,statement:t.statement,label:t.label,helpCenter:t.meta?.helpCenter}),e,e.name)}if(e.Component){let{Component:t}=e,R=a(e,["Component","WrapperComponent"]);return r(g(S,{children:[n(t,{...R,value:M(e.name),setValue:V=>T(e.name,V)}),e.statement?n(l,{...e.statement}):null,e.extra?e.extra:null]}),e,e.name)}let o=e.type,s=C[o];if(!s)return g("p",{className:"error",children:["Field type ",o," not supported"]});if(o==="fieldset"){let t=a(e,"WrapperComponent");return r(n(s,{...t,components:m}),e,e.name)}if(o==="fieldset-flat"){let t=a(e,"WrapperComponent");return r(n(s,{...t,components:m,isFlatFieldset:!0}),e,e.name)}o==="select"&&e.multiple&&(s=C["multi-select"]);let k=a(e,"WrapperComponent");return r(g(S,{children:[n(s,{...k,component:m&&m[o]}),e.statement?n(l,{...e.statement}):null,e.extra?e.extra:null]}),e,e.name)})})},"JSONSchemaFormFields");export{B as a};
2
+ //# sourceMappingURL=chunk-QLYOADZI.js.map
@@ -0,0 +1,2 @@
1
+ import{a as l}from"./chunk-YUVDNGMO.js";import{a as o}from"./chunk-KTPIKOUV.js";import{b as a}from"./chunk-SS2SYDCB.js";import{a as t}from"./chunk-P37U34EQ.js";import{jsx as n}from"react/jsx-runtime";function u(r){let{employeeBag:e}=a(),s=o(r);return e.taxStepsAvailability.federal_taxes.isAvailable?n(l,{onSubmit:s,defaultValues:{...e.initialValues?.federal_taxes,...e.stepState.values?.federal_taxes}}):null}t(u,"FederalTaxesStep");export{u as a};
2
+ //# sourceMappingURL=chunk-QOOAS2EM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/PayrollEmployeeOnboarding/components/FederalTaxesStep.tsx"],"sourcesContent":["import { usePayrollEmployeeOnboardingContext } from '@/src/flows/PayrollEmployeeOnboarding/context';\nimport { PayrollEmployeeForm } from '@/src/flows/PayrollEmployeeOnboarding/components/PayrollEmployeeForm';\nimport { useEmployeeStepSubmitHandler } from '@/src/flows/PayrollEmployeeOnboarding/components/useEmployeeStepSubmitHandler';\nimport type { GPStepCallbacks } from '@/src/flows/types';\n\n/**\n * Render only when `employeeBag.taxStepsAvailability.federal_taxes.isAvailable`\n * is true. Returns null otherwise so the consumer can render their own\n * not-available UI driven by `unavailableReason`. The step also flips itself\n * to unavailable retroactively if the backend returns 404 on submit.\n */\nexport function FederalTaxesStep(props: GPStepCallbacks) {\n const { employeeBag } = usePayrollEmployeeOnboardingContext();\n const handleSubmit = useEmployeeStepSubmitHandler(props);\n\n if (!employeeBag.taxStepsAvailability.federal_taxes.isAvailable) return null;\n\n return (\n <PayrollEmployeeForm\n onSubmit={handleSubmit}\n defaultValues={{\n ...(employeeBag.initialValues?.federal_taxes as Record<\n string,\n unknown\n >),\n ...(employeeBag.stepState.values?.federal_taxes as Record<\n string,\n unknown\n >),\n }}\n />\n );\n}\n"],"mappings":"gKAkBI,cAAAA,MAAA,oBAPG,SAASC,EAAiBC,EAAwB,CACvD,GAAM,CAAE,YAAAC,CAAY,EAAIC,EAAoC,EACtDC,EAAeC,EAA6BJ,CAAK,EAEvD,OAAKC,EAAY,qBAAqB,cAAc,YAGlDH,EAACO,EAAA,CACC,SAAUF,EACV,cAAe,CACb,GAAIF,EAAY,eAAe,cAI/B,GAAIA,EAAY,UAAU,QAAQ,aAIpC,EACF,EAfsE,IAiB1E,CArBgBK,EAAAP,EAAA","names":["jsx","FederalTaxesStep","props","employeeBag","usePayrollEmployeeOnboardingContext","handleSubmit","useEmployeeStepSubmitHandler","PayrollEmployeeForm","__name"]}
@@ -0,0 +1,2 @@
1
+ var e={additionalProperties:!1,properties:{country_code:{title:"Country",description:"",type:"string",oneOf:[],"x-jsf-presentation":{inputType:"select"}}},required:["country_code"],type:"object","x-jsf-order":["country_code"]};export{e as a};
2
+ //# sourceMappingURL=chunk-QQPF2DUF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/PayrollAdminOnboarding/json-schemas/selectCountryStep.ts"],"sourcesContent":["export const gpSelectCountrySchema = {\n additionalProperties: false,\n properties: {\n country_code: {\n title: 'Country',\n description: '',\n type: 'string',\n oneOf: [] as Array<{ const: string; title: string }>,\n 'x-jsf-presentation': { inputType: 'select' },\n },\n },\n required: ['country_code'],\n type: 'object',\n 'x-jsf-order': ['country_code'],\n};\n"],"mappings":"AAAO,IAAMA,EAAwB,CACnC,qBAAsB,GACtB,WAAY,CACV,aAAc,CACZ,MAAO,UACP,YAAa,GACb,KAAM,SACN,MAAO,CAAC,EACR,qBAAsB,CAAE,UAAW,QAAS,CAC9C,CACF,EACA,SAAU,CAAC,cAAc,EACzB,KAAM,SACN,cAAe,CAAC,cAAc,CAChC","names":["gpSelectCountrySchema"]}
@@ -1,2 +1,2 @@
1
- import{a as P,b as k,c as N}from"./chunk-3B6BHFDV.js";import{a as C}from"./chunk-OPDKYPYM.js";import{a as u,b as F}from"./chunk-T5J2Z6ZR.js";import{j as v,k as x,l as b,n as D,o as w}from"./chunk-Y3CJRZLA.js";import{n as a}from"./chunk-G2LZFGZA.js";import{a as n}from"./chunk-P37U34EQ.js";import{CalendarIcon as T}from"lucide-react";import{format as Y}from"date-fns";import{ChevronLeft as O,ChevronRight as V}from"lucide-react";import{DayPicker as B}from"react-day-picker";import{jsx as p}from"react/jsx-runtime";function R({className:t,classNames:m,showOutsideDays:c=!0,...r}){return p(B,{showOutsideDays:c,className:a("p-3",t),classNames:{months:"flex flex-col sm:flex-row gap-2",month:"flex flex-col gap-4",caption:"flex justify-center pt-1 relative items-center w-full",caption_label:"text-sm font-medium",nav:"flex items-center gap-1",nav_button:a(u({variant:"outline"}),"size-7 bg-transparent p-0 opacity-50 hover:opacity-100"),nav_button_previous:"absolute left-1",nav_button_next:"absolute right-1",table:"w-full border-collapse space-x-1",head_row:"flex",head_cell:"text-muted-foreground rounded-md w-8 font-normal text-[0.8rem]",row:"flex w-full mt-2",cell:a("relative p-0 text-center text-sm focus-within:relative focus-within:z-20 [&:has([aria-selected])]:bg-accent [&:has([aria-selected].day-range-end)]:rounded-r-md",r.mode==="range"?"[&:has(>.day-range-end)]:rounded-r-md [&:has(>.day-range-start)]:rounded-l-md first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md":"[&:has([aria-selected])]:rounded-md"),day:a(u({variant:"ghost"}),"size-8 p-0 font-normal aria-selected:opacity-100"),day_range_start:"day-range-start aria-selected:bg-primary aria-selected:text-primary-foreground",day_range_end:"day-range-end aria-selected:bg-primary aria-selected:text-primary-foreground",day_selected:"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground",day_today:"bg-accent text-accent-foreground",day_outside:"day-outside text-muted-foreground aria-selected:text-muted-foreground",day_disabled:"text-muted-foreground opacity-50",day_range_middle:"aria-selected:bg-accent aria-selected:text-accent-foreground",day_hidden:"invisible",...m},components:{IconLeft:n(({className:l,...o})=>p(O,{className:a("size-4",l),...o}),"IconLeft"),IconRight:n(({className:l,...o})=>p(V,{className:a("size-4",l),...o}),"IconRight")},...r})}n(R,"Calendar");import{useState as $}from"react";import{Fragment as E,jsx as e,jsxs as f}from"react/jsx-runtime";function re({field:t,fieldData:m,fieldState:c}){let{name:r,label:l,description:o,minDate:g,maxDate:y}=m,d=g?new Date(g):void 0,i=y?new Date(y):void 0,[M,_]=$(!1),I=new Date().getFullYear(),h=d?d.getFullYear():1900,L=Math.max(h,i?i.getFullYear():I+10);return f(v,{"data-field":r,className:`flex flex-col RemoteFlows__DatePickerField__Item__${r}`,children:[e(x,{className:"RemoteFlows__DatePickerField__Label",children:l}),f(P,{open:M,onOpenChange:_,children:[e(k,{asChild:!0,children:e(b,{children:e("div",{children:f(F,{type:"button",variant:"outline",className:a("w-full pl-3 text-left font-normal",!t.value&&"text-muted-foreground"),"data-testid":`date-picker-button-${r}`,children:[t.value&&e(E,{children:Y(t.value,"yyyy-MM-dd")}),e(T,{className:"ml-auto h-4 w-4 opacity-50"})]})})})}),e(N,{className:"w-auto p-0 RemoteFlows__DatepickerField__PopoverContent",align:"start",children:e(R,{mode:"single",captionLayout:"dropdown",fromYear:h,toYear:L,className:"RemoteFlows__DatepickerField__Calendar",selected:t.value?new Date(t.value):void 0,onDayClick:s=>{let z=Y(s,"yyyy-MM-dd");t.onChange(z),_(!1)},defaultMonth:t.value?new Date(t.value):i??d,disabled:s=>!!(d&&s<d||i&&s>i)})})]}),o?e(D,{helpCenter:e(C,{helpCenter:m.meta?.helpCenter}),children:o}):null,c.error&&e(w,{className:"RemoteFlows__DatePickerField__Error"})]})}n(re,"DatePickerFieldDefault");export{re as a};
2
- //# sourceMappingURL=chunk-DAFIBCX4.js.map
1
+ import{a as P,b as k,c as N}from"./chunk-3B6BHFDV.js";import{a as C}from"./chunk-DSGQZDY6.js";import{a as u,b as F}from"./chunk-T5J2Z6ZR.js";import{j as v,k as x,l as b,n as D,o as w}from"./chunk-Y3CJRZLA.js";import{n as a}from"./chunk-G2LZFGZA.js";import{a as n}from"./chunk-P37U34EQ.js";import{CalendarIcon as T}from"lucide-react";import{format as Y}from"date-fns";import{ChevronLeft as O,ChevronRight as V}from"lucide-react";import{DayPicker as B}from"react-day-picker";import{jsx as p}from"react/jsx-runtime";function R({className:t,classNames:m,showOutsideDays:c=!0,...r}){return p(B,{showOutsideDays:c,className:a("p-3",t),classNames:{months:"flex flex-col sm:flex-row gap-2",month:"flex flex-col gap-4",caption:"flex justify-center pt-1 relative items-center w-full",caption_label:"text-sm font-medium",nav:"flex items-center gap-1",nav_button:a(u({variant:"outline"}),"size-7 bg-transparent p-0 opacity-50 hover:opacity-100"),nav_button_previous:"absolute left-1",nav_button_next:"absolute right-1",table:"w-full border-collapse space-x-1",head_row:"flex",head_cell:"text-muted-foreground rounded-md w-8 font-normal text-[0.8rem]",row:"flex w-full mt-2",cell:a("relative p-0 text-center text-sm focus-within:relative focus-within:z-20 [&:has([aria-selected])]:bg-accent [&:has([aria-selected].day-range-end)]:rounded-r-md",r.mode==="range"?"[&:has(>.day-range-end)]:rounded-r-md [&:has(>.day-range-start)]:rounded-l-md first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md":"[&:has([aria-selected])]:rounded-md"),day:a(u({variant:"ghost"}),"size-8 p-0 font-normal aria-selected:opacity-100"),day_range_start:"day-range-start aria-selected:bg-primary aria-selected:text-primary-foreground",day_range_end:"day-range-end aria-selected:bg-primary aria-selected:text-primary-foreground",day_selected:"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground",day_today:"bg-accent text-accent-foreground",day_outside:"day-outside text-muted-foreground aria-selected:text-muted-foreground",day_disabled:"text-muted-foreground opacity-50",day_range_middle:"aria-selected:bg-accent aria-selected:text-accent-foreground",day_hidden:"invisible",...m},components:{IconLeft:n(({className:l,...o})=>p(O,{className:a("size-4",l),...o}),"IconLeft"),IconRight:n(({className:l,...o})=>p(V,{className:a("size-4",l),...o}),"IconRight")},...r})}n(R,"Calendar");import{useState as $}from"react";import{Fragment as E,jsx as e,jsxs as f}from"react/jsx-runtime";function re({field:t,fieldData:m,fieldState:c}){let{name:r,label:l,description:o,minDate:g,maxDate:y}=m,d=g?new Date(g):void 0,i=y?new Date(y):void 0,[M,_]=$(!1),I=new Date().getFullYear(),h=d?d.getFullYear():1900,L=Math.max(h,i?i.getFullYear():I+10);return f(v,{"data-field":r,className:`flex flex-col RemoteFlows__DatePickerField__Item__${r}`,children:[e(x,{className:"RemoteFlows__DatePickerField__Label",children:l}),f(P,{open:M,onOpenChange:_,children:[e(k,{asChild:!0,children:e(b,{children:e("div",{children:f(F,{type:"button",variant:"outline",className:a("w-full pl-3 text-left font-normal",!t.value&&"text-muted-foreground"),"data-testid":`date-picker-button-${r}`,children:[t.value&&e(E,{children:Y(t.value,"yyyy-MM-dd")}),e(T,{className:"ml-auto h-4 w-4 opacity-50"})]})})})}),e(N,{className:"w-auto p-0 RemoteFlows__DatepickerField__PopoverContent",align:"start",children:e(R,{mode:"single",captionLayout:"dropdown",fromYear:h,toYear:L,className:"RemoteFlows__DatepickerField__Calendar",selected:t.value?new Date(t.value):void 0,onDayClick:s=>{let z=Y(s,"yyyy-MM-dd");t.onChange(z),_(!1)},defaultMonth:t.value?new Date(t.value):i??d,disabled:s=>!!(d&&s<d||i&&s>i)})})]}),o?e(D,{helpCenter:e(C,{helpCenter:m.meta?.helpCenter}),children:o}):null,c.error&&e(w,{className:"RemoteFlows__DatePickerField__Error"})]})}n(re,"DatePickerFieldDefault");export{re as a};
2
+ //# sourceMappingURL=chunk-RFEF2B5D.js.map
@@ -1,2 +1,2 @@
1
- import{c as e}from"./chunk-RFVHV6RE.js";import{a as n}from"./chunk-P37U34EQ.js";import{jsx as o,jsxs as t}from"react/jsx-runtime";var a=n(({involuntaryOffboardingServiceChargeZendeskId:r,reconciliationInvoiceZendeskId:i})=>t("p",{className:"RemoteFlows__AcknowledgeInformationFees text-xs text-[#71717A]",children:["You'll receive an"," ",o(e,{zendeskId:r,className:"align-baseline",children:"involuntary offboarding service charge \u2197"})," ","on your"," ",o(e,{zendeskId:i,children:"reconciliation invoice \u2197"})]}),"AcknowledgeInformationFees");export{a};
2
- //# sourceMappingURL=chunk-3QSHWQS3.js.map
1
+ import{c as e}from"./chunk-J2L3CYIS.js";import{a as n}from"./chunk-P37U34EQ.js";import{jsx as o,jsxs as t}from"react/jsx-runtime";var a=n(({involuntaryOffboardingServiceChargeZendeskId:r,reconciliationInvoiceZendeskId:i})=>t("p",{className:"RemoteFlows__AcknowledgeInformationFees text-xs text-[#71717A]",children:["You'll receive an"," ",o(e,{zendeskId:r,className:"align-baseline",children:"involuntary offboarding service charge \u2197"})," ","on your"," ",o(e,{zendeskId:i,children:"reconciliation invoice \u2197"})]}),"AcknowledgeInformationFees");export{a};
2
+ //# sourceMappingURL=chunk-RKRYZZ3R.js.map
@@ -0,0 +1,2 @@
1
+ import{a as l}from"./chunk-YUVDNGMO.js";import{a}from"./chunk-KTPIKOUV.js";import{b as t}from"./chunk-SS2SYDCB.js";import{a as o}from"./chunk-P37U34EQ.js";import{jsx as s}from"react/jsx-runtime";function u(n){let{employeeBag:e}=t(),r=a(n);return s(l,{onSubmit:r,defaultValues:{...e.initialValues?.personal_details,...e.stepState.values?.personal_details}})}o(u,"PersonalDetailsStep");export{u as a};
2
+ //# sourceMappingURL=chunk-RT3NH5Z7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/PayrollEmployeeOnboarding/components/PersonalDetailsStep.tsx"],"sourcesContent":["import { usePayrollEmployeeOnboardingContext } from '@/src/flows/PayrollEmployeeOnboarding/context';\nimport { PayrollEmployeeForm } from '@/src/flows/PayrollEmployeeOnboarding/components/PayrollEmployeeForm';\nimport { useEmployeeStepSubmitHandler } from '@/src/flows/PayrollEmployeeOnboarding/components/useEmployeeStepSubmitHandler';\nimport type { GPStepCallbacks } from '@/src/flows/types';\n\nexport function PersonalDetailsStep(props: GPStepCallbacks) {\n const { employeeBag } = usePayrollEmployeeOnboardingContext();\n const handleSubmit = useEmployeeStepSubmitHandler(props);\n\n return (\n <PayrollEmployeeForm\n onSubmit={handleSubmit}\n defaultValues={{\n ...(employeeBag.initialValues?.personal_details as Record<\n string,\n unknown\n >),\n ...(employeeBag.stepState.values?.personal_details as Record<\n string,\n unknown\n >),\n }}\n />\n );\n}\n"],"mappings":"2JAUI,cAAAA,MAAA,oBALG,SAASC,EAAoBC,EAAwB,CAC1D,GAAM,CAAE,YAAAC,CAAY,EAAIC,EAAoC,EACtDC,EAAeC,EAA6BJ,CAAK,EAEvD,OACEF,EAACO,EAAA,CACC,SAAUF,EACV,cAAe,CACb,GAAIF,EAAY,eAAe,iBAI/B,GAAIA,EAAY,UAAU,QAAQ,gBAIpC,EACF,CAEJ,CAnBgBK,EAAAP,EAAA","names":["jsx","PersonalDetailsStep","props","employeeBag","usePayrollEmployeeOnboardingContext","handleSubmit","useEmployeeStepSubmitHandler","PayrollEmployeeForm","__name"]}
@@ -1,2 +1,2 @@
1
- import{a as e}from"./chunk-4KKA35AX.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-BJZXTS47.js.map
1
+ import{a as e}from"./chunk-WUUVA6KN.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-S35AFXC5.js.map
@@ -0,0 +1,2 @@
1
+ import{a as g}from"./chunk-Y2K74EBE.js";import{a as d,b as w}from"./chunk-WMBHCIFS.js";import{a as E}from"./chunk-6JW4ERRK.js";import{G as P,aa as F,e as _}from"./chunk-AS7SJDU5.js";import{b as h,h as C}from"./chunk-G2LZFGZA.js";import{a as j}from"./chunk-XPVYX7LE.js";import{e as c}from"./chunk-H2O4CVKF.js";import{a as e}from"./chunk-P37U34EQ.js";import{useMutation as b,useQuery as I}from"@tanstack/react-query";var B=e(({countryCode:n,employment:r,fieldValues:a,options:t})=>{let{client:u}=c(),m=t?.jsonSchemaVersion?.contract_amendments?{json_schema_version:t.jsonSchemaVersion.contract_amendments}:{};return I({queryKey:["contract-amendment-schema"],retry:!1,queryFn:e(async()=>{let o=await _({client:u,headers:{Authorization:""},query:{employment_id:r?.id,country_code:n,...m}});if(o.error||!o.data)throw new Error("Failed to fetch contract amendment schema");return o},"queryFn"),enabled:!!r,select:e(({data:o})=>{let l=o?.data||{};return E(l,a,t)},"select")})},"useContractAmendmentSchemaQuery"),J=e(n=>{let{client:r}=c(),a=n?.jsonSchemaVersion?.contract_amendments?{json_schema_version:n.jsonSchemaVersion.contract_amendments}:{};return b({mutationFn:e(t=>P({client:r,headers:{Authorization:""},body:t,query:{...a}}),"mutationFn")})},"useCreateContractAmendmentMutation"),K=e(n=>{let{client:r}=c(),a=n?.jsonSchemaVersion?.contract_amendments?{json_schema_version:n.jsonSchemaVersion.contract_amendments}:{};return b({mutationFn:e(t=>F({client:r,headers:{Authorization:""},body:t,query:{...a}}),"mutationFn")})},"useAutomatableContractAmendmentMutation"),te=e(({employmentId:n,countryCode:r,options:a})=>{let{fieldValues:t,setFieldValues:u,stepState:m,nextStep:o,previousStep:l}=j(d),{data:i,isLoading:v,isError:q,error:Q}=g({employmentId:n,queryParams:{exclude_files:!0}}),{data:s,isLoading:L,isError:M,error:T}=B({employment:i,countryCode:r,fieldValues:{...m.values?.[m.currentStep.name],...t},options:a}),k=w(i,s?.fields),S=J(a),A=K(a);async function x(p){let f=await C(p,s?.fields||[],{isPartialValidation:!1}),V={employment_id:i?.id,amendment_contract_id:i?.active_contract_id,contract_amendment:{...f}};switch(m.currentStep.name){case d.form.name:{let{mutateAsync:y}=h(A),H=await y(V);return o(),H}case d.confirmation_form.name:{let{mutateAsync:y}=h(S);return y(V)}default:throw new Error("Invalid step state")}}e(x,"onSubmit");async function z(p){if(s){let f=await C(p,s?.fields);return s?.handleValidation(f)}return null}e(z,"handleValidation");function O(){l()}return e(O,"back"),{stepState:m,fields:s?.fields||[],isLoading:v||L,isError:q||M,error:Q||T,isSubmitting:A.isPending||S.isPending,initialValues:k,values:t,handleValidation:z,checkFieldUpdates:u,onSubmit:x,back:O}},"useContractAmendment");export{te as a};
2
+ //# sourceMappingURL=chunk-SDECFXTQ.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/flows/ContractAmendment/hooks.ts"],"sourcesContent":["import { FieldValues } from 'react-hook-form';\nimport { useMutation, useQuery } from '@tanstack/react-query';\nimport {\n CreateContractAmendmentParams,\n Employment,\n getV1ContractAmendmentsSchema,\n postV1ContractAmendmentsAutomatable,\n postV1ContractAmendments,\n} from '@/src/client';\nimport { parseJSFToValidate } from '@/src/components/form/utils';\nimport { mutationToPromise } from '@/src/lib/mutations';\nimport { Client } from '@/src/client/client';\nimport { createHeadlessForm } from '@/src/common/createHeadlessForm';\nimport { useEmploymentQuery } from '@/src/common/api/employment';\nimport { useClient } from '@/src/context';\nimport { ContractAmendmentParams } from './types';\nimport { useStepState } from '../useStepState';\nimport { buildInitialValues, STEPS } from './utils';\nimport { FlowOptions } from '@/src/flows/types';\n\ntype ContractAmendmentSchemaParams = {\n countryCode: string;\n employment: Employment | undefined;\n fieldValues: FieldValues | undefined;\n options?: ContractAmendmentParams['options'];\n};\n\nconst useContractAmendmentSchemaQuery = ({\n countryCode,\n employment,\n fieldValues,\n options,\n}: ContractAmendmentSchemaParams) => {\n const { client } = useClient();\n const jsonSchemaQueryParam = options?.jsonSchemaVersion?.contract_amendments\n ? {\n json_schema_version: options.jsonSchemaVersion.contract_amendments,\n }\n : {};\n return useQuery({\n queryKey: ['contract-amendment-schema'],\n retry: false,\n queryFn: async () => {\n const response = await getV1ContractAmendmentsSchema({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n query: {\n employment_id: employment?.id as string,\n country_code: countryCode,\n ...jsonSchemaQueryParam,\n },\n });\n\n // If response status is 404 or other error, throw an error to trigger isError\n if (response.error || !response.data) {\n throw new Error('Failed to fetch contract amendment schema');\n }\n\n return response;\n },\n enabled: Boolean(employment),\n select: ({ data }) => {\n const jsfSchema = data?.data || {};\n\n return createHeadlessForm(jsfSchema, fieldValues, options);\n },\n });\n};\n\nconst useCreateContractAmendmentMutation = (options?: FlowOptions) => {\n const { client } = useClient();\n const jsonSchemaQueryParam = options?.jsonSchemaVersion?.contract_amendments\n ? {\n json_schema_version: options.jsonSchemaVersion.contract_amendments,\n }\n : {};\n return useMutation({\n mutationFn: (payload: CreateContractAmendmentParams) => {\n return postV1ContractAmendments({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n body: payload,\n query: {\n ...jsonSchemaQueryParam,\n },\n });\n },\n });\n};\n\nconst useAutomatableContractAmendmentMutation = (options?: FlowOptions) => {\n const { client } = useClient();\n const jsonSchemaQueryParam = options?.jsonSchemaVersion?.contract_amendments\n ? {\n json_schema_version: options.jsonSchemaVersion.contract_amendments,\n }\n : {};\n return useMutation({\n mutationFn: (payload: CreateContractAmendmentParams) => {\n return postV1ContractAmendmentsAutomatable({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n body: payload,\n query: {\n ...jsonSchemaQueryParam,\n },\n });\n },\n });\n};\n\nexport const useContractAmendment = ({\n employmentId,\n countryCode,\n options,\n}: ContractAmendmentParams) => {\n const { fieldValues, setFieldValues, stepState, nextStep, previousStep } =\n useStepState<keyof typeof STEPS>(STEPS);\n\n const {\n data: employment,\n isLoading: isLoadingEmployment,\n isError: isErrorEmployment,\n error: errorEmployment,\n } = useEmploymentQuery({\n employmentId,\n queryParams: {\n exclude_files: true,\n },\n });\n\n const {\n data: contractAmendmentHeadlessForm,\n isLoading: isLoadingContractAmendments,\n isError: isErrorContractAmendmentSchema,\n error: errorContractAmendmentSchema,\n } = useContractAmendmentSchemaQuery({\n employment,\n countryCode,\n // In case the user is navigating back to the form step, we need to\n // pass the previous field values, so that the schema can be\n // generated with the correct values.\n fieldValues: {\n ...stepState.values?.[stepState.currentStep.name], // Restore values for the current step\n ...fieldValues,\n },\n options,\n });\n\n const initialValues = buildInitialValues(\n employment,\n contractAmendmentHeadlessForm?.fields,\n );\n\n const createContractAmendmentMutation =\n useCreateContractAmendmentMutation(options);\n const automatableContractAmendmentMutation =\n useAutomatableContractAmendmentMutation(options);\n\n async function onSubmit(values: FieldValues) {\n const parsedValues = await parseJSFToValidate(\n values,\n contractAmendmentHeadlessForm?.fields || [],\n {\n isPartialValidation: false,\n },\n );\n\n const payload = {\n employment_id: employment?.id as string,\n amendment_contract_id: employment?.active_contract_id as string,\n contract_amendment: {\n ...parsedValues,\n },\n };\n\n switch (stepState.currentStep.name) {\n case STEPS.form.name: {\n const { mutateAsync } = mutationToPromise(\n automatableContractAmendmentMutation,\n );\n\n const automatableContractAmendment = await mutateAsync(payload);\n\n nextStep();\n\n return automatableContractAmendment;\n }\n case STEPS.confirmation_form.name: {\n const { mutateAsync } = mutationToPromise(\n createContractAmendmentMutation,\n );\n\n return mutateAsync(payload);\n }\n\n default:\n throw new Error('Invalid step state');\n }\n }\n\n async function handleValidation(values: FieldValues) {\n if (contractAmendmentHeadlessForm) {\n const parsedValues = await parseJSFToValidate(\n values,\n contractAmendmentHeadlessForm?.fields,\n );\n\n return contractAmendmentHeadlessForm?.handleValidation(parsedValues);\n }\n return null;\n }\n\n function back() {\n previousStep();\n }\n\n return {\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 contract amendment schema\n */\n fields: contractAmendmentHeadlessForm?.fields || [],\n /**\n * Loading state indicating if either employment or contract amendment data is being fetched\n */\n isLoading: isLoadingEmployment || isLoadingContractAmendments,\n /**\n * Error state indicating if there was an error fetching either employment or contract amendment data\n */\n isError: isErrorEmployment || isErrorContractAmendmentSchema,\n /**\n * Error object containing details about any errors that occurred during data fetching\n */\n error: errorEmployment || errorContractAmendmentSchema,\n /**\n * Loading state indicating if a contract amendment mutation is in progress\n */\n isSubmitting:\n automatableContractAmendmentMutation.isPending ||\n createContractAmendmentMutation.isPending,\n /**\n * Initial form values built from employment data and contract amendment fields\n */\n initialValues,\n /**\n * Current form field values\n */\n values: fieldValues,\n /**\n * Function to validate form values against the contract amendment 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: setFieldValues,\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 * Function to handle going back to the previous step\n * @returns {void}\n */\n back,\n };\n};\n"],"mappings":"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","names":["useMutation","useQuery","useContractAmendmentSchemaQuery","__name","countryCode","employment","fieldValues","options","client","useClient","jsonSchemaQueryParam","useQuery","response","getV1ContractAmendmentsSchema","data","jsfSchema","createHeadlessForm","useCreateContractAmendmentMutation","useMutation","payload","postV1ContractAmendments","useAutomatableContractAmendmentMutation","postV1ContractAmendmentsAutomatable","useContractAmendment","employmentId","setFieldValues","stepState","nextStep","previousStep","useStepState","STEPS","isLoadingEmployment","isErrorEmployment","errorEmployment","useEmploymentQuery","contractAmendmentHeadlessForm","isLoadingContractAmendments","isErrorContractAmendmentSchema","errorContractAmendmentSchema","initialValues","buildInitialValues","createContractAmendmentMutation","automatableContractAmendmentMutation","onSubmit","values","parsedValues","parseJSFToValidate","mutateAsync","mutationToPromise","automatableContractAmendment","handleValidation","back"]}
1
+ {"version":3,"sources":["../src/flows/ContractAmendment/hooks.ts"],"sourcesContent":["import { FieldValues } from 'react-hook-form';\nimport { useMutation, useQuery } from '@tanstack/react-query';\nimport {\n CreateContractAmendmentParams,\n Employment,\n getV1ContractAmendmentsSchema,\n postV1ContractAmendmentsAutomatable,\n postV1ContractAmendments,\n} from '@/src/client';\nimport { parseJSFToValidate } from '@/src/components/form/utils';\nimport { mutationToPromise } from '@/src/lib/mutations';\nimport { Client } from '@/src/client/client';\nimport { createHeadlessForm } from '@/src/common/createHeadlessForm';\nimport { useEmploymentQuery } from '@/src/common/api/employment';\nimport { useClient } from '@/src/context';\nimport { ContractAmendmentParams } from './types';\nimport { useStepState } from '../useStepState';\nimport { buildInitialValues, STEPS } from './utils';\nimport { FlowOptions } from '@/src/flows/types';\n\ntype ContractAmendmentSchemaParams = {\n countryCode: string;\n employment: Employment | undefined;\n fieldValues: FieldValues | undefined;\n options?: ContractAmendmentParams['options'];\n};\n\nconst useContractAmendmentSchemaQuery = ({\n countryCode,\n employment,\n fieldValues,\n options,\n}: ContractAmendmentSchemaParams) => {\n const { client } = useClient();\n const jsonSchemaQueryParam = options?.jsonSchemaVersion?.contract_amendments\n ? {\n json_schema_version: options.jsonSchemaVersion.contract_amendments,\n }\n : {};\n return useQuery({\n queryKey: ['contract-amendment-schema'],\n retry: false,\n queryFn: async () => {\n const response = await getV1ContractAmendmentsSchema({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n query: {\n employment_id: employment?.id as string,\n country_code: countryCode,\n ...jsonSchemaQueryParam,\n },\n });\n\n // If response status is 404 or other error, throw an error to trigger isError\n if (response.error || !response.data) {\n throw new Error('Failed to fetch contract amendment schema');\n }\n\n return response;\n },\n enabled: Boolean(employment),\n select: ({ data }) => {\n const jsfSchema = data?.data || {};\n\n return createHeadlessForm(jsfSchema, fieldValues, options);\n },\n });\n};\n\nconst useCreateContractAmendmentMutation = (options?: FlowOptions) => {\n const { client } = useClient();\n const jsonSchemaQueryParam = options?.jsonSchemaVersion?.contract_amendments\n ? {\n json_schema_version: options.jsonSchemaVersion.contract_amendments,\n }\n : {};\n return useMutation({\n mutationFn: (payload: CreateContractAmendmentParams) => {\n return postV1ContractAmendments({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n body: payload,\n query: {\n ...jsonSchemaQueryParam,\n },\n });\n },\n });\n};\n\nconst useAutomatableContractAmendmentMutation = (options?: FlowOptions) => {\n const { client } = useClient();\n const jsonSchemaQueryParam = options?.jsonSchemaVersion?.contract_amendments\n ? {\n json_schema_version: options.jsonSchemaVersion.contract_amendments,\n }\n : {};\n return useMutation({\n mutationFn: (payload: CreateContractAmendmentParams) => {\n return postV1ContractAmendmentsAutomatable({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n body: payload,\n query: {\n ...jsonSchemaQueryParam,\n },\n });\n },\n });\n};\n\nexport const useContractAmendment = ({\n employmentId,\n countryCode,\n options,\n}: ContractAmendmentParams) => {\n const { fieldValues, setFieldValues, stepState, nextStep, previousStep } =\n useStepState<keyof typeof STEPS>(STEPS);\n\n const {\n data: employment,\n isLoading: isLoadingEmployment,\n isError: isErrorEmployment,\n error: errorEmployment,\n } = useEmploymentQuery({\n employmentId,\n queryParams: {\n exclude_files: true,\n },\n });\n\n const {\n data: contractAmendmentHeadlessForm,\n isLoading: isLoadingContractAmendments,\n isError: isErrorContractAmendmentSchema,\n error: errorContractAmendmentSchema,\n } = useContractAmendmentSchemaQuery({\n employment,\n countryCode,\n // In case the user is navigating back to the form step, we need to\n // pass the previous field values, so that the schema can be\n // generated with the correct values.\n fieldValues: {\n ...stepState.values?.[stepState.currentStep.name], // Restore values for the current step\n ...fieldValues,\n },\n options,\n });\n\n const initialValues = buildInitialValues(\n employment,\n contractAmendmentHeadlessForm?.fields,\n );\n\n const createContractAmendmentMutation =\n useCreateContractAmendmentMutation(options);\n const automatableContractAmendmentMutation =\n useAutomatableContractAmendmentMutation(options);\n\n async function onSubmit(values: FieldValues) {\n const parsedValues = await parseJSFToValidate(\n values,\n contractAmendmentHeadlessForm?.fields || [],\n {\n isPartialValidation: false,\n },\n );\n\n const payload = {\n employment_id: employment?.id as string,\n amendment_contract_id: employment?.active_contract_id as string,\n contract_amendment: {\n ...parsedValues,\n },\n };\n\n switch (stepState.currentStep.name) {\n case STEPS.form.name: {\n const { mutateAsync } = mutationToPromise(\n automatableContractAmendmentMutation,\n );\n\n const automatableContractAmendment = await mutateAsync(payload);\n\n nextStep();\n\n return automatableContractAmendment;\n }\n case STEPS.confirmation_form.name: {\n const { mutateAsync } = mutationToPromise(\n createContractAmendmentMutation,\n );\n\n return mutateAsync(payload);\n }\n\n default:\n throw new Error('Invalid step state');\n }\n }\n\n async function handleValidation(values: FieldValues) {\n if (contractAmendmentHeadlessForm) {\n const parsedValues = await parseJSFToValidate(\n values,\n contractAmendmentHeadlessForm?.fields,\n );\n\n return contractAmendmentHeadlessForm?.handleValidation(parsedValues);\n }\n return null;\n }\n\n function back() {\n previousStep();\n }\n\n return {\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 contract amendment schema\n */\n fields: contractAmendmentHeadlessForm?.fields || [],\n /**\n * Loading state indicating if either employment or contract amendment data is being fetched\n */\n isLoading: isLoadingEmployment || isLoadingContractAmendments,\n /**\n * Error state indicating if there was an error fetching either employment or contract amendment data\n */\n isError: isErrorEmployment || isErrorContractAmendmentSchema,\n /**\n * Error object containing details about any errors that occurred during data fetching\n */\n error: errorEmployment || errorContractAmendmentSchema,\n /**\n * Loading state indicating if a contract amendment mutation is in progress\n */\n isSubmitting:\n automatableContractAmendmentMutation.isPending ||\n createContractAmendmentMutation.isPending,\n /**\n * Initial form values built from employment data and contract amendment fields\n */\n initialValues,\n /**\n * Current form field values\n */\n values: fieldValues,\n /**\n * Function to validate form values against the contract amendment 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: setFieldValues,\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 * Function to handle going back to the previous step\n * @returns {void}\n */\n back,\n };\n};\n"],"mappings":"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","names":["useMutation","useQuery","useContractAmendmentSchemaQuery","__name","countryCode","employment","fieldValues","options","client","useClient","jsonSchemaQueryParam","useQuery","response","getV1ContractAmendmentsSchema","data","jsfSchema","createHeadlessForm","useCreateContractAmendmentMutation","useMutation","payload","postV1ContractAmendments","useAutomatableContractAmendmentMutation","postV1ContractAmendmentsAutomatable","useContractAmendment","employmentId","setFieldValues","stepState","nextStep","previousStep","useStepState","STEPS","isLoadingEmployment","isErrorEmployment","errorEmployment","useEmploymentQuery","contractAmendmentHeadlessForm","isLoadingContractAmendments","isErrorContractAmendmentSchema","errorContractAmendmentSchema","initialValues","buildInitialValues","createContractAmendmentMutation","automatableContractAmendmentMutation","onSubmit","values","parsedValues","parseJSFToValidate","mutateAsync","mutationToPromise","automatableContractAmendment","handleValidation","back"]}
@@ -1,2 +1,2 @@
1
- import{a as s}from"./chunk-4QJUNKBR.js";import{b as n}from"./chunk-Q3ALCPJN.js";import{x as i}from"./chunk-G2LZFGZA.js";import{a as t}from"./chunk-P37U34EQ.js";import{jsx as c}from"react/jsx-runtime";function F({onSubmit:m,onSuccess:d,onError:p}){let{contractorOnboardingBag:r}=n(),l=t(async(a,v)=>{try{let e=await r.parseFormValues(a);await m?.(e);let o=await r.onSubmit(a);if(o?.data){await d?.(o?.data),r?.next();return}}catch(e){let o=i(e,r.meta?.fields?.contract_preview,v);p?.(o)}},"handleSubmit"),u=r.stepState.values?.contract_preview||r.initialValues.contract_preview;return c("div",{className:"space-y-4",children:c(s,{defaultValues:u,onSubmit:l})})}t(F,"ContractPreviewStep");export{F as a};
2
- //# sourceMappingURL=chunk-J3HIQRZO.js.map
1
+ import{a as s}from"./chunk-QH4D5IUC.js";import{b as n}from"./chunk-Q3ALCPJN.js";import{x as i}from"./chunk-G2LZFGZA.js";import{a as t}from"./chunk-P37U34EQ.js";import{jsx as c}from"react/jsx-runtime";function F({onSubmit:m,onSuccess:d,onError:p}){let{contractorOnboardingBag:r}=n(),l=t(async(a,v)=>{try{let e=await r.parseFormValues(a);await m?.(e);let o=await r.onSubmit(a);if(o?.data){await d?.(o?.data),r?.next();return}}catch(e){let o=i(e,r.meta?.fields?.contract_preview,v);p?.(o)}},"handleSubmit"),u=r.stepState.values?.contract_preview||r.initialValues.contract_preview;return c("div",{className:"space-y-4",children:c(s,{defaultValues:u,onSubmit:l})})}t(F,"ContractPreviewStep");export{F as a};
2
+ //# sourceMappingURL=chunk-SP2XK27T.js.map
@@ -1,2 +1,2 @@
1
- import{a as Z}from"./chunk-LWTE6DD4.js";import{a as Q,b as W,c as X,f as Y}from"./chunk-GYSU3LLC.js";import{a as C}from"./chunk-HN5HLFTB.js";import{a as I}from"./chunk-VFRHMNLJ.js";import{a as G}from"./chunk-KFYWUBRS.js";import{c as ee}from"./chunk-A5SRPVT2.js";import{a as z}from"./chunk-6JW4ERRK.js";import{b as K,h as M}from"./chunk-G2LZFGZA.js";import{a as o}from"./chunk-P37U34EQ.js";import{number as Be,object as se}from"yup";import{useCallback as je,useEffect as te,useMemo as we,useRef as Re,useState as j}from"react";import{string as ne,ValidationError as re}from"yup";import{jsx as ie}from"react/jsx-runtime";var O={title:"Estimation",includeBenefits:!1,includeCostBreakdowns:!1,includePremiumBenefits:!1,enableCurrencyConversion:!1,includeEstimationTitle:!1,includeManagementFee:!1},Pe=o(t=>z(I.data.schema,void 0,t),"useStaticSchema");function xe(t,i){if(typeof t=="object"&&t!==null&&"title"in t){let l=t.title;if(l)return l}return i==="my_hiring_budget"?"Hiring budget":"Employee's annual salary"}o(xe,"getSalaryTitle");var ze=o(({defaultRegion:t,defaultCurrency:i,defaultSalary:l,estimationOptions:s,options:n,version:a}={estimationOptions:O})=>{let u=Re({fields:{}}),[k,h]=j(t),[w,R]=j(),[m,q]=j(),[H,le]=j(),{data:_,isLoading:ue}=Q({includePremiumBenefits:s.includePremiumBenefits}),{data:d,isLoading:ce}=W(),me=k||w?.value,{data:P,isLoading:de}=Y(me,{includePremiumBenefits:s.includePremiumBenefits,options:n}),U=X(),{mutateAsync:fe}=K(U),b=w?.currency,p=n?.jsfModify?.fields?.salary,F=p&&typeof p=="object"&&"presentation"in p?p.presentation:void 0,L=je(()=>{let e=b&&m?b!==m:!1;return b!==m?{from:m,to:b,shouldSwapOrder:e}:{from:b,to:m,shouldSwapOrder:e}},[b,m]),J=s.showManagementFee,$=s.includeEstimationTitle,ge=we(()=>{let{from:e,to:r,shouldSwapOrder:c}=L(),g=xe(p,H);return{fields:{salary:{...p,title:g,presentation:{salary_conversion_properties:{label:F?.salary_conversion_properties?.label,description:F?.salary_conversion_properties?.description},currencies:{from:e,to:r},Component:o(y=>ie(Z,{...y,shouldSwapOrder:c,conversionType:a==="marketing"?"no_spread":"spread",defaultValue:l}),"Component")}},hiring_budget:{...n?.jsfModify?.fields?.hiring_budget,presentation:{hidden:a=="marketing"}},management:{...n?.jsfModify?.fields?.management,properties:{...n?.jsfModify?.fields?.management?.properties,management_fee:{...n?.jsfModify?.fields?.management?.properties?.management_fee,"x-jsf-presentation":{inputType:"money",additionalProps:{currency:m||"USD"}}}},presentation:{...typeof n?.jsfModify?.fields?.management=="object"?(n?.jsfModify?.fields?.management)["x-jsf-presentation"]:{},hidden:!J,Component:o(y=>ie(ee,{...y,variant:"inset",features:{toggle:{enabled:!0,stateField:"management._expanded",labels:{expand:"Define",collapse:"Remove"}}}}),"Component")}},estimation_title:{...n?.jsfModify?.fields?.estimation_title,"x-jsf-presentation":{hidden:!$}}}}},[L,p,H,F?.salary_conversion_properties?.label,F?.salary_conversion_properties?.description,n?.jsfModify?.fields?.hiring_budget,n?.jsfModify?.fields?.management,n?.jsfModify?.fields?.estimation_title,a,m,J,$,l]),f=Pe({jsfModify:{fields:{...n?.jsfModify?.fields,...ge?.fields}}});te(()=>{if(t&&_){let e=_.find(({value:r})=>r===t);e&&R(e)}},[t,_]),te(()=>{if(i&&d){let e=d.find(({value:r})=>r===i);e&&q(e.label)}},[i,d]);async function ye(e){return fe(oe(e,s,a))}o(ye,"onSubmit");function pe(e){let r=_?.find(({value:c})=>c===e);r&&r.childRegions.length===0&&r.hasAdditionalFields?h(r.regionSlug):h(void 0),R(r)}o(pe,"onCountryChange");function Ce(e){h(e)}o(Ce,"onRegionChange");function _e(e){le(e.target.value)}o(_e,"onHiringBudgetChange");function be(e){let r=d?.find(c=>c.value===e)?.label;q(r),n?.onCurrencyChange?.(r||"")}o(be,"onChangeCurrency");let E=f.fields.find(e=>e.name==="region");if(E){let e=w?.childRegions.map(r=>({value:r.slug,label:r.name}))??[];E.options=e,E.isVisible=e.length>0,E.required=e.length>0,E.onChange=Ce,E.schema=e.length>0?ne().transform(r=>typeof r=="string"?r:"").required("Region is required"):ne()}if(d){let e=f.fields.find(r=>r.name==="currency");e&&(e.options=d,e.onChange=be)}let v=f.fields.find(e=>e.name==="hiring_budget");if(v&&(v.onChange=_e),_){let e=f.fields.find(r=>r.name==="country");e&&(e.options=_,e.onChange=pe)}let Ee=o(()=>{R(void 0),h(t)},"resetForm"),D=[...f.fields.filter(e=>e.name!=="management"),...P?.fields||[],...f.fields.filter(e=>e.name==="management")],N=ae(f.fields,m||"USD",s.includeEstimationTitle);async function Se(e){let r=null;n?.onValidation?.(e);let c=await M(e,D);try{await N.validate(c,{abortEarly:!1}),r={formErrors:{},yupError:new re([],e)}}catch(S){let B=G(S);r={formErrors:Object.entries(B).reduce((T,[A,V])=>({...T,[A]:V.message}),{}),yupError:S}}let g=P?.handleValidation(c),y=[...r?.yupError.inner||[],...g?.yupError?.inner||[]],x={...r?.yupError?.value||{},...g?.yupError?.value||{}};return{formErrors:{...r?.formErrors||{},...g?.formErrors||{}},yupError:new re(y,x)}}return o(Se,"handleValidation"),{stepState:{current:0,total:1,isLastStep:!0},fields:D,validationSchema:N,parseFormValues:o(async e=>{let{country:r,region:c,currency:g,salary_converted:y,hiring_budget:x,salary_conversion:S,management:B,estimation_title:T,...A}=e,V=e.salary;y==="salary_conversion"&&(V=S);let he=await M({country:r,region:c,salary:V,salary_converted:y,salary_conversion:S,hiring_budget:x,currency:g,management:B,estimation_title:T},f.fields),Fe=await M(A,P?.fields||[]),Ve={currency_code:d?.find(Me=>Me.value===g)?.label};return{...he,...Fe,...Ve}},"parseFormValues"),handleValidation:Se,isSubmitting:U.isPending,isLoading:ue&&ce&&de,onSubmit:ye,resetForm:Ee,currencies:d,meta:{fields:u.current?.fields}}},"useCostCalculator");function ae(t,i,l){let s=t.reduce((n,a)=>(a.name==="salary"||a.name==="salary_conversion"?n[a.name]=a.schema.when("salary_converted",{is:o(u=>u===a.name,"is"),then:o(u=>u.required("Required field"),"then"),otherwise:o(u=>u.optional(),"otherwise")}):a.name==="management"?n[a.name]=se({management_fee:Be().transform(u=>isNaN(u)?void 0:u).min(0,"Management fee must be greater than or equal to 0").max(i?C[i]:C.USD,()=>`Management fee cannot exceed ${(i?C[i]:C.USD)/100} ${i}`)}):a.name==="estimation_title"&&l?n[a.name]=a.schema.required("Required field"):n[a.name]=a.schema,n),{});return se(s)}o(ae,"buildValidationSchema");function Te(t){let i="benefit-";return Object.keys(t).reduce((l,s)=>{let n=t[s];if(n==="none")return l;let u={benefit_group_slug:s.replace(i,""),benefit_tier_slug:n};return[...l,u]},[])}o(Te,"formatBenefits");function Ae(t,i,l){let s=Number(t.management?.management_fee),n=t.currency_code;return{...{region_slug:t.region||t.country,employment_term:t.contract_duration_type??"fixed",title:t.estimation_title||i.title,age:t.age??void 0,...t.benefits&&{benefits:Te(t.benefits)},...i.includeManagementFee&&s&&{discount:{quoted_amount:i.showManagementFee?s:C[n]||C.USD,text:""}}},...Oe(t,l)}}o(Ae,"mapValueToEmployment");function Oe(t,i){let l=i==="marketing"||t.salary_converted==="salary_conversion",s=i==="standard"&&t.salary_converted==="salary",n=t.hiring_budget==="my_hiring_budget";if(l){let a=t.salary_converted==="salary_conversion";return n?{annual_total_cost_in_employer_currency:t.salary}:{[a?"annual_gross_salary_in_employer_currency":"annual_gross_salary"]:t.salary}}return s?n?{annual_total_cost:t.salary}:{annual_gross_salary:t.salary}:{}}o(Oe,"getSalaryFields");function oe(t,i=O,l="standard"){let s=Array.isArray(t)?t:[t];if(s.length===0)throw new Error("At least one employment value is required");return s.length>1&&new Set(s.map(a=>a.currency)).size>1&&console.warn("Multiple currencies detected in array. Using currency from first employment."),{employer_currency_slug:s[0].currency,include_benefits:i.includeBenefits,include_cost_breakdowns:i.includeCostBreakdowns,include_premium_benefits:i.includePremiumBenefits,include_management_fee:i.includeManagementFee,employments:s.map(n=>Ae(n,i,l))}}o(oe,"buildPayload");export{ae as a,oe as b,O as c,ze as d};
2
- //# sourceMappingURL=chunk-HGY2ZKJN.js.map
1
+ import{a as Z}from"./chunk-PQOOEARB.js";import{a as I}from"./chunk-VFRHMNLJ.js";import{a as Q,b as W,c as X,f as Y}from"./chunk-FMBHLDZJ.js";import{a as C}from"./chunk-HN5HLFTB.js";import{a as G}from"./chunk-KFYWUBRS.js";import{c as ee}from"./chunk-CG6HX6UO.js";import{a as z}from"./chunk-6JW4ERRK.js";import{b as K,h as M}from"./chunk-G2LZFGZA.js";import{a as o}from"./chunk-P37U34EQ.js";import{number as Be,object as se}from"yup";import{useCallback as je,useEffect as te,useMemo as we,useRef as Re,useState as j}from"react";import{string as ne,ValidationError as re}from"yup";import{jsx as ie}from"react/jsx-runtime";var O={title:"Estimation",includeBenefits:!1,includeCostBreakdowns:!1,includePremiumBenefits:!1,enableCurrencyConversion:!1,includeEstimationTitle:!1,includeManagementFee:!1},Pe=o(t=>z(I.data.schema,void 0,t),"useStaticSchema");function xe(t,i){if(typeof t=="object"&&t!==null&&"title"in t){let l=t.title;if(l)return l}return i==="my_hiring_budget"?"Hiring budget":"Employee's annual salary"}o(xe,"getSalaryTitle");var ze=o(({defaultRegion:t,defaultCurrency:i,defaultSalary:l,estimationOptions:s,options:n,version:a}={estimationOptions:O})=>{let u=Re({fields:{}}),[k,h]=j(t),[w,R]=j(),[m,q]=j(),[H,le]=j(),{data:_,isLoading:ue}=Q({includePremiumBenefits:s.includePremiumBenefits}),{data:d,isLoading:ce}=W(),me=k||w?.value,{data:P,isLoading:de}=Y(me,{includePremiumBenefits:s.includePremiumBenefits,options:n}),U=X(),{mutateAsync:fe}=K(U),b=w?.currency,p=n?.jsfModify?.fields?.salary,F=p&&typeof p=="object"&&"presentation"in p?p.presentation:void 0,L=je(()=>{let e=b&&m?b!==m:!1;return b!==m?{from:m,to:b,shouldSwapOrder:e}:{from:b,to:m,shouldSwapOrder:e}},[b,m]),J=s.showManagementFee,$=s.includeEstimationTitle,ge=we(()=>{let{from:e,to:r,shouldSwapOrder:c}=L(),g=xe(p,H);return{fields:{salary:{...p,title:g,presentation:{salary_conversion_properties:{label:F?.salary_conversion_properties?.label,description:F?.salary_conversion_properties?.description},currencies:{from:e,to:r},Component:o(y=>ie(Z,{...y,shouldSwapOrder:c,conversionType:a==="marketing"?"no_spread":"spread",defaultValue:l}),"Component")}},hiring_budget:{...n?.jsfModify?.fields?.hiring_budget,presentation:{hidden:a=="marketing"}},management:{...n?.jsfModify?.fields?.management,properties:{...n?.jsfModify?.fields?.management?.properties,management_fee:{...n?.jsfModify?.fields?.management?.properties?.management_fee,"x-jsf-presentation":{inputType:"money",additionalProps:{currency:m||"USD"}}}},presentation:{...typeof n?.jsfModify?.fields?.management=="object"?(n?.jsfModify?.fields?.management)["x-jsf-presentation"]:{},hidden:!J,Component:o(y=>ie(ee,{...y,variant:"inset",features:{toggle:{enabled:!0,stateField:"management._expanded",labels:{expand:"Define",collapse:"Remove"}}}}),"Component")}},estimation_title:{...n?.jsfModify?.fields?.estimation_title,"x-jsf-presentation":{hidden:!$}}}}},[L,p,H,F?.salary_conversion_properties?.label,F?.salary_conversion_properties?.description,n?.jsfModify?.fields?.hiring_budget,n?.jsfModify?.fields?.management,n?.jsfModify?.fields?.estimation_title,a,m,J,$,l]),f=Pe({jsfModify:{fields:{...n?.jsfModify?.fields,...ge?.fields}}});te(()=>{if(t&&_){let e=_.find(({value:r})=>r===t);e&&R(e)}},[t,_]),te(()=>{if(i&&d){let e=d.find(({value:r})=>r===i);e&&q(e.label)}},[i,d]);async function ye(e){return fe(oe(e,s,a))}o(ye,"onSubmit");function pe(e){let r=_?.find(({value:c})=>c===e);r&&r.childRegions.length===0&&r.hasAdditionalFields?h(r.regionSlug):h(void 0),R(r)}o(pe,"onCountryChange");function Ce(e){h(e)}o(Ce,"onRegionChange");function _e(e){le(e.target.value)}o(_e,"onHiringBudgetChange");function be(e){let r=d?.find(c=>c.value===e)?.label;q(r),n?.onCurrencyChange?.(r||"")}o(be,"onChangeCurrency");let E=f.fields.find(e=>e.name==="region");if(E){let e=w?.childRegions.map(r=>({value:r.slug,label:r.name}))??[];E.options=e,E.isVisible=e.length>0,E.required=e.length>0,E.onChange=Ce,E.schema=e.length>0?ne().transform(r=>typeof r=="string"?r:"").required("Region is required"):ne()}if(d){let e=f.fields.find(r=>r.name==="currency");e&&(e.options=d,e.onChange=be)}let v=f.fields.find(e=>e.name==="hiring_budget");if(v&&(v.onChange=_e),_){let e=f.fields.find(r=>r.name==="country");e&&(e.options=_,e.onChange=pe)}let Ee=o(()=>{R(void 0),h(t)},"resetForm"),D=[...f.fields.filter(e=>e.name!=="management"),...P?.fields||[],...f.fields.filter(e=>e.name==="management")],N=ae(f.fields,m||"USD",s.includeEstimationTitle);async function Se(e){let r=null;n?.onValidation?.(e);let c=await M(e,D);try{await N.validate(c,{abortEarly:!1}),r={formErrors:{},yupError:new re([],e)}}catch(S){let B=G(S);r={formErrors:Object.entries(B).reduce((T,[A,V])=>({...T,[A]:V.message}),{}),yupError:S}}let g=P?.handleValidation(c),y=[...r?.yupError.inner||[],...g?.yupError?.inner||[]],x={...r?.yupError?.value||{},...g?.yupError?.value||{}};return{formErrors:{...r?.formErrors||{},...g?.formErrors||{}},yupError:new re(y,x)}}return o(Se,"handleValidation"),{stepState:{current:0,total:1,isLastStep:!0},fields:D,validationSchema:N,parseFormValues:o(async e=>{let{country:r,region:c,currency:g,salary_converted:y,hiring_budget:x,salary_conversion:S,management:B,estimation_title:T,...A}=e,V=e.salary;y==="salary_conversion"&&(V=S);let he=await M({country:r,region:c,salary:V,salary_converted:y,salary_conversion:S,hiring_budget:x,currency:g,management:B,estimation_title:T},f.fields),Fe=await M(A,P?.fields||[]),Ve={currency_code:d?.find(Me=>Me.value===g)?.label};return{...he,...Fe,...Ve}},"parseFormValues"),handleValidation:Se,isSubmitting:U.isPending,isLoading:ue&&ce&&de,onSubmit:ye,resetForm:Ee,currencies:d,meta:{fields:u.current?.fields}}},"useCostCalculator");function ae(t,i,l){let s=t.reduce((n,a)=>(a.name==="salary"||a.name==="salary_conversion"?n[a.name]=a.schema.when("salary_converted",{is:o(u=>u===a.name,"is"),then:o(u=>u.required("Required field"),"then"),otherwise:o(u=>u.optional(),"otherwise")}):a.name==="management"?n[a.name]=se({management_fee:Be().transform(u=>isNaN(u)?void 0:u).min(0,"Management fee must be greater than or equal to 0").max(i?C[i]:C.USD,()=>`Management fee cannot exceed ${(i?C[i]:C.USD)/100} ${i}`)}):a.name==="estimation_title"&&l?n[a.name]=a.schema.required("Required field"):n[a.name]=a.schema,n),{});return se(s)}o(ae,"buildValidationSchema");function Te(t){let i="benefit-";return Object.keys(t).reduce((l,s)=>{let n=t[s];if(n==="none")return l;let u={benefit_group_slug:s.replace(i,""),benefit_tier_slug:n};return[...l,u]},[])}o(Te,"formatBenefits");function Ae(t,i,l){let s=Number(t.management?.management_fee),n=t.currency_code;return{...{region_slug:t.region||t.country,employment_term:t.contract_duration_type??"fixed",title:t.estimation_title||i.title,age:t.age??void 0,...t.benefits&&{benefits:Te(t.benefits)},...i.includeManagementFee&&s&&{discount:{quoted_amount:i.showManagementFee?s:C[n]||C.USD,text:""}}},...Oe(t,l)}}o(Ae,"mapValueToEmployment");function Oe(t,i){let l=i==="marketing"||t.salary_converted==="salary_conversion",s=i==="standard"&&t.salary_converted==="salary",n=t.hiring_budget==="my_hiring_budget";if(l){let a=t.salary_converted==="salary_conversion";return n?{annual_total_cost_in_employer_currency:t.salary}:{[a?"annual_gross_salary_in_employer_currency":"annual_gross_salary"]:t.salary}}return s?n?{annual_total_cost:t.salary}:{annual_gross_salary:t.salary}:{}}o(Oe,"getSalaryFields");function oe(t,i=O,l="standard"){let s=Array.isArray(t)?t:[t];if(s.length===0)throw new Error("At least one employment value is required");return s.length>1&&new Set(s.map(a=>a.currency)).size>1&&console.warn("Multiple currencies detected in array. Using currency from first employment."),{employer_currency_slug:s[0].currency,include_benefits:i.includeBenefits,include_cost_breakdowns:i.includeCostBreakdowns,include_premium_benefits:i.includePremiumBenefits,include_management_fee:i.includeManagementFee,employments:s.map(n=>Ae(n,i,l))}}o(oe,"buildPayload");export{ae as a,oe as b,O as c,ze as d};
2
+ //# sourceMappingURL=chunk-TEYUKQIC.js.map