@remoteoss/remote-flows 1.15.0 → 1.16.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 (454) hide show
  1. package/dist/ButtonDefault-6LBHWUQH.js +2 -0
  2. package/dist/CheckboxFieldDefault-X4DYVQCE.js +2 -0
  3. package/dist/CountryFieldDefault-JZDE75HS.js +2 -0
  4. package/dist/DatePickerFieldDefault-LJV4QSEP.js +2 -0
  5. package/dist/DrawerDefault-FLNSDSMB.js +2 -0
  6. package/dist/EmailFieldDefault-T6HHE5RL.js +2 -0
  7. package/dist/FieldsetToggleButtonDefault-MXBQJ55Q.js +2 -0
  8. package/dist/FileUploadFieldDefault-5NW3ZFXD.js +2 -0
  9. package/dist/MultiSelectFieldDefault-OQ6SNNBI.js +2 -0
  10. package/dist/NumberFieldDefault-IVUTWJS5.js +2 -0
  11. package/dist/PDFPreviewDefault-RJNE7QSF.js +2 -0
  12. package/dist/RadioGroupFieldDefault-CXY33ONT.js +2 -0
  13. package/dist/SelectFieldDefault-66GGFDX3.js +2 -0
  14. package/dist/StatementDefault-DORMITL7.js +2 -0
  15. package/dist/TableFieldDefault-URJVK7YR.js +2 -0
  16. package/dist/TextAreaFieldDefault-5H34RRBA.js +2 -0
  17. package/dist/TextFieldDefault-VHIF2KLF.js +2 -0
  18. package/dist/WorkScheduleFieldDefault-T7IP52VU.js +2 -0
  19. package/dist/ZendeskDrawerDefault-YSBMA2ZH.js +2 -0
  20. package/dist/chunk-246D2A55.js +2 -0
  21. package/dist/{chunk-47YUPC2L.js.map → chunk-246D2A55.js.map} +1 -1
  22. package/dist/chunk-2NDVHQRP.js +2 -0
  23. package/dist/chunk-2NDVHQRP.js.map +1 -0
  24. package/dist/{chunk-D6KO5LX6.js → chunk-37RMY44V.js} +2 -2
  25. package/dist/{chunk-D5YMIXK5.js → chunk-3B6XXK5H.js} +2 -2
  26. package/dist/{chunk-AFJIZDZG.js → chunk-3BBQDNZD.js} +2 -2
  27. package/dist/{chunk-CD6F3H7B.js → chunk-3DMWQJ5W.js} +2 -2
  28. package/dist/{chunk-UXHMIIOB.js → chunk-44RIEWXA.js} +2 -2
  29. package/dist/{chunk-AB3RAEMM.js → chunk-4EMAROPQ.js} +2 -2
  30. package/dist/{chunk-3ACL4IFO.js → chunk-4N4MQECC.js} +2 -2
  31. package/dist/{chunk-2ZS5F6C7.js → chunk-4UO7KLRK.js} +2 -2
  32. package/dist/{chunk-BIDZO7XH.js → chunk-62O3CKKH.js} +2 -2
  33. package/dist/{chunk-ZIXR3VSB.js → chunk-6AAV34CT.js} +2 -2
  34. package/dist/chunk-7ENB7H4E.js +6 -0
  35. package/dist/{chunk-KJQN6GHW.js.map → chunk-7ENB7H4E.js.map} +1 -1
  36. package/dist/{chunk-ZPDZ6V5R.js → chunk-7G5JSUZU.js} +2 -2
  37. package/dist/{chunk-SZVBNL6O.js → chunk-7PWZAW7M.js} +2 -2
  38. package/dist/{chunk-T7CGGZOK.js → chunk-7RP5F62S.js} +2 -2
  39. package/dist/chunk-7WGZGAQY.js +2 -0
  40. package/dist/chunk-7WGZGAQY.js.map +1 -0
  41. package/dist/{chunk-XO5VURZY.js → chunk-A232PIG7.js} +2 -2
  42. package/dist/{chunk-JXXZH6KH.js → chunk-A7CLJBJI.js} +2 -2
  43. package/dist/{chunk-FI2MVRZR.js → chunk-AJCKNHZB.js} +2 -2
  44. package/dist/{chunk-VOUP5SMR.js → chunk-AJIDQALB.js} +2 -2
  45. package/dist/{chunk-UXP2IITO.js → chunk-ALVZNFB7.js} +2 -2
  46. package/dist/{chunk-CQ2EF32E.js → chunk-AW7JELYX.js} +2 -2
  47. package/dist/{chunk-OCTMRR2C.js → chunk-B66V5QEC.js} +2 -2
  48. package/dist/{chunk-DI2QNZ2O.js → chunk-B7EJ2OAA.js} +2 -2
  49. package/dist/{chunk-HLAKUOQB.js → chunk-BG66XH5L.js} +2 -2
  50. package/dist/{chunk-NOY2YNXO.js → chunk-BGRX3DBF.js} +2 -2
  51. package/dist/{chunk-I7JUAYNN.js → chunk-BVFQ6LFD.js} +2 -2
  52. package/dist/{chunk-RM7W6QA7.js → chunk-C6KWUSCU.js} +2 -2
  53. package/dist/{chunk-MTOXXQYK.js → chunk-CARPUKT7.js} +2 -2
  54. package/dist/{chunk-7TOCURKO.js → chunk-DFAY4TWC.js} +2 -2
  55. package/dist/{chunk-O5ENJKI6.js → chunk-DNDYXEZ6.js} +2 -2
  56. package/dist/{chunk-46QJ44CZ.js → chunk-DXIJUMLU.js} +2 -2
  57. package/dist/{chunk-DI3XZUMY.js → chunk-E2LBPO5Z.js} +2 -2
  58. package/dist/{chunk-RFMIAO6J.js → chunk-EDLQ3JNY.js} +2 -2
  59. package/dist/{chunk-TZCNONDA.js → chunk-EHD2YB5F.js} +2 -2
  60. package/dist/{chunk-GLKITZNI.js → chunk-ERSP6CZ3.js} +2 -2
  61. package/dist/{chunk-Z4STVEJE.js → chunk-EWL6BSEP.js} +2 -2
  62. package/dist/{chunk-AJ7L3ZO3.js → chunk-FJVQQ4XB.js} +2 -2
  63. package/dist/{chunk-YA2G4A3K.js → chunk-FRCFJ64I.js} +2 -2
  64. package/dist/{chunk-H463PCBN.js → chunk-FSK2DR6Z.js} +2 -2
  65. package/dist/{chunk-5R66NDTQ.js → chunk-FUGPVPYX.js} +2 -2
  66. package/dist/{chunk-TGLB5MA2.js → chunk-G7EVUAYE.js} +2 -2
  67. package/dist/{chunk-ZSJ6YADQ.js → chunk-H2JFQGQJ.js} +2 -2
  68. package/dist/{chunk-HU453KWI.js → chunk-H3BUOBWO.js} +2 -2
  69. package/dist/{chunk-MCGUHRQL.js → chunk-HKNK5Z6N.js} +2 -2
  70. package/dist/{chunk-5F7FMTGE.js → chunk-HOR3KPOZ.js} +2 -2
  71. package/dist/chunk-HQAHUE5P.js +2 -0
  72. package/dist/chunk-HQAHUE5P.js.map +1 -0
  73. package/dist/{chunk-WLMHGJWB.js → chunk-HUZBKPGP.js} +2 -2
  74. package/dist/chunk-HYYILYKU.js +2 -0
  75. package/dist/chunk-HYYILYKU.js.map +1 -0
  76. package/dist/{chunk-7SVSJ7NG.js → chunk-I3TP6JKM.js} +2 -2
  77. package/dist/{chunk-D67Z4NEP.js → chunk-IGLKMXWJ.js} +2 -2
  78. package/dist/{chunk-IHVEK72X.js → chunk-IZGSVS3I.js} +2 -2
  79. package/dist/{chunk-ZKS7DJDT.js → chunk-J2BTEUAM.js} +2 -2
  80. package/dist/{chunk-PQP3KZ7P.js → chunk-JGJTFYHN.js} +2 -2
  81. package/dist/{chunk-KUTIJABX.js → chunk-JI4CYPLW.js} +2 -2
  82. package/dist/{chunk-OV7TLEE6.js → chunk-KQKH3H6S.js} +2 -2
  83. package/dist/{chunk-6VQEAU6A.js → chunk-KRSUSMJK.js} +2 -2
  84. package/dist/{chunk-FBE7F5HU.js → chunk-L3LOATSG.js} +2 -2
  85. package/dist/{chunk-3PVZEAGI.js → chunk-L5DII4MV.js} +2 -2
  86. package/dist/{chunk-D36BZQTP.js → chunk-LVXV3GHT.js} +2 -2
  87. package/dist/{chunk-6DRAZSGG.js → chunk-MHAY555P.js} +2 -2
  88. package/dist/{chunk-37RBGAMM.js → chunk-MLVB5MYU.js} +2 -2
  89. package/dist/{chunk-CU3WQ2KN.js → chunk-MSBCYMSH.js} +2 -2
  90. package/dist/{chunk-NZ64KNDV.js → chunk-NAH5PAUK.js} +2 -2
  91. package/dist/{chunk-2DCJODMR.js → chunk-NEWXVHFX.js} +2 -2
  92. package/dist/{chunk-XLTZ7SN3.js → chunk-OENTT2KT.js} +2 -2
  93. package/dist/{chunk-S63QGDMR.js → chunk-OEXY56S2.js} +2 -2
  94. package/dist/{chunk-FKYEST54.js → chunk-PHPCCABU.js} +2 -2
  95. package/dist/{chunk-AS4ND5IO.js → chunk-PKK2EEXH.js} +2 -2
  96. package/dist/{chunk-HMMFY4PV.js → chunk-Q73675NI.js} +2 -2
  97. package/dist/chunk-QECFSTI4.js +2 -0
  98. package/dist/chunk-QECFSTI4.js.map +1 -0
  99. package/dist/{chunk-M4BR3FKN.js → chunk-R7BHA5RA.js} +2 -2
  100. package/dist/{chunk-IUCFOQAD.js → chunk-RAH453TV.js} +2 -2
  101. package/dist/{chunk-4YPJKEHT.js → chunk-RJY6AEJB.js} +2 -2
  102. package/dist/chunk-SLD227LM.js +2 -0
  103. package/dist/chunk-SLD227LM.js.map +1 -0
  104. package/dist/{chunk-VSYION5R.js → chunk-SLLDKJ7K.js} +2 -2
  105. package/dist/{chunk-JEULZR34.js → chunk-SNBAM7SA.js} +2 -2
  106. package/dist/{chunk-ZPG6GRAX.js → chunk-SNECOPBD.js} +2 -2
  107. package/dist/{chunk-BDMCADQ6.js → chunk-SS2FAFUZ.js} +2 -2
  108. package/dist/{chunk-JJEFWMLY.js → chunk-TFSRZOMP.js} +2 -2
  109. package/dist/{chunk-W5EXVAEO.js → chunk-TNN3W5TU.js} +2 -2
  110. package/dist/{chunk-D5NBOIPS.js → chunk-TOQPDTGG.js} +2 -2
  111. package/dist/{chunk-HN7ZP5AX.js → chunk-TPGN6QTL.js} +2 -2
  112. package/dist/{chunk-OJ3HJ7QL.js → chunk-TQXCLXWH.js} +2 -2
  113. package/dist/{chunk-RQRODRCR.js → chunk-TRBEYNRN.js} +2 -2
  114. package/dist/{chunk-MUJT3F2Q.js → chunk-TVIUQXLE.js} +2 -2
  115. package/dist/{chunk-OK3CYSHV.js → chunk-TXQWBDNF.js} +2 -2
  116. package/dist/chunk-UB6PYKNX.js +2 -0
  117. package/dist/chunk-UB6PYKNX.js.map +1 -0
  118. package/dist/{chunk-4ZQ7NOAL.js → chunk-ULP5B6DG.js} +2 -2
  119. package/dist/{chunk-OPWMRKZP.js → chunk-UMVA4SIV.js} +2 -2
  120. package/dist/{chunk-RNXUKKPF.js → chunk-UMVMNUPH.js} +2 -2
  121. package/dist/{chunk-5TBUDUEB.js → chunk-VBQVXR4U.js} +2 -2
  122. package/dist/{chunk-3PIJOIYR.js → chunk-VIGKOVHP.js} +2 -2
  123. package/dist/{chunk-3PIJOIYR.js.map → chunk-VIGKOVHP.js.map} +1 -1
  124. package/dist/{chunk-W2PJUNWX.js → chunk-VLSOHNT2.js} +2 -2
  125. package/dist/{chunk-PS5T7URZ.js → chunk-W4ECFBIA.js} +2 -2
  126. package/dist/{chunk-LWGNRGU3.js → chunk-WD2JGIDK.js} +2 -2
  127. package/dist/{chunk-BC4UT7KC.js → chunk-WEAO46EO.js} +2 -2
  128. package/dist/{chunk-C36VO7DO.js → chunk-WEOIHTBU.js} +2 -2
  129. package/dist/{chunk-RKS3FX3C.js → chunk-WO54IG4S.js} +2 -2
  130. package/dist/{chunk-2J4XRENJ.js → chunk-XHAJ544L.js} +2 -2
  131. package/dist/{chunk-DCB2H2SG.js → chunk-XNAFFHZH.js} +2 -2
  132. package/dist/{chunk-KCTY6YAP.js → chunk-XU3B7N3C.js} +2 -2
  133. package/dist/{chunk-A37NW25N.js → chunk-YHROBX2M.js} +2 -2
  134. package/dist/{chunk-LDWPRPN4.js → chunk-YPUP5LNV.js} +2 -2
  135. package/dist/{chunk-I2ED6EUG.js → chunk-YWZHBXEI.js} +2 -2
  136. package/dist/{chunk-VGIG5OUD.js → chunk-Z3EAYQ5D.js} +2 -2
  137. package/dist/{chunk-5GAFQRDA.js → chunk-ZAFGVOU5.js} +2 -2
  138. package/dist/{chunk-EPLPD54O.js → chunk-ZWIH53GL.js} +2 -2
  139. package/dist/default-components.d.ts +2 -2
  140. package/dist/default-components.js +1 -1
  141. package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.d.ts +1 -1
  142. package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.js +1 -1
  143. package/dist/flows/ContractAmendment/ContractAmendmentFlow.d.ts +3 -3
  144. package/dist/flows/ContractAmendment/ContractAmendmentFlow.js +1 -1
  145. package/dist/flows/ContractAmendment/ContractAmendmentForm.d.ts +1 -1
  146. package/dist/flows/ContractAmendment/ContractAmendmentForm.js +1 -1
  147. package/dist/flows/ContractAmendment/context.d.ts +3 -3
  148. package/dist/flows/ContractAmendment/hooks.d.ts +3 -3
  149. package/dist/flows/ContractAmendment/hooks.js +1 -1
  150. package/dist/flows/ContractAmendment/index.d.ts +3 -3
  151. package/dist/flows/ContractAmendment/index.js +1 -1
  152. package/dist/flows/ContractAmendment/types.d.ts +2 -2
  153. package/dist/flows/ContractAmendment/utils.d.ts +2 -2
  154. package/dist/flows/ContractorOnboarding/ContractorOnboarding.d.ts +5 -5
  155. package/dist/flows/ContractorOnboarding/ContractorOnboarding.js +1 -1
  156. package/dist/flows/ContractorOnboarding/api.d.ts +9 -4
  157. package/dist/flows/ContractorOnboarding/api.js +1 -1
  158. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.d.ts +4 -4
  159. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.js +1 -1
  160. package/dist/flows/ContractorOnboarding/components/ChooseAlternativePlanStep.d.ts +3 -3
  161. package/dist/flows/ContractorOnboarding/components/ChooseAlternativePlanStep.js +1 -1
  162. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.d.ts +5 -5
  163. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.js +1 -1
  164. package/dist/flows/ContractorOnboarding/components/ContractPreviewHeader.d.ts +2 -2
  165. package/dist/flows/ContractorOnboarding/components/ContractPreviewStatement.d.ts +2 -2
  166. package/dist/flows/ContractorOnboarding/components/ContractPreviewStatement.js +1 -1
  167. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.d.ts +5 -5
  168. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.js +1 -1
  169. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.d.ts +5 -5
  170. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.js +1 -1
  171. package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.d.ts +5 -5
  172. package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.js +1 -1
  173. package/dist/flows/ContractorOnboarding/components/OnboardingInvite.d.ts +3 -3
  174. package/dist/flows/ContractorOnboarding/components/OnboardingInvite.js +1 -1
  175. package/dist/flows/ContractorOnboarding/components/PricingPlan.d.ts +5 -5
  176. package/dist/flows/ContractorOnboarding/components/PricingPlan.js +1 -1
  177. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.d.ts +4 -4
  178. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.js +1 -1
  179. package/dist/flows/ContractorOnboarding/components/StatementOfWorkDisclaimer.js +1 -1
  180. package/dist/flows/ContractorOnboarding/context.d.ts +5 -5
  181. package/dist/flows/ContractorOnboarding/hooks.d.ts +5 -5
  182. package/dist/flows/ContractorOnboarding/hooks.js +1 -1
  183. package/dist/flows/ContractorOnboarding/index.d.ts +5 -5
  184. package/dist/flows/ContractorOnboarding/index.js +1 -1
  185. package/dist/flows/ContractorOnboarding/jsfModify.d.ts +5 -5
  186. package/dist/flows/ContractorOnboarding/jsfModify.js +1 -1
  187. package/dist/flows/ContractorOnboarding/types.d.ts +5 -5
  188. package/dist/flows/ContractorOnboarding/utils.d.ts +5 -4
  189. package/dist/flows/ContractorOnboarding/utils.js +1 -1
  190. package/dist/flows/CostCalculator/CostCalculatorFlow.d.ts +3 -3
  191. package/dist/flows/CostCalculator/CostCalculatorFlow.js +1 -1
  192. package/dist/flows/CostCalculator/CostCalculatorForm.d.ts +3 -3
  193. package/dist/flows/CostCalculator/CostCalculatorForm.js +1 -1
  194. package/dist/flows/CostCalculator/CostCalculatorResetButton.js +1 -1
  195. package/dist/flows/CostCalculator/CostCalculatorSubmitButton.js +1 -1
  196. package/dist/flows/CostCalculator/EstimationResults/EstimationResults.d.ts +2 -2
  197. package/dist/flows/CostCalculator/EstimationResults/EstimationResults.js +1 -1
  198. package/dist/flows/CostCalculator/SummaryResults/SummaryResults.d.ts +2 -2
  199. package/dist/flows/CostCalculator/SummaryResults/SummaryResults.js +1 -1
  200. package/dist/flows/CostCalculator/api.d.ts +2 -2
  201. package/dist/flows/CostCalculator/api.js +1 -1
  202. package/dist/flows/CostCalculator/components/SalaryField.d.ts +2 -2
  203. package/dist/flows/CostCalculator/components/SalaryField.js +1 -1
  204. package/dist/flows/CostCalculator/context.d.ts +3 -3
  205. package/dist/flows/CostCalculator/hooks.d.ts +3 -3
  206. package/dist/flows/CostCalculator/hooks.js +1 -1
  207. package/dist/flows/CostCalculator/index.d.ts +3 -3
  208. package/dist/flows/CostCalculator/index.js +1 -1
  209. package/dist/flows/CostCalculator/types.d.ts +2 -2
  210. package/dist/flows/CostCalculator/utils.d.ts +3 -3
  211. package/dist/flows/CostCalculator/utils.js +1 -1
  212. package/dist/flows/CreateCompany/CreateCompany.d.ts +4 -4
  213. package/dist/flows/CreateCompany/CreateCompany.js +1 -1
  214. package/dist/flows/CreateCompany/api.d.ts +2 -2
  215. package/dist/flows/CreateCompany/api.js +1 -1
  216. package/dist/flows/CreateCompany/components/AddressDetailsStep.d.ts +4 -4
  217. package/dist/flows/CreateCompany/components/AddressDetailsStep.js +1 -1
  218. package/dist/flows/CreateCompany/components/CompanyBasicInformationStep.d.ts +4 -4
  219. package/dist/flows/CreateCompany/components/CompanyBasicInformationStep.js +1 -1
  220. package/dist/flows/CreateCompany/components/CreateCompanyForm.d.ts +2 -2
  221. package/dist/flows/CreateCompany/components/CreateCompanyForm.js +1 -1
  222. package/dist/flows/CreateCompany/context.d.ts +4 -4
  223. package/dist/flows/CreateCompany/hooks.d.ts +4 -4
  224. package/dist/flows/CreateCompany/hooks.js +1 -1
  225. package/dist/flows/CreateCompany/index.d.ts +4 -4
  226. package/dist/flows/CreateCompany/index.js +1 -1
  227. package/dist/flows/CreateCompany/types.d.ts +4 -4
  228. package/dist/flows/Onboarding/OnboardingFlow.d.ts +4 -4
  229. package/dist/flows/Onboarding/OnboardingFlow.js +1 -1
  230. package/dist/flows/Onboarding/api.d.ts +4 -4
  231. package/dist/flows/Onboarding/api.js +1 -1
  232. package/dist/flows/Onboarding/components/AnnualGrossSalary.d.ts +2 -2
  233. package/dist/flows/Onboarding/components/AnnualGrossSalary.js +1 -1
  234. package/dist/flows/Onboarding/components/BasicInformationStep.d.ts +4 -4
  235. package/dist/flows/Onboarding/components/BasicInformationStep.js +1 -1
  236. package/dist/flows/Onboarding/components/BenefitsStep.d.ts +4 -4
  237. package/dist/flows/Onboarding/components/BenefitsStep.js +1 -1
  238. package/dist/flows/Onboarding/components/ContractDetailsStep.d.ts +4 -4
  239. package/dist/flows/Onboarding/components/ContractDetailsStep.js +1 -1
  240. package/dist/flows/Onboarding/components/OnboardingForm.d.ts +4 -4
  241. package/dist/flows/Onboarding/components/OnboardingForm.js +1 -1
  242. package/dist/flows/Onboarding/components/OnboardingInvite.d.ts +3 -3
  243. package/dist/flows/Onboarding/components/OnboardingInvite.js +1 -1
  244. package/dist/flows/Onboarding/components/ReviewStep.d.ts +4 -4
  245. package/dist/flows/Onboarding/components/SaveDraftButton.d.ts +3 -3
  246. package/dist/flows/Onboarding/components/SelectCountryStep.d.ts +4 -4
  247. package/dist/flows/Onboarding/components/SelectCountryStep.js +1 -1
  248. package/dist/flows/Onboarding/context.d.ts +4 -4
  249. package/dist/flows/Onboarding/hooks.d.ts +4 -4
  250. package/dist/flows/Onboarding/hooks.js +1 -1
  251. package/dist/flows/Onboarding/index.d.ts +4 -4
  252. package/dist/flows/Onboarding/index.js +1 -1
  253. package/dist/flows/Onboarding/types.d.ts +4 -4
  254. package/dist/flows/Onboarding/utils.d.ts +4 -4
  255. package/dist/flows/Termination/AdditionalDetailsForm.d.ts +4 -4
  256. package/dist/flows/Termination/AdditionalDetailsForm.js +1 -1
  257. package/dist/flows/Termination/EmployeeComunicationForm.d.ts +4 -4
  258. package/dist/flows/Termination/EmployeeComunicationForm.js +1 -1
  259. package/dist/flows/Termination/PaidTimeOffForm.d.ts +4 -4
  260. package/dist/flows/Termination/PaidTimeOffForm.js +1 -1
  261. package/dist/flows/Termination/TerminationDetailsForm.d.ts +4 -4
  262. package/dist/flows/Termination/TerminationDetailsForm.js +1 -1
  263. package/dist/flows/Termination/TerminationFlow.d.ts +4 -4
  264. package/dist/flows/Termination/TerminationFlow.js +1 -1
  265. package/dist/flows/Termination/TerminationForm.d.ts +4 -4
  266. package/dist/flows/Termination/TerminationForm.js +1 -1
  267. package/dist/flows/Termination/api.d.ts +5 -5
  268. package/dist/flows/Termination/api.js +1 -1
  269. package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformation.js +1 -1
  270. package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformationFees.js +1 -1
  271. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.d.ts +6 -6
  272. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.js +1 -1
  273. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.d.ts +6 -6
  274. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.js +1 -1
  275. package/dist/flows/Termination/components/PaidTimeOff/types.d.ts +6 -6
  276. package/dist/flows/Termination/components/TerminationDialogInfoContent/TerminationDialogInfoContent.js +1 -1
  277. package/dist/flows/Termination/components/TerminationReasonsDetailContent/TerminationReasonsDetailContent.js +1 -1
  278. package/dist/flows/Termination/context.d.ts +4 -4
  279. package/dist/flows/Termination/hooks.d.ts +4 -4
  280. package/dist/flows/Termination/hooks.js +1 -1
  281. package/dist/flows/Termination/index.d.ts +6 -6
  282. package/dist/flows/Termination/index.js +1 -1
  283. package/dist/flows/Termination/json-schemas/schema.d.ts +4 -4
  284. package/dist/flows/Termination/types.d.ts +4 -4
  285. package/dist/flows/Termination/utils.d.ts +4 -4
  286. package/dist/flows/Termination/utils.js +1 -1
  287. package/dist/flows/types.d.ts +2 -2
  288. package/dist/index.d.ts +11 -11
  289. package/dist/index.js +2 -2
  290. package/dist/internals.d.ts +3 -3
  291. package/dist/internals.js +1 -1
  292. package/dist/{mutations-B8OzuyhA.d.ts → mutations-DfpgjZty.d.ts} +1 -1
  293. package/dist/{remoteFlows-Bphgh2nl.d.ts → remoteFlows-PN8ksydr.d.ts} +1 -1
  294. package/dist/{types-Dcg5CIEH.d.ts → types-BK2JZJKy.d.ts} +3 -3
  295. package/dist/{types-Bs66Ma28.d.ts → types-BOd-0F3b.d.ts} +3 -3
  296. package/dist/{types-Jy-_3Y7m.d.ts → types-BxoBKn3U.d.ts} +1 -1
  297. package/dist/{types-Dr-apmY1.d.ts → types-D9-E_Ywz.d.ts} +4 -4
  298. package/dist/{types-Ck-iVGL_.d.ts → types-kzU5HUpO.d.ts} +2 -2
  299. package/dist/{types.gen-Yvu8ksE5.d.ts → types.gen-COTll5I0.d.ts} +1 -1
  300. package/dist/{utils-C8T9BiQ3.d.ts → utils-CfntV90o.d.ts} +1 -1
  301. package/package.json +1 -1
  302. package/dist/ButtonDefault-C5BX67YU.js +0 -2
  303. package/dist/CheckboxFieldDefault-HEIDOSI7.js +0 -2
  304. package/dist/CountryFieldDefault-DJ7VD267.js +0 -2
  305. package/dist/DatePickerFieldDefault-ZWLN5P55.js +0 -2
  306. package/dist/DrawerDefault-I7PMYMPK.js +0 -2
  307. package/dist/EmailFieldDefault-T7YHR6EN.js +0 -2
  308. package/dist/FieldsetToggleButtonDefault-4JT4HGZ5.js +0 -2
  309. package/dist/FileUploadFieldDefault-66JYQDRY.js +0 -2
  310. package/dist/MultiSelectFieldDefault-ZECWDTTO.js +0 -2
  311. package/dist/NumberFieldDefault-IOL6KD5M.js +0 -2
  312. package/dist/PDFPreviewDefault-LVWCRQ6A.js +0 -2
  313. package/dist/RadioGroupFieldDefault-7SVQ7ZQQ.js +0 -2
  314. package/dist/SelectFieldDefault-HYT2DRK4.js +0 -2
  315. package/dist/StatementDefault-HUOZEIEC.js +0 -2
  316. package/dist/TableFieldDefault-OACG7RGJ.js +0 -2
  317. package/dist/TextAreaFieldDefault-KCPQWVZX.js +0 -2
  318. package/dist/TextFieldDefault-MUGUO7GT.js +0 -2
  319. package/dist/WorkScheduleFieldDefault-CHW2ODQK.js +0 -2
  320. package/dist/ZendeskDrawerDefault-NYESVAZM.js +0 -2
  321. package/dist/chunk-3FCX7SWN.js +0 -2
  322. package/dist/chunk-3FCX7SWN.js.map +0 -1
  323. package/dist/chunk-3XG2MGD3.js +0 -2
  324. package/dist/chunk-3XG2MGD3.js.map +0 -1
  325. package/dist/chunk-47YUPC2L.js +0 -2
  326. package/dist/chunk-4SGUDT5K.js +0 -2
  327. package/dist/chunk-4SGUDT5K.js.map +0 -1
  328. package/dist/chunk-JITSAYF7.js +0 -2
  329. package/dist/chunk-JITSAYF7.js.map +0 -1
  330. package/dist/chunk-KJQN6GHW.js +0 -6
  331. package/dist/chunk-QORZCJSR.js +0 -2
  332. package/dist/chunk-QORZCJSR.js.map +0 -1
  333. package/dist/chunk-STEDOWHX.js +0 -2
  334. package/dist/chunk-STEDOWHX.js.map +0 -1
  335. package/dist/chunk-VLKG3SNS.js +0 -2
  336. package/dist/chunk-VLKG3SNS.js.map +0 -1
  337. /package/dist/{ButtonDefault-C5BX67YU.js.map → ButtonDefault-6LBHWUQH.js.map} +0 -0
  338. /package/dist/{CheckboxFieldDefault-HEIDOSI7.js.map → CheckboxFieldDefault-X4DYVQCE.js.map} +0 -0
  339. /package/dist/{CountryFieldDefault-DJ7VD267.js.map → CountryFieldDefault-JZDE75HS.js.map} +0 -0
  340. /package/dist/{DatePickerFieldDefault-ZWLN5P55.js.map → DatePickerFieldDefault-LJV4QSEP.js.map} +0 -0
  341. /package/dist/{DrawerDefault-I7PMYMPK.js.map → DrawerDefault-FLNSDSMB.js.map} +0 -0
  342. /package/dist/{EmailFieldDefault-T7YHR6EN.js.map → EmailFieldDefault-T6HHE5RL.js.map} +0 -0
  343. /package/dist/{FieldsetToggleButtonDefault-4JT4HGZ5.js.map → FieldsetToggleButtonDefault-MXBQJ55Q.js.map} +0 -0
  344. /package/dist/{FileUploadFieldDefault-66JYQDRY.js.map → FileUploadFieldDefault-5NW3ZFXD.js.map} +0 -0
  345. /package/dist/{MultiSelectFieldDefault-ZECWDTTO.js.map → MultiSelectFieldDefault-OQ6SNNBI.js.map} +0 -0
  346. /package/dist/{NumberFieldDefault-IOL6KD5M.js.map → NumberFieldDefault-IVUTWJS5.js.map} +0 -0
  347. /package/dist/{PDFPreviewDefault-LVWCRQ6A.js.map → PDFPreviewDefault-RJNE7QSF.js.map} +0 -0
  348. /package/dist/{RadioGroupFieldDefault-7SVQ7ZQQ.js.map → RadioGroupFieldDefault-CXY33ONT.js.map} +0 -0
  349. /package/dist/{SelectFieldDefault-HYT2DRK4.js.map → SelectFieldDefault-66GGFDX3.js.map} +0 -0
  350. /package/dist/{StatementDefault-HUOZEIEC.js.map → StatementDefault-DORMITL7.js.map} +0 -0
  351. /package/dist/{TableFieldDefault-OACG7RGJ.js.map → TableFieldDefault-URJVK7YR.js.map} +0 -0
  352. /package/dist/{TextAreaFieldDefault-KCPQWVZX.js.map → TextAreaFieldDefault-5H34RRBA.js.map} +0 -0
  353. /package/dist/{TextFieldDefault-MUGUO7GT.js.map → TextFieldDefault-VHIF2KLF.js.map} +0 -0
  354. /package/dist/{WorkScheduleFieldDefault-CHW2ODQK.js.map → WorkScheduleFieldDefault-T7IP52VU.js.map} +0 -0
  355. /package/dist/{ZendeskDrawerDefault-NYESVAZM.js.map → ZendeskDrawerDefault-YSBMA2ZH.js.map} +0 -0
  356. /package/dist/{chunk-D6KO5LX6.js.map → chunk-37RMY44V.js.map} +0 -0
  357. /package/dist/{chunk-D5YMIXK5.js.map → chunk-3B6XXK5H.js.map} +0 -0
  358. /package/dist/{chunk-AFJIZDZG.js.map → chunk-3BBQDNZD.js.map} +0 -0
  359. /package/dist/{chunk-CD6F3H7B.js.map → chunk-3DMWQJ5W.js.map} +0 -0
  360. /package/dist/{chunk-UXHMIIOB.js.map → chunk-44RIEWXA.js.map} +0 -0
  361. /package/dist/{chunk-AB3RAEMM.js.map → chunk-4EMAROPQ.js.map} +0 -0
  362. /package/dist/{chunk-3ACL4IFO.js.map → chunk-4N4MQECC.js.map} +0 -0
  363. /package/dist/{chunk-2ZS5F6C7.js.map → chunk-4UO7KLRK.js.map} +0 -0
  364. /package/dist/{chunk-BIDZO7XH.js.map → chunk-62O3CKKH.js.map} +0 -0
  365. /package/dist/{chunk-ZIXR3VSB.js.map → chunk-6AAV34CT.js.map} +0 -0
  366. /package/dist/{chunk-ZPDZ6V5R.js.map → chunk-7G5JSUZU.js.map} +0 -0
  367. /package/dist/{chunk-SZVBNL6O.js.map → chunk-7PWZAW7M.js.map} +0 -0
  368. /package/dist/{chunk-T7CGGZOK.js.map → chunk-7RP5F62S.js.map} +0 -0
  369. /package/dist/{chunk-XO5VURZY.js.map → chunk-A232PIG7.js.map} +0 -0
  370. /package/dist/{chunk-JXXZH6KH.js.map → chunk-A7CLJBJI.js.map} +0 -0
  371. /package/dist/{chunk-FI2MVRZR.js.map → chunk-AJCKNHZB.js.map} +0 -0
  372. /package/dist/{chunk-VOUP5SMR.js.map → chunk-AJIDQALB.js.map} +0 -0
  373. /package/dist/{chunk-UXP2IITO.js.map → chunk-ALVZNFB7.js.map} +0 -0
  374. /package/dist/{chunk-CQ2EF32E.js.map → chunk-AW7JELYX.js.map} +0 -0
  375. /package/dist/{chunk-OCTMRR2C.js.map → chunk-B66V5QEC.js.map} +0 -0
  376. /package/dist/{chunk-DI2QNZ2O.js.map → chunk-B7EJ2OAA.js.map} +0 -0
  377. /package/dist/{chunk-HLAKUOQB.js.map → chunk-BG66XH5L.js.map} +0 -0
  378. /package/dist/{chunk-NOY2YNXO.js.map → chunk-BGRX3DBF.js.map} +0 -0
  379. /package/dist/{chunk-I7JUAYNN.js.map → chunk-BVFQ6LFD.js.map} +0 -0
  380. /package/dist/{chunk-RM7W6QA7.js.map → chunk-C6KWUSCU.js.map} +0 -0
  381. /package/dist/{chunk-MTOXXQYK.js.map → chunk-CARPUKT7.js.map} +0 -0
  382. /package/dist/{chunk-7TOCURKO.js.map → chunk-DFAY4TWC.js.map} +0 -0
  383. /package/dist/{chunk-O5ENJKI6.js.map → chunk-DNDYXEZ6.js.map} +0 -0
  384. /package/dist/{chunk-46QJ44CZ.js.map → chunk-DXIJUMLU.js.map} +0 -0
  385. /package/dist/{chunk-DI3XZUMY.js.map → chunk-E2LBPO5Z.js.map} +0 -0
  386. /package/dist/{chunk-RFMIAO6J.js.map → chunk-EDLQ3JNY.js.map} +0 -0
  387. /package/dist/{chunk-TZCNONDA.js.map → chunk-EHD2YB5F.js.map} +0 -0
  388. /package/dist/{chunk-GLKITZNI.js.map → chunk-ERSP6CZ3.js.map} +0 -0
  389. /package/dist/{chunk-Z4STVEJE.js.map → chunk-EWL6BSEP.js.map} +0 -0
  390. /package/dist/{chunk-AJ7L3ZO3.js.map → chunk-FJVQQ4XB.js.map} +0 -0
  391. /package/dist/{chunk-YA2G4A3K.js.map → chunk-FRCFJ64I.js.map} +0 -0
  392. /package/dist/{chunk-H463PCBN.js.map → chunk-FSK2DR6Z.js.map} +0 -0
  393. /package/dist/{chunk-5R66NDTQ.js.map → chunk-FUGPVPYX.js.map} +0 -0
  394. /package/dist/{chunk-TGLB5MA2.js.map → chunk-G7EVUAYE.js.map} +0 -0
  395. /package/dist/{chunk-ZSJ6YADQ.js.map → chunk-H2JFQGQJ.js.map} +0 -0
  396. /package/dist/{chunk-HU453KWI.js.map → chunk-H3BUOBWO.js.map} +0 -0
  397. /package/dist/{chunk-MCGUHRQL.js.map → chunk-HKNK5Z6N.js.map} +0 -0
  398. /package/dist/{chunk-5F7FMTGE.js.map → chunk-HOR3KPOZ.js.map} +0 -0
  399. /package/dist/{chunk-WLMHGJWB.js.map → chunk-HUZBKPGP.js.map} +0 -0
  400. /package/dist/{chunk-7SVSJ7NG.js.map → chunk-I3TP6JKM.js.map} +0 -0
  401. /package/dist/{chunk-D67Z4NEP.js.map → chunk-IGLKMXWJ.js.map} +0 -0
  402. /package/dist/{chunk-IHVEK72X.js.map → chunk-IZGSVS3I.js.map} +0 -0
  403. /package/dist/{chunk-ZKS7DJDT.js.map → chunk-J2BTEUAM.js.map} +0 -0
  404. /package/dist/{chunk-PQP3KZ7P.js.map → chunk-JGJTFYHN.js.map} +0 -0
  405. /package/dist/{chunk-KUTIJABX.js.map → chunk-JI4CYPLW.js.map} +0 -0
  406. /package/dist/{chunk-OV7TLEE6.js.map → chunk-KQKH3H6S.js.map} +0 -0
  407. /package/dist/{chunk-6VQEAU6A.js.map → chunk-KRSUSMJK.js.map} +0 -0
  408. /package/dist/{chunk-FBE7F5HU.js.map → chunk-L3LOATSG.js.map} +0 -0
  409. /package/dist/{chunk-3PVZEAGI.js.map → chunk-L5DII4MV.js.map} +0 -0
  410. /package/dist/{chunk-D36BZQTP.js.map → chunk-LVXV3GHT.js.map} +0 -0
  411. /package/dist/{chunk-6DRAZSGG.js.map → chunk-MHAY555P.js.map} +0 -0
  412. /package/dist/{chunk-37RBGAMM.js.map → chunk-MLVB5MYU.js.map} +0 -0
  413. /package/dist/{chunk-CU3WQ2KN.js.map → chunk-MSBCYMSH.js.map} +0 -0
  414. /package/dist/{chunk-NZ64KNDV.js.map → chunk-NAH5PAUK.js.map} +0 -0
  415. /package/dist/{chunk-2DCJODMR.js.map → chunk-NEWXVHFX.js.map} +0 -0
  416. /package/dist/{chunk-XLTZ7SN3.js.map → chunk-OENTT2KT.js.map} +0 -0
  417. /package/dist/{chunk-S63QGDMR.js.map → chunk-OEXY56S2.js.map} +0 -0
  418. /package/dist/{chunk-FKYEST54.js.map → chunk-PHPCCABU.js.map} +0 -0
  419. /package/dist/{chunk-AS4ND5IO.js.map → chunk-PKK2EEXH.js.map} +0 -0
  420. /package/dist/{chunk-HMMFY4PV.js.map → chunk-Q73675NI.js.map} +0 -0
  421. /package/dist/{chunk-M4BR3FKN.js.map → chunk-R7BHA5RA.js.map} +0 -0
  422. /package/dist/{chunk-IUCFOQAD.js.map → chunk-RAH453TV.js.map} +0 -0
  423. /package/dist/{chunk-4YPJKEHT.js.map → chunk-RJY6AEJB.js.map} +0 -0
  424. /package/dist/{chunk-VSYION5R.js.map → chunk-SLLDKJ7K.js.map} +0 -0
  425. /package/dist/{chunk-JEULZR34.js.map → chunk-SNBAM7SA.js.map} +0 -0
  426. /package/dist/{chunk-ZPG6GRAX.js.map → chunk-SNECOPBD.js.map} +0 -0
  427. /package/dist/{chunk-BDMCADQ6.js.map → chunk-SS2FAFUZ.js.map} +0 -0
  428. /package/dist/{chunk-JJEFWMLY.js.map → chunk-TFSRZOMP.js.map} +0 -0
  429. /package/dist/{chunk-W5EXVAEO.js.map → chunk-TNN3W5TU.js.map} +0 -0
  430. /package/dist/{chunk-D5NBOIPS.js.map → chunk-TOQPDTGG.js.map} +0 -0
  431. /package/dist/{chunk-HN7ZP5AX.js.map → chunk-TPGN6QTL.js.map} +0 -0
  432. /package/dist/{chunk-OJ3HJ7QL.js.map → chunk-TQXCLXWH.js.map} +0 -0
  433. /package/dist/{chunk-RQRODRCR.js.map → chunk-TRBEYNRN.js.map} +0 -0
  434. /package/dist/{chunk-MUJT3F2Q.js.map → chunk-TVIUQXLE.js.map} +0 -0
  435. /package/dist/{chunk-OK3CYSHV.js.map → chunk-TXQWBDNF.js.map} +0 -0
  436. /package/dist/{chunk-4ZQ7NOAL.js.map → chunk-ULP5B6DG.js.map} +0 -0
  437. /package/dist/{chunk-OPWMRKZP.js.map → chunk-UMVA4SIV.js.map} +0 -0
  438. /package/dist/{chunk-RNXUKKPF.js.map → chunk-UMVMNUPH.js.map} +0 -0
  439. /package/dist/{chunk-5TBUDUEB.js.map → chunk-VBQVXR4U.js.map} +0 -0
  440. /package/dist/{chunk-W2PJUNWX.js.map → chunk-VLSOHNT2.js.map} +0 -0
  441. /package/dist/{chunk-PS5T7URZ.js.map → chunk-W4ECFBIA.js.map} +0 -0
  442. /package/dist/{chunk-LWGNRGU3.js.map → chunk-WD2JGIDK.js.map} +0 -0
  443. /package/dist/{chunk-BC4UT7KC.js.map → chunk-WEAO46EO.js.map} +0 -0
  444. /package/dist/{chunk-C36VO7DO.js.map → chunk-WEOIHTBU.js.map} +0 -0
  445. /package/dist/{chunk-RKS3FX3C.js.map → chunk-WO54IG4S.js.map} +0 -0
  446. /package/dist/{chunk-2J4XRENJ.js.map → chunk-XHAJ544L.js.map} +0 -0
  447. /package/dist/{chunk-DCB2H2SG.js.map → chunk-XNAFFHZH.js.map} +0 -0
  448. /package/dist/{chunk-KCTY6YAP.js.map → chunk-XU3B7N3C.js.map} +0 -0
  449. /package/dist/{chunk-A37NW25N.js.map → chunk-YHROBX2M.js.map} +0 -0
  450. /package/dist/{chunk-LDWPRPN4.js.map → chunk-YPUP5LNV.js.map} +0 -0
  451. /package/dist/{chunk-I2ED6EUG.js.map → chunk-YWZHBXEI.js.map} +0 -0
  452. /package/dist/{chunk-VGIG5OUD.js.map → chunk-Z3EAYQ5D.js.map} +0 -0
  453. /package/dist/{chunk-5GAFQRDA.js.map → chunk-ZAFGVOU5.js.map} +0 -0
  454. /package/dist/{chunk-EPLPD54O.js.map → chunk-ZWIH53GL.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/ContractorOnboarding/utils.ts"],"sourcesContent":["import { Step } from '@/src/flows/useStepState';\nimport {\n contractorStandardProductIdentifier,\n contractorPlusProductIdentifier,\n ProductType,\n PRODUCT_IDENTIFIER_MAP,\n} from '@/src/flows/ContractorOnboarding/constants';\nimport { Employment } from '@/src/flows/Onboarding/types';\n\nexport type StepKeys =\n | 'select_country'\n | 'basic_information'\n | 'contract_details'\n | 'eligibility_questionnaire'\n | 'choose_alternative_plan'\n | 'contract_preview'\n | 'pricing_plan'\n | 'review';\n\ntype StepConfig = {\n includeSelectCountry?: boolean;\n includeEligibilityQuestionnaire?: boolean;\n};\n\nexport function buildSteps(config: StepConfig = {}) {\n const stepDefinitions: Array<{\n name: StepKeys;\n label: string;\n visible: boolean;\n }> = [\n {\n name: 'select_country',\n label: 'Select Country',\n visible: Boolean(config?.includeSelectCountry),\n },\n {\n name: 'basic_information',\n label: 'Basic Information',\n visible: true,\n },\n {\n name: 'pricing_plan',\n label: 'Pricing Plan',\n visible: true,\n },\n {\n name: 'eligibility_questionnaire',\n label: 'Eligibility Questionnaire',\n visible: Boolean(config?.includeEligibilityQuestionnaire),\n },\n {\n name: 'choose_alternative_plan',\n label: 'Choose Alternative Plan',\n visible: false,\n },\n {\n name: 'contract_details',\n label: 'Contract Details',\n visible: true,\n },\n {\n name: 'contract_preview',\n label: 'Contract Preview',\n visible: true,\n },\n {\n name: 'review',\n label: 'Review',\n visible: true,\n },\n ];\n\n const stepsArray = stepDefinitions.map((step, index) => ({\n name: step.name,\n index,\n label: step.label,\n visible: step.visible,\n }));\n\n const steps = stepsArray.reduce(\n (acc, step) => {\n acc[step.name] = {\n index: step.index,\n name: step.name,\n visible: step.visible,\n };\n return acc;\n },\n {} as Record<string, Step<StepKeys>>,\n );\n\n return { steps, stepsArray };\n}\n\n/**\n * Calculates the description for the provisional start date field\n * based on whether the dates match between basic information and contract details steps\n */\nexport const calculateProvisionalStartDateDescription = (\n employmentProvisionalStartDate: string | undefined,\n fieldProvisionalStartDate: string | undefined,\n): string | undefined => {\n const datesNotMatching =\n employmentProvisionalStartDate &&\n fieldProvisionalStartDate &&\n employmentProvisionalStartDate !== fieldProvisionalStartDate;\n\n if (datesNotMatching) {\n const datesDontMatchWarning = `This date does not match the date you provided in the Basic Information step - ${\n employmentProvisionalStartDate\n } - and will override it only when both parties have signed the contract.`;\n return `When the contractor will start providing service to your company. ${datesDontMatchWarning}`;\n }\n return undefined;\n};\n\n/**\n * Checks if the selected pricing plan is CM (standard) or CM+ (plus)\n */\nexport const isCMOrCMPlus = (subscription: string | undefined): boolean => {\n return (\n subscription === contractorStandardProductIdentifier ||\n subscription === contractorPlusProductIdentifier\n );\n};\n\nconst NATIONALITY_COUNTRY_CODES = ['SAU', 'KWT', 'OMN', 'QAT', 'BHR'];\n\n/**\n * Checks if the country code is a country code that requires nationality status field\n */\nexport const isNationalityCountryCode = (countryCode: string) => {\n return NATIONALITY_COUNTRY_CODES.includes(countryCode);\n};\n\n/**\n * Checks if a product should be included based on the excludeProducts list\n * @param productIdentifier - The product identifier to check\n * @param excludeProducts - Array of products to exclude\n * @returns true if the product should be included, false otherwise\n */\nexport const shouldIncludeProduct = (\n productIdentifier: string,\n excludeProducts?: ProductType[],\n): boolean => {\n if (!excludeProducts || excludeProducts.length === 0) {\n return true;\n }\n\n return !excludeProducts.some(\n (excluded) => PRODUCT_IDENTIFIER_MAP[excluded] === productIdentifier,\n );\n};\n\n/**\n * Array of employment statuses that are allowed to proceed to the review step.\n * These statuses indicate that the employment is in a final state and the employment cannot be modified further.\n * @type {Employment['status'][]}\n * @constant\n */\nexport const reviewStepAllowedEmploymentStatus: Employment['status'][] = [\n 'invited',\n];\n\nexport const disabledInviteButtonEmploymentStatus: Employment['status'][] = [\n 'invited',\n];\n"],"mappings":"yFAwBO,SAASA,EAAWC,EAAqB,CAAC,EAAG,CAgDlD,IAAMC,EA3CD,CACH,CACE,KAAM,iBACN,MAAO,iBACP,QAAS,EAAQD,GAAQ,oBAC3B,EACA,CACE,KAAM,oBACN,MAAO,oBACP,QAAS,EACX,EACA,CACE,KAAM,eACN,MAAO,eACP,QAAS,EACX,EACA,CACE,KAAM,4BACN,MAAO,4BACP,QAAS,EAAQA,GAAQ,+BAC3B,EACA,CACE,KAAM,0BACN,MAAO,0BACP,QAAS,EACX,EACA,CACE,KAAM,mBACN,MAAO,mBACP,QAAS,EACX,EACA,CACE,KAAM,mBACN,MAAO,mBACP,QAAS,EACX,EACA,CACE,KAAM,SACN,MAAO,SACP,QAAS,EACX,CACF,EAEmC,IAAI,CAACE,EAAMC,KAAW,CACvD,KAAMD,EAAK,KACX,MAAAC,EACA,MAAOD,EAAK,MACZ,QAASA,EAAK,OAChB,EAAE,EAcF,MAAO,CAAE,MAZKD,EAAW,OACvB,CAACG,EAAKF,KACJE,EAAIF,EAAK,IAAI,EAAI,CACf,MAAOA,EAAK,MACZ,KAAMA,EAAK,KACX,QAASA,EAAK,OAChB,EACOE,GAET,CAAC,CACH,EAEgB,WAAAH,CAAW,CAC7B,CApEgBI,EAAAN,EAAA,cA0ET,IAAMO,EAA2CD,EAAA,CACtDE,EACAC,IACuB,CAMvB,GAJED,GACAC,GACAD,IAAmCC,EAMnC,MAAO,qEAHuB,kFAC5BD,CACF,0EACiG,EAGrG,EAhBwD,4CAqB3CE,EAAeJ,EAACK,GAEzBA,IAAiBC,GACjBD,IAAiBE,EAHO,gBAOtBC,EAA4B,CAAC,MAAO,MAAO,MAAO,MAAO,KAAK,EAKvDC,EAA2BT,EAACU,GAChCF,EAA0B,SAASE,CAAW,EADf,4BAU3BC,EAAuBX,EAAA,CAClCY,EACAC,IAEI,CAACA,GAAmBA,EAAgB,SAAW,EAC1C,GAGF,CAACA,EAAgB,KACrBC,GAAaC,EAAuBD,CAAQ,IAAMF,CACrD,EAVkC,wBAmBvBI,EAA4D,CACvE,SACF,EAEaC,EAA+D,CAC1E,SACF","names":["buildSteps","config","stepsArray","step","index","acc","__name","calculateProvisionalStartDateDescription","employmentProvisionalStartDate","fieldProvisionalStartDate","isCMOrCMPlus","subscription","contractorStandardProductIdentifier","contractorPlusProductIdentifier","NATIONALITY_COUNTRY_CODES","isNationalityCountryCode","countryCode","shouldIncludeProduct","productIdentifier","excludeProducts","excluded","PRODUCT_IDENTIFIER_MAP","reviewStepAllowedEmploymentStatus","disabledInviteButtonEmploymentStatus"]}
@@ -1,2 +0,0 @@
1
- import{I as r}from"./chunk-KJQN6GHW.js";import{d as o}from"./chunk-KQPDXXG3.js";import{a as t}from"./chunk-P37U34EQ.js";import{useQuery as p}from"@tanstack/react-query";var C=t(n=>{let{client:u}=o(),{enabled:a,queryKey:s="default",select:i}=n||{};return p({enabled:a,queryKey:["countries",s],retry:!1,queryFn:t(async()=>{let e=await r({client:u,headers:{Authorization:""}});if(e.error||!e.data)throw new Error("Failed to fetch supported countries");return e},"queryFn"),select:i||(e=>e.data?.data||[])})},"useCountries");export{C as a};
2
- //# sourceMappingURL=chunk-3XG2MGD3.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/common/api/countries.ts"],"sourcesContent":["import { useClient } from '@/src/context';\nimport { useQuery } from '@tanstack/react-query';\nimport { Country, getSupportedCountry } from '@/src/client';\nimport { Client } from '@/src/client/client';\nimport { $TSFixMe } from '@/src/types/remoteFlows';\n\ntype UseCountriesOptions<TData = Country[]> = {\n enabled?: boolean;\n queryKey?: string;\n select?: (response: Awaited<ReturnType<typeof getSupportedCountry>>) => TData;\n};\n\nexport const useCountries = <TData = Country[]>(\n options?: UseCountriesOptions<TData>,\n) => {\n const { client } = useClient();\n const { enabled, queryKey = 'default', select } = options || {};\n\n return useQuery<\n Awaited<ReturnType<typeof getSupportedCountry>>,\n Error,\n TData,\n string[]\n >({\n enabled,\n queryKey: ['countries', queryKey],\n retry: false,\n queryFn: async () => {\n const response = await getSupportedCountry({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n });\n\n if (response.error || !response.data) {\n throw new Error('Failed to fetch supported countries');\n }\n\n return response;\n },\n select:\n select ||\n (((response: Awaited<ReturnType<typeof getSupportedCountry>>) => {\n return response.data?.data || [];\n }) as $TSFixMe),\n });\n};\n"],"mappings":"wHACA,OAAS,YAAAA,MAAgB,wBAWlB,IAAMC,EAAeC,EAC1BC,GACG,CACH,GAAM,CAAE,OAAAC,CAAO,EAAIC,EAAU,EACvB,CAAE,QAAAC,EAAS,SAAAC,EAAW,UAAW,OAAAC,CAAO,EAAIL,GAAW,CAAC,EAE9D,OAAOM,EAKL,CACA,QAAAH,EACA,SAAU,CAAC,YAAaC,CAAQ,EAChC,MAAO,GACP,QAASL,EAAA,SAAY,CACnB,IAAMQ,EAAW,MAAMC,EAAoB,CACzC,OAAQP,EACR,QAAS,CACP,cAAe,EACjB,CACF,CAAC,EAED,GAAIM,EAAS,OAAS,CAACA,EAAS,KAC9B,MAAM,IAAI,MAAM,qCAAqC,EAGvD,OAAOA,CACT,EAbS,WAcT,OACEF,IACGE,GACMA,EAAS,MAAM,MAAQ,CAAC,EAErC,CAAC,CACH,EAnC4B","names":["useQuery","useCountries","__name","options","client","useClient","enabled","queryKey","select","useQuery","response","getSupportedCountry"]}
@@ -1,2 +0,0 @@
1
- import{a as p}from"./chunk-EUSCQL4H.js";import{A as c,G as m,K as C,P as d,k as l,t as u}from"./chunk-KJQN6GHW.js";import{d as o}from"./chunk-KQPDXXG3.js";import{a as t}from"./chunk-P37U34EQ.js";import{useMutation as a,useQuery as r}from"@tanstack/react-query";var h=t(({includePremiumBenefits:e})=>{let{client:i}=o();return r({queryKey:["cost-calculator-countries",e],queryFn:t(()=>c({client:i,query:{include_premium_benefits:e}}),"queryFn"),select:t(s=>s.data?.data.filter(n=>n.availability==="active").map(n=>({value:n.region_slug,label:n.name,childRegions:n.child_regions,hasAdditionalFields:n.has_additional_fields,regionSlug:n.region_slug,currency:n.currency.code})),"select")})},"useCostCalculatorCountries"),q=t(()=>{let{client:e}=o();return r({queryKey:["company-currencies"],queryFn:t(()=>d({client:e}),"queryFn"),select:t(i=>i.data?.data?.company_currencies.map(s=>({value:s.slug,label:s.code})),"select")})},"useCompanyCurrencies"),x=t(()=>{let{client:e}=o();return a({mutationFn:t(i=>l({client:e,body:i}),"mutationFn")})},"useCostCalculatorEstimation"),P=t(()=>{let{client:e}=o();return a({mutationFn:t(i=>u({client:e,body:i}),"mutationFn")})},"useCostCalculatorEstimationPdf"),v=t(()=>{let{client:e}=o();return a({mutationFn:t(i=>C({client:e,body:i}),"mutationFn")})},"useCostCalculatorEstimationCsv"),S=t((e,{includePremiumBenefits:i,options:s})=>{let{client:n}=o();return r({queryKey:["cost-calculator-region-fields",e,i],queryFn:t(()=>m({client:n,path:{slug:e},query:{include_premium_benefits:i}}),"queryFn"),enabled:!!e,select:t(({data:f})=>{let y=f?.data?.schema||{};return p(y,void 0,s)},"select")})},"useRegionFields");export{h as a,q as b,x as c,P as d,v as e,S as f};
2
- //# sourceMappingURL=chunk-47YUPC2L.js.map
@@ -1,2 +0,0 @@
1
- import{b as u}from"./chunk-Q3ALCPJN.js";import{d}from"./chunk-STEDOWHX.js";import{a as m}from"./chunk-X6ZAR7ZL.js";import{b as a}from"./chunk-KQPDXXG3.js";import{a as n}from"./chunk-P37U34EQ.js";import{jsx as v}from"react/jsx-runtime";function R({onSubmit:c,onSuccess:p,onError:e,render:l,...o}){let{components:E}=a(),{contractorOnboardingBag:t}=u(),i=d(),{mutateAsync:f}=m(i),y=n(async()=>{try{if(await c?.(),t.employmentId){let r=await f({employment_id:t.employmentId});if(r.data){await p?.({data:r.data,employmentStatus:"invited"}),t.refetchEmployment();return}r.error&&e?.({error:r.error,rawError:r.rawError,fieldErrors:[]})}}catch(r){e?.({error:r,rawError:r,fieldErrors:[]})}},"handleSubmit"),s=E?.button;if(!s)throw new Error("Button component not found");return v(s,{...o,disabled:i.isPending||o.disabled,onClick:r=>{y(),o.onClick?.(r)},children:l({employmentStatus:"invited"})})}n(R,"OnboardingInvite");export{R as a};
2
- //# sourceMappingURL=chunk-4SGUDT5K.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/ContractorOnboarding/components/OnboardingInvite.tsx"],"sourcesContent":["import { ButtonHTMLAttributes, ReactNode } from 'react';\nimport { useEmploymentInvite } from '@/src/flows/Onboarding/api';\nimport { FieldError, mutationToPromise } from '@/src/lib/mutations';\nimport { SuccessResponse } from '@/src/client';\nimport { useFormFields } from '@/src/context';\nimport { useContractorOnboardingContext } from '@/src/flows/ContractorOnboarding/context';\n\nexport type OnboardingInviteProps = Omit<\n ButtonHTMLAttributes<HTMLButtonElement>,\n 'onError'\n> & {\n onSuccess?: ({\n data,\n employmentStatus,\n }: {\n data: SuccessResponse;\n employmentStatus: 'invited';\n }) => void | Promise<void>;\n onError?: ({\n error,\n rawError,\n fieldErrors,\n }: {\n error: Error;\n rawError: Record<string, unknown>;\n fieldErrors: FieldError[];\n }) => void;\n onSubmit?: () => void | Promise<void>;\n render: (props: { employmentStatus: 'invited' }) => ReactNode;\n} & Record<string, unknown>;\n\nexport function OnboardingInvite({\n onSubmit,\n onSuccess,\n onError,\n render,\n ...props\n}: OnboardingInviteProps) {\n const { components } = useFormFields();\n const { contractorOnboardingBag } = useContractorOnboardingContext();\n const employmentInviteMutation = useEmploymentInvite();\n\n const { mutateAsync: employmentInviteMutationAsync } = mutationToPromise(\n employmentInviteMutation,\n );\n\n const handleSubmit = async () => {\n try {\n await onSubmit?.();\n if (contractorOnboardingBag.employmentId) {\n const response = await employmentInviteMutationAsync({\n employment_id: contractorOnboardingBag.employmentId,\n });\n if (response.data) {\n await onSuccess?.({\n data: response.data as SuccessResponse,\n employmentStatus: 'invited',\n });\n contractorOnboardingBag.refetchEmployment();\n return;\n }\n if (response.error) {\n onError?.({\n error: response.error,\n rawError: response.rawError,\n fieldErrors: [],\n });\n }\n }\n } catch (error: unknown) {\n onError?.({\n error: error as Error,\n rawError: error as Record<string, unknown>,\n fieldErrors: [],\n });\n }\n };\n\n const CustomButton = components?.button;\n if (!CustomButton) {\n throw new Error(`Button component not found`);\n }\n\n return (\n <CustomButton\n {...props}\n disabled={employmentInviteMutation.isPending || props.disabled}\n onClick={(evt) => {\n handleSubmit();\n props.onClick?.(evt);\n }}\n >\n {render({\n employmentStatus: 'invited',\n })}\n </CustomButton>\n );\n}\n"],"mappings":"mMAoFI,cAAAA,MAAA,oBArDG,SAASC,EAAiB,CAC/B,SAAAC,EACA,UAAAC,EACA,QAAAC,EACA,OAAAC,EACA,GAAGC,CACL,EAA0B,CACxB,GAAM,CAAE,WAAAC,CAAW,EAAIC,EAAc,EAC/B,CAAE,wBAAAC,CAAwB,EAAIC,EAA+B,EAC7DC,EAA2BC,EAAoB,EAE/C,CAAE,YAAaC,CAA8B,EAAIC,EACrDH,CACF,EAEMI,EAAeC,EAAA,SAAY,CAC/B,GAAI,CAEF,GADA,MAAMd,IAAW,EACbO,EAAwB,aAAc,CACxC,IAAMQ,EAAW,MAAMJ,EAA8B,CACnD,cAAeJ,EAAwB,YACzC,CAAC,EACD,GAAIQ,EAAS,KAAM,CACjB,MAAMd,IAAY,CAChB,KAAMc,EAAS,KACf,iBAAkB,SACpB,CAAC,EACDR,EAAwB,kBAAkB,EAC1C,MACF,CACIQ,EAAS,OACXb,IAAU,CACR,MAAOa,EAAS,MAChB,SAAUA,EAAS,SACnB,YAAa,CAAC,CAChB,CAAC,CAEL,CACF,OAASC,EAAgB,CACvBd,IAAU,CACR,MAAOc,EACP,SAAUA,EACV,YAAa,CAAC,CAChB,CAAC,CACH,CACF,EA9BqB,gBAgCfC,EAAeZ,GAAY,OACjC,GAAI,CAACY,EACH,MAAM,IAAI,MAAM,4BAA4B,EAG9C,OACEnB,EAACmB,EAAA,CACE,GAAGb,EACJ,SAAUK,EAAyB,WAAaL,EAAM,SACtD,QAAUc,GAAQ,CAChBL,EAAa,EACbT,EAAM,UAAUc,CAAG,CACrB,EAEC,SAAAf,EAAO,CACN,iBAAkB,SACpB,CAAC,EACH,CAEJ,CAlEgBW,EAAAf,EAAA","names":["jsx","OnboardingInvite","onSubmit","onSuccess","onError","render","props","components","useFormFields","contractorOnboardingBag","useContractorOnboardingContext","employmentInviteMutation","useEmploymentInvite","employmentInviteMutationAsync","mutationToPromise","handleSubmit","__name","response","error","CustomButton","evt"]}
@@ -1,2 +0,0 @@
1
- import{a as de,b as me,c as pe}from"./chunk-RKS3FX3C.js";import{a as Kt,b as zt,c as Ht,d as Xt,f as Yt,g as Zt,h as te,i as ee,j as ne,k as ie,l as oe,m as ae,n as re,o as se,p as ce,q as le,r as ue}from"./chunk-VLKG3SNS.js";import{a as Ut,b as Gt,f as Wt,g as $t}from"./chunk-3FCX7SWN.js";import{a as R,b as pt,c as P}from"./chunk-LHEF2FN7.js";import{f as xt,h as Qt,i as Jt}from"./chunk-STEDOWHX.js";import{a as kt}from"./chunk-KUTIJABX.js";import{a as jt,e as m,f as q}from"./chunk-T7O3YYOG.js";import{J as Bt,T as Tt}from"./chunk-KJQN6GHW.js";import{h as w,i as U}from"./chunk-3PIJOIYR.js";import{a as b}from"./chunk-X6ZAR7ZL.js";import{a as Nt}from"./chunk-TSPDJUGG.js";import{d as nt}from"./chunk-KQPDXXG3.js";import{a as s}from"./chunk-P37U34EQ.js";import{useEffect as G,useMemo as o,useRef as _n,useState as D}from"react";import _e from"lodash.omit";import{useQuery as pn}from"@tanstack/react-query";import{useQuery as mn}from"@tanstack/react-query";var fe=s(()=>{let{client:y}=nt();return mn({queryKey:["identity"],queryFn:s(()=>Tt({client:y,headers:{Authorization:""}}),"queryFn"),select:s(S=>S.data?.data,"select")})},"useIdentity");function fn(y){return y!=null&&"company"in y}s(fn,"hasCompany");var yn=s(()=>{let{client:y}=nt(),{data:S}=fe(),r=fn(S)?S?.company?.id??"":"";return pn({queryKey:["legal-entities",r],queryFn:s(()=>Bt({client:y,path:{company_id:r}}),"queryFn"),select:s(W=>W.data?.data?.legal_entities,"select"),enabled:!!r})},"useLegalEntities"),ye=s(()=>{let{data:y}=yn();return y?.find(S=>S.is_default)},"useDefaultLegalEntity");var gn={select_country:null,basic_information:"employment_basic_information",contract_details:null,eligibility_questionnaire:null,pricing_plan:null,choose_alternative_plan:null,contract_preview:null,review:null},bn={employment_basic_information:"basic_information"},$n=s(({countryCode:y,externalId:S,employmentId:r,skipSteps:W,options:_,initialValues:d})=>{let ft=_?.excludeProducts||[],[c,yt]=D(y||null),[a,ge]=D(r),[v,_t]=D(void 0),$=_n({select_country:{},basic_information:{},contract_details:{},contract_preview:{},pricing_plan:{},eligibility_questionnaire:{},choose_alternative_plan:{}}),[z,be]=D(void 0),[gt,it]=D(!1),[Se,bt]=D(!1),[ot,St]=D(null),{steps:Ce,stepsArray:he}=o(()=>Ut({includeSelectCountry:!W?.includes("select_country"),includeEligibilityQuestionnaire:gt}),[gt,W]),{fieldValues:u,stepState:e,setFieldValues:we,previousStep:Pe,nextStep:ve,goToStep:B,setStepValues:Ct}=Nt(Ce);G(()=>{ot&&(B(ot),St(null))},[ot,B]);let{data:l,isLoading:Fe,refetch:Ee}=kt({employmentId:a,queryParams:{exclude_files:!0}}),Ve=ye(),{status:L}=l||{},F=L&&Wt.includes(L),Me=L&&!$t.includes(L),Ie=o(()=>L==="invited"?"invited":"not_invited",[L]),ht=Qt(),wt=Jt(c,_),at=Zt(),Pt=Kt(),{mutateAsync:vt}=ne(at,Pt,u),Ft=re(),Et=se(),{mutateAsyncOrThrow:Oe}=b(wt),Vt=Ht(),Mt=Yt(),It=ce(),{mutateAsyncOrThrow:qe}=b(ht),{mutateAsyncOrThrow:De}=b(at),{mutateAsyncOrThrow:Le}=b(Vt),{mutateAsyncOrThrow:rt}=b(Mt),{mutateAsyncOrThrow:Ae}=b(Ft),{mutateAsyncOrThrow:Re}=b(Et),{mutateAsyncOrThrow:Be}=b(It);r&&l?.country?.code&&!c&&yt(l.country.code);let{selectCountryForm:H,isLoading:Te,countries:Ot}=le({jsfModify:_?.jsfModify?.select_country}),je=e.currentStep.name==="pricing_plan"||!!r&&F,{form:E,isLoading:xe,contractorSubscriptions:X,refetch:st,isEligibilityQuestionnaireBlocked:Y}=te(a,{jsonSchemaVersion:_?.jsonSchemaVersion,queryOptions:{enabled:je},excludeProducts:ft,jsfModify:_?.jsfModify?.pricing_plan}),A=o(()=>!!X?.find(t=>t.product.short_name==="COR")?.eligibility_questionnaire?.submitted_at,[X]);G(()=>{if(A){it(!1);return}else it(z===P)},[A,z]);let Z=o(()=>X?.find(t=>t.product.short_name==="COR")?.eligibility_questionnaire?.responses,[X]),Qe=gn[e.currentStep.name]||"contractor_basic_information",Je=bn[Qe],ke=l?.[Je]||{},Ne=s(({form:t,options:i={},query:p={}})=>{let O=Object.keys(u).length>0?{...d,...e.values?.[e.currentStep.name],...u}:{...d,...ke};return xt({countryCode:c,form:t,fieldValues:O,query:p,options:{...i,queryOptions:{enabled:i.queryOptions?.enabled??!0}}})},"useJSONSchema"),Ke=!!(c&&(e.currentStep.name==="basic_information"||r)),Ue=!!(c&&(e.currentStep.name==="contract_details"||r)),Ge=!!(c==="GBR"&&r&&e.currentStep.name==="basic_information"),{data:T,isLoading:We}=ie(r,{enabled:Ge}),{data:tt,isLoading:$e}=oe(r,{enabled:!!r});G(()=>{tt&&tt.length>0&&!v&&_t(tt[0].id)},[tt,v]);let ze=o(()=>Ot?.find(t=>t.value===c)?.label,[Ot,c]),{data:C,isLoading:He}=Ne({form:"contractor_basic_information",options:{jsfModify:me(c,ze,_),queryOptions:{enabled:Ke}}}),Xe=o(()=>Gt(l?.basic_information?.provisional_start_date,u?.service_duration?.provisional_start_date),[l?.basic_information?.provisional_start_date,u?.service_duration?.provisional_start_date]),g=o(()=>{let t={standard:R,plus:pt,cor:P};if(u.subscription)return u.subscription;let i=e.values?.pricing_plan?.subscription;return i&&!Y?i:A&&!Y?P:Y&&A?R:t[l?.contractor_type]||R},[u,e.values,A,l?.contractor_type,Y]);G(()=>{g&&g!==z&&be(g)},[g,z]);let Ye=o(()=>({...Z,...d,...e.values?.eligibility_questionnaire,...u}),[Z,d,e.values?.eligibility_questionnaire,u]),Ze=o(()=>g===P&&e.currentStep.name==="eligibility_questionnaire"||!!r&&F&&g===P,[g,e.currentStep.name,r,F]),{data:V,isLoading:tn}=ae({options:{queryOptions:{enabled:Ze},jsfModify:_?.jsfModify?.eligibility_questionnaire},fieldValues:Ye}),{form:M,isLoading:en}=ee(a,{jsfModify:_?.jsfModify?.choose_alternative_plan,queryOptions:{enabled:Se},excludeProducts:ft}),{data:h,isLoading:nn}=ue({countryCode:c,fieldValues:u,employmentId:a,options:{queryOptions:{enabled:Ue},jsfModify:de(_?.jsfModify?.contract_details,Xe,g,u)}}),on=o(()=>e.currentStep.name==="contract_preview"||!!r&&F,[e.currentStep.name,r,F]),{data:I}=zt({fieldValues:u,options:{queryOptions:{enabled:on},jsfModify:pe(_,u)}}),{data:ct,isLoading:an}=Xt({employmentId:a,contractDocumentId:v,options:{queryOptions:{enabled:!!v}}}),n=o(()=>({select_country:H?.fields||[],basic_information:C?.fields||[],pricing_plan:E?.fields||[],eligibility_questionnaire:V?.fields||[],choose_alternative_plan:M?.fields||[],contract_details:h?.fields||[],contract_preview:I?.fields||[],review:[]}),[H?.fields,C?.fields,E?.fields,h?.fields,I?.fields,V?.fields,M?.fields]),rn={select_country:null,basic_information:C?.meta["x-jsf-fieldsets"],pricing_plan:null,contract_details:h?.meta["x-jsf-fieldsets"],eligibility_questionnaire:null,choose_alternative_plan:null,contract_preview:null,review:null},{country:sn,basic_information:et={},contract_details:qt={}}=l||{},Dt=sn?.code,j=o(()=>q(n.select_country,{country:c||Dt||""}),[n.select_country,c,Dt]),lt=o(()=>T?.content?jt(T.content,T.name):null,[T?.content,T?.name]),x=o(()=>{let t={...d,...et,ir35:l?.contract_details?.ir_35,nationality_status:l?.contract_details?.nationality,...lt&&{ir35_sds_file:[lt]}};return q(n.basic_information,t)},[d,et,l?.contract_details?.ir_35,l?.contract_details?.nationality,lt,n.basic_information]),Q=o(()=>{let i={...{service_duration:{provisional_start_date:et.provisional_start_date}},...d,...qt};return q(n.contract_details,i)},[n.contract_details,qt,d,et]),J=o(()=>{let t=ct?.contract_document?.signatories?.find(p=>p.type==="company"),i={...d,signature:t?.signature};return q(n.contract_preview,i)},[n.contract_preview,d,ct]),k=o(()=>{let i={...{subscription:g},...d};return q(n.pricing_plan,i)},[n.pricing_plan,d,g]),N=o(()=>{let t={...d,...Z};return q(n.eligibility_questionnaire,t)},[n.eligibility_questionnaire,d,Z]),cn=o(()=>({select_country:j,basic_information:x,contract_details:Q,contract_preview:J,pricing_plan:k,eligibility_questionnaire:N}),[j,x,Q,J,k,N]),ut=!!(r&&F&&e.currentStep.name!=="review"),dt=Te||He||Fe||nn||xe||an||We||$e||tn||en,Lt=o(()=>!!(ut&&!dt&&v&&n.basic_information.length>0&&n.contract_details.length>0&&n.contract_preview.length>0),[ut,dt,v,n.basic_information.length,n.contract_details.length,n.contract_preview.length]);G(()=>{Lt&&($.current={select_country:w(j,n.select_country),basic_information:w(x,n.basic_information),contract_details:w(Q,n.contract_details),contract_preview:w(J,n.contract_preview),pricing_plan:w(k,n.pricing_plan),eligibility_questionnaire:w(N,n.eligibility_questionnaire),choose_alternative_plan:{}},Ct({select_country:j,basic_information:x,contract_details:Q,contract_preview:J,pricing_plan:k,eligibility_questionnaire:N,choose_alternative_plan:{},review:{}}),B("review"))},[Lt,B,j,x,Q,Ct,n.select_country,n.basic_information,n.contract_details,n.pricing_plan,k,n.contract_preview,J,n.eligibility_questionnaire,N]);let ln=s(t=>{B(t)},"goTo"),At=s(async t=>H&&e.currentStep.name==="select_country"?t:C&&e.currentStep.name==="basic_information"?await m(t,C?.fields,{isPartialValidation:!1}):h&&e.currentStep.name==="contract_details"?await m(t,h?.fields,{isPartialValidation:!1}):I&&e.currentStep.name==="contract_preview"?await m(t,I?.fields,{isPartialValidation:!1}):E&&e.currentStep.name==="pricing_plan"?await m(t,E?.fields,{isPartialValidation:!1}):V&&e.currentStep.name==="eligibility_questionnaire"?await m(t,V?.fields,{isPartialValidation:!1}):M&&e.currentStep.name==="choose_alternative_plan"?await m(t,M?.fields,{isPartialValidation:!1}):{},"parseFormValues");async function un(t){let i=e.currentStep.name;i in $.current&&($.current[i]=w(t,n[i]));let p=await At(t);switch(e.currentStep.name){case"select_country":return yt(p.country),Promise.resolve({data:{countryCode:p.country}});case"basic_information":{let f=!a&&c,O=a&&c&&l?.country&&l?.country.code!==c;if(f||O){let dn={basic_information:_e(p,"nationality_status","ir35","ir35_sds_file"),type:"contractor",country_code:c,external_id:S},Rt=await qe(dn),mt=Rt?.data?.employment?.id;if(!mt)throw U("Employment ID not found");return ge(mt),await vt({employmentId:mt}),Rt}else if(a){let K=_e(p,"nationality_status","ir35","ir35_sds_file");return await vt({employmentId:a}),Oe({employmentId:a,basic_information:K})}return}case"contract_details":{let O=await De({employmentId:a,payload:{contract_document:p}}),K=O?.data?.contract_document?.id;if(!K)throw U("Contract document ID not found");return _t(K),O}case"contract_preview":return Le({employmentId:a,contractDocumentId:v,payload:{signature:p.signature}});case"pricing_plan":{if(A&&t.subscription!==P)try{await Be({employmentId:a}),await st()}catch(f){if(f?.response?.status!==404)throw f;await st()}if(t.subscription==R)return rt({employmentId:a,payload:{operation:"downgrade"}});if(t.subscription==pt)return rt({employmentId:a,payload:{operation:"upgrade"}});if(t.subscription==P)return Promise.resolve({data:{subscription:t.subscription}});throw U("invalid selection")}case"eligibility_questionnaire":try{let f=await Ae({employmentId:a,payload:p});return f?.data?.is_blocking?(bt(!0),St("choose_alternative_plan"),{...f,_skipNextStep:!0}):await Re({employmentId:a})}finally{await st()}case"choose_alternative_plan":{let f=p.subscription;return f===R&&await rt({employmentId:a,payload:{operation:"downgrade"}}),bt(!1),Promise.resolve({data:{subscription:f}})}default:throw U("Invalid step state")}}return s(un,"onSubmit"),{isLoading:dt||ut,fieldValues:u,stepState:e,checkFieldUpdates:we,back:Pe,next:ve,goTo:ln,onSubmit:un,fields:n[e.currentStep.name],meta:{fields:$.current,fieldsets:rn[e.currentStep.name]},parseFormValues:At,handleValidation:s(async t=>{if(e.currentStep.name==="select_country")return H.handleValidation(t);if(C&&e.currentStep.name==="basic_information"){let i=await m(t,C?.fields,{isPartialValidation:!1});return C?.handleValidation(i)}if(h&&e.currentStep.name==="contract_details"){let i=await m(t,h?.fields,{isPartialValidation:!1});return h?.handleValidation(i)}if(I&&e.currentStep.name==="contract_preview"){let i=await m(t,I?.fields,{isPartialValidation:!0});return I?.handleValidation(i)}if(E&&e.currentStep.name==="pricing_plan"){let i=await m(t,E?.fields,{isPartialValidation:!1});return E?.handleValidation(i)}if(V&&e.currentStep.name==="eligibility_questionnaire"){let i=await m(t,V?.fields,{isPartialValidation:!1});return V?.handleValidation(i)}if(M&&e.currentStep.name==="choose_alternative_plan"){let i=await m(t,M?.fields);return M?.handleValidation(i)}return null},"handleValidation"),initialValues:cn,employmentId:a,refetchEmployment:Ee,isSubmitting:ht.isPending||wt.isPending||at.isPending||Vt.isPending||Mt.isPending||Pt.isPending||Ft.isPending||Et.isPending||It.isPending,documentPreviewPdf:ct,canInvite:Me,isEmploymentReadOnly:F,invitedStatus:Ie,employment:l,defaultLegalEntity:Ve,steps:he}},"useContractorOnboarding");export{$n as a};
2
- //# sourceMappingURL=chunk-JITSAYF7.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/ContractorOnboarding/hooks.tsx","../src/common/api/legal-entities.ts","../src/common/api/identity.ts"],"sourcesContent":["import { useEffect, useMemo, useRef, useState } from 'react';\nimport { FieldValues } from 'react-hook-form';\nimport omit from 'lodash.omit';\nimport { $TSFixMe, JSFFields } from '@/src/types/remoteFlows';\nimport {\n CreateContractDocument,\n Employment,\n EmploymentCreateParams,\n} from '@/src/client/types.gen';\nimport {\n getInitialValues,\n parseJSFToValidate,\n} from '@/src/components/form/utils';\nimport { ValidationResult } from '@remoteoss/remote-json-schema-form-kit';\nimport {\n useCreateContractorContractDocument,\n useGetContractDocumentSignatureSchema,\n usePostManageContractorSubscriptions,\n useContractorSubscriptionSchemaField,\n useGetShowContractDocument,\n useSignContractDocument,\n useUpdateUKandSaudiFields,\n useGetIR35File,\n useGetContractDocuments,\n useGetEligibilityQuestionnaire,\n usePostCreateEligibilityQuestionnaire,\n usePostManageContractorCorSubscription,\n useDeleteContractorCorSubscription,\n useCountriesSchemaField,\n useGetChooseAlternativePlan,\n useContractorOnboardingDetailsSchemaWithCurrencies,\n} from '@/src/flows/ContractorOnboarding/api';\nimport { ContractorOnboardingFlowProps } from '@/src/flows/ContractorOnboarding/types';\nimport {\n buildSteps,\n calculateProvisionalStartDateDescription,\n reviewStepAllowedEmploymentStatus,\n disabledInviteButtonEmploymentStatus,\n StepKeys,\n} from '@/src/flows/ContractorOnboarding/utils';\nimport {\n useCreateEmployment,\n useJSONSchemaForm,\n useUpdateEmployment,\n} from '@/src/flows/Onboarding/api';\nimport { FlowOptions, JSFModify, JSONSchemaFormType } from '@/src/flows/types';\nimport { useStepState } from '@/src/flows/useStepState';\nimport { mutationToPromise } from '@/src/lib/mutations';\nimport { createStructuredError, prettifyFormValues } from '@/src/lib/utils';\nimport { JSFFieldset, Meta } from '@/src/types/remoteFlows';\nimport {\n contractorStandardProductIdentifier,\n contractorPlusProductIdentifier,\n corProductIdentifier,\n} from '@/src/flows/ContractorOnboarding/constants';\nimport {\n buildBasicInformationJsfModify,\n buildContractDetailsJsfModify,\n buildContractPreviewJsfModify,\n} from '@/src/flows/ContractorOnboarding/jsfModify';\nimport { useUploadFile } from '@/src/common/api/files';\nimport { dataURLtoFile } from '@/src/lib/files';\nimport { useEmploymentQuery } from '@/src/common/api/employment';\nimport { useDefaultLegalEntity } from '@/src/common/api/legal-entities';\n\ntype useContractorOnboardingProps = Omit<\n ContractorOnboardingFlowProps,\n 'render'\n>;\n\nconst stepToFormSchemaMap: Record<StepKeys, JSONSchemaFormType | null> = {\n select_country: null,\n basic_information: 'employment_basic_information',\n contract_details: null,\n eligibility_questionnaire: null,\n pricing_plan: null,\n choose_alternative_plan: null,\n contract_preview: null,\n review: null,\n};\n\nconst jsonSchemaToEmployment: Partial<\n Record<JSONSchemaFormType, keyof Employment>\n> = {\n employment_basic_information: 'basic_information',\n};\n\nexport const useContractorOnboarding = ({\n countryCode,\n externalId,\n employmentId,\n skipSteps,\n options,\n initialValues: onboardingInitialValues,\n}: useContractorOnboardingProps) => {\n const excludeProducts = options?.excludeProducts || [];\n const [internalCountryCode, setInternalCountryCode] = useState<string | null>(\n countryCode || null,\n );\n const [internalEmploymentId, setInternalEmploymentId] = useState<\n string | undefined\n >(employmentId);\n const [internalContractDocumentId, setInternalContractDocumentId] = useState<\n string | undefined\n >(undefined);\n const fieldsMetaRef = useRef<{\n select_country: Meta;\n basic_information: Meta;\n contract_details: Meta;\n contract_preview: Meta;\n pricing_plan: Meta;\n eligibility_questionnaire: Meta;\n choose_alternative_plan: Meta;\n }>({\n select_country: {},\n basic_information: {},\n contract_details: {},\n contract_preview: {},\n pricing_plan: {},\n eligibility_questionnaire: {},\n choose_alternative_plan: {},\n });\n\n const [selectedProduct, setSelectedProduct] = useState<string | undefined>(\n undefined,\n );\n\n const [includeEligibilityQuestionnaire, setIncludeEligibilityQuestionnaire] =\n useState<boolean>(false);\n\n const [includeChooseAlternativePlan, setIncludeChooseAlternativePlan] =\n useState<boolean>(false);\n\n const [pendingNavigationStep, setPendingNavigationStep] =\n useState<StepKeys | null>(null);\n\n const { steps, stepsArray } = useMemo(\n () =>\n buildSteps({\n includeSelectCountry: !skipSteps?.includes('select_country'),\n includeEligibilityQuestionnaire: includeEligibilityQuestionnaire,\n }),\n [includeEligibilityQuestionnaire, skipSteps],\n );\n\n const {\n fieldValues,\n stepState,\n setFieldValues,\n previousStep,\n nextStep,\n goToStep,\n setStepValues,\n } = useStepState(steps);\n\n useEffect(() => {\n if (pendingNavigationStep) {\n // Now steps have been updated\n goToStep(pendingNavigationStep);\n setPendingNavigationStep(null);\n }\n }, [pendingNavigationStep, goToStep]);\n\n const {\n data: employment,\n isLoading: isLoadingEmployment,\n refetch: refetchEmployment,\n } = useEmploymentQuery({\n employmentId: internalEmploymentId as string,\n queryParams: { exclude_files: true },\n });\n\n const defaultLegalEntity = useDefaultLegalEntity();\n\n const { status: employmentStatus } = employment || {};\n\n const isEmploymentReadOnly =\n employmentStatus &&\n reviewStepAllowedEmploymentStatus.includes(employmentStatus);\n\n const canInvite =\n employmentStatus &&\n !disabledInviteButtonEmploymentStatus.includes(employmentStatus);\n\n const invitedStatus: 'invited' | 'not_invited' = useMemo(() => {\n const isInvited = employmentStatus === 'invited';\n\n return isInvited ? 'invited' : 'not_invited';\n }, [employmentStatus]);\n\n const createEmploymentMutation = useCreateEmployment();\n const updateEmploymentMutation = useUpdateEmployment(\n internalCountryCode as string,\n options,\n );\n const createContractorContractDocumentMutation =\n useCreateContractorContractDocument();\n const uploadFileMutation = useUploadFile();\n const { mutateAsync: updateUKandSaudiFieldsMutation } =\n useUpdateUKandSaudiFields(\n createContractorContractDocumentMutation,\n uploadFileMutation,\n fieldValues,\n );\n const createEligibilityQuestionnaireMutation =\n usePostCreateEligibilityQuestionnaire();\n const manageContractorCorSubscriptionMutation =\n usePostManageContractorCorSubscription();\n\n const { mutateAsyncOrThrow: updateEmploymentMutationAsync } =\n mutationToPromise(updateEmploymentMutation);\n const signContractDocumentMutation = useSignContractDocument();\n const manageContractorSubscriptionMutation =\n usePostManageContractorSubscriptions();\n const deleteContractorCorSubscriptionMutation =\n useDeleteContractorCorSubscription();\n\n const { mutateAsyncOrThrow: createEmploymentMutationAsync } =\n mutationToPromise(createEmploymentMutation);\n\n const { mutateAsyncOrThrow: createContractorContractDocumentMutationAsync } =\n mutationToPromise(createContractorContractDocumentMutation);\n\n const { mutateAsyncOrThrow: signContractDocumentMutationAsync } =\n mutationToPromise(signContractDocumentMutation);\n\n const { mutateAsyncOrThrow: manageContractorSubscriptionMutationAsync } =\n mutationToPromise(manageContractorSubscriptionMutation);\n\n const { mutateAsyncOrThrow: createEligibilityQuestionnaireMutationAsync } =\n mutationToPromise(createEligibilityQuestionnaireMutation);\n\n const { mutateAsyncOrThrow: manageContractorCorSubscriptionMutationAsync } =\n mutationToPromise(manageContractorCorSubscriptionMutation);\n\n const { mutateAsyncOrThrow: deleteContractorCorSubscriptionMutationAsync } =\n mutationToPromise(deleteContractorCorSubscriptionMutation);\n\n // if the employment is loaded, country code has not been set yet\n // we set the internal country code with the employment country code\n if (employmentId && employment?.country?.code && !internalCountryCode) {\n setInternalCountryCode(employment.country.code);\n }\n\n const {\n selectCountryForm,\n isLoading: isLoadingCountries,\n countries,\n } = useCountriesSchemaField({\n jsfModify: options?.jsfModify?.select_country,\n });\n\n const isPricingPlanEnabled =\n stepState.currentStep.name === 'pricing_plan' ||\n (Boolean(employmentId) && isEmploymentReadOnly);\n\n const {\n form: selectContractorSubscriptionForm,\n isLoading: isLoadingContractorSubscriptions,\n contractorSubscriptions,\n refetch: refetchContractorSubscriptions,\n isEligibilityQuestionnaireBlocked,\n } = useContractorSubscriptionSchemaField(internalEmploymentId as string, {\n jsonSchemaVersion: options?.jsonSchemaVersion,\n queryOptions: {\n enabled: isPricingPlanEnabled,\n },\n excludeProducts: excludeProducts,\n jsfModify: options?.jsfModify?.pricing_plan,\n });\n\n const hasEligibilityQuestionnaireSubmitted = useMemo(() => {\n return Boolean(\n contractorSubscriptions?.find(\n (subscription) => subscription.product.short_name === 'COR',\n )?.eligibility_questionnaire?.submitted_at,\n );\n }, [contractorSubscriptions]);\n\n useEffect(() => {\n if (hasEligibilityQuestionnaireSubmitted) {\n setIncludeEligibilityQuestionnaire(false);\n return;\n } else if (selectedProduct === corProductIdentifier) {\n setIncludeEligibilityQuestionnaire(true);\n } else {\n setIncludeEligibilityQuestionnaire(false);\n }\n }, [hasEligibilityQuestionnaireSubmitted, selectedProduct]);\n\n const eligibilityAnswers = useMemo(() => {\n return contractorSubscriptions?.find(\n (subscription) => subscription.product.short_name === 'COR',\n )?.eligibility_questionnaire?.responses;\n }, [contractorSubscriptions]);\n\n const formType =\n stepToFormSchemaMap[stepState.currentStep.name] ||\n 'contractor_basic_information';\n const employmentKey = jsonSchemaToEmployment[formType] as keyof Employment;\n const serverEmploymentData = (employment?.[employmentKey] || {}) as Record<\n string,\n unknown\n >;\n\n const useJSONSchema = ({\n form,\n options: jsonSchemaOptions = {},\n query = {},\n }: {\n form: JSONSchemaFormType;\n options?: {\n jsfModify?: JSFModify;\n queryOptions?: { enabled?: boolean };\n jsonSchemaVersion?: FlowOptions['jsonSchemaVersion'];\n };\n query?: Record<string, string>;\n }) => {\n const hasUserEnteredAnyValues = Object.keys(fieldValues).length > 0;\n // when you write on the fields, the values are stored in the fieldValues state\n // when values are stored in the stepState is when the user has navigated to the step\n // and then we have the values from the server and the onboardingInitialValues that the user can inject,\n const mergedFormValues = hasUserEnteredAnyValues\n ? {\n ...onboardingInitialValues,\n ...stepState.values?.[stepState.currentStep.name], // Restore values for the current step\n ...fieldValues,\n }\n : {\n ...onboardingInitialValues,\n ...serverEmploymentData,\n };\n\n return useJSONSchemaForm({\n countryCode: internalCountryCode as string,\n form: form,\n fieldValues: mergedFormValues,\n query,\n options: {\n ...jsonSchemaOptions,\n queryOptions: {\n enabled: jsonSchemaOptions.queryOptions?.enabled ?? true,\n },\n },\n });\n };\n\n const isBasicInformationDetailsEnabled = Boolean(\n internalCountryCode &&\n (stepState.currentStep.name === 'basic_information' ||\n Boolean(employmentId)),\n );\n\n const isContractorOnboardingDetailsEnabled = Boolean(\n internalCountryCode &&\n (stepState.currentStep.name === 'contract_details' ||\n Boolean(employmentId)),\n );\n\n const isIR35FileEnabled = Boolean(\n internalCountryCode === 'GBR' &&\n employmentId &&\n stepState.currentStep.name === 'basic_information',\n );\n\n const { data: ir35File, isLoading: isLoadingIR35File } = useGetIR35File(\n employmentId as string,\n {\n enabled: isIR35FileEnabled,\n },\n );\n\n const { data: contractDocuments, isLoading: isLoadingContractDocuments } =\n useGetContractDocuments(employmentId as string, {\n enabled: Boolean(employmentId),\n });\n\n useEffect(() => {\n if (\n contractDocuments &&\n contractDocuments.length > 0 &&\n !internalContractDocumentId\n ) {\n setInternalContractDocumentId(contractDocuments[0].id);\n }\n }, [contractDocuments, internalContractDocumentId]);\n\n const countryName = useMemo(() => {\n return countries?.find((country) => country.value === internalCountryCode)\n ?.label;\n }, [countries, internalCountryCode]);\n\n const {\n data: basicInformationForm,\n isLoading: isLoadingBasicInformationForm,\n } = useJSONSchema({\n form: 'contractor_basic_information',\n options: {\n jsfModify: buildBasicInformationJsfModify(\n internalCountryCode as string,\n countryName,\n options,\n ),\n queryOptions: {\n enabled: isBasicInformationDetailsEnabled,\n },\n },\n });\n\n const descriptionProvisionalStartDate = useMemo(() => {\n return calculateProvisionalStartDateDescription(\n employment?.basic_information?.provisional_start_date as string,\n fieldValues?.service_duration?.provisional_start_date as string,\n );\n }, [\n employment?.basic_information?.provisional_start_date,\n fieldValues?.service_duration?.provisional_start_date,\n ]);\n\n /**\n * When the user selects COR, the data isn't saved yet in the BE\n * We need to use the internalState to know what has happened\n */\n const selectedPricingPlan = useMemo(() => {\n const subscriptions = {\n standard: contractorStandardProductIdentifier,\n plus: contractorPlusProductIdentifier,\n cor: corProductIdentifier,\n };\n\n // HIGHEST PRIORITY: Current form value (user is actively selecting)\n if (fieldValues.subscription) {\n return fieldValues.subscription;\n }\n\n // SECOND: Previously submitted value in this session\n const subscription = stepState.values?.pricing_plan?.subscription;\n if (subscription && !isEligibilityQuestionnaireBlocked) {\n return subscription;\n }\n\n // THIRD: Backend state (eligibility submitted or employment contractor_type)\n if (\n hasEligibilityQuestionnaireSubmitted &&\n !isEligibilityQuestionnaireBlocked\n ) {\n return corProductIdentifier;\n }\n\n // Fourth: If the eligibility questionnaire is blocked and has been submitted, return the standard product\n if (\n isEligibilityQuestionnaireBlocked &&\n hasEligibilityQuestionnaireSubmitted\n ) {\n return contractorStandardProductIdentifier;\n }\n\n // FALLBACK: Employment contractor_type or default\n return (\n subscriptions[\n employment?.contractor_type as keyof typeof subscriptions\n ] || contractorStandardProductIdentifier\n );\n }, [\n fieldValues,\n stepState.values,\n hasEligibilityQuestionnaireSubmitted,\n employment?.contractor_type,\n isEligibilityQuestionnaireBlocked,\n ]);\n\n useEffect(() => {\n if (selectedPricingPlan && selectedPricingPlan !== selectedProduct) {\n setSelectedProduct(selectedPricingPlan);\n }\n }, [selectedPricingPlan, selectedProduct]);\n\n const eligibilityFields = useMemo(() => {\n return {\n ...eligibilityAnswers,\n ...onboardingInitialValues,\n ...stepState.values?.eligibility_questionnaire,\n ...fieldValues,\n };\n }, [\n eligibilityAnswers,\n onboardingInitialValues,\n stepState.values?.eligibility_questionnaire,\n fieldValues,\n ]);\n\n const isEligibilityQuestionnaireEnabled = useMemo(() => {\n return (\n (selectedPricingPlan === corProductIdentifier &&\n stepState.currentStep.name === 'eligibility_questionnaire') ||\n (Boolean(employmentId) &&\n isEmploymentReadOnly &&\n selectedPricingPlan === corProductIdentifier)\n );\n }, [\n selectedPricingPlan,\n stepState.currentStep.name,\n employmentId,\n isEmploymentReadOnly,\n ]);\n\n const {\n data: eligibilityQuestionnaireForm,\n isLoading: isLoadingEligibilityQuestionnaire,\n } = useGetEligibilityQuestionnaire({\n options: {\n queryOptions: {\n enabled: isEligibilityQuestionnaireEnabled,\n },\n jsfModify: options?.jsfModify?.eligibility_questionnaire,\n },\n fieldValues: eligibilityFields,\n });\n\n const {\n form: chooseAlternativePlanForm,\n isLoading: isLoadingChooseAlternativePlan,\n } = useGetChooseAlternativePlan(internalEmploymentId as string, {\n jsfModify: options?.jsfModify?.choose_alternative_plan,\n queryOptions: {\n enabled: includeChooseAlternativePlan,\n },\n excludeProducts: excludeProducts,\n });\n\n const {\n data: contractorOnboardingDetailsForm,\n isLoading: isLoadingContractorOnboardingDetailsForm,\n } = useContractorOnboardingDetailsSchemaWithCurrencies({\n countryCode: internalCountryCode as string,\n fieldValues: fieldValues,\n employmentId: internalEmploymentId as string,\n options: {\n queryOptions: {\n enabled: isContractorOnboardingDetailsEnabled,\n },\n jsfModify: buildContractDetailsJsfModify(\n options?.jsfModify?.contract_details,\n descriptionProvisionalStartDate,\n selectedPricingPlan,\n fieldValues,\n ),\n },\n });\n\n const isSignatureSchemaEnabled = useMemo(() => {\n return (\n stepState.currentStep.name === 'contract_preview' ||\n (Boolean(employmentId) && isEmploymentReadOnly)\n );\n }, [stepState.currentStep.name, employmentId, isEmploymentReadOnly]);\n\n const { data: signatureSchemaForm } = useGetContractDocumentSignatureSchema({\n fieldValues: fieldValues,\n options: {\n queryOptions: {\n enabled: isSignatureSchemaEnabled,\n },\n jsfModify: buildContractPreviewJsfModify(options, fieldValues),\n },\n });\n\n const { data: documentPreviewPdf, isLoading: isLoadingDocumentPreviewForm } =\n useGetShowContractDocument({\n employmentId: internalEmploymentId as string,\n contractDocumentId: internalContractDocumentId as string,\n options: {\n queryOptions: {\n enabled: Boolean(internalContractDocumentId),\n },\n },\n });\n\n const stepFields: Record<StepKeys, JSFFields> = useMemo(\n () => ({\n select_country: selectCountryForm?.fields || [],\n basic_information: basicInformationForm?.fields || [],\n pricing_plan: selectContractorSubscriptionForm?.fields || [],\n eligibility_questionnaire: eligibilityQuestionnaireForm?.fields || [],\n choose_alternative_plan: chooseAlternativePlanForm?.fields || [],\n contract_details: contractorOnboardingDetailsForm?.fields || [],\n contract_preview: signatureSchemaForm?.fields || [],\n review: [],\n }),\n [\n selectCountryForm?.fields,\n basicInformationForm?.fields,\n selectContractorSubscriptionForm?.fields,\n contractorOnboardingDetailsForm?.fields,\n signatureSchemaForm?.fields,\n eligibilityQuestionnaireForm?.fields,\n chooseAlternativePlanForm?.fields,\n ],\n );\n\n const stepFieldsWithFlatFieldsets: Record<\n StepKeys,\n JSFFieldset | null | undefined\n > = {\n select_country: null,\n basic_information: basicInformationForm?.meta['x-jsf-fieldsets'],\n pricing_plan: null,\n contract_details: contractorOnboardingDetailsForm?.meta['x-jsf-fieldsets'],\n eligibility_questionnaire: null,\n choose_alternative_plan: null,\n contract_preview: null,\n review: null,\n };\n\n const {\n country,\n basic_information: employmentBasicInformation = {},\n contract_details: employmentContractDetails = {},\n } = employment || {};\n\n const employmentCountryCode = country?.code;\n\n const selectCountryInitialValues = useMemo(\n () =>\n getInitialValues(stepFields.select_country, {\n country: internalCountryCode || employmentCountryCode || '',\n }),\n [stepFields.select_country, internalCountryCode, employmentCountryCode],\n );\n\n // memoize file conversion to avoid re-converting the file on every render\n // noticed performance issues when not doing memoizing individually\n const convertedIr35File = useMemo(() => {\n if (!ir35File?.content) return null;\n return dataURLtoFile(ir35File.content as unknown as string, ir35File.name);\n }, [ir35File?.content, ir35File?.name]);\n\n const basicInformationInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...employmentBasicInformation,\n ir35: employment?.contract_details?.ir_35,\n nationality_status: employment?.contract_details?.nationality,\n ...(convertedIr35File && {\n ir35_sds_file: [convertedIr35File],\n }),\n };\n\n return getInitialValues(stepFields.basic_information, initialValues);\n }, [\n onboardingInitialValues,\n employmentBasicInformation,\n employment?.contract_details?.ir_35,\n employment?.contract_details?.nationality,\n convertedIr35File,\n stepFields.basic_information,\n ]);\n\n const contractDetailsInitialValues = useMemo(() => {\n const hardcodedValues = {\n service_duration: {\n provisional_start_date:\n employmentBasicInformation.provisional_start_date,\n },\n };\n const initialValues = {\n ...hardcodedValues,\n ...onboardingInitialValues,\n ...employmentContractDetails,\n };\n\n return getInitialValues(stepFields.contract_details, initialValues);\n }, [\n stepFields.contract_details,\n employmentContractDetails,\n onboardingInitialValues,\n employmentBasicInformation,\n ]);\n\n const contractPreviewInitialValues = useMemo(() => {\n const signature = documentPreviewPdf?.contract_document?.signatories?.find(\n (signatory) => signatory.type === 'company',\n );\n const initialValues = {\n ...onboardingInitialValues,\n signature: signature?.signature,\n };\n\n return getInitialValues(stepFields.contract_preview, initialValues);\n }, [\n stepFields.contract_preview,\n onboardingInitialValues,\n documentPreviewPdf,\n ]);\n\n const pricingPlanInitialValues = useMemo(() => {\n const preselectedPricingPlan = {\n subscription: selectedPricingPlan,\n };\n const initialValues = {\n ...preselectedPricingPlan,\n ...onboardingInitialValues,\n };\n\n return getInitialValues(stepFields.pricing_plan, initialValues);\n }, [stepFields.pricing_plan, onboardingInitialValues, selectedPricingPlan]);\n\n const eligibilityQuestionnaireInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...eligibilityAnswers,\n };\n return getInitialValues(\n stepFields.eligibility_questionnaire,\n initialValues,\n );\n }, [\n stepFields.eligibility_questionnaire,\n onboardingInitialValues,\n eligibilityAnswers,\n ]);\n\n const initialValues = useMemo(() => {\n return {\n select_country: selectCountryInitialValues,\n basic_information: basicInformationInitialValues,\n contract_details: contractDetailsInitialValues,\n contract_preview: contractPreviewInitialValues,\n pricing_plan: pricingPlanInitialValues,\n eligibility_questionnaire: eligibilityQuestionnaireInitialValues,\n };\n }, [\n selectCountryInitialValues,\n basicInformationInitialValues,\n contractDetailsInitialValues,\n contractPreviewInitialValues,\n pricingPlanInitialValues,\n eligibilityQuestionnaireInitialValues,\n ]);\n\n const shouldHandleReadOnlyEmployment = Boolean(\n employmentId &&\n isEmploymentReadOnly &&\n stepState.currentStep.name !== 'review',\n );\n\n const initialLoading =\n isLoadingCountries ||\n isLoadingBasicInformationForm ||\n isLoadingEmployment ||\n isLoadingContractorOnboardingDetailsForm ||\n isLoadingContractorSubscriptions ||\n isLoadingDocumentPreviewForm ||\n isLoadingIR35File ||\n isLoadingContractDocuments ||\n isLoadingEligibilityQuestionnaire ||\n isLoadingChooseAlternativePlan;\n\n const isNavigatingToReview = useMemo(() => {\n return Boolean(\n shouldHandleReadOnlyEmployment &&\n !initialLoading &&\n Boolean(internalContractDocumentId) &&\n stepFields.basic_information.length > 0 &&\n stepFields.contract_details.length > 0 &&\n stepFields.contract_preview.length > 0,\n );\n }, [\n shouldHandleReadOnlyEmployment,\n initialLoading,\n internalContractDocumentId,\n stepFields.basic_information.length,\n stepFields.contract_details.length,\n stepFields.contract_preview.length,\n ]);\n\n useEffect(() => {\n if (isNavigatingToReview) {\n fieldsMetaRef.current = {\n select_country: prettifyFormValues(\n selectCountryInitialValues,\n stepFields.select_country,\n ),\n basic_information: prettifyFormValues(\n basicInformationInitialValues,\n stepFields.basic_information,\n ),\n contract_details: prettifyFormValues(\n contractDetailsInitialValues,\n stepFields.contract_details,\n ),\n contract_preview: prettifyFormValues(\n contractPreviewInitialValues,\n stepFields.contract_preview,\n ),\n pricing_plan: prettifyFormValues(\n pricingPlanInitialValues,\n stepFields.pricing_plan,\n ),\n eligibility_questionnaire: prettifyFormValues(\n eligibilityQuestionnaireInitialValues,\n stepFields.eligibility_questionnaire,\n ),\n // we don't need to tell the user about this values\n choose_alternative_plan: {},\n };\n\n setStepValues({\n select_country: selectCountryInitialValues,\n basic_information: basicInformationInitialValues,\n contract_details: contractDetailsInitialValues,\n contract_preview: contractPreviewInitialValues,\n pricing_plan: pricingPlanInitialValues,\n eligibility_questionnaire: eligibilityQuestionnaireInitialValues,\n choose_alternative_plan: {},\n review: {},\n });\n goToStep('review');\n }\n }, [\n isNavigatingToReview,\n goToStep,\n selectCountryInitialValues,\n basicInformationInitialValues,\n contractDetailsInitialValues,\n setStepValues,\n stepFields.select_country,\n stepFields.basic_information,\n stepFields.contract_details,\n stepFields.pricing_plan,\n pricingPlanInitialValues,\n stepFields.contract_preview,\n contractPreviewInitialValues,\n stepFields.eligibility_questionnaire,\n eligibilityQuestionnaireInitialValues,\n ]);\n\n const goTo = (step: StepKeys) => {\n goToStep(step);\n };\n\n const parseFormValues = async (values: FieldValues) => {\n if (selectCountryForm && stepState.currentStep.name === 'select_country') {\n return values;\n }\n\n if (\n basicInformationForm &&\n stepState.currentStep.name === 'basic_information'\n ) {\n return await parseJSFToValidate(values, basicInformationForm?.fields, {\n isPartialValidation: false,\n });\n }\n\n if (\n contractorOnboardingDetailsForm &&\n stepState.currentStep.name === 'contract_details'\n ) {\n return await parseJSFToValidate(\n values,\n contractorOnboardingDetailsForm?.fields,\n {\n isPartialValidation: false,\n },\n );\n }\n\n if (\n signatureSchemaForm &&\n stepState.currentStep.name === 'contract_preview'\n ) {\n return await parseJSFToValidate(values, signatureSchemaForm?.fields, {\n isPartialValidation: false,\n });\n }\n\n if (\n selectContractorSubscriptionForm &&\n stepState.currentStep.name === 'pricing_plan'\n ) {\n return await parseJSFToValidate(\n values,\n selectContractorSubscriptionForm?.fields,\n {\n isPartialValidation: false,\n },\n );\n }\n\n if (\n eligibilityQuestionnaireForm &&\n stepState.currentStep.name === 'eligibility_questionnaire'\n ) {\n return await parseJSFToValidate(\n values,\n eligibilityQuestionnaireForm?.fields,\n {\n isPartialValidation: false,\n },\n );\n }\n\n if (\n chooseAlternativePlanForm &&\n stepState.currentStep.name === 'choose_alternative_plan'\n ) {\n return await parseJSFToValidate(\n values,\n chooseAlternativePlanForm?.fields,\n {\n isPartialValidation: false,\n },\n );\n }\n\n return {};\n };\n\n async function onSubmit(values: FieldValues) {\n const currentStepName = stepState.currentStep.name;\n if (currentStepName in fieldsMetaRef.current) {\n fieldsMetaRef.current[\n currentStepName as keyof typeof fieldsMetaRef.current\n ] = prettifyFormValues(values, stepFields[currentStepName]);\n }\n const parsedValues = await parseFormValues(values);\n switch (stepState.currentStep.name) {\n case 'select_country': {\n setInternalCountryCode(parsedValues.country);\n return Promise.resolve({ data: { countryCode: parsedValues.country } });\n }\n case 'basic_information': {\n const isEmploymentNotLoaded =\n !internalEmploymentId && internalCountryCode;\n const hasChangedCountry =\n internalEmploymentId &&\n internalCountryCode &&\n employment?.country &&\n employment?.country.code !== internalCountryCode;\n\n if (isEmploymentNotLoaded || hasChangedCountry) {\n const basicInformationParsedValues = omit(\n parsedValues,\n 'nationality_status',\n 'ir35',\n 'ir35_sds_file',\n );\n const basicInformationPayload: EmploymentCreateParams = {\n basic_information: basicInformationParsedValues,\n type: 'contractor',\n country_code: internalCountryCode,\n external_id: externalId,\n };\n const response = await createEmploymentMutationAsync(\n basicInformationPayload,\n );\n const employmentId = response?.data?.employment?.id;\n if (!employmentId) {\n throw createStructuredError('Employment ID not found');\n }\n\n setInternalEmploymentId(employmentId);\n await updateUKandSaudiFieldsMutation({\n employmentId: employmentId as string,\n });\n\n return response;\n } else if (internalEmploymentId) {\n const basicInformationParsedValues = omit(\n parsedValues,\n 'nationality_status',\n 'ir35',\n 'ir35_sds_file',\n );\n\n await updateUKandSaudiFieldsMutation({\n employmentId: internalEmploymentId,\n });\n return updateEmploymentMutationAsync({\n employmentId: internalEmploymentId,\n basic_information: basicInformationParsedValues,\n });\n }\n\n return;\n }\n case 'contract_details': {\n const payload: CreateContractDocument = {\n contract_document: parsedValues,\n };\n const response = await createContractorContractDocumentMutationAsync({\n employmentId: internalEmploymentId as string,\n payload,\n });\n const contractDocumentId = response?.data?.contract_document?.id;\n if (!contractDocumentId) {\n throw createStructuredError('Contract document ID not found');\n }\n setInternalContractDocumentId(contractDocumentId);\n return response;\n }\n\n case 'contract_preview': {\n return signContractDocumentMutationAsync({\n employmentId: internalEmploymentId as string,\n contractDocumentId: internalContractDocumentId as string,\n payload: {\n signature: parsedValues.signature,\n },\n });\n }\n case 'pricing_plan': {\n if (\n hasEligibilityQuestionnaireSubmitted &&\n values.subscription !== corProductIdentifier\n ) {\n try {\n await deleteContractorCorSubscriptionMutationAsync({\n employmentId: internalEmploymentId as string,\n });\n await refetchContractorSubscriptions();\n } catch (error) {\n if ((error as $TSFixMe)?.response?.status !== 404) {\n throw error;\n }\n // Still refetch to update the UI state\n await refetchContractorSubscriptions();\n }\n }\n\n if (values.subscription == contractorStandardProductIdentifier) {\n return manageContractorSubscriptionMutationAsync({\n employmentId: internalEmploymentId as string,\n payload: {\n operation: 'downgrade',\n },\n });\n } else if (values.subscription == contractorPlusProductIdentifier) {\n return manageContractorSubscriptionMutationAsync({\n employmentId: internalEmploymentId as string,\n payload: {\n operation: 'upgrade',\n },\n });\n } else if (values.subscription == corProductIdentifier) {\n return Promise.resolve({\n data: { subscription: values.subscription },\n });\n }\n\n throw createStructuredError('invalid selection');\n }\n\n case 'eligibility_questionnaire': {\n try {\n const response = await createEligibilityQuestionnaireMutationAsync({\n employmentId: internalEmploymentId as string,\n payload: parsedValues,\n });\n\n const isEligibilityQuestionnaireBlocked = response?.data?.is_blocking;\n\n if (isEligibilityQuestionnaireBlocked) {\n setIncludeChooseAlternativePlan(true);\n setPendingNavigationStep('choose_alternative_plan');\n return { ...response, _skipNextStep: true };\n }\n\n return await manageContractorCorSubscriptionMutationAsync({\n employmentId: internalEmploymentId as string,\n });\n } finally {\n // Always refetch to keep state in sync, even on error\n await refetchContractorSubscriptions();\n }\n }\n\n case 'choose_alternative_plan': {\n const subscription = parsedValues.subscription;\n\n if (subscription === contractorStandardProductIdentifier) {\n await manageContractorSubscriptionMutationAsync({\n employmentId: internalEmploymentId as string,\n payload: {\n operation: 'downgrade',\n },\n });\n }\n\n setIncludeChooseAlternativePlan(false);\n\n return Promise.resolve({\n data: { subscription },\n });\n }\n\n default: {\n throw createStructuredError('Invalid step state');\n }\n }\n }\n\n const isLoading = initialLoading || shouldHandleReadOnlyEmployment;\n\n return {\n /**\n * Loading state indicating if the flow is loading data\n */\n isLoading,\n\n /**\n * Current state of the form fields for the current step.\n */\n fieldValues,\n\n /**\n * Current step state containing the current step and total number of steps\n */\n stepState,\n\n /**\n * Function to update the current form field values\n * @param values - New form values to set\n */\n checkFieldUpdates: setFieldValues,\n\n /**\n * Function to handle going back to the previous step\n * @returns {void}\n */\n back: previousStep,\n\n /**\n * Function to handle going to the next step\n * @returns {void}\n */\n next: nextStep,\n\n /**\n * Function to handle going to a specific step\n * @param step The step to go to.\n * @returns {void}\n */\n goTo: goTo,\n\n /**\n * Function to handle form submission\n * @param values - Form values to submit\n * @returns Promise resolving to the mutation result\n */\n onSubmit,\n\n /**\n * Array of form fields from the onboarding schema\n */\n fields: stepFields[stepState.currentStep.name],\n\n /**\n * Fields metadata for each step\n */\n meta: {\n fields: fieldsMetaRef.current,\n fieldsets: stepFieldsWithFlatFieldsets[stepState.currentStep.name],\n },\n\n /**\n * Function to parse form values before submission\n * @param values - Form values to parse\n * @returns Parsed form values\n */\n parseFormValues,\n\n /**\n * Function to validate form values against the onboarding schema\n * @param values - Form values to validate\n * @returns Validation result or null if no schema is available\n */\n handleValidation: async (\n values: FieldValues,\n ): Promise<ValidationResult | null> => {\n if (stepState.currentStep.name === 'select_country') {\n return selectCountryForm.handleValidation(values);\n }\n\n if (\n basicInformationForm &&\n stepState.currentStep.name === 'basic_information'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n basicInformationForm?.fields,\n { isPartialValidation: false },\n );\n return basicInformationForm?.handleValidation(parsedValues);\n }\n\n if (\n contractorOnboardingDetailsForm &&\n stepState.currentStep.name === 'contract_details'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n contractorOnboardingDetailsForm?.fields,\n { isPartialValidation: false },\n );\n return contractorOnboardingDetailsForm?.handleValidation(parsedValues);\n }\n\n if (\n signatureSchemaForm &&\n stepState.currentStep.name === 'contract_preview'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n signatureSchemaForm?.fields,\n { isPartialValidation: true },\n );\n return signatureSchemaForm?.handleValidation(parsedValues);\n }\n\n if (\n selectContractorSubscriptionForm &&\n stepState.currentStep.name === 'pricing_plan'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n selectContractorSubscriptionForm?.fields,\n { isPartialValidation: false },\n );\n return selectContractorSubscriptionForm?.handleValidation(parsedValues);\n }\n\n if (\n eligibilityQuestionnaireForm &&\n stepState.currentStep.name === 'eligibility_questionnaire'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n eligibilityQuestionnaireForm?.fields,\n { isPartialValidation: false },\n );\n return eligibilityQuestionnaireForm?.handleValidation(parsedValues);\n }\n\n if (\n chooseAlternativePlanForm &&\n stepState.currentStep.name === 'choose_alternative_plan'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n chooseAlternativePlanForm?.fields,\n );\n return chooseAlternativePlanForm?.handleValidation(parsedValues);\n }\n\n return null;\n },\n\n /**\n * Initial form values\n */\n initialValues,\n\n /**\n * Employment id\n */\n employmentId: internalEmploymentId,\n\n /**\n * Function to refetch the employment data\n * @returns {void}\n */\n refetchEmployment: refetchEmployment,\n\n /**\n * Loading state indicating if the onboarding mutation is in progress\n */\n isSubmitting:\n createEmploymentMutation.isPending ||\n updateEmploymentMutation.isPending ||\n createContractorContractDocumentMutation.isPending ||\n signContractDocumentMutation.isPending ||\n manageContractorSubscriptionMutation.isPending ||\n uploadFileMutation.isPending ||\n createEligibilityQuestionnaireMutation.isPending ||\n manageContractorCorSubscriptionMutation.isPending ||\n deleteContractorCorSubscriptionMutation.isPending,\n\n /**\n * Document preview PDF data\n */\n documentPreviewPdf,\n\n /**\n * let's the user know if the company can invite employees\n * @returns {boolean}\n */\n canInvite,\n\n /**\n * let's the user know that the employment cannot be edited, happens when employment.status is invited\n * @returns {boolean}\n */\n isEmploymentReadOnly,\n /**\n * let's the user know if the employment is invited or not\n * @returns {'invited' | 'not_invited'}\n */\n invitedStatus,\n\n /**\n * Employment data\n * @returns {Employment}\n */\n employment,\n\n /**\n * Default legal entity\n * @returns {CompanyLegalEntity}\n */\n defaultLegalEntity,\n /**\n * Steps array\n * @returns {Array<{name: string, index: number, label: string}>}\n */\n steps: stepsArray,\n };\n};\n","import { useQuery } from '@tanstack/react-query';\nimport {\n getIndexCompanyLegalEntities,\n IdentityCurrentResponse,\n} from '@/src/client';\nimport { Client } from '@/src/client/client';\nimport { useClient } from '@/src/context';\nimport { useIdentity } from '@/src/common/api/identity';\n\nfunction hasCompany(\n identity: IdentityCurrentResponse['data'] | undefined,\n): identity is Extract<\n IdentityCurrentResponse['data'],\n { company: { id: string } }\n> {\n return identity != null && 'company' in identity;\n}\n\n/**\n * Hook to get the legal entities for a company\n * @param companyId - The company ID\n * @returns The legal entities\n */\nexport const useLegalEntities = () => {\n const { client } = useClient();\n const { data: identity } = useIdentity();\n const companyId = hasCompany(identity) ? (identity?.company?.id ?? '') : '';\n\n return useQuery({\n queryKey: ['legal-entities', companyId],\n queryFn: () =>\n getIndexCompanyLegalEntities({\n client: client as Client,\n path: {\n company_id: companyId,\n },\n }),\n select: (data) => data.data?.data?.legal_entities,\n enabled: !!companyId,\n });\n};\n\nexport const useDefaultLegalEntity = () => {\n const { data: legalEntities } = useLegalEntities();\n return legalEntities?.find((legalEntity) => legalEntity.is_default);\n};\n","import { useQuery } from '@tanstack/react-query';\nimport { getCurrentIdentity } from '@/src/client';\nimport { useClient } from '@/src/context';\nimport { Client } from '@/src/client/client';\n\nexport const useIdentity = () => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['identity'],\n queryFn: () =>\n getCurrentIdentity({\n client: client as Client,\n headers: { Authorization: `` },\n }),\n select: (data) => data.data?.data,\n });\n};\n"],"mappings":"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","names":["useEffect","useMemo","useRef","useState","omit","useQuery","useQuery","useIdentity","__name","client","useClient","useQuery","getCurrentIdentity","data","hasCompany","identity","__name","useLegalEntities","client","useClient","useIdentity","companyId","useQuery","getIndexCompanyLegalEntities","data","useDefaultLegalEntity","legalEntities","legalEntity","stepToFormSchemaMap","jsonSchemaToEmployment","useContractorOnboarding","__name","countryCode","externalId","employmentId","skipSteps","options","onboardingInitialValues","excludeProducts","internalCountryCode","setInternalCountryCode","useState","internalEmploymentId","setInternalEmploymentId","internalContractDocumentId","setInternalContractDocumentId","fieldsMetaRef","useRef","selectedProduct","setSelectedProduct","includeEligibilityQuestionnaire","setIncludeEligibilityQuestionnaire","includeChooseAlternativePlan","setIncludeChooseAlternativePlan","pendingNavigationStep","setPendingNavigationStep","steps","stepsArray","useMemo","buildSteps","fieldValues","stepState","setFieldValues","previousStep","nextStep","goToStep","setStepValues","useStepState","useEffect","employment","isLoadingEmployment","refetchEmployment","useEmploymentQuery","defaultLegalEntity","useDefaultLegalEntity","employmentStatus","isEmploymentReadOnly","reviewStepAllowedEmploymentStatus","canInvite","disabledInviteButtonEmploymentStatus","invitedStatus","createEmploymentMutation","useCreateEmployment","updateEmploymentMutation","useUpdateEmployment","createContractorContractDocumentMutation","useCreateContractorContractDocument","uploadFileMutation","useUploadFile","updateUKandSaudiFieldsMutation","useUpdateUKandSaudiFields","createEligibilityQuestionnaireMutation","usePostCreateEligibilityQuestionnaire","manageContractorCorSubscriptionMutation","usePostManageContractorCorSubscription","updateEmploymentMutationAsync","mutationToPromise","signContractDocumentMutation","useSignContractDocument","manageContractorSubscriptionMutation","usePostManageContractorSubscriptions","deleteContractorCorSubscriptionMutation","useDeleteContractorCorSubscription","createEmploymentMutationAsync","createContractorContractDocumentMutationAsync","signContractDocumentMutationAsync","manageContractorSubscriptionMutationAsync","createEligibilityQuestionnaireMutationAsync","manageContractorCorSubscriptionMutationAsync","deleteContractorCorSubscriptionMutationAsync","selectCountryForm","isLoadingCountries","countries","useCountriesSchemaField","isPricingPlanEnabled","selectContractorSubscriptionForm","isLoadingContractorSubscriptions","contractorSubscriptions","refetchContractorSubscriptions","isEligibilityQuestionnaireBlocked","useContractorSubscriptionSchemaField","hasEligibilityQuestionnaireSubmitted","subscription","corProductIdentifier","eligibilityAnswers","formType","employmentKey","serverEmploymentData","useJSONSchema","form","jsonSchemaOptions","query","mergedFormValues","useJSONSchemaForm","isBasicInformationDetailsEnabled","isContractorOnboardingDetailsEnabled","isIR35FileEnabled","ir35File","isLoadingIR35File","useGetIR35File","contractDocuments","isLoadingContractDocuments","useGetContractDocuments","countryName","country","basicInformationForm","isLoadingBasicInformationForm","buildBasicInformationJsfModify","descriptionProvisionalStartDate","calculateProvisionalStartDateDescription","selectedPricingPlan","subscriptions","contractorStandardProductIdentifier","contractorPlusProductIdentifier","eligibilityFields","isEligibilityQuestionnaireEnabled","eligibilityQuestionnaireForm","isLoadingEligibilityQuestionnaire","useGetEligibilityQuestionnaire","chooseAlternativePlanForm","isLoadingChooseAlternativePlan","useGetChooseAlternativePlan","contractorOnboardingDetailsForm","isLoadingContractorOnboardingDetailsForm","useContractorOnboardingDetailsSchemaWithCurrencies","buildContractDetailsJsfModify","isSignatureSchemaEnabled","signatureSchemaForm","useGetContractDocumentSignatureSchema","buildContractPreviewJsfModify","documentPreviewPdf","isLoadingDocumentPreviewForm","useGetShowContractDocument","stepFields","stepFieldsWithFlatFieldsets","employmentBasicInformation","employmentContractDetails","employmentCountryCode","selectCountryInitialValues","getInitialValues","convertedIr35File","dataURLtoFile","basicInformationInitialValues","initialValues","contractDetailsInitialValues","contractPreviewInitialValues","signature","signatory","pricingPlanInitialValues","eligibilityQuestionnaireInitialValues","shouldHandleReadOnlyEmployment","initialLoading","isNavigatingToReview","prettifyFormValues","goTo","step","parseFormValues","values","parseJSFToValidate","onSubmit","currentStepName","parsedValues","isEmploymentNotLoaded","hasChangedCountry","basicInformationPayload","omit","response","createStructuredError","basicInformationParsedValues","contractDocumentId","error"]}
@@ -1,6 +0,0 @@
1
- import{a as t}from"./chunk-P37U34EQ.js";var N=t((e,r,o)=>{typeof o=="string"||o instanceof Blob?e.append(r,o):o instanceof Date?e.append(r,o.toISOString()):e.append(r,JSON.stringify(o))},"serializeFormDataPair");var B={bodySerializer:t(e=>{let r=new FormData;return Object.entries(e).forEach(([o,a])=>{a!=null&&(Array.isArray(a)?a.forEach(i=>N(r,o,i)):N(r,o,a))}),r},"bodySerializer")},j={bodySerializer:t(e=>JSON.stringify(e,(r,o)=>typeof o=="bigint"?o.toString():o),"bodySerializer")};var Q=t(({onRequest:e,onSseError:r,onSseEvent:o,responseTransformer:a,responseValidator:i,sseDefaultRetryDelay:h,sseMaxRetryAttempts:c,sseMaxRetryDelay:p,sseSleepFn:l,url:d,...n})=>{let E,g=l??(m=>new Promise(C=>setTimeout(C,m)));return{stream:t(async function*(){let m=h??3e3,C=0,T=n.signal??new AbortController().signal;for(;!T.aborted;){C++;let D=n.headers instanceof Headers?n.headers:new Headers(n.headers);E!==void 0&&D.set("Last-Event-ID",E);try{let x={redirect:"follow",...n,body:n.serializedBody,headers:D,signal:T},O=new Request(d,x);e&&(O=await e(d,x));let u=await(n.fetch??globalThis.fetch)(O);if(!u.ok)throw new Error(`SSE failed: ${u.status} ${u.statusText}`);if(!u.body)throw new Error("No body in SSE response");let w=u.body.pipeThrough(new TextDecoderStream).getReader(),A="",W=t(()=>{try{w.cancel()}catch{}},"abortHandler");T.addEventListener("abort",W);try{for(;;){let{done:te,value:re}=await w.read();if(te)break;A+=re;let F=A.split(`
2
-
3
- `);A=F.pop()??"";for(let oe of F){let ne=oe.split(`
4
- `),v=[],V;for(let b of ne)if(b.startsWith("data:"))v.push(b.replace(/^data:\s*/,""));else if(b.startsWith("event:"))V=b.replace(/^event:\s*/,"");else if(b.startsWith("id:"))E=b.replace(/^id:\s*/,"");else if(b.startsWith("retry:")){let H=Number.parseInt(b.replace(/^retry:\s*/,""),10);Number.isNaN(H)||(m=H)}let P,M=!1;if(v.length){let b=v.join(`
5
- `);try{P=JSON.parse(b),M=!0}catch{P=b}}M&&(i&&await i(P),a&&(P=await a(P))),o?.({data:P,event:V,id:E,retry:m}),v.length&&(yield P)}}}finally{T.removeEventListener("abort",W),w.releaseLock()}break}catch(x){if(r?.(x),c!==void 0&&C>=c)break;let O=Math.min(m*2**(C-1),p??3e4);await g(O)}}},"createStream")()}},"createSseClient");var se=t(e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},"separatorArrayExplode"),ae=t(e=>{switch(e){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},"separatorArrayNoExplode"),ie=t(e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},"separatorObjectExplode"),k=t(({allowReserved:e,explode:r,name:o,style:a,value:i})=>{if(!r){let p=(e?i:i.map(l=>encodeURIComponent(l))).join(ae(a));switch(a){case"label":return`.${p}`;case"matrix":return`;${o}=${p}`;case"simple":return p;default:return`${o}=${p}`}}let h=se(a),c=i.map(p=>a==="label"||a==="simple"?e?p:encodeURIComponent(p):R({allowReserved:e,name:o,value:p})).join(h);return a==="label"||a==="matrix"?h+c:c},"serializeArrayParam"),R=t(({allowReserved:e,name:r,value:o})=>{if(o==null)return"";if(typeof o=="object")throw new Error("Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these.");return`${r}=${e?o:encodeURIComponent(o)}`},"serializePrimitiveParam"),U=t(({allowReserved:e,explode:r,name:o,style:a,value:i,valueOnly:h})=>{if(i instanceof Date)return h?i.toISOString():`${o}=${i.toISOString()}`;if(a!=="deepObject"&&!r){let l=[];Object.entries(i).forEach(([n,E])=>{l=[...l,n,e?E:encodeURIComponent(E)]});let d=l.join(",");switch(a){case"form":return`${o}=${d}`;case"label":return`.${d}`;case"matrix":return`;${o}=${d}`;default:return d}}let c=ie(a),p=Object.entries(i).map(([l,d])=>R({allowReserved:e,name:a==="deepObject"?`${o}[${l}]`:l,value:d})).join(c);return a==="label"||a==="matrix"?c+p:p},"serializeObjectParam");var pe=/\{[^{}]+\}/g,ce=t(({path:e,url:r})=>{let o=r,a=r.match(pe);if(a)for(let i of a){let h=!1,c=i.substring(1,i.length-1),p="simple";c.endsWith("*")&&(h=!0,c=c.substring(0,c.length-1)),c.startsWith(".")?(c=c.substring(1),p="label"):c.startsWith(";")&&(c=c.substring(1),p="matrix");let l=e[c];if(l==null)continue;if(Array.isArray(l)){o=o.replace(i,k({explode:h,name:c,style:p,value:l}));continue}if(typeof l=="object"){o=o.replace(i,U({explode:h,name:c,style:p,value:l,valueOnly:!0}));continue}if(p==="matrix"){o=o.replace(i,`;${R({name:c,value:l})}`);continue}let d=encodeURIComponent(p==="label"?`.${l}`:l);o=o.replace(i,d)}return o},"defaultPathSerializer"),$=t(({baseUrl:e,path:r,query:o,querySerializer:a,url:i})=>{let h=i.startsWith("/")?i:`/${i}`,c=(e??"")+h;r&&(c=ce({path:r,url:c}));let p=o?a(o):"";return p.startsWith("?")&&(p=p.substring(1)),p&&(c+=`?${p}`),c},"getUrl");function J(e){let r=e.body!==void 0;if(r&&e.bodySerializer)return"serializedBody"in e?e.serializedBody!==void 0&&e.serializedBody!==""?e.serializedBody:null:e.body!==""?e.body:null;if(r)return e.body}t(J,"getValidRequestBody");var K=t(async(e,r)=>{let o=typeof r=="function"?await r(e):r;if(o)return e.scheme==="bearer"?`Bearer ${o}`:e.scheme==="basic"?`Basic ${btoa(o)}`:o},"getAuthToken");var X=t(({parameters:e={},...r}={})=>t(a=>{let i=[];if(a&&typeof a=="object")for(let h in a){let c=a[h];if(c==null)continue;let p=e[h]||r;if(Array.isArray(c)){let l=k({allowReserved:p.allowReserved,explode:!0,name:h,style:"form",value:c,...p.array});l&&i.push(l)}else if(typeof c=="object"){let l=U({allowReserved:p.allowReserved,explode:!0,name:h,style:"deepObject",value:c,...p.object});l&&i.push(l)}else{let l=R({allowReserved:p.allowReserved,name:h,value:c});l&&i.push(l)}}return i.join("&")},"querySerializer"),"createQuerySerializer"),Y=t(e=>{if(!e)return"stream";let r=e.split(";")[0]?.trim();if(r){if(r.startsWith("application/json")||r.endsWith("+json"))return"json";if(r==="multipart/form-data")return"formData";if(["application/","audio/","image/","video/"].some(o=>r.startsWith(o)))return"blob";if(r.startsWith("text/"))return"text"}},"getParseAs"),le=t((e,r)=>r?!!(e.headers.has(r)||e.query?.[r]||e.headers.get("Cookie")?.includes(`${r}=`)):!1,"checkForExistence"),Z=t(async({security:e,...r})=>{for(let o of e){if(le(r,o.name))continue;let a=await K(o,r.auth);if(!a)continue;let i=o.name??"Authorization";switch(o.in){case"query":r.query||(r.query={}),r.query[i]=a;break;case"cookie":r.headers.append("Cookie",`${i}=${a}`);break;case"header":default:r.headers.set(i,a);break}}},"setAuthParams"),z=t(e=>$({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer=="function"?e.querySerializer:X(e.querySerializer),url:e.url}),"buildUrl"),_=t((e,r)=>{let o={...e,...r};return o.baseUrl?.endsWith("/")&&(o.baseUrl=o.baseUrl.substring(0,o.baseUrl.length-1)),o.headers=q(e.headers,r.headers),o},"mergeConfigs"),he=t(e=>{let r=[];return e.forEach((o,a)=>{r.push([a,o])}),r},"headersEntries"),q=t((...e)=>{let r=new Headers;for(let o of e){if(!o)continue;let a=o instanceof Headers?he(o):Object.entries(o);for(let[i,h]of a)if(h===null)r.delete(i);else if(Array.isArray(h))for(let c of h)r.append(i,c);else h!==void 0&&r.set(i,typeof h=="object"?JSON.stringify(h):h)}return r},"mergeHeaders"),G=class{static{t(this,"Interceptors")}fns=[];clear(){this.fns=[]}eject(r){let o=this.getInterceptorIndex(r);this.fns[o]&&(this.fns[o]=null)}exists(r){let o=this.getInterceptorIndex(r);return!!this.fns[o]}getInterceptorIndex(r){return typeof r=="number"?this.fns[r]?r:-1:this.fns.indexOf(r)}update(r,o){let a=this.getInterceptorIndex(r);return this.fns[a]?(this.fns[a]=o,r):!1}use(r){return this.fns.push(r),this.fns.length-1}},ee=t(()=>({error:new G,request:new G,response:new G}),"createInterceptors"),me=X({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),de={"Content-Type":"application/json"},S=t((e={})=>({...j,headers:de,parseAs:"auto",querySerializer:me,...e}),"createConfig");var L=t((e={})=>{let r=_(S(),e),o=t(()=>({...r}),"getConfig"),a=t(d=>(r=_(r,d),o()),"setConfig"),i=ee(),h=t(async d=>{let n={...r,...d,fetch:d.fetch??r.fetch??globalThis.fetch,headers:q(r.headers,d.headers),serializedBody:void 0};n.security&&await Z({...n,security:n.security}),n.requestValidator&&await n.requestValidator(n),n.body!==void 0&&n.bodySerializer&&(n.serializedBody=n.bodySerializer(n.body)),(n.body===void 0||n.serializedBody==="")&&n.headers.delete("Content-Type");let E=z(n);return{opts:n,url:E}},"beforeRequest"),c=t(async d=>{let{opts:n,url:E}=await h(d),g={redirect:"follow",...n,body:J(n)},f=new Request(E,g);for(let y of i.request.fns)y&&(f=await y(f,n));let I=n.fetch,m;try{m=await I(f)}catch(y){let u=y;for(let w of i.error.fns)w&&(u=await w(y,void 0,f,n));if(u=u||{},n.throwOnError)throw u;return n.responseStyle==="data"?void 0:{error:u,request:f,response:void 0}}for(let y of i.response.fns)y&&(m=await y(m,f,n));let C={request:f,response:m};if(m.ok){let y=(n.parseAs==="auto"?Y(m.headers.get("Content-Type")):n.parseAs)??"json";if(m.status===204||m.headers.get("Content-Length")==="0"){let w;switch(y){case"arrayBuffer":case"blob":case"text":w=await m[y]();break;case"formData":w=new FormData;break;case"stream":w=m.body;break;case"json":default:w={};break}return n.responseStyle==="data"?w:{data:w,...C}}let u;switch(y){case"arrayBuffer":case"blob":case"formData":case"json":case"text":u=await m[y]();break;case"stream":return n.responseStyle==="data"?m.body:{data:m.body,...C}}return y==="json"&&(n.responseValidator&&await n.responseValidator(u),n.responseTransformer&&(u=await n.responseTransformer(u))),n.responseStyle==="data"?u:{data:u,...C}}let T=await m.text(),D;try{D=JSON.parse(T)}catch{}let x=D??T,O=x;for(let y of i.error.fns)y&&(O=await y(x,m,f,n));if(O=O||{},n.throwOnError)throw O;return n.responseStyle==="data"?void 0:{error:O,...C}},"request"),p=t(d=>n=>c({...n,method:d}),"makeMethodFn"),l=t(d=>async n=>{let{opts:E,url:g}=await h(n);return Q({...E,body:E.body,headers:E.headers,method:d,onRequest:t(async(f,I)=>{let m=new Request(f,I);for(let C of i.request.fns)C&&(m=await C(m,E));return m},"onRequest"),url:g})},"makeSseFn");return{buildUrl:z,connect:p("CONNECT"),delete:p("DELETE"),get:p("GET"),getConfig:o,head:p("HEAD"),interceptors:i,options:p("OPTIONS"),patch:p("PATCH"),post:p("POST"),put:p("PUT"),request:c,setConfig:a,sse:{connect:l("CONNECT"),delete:l("DELETE"),get:l("GET"),head:l("HEAD"),options:l("OPTIONS"),patch:l("PATCH"),post:l("POST"),put:l("PUT"),trace:l("TRACE")},trace:p("TRACE")}},"createClient");var s=L(S({baseUrl:"https://gateway.remote.com/"}));var He=t(e=>(e?.client??s).post({security:[{scheme:"bearer",type:"http"}],url:"/v1/offboardings",...e,headers:{"Content-Type":"application/json",...e?.headers}}),"postCreateOffboarding");var Ne=t(e=>(e.client??s).post({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/cancel-onboarding/{employment_id}",...e}),"postUpdateCancelOnboarding"),Qe=t(e=>(e.client??s).get({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/contract-amendments/schema",...e}),"getShowContractAmendmentSchema");var $e=t(e=>(e.client??s).post({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/currency-converter/raw",...e,headers:{"Content-Type":"application/json",...e.headers}}),"postConvertRawCurrencyConverter"),Je=t(e=>(e.client??s).get({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/countries/{country_code}/contractor-contract-details",...e}),"getShowContractorContractDetailsCountry");var Ke=t(e=>(e.client??s).post({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/employments",...e,headers:{"Content-Type":"application/json",...e.headers}}),"postCreateEmployment2"),Xe=t(e=>(e.client??s).get({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/help-center-articles/{id}",...e}),"getShowHelpCenterArticle");var Ye=t(e=>(e.client??s).post({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/sdk/telemetry-errors",...e,headers:{"Content-Type":"application/json",...e.headers}}),"postReportErrorsTelemetry");var Ze=t(e=>(e.client??s).post({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/cost-calculator/estimation",...e,headers:{"Content-Type":"application/json",...e.headers}}),"postCreateEstimation");var et=t(e=>(e.client??s).get({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/employments/{employment_id}/benefit-offers",...e}),"getIndexBenefitOffer"),tt=t(e=>(e.client??s).put({security:[{scheme:"bearer",type:"http"}],url:"/v1/employments/{employment_id}/benefit-offers",...e,headers:{"Content-Type":"application/json",...e.headers}}),"putUpdateBenefitOffer");var rt=t(e=>(e.client??s).get({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/contractors/employments/{employment_id}/contractor-subscriptions",...e}),"getIndexSubscription");var ot=t(e=>(e?.client??s).get({security:[{scheme:"bearer",type:"http"}],url:"/v1/payroll-calendars",...e}),"getIndexEorPayrollCalendar");var nt=t(e=>(e.client??s).get({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/contractors/employments/{employment_id}/contract-documents/{id}",...e}),"getShowContractDocument"),st=t(e=>(e.client??s).get({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/employments/{employment_id}/contract-documents",...e}),"getIndexEmploymentContractDocument");var at=t(e=>(e.client??s).get({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/contractors/employments/{employment_id}/contractor-currencies",...e}),"getIndexContractorCurrency");var it=t(e=>(e.client??s).post({security:[{scheme:"bearer",type:"http"}],url:"/v1/magic-link",...e,headers:{"Content-Type":"application/json",...e.headers}}),"postGenerateMagicLink");var pt=t(e=>(e?.client??s).post({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/cost-calculator/estimation-pdf",...e,headers:{"Content-Type":"application/json",...e?.headers}}),"postCreateEstimationPdf");var ct=t(e=>(e.client??s).post({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/risk-reserve",...e,headers:{"Content-Type":"application/json",...e.headers}}),"postCreateRiskReserve");var lt=t(e=>(e.client??s).get({security:[{scheme:"bearer",type:"http"}],url:"/v1/companies/{company_id}",...e}),"getShowCompany"),ht=t(e=>(e.client??s).patch({security:[{scheme:"bearer",type:"http"}],url:"/v1/companies/{company_id}",...e,headers:{"Content-Type":"application/json",...e.headers}}),"patchUpdateCompany2");var mt=t(e=>(e.client??s).post({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/contract-amendments",...e,headers:{"Content-Type":"application/json",...e.headers}}),"postCreateContractAmendment");var dt=t(e=>(e.client??s).get({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/countries/{country_code}/{form}",...e}),"getShowFormCountry"),yt=t(e=>(e.client??s).get({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/files/{id}",...e}),"getShowFile");var ut=t(e=>(e?.client??s).get({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/cost-calculator/countries",...e}),"getIndexCountry");var Et=t(e=>(e.client??s).get({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/leave-policies/summary/{employment_id}",...e}),"getIndexLeavePoliciesSummary");var Ct=t(e=>(e.client??s).get({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/employments/{employment_id}/benefit-offers/schema",...e}),"getShowSchema"),wt=t(e=>(e.client??s).post({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/contractors/eligibility-questionnaire",...e,headers:{"Content-Type":"application/json",...e.headers}}),"postCreateEligibilityQuestionnaire");var ft=t(e=>(e.client??s).get({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/employments/{employment_id}",...e}),"getShowEmployment"),bt=t(e=>(e.client??s).patch({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/employments/{employment_id}",...e,headers:{"Content-Type":"application/json",...e.headers}}),"patchUpdateEmployment2");var Ot=t(e=>(e.client??s).get({security:[{scheme:"bearer",type:"http"}],url:"/v1/cost-calculator/regions/{slug}/fields",...e}),"getShowRegionField");var Tt=t(e=>(e.client??s).post({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/employments/{employment_id}/contract-eligibility",...e,headers:{"Content-Type":"application/json",...e.headers}}),"postCreateContractEligibility"),xt=t(e=>(e.client??s).get({security:[{scheme:"bearer",type:"http"}],url:"/v1/countries",...e}),"getSupportedCountry");var Pt=t(e=>(e.client??s).get({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/companies/{company_id}/legal-entities",...e}),"getIndexCompanyLegalEntities");var Rt=t(e=>(e?.client??s).post({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/cost-calculator/estimation-csv",...e,headers:{"Content-Type":"application/json",...e?.headers}}),"postCreateEstimationCsv"),gt=t(e=>(e.client??s).post({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/contractors/employments/{employment_id}/contract-documents",...e,headers:{"Content-Type":"application/json",...e.headers}}),"postCreateContractDocument");var Dt=t(e=>(e.client??s).post({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/currency-converter/effective",...e,headers:{"Content-Type":"application/json",...e.headers}}),"postConvertWithSpreadCurrencyConverter");var Gt=t(e=>(e.client??s).post({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/contract-amendments/automatable",...e,headers:{"Content-Type":"application/json",...e.headers}}),"postAutomatableContractAmendment");var St=t(e=>(e.client??s).get({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/employments/{employment_id}/files",...e}),"getIndexEmploymentFile");var It=t(e=>(e?.client??s).get({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/company-currencies",...e}),"getIndexCompanyCurrency");var vt=t(e=>(e.client??s).post({...B,security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/documents",...e,headers:{"Content-Type":null,...e.headers}}),"postUploadEmployeeFileFile"),kt=t(e=>(e.client??s).post({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/employments/{employment_id}/invite",...e}),"postInviteEmploymentInvitation");var Ut=t(e=>(e.client??s).post({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/contractors/employments/{employment_id}/contract-documents/{contract_document_id}/sign",...e,headers:{"Content-Type":"application/json",...e.headers}}),"postSignContractDocument"),qt=t(e=>(e.client??s).get({security:[{scheme:"bearer",type:"http"}],url:"/v1/identity/current",...e}),"getCurrentIdentity");var At=t(e=>(e.client??s).get({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/contractors/schemas/eligibility-questionnaire",...e}),"getShowEligibilityQuestionnaire");var Bt=t(e=>(e.client??s).post({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/contractors/employments/{employment_id}/contractor-plus-subscription",...e,headers:{"Content-Type":"application/json",...e.headers}}),"postManageContractorPlusSubscriptionSubscription"),jt=t(e=>(e.client??s).get({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/timeoff",...e}),"getIndexTimeoff");var zt=t(e=>(e.client??s).post({security:[{scheme:"bearer",type:"http"}],url:"/v1/companies",...e,headers:{"Content-Type":"application/json",...e.headers}}),"postCreateCompany");var _t=t(e=>(e.client??s).delete({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/contractors/employments/{employment_id}/contractor-cor-subscription",...e}),"deleteDeleteContractorCorSubscriptionSubscription"),Lt=t(e=>(e.client??s).post({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/contractors/employments/{employment_id}/contractor-cor-subscription",...e}),"postManageContractorCorSubscriptionSubscription");export{L as a,s as b,He as c,Ne as d,Qe as e,$e as f,Je as g,Ke as h,Xe as i,Ye as j,Ze as k,et as l,tt as m,rt as n,ot as o,nt as p,st as q,at as r,it as s,pt as t,ct as u,lt as v,ht as w,mt as x,dt as y,yt as z,ut as A,Et as B,Ct as C,wt as D,ft as E,bt as F,Ot as G,Tt as H,xt as I,Pt as J,Rt as K,gt as L,Dt as M,Gt as N,St as O,It as P,vt as Q,kt as R,Ut as S,qt as T,At as U,Bt as V,jt as W,zt as X,_t as Y,Lt as Z};
6
- //# sourceMappingURL=chunk-KJQN6GHW.js.map
@@ -1,2 +0,0 @@
1
- import{a as h}from"./chunk-5WIBTOCI.js";import{a as f}from"./chunk-3XG2MGD3.js";import{a as d}from"./chunk-EUSCQL4H.js";import{P as p,X as y,w as u,y as l}from"./chunk-KJQN6GHW.js";import{d as m}from"./chunk-KQPDXXG3.js";import{a as n}from"./chunk-P37U34EQ.js";import{useMutation as C}from"@tanstack/react-query";import{useQuery as F}from"@tanstack/react-query";var b=n(e=>{let{client:o}=m();return F({...e,queryKey:["company-currencies"],retry:!1,queryFn:n(async()=>{let r=await p({client:o});if(r.error||!r.data)throw new Error("Failed to fetch company currencies");return r},"queryFn"),select:n(({data:r})=>r?.data?.company_currencies.map(t=>({value:t.code,label:t.code}))||[],"select")})},"useCompanyCurrencies"),v=n(()=>{let{client:e}=m();return C({mutationFn:n(o=>y({client:e,headers:{Authorization:""},body:o}),"mutationFn")})},"useCreateCompanyRequest"),A=n(()=>{let{client:e}=m();return C({mutationFn:n(({companyId:o,payload:r,jsonSchemaVersion:t})=>u({client:e,headers:{Authorization:""},path:{company_id:o},body:r,query:{address_details_json_schema_version:t}}),"mutationFn")})},"useUpdateCompanyRequest"),I=n(e=>{let{data:o,isLoading:r}=f({queryKey:"create-company-countries",select:n(({data:i})=>i?.data?.filter(a=>a.eor_onboarding).map(a=>({label:a.name,value:a.code}))||[],"select"),enabled:e?.queryOptions?.enabled}),{data:t,isLoading:s}=b(e?.queryOptions),c=d(h.data.schema,{},e);if(o){let i=c.fields.find(a=>a.name==="country_code");i&&(i.options=o)}if(t){let i=c.fields.find(a=>a.name==="desired_currency");i&&(i.options=t)}return{isLoading:r||s,companyBasicInformationForm:c}},"useCountriesSchemaField"),P=n(({countryCode:e,fieldValues:o,options:r})=>{let{client:t}=m();return F({queryKey:["company-address-details-schema",e],retry:!1,queryFn:n(async()=>{if(!e)throw new Error("Country code is required");let s=await l({client:t,headers:{Authorization:""},path:{country_code:e,form:"address_details"},query:{json_schema_version:r?.jsonSchemaVersion?.form_schema?.address_details||"latest"}});if(s.error||!s.data)throw new Error("Failed to fetch address details schema");return s},"queryFn"),enabled:r?.queryOptions?.enabled&&!!e,select:n(({data:s})=>{let c=s?.data||{};return d(c,o,r)},"select")})},"useAddressDetailsSchema");export{v as a,A as b,I as c,P as d};
2
- //# sourceMappingURL=chunk-QORZCJSR.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/CreateCompany/api.ts"],"sourcesContent":["import { useMutation } from '@tanstack/react-query';\nimport { useClient } from '@/src/context';\nimport { Client } from '@/src/client/client';\nimport { FieldValues } from 'react-hook-form';\nimport { FlowOptions } from '@/src/flows/types';\nimport { createHeadlessForm } from '@/src/common/createHeadlessForm';\nimport { companyBasicInformationStepSchema } from '@/src/flows/CreateCompany/json-schemas/companyBasicInformationStep';\nimport { useQuery } from '@tanstack/react-query';\nimport { getIndexCompanyCurrency } from '@/src/client';\nimport { useCountries } from '@/src/common/api/countries';\nimport {\n CreateCompanyParams,\n getShowFormCountry,\n postCreateCompany,\n patchUpdateCompany2,\n UpdateCompanyParams,\n} from '@/src/client';\n\n/**\n * Hook to fetch company currencies\n * @param queryOptions - Query options including enabled flag\n * @returns Query result with currencies formatted for select dropdown\n */\nconst useCompanyCurrencies = (queryOptions?: { enabled?: boolean }) => {\n const { client } = useClient();\n return useQuery({\n ...queryOptions,\n queryKey: ['company-currencies'],\n retry: false,\n queryFn: async () => {\n const response = await getIndexCompanyCurrency({\n client: client as Client,\n });\n\n if (response.error || !response.data) {\n throw new Error('Failed to fetch company currencies');\n }\n\n return response;\n },\n select: ({ data }) => {\n return (\n data?.data?.company_currencies.map((currency) => ({\n value: currency.code,\n label: currency.code,\n })) || []\n );\n },\n });\n};\n\n/**\n * Hook to create a company\n * @returns Mutation hook for creating a company\n */\nexport const useCreateCompanyRequest = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: (payload: CreateCompanyParams) => {\n return postCreateCompany({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n body: payload,\n });\n },\n });\n};\n\n/**\n * Hook to update a company\n * @returns Mutation hook for updating a company\n */\nexport const useUpdateCompanyRequest = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: ({\n companyId,\n payload,\n jsonSchemaVersion,\n }: {\n companyId: string;\n payload: UpdateCompanyParams;\n jsonSchemaVersion?: number | 'latest';\n }) => {\n return patchUpdateCompany2({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n path: {\n company_id: companyId,\n },\n body: payload,\n query: {\n address_details_json_schema_version: jsonSchemaVersion,\n },\n });\n },\n });\n};\n\n/**\n * Hook to create the select country form with populated country and currency options\n * @param options - Flow options including jsfModify and queryOptions\n * @returns Form with populated country and currency fields, and loading state\n */\nexport const useCountriesSchemaField = (\n options?: Omit<FlowOptions, 'jsonSchemaVersion'> & {\n queryOptions?: { enabled?: boolean };\n },\n) => {\n const { data: countries, isLoading: isLoadingCountries } = useCountries({\n queryKey: 'create-company-countries',\n select: ({ data }) => {\n return (\n data?.data\n ?.filter((country) => country.eor_onboarding)\n .map((country) => ({\n label: country.name,\n value: country.code,\n })) || []\n );\n },\n enabled: options?.queryOptions?.enabled,\n });\n const { data: currencies, isLoading: isLoadingCurrencies } =\n useCompanyCurrencies(options?.queryOptions);\n\n const companyBasicInformationForm = createHeadlessForm(\n companyBasicInformationStepSchema.data.schema,\n {},\n options,\n );\n\n if (countries) {\n const countryField = companyBasicInformationForm.fields.find(\n (field) => field.name === 'country_code',\n );\n if (countryField) {\n countryField.options = countries;\n }\n }\n\n if (currencies) {\n const currencyField = companyBasicInformationForm.fields.find(\n (field) => field.name === 'desired_currency',\n );\n if (currencyField) {\n currencyField.options = currencies;\n }\n }\n\n return {\n isLoading: isLoadingCountries || isLoadingCurrencies,\n companyBasicInformationForm,\n };\n};\n\n/**\n * Hook to fetch address details schema for a given country\n * @param countryCode - The country code to fetch schema for\n * @param fieldValues - Current field values for the form\n * @param options - Flow options including jsfModify and queryOptions\n * @returns Query result with address details form schema\n */\nexport const useAddressDetailsSchema = ({\n countryCode,\n fieldValues,\n options,\n}: {\n countryCode: string | null;\n fieldValues: FieldValues;\n options?: FlowOptions & { queryOptions?: { enabled?: boolean } };\n}) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['company-address-details-schema', countryCode],\n retry: false,\n queryFn: async () => {\n if (!countryCode) {\n throw new Error('Country code is required');\n }\n const response = await getShowFormCountry({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n path: {\n country_code: countryCode,\n form: 'address_details',\n },\n query: {\n json_schema_version:\n options?.jsonSchemaVersion?.form_schema?.address_details ||\n 'latest',\n },\n });\n\n if (response.error || !response.data) {\n throw new Error('Failed to fetch address details schema');\n }\n\n return response;\n },\n enabled: options?.queryOptions?.enabled && !!countryCode,\n select: ({ data }) => {\n const jsfSchema = data?.data || {};\n return createHeadlessForm(jsfSchema, fieldValues, options);\n },\n });\n};\n"],"mappings":"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","names":["useMutation","useQuery","useCompanyCurrencies","__name","queryOptions","client","useClient","useQuery","response","getIndexCompanyCurrency","data","currency","useCreateCompanyRequest","useMutation","payload","postCreateCompany","useUpdateCompanyRequest","companyId","jsonSchemaVersion","patchUpdateCompany2","useCountriesSchemaField","options","countries","isLoadingCountries","useCountries","country","currencies","isLoadingCurrencies","companyBasicInformationForm","createHeadlessForm","companyBasicInformationStepSchema","countryField","field","currencyField","useAddressDetailsSchema","countryCode","fieldValues","getShowFormCountry","jsfSchema"]}
@@ -1,2 +0,0 @@
1
- import{f as q}from"./chunk-STF3NTPS.js";import{a as O}from"./chunk-WVJDCDGZ.js";import{a as j}from"./chunk-3XG2MGD3.js";import{a as u}from"./chunk-EUSCQL4H.js";import{C as F,E as g,F as S,H as w,M as v,R as E,f,h as y,l as d,m as h,u as b,v as C,y as _}from"./chunk-KJQN6GHW.js";import{d as i}from"./chunk-KQPDXXG3.js";import{a as r}from"./chunk-P37U34EQ.js";import{useMutation as m,useQuery as c}from"@tanstack/react-query";var W=r(e=>{let{client:n}=i();return c({queryKey:["employment",e],retry:!1,enabled:!!e,select:r(({data:t})=>t?.data.employment,"select"),queryFn:r(async()=>{let t=await g({client:n,headers:{Authorization:""},path:{employment_id:e}});if(t.error||!t.data)throw new Error("Failed to fetch employment data");return t},"queryFn")})},"useEmployment"),T=r(e=>{let{client:n}=i();return c({queryKey:["company",e],retry:!1,enabled:!!e,queryFn:r(async()=>{let t=await C({client:n,headers:{Authorization:""},path:{company_id:e}});if(t.error||!t.data)throw new Error("Failed to fetch employment data");return t},"queryFn"),select:r(({data:t})=>t.data.company,"select")})},"useCompany"),H=r(e=>{let{client:n}=i();return c({queryKey:["benefit-offers",e],retry:!1,enabled:!!e,queryFn:r(async()=>d({client:n,path:{employment_id:e}}).then(t=>{if(t.error||!t.data)throw new Error("Failed to fetch benefit offers data");return t}),"queryFn"),select:r(({data:t})=>t?.data?.reduce((a,o)=>({...a,[o.benefit_group.slug]:{value:o.benefit_tier?.slug??"no",...o.benefit_group?.filter?.slug?{filter:o.benefit_group?.filter?.slug}:{}}}),{}),"select")})},"useBenefitOffers"),L=r(()=>{let{client:e}=i();return m({mutationFn:r(n=>E({client:e,headers:{Authorization:""},path:n}),"mutationFn")})},"useEmploymentInvite"),G=r(()=>{let{client:e}=i();return m({mutationFn:r(n=>b({client:e,body:n}),"mutationFn")})},"useCreateReserveInvoice"),X=r(({countryCode:e,form:n,fieldValues:t,options:a,query:o={},jsonSchemaVersion:s})=>{let{client:p}=i(),P=s?{json_schema_version:s}:{};return c({queryKey:["onboarding-json-schema-form",e,n],retry:!1,queryFn:r(async()=>{let l=await _({client:p,headers:{Authorization:""},path:{country_code:e,form:n},query:{skip_benefits:!0,...o,...P}});if(l.error||!l.data)throw new Error("Failed to fetch onboarding schema");return l},"queryFn"),enabled:a?.queryOptions?.enabled,select:r(({data:l})=>{let x=l?.data||{};return u(x,t,a)},"select")})},"useJSONSchemaForm"),Y=r((e,n,t)=>{let a=t?.jsonSchemaVersion?.benefit_offers_form_schema?{json_schema_version:t.jsonSchemaVersion.benefit_offers_form_schema}:{},{client:o}=i();return c({queryKey:["benefit-offers-schema",e],retry:!1,enabled:!!e,queryFn:r(async()=>{let s=await F({client:o,path:{employment_id:e},query:a});if(s.error||!s.data)throw new Error("Failed to fetch benefit offers schema");return s},"queryFn"),select:r(({data:s})=>{let p=s?.data?.schema||{};return u(p,n,{jsfModify:t?.jsfModify?.benefits})},"select")})},"useBenefitOffersSchema"),Z=r(()=>{let{client:e}=i(),n={json_schema_version:1};return m({mutationFn:r(t=>y({client:e,headers:{Authorization:""},body:t,query:{...n}}),"mutationFn")})},"useCreateEmployment"),$=r((e,n)=>{let{client:t}=i(),a={employment_basic_information_json_schema_version:1,contract_details_json_schema_version:q(n,e)||1};return m({mutationFn:r(({employmentId:o,...s})=>S({client:t,headers:{Authorization:""},body:s,path:{employment_id:o},query:{skip_benefits:!0,...a}}),"mutationFn")})},"useUpdateEmployment"),ee=r(e=>{let{client:n}=i();return m({mutationFn:r(({employmentId:t,...a})=>{let o=e?.jsonSchemaVersion?.benefit_offers_form_schema?{json_schema_version:e.jsonSchemaVersion.benefit_offers_form_schema}:{};return h({client:n,body:a,path:{employment_id:t},query:{...o}})},"mutationFn")})},"useUpdateBenefitsOffers"),te=r(e=>{let{data:n,isLoading:t}=j({queryKey:"onboarding-countries",select:r(({data:o})=>o?.data?.filter(s=>s.eor_onboarding).map(s=>({label:s.name,value:s.code}))||[],"select"),enabled:e?.queryOptions?.enabled}),a=u(O.data.schema,{},e);if(n){let o=a.fields.find(s=>s.name==="country");o&&(o.options=n)}return{isLoading:t,selectCountryForm:a}},"useCountriesSchemaField"),re=r(({type:e="spread"})=>{let{client:n}=i();return m({mutationFn:r(t=>(e==="no_spread"?f:v)({client:n,body:t}),"mutationFn")})},"useConvertCurrency"),ne=r(()=>{let{client:e}=i();return m({mutationFn:r(({employmentId:n,...t})=>w({client:e,path:{employment_id:n},body:t}),"mutationFn")})},"useUpsertContractEligibility");export{W as a,T as b,H as c,L as d,G as e,X as f,Y as g,Z as h,$ as i,ee as j,te as k,re as l,ne as m};
2
- //# sourceMappingURL=chunk-STEDOWHX.js.map
@@ -1 +0,0 @@
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 EmploymentFullParams,\n getIndexBenefitOffer,\n getShowCompany,\n getShowEmployment,\n getShowFormCountry,\n getShowSchema,\n patchUpdateEmployment2,\n postConvertRawCurrencyConverter,\n postConvertWithSpreadCurrencyConverter,\n postCreateContractEligibility,\n postCreateEmployment2,\n postCreateRiskReserve,\n postInviteEmploymentInvitation,\n PostInviteEmploymentInvitationData,\n putUpdateBenefitOffer,\n UnifiedEmploymentUpsertBenefitOffersRequest,\n} from '@/src/client';\n\nimport { useClient } from '@/src/context';\nimport { selectCountryStepSchema } from '@/src/flows/Onboarding/json-schemas/selectCountryStep';\nimport { OnboardingFlowProps } from '@/src/flows/Onboarding/types';\nimport {\n JSONSchemaFormResultWithFieldsets,\n JSONSchemaFormType,\n FlowOptions,\n} from '@/src/flows/types';\nimport { getContractDetailsSchemaVersion } from '@/src/flows/Onboarding/utils';\nimport { createHeadlessForm } from '@/src/common/createHeadlessForm';\nimport { useCountries } from '@/src/common/api/countries';\n\nexport const useEmployment = (employmentId: string | undefined) => {\n const { client } = useClient();\n\n return useQuery({\n queryKey: ['employment', employmentId],\n retry: false,\n enabled: !!employmentId,\n select: ({ data }) => {\n return data?.data.employment;\n },\n queryFn: async () => {\n const response = await getShowEmployment({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n path: {\n employment_id: employmentId as string,\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 employment data');\n }\n\n return response;\n },\n });\n};\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 getShowCompany({\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 getIndexBenefitOffer({\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/**\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: PostInviteEmploymentInvitationData['path']) => {\n return postInviteEmploymentInvitation({\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 postCreateRiskReserve({\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: ['onboarding-json-schema-form', countryCode, form],\n retry: false,\n queryFn: async () => {\n const response = await getShowFormCountry({\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 jsonSchemaQueryParam = options?.jsonSchemaVersion\n ?.benefit_offers_form_schema\n ? {\n json_schema_version:\n options.jsonSchemaVersion.benefit_offers_form_schema,\n }\n : {};\n const { client } = useClient();\n return useQuery({\n queryKey: ['benefit-offers-schema', employmentId],\n retry: false,\n enabled: !!employmentId,\n queryFn: async () => {\n const response = await getShowSchema({\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 const { client } = useClient();\n // TODO: setting 1 as basic_information only supports v1 for now in the API\n const jsonSchemaQueryParam = {\n json_schema_version: 1,\n };\n return useMutation({\n mutationFn: (payload: EmploymentCreateParams) => {\n return postCreateEmployment2({\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 // TODO: setting 1 as basic_information only supports v1 for now in the API\n employment_basic_information_json_schema_version: 1,\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 patchUpdateEmployment2({\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 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 = options?.jsonSchemaVersion\n ?.benefit_offers_form_schema\n ? {\n json_schema_version:\n options.jsonSchemaVersion.benefit_offers_form_schema,\n }\n : {};\n return putUpdateBenefitOffer({\n client: client as Client,\n body: payload,\n path: {\n employment_id: employmentId,\n },\n query: {\n ...jsonSchemaQueryParam,\n },\n });\n },\n });\n};\n\nexport const useCountriesSchemaField = (\n options?: Omit<FlowOptions, 'jsonSchemaVersion'> & {\n queryOptions?: { enabled?: boolean };\n },\n) => {\n const { data: countries, isLoading } = useCountries({\n queryKey: 'onboarding-countries',\n select: ({ data }) => {\n return (\n data?.data\n ?.filter((country) => country.eor_onboarding)\n .map((country) => {\n return {\n label: country.name,\n value: country.code,\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 };\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 ? postConvertRawCurrencyConverter\n : postConvertWithSpreadCurrencyConverter;\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 postCreateContractEligibility({\n client: client as Client,\n path: {\n employment_id: employmentId,\n },\n body: payload,\n });\n },\n });\n};\n"],"mappings":"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","names":["useMutation","useQuery","useEmployment","__name","employmentId","client","useClient","useQuery","data","response","getShowEmployment","useCompany","companyId","getShowCompany","useBenefitOffers","getIndexBenefitOffer","acc","item","useEmploymentInvite","useMutation","payload","postInviteEmploymentInvitation","useCreateReserveInvoice","postCreateRiskReserve","useJSONSchemaForm","countryCode","form","fieldValues","options","query","jsonSchemaVersion","jsonSchemaQueryParam","getShowFormCountry","jsfSchema","createHeadlessForm","useBenefitOffersSchema","getShowSchema","useCreateEmployment","postCreateEmployment2","useUpdateEmployment","jsonSchemaQueryParams","getContractDetailsSchemaVersion","patchUpdateEmployment2","useUpdateBenefitsOffers","putUpdateBenefitOffer","useCountriesSchemaField","countries","isLoading","useCountries","country","selectCountryForm","selectCountryStepSchema","countryField","field","useConvertCurrency","type","postConvertRawCurrencyConverter","postConvertWithSpreadCurrencyConverter","useUpsertContractEligibility","postCreateContractEligibility"]}
@@ -1,2 +0,0 @@
1
- import{a as H}from"./chunk-E6256SK7.js";import{a as B}from"./chunk-AP56UUME.js";import{a as W}from"./chunk-IJCTN52C.js";import{e as S}from"./chunk-3FCX7SWN.js";import{a as E,b as z,c as Y,d as F,f as g}from"./chunk-LHEF2FN7.js";import{a as $}from"./chunk-WVJDCDGZ.js";import{a as N}from"./chunk-3XG2MGD3.js";import{a as y}from"./chunk-EUSCQL4H.js";import{d as C}from"./chunk-T7O3YYOG.js";import{D as L,L as U,O as J,Q as j,S as A,U as K,V as G,Y as V,Z as k,g as R,n as w,p as T,q as I,r as Q,z as v}from"./chunk-KJQN6GHW.js";import{g as M}from"./chunk-3PIJOIYR.js";import{a as D}from"./chunk-X6ZAR7ZL.js";import{d as l}from"./chunk-KQPDXXG3.js";import{a as n}from"./chunk-P37U34EQ.js";import{useMutation as b,useQuery as f}from"@tanstack/react-query";import{useMutation as ie,useQuery as X}from"@tanstack/react-query";var pe=n(()=>{let{client:t}=l();return ie({mutationFn:n(e=>j({client:t,body:e,headers:{Authorization:""}}),"mutationFn")})},"useUploadFile"),Z=n(t=>{let{client:e}=l();return X({queryKey:["download-file",t],queryFn:n(async()=>{let o=await v({client:e,path:{id:t}});if(o.error)throw o.error;return o.data},"queryFn"),select:n(({data:o})=>o?.file,"select"),enabled:!!t})},"useDownloadFile"),ee=n((t,e,o)=>{let{client:r}=l();return X({queryKey:["employment-files",t],queryFn:n(async()=>{let i=await J({client:r,path:{employment_id:t},query:e});if(i.error)throw i.error;return i.data},"queryFn"),...o})},"useEmploymentFiles");import{useMemo as se}from"react";var ae=n(({employmentId:t,options:e})=>{let{client:o}=l();return f({queryKey:["contractor-currencies",t],queryFn:n(async()=>Q({client:o,path:{employment_id:t},query:{restrict_to_guaranteed_pay_out_currencies:!1}}),"queryFn"),enabled:e?.queryOptions?.enabled,select:n(({data:r})=>r?.data,"select")})},"useContractorCurrencies"),Ae=n(({fieldValues:t,options:e})=>f({queryKey:["contract-document-signature",t.review_completed,e?.jsfModify],queryFn:n(async()=>y(W,t,{jsfModify:e?.jsfModify}),"queryFn"),enabled:e?.queryOptions?.enabled}),"useGetContractDocumentSignatureSchema"),Ke=n(()=>{let{client:t}=l();return b({mutationFn:n(async({employmentId:e,contractDocumentId:o,payload:r})=>A({client:t,body:r,path:{employment_id:e,contract_document_id:o}}),"mutationFn")})},"useSignContractDocument"),Ge=n(({employmentId:t,contractDocumentId:e,options:o})=>{let{client:r}=l();return f({queryKey:["contract-document",t,e],queryFn:n(async()=>T({client:r,path:{employment_id:t,id:e}}),"queryFn"),enabled:o?.queryOptions?.enabled,select:n(({data:i})=>({...i?.data,contract_document:{...i?.data?.contract_document,content:M(i?.data?.contract_document?.content)}}),"select")})},"useGetShowContractDocument"),te=n(({employmentId:t,options:e})=>{let{client:o}=l();return f({queryKey:["contractor-subscriptions",t],queryFn:n(async()=>w({client:o,path:{employment_id:t}}),"queryFn"),enabled:e?.queryOptions?.enabled,select:n(({data:r})=>r?.data,"select")})},"useGetContractorSubscriptions"),Ve=n(()=>{let{client:t}=l();return b({mutationFn:n(async({employmentId:e,payload:o})=>G({client:t,body:o,path:{employment_id:e}}),"mutationFn")})},"usePostManageContractorSubscriptions"),ke=n(()=>{let{client:t}=l();return b({mutationFn:n(async({employmentId:e,payload:o})=>U({client:t,body:o,path:{employment_id:e}}),"mutationFn")})},"useCreateContractorContractDocument"),ce=n(({countryCode:t,employmentId:e,fieldValues:o,options:r})=>{let{client:i}=l();return f({queryKey:["contractor-onboarding-details-schema",t,e],retry:!1,queryFn:n(async()=>R({client:i,path:{country_code:t},query:{json_schema_version:1,employment_id:e}}),"queryFn"),enabled:r?.queryOptions?.enabled,select:n(({data:s})=>{let d=s?.data?.schema||{};return y(d,o,r)},"select")})},"useContractorOnboardingDetailsSchema"),ne={[E]:"Contractor Management",[z]:"Contractor Management Plus",[Y]:"Contractor of Record"},$e=n((t,e)=>{let{data:o,isLoading:r,refetch:i}=te({employmentId:t,options:{queryOptions:e?.queryOptions}}),s=y(B.data.schema,{},e),m=o?.find(p=>p.product.short_name==="COR")?.eligibility_questionnaire?.is_blocking;if(o){let p=s.fields.find(u=>u.name==="subscription");if(p){let u=o.filter(a=>S(a.product.identifier??"",e?.excludeProducts)).map(a=>{let c=a.product,h=a.price.amount,_=a.currency.code,q=ne[c.identifier]??"",O=c.identifier??"",x=c.description??"",P={features:c.features??[],price:{amount:C(h),currencyCode:_}};return{label:q,value:O,description:x,meta:P,disabled:m&&c.identifier!==E}});p.options=u.sort((a,c)=>a.label.localeCompare(c.label))}}return{isLoading:r,form:s,contractorSubscriptions:o,refetch:i,isEligibilityQuestionnaireBlocked:m}},"useContractorSubscriptionSchemaField"),Ne=n((t,e)=>{let{data:o,isLoading:r,refetch:i}=te({employmentId:t,options:{queryOptions:e?.queryOptions}}),s={product:{identifier:F,short_name:"EOR"},currency:{code:"USD",name:"United States Dollar",symbol:"$"},price:{amount:39900},features:["Contract between Remote and employee","Remote manages onboarding, payroll, and compliance","Manages taxes, benefits, and time-off tracking","Handles contracts, transfers, and terminations"],description:"Enables hiring in countries without a local entity",label:"Employer of Record",value:F},d=y(H.data.schema,{},e);if(o){let m=d.fields.find(p=>p.name==="subscription");if(m){let u=o.filter(a=>a.product.short_name==="CM"&&S(a.product.identifier??"",e?.excludeProducts)).map(a=>{let c=a.product,h=a.price.amount,_=a.currency.code,q=ne[c.identifier]??"",O=c.identifier??"",x=c.description??"",P={features:c.features??[],price:{amount:C(h),currencyCode:_}};return{label:q,value:O,description:x,meta:P,disabled:!1}});S(F,e?.excludeProducts)&&u.push({label:s.label,value:s.value,description:s.description,meta:{features:s.features,price:{amount:C(s.price.amount),currencyCode:s.currency.code}},disabled:!1}),m.options=u.sort((a,c)=>a.label.localeCompare(c.label))}}return{isLoading:r,form:d,contractorSubscriptions:o,refetch:i}},"useGetChooseAlternativePlan"),We=n((t,e,o)=>{let{mutateAsyncOrThrow:r}=D(e),{mutateAsyncOrThrow:i}=D(t);return{mutateAsync:n(async({employmentId:s})=>{let{nationality_status:d,ir35:m,ir35_sds_file:p}=o,u={contract_document:{ir_35:m}},a={contract_document:{nationality:d}};return m?(await i({employmentId:s,payload:u}),p?r({employment_id:s,file:p,sub_type:g}):Promise.resolve()):d?i({employmentId:s,payload:a}):Promise.resolve()},"mutateAsync")}},"useUpdateUKandSaudiFields"),Be=n((t,e)=>{let{data:o,isLoading:r}=ee(t,{sub_type:g},{...e,select:n(({data:d})=>d?.files?.filter(m=>m.sub_type===g),"select")}),i=o?.[0]?.id,s=Z(i);return{...s,isLoading:r||s.isLoading}},"useGetIR35File"),He=n((t,e)=>{let{client:o}=l();return f({queryKey:["contract-documents",t],queryFn:n(async()=>I({client:o,path:{employment_id:t}}),"queryFn"),enabled:e?.enabled,select:n(({data:r})=>r?.data?.contract_documents,"select")})},"useGetContractDocuments"),ze=n(({options:t,fieldValues:e})=>{let{client:o}=l();return f({queryKey:["eligibility-questionnaire"],queryFn:n(async()=>{let r=await K({client:o,query:{type:"contractor_of_record",json_schema_version:1}});if(r.error)throw new Error("Failed to fetch eligibility questionnaire");return r.data.data},"queryFn"),select:n(r=>{let i=r?.schema||{};return y(i,e,{jsfModify:t?.jsfModify})},"select"),enabled:t?.queryOptions?.enabled})},"useGetEligibilityQuestionnaire"),Ye=n(()=>{let{client:t}=l();return b({mutationFn:n(async({employmentId:e,payload:o})=>L({client:t,body:{employment_slug:e,responses:o,type:"contractor_of_record"},query:{json_schema_version:1}}),"mutationFn")})},"usePostCreateEligibilityQuestionnaire"),Xe=n(()=>{let{client:t}=l();return b({mutationFn:n(async({employmentId:e})=>k({client:t,path:{employment_id:e}}),"mutationFn")})},"usePostManageContractorCorSubscription"),Ze=n(()=>{let{client:t}=l();return b({mutationFn:n(async({employmentId:e})=>V({client:t,path:{employment_id:e}}),"mutationFn")})},"useDeleteContractorCorSubscription"),et=n(t=>{let{data:e,isLoading:o}=N({queryKey:"contractor-onboarding-countries",select:n(({data:i})=>i?.data?.map(s=>({label:s.name,value:s.code}))||[],"select"),enabled:t?.queryOptions?.enabled}),r=y($.data.schema,{},t);if(e){let i=r.fields.find(s=>s.name==="country");i&&(i.options=e)}return{isLoading:o,selectCountryForm:r,countries:e}},"useCountriesSchemaField"),tt=n(({countryCode:t,employmentId:e,fieldValues:o,options:r})=>{let i=ce({countryCode:t,employmentId:e,fieldValues:o,options:r}),{data:s,isLoading:d}=ae({employmentId:e,options:{queryOptions:{enabled:r?.queryOptions?.enabled}}}),m=se(()=>!i.data||!s?i.data:{...i.data,fields:i.data.fields.map(u=>u.name!=="payment_terms"?u:{...u,fields:u.fields?.map(a=>a.name!=="compensation_currency_code"?a:{...a,options:s.map(c=>({label:c.code,value:c.code,meta:{source:c.source}}))})})},[i.data,s]);return{...i,data:m,isLoading:i.isLoading||d}},"useContractorOnboardingDetailsSchemaWithCurrencies");export{pe as a,Ae as b,Ke as c,Ge as d,te as e,Ve as f,ke as g,$e as h,Ne as i,We as j,Be as k,He as l,ze as m,Ye as n,Xe as o,Ze as p,et as q,tt as r};
2
- //# sourceMappingURL=chunk-VLKG3SNS.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/ContractorOnboarding/api.ts","../src/common/api/files.ts"],"sourcesContent":["import { FormResult } from '@remoteoss/remote-json-schema-form-kit';\nimport {\n CreateContractDocument,\n getShowContractDocument,\n getShowContractorContractDetailsCountry,\n getIndexSubscription,\n ManageContractorPlusSubscriptionOperationsParams,\n postCreateContractDocument,\n postManageContractorPlusSubscriptionSubscription,\n postSignContractDocument,\n SignContractDocument,\n getIndexEmploymentContractDocument,\n EligibilityQuestionnaireJsonSchemaResponse,\n getShowEligibilityQuestionnaire,\n SubmitEligibilityQuestionnaireRequest,\n postCreateEligibilityQuestionnaire,\n postManageContractorCorSubscriptionSubscription,\n deleteDeleteContractorCorSubscriptionSubscription,\n getIndexContractorCurrency,\n} from '@/src/client';\nimport { useClient } from '@/src/context';\nimport { signatureSchema } from '@/src/flows/ContractorOnboarding/json-schemas/signature';\nimport { selectContractorSubscriptionStepSchema } from '@/src/flows/ContractorOnboarding/json-schemas/selectContractorSubscriptionStep';\nimport { chooseAlternativePlanSchema } from '@/src/flows/ContractorOnboarding/json-schemas/chooseAlternativePlanStep';\nimport {\n JSONSchemaFormResultWithFieldsets,\n FlowOptions,\n JSFModify,\n} from '@/src/flows/types';\nimport { clearBase64Data } from '@/src/lib/utils';\nimport { Client } from '@/src/client/client';\nimport { createHeadlessForm } from '@/src/common/createHeadlessForm';\nimport { useMutation, useQuery, UseQueryResult } from '@tanstack/react-query';\nimport { FieldValues } from 'react-hook-form';\nimport {\n contractorPlusProductIdentifier,\n contractorStandardProductIdentifier,\n corProductIdentifier,\n eorProductIdentifier,\n IR35_FILE_SUBTYPE,\n ProductType,\n} from '@/src/flows/ContractorOnboarding/constants';\nimport { $TSFixMe, JSFField } from '@/src/types/remoteFlows';\nimport { mutationToPromise } from '@/src/lib/mutations';\nimport {\n useDownloadFile,\n useEmploymentFiles,\n useUploadFile,\n} from '@/src/common/api/files';\nimport { convertFromCents } from '@/src/components/form/utils';\nimport { useCountries } from '@/src/common/api/countries';\nimport { selectCountryStepSchema } from '@/src/flows/Onboarding/json-schemas/selectCountryStep';\nimport { shouldIncludeProduct } from '@/src/flows/ContractorOnboarding/utils';\nimport { useMemo } from 'react';\n\nconst useContractorCurrencies = ({\n employmentId,\n options,\n}: {\n employmentId: string;\n options?: { queryOptions?: { enabled?: boolean } };\n}) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['contractor-currencies', employmentId],\n queryFn: async () => {\n return getIndexContractorCurrency({\n client: client as Client,\n path: { employment_id: employmentId },\n query: {\n restrict_to_guaranteed_pay_out_currencies: false,\n },\n });\n },\n enabled: options?.queryOptions?.enabled,\n select: ({ data }) => {\n return data?.data;\n },\n });\n};\n\n/**\n * Get the contract document signature schema\n * @param fieldValues - The field values\n * @param options - The options\n * @returns The contract document signature schema\n */\nexport const useGetContractDocumentSignatureSchema = ({\n fieldValues,\n options,\n}: {\n fieldValues: FieldValues;\n options?: { queryOptions?: { enabled?: boolean }; jsfModify?: JSFModify };\n}) => {\n return useQuery({\n queryKey: [\n 'contract-document-signature',\n fieldValues.review_completed,\n options?.jsfModify,\n ],\n queryFn: async () => {\n return createHeadlessForm(signatureSchema, fieldValues, {\n jsfModify: options?.jsfModify,\n });\n },\n enabled: options?.queryOptions?.enabled,\n });\n};\n\n/**\n * Signs the contract document\n * @param employmentId - The employment ID\n * @param contractDocumentId - The contract document ID\n * @param payload - The payload\n * @returns The signed contract document\n */\nexport const useSignContractDocument = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: async ({\n employmentId,\n contractDocumentId,\n payload,\n }: {\n employmentId: string;\n contractDocumentId: string;\n payload: SignContractDocument;\n }) => {\n return postSignContractDocument({\n client: client as Client,\n body: payload,\n path: {\n employment_id: employmentId,\n contract_document_id: contractDocumentId,\n },\n });\n },\n });\n};\n\n/**\n * Get the contract document for a given employment and contract document ID\n * @param employmentId - The employment ID\n * @param contractDocumentId - The contract document ID\n * @returns The contract document\n */\nexport const useGetShowContractDocument = ({\n employmentId,\n contractDocumentId,\n options,\n}: {\n employmentId: string;\n contractDocumentId: string;\n options?: { queryOptions?: { enabled?: boolean }; jsfModify?: JSFModify };\n}) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['contract-document', employmentId, contractDocumentId],\n queryFn: async () => {\n return getShowContractDocument({\n client: client as Client,\n path: { employment_id: employmentId, id: contractDocumentId },\n });\n },\n enabled: options?.queryOptions?.enabled,\n select: ({ data }) => {\n return {\n ...data?.data,\n contract_document: {\n ...data?.data?.contract_document,\n content: clearBase64Data(\n data?.data?.contract_document?.content as $TSFixMe,\n ),\n },\n };\n },\n });\n};\n\n/**\n * Get the contractor subscriptions for the given employment id\n * @param employmentId - The employment ID\n * @returns The contractor subscriptions available\n */\nexport const useGetContractorSubscriptions = ({\n employmentId,\n options,\n}: {\n employmentId: string;\n options?: { queryOptions?: { enabled?: boolean } };\n}) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['contractor-subscriptions', employmentId],\n queryFn: async () => {\n return getIndexSubscription({\n client: client as Client,\n path: { employment_id: employmentId },\n });\n },\n enabled: options?.queryOptions?.enabled,\n select: ({ data }) => {\n return data?.data;\n },\n });\n};\n\n/**\n * Upgrade or downgrade contractor subscription\n */\nexport const usePostManageContractorSubscriptions = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: async ({\n employmentId,\n payload,\n }: {\n employmentId: string;\n payload: ManageContractorPlusSubscriptionOperationsParams;\n }) => {\n return postManageContractorPlusSubscriptionSubscription({\n client: client as Client,\n body: payload,\n path: {\n employment_id: employmentId,\n },\n });\n },\n });\n};\n\n/**\n * Saves the contractor details data\n * @param employmentId - The employment ID\n * @param payload - The payload\n * @returns The contractor contract document\n */\nexport const useCreateContractorContractDocument = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: async ({\n employmentId,\n payload,\n }: {\n employmentId: string;\n payload: CreateContractDocument;\n }) => {\n return postCreateContractDocument({\n client: client as Client,\n body: payload,\n path: {\n employment_id: employmentId,\n },\n });\n },\n });\n};\n\n/**\n * Get the contractor onboarding details schema for a given country\n * @param countryCode - The country code\n * @param fieldValues - The field values\n * @param options - The options\n * @returns The contractor onboarding details schema\n */\nconst useContractorOnboardingDetailsSchema = ({\n countryCode,\n employmentId,\n fieldValues,\n options,\n}: {\n countryCode: string;\n fieldValues: FieldValues;\n employmentId: string;\n options?: FlowOptions & { queryOptions?: { enabled?: boolean } };\n query?: Record<string, unknown>;\n}): UseQueryResult<JSONSchemaFormResultWithFieldsets> => {\n const { client } = useClient();\n return useQuery({\n queryKey: [\n 'contractor-onboarding-details-schema',\n countryCode,\n employmentId,\n ],\n retry: false,\n queryFn: async () => {\n return getShowContractorContractDetailsCountry({\n client: client as Client,\n path: { country_code: countryCode },\n query: {\n json_schema_version: 1,\n employment_id: employmentId,\n },\n });\n },\n enabled: options?.queryOptions?.enabled,\n select: ({ data }) => {\n const jsfSchema = data?.data?.schema || {};\n return createHeadlessForm(jsfSchema, fieldValues, options);\n },\n });\n};\n\nconst CONTRACT_PRODUCT_TITLES = {\n [contractorStandardProductIdentifier]: 'Contractor Management',\n [contractorPlusProductIdentifier]: 'Contractor Management Plus',\n [corProductIdentifier]: 'Contractor of Record',\n};\n\nexport const useContractorSubscriptionSchemaField = (\n employmentId: string,\n options?: FlowOptions & {\n queryOptions?: { enabled?: boolean };\n excludeProducts?: ProductType[];\n },\n) => {\n const {\n data: contractorSubscriptions,\n isLoading: isLoading,\n refetch,\n } = useGetContractorSubscriptions({\n employmentId: employmentId,\n options: {\n queryOptions: options?.queryOptions,\n },\n });\n\n const form = createHeadlessForm(\n selectContractorSubscriptionStepSchema.data.schema,\n {},\n options,\n );\n\n const corSubscription = contractorSubscriptions?.find(\n (subscription) => subscription.product.short_name === 'COR',\n );\n const isEligibilityQuestionnaireBlocked =\n corSubscription?.eligibility_questionnaire?.is_blocking;\n\n if (contractorSubscriptions) {\n const field: JSFField | undefined = form.fields.find(\n (field) => field.name === 'subscription',\n ) as JSFField | undefined;\n if (field) {\n const fieldOptions = contractorSubscriptions\n .filter((opts) =>\n shouldIncludeProduct(\n opts.product.identifier ?? '',\n options?.excludeProducts,\n ),\n )\n .map((opts) => {\n const product = opts.product;\n const price = opts.price.amount;\n const currencyCode = opts.currency.code;\n const title =\n CONTRACT_PRODUCT_TITLES[\n product.identifier as keyof typeof CONTRACT_PRODUCT_TITLES\n ] ?? '';\n const label = title;\n const value = product.identifier ?? '';\n const description = product.description ?? '';\n const features = product.features ?? [];\n const meta = {\n features,\n price: {\n amount: convertFromCents(price),\n currencyCode: currencyCode,\n },\n };\n return {\n label,\n value,\n description,\n meta,\n disabled:\n isEligibilityQuestionnaireBlocked &&\n product.identifier !== contractorStandardProductIdentifier,\n };\n });\n field.options = fieldOptions.sort((a, b) =>\n a.label.localeCompare(b.label),\n );\n }\n }\n\n return {\n isLoading,\n form,\n contractorSubscriptions,\n refetch,\n isEligibilityQuestionnaireBlocked,\n };\n};\n\nexport const useGetChooseAlternativePlan = (\n employmentId: string,\n options?: FlowOptions & {\n queryOptions?: { enabled?: boolean };\n jsfModify?: JSFModify;\n excludeProducts?: ProductType[];\n },\n) => {\n const {\n data: contractorSubscriptions,\n isLoading,\n refetch,\n } = useGetContractorSubscriptions({\n employmentId: employmentId,\n options: {\n queryOptions: options?.queryOptions,\n },\n });\n\n const eorSubscription = {\n product: {\n identifier: eorProductIdentifier,\n short_name: 'EOR',\n },\n currency: {\n code: 'USD',\n name: 'United States Dollar',\n symbol: '$',\n },\n price: {\n amount: 39900,\n },\n features: [\n 'Contract between Remote and employee',\n 'Remote manages onboarding, payroll, and compliance',\n 'Manages taxes, benefits, and time-off tracking',\n 'Handles contracts, transfers, and terminations',\n ],\n description: 'Enables hiring in countries without a local entity',\n label: 'Employer of Record',\n value: eorProductIdentifier,\n };\n\n const form = createHeadlessForm(\n chooseAlternativePlanSchema.data.schema,\n {},\n options,\n );\n\n if (contractorSubscriptions) {\n const field: JSFField | undefined = form.fields.find(\n (field) => field.name === 'subscription',\n ) as JSFField | undefined;\n\n if (field) {\n const availablePlans = contractorSubscriptions.filter(\n (sub) =>\n sub.product.short_name === 'CM' &&\n shouldIncludeProduct(\n sub.product.identifier ?? '',\n options?.excludeProducts,\n ),\n );\n\n const fieldOptions = availablePlans.map((opts) => {\n const product = opts.product;\n const price = opts.price.amount;\n const currencyCode = opts.currency.code;\n const title =\n CONTRACT_PRODUCT_TITLES[\n product.identifier as keyof typeof CONTRACT_PRODUCT_TITLES\n ] ?? '';\n const label = title;\n const value = product.identifier ?? '';\n const description = product.description ?? '';\n const features = product.features ?? [];\n const meta = {\n features,\n price: {\n amount: convertFromCents(price),\n currencyCode: currencyCode,\n },\n };\n return {\n label,\n value,\n description,\n meta,\n disabled: false,\n };\n });\n\n if (\n shouldIncludeProduct(eorProductIdentifier, options?.excludeProducts)\n ) {\n fieldOptions.push({\n label: eorSubscription.label,\n value: eorSubscription.value,\n description: eorSubscription.description,\n meta: {\n features: eorSubscription.features,\n price: {\n amount: convertFromCents(eorSubscription.price.amount),\n currencyCode: eorSubscription.currency.code,\n },\n },\n disabled: false,\n });\n }\n\n field.options = fieldOptions.sort((a, b) =>\n a.label.localeCompare(b.label),\n );\n }\n }\n\n return {\n isLoading,\n form,\n contractorSubscriptions,\n refetch,\n };\n};\n\nexport const useUpdateUKandSaudiFields = (\n createContractorContractDocumentMutation: ReturnType<\n typeof useCreateContractorContractDocument\n >,\n uploadFileMutation: ReturnType<typeof useUploadFile>,\n parsedValues: FieldValues,\n) => {\n const { mutateAsyncOrThrow: uploadFileMutationAsync } =\n mutationToPromise(uploadFileMutation);\n const { mutateAsyncOrThrow: createContractorContractDocumentMutationAsync } =\n mutationToPromise(createContractorContractDocumentMutation);\n\n return {\n mutateAsync: async ({ employmentId }: { employmentId: string }) => {\n const {\n nationality_status: nationalityStatus,\n ir35: ir35Status,\n ir35_sds_file: ir35SdsFile,\n } = parsedValues;\n const ir35ContractDetailsPayload = {\n contract_document: {\n ir_35: ir35Status,\n },\n };\n const nationalityContractDetailsPayload = {\n contract_document: {\n nationality: nationalityStatus,\n },\n };\n if (ir35Status) {\n await createContractorContractDocumentMutationAsync({\n employmentId: employmentId,\n payload: ir35ContractDetailsPayload,\n });\n\n if (ir35SdsFile) {\n return uploadFileMutationAsync({\n employment_id: employmentId,\n file: ir35SdsFile,\n sub_type: IR35_FILE_SUBTYPE,\n });\n }\n return Promise.resolve();\n }\n // nationality status is sent for the countries SAU, KWT, OMN, QAT, BHR\n if (nationalityStatus) {\n return createContractorContractDocumentMutationAsync({\n employmentId: employmentId,\n payload: nationalityContractDetailsPayload,\n });\n }\n\n return Promise.resolve();\n },\n };\n};\n\nexport const useGetIR35File = (\n employmentId: string,\n options?: { enabled?: boolean },\n) => {\n const { data: ir35Files, isLoading: isLoadingFiles } = useEmploymentFiles(\n employmentId,\n {\n sub_type: IR35_FILE_SUBTYPE,\n },\n {\n ...options,\n select: ({ data }) =>\n data?.files?.filter((file) => file.sub_type === IR35_FILE_SUBTYPE),\n },\n );\n const id = ir35Files?.[0]?.id;\n\n const downloadQuery = useDownloadFile(id as string);\n\n return {\n ...downloadQuery,\n isLoading: isLoadingFiles || downloadQuery.isLoading,\n };\n};\n\n/**\n * Get the contract documents for a given employment\n * @param employmentId - The employment ID\n * @param options - The options\n * @returns The contract documents\n */\nexport const useGetContractDocuments = (\n employmentId: string,\n options?: { enabled?: boolean },\n) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['contract-documents', employmentId],\n queryFn: async () => {\n return getIndexEmploymentContractDocument({\n client: client as Client,\n path: { employment_id: employmentId },\n });\n },\n enabled: options?.enabled,\n select: ({ data }) => {\n return data?.data?.contract_documents;\n },\n });\n};\n\nexport const useGetEligibilityQuestionnaire = ({\n options,\n fieldValues,\n}: {\n options?: FlowOptions & { queryOptions?: { enabled?: boolean } };\n fieldValues: FieldValues;\n}) => {\n const { client } = useClient();\n return useQuery<\n EligibilityQuestionnaireJsonSchemaResponse['data'],\n Error,\n FormResult\n >({\n queryKey: ['eligibility-questionnaire'],\n queryFn: async (): Promise<\n EligibilityQuestionnaireJsonSchemaResponse['data']\n > => {\n const response = await getShowEligibilityQuestionnaire({\n client: client as Client,\n query: {\n type: 'contractor_of_record',\n json_schema_version: 1,\n },\n });\n\n // Extract the data from the response wrapper\n if (response.error) {\n throw new Error('Failed to fetch eligibility questionnaire');\n }\n\n return response.data\n .data as EligibilityQuestionnaireJsonSchemaResponse['data'];\n },\n select: (data: EligibilityQuestionnaireJsonSchemaResponse['data']) => {\n const schema = data?.schema || {};\n return createHeadlessForm(schema, fieldValues, {\n jsfModify: options?.jsfModify,\n });\n },\n enabled: options?.queryOptions?.enabled,\n });\n};\n\nexport const usePostCreateEligibilityQuestionnaire = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: async ({\n employmentId,\n payload,\n }: {\n employmentId: string;\n payload: SubmitEligibilityQuestionnaireRequest['responses'];\n }) => {\n return postCreateEligibilityQuestionnaire({\n client: client as Client,\n body: {\n employment_slug: employmentId,\n responses: payload,\n type: 'contractor_of_record',\n },\n query: {\n json_schema_version: 1, // TODO: json_schema_version should be dynamic but fixed for now\n },\n });\n },\n });\n};\n\nexport const usePostManageContractorCorSubscription = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: async ({ employmentId }: { employmentId: string }) => {\n return postManageContractorCorSubscriptionSubscription({\n client: client as Client,\n path: {\n employment_id: employmentId,\n },\n });\n },\n });\n};\n\nexport const useDeleteContractorCorSubscription = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: async ({ employmentId }: { employmentId: string }) => {\n return deleteDeleteContractorCorSubscriptionSubscription({\n client: client as Client,\n path: { employment_id: employmentId },\n });\n },\n });\n};\n\nexport const useCountriesSchemaField = (\n options?: Omit<FlowOptions, 'jsonSchemaVersion'> & {\n queryOptions?: { enabled?: boolean };\n },\n) => {\n const { data: countries, isLoading } = useCountries({\n queryKey: 'contractor-onboarding-countries',\n select: ({ data }) => {\n return (\n data?.data?.map((country) => {\n return {\n label: country.name,\n value: country.code,\n };\n }) || []\n );\n },\n enabled: options?.queryOptions?.enabled,\n });\n\n const selectCountryForm = createHeadlessForm(\n selectCountryStepSchema.data.schema,\n {},\n options,\n );\n\n if (countries) {\n const countryField = selectCountryForm.fields.find(\n (field) => field.name === 'country',\n );\n if (countryField) {\n countryField.options = countries;\n }\n }\n\n return {\n isLoading,\n selectCountryForm,\n countries,\n };\n};\n\n/**\n * Get contractor onboarding details schema with currency options overridden\n * from the getIndexContractorCurrency endpoint\n */\nexport const useContractorOnboardingDetailsSchemaWithCurrencies = ({\n countryCode,\n employmentId,\n fieldValues,\n options,\n}: {\n countryCode: string;\n fieldValues: FieldValues;\n employmentId: string;\n options?: FlowOptions & { queryOptions?: { enabled?: boolean } };\n}) => {\n const schemaQuery = useContractorOnboardingDetailsSchema({\n countryCode,\n employmentId,\n fieldValues,\n options,\n });\n\n const { data: currencies, isLoading: isLoadingCurrencies } =\n useContractorCurrencies({\n employmentId,\n options: {\n queryOptions: { enabled: options?.queryOptions?.enabled },\n },\n });\n\n const dataWithCurrencies = useMemo(() => {\n if (!schemaQuery.data || !currencies) {\n return schemaQuery.data;\n }\n\n const form = {\n ...schemaQuery.data,\n fields: schemaQuery.data.fields.map((field) => {\n if (field.name !== 'payment_terms') {\n return field;\n }\n\n return {\n ...field,\n fields: (field.fields as $TSFixMe[])?.map((nestedField: $TSFixMe) => {\n if (nestedField.name !== 'compensation_currency_code') {\n return nestedField;\n }\n\n // Return a new object with overridden options\n return {\n ...nestedField,\n options: currencies.map((currency) => ({\n label: currency.code,\n value: currency.code,\n meta: { source: currency.source },\n })),\n };\n }),\n };\n }),\n };\n\n return form;\n }, [schemaQuery.data, currencies]);\n\n return {\n ...schemaQuery,\n data: dataWithCurrencies as $TSFixMe,\n isLoading: schemaQuery.isLoading || isLoadingCurrencies,\n };\n};\n","import { useMutation, useQuery, UseQueryOptions } from '@tanstack/react-query';\nimport { Client } from '@/src/client/client';\nimport {\n getIndexEmploymentFile,\n getShowFile,\n postUploadEmployeeFileFile,\n} from '@/src/client/sdk.gen';\nimport {\n GetIndexEmploymentFileData,\n GetIndexEmploymentFileErrors,\n File as ApiFile,\n ListFilesResponse,\n PostUploadEmployeeFileFileData,\n} from '@/src/client/types.gen';\nimport { useClient } from '@/src/context';\n\n/**\n * Hook to upload a file associated with a specified employment.\n * @returns A mutation result for uploading employee files.\n */\nexport const useUploadFile = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: (params: PostUploadEmployeeFileFileData['body']) => {\n return postUploadEmployeeFileFile({\n client: client as Client,\n body: params,\n headers: {\n Authorization: ``,\n },\n });\n },\n });\n};\n\n/**\n * Hook to download a file by its ID.\n * @param id - The ID of the file to download.\n * @returns A query result containing the file data.\n */\nexport const useDownloadFile = (id: string) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['download-file', id],\n queryFn: async () => {\n const result = await getShowFile({\n client: client as Client,\n path: { id: id },\n });\n\n if (result.error) {\n throw result.error;\n }\n\n return result.data;\n },\n select: ({ data }) => data?.file,\n enabled: !!id,\n });\n};\n\n/**\n * Hook to retrieve files associated with a specific employment.\n * @param employmentId - The ID of the employment to retrieve files for.\n * @param queryParams - The query parameters to filter the files.\n * @param queryOptions - Optional TanStack Query options to customize the query behavior.\n * @returns A query result containing the employment files.\n */\nexport const useEmploymentFiles = (\n employmentId: string,\n queryParams: GetIndexEmploymentFileData['query'],\n queryOptions?: Omit<\n UseQueryOptions<\n ListFilesResponse,\n GetIndexEmploymentFileErrors,\n ApiFile[] | undefined,\n unknown[]\n >,\n 'queryKey' | 'queryFn'\n >,\n) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['employment-files', employmentId],\n queryFn: async () => {\n const result = await getIndexEmploymentFile({\n client: client as Client,\n path: { employment_id: employmentId },\n query: queryParams,\n });\n\n if (result.error) {\n throw result.error;\n }\n\n return result.data;\n },\n ...queryOptions,\n });\n};\n"],"mappings":"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","names":["useMutation","useQuery","useMutation","useQuery","useUploadFile","__name","client","useClient","useMutation","params","postUploadEmployeeFileFile","useDownloadFile","id","useQuery","result","getShowFile","data","useEmploymentFiles","employmentId","queryParams","queryOptions","getIndexEmploymentFile","useMemo","useContractorCurrencies","__name","employmentId","options","client","useClient","useQuery","getIndexContractorCurrency","data","useGetContractDocumentSignatureSchema","fieldValues","createHeadlessForm","signatureSchema","useSignContractDocument","useMutation","contractDocumentId","payload","postSignContractDocument","useGetShowContractDocument","getShowContractDocument","clearBase64Data","useGetContractorSubscriptions","getIndexSubscription","usePostManageContractorSubscriptions","postManageContractorPlusSubscriptionSubscription","useCreateContractorContractDocument","postCreateContractDocument","useContractorOnboardingDetailsSchema","countryCode","getShowContractorContractDetailsCountry","jsfSchema","CONTRACT_PRODUCT_TITLES","contractorStandardProductIdentifier","contractorPlusProductIdentifier","corProductIdentifier","useContractorSubscriptionSchemaField","contractorSubscriptions","isLoading","refetch","form","selectContractorSubscriptionStepSchema","isEligibilityQuestionnaireBlocked","subscription","field","fieldOptions","opts","shouldIncludeProduct","product","price","currencyCode","label","value","description","meta","convertFromCents","b","useGetChooseAlternativePlan","eorSubscription","eorProductIdentifier","chooseAlternativePlanSchema","sub","useUpdateUKandSaudiFields","createContractorContractDocumentMutation","uploadFileMutation","parsedValues","uploadFileMutationAsync","mutationToPromise","createContractorContractDocumentMutationAsync","nationalityStatus","ir35Status","ir35SdsFile","ir35ContractDetailsPayload","nationalityContractDetailsPayload","IR35_FILE_SUBTYPE","useGetIR35File","ir35Files","isLoadingFiles","useEmploymentFiles","file","id","downloadQuery","useDownloadFile","useGetContractDocuments","getIndexEmploymentContractDocument","useGetEligibilityQuestionnaire","response","getShowEligibilityQuestionnaire","schema","usePostCreateEligibilityQuestionnaire","postCreateEligibilityQuestionnaire","usePostManageContractorCorSubscription","postManageContractorCorSubscriptionSubscription","useDeleteContractorCorSubscription","deleteDeleteContractorCorSubscriptionSubscription","useCountriesSchemaField","countries","useCountries","country","selectCountryForm","selectCountryStepSchema","countryField","useContractorOnboardingDetailsSchemaWithCurrencies","schemaQuery","currencies","isLoadingCurrencies","dataWithCurrencies","useMemo","nestedField","currency"]}