@remoteoss/remote-flows 1.41.1 → 1.42.1

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 (378) hide show
  1. package/dist/CheckboxFieldDefault-OK7JODEG.js +2 -0
  2. package/dist/CountryFieldDefault-ORC6XVVK.js +2 -0
  3. package/dist/DatePickerFieldDefault-XMG6ZDVQ.js +2 -0
  4. package/dist/RadioGroupFieldDefault-XR37OID5.js +2 -0
  5. package/dist/TextAreaFieldDefault-5YJYIBAO.js +2 -0
  6. package/dist/{chunk-SKQZ6BPK.js → chunk-2TAVZJPX.js} +2 -2
  7. package/dist/chunk-3HMUXWNW.js +2 -0
  8. package/dist/chunk-3HMUXWNW.js.map +1 -0
  9. package/dist/{chunk-O3KGCVBO.js → chunk-3QSHWQS3.js} +2 -2
  10. package/dist/{chunk-4WBEA4IY.js → chunk-4KKA35AX.js} +2 -2
  11. package/dist/{chunk-BLCINT3L.js → chunk-4QJUNKBR.js} +2 -2
  12. package/dist/{chunk-7EKNQYS5.js → chunk-6NKXOUJW.js} +2 -2
  13. package/dist/{chunk-6YBDMERC.js → chunk-6TKWWM5A.js} +2 -2
  14. package/dist/{chunk-GJV6HJ3D.js → chunk-7JWQ24VU.js} +2 -2
  15. package/dist/chunk-7WB6IHRF.js +2 -0
  16. package/dist/chunk-7WB6IHRF.js.map +1 -0
  17. package/dist/{chunk-2PMYCCWO.js → chunk-7XZP24UE.js} +2 -2
  18. package/dist/{chunk-MBOKEWSX.js → chunk-A5SRPVT2.js} +2 -2
  19. package/dist/{chunk-UBBUH2DE.js → chunk-A675PPWA.js} +2 -2
  20. package/dist/chunk-ADXJUDVS.js +2 -0
  21. package/dist/chunk-ADXJUDVS.js.map +1 -0
  22. package/dist/chunk-BFXBFGBH.js +2 -0
  23. package/dist/chunk-BFXBFGBH.js.map +1 -0
  24. package/dist/{chunk-OKSKBEIR.js → chunk-BJZXTS47.js} +2 -2
  25. package/dist/{chunk-B3OYZQSP.js → chunk-BS2B4OOE.js} +2 -2
  26. package/dist/{chunk-FOUXLCEA.js → chunk-BSOKKYGH.js} +2 -2
  27. package/dist/{chunk-KWIWHDBS.js → chunk-BYDNNJHZ.js} +2 -2
  28. package/dist/chunk-BYDNNJHZ.js.map +1 -0
  29. package/dist/{chunk-VV3LCB77.js → chunk-CFGQQEXD.js} +2 -2
  30. package/dist/chunk-DAFIBCX4.js +2 -0
  31. package/dist/chunk-DAFIBCX4.js.map +1 -0
  32. package/dist/chunk-DN6BXTAC.js +2 -0
  33. package/dist/{chunk-3PYZQWDY.js → chunk-DSL5O7NR.js} +2 -2
  34. package/dist/chunk-E2463GRM.js +2 -0
  35. package/dist/chunk-E2463GRM.js.map +1 -0
  36. package/dist/{chunk-GGULUMOP.js → chunk-EI44AIUW.js} +2 -2
  37. package/dist/{chunk-NIDRVYUJ.js → chunk-F67DSAFU.js} +2 -2
  38. package/dist/{chunk-W5QXZPMY.js → chunk-G2FGMFTN.js} +2 -2
  39. package/dist/chunk-G7N6QIOB.js +2 -0
  40. package/dist/chunk-G7N6QIOB.js.map +1 -0
  41. package/dist/{chunk-PIIWY632.js → chunk-GHHMGTM4.js} +2 -2
  42. package/dist/{chunk-PMRAJKJ5.js → chunk-GNDFT5KG.js} +2 -2
  43. package/dist/{chunk-MZZFNRW5.js → chunk-H6Z54SNM.js} +2 -2
  44. package/dist/{chunk-7R7AQHV2.js → chunk-HAI4J2FU.js} +2 -2
  45. package/dist/{chunk-ZMQTQ4UQ.js → chunk-HIDA2KDX.js} +2 -2
  46. package/dist/{chunk-HGIMRQIZ.js → chunk-ID4S6FWD.js} +2 -2
  47. package/dist/{chunk-NEKE5PRJ.js → chunk-IF42CZJH.js} +2 -2
  48. package/dist/{chunk-KBUBBK2E.js → chunk-IVDF2PMA.js} +2 -2
  49. package/dist/{chunk-HHFDREGB.js → chunk-J3HIQRZO.js} +2 -2
  50. package/dist/{chunk-XFQS2BVE.js → chunk-JQN26ZTU.js} +2 -2
  51. package/dist/{chunk-TJLXZ2ZK.js → chunk-K7HS55JD.js} +2 -2
  52. package/dist/chunk-K7HS55JD.js.map +1 -0
  53. package/dist/{chunk-B5KAHNYW.js → chunk-KSJLZDGY.js} +2 -2
  54. package/dist/{chunk-FEWMPYBF.js → chunk-L3ZVE4JS.js} +2 -2
  55. package/dist/{chunk-QV7CEES3.js → chunk-LV6MDD3M.js} +2 -2
  56. package/dist/{chunk-KFFTPU6V.js → chunk-LVTBMTOU.js} +2 -2
  57. package/dist/{chunk-VMZQN4WU.js → chunk-NRGNFMIO.js} +2 -2
  58. package/dist/{chunk-KEYWBQH2.js → chunk-NZHABET6.js} +2 -2
  59. package/dist/{chunk-XE6HQVLQ.js → chunk-O4CLVNOP.js} +2 -2
  60. package/dist/{chunk-FAJ5I4Q4.js → chunk-OISWU4YR.js} +2 -2
  61. package/dist/{chunk-SHOGXN3C.js → chunk-OPDKYPYM.js} +2 -2
  62. package/dist/{chunk-57G3ZAX3.js → chunk-PEJ5SKA2.js} +2 -2
  63. package/dist/{chunk-PJPYUB2R.js → chunk-PSCFVUJB.js} +2 -2
  64. package/dist/{chunk-YQQHCS4S.js → chunk-PXU2LCFW.js} +2 -2
  65. package/dist/chunk-Q5OFEWTH.js +2 -0
  66. package/dist/{chunk-MQTRTRV6.js.map → chunk-Q5OFEWTH.js.map} +1 -1
  67. package/dist/{chunk-7KMXTQ4C.js → chunk-Q7SMO5VI.js} +2 -2
  68. package/dist/{chunk-PET4EGTM.js → chunk-QK3FQD6C.js} +2 -2
  69. package/dist/{chunk-MZXFOY5T.js → chunk-QZMSDP2S.js} +2 -2
  70. package/dist/{chunk-UFAQ7CQH.js → chunk-R3JUKEDN.js} +2 -2
  71. package/dist/{chunk-P6H7QMKK.js → chunk-RFVHV6RE.js} +2 -2
  72. package/dist/{chunk-YXHSALDR.js → chunk-RG36YL7L.js} +2 -2
  73. package/dist/{chunk-OVU2VJM6.js → chunk-S4QKVG2B.js} +2 -2
  74. package/dist/{chunk-GTU6MTZH.js → chunk-SL7O5CUW.js} +2 -2
  75. package/dist/chunk-SQ5KB57O.js +2 -0
  76. package/dist/chunk-SQ5KB57O.js.map +1 -0
  77. package/dist/{chunk-ZSN43HMP.js → chunk-TMBL5YM4.js} +2 -2
  78. package/dist/{chunk-UD24LBJ6.js → chunk-TNGJKUUV.js} +2 -2
  79. package/dist/{chunk-WRCHICCJ.js → chunk-TZGC6PWQ.js} +2 -2
  80. package/dist/{chunk-INPMEOFL.js → chunk-UOWQ7UKA.js} +2 -2
  81. package/dist/{chunk-ZBIXHOET.js → chunk-UYSY6Z5S.js} +2 -2
  82. package/dist/{chunk-3D7HWCNX.js → chunk-UZBAOB4W.js} +2 -2
  83. package/dist/{chunk-FXJM54I4.js → chunk-V7YF7ICV.js} +2 -2
  84. package/dist/{chunk-W2WMUANF.js → chunk-VJGCSIOB.js} +2 -2
  85. package/dist/{chunk-YOFPHSYV.js → chunk-WKAVKFP6.js} +2 -2
  86. package/dist/{chunk-XLURXRQT.js → chunk-X25ZOPO6.js} +2 -2
  87. package/dist/{chunk-UELAVKG5.js → chunk-X4IJ52GQ.js} +2 -2
  88. package/dist/{chunk-ZTNH2YIM.js → chunk-XICRWKIW.js} +2 -2
  89. package/dist/{chunk-HADEU7QX.js → chunk-YCP65XIN.js} +2 -2
  90. package/dist/{chunk-I7JKBQHL.js → chunk-YRDXBXXA.js} +2 -2
  91. package/dist/{chunk-KRZGFZUS.js → chunk-YUKREGGF.js} +2 -2
  92. package/dist/{chunk-KH4DEFZT.js → chunk-YW4FHEYJ.js} +2 -2
  93. package/dist/{chunk-VPFGVFXE.js → chunk-YZ3KEILH.js} +2 -2
  94. package/dist/{chunk-S7DDWZOR.js → chunk-ZF3JITFM.js} +2 -2
  95. package/dist/default-components.d.ts +2 -2
  96. package/dist/default-components.js +1 -1
  97. package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.d.ts +1 -1
  98. package/dist/flows/ContractAmendment/ContractAmendmentFlow.d.ts +3 -3
  99. package/dist/flows/ContractAmendment/ContractAmendmentFlow.js +1 -1
  100. package/dist/flows/ContractAmendment/ContractAmendmentForm.d.ts +1 -1
  101. package/dist/flows/ContractAmendment/ContractAmendmentForm.js +1 -1
  102. package/dist/flows/ContractAmendment/context.d.ts +3 -3
  103. package/dist/flows/ContractAmendment/hooks.d.ts +3 -3
  104. package/dist/flows/ContractAmendment/hooks.js +1 -1
  105. package/dist/flows/ContractAmendment/index.d.ts +3 -3
  106. package/dist/flows/ContractAmendment/index.js +1 -1
  107. package/dist/flows/ContractAmendment/types.d.ts +2 -2
  108. package/dist/flows/ContractAmendment/utils.d.ts +2 -2
  109. package/dist/flows/ContractorOnboarding/ContractorOnboarding.d.ts +6 -5
  110. package/dist/flows/ContractorOnboarding/ContractorOnboarding.js +1 -1
  111. package/dist/flows/ContractorOnboarding/api.d.ts +26 -3
  112. package/dist/flows/ContractorOnboarding/api.js +1 -1
  113. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.d.ts +4 -4
  114. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.js +1 -1
  115. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.d.ts +6 -5
  116. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.js +1 -1
  117. package/dist/flows/ContractorOnboarding/components/ContractOriginStep.d.ts +27 -0
  118. package/dist/flows/ContractorOnboarding/components/ContractOriginStep.js +2 -0
  119. package/dist/flows/ContractorOnboarding/components/ContractOriginStep.js.map +1 -0
  120. package/dist/flows/ContractorOnboarding/components/ContractPreviewHeader.d.ts +2 -2
  121. package/dist/flows/ContractorOnboarding/components/ContractPreviewStatement.d.ts +2 -2
  122. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.d.ts +6 -5
  123. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.js +1 -1
  124. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.d.ts +6 -5
  125. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.js +1 -1
  126. package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.d.ts +6 -5
  127. package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.js +1 -1
  128. package/dist/flows/ContractorOnboarding/components/OnboardingInvite.d.ts +3 -3
  129. package/dist/flows/ContractorOnboarding/components/OnboardingInvite.js +1 -1
  130. package/dist/flows/ContractorOnboarding/components/PricingPlan.d.ts +6 -5
  131. package/dist/flows/ContractorOnboarding/components/PricingPlan.js +1 -1
  132. package/dist/flows/ContractorOnboarding/components/SaveDraftButton.d.ts +3 -3
  133. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.d.ts +4 -4
  134. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.js +1 -1
  135. package/dist/flows/ContractorOnboarding/context.d.ts +13 -5
  136. package/dist/flows/ContractorOnboarding/hooks.d.ts +6 -5
  137. package/dist/flows/ContractorOnboarding/hooks.js +1 -1
  138. package/dist/flows/ContractorOnboarding/index.d.ts +6 -5
  139. package/dist/flows/ContractorOnboarding/index.js +1 -1
  140. package/dist/flows/ContractorOnboarding/jsfModify.d.ts +6 -5
  141. package/dist/flows/ContractorOnboarding/jsfModify.js +1 -1
  142. package/dist/flows/ContractorOnboarding/json-schemas/contractOrigin.d.ts +22 -0
  143. package/dist/flows/ContractorOnboarding/json-schemas/contractOrigin.js +2 -0
  144. package/dist/flows/ContractorOnboarding/json-schemas/contractOrigin.js.map +1 -0
  145. package/dist/flows/ContractorOnboarding/types.d.ts +6 -5
  146. package/dist/flows/ContractorOnboarding/utils.d.ts +7 -5
  147. package/dist/flows/ContractorOnboarding/utils.js +1 -1
  148. package/dist/flows/CostCalculator/CostCalculatorFlow.d.ts +3 -3
  149. package/dist/flows/CostCalculator/CostCalculatorFlow.js +1 -1
  150. package/dist/flows/CostCalculator/CostCalculatorForm.d.ts +3 -3
  151. package/dist/flows/CostCalculator/CostCalculatorForm.js +1 -1
  152. package/dist/flows/CostCalculator/EstimationResults/EstimationResults.d.ts +2 -2
  153. package/dist/flows/CostCalculator/EstimationResults/EstimationResults.js +1 -1
  154. package/dist/flows/CostCalculator/SummaryResults/SummaryResults.d.ts +2 -2
  155. package/dist/flows/CostCalculator/api.d.ts +2 -2
  156. package/dist/flows/CostCalculator/api.js +1 -1
  157. package/dist/flows/CostCalculator/components/SalaryField.d.ts +2 -2
  158. package/dist/flows/CostCalculator/components/SalaryField.js +1 -1
  159. package/dist/flows/CostCalculator/context.d.ts +3 -3
  160. package/dist/flows/CostCalculator/hooks.d.ts +3 -3
  161. package/dist/flows/CostCalculator/hooks.js +1 -1
  162. package/dist/flows/CostCalculator/index.d.ts +3 -3
  163. package/dist/flows/CostCalculator/index.js +1 -1
  164. package/dist/flows/CostCalculator/types.d.ts +2 -2
  165. package/dist/flows/CostCalculator/utils.d.ts +3 -3
  166. package/dist/flows/CostCalculator/utils.js +1 -1
  167. package/dist/flows/CreateCompany/CreateCompany.d.ts +4 -4
  168. package/dist/flows/CreateCompany/CreateCompany.js +1 -1
  169. package/dist/flows/CreateCompany/api.d.ts +2 -2
  170. package/dist/flows/CreateCompany/api.js +1 -1
  171. package/dist/flows/CreateCompany/components/AddressDetailsStep.d.ts +4 -4
  172. package/dist/flows/CreateCompany/components/AddressDetailsStep.js +1 -1
  173. package/dist/flows/CreateCompany/components/CompanyBasicInformationStep.d.ts +4 -4
  174. package/dist/flows/CreateCompany/components/CompanyBasicInformationStep.js +1 -1
  175. package/dist/flows/CreateCompany/components/CreateCompanyForm.d.ts +2 -2
  176. package/dist/flows/CreateCompany/components/CreateCompanyForm.js +1 -1
  177. package/dist/flows/CreateCompany/context.d.ts +4 -4
  178. package/dist/flows/CreateCompany/hooks.d.ts +4 -4
  179. package/dist/flows/CreateCompany/hooks.js +1 -1
  180. package/dist/flows/CreateCompany/index.d.ts +4 -4
  181. package/dist/flows/CreateCompany/index.js +1 -1
  182. package/dist/flows/CreateCompany/types.d.ts +4 -4
  183. package/dist/flows/Onboarding/OnboardingFlow.d.ts +4 -4
  184. package/dist/flows/Onboarding/OnboardingFlow.js +1 -1
  185. package/dist/flows/Onboarding/api.d.ts +4 -4
  186. package/dist/flows/Onboarding/api.js +1 -1
  187. package/dist/flows/Onboarding/components/AnnualGrossSalary.d.ts +2 -2
  188. package/dist/flows/Onboarding/components/AnnualGrossSalary.js +1 -1
  189. package/dist/flows/Onboarding/components/BasicInformationStep.d.ts +4 -4
  190. package/dist/flows/Onboarding/components/BasicInformationStep.js +1 -1
  191. package/dist/flows/Onboarding/components/BenefitsStep.d.ts +4 -4
  192. package/dist/flows/Onboarding/components/BenefitsStep.js +1 -1
  193. package/dist/flows/Onboarding/components/ContractDetailsStep.d.ts +4 -4
  194. package/dist/flows/Onboarding/components/ContractDetailsStep.js +1 -1
  195. package/dist/flows/Onboarding/components/EmploymentAgreementInfoContent.js +1 -1
  196. package/dist/flows/Onboarding/components/EngagementAgreementDetailsStep.d.ts +4 -4
  197. package/dist/flows/Onboarding/components/EngagementAgreementDetailsStep.js +1 -1
  198. package/dist/flows/Onboarding/components/OnboardingForm.d.ts +4 -4
  199. package/dist/flows/Onboarding/components/OnboardingForm.js +1 -1
  200. package/dist/flows/Onboarding/components/OnboardingInvite.d.ts +3 -3
  201. package/dist/flows/Onboarding/components/OnboardingInvite.js +1 -1
  202. package/dist/flows/Onboarding/components/PreOnboardingRequirements.d.ts +4 -4
  203. package/dist/flows/Onboarding/components/PreOnboardingRequirements.js +1 -1
  204. package/dist/flows/Onboarding/components/PreviewEmploymentAgreementStep.js +1 -1
  205. package/dist/flows/Onboarding/components/ReviewStep.d.ts +4 -4
  206. package/dist/flows/Onboarding/components/SaveDraftButton.d.ts +3 -3
  207. package/dist/flows/Onboarding/components/SelectCountryStep.d.ts +4 -4
  208. package/dist/flows/Onboarding/components/SelectCountryStep.js +1 -1
  209. package/dist/flows/Onboarding/context.d.ts +4 -4
  210. package/dist/flows/Onboarding/hooks.d.ts +4 -4
  211. package/dist/flows/Onboarding/hooks.js +1 -1
  212. package/dist/flows/Onboarding/index.d.ts +4 -4
  213. package/dist/flows/Onboarding/index.js +1 -1
  214. package/dist/flows/Onboarding/types.d.ts +4 -4
  215. package/dist/flows/Onboarding/utils.d.ts +4 -4
  216. package/dist/flows/Onboarding/utils.js +1 -1
  217. package/dist/flows/PayrollAdminOnboarding/PayrollAdminOnboardingFlow.d.ts +3 -3
  218. package/dist/flows/PayrollAdminOnboarding/PayrollAdminOnboardingFlow.js +1 -1
  219. package/dist/flows/PayrollAdminOnboarding/context.d.ts +3 -3
  220. package/dist/flows/PayrollAdminOnboarding/hooks.d.ts +3 -3
  221. package/dist/flows/PayrollAdminOnboarding/hooks.js +1 -1
  222. package/dist/flows/PayrollAdminOnboarding/index.d.ts +3 -3
  223. package/dist/flows/PayrollAdminOnboarding/index.js +1 -1
  224. package/dist/flows/PayrollAdminOnboarding/types.d.ts +3 -3
  225. package/dist/flows/PayrollEmployeeOnboarding/PayrollEmployeeOnboardingFlow.d.ts +3 -3
  226. package/dist/flows/PayrollEmployeeOnboarding/PayrollEmployeeOnboardingFlow.js +1 -1
  227. package/dist/flows/PayrollEmployeeOnboarding/context.d.ts +3 -3
  228. package/dist/flows/PayrollEmployeeOnboarding/hooks.d.ts +3 -3
  229. package/dist/flows/PayrollEmployeeOnboarding/hooks.js +1 -1
  230. package/dist/flows/PayrollEmployeeOnboarding/index.d.ts +3 -3
  231. package/dist/flows/PayrollEmployeeOnboarding/index.js +1 -1
  232. package/dist/flows/PayrollEmployeeOnboarding/types.d.ts +3 -3
  233. package/dist/flows/Termination/AdditionalDetailsForm.d.ts +4 -4
  234. package/dist/flows/Termination/AdditionalDetailsForm.js +1 -1
  235. package/dist/flows/Termination/EmployeeComunicationForm.d.ts +4 -4
  236. package/dist/flows/Termination/EmployeeComunicationForm.js +1 -1
  237. package/dist/flows/Termination/PaidTimeOffForm.d.ts +4 -4
  238. package/dist/flows/Termination/PaidTimeOffForm.js +1 -1
  239. package/dist/flows/Termination/TerminationDetailsForm.d.ts +4 -4
  240. package/dist/flows/Termination/TerminationDetailsForm.js +1 -1
  241. package/dist/flows/Termination/TerminationFlow.d.ts +4 -4
  242. package/dist/flows/Termination/TerminationFlow.js +1 -1
  243. package/dist/flows/Termination/TerminationForm.d.ts +4 -4
  244. package/dist/flows/Termination/TerminationForm.js +1 -1
  245. package/dist/flows/Termination/api.d.ts +5 -5
  246. package/dist/flows/Termination/api.js +1 -1
  247. package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformationFees.js +1 -1
  248. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.d.ts +6 -6
  249. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.d.ts +6 -6
  250. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.js +1 -1
  251. package/dist/flows/Termination/components/PaidTimeOff/types.d.ts +6 -6
  252. package/dist/flows/Termination/components/TerminationDialogInfoContent/TerminationDialogInfoContent.js +1 -1
  253. package/dist/flows/Termination/context.d.ts +4 -4
  254. package/dist/flows/Termination/hooks.d.ts +4 -4
  255. package/dist/flows/Termination/hooks.js +1 -1
  256. package/dist/flows/Termination/index.d.ts +6 -6
  257. package/dist/flows/Termination/index.js +1 -1
  258. package/dist/flows/Termination/json-schemas/jsonSchema.js +1 -1
  259. package/dist/flows/Termination/json-schemas/schema.d.ts +4 -4
  260. package/dist/flows/Termination/json-schemas/schema.js +1 -1
  261. package/dist/flows/Termination/types.d.ts +4 -4
  262. package/dist/flows/Termination/utils.d.ts +4 -4
  263. package/dist/flows/types.d.ts +2 -2
  264. package/dist/flows/utils.d.ts +2 -2
  265. package/dist/index.css +1 -1
  266. package/dist/index.css.map +1 -1
  267. package/dist/index.d.ts +14 -13
  268. package/dist/index.js +2 -2
  269. package/dist/index.js.map +1 -1
  270. package/dist/internals.d.ts +3 -3
  271. package/dist/internals.js +1 -1
  272. package/dist/{mutations-m4qazTov.d.ts → mutations-CvqpPAsB.d.ts} +1 -1
  273. package/dist/{remoteFlows-C2zCZMFB.d.ts → remoteFlows-BVi0Lj1G.d.ts} +1 -1
  274. package/dist/styles.css +1 -1
  275. package/dist/styles.css.map +1 -1
  276. package/dist/{types-6XtKFWen.d.ts → types--NmU3NkX.d.ts} +16 -6
  277. package/dist/{types-BdAf8qBk.d.ts → types-Bfjdf2vn.d.ts} +1 -1
  278. package/dist/{types-MJCCG0Lf.d.ts → types-Bj0pRx3Z.d.ts} +1 -1
  279. package/dist/{types-B9XgAugQ.d.ts → types-CrB4ZN-n.d.ts} +3 -3
  280. package/dist/{types-CS5H5ZXt.d.ts → types-DDzY4RXN.d.ts} +3 -3
  281. package/dist/{types-CXORFHbV.d.ts → types-DaXs0fB1.d.ts} +2 -2
  282. package/dist/{types-TE7ZVOnO.d.ts → types-DyMXlKcr.d.ts} +1 -1
  283. package/dist/{types.gen-ByDz5nJy.d.ts → types.gen-B96RNslX.d.ts} +24 -2
  284. package/dist/{utils-D2hJxOb4.d.ts → utils-BoX3Tocr.d.ts} +1 -1
  285. package/package.json +4 -4
  286. package/dist/CheckboxFieldDefault-OBDOMMWQ.js +0 -2
  287. package/dist/CountryFieldDefault-NEFHRUUS.js +0 -2
  288. package/dist/DatePickerFieldDefault-NYHK6I2G.js +0 -2
  289. package/dist/RadioGroupFieldDefault-GF4XVARF.js +0 -2
  290. package/dist/TextAreaFieldDefault-HPEUG5UI.js +0 -2
  291. package/dist/chunk-COAJUZSE.js +0 -2
  292. package/dist/chunk-COAJUZSE.js.map +0 -1
  293. package/dist/chunk-KWIWHDBS.js.map +0 -1
  294. package/dist/chunk-LKVQ32ZK.js +0 -2
  295. package/dist/chunk-LKVQ32ZK.js.map +0 -1
  296. package/dist/chunk-MQTRTRV6.js +0 -2
  297. package/dist/chunk-NJNJACVL.js +0 -2
  298. package/dist/chunk-NJNJACVL.js.map +0 -1
  299. package/dist/chunk-RATFUMTL.js +0 -2
  300. package/dist/chunk-RATFUMTL.js.map +0 -1
  301. package/dist/chunk-SC7YWKOW.js +0 -2
  302. package/dist/chunk-TJLXZ2ZK.js.map +0 -1
  303. package/dist/chunk-UAMKMIHP.js +0 -2
  304. package/dist/chunk-UAMKMIHP.js.map +0 -1
  305. package/dist/chunk-ZY7RAGEL.js +0 -2
  306. package/dist/chunk-ZY7RAGEL.js.map +0 -1
  307. /package/dist/{CheckboxFieldDefault-OBDOMMWQ.js.map → CheckboxFieldDefault-OK7JODEG.js.map} +0 -0
  308. /package/dist/{CountryFieldDefault-NEFHRUUS.js.map → CountryFieldDefault-ORC6XVVK.js.map} +0 -0
  309. /package/dist/{DatePickerFieldDefault-NYHK6I2G.js.map → DatePickerFieldDefault-XMG6ZDVQ.js.map} +0 -0
  310. /package/dist/{RadioGroupFieldDefault-GF4XVARF.js.map → RadioGroupFieldDefault-XR37OID5.js.map} +0 -0
  311. /package/dist/{TextAreaFieldDefault-HPEUG5UI.js.map → TextAreaFieldDefault-5YJYIBAO.js.map} +0 -0
  312. /package/dist/{chunk-SKQZ6BPK.js.map → chunk-2TAVZJPX.js.map} +0 -0
  313. /package/dist/{chunk-O3KGCVBO.js.map → chunk-3QSHWQS3.js.map} +0 -0
  314. /package/dist/{chunk-4WBEA4IY.js.map → chunk-4KKA35AX.js.map} +0 -0
  315. /package/dist/{chunk-BLCINT3L.js.map → chunk-4QJUNKBR.js.map} +0 -0
  316. /package/dist/{chunk-7EKNQYS5.js.map → chunk-6NKXOUJW.js.map} +0 -0
  317. /package/dist/{chunk-6YBDMERC.js.map → chunk-6TKWWM5A.js.map} +0 -0
  318. /package/dist/{chunk-GJV6HJ3D.js.map → chunk-7JWQ24VU.js.map} +0 -0
  319. /package/dist/{chunk-2PMYCCWO.js.map → chunk-7XZP24UE.js.map} +0 -0
  320. /package/dist/{chunk-MBOKEWSX.js.map → chunk-A5SRPVT2.js.map} +0 -0
  321. /package/dist/{chunk-UBBUH2DE.js.map → chunk-A675PPWA.js.map} +0 -0
  322. /package/dist/{chunk-OKSKBEIR.js.map → chunk-BJZXTS47.js.map} +0 -0
  323. /package/dist/{chunk-B3OYZQSP.js.map → chunk-BS2B4OOE.js.map} +0 -0
  324. /package/dist/{chunk-FOUXLCEA.js.map → chunk-BSOKKYGH.js.map} +0 -0
  325. /package/dist/{chunk-VV3LCB77.js.map → chunk-CFGQQEXD.js.map} +0 -0
  326. /package/dist/{chunk-SC7YWKOW.js.map → chunk-DN6BXTAC.js.map} +0 -0
  327. /package/dist/{chunk-3PYZQWDY.js.map → chunk-DSL5O7NR.js.map} +0 -0
  328. /package/dist/{chunk-GGULUMOP.js.map → chunk-EI44AIUW.js.map} +0 -0
  329. /package/dist/{chunk-NIDRVYUJ.js.map → chunk-F67DSAFU.js.map} +0 -0
  330. /package/dist/{chunk-W5QXZPMY.js.map → chunk-G2FGMFTN.js.map} +0 -0
  331. /package/dist/{chunk-PIIWY632.js.map → chunk-GHHMGTM4.js.map} +0 -0
  332. /package/dist/{chunk-PMRAJKJ5.js.map → chunk-GNDFT5KG.js.map} +0 -0
  333. /package/dist/{chunk-MZZFNRW5.js.map → chunk-H6Z54SNM.js.map} +0 -0
  334. /package/dist/{chunk-7R7AQHV2.js.map → chunk-HAI4J2FU.js.map} +0 -0
  335. /package/dist/{chunk-ZMQTQ4UQ.js.map → chunk-HIDA2KDX.js.map} +0 -0
  336. /package/dist/{chunk-HGIMRQIZ.js.map → chunk-ID4S6FWD.js.map} +0 -0
  337. /package/dist/{chunk-NEKE5PRJ.js.map → chunk-IF42CZJH.js.map} +0 -0
  338. /package/dist/{chunk-KBUBBK2E.js.map → chunk-IVDF2PMA.js.map} +0 -0
  339. /package/dist/{chunk-HHFDREGB.js.map → chunk-J3HIQRZO.js.map} +0 -0
  340. /package/dist/{chunk-XFQS2BVE.js.map → chunk-JQN26ZTU.js.map} +0 -0
  341. /package/dist/{chunk-B5KAHNYW.js.map → chunk-KSJLZDGY.js.map} +0 -0
  342. /package/dist/{chunk-FEWMPYBF.js.map → chunk-L3ZVE4JS.js.map} +0 -0
  343. /package/dist/{chunk-QV7CEES3.js.map → chunk-LV6MDD3M.js.map} +0 -0
  344. /package/dist/{chunk-KFFTPU6V.js.map → chunk-LVTBMTOU.js.map} +0 -0
  345. /package/dist/{chunk-VMZQN4WU.js.map → chunk-NRGNFMIO.js.map} +0 -0
  346. /package/dist/{chunk-KEYWBQH2.js.map → chunk-NZHABET6.js.map} +0 -0
  347. /package/dist/{chunk-XE6HQVLQ.js.map → chunk-O4CLVNOP.js.map} +0 -0
  348. /package/dist/{chunk-FAJ5I4Q4.js.map → chunk-OISWU4YR.js.map} +0 -0
  349. /package/dist/{chunk-SHOGXN3C.js.map → chunk-OPDKYPYM.js.map} +0 -0
  350. /package/dist/{chunk-57G3ZAX3.js.map → chunk-PEJ5SKA2.js.map} +0 -0
  351. /package/dist/{chunk-PJPYUB2R.js.map → chunk-PSCFVUJB.js.map} +0 -0
  352. /package/dist/{chunk-YQQHCS4S.js.map → chunk-PXU2LCFW.js.map} +0 -0
  353. /package/dist/{chunk-7KMXTQ4C.js.map → chunk-Q7SMO5VI.js.map} +0 -0
  354. /package/dist/{chunk-PET4EGTM.js.map → chunk-QK3FQD6C.js.map} +0 -0
  355. /package/dist/{chunk-MZXFOY5T.js.map → chunk-QZMSDP2S.js.map} +0 -0
  356. /package/dist/{chunk-UFAQ7CQH.js.map → chunk-R3JUKEDN.js.map} +0 -0
  357. /package/dist/{chunk-P6H7QMKK.js.map → chunk-RFVHV6RE.js.map} +0 -0
  358. /package/dist/{chunk-YXHSALDR.js.map → chunk-RG36YL7L.js.map} +0 -0
  359. /package/dist/{chunk-OVU2VJM6.js.map → chunk-S4QKVG2B.js.map} +0 -0
  360. /package/dist/{chunk-GTU6MTZH.js.map → chunk-SL7O5CUW.js.map} +0 -0
  361. /package/dist/{chunk-ZSN43HMP.js.map → chunk-TMBL5YM4.js.map} +0 -0
  362. /package/dist/{chunk-UD24LBJ6.js.map → chunk-TNGJKUUV.js.map} +0 -0
  363. /package/dist/{chunk-WRCHICCJ.js.map → chunk-TZGC6PWQ.js.map} +0 -0
  364. /package/dist/{chunk-INPMEOFL.js.map → chunk-UOWQ7UKA.js.map} +0 -0
  365. /package/dist/{chunk-ZBIXHOET.js.map → chunk-UYSY6Z5S.js.map} +0 -0
  366. /package/dist/{chunk-3D7HWCNX.js.map → chunk-UZBAOB4W.js.map} +0 -0
  367. /package/dist/{chunk-FXJM54I4.js.map → chunk-V7YF7ICV.js.map} +0 -0
  368. /package/dist/{chunk-W2WMUANF.js.map → chunk-VJGCSIOB.js.map} +0 -0
  369. /package/dist/{chunk-YOFPHSYV.js.map → chunk-WKAVKFP6.js.map} +0 -0
  370. /package/dist/{chunk-XLURXRQT.js.map → chunk-X25ZOPO6.js.map} +0 -0
  371. /package/dist/{chunk-UELAVKG5.js.map → chunk-X4IJ52GQ.js.map} +0 -0
  372. /package/dist/{chunk-ZTNH2YIM.js.map → chunk-XICRWKIW.js.map} +0 -0
  373. /package/dist/{chunk-HADEU7QX.js.map → chunk-YCP65XIN.js.map} +0 -0
  374. /package/dist/{chunk-I7JKBQHL.js.map → chunk-YRDXBXXA.js.map} +0 -0
  375. /package/dist/{chunk-KRZGFZUS.js.map → chunk-YUKREGGF.js.map} +0 -0
  376. /package/dist/{chunk-KH4DEFZT.js.map → chunk-YW4FHEYJ.js.map} +0 -0
  377. /package/dist/{chunk-VPFGVFXE.js.map → chunk-YZ3KEILH.js.map} +0 -0
  378. /package/dist/{chunk-S7DDWZOR.js.map → chunk-ZF3JITFM.js.map} +0 -0
