@remoteoss/remote-flows 1.13.0 → 1.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (370) hide show
  1. package/README.md +10 -9
  2. package/dist/CountryFieldDefault-DJ7VD267.js +2 -0
  3. package/dist/DatePickerFieldDefault-ZWLN5P55.js +2 -0
  4. package/dist/RadioGroupFieldDefault-7SVQ7ZQQ.js +2 -0
  5. package/dist/{chunk-IVY2QYWG.js → chunk-2J4XRENJ.js} +2 -2
  6. package/dist/{chunk-3KS3MSNS.js → chunk-2ZS5F6C7.js} +2 -2
  7. package/dist/{chunk-BUVW6LTT.js → chunk-37RBGAMM.js} +2 -2
  8. package/dist/{chunk-4DZWRQWY.js → chunk-3ACL4IFO.js} +2 -2
  9. package/dist/chunk-3FCX7SWN.js +2 -0
  10. package/dist/chunk-3FCX7SWN.js.map +1 -0
  11. package/dist/chunk-3XG2MGD3.js +2 -0
  12. package/dist/chunk-3XG2MGD3.js.map +1 -0
  13. package/dist/chunk-42R2H2DW.js +2 -0
  14. package/dist/{chunk-O3XMCNHE.js → chunk-47YUPC2L.js} +2 -2
  15. package/dist/{chunk-GOOMCQBE.js → chunk-4SGUDT5K.js} +2 -2
  16. package/dist/{chunk-FJMBBAVQ.js → chunk-5F7FMTGE.js} +2 -2
  17. package/dist/chunk-5KMUUL7U.js +1 -0
  18. package/dist/chunk-5KMUUL7U.js.map +1 -0
  19. package/dist/{chunk-RN6B2HER.js → chunk-5TBUDUEB.js} +2 -2
  20. package/dist/chunk-5WIBTOCI.js +2 -0
  21. package/dist/chunk-5WIBTOCI.js.map +1 -0
  22. package/dist/{chunk-EASVLA7B.js → chunk-6DRAZSGG.js} +2 -2
  23. package/dist/chunk-76ZDXC2T.js +2 -0
  24. package/dist/chunk-76ZDXC2T.js.map +1 -0
  25. package/dist/{chunk-UVAK3ZEO.js → chunk-7TOCURKO.js} +2 -2
  26. package/dist/{chunk-M4X3WYJY.js → chunk-A37NW25N.js} +2 -2
  27. package/dist/chunk-A3LRPGV3.js +2 -0
  28. package/dist/chunk-A3LRPGV3.js.map +1 -0
  29. package/dist/{chunk-GRHZMIP5.js → chunk-AB3RAEMM.js} +2 -2
  30. package/dist/{chunk-QIBRRCQX.js → chunk-AJ7L3ZO3.js} +2 -2
  31. package/dist/{chunk-IRVF252A.js → chunk-BC4UT7KC.js} +2 -2
  32. package/dist/chunk-BIDZO7XH.js +2 -0
  33. package/dist/chunk-BIDZO7XH.js.map +1 -0
  34. package/dist/{chunk-WROEWNZE.js → chunk-C36VO7DO.js} +2 -2
  35. package/dist/chunk-CQ2EF32E.js +2 -0
  36. package/dist/chunk-CQ2EF32E.js.map +1 -0
  37. package/dist/{chunk-XZLBYJZJ.js → chunk-D36BZQTP.js} +2 -2
  38. package/dist/{chunk-BBOEQU3O.js → chunk-D5YMIXK5.js} +2 -2
  39. package/dist/chunk-D6KO5LX6.js +2 -0
  40. package/dist/chunk-D6KO5LX6.js.map +1 -0
  41. package/dist/{chunk-66PXQJK6.js → chunk-DCB2H2SG.js} +2 -2
  42. package/dist/{chunk-BDNJNMR5.js → chunk-DI2QNZ2O.js} +2 -2
  43. package/dist/chunk-DI3XZUMY.js +2 -0
  44. package/dist/chunk-DI3XZUMY.js.map +1 -0
  45. package/dist/chunk-E6256SK7.js +2 -0
  46. package/dist/chunk-E6256SK7.js.map +1 -0
  47. package/dist/{chunk-GVK4VLLD.js → chunk-EPLPD54O.js} +2 -2
  48. package/dist/chunk-FKYEST54.js +2 -0
  49. package/dist/chunk-FKYEST54.js.map +1 -0
  50. package/dist/{chunk-NWWR6SBR.js → chunk-GLKITZNI.js} +2 -2
  51. package/dist/chunk-H463PCBN.js +2 -0
  52. package/dist/{chunk-5NZJD6CA.js.map → chunk-H463PCBN.js.map} +1 -1
  53. package/dist/{chunk-N2UBBJBK.js → chunk-HLAKUOQB.js} +2 -2
  54. package/dist/{chunk-ATPZXVQD.js → chunk-HN7ZP5AX.js} +2 -2
  55. package/dist/{chunk-APFUKV75.js → chunk-HU453KWI.js} +2 -2
  56. package/dist/{chunk-TRR7P5XQ.js → chunk-I2ED6EUG.js} +2 -2
  57. package/dist/{chunk-32EHLWZC.js → chunk-I7JUAYNN.js} +2 -2
  58. package/dist/{chunk-YRC6EEM3.js → chunk-IF42CZJH.js} +2 -2
  59. package/dist/{chunk-ZZJPAKGP.js → chunk-IHVEK72X.js} +2 -2
  60. package/dist/chunk-JITSAYF7.js +2 -0
  61. package/dist/chunk-JITSAYF7.js.map +1 -0
  62. package/dist/{chunk-L5VZ3XT7.js → chunk-JXXZH6KH.js} +2 -2
  63. package/dist/chunk-KJQN6GHW.js +6 -0
  64. package/dist/chunk-KJQN6GHW.js.map +1 -0
  65. package/dist/chunk-KUTIJABX.js +2 -0
  66. package/dist/chunk-KUTIJABX.js.map +1 -0
  67. package/dist/{chunk-MPYZD3SN.js → chunk-LDWPRPN4.js} +2 -2
  68. package/dist/chunk-LHEF2FN7.js +2 -0
  69. package/dist/chunk-LHEF2FN7.js.map +1 -0
  70. package/dist/{chunk-YAJCRUQL.js → chunk-M4BR3FKN.js} +2 -2
  71. package/dist/{chunk-H2PKQ3ML.js → chunk-MTOXXQYK.js} +2 -2
  72. package/dist/{chunk-PTNHB5BY.js → chunk-MUJT3F2Q.js} +2 -2
  73. package/dist/{chunk-Q7JVXGC6.js → chunk-NOY2YNXO.js} +2 -2
  74. package/dist/chunk-NZ64KNDV.js +2 -0
  75. package/dist/chunk-NZ64KNDV.js.map +1 -0
  76. package/dist/{chunk-AMWQ5P7T.js → chunk-PQP3KZ7P.js} +2 -2
  77. package/dist/{chunk-NHJT3DJU.js → chunk-PS5T7URZ.js} +2 -2
  78. package/dist/chunk-QORZCJSR.js +2 -0
  79. package/dist/chunk-QORZCJSR.js.map +1 -0
  80. package/dist/chunk-QPN6X6UA.js +2 -0
  81. package/dist/chunk-QPN6X6UA.js.map +1 -0
  82. package/dist/{chunk-Y7GCA66L.js → chunk-RFMIAO6J.js} +2 -2
  83. package/dist/chunk-RKS3FX3C.js +2 -0
  84. package/dist/chunk-RKS3FX3C.js.map +1 -0
  85. package/dist/{chunk-ILH332UR.js → chunk-RNXUKKPF.js} +2 -2
  86. package/dist/{chunk-2PUPF2EN.js → chunk-S63QGDMR.js} +2 -2
  87. package/dist/chunk-STEDOWHX.js +2 -0
  88. package/dist/chunk-STEDOWHX.js.map +1 -0
  89. package/dist/{chunk-WQYW6TGP.js → chunk-SZVBNL6O.js} +2 -2
  90. package/dist/chunk-TGLB5MA2.js +2 -0
  91. package/dist/{chunk-Y7QMIMYP.js.map → chunk-TGLB5MA2.js.map} +1 -1
  92. package/dist/chunk-TSPDJUGG.js +2 -0
  93. package/dist/chunk-TSPDJUGG.js.map +1 -0
  94. package/dist/chunk-TXSUZLOI.js +2 -0
  95. package/dist/chunk-TXSUZLOI.js.map +1 -0
  96. package/dist/chunk-VGIG5OUD.js +2 -0
  97. package/dist/chunk-VGIG5OUD.js.map +1 -0
  98. package/dist/chunk-VLKG3SNS.js +2 -0
  99. package/dist/chunk-VLKG3SNS.js.map +1 -0
  100. package/dist/{chunk-DBUX7M4A.js → chunk-VOUP5SMR.js} +2 -2
  101. package/dist/{chunk-7S2QQQDH.js → chunk-VSYION5R.js} +2 -2
  102. package/dist/{chunk-DT72SNYW.js → chunk-XLTZ7SN3.js} +2 -2
  103. package/dist/{chunk-AA3QOH66.js → chunk-XO5VURZY.js} +2 -2
  104. package/dist/chunk-Z4STVEJE.js +2 -0
  105. package/dist/chunk-Z4STVEJE.js.map +1 -0
  106. package/dist/default-components.d.ts +2 -2
  107. package/dist/default-components.js +1 -1
  108. package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.d.ts +1 -1
  109. package/dist/flows/ContractAmendment/ContractAmendmentFlow.d.ts +3 -3
  110. package/dist/flows/ContractAmendment/ContractAmendmentFlow.js +1 -1
  111. package/dist/flows/ContractAmendment/ContractAmendmentForm.d.ts +1 -1
  112. package/dist/flows/ContractAmendment/ContractAmendmentForm.js +1 -1
  113. package/dist/flows/ContractAmendment/context.d.ts +3 -3
  114. package/dist/flows/ContractAmendment/hooks.d.ts +3 -3
  115. package/dist/flows/ContractAmendment/hooks.js +1 -1
  116. package/dist/flows/ContractAmendment/index.d.ts +3 -3
  117. package/dist/flows/ContractAmendment/index.js +1 -1
  118. package/dist/flows/ContractAmendment/types.d.ts +2 -2
  119. package/dist/flows/ContractAmendment/utils.d.ts +2 -2
  120. package/dist/flows/ContractorOnboarding/ContractorOnboarding.d.ts +7 -5
  121. package/dist/flows/ContractorOnboarding/ContractorOnboarding.js +1 -1
  122. package/dist/flows/ContractorOnboarding/api.d.ts +213 -20
  123. package/dist/flows/ContractorOnboarding/api.js +1 -1
  124. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.d.ts +4 -4
  125. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.js +1 -1
  126. package/dist/flows/ContractorOnboarding/components/ChooseAlternativePlanStep.d.ts +29 -0
  127. package/dist/flows/ContractorOnboarding/components/ChooseAlternativePlanStep.js +2 -0
  128. package/dist/flows/ContractorOnboarding/components/ChooseAlternativePlanStep.js.map +1 -0
  129. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.d.ts +7 -5
  130. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.js +1 -1
  131. package/dist/flows/ContractorOnboarding/components/ContractPreviewHeader.d.ts +2 -2
  132. package/dist/flows/ContractorOnboarding/components/ContractPreviewStatement.d.ts +2 -2
  133. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.d.ts +7 -5
  134. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.js +1 -1
  135. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.d.ts +7 -5
  136. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.js +1 -1
  137. package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.d.ts +7 -5
  138. package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.js +1 -1
  139. package/dist/flows/ContractorOnboarding/components/OnboardingInvite.d.ts +3 -3
  140. package/dist/flows/ContractorOnboarding/components/OnboardingInvite.js +1 -1
  141. package/dist/flows/ContractorOnboarding/components/PricingPlan.d.ts +7 -5
  142. package/dist/flows/ContractorOnboarding/components/PricingPlan.js +1 -1
  143. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.d.ts +4 -4
  144. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.js +1 -1
  145. package/dist/flows/ContractorOnboarding/components/StatementOfWorkDisclaimer.js +1 -1
  146. package/dist/flows/ContractorOnboarding/constants.d.ts +4 -1
  147. package/dist/flows/ContractorOnboarding/constants.js +1 -1
  148. package/dist/flows/ContractorOnboarding/context.d.ts +12 -8
  149. package/dist/flows/ContractorOnboarding/hooks.d.ts +7 -5
  150. package/dist/flows/ContractorOnboarding/hooks.js +1 -1
  151. package/dist/flows/ContractorOnboarding/index.d.ts +7 -6
  152. package/dist/flows/ContractorOnboarding/index.js +1 -1
  153. package/dist/flows/ContractorOnboarding/jsfModify.d.ts +9 -6
  154. package/dist/flows/ContractorOnboarding/jsfModify.js +1 -1
  155. package/dist/flows/ContractorOnboarding/json-schemas/chooseAlternativePlanStep.d.ts +23 -0
  156. package/dist/flows/ContractorOnboarding/json-schemas/chooseAlternativePlanStep.js +2 -0
  157. package/dist/flows/ContractorOnboarding/json-schemas/chooseAlternativePlanStep.js.map +1 -0
  158. package/dist/flows/ContractorOnboarding/types.d.ts +7 -5
  159. package/dist/flows/ContractorOnboarding/utils.d.ts +19 -6
  160. package/dist/flows/ContractorOnboarding/utils.js +1 -1
  161. package/dist/flows/CostCalculator/CostCalculatorFlow.d.ts +3 -3
  162. package/dist/flows/CostCalculator/CostCalculatorFlow.js +1 -1
  163. package/dist/flows/CostCalculator/CostCalculatorForm.d.ts +3 -3
  164. package/dist/flows/CostCalculator/CostCalculatorForm.js +1 -1
  165. package/dist/flows/CostCalculator/EstimationResults/EstimationResults.d.ts +2 -2
  166. package/dist/flows/CostCalculator/EstimationResults/EstimationResults.js +1 -1
  167. package/dist/flows/CostCalculator/SummaryResults/SummaryResults.d.ts +2 -2
  168. package/dist/flows/CostCalculator/api.d.ts +2 -2
  169. package/dist/flows/CostCalculator/api.js +1 -1
  170. package/dist/flows/CostCalculator/components/SalaryField.d.ts +2 -2
  171. package/dist/flows/CostCalculator/components/SalaryField.js +1 -1
  172. package/dist/flows/CostCalculator/context.d.ts +3 -3
  173. package/dist/flows/CostCalculator/hooks.d.ts +3 -3
  174. package/dist/flows/CostCalculator/hooks.js +1 -1
  175. package/dist/flows/CostCalculator/index.d.ts +3 -3
  176. package/dist/flows/CostCalculator/index.js +1 -1
  177. package/dist/flows/CostCalculator/types.d.ts +2 -2
  178. package/dist/flows/CostCalculator/utils.d.ts +3 -3
  179. package/dist/flows/CostCalculator/utils.js +1 -1
  180. package/dist/flows/CreateCompany/CreateCompany.d.ts +18 -0
  181. package/dist/flows/CreateCompany/CreateCompany.js +2 -0
  182. package/dist/flows/CreateCompany/CreateCompany.js.map +1 -0
  183. package/dist/flows/CreateCompany/api.d.ts +81 -0
  184. package/dist/flows/CreateCompany/api.js +2 -0
  185. package/dist/flows/CreateCompany/api.js.map +1 -0
  186. package/dist/flows/CreateCompany/components/AddressDetailsStep.d.ts +14 -0
  187. package/dist/flows/CreateCompany/components/AddressDetailsStep.js +2 -0
  188. package/dist/flows/CreateCompany/components/AddressDetailsStep.js.map +1 -0
  189. package/dist/flows/CreateCompany/components/CompanyBasicInformationStep.d.ts +14 -0
  190. package/dist/flows/CreateCompany/components/CompanyBasicInformationStep.js +2 -0
  191. package/dist/flows/CreateCompany/components/CompanyBasicInformationStep.js.map +1 -0
  192. package/dist/flows/CreateCompany/components/CreateCompanyForm.d.ts +17 -0
  193. package/dist/flows/CreateCompany/components/CreateCompanyForm.js +2 -0
  194. package/dist/flows/CreateCompany/components/CreateCompanyForm.js.map +1 -0
  195. package/dist/flows/CreateCompany/components/CreateCompanySubmit.d.ts +6 -0
  196. package/dist/flows/CreateCompany/components/CreateCompanySubmit.js +2 -0
  197. package/dist/flows/CreateCompany/components/CreateCompanySubmit.js.map +1 -0
  198. package/dist/flows/CreateCompany/context.d.ts +82 -0
  199. package/dist/flows/CreateCompany/context.js +2 -0
  200. package/dist/flows/CreateCompany/context.js.map +1 -0
  201. package/dist/flows/CreateCompany/hooks.d.ts +14 -0
  202. package/dist/flows/CreateCompany/hooks.js +2 -0
  203. package/dist/flows/CreateCompany/hooks.js.map +1 -0
  204. package/dist/flows/CreateCompany/index.d.ts +15 -0
  205. package/dist/flows/CreateCompany/index.js +2 -0
  206. package/dist/flows/CreateCompany/index.js.map +1 -0
  207. package/dist/flows/CreateCompany/json-schemas/companyBasicInformationStep.d.ts +73 -0
  208. package/dist/flows/CreateCompany/json-schemas/companyBasicInformationStep.js +2 -0
  209. package/dist/flows/CreateCompany/json-schemas/companyBasicInformationStep.js.map +1 -0
  210. package/dist/flows/CreateCompany/types.d.ts +14 -0
  211. package/dist/flows/CreateCompany/types.js +1 -0
  212. package/dist/flows/CreateCompany/types.js.map +1 -0
  213. package/dist/flows/CreateCompany/utils.d.ts +8 -0
  214. package/dist/flows/CreateCompany/utils.js +2 -0
  215. package/dist/flows/CreateCompany/utils.js.map +1 -0
  216. package/dist/flows/Onboarding/OnboardingFlow.d.ts +4 -4
  217. package/dist/flows/Onboarding/OnboardingFlow.js +1 -1
  218. package/dist/flows/Onboarding/api.d.ts +4 -4
  219. package/dist/flows/Onboarding/api.js +1 -1
  220. package/dist/flows/Onboarding/components/AnnualGrossSalary.d.ts +2 -2
  221. package/dist/flows/Onboarding/components/AnnualGrossSalary.js +1 -1
  222. package/dist/flows/Onboarding/components/BasicInformationStep.d.ts +4 -4
  223. package/dist/flows/Onboarding/components/BasicInformationStep.js +1 -1
  224. package/dist/flows/Onboarding/components/BenefitsStep.d.ts +4 -4
  225. package/dist/flows/Onboarding/components/BenefitsStep.js +1 -1
  226. package/dist/flows/Onboarding/components/ContractDetailsStep.d.ts +4 -4
  227. package/dist/flows/Onboarding/components/ContractDetailsStep.js +1 -1
  228. package/dist/flows/Onboarding/components/OnboardingForm.d.ts +4 -4
  229. package/dist/flows/Onboarding/components/OnboardingForm.js +1 -1
  230. package/dist/flows/Onboarding/components/OnboardingInvite.d.ts +3 -3
  231. package/dist/flows/Onboarding/components/OnboardingInvite.js +1 -1
  232. package/dist/flows/Onboarding/components/ReviewStep.d.ts +4 -4
  233. package/dist/flows/Onboarding/components/SaveDraftButton.d.ts +3 -3
  234. package/dist/flows/Onboarding/components/SelectCountryStep.d.ts +4 -4
  235. package/dist/flows/Onboarding/components/SelectCountryStep.js +1 -1
  236. package/dist/flows/Onboarding/context.d.ts +4 -4
  237. package/dist/flows/Onboarding/hooks.d.ts +4 -4
  238. package/dist/flows/Onboarding/hooks.js +1 -1
  239. package/dist/flows/Onboarding/index.d.ts +4 -4
  240. package/dist/flows/Onboarding/index.js +1 -1
  241. package/dist/flows/Onboarding/types.d.ts +4 -4
  242. package/dist/flows/Onboarding/utils.d.ts +4 -4
  243. package/dist/flows/Termination/AdditionalDetailsForm.d.ts +4 -4
  244. package/dist/flows/Termination/AdditionalDetailsForm.js +1 -1
  245. package/dist/flows/Termination/EmployeeComunicationForm.d.ts +4 -4
  246. package/dist/flows/Termination/EmployeeComunicationForm.js +1 -1
  247. package/dist/flows/Termination/PaidTimeOffForm.d.ts +4 -4
  248. package/dist/flows/Termination/PaidTimeOffForm.js +1 -1
  249. package/dist/flows/Termination/TerminationDetailsForm.d.ts +4 -4
  250. package/dist/flows/Termination/TerminationDetailsForm.js +1 -1
  251. package/dist/flows/Termination/TerminationFlow.d.ts +4 -4
  252. package/dist/flows/Termination/TerminationFlow.js +1 -1
  253. package/dist/flows/Termination/TerminationForm.d.ts +4 -4
  254. package/dist/flows/Termination/TerminationForm.js +1 -1
  255. package/dist/flows/Termination/api.d.ts +5 -5
  256. package/dist/flows/Termination/api.js +1 -1
  257. package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformationFees.js +1 -1
  258. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.d.ts +6 -6
  259. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.d.ts +6 -6
  260. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.js +1 -1
  261. package/dist/flows/Termination/components/PaidTimeOff/types.d.ts +6 -6
  262. package/dist/flows/Termination/components/TerminationDialogInfoContent/TerminationDialogInfoContent.js +1 -1
  263. package/dist/flows/Termination/context.d.ts +4 -4
  264. package/dist/flows/Termination/hooks.d.ts +4 -4
  265. package/dist/flows/Termination/hooks.js +1 -1
  266. package/dist/flows/Termination/index.d.ts +6 -6
  267. package/dist/flows/Termination/index.js +1 -1
  268. package/dist/flows/Termination/json-schemas/jsonSchema.js +1 -1
  269. package/dist/flows/Termination/json-schemas/schema.d.ts +4 -4
  270. package/dist/flows/Termination/json-schemas/schema.js +1 -1
  271. package/dist/flows/Termination/types.d.ts +4 -4
  272. package/dist/flows/Termination/utils.d.ts +4 -4
  273. package/dist/flows/types.d.ts +2 -2
  274. package/dist/flows/useStepState.d.ts +1 -0
  275. package/dist/flows/useStepState.js +1 -1
  276. package/dist/index.css +1 -1
  277. package/dist/index.css.map +1 -1
  278. package/dist/index.d.ts +35 -13
  279. package/dist/index.js +2 -2
  280. package/dist/index.js.map +1 -1
  281. package/dist/internals.d.ts +3 -3
  282. package/dist/internals.js +1 -1
  283. package/dist/{mutations-DD5sJUOe.d.ts → mutations-B8OzuyhA.d.ts} +1 -1
  284. package/dist/{remoteFlows-XefHitC9.d.ts → remoteFlows-Bphgh2nl.d.ts} +13 -2
  285. package/dist/styles.css +1 -1
  286. package/dist/styles.css.map +1 -1
  287. package/dist/types-Bs66Ma28.d.ts +248 -0
  288. package/dist/{types-A0hYlRII.d.ts → types-Ck-iVGL_.d.ts} +2 -2
  289. package/dist/{types-CUjmrc0L.d.ts → types-Dcg5CIEH.d.ts} +3 -3
  290. package/dist/{types-PBjnmC_s.d.ts → types-Dr-apmY1.d.ts} +21 -8
  291. package/dist/{types-CVZaJm8w.d.ts → types-Jy-_3Y7m.d.ts} +1 -1
  292. package/dist/{types.gen-BGBO30Fw.d.ts → types.gen-Yvu8ksE5.d.ts} +254 -1
  293. package/dist/{utils-YCgjlF1V.d.ts → utils-C8T9BiQ3.d.ts} +1 -1
  294. package/package.json +1 -1
  295. package/dist/CountryFieldDefault-BBMP6LHE.js +0 -2
  296. package/dist/DatePickerFieldDefault-LBR6A7BF.js +0 -2
  297. package/dist/RadioGroupFieldDefault-5GHWP2P6.js +0 -2
  298. package/dist/chunk-3I3XSAYV.js +0 -2
  299. package/dist/chunk-3I3XSAYV.js.map +0 -1
  300. package/dist/chunk-4AM73KSF.js +0 -2
  301. package/dist/chunk-4AM73KSF.js.map +0 -1
  302. package/dist/chunk-5BRMLRS7.js +0 -2
  303. package/dist/chunk-5BRMLRS7.js.map +0 -1
  304. package/dist/chunk-5NZJD6CA.js +0 -2
  305. package/dist/chunk-6YEAHKT6.js +0 -2
  306. package/dist/chunk-6YEAHKT6.js.map +0 -1
  307. package/dist/chunk-BYX2YS2B.js +0 -6
  308. package/dist/chunk-BYX2YS2B.js.map +0 -1
  309. package/dist/chunk-EM5VOM56.js +0 -2
  310. package/dist/chunk-EM5VOM56.js.map +0 -1
  311. package/dist/chunk-FKLBLQIH.js +0 -2
  312. package/dist/chunk-FKLBLQIH.js.map +0 -1
  313. package/dist/chunk-O3G6HQ3B.js +0 -2
  314. package/dist/chunk-O3G6HQ3B.js.map +0 -1
  315. package/dist/chunk-SATHKK5B.js +0 -2
  316. package/dist/chunk-SATHKK5B.js.map +0 -1
  317. package/dist/chunk-UTNKUPL5.js +0 -2
  318. package/dist/chunk-UTNKUPL5.js.map +0 -1
  319. package/dist/chunk-XY2IEZHC.js +0 -2
  320. package/dist/chunk-XY2IEZHC.js.map +0 -1
  321. package/dist/chunk-Y7QMIMYP.js +0 -2
  322. package/dist/chunk-ZVUQDK2E.js +0 -2
  323. /package/dist/{CountryFieldDefault-BBMP6LHE.js.map → CountryFieldDefault-DJ7VD267.js.map} +0 -0
  324. /package/dist/{DatePickerFieldDefault-LBR6A7BF.js.map → DatePickerFieldDefault-ZWLN5P55.js.map} +0 -0
  325. /package/dist/{RadioGroupFieldDefault-5GHWP2P6.js.map → RadioGroupFieldDefault-7SVQ7ZQQ.js.map} +0 -0
  326. /package/dist/{chunk-IVY2QYWG.js.map → chunk-2J4XRENJ.js.map} +0 -0
  327. /package/dist/{chunk-3KS3MSNS.js.map → chunk-2ZS5F6C7.js.map} +0 -0
  328. /package/dist/{chunk-BUVW6LTT.js.map → chunk-37RBGAMM.js.map} +0 -0
  329. /package/dist/{chunk-4DZWRQWY.js.map → chunk-3ACL4IFO.js.map} +0 -0
  330. /package/dist/{chunk-ZVUQDK2E.js.map → chunk-42R2H2DW.js.map} +0 -0
  331. /package/dist/{chunk-O3XMCNHE.js.map → chunk-47YUPC2L.js.map} +0 -0
  332. /package/dist/{chunk-GOOMCQBE.js.map → chunk-4SGUDT5K.js.map} +0 -0
  333. /package/dist/{chunk-FJMBBAVQ.js.map → chunk-5F7FMTGE.js.map} +0 -0
  334. /package/dist/{chunk-RN6B2HER.js.map → chunk-5TBUDUEB.js.map} +0 -0
  335. /package/dist/{chunk-EASVLA7B.js.map → chunk-6DRAZSGG.js.map} +0 -0
  336. /package/dist/{chunk-UVAK3ZEO.js.map → chunk-7TOCURKO.js.map} +0 -0
  337. /package/dist/{chunk-M4X3WYJY.js.map → chunk-A37NW25N.js.map} +0 -0
  338. /package/dist/{chunk-GRHZMIP5.js.map → chunk-AB3RAEMM.js.map} +0 -0
  339. /package/dist/{chunk-QIBRRCQX.js.map → chunk-AJ7L3ZO3.js.map} +0 -0
  340. /package/dist/{chunk-IRVF252A.js.map → chunk-BC4UT7KC.js.map} +0 -0
  341. /package/dist/{chunk-WROEWNZE.js.map → chunk-C36VO7DO.js.map} +0 -0
  342. /package/dist/{chunk-XZLBYJZJ.js.map → chunk-D36BZQTP.js.map} +0 -0
  343. /package/dist/{chunk-BBOEQU3O.js.map → chunk-D5YMIXK5.js.map} +0 -0
  344. /package/dist/{chunk-66PXQJK6.js.map → chunk-DCB2H2SG.js.map} +0 -0
  345. /package/dist/{chunk-BDNJNMR5.js.map → chunk-DI2QNZ2O.js.map} +0 -0
  346. /package/dist/{chunk-GVK4VLLD.js.map → chunk-EPLPD54O.js.map} +0 -0
  347. /package/dist/{chunk-NWWR6SBR.js.map → chunk-GLKITZNI.js.map} +0 -0
  348. /package/dist/{chunk-N2UBBJBK.js.map → chunk-HLAKUOQB.js.map} +0 -0
  349. /package/dist/{chunk-ATPZXVQD.js.map → chunk-HN7ZP5AX.js.map} +0 -0
  350. /package/dist/{chunk-APFUKV75.js.map → chunk-HU453KWI.js.map} +0 -0
  351. /package/dist/{chunk-TRR7P5XQ.js.map → chunk-I2ED6EUG.js.map} +0 -0
  352. /package/dist/{chunk-32EHLWZC.js.map → chunk-I7JUAYNN.js.map} +0 -0
  353. /package/dist/{chunk-YRC6EEM3.js.map → chunk-IF42CZJH.js.map} +0 -0
  354. /package/dist/{chunk-ZZJPAKGP.js.map → chunk-IHVEK72X.js.map} +0 -0
  355. /package/dist/{chunk-L5VZ3XT7.js.map → chunk-JXXZH6KH.js.map} +0 -0
  356. /package/dist/{chunk-MPYZD3SN.js.map → chunk-LDWPRPN4.js.map} +0 -0
  357. /package/dist/{chunk-YAJCRUQL.js.map → chunk-M4BR3FKN.js.map} +0 -0
  358. /package/dist/{chunk-H2PKQ3ML.js.map → chunk-MTOXXQYK.js.map} +0 -0
  359. /package/dist/{chunk-PTNHB5BY.js.map → chunk-MUJT3F2Q.js.map} +0 -0
  360. /package/dist/{chunk-Q7JVXGC6.js.map → chunk-NOY2YNXO.js.map} +0 -0
  361. /package/dist/{chunk-AMWQ5P7T.js.map → chunk-PQP3KZ7P.js.map} +0 -0
  362. /package/dist/{chunk-NHJT3DJU.js.map → chunk-PS5T7URZ.js.map} +0 -0
  363. /package/dist/{chunk-Y7GCA66L.js.map → chunk-RFMIAO6J.js.map} +0 -0
  364. /package/dist/{chunk-ILH332UR.js.map → chunk-RNXUKKPF.js.map} +0 -0
  365. /package/dist/{chunk-2PUPF2EN.js.map → chunk-S63QGDMR.js.map} +0 -0
  366. /package/dist/{chunk-WQYW6TGP.js.map → chunk-SZVBNL6O.js.map} +0 -0
  367. /package/dist/{chunk-DBUX7M4A.js.map → chunk-VOUP5SMR.js.map} +0 -0
  368. /package/dist/{chunk-7S2QQQDH.js.map → chunk-VSYION5R.js.map} +0 -0
  369. /package/dist/{chunk-DT72SNYW.js.map → chunk-XLTZ7SN3.js.map} +0 -0
  370. /package/dist/{chunk-AA3QOH66.js.map → chunk-XO5VURZY.js.map} +0 -0