@@ -0,0 +1,2 @@
1
+ import{a}from"./chunk-WKAVKFP6.js";import"./chunk-QJJZTAG2.js";import"./chunk-OPDKYPYM.js";import"./chunk-RFVHV6RE.js";import"./chunk-Y3CJRZLA.js";import"./chunk-BYDNNJHZ.js";import"./chunk-G2LZFGZA.js";import"./chunk-H2O4CVKF.js";import"./chunk-P37U34EQ.js";export{a as CheckboxFieldDefault};
2
+ //# sourceMappingURL=CheckboxFieldDefault-OK7JODEG.js.map
@@ -0,0 +1,2 @@
1
+ import{a}from"./chunk-6NKXOUJW.js";import"./chunk-DJIQISA2.js";import"./chunk-3B6BHFDV.js";import"./chunk-MHIY35CK.js";import"./chunk-ZOTY3CAM.js";import"./chunk-OPDKYPYM.js";import"./chunk-T5J2Z6ZR.js";import"./chunk-RFVHV6RE.js";import"./chunk-Y3CJRZLA.js";import"./chunk-BYDNNJHZ.js";import"./chunk-G2LZFGZA.js";import"./chunk-H2O4CVKF.js";import"./chunk-P37U34EQ.js";export{a as CountryFieldDefault};
2
+ //# sourceMappingURL=CountryFieldDefault-ORC6XVVK.js.map
@@ -0,0 +1,2 @@
1
+ import{a}from"./chunk-DAFIBCX4.js";import"./chunk-3B6BHFDV.js";import"./chunk-OPDKYPYM.js";import"./chunk-T5J2Z6ZR.js";import"./chunk-RFVHV6RE.js";import"./chunk-Y3CJRZLA.js";import"./chunk-BYDNNJHZ.js";import"./chunk-G2LZFGZA.js";import"./chunk-H2O4CVKF.js";import"./chunk-P37U34EQ.js";export{a as DatePickerFieldDefault};
2
+ //# sourceMappingURL=DatePickerFieldDefault-XMG6ZDVQ.js.map
@@ -0,0 +1,2 @@
1
+ import{a}from"./chunk-NZHABET6.js";import"./chunk-3UBFABDS.js";import"./chunk-ZOTY3CAM.js";import"./chunk-OPDKYPYM.js";import"./chunk-RFVHV6RE.js";import"./chunk-Y3CJRZLA.js";import"./chunk-BYDNNJHZ.js";import"./chunk-G2LZFGZA.js";import"./chunk-H2O4CVKF.js";import"./chunk-P37U34EQ.js";export{a as RadioGroupFieldDefault};
2
+ //# sourceMappingURL=RadioGroupFieldDefault-XR37OID5.js.map
@@ -0,0 +1,2 @@
1
+ import{a}from"./chunk-PSCFVUJB.js";import"./chunk-OPDKYPYM.js";import"./chunk-RFVHV6RE.js";import"./chunk-Y3CJRZLA.js";import"./chunk-BYDNNJHZ.js";import"./chunk-G2LZFGZA.js";import"./chunk-H2O4CVKF.js";import"./chunk-P37U34EQ.js";export{a as TextAreaFieldDefault};
2
+ //# sourceMappingURL=TextAreaFieldDefault-5YJYIBAO.js.map
@@ -1,2 +1,2 @@
1
- import{Q as i,Z as s}from"./chunk-KWIWHDBS.js";import{e as a}from"./chunk-H2O4CVKF.js";import{a as r}from"./chunk-P37U34EQ.js";import{useQuery as o}from"@tanstack/react-query";var u=r(t=>{let{client:n}=a();return o({queryKey:["gp-onboarding-steps",t],enabled:!!t,retry:!1,queryFn:r(async()=>{let e=await s({client:n,headers:{Authorization:""},path:{employment_id:t}});if(e.error||!e.data)throw new Error("Failed to fetch onboarding steps");return e.data},"queryFn"),select:r(e=>e.data.steps,"select")})},"useGPOnboardingSteps"),c=r(t=>{let{client:n}=a();return o({queryKey:["gp-legal-entities",t],enabled:!!t,retry:!1,queryFn:r(async()=>{let e=await i({client:n,headers:{Authorization:""},path:{company_id:t}});if(e.error||!e.data)throw new Error("Failed to fetch legal entities");return e.data},"queryFn"),select:r(e=>(e.data?.legal_entities??[]).filter(l=>l.global_payroll_enabled),"select")})},"useGPLegalEntities");export{u as a,c as b};
2
- //# sourceMappingURL=chunk-SKQZ6BPK.js.map
1
+ import{Q as i,Z as s}from"./chunk-BYDNNJHZ.js";import{e as a}from"./chunk-H2O4CVKF.js";import{a as r}from"./chunk-P37U34EQ.js";import{useQuery as o}from"@tanstack/react-query";var u=r(t=>{let{client:n}=a();return o({queryKey:["gp-onboarding-steps",t],enabled:!!t,retry:!1,queryFn:r(async()=>{let e=await s({client:n,headers:{Authorization:""},path:{employment_id:t}});if(e.error||!e.data)throw new Error("Failed to fetch onboarding steps");return e.data},"queryFn"),select:r(e=>e.data.steps,"select")})},"useGPOnboardingSteps"),c=r(t=>{let{client:n}=a();return o({queryKey:["gp-legal-entities",t],enabled:!!t,retry:!1,queryFn:r(async()=>{let e=await i({client:n,headers:{Authorization:""},path:{company_id:t}});if(e.error||!e.data)throw new Error("Failed to fetch legal entities");return e.data},"queryFn"),select:r(e=>(e.data?.legal_entities??[]).filter(l=>l.global_payroll_enabled),"select")})},"useGPLegalEntities");export{u as a,c as b};
2
+ //# sourceMappingURL=chunk-2TAVZJPX.js.map
@@ -0,0 +1,2 @@
1
+ import{a as se,b as me,c as fe,d as ye,e as _e,f as ge,g as be,i as Ce,j as Se,k as we,l as ve,m as he,n as Pe,o as Ee,p as Oe,q as Ve,r as Fe,s as Me,t as Ie,u as De,v as Ae,w as Re,x as ke}from"./chunk-ADXJUDVS.js";import{a as Te,b as qe,c as Le}from"./chunk-PXU2LCFW.js";import{a as ce,b as le,f as ue,g as de,h as pe}from"./chunk-E2463GRM.js";import{a as q,b as st,c as _,d as oe,g as ae}from"./chunk-PB6UQ4A4.js";import{a as ie}from"./chunk-GNDFT5KG.js";import{f as te,h as ee,i as ne}from"./chunk-HIDA2KDX.js";import{Q as Zt}from"./chunk-BYDNNJHZ.js";import{a as zt,b,d as Xt,h as y,i as D,u as A,v}from"./chunk-G2LZFGZA.js";import{a as re}from"./chunk-JDIKYCN6.js";import{e as Yt}from"./chunk-H2O4CVKF.js";import{a as p}from"./chunk-P37U34EQ.js";import{useEffect as h,useMemo as a,useRef as xe,useState as P}from"react";import Be from"lodash.omit";import{useQuery as Bn}from"@tanstack/react-query";var Qn=p(()=>{let{client:B}=Yt(),{data:L}=me(),d=fe(L)?L?.company?.id??"":"";return Bn({queryKey:["legal-entities",d],queryFn:p(()=>Zt({client:B,path:{company_id:d},query:{page_size:100}}),"queryFn"),select:p(j=>j.data?.data?.legal_entities,"select"),enabled:!!d})},"useLegalEntities"),je=p(()=>{let{data:B}=Qn();return B?.find(L=>L.is_default)},"useDefaultLegalEntity");var Nn={select_country:null,basic_information:"employment_basic_information",contract_origin:null,contract_details:null,eligibility_questionnaire:null,pricing_plan:null,contract_preview:null,review:null},Jn={employment_basic_information:"basic_information"},Ci=p(({countryCode:B,externalId:L,employmentId:d,skipSteps:j,options:f,initialValues:l})=>{let Qe=f?.excludeProducts||[],gt=xe(f?.onContractReviewed);h(()=>{gt.current=f?.onContractReviewed},[f?.onContractReviewed]);let[u,bt]=P(B||null),[r,Ne]=P(d),[g,Ct]=P(void 0),tt=xe({select_country:{},basic_information:{},contract_origin:{},contract_details:{},contract_preview:{},pricing_plan:{},eligibility_questionnaire:{}}),[Q,Je]=P(void 0),[St,wt]=P(!1),[vt,Ue]=P(!0),[ht,Ke]=P(!0),[Pt,Ge]=P(!0),[ct,Et]=P(null),{steps:He,stepsArray:We}=a(()=>ce({includeSelectCountry:!j?.includes("select_country"),includeContractOrigin:Pt,includeEligibilityQuestionnaire:St,includeContractDetails:ht,includeContractPreview:vt}),[Pt,St,ht,vt,j]),{fieldValues:s,stepState:e,setFieldValues:Ot,previousStep:$e,nextStep:ze,goToStep:N,setStepValues:Vt}=re(He);h(()=>{ct&&(N(ct),Et(null))},[ct,N]);let{data:o,isLoading:Xe,refetch:Ft}=ie({employmentId:r,queryParams:{exclude_files:!0}}),Ye=je(),{data:Mt}=ke({options:{queryOptions:{enabled:e.currentStep.name==="review"}}}),{status:R}=o||{},E=R&&ue.includes(R),Ze=R&&!de.includes(R),tn=a(()=>R&&["invited","initiated"].includes(R)?"invited":"not_invited",[R]),It=ee(),Dt=ne(u,f),lt=Se(),At=se(),{mutateAsync:Rt}=he(lt,At,s),kt=Ve(),Tt=Fe(),qt=Ie(),{mutateAsyncOrThrow:en}=b(Dt),Lt=_e(),jt=Ce(),xt=Me(),{mutateAsyncOrThrow:nn}=b(It),{mutateAsyncOrThrow:rn}=b(lt),{mutateAsyncOrThrow:on}=b(Lt),{mutateAsyncOrThrow:Bt}=b(jt),{mutateAsyncOrThrow:an}=b(kt),{mutateAsyncOrThrow:Qt}=b(Tt),{mutateAsyncOrThrow:sn}=b(xt),{mutateAsyncOrThrow:cn}=b(qt);d&&o?.country?.code&&!u&&bt(o.country.code);let{selectCountryForm:J,isLoading:ln,countries:Nt}=Ae({jsfModify:f?.jsfModify?.select_country}),ut=a(()=>Nt?.find(t=>t.value===u),[Nt,u]),un=a(()=>ut?.label,[ut]),dn=e.currentStep.name==="pricing_plan"||!!d&&E,{form:O,isLoading:pn,contractorSubscriptions:et,filteredContractorSubscriptions:U,refetch:dt,isEligibilityQuestionnaireBlocked:K}=ve(r,ut,{jsonSchemaVersion:f?.jsonSchemaVersion,queryOptions:{enabled:dn},excludeProducts:Qe,jsfModify:f?.jsfModify?.pricing_plan}),k=a(()=>!!et?.find(t=>t.product.identifier===_)?.eligibility_questionnaire?.submitted_at,[et]),Jt=a(()=>k?!1:Q===_,[k,Q]),Ut=o?.contractor_type!=="cor",mn=s.contract_origin??e.values?.contract_origin?.contract_origin??o?.contract_details?.contract_origin,x=Q===q&&mn==="provided_by_customer";h(()=>{Ke(!x)},[x]),h(()=>{wt(!x&&Jt)},[x,Jt]),h(()=>{Ue(!x&&Ut)},[x,Ut]);let nt=a(()=>et?.find(t=>t.product.identifier===_)?.eligibility_questionnaire?.responses,[et]),fn=Nn[e.currentStep.name]||"contractor_basic_information",yn=Jn[fn],_n=o?.[yn]||{},gn=p(({form:t,options:i={},query:c={}})=>{let I=Object.keys(s).length>0?{...l,...e.values?.[e.currentStep.name],...s}:{...l,..._n};return te({countryCode:u,form:t,fieldValues:I,query:c,options:{...i,queryOptions:{enabled:i.queryOptions?.enabled??!0}}})},"useJSONSchema"),bn=!!(u&&(e.currentStep.name==="basic_information"||d)),Cn=!!(u==="GBR"&&d&&e.currentStep.name==="basic_information"),{data:G,isLoading:Sn}=Pe(d,{enabled:Cn}),{data:it,isLoading:wn}=Ee(r,{enabled:!!r});h(()=>{it&&it.length>0&&!g&&Ct(it[0].id)},[it,g]);let{data:C,isLoading:vn}=gn({form:"contractor_basic_information",options:{jsfModify:qe(u,un,f),queryOptions:{enabled:bn}}}),hn=a(()=>le(o?.basic_information?.provisional_start_date,s?.service_duration?.provisional_start_date),[o?.basic_information?.provisional_start_date,s?.service_duration?.provisional_start_date]),m=a(()=>{let t={standard:q,plus:st,cor:_};if(s.subscription)return s.subscription;let i=e.values?.pricing_plan?.subscription;if(i&&!K)return i;if(k&&!K)return _;if(K&&k)return q;if(U&&U.length>0)return t[o?.contractor_type]||q},[s,e.values,k,o?.contractor_type,K,U]);h(()=>{m&&m!==Q&&Je(m)},[m,Q]),h(()=>{Ge(!j?.includes("contract_origin")&&m===q)},[j,m]);let Pn=a(()=>({...nt,...l,...e.values?.eligibility_questionnaire,...s}),[nt,l,e.values?.eligibility_questionnaire,s]),En=a(()=>m===_&&e.currentStep.name==="eligibility_questionnaire"||!!d&&E&&m===_,[m,e.currentStep.name,d,E]),{data:V,isLoading:On}=Oe({options:{queryOptions:{enabled:En},jsfModify:f?.jsfModify?.eligibility_questionnaire},fieldValues:Pn}),Vn=!!(u&&e.currentStep.name==="contract_details"||E),{data:S,isLoading:Fn}=Re({countryCode:u,fieldValues:s,employmentId:r,options:{queryOptions:{enabled:Vn},jsfModify:Te(f?.jsfModify?.contract_details,hn,m,s,m===_)}}),Mn=a(()=>e.currentStep.name==="contract_preview"||!!d&&E,[e.currentStep.name,d,E]),{data:F}=ye({fieldValues:s,options:{queryOptions:{enabled:Mn},jsfModify:Le(f,s)}}),{data:M}=De({fieldValues:s,options:{jsfModify:f?.jsfModify?.contract_origin}}),{data:pt,isLoading:In,refetch:Dn}=ge({employmentId:r,contractDocumentId:g,options:{queryOptions:{enabled:!!g}}}),{hasCompanySignedContract:An}=be({employmentId:r,contractDocumentId:g,options:{queryOptions:{enabled:!!g}}}),n=a(()=>({select_country:J?.fields||[],basic_information:C?.fields||[],contract_origin:M?.fields||[],pricing_plan:O?.fields||[],eligibility_questionnaire:V?.fields||[],contract_details:S?.fields||[],contract_preview:F?.fields||[],review:[]}),[J?.fields,C?.fields,M?.fields,O?.fields,S?.fields,F?.fields,V?.fields]),Rn={select_country:null,basic_information:C?.meta["x-jsf-fieldsets"],contract_origin:null,pricing_plan:null,contract_details:S?.meta["x-jsf-fieldsets"],eligibility_questionnaire:null,contract_preview:null,review:null},kn={select_country:J?.meta?.["x-jsf-presentation"],basic_information:C?.meta?.["x-jsf-presentation"],contract_origin:M?.meta?.["x-jsf-presentation"],pricing_plan:O?.meta?.["x-jsf-presentation"],eligibility_questionnaire:V?.meta?.["x-jsf-presentation"],contract_details:S?.meta?.["x-jsf-presentation"],contract_preview:F?.meta?.["x-jsf-presentation"],review:null},{country:Tn,basic_information:rt={},contract_details:Kt={}}=o||{},Gt=Tn?.code,H=a(()=>D(n.select_country,{country:u||Gt||""}),[n.select_country,u,Gt]),mt=a(()=>G?.content?Xt(G.content,G.name):null,[G?.content,G?.name]),W=a(()=>{let t={...l,...rt,ir35:o?.contract_details?.ir_35,nationality_status:o?.contract_details?.nationality,...mt&&{ir35_sds_file:[mt]}};return D(n.basic_information,t)},[l,rt,o?.contract_details?.ir_35,o?.contract_details?.nationality,mt,n.basic_information]),Ht=a(()=>{let t={...l,contract_origin:o?.contract_details?.contract_origin};return D(n.contract_origin,t)},[n.contract_origin,l,o?.contract_details?.contract_origin]),$=a(()=>{let i={...{service_duration:{provisional_start_date:rt.provisional_start_date}},...l,...Kt};return D(n.contract_details,i)},[n.contract_details,Kt,l,rt]),z=a(()=>{let t=pt?.contract_document?.signatories?.find(c=>c.type==="company"),i={...l,signature:t?.signature};return D(n.contract_preview,i)},[n.contract_preview,l,pt]),X=a(()=>{let i={...{subscription:m},...l};return D(n.pricing_plan,i)},[n.pricing_plan,l,m]),Y=a(()=>{let t={...l,...nt};return D(n.eligibility_questionnaire,t)},[n.eligibility_questionnaire,l,nt]),qn=a(()=>({select_country:H,basic_information:W,contract_origin:Ht,contract_details:$,contract_preview:z,pricing_plan:X,eligibility_questionnaire:Y}),[H,W,Ht,$,z,X,Y]),ft=!!(d&&E&&e.currentStep.name!=="review"),yt=ln||vn||Xe||Fn||pn||In||Sn||wn||On,Wt=a(()=>{let i=o?.contractor_type==="cor"||n.contract_preview.length>0;return!!(ft&&!yt&&g&&n.basic_information.length>0&&n.contract_details.length>0&&i)},[ft,yt,g,n.basic_information.length,n.contract_details.length,n.contract_preview.length,o?.contractor_type]);h(()=>{Wt&&(tt.current={select_country:A(H,n.select_country,{skipMoneyConversion:!0}),basic_information:A(W,n.basic_information,{skipMoneyConversion:!0}),contract_origin:{},contract_details:A($,n.contract_details,{skipMoneyConversion:!0}),contract_preview:A(z,n.contract_preview,{skipMoneyConversion:!0}),pricing_plan:A(X,n.pricing_plan,{skipMoneyConversion:!0}),eligibility_questionnaire:A(Y,n.eligibility_questionnaire,{skipMoneyConversion:!0})},Vt({select_country:H,basic_information:W,contract_origin:{},contract_details:$,contract_preview:z,pricing_plan:X,eligibility_questionnaire:Y,review:{}}),N("review"))},[Wt,N,H,W,$,Vt,n.select_country,n.basic_information,n.contract_details,n.pricing_plan,X,n.contract_preview,z,n.eligibility_questionnaire,Y]);let Ln=p(t=>{N(t)},"goTo"),$t=p(async t=>J&&e.currentStep.name==="select_country"?t:C&&e.currentStep.name==="basic_information"?await y(t,C?.fields,{isPartialValidation:!1}):S&&e.currentStep.name==="contract_details"?await y(t,S?.fields,{isPartialValidation:!1}):F&&e.currentStep.name==="contract_preview"?await y(t,F?.fields,{isPartialValidation:!1}):O&&e.currentStep.name==="pricing_plan"?await y(t,O?.fields,{isPartialValidation:!1}):V&&e.currentStep.name==="eligibility_questionnaire"?await y(t,V?.fields,{isPartialValidation:!1}):M&&e.currentStep.name==="contract_origin"?await y(t,M?.fields,{isPartialValidation:!1}):{},"parseFormValues"),jn=p(t=>{if(!zt(t))return null;let i=t.normalizedErrors.services_and_deliverables,c=Array.isArray(i)?i[0]:i;return c?.source===ae?{error:c.error,source:c.source,skippable:c.skippable}:null},"extractAiValidationError");async function xn(t){let i=e.currentStep.name,c=await $t(t);switch(i in tt.current&&(tt.current[i]=A(c,n[i])),e.currentStep.name){case"select_country":return bt(c.country),Promise.resolve({data:{countryCode:c.country}});case"basic_information":{let T=!r&&u,I=r&&u&&o?.country&&o?.country.code!==u;if(T||I){let _t={basic_information:Be(c,"nationality_status","ir35","ir35_sds_file"),type:"contractor",country_code:u,external_id:L},at=await nn(_t),w=at?.data?.employment?.id;if(!w)throw v("Employment ID not found");return await Rt({employmentId:w}),Ne(w),at}else if(r){let ot=Be(c,"nationality_status","ir35","ir35_sds_file");return await Rt({employmentId:r}),en({employmentId:r,basic_information:ot})}return}case"contract_details":{let{services_and_deliverables_ai_warning:T,services_and_deliverables_error_skippable:I,...ot}=c,_t=s.services_and_deliverables_error_skippable===!0,at={contract_document:ot,skip_ai_checks:_t};try{let w=await rn({employmentId:r,payload:at}),Z=w?.data?.contract_document?.id;if(!Z)throw v("Contract document ID not found");return Ct(Z),w}catch(w){let Z=jn(w);throw Z&&Ot({...t,services_and_deliverables_ai_warning:pe(m===_),services_and_deliverables_error_skippable:Z.skippable}),w}}case"contract_preview":{if(An)return Promise.resolve({data:{contract_document:{id:g}}});let T=await on({employmentId:r,contractDocumentId:g,payload:{signature:c.signature}});return await Dn(),T}case"pricing_plan":{if(t.subscription===oe)return Promise.resolve({data:{subscription:t.subscription}});if(U.length===0)throw v("No available subscriptions.");if(!t.subscription&&U.length>0)throw v("Please select a subscription plan.");if(K&&[_,st].includes(t.subscription))throw v(`This individual is not eligible for ${we[t.subscription]}.`);if(k&&t.subscription!==_)try{await sn({employmentId:r}),await dt()}catch(I){if(I?.response?.status!==404)throw I;await dt()}if(t.subscription==q)return Bt({employmentId:r,payload:{operation:"downgrade"}});if(t.subscription==st)return Bt({employmentId:r,payload:{operation:"upgrade"}});if(t.subscription==_)return k&&o?.contractor_type!=="cor"?Qt({employmentId:r}):Promise.resolve({data:{subscription:t.subscription}});throw v("invalid selection")}case"contract_origin":return t.contract_origin==="provided_by_customer"&&await cn({employmentId:r,contractOrigin:"provided_by_customer",templateType:"contractor_agreement"}),{data:{contractOrigin:t.contract_origin}};case"eligibility_questionnaire":try{if((await an({employmentId:r,payload:c}))?.data?.is_blocking)throw wt(!1),Et("pricing_plan"),v("This individual is not eligible for Contractor of Record.");return await Qt({employmentId:r})}finally{await dt()}default:throw v("Invalid step state")}}return p(xn,"onSubmit"),{isLoading:yt||ft,fieldValues:s,stepState:e,checkFieldUpdates:Ot,markContractAsReviewed:p(()=>{gt.current?.()},"markContractAsReviewed"),back:$e,next:p(()=>{r&&Ft(),ze()},"handleNextStep"),goTo:Ln,onSubmit:xn,fields:n[e.currentStep.name],meta:{fields:tt.current,fieldsets:Rn[e.currentStep.name],presentation:kn[e.currentStep.name]},parseFormValues:$t,canSkipAiValidation:s.services_and_deliverables_error_skippable===!0,handleValidation:p(async t=>{if(e.currentStep.name==="select_country")return J.handleValidation(t);if(C&&e.currentStep.name==="basic_information"){let i=await y(t,C?.fields,{isPartialValidation:!1});return C?.handleValidation(i)}if(S&&e.currentStep.name==="contract_details"){let i=await y(t,S?.fields,{isPartialValidation:!1});return S?.handleValidation(i)}if(F&&e.currentStep.name==="contract_preview"){let i=await y(t,F?.fields,{isPartialValidation:!0});return F?.handleValidation(i)}if(O&&e.currentStep.name==="pricing_plan"){let i=await y(t,O?.fields,{isPartialValidation:!1});return O?.handleValidation(i)}if(V&&e.currentStep.name==="eligibility_questionnaire"){let i=await y(t,V?.fields,{isPartialValidation:!1});return V?.handleValidation(i)}if(M&&e.currentStep.name==="contract_origin"){let i=await y(t,M?.fields,{isPartialValidation:!1});return M?.handleValidation(i)}return null},"handleValidation"),initialValues:qn,employmentId:r,refetchEmployment:Ft,isSubmitting:It.isPending||Dt.isPending||lt.isPending||Lt.isPending||jt.isPending||At.isPending||kt.isPending||Tt.isPending||xt.isPending||qt.isPending,documentPreviewPdf:pt,canInvite:Ze,isEmploymentReadOnly:E,invitedStatus:tn,employment:o,defaultLegalEntity:Ye,needsCompanyVerification:Mt?.some(t=>t.type==="verify_company")??!1,needsRemotePaymentsSetup:Mt?.some(t=>t.type==="setup_remote_payments")??!1,steps:We}},"useContractorOnboarding");export{Ci as a};
2
+ //# sourceMappingURL=chunk-3HMUXWNW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/ContractorOnboarding/hooks.tsx","../src/common/api/legal-entities.ts"],"sourcesContent":["import { useEffect, useMemo, useRef, useState } from 'react';\nimport { FieldValues } from 'react-hook-form';\nimport omit from 'lodash.omit';\nimport { $TSFixMe, JSFFields } from '@/src/types/remoteFlows';\nimport {\n CreateContractDocument,\n Employment,\n EmploymentCreateParams,\n} from '@/src/client/types.gen';\nimport {\n getInitialValues,\n parseJSFToValidate,\n} from '@/src/components/form/utils';\nimport { ValidationResult } from '@remoteoss/remote-json-schema-form-kit';\nimport {\n useCreateContractorContractDocument,\n useGetContractDocumentSignatureSchema,\n usePostManageContractorSubscriptions,\n useContractorSubscriptionSchemaField,\n useGetShowContractDocument,\n useSignContractDocument,\n useUpdateUKandSaudiFields,\n useGetIR35File,\n useGetContractDocuments,\n useGetEligibilityQuestionnaire,\n usePostCreateEligibilityQuestionnaire,\n usePostManageContractorCorSubscription,\n useDeleteContractorCorSubscription,\n useCountriesSchemaField,\n useContractorOnboardingDetailsSchemaWithCurrencies,\n CONTRACT_PRODUCT_TITLES,\n useHasCompanySignedContract,\n useCompanyOpenTasks,\n useSetContractOrigin,\n useGetContractOriginSchema,\n} from '@/src/flows/ContractorOnboarding/api';\nimport {\n ContractorOnboardingFlowProps,\n ContractorOnboardingHookOptions,\n} from '@/src/flows/ContractorOnboarding/types';\nimport {\n buildSteps,\n calculateProvisionalStartDateDescription,\n reviewStepAllowedEmploymentStatus,\n disabledInviteButtonEmploymentStatus,\n StepKeys,\n} from '@/src/flows/ContractorOnboarding/utils';\nimport {\n useCreateEmployment,\n useJSONSchemaForm,\n useUpdateEmployment,\n} from '@/src/flows/Onboarding/api';\nimport { FlowOptions, JSFModify, JSONSchemaFormType } from '@/src/flows/types';\nimport { useStepState } from '@/src/flows/useStepState';\nimport { mutationToPromise, isMutationError } from '@/src/lib/mutations';\nimport { createStructuredError, prettifyFormValues } from '@/src/lib/utils';\nimport { JSFFieldset, Meta } from '@/src/types/remoteFlows';\nimport {\n contractorStandardProductIdentifier,\n contractorPlusProductIdentifier,\n corProductIdentifier,\n eorProductIdentifier,\n REMOTE_AI_ERROR_SOURCE,\n} from '@/src/flows/ContractorOnboarding/constants';\nimport {\n buildBasicInformationJsfModify,\n buildContractDetailsJsfModify,\n buildContractPreviewJsfModify,\n} from '@/src/flows/ContractorOnboarding/jsfModify';\nimport { transformAiErrorResponse } from '@/src/flows/ContractorOnboarding/utils';\nimport { AiValidationError } from '@/src/flows/ContractorOnboarding/types';\nimport { useUploadFile } from '@/src/common/api/files';\nimport { dataURLtoFile } from '@/src/lib/files';\nimport { useEmploymentQuery } from '@/src/common/api/employment';\nimport { useDefaultLegalEntity } from '@/src/common/api/legal-entities';\n\ntype useContractorOnboardingProps = Omit<\n ContractorOnboardingFlowProps,\n 'render' | 'options'\n> & {\n options: ContractorOnboardingHookOptions;\n};\n\nconst stepToFormSchemaMap: Record<StepKeys, JSONSchemaFormType | null> = {\n select_country: null,\n basic_information: 'employment_basic_information',\n contract_origin: null,\n contract_details: null,\n eligibility_questionnaire: null,\n pricing_plan: null,\n contract_preview: null,\n review: null,\n};\n\nconst jsonSchemaToEmployment: Partial<\n Record<JSONSchemaFormType, keyof Employment>\n> = {\n employment_basic_information: 'basic_information',\n};\n\nexport const useContractorOnboarding = ({\n countryCode,\n externalId,\n employmentId,\n skipSteps,\n options,\n initialValues: onboardingInitialValues,\n}: useContractorOnboardingProps) => {\n const excludeProducts = options?.excludeProducts || [];\n\n const onContractReviewedRef = useRef(options?.onContractReviewed);\n\n useEffect(() => {\n onContractReviewedRef.current = options?.onContractReviewed;\n }, [options?.onContractReviewed]);\n\n const [internalCountryCode, setInternalCountryCode] = useState<string | null>(\n countryCode || null,\n );\n const [internalEmploymentId, setInternalEmploymentId] = useState<\n string | undefined\n >(employmentId);\n const [internalContractDocumentId, setInternalContractDocumentId] = useState<\n string | undefined\n >(undefined);\n const fieldsMetaRef = useRef<{\n select_country: Meta;\n basic_information: Meta;\n contract_origin: Meta;\n contract_details: Meta;\n contract_preview: Meta;\n pricing_plan: Meta;\n eligibility_questionnaire: Meta;\n }>({\n select_country: {},\n basic_information: {},\n contract_origin: {},\n contract_details: {},\n contract_preview: {},\n pricing_plan: {},\n eligibility_questionnaire: {},\n });\n\n const [selectedProduct, setSelectedProduct] = useState<string | undefined>(\n undefined,\n );\n\n const [includeEligibilityQuestionnaire, setIncludeEligibilityQuestionnaire] =\n useState<boolean>(false);\n\n const [includeContractPreview, setIncludeContractPreview] =\n useState<boolean>(true);\n\n const [includeContractDetails, setIncludeContractDetails] =\n useState<boolean>(true);\n\n const [includeContractOrigin, setIncludeContractOrigin] =\n useState<boolean>(true);\n\n const [pendingNavigationStep, setPendingNavigationStep] =\n useState<StepKeys | null>(null);\n\n const { steps, stepsArray } = useMemo(\n () =>\n buildSteps({\n includeSelectCountry: !skipSteps?.includes('select_country'),\n includeContractOrigin: includeContractOrigin,\n includeEligibilityQuestionnaire: includeEligibilityQuestionnaire,\n includeContractDetails: includeContractDetails,\n includeContractPreview: includeContractPreview,\n }),\n [\n includeContractOrigin,\n includeEligibilityQuestionnaire,\n includeContractDetails,\n includeContractPreview,\n skipSteps,\n ],\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 { data: openTasks } = useCompanyOpenTasks({\n options: {\n queryOptions: {\n enabled: stepState.currentStep.name === 'review',\n },\n },\n });\n\n const { status: employmentStatus } = employment || {};\n\n const isEmploymentReadOnly =\n employmentStatus &&\n reviewStepAllowedEmploymentStatus.includes(employmentStatus);\n\n const canInvite =\n employmentStatus &&\n !disabledInviteButtonEmploymentStatus.includes(employmentStatus);\n\n const invitedStatus: 'invited' | 'not_invited' = useMemo(() => {\n const invitedStatuses = ['invited', 'initiated'];\n const isInvited =\n employmentStatus && invitedStatuses.includes(employmentStatus);\n\n return isInvited ? 'invited' : 'not_invited';\n }, [employmentStatus]);\n\n const createEmploymentMutation = useCreateEmployment();\n const updateEmploymentMutation = useUpdateEmployment(\n internalCountryCode as string,\n options,\n );\n const createContractorContractDocumentMutation =\n useCreateContractorContractDocument();\n const uploadFileMutation = useUploadFile();\n const { mutateAsync: updateUKandSaudiFieldsMutation } =\n useUpdateUKandSaudiFields(\n createContractorContractDocumentMutation,\n uploadFileMutation,\n fieldValues,\n );\n const createEligibilityQuestionnaireMutation =\n usePostCreateEligibilityQuestionnaire();\n const manageContractorCorSubscriptionMutation =\n usePostManageContractorCorSubscription();\n const setContractOriginMutation = useSetContractOrigin();\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 const { mutateAsyncOrThrow: setContractOriginMutationAsync } =\n mutationToPromise(setContractOriginMutation);\n\n // if the employment is loaded, country code has not been set yet\n // we set the internal country code with the employment country code\n if (employmentId && employment?.country?.code && !internalCountryCode) {\n setInternalCountryCode(employment.country.code);\n }\n\n const {\n selectCountryForm,\n isLoading: isLoadingCountries,\n countries,\n } = useCountriesSchemaField({\n jsfModify: options?.jsfModify?.select_country,\n });\n\n const selectedCountry = useMemo(() => {\n return countries?.find((country) => country.value === internalCountryCode);\n }, [countries, internalCountryCode]);\n\n const countryName = useMemo(() => {\n return selectedCountry?.label;\n }, [selectedCountry]);\n\n const isPricingPlanEnabled =\n stepState.currentStep.name === 'pricing_plan' ||\n (Boolean(employmentId) && isEmploymentReadOnly);\n\n const {\n form: selectContractorSubscriptionForm,\n isLoading: isLoadingContractorSubscriptions,\n contractorSubscriptions,\n filteredContractorSubscriptions,\n refetch: refetchContractorSubscriptions,\n isEligibilityQuestionnaireBlocked,\n } = useContractorSubscriptionSchemaField(\n internalEmploymentId as string,\n selectedCountry,\n {\n jsonSchemaVersion: options?.jsonSchemaVersion,\n queryOptions: {\n enabled: isPricingPlanEnabled,\n },\n excludeProducts: excludeProducts,\n jsfModify: options?.jsfModify?.pricing_plan,\n },\n );\n\n const hasEligibilityQuestionnaireSubmitted = useMemo(() => {\n return Boolean(\n contractorSubscriptions?.find(\n (subscription) =>\n subscription.product.identifier === corProductIdentifier,\n )?.eligibility_questionnaire?.submitted_at,\n );\n }, [contractorSubscriptions]);\n\n const shouldIncludeEligibilityQuestionnaire = useMemo(() => {\n if (hasEligibilityQuestionnaireSubmitted) return false;\n return selectedProduct === corProductIdentifier;\n }, [hasEligibilityQuestionnaireSubmitted, selectedProduct]);\n\n const shouldIncludeContractPreview = employment?.contractor_type !== 'cor';\n\n const selectedContractOrigin =\n (fieldValues.contract_origin as string | undefined) ??\n (stepState.values?.contract_origin?.contract_origin as\n | string\n | undefined) ??\n employment?.contract_details?.contract_origin;\n\n const isContractProvidedByCustomer =\n selectedProduct === contractorStandardProductIdentifier &&\n selectedContractOrigin === 'provided_by_customer';\n\n useEffect(() => {\n setIncludeContractDetails(!isContractProvidedByCustomer);\n }, [isContractProvidedByCustomer]);\n\n useEffect(() => {\n setIncludeEligibilityQuestionnaire(\n !isContractProvidedByCustomer && shouldIncludeEligibilityQuestionnaire,\n );\n }, [isContractProvidedByCustomer, shouldIncludeEligibilityQuestionnaire]);\n\n useEffect(() => {\n setIncludeContractPreview(\n !isContractProvidedByCustomer && shouldIncludeContractPreview,\n );\n }, [isContractProvidedByCustomer, shouldIncludeContractPreview]);\n\n const eligibilityAnswers = useMemo(() => {\n return contractorSubscriptions?.find(\n (subscription) =>\n subscription.product.identifier === corProductIdentifier,\n )?.eligibility_questionnaire?.responses;\n }, [contractorSubscriptions]);\n\n const formType =\n stepToFormSchemaMap[stepState.currentStep.name] ||\n 'contractor_basic_information';\n const employmentKey = jsonSchemaToEmployment[formType] as keyof Employment;\n const serverEmploymentData = (employment?.[employmentKey] || {}) as Record<\n string,\n unknown\n >;\n\n const useJSONSchema = ({\n form,\n options: jsonSchemaOptions = {},\n query = {},\n }: {\n form: JSONSchemaFormType;\n options?: {\n jsfModify?: JSFModify;\n queryOptions?: { enabled?: boolean };\n jsonSchemaVersion?: FlowOptions['jsonSchemaVersion'];\n };\n query?: Record<string, string>;\n }) => {\n const hasUserEnteredAnyValues = Object.keys(fieldValues).length > 0;\n // when you write on the fields, the values are stored in the fieldValues state\n // when values are stored in the stepState is when the user has navigated to the step\n // and then we have the values from the server and the onboardingInitialValues that the user can inject,\n const mergedFormValues = hasUserEnteredAnyValues\n ? {\n ...onboardingInitialValues,\n ...stepState.values?.[stepState.currentStep.name], // Restore values for the current step\n ...fieldValues,\n }\n : {\n ...onboardingInitialValues,\n ...serverEmploymentData,\n };\n\n return useJSONSchemaForm({\n countryCode: internalCountryCode as string,\n form: form,\n fieldValues: mergedFormValues,\n query,\n options: {\n ...jsonSchemaOptions,\n queryOptions: {\n enabled: jsonSchemaOptions.queryOptions?.enabled ?? true,\n },\n },\n });\n };\n\n const isBasicInformationDetailsEnabled = Boolean(\n internalCountryCode &&\n (stepState.currentStep.name === 'basic_information' ||\n Boolean(employmentId)),\n );\n\n const isIR35FileEnabled = Boolean(\n internalCountryCode === 'GBR' &&\n employmentId &&\n stepState.currentStep.name === 'basic_information',\n );\n\n const { data: ir35File, isLoading: isLoadingIR35File } = useGetIR35File(\n employmentId as string,\n {\n enabled: isIR35FileEnabled,\n },\n );\n\n const { data: contractDocuments, isLoading: isLoadingContractDocuments } =\n useGetContractDocuments(internalEmploymentId as string, {\n enabled: Boolean(internalEmploymentId),\n });\n\n useEffect(() => {\n if (\n contractDocuments &&\n contractDocuments.length > 0 &&\n !internalContractDocumentId\n ) {\n setInternalContractDocumentId(contractDocuments[0].id);\n }\n }, [contractDocuments, internalContractDocumentId]);\n\n const {\n data: basicInformationForm,\n isLoading: isLoadingBasicInformationForm,\n } = useJSONSchema({\n form: 'contractor_basic_information',\n options: {\n jsfModify: buildBasicInformationJsfModify(\n internalCountryCode as string,\n countryName,\n options,\n ),\n queryOptions: {\n enabled: isBasicInformationDetailsEnabled,\n },\n },\n });\n\n const descriptionProvisionalStartDate = useMemo(() => {\n return calculateProvisionalStartDateDescription(\n employment?.basic_information?.provisional_start_date as string,\n fieldValues?.service_duration?.provisional_start_date as string,\n );\n }, [\n employment?.basic_information?.provisional_start_date,\n fieldValues?.service_duration?.provisional_start_date,\n ]);\n\n /**\n * When the user selects COR, the data isn't saved yet in the BE\n * We need to use the internalState to know what has happened\n */\n const selectedPricingPlan = useMemo(() => {\n const subscriptions = {\n standard: contractorStandardProductIdentifier,\n plus: contractorPlusProductIdentifier,\n cor: corProductIdentifier,\n };\n\n // HIGHEST PRIORITY: Current form value (user is actively selecting)\n if (fieldValues.subscription) {\n return fieldValues.subscription;\n }\n\n // SECOND: Previously submitted value in this session\n const subscription = stepState.values?.pricing_plan?.subscription;\n if (subscription && !isEligibilityQuestionnaireBlocked) {\n return subscription;\n }\n\n // THIRD: Backend state (eligibility submitted or employment contractor_type)\n if (\n hasEligibilityQuestionnaireSubmitted &&\n !isEligibilityQuestionnaireBlocked\n ) {\n return corProductIdentifier;\n }\n\n // Fourth: If the eligibility questionnaire is blocked and has been submitted, return the standard product\n if (\n isEligibilityQuestionnaireBlocked &&\n hasEligibilityQuestionnaireSubmitted\n ) {\n return contractorStandardProductIdentifier;\n }\n\n // Fifth: If there are no available subscriptions, return undefined\n const hasAvailableSubscriptions =\n filteredContractorSubscriptions &&\n filteredContractorSubscriptions.length > 0;\n\n if (!hasAvailableSubscriptions) {\n return undefined;\n }\n\n // FALLBACK: Employment contractor_type or default\n return (\n subscriptions[\n employment?.contractor_type as keyof typeof subscriptions\n ] || contractorStandardProductIdentifier\n );\n }, [\n fieldValues,\n stepState.values,\n hasEligibilityQuestionnaireSubmitted,\n employment?.contractor_type,\n isEligibilityQuestionnaireBlocked,\n filteredContractorSubscriptions,\n ]);\n\n useEffect(() => {\n if (selectedPricingPlan && selectedPricingPlan !== selectedProduct) {\n setSelectedProduct(selectedPricingPlan);\n }\n }, [selectedPricingPlan, selectedProduct]);\n\n useEffect(() => {\n setIncludeContractOrigin(\n !skipSteps?.includes('contract_origin') &&\n selectedPricingPlan === contractorStandardProductIdentifier,\n );\n }, [skipSteps, selectedPricingPlan]);\n\n const eligibilityFields = useMemo(() => {\n return {\n ...eligibilityAnswers,\n ...onboardingInitialValues,\n ...stepState.values?.eligibility_questionnaire,\n ...fieldValues,\n };\n }, [\n eligibilityAnswers,\n onboardingInitialValues,\n stepState.values?.eligibility_questionnaire,\n fieldValues,\n ]);\n\n const isEligibilityQuestionnaireEnabled = useMemo(() => {\n return (\n (selectedPricingPlan === corProductIdentifier &&\n stepState.currentStep.name === 'eligibility_questionnaire') ||\n (Boolean(employmentId) &&\n isEmploymentReadOnly &&\n selectedPricingPlan === corProductIdentifier)\n );\n }, [\n selectedPricingPlan,\n stepState.currentStep.name,\n employmentId,\n isEmploymentReadOnly,\n ]);\n\n const {\n data: eligibilityQuestionnaireForm,\n isLoading: isLoadingEligibilityQuestionnaire,\n } = useGetEligibilityQuestionnaire({\n options: {\n queryOptions: {\n enabled: isEligibilityQuestionnaireEnabled,\n },\n jsfModify: options?.jsfModify?.eligibility_questionnaire,\n },\n fieldValues: eligibilityFields,\n });\n\n const isContractorOnboardingDetailsEnabled = Boolean(\n (internalCountryCode &&\n stepState.currentStep.name === 'contract_details') ||\n isEmploymentReadOnly,\n );\n\n const {\n data: contractorOnboardingDetailsForm,\n isLoading: isLoadingContractorOnboardingDetailsForm,\n } = useContractorOnboardingDetailsSchemaWithCurrencies({\n countryCode: internalCountryCode as string,\n fieldValues: fieldValues,\n employmentId: internalEmploymentId as string,\n options: {\n queryOptions: {\n enabled: isContractorOnboardingDetailsEnabled,\n },\n jsfModify: buildContractDetailsJsfModify(\n options?.jsfModify?.contract_details,\n descriptionProvisionalStartDate,\n selectedPricingPlan,\n fieldValues,\n selectedPricingPlan === corProductIdentifier,\n ),\n },\n });\n\n const isSignatureSchemaEnabled = useMemo(() => {\n return (\n stepState.currentStep.name === 'contract_preview' ||\n (Boolean(employmentId) && isEmploymentReadOnly)\n );\n }, [stepState.currentStep.name, employmentId, isEmploymentReadOnly]);\n\n const { data: signatureSchemaForm } = useGetContractDocumentSignatureSchema({\n fieldValues: fieldValues,\n options: {\n queryOptions: {\n enabled: isSignatureSchemaEnabled,\n },\n jsfModify: buildContractPreviewJsfModify(options, fieldValues),\n },\n });\n\n const { data: contractOriginForm } = useGetContractOriginSchema({\n fieldValues: fieldValues,\n options: {\n jsfModify: options?.jsfModify?.contract_origin,\n },\n });\n\n const {\n data: documentPreviewPdf,\n isLoading: isLoadingDocumentPreviewForm,\n refetch: refetchDocumentPreviewForm,\n } = useGetShowContractDocument({\n employmentId: internalEmploymentId as string,\n contractDocumentId: internalContractDocumentId as string,\n options: {\n queryOptions: {\n enabled: Boolean(internalContractDocumentId),\n },\n },\n });\n\n const { hasCompanySignedContract } = useHasCompanySignedContract({\n employmentId: internalEmploymentId as string,\n contractDocumentId: internalContractDocumentId as string,\n options: {\n queryOptions: {\n enabled: Boolean(internalContractDocumentId),\n },\n },\n });\n\n const stepFields: Record<StepKeys, JSFFields> = useMemo(\n () => ({\n select_country: selectCountryForm?.fields || [],\n basic_information: basicInformationForm?.fields || [],\n contract_origin: contractOriginForm?.fields || [],\n pricing_plan: selectContractorSubscriptionForm?.fields || [],\n eligibility_questionnaire: eligibilityQuestionnaireForm?.fields || [],\n contract_details: contractorOnboardingDetailsForm?.fields || [],\n contract_preview: signatureSchemaForm?.fields || [],\n review: [],\n }),\n [\n selectCountryForm?.fields,\n basicInformationForm?.fields,\n contractOriginForm?.fields,\n selectContractorSubscriptionForm?.fields,\n contractorOnboardingDetailsForm?.fields,\n signatureSchemaForm?.fields,\n eligibilityQuestionnaireForm?.fields,\n ],\n );\n\n const stepFieldsWithFlatFieldsets: Record<\n StepKeys,\n JSFFieldset | null | undefined\n > = {\n select_country: null,\n basic_information: basicInformationForm?.meta['x-jsf-fieldsets'],\n contract_origin: null,\n pricing_plan: null,\n contract_details: contractorOnboardingDetailsForm?.meta['x-jsf-fieldsets'],\n eligibility_questionnaire: null,\n contract_preview: null,\n review: null,\n };\n\n const stepPresentation: Record<\n StepKeys,\n Record<string, unknown> | null | undefined\n > = {\n select_country: selectCountryForm?.meta?.['x-jsf-presentation'],\n basic_information: basicInformationForm?.meta?.['x-jsf-presentation'],\n contract_origin: contractOriginForm?.meta?.['x-jsf-presentation'],\n pricing_plan:\n selectContractorSubscriptionForm?.meta?.['x-jsf-presentation'],\n eligibility_questionnaire:\n eligibilityQuestionnaireForm?.meta?.['x-jsf-presentation'],\n contract_details:\n contractorOnboardingDetailsForm?.meta?.['x-jsf-presentation'],\n contract_preview: signatureSchemaForm?.meta?.['x-jsf-presentation'],\n review: null,\n };\n\n const {\n country,\n basic_information: employmentBasicInformation = {},\n contract_details: employmentContractDetails = {},\n } = employment || {};\n\n const employmentCountryCode = country?.code;\n\n const selectCountryInitialValues = useMemo(\n () =>\n getInitialValues(stepFields.select_country, {\n country: internalCountryCode || employmentCountryCode || '',\n }),\n [stepFields.select_country, internalCountryCode, employmentCountryCode],\n );\n\n // memoize file conversion to avoid re-converting the file on every render\n // noticed performance issues when not doing memoizing individually\n const convertedIr35File = useMemo(() => {\n if (!ir35File?.content) return null;\n return dataURLtoFile(ir35File.content as unknown as string, ir35File.name);\n }, [ir35File?.content, ir35File?.name]);\n\n const basicInformationInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...employmentBasicInformation,\n ir35: employment?.contract_details?.ir_35,\n nationality_status: employment?.contract_details?.nationality,\n ...(convertedIr35File && {\n ir35_sds_file: [convertedIr35File],\n }),\n };\n\n return getInitialValues(stepFields.basic_information, initialValues);\n }, [\n onboardingInitialValues,\n employmentBasicInformation,\n employment?.contract_details?.ir_35,\n employment?.contract_details?.nationality,\n convertedIr35File,\n stepFields.basic_information,\n ]);\n\n const contractOriginInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n contract_origin: employment?.contract_details?.contract_origin,\n };\n return getInitialValues(stepFields.contract_origin, initialValues);\n }, [\n stepFields.contract_origin,\n onboardingInitialValues,\n employment?.contract_details?.contract_origin,\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_origin: contractOriginInitialValues,\n contract_details: contractDetailsInitialValues,\n contract_preview: contractPreviewInitialValues,\n pricing_plan: pricingPlanInitialValues,\n eligibility_questionnaire: eligibilityQuestionnaireInitialValues,\n };\n }, [\n selectCountryInitialValues,\n basicInformationInitialValues,\n contractOriginInitialValues,\n contractDetailsInitialValues,\n contractPreviewInitialValues,\n pricingPlanInitialValues,\n eligibilityQuestionnaireInitialValues,\n ]);\n\n const shouldHandleReadOnlyEmployment = Boolean(\n employmentId &&\n isEmploymentReadOnly &&\n stepState.currentStep.name !== 'review',\n );\n\n const initialLoading =\n isLoadingCountries ||\n isLoadingBasicInformationForm ||\n isLoadingEmployment ||\n isLoadingContractorOnboardingDetailsForm ||\n isLoadingContractorSubscriptions ||\n isLoadingDocumentPreviewForm ||\n isLoadingIR35File ||\n isLoadingContractDocuments ||\n isLoadingEligibilityQuestionnaire;\n\n const isNavigatingToReview = useMemo(() => {\n const isCor = employment?.contractor_type === 'cor';\n const hasContractPreviewFields =\n isCor || stepFields.contract_preview.length > 0;\n\n return Boolean(\n shouldHandleReadOnlyEmployment &&\n !initialLoading &&\n Boolean(internalContractDocumentId) &&\n stepFields.basic_information.length > 0 &&\n stepFields.contract_details.length > 0 &&\n hasContractPreviewFields,\n );\n }, [\n shouldHandleReadOnlyEmployment,\n initialLoading,\n internalContractDocumentId,\n stepFields.basic_information.length,\n stepFields.contract_details.length,\n stepFields.contract_preview.length,\n employment?.contractor_type,\n ]);\n\n useEffect(() => {\n if (isNavigatingToReview) {\n fieldsMetaRef.current = {\n select_country: prettifyFormValues(\n selectCountryInitialValues,\n stepFields.select_country,\n { skipMoneyConversion: true },\n ),\n basic_information: prettifyFormValues(\n basicInformationInitialValues,\n stepFields.basic_information,\n { skipMoneyConversion: true },\n ),\n contract_origin: {},\n contract_details: prettifyFormValues(\n contractDetailsInitialValues,\n stepFields.contract_details,\n { skipMoneyConversion: true },\n ),\n contract_preview: prettifyFormValues(\n contractPreviewInitialValues,\n stepFields.contract_preview,\n { skipMoneyConversion: true },\n ),\n pricing_plan: prettifyFormValues(\n pricingPlanInitialValues,\n stepFields.pricing_plan,\n { skipMoneyConversion: true },\n ),\n eligibility_questionnaire: prettifyFormValues(\n eligibilityQuestionnaireInitialValues,\n stepFields.eligibility_questionnaire,\n { skipMoneyConversion: true },\n ),\n };\n\n setStepValues({\n select_country: selectCountryInitialValues,\n basic_information: basicInformationInitialValues,\n contract_origin: {},\n contract_details: contractDetailsInitialValues,\n contract_preview: contractPreviewInitialValues,\n pricing_plan: pricingPlanInitialValues,\n eligibility_questionnaire: eligibilityQuestionnaireInitialValues,\n review: {},\n });\n goToStep('review');\n }\n }, [\n isNavigatingToReview,\n goToStep,\n selectCountryInitialValues,\n basicInformationInitialValues,\n contractDetailsInitialValues,\n setStepValues,\n stepFields.select_country,\n stepFields.basic_information,\n stepFields.contract_details,\n stepFields.pricing_plan,\n pricingPlanInitialValues,\n stepFields.contract_preview,\n contractPreviewInitialValues,\n stepFields.eligibility_questionnaire,\n eligibilityQuestionnaireInitialValues,\n ]);\n\n const goTo = (step: StepKeys) => {\n goToStep(step);\n };\n\n const parseFormValues = async (values: FieldValues) => {\n if (selectCountryForm && stepState.currentStep.name === 'select_country') {\n return values;\n }\n\n if (\n basicInformationForm &&\n stepState.currentStep.name === 'basic_information'\n ) {\n return await parseJSFToValidate(values, basicInformationForm?.fields, {\n isPartialValidation: false,\n });\n }\n\n if (\n contractorOnboardingDetailsForm &&\n stepState.currentStep.name === 'contract_details'\n ) {\n return await parseJSFToValidate(\n values,\n contractorOnboardingDetailsForm?.fields,\n {\n isPartialValidation: false,\n },\n );\n }\n\n if (\n signatureSchemaForm &&\n stepState.currentStep.name === 'contract_preview'\n ) {\n return await parseJSFToValidate(values, signatureSchemaForm?.fields, {\n isPartialValidation: false,\n });\n }\n\n if (\n selectContractorSubscriptionForm &&\n stepState.currentStep.name === 'pricing_plan'\n ) {\n return await parseJSFToValidate(\n values,\n selectContractorSubscriptionForm?.fields,\n {\n isPartialValidation: false,\n },\n );\n }\n\n if (\n eligibilityQuestionnaireForm &&\n stepState.currentStep.name === 'eligibility_questionnaire'\n ) {\n return await parseJSFToValidate(\n values,\n eligibilityQuestionnaireForm?.fields,\n {\n isPartialValidation: false,\n },\n );\n }\n\n if (\n contractOriginForm &&\n stepState.currentStep.name === 'contract_origin'\n ) {\n return await parseJSFToValidate(values, contractOriginForm?.fields, {\n isPartialValidation: false,\n });\n }\n\n return {};\n };\n\n /**\n * Extracts AI validation error from the error response\n * @param error - The error object from the API call\n * @returns The AI validation error if found, null otherwise\n */\n const extractAiValidationError = (\n error: unknown,\n ): AiValidationError | null => {\n if (!isMutationError(error)) {\n return null;\n }\n\n const rawError = error.normalizedErrors.services_and_deliverables;\n\n // The backend's normalize_errors wraps non-list values in an array,\n // so the AI validation error object arrives as a single-element array.\n const servicesAndDeliverablesError = (\n Array.isArray(rawError) ? rawError[0] : rawError\n ) as\n | {\n error: string[];\n source: string;\n skippable: boolean;\n }\n | undefined;\n\n if (servicesAndDeliverablesError?.source === REMOTE_AI_ERROR_SOURCE) {\n return {\n error: servicesAndDeliverablesError.error,\n source: servicesAndDeliverablesError.source,\n skippable: servicesAndDeliverablesError.skippable,\n };\n }\n return null;\n };\n\n async function onSubmit(values: FieldValues) {\n const currentStepName = stepState.currentStep.name;\n const parsedValues = await parseFormValues(values);\n\n if (currentStepName in fieldsMetaRef.current) {\n fieldsMetaRef.current[\n currentStepName as keyof typeof fieldsMetaRef.current\n ] = prettifyFormValues(parsedValues, stepFields[currentStepName]);\n }\n switch (stepState.currentStep.name) {\n case 'select_country': {\n setInternalCountryCode(parsedValues.country);\n return Promise.resolve({ data: { countryCode: parsedValues.country } });\n }\n case 'basic_information': {\n const isEmploymentNotLoaded =\n !internalEmploymentId && internalCountryCode;\n const hasChangedCountry =\n internalEmploymentId &&\n internalCountryCode &&\n employment?.country &&\n employment?.country.code !== internalCountryCode;\n\n if (isEmploymentNotLoaded || hasChangedCountry) {\n const basicInformationParsedValues = omit(\n parsedValues,\n 'nationality_status',\n 'ir35',\n 'ir35_sds_file',\n );\n const basicInformationPayload: EmploymentCreateParams = {\n basic_information: basicInformationParsedValues,\n type: 'contractor',\n country_code: internalCountryCode,\n external_id: externalId,\n };\n const response = await createEmploymentMutationAsync(\n basicInformationPayload,\n );\n const employmentId = response?.data?.employment?.id;\n if (!employmentId) {\n throw createStructuredError('Employment ID not found');\n }\n\n await updateUKandSaudiFieldsMutation({\n employmentId: employmentId as string,\n });\n\n // Only update state (triggers queries with fully consistent backend state) if not caused a bug\n // if one of the updateUKandSaudiFieldsMutation fails with a 422 for example\n setInternalEmploymentId(employmentId);\n\n return response;\n } else if (internalEmploymentId) {\n const basicInformationParsedValues = omit(\n parsedValues,\n 'nationality_status',\n 'ir35',\n 'ir35_sds_file',\n );\n\n await updateUKandSaudiFieldsMutation({\n employmentId: internalEmploymentId,\n });\n return updateEmploymentMutationAsync({\n employmentId: internalEmploymentId,\n basic_information: basicInformationParsedValues,\n });\n }\n\n return;\n }\n case 'contract_details': {\n const {\n services_and_deliverables_ai_warning:\n _servicesAndDeliverablesAiWarning,\n services_and_deliverables_error_skippable:\n _servicesAndDeliverablesErrorSkippable,\n ...contractDetailsData\n } = parsedValues;\n\n const shouldSkipAiChecks =\n fieldValues.services_and_deliverables_error_skippable === true;\n const payload: CreateContractDocument = {\n contract_document: contractDetailsData,\n skip_ai_checks: shouldSkipAiChecks,\n };\n\n try {\n const response = await createContractorContractDocumentMutationAsync({\n employmentId: internalEmploymentId as string,\n payload,\n });\n const contractDocumentId = response?.data?.contract_document?.id;\n if (!contractDocumentId) {\n throw createStructuredError('Contract document ID not found');\n }\n setInternalContractDocumentId(contractDocumentId);\n\n return response;\n } catch (error) {\n const aiError = extractAiValidationError(error);\n if (aiError) {\n const isContractorOfRecord =\n selectedPricingPlan === corProductIdentifier;\n setFieldValues({\n ...values,\n services_and_deliverables_ai_warning:\n transformAiErrorResponse(isContractorOfRecord),\n services_and_deliverables_error_skippable: aiError.skippable,\n });\n }\n\n throw error;\n }\n }\n\n case 'contract_preview': {\n if (hasCompanySignedContract) {\n return Promise.resolve({\n data: {\n contract_document: {\n id: internalContractDocumentId,\n },\n },\n });\n }\n const response = await signContractDocumentMutationAsync({\n employmentId: internalEmploymentId as string,\n contractDocumentId: internalContractDocumentId as string,\n payload: {\n signature: parsedValues.signature,\n },\n });\n await refetchDocumentPreviewForm();\n return response;\n }\n case 'pricing_plan': {\n if (values.subscription === eorProductIdentifier) {\n // EOR selection - no API call needed at this step\n return Promise.resolve({\n data: {\n subscription: values.subscription,\n },\n });\n }\n // If there are no available contractor subscriptions, throw an error\n if (filteredContractorSubscriptions.length === 0) {\n throw createStructuredError('No available subscriptions.');\n }\n\n if (\n !values.subscription &&\n filteredContractorSubscriptions.length > 0\n ) {\n throw createStructuredError('Please select a subscription plan.');\n }\n\n const blockedProductsEligibility = [\n corProductIdentifier,\n contractorPlusProductIdentifier,\n ];\n\n if (\n isEligibilityQuestionnaireBlocked &&\n blockedProductsEligibility.includes(values.subscription)\n ) {\n throw createStructuredError(\n `This individual is not eligible for ${\n CONTRACT_PRODUCT_TITLES[\n values.subscription as keyof typeof CONTRACT_PRODUCT_TITLES\n ]\n }.`,\n );\n }\n\n if (\n hasEligibilityQuestionnaireSubmitted &&\n values.subscription !== corProductIdentifier\n ) {\n try {\n await deleteContractorCorSubscriptionMutationAsync({\n employmentId: internalEmploymentId as string,\n });\n await refetchContractorSubscriptions();\n } catch (error) {\n if ((error as $TSFixMe)?.response?.status !== 404) {\n throw error;\n }\n // Still refetch to update the UI state\n await refetchContractorSubscriptions();\n }\n }\n\n if (values.subscription == contractorStandardProductIdentifier) {\n return manageContractorSubscriptionMutationAsync({\n employmentId: internalEmploymentId as string,\n payload: {\n operation: 'downgrade',\n },\n });\n } else if (values.subscription == contractorPlusProductIdentifier) {\n return manageContractorSubscriptionMutationAsync({\n employmentId: internalEmploymentId as string,\n payload: {\n operation: 'upgrade',\n },\n });\n } else if (values.subscription == corProductIdentifier) {\n if (\n hasEligibilityQuestionnaireSubmitted &&\n employment?.contractor_type !== 'cor'\n ) {\n return manageContractorCorSubscriptionMutationAsync({\n employmentId: internalEmploymentId as string,\n });\n } else {\n return Promise.resolve({\n data: { subscription: values.subscription },\n });\n }\n }\n\n throw createStructuredError('invalid selection');\n }\n\n case 'contract_origin': {\n // Step visibility is already reconciled reactively from the selected\n // value, so a plain next() lands on the right step (review when the\n // customer provides their own contract, otherwise eligibility /\n // contract_details). We only persist the choice server-side here.\n if (values.contract_origin === 'provided_by_customer') {\n await setContractOriginMutationAsync({\n employmentId: internalEmploymentId as string,\n contractOrigin: 'provided_by_customer',\n templateType: 'contractor_agreement',\n });\n }\n\n return {\n data: { contractOrigin: values.contract_origin },\n };\n }\n\n case 'eligibility_questionnaire': {\n try {\n const response = await createEligibilityQuestionnaireMutationAsync({\n employmentId: internalEmploymentId as string,\n payload: parsedValues,\n });\n\n const isEligibilityQuestionnaireBlocked = response?.data?.is_blocking;\n\n if (isEligibilityQuestionnaireBlocked) {\n setIncludeEligibilityQuestionnaire(false);\n setPendingNavigationStep('pricing_plan');\n throw createStructuredError(\n 'This individual is not eligible for Contractor of Record.',\n );\n }\n\n return await manageContractorCorSubscriptionMutationAsync({\n employmentId: internalEmploymentId as string,\n });\n } finally {\n // Always refetch to keep state in sync, even on error\n await refetchContractorSubscriptions();\n }\n }\n\n default: {\n throw createStructuredError('Invalid step state');\n }\n }\n }\n\n const markContractAsReviewed = () => {\n // Notify parent to sync form state\n onContractReviewedRef.current?.();\n };\n\n const handleNextStep = () => {\n if (internalEmploymentId) {\n refetchEmployment();\n }\n nextStep();\n };\n\n const isLoading = initialLoading || shouldHandleReadOnlyEmployment;\n\n return {\n /**\n * Loading state indicating if the flow is loading data\n */\n isLoading,\n\n /**\n * Current state of the form fields for the current step.\n */\n fieldValues,\n\n /**\n * Current step state containing the current step and total number of steps\n */\n stepState,\n\n /**\n * Function to update the current form field values\n * @param values - New form values to set\n */\n checkFieldUpdates: setFieldValues,\n\n /**\n * Function to mark the contract as reviewed\n * @param values - New form values to check\n * @returns {boolean}\n */\n markContractAsReviewed,\n\n /**\n * Function to handle going back to the previous step\n * @returns {void}\n */\n back: previousStep,\n\n /**\n * Function to handle going to the next step\n * @returns {void}\n */\n next: handleNextStep,\n\n /**\n * Function to handle going to a specific step\n * @param step The step to go to.\n * @returns {void}\n */\n goTo: goTo,\n\n /**\n * Function to handle form submission\n * @param values - Form values to submit\n * @returns Promise resolving to the mutation result\n */\n onSubmit,\n\n /**\n * Array of form fields from the onboarding schema\n */\n fields: stepFields[stepState.currentStep.name],\n\n /**\n * Fields metadata for each step\n */\n meta: {\n fields: fieldsMetaRef.current,\n fieldsets: stepFieldsWithFlatFieldsets[stepState.currentStep.name],\n presentation: stepPresentation[stepState.currentStep.name],\n },\n\n /**\n * Function to parse form values before submission\n * @param values - Form values to parse\n * @returns Parsed form values\n */\n parseFormValues,\n\n /**\n * Indicates whether AI validation errors can be skipped (user can continue at their own risk).\n * True when there's a skippable AI validation error on services_and_deliverables field.\n * @returns {boolean}\n */\n canSkipAiValidation:\n fieldValues.services_and_deliverables_error_skippable === true,\n\n /**\n * Function to validate form values against the onboarding schema\n * @param values - Form values to validate\n * @returns Validation result or null if no schema is available\n */\n handleValidation: async (\n values: FieldValues,\n ): Promise<ValidationResult | null> => {\n if (stepState.currentStep.name === 'select_country') {\n return selectCountryForm.handleValidation(values);\n }\n\n if (\n basicInformationForm &&\n stepState.currentStep.name === 'basic_information'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n basicInformationForm?.fields,\n { isPartialValidation: false },\n );\n return basicInformationForm?.handleValidation(parsedValues);\n }\n\n if (\n contractorOnboardingDetailsForm &&\n stepState.currentStep.name === 'contract_details'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n contractorOnboardingDetailsForm?.fields,\n { isPartialValidation: false },\n );\n return contractorOnboardingDetailsForm?.handleValidation(parsedValues);\n }\n\n if (\n signatureSchemaForm &&\n stepState.currentStep.name === 'contract_preview'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n signatureSchemaForm?.fields,\n { isPartialValidation: true },\n );\n return signatureSchemaForm?.handleValidation(parsedValues);\n }\n\n if (\n selectContractorSubscriptionForm &&\n stepState.currentStep.name === 'pricing_plan'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n selectContractorSubscriptionForm?.fields,\n { isPartialValidation: false },\n );\n return selectContractorSubscriptionForm?.handleValidation(parsedValues);\n }\n\n if (\n eligibilityQuestionnaireForm &&\n stepState.currentStep.name === 'eligibility_questionnaire'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n eligibilityQuestionnaireForm?.fields,\n { isPartialValidation: false },\n );\n return eligibilityQuestionnaireForm?.handleValidation(parsedValues);\n }\n\n if (\n contractOriginForm &&\n stepState.currentStep.name === 'contract_origin'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n contractOriginForm?.fields,\n { isPartialValidation: false },\n );\n return contractOriginForm?.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 setContractOriginMutation.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 /**\n * Whether the company needs to complete KYB verification before contractors can be paid.\n * Use this to show a company verification nudge banner on the review step.\n */\n needsCompanyVerification:\n openTasks?.some((a) => a.type === 'verify_company') ?? false,\n\n /**\n * Whether the company needs to set up Remote Payments.\n * Use this to show a Remote Payments setup nudge banner on the review step.\n */\n needsRemotePaymentsSetup:\n openTasks?.some((a) => a.type === 'setup_remote_payments') ?? false,\n\n /**\n * Steps array\n * @returns {Array<{name: string, index: number, visible: boolean, label: string}>}\n */\n steps: stepsArray,\n };\n};\n","import { useQuery } from '@tanstack/react-query';\nimport {\n getV1CompaniesCompanyIdLegalEntities,\n CompanyLegalEntity,\n} from '@/src/client';\nimport { Client } from '@/src/client/client';\nimport { useClient } from '@/src/context';\nimport { useIdentity } from '@/src/common/api/identity';\nimport { hasCompany } from '@/src/common/api/companies';\n\n/**\n * Hook to get the legal entities for a company\n * @param companyId - The company ID\n * @returns The legal entities\n */\nexport const useLegalEntities = () => {\n const { client } = useClient();\n const { data: identity } = useIdentity();\n const companyId = hasCompany(identity) ? (identity?.company?.id ?? '') : '';\n\n return useQuery({\n queryKey: ['legal-entities', companyId],\n queryFn: () =>\n getV1CompaniesCompanyIdLegalEntities({\n client: client as Client,\n path: {\n company_id: companyId,\n },\n query: {\n page_size: 100,\n },\n }),\n select: (data) => data.data?.data?.legal_entities,\n enabled: !!companyId,\n });\n};\n\nexport const useDefaultLegalEntity = () => {\n const { data: legalEntities } = useLegalEntities();\n return legalEntities?.find(\n (legalEntity: CompanyLegalEntity) => legalEntity.is_default,\n );\n};\n"],"mappings":"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","names":["useEffect","useMemo","useRef","useState","omit","useQuery","useLegalEntities","__name","client","useClient","identity","useIdentity","companyId","hasCompany","useQuery","getV1CompaniesCompanyIdLegalEntities","data","useDefaultLegalEntity","legalEntities","legalEntity","stepToFormSchemaMap","jsonSchemaToEmployment","useContractorOnboarding","__name","countryCode","externalId","employmentId","skipSteps","options","onboardingInitialValues","excludeProducts","onContractReviewedRef","useRef","useEffect","internalCountryCode","setInternalCountryCode","useState","internalEmploymentId","setInternalEmploymentId","internalContractDocumentId","setInternalContractDocumentId","fieldsMetaRef","selectedProduct","setSelectedProduct","includeEligibilityQuestionnaire","setIncludeEligibilityQuestionnaire","includeContractPreview","setIncludeContractPreview","includeContractDetails","setIncludeContractDetails","includeContractOrigin","setIncludeContractOrigin","pendingNavigationStep","setPendingNavigationStep","steps","stepsArray","useMemo","buildSteps","fieldValues","stepState","setFieldValues","previousStep","nextStep","goToStep","setStepValues","useStepState","employment","isLoadingEmployment","refetchEmployment","useEmploymentQuery","defaultLegalEntity","useDefaultLegalEntity","openTasks","useCompanyOpenTasks","employmentStatus","isEmploymentReadOnly","reviewStepAllowedEmploymentStatus","canInvite","disabledInviteButtonEmploymentStatus","invitedStatus","createEmploymentMutation","useCreateEmployment","updateEmploymentMutation","useUpdateEmployment","createContractorContractDocumentMutation","useCreateContractorContractDocument","uploadFileMutation","useUploadFile","updateUKandSaudiFieldsMutation","useUpdateUKandSaudiFields","createEligibilityQuestionnaireMutation","usePostCreateEligibilityQuestionnaire","manageContractorCorSubscriptionMutation","usePostManageContractorCorSubscription","setContractOriginMutation","useSetContractOrigin","updateEmploymentMutationAsync","mutationToPromise","signContractDocumentMutation","useSignContractDocument","manageContractorSubscriptionMutation","usePostManageContractorSubscriptions","deleteContractorCorSubscriptionMutation","useDeleteContractorCorSubscription","createEmploymentMutationAsync","createContractorContractDocumentMutationAsync","signContractDocumentMutationAsync","manageContractorSubscriptionMutationAsync","createEligibilityQuestionnaireMutationAsync","manageContractorCorSubscriptionMutationAsync","deleteContractorCorSubscriptionMutationAsync","setContractOriginMutationAsync","selectCountryForm","isLoadingCountries","countries","useCountriesSchemaField","selectedCountry","country","countryName","isPricingPlanEnabled","selectContractorSubscriptionForm","isLoadingContractorSubscriptions","contractorSubscriptions","filteredContractorSubscriptions","refetchContractorSubscriptions","isEligibilityQuestionnaireBlocked","useContractorSubscriptionSchemaField","hasEligibilityQuestionnaireSubmitted","subscription","corProductIdentifier","shouldIncludeEligibilityQuestionnaire","shouldIncludeContractPreview","selectedContractOrigin","isContractProvidedByCustomer","contractorStandardProductIdentifier","eligibilityAnswers","formType","employmentKey","serverEmploymentData","useJSONSchema","form","jsonSchemaOptions","query","mergedFormValues","useJSONSchemaForm","isBasicInformationDetailsEnabled","isIR35FileEnabled","ir35File","isLoadingIR35File","useGetIR35File","contractDocuments","isLoadingContractDocuments","useGetContractDocuments","basicInformationForm","isLoadingBasicInformationForm","buildBasicInformationJsfModify","descriptionProvisionalStartDate","calculateProvisionalStartDateDescription","selectedPricingPlan","subscriptions","contractorPlusProductIdentifier","eligibilityFields","isEligibilityQuestionnaireEnabled","eligibilityQuestionnaireForm","isLoadingEligibilityQuestionnaire","useGetEligibilityQuestionnaire","isContractorOnboardingDetailsEnabled","contractorOnboardingDetailsForm","isLoadingContractorOnboardingDetailsForm","useContractorOnboardingDetailsSchemaWithCurrencies","buildContractDetailsJsfModify","isSignatureSchemaEnabled","signatureSchemaForm","useGetContractDocumentSignatureSchema","buildContractPreviewJsfModify","contractOriginForm","useGetContractOriginSchema","documentPreviewPdf","isLoadingDocumentPreviewForm","refetchDocumentPreviewForm","useGetShowContractDocument","hasCompanySignedContract","useHasCompanySignedContract","stepFields","stepFieldsWithFlatFieldsets","stepPresentation","employmentBasicInformation","employmentContractDetails","employmentCountryCode","selectCountryInitialValues","getInitialValues","convertedIr35File","dataURLtoFile","basicInformationInitialValues","initialValues","contractOriginInitialValues","contractDetailsInitialValues","contractPreviewInitialValues","signature","signatory","pricingPlanInitialValues","eligibilityQuestionnaireInitialValues","shouldHandleReadOnlyEmployment","initialLoading","isNavigatingToReview","hasContractPreviewFields","prettifyFormValues","goTo","step","parseFormValues","values","parseJSFToValidate","extractAiValidationError","error","isMutationError","rawError","servicesAndDeliverablesError","REMOTE_AI_ERROR_SOURCE","onSubmit","currentStepName","parsedValues","isEmploymentNotLoaded","hasChangedCountry","basicInformationPayload","omit","response","createStructuredError","basicInformationParsedValues","_servicesAndDeliverablesAiWarning","_servicesAndDeliverablesErrorSkippable","contractDetailsData","shouldSkipAiChecks","payload","contractDocumentId","aiError","transformAiErrorResponse","eorProductIdentifier","CONTRACT_PRODUCT_TITLES","a"]}
@@ -1,2 +1,2 @@
1
- import{c as e}from"./chunk-P6H7QMKK.js";import{a as n}from"./chunk-P37U34EQ.js";import{jsx as o,jsxs as t}from"react/jsx-runtime";var a=n(({involuntaryOffboardingServiceChargeZendeskId:r,reconciliationInvoiceZendeskId:i})=>t("p",{className:"RemoteFlows__AcknowledgeInformationFees text-xs text-[#71717A]",children:["You'll receive an"," ",o(e,{zendeskId:r,className:"align-baseline",children:"involuntary offboarding service charge \u2197"})," ","on your"," ",o(e,{zendeskId:i,children:"reconciliation invoice \u2197"})]}),"AcknowledgeInformationFees");export{a};
2
- //# sourceMappingURL=chunk-O3KGCVBO.js.map
1
+ import{c as e}from"./chunk-RFVHV6RE.js";import{a as n}from"./chunk-P37U34EQ.js";import{jsx as o,jsxs as t}from"react/jsx-runtime";var a=n(({involuntaryOffboardingServiceChargeZendeskId:r,reconciliationInvoiceZendeskId:i})=>t("p",{className:"RemoteFlows__AcknowledgeInformationFees text-xs text-[#71717A]",children:["You'll receive an"," ",o(e,{zendeskId:r,className:"align-baseline",children:"involuntary offboarding service charge \u2197"})," ","on your"," ",o(e,{zendeskId:i,children:"reconciliation invoice \u2197"})]}),"AcknowledgeInformationFees");export{a};
2
+ //# sourceMappingURL=chunk-3QSHWQS3.js.map
@@ -1,2 +1,2 @@
1
- import{b as n}from"./chunk-MRYRNB7Y.js";import{a as l}from"./chunk-J2ARI3NQ.js";import{a as t}from"./chunk-UELAVKG5.js";import{h as a}from"./chunk-Y3CJRZLA.js";import{a as r}from"./chunk-P37U34EQ.js";import{jsx as e}from"react/jsx-runtime";function S({defaultValues:s,fields:i,onSubmit:d}){let{formId:F,terminationBag:o}=n(),m=l({handleValidation:o.handleValidation,defaultValues:s,checkFieldUpdates:o.checkFieldUpdates}),u=i||(o?.fields??[]);return e(a,{...m,children:e("form",{id:F,onSubmit:m.handleSubmit(d),className:"space-y-4 RemoteFlows__TerminationForm",children:e(t,{fields:u})})})}r(S,"TerminationForm");export{S as a};
2
- //# sourceMappingURL=chunk-4WBEA4IY.js.map
1
+ import{b as n}from"./chunk-MRYRNB7Y.js";import{a as l}from"./chunk-J2ARI3NQ.js";import{a as t}from"./chunk-X4IJ52GQ.js";import{h as a}from"./chunk-Y3CJRZLA.js";import{a as r}from"./chunk-P37U34EQ.js";import{jsx as e}from"react/jsx-runtime";function S({defaultValues:s,fields:i,onSubmit:d}){let{formId:F,terminationBag:o}=n(),m=l({handleValidation:o.handleValidation,defaultValues:s,checkFieldUpdates:o.checkFieldUpdates}),u=i||(o?.fields??[]);return e(a,{...m,children:e("form",{id:F,onSubmit:m.handleSubmit(d),className:"space-y-4 RemoteFlows__TerminationForm",children:e(t,{fields:u})})})}r(S,"TerminationForm");export{S as a};
2
+ //# sourceMappingURL=chunk-4KKA35AX.js.map
@@ -1,2 +1,2 @@
1
- import{a as d}from"./chunk-J2ARI3NQ.js";import{b as c}from"./chunk-Q3ALCPJN.js";import{a as l}from"./chunk-UELAVKG5.js";import{h as m}from"./chunk-Y3CJRZLA.js";import{c as s}from"./chunk-G2LZFGZA.js";import{a}from"./chunk-P37U34EQ.js";import{useEffect as f}from"react";import{jsx as F}from"react/jsx-runtime";import{createElement as V}from"react";function B({defaultValues:p,onSubmit:u,components:S}){let{formId:y,contractorOnboardingBag:o,formRef:t}=c(),r=d({handleValidation:o.handleValidation,defaultValues:p,checkFieldUpdates:o.checkFieldUpdates});f(()=>{t?.setValue&&(t.setValue.current=r.setValue)},[r.setValue,t]),f(()=>{o.employmentId&&o?.checkFieldUpdates(r.getValues())},[]);let g=a(async(n,b)=>{let i=b?.nativeEvent;if(i?.isDraftSubmission){let{onSuccess:P,onError:E}=i.draftCallbacks;try{await o.onSubmit(n),P?.()}catch(e){let C=o.stepState.currentStep.name,h=o.meta?.fields?.[C],O=s(e?.fieldErrors||[],h);E?.({error:e?.error||e,rawError:e?.rawError||e,fieldErrors:O})}}else await u(n,r)},"handleSubmit");return V(m,{...r,key:`form-${o.stepState.currentStep.name}`},F("form",{id:y,onSubmit:r.handleSubmit(g),className:"space-y-4 RemoteFlows__OnboardingForm",children:F(l,{components:S,fields:o.fields,fieldsets:o.meta.fieldsets,fieldValues:o.fieldValues})}))}a(B,"ContractorOnboardingForm");export{B as a};
2
- //# sourceMappingURL=chunk-BLCINT3L.js.map
1
+ import{a as d}from"./chunk-J2ARI3NQ.js";import{b as c}from"./chunk-Q3ALCPJN.js";import{a as l}from"./chunk-X4IJ52GQ.js";import{h as m}from"./chunk-Y3CJRZLA.js";import{c as s}from"./chunk-G2LZFGZA.js";import{a}from"./chunk-P37U34EQ.js";import{useEffect as f}from"react";import{jsx as F}from"react/jsx-runtime";import{createElement as V}from"react";function B({defaultValues:p,onSubmit:u,components:S}){let{formId:y,contractorOnboardingBag:o,formRef:t}=c(),r=d({handleValidation:o.handleValidation,defaultValues:p,checkFieldUpdates:o.checkFieldUpdates});f(()=>{t?.setValue&&(t.setValue.current=r.setValue)},[r.setValue,t]),f(()=>{o.employmentId&&o?.checkFieldUpdates(r.getValues())},[]);let g=a(async(n,b)=>{let i=b?.nativeEvent;if(i?.isDraftSubmission){let{onSuccess:P,onError:E}=i.draftCallbacks;try{await o.onSubmit(n),P?.()}catch(e){let C=o.stepState.currentStep.name,h=o.meta?.fields?.[C],O=s(e?.fieldErrors||[],h);E?.({error:e?.error||e,rawError:e?.rawError||e,fieldErrors:O})}}else await u(n,r)},"handleSubmit");return V(m,{...r,key:`form-${o.stepState.currentStep.name}`},F("form",{id:y,onSubmit:r.handleSubmit(g),className:"space-y-4 RemoteFlows__OnboardingForm",children:F(l,{components:S,fields:o.fields,fieldsets:o.meta.fieldsets,fieldValues:o.fieldValues})}))}a(B,"ContractorOnboardingForm");export{B as a};
2
+ //# sourceMappingURL=chunk-4QJUNKBR.js.map
@@ -1,2 +1,2 @@
1
- import{a as F}from"./chunk-DJIQISA2.js";import{a as u}from"./chunk-SHOGXN3C.js";import{j as p,k as l,l as i,n as a,o as c}from"./chunk-Y3CJRZLA.js";import{a as m}from"./chunk-P37U34EQ.js";import{useEffect as $,useState as v}from"react";import{jsx as n,jsxs as C}from"react/jsx-runtime";function L({field:t,fieldState:b,fieldData:o}){let[g,s]=v([]),_=m(e=>{let r=e.map(({value:S})=>S);t.onChange(r),s(e)},"handleChange");$(()=>{t.value&&o.options&&s(t.value.map(e=>o?.options?.find(r=>r.value===e)))},[t.value,o.options]);let y=[...Object.entries(o.$meta?.regions||{}).map(([e,r])=>({value:r,label:e,category:"Regions"})),...Object.entries(o.$meta?.subregions||{}).map(([e,r])=>({value:r,label:e,category:"Subregions"})),...o.options?.map(e=>({...e,value:e.value,label:e.label,category:"Countries"}))||[]];return C(p,{"data-field":t.name,className:`RemoteFlows__CountryField__Item__${t.name}`,children:[n(l,{className:"RemoteFlows__CountryField__Label",children:o.label}),n(i,{children:n(F,{options:y,selected:g,onChange:_})}),o.description&&C(a,{children:[o.description," ",n(u,{helpCenter:o.meta?.helpCenter})]}),b.error&&n(c,{})]})}m(L,"CountryFieldDefault");export{L as a};
2
- //# sourceMappingURL=chunk-7EKNQYS5.js.map
1
+ import{a as F}from"./chunk-DJIQISA2.js";import{a as u}from"./chunk-OPDKYPYM.js";import{j as p,k as l,l as i,n as a,o as c}from"./chunk-Y3CJRZLA.js";import{a as m}from"./chunk-P37U34EQ.js";import{useEffect as $,useState as v}from"react";import{jsx as n,jsxs as C}from"react/jsx-runtime";function L({field:t,fieldState:b,fieldData:o}){let[g,s]=v([]),_=m(e=>{let r=e.map(({value:S})=>S);t.onChange(r),s(e)},"handleChange");$(()=>{t.value&&o.options&&s(t.value.map(e=>o?.options?.find(r=>r.value===e)))},[t.value,o.options]);let y=[...Object.entries(o.$meta?.regions||{}).map(([e,r])=>({value:r,label:e,category:"Regions"})),...Object.entries(o.$meta?.subregions||{}).map(([e,r])=>({value:r,label:e,category:"Subregions"})),...o.options?.map(e=>({...e,value:e.value,label:e.label,category:"Countries"}))||[]];return C(p,{"data-field":t.name,className:`RemoteFlows__CountryField__Item__${t.name}`,children:[n(l,{className:"RemoteFlows__CountryField__Label",children:o.label}),n(i,{children:n(F,{options:y,selected:g,onChange:_})}),o.description&&C(a,{children:[o.description," ",n(u,{helpCenter:o.meta?.helpCenter})]}),b.error&&n(c,{})]})}m(L,"CountryFieldDefault");export{L as a};
2
+ //# sourceMappingURL=chunk-6NKXOUJW.js.map
@@ -1,2 +1,2 @@
1
- import{a as e}from"./chunk-SS2SYDCB.js";import{a as n}from"./chunk-INPMEOFL.js";import{a as o}from"./chunk-P37U34EQ.js";import{useId as s}from"react";import{jsx as P}from"react/jsx-runtime";var y=o(()=>null,"PersonalDetailsStep"),i=o(()=>null,"HomeAddressStep"),d=o(()=>null,"BankAccountStep"),c=o(()=>null,"SubmitButton"),u=o(()=>null,"BackButton"),O=o(({employmentId:r,initialValues:t,options:p,render:a})=>{let m=s(),l=n({employmentId:r,initialValues:t,options:p});return P(e.Provider,{value:{formId:m,employeeBag:l},children:a({employeeBag:l,components:{PersonalDetailsStep:y,HomeAddressStep:i,BankAccountStep:d,SubmitButton:c,BackButton:u}})})},"PayrollEmployeeOnboardingFlow");export{O as a};
2
- //# sourceMappingURL=chunk-6YBDMERC.js.map
1
+ import{a as e}from"./chunk-SS2SYDCB.js";import{a as n}from"./chunk-UOWQ7UKA.js";import{a as o}from"./chunk-P37U34EQ.js";import{useId as s}from"react";import{jsx as P}from"react/jsx-runtime";var y=o(()=>null,"PersonalDetailsStep"),i=o(()=>null,"HomeAddressStep"),d=o(()=>null,"BankAccountStep"),c=o(()=>null,"SubmitButton"),u=o(()=>null,"BackButton"),O=o(({employmentId:r,initialValues:t,options:p,render:a})=>{let m=s(),l=n({employmentId:r,initialValues:t,options:p});return P(e.Provider,{value:{formId:m,employeeBag:l},children:a({employeeBag:l,components:{PersonalDetailsStep:y,HomeAddressStep:i,BankAccountStep:d,SubmitButton:c,BackButton:u}})})},"PayrollEmployeeOnboardingFlow");export{O as a};
2
+ //# sourceMappingURL=chunk-6TKWWM5A.js.map
@@ -1,2 +1,2 @@
1
- import{b as y}from"./chunk-Q3ALCPJN.js";import{d as p,e as v}from"./chunk-ZMQTQ4UQ.js";import{b as n,w as u}from"./chunk-G2LZFGZA.js";import{b as l}from"./chunk-H2O4CVKF.js";import{a as r}from"./chunk-P37U34EQ.js";import O from"lodash.omit";import{jsx as C}from"react/jsx-runtime";function T({onSubmit:f,onSuccess:i,onError:s,render:w,...o}){let{components:E}=l(),{contractorOnboardingBag:e}=y(),a=p(),m=v(),{mutateAsyncOrThrow:g}=n(a),{mutateAsyncOrThrow:I}=n(m),c=e.employment?.contractor_type==="cor"&&!e.isEmploymentReadOnly,R=r(async()=>{try{if(await f?.(),c&&e.employmentId){let t=await I({employment_slug:e.employmentId});if(t?.data){await i?.({data:t,employmentStatus:"created_awaiting_reserve"}),e.refetchEmployment();return}}else if(e.employmentId){let t=await g({employment_id:e.employmentId});t&&(await i?.({data:t,employmentStatus:"invited"}),e.refetchEmployment())}}catch(t){u(t)?s?.(O(t,"response")):s?.({error:t,rawError:t,fieldErrors:[]})}},"handleSubmit"),d=E?.button;if(!d)throw new Error("Button component not found");let b=a.isPending||m.isPending||!e.canInvite||o.disabled;return C(d,{...o,disabled:b,onClick:t=>{R(),o.onClick?.(t)},children:w({status:c?"create_reserve":"invite"})})}r(T,"OnboardingInvite");export{T as a};
2
- //# sourceMappingURL=chunk-GJV6HJ3D.js.map
1
+ import{b as y}from"./chunk-Q3ALCPJN.js";import{d as p,e as v}from"./chunk-HIDA2KDX.js";import{b as n,w as u}from"./chunk-G2LZFGZA.js";import{b as l}from"./chunk-H2O4CVKF.js";import{a as r}from"./chunk-P37U34EQ.js";import O from"lodash.omit";import{jsx as C}from"react/jsx-runtime";function T({onSubmit:f,onSuccess:i,onError:s,render:w,...o}){let{components:E}=l(),{contractorOnboardingBag:e}=y(),a=p(),m=v(),{mutateAsyncOrThrow:g}=n(a),{mutateAsyncOrThrow:I}=n(m),c=e.employment?.contractor_type==="cor"&&!e.isEmploymentReadOnly,R=r(async()=>{try{if(await f?.(),c&&e.employmentId){let t=await I({employment_slug:e.employmentId});if(t?.data){await i?.({data:t,employmentStatus:"created_awaiting_reserve"}),e.refetchEmployment();return}}else if(e.employmentId){let t=await g({employment_id:e.employmentId});t&&(await i?.({data:t,employmentStatus:"invited"}),e.refetchEmployment())}}catch(t){u(t)?s?.(O(t,"response")):s?.({error:t,rawError:t,fieldErrors:[]})}},"handleSubmit"),d=E?.button;if(!d)throw new Error("Button component not found");let b=a.isPending||m.isPending||!e.canInvite||o.disabled;return C(d,{...o,disabled:b,onClick:t=>{R(),o.onClick?.(t)},children:w({status:c?"create_reserve":"invite"})})}r(T,"OnboardingInvite");export{T as a};
2
+ //# sourceMappingURL=chunk-7JWQ24VU.js.map
@@ -0,0 +1,2 @@
1
+ import{f as m}from"./chunk-G2LZFGZA.js";import{b as u}from"./chunk-626FTNKA.js";import{a}from"./chunk-P37U34EQ.js";import{createHeadlessForm as F,modify as p}from"@remoteoss/remote-json-schema-form-kit";var O=a((e,t,n)=>{if(n&&n.jsfModify){let{required:r,allOf:i,...s}=n.jsfModify,{schema:o,warnings:d}=p(e,{...s,muteLogging:!0});if(d&&d.length>0&&console.warn("jsfModify warnings:",d),e=o,r){let f=Array.isArray(o.required)?o.required:[];typeof r=="function"?e.required=r(f):e.required=[...f,...r]}i&&(e.allOf=[...Array.isArray(o.allOf)?o.allOf:[],...i])}let l={};t&&(l=u(e.properties||{},"money").reduce((i,s)=>(i[s]=m(t[s]),i),{}));let y=JSON.parse(JSON.stringify({...t,...l}));return{meta:{"x-jsf-fieldsets":e["x-jsf-fieldsets"],"x-jsf-presentation":e["x-jsf-presentation"]},...F(e,{initialValues:y})}},"createHeadlessForm");export{O as a};
2
+ //# sourceMappingURL=chunk-7WB6IHRF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/common/createHeadlessForm.tsx"],"sourcesContent":["import { FieldValues } from 'react-hook-form';\nimport {\n createHeadlessForm as baseCreateHeadlessForm,\n modify,\n} from '@remoteoss/remote-json-schema-form-kit';\nimport { convertToCents } from '@/src/components/form/utils';\nimport {\n JSFModify,\n JSONSchemaFormResultWithFieldsets,\n} from '@/src/flows/types';\nimport { findFieldsByType } from '@/src/flows/utils';\nimport { JSFFieldset } from '@/src/types/remoteFlows';\n\n/*\n * Creates a headless form from a JSON Schema, useful to avoid code duplication when creating headless forms.\n * @param jsfSchema - The JSON Schema\n * @param fieldValues - The field values\n * @param options - The options\n * @returns The headless form\n */\nexport const createHeadlessForm = (\n jsfSchema: Record<string, unknown>,\n fieldValues?: FieldValues,\n options?: { jsfModify?: JSFModify },\n): JSONSchemaFormResultWithFieldsets => {\n if (options && options.jsfModify) {\n const { required, allOf, ...modifyConfig } = options.jsfModify;\n // muteLogging: true suppresses the generic library log; we surface the\n // actual warnings ourselves when present so they're actionable.\n const { schema, warnings } = modify(jsfSchema, {\n ...modifyConfig,\n muteLogging: true,\n } as Parameters<typeof modify>[1]);\n if (warnings && warnings.length > 0) {\n // eslint-disable-next-line no-console\n console.warn('jsfModify warnings:', warnings);\n }\n jsfSchema = schema;\n\n if (required) {\n const baseRequired = Array.isArray(schema.required)\n ? schema.required\n : [];\n\n if (typeof required === 'function') {\n // Function: allows full control over required fields\n jsfSchema.required = required(baseRequired);\n } else {\n // Array: merge with existing required fields (backwards compatible)\n jsfSchema.required = [...baseRequired, ...required];\n }\n }\n\n if (allOf) {\n jsfSchema.allOf = [\n ...(Array.isArray(schema.allOf) ? schema.allOf : []),\n ...allOf,\n ];\n }\n }\n\n let moneyFieldsData: Record<string, number | null> = {};\n\n if (fieldValues) {\n const moneyFields = findFieldsByType(jsfSchema.properties || {}, 'money');\n moneyFieldsData = moneyFields.reduce<Record<string, number | null>>(\n (acc, field) => {\n acc[field] = convertToCents(fieldValues[field]);\n return acc;\n },\n {},\n );\n }\n\n /**\n * We create a deep copy of the field values to avoid modifying the original object.\n * This problem is caused by json-schema-form-v0.\n */\n const initialValues = JSON.parse(\n JSON.stringify({\n ...fieldValues,\n ...moneyFieldsData,\n }),\n );\n\n return {\n meta: {\n 'x-jsf-fieldsets': jsfSchema['x-jsf-fieldsets'] as JSFFieldset,\n 'x-jsf-presentation': jsfSchema['x-jsf-presentation'] as\n | Record<string, unknown>\n | undefined,\n },\n ...baseCreateHeadlessForm(jsfSchema, {\n initialValues,\n }),\n };\n};\n"],"mappings":"mHACA,OACE,sBAAsBA,EACtB,UAAAC,MACK,yCAgBA,IAAMC,EAAqBC,EAAA,CAChCC,EACAC,EACAC,IACsC,CACtC,GAAIA,GAAWA,EAAQ,UAAW,CAChC,GAAM,CAAE,SAAAC,EAAU,MAAAC,EAAO,GAAGC,CAAa,EAAIH,EAAQ,UAG/C,CAAE,OAAAI,EAAQ,SAAAC,CAAS,EAAIC,EAAOR,EAAW,CAC7C,GAAGK,EACH,YAAa,EACf,CAAiC,EAOjC,GANIE,GAAYA,EAAS,OAAS,GAEhC,QAAQ,KAAK,sBAAuBA,CAAQ,EAE9CP,EAAYM,EAERH,EAAU,CACZ,IAAMM,EAAe,MAAM,QAAQH,EAAO,QAAQ,EAC9CA,EAAO,SACP,CAAC,EAED,OAAOH,GAAa,WAEtBH,EAAU,SAAWG,EAASM,CAAY,EAG1CT,EAAU,SAAW,CAAC,GAAGS,EAAc,GAAGN,CAAQ,CAEtD,CAEIC,IACFJ,EAAU,MAAQ,CAChB,GAAI,MAAM,QAAQM,EAAO,KAAK,EAAIA,EAAO,MAAQ,CAAC,EAClD,GAAGF,CACL,EAEJ,CAEA,IAAIM,EAAiD,CAAC,EAElDT,IAEFS,EADoBC,EAAiBX,EAAU,YAAc,CAAC,EAAG,OAAO,EAC1C,OAC5B,CAACY,EAAKC,KACJD,EAAIC,CAAK,EAAIC,EAAeb,EAAYY,CAAK,CAAC,EACvCD,GAET,CAAC,CACH,GAOF,IAAMG,EAAgB,KAAK,MACzB,KAAK,UAAU,CACb,GAAGd,EACH,GAAGS,CACL,CAAC,CACH,EAEA,MAAO,CACL,KAAM,CACJ,kBAAmBV,EAAU,iBAAiB,EAC9C,qBAAsBA,EAAU,oBAAoB,CAGtD,EACA,GAAGgB,EAAuBhB,EAAW,CACnC,cAAAe,CACF,CAAC,CACH,CACF,EA5EkC","names":["baseCreateHeadlessForm","modify","createHeadlessForm","__name","jsfSchema","fieldValues","options","required","allOf","modifyConfig","schema","warnings","modify","baseRequired","moneyFieldsData","findFieldsByType","acc","field","convertToCents","initialValues","baseCreateHeadlessForm"]}
@@ -1,2 +1,2 @@
1
- import{a as s}from"./chunk-BLCINT3L.js";import{b as e}from"./chunk-Q3ALCPJN.js";import{x as n}from"./chunk-G2LZFGZA.js";import{a as t}from"./chunk-P37U34EQ.js";import{jsx as u}from"react/jsx-runtime";function b({onSubmit:m,onSuccess:d,onError:c}){let{contractorOnboardingBag:o}=e(),p=t(async(i,f)=>{try{let a=await o.parseFormValues(i);await m?.(a);let r=await o.onSubmit(i);if(r?.data){await d?.(r?.data),o?.next();return}}catch(a){let r=n(a,o.meta?.fields?.basic_information,f);c?.(r)}},"handleSubmit"),l=o.stepState.values?.basic_information||o.initialValues.basic_information;return u(s,{defaultValues:l,onSubmit:p})}t(b,"BasicInformationStep");export{b as a};
2
- //# sourceMappingURL=chunk-2PMYCCWO.js.map
1
+ import{a as s}from"./chunk-4QJUNKBR.js";import{b as e}from"./chunk-Q3ALCPJN.js";import{x as n}from"./chunk-G2LZFGZA.js";import{a as t}from"./chunk-P37U34EQ.js";import{jsx as u}from"react/jsx-runtime";function b({onSubmit:m,onSuccess:d,onError:c}){let{contractorOnboardingBag:o}=e(),p=t(async(i,f)=>{try{let a=await o.parseFormValues(i);await m?.(a);let r=await o.onSubmit(i);if(r?.data){await d?.(r?.data),o?.next();return}}catch(a){let r=n(a,o.meta?.fields?.basic_information,f);c?.(r)}},"handleSubmit"),l=o.stepState.values?.basic_information||o.initialValues.basic_information;return u(s,{defaultValues:l,onSubmit:p})}t(b,"BasicInformationStep");export{b as a};
2
+ //# sourceMappingURL=chunk-7XZP24UE.js.map
@@ -1,2 +1,2 @@
1
- import{a as J}from"./chunk-OXTA4W4J.js";import{a as re}from"./chunk-RR57VT45.js";import{b as ne,c as ie,f as le}from"./chunk-FQFLC6YA.js";import{a as oe}from"./chunk-SHOGXN3C.js";import{a as te}from"./chunk-OV6PV4N5.js";import{c as G}from"./chunk-P6H7QMKK.js";import{c as g,i as T,m as B}from"./chunk-Y3CJRZLA.js";import{l as j,m as ee,n as H,r as O}from"./chunk-G2LZFGZA.js";import{b as S,c as x}from"./chunk-H2O4CVKF.js";import{a as n}from"./chunk-P37U34EQ.js";import{Fragment as no,useEffect as io,useRef as We}from"react";import V from"lodash.omit";import{jsx as se}from"react/jsx-runtime";function me({description:e,label:o,name:t,minDate:r,maxDate:i,onChange:l,component:a,...s}){let{components:p}=S(),{control:u}=g(),F=x(),m;s.meta?.mot&&typeof s.meta.mot=="number"?m=j(s.meta.mot):typeof r=="string"&&(m=new Date(`${r}T00:00:00`));let f;return i&&(f=new Date(`${i}T23:59:59`)),se(T,{control:u,name:t,render:({field:C,fieldState:h})=>{let c=a||p?.date;if(!c)throw new Error(`Date picker component not found for field ${t}`);let P={description:e,label:o,name:t,onChange:l,transformHtml:F,...m&&{minDate:m.toISOString()},...f&&{maxDate:f.toISOString()},...s};return se(c,{field:{...C,onChange:n(y=>{C.onChange(y),l?.(y)},"onChange")},fieldState:h,fieldData:P})}})}n(me,"DatePickerField");import{jsx as ae}from"react/jsx-runtime";var Oe=n((e,o)=>{if(!o)return null;for(let t of e)if(t.size>o){let r=Math.round(o/1048576),i=Math.round(t.size/(1024*1024));return`File "${t.name}" exceeds maximum size of ${r}MB (file is ${i}MB)`}return null},"validateFileSize");function de({name:e,description:o,label:t,multiple:r,onChange:i,component:l,accept:a,maxSize:s,...p}){let{components:u}=S(),{control:F,setError:m,clearErrors:f}=g(),C=x(),h=n(async(c,P)=>{let y=Oe(c,s);if(y){m(e,{message:y});return}f(e),P.onChange(c),i?.(c)},"handleOnChange");return ae(T,{control:F,name:e,render:({field:c,fieldState:P})=>{let y=l||u.file;if(!y)throw new Error(`File upload component not found for field ${e}`);let b={name:e,description:o,label:t,multiple:r,accept:a,maxFileSize:s,transformHtml:C,...p};return ae(y,{field:{...c,value:c.value,onChange:n(async w=>h(w,c),"onChange")},fieldState:P,fieldData:b})}})}n(de,"FileUploadField");import{jsx as pe}from"react/jsx-runtime";function I({component:e,onChange:o,...t}){let{components:r}=S(),{control:i}=g(),l=x();return pe(T,{control:i,name:t.name,render:({field:a,fieldState:s})=>{let p=e||r.number;if(!p)throw new Error(`Number component not found for field ${t.name}`);let u={onChange:o,transformHtml:l,...t};return pe(p,{field:{...a,onChange:n(F=>{a.onChange(F),o?.(F)},"onChange")},fieldState:s,fieldData:u})}})}n(I,"NumberField");import{jsx as ce}from"react/jsx-runtime";function ue({name:e,defaultValue:o,description:t,label:r,options:i,onChange:l,component:a,...s}){let{components:p}=S(),{control:u}=g(),F=x();return ce(T,{control:u,name:e,defaultValue:o,render:({field:m,fieldState:f})=>{let C=a||p?.radio;if(!C)throw new Error(`Radio group component not found for field ${e}`);let h={name:e,defaultValue:o,description:t,label:r,options:i,transformHtml:F,...s};return ce(C,{field:{...m,onChange:n(c=>{m.onChange(c),l?.(c)},"onChange")},fieldState:f,fieldData:h})}})}n(ue,"RadioGroupField");import{jsx as Fe}from"react/jsx-runtime";function fe({label:e,name:o,options:t,defaultValue:r,description:i,onChange:l,component:a,...s}){let{control:p}=g(),{components:u}=S(),F=x();return Fe(T,{defaultValue:r,control:p,name:o,render:({field:m,fieldState:f})=>{let C=a||u?.select;if(!C)throw new Error(`Select component not found for field ${o}`);let h={label:e,name:o,options:t,defaultValue:r,description:i,onChange:l,transformHtml:F,...s};return Fe(C,{field:{...m,onChange:n(c=>{let y=(Array.isArray(s.jsonType)?s.jsonType.includes("number"):s.jsonType==="number")?Number(c):c;m.onChange(y),l?.(y)},"onChange")},fieldState:f,fieldData:h})}})}n(fe,"SelectField");import{jsx as Ce}from"react/jsx-runtime";function ge({label:e,name:o,options:t,defaultValue:r,description:i,onChange:l,$meta:a,component:s,...p}){let{control:u}=g(),{components:F}=S(),m=x();return Ce(T,{defaultValue:r,control:u,name:o,render:({field:f,fieldState:C})=>{let h=s||F.countries;if(!h)throw new Error(`Country component not found for field ${o}`);let c={label:e,name:o,options:t,defaultValue:r,description:i,onChange:l,$meta:a,transformHtml:m,...p};return Ce(h,{field:{...f,onChange:n(P=>{f.onChange(P),l?.(P)},"onChange")},fieldState:C,fieldData:c})}})}n(ge,"CountryField");import{jsx as he}from"react/jsx-runtime";function Se({name:e,description:o,label:t,onChange:r,maxLength:i,component:l,...a}){let{components:s}=S(),{control:p}=g(),u=x();return he(T,{control:p,name:e,render:({field:F,fieldState:m})=>{let f=l||s.textarea;if(!f)throw new Error(`Text area component not found for field ${e}`);let C={name:e,description:o,label:t,maxLength:i,transformHtml:u,...a};return he(f,{field:{...F,onChange:n(h=>{F.onChange(h),r?.(h)},"onChange")},fieldState:m,fieldData:C})}})}n(Se,"TextAreaField");import{jsx as Te}from"react/jsx-runtime";function xe({component:e,onChange:o,...t}){let{components:r}=S(),{control:i}=g(),l=x();return Te(T,{control:i,name:t.name,render:({field:a,fieldState:s})=>{let p=e||r.email;if(!p)throw new Error(`Email component not found for field ${t.name}`);let u={onChange:o,transformHtml:l,...t};return Te(p,{field:{...a,onChange:n(F=>{a.onChange(F),o?.(F)},"onChange")},fieldState:s,fieldData:u})}})}n(xe,"EmailField");import{useEffect as Ge}from"react";import{jsx as ye}from"react/jsx-runtime";function be(e){let{control:o,setValue:t}=g();return Ge(()=>{e.const!==void 0&&e.const===e.default&&e.name&&t(e.name,e.const)},[e.const,e.default,e.name,t]),ye(T,{control:o,name:e.name,render:({field:r})=>ye("input",{...r,type:"hidden"})})}n(be,"HiddenField");import{useEffect as Ue,useState as Ze}from"react";import{jsx as Pe}from"react/jsx-runtime";function $e(e){let{components:o}=S(),{setValue:t,control:r,watch:i}=g(),l=x(),a=i(e.name),[s,p]=Ze(a),{workHoursSummary:u,breakSummary:F}=ie(s),m=ne(s);Ue(()=>{t(e.name,s)},[s,e.name,t]);function f(c){p(c)}n(f,"onSubmit");let C=e.component||o["work-schedule"];if(!C)throw new Error(`Work schedule component not found for field ${e.name}`);let h={...e,onSubmit:f,currentSchedule:s,transformHtml:l,defaultFormattedValue:{workHoursSummary:u,breakSummary:F,totalWorkHours:m}};return Pe(T,{control:r,name:e.name,render:({field:c,fieldState:P})=>Pe(C,{field:{...c,onChange:n(y=>{c.onChange(y),e.onChange?.(y)},"onChange")},fieldState:P,fieldData:h})})}n($e,"WorkScheduleField");import{jsx as De}from"react/jsx-runtime";function Re({label:e,name:o,options:t,defaultValue:r,description:i,onChange:l,component:a,...s}){let{control:p}=g(),{components:u}=S(),F=x();return De(T,{defaultValue:r,control:p,name:o,render:({field:m,fieldState:f})=>{let C=a||u?.["multi-select"];if(!C)throw new Error(`Multi select component not found for field ${o}`);let h={label:e,name:o,options:t,defaultValue:r,description:i,onChange:l,transformHtml:F,...s};return De(C,{field:{...m,onChange:n(c=>{m.onChange(c),l?.(c)},"onChange")},fieldState:f,fieldData:h})}})}n(Re,"MultiSelectField");import{jsx as Ke}from"react/jsx-runtime";var ve=n(e=>Ke(I,{maxLength:15,...e}),"MoneyField");import{useMemo as L,useCallback as we,useState as qe,useEffect as Qe,useRef as Xe}from"react";import{jsx as U}from"react/jsx-runtime";function Ye(e){return e.replace(/\s/g,"")}n(Ye,"removeSpaces");function _e(e="",o){let t=new RegExp(`^(\\+|00)(\\d{${o?.dialCode?.length??0}})(.*)$`),r=e?.match(t);if(!r)return{prefix:"",dialCode:"",phoneNumber:e};let[,i,l,a]=r;return{prefix:i,dialCode:l,phoneNumber:a}}n(_e,"getStructuredNumberFromInternationalNumber");function Ee({dialCodes:e,dialCodeMaxLength:o},t){let{prefix:r}=_e(t);if(r)for(let i=o+r.length;i>r.length;i--){let l=t.slice(r.length,i);if(e[l])return e[l]}}n(Ee,"getCountryFromPhoneNumber");function Me(e){let o={},t=0;return e.forEach(r=>{r.areaCodes?r.areaCodes.forEach(i=>{let l=r.dialCode+i;o[l]=r,l.length>t&&(t=l.length)}):(o[r.dialCode]=r,r.dialCode.length>t&&(t=r.dialCode.length))}),{dialCodes:o,dialCodeMaxLength:t}}n(Me,"getCountryDataByCountryCode");function je(e=""){let o=/\(([^)]+)\)/g,t=e.match(o);if(t?.length===2)return t[1].replace(/\(|\)/g,"").split("|")}n(je,"getAreaCodesFromPattern");function eo(e){return e.map(o=>({name:o.label,dialCode:o.meta.countryCode,pattern:o.pattern,areaCodes:je(o.pattern)}))}n(eo,"transformSchemaToCountries");function oo({field:e,fieldState:o,fieldData:t,component:r,onChangeCountryCode:i,onChangePhoneNumber:l}){let{value:a}=e,{options:s}=t,p=L(()=>eo(s),[s]),u=L(()=>Me(p),[p]),F=Xe(!1),[m,f]=qe(()=>Ee(Me(p),a||""));Qe(()=>{if((!a||a==="+")&&(F.current=!1),F.current)return;let b=Ee(u,a||"");f(b)},[a,u]);let{prefix:C,phoneNumber:h}=L(()=>_e(a,m),[a,m]),c=we(b=>{if(!b)return;let w=`+${b.dialCode}${h}`;F.current=!0,f(b),e.onChange(w),i&&i(b)},[h,e,i]),P=we(b=>{let w=Ye(b.target.value),_;if(m?_=`${C}${m.dialCode}${w}`:_=`${C}${w}`,e.onChange(_),l){let N={target:{value:_,name:e.name}};l(N)}},[m,C,e,l]),y=L(()=>({...t,onChangeCountryCode:c,onChangePhoneNumber:P,currentCountry:m,nationalPhoneNumber:h}),[t,c,P,m,h]);return U(r,{field:e,fieldState:o,fieldData:y})}n(oo,"TelFieldRenderer");function Ne({name:e,description:o,label:t,onChangeCountryCode:r,onChangePhoneNumber:i,component:l,...a}){let{components:s}=S(),{control:p}=g(),u=x();return U(T,{control:p,name:e,render:({field:F,fieldState:m})=>{let f=l||s.tel;if(!f)throw new Error(`Tel component not found for field ${e}`);let C={name:e,description:o,label:t,transformHtml:u,...a};return U(oo,{field:F,fieldState:m,fieldData:C,component:f,onChangeCountryCode:r,onChangePhoneNumber:i})}})}n(Ne,"TelField");import{jsx as ke}from"react/jsx-runtime";function He({name:e,description:o,label:t,type:r,onChange:i,component:l,maxLength:a,...s}){let{components:p}=S(),{control:u}=g(),F=x();return ke(T,{control:u,name:e,render:({field:m,fieldState:f})=>{let C=l||p?.time;if(!C)throw new Error(`Time component not found for field ${e}`);let h={name:e,description:o,label:t,type:r,onChange:i,maxLength:a,transformHtml:F,...s};return ke(C,{field:{...m,onChange:n(c=>{m.onChange(c),i?.(c)},"onChange")},fieldState:f,fieldData:h})}})}n(He,"TimeField");var Z={checkbox:le,text:te,email:xe,money:ve,select:fe,"multi-select":Re,radio:ue,number:I,file:de,date:me,textarea:Se,countries:ge,hidden:be,tel:Ne,time:He,"work-schedule":$e};import{useEffect as to}from"react";import{jsx as K,jsxs as ro}from"react/jsx-runtime";function Ve({name:e,value:o,description:t,statement:r,label:i,helpCenter:l}){let{setValue:a}=g(),s=r?.description||t,p=r?.title?O(r?.title):O(i),u=`forced-value-${e}-title`,F=`forced-value-${e}-description`;return to(()=>{a(e,o)},[e,o,a]),!s&&!r?.title?null:ro("div",{role:"group","aria-labelledby":p?u:void 0,"aria-describedby":s?F:void 0,children:[p&&K("p",{id:u,className:`text-sm RemoteFlows__ForcedValue__Title__${e}`,dangerouslySetInnerHTML:{__html:p}}),K(B,{as:"span",id:F,className:`text-xs RemoteFlows__ForcedValue__Description__${e}`,helpCenter:K(oe,{className:"RemoteFlows__ForcedValue__HelpCenterLink",helpCenter:l}),children:s})]})}n(Ve,"ForcedValueField");import{Fragment as q,jsx as $,jsxs as M}from"react/jsx-runtime";function Ae({label:e,name:o,fields:t,description:r,components:i,statement:l,isFlatFieldset:a,extra:s,variant:p="outset",features:u,meta:F}){let{helpCenter:m}=F||{},{watch:f,setValue:C,trigger:h,formState:c}=g(),{components:P}=S(),y=u?.toggle?.stateField,b=y?f(y):u?.toggle?.defaultExpanded??!0,w=t.map(({name:d})=>`${o}.${d}`),_=t.some(d=>d.calculateDynamicProperties),N=f(w),Be=_?f():N,Q=We(N),k=We(null),Je=n(()=>{y&&C(y,!b)},"toggleExpanded");io(()=>{let d=N,E=Q.current,R=c.isSubmitted||c.submitCount>0,W=!1;for(let v=0;v<d.length;v++)if(d[v]!==void 0&&E[v]!==d[v]){W=!0;break}return W&&R&&(k.current&&clearTimeout(k.current),k.current=setTimeout(()=>{h()},50)),Q.current=[...d],()=>{k.current&&clearTimeout(k.current)}},[N,h,c.isSubmitted,c.submitCount]);let Ie=P?.fieldsetToggle||re,X=`${o}-content`,Y=`${o}-header`;return M("fieldset",{className:H("border-1 border-input p-4 rounded-xl","RemoteFlows__FieldSetField",`RemoteFlows__FieldSetField__${o}`),children:[$("legend",{className:H("text-sm font-semibold px-2",p==="inset"&&"hidden"),children:e}),m?.callToAction&&m?.id&&p==="outset"&&$(G,{className:"RemoteFlows__FieldSetField__HelpCenterLink mb-3",zendeskId:m.id,children:m.callToAction}),p==="inset"&&M(q,{children:[M("div",{className:"RemoteFlows__FieldSetField__Header",id:Y,"data-state":b?"expanded":"collapsed","aria-expanded":b,children:[$("h3",{className:H("RemoteFlows__FieldSetField__Title"),children:e}),u?.toggle?.enabled&&$(Ie,{isExpanded:b,onToggle:Je,"aria-expanded":b,"aria-controls":X,"aria-label":`${b?"Hide":"Show"} ${e}`,className:H("RemoteFlows__FieldSetField__Toggle",u.toggle?.className),children:b?u.toggle.labels?.collapse??"Remove":u.toggle.labels?.expand??"Define"})]}),m?.callToAction&&m?.id&&$(G,{className:"RemoteFlows__FieldSetField__HelpCenterLink mb-3",zendeskId:m.id,children:m.callToAction})]}),b&&M("div",{id:X,"aria-labelledby":Y,role:"region",children:[r?$(B,{as:"div",className:"mb-5 RemoteFlows__FieldSetField__Description",children:r}):null,M("div",{className:"grid gap-4",children:[t.map(d=>{if(d.calculateDynamicProperties&&(d={...d,...d.calculateDynamicProperties(Be,d)||{}}),d.isVisible===!1||d.deprecated)return null;let E=d.type,R=`${a?d.name:`${o}.${d.name}`}`,W=ee(d),v=n((D,A)=>d.WrapperComponent?$(d.WrapperComponent,{children:D},A):$(no,{children:D},A),"wrapWithCustomWrapper");if(W){let D=V(d,"WrapperComponent");return v($(Ve,{name:R,description:D.description,value:D.const,statement:D.statement,label:D.label,helpCenter:D.meta?.helpCenter}),R)}if(E==="fieldset"){let D=V(d,"WrapperComponent");return v($(Ae,{...D,name:R,components:i}),R)}if(E==="fieldset-flat"){let D=V(d,"WrapperComponent");return v($(Ae,{...D,name:R,components:i,isFlatFieldset:!0}),R)}let z=Z[E];if(d.Component){let{Component:D}=d,A=V(d,"WrapperComponent");return v(M(q,{children:[$(D,{...A,value:f(R),setValue:ze=>{C(R,ze)}}),d.statement?$(J,{...d.statement}):null,d.extra?d.extra:null]}),R)}if(!z)return M("p",{className:"error",children:["Field type ",E," not supported"]});E==="select"&&d.multiple&&(z=Z["multi-select"]);let Le=V(d,"WrapperComponent");return v(M(q,{children:[$(z,{...Le,name:R,component:i?.[E]}),d.statement?$(J,{...d.statement}):null,d.extra?d.extra:null]}),R)}),s||null,l?$(J,{...l}):null]})]})]})}n(Ae,"FieldSetField");export{Z as a,Ve as b,Ae as c};
2
- //# sourceMappingURL=chunk-MBOKEWSX.js.map
1
+ import{a as J}from"./chunk-OXTA4W4J.js";import{b as ne,c as ie,f as le}from"./chunk-FQFLC6YA.js";import{a as re}from"./chunk-RR57VT45.js";import{a as oe}from"./chunk-OPDKYPYM.js";import{a as te}from"./chunk-OV6PV4N5.js";import{c as G}from"./chunk-RFVHV6RE.js";import{c as g,i as T,m as B}from"./chunk-Y3CJRZLA.js";import{l as j,m as ee,n as H,r as O}from"./chunk-G2LZFGZA.js";import{b as S,c as x}from"./chunk-H2O4CVKF.js";import{a as n}from"./chunk-P37U34EQ.js";import{Fragment as no,useEffect as io,useRef as We}from"react";import V from"lodash.omit";import{jsx as se}from"react/jsx-runtime";function me({description:e,label:o,name:t,minDate:r,maxDate:i,onChange:l,component:a,...s}){let{components:p}=S(),{control:u}=g(),F=x(),m;s.meta?.mot&&typeof s.meta.mot=="number"?m=j(s.meta.mot):typeof r=="string"&&(m=new Date(`${r}T00:00:00`));let f;return i&&(f=new Date(`${i}T23:59:59`)),se(T,{control:u,name:t,render:({field:C,fieldState:h})=>{let c=a||p?.date;if(!c)throw new Error(`Date picker component not found for field ${t}`);let P={description:e,label:o,name:t,onChange:l,transformHtml:F,...m&&{minDate:m.toISOString()},...f&&{maxDate:f.toISOString()},...s};return se(c,{field:{...C,onChange:n(y=>{C.onChange(y),l?.(y)},"onChange")},fieldState:h,fieldData:P})}})}n(me,"DatePickerField");import{jsx as ae}from"react/jsx-runtime";var Oe=n((e,o)=>{if(!o)return null;for(let t of e)if(t.size>o){let r=Math.round(o/1048576),i=Math.round(t.size/(1024*1024));return`File "${t.name}" exceeds maximum size of ${r}MB (file is ${i}MB)`}return null},"validateFileSize");function de({name:e,description:o,label:t,multiple:r,onChange:i,component:l,accept:a,maxSize:s,...p}){let{components:u}=S(),{control:F,setError:m,clearErrors:f}=g(),C=x(),h=n(async(c,P)=>{let y=Oe(c,s);if(y){m(e,{message:y});return}f(e),P.onChange(c),i?.(c)},"handleOnChange");return ae(T,{control:F,name:e,render:({field:c,fieldState:P})=>{let y=l||u.file;if(!y)throw new Error(`File upload component not found for field ${e}`);let b={name:e,description:o,label:t,multiple:r,accept:a,maxFileSize:s,transformHtml:C,...p};return ae(y,{field:{...c,value:c.value,onChange:n(async w=>h(w,c),"onChange")},fieldState:P,fieldData:b})}})}n(de,"FileUploadField");import{jsx as pe}from"react/jsx-runtime";function I({component:e,onChange:o,...t}){let{components:r}=S(),{control:i}=g(),l=x();return pe(T,{control:i,name:t.name,render:({field:a,fieldState:s})=>{let p=e||r.number;if(!p)throw new Error(`Number component not found for field ${t.name}`);let u={onChange:o,transformHtml:l,...t};return pe(p,{field:{...a,onChange:n(F=>{a.onChange(F),o?.(F)},"onChange")},fieldState:s,fieldData:u})}})}n(I,"NumberField");import{jsx as ce}from"react/jsx-runtime";function ue({name:e,defaultValue:o,description:t,label:r,options:i,onChange:l,component:a,...s}){let{components:p}=S(),{control:u}=g(),F=x();return ce(T,{control:u,name:e,defaultValue:o,render:({field:m,fieldState:f})=>{let C=a||p?.radio;if(!C)throw new Error(`Radio group component not found for field ${e}`);let h={name:e,defaultValue:o,description:t,label:r,options:i,transformHtml:F,...s};return ce(C,{field:{...m,onChange:n(c=>{m.onChange(c),l?.(c)},"onChange")},fieldState:f,fieldData:h})}})}n(ue,"RadioGroupField");import{jsx as Fe}from"react/jsx-runtime";function fe({label:e,name:o,options:t,defaultValue:r,description:i,onChange:l,component:a,...s}){let{control:p}=g(),{components:u}=S(),F=x();return Fe(T,{defaultValue:r,control:p,name:o,render:({field:m,fieldState:f})=>{let C=a||u?.select;if(!C)throw new Error(`Select component not found for field ${o}`);let h={label:e,name:o,options:t,defaultValue:r,description:i,onChange:l,transformHtml:F,...s};return Fe(C,{field:{...m,onChange:n(c=>{let y=(Array.isArray(s.jsonType)?s.jsonType.includes("number"):s.jsonType==="number")?Number(c):c;m.onChange(y),l?.(y)},"onChange")},fieldState:f,fieldData:h})}})}n(fe,"SelectField");import{jsx as Ce}from"react/jsx-runtime";function ge({label:e,name:o,options:t,defaultValue:r,description:i,onChange:l,$meta:a,component:s,...p}){let{control:u}=g(),{components:F}=S(),m=x();return Ce(T,{defaultValue:r,control:u,name:o,render:({field:f,fieldState:C})=>{let h=s||F.countries;if(!h)throw new Error(`Country component not found for field ${o}`);let c={label:e,name:o,options:t,defaultValue:r,description:i,onChange:l,$meta:a,transformHtml:m,...p};return Ce(h,{field:{...f,onChange:n(P=>{f.onChange(P),l?.(P)},"onChange")},fieldState:C,fieldData:c})}})}n(ge,"CountryField");import{jsx as he}from"react/jsx-runtime";function Se({name:e,description:o,label:t,onChange:r,maxLength:i,component:l,...a}){let{components:s}=S(),{control:p}=g(),u=x();return he(T,{control:p,name:e,render:({field:F,fieldState:m})=>{let f=l||s.textarea;if(!f)throw new Error(`Text area component not found for field ${e}`);let C={name:e,description:o,label:t,maxLength:i,transformHtml:u,...a};return he(f,{field:{...F,onChange:n(h=>{F.onChange(h),r?.(h)},"onChange")},fieldState:m,fieldData:C})}})}n(Se,"TextAreaField");import{jsx as Te}from"react/jsx-runtime";function xe({component:e,onChange:o,...t}){let{components:r}=S(),{control:i}=g(),l=x();return Te(T,{control:i,name:t.name,render:({field:a,fieldState:s})=>{let p=e||r.email;if(!p)throw new Error(`Email component not found for field ${t.name}`);let u={onChange:o,transformHtml:l,...t};return Te(p,{field:{...a,onChange:n(F=>{a.onChange(F),o?.(F)},"onChange")},fieldState:s,fieldData:u})}})}n(xe,"EmailField");import{useEffect as Ge}from"react";import{jsx as ye}from"react/jsx-runtime";function be(e){let{control:o,setValue:t}=g();return Ge(()=>{e.const!==void 0&&e.const===e.default&&e.name&&t(e.name,e.const)},[e.const,e.default,e.name,t]),ye(T,{control:o,name:e.name,render:({field:r})=>ye("input",{...r,type:"hidden"})})}n(be,"HiddenField");import{useEffect as Ue,useState as Ze}from"react";import{jsx as Pe}from"react/jsx-runtime";function $e(e){let{components:o}=S(),{setValue:t,control:r,watch:i}=g(),l=x(),a=i(e.name),[s,p]=Ze(a),{workHoursSummary:u,breakSummary:F}=ie(s),m=ne(s);Ue(()=>{t(e.name,s)},[s,e.name,t]);function f(c){p(c)}n(f,"onSubmit");let C=e.component||o["work-schedule"];if(!C)throw new Error(`Work schedule component not found for field ${e.name}`);let h={...e,onSubmit:f,currentSchedule:s,transformHtml:l,defaultFormattedValue:{workHoursSummary:u,breakSummary:F,totalWorkHours:m}};return Pe(T,{control:r,name:e.name,render:({field:c,fieldState:P})=>Pe(C,{field:{...c,onChange:n(y=>{c.onChange(y),e.onChange?.(y)},"onChange")},fieldState:P,fieldData:h})})}n($e,"WorkScheduleField");import{jsx as De}from"react/jsx-runtime";function Re({label:e,name:o,options:t,defaultValue:r,description:i,onChange:l,component:a,...s}){let{control:p}=g(),{components:u}=S(),F=x();return De(T,{defaultValue:r,control:p,name:o,render:({field:m,fieldState:f})=>{let C=a||u?.["multi-select"];if(!C)throw new Error(`Multi select component not found for field ${o}`);let h={label:e,name:o,options:t,defaultValue:r,description:i,onChange:l,transformHtml:F,...s};return De(C,{field:{...m,onChange:n(c=>{m.onChange(c),l?.(c)},"onChange")},fieldState:f,fieldData:h})}})}n(Re,"MultiSelectField");import{jsx as Ke}from"react/jsx-runtime";var ve=n(e=>Ke(I,{maxLength:15,...e}),"MoneyField");import{useMemo as L,useCallback as we,useState as qe,useEffect as Qe,useRef as Xe}from"react";import{jsx as U}from"react/jsx-runtime";function Ye(e){return e.replace(/\s/g,"")}n(Ye,"removeSpaces");function _e(e="",o){let t=new RegExp(`^(\\+|00)(\\d{${o?.dialCode?.length??0}})(.*)$`),r=e?.match(t);if(!r)return{prefix:"",dialCode:"",phoneNumber:e};let[,i,l,a]=r;return{prefix:i,dialCode:l,phoneNumber:a}}n(_e,"getStructuredNumberFromInternationalNumber");function Ee({dialCodes:e,dialCodeMaxLength:o},t){let{prefix:r}=_e(t);if(r)for(let i=o+r.length;i>r.length;i--){let l=t.slice(r.length,i);if(e[l])return e[l]}}n(Ee,"getCountryFromPhoneNumber");function Me(e){let o={},t=0;return e.forEach(r=>{r.areaCodes?r.areaCodes.forEach(i=>{let l=r.dialCode+i;o[l]=r,l.length>t&&(t=l.length)}):(o[r.dialCode]=r,r.dialCode.length>t&&(t=r.dialCode.length))}),{dialCodes:o,dialCodeMaxLength:t}}n(Me,"getCountryDataByCountryCode");function je(e=""){let o=/\(([^)]+)\)/g,t=e.match(o);if(t?.length===2)return t[1].replace(/\(|\)/g,"").split("|")}n(je,"getAreaCodesFromPattern");function eo(e){return e.map(o=>({name:o.label,dialCode:o.meta.countryCode,pattern:o.pattern,areaCodes:je(o.pattern)}))}n(eo,"transformSchemaToCountries");function oo({field:e,fieldState:o,fieldData:t,component:r,onChangeCountryCode:i,onChangePhoneNumber:l}){let{value:a}=e,{options:s}=t,p=L(()=>eo(s),[s]),u=L(()=>Me(p),[p]),F=Xe(!1),[m,f]=qe(()=>Ee(Me(p),a||""));Qe(()=>{if((!a||a==="+")&&(F.current=!1),F.current)return;let b=Ee(u,a||"");f(b)},[a,u]);let{prefix:C,phoneNumber:h}=L(()=>_e(a,m),[a,m]),c=we(b=>{if(!b)return;let w=`+${b.dialCode}${h}`;F.current=!0,f(b),e.onChange(w),i&&i(b)},[h,e,i]),P=we(b=>{let w=Ye(b.target.value),_;if(m?_=`${C}${m.dialCode}${w}`:_=`${C}${w}`,e.onChange(_),l){let N={target:{value:_,name:e.name}};l(N)}},[m,C,e,l]),y=L(()=>({...t,onChangeCountryCode:c,onChangePhoneNumber:P,currentCountry:m,nationalPhoneNumber:h}),[t,c,P,m,h]);return U(r,{field:e,fieldState:o,fieldData:y})}n(oo,"TelFieldRenderer");function Ne({name:e,description:o,label:t,onChangeCountryCode:r,onChangePhoneNumber:i,component:l,...a}){let{components:s}=S(),{control:p}=g(),u=x();return U(T,{control:p,name:e,render:({field:F,fieldState:m})=>{let f=l||s.tel;if(!f)throw new Error(`Tel component not found for field ${e}`);let C={name:e,description:o,label:t,transformHtml:u,...a};return U(oo,{field:F,fieldState:m,fieldData:C,component:f,onChangeCountryCode:r,onChangePhoneNumber:i})}})}n(Ne,"TelField");import{jsx as ke}from"react/jsx-runtime";function He({name:e,description:o,label:t,type:r,onChange:i,component:l,maxLength:a,...s}){let{components:p}=S(),{control:u}=g(),F=x();return ke(T,{control:u,name:e,render:({field:m,fieldState:f})=>{let C=l||p?.time;if(!C)throw new Error(`Time component not found for field ${e}`);let h={name:e,description:o,label:t,type:r,onChange:i,maxLength:a,transformHtml:F,...s};return ke(C,{field:{...m,onChange:n(c=>{m.onChange(c),i?.(c)},"onChange")},fieldState:f,fieldData:h})}})}n(He,"TimeField");var Z={checkbox:le,text:te,email:xe,money:ve,select:fe,"multi-select":Re,radio:ue,number:I,file:de,date:me,textarea:Se,countries:ge,hidden:be,tel:Ne,time:He,"work-schedule":$e};import{useEffect as to}from"react";import{jsx as K,jsxs as ro}from"react/jsx-runtime";function Ve({name:e,value:o,description:t,statement:r,label:i,helpCenter:l}){let{setValue:a}=g(),s=r?.description||t,p=r?.title?O(r?.title):O(i),u=`forced-value-${e}-title`,F=`forced-value-${e}-description`;return to(()=>{a(e,o)},[e,o,a]),!s&&!r?.title?null:ro("div",{role:"group","aria-labelledby":p?u:void 0,"aria-describedby":s?F:void 0,children:[p&&K("p",{id:u,className:`text-sm RemoteFlows__ForcedValue__Title__${e}`,dangerouslySetInnerHTML:{__html:p}}),K(B,{as:"span",id:F,className:`text-xs RemoteFlows__ForcedValue__Description__${e}`,helpCenter:K(oe,{className:"RemoteFlows__ForcedValue__HelpCenterLink",helpCenter:l}),children:s})]})}n(Ve,"ForcedValueField");import{Fragment as q,jsx as $,jsxs as M}from"react/jsx-runtime";function Ae({label:e,name:o,fields:t,description:r,components:i,statement:l,isFlatFieldset:a,extra:s,variant:p="outset",features:u,meta:F}){let{helpCenter:m}=F||{},{watch:f,setValue:C,trigger:h,formState:c}=g(),{components:P}=S(),y=u?.toggle?.stateField,b=y?f(y):u?.toggle?.defaultExpanded??!0,w=t.map(({name:d})=>`${o}.${d}`),_=t.some(d=>d.calculateDynamicProperties),N=f(w),Be=_?f():N,Q=We(N),k=We(null),Je=n(()=>{y&&C(y,!b)},"toggleExpanded");io(()=>{let d=N,E=Q.current,R=c.isSubmitted||c.submitCount>0,W=!1;for(let v=0;v<d.length;v++)if(d[v]!==void 0&&E[v]!==d[v]){W=!0;break}return W&&R&&(k.current&&clearTimeout(k.current),k.current=setTimeout(()=>{h()},50)),Q.current=[...d],()=>{k.current&&clearTimeout(k.current)}},[N,h,c.isSubmitted,c.submitCount]);let Ie=P?.fieldsetToggle||re,X=`${o}-content`,Y=`${o}-header`;return M("fieldset",{className:H("border-1 border-input p-4 rounded-xl","RemoteFlows__FieldSetField",`RemoteFlows__FieldSetField__${o}`),children:[$("legend",{className:H("text-sm font-semibold px-2",p==="inset"&&"hidden"),children:e}),m?.callToAction&&m?.id&&p==="outset"&&$(G,{className:"RemoteFlows__FieldSetField__HelpCenterLink mb-3",zendeskId:m.id,children:m.callToAction}),p==="inset"&&M(q,{children:[M("div",{className:"RemoteFlows__FieldSetField__Header",id:Y,"data-state":b?"expanded":"collapsed","aria-expanded":b,children:[$("h3",{className:H("RemoteFlows__FieldSetField__Title"),children:e}),u?.toggle?.enabled&&$(Ie,{isExpanded:b,onToggle:Je,"aria-expanded":b,"aria-controls":X,"aria-label":`${b?"Hide":"Show"} ${e}`,className:H("RemoteFlows__FieldSetField__Toggle",u.toggle?.className),children:b?u.toggle.labels?.collapse??"Remove":u.toggle.labels?.expand??"Define"})]}),m?.callToAction&&m?.id&&$(G,{className:"RemoteFlows__FieldSetField__HelpCenterLink mb-3",zendeskId:m.id,children:m.callToAction})]}),b&&M("div",{id:X,"aria-labelledby":Y,role:"region",children:[r?$(B,{as:"div",className:"mb-5 RemoteFlows__FieldSetField__Description",children:r}):null,M("div",{className:"grid gap-4",children:[t.map(d=>{if(d.calculateDynamicProperties&&(d={...d,...d.calculateDynamicProperties(Be,d)||{}}),d.isVisible===!1||d.deprecated)return null;let E=d.type,R=`${a?d.name:`${o}.${d.name}`}`,W=ee(d),v=n((D,A)=>d.WrapperComponent?$(d.WrapperComponent,{children:D},A):$(no,{children:D},A),"wrapWithCustomWrapper");if(W){let D=V(d,"WrapperComponent");return v($(Ve,{name:R,description:D.description,value:D.const,statement:D.statement,label:D.label,helpCenter:D.meta?.helpCenter}),R)}if(E==="fieldset"){let D=V(d,"WrapperComponent");return v($(Ae,{...D,name:R,components:i}),R)}if(E==="fieldset-flat"){let D=V(d,"WrapperComponent");return v($(Ae,{...D,name:R,components:i,isFlatFieldset:!0}),R)}let z=Z[E];if(d.Component){let{Component:D}=d,A=V(d,"WrapperComponent");return v(M(q,{children:[$(D,{...A,value:f(R),setValue:ze=>{C(R,ze)}}),d.statement?$(J,{...d.statement}):null,d.extra?d.extra:null]}),R)}if(!z)return M("p",{className:"error",children:["Field type ",E," not supported"]});E==="select"&&d.multiple&&(z=Z["multi-select"]);let Le=V(d,"WrapperComponent");return v(M(q,{children:[$(z,{...Le,name:R,component:i?.[E]}),d.statement?$(J,{...d.statement}):null,d.extra?d.extra:null]}),R)}),s||null,l?$(J,{...l}):null]})]})]})}n(Ae,"FieldSetField");export{Z as a,Ve as b,Ae as c};
2
+ //# sourceMappingURL=chunk-A5SRPVT2.js.map
@@ -1,2 +1,2 @@
1
- import{a as n}from"./chunk-PET4EGTM.js";import{b as i}from"./chunk-76ZDXC2T.js";import{x as a}from"./chunk-G2LZFGZA.js";import{a as o}from"./chunk-P37U34EQ.js";import{jsx as c}from"react/jsx-runtime";function C({onSubmit:m,onSuccess:l,onError:t}){let{createCompanyBag:e}=i(),p=o(async d=>{try{await m?.(d);let r=await e.onSubmit(d);if(r?.data){await l?.(r?.data);return}if(r?.error){let s=a(r,e.meta?.fields?.address_details);t?.(s)}}catch(r){let s=a(r,e.meta?.fields?.address_details);t?.(s)}},"handleSubmit"),u=e.stepState.values?.address_details||e.initialValues.address_details;return c(n,{defaultValues:u,onSubmit:p})}o(C,"AddressDetailsStep");export{C as a};
2
- //# sourceMappingURL=chunk-UBBUH2DE.js.map
1
+ import{a as n}from"./chunk-QK3FQD6C.js";import{b as i}from"./chunk-76ZDXC2T.js";import{x as a}from"./chunk-G2LZFGZA.js";import{a as o}from"./chunk-P37U34EQ.js";import{jsx as c}from"react/jsx-runtime";function C({onSubmit:m,onSuccess:l,onError:t}){let{createCompanyBag:e}=i(),p=o(async d=>{try{await m?.(d);let r=await e.onSubmit(d);if(r?.data){await l?.(r?.data);return}if(r?.error){let s=a(r,e.meta?.fields?.address_details);t?.(s)}}catch(r){let s=a(r,e.meta?.fields?.address_details);t?.(s)}},"handleSubmit"),u=e.stepState.values?.address_details||e.initialValues.address_details;return c(n,{defaultValues:u,onSubmit:p})}o(C,"AddressDetailsStep");export{C as a};
2
+ //# sourceMappingURL=chunk-A675PPWA.js.map
@@ -0,0 +1,2 @@
1
+ import{a as te}from"./chunk-BFXBFGBH.js";import{a as ne}from"./chunk-AP56UUME.js";import{a as ee}from"./chunk-IJCTN52C.js";import{e as M}from"./chunk-E2463GRM.js";import{a as I,b as oe,c as P,d as h,f as _,m as re}from"./chunk-PB6UQ4A4.js";import{a as X}from"./chunk-WVJDCDGZ.js";import{a as Z}from"./chunk-ID4S6FWD.js";import{a as b}from"./chunk-7WB6IHRF.js";import{$,E as v,K as J,S as K,V as N,X as k,_ as G,aa as B,ba as W,ea as H,f as w,ga as Y,h as Q,ha as z,r as A,t as L,u as U,v as j}from"./chunk-BYDNNJHZ.js";import{b as O,g as E,t as V}from"./chunk-G2LZFGZA.js";import{e as a}from"./chunk-H2O4CVKF.js";import{a as n}from"./chunk-P37U34EQ.js";import{useMemo as le}from"react";import{useMutation as g,useQuery as d}from"@tanstack/react-query";import{useMutation as ge,useQuery as ie}from"@tanstack/react-query";var we=n(()=>{let{client:e}=a();return ge({mutationFn:n(t=>k({client:e,body:t,headers:{Authorization:""}}),"mutationFn")})},"useUploadFile"),se=n(e=>{let{client:t}=a();return ie({queryKey:["download-file",e],queryFn:n(async()=>{let o=await v({client:t,path:{id:e}});if(o.error)throw o.error;return o.data},"queryFn"),select:n(({data:o})=>o?.file,"select"),enabled:!!e})},"useDownloadFile"),ae=n((e,t,o)=>{let{client:r}=a();return ie({queryKey:["employment-files",e],queryFn:n(async()=>{let i=await N({client:r,path:{employment_id:e},query:t});if(i.error)throw i.error;return i.data},"queryFn"),...o})},"useEmploymentFiles");import{useQuery as Se}from"@tanstack/react-query";import{useQuery as Fe}from"@tanstack/react-query";var q=n(()=>{let{client:e}=a();return Fe({queryKey:["identity"],queryFn:n(()=>$({client:e,headers:{Authorization:""}}),"queryFn"),select:n(t=>t.data?.data,"select")})},"useIdentity");function R(e){return e!=null&&"company"in e}n(R,"hasCompany");var ce=n((e={enabled:!0})=>{let{data:t}=q(),o=R(t)?t?.company?.id??"":"",{client:r}=a();return Se({queryKey:["pricing-plans",o],queryFn:n(()=>w({client:r,path:{company_id:o}}),"queryFn"),select:n(i=>i.data?.data?.pricing_plans,"select"),enabled:!!e?.enabled&&!!o})},"useCompanyPricingPlans");var he=n(({employmentId:e,options:t})=>{let{client:o}=a();return d({queryKey:["contractor-currencies",e],queryFn:n(async()=>j({client:o,path:{employment_id:e},query:{restrict_to_guaranteed_pay_out_currencies:!1}}),"queryFn"),enabled:t?.queryOptions?.enabled,select:n(({data:r})=>r?.data,"select")})},"useContractorCurrencies"),qt=n(({fieldValues:e,options:t})=>d({queryKey:["contract-document-signature",e.review_completed,t?.jsfModify],queryFn:n(async()=>b(ee,e,{jsfModify:t?.jsfModify}),"queryFn"),enabled:t?.queryOptions?.enabled}),"useGetContractDocumentSignatureSchema"),Ot=n(()=>{let{client:e}=a();return g({mutationFn:n(async({employmentId:t,contractDocumentId:o,payload:r})=>G({client:e,body:r,path:{employment_id:t,contract_document_id:o}}),"mutationFn")})},"useSignContractDocument"),_e=n(({employmentId:e,contractDocumentId:t,options:o})=>{let{client:r}=a();return d({queryKey:["contract-document",e,t],queryFn:n(async()=>L({client:r,path:{employment_id:e,id:t}}),"queryFn"),enabled:o?.queryOptions?.enabled,select:n(({data:i})=>({...i?.data,contract_document:{...i?.data?.contract_document,content:V(i?.data?.contract_document?.content)}}),"select")})},"useGetShowContractDocument"),Et=n(({employmentId:e,contractDocumentId:t,options:o})=>{let{data:r}=_e({employmentId:e,contractDocumentId:t,options:{queryOptions:{enabled:o?.queryOptions?.enabled}}});return{hasCompanySignedContract:r?.contract_document?.signatories?.some(s=>s.type==="company"&&s.status==="signed")}},"useHasCompanySignedContract"),qe=n(({employmentId:e,options:t})=>{let{client:o}=a();return d({queryKey:["contractor-subscriptions",e],queryFn:n(async()=>A({client:o,path:{employment_id:e}}),"queryFn"),enabled:t?.queryOptions?.enabled,select:n(({data:r})=>r?.data,"select")})},"useGetContractorSubscriptions"),It=n(()=>{let{client:e}=a();return g({mutationFn:n(async({employmentId:t,payload:o})=>W({client:e,body:o,path:{employment_id:t}}),"mutationFn")})},"usePostManageContractorSubscriptions"),Pt=n(()=>{let{client:e}=a();return g({mutationFn:n(async({employmentId:t,payload:o})=>K({client:e,body:o,path:{employment_id:t}}),"mutationFn")})},"useCreateContractorContractDocument"),Oe=n(({countryCode:e,employmentId:t,fieldValues:o,options:r})=>{let{client:i}=a();return d({queryKey:["contractor-onboarding-details-schema",e,t],retry:!1,queryFn:n(async()=>Q({client:i,path:{country_code:e},query:{json_schema_version:1,employment_id:t}}),"queryFn"),enabled:r?.queryOptions?.enabled,select:n(({data:s})=>{let c=s?.data?.schema||{};return b(c,o,r)},"select")})},"useContractorOnboardingDetailsSchema"),Ee={[I]:"Contractor Management",[oe]:"Contractor Management Plus",[P]:"Contractor of Record"},Ie=n(e=>{let{data:t,isLoading:o}=ce({enabled:e?.enabled}),r=t?.find(s=>s.product.name==="EOR Monthly");return{eorSubscription:r?{product:{identifier:h,short_name:"EOR"},currency:r.price.currency,price:{amount:E(r.price.amount)},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:h}:null,isLoading:o}},"useEorSubscription"),Pe=n((e,t,o)=>(t&&M(h,o)&&e.push({label:t.label,value:t.value,description:t.description,meta:{features:t.features,price:{amount:t.price.amount,currencyCode:t.currency?.code??""}},disabled:!1}),e),"addEorToFieldOptions"),Mt=n((e,t,o)=>{let{data:r,isLoading:i,refetch:s}=qe({employmentId:e,options:{queryOptions:o?.queryOptions}}),c=le(()=>r?.filter(u=>M(u.product.identifier??"",o?.excludeProducts))??[],[r,o?.excludeProducts]),F=r?r?.length<3:!1,m=r?.find(u=>u.product.identifier===P)?.eligibility_questionnaire?.is_blocking,f=(F||m)&&t?.eor_onboarding&&!o?.excludeProducts?.includes("eor"),{eorSubscription:T,isLoading:ue}=Ie({enabled:f}),de=c.length>0||f&&T!==null,x=b(ne.data.schema,{},{...o,jsfModify:{...o?.jsfModify,required:de?o?.jsfModify?.required:u=>u.filter(C=>C!=="subscription")}}),D=x.fields.find(u=>u.name==="subscription");if(D){let u=c.map(S=>{let l=S.product,me=S.price.amount,pe=S.currency.code,ye=Ee[l.identifier]??"",fe=l.identifier??"",Ce=l.description??"";l.description||console.error(`[Data Integrity] Missing description for product: ${l.identifier}`,{product:l});let be={features:l.features??re[l.identifier]??[],price:{amount:E(me),currencyCode:pe}};return{label:ye,value:fe,description:Ce,meta:be,disabled:m&&l.identifier!==I}});u.sort((S,l)=>S.label.localeCompare(l.label));let C=[];f&&(Pe(C,T,o?.excludeProducts),C.length>0&&(C[0].meta={...C[0].meta,groupSeparator:{show:!0}})),D.options=[...u,...C]}return{isLoading:i||ue,form:x,contractorSubscriptions:r,filteredContractorSubscriptions:c,refetch:s,isEligibilityQuestionnaireBlocked:m}},"useContractorSubscriptionSchemaField"),Rt=n((e,t,o)=>{let{mutateAsyncOrThrow:r}=O(t),{mutateAsyncOrThrow:i}=O(e);return{mutateAsync:n(async({employmentId:s})=>{let{nationality_status:c,ir35:p,ir35_sds_file:F}=o,y={contract_document:{ir_35:p}},m={contract_document:{nationality:c}};return p?(await i({employmentId:s,payload:y}),F?r({employment_id:s,file:F,sub_type:_}):Promise.resolve()):c?i({employmentId:s,payload:m}):Promise.resolve()},"mutateAsync")}},"useUpdateUKandSaudiFields"),Tt=n((e,t)=>{let{data:o,isLoading:r}=ae(e,{sub_type:_},{...t,select:n(({data:c})=>c?.files?.filter(p=>p.sub_type===_),"select")}),i=o?.[0]?.id,s=se(i);return{...s,isLoading:r||s.isLoading}},"useGetIR35File"),xt=n((e,t)=>{let{client:o}=a();return d({queryKey:["contract-documents",e],queryFn:n(async()=>U({client:o,path:{employment_id:e}}),"queryFn"),enabled:t?.enabled,select:n(({data:r})=>r?.data?.contract_documents,"select")})},"useGetContractDocuments"),Dt=n(({options:e,fieldValues:t})=>{let{client:o}=a();return d({queryKey:["eligibility-questionnaire"],queryFn:n(async()=>{let r=await B({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 b(i,t,{jsfModify:e?.jsfModify})},"select"),enabled:e?.queryOptions?.enabled})},"useGetEligibilityQuestionnaire"),Vt=n(()=>{let{client:e}=a();return g({mutationFn:n(async({employmentId:t,payload:o})=>J({client:e,body:{employment_slug:t,responses:o,type:"contractor_of_record"},query:{json_schema_version:1}}),"mutationFn")})},"usePostCreateEligibilityQuestionnaire"),wt=n(()=>{let{client:e}=a();return g({mutationFn:n(async({employmentId:t})=>z({client:e,path:{employment_id:t}}),"mutationFn")})},"usePostManageContractorCorSubscription"),Qt=n(()=>{let{client:e}=a();return g({mutationFn:n(async({employmentId:t})=>Y({client:e,path:{employment_id:t}}),"mutationFn")})},"useDeleteContractorCorSubscription"),At=n(()=>{let{client:e}=a();return g({mutationFn:n(async({employmentId:t,contractOrigin:o,templateType:r})=>e.post({url:"/v1/employments/{employment_id}/contract-origin",path:{employment_id:t},body:{contract_origin:o,template_type:r},security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}]}),"mutationFn")})},"useSetContractOrigin"),Lt=n(({fieldValues:e,options:t})=>d({queryKey:["contract-origin-schema",t?.jsfModify],queryFn:n(async()=>b(te,e,{jsfModify:t?.jsfModify}),"queryFn"),enabled:t?.queryOptions?.enabled}),"useGetContractOriginSchema"),Ut=n(e=>{let{client:t}=a(),{data:o,isLoading:r}=d({...Z(t,"contractor-onboarding-countries"),select:n(s=>s.data?.data?.map(c=>({label:c.name,value:c.code,eor_onboarding:c.eor_onboarding,contractor_products_available:c.contractor_products_available}))||[],"select"),enabled:e?.queryOptions?.enabled}),i=b(X.data.schema,{},e);if(o){let s=i.fields.find(c=>c.name==="country");s&&(s.options=o)}return{isLoading:r,selectCountryForm:i,countries:o}},"useCountriesSchemaField"),jt=n(({countryCode:e,employmentId:t,fieldValues:o,options:r})=>{let i=Oe({countryCode:e,employmentId:t,fieldValues:o,options:r}),{data:s,isLoading:c}=he({employmentId:t,options:{queryOptions:{enabled:r?.queryOptions?.enabled}}}),p=le(()=>!i.data||!s?i.data:{...i.data,fields:i.data.fields.map(y=>y.name!=="payment_terms"?y:{...y,fields:y.fields?.map(m=>m.name!=="compensation_currency_code"?m:{...m,options:s.map(f=>({label:f.code,value:f.code,meta:{source:f.source}}))})})},[i.data,s]);return{...i,data:p,isLoading:i.isLoading||c}},"useContractorOnboardingDetailsSchemaWithCurrencies"),vt=n(({options:e}={})=>{let{data:t}=q(),o=R(t)?t?.company?.id??"":"",{client:r}=a();return d({queryKey:["company-open-tasks",o],queryFn:n(()=>H({client:r,path:{company_id:o}}),"queryFn"),select:n(({data:i})=>i?.data?.actions??[],"select"),enabled:(e?.queryOptions?.enabled??!0)&&!!o})},"useCompanyOpenTasks");export{we as a,q as b,R as c,qt as d,Ot as e,_e as f,Et as g,qe as h,It as i,Pt as j,Ee as k,Mt as l,Rt as m,Tt as n,xt as o,Dt as p,Vt as q,wt as r,Qt as s,At as t,Lt as u,Ut as v,jt as w,vt as x};
2
+ //# sourceMappingURL=chunk-ADXJUDVS.js.map