@@ -1,2 +1,2 @@
1
- import{a as R,b as x,c as N,d as A}from"./chunk-6VQEAU6A.js";import{a as w,b as f}from"./chunk-AA3QOH66.js";import{a as C}from"./chunk-JJEFWMLY.js";import{b as B}from"./chunk-4YPJKEHT.js";import{a as i,b as t,e as F}from"./chunk-3PIJOIYR.js";import{a as m}from"./chunk-P37U34EQ.js";import{MoreHorizontal as P}from"lucide-react";import{useState as U}from"react";import{Fragment as $,jsx as g,jsxs as T}from"react/jsx-runtime";function E({actions:e=[],className:n,label:a,"data-testid":l}){let[_,d]=U(!1);return T("div",{className:i("relative",n),children:[g(B,{"data-testid":l,variant:"ghost","aria-label":a,className:"h-8 w-8 p-0",onClick:()=>d(!_),children:g(P,{className:"h-4 w-4"})}),_&&T($,{children:[g("div",{className:"fixed inset-0 z-40",onClick:()=>d(!1)}),g("div",{className:"absolute right-0 top-1/2 mt-1 bg-white border border-gray-200 rounded-md shadow-lg z-50 min-w-[120px]",children:e.map((c,u)=>g("button",{"data-testid":`${l}-${c.label.toLowerCase().replace(" ","-")}`,className:i("w-full text-left px-2 py-1.5 text-sm hover:bg-gray-100",c.disabled&&"opacity-50 cursor-not-allowed"),onClick:()=>{c.onClick(),d(!1)},disabled:c.disabled,children:c.label},u))})]})]})}m(E,"ActionsDropdown");import{ChevronDown as O,Info as Z}from"lucide-react";import K from"react-flagpack";import{useState as z}from"react";import{jsx as j,jsxs as L}from"react/jsx-runtime";var I=m(({children:e,content:n})=>L("div",{className:"relative inline-block group",children:[e,L("div",{className:"absolute bottom-full right-0 mb-2 px-3 py-2 bg-gray-900 text-white text-xs rounded-md opacity-0 invisible group-hover:opacity-100 group-hover:visible transition-all duration-200 z-50 w-64 whitespace-normal break-words",children:[n,j("div",{className:"absolute top-full right-3 border-4 border-transparent border-t-gray-900"})]})]}),"BasicTooltip");import{Fragment as b,jsx as o,jsxs as r}from"react/jsx-runtime";var V={GB:"GB-UKM"},Y=m(({title:e,country:n,region:a,annualGrossSalary:l,onDelete:_,onExportPdf:d,onEdit:c})=>{let u=[{label:"Edit",onClick:c},{label:"Export",onClick:d},{label:"Delete",onClick:_}];return r("div",{className:"RemoteFlows__EstimationResults__Header flex justify-between",children:[r("div",{className:"flex flex-row items-center gap-6",children:[o("div",{className:"RemoteFlows__EstimationResultsHeader__FlagContainer flex h-16 w-16 items-center justify-center rounded-lg bg-[#F4F4F5]",children:o(K,{code:V[n.alpha_2_code]||n.alpha_2_code})}),r("div",{className:"space-y-1",children:[o("h2",{"data-testid":"estimation-results-header-title",className:"RemoteFlows__EstimationResultsHeader__Title text-lg font-medium leading-none text-[#181818]",children:e}),r("p",{className:"RemoteFlows__EstimationResultsHeader__Country text-xs text-[#71717A]",children:[n.name," ",a?` (${a.name})`:""]}),r("p",{"data-testid":"estimation-results-header-annual-gross-salary",className:"RemoteFlows__EstimationResultsHeader__AnnualGrossSalary text-xs text-[#71717A]",children:[o("span",{className:"text-[#181818]",children:"Employee annual gross salary:"})," ",l]})]})]}),o(E,{label:"Actions",className:"RemoteFlows__EstimationResults__ActionsDropdown",actions:u})]})},"EstimationResultsHeader"),q=m(()=>({steps:[{id:"add-employment-details",title:"Add employment details",description:"You add employee employments details."},{id:"invite-employee",title:"Invite employee",description:"Hire receives an email invitation from Remote to start the self-enrollment process."},{id:"verify-information",title:"Verify information",description:"Remote prepares the Employment Agreement and verifies all the information."},{id:"sign-contract",title:"Sign contract",description:"All parties sign the Employment Agreement and are ready to start. \u{1F389}"}],helpText:"For customers who accept Remote's Terms of Service (ToS), the employee onboarding timeline starts once the employee has been invited to the platform and completed self enrollment.",zendeskArticleId:w.employeeOnboardingTimeline}),"getOnboardingTimelineData");function J({minimumOnboardingDays:e,data:n,className:a}){return o(R,{type:"single",collapsible:!0,className:i("RemoteFlows__EstimationResults__OnboardingTimeline w-full",a),children:r(x,{value:"timeline",className:"RemoteFlows__OnboardingTimeline__AccordionItem border-border",children:[o(N,{className:"RemoteFlows__OnboardingTimeline__AccordionTrigger hover:no-underline px-0 py-4",children:r("div",{className:"flex items-center justify-between w-full",children:[o("span",{className:"RemoteFlows__OnboardingTimeline__Title text-base font-medium text-[#0F172A]",children:"Onboarding timeline"}),e!=null&&r("span",{className:"RemoteFlows__OnboardingTimeline__Description text-base text-muted-foreground mr-4",children:[e," days"]})]})}),r(A,{className:"px-0 pb-4",children:[o("ul",{className:"RemoteFlows__OnboardingTimeline__List list-disc list-inside space-y-2",children:n.steps.map(l=>r("li",{children:[o("strong",{className:"font-medium text-[#09090B]",children:l.title})," ","- ",l.description]},l.id))}),r("p",{className:"RemoteFlows__OnboardingTimeline__HelpText text-xs text-muted-foreground mt-4",children:[n.helpText,n.zendeskArticleId&&o(f,{zendeskId:n.zendeskArticleId,children:"Learn more"})]})]})]})})}m(J,"OnboardingTimeline");function Q({className:e,countryBenefitsUrl:n,countryGuideUrl:a,country:l}){return o(R,{type:"single",collapsible:!0,className:i("RemoteFlows__EstimationResults__HiringSection w-full",e),children:r(x,{value:"timeline",className:"RemoteFlows__HiringSection__AccordionItem border-border",children:[o(N,{className:"RemoteFlows__HiringSection__AccordionTrigger hover:no-underline px-0 py-4",children:o("div",{className:"flex items-center justify-between w-full",children:r("span",{className:"text-base font-medium text-[#0F172A]",children:["Hiring in ",l.name]})})}),o(A,{children:r("div",{className:"flex flex-col gap-1",children:[a&&o("a",{href:a,target:"_blank",className:"RemoteFlows__Link",children:"Explore our complete guide \u2197"}),n&&o("a",{href:n,target:"_blank",className:"RemoteFlows__Link",children:"Explore our available benefits \u2197"})]})})]})})}m(Q,"HiringSection");function W({isMultipleCurrency:e,className:n}){return r("div",{className:i("RemoteFlows__EstimationResults__Headers grid grid-cols-3 items-center",n),children:[o("span",{"aria-hidden":!0}),e?r(b,{children:[o("span",{className:"RemoteFlows__EstimationResults__Headers__Label",children:"Employee currency"}),o("span",{className:"RemoteFlows__EstimationResults__Headers__Label",children:"Employer currency"})]}):r(b,{children:[o("span",{}),o("span",{className:"RemoteFlows__EstimationResults__Headers__Label",children:"Amount"})]})]})}m(W,"EstimationHeaders");function S({label:e,amounts:n,className:a,children:l}){let[_,d]=z(!0);return r("div",{className:i("RemoteFlows__EstimationResults__Row",a),children:[r("div",{className:"RemoteFlows__EstimationRow__Grid grid grid-cols-3 items-center",children:[r("div",{className:"RemoteFlows__EstimationRow__LabelContainer flex items-center gap-2",children:[o("span",{className:i("RemoteFlows__EstimationRow__Title min-w-[140px] font-medium text-[#09090B]"),children:e}),o("button",{onClick:()=>d(!_),className:"RemoteFlows__EstimationRow__CollapseButton p-1 hover:bg-gray-100 rounded",children:o(O,{className:`h-4 w-4 text-muted-foreground transition-transform ${_?"rotate-180":""}`})})]}),Array.isArray(n)?n.map((c,u)=>o("span",{className:i("RemoteFlows__EstimationRow__RegionalAmount text-right font-medium text-[#09090B]"),children:c},u)):r(b,{children:[o("span",{}),o("span",{className:i("RemoteFlows__EstimationRow__EmployerAmount text-right font-medium text-[#09090B]"),children:n})]})]}),_&&l&&o("div",{className:"RemoteFlows__EstimationRow__CollapsibleContent mt-4",children:l})]})}m(S,"EstimationRow");function X({item:e,isMultipleCurrency:n,level:a=0}){let[l,_]=z(!1),d=e.children&&e.children.length>0,c=a>0,u=e.isCollapsible||d;return r("li",{className:i("RemoteFlows__BreakdownList__Item pb-3",c&&"pb-1"),children:[r("div",{className:i(n?"RemoteFlows__BreakdownList__Grid grid grid-cols-3 items-center justify-between":"RemoteFlows__BreakdownList__Grid grid grid-cols-2 items-center justify-between"),children:[r("div",{className:i("RemoteFlows__BreakdownList__LabelContainer flex items-center gap-2",c&&"pl-3"),children:[!c&&o("span",{className:"RemoteFlows__BreakdownList__Bullet w-1 h-1 bg-[#09090B] rounded-full flex-shrink-0","aria-hidden":"true"}),u?r("button",{onClick:()=>_(!l),className:"RemoteFlows__BreakdownList__CollapseButton flex items-center gap-2 hover:bg-gray-100 rounded p-1",children:[o("span",{className:i(c?"RemoteFlows__BreakdownList__Text--Nested text-xs text-[#71717A]":"RemoteFlows__BreakdownList__Text--NotNested text-sm text-[#09090B]"),children:e.label}),o(O,{className:`RemoteFlows__BreakdownList__ChevronDown h-3 w-3 text-muted-foreground transition-transform ${l?"rotate-180":""}`})]}):o("span",{className:i(c?"RemoteFlows__BreakdownList__Text--Nested text-xs text-[#71717A]":"RemoteFlows__BreakdownList__Text--NotNested text-sm text-[#09090B] p-1"),children:e.label}),e.tooltip&&o(I,{content:r(b,{children:[o("span",{dangerouslySetInnerHTML:{__html:F(e.tooltip)}})," ",e.zendeskId&&o(f,{zendeskId:Number(e.zendeskId),children:"Learn more"})]}),children:o("button",{className:"RemoteFlows__BreakdownList__InfoButton p-1 hover:bg-gray-100 rounded",children:o(Z,{className:i("RemoteFlows__BreakdownList__InfoButton__Icon text-muted-foreground",c?"h-3 w-3":"h-4 w-4")})})})]}),n?r(b,{children:[o("span",{"data-testid":e.dataSelector&&e.dataSelector+"-employee-amount",className:i("RemoteFlows__BreakdownList__RegionalAmountText text-sm text-right",c?"RemoteFlows__BreakdownList__RegionalAmountText--Nested text-[#71717A]":"RemoteFlows__BreakdownList__RegionalAmountText--NotNested text-[#09090B]"),children:e.regionalAmount||"\u2014"}),o("span",{"data-testid":e.dataSelector&&e.dataSelector+"-employer-amount",className:i("RemoteFlows__BreakdownList__EmployerAmountText text-sm text-right",c?"RemoteFlows__BreakdownList__EmployerAmountText--Nested text-[#71717A]":"RemoteFlows__BreakdownList__EmployerAmountText--NotNested text-[#09090B]"),children:e.employerAmount||"\u2014"})]}):o("span",{"data-testid":e.dataSelector,className:i("RemoteFlows__BreakdownList__RegionalAmountText text-sm text-right",c?"RemoteFlows__BreakdownList__RegionalAmountText--Nested text-[#71717A]":"RemoteFlows__BreakdownList__RegionalAmountText--NotNested text-[#09090B]"),children:e.regionalAmount||"\u2014"})]}),d&&l&&o("div",{className:"mt-1",children:o(h,{items:e.children,isMultipleCurrency:n,level:a+1})})]})}m(X,"BreakdownListItem");function h({items:e,isMultipleCurrency:n,className:a,level:l}){return o("ul",{className:i("RemoteFlows__BreakdownList list-none",a),children:e.map((_,d)=>o(X,{item:_,isMultipleCurrency:n,level:l},d))})}m(h,"BreakdownList");var Re=m(({estimation:e,title:n,components:a,onDelete:l,onExportPdf:_,onEdit:d})=>{let c=a?.HiringSection||Q,u=a?.OnboardingTimeline||J,H=a?.Header||Y,v=a?.Footer,D=q(),p=e.employer_currency_costs.currency.code!==e.regional_currency_costs.currency.code,k=e.employer_currency_costs.monthly_management_fee,M=e.region.code!==e.country.code,G=t(e.regional_currency_costs.annual_gross_salary,e.regional_currency_costs.currency.code);return r(C,{className:"RemoteFlows__EstimationResults__Card p-10",children:[o("div",{className:"RemoteFlows__Separator",children:o(H,{title:n,annualGrossSalary:G,region:M?e.region:void 0,country:e.country,onDelete:l,onExportPdf:_,onEdit:d})}),r("div",{className:"RemoteFlows__Separator",children:[o(W,{isMultipleCurrency:p,className:"mb-3"}),o(S,{label:"Monthly total cost",amounts:p?[t(e.regional_currency_costs.monthly_total,e.regional_currency_costs.currency.code),t(e.employer_currency_costs.monthly_total,e.employer_currency_costs.currency.code)]:t(e.regional_currency_costs.monthly_total,e.regional_currency_costs.currency.code),children:o(h,{items:[{label:"Gross monthly salary",regionalAmount:t(e.regional_currency_costs.monthly_gross_salary,e.regional_currency_costs.currency.code),employerAmount:t(e.employer_currency_costs.monthly_gross_salary,e.employer_currency_costs.currency.code),zendeskId:w.extraPayments.toString(),tooltip:"This country respects extra payments on top of the gross salary."},{label:"Mandatory employer costs",regionalAmount:t(e.regional_currency_costs.monthly_contributions_total,e.regional_currency_costs.currency.code),employerAmount:t(e.employer_currency_costs.monthly_contributions_total,e.employer_currency_costs.currency.code),children:e.employer_currency_costs.monthly_contributions_breakdown?.map((s,y)=>({label:s.name,regionalAmount:t(e.regional_currency_costs.monthly_contributions_breakdown?.[y]?.amount,e.regional_currency_costs.currency.code),employerAmount:t(s.amount,e.employer_currency_costs.currency.code),zendeskId:s.zendesk_article_id||void 0,tooltip:s.description||void 0}))||[]},{label:"Benefits",regionalAmount:t(e.regional_currency_costs.monthly_benefits_total,e.regional_currency_costs.currency.code),employerAmount:t(e.employer_currency_costs.monthly_benefits_total,e.employer_currency_costs.currency.code),children:e.employer_currency_costs.monthly_benefits_breakdown?.map((s,y)=>({label:s.name,regionalAmount:t(e.regional_currency_costs.monthly_benefits_breakdown?.[y]?.amount,e.regional_currency_costs.currency.code),employerAmount:t(s.amount,e.employer_currency_costs.currency.code),zendeskId:s.zendesk_article_id||void 0,tooltip:s.description||void 0}))||[]},...k?[{label:"Monthly fee",regionalAmount:t(e.regional_currency_costs.monthly_management_fee,e.regional_currency_costs.currency.code),employerAmount:t(e.employer_currency_costs.monthly_management_fee,e.employer_currency_costs.currency.code),tooltip:"Discounts may be available based on your commitment and team size. Speak to your account or customer success manager to learn more."}]:[]],isMultipleCurrency:p})})]}),o("div",{className:"RemoteFlows__Separator",children:o(S,{label:"Annual total cost",amounts:p?[t(e.regional_currency_costs.annual_total,e.regional_currency_costs.currency.code),t(e.employer_currency_costs.annual_total,e.employer_currency_costs.currency.code)]:t(e.regional_currency_costs.annual_total,e.regional_currency_costs.currency.code),children:o(h,{items:[{label:"Gross annual salary",dataSelector:"annual-gross-salary",regionalAmount:t(e.regional_currency_costs.annual_gross_salary,e.regional_currency_costs.currency.code),employerAmount:t(e.employer_currency_costs.annual_gross_salary,e.employer_currency_costs.currency.code)},{label:"Mandatory employer costs",regionalAmount:t(e.regional_currency_costs.annual_contributions_total,e.regional_currency_costs.currency.code),employerAmount:t(e.employer_currency_costs.annual_contributions_total,e.employer_currency_costs.currency.code),children:e.employer_currency_costs.annual_contributions_breakdown?.map((s,y)=>({label:s.name,regionalAmount:t(e.regional_currency_costs.annual_contributions_breakdown?.[y]?.amount,e.regional_currency_costs.currency.code),employerAmount:t(s.amount,e.employer_currency_costs.currency.code),zendeskId:s.zendesk_article_id||void 0,tooltip:s.description||void 0}))||[]},{label:"Benefits",regionalAmount:t(e.regional_currency_costs.annual_benefits_total,e.regional_currency_costs.currency.code),employerAmount:t(e.employer_currency_costs.annual_benefits_total,e.employer_currency_costs.currency.code),children:e.employer_currency_costs.annual_benefits_breakdown?.map((s,y)=>({label:s.name,regionalAmount:t(e.regional_currency_costs.annual_benefits_breakdown?.[y]?.amount,e.regional_currency_costs.currency.code),employerAmount:t(s.amount,e.employer_currency_costs.currency.code),zendeskId:s.zendesk_article_id||void 0,tooltip:s.description||void 0}))||[]},{label:"Extra statutory payments",regionalAmount:t(e.regional_currency_costs.extra_statutory_payments_total,e.regional_currency_costs.currency.code),employerAmount:t(e.employer_currency_costs.extra_statutory_payments_total,e.employer_currency_costs.currency.code),children:e.employer_currency_costs.extra_statutory_payments_breakdown?.map((s,y)=>({label:s.name,regionalAmount:t(e.regional_currency_costs.extra_statutory_payments_breakdown?.[y]?.amount,e.regional_currency_costs.currency.code),employerAmount:t(s.amount,e.employer_currency_costs.currency.code),zendeskId:s.zendesk_article_id||void 0,tooltip:s.description||void 0}))||[]},...k?[{label:"Annual fee",regionalAmount:t(e.regional_currency_costs.annual_management_fee,e.regional_currency_costs.currency.code),employerAmount:t(e.employer_currency_costs.annual_management_fee,e.employer_currency_costs.currency.code),tooltip:"Discounts may be available based on your commitment and team size. Speak to your account or customer success manager to learn more."}]:[]],isMultipleCurrency:p})})}),o("div",{className:"RemoteFlows__Separator",children:o(u,{minimumOnboardingDays:e.minimum_onboarding_time,data:D})}),o(c,{countryBenefitsUrl:e.country_benefits_details_url,countryGuideUrl:e.country_guide_url,country:e.country}),v&&o(v,{})]})},"EstimationResults");export{Re as a};
2
- //# sourceMappingURL=chunk-BBOEQU3O.js.map
1
+ import{a as R,b as x,c as N,d as A}from"./chunk-6VQEAU6A.js";import{a as w,b as f}from"./chunk-XO5VURZY.js";import{a as C}from"./chunk-JJEFWMLY.js";import{b as B}from"./chunk-4YPJKEHT.js";import{a as i,b as t,e as F}from"./chunk-3PIJOIYR.js";import{a as m}from"./chunk-P37U34EQ.js";import{MoreHorizontal as P}from"lucide-react";import{useState as U}from"react";import{Fragment as $,jsx as g,jsxs as T}from"react/jsx-runtime";function E({actions:e=[],className:n,label:a,"data-testid":l}){let[_,d]=U(!1);return T("div",{className:i("relative",n),children:[g(B,{"data-testid":l,variant:"ghost","aria-label":a,className:"h-8 w-8 p-0",onClick:()=>d(!_),children:g(P,{className:"h-4 w-4"})}),_&&T($,{children:[g("div",{className:"fixed inset-0 z-40",onClick:()=>d(!1)}),g("div",{className:"absolute right-0 top-1/2 mt-1 bg-white border border-gray-200 rounded-md shadow-lg z-50 min-w-[120px]",children:e.map((c,u)=>g("button",{"data-testid":`${l}-${c.label.toLowerCase().replace(" ","-")}`,className:i("w-full text-left px-2 py-1.5 text-sm hover:bg-gray-100",c.disabled&&"opacity-50 cursor-not-allowed"),onClick:()=>{c.onClick(),d(!1)},disabled:c.disabled,children:c.label},u))})]})]})}m(E,"ActionsDropdown");import{ChevronDown as O,Info as Z}from"lucide-react";import K from"react-flagpack";import{useState as z}from"react";import{jsx as j,jsxs as L}from"react/jsx-runtime";var I=m(({children:e,content:n})=>L("div",{className:"relative inline-block group",children:[e,L("div",{className:"absolute bottom-full right-0 mb-2 px-3 py-2 bg-gray-900 text-white text-xs rounded-md opacity-0 invisible group-hover:opacity-100 group-hover:visible transition-all duration-200 z-50 w-64 whitespace-normal break-words",children:[n,j("div",{className:"absolute top-full right-3 border-4 border-transparent border-t-gray-900"})]})]}),"BasicTooltip");import{Fragment as b,jsx as o,jsxs as r}from"react/jsx-runtime";var V={GB:"GB-UKM"},Y=m(({title:e,country:n,region:a,annualGrossSalary:l,onDelete:_,onExportPdf:d,onEdit:c})=>{let u=[{label:"Edit",onClick:c},{label:"Export",onClick:d},{label:"Delete",onClick:_}];return r("div",{className:"RemoteFlows__EstimationResults__Header flex justify-between",children:[r("div",{className:"flex flex-row items-center gap-6",children:[o("div",{className:"RemoteFlows__EstimationResultsHeader__FlagContainer flex h-16 w-16 items-center justify-center rounded-lg bg-[#F4F4F5]",children:o(K,{code:V[n.alpha_2_code]||n.alpha_2_code})}),r("div",{className:"space-y-1",children:[o("h2",{"data-testid":"estimation-results-header-title",className:"RemoteFlows__EstimationResultsHeader__Title text-lg font-medium leading-none text-[#181818]",children:e}),r("p",{className:"RemoteFlows__EstimationResultsHeader__Country text-xs text-[#71717A]",children:[n.name," ",a?` (${a.name})`:""]}),r("p",{"data-testid":"estimation-results-header-annual-gross-salary",className:"RemoteFlows__EstimationResultsHeader__AnnualGrossSalary text-xs text-[#71717A]",children:[o("span",{className:"text-[#181818]",children:"Employee annual gross salary:"})," ",l]})]})]}),o(E,{label:"Actions",className:"RemoteFlows__EstimationResults__ActionsDropdown",actions:u})]})},"EstimationResultsHeader"),q=m(()=>({steps:[{id:"add-employment-details",title:"Add employment details",description:"You add employee employments details."},{id:"invite-employee",title:"Invite employee",description:"Hire receives an email invitation from Remote to start the self-enrollment process."},{id:"verify-information",title:"Verify information",description:"Remote prepares the Employment Agreement and verifies all the information."},{id:"sign-contract",title:"Sign contract",description:"All parties sign the Employment Agreement and are ready to start. \u{1F389}"}],helpText:"For customers who accept Remote's Terms of Service (ToS), the employee onboarding timeline starts once the employee has been invited to the platform and completed self enrollment.",zendeskArticleId:w.employeeOnboardingTimeline}),"getOnboardingTimelineData");function J({minimumOnboardingDays:e,data:n,className:a}){return o(R,{type:"single",collapsible:!0,className:i("RemoteFlows__EstimationResults__OnboardingTimeline w-full",a),children:r(x,{value:"timeline",className:"RemoteFlows__OnboardingTimeline__AccordionItem border-border",children:[o(N,{className:"RemoteFlows__OnboardingTimeline__AccordionTrigger hover:no-underline px-0 py-4",children:r("div",{className:"flex items-center justify-between w-full",children:[o("span",{className:"RemoteFlows__OnboardingTimeline__Title text-base font-medium text-[#0F172A]",children:"Onboarding timeline"}),e!=null&&r("span",{className:"RemoteFlows__OnboardingTimeline__Description text-base text-muted-foreground mr-4",children:[e," days"]})]})}),r(A,{className:"px-0 pb-4",children:[o("ul",{className:"RemoteFlows__OnboardingTimeline__List list-disc list-inside space-y-2",children:n.steps.map(l=>r("li",{children:[o("strong",{className:"font-medium text-[#09090B]",children:l.title})," ","- ",l.description]},l.id))}),r("p",{className:"RemoteFlows__OnboardingTimeline__HelpText text-xs text-muted-foreground mt-4",children:[n.helpText,n.zendeskArticleId&&o(f,{zendeskId:n.zendeskArticleId,children:"Learn more"})]})]})]})})}m(J,"OnboardingTimeline");function Q({className:e,countryBenefitsUrl:n,countryGuideUrl:a,country:l}){return o(R,{type:"single",collapsible:!0,className:i("RemoteFlows__EstimationResults__HiringSection w-full",e),children:r(x,{value:"timeline",className:"RemoteFlows__HiringSection__AccordionItem border-border",children:[o(N,{className:"RemoteFlows__HiringSection__AccordionTrigger hover:no-underline px-0 py-4",children:o("div",{className:"flex items-center justify-between w-full",children:r("span",{className:"text-base font-medium text-[#0F172A]",children:["Hiring in ",l.name]})})}),o(A,{children:r("div",{className:"flex flex-col gap-1",children:[a&&o("a",{href:a,target:"_blank",className:"RemoteFlows__Link",children:"Explore our complete guide \u2197"}),n&&o("a",{href:n,target:"_blank",className:"RemoteFlows__Link",children:"Explore our available benefits \u2197"})]})})]})})}m(Q,"HiringSection");function W({isMultipleCurrency:e,className:n}){return r("div",{className:i("RemoteFlows__EstimationResults__Headers grid grid-cols-3 items-center",n),children:[o("span",{"aria-hidden":!0}),e?r(b,{children:[o("span",{className:"RemoteFlows__EstimationResults__Headers__Label",children:"Employee currency"}),o("span",{className:"RemoteFlows__EstimationResults__Headers__Label",children:"Employer currency"})]}):r(b,{children:[o("span",{}),o("span",{className:"RemoteFlows__EstimationResults__Headers__Label",children:"Amount"})]})]})}m(W,"EstimationHeaders");function S({label:e,amounts:n,className:a,children:l}){let[_,d]=z(!0);return r("div",{className:i("RemoteFlows__EstimationResults__Row",a),children:[r("div",{className:"RemoteFlows__EstimationRow__Grid grid grid-cols-3 items-center",children:[r("div",{className:"RemoteFlows__EstimationRow__LabelContainer flex items-center gap-2",children:[o("span",{className:i("RemoteFlows__EstimationRow__Title min-w-[140px] font-medium text-[#09090B]"),children:e}),o("button",{onClick:()=>d(!_),className:"RemoteFlows__EstimationRow__CollapseButton p-1 hover:bg-gray-100 rounded",children:o(O,{className:`h-4 w-4 text-muted-foreground transition-transform ${_?"rotate-180":""}`})})]}),Array.isArray(n)?n.map((c,u)=>o("span",{className:i("RemoteFlows__EstimationRow__RegionalAmount text-right font-medium text-[#09090B]"),children:c},u)):r(b,{children:[o("span",{}),o("span",{className:i("RemoteFlows__EstimationRow__EmployerAmount text-right font-medium text-[#09090B]"),children:n})]})]}),_&&l&&o("div",{className:"RemoteFlows__EstimationRow__CollapsibleContent mt-4",children:l})]})}m(S,"EstimationRow");function X({item:e,isMultipleCurrency:n,level:a=0}){let[l,_]=z(!1),d=e.children&&e.children.length>0,c=a>0,u=e.isCollapsible||d;return r("li",{className:i("RemoteFlows__BreakdownList__Item pb-3",c&&"pb-1"),children:[r("div",{className:i(n?"RemoteFlows__BreakdownList__Grid grid grid-cols-3 items-center justify-between":"RemoteFlows__BreakdownList__Grid grid grid-cols-2 items-center justify-between"),children:[r("div",{className:i("RemoteFlows__BreakdownList__LabelContainer flex items-center gap-2",c&&"pl-3"),children:[!c&&o("span",{className:"RemoteFlows__BreakdownList__Bullet w-1 h-1 bg-[#09090B] rounded-full flex-shrink-0","aria-hidden":"true"}),u?r("button",{onClick:()=>_(!l),className:"RemoteFlows__BreakdownList__CollapseButton flex items-center gap-2 hover:bg-gray-100 rounded p-1",children:[o("span",{className:i(c?"RemoteFlows__BreakdownList__Text--Nested text-xs text-[#71717A]":"RemoteFlows__BreakdownList__Text--NotNested text-sm text-[#09090B]"),children:e.label}),o(O,{className:`RemoteFlows__BreakdownList__ChevronDown h-3 w-3 text-muted-foreground transition-transform ${l?"rotate-180":""}`})]}):o("span",{className:i(c?"RemoteFlows__BreakdownList__Text--Nested text-xs text-[#71717A]":"RemoteFlows__BreakdownList__Text--NotNested text-sm text-[#09090B] p-1"),children:e.label}),e.tooltip&&o(I,{content:r(b,{children:[o("span",{dangerouslySetInnerHTML:{__html:F(e.tooltip)}})," ",e.zendeskId&&o(f,{zendeskId:Number(e.zendeskId),children:"Learn more"})]}),children:o("button",{className:"RemoteFlows__BreakdownList__InfoButton p-1 hover:bg-gray-100 rounded",children:o(Z,{className:i("RemoteFlows__BreakdownList__InfoButton__Icon text-muted-foreground",c?"h-3 w-3":"h-4 w-4")})})})]}),n?r(b,{children:[o("span",{"data-testid":e.dataSelector&&e.dataSelector+"-employee-amount",className:i("RemoteFlows__BreakdownList__RegionalAmountText text-sm text-right",c?"RemoteFlows__BreakdownList__RegionalAmountText--Nested text-[#71717A]":"RemoteFlows__BreakdownList__RegionalAmountText--NotNested text-[#09090B]"),children:e.regionalAmount||"\u2014"}),o("span",{"data-testid":e.dataSelector&&e.dataSelector+"-employer-amount",className:i("RemoteFlows__BreakdownList__EmployerAmountText text-sm text-right",c?"RemoteFlows__BreakdownList__EmployerAmountText--Nested text-[#71717A]":"RemoteFlows__BreakdownList__EmployerAmountText--NotNested text-[#09090B]"),children:e.employerAmount||"\u2014"})]}):o("span",{"data-testid":e.dataSelector,className:i("RemoteFlows__BreakdownList__RegionalAmountText text-sm text-right",c?"RemoteFlows__BreakdownList__RegionalAmountText--Nested text-[#71717A]":"RemoteFlows__BreakdownList__RegionalAmountText--NotNested text-[#09090B]"),children:e.regionalAmount||"\u2014"})]}),d&&l&&o("div",{className:"mt-1",children:o(h,{items:e.children,isMultipleCurrency:n,level:a+1})})]})}m(X,"BreakdownListItem");function h({items:e,isMultipleCurrency:n,className:a,level:l}){return o("ul",{className:i("RemoteFlows__BreakdownList list-none",a),children:e.map((_,d)=>o(X,{item:_,isMultipleCurrency:n,level:l},d))})}m(h,"BreakdownList");var Re=m(({estimation:e,title:n,components:a,onDelete:l,onExportPdf:_,onEdit:d})=>{let c=a?.HiringSection||Q,u=a?.OnboardingTimeline||J,H=a?.Header||Y,v=a?.Footer,D=q(),p=e.employer_currency_costs.currency.code!==e.regional_currency_costs.currency.code,k=e.employer_currency_costs.monthly_management_fee,M=e.region.code!==e.country.code,G=t(e.regional_currency_costs.annual_gross_salary,e.regional_currency_costs.currency.code);return r(C,{className:"RemoteFlows__EstimationResults__Card p-10",children:[o("div",{className:"RemoteFlows__Separator",children:o(H,{title:n,annualGrossSalary:G,region:M?e.region:void 0,country:e.country,onDelete:l,onExportPdf:_,onEdit:d})}),r("div",{className:"RemoteFlows__Separator",children:[o(W,{isMultipleCurrency:p,className:"mb-3"}),o(S,{label:"Monthly total cost",amounts:p?[t(e.regional_currency_costs.monthly_total,e.regional_currency_costs.currency.code),t(e.employer_currency_costs.monthly_total,e.employer_currency_costs.currency.code)]:t(e.regional_currency_costs.monthly_total,e.regional_currency_costs.currency.code),children:o(h,{items:[{label:"Gross monthly salary",regionalAmount:t(e.regional_currency_costs.monthly_gross_salary,e.regional_currency_costs.currency.code),employerAmount:t(e.employer_currency_costs.monthly_gross_salary,e.employer_currency_costs.currency.code),zendeskId:w.extraPayments.toString(),tooltip:"This country respects extra payments on top of the gross salary."},{label:"Mandatory employer costs",regionalAmount:t(e.regional_currency_costs.monthly_contributions_total,e.regional_currency_costs.currency.code),employerAmount:t(e.employer_currency_costs.monthly_contributions_total,e.employer_currency_costs.currency.code),children:e.employer_currency_costs.monthly_contributions_breakdown?.map((s,y)=>({label:s.name,regionalAmount:t(e.regional_currency_costs.monthly_contributions_breakdown?.[y]?.amount,e.regional_currency_costs.currency.code),employerAmount:t(s.amount,e.employer_currency_costs.currency.code),zendeskId:s.zendesk_article_id||void 0,tooltip:s.description||void 0}))||[]},{label:"Benefits",regionalAmount:t(e.regional_currency_costs.monthly_benefits_total,e.regional_currency_costs.currency.code),employerAmount:t(e.employer_currency_costs.monthly_benefits_total,e.employer_currency_costs.currency.code),children:e.employer_currency_costs.monthly_benefits_breakdown?.map((s,y)=>({label:s.name,regionalAmount:t(e.regional_currency_costs.monthly_benefits_breakdown?.[y]?.amount,e.regional_currency_costs.currency.code),employerAmount:t(s.amount,e.employer_currency_costs.currency.code),zendeskId:s.zendesk_article_id||void 0,tooltip:s.description||void 0}))||[]},...k?[{label:"Monthly fee",regionalAmount:t(e.regional_currency_costs.monthly_management_fee,e.regional_currency_costs.currency.code),employerAmount:t(e.employer_currency_costs.monthly_management_fee,e.employer_currency_costs.currency.code),tooltip:"Discounts may be available based on your commitment and team size. Speak to your account or customer success manager to learn more."}]:[]],isMultipleCurrency:p})})]}),o("div",{className:"RemoteFlows__Separator",children:o(S,{label:"Annual total cost",amounts:p?[t(e.regional_currency_costs.annual_total,e.regional_currency_costs.currency.code),t(e.employer_currency_costs.annual_total,e.employer_currency_costs.currency.code)]:t(e.regional_currency_costs.annual_total,e.regional_currency_costs.currency.code),children:o(h,{items:[{label:"Gross annual salary",dataSelector:"annual-gross-salary",regionalAmount:t(e.regional_currency_costs.annual_gross_salary,e.regional_currency_costs.currency.code),employerAmount:t(e.employer_currency_costs.annual_gross_salary,e.employer_currency_costs.currency.code)},{label:"Mandatory employer costs",regionalAmount:t(e.regional_currency_costs.annual_contributions_total,e.regional_currency_costs.currency.code),employerAmount:t(e.employer_currency_costs.annual_contributions_total,e.employer_currency_costs.currency.code),children:e.employer_currency_costs.annual_contributions_breakdown?.map((s,y)=>({label:s.name,regionalAmount:t(e.regional_currency_costs.annual_contributions_breakdown?.[y]?.amount,e.regional_currency_costs.currency.code),employerAmount:t(s.amount,e.employer_currency_costs.currency.code),zendeskId:s.zendesk_article_id||void 0,tooltip:s.description||void 0}))||[]},{label:"Benefits",regionalAmount:t(e.regional_currency_costs.annual_benefits_total,e.regional_currency_costs.currency.code),employerAmount:t(e.employer_currency_costs.annual_benefits_total,e.employer_currency_costs.currency.code),children:e.employer_currency_costs.annual_benefits_breakdown?.map((s,y)=>({label:s.name,regionalAmount:t(e.regional_currency_costs.annual_benefits_breakdown?.[y]?.amount,e.regional_currency_costs.currency.code),employerAmount:t(s.amount,e.employer_currency_costs.currency.code),zendeskId:s.zendesk_article_id||void 0,tooltip:s.description||void 0}))||[]},{label:"Extra statutory payments",regionalAmount:t(e.regional_currency_costs.extra_statutory_payments_total,e.regional_currency_costs.currency.code),employerAmount:t(e.employer_currency_costs.extra_statutory_payments_total,e.employer_currency_costs.currency.code),children:e.employer_currency_costs.extra_statutory_payments_breakdown?.map((s,y)=>({label:s.name,regionalAmount:t(e.regional_currency_costs.extra_statutory_payments_breakdown?.[y]?.amount,e.regional_currency_costs.currency.code),employerAmount:t(s.amount,e.employer_currency_costs.currency.code),zendeskId:s.zendesk_article_id||void 0,tooltip:s.description||void 0}))||[]},...k?[{label:"Annual fee",regionalAmount:t(e.regional_currency_costs.annual_management_fee,e.regional_currency_costs.currency.code),employerAmount:t(e.employer_currency_costs.annual_management_fee,e.employer_currency_costs.currency.code),tooltip:"Discounts may be available based on your commitment and team size. Speak to your account or customer success manager to learn more."}]:[]],isMultipleCurrency:p})})}),o("div",{className:"RemoteFlows__Separator",children:o(u,{minimumOnboardingDays:e.minimum_onboarding_time,data:D})}),o(c,{countryBenefitsUrl:e.country_benefits_details_url,countryGuideUrl:e.country_guide_url,country:e.country}),v&&o(v,{})]})},"EstimationResults");export{Re as a};
2
+ //# sourceMappingURL=chunk-D5YMIXK5.js.map
@@ -0,0 +1,2 @@
1
+ import{b as I}from"./chunk-TXSUZLOI.js";import{a as N}from"./chunk-A3LRPGV3.js";import{a as j,b as v,c as D,d as O}from"./chunk-QORZCJSR.js";import{e as p,f as F}from"./chunk-T7O3YYOG.js";import{h as R,i as b}from"./chunk-3PIJOIYR.js";import{a as C}from"./chunk-X6ZAR7ZL.js";import{a as k}from"./chunk-TSPDJUGG.js";import{a as c}from"./chunk-P37U34EQ.js";import{useMemo as S,useRef as ee,useState as A}from"react";var pe=c(({countryCode:L,options:u,initialValues:l})=>{let P=j(),g=v(),{mutateAsync:q}=C(P),{mutateAsync:J}=C(g),[y,U]=A(L||null),[f,B]=A(null),w=ee({company_basic_information:{},address_details:{}}),{fieldValues:V,stepState:a,setFieldValues:W,previousStep:z,nextStep:G,goToStep:H}=k(N),{companyBasicInformationForm:d,isLoading:K}=D({jsfModify:u?.jsfModify?.company_basic_information,queryOptions:{enabled:a.currentStep.name==="company_basic_information"}}),{data:s,isLoading:Q}=O({countryCode:y,fieldValues:a.currentStep.name==="address_details"?{...a.values?.address_details||{},...V}:a.values?.address_details||{},options:{...u,jsfModify:u?.jsfModify?.address_details,queryOptions:{enabled:a.currentStep.name==="address_details"&&!!y&&!!f}}}),i=S(()=>({company_basic_information:d?.fields||[],address_details:s?.fields||[]}),[d?.fields,s?.fields]),X={company_basic_information:null,address_details:s?.meta?.["x-jsf-fieldsets"]||null},h=S(()=>F(i.company_basic_information,{...l,country_code:y||l?.country_code||""}),[i.company_basic_information,y,l]),E=S(()=>F(i.address_details,l||{}),[i.address_details,l]),Y=S(()=>({company_basic_information:h,address_details:E}),[h,E]),Z=c(t=>{H(t)},"goTo"),M=c(async t=>{let r=a.currentStep.name,e=i[r];return d&&r==="company_basic_information"?await p(t,e,{isPartialValidation:!1}):s&&r==="address_details"?await p(t,e,{isPartialValidation:!1}):{}},"parseFormValues");async function $(t){let r=a.currentStep.name;r in w.current&&(w.current[r]=R(t,i[r]));let e=await M(t);switch(a.currentStep.name){case"company_basic_information":{if(U(e.country_code),f)return Promise.resolve({data:{countryCode:e.country_code??"",companyOwnerEmail:e.company_owner_email??"",companyOwnerName:e.company_owner_name??"",desiredCurrency:e.desired_currency??"",name:e.name??"",phoneNumber:e.phone_number??"",taxNumber:e.tax_number??""}});let x={country_code:e.country_code,company_owner_email:e.company_owner_email,company_owner_name:e.company_owner_name,desired_currency:e.desired_currency,name:e.name,phone_number:e.phone_number,tax_number:e.tax_number,terms_of_service_accepted_at:I()},n=await q(x);if(n.error)return Promise.resolve({data:null,error:n.error,rawError:n.rawError,fieldErrors:n.fieldErrors});let m=n.data?.data,_,o;if(m)if("data"in m&&m.data){let T=m.data.company;o=T,_=T?.id}else"company"in m&&(o=m.company,_=o?.id);return _&&B(_),Promise.resolve({data:{countryCode:o?.country_code??e.country_code??"",companyOwnerEmail:o?.company_owner_email??e.company_owner_email??"",companyOwnerName:o?.company_owner_name??e.company_owner_name??"",desiredCurrency:o?.desired_currency??e.desired_currency??"",name:o?.name??e.name??"",phoneNumber:o?.phone_number??e.phone_number??"",taxNumber:o?.tax_number??e.tax_number??""}})}case"address_details":{if(!f)throw b("Company ID is required to update address details");let n=await J({companyId:f,payload:{address_details:e},jsonSchemaVersion:u?.jsonSchemaVersion?.form_schema?.address_details});return n.error?Promise.resolve({data:null,error:n.error,rawError:n.rawError,fieldErrors:n.fieldErrors}):Promise.resolve({data:n.data})}default:throw b("Invalid step state")}}return c($,"onSubmit"),{isLoading:K||Q,isSubmitting:P.isPending||g.isPending,fieldValues:V,stepState:a,checkFieldUpdates:W,back:z,next:G,goTo:Z,onSubmit:$,fields:i[a.currentStep.name],meta:{fields:w.current,fieldsets:X[a.currentStep.name]},parseFormValues:M,handleValidation:c(async t=>{if(a.currentStep.name==="company_basic_information"&&d){let r=await p(t,d.fields,{isPartialValidation:!1});return d.handleValidation(r)}if(a.currentStep.name==="address_details"&&s){let r=await p(t,s.fields,{isPartialValidation:!1});return s.handleValidation(r)}return null},"handleValidation"),initialValues:Y}},"useCreateCompany");export{pe as a};
2
+ //# sourceMappingURL=chunk-D6KO5LX6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/CreateCompany/hooks.ts"],"sourcesContent":["import { useMemo, useRef, useState } from 'react';\nimport { FieldValues } from 'react-hook-form';\nimport { JSFFields } from '@/src/types/remoteFlows';\nimport {\n getInitialValues,\n parseJSFToValidate,\n} from '@/src/components/form/utils';\nimport { ValidationResult } from '@remoteoss/remote-json-schema-form-kit';\nimport { CreateCompanyFlowProps } from '@/src/flows/CreateCompany/types';\nimport { CreateCompanyParams, UpdateCompanyParams } from '@/src/client';\nimport { nowUtcFormatted } from '@/src/common/dates';\n\nimport { STEPS } from '@/src/flows/CreateCompany/utils';\nimport {\n useCountriesSchemaField,\n useAddressDetailsSchema,\n} from '@/src/flows/CreateCompany/api';\nimport { Step, useStepState } from '@/src/flows/useStepState';\nimport { createStructuredError, prettifyFormValues } from '@/src/lib/utils';\nimport { JSFFieldset, Meta } from '@/src/types/remoteFlows';\nimport { mutationToPromise } from '@/src/lib/mutations';\nimport {\n useCreateCompanyRequest,\n useUpdateCompanyRequest,\n} from '@/src/flows/CreateCompany/api';\n\ntype useCreateCompanyProps = Omit<CreateCompanyFlowProps, 'render'>;\n\n/**\n * Main hook for the CreateCompany flow\n * Manages the two-step flow: company creation and address details\n * @param countryCode - Optional initial country code\n * @param options - Flow options including jsfModify and jsonSchemaVersion\n * @returns CreateCompany bag with all flow state and methods\n */\nexport const useCreateCompany = ({\n countryCode,\n options,\n initialValues: createCompanyInitialValues,\n}: useCreateCompanyProps) => {\n const createCompanyMutation = useCreateCompanyRequest();\n const updateCompanyMutation = useUpdateCompanyRequest();\n\n const { mutateAsync: createCompanyMutationAsync } = mutationToPromise(\n createCompanyMutation,\n );\n const { mutateAsync: updateCompanyMutationAsync } = mutationToPromise(\n updateCompanyMutation,\n );\n\n const [internalCountryCode, setInternalCountryCode] = useState<string | null>(\n countryCode || null,\n );\n const [createdCompanyId, setCreatedCompanyId] = useState<string | null>(null);\n const fieldsMetaRef = useRef<{\n company_basic_information: Meta;\n address_details: Meta;\n }>({\n company_basic_information: {},\n address_details: {},\n });\n\n const {\n fieldValues,\n stepState,\n setFieldValues,\n previousStep,\n nextStep,\n goToStep,\n } = useStepState(\n STEPS as Record<keyof typeof STEPS, Step<keyof typeof STEPS>>,\n );\n\n const { companyBasicInformationForm, isLoading: isLoadingCountries } =\n useCountriesSchemaField({\n jsfModify: options?.jsfModify?.company_basic_information,\n queryOptions: {\n enabled: stepState.currentStep.name === 'company_basic_information',\n },\n });\n\n const { data: addressDetailsForm, isLoading: isLoadingAddressDetails } =\n useAddressDetailsSchema({\n countryCode: internalCountryCode,\n fieldValues:\n stepState.currentStep.name === 'address_details'\n ? {\n ...(stepState.values?.address_details || {}),\n ...fieldValues,\n }\n : stepState.values?.address_details || {},\n options: {\n ...options,\n jsfModify: options?.jsfModify?.address_details,\n queryOptions: {\n enabled:\n stepState.currentStep.name === 'address_details' &&\n !!internalCountryCode &&\n !!createdCompanyId,\n },\n },\n });\n\n const stepFields: Record<keyof typeof STEPS, JSFFields> = useMemo(\n () => ({\n company_basic_information: companyBasicInformationForm?.fields || [],\n address_details: addressDetailsForm?.fields || [],\n }),\n [companyBasicInformationForm?.fields, addressDetailsForm?.fields],\n );\n\n const stepFieldsWithFlatFieldsets: Record<\n keyof typeof STEPS,\n JSFFieldset | null | undefined\n > = {\n company_basic_information: null,\n address_details: addressDetailsForm?.meta?.['x-jsf-fieldsets'] || null,\n };\n\n const companyBasicInformationInitialValues = useMemo(\n () =>\n getInitialValues(stepFields.company_basic_information, {\n ...createCompanyInitialValues,\n country_code:\n internalCountryCode || createCompanyInitialValues?.country_code || '',\n }),\n [\n stepFields.company_basic_information,\n internalCountryCode,\n createCompanyInitialValues,\n ],\n );\n\n const addressDetailsInitialValues = useMemo(\n () =>\n getInitialValues(\n stepFields.address_details,\n createCompanyInitialValues || {},\n ),\n [stepFields.address_details, createCompanyInitialValues],\n );\n\n const initialValues = useMemo(() => {\n return {\n company_basic_information: companyBasicInformationInitialValues,\n address_details: addressDetailsInitialValues,\n };\n }, [companyBasicInformationInitialValues, addressDetailsInitialValues]);\n\n const goTo = (step: keyof typeof STEPS) => {\n goToStep(step);\n };\n\n const parseFormValues = async (values: FieldValues) => {\n const currentStepName = stepState.currentStep.name;\n const currentStepFields = stepFields[currentStepName];\n\n if (\n companyBasicInformationForm &&\n currentStepName === 'company_basic_information'\n ) {\n return await parseJSFToValidate(values, currentStepFields, {\n isPartialValidation: false,\n });\n }\n if (addressDetailsForm && currentStepName === 'address_details') {\n return await parseJSFToValidate(values, currentStepFields, {\n isPartialValidation: false,\n });\n }\n return {};\n };\n\n async function onSubmit(values: FieldValues) {\n const currentStepName = stepState.currentStep.name;\n if (currentStepName in fieldsMetaRef.current) {\n fieldsMetaRef.current[\n currentStepName as keyof typeof fieldsMetaRef.current\n ] = prettifyFormValues(values, stepFields[currentStepName]);\n }\n const parsedValues = await parseFormValues(values);\n switch (stepState.currentStep.name) {\n case 'company_basic_information': {\n setInternalCountryCode(parsedValues.country_code);\n\n // If company already exists, skip creation and return current form values\n if (createdCompanyId) {\n return Promise.resolve({\n data: {\n countryCode: parsedValues.country_code ?? '',\n companyOwnerEmail: parsedValues.company_owner_email ?? '',\n companyOwnerName: parsedValues.company_owner_name ?? '',\n desiredCurrency: parsedValues.desired_currency ?? '',\n name: parsedValues.name ?? '',\n phoneNumber: parsedValues.phone_number ?? '',\n taxNumber: parsedValues.tax_number ?? '',\n },\n });\n }\n\n const payload: CreateCompanyParams = {\n country_code: parsedValues.country_code,\n company_owner_email: parsedValues.company_owner_email,\n company_owner_name: parsedValues.company_owner_name,\n desired_currency: parsedValues.desired_currency,\n name: parsedValues.name,\n phone_number: parsedValues.phone_number,\n tax_number: parsedValues.tax_number,\n terms_of_service_accepted_at: nowUtcFormatted(),\n };\n\n const response = await createCompanyMutationAsync(payload);\n\n // Check for errors from the mutation\n if (response.error) {\n return Promise.resolve({\n data: null,\n error: response.error,\n rawError: response.rawError,\n fieldErrors: response.fieldErrors,\n });\n }\n\n // Handle both CompanyResponse and CompanyWithTokensResponse structures\n // CompanyResponse: { data: { company?: Company } }\n // CompanyWithTokensResponse: { company?: Company; tokens?: OAuth2Tokens }\n const responseData = response.data?.data;\n let companyId: string | undefined;\n let company:\n | {\n country_code?: string;\n company_owner_email?: string;\n company_owner_name?: string;\n desired_currency?: string;\n name?: string;\n phone_number?: string;\n tax_number?: string;\n }\n | undefined;\n if (responseData) {\n if ('data' in responseData && responseData.data) {\n // CompanyResponse structure: response.data.data.data.company\n const companyData = (responseData.data as { company?: unknown })\n .company;\n company = companyData as typeof company;\n companyId = (companyData as { id?: string })?.id;\n } else if ('company' in responseData) {\n // CompanyWithTokensResponse structure: response.data.data.company\n company = responseData.company as typeof company;\n companyId = (company as { id?: string })?.id;\n }\n }\n if (companyId) {\n setCreatedCompanyId(companyId);\n }\n // Map company fields from snake_case to camelCase to match CompanyBasicInfoSuccess\n // Fall back to parsedValues if company data is not available\n return Promise.resolve({\n data: {\n countryCode:\n company?.country_code ?? parsedValues.country_code ?? '',\n companyOwnerEmail:\n company?.company_owner_email ??\n parsedValues.company_owner_email ??\n '',\n companyOwnerName:\n company?.company_owner_name ??\n parsedValues.company_owner_name ??\n '',\n desiredCurrency:\n company?.desired_currency ?? parsedValues.desired_currency ?? '',\n name: company?.name ?? parsedValues.name ?? '',\n phoneNumber:\n company?.phone_number ?? parsedValues.phone_number ?? '',\n taxNumber: company?.tax_number ?? parsedValues.tax_number ?? '',\n },\n });\n }\n\n case 'address_details': {\n if (!createdCompanyId) {\n throw createStructuredError(\n 'Company ID is required to update address details',\n );\n }\n const payload: UpdateCompanyParams = {\n address_details: parsedValues,\n };\n\n const response = await updateCompanyMutationAsync({\n companyId: createdCompanyId,\n payload,\n jsonSchemaVersion:\n options?.jsonSchemaVersion?.form_schema?.address_details,\n });\n\n // Check for errors from the mutation\n if (response.error) {\n return Promise.resolve({\n data: null,\n error: response.error,\n rawError: response.rawError,\n fieldErrors: response.fieldErrors,\n });\n }\n\n return Promise.resolve({ data: response.data });\n }\n\n default: {\n throw createStructuredError('Invalid step state');\n }\n }\n }\n\n const isLoading = isLoadingCountries || isLoadingAddressDetails;\n\n return {\n /**\n * Loading state indicating if the flow is loading data\n */\n isLoading,\n\n /**\n * Loading state indicating if the company creation or update mutation is in progress\n */\n isSubmitting:\n createCompanyMutation.isPending || updateCompanyMutation.isPending,\n\n /**\n * Current state of the form fields for the current step.\n */\n fieldValues,\n\n /**\n * Current step state containing the current step and total number of steps\n */\n stepState,\n\n /**\n * Function to update the current form field values\n * @param values - New form values to set\n */\n checkFieldUpdates: setFieldValues,\n\n /**\n * Function to handle going back to the previous step\n * @returns {void}\n */\n back: previousStep,\n\n /**\n * Function to handle going to the next step\n * @returns {void}\n */\n next: nextStep,\n\n /**\n * Function to handle going to a specific step\n * @param step The step to go to.\n * @returns {void}\n */\n goTo: goTo,\n\n /**\n * Function to handle form submission\n * @param values - Form values to submit\n * @returns Promise resolving to the mutation result\n */\n onSubmit,\n\n /**\n * Array of form fields from the onboarding schema\n */\n fields: stepFields[stepState.currentStep.name],\n\n /**\n * Fields metadata for each step\n */\n meta: {\n fields: fieldsMetaRef.current,\n fieldsets: stepFieldsWithFlatFieldsets[stepState.currentStep.name],\n },\n\n /**\n * Function to parse form values before submission\n * @param values - Form values to parse\n * @returns Parsed form values\n */\n parseFormValues,\n\n /**\n * Function to validate form values against the onboarding schema\n * @param values - Form values to validate\n * @returns Validation result or null if no schema is available\n */\n handleValidation: async (\n values: FieldValues,\n ): Promise<ValidationResult | null> => {\n if (\n stepState.currentStep.name === 'company_basic_information' &&\n companyBasicInformationForm\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n companyBasicInformationForm.fields,\n { isPartialValidation: false },\n );\n return companyBasicInformationForm.handleValidation(parsedValues);\n }\n if (\n stepState.currentStep.name === 'address_details' &&\n addressDetailsForm\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n addressDetailsForm.fields,\n { isPartialValidation: false },\n );\n return addressDetailsForm.handleValidation(parsedValues);\n }\n\n return null;\n },\n\n /**\n * Initial form values\n */\n initialValues,\n };\n};\n"],"mappings":"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","names":["useMemo","useRef","useState","useCreateCompany","__name","countryCode","options","createCompanyInitialValues","createCompanyMutation","useCreateCompanyRequest","updateCompanyMutation","useUpdateCompanyRequest","createCompanyMutationAsync","mutationToPromise","updateCompanyMutationAsync","internalCountryCode","setInternalCountryCode","useState","createdCompanyId","setCreatedCompanyId","fieldsMetaRef","useRef","fieldValues","stepState","setFieldValues","previousStep","nextStep","goToStep","useStepState","STEPS","companyBasicInformationForm","isLoadingCountries","useCountriesSchemaField","addressDetailsForm","isLoadingAddressDetails","useAddressDetailsSchema","stepFields","useMemo","stepFieldsWithFlatFieldsets","companyBasicInformationInitialValues","getInitialValues","addressDetailsInitialValues","initialValues","goTo","step","parseFormValues","values","currentStepName","currentStepFields","parseJSFToValidate","onSubmit","prettifyFormValues","parsedValues","payload","nowUtcFormatted","response","responseData","companyId","company","companyData","createStructuredError"]}
@@ -1,2 +1,2 @@
1
- import{a as s}from"./chunk-2PUPF2EN.js";import{b as n}from"./chunk-Q3ALCPJN.js";import{j as i}from"./chunk-3PIJOIYR.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as c}from"react/jsx-runtime";function P({onSubmit:d,onSuccess:m,onError:p}){let{contractorOnboardingBag:r}=n(),l=e(async a=>{try{let t=await r.parseFormValues(a);await d?.(t);let o=await r.onSubmit(a);if(o?.data){await m?.(o?.data),r?.next();return}}catch(t){let o=i(t,r.meta?.fields?.contract_preview);p?.(o)}},"handleSubmit"),u=r.stepState.values?.contract_preview||r.initialValues.contract_preview;return c("div",{className:"space-y-4",children:c(s,{defaultValues:u,onSubmit:l})})}e(P,"ContractPreviewStep");export{P as a};
2
- //# sourceMappingURL=chunk-66PXQJK6.js.map
1
+ import{a as s}from"./chunk-S63QGDMR.js";import{b as n}from"./chunk-Q3ALCPJN.js";import{j as i}from"./chunk-3PIJOIYR.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as c}from"react/jsx-runtime";function P({onSubmit:d,onSuccess:m,onError:p}){let{contractorOnboardingBag:r}=n(),l=e(async a=>{try{let t=await r.parseFormValues(a);await d?.(t);let o=await r.onSubmit(a);if(o?.data){await m?.(o?.data),r?.next();return}}catch(t){let o=i(t,r.meta?.fields?.contract_preview);p?.(o)}},"handleSubmit"),u=r.stepState.values?.contract_preview||r.initialValues.contract_preview;return c("div",{className:"space-y-4",children:c(s,{defaultValues:u,onSubmit:l})})}e(P,"ContractPreviewStep");export{P as a};
2
+ //# sourceMappingURL=chunk-DCB2H2SG.js.map
@@ -1,2 +1,2 @@
1
- import{a as k}from"./chunk-UVAK3ZEO.js";import{a as C,b as w,c as F,d as P}from"./chunk-CU3WQ2KN.js";import{i as _,j as v,k as x,l as h,m as b}from"./chunk-ZSJ6YADQ.js";import{a as u,b as D}from"./chunk-4YPJKEHT.js";import{a as t}from"./chunk-3PIJOIYR.js";import{a as o}from"./chunk-P37U34EQ.js";import{CalendarIcon as L}from"lucide-react";import{format as R}from"date-fns";import{ChevronLeft as I,ChevronRight as M}from"lucide-react";import{DayPicker as z}from"react-day-picker";import{jsx as p}from"react/jsx-runtime";function N({className:r,classNames:i,showOutsideDays:s=!0,...n}){return p(z,{showOutsideDays:s,className:t("p-3",r),classNames:{months:"flex flex-col sm:flex-row gap-2",month:"flex flex-col gap-4",caption:"flex justify-center pt-1 relative items-center w-full",caption_label:"text-sm font-medium",nav:"flex items-center gap-1",nav_button:t(u({variant:"outline"}),"size-7 bg-transparent p-0 opacity-50 hover:opacity-100"),nav_button_previous:"absolute left-1",nav_button_next:"absolute right-1",table:"w-full border-collapse space-x-1",head_row:"flex",head_cell:"text-muted-foreground rounded-md w-8 font-normal text-[0.8rem]",row:"flex w-full mt-2",cell:t("relative p-0 text-center text-sm focus-within:relative focus-within:z-20 [&:has([aria-selected])]:bg-accent [&:has([aria-selected].day-range-end)]:rounded-r-md",n.mode==="range"?"[&:has(>.day-range-end)]:rounded-r-md [&:has(>.day-range-start)]:rounded-l-md first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md":"[&:has([aria-selected])]:rounded-md"),day:t(u({variant:"ghost"}),"size-8 p-0 font-normal aria-selected:opacity-100"),day_range_start:"day-range-start aria-selected:bg-primary aria-selected:text-primary-foreground",day_range_end:"day-range-end aria-selected:bg-primary aria-selected:text-primary-foreground",day_selected:"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground",day_today:"bg-accent text-accent-foreground",day_outside:"day-outside text-muted-foreground aria-selected:text-muted-foreground",day_disabled:"text-muted-foreground opacity-50",day_range_middle:"aria-selected:bg-accent aria-selected:text-accent-foreground",day_hidden:"invisible",...i},components:{IconLeft:o(({className:d,...l})=>p(I,{className:t("size-4",d),...l}),"IconLeft"),IconRight:o(({className:d,...l})=>p(M,{className:t("size-4",d),...l}),"IconRight")},...n})}o(N,"Calendar");import{Fragment as V,jsx as e,jsxs as m}from"react/jsx-runtime";function X({field:r,fieldData:i,fieldState:s}){let{name:n,label:d,description:l,minDate:f,maxDate:g}=i,c=f?new Date(f):void 0,y=g?new Date(g):void 0;return m(_,{"data-field":n,className:`flex flex-col RemoteFlows__DatePickerField__Item__${n}`,children:[e(v,{className:"RemoteFlows__DatePickerField__Label",children:d}),m(w,{children:[e(F,{asChild:!0,children:e(x,{children:e("div",{children:m(D,{type:"button",variant:"outline",className:t("w-full pl-3 text-left font-normal",!r.value&&"text-muted-foreground"),"data-testid":`date-picker-button-${n}`,children:[r.value&&e(V,{children:R(r.value,"yyyy-MM-dd")}),e(L,{className:"ml-auto h-4 w-4 opacity-50"})]})})})}),e(P,{className:"w-auto p-0 RemoteFlows__DatepickerField__PopoverContent",align:"start",children:e(N,{mode:"single",className:"RemoteFlows__DatepickerField__Calendar",selected:r.value?new Date(r.value):void 0,onSelect:a=>{r.onChange(a?R(a,"yyyy-MM-dd"):null)},defaultMonth:c,components:{DayContent:o(a=>e(C,{children:a.date.getDate()}),"DayContent")},disabled:a=>!!(c&&a<c||y&&a>y)})})]}),l?m(h,{children:[l," ",e(k,{helpCenter:i.meta?.helpCenter})]}):null,s.error&&e(b,{className:"RemoteFlows__DatePickerField__Error"})]})}o(X,"DatePickerFieldDefault");export{X as a};
2
- //# sourceMappingURL=chunk-BDNJNMR5.js.map
1
+ import{a as k}from"./chunk-7TOCURKO.js";import{a as C,b as w,c as F,d as P}from"./chunk-CU3WQ2KN.js";import{i as _,j as v,k as x,l as h,m as b}from"./chunk-ZSJ6YADQ.js";import{a as u,b as D}from"./chunk-4YPJKEHT.js";import{a as t}from"./chunk-3PIJOIYR.js";import{a as o}from"./chunk-P37U34EQ.js";import{CalendarIcon as L}from"lucide-react";import{format as R}from"date-fns";import{ChevronLeft as I,ChevronRight as M}from"lucide-react";import{DayPicker as z}from"react-day-picker";import{jsx as p}from"react/jsx-runtime";function N({className:r,classNames:i,showOutsideDays:s=!0,...n}){return p(z,{showOutsideDays:s,className:t("p-3",r),classNames:{months:"flex flex-col sm:flex-row gap-2",month:"flex flex-col gap-4",caption:"flex justify-center pt-1 relative items-center w-full",caption_label:"text-sm font-medium",nav:"flex items-center gap-1",nav_button:t(u({variant:"outline"}),"size-7 bg-transparent p-0 opacity-50 hover:opacity-100"),nav_button_previous:"absolute left-1",nav_button_next:"absolute right-1",table:"w-full border-collapse space-x-1",head_row:"flex",head_cell:"text-muted-foreground rounded-md w-8 font-normal text-[0.8rem]",row:"flex w-full mt-2",cell:t("relative p-0 text-center text-sm focus-within:relative focus-within:z-20 [&:has([aria-selected])]:bg-accent [&:has([aria-selected].day-range-end)]:rounded-r-md",n.mode==="range"?"[&:has(>.day-range-end)]:rounded-r-md [&:has(>.day-range-start)]:rounded-l-md first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md":"[&:has([aria-selected])]:rounded-md"),day:t(u({variant:"ghost"}),"size-8 p-0 font-normal aria-selected:opacity-100"),day_range_start:"day-range-start aria-selected:bg-primary aria-selected:text-primary-foreground",day_range_end:"day-range-end aria-selected:bg-primary aria-selected:text-primary-foreground",day_selected:"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground",day_today:"bg-accent text-accent-foreground",day_outside:"day-outside text-muted-foreground aria-selected:text-muted-foreground",day_disabled:"text-muted-foreground opacity-50",day_range_middle:"aria-selected:bg-accent aria-selected:text-accent-foreground",day_hidden:"invisible",...i},components:{IconLeft:o(({className:d,...l})=>p(I,{className:t("size-4",d),...l}),"IconLeft"),IconRight:o(({className:d,...l})=>p(M,{className:t("size-4",d),...l}),"IconRight")},...n})}o(N,"Calendar");import{Fragment as V,jsx as e,jsxs as m}from"react/jsx-runtime";function X({field:r,fieldData:i,fieldState:s}){let{name:n,label:d,description:l,minDate:f,maxDate:g}=i,c=f?new Date(f):void 0,y=g?new Date(g):void 0;return m(_,{"data-field":n,className:`flex flex-col RemoteFlows__DatePickerField__Item__${n}`,children:[e(v,{className:"RemoteFlows__DatePickerField__Label",children:d}),m(w,{children:[e(F,{asChild:!0,children:e(x,{children:e("div",{children:m(D,{type:"button",variant:"outline",className:t("w-full pl-3 text-left font-normal",!r.value&&"text-muted-foreground"),"data-testid":`date-picker-button-${n}`,children:[r.value&&e(V,{children:R(r.value,"yyyy-MM-dd")}),e(L,{className:"ml-auto h-4 w-4 opacity-50"})]})})})}),e(P,{className:"w-auto p-0 RemoteFlows__DatepickerField__PopoverContent",align:"start",children:e(N,{mode:"single",className:"RemoteFlows__DatepickerField__Calendar",selected:r.value?new Date(r.value):void 0,onSelect:a=>{r.onChange(a?R(a,"yyyy-MM-dd"):null)},defaultMonth:c,components:{DayContent:o(a=>e(C,{children:a.date.getDate()}),"DayContent")},disabled:a=>!!(c&&a<c||y&&a>y)})})]}),l?m(h,{children:[l," ",e(k,{helpCenter:i.meta?.helpCenter})]}):null,s.error&&e(b,{className:"RemoteFlows__DatePickerField__Error"})]})}o(X,"DatePickerFieldDefault");export{X as a};
2
+ //# sourceMappingURL=chunk-DI2QNZ2O.js.map
@@ -0,0 +1,2 @@
1
+ import{a as s}from"./chunk-S63QGDMR.js";import{b as a}from"./chunk-Q3ALCPJN.js";import{d}from"./chunk-LHEF2FN7.js";import{j as i}from"./chunk-3PIJOIYR.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as f}from"react/jsx-runtime";function h({onSubmit:p,onSuccess:l,onError:m,components:c}){let{contractorOnboardingBag:r}=a(),u=e(async n=>{try{let t=await r.parseFormValues(n);await p?.(t);let o=await r.onSubmit(n);if(o?.data){await l?.(o?.data),o?.data?.subscription!==d&&r?.next();return}}catch(t){let o=i(t,r.meta?.fields?.choose_alternative_plan);m?.(o)}},"handleSubmit"),S=r.stepState.values?.choose_alternative_plan||{};return f(s,{defaultValues:S,onSubmit:u,components:c})}e(h,"ChooseAlternativePlanStep");export{h as a};
2
+ //# sourceMappingURL=chunk-DI3XZUMY.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/ContractorOnboarding/components/ChooseAlternativePlanStep.tsx"],"sourcesContent":["import { $TSFixMe, Components } from '@/src/types/remoteFlows';\nimport { NormalizedFieldError } from '@/src/lib/mutations';\nimport { useContractorOnboardingContext } from '@/src/flows/ContractorOnboarding/context';\nimport { ContractorOnboardingForm } from '@/src/flows/ContractorOnboarding/components/ContractorOnboardingForm';\nimport { handleStepError } from '@/src/lib/utils';\nimport { eorProductIdentifier } from '@/src/flows/ContractorOnboarding/constants';\n\ntype ChooseAlternativePlanStepProps = {\n /**\n * Components to override the default field components used in the form.\n */\n components?: Components;\n /*\n * The function is called when the form is submitted. It receives the form values as an argument.\n */\n onSubmit?: (payload: { subscription: string }) => void | Promise<void>;\n /*\n * The function is called when the form submission is successful.\n */\n onSuccess?: (data: { subscription: string }) => void | Promise<void>;\n /*\n * The function is called when an error occurs during form submission.\n */\n onError?: ({\n error,\n rawError,\n fieldErrors,\n }: {\n error: Error;\n rawError: Record<string, unknown>;\n fieldErrors: NormalizedFieldError[];\n }) => void;\n};\n\nexport function ChooseAlternativePlanStep({\n onSubmit,\n onSuccess,\n onError,\n components,\n}: ChooseAlternativePlanStepProps) {\n const { contractorOnboardingBag } = useContractorOnboardingContext();\n\n const handleSubmit = async (payload: $TSFixMe) => {\n try {\n const parsedValues =\n await contractorOnboardingBag.parseFormValues(payload);\n await onSubmit?.(parsedValues as $TSFixMe);\n const response = await contractorOnboardingBag.onSubmit(payload);\n\n if (response?.data) {\n await onSuccess?.(response?.data as $TSFixMe);\n if (\n (response?.data as $TSFixMe)?.subscription !== eorProductIdentifier\n ) {\n contractorOnboardingBag?.next();\n }\n return;\n }\n } catch (error: unknown) {\n const structuredError = handleStepError(\n error,\n contractorOnboardingBag.meta?.fields?.choose_alternative_plan,\n );\n onError?.(structuredError);\n }\n };\n\n const initialValues =\n contractorOnboardingBag.stepState.values?.choose_alternative_plan || {};\n\n return (\n <ContractorOnboardingForm\n defaultValues={initialValues}\n onSubmit={handleSubmit}\n components={components}\n />\n );\n}\n"],"mappings":"mMAuEI,cAAAA,MAAA,oBArCG,SAASC,EAA0B,CACxC,SAAAC,EACA,UAAAC,EACA,QAAAC,EACA,WAAAC,CACF,EAAmC,CACjC,GAAM,CAAE,wBAAAC,CAAwB,EAAIC,EAA+B,EAE7DC,EAAeC,EAAA,MAAOC,GAAsB,CAChD,GAAI,CACF,IAAMC,EACJ,MAAML,EAAwB,gBAAgBI,CAAO,EACvD,MAAMR,IAAWS,CAAwB,EACzC,IAAMC,EAAW,MAAMN,EAAwB,SAASI,CAAO,EAE/D,GAAIE,GAAU,KAAM,CAClB,MAAMT,IAAYS,GAAU,IAAgB,EAEzCA,GAAU,MAAmB,eAAiBC,GAE/CP,GAAyB,KAAK,EAEhC,MACF,CACF,OAASQ,EAAgB,CACvB,IAAMC,EAAkBC,EACtBF,EACAR,EAAwB,MAAM,QAAQ,uBACxC,EACAF,IAAUW,CAAe,CAC3B,CACF,EAvBqB,gBAyBfE,EACJX,EAAwB,UAAU,QAAQ,yBAA2B,CAAC,EAExE,OACEN,EAACkB,EAAA,CACC,cAAeD,EACf,SAAUT,EACV,WAAYH,EACd,CAEJ,CA3CgBI,EAAAR,EAAA","names":["jsx","ChooseAlternativePlanStep","onSubmit","onSuccess","onError","components","contractorOnboardingBag","useContractorOnboardingContext","handleSubmit","__name","payload","parsedValues","response","eorProductIdentifier","error","structuredError","handleStepError","initialValues","ContractorOnboardingForm"]}
@@ -0,0 +1,2 @@
1
+ var e={data:{version:7,schema:{additionalProperties:!1,properties:{subscription:{title:"Choose a plan",type:"string",oneOf:[],"x-jsf-presentation":{inputType:"radio"}}},required:["subscription"],type:"object","x-jsf-order":["subscription"]}}};export{e as a};
2
+ //# sourceMappingURL=chunk-E6256SK7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/ContractorOnboarding/json-schemas/chooseAlternativePlanStep.ts"],"sourcesContent":["export const chooseAlternativePlanSchema = {\n data: {\n version: 7,\n schema: {\n additionalProperties: false,\n properties: {\n subscription: {\n title: 'Choose a plan',\n type: 'string',\n oneOf: [],\n 'x-jsf-presentation': {\n inputType: 'radio',\n },\n },\n },\n required: ['subscription'],\n type: 'object',\n 'x-jsf-order': ['subscription'],\n },\n },\n};\n"],"mappings":"AAAO,IAAMA,EAA8B,CACzC,KAAM,CACJ,QAAS,EACT,OAAQ,CACN,qBAAsB,GACtB,WAAY,CACV,aAAc,CACZ,MAAO,gBACP,KAAM,SACN,MAAO,CAAC,EACR,qBAAsB,CACpB,UAAW,OACb,CACF,CACF,EACA,SAAU,CAAC,cAAc,EACzB,KAAM,SACN,cAAe,CAAC,cAAc,CAChC,CACF,CACF","names":["chooseAlternativePlanSchema"]}
@@ -1,2 +1,2 @@
1
- import{a as o,b as r}from"./chunk-O3G6HQ3B.js";import{a as t}from"./chunk-ZPG6GRAX.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as a}from"react/jsx-runtime";var n={[o]:" Remote provides its Contractor Services Agreement (CSA) \u201Cas is\u201D; it does not constitute legal advice or create an attorney-client relationship with Remote. Remote is not liable for the content You enter herein and You are encouraged to seek independent legal advice tailored to the specific relationship between You and Your Contractor. By use of the CSA, You release Remote from liability for any claim for damages or losses which may arise related to Your use thereof.",[r]:"Remote provides its Contractor Services Agreement (CSA) \u201Cas is\u201D; it does not constitute legal advice or create an attorney-client relationship with Remote. Remote is not liable for the content You enter herein and You are encouraged to seek independent legal advice tailored to the specific relationship between You and Your Contractor."},d=e(({subscription:i})=>a(t,{title:"Contractor Services Agreement",description:n[i],severity:"info"}),"StatementOfWorkDisclaimer");export{d as a};
2
- //# sourceMappingURL=chunk-GVK4VLLD.js.map
1
+ import{a as o,b as r}from"./chunk-LHEF2FN7.js";import{a as t}from"./chunk-ZPG6GRAX.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as a}from"react/jsx-runtime";var n={[o]:" Remote provides its Contractor Services Agreement (CSA) \u201Cas is\u201D; it does not constitute legal advice or create an attorney-client relationship with Remote. Remote is not liable for the content You enter herein and You are encouraged to seek independent legal advice tailored to the specific relationship between You and Your Contractor. By use of the CSA, You release Remote from liability for any claim for damages or losses which may arise related to Your use thereof.",[r]:"Remote provides its Contractor Services Agreement (CSA) \u201Cas is\u201D; it does not constitute legal advice or create an attorney-client relationship with Remote. Remote is not liable for the content You enter herein and You are encouraged to seek independent legal advice tailored to the specific relationship between You and Your Contractor."},d=e(({subscription:i})=>a(t,{title:"Contractor Services Agreement",description:n[i],severity:"info"}),"StatementOfWorkDisclaimer");export{d as a};
2
+ //# sourceMappingURL=chunk-EPLPD54O.js.map
@@ -0,0 +1,2 @@
1
+ import{b as f}from"./chunk-76ZDXC2T.js";import{b as p}from"./chunk-LNV36S6D.js";import{a as c}from"./chunk-VSYION5R.js";import{f as a,g as d}from"./chunk-ZSJ6YADQ.js";import{a as t}from"./chunk-P37U34EQ.js";import{useEffect as y,useRef as b}from"react";import{jsx as l}from"react/jsx-runtime";import{createElement as g}from"react";function B({defaultValues:s,onSubmit:u,components:F}){let{formId:C,createCompanyBag:o}=f(),m=b(s),h=p(o.handleValidation),r=a({resolver:h,defaultValues:s,shouldUnregister:!1,mode:"onBlur"});y(()=>{let n=r?.watch(e=>{Object.keys(e).some(i=>e[i]!==m.current[i])&&(o?.checkFieldUpdates(e),m.current={...e})});return()=>n?.unsubscribe()},[]);let S=t(async n=>{await u(n)},"handleSubmit");return g(d,{...r,key:`form-${o.stepState.currentStep.name}`},l("form",{id:C,onSubmit:r.handleSubmit(S),className:"space-y-4 RemoteFlows__OnboardingForm",children:l(c,{components:F,fields:o.fields,fieldsets:o.meta.fieldsets,fieldValues:o.fieldValues})}))}t(B,"CreateCompanyForm");export{B as a};
2
+ //# sourceMappingURL=chunk-FKYEST54.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/CreateCompany/components/CreateCompanyForm.tsx"],"sourcesContent":["import { JSFFields } from '@/src/types/remoteFlows';\nimport { JSONSchemaFormFields } from '@/src/components/form/JSONSchemaForm';\nimport { Form } from '@/src/components/ui/form';\nimport { useForm } from 'react-hook-form';\nimport { useJsonSchemasValidationFormResolver } from '@/src/components/form/validationResolver';\nimport { Components } from '@/src/types/remoteFlows';\nimport { useCreateCompanyContext } from '@/src/flows/CreateCompany/context';\nimport { useEffect, useRef } from 'react';\n\ntype CreateCompanyFormProps = {\n onSubmit: (payload: Record<string, unknown>) => Promise<void>;\n components?: Components;\n fields?: JSFFields;\n defaultValues: Record<string, unknown>;\n};\n\nexport function CreateCompanyForm({\n defaultValues,\n onSubmit,\n components,\n}: CreateCompanyFormProps) {\n const { formId, createCompanyBag } = useCreateCompanyContext();\n const prevValuesRef = useRef(defaultValues);\n\n const resolver = useJsonSchemasValidationFormResolver(\n createCompanyBag.handleValidation,\n );\n\n const form = useForm({\n resolver,\n defaultValues,\n shouldUnregister: false,\n mode: 'onBlur',\n });\n\n useEffect(() => {\n const subscription = form?.watch((values) => {\n const hasChanged = Object.keys(values).some(\n (key) => values[key] !== prevValuesRef.current[key],\n );\n if (hasChanged) {\n createCompanyBag?.checkFieldUpdates(values);\n prevValuesRef.current = { ...values };\n }\n });\n return () => subscription?.unsubscribe();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const handleSubmit = async (values: Record<string, unknown>) => {\n await onSubmit(values);\n };\n\n return (\n <Form {...form} key={`form-${createCompanyBag.stepState.currentStep.name}`}>\n <form\n id={formId}\n onSubmit={form.handleSubmit(handleSubmit)}\n className='space-y-4 RemoteFlows__OnboardingForm'\n >\n <JSONSchemaFormFields\n components={components}\n fields={createCompanyBag.fields}\n fieldsets={createCompanyBag.meta.fieldsets}\n fieldValues={createCompanyBag.fieldValues}\n />\n </form>\n </Form>\n );\n}\n"],"mappings":"+MAOA,OAAS,aAAAA,EAAW,UAAAC,MAAc,QAqD1B,cAAAC,MAAA,oBANJ,wBAAAC,MAAA,QAtCG,SAASC,EAAkB,CAChC,cAAAC,EACA,SAAAC,EACA,WAAAC,CACF,EAA2B,CACzB,GAAM,CAAE,OAAAC,EAAQ,iBAAAC,CAAiB,EAAIC,EAAwB,EACvDC,EAAgBC,EAAOP,CAAa,EAEpCQ,EAAWC,EACfL,EAAiB,gBACnB,EAEMM,EAAOC,EAAQ,CACnB,SAAAH,EACA,cAAAR,EACA,iBAAkB,GAClB,KAAM,QACR,CAAC,EAEDY,EAAU,IAAM,CACd,IAAMC,EAAeH,GAAM,MAAOI,GAAW,CACxB,OAAO,KAAKA,CAAM,EAAE,KACpCC,GAAQD,EAAOC,CAAG,IAAMT,EAAc,QAAQS,CAAG,CACpD,IAEEX,GAAkB,kBAAkBU,CAAM,EAC1CR,EAAc,QAAU,CAAE,GAAGQ,CAAO,EAExC,CAAC,EACD,MAAO,IAAMD,GAAc,YAAY,CAEzC,EAAG,CAAC,CAAC,EAEL,IAAMG,EAAeC,EAAA,MAAOH,GAAoC,CAC9D,MAAMb,EAASa,CAAM,CACvB,EAFqB,gBAIrB,OACEhB,EAACoB,EAAA,CAAM,GAAGR,EAAM,IAAK,QAAQN,EAAiB,UAAU,YAAY,IAAI,IACtEP,EAAC,QACC,GAAIM,EACJ,SAAUO,EAAK,aAAaM,CAAY,EACxC,UAAU,wCAEV,SAAAnB,EAACsB,EAAA,CACC,WAAYjB,EACZ,OAAQE,EAAiB,OACzB,UAAWA,EAAiB,KAAK,UACjC,YAAaA,EAAiB,YAChC,EACF,CACF,CAEJ,CArDgBa,EAAAlB,EAAA","names":["useEffect","useRef","jsx","createElement","CreateCompanyForm","defaultValues","onSubmit","components","formId","createCompanyBag","useCreateCompanyContext","prevValuesRef","useRef","resolver","useJsonSchemasValidationFormResolver","form","useForm","useEffect","subscription","values","key","handleSubmit","__name","Form","JSONSchemaFormFields"]}
@@ -1,2 +1,2 @@
1
- import{a as f}from"./chunk-UVAK3ZEO.js";import{i as a,j as c,k as l,l as m,m as _}from"./chunk-ZSJ6YADQ.js";import{a as u,b as R}from"./chunk-JEULZR34.js";import{a as F}from"./chunk-3PIJOIYR.js";import{a as p}from"./chunk-P37U34EQ.js";import{Fragment as g}from"react";import{jsx as e,jsxs as t}from"react/jsx-runtime";var w=p(({field:s,fieldData:i,fieldState:C})=>{let{name:r,label:d,description:n,options:b}=i;return e("fieldset",{className:F("space-y-3",`RemoteFlows__RadioGroupField__Item__${r}`),"data-field":r,children:t(a,{children:[e("legend",{children:d}),n&&e(m,{helpCenter:e(f,{helpCenter:i.meta?.helpCenter}),children:n}),e(l,{children:e(u,{"aria-label":d||r,onValueChange:o=>{s.onChange(o)},value:s.value,className:"flex flex-col space-y-3",children:b?.map(o=>e(g,{children:t(a,{"data-field":r,className:"flex items-start space-x-3 space-y-0 gap-0 RemoteFlows__RadioField__Item",children:[e(l,{children:e(R,{value:o.value,className:"RemoteFlows__RadioField__Input",disabled:o.disabled})}),t("div",{children:[e(c,{className:"font-normal mb-0 RemoteFlows__RadioField__Label",children:o.label}),o.description&&e(m,{className:"mt-2",children:o.description})]})]})},o.value))})}),C.error&&e(_,{})]})})},"RadioGroupFieldDefault");export{w as a};
2
- //# sourceMappingURL=chunk-NWWR6SBR.js.map
1
+ import{a as f}from"./chunk-7TOCURKO.js";import{i as a,j as c,k as l,l as m,m as _}from"./chunk-ZSJ6YADQ.js";import{a as u,b as R}from"./chunk-JEULZR34.js";import{a as F}from"./chunk-3PIJOIYR.js";import{a as p}from"./chunk-P37U34EQ.js";import{Fragment as g}from"react";import{jsx as e,jsxs as t}from"react/jsx-runtime";var w=p(({field:s,fieldData:i,fieldState:C})=>{let{name:r,label:d,description:n,options:b}=i;return e("fieldset",{className:F("space-y-3",`RemoteFlows__RadioGroupField__Item__${r}`),"data-field":r,children:t(a,{children:[e("legend",{children:d}),n&&e(m,{helpCenter:e(f,{helpCenter:i.meta?.helpCenter}),children:n}),e(l,{children:e(u,{"aria-label":d||r,onValueChange:o=>{s.onChange(o)},value:s.value,className:"flex flex-col space-y-3",children:b?.map(o=>e(g,{children:t(a,{"data-field":r,className:"flex items-start space-x-3 space-y-0 gap-0 RemoteFlows__RadioField__Item",children:[e(l,{children:e(R,{value:o.value,className:"RemoteFlows__RadioField__Input",disabled:o.disabled})}),t("div",{children:[e(c,{className:"font-normal mb-0 RemoteFlows__RadioField__Label",children:o.label}),o.description&&e(m,{className:"mt-2",children:o.description})]})]})},o.value))})}),C.error&&e(_,{})]})})},"RadioGroupFieldDefault");export{w as a};
2
+ //# sourceMappingURL=chunk-GLKITZNI.js.map
@@ -0,0 +1,2 @@
1
+ import{b as i,c as m,d as s,e as f}from"./chunk-Z4STVEJE.js";import{a as n}from"./chunk-TXSUZLOI.js";import{a}from"./chunk-P37U34EQ.js";import{useState as O}from"react";var B=a(({proposedTerminationDate:e,employeeName:y,employmentId:o,employment:r,render:d})=>{let[t,u]=O(!1),l=m({employmentId:o}),p=n(e).toLocaleDateString("en-US",{month:"long",day:"numeric",year:"numeric"}),c=i({employmentId:o,options:{enabled:t}}),D=s({employmentId:o,date:e}),P=f({employmentId:o,proposedTerminationDate:e,employment:r});return d({leavePoliciesSummaryQuery:l,timeoffQuery:c||{data:{bookedDays:0,timeoffs:[]}},bookedTimeBeforeAndAfterTerminationQuery:D,formattedProposedTerminationDate:p,employeeName:y,proposedTerminationDate:e,summaryData:P??{data:{entitledDays:"0 days",bookedDays:"0 days",usedDays:"0 days",approvedDaysBeforeTermination:"0 days",approvedDaysAfterTermination:"0 days",remainingDays:"0 days",isUnlimitedPto:!1},isLoading:!1,isError:!1,error:null},employment:r,open:t,onOpenChange:a(()=>{u(T=>!T)},"onOpenChange")})},"PaidTimeOffContainer");export{B as a};
2
+ //# sourceMappingURL=chunk-H463PCBN.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.tsx"],"sourcesContent":["import {\n usePaidTimeoffBreakdownQuery,\n useTimeOffLeavePoliciesSummaryQuery,\n} from '@/src/common/api/timeoff';\nimport { parseLocalDate } from '@/src/common/dates';\nimport {\n useBookedTimeoffBeforeAndAfterTerminationQuery,\n useSummaryTimeOffDataQuery,\n} from '@/src/flows/Termination/api';\nimport { PaidTimeOffContainerProps } from '@/src/flows/Termination/components/PaidTimeOff/types';\nimport { useState } from 'react';\n\n/**\n * PaidTimeOffContainer component\n *\n * This is a container component that manages paid time off (PTO) data retrieval and state\n * for the termination flow. It aggregates multiple time off-related queries and formats\n * the termination date for display.\n *\n */\nexport const PaidTimeOffContainer = ({\n proposedTerminationDate,\n employeeName,\n employmentId,\n employment,\n render,\n}: PaidTimeOffContainerProps) => {\n const [open, setOpen] = useState(false);\n\n const leavePoliciesSummaryQuery = useTimeOffLeavePoliciesSummaryQuery({\n employmentId: employmentId,\n });\n\n const formattedProposedTerminationDate = parseLocalDate(\n proposedTerminationDate,\n ).toLocaleDateString('en-US', {\n month: 'long',\n day: 'numeric',\n year: 'numeric',\n });\n\n const timeoffQuery = usePaidTimeoffBreakdownQuery({\n employmentId: employmentId,\n options: {\n enabled: open,\n },\n });\n\n const bookedTimeBeforeAndAfterTerminationQuery =\n useBookedTimeoffBeforeAndAfterTerminationQuery({\n employmentId: employmentId,\n date: proposedTerminationDate,\n });\n\n // computed summary data\n const summaryData = useSummaryTimeOffDataQuery({\n employmentId: employmentId,\n proposedTerminationDate,\n employment: employment,\n });\n\n const onOpenChange = () => {\n setOpen((open) => !open);\n };\n\n return render({\n leavePoliciesSummaryQuery,\n timeoffQuery: timeoffQuery || {\n data: {\n bookedDays: 0,\n timeoffs: [],\n },\n },\n bookedTimeBeforeAndAfterTerminationQuery,\n formattedProposedTerminationDate,\n employeeName,\n proposedTerminationDate,\n summaryData: summaryData ?? {\n data: {\n entitledDays: '0 days',\n bookedDays: '0 days',\n usedDays: '0 days',\n approvedDaysBeforeTermination: '0 days',\n approvedDaysAfterTermination: '0 days',\n remainingDays: '0 days',\n isUnlimitedPto: false,\n },\n isLoading: false,\n isError: false,\n error: null,\n },\n employment: employment,\n open,\n onOpenChange,\n });\n};\n"],"mappings":"kGAUA,OAAS,YAAAA,MAAgB,QAUlB,IAAMC,EAAuBC,EAAA,CAAC,CACnC,wBAAAC,EACA,aAAAC,EACA,aAAAC,EACA,WAAAC,EACA,OAAAC,CACF,IAAiC,CAC/B,GAAM,CAACC,EAAMC,CAAO,EAAIC,EAAS,EAAK,EAEhCC,EAA4BC,EAAoC,CACpE,aAAcP,CAChB,CAAC,EAEKQ,EAAmCC,EACvCX,CACF,EAAE,mBAAmB,QAAS,CAC5B,MAAO,OACP,IAAK,UACL,KAAM,SACR,CAAC,EAEKY,EAAeC,EAA6B,CAChD,aAAcX,EACd,QAAS,CACP,QAASG,CACX,CACF,CAAC,EAEKS,EACJC,EAA+C,CAC7C,aAAcb,EACd,KAAMF,CACR,CAAC,EAGGgB,EAAcC,EAA2B,CAC7C,aAAcf,EACd,wBAAAF,EACA,WAAYG,CACd,CAAC,EAMD,OAAOC,EAAO,CACZ,0BAAAI,EACA,aAAcI,GAAgB,CAC5B,KAAM,CACJ,WAAY,EACZ,SAAU,CAAC,CACb,CACF,EACA,yCAAAE,EACA,iCAAAJ,EACA,aAAAT,EACA,wBAAAD,EACA,YAAagB,GAAe,CAC1B,KAAM,CACJ,aAAc,SACd,WAAY,SACZ,SAAU,SACV,8BAA+B,SAC/B,6BAA8B,SAC9B,cAAe,SACf,eAAgB,EAClB,EACA,UAAW,GACX,QAAS,GACT,MAAO,IACT,EACA,WAAYb,EACZ,KAAAE,EACA,aAhCmBN,EAAA,IAAM,CACzBO,EAASD,GAAS,CAACA,CAAI,CACzB,EAFqB,eAiCrB,CAAC,CACH,EA3EoC","names":["useState","PaidTimeOffContainer","__name","proposedTerminationDate","employeeName","employmentId","employment","render","open","setOpen","useState","leavePoliciesSummaryQuery","useTimeOffLeavePoliciesSummaryQuery","formattedProposedTerminationDate","parseLocalDate","timeoffQuery","usePaidTimeoffBreakdownQuery","bookedTimeBeforeAndAfterTerminationQuery","useBookedTimeoffBeforeAndAfterTerminationQuery","summaryData","useSummaryTimeOffDataQuery"]}
1
+ {"version":3,"sources":["../src/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.tsx"],"sourcesContent":["import {\n usePaidTimeoffBreakdownQuery,\n useTimeOffLeavePoliciesSummaryQuery,\n} from '@/src/common/api/timeoff';\nimport { parseLocalDate } from '@/src/common/dates';\nimport {\n useBookedTimeoffBeforeAndAfterTerminationQuery,\n useSummaryTimeOffDataQuery,\n} from '@/src/flows/Termination/api';\nimport { PaidTimeOffContainerProps } from '@/src/flows/Termination/components/PaidTimeOff/types';\nimport { useState } from 'react';\n\n/**\n * PaidTimeOffContainer component\n *\n * This is a container component that manages paid time off (PTO) data retrieval and state\n * for the termination flow. It aggregates multiple time off-related queries and formats\n * the termination date for display.\n *\n */\nexport const PaidTimeOffContainer = ({\n proposedTerminationDate,\n employeeName,\n employmentId,\n employment,\n render,\n}: PaidTimeOffContainerProps) => {\n const [open, setOpen] = useState(false);\n\n const leavePoliciesSummaryQuery = useTimeOffLeavePoliciesSummaryQuery({\n employmentId: employmentId,\n });\n\n const formattedProposedTerminationDate = parseLocalDate(\n proposedTerminationDate,\n ).toLocaleDateString('en-US', {\n month: 'long',\n day: 'numeric',\n year: 'numeric',\n });\n\n const timeoffQuery = usePaidTimeoffBreakdownQuery({\n employmentId: employmentId,\n options: {\n enabled: open,\n },\n });\n\n const bookedTimeBeforeAndAfterTerminationQuery =\n useBookedTimeoffBeforeAndAfterTerminationQuery({\n employmentId: employmentId,\n date: proposedTerminationDate,\n });\n\n // computed summary data\n const summaryData = useSummaryTimeOffDataQuery({\n employmentId: employmentId,\n proposedTerminationDate,\n employment: employment,\n });\n\n const onOpenChange = () => {\n setOpen((open) => !open);\n };\n\n return render({\n leavePoliciesSummaryQuery,\n timeoffQuery: timeoffQuery || {\n data: {\n bookedDays: 0,\n timeoffs: [],\n },\n },\n bookedTimeBeforeAndAfterTerminationQuery,\n formattedProposedTerminationDate,\n employeeName,\n proposedTerminationDate,\n summaryData: summaryData ?? {\n data: {\n entitledDays: '0 days',\n bookedDays: '0 days',\n usedDays: '0 days',\n approvedDaysBeforeTermination: '0 days',\n approvedDaysAfterTermination: '0 days',\n remainingDays: '0 days',\n isUnlimitedPto: false,\n },\n isLoading: false,\n isError: false,\n error: null,\n },\n employment: employment,\n open,\n onOpenChange,\n });\n};\n"],"mappings":"wIAUA,OAAS,YAAAA,MAAgB,QAUlB,IAAMC,EAAuBC,EAAA,CAAC,CACnC,wBAAAC,EACA,aAAAC,EACA,aAAAC,EACA,WAAAC,EACA,OAAAC,CACF,IAAiC,CAC/B,GAAM,CAACC,EAAMC,CAAO,EAAIC,EAAS,EAAK,EAEhCC,EAA4BC,EAAoC,CACpE,aAAcP,CAChB,CAAC,EAEKQ,EAAmCC,EACvCX,CACF,EAAE,mBAAmB,QAAS,CAC5B,MAAO,OACP,IAAK,UACL,KAAM,SACR,CAAC,EAEKY,EAAeC,EAA6B,CAChD,aAAcX,EACd,QAAS,CACP,QAASG,CACX,CACF,CAAC,EAEKS,EACJC,EAA+C,CAC7C,aAAcb,EACd,KAAMF,CACR,CAAC,EAGGgB,EAAcC,EAA2B,CAC7C,aAAcf,EACd,wBAAAF,EACA,WAAYG,CACd,CAAC,EAMD,OAAOC,EAAO,CACZ,0BAAAI,EACA,aAAcI,GAAgB,CAC5B,KAAM,CACJ,WAAY,EACZ,SAAU,CAAC,CACb,CACF,EACA,yCAAAE,EACA,iCAAAJ,EACA,aAAAT,EACA,wBAAAD,EACA,YAAagB,GAAe,CAC1B,KAAM,CACJ,aAAc,SACd,WAAY,SACZ,SAAU,SACV,8BAA+B,SAC/B,6BAA8B,SAC9B,cAAe,SACf,eAAgB,EAClB,EACA,UAAW,GACX,QAAS,GACT,MAAO,IACT,EACA,WAAYb,EACZ,KAAAE,EACA,aAhCmBN,EAAA,IAAM,CACzBO,EAASD,GAAS,CAACA,CAAI,CACzB,EAFqB,eAiCrB,CAAC,CACH,EA3EoC","names":["useState","PaidTimeOffContainer","__name","proposedTerminationDate","employeeName","employmentId","employment","render","open","setOpen","useState","leavePoliciesSummaryQuery","useTimeOffLeavePoliciesSummaryQuery","formattedProposedTerminationDate","parseLocalDate","timeoffQuery","usePaidTimeoffBreakdownQuery","bookedTimeBeforeAndAfterTerminationQuery","useBookedTimeoffBeforeAndAfterTerminationQuery","summaryData","useSummaryTimeOffDataQuery"]}
@@ -1,2 +1,2 @@
1
- import{b as f}from"./chunk-LNV36S6D.js";import{a as F}from"./chunk-7S2QQQDH.js";import{e as p}from"./chunk-T7O3YYOG.js";import{f as l,g as u}from"./chunk-ZSJ6YADQ.js";import{b as _}from"./chunk-TVZAFTPT.js";import{a}from"./chunk-P37U34EQ.js";import{useEffect as w}from"react";import{jsx as r}from"react/jsx-runtime";var R=["effective_date","reason_for_change","reason_for_change_description","additional_comments","additional_comments_toggle"];function x({onSubmit:b,onError:m,onSuccess:A}){let{formId:C,contractAmendment:{checkFieldUpdates:h,fields:s,onSubmit:y,stepState:S,initialValues:i,handleValidation:g}}=_(),V=f(g),e=l({resolver:V,defaultValues:S.values?.form||i,shouldUnregister:!0,mode:"onBlur"});w(()=>{let t=e?.watch(o=>{(Object.keys(e.formState.dirtyFields).length>0||e.formState.isDirty)&&h(o)});return()=>t?.unsubscribe()},[]);let v=a(async t=>{let o=!1;for(let[c,P]of Object.entries(t))if(!R.includes(c)&&i[c]!==P){o=!0;break}if(!o)return m?.({message:"no_changes_detected_contract_details"});let d=await p(t,s,{isPartialValidation:!1});await b?.(d);let n=await y(t);n.error?m?.(n.error):await A?.(n.data)},"handleSubmit");return r(u,{...e,children:r("form",{id:C,"data-testid":"contract-amendment-form",onSubmit:e.handleSubmit(v),className:"space-y-4 RemoteFlows__ContractAmendmentForm",children:r(F,{fields:s})})})}a(x,"ContractAmendmentForm");export{x as a};
2
- //# sourceMappingURL=chunk-N2UBBJBK.js.map
1
+ import{b as f}from"./chunk-LNV36S6D.js";import{a as F}from"./chunk-VSYION5R.js";import{e as p}from"./chunk-T7O3YYOG.js";import{f as l,g as u}from"./chunk-ZSJ6YADQ.js";import{b as _}from"./chunk-TVZAFTPT.js";import{a}from"./chunk-P37U34EQ.js";import{useEffect as w}from"react";import{jsx as r}from"react/jsx-runtime";var R=["effective_date","reason_for_change","reason_for_change_description","additional_comments","additional_comments_toggle"];function x({onSubmit:b,onError:m,onSuccess:A}){let{formId:C,contractAmendment:{checkFieldUpdates:h,fields:s,onSubmit:y,stepState:S,initialValues:i,handleValidation:g}}=_(),V=f(g),e=l({resolver:V,defaultValues:S.values?.form||i,shouldUnregister:!0,mode:"onBlur"});w(()=>{let t=e?.watch(o=>{(Object.keys(e.formState.dirtyFields).length>0||e.formState.isDirty)&&h(o)});return()=>t?.unsubscribe()},[]);let v=a(async t=>{let o=!1;for(let[c,P]of Object.entries(t))if(!R.includes(c)&&i[c]!==P){o=!0;break}if(!o)return m?.({message:"no_changes_detected_contract_details"});let d=await p(t,s,{isPartialValidation:!1});await b?.(d);let n=await y(t);n.error?m?.(n.error):await A?.(n.data)},"handleSubmit");return r(u,{...e,children:r("form",{id:C,"data-testid":"contract-amendment-form",onSubmit:e.handleSubmit(v),className:"space-y-4 RemoteFlows__ContractAmendmentForm",children:r(F,{fields:s})})})}a(x,"ContractAmendmentForm");export{x as a};
2
+ //# sourceMappingURL=chunk-HLAKUOQB.js.map
@@ -1,2 +1,2 @@
1
- import{a as l}from"./chunk-IRVF252A.js";import{b as s}from"./chunk-PGWKJ6FK.js";import{b as n}from"./chunk-X6ZAR7ZL.js";import{a as t}from"./chunk-P37U34EQ.js";import{jsx as E}from"react/jsx-runtime";function S({onSubmit:d,onError:a,onSuccess:m}){let{onboardingBag:r}=s(),c=t(async i=>{try{let e=await r.parseFormValues(i);await d?.(e);let o=await r.onSubmit(i);if(o?.data){await m?.(o.data),r?.next();return}if(o?.error){let p=n(o?.fieldErrors||[],r.meta?.fields?.contract_details);a?.({error:o.error,rawError:o.rawError,fieldErrors:p})}}catch(e){a?.({error:e,rawError:e,fieldErrors:[]})}},"handleSubmit");return E(l,{defaultValues:r.stepState.values?.contract_details||r.initialValues.contract_details,onSubmit:c})}t(S,"ContractDetailsStep");export{S as a};
2
- //# sourceMappingURL=chunk-ATPZXVQD.js.map
1
+ import{a as l}from"./chunk-BC4UT7KC.js";import{b as s}from"./chunk-PGWKJ6FK.js";import{b as n}from"./chunk-X6ZAR7ZL.js";import{a as t}from"./chunk-P37U34EQ.js";import{jsx as E}from"react/jsx-runtime";function S({onSubmit:d,onError:a,onSuccess:m}){let{onboardingBag:r}=s(),c=t(async i=>{try{let e=await r.parseFormValues(i);await d?.(e);let o=await r.onSubmit(i);if(o?.data){await m?.(o.data),r?.next();return}if(o?.error){let p=n(o?.fieldErrors||[],r.meta?.fields?.contract_details);a?.({error:o.error,rawError:o.rawError,fieldErrors:p})}}catch(e){a?.({error:e,rawError:e,fieldErrors:[]})}},"handleSubmit");return E(l,{defaultValues:r.stepState.values?.contract_details||r.initialValues.contract_details,onSubmit:c})}t(S,"ContractDetailsStep");export{S as a};
2
+ //# sourceMappingURL=chunk-HN7ZP5AX.js.map
@@ -1,2 +1,2 @@
1
- import{a as s}from"./chunk-2PUPF2EN.js";import{b as e}from"./chunk-Q3ALCPJN.js";import{j as t}from"./chunk-3PIJOIYR.js";import{a as i}from"./chunk-P37U34EQ.js";import{jsx as u}from"react/jsx-runtime";function E({components:l,onSubmit:p,onSuccess:c,onError:m}){let{contractorOnboardingBag:r}=e(),d=i(async a=>{try{let n=await r.parseFormValues(a);await p?.(n);let o=await r.onSubmit(a);if(o?.data){await c?.(o?.data),r?.next();return}}catch(n){let o=t(n,r.meta?.fields?.pricing_plan);m?.(o)}},"handleSubmit"),P=r.stepState.values?.pricing_plan||r.initialValues.pricing_plan;return u(s,{components:l,defaultValues:P,onSubmit:d})}i(E,"PricingPlanStep");export{E as a};
2
- //# sourceMappingURL=chunk-APFUKV75.js.map
1
+ import{a as s}from"./chunk-S63QGDMR.js";import{b as e}from"./chunk-Q3ALCPJN.js";import{j as t}from"./chunk-3PIJOIYR.js";import{a as i}from"./chunk-P37U34EQ.js";import{jsx as u}from"react/jsx-runtime";function E({components:l,onSubmit:p,onSuccess:c,onError:m}){let{contractorOnboardingBag:r}=e(),d=i(async a=>{try{let n=await r.parseFormValues(a);await p?.(n);let o=await r.onSubmit(a);if(o?.data){await c?.(o?.data),r?.next();return}}catch(n){let o=t(n,r.meta?.fields?.pricing_plan);m?.(o)}},"handleSubmit"),P=r.stepState.values?.pricing_plan||r.initialValues.pricing_plan;return u(s,{components:l,defaultValues:P,onSubmit:d})}i(E,"PricingPlanStep");export{E as a};
2
+ //# sourceMappingURL=chunk-HU453KWI.js.map
@@ -1,2 +1,2 @@
1
- import{a as m}from"./chunk-IRVF252A.js";import{b as s}from"./chunk-PGWKJ6FK.js";import{b as t}from"./chunk-X6ZAR7ZL.js";import{a}from"./chunk-P37U34EQ.js";import{jsx as E}from"react/jsx-runtime";function b({onSubmit:d,onSuccess:l,onError:n}){let{onboardingBag:r}=s(),f=a(async e=>{try{let i=await r.parseFormValues(e);await d?.(i);let o=await r.onSubmit(e);if(o?.data){await l?.(o?.data),r?.next();return}if(o?.error){let c=t(o?.fieldErrors||[],r.meta?.fields?.basic_information);n?.({error:o?.error,rawError:o?.rawError,fieldErrors:c})}}catch(i){n?.({error:i,rawError:i,fieldErrors:[]})}},"handleSubmit"),p=r.stepState.values?.basic_information||r.initialValues.basic_information;return E(m,{defaultValues:p,onSubmit:f})}a(b,"BasicInformationStep");export{b as a};
2
- //# sourceMappingURL=chunk-TRR7P5XQ.js.map
1
+ import{a as m}from"./chunk-BC4UT7KC.js";import{b as s}from"./chunk-PGWKJ6FK.js";import{b as t}from"./chunk-X6ZAR7ZL.js";import{a}from"./chunk-P37U34EQ.js";import{jsx as E}from"react/jsx-runtime";function b({onSubmit:d,onSuccess:l,onError:n}){let{onboardingBag:r}=s(),f=a(async e=>{try{let i=await r.parseFormValues(e);await d?.(i);let o=await r.onSubmit(e);if(o?.data){await l?.(o?.data),r?.next();return}if(o?.error){let c=t(o?.fieldErrors||[],r.meta?.fields?.basic_information);n?.({error:o?.error,rawError:o?.rawError,fieldErrors:c})}}catch(i){n?.({error:i,rawError:i,fieldErrors:[]})}},"handleSubmit"),p=r.stepState.values?.basic_information||r.initialValues.basic_information;return E(m,{defaultValues:p,onSubmit:f})}a(b,"BasicInformationStep");export{b as a};
2
+ //# sourceMappingURL=chunk-I2ED6EUG.js.map
@@ -1,2 +1,2 @@
1
- import{b as f}from"./chunk-MRYRNB7Y.js";import{b as l}from"./chunk-LNV36S6D.js";import{a as F}from"./chunk-7S2QQQDH.js";import{f as s,g as a}from"./chunk-ZSJ6YADQ.js";import{a as t}from"./chunk-P37U34EQ.js";import{useEffect as y}from"react";import{jsx as r}from"react/jsx-runtime";function A({defaultValues:u,fields:m,onSubmit:d}){let{formId:c,terminationBag:o}=f(),p=l(o.handleValidation),e=s({resolver:p,defaultValues:u,shouldUnregister:!1,mode:"onBlur"});y(()=>{let V=e?.watch(i=>{Object.keys(i).some(n=>i[n]!==o?.initialValues?.[n])&&o?.checkFieldUpdates(i)});return()=>V?.unsubscribe()},[]);let T=m||(o?.fields??[]);return r(a,{...e,children:r("form",{id:c,onSubmit:e.handleSubmit(d),className:"space-y-4 RemoteFlows__TerminationForm",children:r(F,{fields:T})})})}t(A,"TerminationForm");export{A as a};
2
- //# sourceMappingURL=chunk-32EHLWZC.js.map
1
+ import{b as f}from"./chunk-MRYRNB7Y.js";import{b as l}from"./chunk-LNV36S6D.js";import{a as F}from"./chunk-VSYION5R.js";import{f as s,g as a}from"./chunk-ZSJ6YADQ.js";import{a as t}from"./chunk-P37U34EQ.js";import{useEffect as y}from"react";import{jsx as r}from"react/jsx-runtime";function A({defaultValues:u,fields:m,onSubmit:d}){let{formId:c,terminationBag:o}=f(),p=l(o.handleValidation),e=s({resolver:p,defaultValues:u,shouldUnregister:!1,mode:"onBlur"});y(()=>{let V=e?.watch(i=>{Object.keys(i).some(n=>i[n]!==o?.initialValues?.[n])&&o?.checkFieldUpdates(i)});return()=>V?.unsubscribe()},[]);let T=m||(o?.fields??[]);return r(a,{...e,children:r("form",{id:c,onSubmit:e.handleSubmit(d),className:"space-y-4 RemoteFlows__TerminationForm",children:r(F,{fields:T})})})}t(A,"TerminationForm");export{A as a};
2
+ //# sourceMappingURL=chunk-I7JUAYNN.js.map
@@ -1,2 +1,2 @@
1
- import{a as t}from"./chunk-ZXGAFQXW.js";import{a}from"./chunk-LMYJ6V44.js";import{a as e}from"./chunk-TC7EQZJK.js";import{a as r}from"./chunk-NX7MM6XR.js";var i={data:{version:7,schema:{additionalProperties:!1,allOf:[...e.data.schema.allOf,...t.data.schema.allOf,...r.data.schema.allOf,...a.data.schema.allOf],properties:{...e.data.schema.properties,...t.data.schema.properties,...r.data.schema.properties,...a.data.schema.properties},required:[...e.data.schema.required,...t.data.schema.required,...r.data.schema.required,...a.data.schema.required],type:"object","x-jsf-order":[...e.data.schema["x-jsf-order"],...t.data.schema["x-jsf-order"],...r.data.schema["x-jsf-order"],...a.data.schema["x-jsf-order"]]}}};export{i as a};
2
- //# sourceMappingURL=chunk-YRC6EEM3.js.map
1
+ import{a}from"./chunk-LMYJ6V44.js";import{a as e}from"./chunk-TC7EQZJK.js";import{a as r}from"./chunk-NX7MM6XR.js";import{a as t}from"./chunk-ZXGAFQXW.js";var i={data:{version:7,schema:{additionalProperties:!1,allOf:[...e.data.schema.allOf,...t.data.schema.allOf,...r.data.schema.allOf,...a.data.schema.allOf],properties:{...e.data.schema.properties,...t.data.schema.properties,...r.data.schema.properties,...a.data.schema.properties},required:[...e.data.schema.required,...t.data.schema.required,...r.data.schema.required,...a.data.schema.required],type:"object","x-jsf-order":[...e.data.schema["x-jsf-order"],...t.data.schema["x-jsf-order"],...r.data.schema["x-jsf-order"],...a.data.schema["x-jsf-order"]]}}};export{i as a};
2
+ //# sourceMappingURL=chunk-IF42CZJH.js.map
@@ -1,2 +1,2 @@
1
- import{c as d,d as S}from"./chunk-4DZWRQWY.js";import{a as f}from"./chunk-KSHK3ZPX.js";import{a as u}from"./chunk-HN5HLFTB.js";import{b as C}from"./chunk-LNV36S6D.js";import{f as y}from"./chunk-ZSJ6YADQ.js";import{a as o}from"./chunk-P37U34EQ.js";import{useEffect as T,useId as U,useState as I}from"react";import{jsx as k}from"react/jsx-runtime";var l=o((n,e,r)=>r&&r[e]?r[e]:n[e]?n[e]/100:0,"getDefaultManagementFee"),A=o((n,e,r,g)=>!e&&!r?.management_fee&&n?l(u,n,g):e&&!r?.management_fee?"":r?.management_fee,"getManagementFee"),W=o(({estimationOptions:n=d,defaultValues:e={countryRegionSlug:"",regionSlug:"",currencySlug:"",salary:"",benefits:{},management:{management_fee:""}},options:r,render:g,version:_="standard"})=>{let p=U(),[R,m]=I("USD"),F=o(s=>{m(s);let a=l(u,s,n.managementFees);a&&c.setValue("management.management_fee",a.toString())},"onCurrencyChange"),t=S({defaultRegion:e.countryRegionSlug,defaultCurrency:e.currencySlug,defaultSalary:e.salary,estimationOptions:n,version:_,options:{...r,onCurrencyChange:F}}),K=C(t.handleValidation),b=A(R,e.currencySlug,e.management,n.managementFees),{countryRegionSlug:v,currencySlug:h,salary:D,benefits:P,hiringBudget:B,age:E,contractDurationType:M,regionSlug:w,...x}=e,c=y({resolver:K,defaultValues:{country:v,currency:h,region:w,salary:D,salary_conversion:"",salary_converted:void 0,hiring_budget:B||"employee_annual_salary",age:E,contract_duration_type:M,management:{management_fee:b?.toString()||""},benefits:P,estimation_title:n.title,...x},shouldUnregister:!1,mode:"onBlur"});return T(()=>{if(e.currencySlug&&t.currencies&&n.includeManagementFee&&!e.management?.management_fee){let a=t.currencies.find(i=>i.value===e.currencySlug)?.label;if(a){m(a);let i=l(u,a,n.managementFees);c.setValue("management.management_fee",i?.toString()||"")}}},[e.currencySlug,t.currencies,n.includeManagementFee,n.managementFees,e.management?.management_fee,c]),k(f.Provider,{value:{form:c,formId:p,costCalculatorBag:t},children:g(t)})},"CostCalculatorFlow");export{W as a};
2
- //# sourceMappingURL=chunk-ZZJPAKGP.js.map
1
+ import{c as d,d as S}from"./chunk-3ACL4IFO.js";import{a as u}from"./chunk-HN5HLFTB.js";import{a as f}from"./chunk-KSHK3ZPX.js";import{b as C}from"./chunk-LNV36S6D.js";import{f as y}from"./chunk-ZSJ6YADQ.js";import{a as o}from"./chunk-P37U34EQ.js";import{useEffect as T,useId as U,useState as I}from"react";import{jsx as k}from"react/jsx-runtime";var l=o((n,e,r)=>r&&r[e]?r[e]:n[e]?n[e]/100:0,"getDefaultManagementFee"),A=o((n,e,r,g)=>!e&&!r?.management_fee&&n?l(u,n,g):e&&!r?.management_fee?"":r?.management_fee,"getManagementFee"),W=o(({estimationOptions:n=d,defaultValues:e={countryRegionSlug:"",regionSlug:"",currencySlug:"",salary:"",benefits:{},management:{management_fee:""}},options:r,render:g,version:_="standard"})=>{let p=U(),[R,m]=I("USD"),F=o(s=>{m(s);let a=l(u,s,n.managementFees);a&&c.setValue("management.management_fee",a.toString())},"onCurrencyChange"),t=S({defaultRegion:e.countryRegionSlug,defaultCurrency:e.currencySlug,defaultSalary:e.salary,estimationOptions:n,version:_,options:{...r,onCurrencyChange:F}}),K=C(t.handleValidation),b=A(R,e.currencySlug,e.management,n.managementFees),{countryRegionSlug:v,currencySlug:h,salary:D,benefits:P,hiringBudget:B,age:E,contractDurationType:M,regionSlug:w,...x}=e,c=y({resolver:K,defaultValues:{country:v,currency:h,region:w,salary:D,salary_conversion:"",salary_converted:void 0,hiring_budget:B||"employee_annual_salary",age:E,contract_duration_type:M,management:{management_fee:b?.toString()||""},benefits:P,estimation_title:n.title,...x},shouldUnregister:!1,mode:"onBlur"});return T(()=>{if(e.currencySlug&&t.currencies&&n.includeManagementFee&&!e.management?.management_fee){let a=t.currencies.find(i=>i.value===e.currencySlug)?.label;if(a){m(a);let i=l(u,a,n.managementFees);c.setValue("management.management_fee",i?.toString()||"")}}},[e.currencySlug,t.currencies,n.includeManagementFee,n.managementFees,e.management?.management_fee,c]),k(f.Provider,{value:{form:c,formId:p,costCalculatorBag:t},children:g(t)})},"CostCalculatorFlow");export{W as a};
2
+ //# sourceMappingURL=chunk-IHVEK72X.js.map
@@ -0,0 +1,2 @@
1
+ import{a as de,b as me,c as pe}from"./chunk-RKS3FX3C.js";import{a as Kt,b as zt,c as Ht,d as Xt,f as Yt,g as Zt,h as te,i as ee,j as ne,k as ie,l as oe,m as ae,n as re,o as se,p as ce,q as le,r as ue}from"./chunk-VLKG3SNS.js";import{a as Ut,b as Gt,f as Wt,g as $t}from"./chunk-3FCX7SWN.js";import{a as R,b as pt,c as P}from"./chunk-LHEF2FN7.js";import{f as xt,h as Qt,i as Jt}from"./chunk-STEDOWHX.js";import{a as kt}from"./chunk-KUTIJABX.js";import{a as jt,e as m,f as q}from"./chunk-T7O3YYOG.js";import{J as Bt,T as Tt}from"./chunk-KJQN6GHW.js";import{h as w,i as U}from"./chunk-3PIJOIYR.js";import{a as b}from"./chunk-X6ZAR7ZL.js";import{a as Nt}from"./chunk-TSPDJUGG.js";import{d as nt}from"./chunk-KQPDXXG3.js";import{a as s}from"./chunk-P37U34EQ.js";import{useEffect as G,useMemo as o,useRef as _n,useState as D}from"react";import _e from"lodash.omit";import{useQuery as pn}from"@tanstack/react-query";import{useQuery as mn}from"@tanstack/react-query";var fe=s(()=>{let{client:y}=nt();return mn({queryKey:["identity"],queryFn:s(()=>Tt({client:y,headers:{Authorization:""}}),"queryFn"),select:s(S=>S.data?.data,"select")})},"useIdentity");function fn(y){return y!=null&&"company"in y}s(fn,"hasCompany");var yn=s(()=>{let{client:y}=nt(),{data:S}=fe(),r=fn(S)?S?.company?.id??"":"";return pn({queryKey:["legal-entities",r],queryFn:s(()=>Bt({client:y,path:{company_id:r}}),"queryFn"),select:s(W=>W.data?.data?.legal_entities,"select"),enabled:!!r})},"useLegalEntities"),ye=s(()=>{let{data:y}=yn();return y?.find(S=>S.is_default)},"useDefaultLegalEntity");var gn={select_country:null,basic_information:"employment_basic_information",contract_details:null,eligibility_questionnaire:null,pricing_plan:null,choose_alternative_plan:null,contract_preview:null,review:null},bn={employment_basic_information:"basic_information"},$n=s(({countryCode:y,externalId:S,employmentId:r,skipSteps:W,options:_,initialValues:d})=>{let ft=_?.excludeProducts||[],[c,yt]=D(y||null),[a,ge]=D(r),[v,_t]=D(void 0),$=_n({select_country:{},basic_information:{},contract_details:{},contract_preview:{},pricing_plan:{},eligibility_questionnaire:{},choose_alternative_plan:{}}),[z,be]=D(void 0),[gt,it]=D(!1),[Se,bt]=D(!1),[ot,St]=D(null),{steps:Ce,stepsArray:he}=o(()=>Ut({includeSelectCountry:!W?.includes("select_country"),includeEligibilityQuestionnaire:gt}),[gt,W]),{fieldValues:u,stepState:e,setFieldValues:we,previousStep:Pe,nextStep:ve,goToStep:B,setStepValues:Ct}=Nt(Ce);G(()=>{ot&&(B(ot),St(null))},[ot,B]);let{data:l,isLoading:Fe,refetch:Ee}=kt({employmentId:a,queryParams:{exclude_files:!0}}),Ve=ye(),{status:L}=l||{},F=L&&Wt.includes(L),Me=L&&!$t.includes(L),Ie=o(()=>L==="invited"?"invited":"not_invited",[L]),ht=Qt(),wt=Jt(c,_),at=Zt(),Pt=Kt(),{mutateAsync:vt}=ne(at,Pt,u),Ft=re(),Et=se(),{mutateAsyncOrThrow:Oe}=b(wt),Vt=Ht(),Mt=Yt(),It=ce(),{mutateAsyncOrThrow:qe}=b(ht),{mutateAsyncOrThrow:De}=b(at),{mutateAsyncOrThrow:Le}=b(Vt),{mutateAsyncOrThrow:rt}=b(Mt),{mutateAsyncOrThrow:Ae}=b(Ft),{mutateAsyncOrThrow:Re}=b(Et),{mutateAsyncOrThrow:Be}=b(It);r&&l?.country?.code&&!c&&yt(l.country.code);let{selectCountryForm:H,isLoading:Te,countries:Ot}=le({jsfModify:_?.jsfModify?.select_country}),je=e.currentStep.name==="pricing_plan"||!!r&&F,{form:E,isLoading:xe,contractorSubscriptions:X,refetch:st,isEligibilityQuestionnaireBlocked:Y}=te(a,{jsonSchemaVersion:_?.jsonSchemaVersion,queryOptions:{enabled:je},excludeProducts:ft,jsfModify:_?.jsfModify?.pricing_plan}),A=o(()=>!!X?.find(t=>t.product.short_name==="COR")?.eligibility_questionnaire?.submitted_at,[X]);G(()=>{if(A){it(!1);return}else it(z===P)},[A,z]);let Z=o(()=>X?.find(t=>t.product.short_name==="COR")?.eligibility_questionnaire?.responses,[X]),Qe=gn[e.currentStep.name]||"contractor_basic_information",Je=bn[Qe],ke=l?.[Je]||{},Ne=s(({form:t,options:i={},query:p={}})=>{let O=Object.keys(u).length>0?{...d,...e.values?.[e.currentStep.name],...u}:{...d,...ke};return xt({countryCode:c,form:t,fieldValues:O,query:p,options:{...i,queryOptions:{enabled:i.queryOptions?.enabled??!0}}})},"useJSONSchema"),Ke=!!(c&&(e.currentStep.name==="basic_information"||r)),Ue=!!(c&&(e.currentStep.name==="contract_details"||r)),Ge=!!(c==="GBR"&&r&&e.currentStep.name==="basic_information"),{data:T,isLoading:We}=ie(r,{enabled:Ge}),{data:tt,isLoading:$e}=oe(r,{enabled:!!r});G(()=>{tt&&tt.length>0&&!v&&_t(tt[0].id)},[tt,v]);let ze=o(()=>Ot?.find(t=>t.value===c)?.label,[Ot,c]),{data:C,isLoading:He}=Ne({form:"contractor_basic_information",options:{jsfModify:me(c,ze,_),queryOptions:{enabled:Ke}}}),Xe=o(()=>Gt(l?.basic_information?.provisional_start_date,u?.service_duration?.provisional_start_date),[l?.basic_information?.provisional_start_date,u?.service_duration?.provisional_start_date]),g=o(()=>{let t={standard:R,plus:pt,cor:P};if(u.subscription)return u.subscription;let i=e.values?.pricing_plan?.subscription;return i&&!Y?i:A&&!Y?P:Y&&A?R:t[l?.contractor_type]||R},[u,e.values,A,l?.contractor_type,Y]);G(()=>{g&&g!==z&&be(g)},[g,z]);let Ye=o(()=>({...Z,...d,...e.values?.eligibility_questionnaire,...u}),[Z,d,e.values?.eligibility_questionnaire,u]),Ze=o(()=>g===P&&e.currentStep.name==="eligibility_questionnaire"||!!r&&F&&g===P,[g,e.currentStep.name,r,F]),{data:V,isLoading:tn}=ae({options:{queryOptions:{enabled:Ze},jsfModify:_?.jsfModify?.eligibility_questionnaire},fieldValues:Ye}),{form:M,isLoading:en}=ee(a,{jsfModify:_?.jsfModify?.choose_alternative_plan,queryOptions:{enabled:Se},excludeProducts:ft}),{data:h,isLoading:nn}=ue({countryCode:c,fieldValues:u,employmentId:a,options:{queryOptions:{enabled:Ue},jsfModify:de(_?.jsfModify?.contract_details,Xe,g,u)}}),on=o(()=>e.currentStep.name==="contract_preview"||!!r&&F,[e.currentStep.name,r,F]),{data:I}=zt({fieldValues:u,options:{queryOptions:{enabled:on},jsfModify:pe(_,u)}}),{data:ct,isLoading:an}=Xt({employmentId:a,contractDocumentId:v,options:{queryOptions:{enabled:!!v}}}),n=o(()=>({select_country:H?.fields||[],basic_information:C?.fields||[],pricing_plan:E?.fields||[],eligibility_questionnaire:V?.fields||[],choose_alternative_plan:M?.fields||[],contract_details:h?.fields||[],contract_preview:I?.fields||[],review:[]}),[H?.fields,C?.fields,E?.fields,h?.fields,I?.fields,V?.fields,M?.fields]),rn={select_country:null,basic_information:C?.meta["x-jsf-fieldsets"],pricing_plan:null,contract_details:h?.meta["x-jsf-fieldsets"],eligibility_questionnaire:null,choose_alternative_plan:null,contract_preview:null,review:null},{country:sn,basic_information:et={},contract_details:qt={}}=l||{},Dt=sn?.code,j=o(()=>q(n.select_country,{country:c||Dt||""}),[n.select_country,c,Dt]),lt=o(()=>T?.content?jt(T.content,T.name):null,[T?.content,T?.name]),x=o(()=>{let t={...d,...et,ir35:l?.contract_details?.ir_35,nationality_status:l?.contract_details?.nationality,...lt&&{ir35_sds_file:[lt]}};return q(n.basic_information,t)},[d,et,l?.contract_details?.ir_35,l?.contract_details?.nationality,lt,n.basic_information]),Q=o(()=>{let i={...{service_duration:{provisional_start_date:et.provisional_start_date}},...d,...qt};return q(n.contract_details,i)},[n.contract_details,qt,d,et]),J=o(()=>{let t=ct?.contract_document?.signatories?.find(p=>p.type==="company"),i={...d,signature:t?.signature};return q(n.contract_preview,i)},[n.contract_preview,d,ct]),k=o(()=>{let i={...{subscription:g},...d};return q(n.pricing_plan,i)},[n.pricing_plan,d,g]),N=o(()=>{let t={...d,...Z};return q(n.eligibility_questionnaire,t)},[n.eligibility_questionnaire,d,Z]),cn=o(()=>({select_country:j,basic_information:x,contract_details:Q,contract_preview:J,pricing_plan:k,eligibility_questionnaire:N}),[j,x,Q,J,k,N]),ut=!!(r&&F&&e.currentStep.name!=="review"),dt=Te||He||Fe||nn||xe||an||We||$e||tn||en,Lt=o(()=>!!(ut&&!dt&&v&&n.basic_information.length>0&&n.contract_details.length>0&&n.contract_preview.length>0),[ut,dt,v,n.basic_information.length,n.contract_details.length,n.contract_preview.length]);G(()=>{Lt&&($.current={select_country:w(j,n.select_country),basic_information:w(x,n.basic_information),contract_details:w(Q,n.contract_details),contract_preview:w(J,n.contract_preview),pricing_plan:w(k,n.pricing_plan),eligibility_questionnaire:w(N,n.eligibility_questionnaire),choose_alternative_plan:{}},Ct({select_country:j,basic_information:x,contract_details:Q,contract_preview:J,pricing_plan:k,eligibility_questionnaire:N,choose_alternative_plan:{},review:{}}),B("review"))},[Lt,B,j,x,Q,Ct,n.select_country,n.basic_information,n.contract_details,n.pricing_plan,k,n.contract_preview,J,n.eligibility_questionnaire,N]);let ln=s(t=>{B(t)},"goTo"),At=s(async t=>H&&e.currentStep.name==="select_country"?t:C&&e.currentStep.name==="basic_information"?await m(t,C?.fields,{isPartialValidation:!1}):h&&e.currentStep.name==="contract_details"?await m(t,h?.fields,{isPartialValidation:!1}):I&&e.currentStep.name==="contract_preview"?await m(t,I?.fields,{isPartialValidation:!1}):E&&e.currentStep.name==="pricing_plan"?await m(t,E?.fields,{isPartialValidation:!1}):V&&e.currentStep.name==="eligibility_questionnaire"?await m(t,V?.fields,{isPartialValidation:!1}):M&&e.currentStep.name==="choose_alternative_plan"?await m(t,M?.fields,{isPartialValidation:!1}):{},"parseFormValues");async function un(t){let i=e.currentStep.name;i in $.current&&($.current[i]=w(t,n[i]));let p=await At(t);switch(e.currentStep.name){case"select_country":return yt(p.country),Promise.resolve({data:{countryCode:p.country}});case"basic_information":{let f=!a&&c,O=a&&c&&l?.country&&l?.country.code!==c;if(f||O){let dn={basic_information:_e(p,"nationality_status","ir35","ir35_sds_file"),type:"contractor",country_code:c,external_id:S},Rt=await qe(dn),mt=Rt?.data?.employment?.id;if(!mt)throw U("Employment ID not found");return ge(mt),await vt({employmentId:mt}),Rt}else if(a){let K=_e(p,"nationality_status","ir35","ir35_sds_file");return await vt({employmentId:a}),Oe({employmentId:a,basic_information:K})}return}case"contract_details":{let O=await De({employmentId:a,payload:{contract_document:p}}),K=O?.data?.contract_document?.id;if(!K)throw U("Contract document ID not found");return _t(K),O}case"contract_preview":return Le({employmentId:a,contractDocumentId:v,payload:{signature:p.signature}});case"pricing_plan":{if(A&&t.subscription!==P)try{await Be({employmentId:a}),await st()}catch(f){if(f?.response?.status!==404)throw f;await st()}if(t.subscription==R)return rt({employmentId:a,payload:{operation:"downgrade"}});if(t.subscription==pt)return rt({employmentId:a,payload:{operation:"upgrade"}});if(t.subscription==P)return Promise.resolve({data:{subscription:t.subscription}});throw U("invalid selection")}case"eligibility_questionnaire":try{let f=await Ae({employmentId:a,payload:p});return f?.data?.is_blocking?(bt(!0),St("choose_alternative_plan"),{...f,_skipNextStep:!0}):await Re({employmentId:a})}finally{await st()}case"choose_alternative_plan":{let f=p.subscription;return f===R&&await rt({employmentId:a,payload:{operation:"downgrade"}}),bt(!1),Promise.resolve({data:{subscription:f}})}default:throw U("Invalid step state")}}return s(un,"onSubmit"),{isLoading:dt||ut,fieldValues:u,stepState:e,checkFieldUpdates:we,back:Pe,next:ve,goTo:ln,onSubmit:un,fields:n[e.currentStep.name],meta:{fields:$.current,fieldsets:rn[e.currentStep.name]},parseFormValues:At,handleValidation:s(async t=>{if(e.currentStep.name==="select_country")return H.handleValidation(t);if(C&&e.currentStep.name==="basic_information"){let i=await m(t,C?.fields,{isPartialValidation:!1});return C?.handleValidation(i)}if(h&&e.currentStep.name==="contract_details"){let i=await m(t,h?.fields,{isPartialValidation:!1});return h?.handleValidation(i)}if(I&&e.currentStep.name==="contract_preview"){let i=await m(t,I?.fields,{isPartialValidation:!0});return I?.handleValidation(i)}if(E&&e.currentStep.name==="pricing_plan"){let i=await m(t,E?.fields,{isPartialValidation:!1});return E?.handleValidation(i)}if(V&&e.currentStep.name==="eligibility_questionnaire"){let i=await m(t,V?.fields,{isPartialValidation:!1});return V?.handleValidation(i)}if(M&&e.currentStep.name==="choose_alternative_plan"){let i=await m(t,M?.fields);return M?.handleValidation(i)}return null},"handleValidation"),initialValues:cn,employmentId:a,refetchEmployment:Ee,isSubmitting:ht.isPending||wt.isPending||at.isPending||Vt.isPending||Mt.isPending||Pt.isPending||Ft.isPending||Et.isPending||It.isPending,documentPreviewPdf:ct,canInvite:Me,isEmploymentReadOnly:F,invitedStatus:Ie,employment:l,defaultLegalEntity:Ve,steps:he}},"useContractorOnboarding");export{$n as a};
2
+ //# sourceMappingURL=chunk-JITSAYF7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/ContractorOnboarding/hooks.tsx","../src/common/api/legal-entities.ts","../src/common/api/identity.ts"],"sourcesContent":["import { useEffect, useMemo, useRef, useState } from 'react';\nimport { FieldValues } from 'react-hook-form';\nimport omit from 'lodash.omit';\nimport { $TSFixMe, JSFFields } from '@/src/types/remoteFlows';\nimport {\n CreateContractDocument,\n Employment,\n EmploymentCreateParams,\n} from '@/src/client/types.gen';\nimport {\n getInitialValues,\n parseJSFToValidate,\n} from '@/src/components/form/utils';\nimport { ValidationResult } from '@remoteoss/remote-json-schema-form-kit';\nimport {\n useCreateContractorContractDocument,\n useGetContractDocumentSignatureSchema,\n usePostManageContractorSubscriptions,\n useContractorSubscriptionSchemaField,\n useGetShowContractDocument,\n useSignContractDocument,\n useUpdateUKandSaudiFields,\n useGetIR35File,\n useGetContractDocuments,\n useGetEligibilityQuestionnaire,\n usePostCreateEligibilityQuestionnaire,\n usePostManageContractorCorSubscription,\n useDeleteContractorCorSubscription,\n useCountriesSchemaField,\n useGetChooseAlternativePlan,\n useContractorOnboardingDetailsSchemaWithCurrencies,\n} from '@/src/flows/ContractorOnboarding/api';\nimport { ContractorOnboardingFlowProps } from '@/src/flows/ContractorOnboarding/types';\nimport {\n buildSteps,\n calculateProvisionalStartDateDescription,\n reviewStepAllowedEmploymentStatus,\n disabledInviteButtonEmploymentStatus,\n StepKeys,\n} from '@/src/flows/ContractorOnboarding/utils';\nimport {\n useCreateEmployment,\n useJSONSchemaForm,\n useUpdateEmployment,\n} from '@/src/flows/Onboarding/api';\nimport { FlowOptions, JSFModify, JSONSchemaFormType } from '@/src/flows/types';\nimport { useStepState } from '@/src/flows/useStepState';\nimport { mutationToPromise } from '@/src/lib/mutations';\nimport { createStructuredError, prettifyFormValues } from '@/src/lib/utils';\nimport { JSFFieldset, Meta } from '@/src/types/remoteFlows';\nimport {\n contractorStandardProductIdentifier,\n contractorPlusProductIdentifier,\n corProductIdentifier,\n} from '@/src/flows/ContractorOnboarding/constants';\nimport {\n buildBasicInformationJsfModify,\n buildContractDetailsJsfModify,\n buildContractPreviewJsfModify,\n} from '@/src/flows/ContractorOnboarding/jsfModify';\nimport { useUploadFile } from '@/src/common/api/files';\nimport { dataURLtoFile } from '@/src/lib/files';\nimport { useEmploymentQuery } from '@/src/common/api/employment';\nimport { useDefaultLegalEntity } from '@/src/common/api/legal-entities';\n\ntype useContractorOnboardingProps = Omit<\n ContractorOnboardingFlowProps,\n 'render'\n>;\n\nconst stepToFormSchemaMap: Record<StepKeys, JSONSchemaFormType | null> = {\n select_country: null,\n basic_information: 'employment_basic_information',\n contract_details: null,\n eligibility_questionnaire: null,\n pricing_plan: null,\n choose_alternative_plan: null,\n contract_preview: null,\n review: null,\n};\n\nconst jsonSchemaToEmployment: Partial<\n Record<JSONSchemaFormType, keyof Employment>\n> = {\n employment_basic_information: 'basic_information',\n};\n\nexport const useContractorOnboarding = ({\n countryCode,\n externalId,\n employmentId,\n skipSteps,\n options,\n initialValues: onboardingInitialValues,\n}: useContractorOnboardingProps) => {\n const excludeProducts = options?.excludeProducts || [];\n const [internalCountryCode, setInternalCountryCode] = useState<string | null>(\n countryCode || null,\n );\n const [internalEmploymentId, setInternalEmploymentId] = useState<\n string | undefined\n >(employmentId);\n const [internalContractDocumentId, setInternalContractDocumentId] = useState<\n string | undefined\n >(undefined);\n const fieldsMetaRef = useRef<{\n select_country: Meta;\n basic_information: Meta;\n contract_details: Meta;\n contract_preview: Meta;\n pricing_plan: Meta;\n eligibility_questionnaire: Meta;\n choose_alternative_plan: Meta;\n }>({\n select_country: {},\n basic_information: {},\n contract_details: {},\n contract_preview: {},\n pricing_plan: {},\n eligibility_questionnaire: {},\n choose_alternative_plan: {},\n });\n\n const [selectedProduct, setSelectedProduct] = useState<string | undefined>(\n undefined,\n );\n\n const [includeEligibilityQuestionnaire, setIncludeEligibilityQuestionnaire] =\n useState<boolean>(false);\n\n const [includeChooseAlternativePlan, setIncludeChooseAlternativePlan] =\n useState<boolean>(false);\n\n const [pendingNavigationStep, setPendingNavigationStep] =\n useState<StepKeys | null>(null);\n\n const { steps, stepsArray } = useMemo(\n () =>\n buildSteps({\n includeSelectCountry: !skipSteps?.includes('select_country'),\n includeEligibilityQuestionnaire: includeEligibilityQuestionnaire,\n }),\n [includeEligibilityQuestionnaire, skipSteps],\n );\n\n const {\n fieldValues,\n stepState,\n setFieldValues,\n previousStep,\n nextStep,\n goToStep,\n setStepValues,\n } = useStepState(steps);\n\n useEffect(() => {\n if (pendingNavigationStep) {\n // Now steps have been updated\n goToStep(pendingNavigationStep);\n setPendingNavigationStep(null);\n }\n }, [pendingNavigationStep, goToStep]);\n\n const {\n data: employment,\n isLoading: isLoadingEmployment,\n refetch: refetchEmployment,\n } = useEmploymentQuery({\n employmentId: internalEmploymentId as string,\n queryParams: { exclude_files: true },\n });\n\n const defaultLegalEntity = useDefaultLegalEntity();\n\n const { status: employmentStatus } = employment || {};\n\n const isEmploymentReadOnly =\n employmentStatus &&\n reviewStepAllowedEmploymentStatus.includes(employmentStatus);\n\n const canInvite =\n employmentStatus &&\n !disabledInviteButtonEmploymentStatus.includes(employmentStatus);\n\n const invitedStatus: 'invited' | 'not_invited' = useMemo(() => {\n const isInvited = employmentStatus === 'invited';\n\n return isInvited ? 'invited' : 'not_invited';\n }, [employmentStatus]);\n\n const createEmploymentMutation = useCreateEmployment();\n const updateEmploymentMutation = useUpdateEmployment(\n internalCountryCode as string,\n options,\n );\n const createContractorContractDocumentMutation =\n useCreateContractorContractDocument();\n const uploadFileMutation = useUploadFile();\n const { mutateAsync: updateUKandSaudiFieldsMutation } =\n useUpdateUKandSaudiFields(\n createContractorContractDocumentMutation,\n uploadFileMutation,\n fieldValues,\n );\n const createEligibilityQuestionnaireMutation =\n usePostCreateEligibilityQuestionnaire();\n const manageContractorCorSubscriptionMutation =\n usePostManageContractorCorSubscription();\n\n const { mutateAsyncOrThrow: updateEmploymentMutationAsync } =\n mutationToPromise(updateEmploymentMutation);\n const signContractDocumentMutation = useSignContractDocument();\n const manageContractorSubscriptionMutation =\n usePostManageContractorSubscriptions();\n const deleteContractorCorSubscriptionMutation =\n useDeleteContractorCorSubscription();\n\n const { mutateAsyncOrThrow: createEmploymentMutationAsync } =\n mutationToPromise(createEmploymentMutation);\n\n const { mutateAsyncOrThrow: createContractorContractDocumentMutationAsync } =\n mutationToPromise(createContractorContractDocumentMutation);\n\n const { mutateAsyncOrThrow: signContractDocumentMutationAsync } =\n mutationToPromise(signContractDocumentMutation);\n\n const { mutateAsyncOrThrow: manageContractorSubscriptionMutationAsync } =\n mutationToPromise(manageContractorSubscriptionMutation);\n\n const { mutateAsyncOrThrow: createEligibilityQuestionnaireMutationAsync } =\n mutationToPromise(createEligibilityQuestionnaireMutation);\n\n const { mutateAsyncOrThrow: manageContractorCorSubscriptionMutationAsync } =\n mutationToPromise(manageContractorCorSubscriptionMutation);\n\n const { mutateAsyncOrThrow: deleteContractorCorSubscriptionMutationAsync } =\n mutationToPromise(deleteContractorCorSubscriptionMutation);\n\n // if the employment is loaded, country code has not been set yet\n // we set the internal country code with the employment country code\n if (employmentId && employment?.country?.code && !internalCountryCode) {\n setInternalCountryCode(employment.country.code);\n }\n\n const {\n selectCountryForm,\n isLoading: isLoadingCountries,\n countries,\n } = useCountriesSchemaField({\n jsfModify: options?.jsfModify?.select_country,\n });\n\n const isPricingPlanEnabled =\n stepState.currentStep.name === 'pricing_plan' ||\n (Boolean(employmentId) && isEmploymentReadOnly);\n\n const {\n form: selectContractorSubscriptionForm,\n isLoading: isLoadingContractorSubscriptions,\n contractorSubscriptions,\n refetch: refetchContractorSubscriptions,\n isEligibilityQuestionnaireBlocked,\n } = useContractorSubscriptionSchemaField(internalEmploymentId as string, {\n jsonSchemaVersion: options?.jsonSchemaVersion,\n queryOptions: {\n enabled: isPricingPlanEnabled,\n },\n excludeProducts: excludeProducts,\n jsfModify: options?.jsfModify?.pricing_plan,\n });\n\n const hasEligibilityQuestionnaireSubmitted = useMemo(() => {\n return Boolean(\n contractorSubscriptions?.find(\n (subscription) => subscription.product.short_name === 'COR',\n )?.eligibility_questionnaire?.submitted_at,\n );\n }, [contractorSubscriptions]);\n\n useEffect(() => {\n if (hasEligibilityQuestionnaireSubmitted) {\n setIncludeEligibilityQuestionnaire(false);\n return;\n } else if (selectedProduct === corProductIdentifier) {\n setIncludeEligibilityQuestionnaire(true);\n } else {\n setIncludeEligibilityQuestionnaire(false);\n }\n }, [hasEligibilityQuestionnaireSubmitted, selectedProduct]);\n\n const eligibilityAnswers = useMemo(() => {\n return contractorSubscriptions?.find(\n (subscription) => subscription.product.short_name === 'COR',\n )?.eligibility_questionnaire?.responses;\n }, [contractorSubscriptions]);\n\n const formType =\n stepToFormSchemaMap[stepState.currentStep.name] ||\n 'contractor_basic_information';\n const employmentKey = jsonSchemaToEmployment[formType] as keyof Employment;\n const serverEmploymentData = (employment?.[employmentKey] || {}) as Record<\n string,\n unknown\n >;\n\n const useJSONSchema = ({\n form,\n options: jsonSchemaOptions = {},\n query = {},\n }: {\n form: JSONSchemaFormType;\n options?: {\n jsfModify?: JSFModify;\n queryOptions?: { enabled?: boolean };\n jsonSchemaVersion?: FlowOptions['jsonSchemaVersion'];\n };\n query?: Record<string, string>;\n }) => {\n const hasUserEnteredAnyValues = Object.keys(fieldValues).length > 0;\n // when you write on the fields, the values are stored in the fieldValues state\n // when values are stored in the stepState is when the user has navigated to the step\n // and then we have the values from the server and the onboardingInitialValues that the user can inject,\n const mergedFormValues = hasUserEnteredAnyValues\n ? {\n ...onboardingInitialValues,\n ...stepState.values?.[stepState.currentStep.name], // Restore values for the current step\n ...fieldValues,\n }\n : {\n ...onboardingInitialValues,\n ...serverEmploymentData,\n };\n\n return useJSONSchemaForm({\n countryCode: internalCountryCode as string,\n form: form,\n fieldValues: mergedFormValues,\n query,\n options: {\n ...jsonSchemaOptions,\n queryOptions: {\n enabled: jsonSchemaOptions.queryOptions?.enabled ?? true,\n },\n },\n });\n };\n\n const isBasicInformationDetailsEnabled = Boolean(\n internalCountryCode &&\n (stepState.currentStep.name === 'basic_information' ||\n Boolean(employmentId)),\n );\n\n const isContractorOnboardingDetailsEnabled = Boolean(\n internalCountryCode &&\n (stepState.currentStep.name === 'contract_details' ||\n Boolean(employmentId)),\n );\n\n const isIR35FileEnabled = Boolean(\n internalCountryCode === 'GBR' &&\n employmentId &&\n stepState.currentStep.name === 'basic_information',\n );\n\n const { data: ir35File, isLoading: isLoadingIR35File } = useGetIR35File(\n employmentId as string,\n {\n enabled: isIR35FileEnabled,\n },\n );\n\n const { data: contractDocuments, isLoading: isLoadingContractDocuments } =\n useGetContractDocuments(employmentId as string, {\n enabled: Boolean(employmentId),\n });\n\n useEffect(() => {\n if (\n contractDocuments &&\n contractDocuments.length > 0 &&\n !internalContractDocumentId\n ) {\n setInternalContractDocumentId(contractDocuments[0].id);\n }\n }, [contractDocuments, internalContractDocumentId]);\n\n const countryName = useMemo(() => {\n return countries?.find((country) => country.value === internalCountryCode)\n ?.label;\n }, [countries, internalCountryCode]);\n\n const {\n data: basicInformationForm,\n isLoading: isLoadingBasicInformationForm,\n } = useJSONSchema({\n form: 'contractor_basic_information',\n options: {\n jsfModify: buildBasicInformationJsfModify(\n internalCountryCode as string,\n countryName,\n options,\n ),\n queryOptions: {\n enabled: isBasicInformationDetailsEnabled,\n },\n },\n });\n\n const descriptionProvisionalStartDate = useMemo(() => {\n return calculateProvisionalStartDateDescription(\n employment?.basic_information?.provisional_start_date as string,\n fieldValues?.service_duration?.provisional_start_date as string,\n );\n }, [\n employment?.basic_information?.provisional_start_date,\n fieldValues?.service_duration?.provisional_start_date,\n ]);\n\n /**\n * When the user selects COR, the data isn't saved yet in the BE\n * We need to use the internalState to know what has happened\n */\n const selectedPricingPlan = useMemo(() => {\n const subscriptions = {\n standard: contractorStandardProductIdentifier,\n plus: contractorPlusProductIdentifier,\n cor: corProductIdentifier,\n };\n\n // HIGHEST PRIORITY: Current form value (user is actively selecting)\n if (fieldValues.subscription) {\n return fieldValues.subscription;\n }\n\n // SECOND: Previously submitted value in this session\n const subscription = stepState.values?.pricing_plan?.subscription;\n if (subscription && !isEligibilityQuestionnaireBlocked) {\n return subscription;\n }\n\n // THIRD: Backend state (eligibility submitted or employment contractor_type)\n if (\n hasEligibilityQuestionnaireSubmitted &&\n !isEligibilityQuestionnaireBlocked\n ) {\n return corProductIdentifier;\n }\n\n // Fourth: If the eligibility questionnaire is blocked and has been submitted, return the standard product\n if (\n isEligibilityQuestionnaireBlocked &&\n hasEligibilityQuestionnaireSubmitted\n ) {\n return contractorStandardProductIdentifier;\n }\n\n // FALLBACK: Employment contractor_type or default\n return (\n subscriptions[\n employment?.contractor_type as keyof typeof subscriptions\n ] || contractorStandardProductIdentifier\n );\n }, [\n fieldValues,\n stepState.values,\n hasEligibilityQuestionnaireSubmitted,\n employment?.contractor_type,\n isEligibilityQuestionnaireBlocked,\n ]);\n\n useEffect(() => {\n if (selectedPricingPlan && selectedPricingPlan !== selectedProduct) {\n setSelectedProduct(selectedPricingPlan);\n }\n }, [selectedPricingPlan, selectedProduct]);\n\n const eligibilityFields = useMemo(() => {\n return {\n ...eligibilityAnswers,\n ...onboardingInitialValues,\n ...stepState.values?.eligibility_questionnaire,\n ...fieldValues,\n };\n }, [\n eligibilityAnswers,\n onboardingInitialValues,\n stepState.values?.eligibility_questionnaire,\n fieldValues,\n ]);\n\n const isEligibilityQuestionnaireEnabled = useMemo(() => {\n return (\n (selectedPricingPlan === corProductIdentifier &&\n stepState.currentStep.name === 'eligibility_questionnaire') ||\n (Boolean(employmentId) &&\n isEmploymentReadOnly &&\n selectedPricingPlan === corProductIdentifier)\n );\n }, [\n selectedPricingPlan,\n stepState.currentStep.name,\n employmentId,\n isEmploymentReadOnly,\n ]);\n\n const {\n data: eligibilityQuestionnaireForm,\n isLoading: isLoadingEligibilityQuestionnaire,\n } = useGetEligibilityQuestionnaire({\n options: {\n queryOptions: {\n enabled: isEligibilityQuestionnaireEnabled,\n },\n jsfModify: options?.jsfModify?.eligibility_questionnaire,\n },\n fieldValues: eligibilityFields,\n });\n\n const {\n form: chooseAlternativePlanForm,\n isLoading: isLoadingChooseAlternativePlan,\n } = useGetChooseAlternativePlan(internalEmploymentId as string, {\n jsfModify: options?.jsfModify?.choose_alternative_plan,\n queryOptions: {\n enabled: includeChooseAlternativePlan,\n },\n excludeProducts: excludeProducts,\n });\n\n const {\n data: contractorOnboardingDetailsForm,\n isLoading: isLoadingContractorOnboardingDetailsForm,\n } = useContractorOnboardingDetailsSchemaWithCurrencies({\n countryCode: internalCountryCode as string,\n fieldValues: fieldValues,\n employmentId: internalEmploymentId as string,\n options: {\n queryOptions: {\n enabled: isContractorOnboardingDetailsEnabled,\n },\n jsfModify: buildContractDetailsJsfModify(\n options?.jsfModify?.contract_details,\n descriptionProvisionalStartDate,\n selectedPricingPlan,\n fieldValues,\n ),\n },\n });\n\n const isSignatureSchemaEnabled = useMemo(() => {\n return (\n stepState.currentStep.name === 'contract_preview' ||\n (Boolean(employmentId) && isEmploymentReadOnly)\n );\n }, [stepState.currentStep.name, employmentId, isEmploymentReadOnly]);\n\n const { data: signatureSchemaForm } = useGetContractDocumentSignatureSchema({\n fieldValues: fieldValues,\n options: {\n queryOptions: {\n enabled: isSignatureSchemaEnabled,\n },\n jsfModify: buildContractPreviewJsfModify(options, fieldValues),\n },\n });\n\n const { data: documentPreviewPdf, isLoading: isLoadingDocumentPreviewForm } =\n useGetShowContractDocument({\n employmentId: internalEmploymentId as string,\n contractDocumentId: internalContractDocumentId as string,\n options: {\n queryOptions: {\n enabled: Boolean(internalContractDocumentId),\n },\n },\n });\n\n const stepFields: Record<StepKeys, JSFFields> = useMemo(\n () => ({\n select_country: selectCountryForm?.fields || [],\n basic_information: basicInformationForm?.fields || [],\n pricing_plan: selectContractorSubscriptionForm?.fields || [],\n eligibility_questionnaire: eligibilityQuestionnaireForm?.fields || [],\n choose_alternative_plan: chooseAlternativePlanForm?.fields || [],\n contract_details: contractorOnboardingDetailsForm?.fields || [],\n contract_preview: signatureSchemaForm?.fields || [],\n review: [],\n }),\n [\n selectCountryForm?.fields,\n basicInformationForm?.fields,\n selectContractorSubscriptionForm?.fields,\n contractorOnboardingDetailsForm?.fields,\n signatureSchemaForm?.fields,\n eligibilityQuestionnaireForm?.fields,\n chooseAlternativePlanForm?.fields,\n ],\n );\n\n const stepFieldsWithFlatFieldsets: Record<\n StepKeys,\n JSFFieldset | null | undefined\n > = {\n select_country: null,\n basic_information: basicInformationForm?.meta['x-jsf-fieldsets'],\n pricing_plan: null,\n contract_details: contractorOnboardingDetailsForm?.meta['x-jsf-fieldsets'],\n eligibility_questionnaire: null,\n choose_alternative_plan: null,\n contract_preview: null,\n review: null,\n };\n\n const {\n country,\n basic_information: employmentBasicInformation = {},\n contract_details: employmentContractDetails = {},\n } = employment || {};\n\n const employmentCountryCode = country?.code;\n\n const selectCountryInitialValues = useMemo(\n () =>\n getInitialValues(stepFields.select_country, {\n country: internalCountryCode || employmentCountryCode || '',\n }),\n [stepFields.select_country, internalCountryCode, employmentCountryCode],\n );\n\n // memoize file conversion to avoid re-converting the file on every render\n // noticed performance issues when not doing memoizing individually\n const convertedIr35File = useMemo(() => {\n if (!ir35File?.content) return null;\n return dataURLtoFile(ir35File.content as unknown as string, ir35File.name);\n }, [ir35File?.content, ir35File?.name]);\n\n const basicInformationInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...employmentBasicInformation,\n ir35: employment?.contract_details?.ir_35,\n nationality_status: employment?.contract_details?.nationality,\n ...(convertedIr35File && {\n ir35_sds_file: [convertedIr35File],\n }),\n };\n\n return getInitialValues(stepFields.basic_information, initialValues);\n }, [\n onboardingInitialValues,\n employmentBasicInformation,\n employment?.contract_details?.ir_35,\n employment?.contract_details?.nationality,\n convertedIr35File,\n stepFields.basic_information,\n ]);\n\n const contractDetailsInitialValues = useMemo(() => {\n const hardcodedValues = {\n service_duration: {\n provisional_start_date:\n employmentBasicInformation.provisional_start_date,\n },\n };\n const initialValues = {\n ...hardcodedValues,\n ...onboardingInitialValues,\n ...employmentContractDetails,\n };\n\n return getInitialValues(stepFields.contract_details, initialValues);\n }, [\n stepFields.contract_details,\n employmentContractDetails,\n onboardingInitialValues,\n employmentBasicInformation,\n ]);\n\n const contractPreviewInitialValues = useMemo(() => {\n const signature = documentPreviewPdf?.contract_document?.signatories?.find(\n (signatory) => signatory.type === 'company',\n );\n const initialValues = {\n ...onboardingInitialValues,\n signature: signature?.signature,\n };\n\n return getInitialValues(stepFields.contract_preview, initialValues);\n }, [\n stepFields.contract_preview,\n onboardingInitialValues,\n documentPreviewPdf,\n ]);\n\n const pricingPlanInitialValues = useMemo(() => {\n const preselectedPricingPlan = {\n subscription: selectedPricingPlan,\n };\n const initialValues = {\n ...preselectedPricingPlan,\n ...onboardingInitialValues,\n };\n\n return getInitialValues(stepFields.pricing_plan, initialValues);\n }, [stepFields.pricing_plan, onboardingInitialValues, selectedPricingPlan]);\n\n const eligibilityQuestionnaireInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...eligibilityAnswers,\n };\n return getInitialValues(\n stepFields.eligibility_questionnaire,\n initialValues,\n );\n }, [\n stepFields.eligibility_questionnaire,\n onboardingInitialValues,\n eligibilityAnswers,\n ]);\n\n const initialValues = useMemo(() => {\n return {\n select_country: selectCountryInitialValues,\n basic_information: basicInformationInitialValues,\n contract_details: contractDetailsInitialValues,\n contract_preview: contractPreviewInitialValues,\n pricing_plan: pricingPlanInitialValues,\n eligibility_questionnaire: eligibilityQuestionnaireInitialValues,\n };\n }, [\n selectCountryInitialValues,\n basicInformationInitialValues,\n contractDetailsInitialValues,\n contractPreviewInitialValues,\n pricingPlanInitialValues,\n eligibilityQuestionnaireInitialValues,\n ]);\n\n const shouldHandleReadOnlyEmployment = Boolean(\n employmentId &&\n isEmploymentReadOnly &&\n stepState.currentStep.name !== 'review',\n );\n\n const initialLoading =\n isLoadingCountries ||\n isLoadingBasicInformationForm ||\n isLoadingEmployment ||\n isLoadingContractorOnboardingDetailsForm ||\n isLoadingContractorSubscriptions ||\n isLoadingDocumentPreviewForm ||\n isLoadingIR35File ||\n isLoadingContractDocuments ||\n isLoadingEligibilityQuestionnaire ||\n isLoadingChooseAlternativePlan;\n\n const isNavigatingToReview = useMemo(() => {\n return Boolean(\n shouldHandleReadOnlyEmployment &&\n !initialLoading &&\n Boolean(internalContractDocumentId) &&\n stepFields.basic_information.length > 0 &&\n stepFields.contract_details.length > 0 &&\n stepFields.contract_preview.length > 0,\n );\n }, [\n shouldHandleReadOnlyEmployment,\n initialLoading,\n internalContractDocumentId,\n stepFields.basic_information.length,\n stepFields.contract_details.length,\n stepFields.contract_preview.length,\n ]);\n\n useEffect(() => {\n if (isNavigatingToReview) {\n fieldsMetaRef.current = {\n select_country: prettifyFormValues(\n selectCountryInitialValues,\n stepFields.select_country,\n ),\n basic_information: prettifyFormValues(\n basicInformationInitialValues,\n stepFields.basic_information,\n ),\n contract_details: prettifyFormValues(\n contractDetailsInitialValues,\n stepFields.contract_details,\n ),\n contract_preview: prettifyFormValues(\n contractPreviewInitialValues,\n stepFields.contract_preview,\n ),\n pricing_plan: prettifyFormValues(\n pricingPlanInitialValues,\n stepFields.pricing_plan,\n ),\n eligibility_questionnaire: prettifyFormValues(\n eligibilityQuestionnaireInitialValues,\n stepFields.eligibility_questionnaire,\n ),\n // we don't need to tell the user about this values\n choose_alternative_plan: {},\n };\n\n setStepValues({\n select_country: selectCountryInitialValues,\n basic_information: basicInformationInitialValues,\n contract_details: contractDetailsInitialValues,\n contract_preview: contractPreviewInitialValues,\n pricing_plan: pricingPlanInitialValues,\n eligibility_questionnaire: eligibilityQuestionnaireInitialValues,\n choose_alternative_plan: {},\n review: {},\n });\n goToStep('review');\n }\n }, [\n isNavigatingToReview,\n goToStep,\n selectCountryInitialValues,\n basicInformationInitialValues,\n contractDetailsInitialValues,\n setStepValues,\n stepFields.select_country,\n stepFields.basic_information,\n stepFields.contract_details,\n stepFields.pricing_plan,\n pricingPlanInitialValues,\n stepFields.contract_preview,\n contractPreviewInitialValues,\n stepFields.eligibility_questionnaire,\n eligibilityQuestionnaireInitialValues,\n ]);\n\n const goTo = (step: StepKeys) => {\n goToStep(step);\n };\n\n const parseFormValues = async (values: FieldValues) => {\n if (selectCountryForm && stepState.currentStep.name === 'select_country') {\n return values;\n }\n\n if (\n basicInformationForm &&\n stepState.currentStep.name === 'basic_information'\n ) {\n return await parseJSFToValidate(values, basicInformationForm?.fields, {\n isPartialValidation: false,\n });\n }\n\n if (\n contractorOnboardingDetailsForm &&\n stepState.currentStep.name === 'contract_details'\n ) {\n return await parseJSFToValidate(\n values,\n contractorOnboardingDetailsForm?.fields,\n {\n isPartialValidation: false,\n },\n );\n }\n\n if (\n signatureSchemaForm &&\n stepState.currentStep.name === 'contract_preview'\n ) {\n return await parseJSFToValidate(values, signatureSchemaForm?.fields, {\n isPartialValidation: false,\n });\n }\n\n if (\n selectContractorSubscriptionForm &&\n stepState.currentStep.name === 'pricing_plan'\n ) {\n return await parseJSFToValidate(\n values,\n selectContractorSubscriptionForm?.fields,\n {\n isPartialValidation: false,\n },\n );\n }\n\n if (\n eligibilityQuestionnaireForm &&\n stepState.currentStep.name === 'eligibility_questionnaire'\n ) {\n return await parseJSFToValidate(\n values,\n eligibilityQuestionnaireForm?.fields,\n {\n isPartialValidation: false,\n },\n );\n }\n\n if (\n chooseAlternativePlanForm &&\n stepState.currentStep.name === 'choose_alternative_plan'\n ) {\n return await parseJSFToValidate(\n values,\n chooseAlternativePlanForm?.fields,\n {\n isPartialValidation: false,\n },\n );\n }\n\n return {};\n };\n\n async function onSubmit(values: FieldValues) {\n const currentStepName = stepState.currentStep.name;\n if (currentStepName in fieldsMetaRef.current) {\n fieldsMetaRef.current[\n currentStepName as keyof typeof fieldsMetaRef.current\n ] = prettifyFormValues(values, stepFields[currentStepName]);\n }\n const parsedValues = await parseFormValues(values);\n switch (stepState.currentStep.name) {\n case 'select_country': {\n setInternalCountryCode(parsedValues.country);\n return Promise.resolve({ data: { countryCode: parsedValues.country } });\n }\n case 'basic_information': {\n const isEmploymentNotLoaded =\n !internalEmploymentId && internalCountryCode;\n const hasChangedCountry =\n internalEmploymentId &&\n internalCountryCode &&\n employment?.country &&\n employment?.country.code !== internalCountryCode;\n\n if (isEmploymentNotLoaded || hasChangedCountry) {\n const basicInformationParsedValues = omit(\n parsedValues,\n 'nationality_status',\n 'ir35',\n 'ir35_sds_file',\n );\n const basicInformationPayload: EmploymentCreateParams = {\n basic_information: basicInformationParsedValues,\n type: 'contractor',\n country_code: internalCountryCode,\n external_id: externalId,\n };\n const response = await createEmploymentMutationAsync(\n basicInformationPayload,\n );\n const employmentId = response?.data?.employment?.id;\n if (!employmentId) {\n throw createStructuredError('Employment ID not found');\n }\n\n setInternalEmploymentId(employmentId);\n await updateUKandSaudiFieldsMutation({\n employmentId: employmentId as string,\n });\n\n return response;\n } else if (internalEmploymentId) {\n const basicInformationParsedValues = omit(\n parsedValues,\n 'nationality_status',\n 'ir35',\n 'ir35_sds_file',\n );\n\n await updateUKandSaudiFieldsMutation({\n employmentId: internalEmploymentId,\n });\n return updateEmploymentMutationAsync({\n employmentId: internalEmploymentId,\n basic_information: basicInformationParsedValues,\n });\n }\n\n return;\n }\n case 'contract_details': {\n const payload: CreateContractDocument = {\n contract_document: parsedValues,\n };\n const response = await createContractorContractDocumentMutationAsync({\n employmentId: internalEmploymentId as string,\n payload,\n });\n const contractDocumentId = response?.data?.contract_document?.id;\n if (!contractDocumentId) {\n throw createStructuredError('Contract document ID not found');\n }\n setInternalContractDocumentId(contractDocumentId);\n return response;\n }\n\n case 'contract_preview': {\n return signContractDocumentMutationAsync({\n employmentId: internalEmploymentId as string,\n contractDocumentId: internalContractDocumentId as string,\n payload: {\n signature: parsedValues.signature,\n },\n });\n }\n case 'pricing_plan': {\n if (\n hasEligibilityQuestionnaireSubmitted &&\n values.subscription !== corProductIdentifier\n ) {\n try {\n await deleteContractorCorSubscriptionMutationAsync({\n employmentId: internalEmploymentId as string,\n });\n await refetchContractorSubscriptions();\n } catch (error) {\n if ((error as $TSFixMe)?.response?.status !== 404) {\n throw error;\n }\n // Still refetch to update the UI state\n await refetchContractorSubscriptions();\n }\n }\n\n if (values.subscription == contractorStandardProductIdentifier) {\n return manageContractorSubscriptionMutationAsync({\n employmentId: internalEmploymentId as string,\n payload: {\n operation: 'downgrade',\n },\n });\n } else if (values.subscription == contractorPlusProductIdentifier) {\n return manageContractorSubscriptionMutationAsync({\n employmentId: internalEmploymentId as string,\n payload: {\n operation: 'upgrade',\n },\n });\n } else if (values.subscription == corProductIdentifier) {\n return Promise.resolve({\n data: { subscription: values.subscription },\n });\n }\n\n throw createStructuredError('invalid selection');\n }\n\n case 'eligibility_questionnaire': {\n try {\n const response = await createEligibilityQuestionnaireMutationAsync({\n employmentId: internalEmploymentId as string,\n payload: parsedValues,\n });\n\n const isEligibilityQuestionnaireBlocked = response?.data?.is_blocking;\n\n if (isEligibilityQuestionnaireBlocked) {\n setIncludeChooseAlternativePlan(true);\n setPendingNavigationStep('choose_alternative_plan');\n return { ...response, _skipNextStep: true };\n }\n\n return await manageContractorCorSubscriptionMutationAsync({\n employmentId: internalEmploymentId as string,\n });\n } finally {\n // Always refetch to keep state in sync, even on error\n await refetchContractorSubscriptions();\n }\n }\n\n case 'choose_alternative_plan': {\n const subscription = parsedValues.subscription;\n\n if (subscription === contractorStandardProductIdentifier) {\n await manageContractorSubscriptionMutationAsync({\n employmentId: internalEmploymentId as string,\n payload: {\n operation: 'downgrade',\n },\n });\n }\n\n setIncludeChooseAlternativePlan(false);\n\n return Promise.resolve({\n data: { subscription },\n });\n }\n\n default: {\n throw createStructuredError('Invalid step state');\n }\n }\n }\n\n const isLoading = initialLoading || shouldHandleReadOnlyEmployment;\n\n return {\n /**\n * Loading state indicating if the flow is loading data\n */\n isLoading,\n\n /**\n * Current state of the form fields for the current step.\n */\n fieldValues,\n\n /**\n * Current step state containing the current step and total number of steps\n */\n stepState,\n\n /**\n * Function to update the current form field values\n * @param values - New form values to set\n */\n checkFieldUpdates: setFieldValues,\n\n /**\n * Function to handle going back to the previous step\n * @returns {void}\n */\n back: previousStep,\n\n /**\n * Function to handle going to the next step\n * @returns {void}\n */\n next: nextStep,\n\n /**\n * Function to handle going to a specific step\n * @param step The step to go to.\n * @returns {void}\n */\n goTo: goTo,\n\n /**\n * Function to handle form submission\n * @param values - Form values to submit\n * @returns Promise resolving to the mutation result\n */\n onSubmit,\n\n /**\n * Array of form fields from the onboarding schema\n */\n fields: stepFields[stepState.currentStep.name],\n\n /**\n * Fields metadata for each step\n */\n meta: {\n fields: fieldsMetaRef.current,\n fieldsets: stepFieldsWithFlatFieldsets[stepState.currentStep.name],\n },\n\n /**\n * Function to parse form values before submission\n * @param values - Form values to parse\n * @returns Parsed form values\n */\n parseFormValues,\n\n /**\n * Function to validate form values against the onboarding schema\n * @param values - Form values to validate\n * @returns Validation result or null if no schema is available\n */\n handleValidation: async (\n values: FieldValues,\n ): Promise<ValidationResult | null> => {\n if (stepState.currentStep.name === 'select_country') {\n return selectCountryForm.handleValidation(values);\n }\n\n if (\n basicInformationForm &&\n stepState.currentStep.name === 'basic_information'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n basicInformationForm?.fields,\n { isPartialValidation: false },\n );\n return basicInformationForm?.handleValidation(parsedValues);\n }\n\n if (\n contractorOnboardingDetailsForm &&\n stepState.currentStep.name === 'contract_details'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n contractorOnboardingDetailsForm?.fields,\n { isPartialValidation: false },\n );\n return contractorOnboardingDetailsForm?.handleValidation(parsedValues);\n }\n\n if (\n signatureSchemaForm &&\n stepState.currentStep.name === 'contract_preview'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n signatureSchemaForm?.fields,\n { isPartialValidation: true },\n );\n return signatureSchemaForm?.handleValidation(parsedValues);\n }\n\n if (\n selectContractorSubscriptionForm &&\n stepState.currentStep.name === 'pricing_plan'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n selectContractorSubscriptionForm?.fields,\n { isPartialValidation: false },\n );\n return selectContractorSubscriptionForm?.handleValidation(parsedValues);\n }\n\n if (\n eligibilityQuestionnaireForm &&\n stepState.currentStep.name === 'eligibility_questionnaire'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n eligibilityQuestionnaireForm?.fields,\n { isPartialValidation: false },\n );\n return eligibilityQuestionnaireForm?.handleValidation(parsedValues);\n }\n\n if (\n chooseAlternativePlanForm &&\n stepState.currentStep.name === 'choose_alternative_plan'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n chooseAlternativePlanForm?.fields,\n );\n return chooseAlternativePlanForm?.handleValidation(parsedValues);\n }\n\n return null;\n },\n\n /**\n * Initial form values\n */\n initialValues,\n\n /**\n * Employment id\n */\n employmentId: internalEmploymentId,\n\n /**\n * Function to refetch the employment data\n * @returns {void}\n */\n refetchEmployment: refetchEmployment,\n\n /**\n * Loading state indicating if the onboarding mutation is in progress\n */\n isSubmitting:\n createEmploymentMutation.isPending ||\n updateEmploymentMutation.isPending ||\n createContractorContractDocumentMutation.isPending ||\n signContractDocumentMutation.isPending ||\n manageContractorSubscriptionMutation.isPending ||\n uploadFileMutation.isPending ||\n createEligibilityQuestionnaireMutation.isPending ||\n manageContractorCorSubscriptionMutation.isPending ||\n deleteContractorCorSubscriptionMutation.isPending,\n\n /**\n * Document preview PDF data\n */\n documentPreviewPdf,\n\n /**\n * let's the user know if the company can invite employees\n * @returns {boolean}\n */\n canInvite,\n\n /**\n * let's the user know that the employment cannot be edited, happens when employment.status is invited\n * @returns {boolean}\n */\n isEmploymentReadOnly,\n /**\n * let's the user know if the employment is invited or not\n * @returns {'invited' | 'not_invited'}\n */\n invitedStatus,\n\n /**\n * Employment data\n * @returns {Employment}\n */\n employment,\n\n /**\n * Default legal entity\n * @returns {CompanyLegalEntity}\n */\n defaultLegalEntity,\n /**\n * Steps array\n * @returns {Array<{name: string, index: number, label: string}>}\n */\n steps: stepsArray,\n };\n};\n","import { useQuery } from '@tanstack/react-query';\nimport {\n getIndexCompanyLegalEntities,\n IdentityCurrentResponse,\n} from '@/src/client';\nimport { Client } from '@/src/client/client';\nimport { useClient } from '@/src/context';\nimport { useIdentity } from '@/src/common/api/identity';\n\nfunction hasCompany(\n identity: IdentityCurrentResponse['data'] | undefined,\n): identity is Extract<\n IdentityCurrentResponse['data'],\n { company: { id: string } }\n> {\n return identity != null && 'company' in identity;\n}\n\n/**\n * Hook to get the legal entities for a company\n * @param companyId - The company ID\n * @returns The legal entities\n */\nexport const useLegalEntities = () => {\n const { client } = useClient();\n const { data: identity } = useIdentity();\n const companyId = hasCompany(identity) ? (identity?.company?.id ?? '') : '';\n\n return useQuery({\n queryKey: ['legal-entities', companyId],\n queryFn: () =>\n getIndexCompanyLegalEntities({\n client: client as Client,\n path: {\n company_id: companyId,\n },\n }),\n select: (data) => data.data?.data?.legal_entities,\n enabled: !!companyId,\n });\n};\n\nexport const useDefaultLegalEntity = () => {\n const { data: legalEntities } = useLegalEntities();\n return legalEntities?.find((legalEntity) => legalEntity.is_default);\n};\n","import { useQuery } from '@tanstack/react-query';\nimport { getCurrentIdentity } from '@/src/client';\nimport { useClient } from '@/src/context';\nimport { Client } from '@/src/client/client';\n\nexport const useIdentity = () => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['identity'],\n queryFn: () =>\n getCurrentIdentity({\n client: client as Client,\n headers: { Authorization: `` },\n }),\n select: (data) => data.data?.data,\n });\n};\n"],"mappings":"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","names":["useEffect","useMemo","useRef","useState","omit","useQuery","useQuery","useIdentity","__name","client","useClient","useQuery","getCurrentIdentity","data","hasCompany","identity","__name","useLegalEntities","client","useClient","useIdentity","companyId","useQuery","getIndexCompanyLegalEntities","data","useDefaultLegalEntity","legalEntities","legalEntity","stepToFormSchemaMap","jsonSchemaToEmployment","useContractorOnboarding","__name","countryCode","externalId","employmentId","skipSteps","options","onboardingInitialValues","excludeProducts","internalCountryCode","setInternalCountryCode","useState","internalEmploymentId","setInternalEmploymentId","internalContractDocumentId","setInternalContractDocumentId","fieldsMetaRef","useRef","selectedProduct","setSelectedProduct","includeEligibilityQuestionnaire","setIncludeEligibilityQuestionnaire","includeChooseAlternativePlan","setIncludeChooseAlternativePlan","pendingNavigationStep","setPendingNavigationStep","steps","stepsArray","useMemo","buildSteps","fieldValues","stepState","setFieldValues","previousStep","nextStep","goToStep","setStepValues","useStepState","useEffect","employment","isLoadingEmployment","refetchEmployment","useEmploymentQuery","defaultLegalEntity","useDefaultLegalEntity","employmentStatus","isEmploymentReadOnly","reviewStepAllowedEmploymentStatus","canInvite","disabledInviteButtonEmploymentStatus","invitedStatus","createEmploymentMutation","useCreateEmployment","updateEmploymentMutation","useUpdateEmployment","createContractorContractDocumentMutation","useCreateContractorContractDocument","uploadFileMutation","useUploadFile","updateUKandSaudiFieldsMutation","useUpdateUKandSaudiFields","createEligibilityQuestionnaireMutation","usePostCreateEligibilityQuestionnaire","manageContractorCorSubscriptionMutation","usePostManageContractorCorSubscription","updateEmploymentMutationAsync","mutationToPromise","signContractDocumentMutation","useSignContractDocument","manageContractorSubscriptionMutation","usePostManageContractorSubscriptions","deleteContractorCorSubscriptionMutation","useDeleteContractorCorSubscription","createEmploymentMutationAsync","createContractorContractDocumentMutationAsync","signContractDocumentMutationAsync","manageContractorSubscriptionMutationAsync","createEligibilityQuestionnaireMutationAsync","manageContractorCorSubscriptionMutationAsync","deleteContractorCorSubscriptionMutationAsync","selectCountryForm","isLoadingCountries","countries","useCountriesSchemaField","isPricingPlanEnabled","selectContractorSubscriptionForm","isLoadingContractorSubscriptions","contractorSubscriptions","refetchContractorSubscriptions","isEligibilityQuestionnaireBlocked","useContractorSubscriptionSchemaField","hasEligibilityQuestionnaireSubmitted","subscription","corProductIdentifier","eligibilityAnswers","formType","employmentKey","serverEmploymentData","useJSONSchema","form","jsonSchemaOptions","query","mergedFormValues","useJSONSchemaForm","isBasicInformationDetailsEnabled","isContractorOnboardingDetailsEnabled","isIR35FileEnabled","ir35File","isLoadingIR35File","useGetIR35File","contractDocuments","isLoadingContractDocuments","useGetContractDocuments","countryName","country","basicInformationForm","isLoadingBasicInformationForm","buildBasicInformationJsfModify","descriptionProvisionalStartDate","calculateProvisionalStartDateDescription","selectedPricingPlan","subscriptions","contractorStandardProductIdentifier","contractorPlusProductIdentifier","eligibilityFields","isEligibilityQuestionnaireEnabled","eligibilityQuestionnaireForm","isLoadingEligibilityQuestionnaire","useGetEligibilityQuestionnaire","chooseAlternativePlanForm","isLoadingChooseAlternativePlan","useGetChooseAlternativePlan","contractorOnboardingDetailsForm","isLoadingContractorOnboardingDetailsForm","useContractorOnboardingDetailsSchemaWithCurrencies","buildContractDetailsJsfModify","isSignatureSchemaEnabled","signatureSchemaForm","useGetContractDocumentSignatureSchema","buildContractPreviewJsfModify","documentPreviewPdf","isLoadingDocumentPreviewForm","useGetShowContractDocument","stepFields","stepFieldsWithFlatFieldsets","employmentBasicInformation","employmentContractDetails","employmentCountryCode","selectCountryInitialValues","getInitialValues","convertedIr35File","dataURLtoFile","basicInformationInitialValues","initialValues","contractDetailsInitialValues","contractPreviewInitialValues","signature","signatory","pricingPlanInitialValues","eligibilityQuestionnaireInitialValues","shouldHandleReadOnlyEmployment","initialLoading","isNavigatingToReview","prettifyFormValues","goTo","step","parseFormValues","values","parseJSFToValidate","onSubmit","currentStepName","parsedValues","isEmploymentNotLoaded","hasChangedCountry","basicInformationPayload","omit","response","createStructuredError","basicInformationParsedValues","contractDocumentId","error"]}
@@ -1,2 +1,2 @@
1
- import{a as d}from"./chunk-GVK4VLLD.js";import{a as c}from"./chunk-2PUPF2EN.js";import{b as s}from"./chunk-Q3ALCPJN.js";import{c as l}from"./chunk-SATHKK5B.js";import{j as e}from"./chunk-3PIJOIYR.js";import{a}from"./chunk-P37U34EQ.js";import{jsx as m,jsxs as g}from"react/jsx-runtime";function O({onSubmit:p,onSuccess:u,onError:S}){let{contractorOnboardingBag:r}=s(),C=a(async n=>{try{let t=await r.parseFormValues(n);await p?.(t);let o=await r.onSubmit(n);if(o?.data){await u?.(o?.data),r?.next();return}}catch(t){let o=e(t,r.meta?.fields?.contract_details);S?.(o)}},"handleSubmit"),f=r.stepState.values?.contract_details||r.initialValues.contract_details,i=r.stepState.values?.pricing_plan?.subscription,b=l(i);return g("div",{className:"space-y-4",children:[m(c,{defaultValues:f,onSubmit:C}),b&&m(d,{subscription:i})]})}a(O,"ContractDetailsStep");export{O as a};
2
- //# sourceMappingURL=chunk-L5VZ3XT7.js.map
1
+ import{a as d}from"./chunk-EPLPD54O.js";import{a as c}from"./chunk-S63QGDMR.js";import{b as s}from"./chunk-Q3ALCPJN.js";import{c as l}from"./chunk-3FCX7SWN.js";import{j as e}from"./chunk-3PIJOIYR.js";import{a}from"./chunk-P37U34EQ.js";import{jsx as m,jsxs as g}from"react/jsx-runtime";function O({onSubmit:p,onSuccess:u,onError:S}){let{contractorOnboardingBag:r}=s(),C=a(async n=>{try{let t=await r.parseFormValues(n);await p?.(t);let o=await r.onSubmit(n);if(o?.data){await u?.(o?.data),r?.next();return}}catch(t){let o=e(t,r.meta?.fields?.contract_details);S?.(o)}},"handleSubmit"),f=r.stepState.values?.contract_details||r.initialValues.contract_details,i=r.stepState.values?.pricing_plan?.subscription,b=l(i);return g("div",{className:"space-y-4",children:[m(c,{defaultValues:f,onSubmit:C}),b&&m(d,{subscription:i})]})}a(O,"ContractDetailsStep");export{O as a};
2
+ //# sourceMappingURL=chunk-JXXZH6KH.js.map