@remoteoss/remote-flows 1.44.0 → 1.46.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ButtonDefault-HBOULH5V.js +2 -0
- package/dist/CheckboxFieldDefault-62URAHJV.js +2 -0
- package/dist/CountryFieldDefault-24NNZN2C.js +2 -0
- package/dist/DatePickerFieldDefault-NMUCZ4U2.js +2 -0
- package/dist/DrawerDefault-O7NUFWJ4.js +2 -0
- package/dist/EmailFieldDefault-7USH7I6B.js +2 -0
- package/dist/FieldsetToggleButtonDefault-MIRCZJKA.js +2 -0
- package/dist/FileUploadFieldDefault-4NW5VLF6.js +2 -0
- package/dist/MultiSelectFieldDefault-S45Z53ZY.js +2 -0
- package/dist/NumberFieldDefault-P7TLA6SH.js +2 -0
- package/dist/RadioGroupFieldDefault-X44FYUA3.js +2 -0
- package/dist/SelectFieldDefault-PLDXHTQY.js +2 -0
- package/dist/StatementDefault-RDC5G24K.js +2 -0
- package/dist/TableFieldDefault-ES7OIYX5.js +2 -0
- package/dist/TelFieldDefault-IYGEEV5V.js +2 -0
- package/dist/TextAreaFieldDefault-C6M3PIV2.js +2 -0
- package/dist/TextFieldDefault-FTX32V3D.js +2 -0
- package/dist/TimeFieldDefault-J6PKL5T4.js +2 -0
- package/dist/WorkScheduleFieldDefault-JAU2YFQF.js +2 -0
- package/dist/ZendeskDrawerDefault-HGKAUCUV.js +2 -0
- package/dist/{chunk-D4XBTJOV.js → chunk-2CGPCBQY.js} +2 -2
- package/dist/{chunk-HXEOVMUT.js → chunk-2EGFPBT7.js} +2 -2
- package/dist/chunk-2FIBHHT7.js +2 -0
- package/dist/chunk-2FIBHHT7.js.map +1 -0
- package/dist/{chunk-PRXJRF7V.js → chunk-2GAKAYG7.js} +2 -2
- package/dist/{chunk-GGDVTGHG.js → chunk-2QQZODFC.js} +2 -2
- package/dist/{chunk-7D4XFAQR.js → chunk-3HGUMECW.js} +2 -2
- package/dist/{chunk-F35ALUPA.js → chunk-3ISSVSL5.js} +2 -2
- package/dist/chunk-3O7L6JUX.js +2 -0
- package/dist/chunk-3O7L6JUX.js.map +1 -0
- package/dist/{chunk-746NEWTS.js → chunk-3OJAX7QH.js} +2 -2
- package/dist/{chunk-Z5LVLVTU.js → chunk-3OTZWYVQ.js} +2 -2
- package/dist/{chunk-Y3CJRZLA.js → chunk-4FGKIGKF.js} +2 -2
- package/dist/chunk-4FV6Z3HE.js +2 -0
- package/dist/{chunk-JVLARDTF.js.map → chunk-4FV6Z3HE.js.map} +1 -1
- package/dist/{chunk-74ICDGQK.js → chunk-4X7TVFHA.js} +2 -2
- package/dist/chunk-5MPW7QWT.js +2 -0
- package/dist/{chunk-TQH4OKHR.js → chunk-5N5B5AU2.js} +2 -2
- package/dist/{chunk-QO7Y6QRE.js → chunk-64OGJGKN.js} +2 -2
- package/dist/{chunk-LSC6NTXD.js → chunk-65G3JQ7T.js} +2 -2
- package/dist/{chunk-43NIG25S.js → chunk-6AZKF6RW.js} +2 -2
- package/dist/{chunk-OPX7E3W2.js → chunk-6JTUAJBZ.js} +2 -2
- package/dist/{chunk-3BAVRWSN.js → chunk-6PP3Y63Z.js} +2 -2
- package/dist/{chunk-S3EXF5DV.js → chunk-6QEAL5BB.js} +2 -2
- package/dist/{chunk-LFHFZU6X.js → chunk-6SNWSCXH.js} +2 -2
- package/dist/{chunk-KT4Y4UPD.js → chunk-74A4TMTF.js} +2 -2
- package/dist/{chunk-43FMKELR.js → chunk-75N7DFXJ.js} +2 -2
- package/dist/chunk-7EFZVAWU.js +2 -0
- package/dist/chunk-7EFZVAWU.js.map +1 -0
- package/dist/{chunk-7NFCUTWO.js → chunk-7UFIQ64V.js} +2 -2
- package/dist/{chunk-MGDYS2EY.js → chunk-A6KORIJF.js} +2 -2
- package/dist/chunk-AHIJ7DGJ.js +2 -0
- package/dist/chunk-AHIJ7DGJ.js.map +1 -0
- package/dist/{chunk-N6XLGYRK.js → chunk-AHUSQVQY.js} +2 -2
- package/dist/chunk-AVK2P75W.js +2 -0
- package/dist/chunk-AVK2P75W.js.map +1 -0
- package/dist/chunk-AW436CZP.js +2 -0
- package/dist/chunk-AW436CZP.js.map +1 -0
- package/dist/{chunk-CRDG62ZJ.js → chunk-B6YPSCBC.js} +2 -2
- package/dist/{chunk-T5J2Z6ZR.js → chunk-BC4V2YAK.js} +2 -2
- package/dist/{chunk-PQG6KZIO.js → chunk-BGSB3XPW.js} +2 -2
- package/dist/{chunk-D2MZKYRH.js → chunk-BHKAKCV4.js} +2 -2
- package/dist/chunk-BODQC6OK.js +2 -0
- package/dist/chunk-BODQC6OK.js.map +1 -0
- package/dist/{chunk-R4TM2Y3K.js → chunk-BS2YN6CS.js} +2 -2
- package/dist/{chunk-FHIMDCMT.js → chunk-BVKOMSHU.js} +2 -2
- package/dist/{chunk-PSU2AEFU.js → chunk-BZ4VPC4U.js} +2 -2
- package/dist/{chunk-YJFRQSTA.js → chunk-BZA2XA4Q.js} +2 -2
- package/dist/chunk-C4NBYBED.js +2 -0
- package/dist/chunk-C4NBYBED.js.map +1 -0
- package/dist/{chunk-OXTA4W4J.js → chunk-CM4UUBU5.js} +2 -2
- package/dist/{chunk-YWLRVUE3.js → chunk-CUM2NKZ4.js} +2 -2
- package/dist/{chunk-DO7OL4EG.js → chunk-DAYIMXLP.js} +2 -2
- package/dist/{chunk-BUOHZMK6.js → chunk-DDH7MZ7M.js} +2 -2
- package/dist/{chunk-44XEUAFV.js → chunk-DKOETPI4.js} +2 -2
- package/dist/{chunk-QJJZTAG2.js → chunk-DLSHZLHX.js} +2 -2
- package/dist/{chunk-MHIY35CK.js → chunk-DOVE5SYY.js} +2 -2
- package/dist/chunk-DZ3A4POL.js +2 -0
- package/dist/chunk-DZ3A4POL.js.map +1 -0
- package/dist/{chunk-6OHLLH6W.js → chunk-EFIPOWDJ.js} +2 -2
- package/dist/chunk-EOSJHL6M.js +2 -0
- package/dist/chunk-EOSJHL6M.js.map +1 -0
- package/dist/{chunk-FJC6IGXJ.js → chunk-FFFB5CG2.js} +2 -2
- package/dist/{chunk-LBQQSYCG.js → chunk-FIFM55V3.js} +2 -2
- package/dist/{chunk-2BCZXNBX.js → chunk-FQFIRIKU.js} +2 -2
- package/dist/{chunk-PFQB3V2U.js → chunk-FXVHH75C.js} +2 -2
- package/dist/chunk-G2DAXZPD.js +2 -0
- package/dist/chunk-G2DAXZPD.js.map +1 -0
- package/dist/chunk-G3QDDD53.js +2 -0
- package/dist/chunk-G3QDDD53.js.map +1 -0
- package/dist/chunk-GJ2AOENT.js +2 -0
- package/dist/chunk-GJ2AOENT.js.map +1 -0
- package/dist/{chunk-3UBFABDS.js → chunk-GPY3JZJJ.js} +2 -2
- package/dist/{chunk-UT3CQ2DH.js → chunk-GWQJKZ3M.js} +2 -2
- package/dist/{chunk-VZ3JCO23.js → chunk-GYYQWPA6.js} +2 -2
- package/dist/{chunk-LJUWER2H.js → chunk-HFFQ642D.js} +2 -2
- package/dist/{chunk-DMNKKWLY.js → chunk-HQLGDW2G.js} +2 -2
- package/dist/{chunk-PGCS6HUO.js → chunk-HTVGC4KT.js} +2 -2
- package/dist/chunk-HULIBLYP.js +2 -0
- package/dist/chunk-HULIBLYP.js.map +1 -0
- package/dist/{chunk-F7QTO3NU.js → chunk-HWBEYYJO.js} +2 -2
- package/dist/chunk-HYWQLLZC.js +2 -0
- package/dist/chunk-HYWQLLZC.js.map +1 -0
- package/dist/chunk-IAR7QW2Y.js +2 -0
- package/dist/chunk-IAR7QW2Y.js.map +1 -0
- package/dist/{chunk-SQCTVURR.js → chunk-IMCNVNKF.js} +2 -2
- package/dist/{chunk-J2L3CYIS.js → chunk-INUCPQVI.js} +2 -2
- package/dist/{chunk-34JOEA4E.js → chunk-J7I4WJ4G.js} +2 -2
- package/dist/{chunk-4MB3FE3T.js → chunk-JH3WUGO5.js} +2 -2
- package/dist/{chunk-6Z4U4GYV.js → chunk-JJK6BFGN.js} +2 -2
- package/dist/chunk-JK4CPPN4.js +2 -0
- package/dist/chunk-JK4CPPN4.js.map +1 -0
- package/dist/chunk-JPVSXGCC.js +2 -0
- package/dist/chunk-JPVSXGCC.js.map +1 -0
- package/dist/chunk-JXH42V2F.js +2 -0
- package/dist/chunk-JXH42V2F.js.map +1 -0
- package/dist/{chunk-RYUBFXSX.js → chunk-KF54ACZP.js} +2 -2
- package/dist/chunk-KGSH67IW.js +2 -0
- package/dist/chunk-KGSH67IW.js.map +1 -0
- package/dist/{chunk-FG2DNTDR.js → chunk-KZWB4FMM.js} +2 -2
- package/dist/{chunk-LNR6TGLQ.js → chunk-LBMHLNKS.js} +2 -2
- package/dist/{chunk-MKO33XZ5.js → chunk-LD633A5N.js} +2 -2
- package/dist/chunk-LGSOTN4M.js +2 -0
- package/dist/chunk-LGSOTN4M.js.map +1 -0
- package/dist/{chunk-WLPWXK7I.js → chunk-LKTCYO6Y.js} +2 -2
- package/dist/{chunk-JXZX66MM.js → chunk-LQFLXXBR.js} +2 -2
- package/dist/chunk-MAEAZFMR.js +1 -0
- package/dist/{chunk-DSGQZDY6.js → chunk-MZN6VY5F.js} +2 -2
- package/dist/{chunk-DJIQISA2.js → chunk-NDWVOVDM.js} +2 -2
- package/dist/{chunk-WIFDQWVX.js → chunk-NFLN2YB6.js} +2 -2
- package/dist/{chunk-XYF4TIRU.js → chunk-NGCNYQSC.js} +2 -2
- package/dist/chunk-NI4K773A.js +2 -0
- package/dist/chunk-NI4K773A.js.map +1 -0
- package/dist/{chunk-3GCJILCE.js → chunk-NQWB6O7Z.js} +2 -2
- package/dist/{chunk-G2LZFGZA.js → chunk-NXRWBI36.js} +2 -2
- package/dist/chunk-NXRWBI36.js.map +1 -0
- package/dist/{chunk-FCY5FJMC.js → chunk-O3Y4DVNY.js} +2 -2
- package/dist/{chunk-MC6VR4AZ.js → chunk-OUFFAMO5.js} +2 -2
- package/dist/{chunk-DIH7KHWI.js → chunk-PMCCHSXD.js} +2 -2
- package/dist/{chunk-7O4Y3DAM.js → chunk-PMIGYQEX.js} +2 -2
- package/dist/{chunk-HBOMEPXQ.js → chunk-QHSIUKH6.js} +2 -2
- package/dist/{chunk-ZOTY3CAM.js → chunk-QO7HHRNA.js} +2 -2
- package/dist/{chunk-HHFGG3RU.js → chunk-R2S73YZ5.js} +2 -2
- package/dist/chunk-R36IOANR.js +2 -0
- package/dist/chunk-R36IOANR.js.map +1 -0
- package/dist/{chunk-ECGNGVSC.js → chunk-R4JUCNE4.js} +2 -2
- package/dist/{chunk-BB5K57D4.js → chunk-RBUSLLAQ.js} +2 -2
- package/dist/chunk-RG67OYQN.js +2 -0
- package/dist/chunk-RG67OYQN.js.map +1 -0
- package/dist/{chunk-BOE6NL6T.js → chunk-RN3WPVBZ.js} +2 -2
- package/dist/{chunk-FQFLC6YA.js → chunk-RRERBS7F.js} +2 -2
- package/dist/chunk-S5BNS2JE.js +2 -0
- package/dist/chunk-S5BNS2JE.js.map +1 -0
- package/dist/{chunk-OK4RV6ZT.js → chunk-STFOY2NW.js} +2 -2
- package/dist/{chunk-WYUPZMPN.js → chunk-STJU6LZF.js} +2 -2
- package/dist/{chunk-PIKEYX3V.js → chunk-SU4FMKBZ.js} +2 -2
- package/dist/{chunk-CPRWWJYQ.js → chunk-SUONIYV5.js} +2 -2
- package/dist/{chunk-RKRYZZ3R.js → chunk-SY7QZIKZ.js} +2 -2
- package/dist/{chunk-V3J5DAMB.js → chunk-SYSVKYHX.js} +2 -2
- package/dist/chunk-T3IHAH3B.js +2 -0
- package/dist/chunk-T3IHAH3B.js.map +1 -0
- package/dist/{chunk-A7D2NNLM.js → chunk-TMS5VMVV.js} +2 -2
- package/dist/{chunk-R744BZN2.js → chunk-TUAL6X2E.js} +2 -2
- package/dist/{chunk-OETKBT6P.js → chunk-TVTJS3PE.js} +2 -2
- package/dist/{chunk-6PWZ4TBI.js → chunk-TZIDQ5O3.js} +2 -2
- package/dist/{chunk-W4LHXUIX.js → chunk-U7MAWO3U.js} +2 -2
- package/dist/{chunk-RR57VT45.js → chunk-UCBZMQGL.js} +2 -2
- package/dist/chunk-UHFNNG5S.js +2 -0
- package/dist/chunk-UHFNNG5S.js.map +1 -0
- package/dist/chunk-UYTYZVQM.js +2 -0
- package/dist/chunk-UYTYZVQM.js.map +1 -0
- package/dist/{chunk-3CJB74UF.js → chunk-UYYITOOO.js} +2 -2
- package/dist/{chunk-YS6VDGFW.js → chunk-V2ZDW66A.js} +2 -2
- package/dist/{chunk-RJXRGUNB.js → chunk-V6I7LW47.js} +2 -2
- package/dist/chunk-VADVEBNE.js +2 -0
- package/dist/chunk-VADVEBNE.js.map +1 -0
- package/dist/{chunk-HFHQDWJN.js → chunk-VDXTVUFY.js} +2 -2
- package/dist/{chunk-ARVKTD3V.js → chunk-VMXDQYTT.js} +2 -2
- package/dist/{chunk-RFEF2B5D.js → chunk-VYLSS2C7.js} +2 -2
- package/dist/{chunk-ZFF6E44S.js → chunk-VZ34NZXF.js} +2 -2
- package/dist/{chunk-GF34UO7V.js → chunk-W3GEGGZY.js} +2 -2
- package/dist/chunk-WJAGRH76.js +2 -0
- package/dist/chunk-WJAGRH76.js.map +1 -0
- package/dist/{chunk-S4JJIDWH.js → chunk-WKT6B3XE.js} +2 -2
- package/dist/chunk-X3FRANQS.js +2 -0
- package/dist/chunk-X3FRANQS.js.map +1 -0
- package/dist/{chunk-KTPIKOUV.js → chunk-X7KIEFEN.js} +2 -2
- package/dist/{chunk-LS4CLDLI.js → chunk-XDRJTAFV.js} +2 -2
- package/dist/{chunk-NEKE5PRJ.js → chunk-XGECMN4V.js} +2 -2
- package/dist/{chunk-AS7SJDU5.js → chunk-XPITUVQE.js} +2 -2
- package/dist/{chunk-AS7SJDU5.js.map → chunk-XPITUVQE.js.map} +1 -1
- package/dist/{chunk-3ID3UX2Q.js → chunk-XVZQBTB3.js} +2 -2
- package/dist/{chunk-E2463GRM.js → chunk-XZMPAJRL.js} +2 -2
- package/dist/{chunk-E2463GRM.js.map → chunk-XZMPAJRL.js.map} +1 -1
- package/dist/{chunk-WMBHCIFS.js → chunk-Y3G3JGLP.js} +2 -2
- package/dist/{chunk-ZC47WDFG.js → chunk-Y4X4BMDD.js} +2 -2
- package/dist/chunk-Y4X4BMDD.js.map +1 -0
- package/dist/{chunk-Y3YYLANJ.js → chunk-YDL42SVF.js} +2 -2
- package/dist/{chunk-V557KUHJ.js → chunk-YLU7JBHT.js} +2 -2
- package/dist/{chunk-NRWIGTY2.js → chunk-YYWBJW65.js} +2 -2
- package/dist/{chunk-A2TY3VWL.js → chunk-ZF3CYWGQ.js} +2 -2
- package/dist/{chunk-3B6BHFDV.js → chunk-ZHFUFIWX.js} +2 -2
- package/dist/default-components.d.ts +2 -2
- package/dist/default-components.js +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.d.ts +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.js +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentFlow.d.ts +3 -3
- package/dist/flows/ContractAmendment/ContractAmendmentFlow.js +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentForm.d.ts +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentForm.js +1 -1
- package/dist/flows/ContractAmendment/context.d.ts +3 -3
- package/dist/flows/ContractAmendment/hooks.d.ts +3 -3
- package/dist/flows/ContractAmendment/hooks.js +1 -1
- package/dist/flows/ContractAmendment/index.d.ts +3 -3
- package/dist/flows/ContractAmendment/index.js +1 -1
- package/dist/flows/ContractAmendment/types.d.ts +3 -3
- package/dist/flows/ContractAmendment/utils.d.ts +2 -2
- package/dist/flows/ContractAmendment/utils.js +1 -1
- package/dist/flows/ContractorOnboarding/ContractorOnboarding.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/ContractorOnboarding.js +1 -1
- package/dist/flows/ContractorOnboarding/api.d.ts +3 -3
- package/dist/flows/ContractorOnboarding/api.js +1 -1
- package/dist/flows/ContractorOnboarding/components/BasicInformationStep.d.ts +4 -4
- package/dist/flows/ContractorOnboarding/components/BasicInformationStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/ContractOriginStep.d.ts +3 -3
- package/dist/flows/ContractorOnboarding/components/ContractOriginStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/ContractPreviewHeader.d.ts +2 -2
- package/dist/flows/ContractorOnboarding/components/ContractPreviewStatement.d.ts +2 -2
- package/dist/flows/ContractorOnboarding/components/ContractPreviewStatement.js +1 -1
- package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.js +1 -1
- package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/OnboardingInvite.d.ts +3 -3
- package/dist/flows/ContractorOnboarding/components/OnboardingInvite.js +1 -1
- package/dist/flows/ContractorOnboarding/components/PricingPlan.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/components/PricingPlan.js +1 -1
- package/dist/flows/ContractorOnboarding/components/SaveDraftButton.d.ts +3 -3
- package/dist/flows/ContractorOnboarding/components/SelectCountryStep.d.ts +4 -4
- package/dist/flows/ContractorOnboarding/components/SelectCountryStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/StatementOfWorkDisclaimer.js +1 -1
- package/dist/flows/ContractorOnboarding/context.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/hooks.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/hooks.js +1 -1
- package/dist/flows/ContractorOnboarding/index.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/index.js +1 -1
- package/dist/flows/ContractorOnboarding/jsfModify.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/jsfModify.js +1 -1
- package/dist/flows/ContractorOnboarding/types.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/utils.d.ts +15 -5
- package/dist/flows/ContractorOnboarding/utils.js +1 -1
- package/dist/flows/CostCalculator/CostCalculatorFlow.d.ts +3 -3
- package/dist/flows/CostCalculator/CostCalculatorFlow.js +1 -1
- package/dist/flows/CostCalculator/CostCalculatorForm.d.ts +3 -3
- package/dist/flows/CostCalculator/CostCalculatorForm.js +1 -1
- package/dist/flows/CostCalculator/CostCalculatorResetButton.js +1 -1
- package/dist/flows/CostCalculator/CostCalculatorSubmitButton.js +1 -1
- package/dist/flows/CostCalculator/EstimationResults/EstimationResults.d.ts +3 -3
- package/dist/flows/CostCalculator/EstimationResults/EstimationResults.js +1 -1
- package/dist/flows/CostCalculator/SummaryResults/SummaryResults.d.ts +3 -3
- package/dist/flows/CostCalculator/SummaryResults/SummaryResults.js +1 -1
- package/dist/flows/CostCalculator/api.d.ts +3 -3
- package/dist/flows/CostCalculator/api.js +1 -1
- package/dist/flows/CostCalculator/components/SalaryField.d.ts +4 -3
- package/dist/flows/CostCalculator/components/SalaryField.js +1 -1
- package/dist/flows/CostCalculator/context.d.ts +3 -3
- package/dist/flows/CostCalculator/hooks.d.ts +3 -3
- package/dist/flows/CostCalculator/hooks.js +1 -1
- package/dist/flows/CostCalculator/index.d.ts +3 -3
- package/dist/flows/CostCalculator/index.js +1 -1
- package/dist/flows/CostCalculator/types.d.ts +13 -4
- package/dist/flows/CostCalculator/utils.d.ts +3 -3
- package/dist/flows/CostCalculator/utils.js +1 -1
- package/dist/flows/CreateCompany/CreateCompany.d.ts +4 -4
- package/dist/flows/CreateCompany/CreateCompany.js +1 -1
- package/dist/flows/CreateCompany/api.d.ts +3 -3
- package/dist/flows/CreateCompany/api.js +1 -1
- package/dist/flows/CreateCompany/components/AddressDetailsStep.d.ts +4 -4
- package/dist/flows/CreateCompany/components/AddressDetailsStep.js +1 -1
- package/dist/flows/CreateCompany/components/CompanyBasicInformationStep.d.ts +4 -4
- package/dist/flows/CreateCompany/components/CompanyBasicInformationStep.js +1 -1
- package/dist/flows/CreateCompany/components/CreateCompanyForm.d.ts +2 -2
- package/dist/flows/CreateCompany/components/CreateCompanyForm.js +1 -1
- package/dist/flows/CreateCompany/context.d.ts +4 -4
- package/dist/flows/CreateCompany/hooks.d.ts +4 -4
- package/dist/flows/CreateCompany/hooks.js +1 -1
- package/dist/flows/CreateCompany/index.d.ts +4 -4
- package/dist/flows/CreateCompany/index.js +1 -1
- package/dist/flows/CreateCompany/types.d.ts +4 -4
- package/dist/flows/JsonSchemaPlayground/JsonSchemaPlaygroundFlow.d.ts +4 -4
- package/dist/flows/JsonSchemaPlayground/JsonSchemaPlaygroundFlow.js +1 -1
- package/dist/flows/JsonSchemaPlayground/JsonSchemaPlaygroundForm.d.ts +2 -2
- package/dist/flows/JsonSchemaPlayground/JsonSchemaPlaygroundForm.js +1 -1
- package/dist/flows/JsonSchemaPlayground/JsonSchemaPlaygroundResetButton.js +1 -1
- package/dist/flows/JsonSchemaPlayground/context.d.ts +3 -3
- package/dist/flows/JsonSchemaPlayground/hooks.d.ts +4 -4
- package/dist/flows/JsonSchemaPlayground/hooks.js +1 -1
- package/dist/flows/JsonSchemaPlayground/index.d.ts +3 -4
- package/dist/flows/JsonSchemaPlayground/index.js +1 -1
- package/dist/flows/JsonSchemaPlayground/types.d.ts +3 -3
- package/dist/flows/Onboarding/OnboardingFlow.d.ts +4 -4
- package/dist/flows/Onboarding/OnboardingFlow.js +1 -1
- package/dist/flows/Onboarding/api.d.ts +4 -4
- package/dist/flows/Onboarding/api.js +1 -1
- package/dist/flows/Onboarding/components/AnnualGrossSalary.d.ts +4 -3
- package/dist/flows/Onboarding/components/AnnualGrossSalary.js +1 -1
- package/dist/flows/Onboarding/components/BasicInformationStep.d.ts +4 -4
- package/dist/flows/Onboarding/components/BasicInformationStep.js +1 -1
- package/dist/flows/Onboarding/components/BenefitsStep.d.ts +4 -4
- package/dist/flows/Onboarding/components/BenefitsStep.js +1 -1
- package/dist/flows/Onboarding/components/ContractDetailsStep.d.ts +4 -4
- package/dist/flows/Onboarding/components/ContractDetailsStep.js +1 -1
- package/dist/flows/Onboarding/components/EmploymentAgreementInfoContent.js +1 -1
- package/dist/flows/Onboarding/components/EngagementAgreementDetailsStep.d.ts +4 -4
- package/dist/flows/Onboarding/components/EngagementAgreementDetailsStep.js +1 -1
- package/dist/flows/Onboarding/components/OnboardingForm.d.ts +4 -4
- package/dist/flows/Onboarding/components/OnboardingForm.js +1 -1
- package/dist/flows/Onboarding/components/OnboardingInvite.d.ts +3 -3
- package/dist/flows/Onboarding/components/OnboardingInvite.js +1 -1
- package/dist/flows/Onboarding/components/PreOnboardingRequirements.d.ts +4 -4
- package/dist/flows/Onboarding/components/PreOnboardingRequirements.js +1 -1
- package/dist/flows/Onboarding/components/PreviewEmploymentAgreementStep.js +1 -1
- package/dist/flows/Onboarding/components/ReviewStep.d.ts +4 -4
- package/dist/flows/Onboarding/components/SaveDraftButton.d.ts +3 -3
- package/dist/flows/Onboarding/components/SelectCountryStep.d.ts +4 -4
- package/dist/flows/Onboarding/components/SelectCountryStep.js +1 -1
- package/dist/flows/Onboarding/context.d.ts +6 -6
- package/dist/flows/Onboarding/hooks.d.ts +5 -5
- package/dist/flows/Onboarding/hooks.js +1 -1
- package/dist/flows/Onboarding/index.d.ts +4 -4
- package/dist/flows/Onboarding/index.js +1 -1
- package/dist/flows/Onboarding/types.d.ts +4 -4
- package/dist/flows/Onboarding/utils.d.ts +4 -4
- package/dist/flows/Onboarding/utils.js +1 -1
- package/dist/flows/PayrollAdminOnboarding/PayrollAdminOnboardingFlow.d.ts +4 -4
- package/dist/flows/PayrollAdminOnboarding/PayrollAdminOnboardingFlow.js +1 -1
- package/dist/flows/PayrollAdminOnboarding/api.d.ts +2 -2
- package/dist/flows/PayrollAdminOnboarding/api.js +1 -1
- package/dist/flows/PayrollAdminOnboarding/components/AdministrativeDetailsStep.d.ts +3 -3
- package/dist/flows/PayrollAdminOnboarding/components/AdministrativeDetailsStep.js +1 -1
- package/dist/flows/PayrollAdminOnboarding/components/AdministrativeDetailsStep.js.map +1 -1
- package/dist/flows/PayrollAdminOnboarding/components/BackButton.js +1 -1
- package/dist/flows/PayrollAdminOnboarding/components/BackButton.js.map +1 -1
- package/dist/flows/PayrollAdminOnboarding/components/ContractDetailsStep.d.ts +3 -3
- package/dist/flows/PayrollAdminOnboarding/components/ContractDetailsStep.js +1 -1
- package/dist/flows/PayrollAdminOnboarding/components/ContractDetailsStep.js.map +1 -1
- package/dist/flows/PayrollAdminOnboarding/components/InvitationStep.d.ts +3 -3
- package/dist/flows/PayrollAdminOnboarding/components/InvitationStep.js +1 -1
- package/dist/flows/PayrollAdminOnboarding/components/InvitationStep.js.map +1 -1
- package/dist/flows/PayrollAdminOnboarding/components/PayrollAdminForm.d.ts +2 -2
- package/dist/flows/PayrollAdminOnboarding/components/PayrollAdminForm.js +1 -1
- package/dist/flows/PayrollAdminOnboarding/components/SelectCountryStep.d.ts +3 -3
- package/dist/flows/PayrollAdminOnboarding/components/SelectCountryStep.js +1 -1
- package/dist/flows/PayrollAdminOnboarding/components/SelectCountryStep.js.map +1 -1
- package/dist/flows/PayrollAdminOnboarding/components/SubmitButton.js +1 -1
- package/dist/flows/PayrollAdminOnboarding/components/SubmitButton.js.map +1 -1
- package/dist/flows/PayrollAdminOnboarding/components/useStepSubmitHandler.d.ts +3 -3
- package/dist/flows/PayrollAdminOnboarding/components/useStepSubmitHandler.js +1 -1
- package/dist/flows/PayrollAdminOnboarding/context.d.ts +4 -4
- package/dist/flows/PayrollAdminOnboarding/hooks.d.ts +4 -4
- package/dist/flows/PayrollAdminOnboarding/hooks.js +1 -1
- package/dist/flows/PayrollAdminOnboarding/index.d.ts +4 -4
- package/dist/flows/PayrollAdminOnboarding/index.js +1 -1
- package/dist/flows/PayrollAdminOnboarding/types.d.ts +4 -4
- package/dist/flows/PayrollEmployeeOnboarding/PayrollEmployeeOnboardingFlow.d.ts +4 -4
- package/dist/flows/PayrollEmployeeOnboarding/PayrollEmployeeOnboardingFlow.js +1 -1
- package/dist/flows/PayrollEmployeeOnboarding/api.d.ts +8 -8
- package/dist/flows/PayrollEmployeeOnboarding/api.js +1 -1
- package/dist/flows/PayrollEmployeeOnboarding/components/BankAccountStep.d.ts +3 -3
- package/dist/flows/PayrollEmployeeOnboarding/components/BankAccountStep.js +1 -1
- package/dist/flows/PayrollEmployeeOnboarding/components/FederalTaxesStep.d.ts +3 -3
- package/dist/flows/PayrollEmployeeOnboarding/components/FederalTaxesStep.js +1 -1
- package/dist/flows/PayrollEmployeeOnboarding/components/HomeAddressStep.d.ts +3 -3
- package/dist/flows/PayrollEmployeeOnboarding/components/HomeAddressStep.js +1 -1
- package/dist/flows/PayrollEmployeeOnboarding/components/PayrollEmployeeForm.d.ts +2 -2
- package/dist/flows/PayrollEmployeeOnboarding/components/PayrollEmployeeForm.js +1 -1
- package/dist/flows/PayrollEmployeeOnboarding/components/PersonalDetailsStep.d.ts +3 -3
- package/dist/flows/PayrollEmployeeOnboarding/components/PersonalDetailsStep.js +1 -1
- package/dist/flows/PayrollEmployeeOnboarding/components/StateTaxesStep.d.ts +4 -4
- package/dist/flows/PayrollEmployeeOnboarding/components/StateTaxesStep.js +1 -1
- package/dist/flows/PayrollEmployeeOnboarding/components/useEmployeeStepSubmitHandler.d.ts +3 -3
- package/dist/flows/PayrollEmployeeOnboarding/components/useEmployeeStepSubmitHandler.js +1 -1
- package/dist/flows/PayrollEmployeeOnboarding/context.d.ts +4 -4
- package/dist/flows/PayrollEmployeeOnboarding/hooks.d.ts +4 -4
- package/dist/flows/PayrollEmployeeOnboarding/hooks.js +1 -1
- package/dist/flows/PayrollEmployeeOnboarding/index.d.ts +4 -4
- package/dist/flows/PayrollEmployeeOnboarding/index.js +1 -1
- package/dist/flows/PayrollEmployeeOnboarding/types.d.ts +4 -4
- package/dist/flows/Termination/AdditionalDetailsForm.d.ts +4 -4
- package/dist/flows/Termination/AdditionalDetailsForm.js +1 -1
- package/dist/flows/Termination/EmployeeComunicationForm.d.ts +4 -4
- package/dist/flows/Termination/EmployeeComunicationForm.js +1 -1
- package/dist/flows/Termination/PaidTimeOffForm.d.ts +4 -4
- package/dist/flows/Termination/PaidTimeOffForm.js +1 -1
- package/dist/flows/Termination/TerminationDetailsForm.d.ts +4 -4
- package/dist/flows/Termination/TerminationDetailsForm.js +1 -1
- package/dist/flows/Termination/TerminationFlow.d.ts +4 -4
- package/dist/flows/Termination/TerminationFlow.js +1 -1
- package/dist/flows/Termination/TerminationForm.d.ts +4 -4
- package/dist/flows/Termination/TerminationForm.js +1 -1
- package/dist/flows/Termination/api.d.ts +5 -5
- package/dist/flows/Termination/api.js +1 -1
- package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformation.js +1 -1
- package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformationFees.js +1 -1
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.d.ts +6 -6
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.js +1 -1
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.d.ts +6 -6
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.js +1 -1
- package/dist/flows/Termination/components/PaidTimeOff/types.d.ts +6 -6
- package/dist/flows/Termination/components/TerminationDialogInfoContent/TerminationDialogInfoContent.js +1 -1
- package/dist/flows/Termination/components/TerminationReasonsDetailContent/TerminationReasonsDetailContent.js +1 -1
- package/dist/flows/Termination/context.d.ts +4 -4
- package/dist/flows/Termination/hooks.d.ts +4 -4
- package/dist/flows/Termination/hooks.js +1 -1
- package/dist/flows/Termination/index.d.ts +6 -6
- package/dist/flows/Termination/index.js +1 -1
- package/dist/flows/Termination/json-schemas/jsonSchema.js +1 -1
- package/dist/flows/Termination/json-schemas/schema.d.ts +4 -4
- package/dist/flows/Termination/json-schemas/schema.js +1 -1
- package/dist/flows/Termination/types.d.ts +4 -4
- package/dist/flows/Termination/utils.d.ts +4 -4
- package/dist/flows/Termination/utils.js +1 -1
- package/dist/flows/types.d.ts +3 -3
- package/dist/flows/utils.d.ts +2 -2
- package/dist/index.css +1 -1
- package/dist/index.css.map +1 -1
- package/dist/index.d.ts +29 -16
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/internals.d.ts +4 -5
- package/dist/internals.js +1 -1
- package/dist/{mutations-CCbGTxuw.d.ts → mutations-DCAaAw5a.d.ts} +1 -1
- package/dist/{remoteFlows-BTGwzbVQ.d.ts → remoteFlows-dULw8FdP.d.ts} +8 -1
- package/dist/styles.css +1 -1
- package/dist/styles.css.map +1 -1
- package/dist/types-B4GARfFq.d.ts +91 -0
- package/dist/{types-BAQL-xPU.d.ts → types-BUvpsq6j.d.ts} +23 -12
- package/dist/{types-BUCAIjdm.d.ts → types-BhMTFN9Y.d.ts} +1 -1
- package/dist/{types-BQUdy5l7.d.ts → types-BrUW0aeq.d.ts} +4 -4
- package/dist/{types-CvqFd-l3.d.ts → types-CZ7r6pdq.d.ts} +31 -7
- package/dist/{types-DoWlYF_Q.d.ts → types-Crw4jMds.d.ts} +2 -2
- package/dist/{types-DRIJcxE-.d.ts → types-Cwf67dnV.d.ts} +15 -6
- package/dist/{types-BtrEXSWH.d.ts → types-D-1MCxhm.d.ts} +3 -3
- package/dist/{types.gen-Bn3elzBI.d.ts → types.gen-C4K7xky-.d.ts} +16 -1
- package/dist/{utils-Dc_Eq2Vm.d.ts → utils-BVwm5Jyt.d.ts} +1 -1
- package/package.json +5 -5
- package/dist/ButtonDefault-5GP4VFZL.js +0 -2
- package/dist/CheckboxFieldDefault-VKVKDNK4.js +0 -2
- package/dist/CountryFieldDefault-N7P5V5NR.js +0 -2
- package/dist/DatePickerFieldDefault-V3F2DLPV.js +0 -2
- package/dist/DrawerDefault-UVRSWQLP.js +0 -2
- package/dist/EmailFieldDefault-JN6IDGVM.js +0 -2
- package/dist/FieldsetToggleButtonDefault-KVIBW3UI.js +0 -2
- package/dist/FileUploadFieldDefault-SD3A25KP.js +0 -2
- package/dist/MultiSelectFieldDefault-ZLRPID6V.js +0 -2
- package/dist/NumberFieldDefault-MXN7XDOC.js +0 -2
- package/dist/RadioGroupFieldDefault-UMDJEJZU.js +0 -2
- package/dist/SelectFieldDefault-IUECL5R6.js +0 -2
- package/dist/StatementDefault-6B2AXWUL.js +0 -2
- package/dist/TableFieldDefault-ZC2IJBFY.js +0 -2
- package/dist/TelFieldDefault-PUE57NPS.js +0 -2
- package/dist/TextAreaFieldDefault-5CV4XTOT.js +0 -2
- package/dist/TextFieldDefault-WSEEAHJV.js +0 -2
- package/dist/TimeFieldDefault-K5LYUXKT.js +0 -2
- package/dist/WorkScheduleFieldDefault-D6TGVPHC.js +0 -2
- package/dist/ZendeskDrawerDefault-2DNA653G.js +0 -2
- package/dist/chunk-343R3QEG.js +0 -2
- package/dist/chunk-343R3QEG.js.map +0 -1
- package/dist/chunk-3AMTQ2DH.js +0 -2
- package/dist/chunk-3AMTQ2DH.js.map +0 -1
- package/dist/chunk-66DSJTDZ.js +0 -2
- package/dist/chunk-66DSJTDZ.js.map +0 -1
- package/dist/chunk-6JOMJADW.js +0 -2
- package/dist/chunk-6JOMJADW.js.map +0 -1
- package/dist/chunk-7ULM6AZK.js +0 -1
- package/dist/chunk-AVIZTG4K.js +0 -2
- package/dist/chunk-AVIZTG4K.js.map +0 -1
- package/dist/chunk-B36HI2TD.js +0 -2
- package/dist/chunk-B36HI2TD.js.map +0 -1
- package/dist/chunk-BIL7ERK6.js +0 -2
- package/dist/chunk-BIL7ERK6.js.map +0 -1
- package/dist/chunk-CZY6KI75.js +0 -2
- package/dist/chunk-CZY6KI75.js.map +0 -1
- package/dist/chunk-ERDNYHQO.js +0 -2
- package/dist/chunk-ERDNYHQO.js.map +0 -1
- package/dist/chunk-F5WNUYFP.js +0 -2
- package/dist/chunk-F5WNUYFP.js.map +0 -1
- package/dist/chunk-G2LZFGZA.js.map +0 -1
- package/dist/chunk-GSB44SSJ.js +0 -2
- package/dist/chunk-GSB44SSJ.js.map +0 -1
- package/dist/chunk-HGFJTAEM.js +0 -2
- package/dist/chunk-HGFJTAEM.js.map +0 -1
- package/dist/chunk-I363AG3E.js +0 -2
- package/dist/chunk-I363AG3E.js.map +0 -1
- package/dist/chunk-J2ARI3NQ.js +0 -2
- package/dist/chunk-J2ARI3NQ.js.map +0 -1
- package/dist/chunk-JVLARDTF.js +0 -2
- package/dist/chunk-K7HS55JD.js +0 -2
- package/dist/chunk-K7HS55JD.js.map +0 -1
- package/dist/chunk-KAX6IHET.js +0 -2
- package/dist/chunk-KAX6IHET.js.map +0 -1
- package/dist/chunk-MEPIOKJQ.js +0 -2
- package/dist/chunk-MEPIOKJQ.js.map +0 -1
- package/dist/chunk-OV6PV4N5.js +0 -2
- package/dist/chunk-OV6PV4N5.js.map +0 -1
- package/dist/chunk-PYXLDOXH.js +0 -2
- package/dist/chunk-PYXLDOXH.js.map +0 -1
- package/dist/chunk-Q6PTVBDS.js +0 -2
- package/dist/chunk-Q6PTVBDS.js.map +0 -1
- package/dist/chunk-SC7YWKOW.js +0 -2
- package/dist/chunk-STKY674N.js +0 -2
- package/dist/chunk-STKY674N.js.map +0 -1
- package/dist/chunk-VVEBSBQ3.js +0 -2
- package/dist/chunk-VVEBSBQ3.js.map +0 -1
- package/dist/chunk-XLA5Z35M.js +0 -2
- package/dist/chunk-XLA5Z35M.js.map +0 -1
- package/dist/chunk-Y2K74EBE.js +0 -2
- package/dist/chunk-Y2K74EBE.js.map +0 -1
- package/dist/chunk-YMBVMMUS.js +0 -2
- package/dist/chunk-YMBVMMUS.js.map +0 -1
- package/dist/chunk-ZC47WDFG.js.map +0 -1
- package/dist/chunk-ZT4OC3OB.js +0 -2
- package/dist/chunk-ZT4OC3OB.js.map +0 -1
- package/dist/chunk-ZYIEPPSE.js +0 -2
- package/dist/chunk-ZYIEPPSE.js.map +0 -1
- package/dist/flows/JsonSchemaPlayground/initialValues.d.ts +0 -15
- package/dist/flows/JsonSchemaPlayground/initialValues.js +0 -2
- package/dist/flows/JsonSchemaPlayground/initialValues.js.map +0 -1
- package/dist/flows/JsonSchemaPlayground/schemas.d.ts +0 -1957
- package/dist/flows/JsonSchemaPlayground/schemas.js +0 -2
- package/dist/flows/JsonSchemaPlayground/schemas.js.map +0 -1
- package/dist/types-Im-AaNUG.d.ts +0 -2033
- /package/dist/{ButtonDefault-5GP4VFZL.js.map → ButtonDefault-HBOULH5V.js.map} +0 -0
- /package/dist/{CheckboxFieldDefault-VKVKDNK4.js.map → CheckboxFieldDefault-62URAHJV.js.map} +0 -0
- /package/dist/{CountryFieldDefault-N7P5V5NR.js.map → CountryFieldDefault-24NNZN2C.js.map} +0 -0
- /package/dist/{DatePickerFieldDefault-V3F2DLPV.js.map → DatePickerFieldDefault-NMUCZ4U2.js.map} +0 -0
- /package/dist/{DrawerDefault-UVRSWQLP.js.map → DrawerDefault-O7NUFWJ4.js.map} +0 -0
- /package/dist/{EmailFieldDefault-JN6IDGVM.js.map → EmailFieldDefault-7USH7I6B.js.map} +0 -0
- /package/dist/{FieldsetToggleButtonDefault-KVIBW3UI.js.map → FieldsetToggleButtonDefault-MIRCZJKA.js.map} +0 -0
- /package/dist/{FileUploadFieldDefault-SD3A25KP.js.map → FileUploadFieldDefault-4NW5VLF6.js.map} +0 -0
- /package/dist/{MultiSelectFieldDefault-ZLRPID6V.js.map → MultiSelectFieldDefault-S45Z53ZY.js.map} +0 -0
- /package/dist/{NumberFieldDefault-MXN7XDOC.js.map → NumberFieldDefault-P7TLA6SH.js.map} +0 -0
- /package/dist/{RadioGroupFieldDefault-UMDJEJZU.js.map → RadioGroupFieldDefault-X44FYUA3.js.map} +0 -0
- /package/dist/{SelectFieldDefault-IUECL5R6.js.map → SelectFieldDefault-PLDXHTQY.js.map} +0 -0
- /package/dist/{StatementDefault-6B2AXWUL.js.map → StatementDefault-RDC5G24K.js.map} +0 -0
- /package/dist/{TableFieldDefault-ZC2IJBFY.js.map → TableFieldDefault-ES7OIYX5.js.map} +0 -0
- /package/dist/{TelFieldDefault-PUE57NPS.js.map → TelFieldDefault-IYGEEV5V.js.map} +0 -0
- /package/dist/{TextAreaFieldDefault-5CV4XTOT.js.map → TextAreaFieldDefault-C6M3PIV2.js.map} +0 -0
- /package/dist/{TextFieldDefault-WSEEAHJV.js.map → TextFieldDefault-FTX32V3D.js.map} +0 -0
- /package/dist/{TimeFieldDefault-K5LYUXKT.js.map → TimeFieldDefault-J6PKL5T4.js.map} +0 -0
- /package/dist/{WorkScheduleFieldDefault-D6TGVPHC.js.map → WorkScheduleFieldDefault-JAU2YFQF.js.map} +0 -0
- /package/dist/{ZendeskDrawerDefault-2DNA653G.js.map → ZendeskDrawerDefault-HGKAUCUV.js.map} +0 -0
- /package/dist/{chunk-D4XBTJOV.js.map → chunk-2CGPCBQY.js.map} +0 -0
- /package/dist/{chunk-HXEOVMUT.js.map → chunk-2EGFPBT7.js.map} +0 -0
- /package/dist/{chunk-PRXJRF7V.js.map → chunk-2GAKAYG7.js.map} +0 -0
- /package/dist/{chunk-GGDVTGHG.js.map → chunk-2QQZODFC.js.map} +0 -0
- /package/dist/{chunk-7D4XFAQR.js.map → chunk-3HGUMECW.js.map} +0 -0
- /package/dist/{chunk-F35ALUPA.js.map → chunk-3ISSVSL5.js.map} +0 -0
- /package/dist/{chunk-746NEWTS.js.map → chunk-3OJAX7QH.js.map} +0 -0
- /package/dist/{chunk-Z5LVLVTU.js.map → chunk-3OTZWYVQ.js.map} +0 -0
- /package/dist/{chunk-Y3CJRZLA.js.map → chunk-4FGKIGKF.js.map} +0 -0
- /package/dist/{chunk-74ICDGQK.js.map → chunk-4X7TVFHA.js.map} +0 -0
- /package/dist/{chunk-SC7YWKOW.js.map → chunk-5MPW7QWT.js.map} +0 -0
- /package/dist/{chunk-TQH4OKHR.js.map → chunk-5N5B5AU2.js.map} +0 -0
- /package/dist/{chunk-QO7Y6QRE.js.map → chunk-64OGJGKN.js.map} +0 -0
- /package/dist/{chunk-LSC6NTXD.js.map → chunk-65G3JQ7T.js.map} +0 -0
- /package/dist/{chunk-43NIG25S.js.map → chunk-6AZKF6RW.js.map} +0 -0
- /package/dist/{chunk-OPX7E3W2.js.map → chunk-6JTUAJBZ.js.map} +0 -0
- /package/dist/{chunk-3BAVRWSN.js.map → chunk-6PP3Y63Z.js.map} +0 -0
- /package/dist/{chunk-S3EXF5DV.js.map → chunk-6QEAL5BB.js.map} +0 -0
- /package/dist/{chunk-LFHFZU6X.js.map → chunk-6SNWSCXH.js.map} +0 -0
- /package/dist/{chunk-KT4Y4UPD.js.map → chunk-74A4TMTF.js.map} +0 -0
- /package/dist/{chunk-43FMKELR.js.map → chunk-75N7DFXJ.js.map} +0 -0
- /package/dist/{chunk-7NFCUTWO.js.map → chunk-7UFIQ64V.js.map} +0 -0
- /package/dist/{chunk-MGDYS2EY.js.map → chunk-A6KORIJF.js.map} +0 -0
- /package/dist/{chunk-N6XLGYRK.js.map → chunk-AHUSQVQY.js.map} +0 -0
- /package/dist/{chunk-CRDG62ZJ.js.map → chunk-B6YPSCBC.js.map} +0 -0
- /package/dist/{chunk-T5J2Z6ZR.js.map → chunk-BC4V2YAK.js.map} +0 -0
- /package/dist/{chunk-PQG6KZIO.js.map → chunk-BGSB3XPW.js.map} +0 -0
- /package/dist/{chunk-D2MZKYRH.js.map → chunk-BHKAKCV4.js.map} +0 -0
- /package/dist/{chunk-R4TM2Y3K.js.map → chunk-BS2YN6CS.js.map} +0 -0
- /package/dist/{chunk-FHIMDCMT.js.map → chunk-BVKOMSHU.js.map} +0 -0
- /package/dist/{chunk-PSU2AEFU.js.map → chunk-BZ4VPC4U.js.map} +0 -0
- /package/dist/{chunk-YJFRQSTA.js.map → chunk-BZA2XA4Q.js.map} +0 -0
- /package/dist/{chunk-OXTA4W4J.js.map → chunk-CM4UUBU5.js.map} +0 -0
- /package/dist/{chunk-YWLRVUE3.js.map → chunk-CUM2NKZ4.js.map} +0 -0
- /package/dist/{chunk-DO7OL4EG.js.map → chunk-DAYIMXLP.js.map} +0 -0
- /package/dist/{chunk-BUOHZMK6.js.map → chunk-DDH7MZ7M.js.map} +0 -0
- /package/dist/{chunk-44XEUAFV.js.map → chunk-DKOETPI4.js.map} +0 -0
- /package/dist/{chunk-QJJZTAG2.js.map → chunk-DLSHZLHX.js.map} +0 -0
- /package/dist/{chunk-MHIY35CK.js.map → chunk-DOVE5SYY.js.map} +0 -0
- /package/dist/{chunk-6OHLLH6W.js.map → chunk-EFIPOWDJ.js.map} +0 -0
- /package/dist/{chunk-FJC6IGXJ.js.map → chunk-FFFB5CG2.js.map} +0 -0
- /package/dist/{chunk-LBQQSYCG.js.map → chunk-FIFM55V3.js.map} +0 -0
- /package/dist/{chunk-2BCZXNBX.js.map → chunk-FQFIRIKU.js.map} +0 -0
- /package/dist/{chunk-PFQB3V2U.js.map → chunk-FXVHH75C.js.map} +0 -0
- /package/dist/{chunk-3UBFABDS.js.map → chunk-GPY3JZJJ.js.map} +0 -0
- /package/dist/{chunk-UT3CQ2DH.js.map → chunk-GWQJKZ3M.js.map} +0 -0
- /package/dist/{chunk-VZ3JCO23.js.map → chunk-GYYQWPA6.js.map} +0 -0
- /package/dist/{chunk-LJUWER2H.js.map → chunk-HFFQ642D.js.map} +0 -0
- /package/dist/{chunk-DMNKKWLY.js.map → chunk-HQLGDW2G.js.map} +0 -0
- /package/dist/{chunk-PGCS6HUO.js.map → chunk-HTVGC4KT.js.map} +0 -0
- /package/dist/{chunk-F7QTO3NU.js.map → chunk-HWBEYYJO.js.map} +0 -0
- /package/dist/{chunk-SQCTVURR.js.map → chunk-IMCNVNKF.js.map} +0 -0
- /package/dist/{chunk-J2L3CYIS.js.map → chunk-INUCPQVI.js.map} +0 -0
- /package/dist/{chunk-34JOEA4E.js.map → chunk-J7I4WJ4G.js.map} +0 -0
- /package/dist/{chunk-4MB3FE3T.js.map → chunk-JH3WUGO5.js.map} +0 -0
- /package/dist/{chunk-6Z4U4GYV.js.map → chunk-JJK6BFGN.js.map} +0 -0
- /package/dist/{chunk-RYUBFXSX.js.map → chunk-KF54ACZP.js.map} +0 -0
- /package/dist/{chunk-FG2DNTDR.js.map → chunk-KZWB4FMM.js.map} +0 -0
- /package/dist/{chunk-LNR6TGLQ.js.map → chunk-LBMHLNKS.js.map} +0 -0
- /package/dist/{chunk-MKO33XZ5.js.map → chunk-LD633A5N.js.map} +0 -0
- /package/dist/{chunk-WLPWXK7I.js.map → chunk-LKTCYO6Y.js.map} +0 -0
- /package/dist/{chunk-JXZX66MM.js.map → chunk-LQFLXXBR.js.map} +0 -0
- /package/dist/{chunk-7ULM6AZK.js.map → chunk-MAEAZFMR.js.map} +0 -0
- /package/dist/{chunk-DSGQZDY6.js.map → chunk-MZN6VY5F.js.map} +0 -0
- /package/dist/{chunk-DJIQISA2.js.map → chunk-NDWVOVDM.js.map} +0 -0
- /package/dist/{chunk-WIFDQWVX.js.map → chunk-NFLN2YB6.js.map} +0 -0
- /package/dist/{chunk-XYF4TIRU.js.map → chunk-NGCNYQSC.js.map} +0 -0
- /package/dist/{chunk-3GCJILCE.js.map → chunk-NQWB6O7Z.js.map} +0 -0
- /package/dist/{chunk-FCY5FJMC.js.map → chunk-O3Y4DVNY.js.map} +0 -0
- /package/dist/{chunk-MC6VR4AZ.js.map → chunk-OUFFAMO5.js.map} +0 -0
- /package/dist/{chunk-DIH7KHWI.js.map → chunk-PMCCHSXD.js.map} +0 -0
- /package/dist/{chunk-7O4Y3DAM.js.map → chunk-PMIGYQEX.js.map} +0 -0
- /package/dist/{chunk-HBOMEPXQ.js.map → chunk-QHSIUKH6.js.map} +0 -0
- /package/dist/{chunk-ZOTY3CAM.js.map → chunk-QO7HHRNA.js.map} +0 -0
- /package/dist/{chunk-HHFGG3RU.js.map → chunk-R2S73YZ5.js.map} +0 -0
- /package/dist/{chunk-ECGNGVSC.js.map → chunk-R4JUCNE4.js.map} +0 -0
- /package/dist/{chunk-BB5K57D4.js.map → chunk-RBUSLLAQ.js.map} +0 -0
- /package/dist/{chunk-BOE6NL6T.js.map → chunk-RN3WPVBZ.js.map} +0 -0
- /package/dist/{chunk-FQFLC6YA.js.map → chunk-RRERBS7F.js.map} +0 -0
- /package/dist/{chunk-OK4RV6ZT.js.map → chunk-STFOY2NW.js.map} +0 -0
- /package/dist/{chunk-WYUPZMPN.js.map → chunk-STJU6LZF.js.map} +0 -0
- /package/dist/{chunk-PIKEYX3V.js.map → chunk-SU4FMKBZ.js.map} +0 -0
- /package/dist/{chunk-CPRWWJYQ.js.map → chunk-SUONIYV5.js.map} +0 -0
- /package/dist/{chunk-RKRYZZ3R.js.map → chunk-SY7QZIKZ.js.map} +0 -0
- /package/dist/{chunk-V3J5DAMB.js.map → chunk-SYSVKYHX.js.map} +0 -0
- /package/dist/{chunk-A7D2NNLM.js.map → chunk-TMS5VMVV.js.map} +0 -0
- /package/dist/{chunk-R744BZN2.js.map → chunk-TUAL6X2E.js.map} +0 -0
- /package/dist/{chunk-OETKBT6P.js.map → chunk-TVTJS3PE.js.map} +0 -0
- /package/dist/{chunk-6PWZ4TBI.js.map → chunk-TZIDQ5O3.js.map} +0 -0
- /package/dist/{chunk-W4LHXUIX.js.map → chunk-U7MAWO3U.js.map} +0 -0
- /package/dist/{chunk-RR57VT45.js.map → chunk-UCBZMQGL.js.map} +0 -0
- /package/dist/{chunk-3CJB74UF.js.map → chunk-UYYITOOO.js.map} +0 -0
- /package/dist/{chunk-YS6VDGFW.js.map → chunk-V2ZDW66A.js.map} +0 -0
- /package/dist/{chunk-RJXRGUNB.js.map → chunk-V6I7LW47.js.map} +0 -0
- /package/dist/{chunk-HFHQDWJN.js.map → chunk-VDXTVUFY.js.map} +0 -0
- /package/dist/{chunk-ARVKTD3V.js.map → chunk-VMXDQYTT.js.map} +0 -0
- /package/dist/{chunk-RFEF2B5D.js.map → chunk-VYLSS2C7.js.map} +0 -0
- /package/dist/{chunk-ZFF6E44S.js.map → chunk-VZ34NZXF.js.map} +0 -0
- /package/dist/{chunk-GF34UO7V.js.map → chunk-W3GEGGZY.js.map} +0 -0
- /package/dist/{chunk-S4JJIDWH.js.map → chunk-WKT6B3XE.js.map} +0 -0
- /package/dist/{chunk-KTPIKOUV.js.map → chunk-X7KIEFEN.js.map} +0 -0
- /package/dist/{chunk-LS4CLDLI.js.map → chunk-XDRJTAFV.js.map} +0 -0
- /package/dist/{chunk-NEKE5PRJ.js.map → chunk-XGECMN4V.js.map} +0 -0
- /package/dist/{chunk-3ID3UX2Q.js.map → chunk-XVZQBTB3.js.map} +0 -0
- /package/dist/{chunk-WMBHCIFS.js.map → chunk-Y3G3JGLP.js.map} +0 -0
- /package/dist/{chunk-Y3YYLANJ.js.map → chunk-YDL42SVF.js.map} +0 -0
- /package/dist/{chunk-V557KUHJ.js.map → chunk-YLU7JBHT.js.map} +0 -0
- /package/dist/{chunk-NRWIGTY2.js.map → chunk-YYWBJW65.js.map} +0 -0
- /package/dist/{chunk-A2TY3VWL.js.map → chunk-ZF3CYWGQ.js.map} +0 -0
- /package/dist/{chunk-3B6BHFDV.js.map → chunk-ZHFUFIWX.js.map} +0 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as ee}from"./chunk-NI4K773A.js";import{a as z}from"./chunk-VFRHMNLJ.js";import{a as W,b as X,c as Y,f as Z}from"./chunk-XVZQBTB3.js";import{a as C}from"./chunk-HN5HLFTB.js";import{a as I}from"./chunk-KFYWUBRS.js";import{c as te}from"./chunk-75N7DFXJ.js";import{a as Q}from"./chunk-S5BNS2JE.js";import{b as G,h as M}from"./chunk-NXRWBI36.js";import{a as o}from"./chunk-P37U34EQ.js";import{number as Te,object as le}from"yup";import{useCallback as we,useEffect as ne,useMemo as Re,useRef as Pe,useState as j}from"react";import{string as re,ValidationError as ie}from"yup";import{jsx as ae}from"react/jsx-runtime";var O={title:"Estimation",includeBenefits:!1,includeCostBreakdowns:!1,includePremiumBenefits:!1,enableCurrencyConversion:!1,includeEstimationTitle:!1,includeManagementFee:!1},xe=o(t=>Q(z.data.schema,void 0,t),"useStaticSchema");function Be(t,i){if(typeof t=="object"&&t!==null&&"title"in t){let l=t.title;if(l)return l}return i==="my_hiring_budget"?"Hiring budget":"Employee's annual salary"}o(Be,"getSalaryTitle");var Qe=o(({defaultRegion:t,defaultCurrency:i,defaultSalary:l,estimationOptions:s,options:n,version:a}={estimationOptions:O})=>{let c=Pe({fields:{}}),[k,h]=j(t),[w,R]=j(),[m,q]=j(),[H,ce]=j(),{data:_,isLoading:ue}=W({includePremiumBenefits:s.includePremiumBenefits}),{data:d,isLoading:me}=X(),de=k||w?.value,{data:P,isLoading:fe}=Z(de,{includePremiumBenefits:s.includePremiumBenefits,options:n}),U=Y(),{mutateAsync:ge}=G(U),b=w?.currency,p=n?.jsfModify?.fields?.salary,F=p&&typeof p=="object"&&"presentation"in p?p.presentation:void 0,L=we(()=>{let e=b&&m?b!==m:!1;return b!==m?{from:m,to:b,shouldSwapOrder:e}:{from:b,to:m,shouldSwapOrder:e}},[b,m]),D=s.showManagementFee,J=s.includeEstimationTitle,$=n?.features?.includes("split_salary_description")??!1,ye=Re(()=>{let{from:e,to:r,shouldSwapOrder:u}=L(),g=Be(p,H);return{fields:{salary:{...p,title:g,presentation:{salary_conversion_properties:{label:F?.salary_conversion_properties?.label,description:F?.salary_conversion_properties?.description},currencies:{from:e,to:r},Component:o(y=>ae(ee,{...y,shouldSwapOrder:u,conversionType:a==="marketing"?"no_spread":"spread",defaultValue:l,splitDescription:$}),"Component")}},hiring_budget:{...n?.jsfModify?.fields?.hiring_budget,presentation:{hidden:a=="marketing"}},management:{...n?.jsfModify?.fields?.management,properties:{...n?.jsfModify?.fields?.management?.properties,management_fee:{...n?.jsfModify?.fields?.management?.properties?.management_fee,"x-jsf-presentation":{inputType:"money",additionalProps:{currency:m||"USD"}}}},presentation:{...typeof n?.jsfModify?.fields?.management=="object"?(n?.jsfModify?.fields?.management)["x-jsf-presentation"]:{},hidden:!D,Component:o(y=>ae(te,{...y,variant:"inset",features:{toggle:{enabled:!0,stateField:"management._expanded",labels:{expand:"Define",collapse:"Remove"}}}}),"Component")}},estimation_title:{...n?.jsfModify?.fields?.estimation_title,"x-jsf-presentation":{hidden:!J}}}}},[L,p,H,F?.salary_conversion_properties?.label,F?.salary_conversion_properties?.description,n?.jsfModify?.fields?.hiring_budget,n?.jsfModify?.fields?.management,n?.jsfModify?.fields?.estimation_title,a,m,D,J,l,$]),f=xe({jsfModify:{fields:{...n?.jsfModify?.fields,...ye?.fields}}});ne(()=>{if(t&&_){let e=_.find(({value:r})=>r===t);e&&R(e)}},[t,_]),ne(()=>{if(i&&d){let e=d.find(({value:r})=>r===i);e&&q(e.label)}},[i,d]);async function pe(e){return ge(se(e,s,a))}o(pe,"onSubmit");function Ce(e){let r=_?.find(({value:u})=>u===e);r&&r.childRegions.length===0&&r.hasAdditionalFields?h(r.regionSlug):h(void 0),R(r)}o(Ce,"onCountryChange");function _e(e){h(e)}o(_e,"onRegionChange");function be(e){ce(e.target.value)}o(be,"onHiringBudgetChange");function Se(e){let r=d?.find(u=>u.value===e)?.label;q(r),n?.onCurrencyChange?.(r||"")}o(Se,"onChangeCurrency");let S=f.fields.find(e=>e.name==="region");if(S){let e=w?.childRegions.map(r=>({value:r.slug,label:r.name}))??[];S.options=e,S.isVisible=e.length>0,S.required=e.length>0,S.onChange=_e,S.schema=e.length>0?re().transform(r=>typeof r=="string"?r:"").required("Region is required"):re()}if(d){let e=f.fields.find(r=>r.name==="currency");e&&(e.options=d,e.onChange=Se)}let v=f.fields.find(e=>e.name==="hiring_budget");if(v&&(v.onChange=be),_){let e=f.fields.find(r=>r.name==="country");e&&(e.options=_,e.onChange=Ce)}let Ee=o(()=>{R(void 0),h(t)},"resetForm"),N=[...f.fields.filter(e=>e.name!=="management"),...P?.fields||[],...f.fields.filter(e=>e.name==="management")],K=oe(f.fields,m||"USD",s.includeEstimationTitle);async function he(e){let r=null;n?.onValidation?.(e);let u=await M(e,N);try{await K.validate(u,{abortEarly:!1}),r={formErrors:{},yupError:new ie([],e)}}catch(E){let B=I(E);r={formErrors:Object.entries(B).reduce((T,[A,V])=>({...T,[A]:V.message}),{}),yupError:E}}let g=P?.handleValidation(u),y=[...r?.yupError.inner||[],...g?.yupError?.inner||[]],x={...r?.yupError?.value||{},...g?.yupError?.value||{}};return{formErrors:{...r?.formErrors||{},...g?.formErrors||{}},yupError:new ie(y,x)}}return o(he,"handleValidation"),{stepState:{current:0,total:1,isLastStep:!0},fields:N,validationSchema:K,parseFormValues:o(async e=>{let{country:r,region:u,currency:g,salary_converted:y,hiring_budget:x,salary_conversion:E,management:B,estimation_title:T,...A}=e,V=e.salary;y==="salary_conversion"&&(V=E);let Fe=await M({country:r,region:u,salary:V,salary_converted:y,salary_conversion:E,hiring_budget:x,currency:g,management:B,estimation_title:T},f.fields),Ve=await M(A,P?.fields||[]),Me={currency_code:d?.find(je=>je.value===g)?.label};return{...Fe,...Ve,...Me}},"parseFormValues"),handleValidation:he,isSubmitting:U.isPending,isLoading:ue&&me&&fe,onSubmit:pe,resetForm:Ee,currencies:d,meta:{fields:c.current?.fields}}},"useCostCalculator");function oe(t,i,l){let s=t.reduce((n,a)=>(a.name==="salary"||a.name==="salary_conversion"?n[a.name]=a.schema.when("salary_converted",{is:o(c=>c===a.name,"is"),then:o(c=>c.required("Required field"),"then"),otherwise:o(c=>c.optional(),"otherwise")}):a.name==="management"?n[a.name]=le({management_fee:Te().transform(c=>isNaN(c)?void 0:c).min(0,"Management fee must be greater than or equal to 0").max(i?C[i]:C.USD,()=>`Management fee cannot exceed ${(i?C[i]:C.USD)/100} ${i}`)}):a.name==="estimation_title"&&l?n[a.name]=a.schema.required("Required field"):n[a.name]=a.schema,n),{});return le(s)}o(oe,"buildValidationSchema");function Ae(t){let i="benefit-";return Object.keys(t).reduce((l,s)=>{let n=t[s];if(n==="none")return l;let c={benefit_group_slug:s.replace(i,""),benefit_tier_slug:n};return[...l,c]},[])}o(Ae,"formatBenefits");function Oe(t,i,l){let s=Number(t.management?.management_fee),n=t.currency_code;return{...{region_slug:t.region||t.country,employment_term:t.contract_duration_type??"fixed",title:t.estimation_title||i.title,age:t.age??void 0,...t.benefits&&{benefits:Ae(t.benefits)},...i.includeManagementFee&&s&&{discount:{quoted_amount:i.showManagementFee?s:C[n]||C.USD,text:""}}},...ke(t,l)}}o(Oe,"mapValueToEmployment");function ke(t,i){let l=i==="marketing"||t.salary_converted==="salary_conversion",s=i==="standard"&&t.salary_converted==="salary",n=t.hiring_budget==="my_hiring_budget";if(l){let a=t.salary_converted==="salary_conversion";return n?{annual_total_cost_in_employer_currency:t.salary}:{[a?"annual_gross_salary_in_employer_currency":"annual_gross_salary"]:t.salary}}return s?n?{annual_total_cost:t.salary}:{annual_gross_salary:t.salary}:{}}o(ke,"getSalaryFields");function se(t,i=O,l="standard"){let s=Array.isArray(t)?t:[t];if(s.length===0)throw new Error("At least one employment value is required");return s.length>1&&new Set(s.map(a=>a.currency)).size>1&&console.warn("Multiple currencies detected in array. Using currency from first employment."),{employer_currency_slug:s[0].currency,include_benefits:i.includeBenefits,include_cost_breakdowns:i.includeCostBreakdowns,include_premium_benefits:i.includePremiumBenefits,include_management_fee:i.includeManagementFee,employments:s.map(n=>Oe(n,i,l))}}o(se,"buildPayload");export{oe as a,se as b,O as c,Qe as d};
|
|
2
|
+
//# sourceMappingURL=chunk-G2DAXZPD.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/flows/CostCalculator/utils.ts","../src/flows/CostCalculator/hooks.tsx"],"sourcesContent":["import type {\n CostCalculatorEmploymentParam,\n CostCalculatorEstimateParams,\n} from '@/src/client';\n\nimport { $TSFixMe } from '@/src/types/remoteFlows';\nimport { AnyObjectSchema, number, object } from 'yup';\nimport { CostCalculatorVersion, defaultEstimationOptions } from './hooks';\nimport type {\n CostCalculatorEstimationOptions,\n CostCalculatorEstimationSubmitValues,\n CurrencyKey,\n} from './types';\nimport { BASE_RATES } from '@/src/flows/CostCalculator/constants';\n\n/**\n * Build the validation schema for the form.\n * @returns\n */\nexport function buildValidationSchema(\n fields: $TSFixMe[],\n employerBillingCurrency: string,\n includeEstimationTitle?: boolean,\n) {\n const fieldsSchema = fields.reduce<Record<string, AnyObjectSchema>>(\n (fieldsSchemaAcc, field) => {\n // Special handling for salary fields\n if (field.name === 'salary' || field.name === 'salary_conversion') {\n fieldsSchemaAcc[field.name] = (field.schema as AnyObjectSchema).when(\n 'salary_converted',\n {\n is: (val: string | null) => val === field.name,\n then: (schema) => schema.required('Required field'),\n otherwise: (schema) => schema.optional(),\n },\n );\n } else if (field.name === 'management') {\n fieldsSchemaAcc[field.name] = object({\n management_fee: number()\n .transform((value) => {\n return isNaN(value) ? undefined : value;\n })\n .min(0, 'Management fee must be greater than or equal to 0')\n .max(\n employerBillingCurrency\n ? BASE_RATES[employerBillingCurrency as CurrencyKey]\n : BASE_RATES.USD,\n () => {\n const maxValue = employerBillingCurrency\n ? BASE_RATES[employerBillingCurrency as CurrencyKey]\n : BASE_RATES.USD;\n const displayValue = maxValue / 100;\n return `Management fee cannot exceed ${displayValue} ${employerBillingCurrency}`;\n },\n ),\n });\n } else if (field.name === 'estimation_title' && includeEstimationTitle) {\n // Make estimation_title required when includeEstimationTitle is true\n fieldsSchemaAcc[field.name] = (\n field.schema as AnyObjectSchema\n ).required('Required field');\n } else {\n fieldsSchemaAcc[field.name] = field.schema as AnyObjectSchema;\n }\n return fieldsSchemaAcc;\n },\n {},\n );\n return object(fieldsSchema) as AnyObjectSchema;\n}\n\n/**\n * Format the benefits to the expected format by the API.\n * @param benefits\n * @returns\n */\nfunction formatBenefits(benefits: Record<string, string>) {\n const needle = 'benefit-';\n return Object.keys(benefits).reduce<\n Array<{ benefit_group_slug: string; benefit_tier_slug: string }>\n >((acc, key) => {\n const benefitTierSlug = benefits[key];\n if (benefitTierSlug === 'none') {\n return acc;\n }\n const benefitGroupSlug = key.replace(needle, '');\n const benefitEntry = {\n benefit_group_slug: benefitGroupSlug,\n benefit_tier_slug: benefitTierSlug,\n };\n return [...acc, benefitEntry];\n }, []);\n}\n\nfunction mapValueToEmployment(\n value: CostCalculatorEstimationSubmitValues,\n estimationOptions: CostCalculatorEstimationOptions,\n version: CostCalculatorVersion,\n): CostCalculatorEmploymentParam {\n const managementFee = Number(value.management?.management_fee);\n const currencyCode = value.currency_code;\n\n const base: CostCalculatorEmploymentParam = {\n region_slug: value.region || value.country,\n employment_term: value.contract_duration_type ?? 'fixed',\n title: value.estimation_title || estimationOptions.title,\n age: value.age ?? undefined,\n ...(value.benefits && { benefits: formatBenefits(value.benefits) }),\n ...(estimationOptions.includeManagementFee &&\n managementFee && {\n discount: {\n quoted_amount: estimationOptions.showManagementFee\n ? managementFee\n : BASE_RATES[currencyCode as keyof typeof BASE_RATES] ||\n BASE_RATES.USD,\n text: '',\n },\n }),\n };\n\n return {\n ...base,\n ...getSalaryFields(value, version),\n };\n}\n\nfunction getSalaryFields(\n value: CostCalculatorEstimationSubmitValues,\n version: CostCalculatorVersion,\n): Partial<CostCalculatorEmploymentParam> {\n const isMarketing =\n version === 'marketing' || value.salary_converted === 'salary_conversion';\n const isStandard =\n version === 'standard' && value.salary_converted === 'salary';\n const useHiringBudget = value.hiring_budget === 'my_hiring_budget';\n\n if (isMarketing) {\n const useEmployerCurrency = value.salary_converted === 'salary_conversion';\n return useHiringBudget\n ? {\n annual_total_cost_in_employer_currency: value.salary,\n }\n : {\n [useEmployerCurrency\n ? 'annual_gross_salary_in_employer_currency'\n : 'annual_gross_salary']: value.salary,\n };\n }\n\n if (isStandard) {\n return useHiringBudget\n ? {\n annual_total_cost: value.salary,\n }\n : {\n annual_gross_salary: value.salary,\n };\n }\n\n return {};\n}\n\n/**\n * Build the payload for the cost calculator estimation.\n * @param values\n * @param estimationOptions\n * @returns\n */\nexport function buildPayload(\n values:\n | CostCalculatorEstimationSubmitValues\n | CostCalculatorEstimationSubmitValues[],\n estimationOptions: CostCalculatorEstimationOptions = defaultEstimationOptions,\n version: CostCalculatorVersion = 'standard',\n): CostCalculatorEstimateParams {\n const employments = Array.isArray(values) ? values : [values];\n\n if (employments.length === 0) {\n throw new Error('At least one employment value is required');\n }\n\n if (employments.length > 1) {\n const currencies = new Set(employments.map((v) => v.currency));\n if (currencies.size > 1) {\n console.warn(\n 'Multiple currencies detected in array. Using currency from first employment.',\n );\n }\n }\n\n return {\n employer_currency_slug: employments[0].currency,\n include_benefits: estimationOptions.includeBenefits,\n include_cost_breakdowns: estimationOptions.includeCostBreakdowns,\n include_premium_benefits: estimationOptions.includePremiumBenefits,\n include_management_fee: estimationOptions.includeManagementFee,\n employments: employments.map((value) =>\n mapValueToEmployment(value, estimationOptions, version),\n ),\n };\n}\n","import { MinimalRegion } from '@/src/client';\nimport { jsonSchema } from '@/src/flows/CostCalculator/jsonSchema';\nimport type {\n CostCalculatorEstimationFormValues,\n CostCalculatorEstimationOptions,\n CostCalculatorEstimationSubmitValues,\n UseCostCalculatorOptions,\n} from '@/src/flows/CostCalculator/types';\nimport type { JSFModify } from '@/src/flows/types';\n\nimport { parseJSFToValidate } from '@/src/components/form/utils';\nimport { iterateErrors } from '@/src/components/form/validationResolver';\nimport { createHeadlessForm } from '@/src/common/createHeadlessForm';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { string, ValidationError } from 'yup';\nimport { buildPayload, buildValidationSchema } from './utils';\nimport {\n useCompanyCurrencies,\n useCostCalculatorCountries,\n useCostCalculatorEstimation,\n useRegionFields,\n} from '@/src/flows/CostCalculator/api';\nimport { $TSFixMe, JSFField, Meta } from '@/src/types/remoteFlows';\nimport { SalaryField } from '@/src/flows/CostCalculator/components/SalaryField';\nimport {\n FieldSetField,\n FieldSetProps,\n} from '@/src/components/form/fields/FieldSetField';\nimport { mutationToPromise } from '@/src/lib/mutations';\nexport type CostCalculatorVersion = 'standard' | 'marketing';\n\ntype CostCalculatorCountry = {\n value: string;\n label: string;\n childRegions: MinimalRegion[];\n hasAdditionalFields: boolean | undefined;\n regionSlug: string;\n currency: string;\n};\n\ntype JSFValidationError = {\n formErrors: Record<\n string,\n {\n type: string;\n message: string;\n }\n >;\n yupError: ValidationError;\n};\n\nexport const defaultEstimationOptions: CostCalculatorEstimationOptions = {\n title: 'Estimation',\n includeBenefits: false,\n includeCostBreakdowns: false,\n includePremiumBenefits: false,\n enableCurrencyConversion: false,\n includeEstimationTitle: false,\n includeManagementFee: false,\n};\n\ntype UseCostCalculatorParams = {\n /**\n * The default region slug to preselect a country and a region.\n */\n defaultRegion?: string;\n /**\n * The default currency slug to preselect a currency.\n */\n defaultCurrency?: string;\n\n /**\n * The default salary to preselect a salary.\n */\n defaultSalary?: string;\n /**\n * The estimation options.\n */\n estimationOptions: CostCalculatorEstimationOptions;\n options?: UseCostCalculatorOptions;\n version?: CostCalculatorVersion;\n};\n\nconst useStaticSchema = (options?: { jsfModify?: JSFModify }) => {\n return createHeadlessForm(jsonSchema.data.schema, undefined, options);\n};\n\ntype HiringBudget = 'my_hiring_budget' | 'employee_annual_salary';\n\nfunction getSalaryTitle(\n salaryField: unknown,\n hiringBudget?: HiringBudget,\n): string {\n if (\n typeof salaryField === 'object' &&\n salaryField !== null &&\n 'title' in salaryField\n ) {\n const title = (salaryField as { title?: string }).title;\n if (title) return title;\n }\n return hiringBudget === 'my_hiring_budget'\n ? 'Hiring budget'\n : \"Employee's annual salary\";\n}\n\n/**\n * Hook to use the cost calculator.\n */\nexport const useCostCalculator = (\n {\n defaultRegion,\n defaultCurrency,\n defaultSalary,\n estimationOptions,\n options,\n version,\n }: UseCostCalculatorParams = {\n estimationOptions: defaultEstimationOptions,\n },\n) => {\n const fieldsMetaRef = useRef<{\n fields: Meta;\n }>({\n fields: {},\n });\n const [selectedRegion, setSelectedRegion] = useState<string | undefined>(\n defaultRegion,\n );\n const [selectedCountry, setSelectedCountry] =\n useState<CostCalculatorCountry>();\n const [employerBillingCurrency, setEmployerBillingCurrency] = useState<\n string | undefined\n >();\n const [hiringBudget, setHiringBudget] = useState<HiringBudget>();\n const { data: countries, isLoading: isLoadingCountries } =\n useCostCalculatorCountries({\n includePremiumBenefits: estimationOptions.includePremiumBenefits,\n });\n const { data: currencies, isLoading: isLoadingCurrencies } =\n useCompanyCurrencies();\n\n const jsonSchemaRegionSlug = selectedRegion || selectedCountry?.value;\n\n const { data: jsonSchemaRegionFields, isLoading: isLoadingRegionFields } =\n useRegionFields(jsonSchemaRegionSlug, {\n includePremiumBenefits: estimationOptions.includePremiumBenefits,\n options,\n });\n const costCalculatorEstimationMutation = useCostCalculatorEstimation();\n const { mutateAsync: costCalculatorEstimationMutationAsync } =\n mutationToPromise(costCalculatorEstimationMutation);\n const employeeBillingCurrency = selectedCountry?.currency;\n\n const salaryField = options?.jsfModify?.fields?.salary;\n const salaryFieldPresentation =\n salaryField &&\n typeof salaryField === 'object' &&\n 'presentation' in salaryField\n ? (\n salaryField as {\n presentation?: {\n salary_conversion_properties?: {\n label?: string;\n description?: string;\n };\n };\n }\n ).presentation\n : undefined;\n\n const getCurrencies = useCallback(() => {\n const shouldSwapOrder =\n employeeBillingCurrency && employerBillingCurrency\n ? employeeBillingCurrency !== employerBillingCurrency\n : false;\n\n if (employeeBillingCurrency !== employerBillingCurrency) {\n return {\n from: employerBillingCurrency,\n to: employeeBillingCurrency,\n shouldSwapOrder,\n };\n }\n\n return {\n from: employeeBillingCurrency,\n to: employerBillingCurrency,\n shouldSwapOrder,\n };\n }, [employeeBillingCurrency, employerBillingCurrency]);\n\n const showManagementField = estimationOptions.showManagementFee;\n const showEstimationTitleField = estimationOptions.includeEstimationTitle;\n const useSplitSalaryDescription =\n options?.features?.includes('split_salary_description') ?? false;\n const customFields = useMemo(() => {\n const { from, to, shouldSwapOrder } = getCurrencies();\n const salaryTitle = getSalaryTitle(salaryField, hiringBudget);\n\n return {\n fields: {\n salary: {\n ...salaryField,\n title: salaryTitle,\n presentation: {\n salary_conversion_properties: {\n label:\n salaryFieldPresentation?.salary_conversion_properties?.label,\n description:\n salaryFieldPresentation?.salary_conversion_properties\n ?.description,\n },\n currencies: { from, to },\n Component: (\n props: JSFField & { currencies: { from: string; to: string } },\n ) => {\n return (\n <SalaryField\n {...props}\n shouldSwapOrder={shouldSwapOrder}\n conversionType={\n version === 'marketing' ? 'no_spread' : 'spread'\n }\n defaultValue={defaultSalary}\n splitDescription={useSplitSalaryDescription}\n />\n );\n },\n },\n },\n hiring_budget: {\n ...options?.jsfModify?.fields?.hiring_budget,\n presentation: {\n hidden: version == 'marketing',\n },\n },\n management: {\n ...options?.jsfModify?.fields?.management,\n properties: {\n ...(options?.jsfModify?.fields?.management as $TSFixMe)?.properties,\n management_fee: {\n ...(options?.jsfModify?.fields?.management as $TSFixMe)\n ?.properties?.management_fee,\n 'x-jsf-presentation': {\n inputType: 'money',\n additionalProps: {\n currency: employerBillingCurrency || 'USD',\n },\n },\n },\n },\n presentation: {\n ...(typeof options?.jsfModify?.fields?.management === 'object'\n ? (\n options?.jsfModify?.fields?.management as Record<\n string,\n $TSFixMe\n >\n )['x-jsf-presentation']\n : {}),\n hidden: !showManagementField,\n Component: (props: FieldSetProps) => {\n return (\n <FieldSetField\n {...props}\n variant='inset'\n features={{\n toggle: {\n enabled: true,\n stateField: 'management._expanded',\n labels: {\n expand: 'Define',\n collapse: 'Remove',\n },\n },\n }}\n />\n );\n },\n },\n },\n estimation_title: {\n ...options?.jsfModify?.fields?.estimation_title,\n 'x-jsf-presentation': {\n hidden: !showEstimationTitleField,\n },\n },\n },\n };\n }, [\n getCurrencies,\n salaryField,\n hiringBudget,\n salaryFieldPresentation?.salary_conversion_properties?.label,\n salaryFieldPresentation?.salary_conversion_properties?.description,\n options?.jsfModify?.fields?.hiring_budget,\n options?.jsfModify?.fields?.management,\n options?.jsfModify?.fields?.estimation_title,\n version,\n employerBillingCurrency,\n showManagementField,\n showEstimationTitleField,\n defaultSalary,\n useSplitSalaryDescription,\n ]);\n\n const fieldsJSONSchema = useStaticSchema({\n jsfModify: {\n fields: {\n ...options?.jsfModify?.fields,\n ...customFields?.fields,\n },\n },\n });\n\n useEffect(() => {\n // Initialize selectedCountry from defaultRegion\n if (defaultRegion && countries) {\n const defaultCountry = countries.find(\n ({ value }) => value === defaultRegion,\n );\n if (defaultCountry) {\n setSelectedCountry(defaultCountry);\n }\n }\n }, [defaultRegion, countries]);\n\n useEffect(() => {\n // Initialize selectedCurrency from defaultCurrency\n if (defaultCurrency && currencies) {\n const defaultCurrencyObj = currencies.find(\n ({ value }) => value === defaultCurrency,\n );\n if (defaultCurrencyObj) {\n setEmployerBillingCurrency(defaultCurrencyObj.label);\n }\n }\n }, [defaultCurrency, currencies]);\n\n /**\n * Submit the estimation form with the given values.\n * @param values\n */\n async function onSubmit(values: CostCalculatorEstimationSubmitValues) {\n return costCalculatorEstimationMutationAsync(\n buildPayload(values, estimationOptions, version),\n );\n }\n\n /**\n * If the selected country has no child regions and has additional fields,\n * set the current region to the country's region slug and fetch the region fields.\n * @param country\n */\n function onCountryChange(country: string) {\n const currentCountry = countries?.find(({ value }) => value === country);\n\n if (\n currentCountry &&\n currentCountry.childRegions.length === 0 &&\n currentCountry.hasAdditionalFields\n ) {\n setSelectedRegion(currentCountry.regionSlug);\n } else {\n setSelectedRegion(undefined);\n }\n setSelectedCountry(currentCountry);\n }\n\n /**\n * Update the selected region and fetch the region fields.\n * @param region\n */\n function onRegionChange(region: string) {\n setSelectedRegion(region);\n }\n\n function onHiringBudgetChange(event: React.ChangeEvent<HTMLInputElement>) {\n setHiringBudget(event.target.value as HiringBudget);\n }\n\n function onChangeCurrency(currency: string) {\n const selectedCurrency = currencies?.find(\n (c) => c.value === currency,\n )?.label;\n setEmployerBillingCurrency(selectedCurrency);\n options?.onCurrencyChange?.(selectedCurrency || '');\n }\n\n const regionField = fieldsJSONSchema.fields.find(\n (field) => field.name === 'region',\n );\n\n if (regionField) {\n const regions =\n selectedCountry?.childRegions.map((region) => ({\n value: region.slug,\n label: region.name,\n })) ?? [];\n regionField.options = regions;\n regionField.isVisible = regions.length > 0;\n regionField.required = regions.length > 0;\n regionField.onChange = onRegionChange;\n regionField.schema =\n regions.length > 0\n ? string()\n .transform((value) => (typeof value === 'string' ? value : ''))\n .required('Region is required')\n : string();\n }\n\n if (currencies) {\n const currencyField = fieldsJSONSchema.fields.find(\n (field) => field.name === 'currency',\n );\n if (currencyField) {\n currencyField.options = currencies;\n currencyField.onChange = onChangeCurrency;\n }\n }\n\n const hiringBudgetField = fieldsJSONSchema.fields.find(\n (field) => field.name === 'hiring_budget',\n );\n if (hiringBudgetField) {\n hiringBudgetField.onChange = onHiringBudgetChange;\n }\n\n if (countries) {\n const countryField = fieldsJSONSchema.fields.find(\n (field) => field.name === 'country',\n );\n if (countryField) {\n countryField.options = countries;\n countryField.onChange = onCountryChange;\n }\n }\n\n const resetForm = () => {\n setSelectedCountry(undefined);\n setSelectedRegion(defaultRegion);\n };\n\n const allFields = [\n ...fieldsJSONSchema.fields.filter((field) => field.name !== 'management'),\n ...(jsonSchemaRegionFields?.fields || []),\n ...fieldsJSONSchema.fields.filter((field) => field.name === 'management'),\n ];\n\n const validationSchema = buildValidationSchema(\n fieldsJSONSchema.fields,\n employerBillingCurrency || 'USD',\n estimationOptions.includeEstimationTitle,\n );\n\n async function handleValidation(values: CostCalculatorEstimationFormValues) {\n let errors: JSFValidationError | null = null;\n\n options?.onValidation?.(values);\n const parsedValues = await parseJSFToValidate(values, allFields);\n\n // 1. validate static fields first using Yup validate function\n try {\n await validationSchema.validate(parsedValues, {\n abortEarly: false,\n });\n errors = {\n formErrors: {},\n yupError: new ValidationError([], values),\n };\n } catch (error) {\n const iterateResult = iterateErrors(error as ValidationError);\n\n errors = {\n // convert the errors to a format that can be used in the form\n formErrors: Object.entries(iterateResult).reduce(\n (acc, [key, value]) => ({ ...acc, [key]: value.message }),\n {},\n ),\n yupError: error as ValidationError,\n };\n }\n\n // 2. validate json schema fields using the handleValidation (from json-schema-form)\n const handleValidationResult =\n jsonSchemaRegionFields?.handleValidation(parsedValues);\n\n // 3. combine the errors from both validations\n const combinedInnerErrors = [\n ...(errors?.yupError.inner || []),\n ...((handleValidationResult as { yupError: ValidationError })?.yupError\n ?.inner || []),\n ];\n const combinedValues = {\n ...(errors?.yupError?.value || {}),\n ...((handleValidationResult as { yupError: ValidationError })?.yupError\n ?.value || {}),\n };\n\n return {\n formErrors: {\n ...(errors?.formErrors || {}),\n ...(handleValidationResult?.formErrors || {}),\n },\n yupError: new ValidationError(combinedInnerErrors, combinedValues),\n };\n }\n\n // WE NEED TO FIX: react-hooks/refs - Cannot access ref value during render\n // oxlint-disable-next-line react-hooks/refs\n return {\n /**\n * Current step state containing the current step and total number of steps\n */\n stepState: {\n current: 0,\n total: 1,\n isLastStep: true,\n },\n /**\n * Array of form fields from the cost calculator schema + dynamic region fields like benefits, age, etc.\n */\n fields: allFields,\n /**\n * Validation schema for the cost calculator form\n */\n validationSchema,\n /**\n * Function to parse form values before submission\n * @param values - Form values to parse\n * @returns Parsed form values\n */\n parseFormValues: async (\n values: CostCalculatorEstimationFormValues,\n ): Promise<CostCalculatorEstimationSubmitValues> => {\n const {\n country,\n region,\n currency,\n salary_converted,\n hiring_budget,\n salary_conversion,\n management,\n estimation_title,\n ...rest\n } = values;\n\n // If the salary has been converted, we take the one the user has inputted\n let salary = values.salary;\n if (salary_converted === 'salary_conversion') {\n salary = salary_conversion;\n }\n\n const jsonSchemaStaticFieldValues = {\n country,\n region,\n salary,\n salary_converted,\n salary_conversion,\n hiring_budget,\n currency,\n management,\n estimation_title,\n };\n\n const parsedStaticFields = await parseJSFToValidate(\n jsonSchemaStaticFieldValues,\n fieldsJSONSchema.fields,\n );\n\n const parsedRegionFields = await parseJSFToValidate(\n rest,\n jsonSchemaRegionFields?.fields || [],\n );\n\n const additionalFields = {\n currency_code: currencies?.find((c) => c.value === currency)?.label,\n };\n\n return {\n ...parsedStaticFields,\n ...parsedRegionFields,\n ...additionalFields,\n } as CostCalculatorEstimationSubmitValues;\n },\n /**\n * Function to handle validation of the cost calculator form\n * @param values - Form values to validate\n * @returns Validation result\n */\n handleValidation,\n /**\n * Whether the cost calculator form is currently being submitted\n */\n isSubmitting: costCalculatorEstimationMutation.isPending,\n /**\n * Whether the cost calculator form is currently loading\n */\n isLoading:\n isLoadingCountries && isLoadingCurrencies && isLoadingRegionFields,\n /**\n * Function to submit the cost calculator form\n */\n onSubmit,\n /**\n * Function to reset the cost calculator form\n */\n resetForm,\n\n /**\n * Currencies data useful to get the currency if you have a currencySlug\n */\n currencies,\n\n /**\n * Fields metadata\n */\n // WE NEED TO FIX: react-hooks/refs - Cannot access ref value during render\n // oxlint-disable-next-line react-hooks/refs\n meta: {\n // WE NEED TO FIX: react-hooks/refs - Cannot access ref value during render\n // oxlint-disable-next-line react-hooks/refs\n fields: fieldsMetaRef.current?.fields,\n },\n };\n};\n"],"mappings":"sYAMA,OAA0B,UAAAA,GAAQ,UAAAC,OAAc,MCOhD,OAAS,eAAAC,GAAa,aAAAC,GAAW,WAAAC,GAAS,UAAAC,GAAQ,YAAAC,MAAgB,QAClE,OAAS,UAAAC,GAAQ,mBAAAC,OAAuB,MA4MxB,cAAAC,OAAA,oBAvKT,IAAMC,EAA4D,CACvE,MAAO,aACP,gBAAiB,GACjB,sBAAuB,GACvB,uBAAwB,GACxB,yBAA0B,GAC1B,uBAAwB,GACxB,qBAAsB,EACxB,EAwBMC,GAAkBC,EAACC,GAChBC,EAAmBC,EAAW,KAAK,OAAQ,OAAWF,CAAO,EAD9C,mBAMxB,SAASG,GACPC,EACAC,EACQ,CACR,GACE,OAAOD,GAAgB,UACvBA,IAAgB,MAChB,UAAWA,EACX,CACA,IAAME,EAASF,EAAmC,MAClD,GAAIE,EAAO,OAAOA,CACpB,CACA,OAAOD,IAAiB,mBACpB,gBACA,0BACN,CAfSN,EAAAI,GAAA,kBAoBF,IAAMI,GAAoBR,EAAA,CAC/B,CACE,cAAAS,EACA,gBAAAC,EACA,cAAAC,EACA,kBAAAC,EACA,QAAAX,EACA,QAAAY,CACF,EAA6B,CAC3B,kBAAmBf,CACrB,IACG,CACH,IAAMgB,EAAgBC,GAEnB,CACD,OAAQ,CAAC,CACX,CAAC,EACK,CAACC,EAAgBC,CAAiB,EAAIC,EAC1CT,CACF,EACM,CAACU,EAAiBC,CAAkB,EACxCF,EAAgC,EAC5B,CAACG,EAAyBC,CAA0B,EAAIJ,EAE5D,EACI,CAACZ,EAAciB,EAAe,EAAIL,EAAuB,EACzD,CAAE,KAAMM,EAAW,UAAWC,EAAmB,EACrDC,EAA2B,CACzB,uBAAwBd,EAAkB,sBAC5C,CAAC,EACG,CAAE,KAAMe,EAAY,UAAWC,EAAoB,EACvDC,EAAqB,EAEjBC,GAAuBd,GAAkBG,GAAiB,MAE1D,CAAE,KAAMY,EAAwB,UAAWC,EAAsB,EACrEC,EAAgBH,GAAsB,CACpC,uBAAwBlB,EAAkB,uBAC1C,QAAAX,CACF,CAAC,EACGiC,EAAmCC,EAA4B,EAC/D,CAAE,YAAaC,EAAsC,EACzDC,EAAkBH,CAAgC,EAC9CI,EAA0BnB,GAAiB,SAE3Cd,EAAcJ,GAAS,WAAW,QAAQ,OAC1CsC,EACJlC,GACA,OAAOA,GAAgB,UACvB,iBAAkBA,EAEZA,EAQA,aACF,OAEAmC,EAAgBC,GAAY,IAAM,CACtC,IAAMC,EACJJ,GAA2BjB,EACvBiB,IAA4BjB,EAC5B,GAEN,OAAIiB,IAA4BjB,EACvB,CACL,KAAMA,EACN,GAAIiB,EACJ,gBAAAI,CACF,EAGK,CACL,KAAMJ,EACN,GAAIjB,EACJ,gBAAAqB,CACF,CACF,EAAG,CAACJ,EAAyBjB,CAAuB,CAAC,EAE/CsB,EAAsB/B,EAAkB,kBACxCgC,EAA2BhC,EAAkB,uBAC7CiC,EACJ5C,GAAS,UAAU,SAAS,0BAA0B,GAAK,GACvD6C,GAAeC,GAAQ,IAAM,CACjC,GAAM,CAAE,KAAAC,EAAM,GAAAC,EAAI,gBAAAP,CAAgB,EAAIF,EAAc,EAC9CU,EAAc9C,GAAeC,EAAaC,CAAY,EAE5D,MAAO,CACL,OAAQ,CACN,OAAQ,CACN,GAAGD,EACH,MAAO6C,EACP,aAAc,CACZ,6BAA8B,CAC5B,MACEX,GAAyB,8BAA8B,MACzD,YACEA,GAAyB,8BACrB,WACR,EACA,WAAY,CAAE,KAAAS,EAAM,GAAAC,CAAG,EACvB,UAAWjD,EACTmD,GAGEtD,GAACuD,GAAA,CACE,GAAGD,EACJ,gBAAiBT,EACjB,eACE7B,IAAY,YAAc,YAAc,SAE1C,aAAcF,EACd,iBAAkBkC,EACpB,EAZO,YAeb,CACF,EACA,cAAe,CACb,GAAG5C,GAAS,WAAW,QAAQ,cAC/B,aAAc,CACZ,OAAQY,GAAW,WACrB,CACF,EACA,WAAY,CACV,GAAGZ,GAAS,WAAW,QAAQ,WAC/B,WAAY,CACV,GAAIA,GAAS,WAAW,QAAQ,YAAyB,WACzD,eAAgB,CACd,GAAIA,GAAS,WAAW,QAAQ,YAC5B,YAAY,eAChB,qBAAsB,CACpB,UAAW,QACX,gBAAiB,CACf,SAAUoB,GAA2B,KACvC,CACF,CACF,CACF,EACA,aAAc,CACZ,GAAI,OAAOpB,GAAS,WAAW,QAAQ,YAAe,UAEhDA,GAAS,WAAW,QAAQ,YAI5B,oBAAoB,EACtB,CAAC,EACL,OAAQ,CAAC0C,EACT,UAAW3C,EAACmD,GAERtD,GAACwD,GAAA,CACE,GAAGF,EACJ,QAAQ,QACR,SAAU,CACR,OAAQ,CACN,QAAS,GACT,WAAY,uBACZ,OAAQ,CACN,OAAQ,SACR,SAAU,QACZ,CACF,CACF,EACF,EAfO,YAkBb,CACF,EACA,iBAAkB,CAChB,GAAGlD,GAAS,WAAW,QAAQ,iBAC/B,qBAAsB,CACpB,OAAQ,CAAC2C,CACX,CACF,CACF,CACF,CACF,EAAG,CACDJ,EACAnC,EACAC,EACAiC,GAAyB,8BAA8B,MACvDA,GAAyB,8BAA8B,YACvDtC,GAAS,WAAW,QAAQ,cAC5BA,GAAS,WAAW,QAAQ,WAC5BA,GAAS,WAAW,QAAQ,iBAC5BY,EACAQ,EACAsB,EACAC,EACAjC,EACAkC,CACF,CAAC,EAEKS,EAAmBvD,GAAgB,CACvC,UAAW,CACT,OAAQ,CACN,GAAGE,GAAS,WAAW,OACvB,GAAG6C,IAAc,MACnB,CACF,CACF,CAAC,EAEDS,GAAU,IAAM,CAEd,GAAI9C,GAAiBe,EAAW,CAC9B,IAAMgC,EAAiBhC,EAAU,KAC/B,CAAC,CAAE,MAAAiC,CAAM,IAAMA,IAAUhD,CAC3B,EACI+C,GACFpC,EAAmBoC,CAAc,CAErC,CACF,EAAG,CAAC/C,EAAee,CAAS,CAAC,EAE7B+B,GAAU,IAAM,CAEd,GAAI7C,GAAmBiB,EAAY,CACjC,IAAM+B,EAAqB/B,EAAW,KACpC,CAAC,CAAE,MAAA8B,CAAM,IAAMA,IAAU/C,CAC3B,EACIgD,GACFpC,EAA2BoC,EAAmB,KAAK,CAEvD,CACF,EAAG,CAAChD,EAAiBiB,CAAU,CAAC,EAMhC,eAAegC,GAASC,EAA8C,CACpE,OAAOxB,GACLyB,GAAaD,EAAQhD,EAAmBC,CAAO,CACjD,CACF,CAJeb,EAAA2D,GAAA,YAWf,SAASG,GAAgBC,EAAiB,CACxC,IAAMC,EAAiBxC,GAAW,KAAK,CAAC,CAAE,MAAAiC,CAAM,IAAMA,IAAUM,CAAO,EAGrEC,GACAA,EAAe,aAAa,SAAW,GACvCA,EAAe,oBAEf/C,EAAkB+C,EAAe,UAAU,EAE3C/C,EAAkB,MAAS,EAE7BG,EAAmB4C,CAAc,CACnC,CAbShE,EAAA8D,GAAA,mBAmBT,SAASG,GAAeC,EAAgB,CACtCjD,EAAkBiD,CAAM,CAC1B,CAFSlE,EAAAiE,GAAA,kBAIT,SAASE,GAAqBC,EAA4C,CACxE7C,GAAgB6C,EAAM,OAAO,KAAqB,CACpD,CAFSpE,EAAAmE,GAAA,wBAIT,SAASE,GAAiBC,EAAkB,CAC1C,IAAMC,EAAmB5C,GAAY,KAClC6C,GAAMA,EAAE,QAAUF,CACrB,GAAG,MACHhD,EAA2BiD,CAAgB,EAC3CtE,GAAS,mBAAmBsE,GAAoB,EAAE,CACpD,CANSvE,EAAAqE,GAAA,oBAQT,IAAMI,EAAcnB,EAAiB,OAAO,KACzCoB,GAAUA,EAAM,OAAS,QAC5B,EAEA,GAAID,EAAa,CACf,IAAME,EACJxD,GAAiB,aAAa,IAAK+C,IAAY,CAC7C,MAAOA,EAAO,KACd,MAAOA,EAAO,IAChB,EAAE,GAAK,CAAC,EACVO,EAAY,QAAUE,EACtBF,EAAY,UAAYE,EAAQ,OAAS,EACzCF,EAAY,SAAWE,EAAQ,OAAS,EACxCF,EAAY,SAAWR,GACvBQ,EAAY,OACVE,EAAQ,OAAS,EACbC,GAAO,EACJ,UAAWnB,GAAW,OAAOA,GAAU,SAAWA,EAAQ,EAAG,EAC7D,SAAS,oBAAoB,EAChCmB,GAAO,CACf,CAEA,GAAIjD,EAAY,CACd,IAAMkD,EAAgBvB,EAAiB,OAAO,KAC3CoB,GAAUA,EAAM,OAAS,UAC5B,EACIG,IACFA,EAAc,QAAUlD,EACxBkD,EAAc,SAAWR,GAE7B,CAEA,IAAMS,EAAoBxB,EAAiB,OAAO,KAC/CoB,GAAUA,EAAM,OAAS,eAC5B,EAKA,GAJII,IACFA,EAAkB,SAAWX,IAG3B3C,EAAW,CACb,IAAMuD,EAAezB,EAAiB,OAAO,KAC1CoB,GAAUA,EAAM,OAAS,SAC5B,EACIK,IACFA,EAAa,QAAUvD,EACvBuD,EAAa,SAAWjB,GAE5B,CAEA,IAAMkB,GAAYhF,EAAA,IAAM,CACtBoB,EAAmB,MAAS,EAC5BH,EAAkBR,CAAa,CACjC,EAHkB,aAKZwE,EAAY,CAChB,GAAG3B,EAAiB,OAAO,OAAQoB,GAAUA,EAAM,OAAS,YAAY,EACxE,GAAI3C,GAAwB,QAAU,CAAC,EACvC,GAAGuB,EAAiB,OAAO,OAAQoB,GAAUA,EAAM,OAAS,YAAY,CAC1E,EAEMQ,EAAmBC,GACvB7B,EAAiB,OACjBjC,GAA2B,MAC3BT,EAAkB,sBACpB,EAEA,eAAewE,GAAiBxB,EAA4C,CAC1E,IAAIyB,EAAoC,KAExCpF,GAAS,eAAe2D,CAAM,EAC9B,IAAM0B,EAAe,MAAMC,EAAmB3B,EAAQqB,CAAS,EAG/D,GAAI,CACF,MAAMC,EAAiB,SAASI,EAAc,CAC5C,WAAY,EACd,CAAC,EACDD,EAAS,CACP,WAAY,CAAC,EACb,SAAU,IAAIG,GAAgB,CAAC,EAAG5B,CAAM,CAC1C,CACF,OAAS6B,EAAO,CACd,IAAMC,EAAgBC,EAAcF,CAAwB,EAE5DJ,EAAS,CAEP,WAAY,OAAO,QAAQK,CAAa,EAAE,OACxC,CAACE,EAAK,CAACC,EAAKpC,CAAK,KAAO,CAAE,GAAGmC,EAAK,CAACC,CAAG,EAAGpC,EAAM,OAAQ,GACvD,CAAC,CACH,EACA,SAAUgC,CACZ,CACF,CAGA,IAAMK,EACJ/D,GAAwB,iBAAiBuD,CAAY,EAGjDS,EAAsB,CAC1B,GAAIV,GAAQ,SAAS,OAAS,CAAC,EAC/B,GAAKS,GAA0D,UAC3D,OAAS,CAAC,CAChB,EACME,EAAiB,CACrB,GAAIX,GAAQ,UAAU,OAAS,CAAC,EAChC,GAAKS,GAA0D,UAC3D,OAAS,CAAC,CAChB,EAEA,MAAO,CACL,WAAY,CACV,GAAIT,GAAQ,YAAc,CAAC,EAC3B,GAAIS,GAAwB,YAAc,CAAC,CAC7C,EACA,SAAU,IAAIN,GAAgBO,EAAqBC,CAAc,CACnE,CACF,CAnDe,OAAAhG,EAAAoF,GAAA,oBAuDR,CAIL,UAAW,CACT,QAAS,EACT,MAAO,EACP,WAAY,EACd,EAIA,OAAQH,EAIR,iBAAAC,EAMA,gBAAiBlF,EAAA,MACf4D,GACkD,CAClD,GAAM,CACJ,QAAAG,EACA,OAAAG,EACA,SAAAI,EACA,iBAAA2B,EACA,cAAAC,EACA,kBAAAC,EACA,WAAAC,EACA,iBAAAC,EACA,GAAGC,CACL,EAAI1C,EAGA2C,EAAS3C,EAAO,OAChBqC,IAAqB,sBACvBM,EAASJ,GAeX,IAAMK,GAAqB,MAAMjB,EAZG,CAClC,QAAAxB,EACA,OAAAG,EACA,OAAAqC,EACA,iBAAAN,EACA,kBAAAE,EACA,cAAAD,EACA,SAAA5B,EACA,WAAA8B,EACA,iBAAAC,CACF,EAIE/C,EAAiB,MACnB,EAEMmD,GAAqB,MAAMlB,EAC/Be,EACAvE,GAAwB,QAAU,CAAC,CACrC,EAEM2E,GAAmB,CACvB,cAAe/E,GAAY,KAAM6C,IAAMA,GAAE,QAAUF,CAAQ,GAAG,KAChE,EAEA,MAAO,CACL,GAAGkC,GACH,GAAGC,GACH,GAAGC,EACL,CACF,EApDiB,mBA0DjB,iBAAAtB,GAIA,aAAclD,EAAiC,UAI/C,UACET,IAAsBG,IAAuBI,GAI/C,SAAA2B,GAIA,UAAAqB,GAKA,WAAArD,EAOA,KAAM,CAGJ,OAAQb,EAAc,SAAS,MACjC,CACF,CACF,EArgBiC,qBD1F1B,SAAS6F,GACdC,EACAC,EACAC,EACA,CACA,IAAMC,EAAeH,EAAO,OAC1B,CAACI,EAAiBC,KAEZA,EAAM,OAAS,UAAYA,EAAM,OAAS,oBAC5CD,EAAgBC,EAAM,IAAI,EAAKA,EAAM,OAA2B,KAC9D,mBACA,CACE,GAAIC,EAACC,GAAuBA,IAAQF,EAAM,KAAtC,MACJ,KAAMC,EAACE,GAAWA,EAAO,SAAS,gBAAgB,EAA5C,QACN,UAAWF,EAACE,GAAWA,EAAO,SAAS,EAA5B,YACb,CACF,EACSH,EAAM,OAAS,aACxBD,EAAgBC,EAAM,IAAI,EAAII,GAAO,CACnC,eAAgBC,GAAO,EACpB,UAAWC,GACH,MAAMA,CAAK,EAAI,OAAYA,CACnC,EACA,IAAI,EAAG,mDAAmD,EAC1D,IACCV,EACIW,EAAWX,CAAsC,EACjDW,EAAW,IACf,IAKS,iCAJUX,EACbW,EAAWX,CAAsC,EACjDW,EAAW,KACiB,GACmB,IAAIX,CAAuB,EAElF,CACJ,CAAC,EACQI,EAAM,OAAS,oBAAsBH,EAE9CE,EAAgBC,EAAM,IAAI,EACxBA,EAAM,OACN,SAAS,gBAAgB,EAE3BD,EAAgBC,EAAM,IAAI,EAAIA,EAAM,OAE/BD,GAET,CAAC,CACH,EACA,OAAOK,GAAON,CAAY,CAC5B,CAlDgBG,EAAAP,GAAA,yBAyDhB,SAASc,GAAeC,EAAkC,CACxD,IAAMC,EAAS,WACf,OAAO,OAAO,KAAKD,CAAQ,EAAE,OAE3B,CAACE,EAAKC,IAAQ,CACd,IAAMC,EAAkBJ,EAASG,CAAG,EACpC,GAAIC,IAAoB,OACtB,OAAOF,EAGT,IAAMG,EAAe,CACnB,mBAFuBF,EAAI,QAAQF,EAAQ,EAAE,EAG7C,kBAAmBG,CACrB,EACA,MAAO,CAAC,GAAGF,EAAKG,CAAY,CAC9B,EAAG,CAAC,CAAC,CACP,CAhBSb,EAAAO,GAAA,kBAkBT,SAASO,GACPT,EACAU,EACAC,EAC+B,CAC/B,IAAMC,EAAgB,OAAOZ,EAAM,YAAY,cAAc,EACvDa,EAAeb,EAAM,cAoB3B,MAAO,CACL,GAnB0C,CAC1C,YAAaA,EAAM,QAAUA,EAAM,QACnC,gBAAiBA,EAAM,wBAA0B,QACjD,MAAOA,EAAM,kBAAoBU,EAAkB,MACnD,IAAKV,EAAM,KAAO,OAClB,GAAIA,EAAM,UAAY,CAAE,SAAUE,GAAeF,EAAM,QAAQ,CAAE,EACjE,GAAIU,EAAkB,sBACpBE,GAAiB,CACf,SAAU,CACR,cAAeF,EAAkB,kBAC7BE,EACAX,EAAWY,CAAuC,GAClDZ,EAAW,IACf,KAAM,EACR,CACF,CACJ,EAIE,GAAGa,GAAgBd,EAAOW,CAAO,CACnC,CACF,CA9BShB,EAAAc,GAAA,wBAgCT,SAASK,GACPd,EACAW,EACwC,CACxC,IAAMI,EACJJ,IAAY,aAAeX,EAAM,mBAAqB,oBAClDgB,EACJL,IAAY,YAAcX,EAAM,mBAAqB,SACjDiB,EAAkBjB,EAAM,gBAAkB,mBAEhD,GAAIe,EAAa,CACf,IAAMG,EAAsBlB,EAAM,mBAAqB,oBACvD,OAAOiB,EACH,CACE,uCAAwCjB,EAAM,MAChD,EACA,CACE,CAACkB,EACG,2CACA,qBAAqB,EAAGlB,EAAM,MACpC,CACN,CAEA,OAAIgB,EACKC,EACH,CACE,kBAAmBjB,EAAM,MAC3B,EACA,CACE,oBAAqBA,EAAM,MAC7B,EAGC,CAAC,CACV,CAlCSL,EAAAmB,GAAA,mBA0CF,SAASK,GACdC,EAGAV,EAAqDW,EACrDV,EAAiC,WACH,CAC9B,IAAMW,EAAc,MAAM,QAAQF,CAAM,EAAIA,EAAS,CAACA,CAAM,EAE5D,GAAIE,EAAY,SAAW,EACzB,MAAM,IAAI,MAAM,2CAA2C,EAG7D,OAAIA,EAAY,OAAS,GACJ,IAAI,IAAIA,EAAY,IAAKC,GAAMA,EAAE,QAAQ,CAAC,EAC9C,KAAO,GACpB,QAAQ,KACN,8EACF,EAIG,CACL,uBAAwBD,EAAY,CAAC,EAAE,SACvC,iBAAkBZ,EAAkB,gBACpC,wBAAyBA,EAAkB,sBAC3C,yBAA0BA,EAAkB,uBAC5C,uBAAwBA,EAAkB,qBAC1C,YAAaY,EAAY,IAAKtB,GAC5BS,GAAqBT,EAAOU,EAAmBC,CAAO,CACxD,CACF,CACF,CAhCgBhB,EAAAwB,GAAA","names":["number","object","useCallback","useEffect","useMemo","useRef","useState","string","ValidationError","jsx","defaultEstimationOptions","useStaticSchema","__name","options","createHeadlessForm","jsonSchema","getSalaryTitle","salaryField","hiringBudget","title","useCostCalculator","defaultRegion","defaultCurrency","defaultSalary","estimationOptions","version","fieldsMetaRef","useRef","selectedRegion","setSelectedRegion","useState","selectedCountry","setSelectedCountry","employerBillingCurrency","setEmployerBillingCurrency","setHiringBudget","countries","isLoadingCountries","useCostCalculatorCountries","currencies","isLoadingCurrencies","useCompanyCurrencies","jsonSchemaRegionSlug","jsonSchemaRegionFields","isLoadingRegionFields","useRegionFields","costCalculatorEstimationMutation","useCostCalculatorEstimation","costCalculatorEstimationMutationAsync","mutationToPromise","employeeBillingCurrency","salaryFieldPresentation","getCurrencies","useCallback","shouldSwapOrder","showManagementField","showEstimationTitleField","useSplitSalaryDescription","customFields","useMemo","from","to","salaryTitle","props","SalaryField","FieldSetField","fieldsJSONSchema","useEffect","defaultCountry","value","defaultCurrencyObj","onSubmit","values","buildPayload","onCountryChange","country","currentCountry","onRegionChange","region","onHiringBudgetChange","event","onChangeCurrency","currency","selectedCurrency","c","regionField","field","regions","string","currencyField","hiringBudgetField","countryField","resetForm","allFields","validationSchema","buildValidationSchema","handleValidation","errors","parsedValues","parseJSFToValidate","ValidationError","error","iterateResult","iterateErrors","acc","key","handleValidationResult","combinedInnerErrors","combinedValues","salary_converted","hiring_budget","salary_conversion","management","estimation_title","rest","salary","parsedStaticFields","parsedRegionFields","additionalFields","buildValidationSchema","fields","employerBillingCurrency","includeEstimationTitle","fieldsSchema","fieldsSchemaAcc","field","__name","val","schema","object","number","value","BASE_RATES","formatBenefits","benefits","needle","acc","key","benefitTierSlug","benefitEntry","mapValueToEmployment","estimationOptions","version","managementFee","currencyCode","getSalaryFields","isMarketing","isStandard","useHiringBudget","useEmployerCurrency","buildPayload","values","defaultEstimationOptions","employments","v"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{b as a}from"./chunk-KFYWUBRS.js";import{f as u}from"./chunk-4FGKIGKF.js";import{a as i}from"./chunk-P37U34EQ.js";import{useEffect as f,useRef as m}from"react";import p from"fast-deep-equal";function g({handleValidation:l,defaultValues:r,checkFieldUpdates:o}){let c=a(l),s=m(r),n=m(o);n.current=o;let t=u({resolver:c,defaultValues:r,shouldUnregister:!1,mode:"onBlur"});return f(()=>{let d=t?.watch(e=>{!p(e,s.current)&&(n.current(e),s.current=JSON.parse(JSON.stringify(e)))});return()=>d?.unsubscribe()},[]),t}i(g,"useJSONSchemaForm");export{g as a};
|
|
2
|
+
//# sourceMappingURL=chunk-G3QDDD53.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/form/useJSONSchemaForm.tsx"],"sourcesContent":["import { FieldValues, useForm, UseFormReturn } from 'react-hook-form';\nimport { useEffect, useRef } from 'react';\nimport equal from 'fast-deep-equal';\nimport { useJsonSchemasValidationFormResolver } from '@/src/components/form/validationResolver';\nimport { $TSFixMe } from '@/src/types/remoteFlows';\nimport { ValidationResult } from '@remoteoss/remote-json-schema-form-kit';\n\ntype UseJsonSchemaFormOptions = {\n handleValidation: (values: FieldValues) => Promise<ValidationResult | null>;\n defaultValues: Record<string, unknown>;\n checkFieldUpdates: (values: FieldValues) => void;\n};\n\nexport function useJSONSchemaForm({\n handleValidation,\n defaultValues,\n checkFieldUpdates,\n}: UseJsonSchemaFormOptions): UseFormReturn<$TSFixMe> {\n const resolver = useJsonSchemasValidationFormResolver(handleValidation);\n const prevValuesRef = useRef(defaultValues);\n // The watch subscription below is created once, so it would capture the\n // first checkFieldUpdates forever. That is fine when it is a plain setState,\n // but not when it closes over the current headless form — after a schema\n // change the stale closure validates against the previous schema.\n const checkFieldUpdatesRef = useRef(checkFieldUpdates);\n checkFieldUpdatesRef.current = checkFieldUpdates;\n\n const form = useForm({\n resolver,\n defaultValues,\n shouldUnregister: false,\n mode: 'onBlur',\n });\n // Watch form changes and trigger checkFieldUpdates\n useEffect(() => {\n const subscription = form?.watch((values) => {\n const hasChanged = !equal(values, prevValuesRef.current);\n if (hasChanged) {\n checkFieldUpdatesRef.current(values);\n prevValuesRef.current = JSON.parse(JSON.stringify(values));\n }\n });\n return () => subscription?.unsubscribe();\n // oxlint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return form;\n}\n"],"mappings":"wHACA,OAAS,aAAAA,EAAW,UAAAC,MAAc,QAClC,OAAOC,MAAW,kBAWX,SAASC,EAAkB,CAChC,iBAAAC,EACA,cAAAC,EACA,kBAAAC,CACF,EAAsD,CACpD,IAAMC,EAAWC,EAAqCJ,CAAgB,EAChEK,EAAgBC,EAAOL,CAAa,EAKpCM,EAAuBD,EAAOJ,CAAiB,EACrDK,EAAqB,QAAUL,EAE/B,IAAMM,EAAOC,EAAQ,CACnB,SAAAN,EACA,cAAAF,EACA,iBAAkB,GAClB,KAAM,QACR,CAAC,EAED,OAAAS,EAAU,IAAM,CACd,IAAMC,EAAeH,GAAM,MAAOI,GAAW,CACxB,CAACC,EAAMD,EAAQP,EAAc,OAAO,IAErDE,EAAqB,QAAQK,CAAM,EACnCP,EAAc,QAAU,KAAK,MAAM,KAAK,UAAUO,CAAM,CAAC,EAE7D,CAAC,EACD,MAAO,IAAMD,GAAc,YAAY,CAEzC,EAAG,CAAC,CAAC,EAEEH,CACT,CAlCgBM,EAAAf,EAAA","names":["useEffect","useRef","equal","useJSONSchemaForm","handleValidation","defaultValues","checkFieldUpdates","resolver","useJsonSchemasValidationFormResolver","prevValuesRef","useRef","checkFieldUpdatesRef","form","useForm","useEffect","subscription","values","equal","__name"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as _}from"./chunk-S5BNS2JE.js";import{F as p,J as y,O as f,_ as h,k as c,ra as g}from"./chunk-XPITUVQE.js";import{e as r}from"./chunk-H2O4CVKF.js";import{a as t}from"./chunk-P37U34EQ.js";import{useMutation as a,useQuery as F}from"@tanstack/react-query";var A=t((e,n,o,s,i)=>{let{client:x}=r(),d=s?.employmentId,u=s?.jurisdiction;return F({queryKey:["gp-employee-form-schema",e,n,d,u],enabled:!!e&&(s?.enabled??!0),retry:!1,queryFn:t(async()=>{let l={...d?{employment_id:d}:{},...u?{jurisdiction:u}:{}},m=await y({client:x,headers:{Authorization:""},path:{country_code:e,form:n},...Object.keys(l).length>0?{query:l}:{}});if(m.error||!m.data)throw new Error(`Failed to fetch ${n} schema`);return m},"queryFn"),select:t(({data:l})=>_(l?.data||{},o,i?{jsfModify:i}:void 0),"select")})},"useGPEmployeeFormSchema"),E=t(e=>{let{client:n}=r();return a({mutationFn:t(o=>{let{name:s,...i}=o;return h({client:n,headers:{Authorization:"","x-rf-employment-id":e},body:{personal_details:i}})},"mutationFn")})},"useGPUpdatePersonalDetails"),P=t(e=>{let{client:n}=r();return a({mutationFn:t(o=>p({client:n,headers:{Authorization:"","x-rf-employment-id":e},body:{address_details:o}}),"mutationFn")})},"useGPUpdateHomeAddress"),C=t(e=>{let{client:n}=r();return a({mutationFn:t(o=>c({client:n,headers:{Authorization:"","x-rf-employment-id":e},body:{bank_account_details:o}}),"mutationFn")})},"useGPUpdateBankAccount"),R=t(e=>{let{client:n}=r();return a({mutationFn:t(o=>f({client:n,headers:{Authorization:"","x-rf-employment-id":e},body:{federal_taxes:o}}),"mutationFn")})},"useGPUpdateFederalTaxes"),G=t((e,n)=>{let{client:o}=r();return a({mutationFn:t(s=>{if(!e)throw new Error("A `jurisdiction` (US state code) is required to submit state taxes.");return g({client:o,headers:{Authorization:"","x-rf-employment-id":n},path:{jurisdiction:e},body:{state_taxes:s}})},"mutationFn")})},"useGPUpdateStateTaxes");export{A as a,E as b,P as c,C as d,R as e,G as f};
|
|
2
|
+
//# sourceMappingURL=chunk-GJ2AOENT.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/flows/PayrollEmployeeOnboarding/api.ts"],"sourcesContent":["import { useMutation, useQuery } from '@tanstack/react-query';\nimport type { FieldValues } from 'react-hook-form';\nimport {\n getV1CountriesCountryCodeForm,\n putV1EmployeeAddress,\n putV1EmployeeBankAccount,\n putV1EmployeeFederalTaxes,\n putV1EmployeePersonalDetails,\n putV1EmployeeStateTaxesJurisdiction,\n} from '@/src/client';\nimport { Client } from '@/src/client/client';\nimport { useClient } from '@/src/context';\nimport { createHeadlessForm } from '@/src/common/createHeadlessForm';\nimport type {\n JSONSchemaFormResultWithFieldsets,\n JSFModify,\n} from '@/src/flows/types';\n\nexport type GPEmployeeSchemaType =\n | 'global_payroll_personal_details'\n | 'address_details'\n | 'global_payroll_bank_account_details'\n | 'global_payroll_federal_taxes'\n | 'global_payroll_state_taxes';\n\nexport const useGPEmployeeFormSchema = (\n countryCode: string | undefined,\n schemaType: GPEmployeeSchemaType,\n fieldValues: FieldValues,\n queryOptions?: {\n enabled?: boolean;\n employmentId?: string;\n jurisdiction?: string;\n },\n jsfModify?: JSFModify,\n): ReturnType<typeof useQuery<JSONSchemaFormResultWithFieldsets>> => {\n const { client } = useClient();\n const employmentId = queryOptions?.employmentId;\n const jurisdiction = queryOptions?.jurisdiction;\n return useQuery({\n queryKey: [\n 'gp-employee-form-schema',\n countryCode,\n schemaType,\n employmentId,\n jurisdiction,\n ],\n enabled: !!countryCode && (queryOptions?.enabled ?? true),\n retry: false,\n queryFn: async () => {\n // `employment_id` and `jurisdiction` are required by the gateway for the\n // `global_payroll_state_taxes` form (employment_id also for other forms\n // whose `restrict_fields` branches on user_role). Only send what we have.\n const query = {\n ...(employmentId ? { employment_id: employmentId } : {}),\n ...(jurisdiction ? { jurisdiction } : {}),\n };\n const response = await getV1CountriesCountryCodeForm({\n client: client as Client,\n headers: { Authorization: `` },\n path: {\n country_code: countryCode as string,\n form: schemaType,\n },\n ...(Object.keys(query).length > 0 ? { query } : {}),\n });\n if (response.error || !response.data) {\n throw new Error(`Failed to fetch ${schemaType} schema`);\n }\n return response;\n },\n select: ({ data }) =>\n createHeadlessForm(\n (data?.data as Record<string, unknown>) || {},\n fieldValues,\n jsfModify ? { jsfModify } : undefined,\n ),\n });\n};\n\nexport const useGPUpdatePersonalDetails = (employmentId: string) => {\n const { client } = useClient();\n return useMutation({\n mutationFn: (personalDetails: Record<string, unknown>) => {\n // 'name' is a computed read-only display field in the schema (additionalProperties: false\n // on the PUT endpoint rejects it). Strip it before sending.\n const { name: _name, ...payload } = personalDetails;\n return putV1EmployeePersonalDetails({\n client: client as Client,\n headers: { Authorization: ``, 'x-rf-employment-id': employmentId },\n body: { personal_details: payload },\n });\n },\n });\n};\n\nexport const useGPUpdateHomeAddress = (employmentId: string) => {\n const { client } = useClient();\n return useMutation({\n mutationFn: (addressDetails: Record<string, unknown>) =>\n putV1EmployeeAddress({\n client: client as Client,\n headers: { Authorization: ``, 'x-rf-employment-id': employmentId },\n body: { address_details: addressDetails },\n }),\n });\n};\n\nexport const useGPUpdateBankAccount = (employmentId: string) => {\n const { client } = useClient();\n return useMutation({\n mutationFn: (bankAccountDetails: Record<string, unknown>) =>\n putV1EmployeeBankAccount({\n client: client as Client,\n headers: { Authorization: ``, 'x-rf-employment-id': employmentId },\n body: { bank_account_details: bankAccountDetails },\n }),\n });\n};\n\nexport const useGPUpdateFederalTaxes = (employmentId: string) => {\n const { client } = useClient();\n return useMutation({\n mutationFn: (federalTaxes: Record<string, unknown>) =>\n putV1EmployeeFederalTaxes({\n client: client as Client,\n headers: { Authorization: ``, 'x-rf-employment-id': employmentId },\n body: { federal_taxes: federalTaxes },\n }),\n });\n};\n\nexport const useGPUpdateStateTaxes = (\n jurisdiction: string | undefined,\n employmentId: string,\n) => {\n const { client } = useClient();\n return useMutation({\n mutationFn: (stateTaxes: Record<string, unknown>) => {\n if (!jurisdiction) {\n throw new Error(\n 'A `jurisdiction` (US state code) is required to submit state taxes.',\n );\n }\n return putV1EmployeeStateTaxesJurisdiction({\n client: client as Client,\n headers: { Authorization: ``, 'x-rf-employment-id': employmentId },\n path: { jurisdiction },\n body: { state_taxes: stateTaxes },\n });\n },\n });\n};\n"],"mappings":"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","names":["useMutation","useQuery","useGPEmployeeFormSchema","__name","countryCode","schemaType","fieldValues","queryOptions","jsfModify","client","useClient","employmentId","jurisdiction","useQuery","query","response","getV1CountriesCountryCodeForm","data","createHeadlessForm","useGPUpdatePersonalDetails","useMutation","personalDetails","_name","payload","putV1EmployeePersonalDetails","useGPUpdateHomeAddress","addressDetails","putV1EmployeeAddress","useGPUpdateBankAccount","bankAccountDetails","putV1EmployeeBankAccount","useGPUpdateFederalTaxes","federalTaxes","putV1EmployeeFederalTaxes","useGPUpdateStateTaxes","stateTaxes","putV1EmployeeStateTaxesJurisdiction"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{n as e}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{n as e}from"./chunk-NXRWBI36.js";import{a}from"./chunk-P37U34EQ.js";import*as i from"@radix-ui/react-radio-group";import{CircleIcon as d}from"lucide-react";import{jsx as o}from"react/jsx-runtime";function p({className:r,...t}){return o(i.Root,{"data-slot":"radio-group",className:e("grid gap-3",r),...t})}a(p,"RadioGroup");function l({className:r,...t}){return o(i.Item,{"data-slot":"radio-group-item",className:e("border-input text-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive aspect-square size-4 shrink-0 rounded-full border shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",r),...t,children:o(i.Indicator,{"data-slot":"radio-group-indicator",className:"relative flex items-center justify-center",children:o(d,{className:"fill-radio absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2"})})})}a(l,"RadioGroupItem");export{p as a,l as b};
|
|
2
|
+
//# sourceMappingURL=chunk-GPY3JZJJ.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{b as i,c as m,d as s,e as f}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{b as i,c as m,d as s,e as f}from"./chunk-PMIGYQEX.js";import{a as n}from"./chunk-NW3D7CPK.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-GWQJKZ3M.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as Q}from"./chunk-JH3WUGO5.js";import{a as J}from"./chunk-GWQJKZ3M.js";import{a as H}from"./chunk-XGECMN4V.js";import{a as U}from"./chunk-6DHV4GT6.js";import{a as W}from"./chunk-BGSB3XPW.js";import{a as Y}from"./chunk-SY7QZIKZ.js";import{f as Z,g as K}from"./chunk-PMIGYQEX.js";import{a as R}from"./chunk-ZXGAFQXW.js";import{a as q,b as B,c as L,d as z}from"./chunk-LKTCYO6Y.js";import{a as S}from"./chunk-TZIDQ5O3.js";import{a as N}from"./chunk-3O7L6JUX.js";import{a as E}from"./chunk-S5BNS2JE.js";import{a as _,c as v}from"./chunk-INUCPQVI.js";import{u as O}from"./chunk-XPITUVQE.js";import{b as w,h as u,n as D}from"./chunk-NXRWBI36.js";import{a as A}from"./chunk-XPVYX7LE.js";import{a as I}from"./chunk-FSGFBJJF.js";import{e as $}from"./chunk-H2O4CVKF.js";import{a as o}from"./chunk-P37U34EQ.js";import xe from"lodash.omitby";import je from"lodash.isnull";import{format as x,isFuture as Ve,parseISO as j,subDays as Pe}from"date-fns";import{useMemo as V}from"react";import be from"lodash.omit";import{useQuery as Fe}from"@tanstack/react-query";var G=o(({query:t,options:e})=>{let{client:y}=$();return Fe({queryKey:["payroll-calendars"],queryFn:o(()=>O({client:y,query:{year:t?.year,country_code:t?.countryCode}}),"queryFn"),enabled:e?.enabled,select:o(c=>c.data?.data?.payroll_calendars?.[0],"select")})},"usePayrollCalendars");import{isFuture as Me,isToday as ge,parseISO as Se}from"date-fns";var X=o(t=>{if(!t)return!1;let e=Se(t);return Me(e)||ge(e)},"isInProbationPeriod");import{Fragment as ke,jsx as m,jsxs as Ce}from"react/jsx-runtime";var lo=o(({employmentId:t,options:e,initialValues:y})=>{let{fieldValues:c,setFieldValues:ee,stepState:l,previousStep:oe,nextStep:ie}=A(q),{data:n,isLoading:te}=N({employmentId:t,queryParams:{exclude_files:!0}}),{data:ne}=G({query:{year:new Date().getFullYear().toString(),countryCode:n?.country?.code},options:{enabled:!!n?.country?.code}}),T=X(n?.probation_period_end_date),F=B(ne),P=V(()=>T?x(new Date,"yyyy-MM-dd"):x(F,"yyyy-MM-dd"),[T,F]),M=!!(n?.provisional_start_date&&Ve(j(n.provisional_start_date))),ae={personal_email:n?.basic_information?.email},g=z({...ae,...y,...l.values?.employee_communication,...l.values?.termination_details,...l.values?.paid_time_off,...l.values?.additional_information},M),d=V(()=>({...g,...c}),[c,g]),b=L({minTerminationDate:F,isEmployeeInProbationPeriod:T,selectedDate:j(d.proposed_termination_date)}),re=V(()=>{let s=R.data.schema.properties.termination_reason.oneOf,a=M?s.filter(i=>i.const==="cancellation_before_start_date"):s.filter(i=>i.const!=="cancellation_before_start_date");return{fields:{risk_assesment_info:S("Offboarding risk assessment","Employees may be protected from termination if they fall into certain categories. To help avoid claims from employees, let us know if the employee is part of one or more of these categories. Select all that apply.",{className:e?.jsfModify?.fields?.risk_assesment_info?.["x-jsf-presentation"]?.className}),termination_reason:{...e?.jsfModify?.fields?.termination_reason,oneOf:a},proposed_termination_date_info:S("Proposed termination date",Ce(ke,{children:["In most cases, Remote must provide notice to the employee before termination. The required notice period depends on local labor laws, the employment agreement, and other factors. We'll use those factors to determine the required notice period.",m(v,{external:!0,zendeskId:_.terminationNoticePeriods,className:D("text-sm",e?.jsfModify?.fields?.proposed_termination_date_info?.["x-jsf-presentation"]?.zendeskTriggerButtonClassName),children:"Learn about notice periods"})]}),{className:e?.jsfModify?.fields?.proposed_termination_date_info?.["x-jsf-presentation"]?.className}),proposed_termination_date:{...e?.jsfModify?.fields?.proposed_termination_date,"x-jsf-presentation":{...e?.jsfModify?.fields?.proposed_termination_date?.["x-jsf-presentation"],minDate:P,...d.termination_reason==="cancellation_before_start_date"&&n?.provisional_start_date?{maxDate:x(Pe(j(n.provisional_start_date),1),"yyyy-MM-dd")}:{},...b},...d.termination_reason==="cancellation_before_start_date"?{"x-jsf-errorMessage":{maximum:"The proposed termination date must be before the employee's start date."}}:{}},paid_time_off_info:{...e?.jsfModify?.fields?.paid_time_off_info,"x-jsf-presentation":{...e?.jsfModify?.fields?.paid_time_off_info?.["x-jsf-presentation"],Component:o(()=>{let i=e?.jsfModify?.fields?.paid_time_off_info?.["x-jsf-presentation"]?.Component;return m(J,{employeeName:n?.basic_information?.name,proposedTerminationDate:d.proposed_termination_date,employmentId:t,employment:n,render:r=>i?m(i,{...r}):m(Q,{...r})})},"Component")}},acknowledge_termination_procedure_info:{...e?.jsfModify?.fields?.acknowledge_termination_procedure_info,"x-jsf-presentation":{...e?.jsfModify?.fields?.acknowledge_termination_procedure_info?.["x-jsf-presentation"],Component:o(()=>{let i=e?.jsfModify?.fields?.acknowledge_termination_procedure_info?.["x-jsf-presentation"]?.Component;return m(U,{render:r=>i?m(i,{...r}):m(W,{...r})})},"Component")}},acknowledge_termination_procedure_fees_info:{...e?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info,"x-jsf-presentation":{...e?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info?.["x-jsf-presentation"],Component:o(()=>{let i={involuntaryOffboardingServiceChargeZendeskId:_.involuntaryOffboardingServiceCharge,reconciliationInvoiceZendeskId:_.reconciliationInvoice},r=e?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info?.["x-jsf-presentation"]?.Component;return r?m(r,{...i}):m(Y,{...i})},"Component")}}}}},[n,t,d.proposed_termination_date,d.termination_reason,M,P,e?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info,e?.jsfModify?.fields?.acknowledge_termination_procedure_info,e?.jsfModify?.fields?.paid_time_off_info,e?.jsfModify?.fields?.proposed_termination_date,e?.jsfModify?.fields?.proposed_termination_date_info,e?.jsfModify?.fields?.risk_assesment_info,e?.jsfModify?.fields?.termination_reason,b]),{data:f,isLoading:se}=K({formValues:d,jsfModify:{...e?.jsfModify,fields:{...e?.jsfModify?.fields,...re?.fields}},step:l.currentStep.name}),me=E(H.data.schema),k=Z(),{mutateAsync:de}=w(k);async function fe(s){if(!t)throw new Error("Employment id is missing");if(f){let a=await C(s,!0),{customer_informed_employee:i}=a,r=i==="yes"?{employee_awareness:{date:a.customer_informed_employee_date,note:a.customer_informed_employee_description}}:void 0,ue=await I(a,["agrees_to_pto_amount","confidential","customer_informed_employee","will_challenge_termination"]),_e=be(ue,"customer_informed_employee_date","customer_informed_employee_description"),ye=xe({..._e,...r},je),p=a.timesheet_file??[],h=Array.isArray(p)&&p.length>0?{content:p[0].content,name:p[0].name}:void 0,Te={employment_id:t,termination_details:{...ye,timesheet_file:h||void 0},type:"termination"};return de(Te)}}o(fe,"onSubmit");function le(){oe()}o(le,"back");function ce(){ie()}o(ce,"next");let pe=Object.keys(c).length>0,C=o(async(s,a=!1)=>a?await u(s,me.fields,{isPartialValidation:!0}):f?await u(s,f?.fields,{isPartialValidation:!0}):{},"parseFormValues");return{employmentId:t,employment:n,fieldValues:d,isDirty:pe,stepState:l,fields:f?.fields||[],isLoading:se||te,isSubmitting:k.isPending,initialValues:g,handleValidation:o(async s=>{if(f){let a=await u(s,f?.fields);return f?.handleValidation(a)}return null},"handleValidation"),checkFieldUpdates:ee,parseFormValues:C,onSubmit:fe,back:le,next:ce}},"useTermination");export{lo as a};
|
|
2
|
+
//# sourceMappingURL=chunk-GYYQWPA6.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{n as l}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{n as l}from"./chunk-NXRWBI36.js";import{a as r}from"./chunk-P37U34EQ.js";import*as e from"@radix-ui/react-select";import{CheckIcon as m,ChevronDownIcon as s,ChevronUpIcon as d}from"lucide-react";import{jsx as t,jsxs as n}from"react/jsx-runtime";function S({...i}){return t(e.Root,{"data-slot":"select",...i})}r(S,"Select");function P({...i}){return t(e.Group,{"data-slot":"select-group",...i})}r(P,"SelectGroup");function g({...i}){return t(e.Value,{"data-slot":"select-value",...i})}r(g,"SelectValue");function x({className:i,children:o,...a}){return n(e.Trigger,{"data-slot":"select-trigger",className:l("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive flex w-full items-center justify-between rounded-xl border bg-transparent px-4 py-7 text-sm whitespace-nowrap transition-[color] outline-none disabled:cursor-not-allowed disabled:opacity-50 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4","focus-visible:border-focused",i),...a,children:[o,t(e.Icon,{asChild:!0,className:"absolute right-4",children:t(s,{className:"size-4"})})]})}r(x,"SelectTrigger");function b({className:i,children:o,position:a="popper",...c}){return t(e.Portal,{children:n(e.Content,{"data-slot":"select-content",className:l("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-xl border",a==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",i),position:a,...c,children:[t(p,{}),t(e.Viewport,{className:l(a==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:o}),t(u,{})]})})}r(b,"SelectContent");function y({className:i,children:o,...a}){return n(e.Item,{"data-slot":"select-item",className:l("focus:bg-accent focus:text-accent-foreground min-h-11 justify-between [&_svg:not([class*='text-'])]:text-muted-foreground flex w-full cursor-default items-center gap-2 py-2 px-4 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",i),...a,children:[t(e.ItemText,{children:o}),t("span",{className:"flex size-3.5 items-center justify-center",children:t(e.ItemIndicator,{children:t(m,{className:"size-4"})})})]})}r(y,"SelectItem");function p({className:i,...o}){return t(e.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:l("flex cursor-default items-center justify-center py-1",i),...o,children:t(d,{className:"size-4"})})}r(p,"SelectScrollUpButton");function u({className:i,...o}){return t(e.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:l("flex cursor-default items-center justify-center py-1",i),...o,children:t(s,{className:"size-4"})})}r(u,"SelectScrollDownButton");export{S as a,P as b,g as c,x as d,b as e,y as f};
|
|
2
|
+
//# sourceMappingURL=chunk-HFFQ642D.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{n as g}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{n as g}from"./chunk-NXRWBI36.js";import{a as d}from"./chunk-P37U34EQ.js";import*as e from"react";import{ChevronDownIcon as h}from"lucide-react";import{jsx as l,jsxs as y}from"react/jsx-runtime";var x=e.createContext(null),R=d(()=>{let t=e.useContext(x);if(!t)throw new Error("Accordion components must be used within Accordion");return t},"useAccordion");function P({collapsible:t=!1,defaultValue:u,value:r,onValueChange:o,className:n,children:i,...c}){let[s,p]=e.useState(u),m=r!==void 0,a=m?r:s,f=e.useCallback(A=>{let v;a===A?v=t?"":A:v=A,m||p(v),o&&o(v)},[a,t,m,o]),C=e.useMemo(()=>({openItem:a,toggleItem:f,collapsible:t}),[a,f,t]);return l(x.Provider,{value:C,children:l("div",{"data-slot":"accordion",className:n,...c,children:i})})}d(P,"Accordion");var I=e.createContext(null),b=d(()=>{let t=e.useContext(I);if(!t)throw new Error("AccordionItem components must be used within AccordionItem");return t},"useAccordionItem");function E({value:t,className:u,children:r,...o}){let{openItem:n}=R(),i=n===t,c=e.useId(),s=e.useMemo(()=>({value:t,isOpen:i,contentId:c}),[t,i,c]);return l(I.Provider,{value:s,children:l("div",{"data-slot":"accordion-item",className:g("border-b last:border-b-0",u),...o,children:r})})}d(E,"AccordionItem");function T({className:t,iconClassName:u,children:r,onClick:o,...n}){let{toggleItem:i}=R(),{value:c,isOpen:s,contentId:p}=b(),m=e.useId(),a=d(f=>{i(c),o?.(f)},"handleClick");return l("div",{className:"flex items-center",children:y("button",{id:m,type:"button","data-slot":"accordion-trigger","data-state":s?"open":"closed","aria-expanded":s,"aria-controls":p,className:g("focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180",t),onClick:a,...n,children:[r,l(h,{className:g("text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200 mt-1",u)})]})})}d(T,"AccordionTrigger");function V({className:t,children:u,...r}){let{isOpen:o,contentId:n}=b(),[i,c]=e.useState(o),[s,p]=e.useState(o);return e.useLayoutEffect(()=>{if(o){c(!0);let a=requestAnimationFrame(()=>{window.getComputedStyle(document.getElementById(n)).height,p(!0)});return()=>cancelAnimationFrame(a)}p(!1);let m=setTimeout(()=>c(!1),200);return()=>clearTimeout(m)},[o,n]),i?l("div",{id:n,role:"region","data-slot":"accordion-content","data-state":o?"open":"closed",className:g("overflow-hidden text-sm transition-all duration-200 ease-out",s?"max-h-[2000px] opacity-100":"max-h-0 opacity-0"),...r,children:l("div",{className:g("pt-0 pb-4",t),children:u})}):null}d(V,"AccordionContent");export{P as a,E as b,T as c,V as d};
|
|
2
|
+
//# sourceMappingURL=chunk-HQLGDW2G.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as s}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as s}from"./chunk-O3Y4DVNY.js";import{b as e}from"./chunk-Q3ALCPJN.js";import{x as a}from"./chunk-NXRWBI36.js";import{a as i}from"./chunk-P37U34EQ.js";import{jsx as g}from"react/jsx-runtime";function E({components:m,onSubmit:p,onSuccess:l,onError:c}){let{contractorOnboardingBag:r}=e(),d=i(async(t,P)=>{try{let n=await r.parseFormValues(t);await p?.(n);let o=await r.onSubmit(t);if(o?.data){await l?.(o?.data),r?.next();return}}catch(n){let o=a(n,r.meta?.fields?.pricing_plan,P);c?.(o)}},"handleSubmit"),u=r.stepState.values?.pricing_plan||r.initialValues.pricing_plan;return g(s,{components:m,defaultValues:u,onSubmit:d})}i(E,"PricingPlanStep");export{E as a};
|
|
2
|
+
//# sourceMappingURL=chunk-HTVGC4KT.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as i}from"./chunk-UYTYZVQM.js";import{a as d}from"./chunk-KGSH67IW.js";import{a}from"./chunk-AHIJ7DGJ.js";import{a as p}from"./chunk-JK4CPPN4.js";import{a as m}from"./chunk-DZ3A4POL.js";import{a as l}from"./chunk-LGSOTN4M.js";import{a as n}from"./chunk-WCJZAOZR.js";import{a as t}from"./chunk-7EFZVAWU.js";import{a as r}from"./chunk-P37U34EQ.js";import{useId as c}from"react";import{jsx as u}from"react/jsx-runtime";var D=r(({companyId:e,legalEntityId:s,countryCode:f,employmentId:P,initialValues:y,options:b,render:g})=>{let A=c(),o=t({companyId:e,legalEntityId:s,countryCode:f,employmentId:P,initialValues:y,options:b});return u(n.Provider,{value:{formId:A,adminBag:o},children:g({adminBag:o,components:{SelectCountryStep:i,ContractDetailsStep:m,AdministrativeDetailsStep:a,InvitationStep:l,SubmitButton:d,BackButton:p}})})},"PayrollAdminOnboardingFlow");export{D as a};
|
|
2
|
+
//# sourceMappingURL=chunk-HULIBLYP.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/flows/PayrollAdminOnboarding/PayrollAdminOnboardingFlow.tsx"],"sourcesContent":["import { useId } from 'react';\nimport { usePayrollAdminOnboarding } from '@/src/flows/PayrollAdminOnboarding/hooks';\nimport { PayrollAdminOnboardingContext } from '@/src/flows/PayrollAdminOnboarding/context';\nimport type { PayrollAdminOnboardingFlowProps } from '@/src/flows/PayrollAdminOnboarding/types';\nimport { SelectCountryStep } from '@/src/flows/PayrollAdminOnboarding/components/SelectCountryStep';\nimport { ContractDetailsStep } from '@/src/flows/PayrollAdminOnboarding/components/ContractDetailsStep';\nimport { AdministrativeDetailsStep } from '@/src/flows/PayrollAdminOnboarding/components/AdministrativeDetailsStep';\nimport { InvitationStep } from '@/src/flows/PayrollAdminOnboarding/components/InvitationStep';\nimport { SubmitButton } from '@/src/flows/PayrollAdminOnboarding/components/SubmitButton';\nimport { BackButton } from '@/src/flows/PayrollAdminOnboarding/components/BackButton';\n\nexport const PayrollAdminOnboardingFlow = ({\n companyId,\n legalEntityId,\n countryCode,\n employmentId,\n initialValues,\n options,\n render,\n}: PayrollAdminOnboardingFlowProps) => {\n const formId = useId();\n const adminBag = usePayrollAdminOnboarding({\n companyId,\n legalEntityId,\n countryCode,\n employmentId,\n initialValues,\n options,\n });\n\n return (\n <PayrollAdminOnboardingContext.Provider value={{ formId, adminBag }}>\n {render({\n adminBag,\n components: {\n SelectCountryStep,\n ContractDetailsStep,\n AdministrativeDetailsStep,\n InvitationStep,\n SubmitButton,\n BackButton,\n },\n })}\n </PayrollAdminOnboardingContext.Provider>\n );\n};\n"],"mappings":"mWAAA,OAAS,SAAAA,MAAa,QA+BlB,cAAAC,MAAA,oBApBG,IAAMC,EAA6BC,EAAA,CAAC,CACzC,UAAAC,EACA,cAAAC,EACA,YAAAC,EACA,aAAAC,EACA,cAAAC,EACA,QAAAC,EACA,OAAAC,CACF,IAAuC,CACrC,IAAMC,EAASC,EAAM,EACfC,EAAWC,EAA0B,CACzC,UAAAV,EACA,cAAAC,EACA,YAAAC,EACA,aAAAC,EACA,cAAAC,EACA,QAAAC,CACF,CAAC,EAED,OACER,EAACc,EAA8B,SAA9B,CAAuC,MAAO,CAAE,OAAAJ,EAAQ,SAAAE,CAAS,EAC/D,SAAAH,EAAO,CACN,SAAAG,EACA,WAAY,CACV,kBAAAG,EACA,oBAAAC,EACA,0BAAAC,EACA,eAAAC,EACA,aAAAC,EACA,WAAAC,CACF,CACF,CAAC,EACH,CAEJ,EAlC0C","names":["useId","jsx","PayrollAdminOnboardingFlow","__name","companyId","legalEntityId","countryCode","employmentId","initialValues","options","render","formId","useId","adminBag","usePayrollAdminOnboarding","PayrollAdminOnboardingContext","SelectCountryStep","ContractDetailsStep","AdministrativeDetailsStep","InvitationStep","SubmitButton","BackButton"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{b as p}from"./chunk-KFYWUBRS.js";import{a as F}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{b as p}from"./chunk-KFYWUBRS.js";import{a as F}from"./chunk-TMS5VMVV.js";import{f as l,h as f}from"./chunk-4FGKIGKF.js";import{h as u}from"./chunk-NXRWBI36.js";import{b as _}from"./chunk-TVZAFTPT.js";import{a}from"./chunk-P37U34EQ.js";import{useEffect as w}from"react";import{jsx as r}from"react/jsx-runtime";var R=["effective_date","reason_for_change","reason_for_change_description","additional_comments","additional_comments_toggle"];function x({onSubmit:b,onError:s,onSuccess:A}){let{formId:C,contractAmendment:{checkFieldUpdates:h,fields:m,onSubmit:y,stepState:S,initialValues:i,handleValidation:V}}=_(),g=p(V),e=l({resolver:g,defaultValues:S.values?.form||i,shouldUnregister:!0,mode:"onBlur"});w(()=>{let t=e?.watch(o=>{(Object.keys(e.formState.dirtyFields).length>0||e.formState.isDirty)&&h(o)});return()=>t?.unsubscribe()},[]);let v=a(async t=>{let o=!1;for(let[c,P]of Object.entries(t))if(!R.includes(c)&&i[c]!==P){o=!0;break}if(!o)return s?.({message:"no_changes_detected_contract_details"});let d=await u(t,m,{isPartialValidation:!1});await b?.(d);let n=await y(t);n.error?s?.(n.error):await A?.(n.data)},"handleSubmit");return r(f,{...e,children:r("form",{id:C,"data-testid":"contract-amendment-form",onSubmit:e.handleSubmit(v),className:"space-y-4 RemoteFlows__ContractAmendmentForm",children:r(F,{fields:m})})})}a(x,"ContractAmendmentForm");export{x as a};
|
|
2
|
+
//# sourceMappingURL=chunk-HWBEYYJO.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as R}from"./chunk-S5BNS2JE.js";import{h as b,i as V}from"./chunk-NXRWBI36.js";import{a as d}from"./chunk-P37U34EQ.js";import{useState as I,useCallback as r,useMemo as c}from"react";var U=d(p=>{let{defaultSchema:F="simple-user-profile",initialValues:S={},schemas:h={},onSubmit:f,onError:u,onSchemaChange:g}=p,[i,t]=I({selectedSchema:F,submittedResults:[],isLoading:!1,isSubmitting:!1,resetKey:0,fieldsVersion:0}),l=c(()=>({...S}),[S]),m=c(()=>h?.[i.selectedSchema],[h,i.selectedSchema]),a=c(()=>{try{t(s=>({...s,isLoading:!0}));let e=R(m.schema,l,{transformMoneyFields:!1});return t(s=>({...s,isLoading:!1})),e}catch(e){throw t(s=>({...s,isLoading:!1})),u?.(e),e}},[m.schema,l,u]),J=r(e=>{t(s=>({...s,selectedSchema:e})),g?.(e),t(s=>({...s,resetKey:s.resetKey+1}))},[g]),P=r(async e=>{t(s=>({...s,isSubmitting:!0}));try{await f?.(e);let s={success:!0,data:e,timestamp:new Date().toISOString()};return t(n=>({...n,isSubmitting:!1,submittedResults:[s,...n.submittedResults]})),s}catch(s){let n={success:!1,data:e,timestamp:new Date().toISOString()};throw t(o=>({...o,isSubmitting:!1,submittedResults:[n,...o.submittedResults]})),u?.(s),s}},[f,u]),w=r(()=>{t(e=>({...e,resetKey:e.resetKey+1}))},[]),K=r(()=>{t(e=>({...e,submittedResults:[]}))},[]),y=r(async e=>{if(!a.fields)return null;let s=await b(e,a.fields,{isPartialValidation:!1}),n=await a.handleValidation(s);return t(o=>({...o,fieldsVersion:o.fieldsVersion+1})),n},[a]),L=c(()=>V(a.fields,l),[a.fields,l]);return{selectedSchema:i.selectedSchema,resetKey:i.resetKey,isLoading:i.isLoading,isSubmitting:i.isSubmitting,submittedResults:i.submittedResults,fieldValues:l,initialValues:L,currentSchemaData:m,fields:a.fields,meta:a.meta,handleSchemaChange:J,handleSubmit:P,handleReset:w,clearResults:K,checkFieldUpdates:d(async e=>{await y(e)},"checkFieldUpdates"),handleValidation:y}},"useJsonSchemaPlayground");export{U as a};
|
|
2
|
+
//# sourceMappingURL=chunk-HYWQLLZC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/flows/JsonSchemaPlayground/hooks.ts"],"sourcesContent":["import { useState, useCallback, useMemo } from 'react';\nimport { FieldValues } from 'react-hook-form';\nimport { createHeadlessForm } from '@/src/common/createHeadlessForm';\nimport {\n getInitialValues,\n parseJSFToValidate,\n} from '@/src/components/form/utils';\nimport {\n JsonSchemaPlaygroundResult,\n JsonSchemaPlaygroundState,\n UseJsonSchemaPlaygroundOptions,\n} from './types';\n\nexport const useJsonSchemaPlayground = (\n options: UseJsonSchemaPlaygroundOptions,\n) => {\n const {\n defaultSchema = 'simple-user-profile',\n initialValues: jsonSchemaInitialValues = {},\n schemas: customSchemas = {},\n onSubmit,\n onError,\n onSchemaChange,\n } = options;\n\n const [state, setState] = useState<JsonSchemaPlaygroundState>({\n selectedSchema: defaultSchema,\n submittedResults: [],\n isLoading: false,\n isSubmitting: false,\n resetKey: 0,\n fieldsVersion: 0,\n });\n\n const fieldValues = useMemo(() => {\n return {\n ...jsonSchemaInitialValues,\n };\n }, [jsonSchemaInitialValues]);\n\n // Get current schema\n const currentSchemaData = useMemo(() => {\n return customSchemas?.[state.selectedSchema];\n }, [customSchemas, state.selectedSchema]);\n\n // Create headless form from current schema\n const headlessForm = useMemo(() => {\n try {\n setState((prev) => ({ ...prev, isLoading: true }));\n const form = createHeadlessForm(currentSchemaData.schema, fieldValues, {\n transformMoneyFields: false,\n });\n setState((prev) => ({ ...prev, isLoading: false }));\n return form;\n } catch (error) {\n setState((prev) => ({ ...prev, isLoading: false }));\n onError?.(error);\n throw error;\n }\n }, [currentSchemaData.schema, fieldValues, onError]);\n\n // Handle schema selection\n const handleSchemaChange = useCallback(\n (schemaKey: string) => {\n setState((prev) => ({ ...prev, selectedSchema: schemaKey }));\n onSchemaChange?.(schemaKey);\n setState((prev) => ({ ...prev, resetKey: prev.resetKey + 1 }));\n },\n [onSchemaChange],\n );\n\n // Handle form submission\n const handleSubmit = useCallback(\n async (values: FieldValues) => {\n setState((prev) => ({ ...prev, isSubmitting: true }));\n\n try {\n await onSubmit?.(values);\n\n const result: JsonSchemaPlaygroundResult = {\n success: true,\n data: values,\n timestamp: new Date().toISOString(),\n };\n\n setState((prev) => ({\n ...prev,\n isSubmitting: false,\n submittedResults: [result, ...prev.submittedResults],\n }));\n\n return result;\n } catch (error) {\n const result: JsonSchemaPlaygroundResult = {\n success: false,\n data: values,\n timestamp: new Date().toISOString(),\n };\n\n setState((prev) => ({\n ...prev,\n isSubmitting: false,\n submittedResults: [result, ...prev.submittedResults],\n }));\n\n onError?.(error);\n throw error;\n }\n },\n [onSubmit, onError],\n );\n\n // Handle form reset\n const handleReset = useCallback(() => {\n setState((prev) => ({ ...prev, resetKey: prev.resetKey + 1 }));\n }, []);\n\n // Clear results\n const clearResults = useCallback(() => {\n setState((prev) => ({ ...prev, submittedResults: [] }));\n }, []);\n\n // Validation functions\n const handleValidation = useCallback(\n async (values: FieldValues) => {\n if (!headlessForm.fields) {\n return null;\n }\n const parsedValues = await parseJSFToValidate(\n values,\n headlessForm.fields,\n { isPartialValidation: false },\n );\n const result = await headlessForm.handleValidation(parsedValues);\n\n setState((prev) => ({ ...prev, fieldsVersion: prev.fieldsVersion + 1 }));\n\n return result;\n },\n [headlessForm],\n );\n\n const initialValues = useMemo(() => {\n return getInitialValues(headlessForm.fields, fieldValues);\n }, [headlessForm.fields, fieldValues]);\n\n return {\n // State\n selectedSchema: state.selectedSchema,\n resetKey: state.resetKey,\n isLoading: state.isLoading,\n isSubmitting: state.isSubmitting,\n submittedResults: state.submittedResults,\n fieldValues,\n initialValues,\n\n // Schema data\n currentSchemaData,\n\n // Form data from headless form\n fields: headlessForm.fields,\n meta: headlessForm.meta,\n\n // Actions\n handleSchemaChange,\n handleSubmit,\n handleReset,\n clearResults,\n\n /**\n * Function to update the current form field values\n * @param values - New form values to set\n */\n checkFieldUpdates: async (values: FieldValues) => {\n await handleValidation(values);\n },\n\n // Validation\n handleValidation,\n };\n};\n"],"mappings":"+HAAA,OAAS,YAAAA,EAAU,eAAAC,EAAa,WAAAC,MAAe,QAaxC,IAAMC,EAA0BC,EACrCC,GACG,CACH,GAAM,CACJ,cAAAC,EAAgB,sBAChB,cAAeC,EAA0B,CAAC,EAC1C,QAASC,EAAgB,CAAC,EAC1B,SAAAC,EACA,QAAAC,EACA,eAAAC,CACF,EAAIN,EAEE,CAACO,EAAOC,CAAQ,EAAIC,EAAoC,CAC5D,eAAgBR,EAChB,iBAAkB,CAAC,EACnB,UAAW,GACX,aAAc,GACd,SAAU,EACV,cAAe,CACjB,CAAC,EAEKS,EAAcC,EAAQ,KACnB,CACL,GAAGT,CACL,GACC,CAACA,CAAuB,CAAC,EAGtBU,EAAoBD,EAAQ,IACzBR,IAAgBI,EAAM,cAAc,EAC1C,CAACJ,EAAeI,EAAM,cAAc,CAAC,EAGlCM,EAAeF,EAAQ,IAAM,CACjC,GAAI,CACFH,EAAUM,IAAU,CAAE,GAAGA,EAAM,UAAW,EAAK,EAAE,EACjD,IAAMC,EAAOC,EAAmBJ,EAAkB,OAAQF,EAAa,CACrE,qBAAsB,EACxB,CAAC,EACD,OAAAF,EAAUM,IAAU,CAAE,GAAGA,EAAM,UAAW,EAAM,EAAE,EAC3CC,CACT,OAASE,EAAO,CACd,MAAAT,EAAUM,IAAU,CAAE,GAAGA,EAAM,UAAW,EAAM,EAAE,EAClDT,IAAUY,CAAK,EACTA,CACR,CACF,EAAG,CAACL,EAAkB,OAAQF,EAAaL,CAAO,CAAC,EAG7Ca,EAAqBC,EACxBC,GAAsB,CACrBZ,EAAUM,IAAU,CAAE,GAAGA,EAAM,eAAgBM,CAAU,EAAE,EAC3Dd,IAAiBc,CAAS,EAC1BZ,EAAUM,IAAU,CAAE,GAAGA,EAAM,SAAUA,EAAK,SAAW,CAAE,EAAE,CAC/D,EACA,CAACR,CAAc,CACjB,EAGMe,EAAeF,EACnB,MAAOG,GAAwB,CAC7Bd,EAAUM,IAAU,CAAE,GAAGA,EAAM,aAAc,EAAK,EAAE,EAEpD,GAAI,CACF,MAAMV,IAAWkB,CAAM,EAEvB,IAAMC,EAAqC,CACzC,QAAS,GACT,KAAMD,EACN,UAAW,IAAI,KAAK,EAAE,YAAY,CACpC,EAEA,OAAAd,EAAUM,IAAU,CAClB,GAAGA,EACH,aAAc,GACd,iBAAkB,CAACS,EAAQ,GAAGT,EAAK,gBAAgB,CACrD,EAAE,EAEKS,CACT,OAASN,EAAO,CACd,IAAMM,EAAqC,CACzC,QAAS,GACT,KAAMD,EACN,UAAW,IAAI,KAAK,EAAE,YAAY,CACpC,EAEA,MAAAd,EAAUM,IAAU,CAClB,GAAGA,EACH,aAAc,GACd,iBAAkB,CAACS,EAAQ,GAAGT,EAAK,gBAAgB,CACrD,EAAE,EAEFT,IAAUY,CAAK,EACTA,CACR,CACF,EACA,CAACb,EAAUC,CAAO,CACpB,EAGMmB,EAAcL,EAAY,IAAM,CACpCX,EAAUM,IAAU,CAAE,GAAGA,EAAM,SAAUA,EAAK,SAAW,CAAE,EAAE,CAC/D,EAAG,CAAC,CAAC,EAGCW,EAAeN,EAAY,IAAM,CACrCX,EAAUM,IAAU,CAAE,GAAGA,EAAM,iBAAkB,CAAC,CAAE,EAAE,CACxD,EAAG,CAAC,CAAC,EAGCY,EAAmBP,EACvB,MAAOG,GAAwB,CAC7B,GAAI,CAACT,EAAa,OAChB,OAAO,KAET,IAAMc,EAAe,MAAMC,EACzBN,EACAT,EAAa,OACb,CAAE,oBAAqB,EAAM,CAC/B,EACMU,EAAS,MAAMV,EAAa,iBAAiBc,CAAY,EAE/D,OAAAnB,EAAUM,IAAU,CAAE,GAAGA,EAAM,cAAeA,EAAK,cAAgB,CAAE,EAAE,EAEhES,CACT,EACA,CAACV,CAAY,CACf,EAEMgB,EAAgBlB,EAAQ,IACrBmB,EAAiBjB,EAAa,OAAQH,CAAW,EACvD,CAACG,EAAa,OAAQH,CAAW,CAAC,EAErC,MAAO,CAEL,eAAgBH,EAAM,eACtB,SAAUA,EAAM,SAChB,UAAWA,EAAM,UACjB,aAAcA,EAAM,aACpB,iBAAkBA,EAAM,iBACxB,YAAAG,EACA,cAAAmB,EAGA,kBAAAjB,EAGA,OAAQC,EAAa,OACrB,KAAMA,EAAa,KAGnB,mBAAAK,EACA,aAAAG,EACA,YAAAG,EACA,aAAAC,EAMA,kBAAmB1B,EAAA,MAAOuB,GAAwB,CAChD,MAAMI,EAAiBJ,CAAM,CAC/B,EAFmB,qBAKnB,iBAAAI,CACF,CACF,EAvKuC","names":["useState","useCallback","useMemo","useJsonSchemaPlayground","__name","options","defaultSchema","jsonSchemaInitialValues","customSchemas","onSubmit","onError","onSchemaChange","state","setState","useState","fieldValues","useMemo","currentSchemaData","headlessForm","prev","form","createHeadlessForm","error","handleSchemaChange","useCallback","schemaKey","handleSubmit","values","result","handleReset","clearResults","handleValidation","parsedValues","parseJSFToValidate","initialValues","getInitialValues"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as Et}from"./chunk-VAIBLWOY.js";import{a as Ft}from"./chunk-R36IOANR.js";import{c as Vt}from"./chunk-KMLI4ISS.js";import{a as bt}from"./chunk-3O7L6JUX.js";import{a as nt,b as at,c as st,f as it,g as rt,h as ot,i as lt,j as ct,k as mt,l as dt,m as ut,o as ft,p as pt,q as yt,r as gt,x as _t}from"./chunk-RG67OYQN.js";import{a as Xe,b as Ye,c as Ze,e as me,f as et,g as tt}from"./chunk-X3FRANQS.js";import{b as J,h as _,i as N,k as ce,u as O}from"./chunk-NXRWBI36.js";import{a as St}from"./chunk-XPVYX7LE.js";import{a as g}from"./chunk-P37U34EQ.js";import{useCallback as de,useEffect as ue,useMemo as r,useRef as nn,useState as K}from"react";import an from"lodash.mergewith";import{jsx as Ct}from"react/jsx-runtime";var sn={employment_basic_information:"basic_information",contract_details:"contract_details"},rn={select_country:null,basic_information:"employment_basic_information",engagement_agreement_details:null,contract_details:"contract_details",benefits:null,employment_agreement_preview:null,review:null},on=g(({isLoadingBasicInformationForm:u,isLoadingContractDetailsForm:w,isLoadingContractDetailsFormV1:P,isLoadingEngagementAgreementDetails:k,isLoadingEmploymentAgreementPreview:n,isLoadingEmploymentEngagementAgreementDetails:F,isLoadingEmployment:v,isLoadingBenefitsOffersSchema:l,isLoadingBenefitOffers:U,isLoadingCompany:G,isLoadingCountries:i,employmentStatus:A,employmentId:s,currentStepName:H,basicInformationFields:D,contractDetailsFields:Y,arePreOnboardingRequirementsFulfilled:Z,isLoadingOnboardingReservesStatus:ee})=>{let h=u||w||k||F||v||l||U||G||i||n||P,x=A&&Ye.includes(A),T=A&&!Ze.includes(A)&&Z&&!ee,W=!!(s&&x&&H!=="review"),te=h||W,ne=!!(W&&!h&&D.length>0&&Y.length>0);return{isLoading:te,isNavigatingToReview:ne,isEmploymentReadOnly:x,canInvite:T}},"getLoadingStates"),ln=g(({countryCode:u,query:w,enabled:P,jsonSchemaVersion:k,jsfModify:n})=>{let F=r(()=>({queryOptions:{enabled:P},transformMoneyFields:!1,jsfModify:n}),[P,n]),{data:v,isLoading:l}=rt({countryCode:u,query:w,options:F,jsonSchemaVersion:k});return{form:v,isLoading:l}},"useJsfV1ContractDetails"),Cn=g(({employmentId:u,companyId:w,countryCode:P,type:k,options:n,skipSteps:F,externalId:v,initialValues:l})=>{let{updateErrorContext:U}=Vt({flow:"onboarding",metadata:{employmentId:u,companyId:w,isUpdating:!!u}}),[,G]=K(0),[i,A]=K(u),[s,H]=K(P||null),[D,Y]=K(!1),[Z,ee]=K(!1),h=n?.features?.includes("dynamic_steps")??!1,x=n?.features?.includes("split_salary_description")??!1,T=!!(n?.features?.includes("ea_preview")&&Z),{steps:W,stepsArray:te}=r(()=>Xe({includeSelectCountry:!F?.includes("select_country"),includeEngagementAgreementDetails:D,useDynamicSteps:h,useEAPreview:T}),[D,F,h,T]),ne=de(e=>{U({step:e.name})},[U]),{fieldValues:E,stepState:t,setFieldValues:fe,previousStep:wt,nextStep:vt,goToStep:ae,setStepValues:pe}=St(W,ne),{data:$,isLoading:ye}=st(i,{enabled:!!(i&&n?.features?.includes("dynamic_steps"))}),ht=r(()=>({...l,...$,...t.values?.engagement_agreement_details,...E}),[$,l,t.values?.engagement_agreement_details,E]),{data:c,isLoading:ge}=yt(s,ht,{jsfModify:n?.jsfModify,queryOptions:{enabled:!!(s&&n?.features?.includes("dynamic_steps"))}});ue(()=>{let e=!!(c?.fields&&c.fields.length>0);e!==D&&Y(e)},[c?.fields,D]);let z=nn({select_country:{},basic_information:{},contract_details:{},benefits:{},engagement_agreement_details:{},employment_agreement_preview:{}}),{data:b,isLoading:_e,refetch:Mt}=bt({employmentId:i,queryParams:{exclude_files:!0}});u&&b?.country?.code&&!s&&H(b.country.code);let{data:be,isLoading:Se}=at(i),{data:Q,isLoading:Fe,refetch:Lt}=nt(w),Ot=n?.features?.includes("onboarding_reserves")&&t.currentStep.name==="review"||!1,{data:Pt,isLoading:Ee}=pt(w,i,Ot),At=!!(n?.features?.includes("pre_onboarding_requirements")&&i),{data:X,isLoading:Ve}=gt(i,{queryOptions:{enabled:At}}),Ce=r(()=>Ve?!1:!X||X.length===0?!0:X.every(e=>e.status==="finished"),[X,Ve]),Dt=r(()=>t.currentStep.name==="select_country"||F?.includes("select_country")&&!!s&&h&&n?.features?.includes("ea_preview"),[t.currentStep.name,F,s,h,n?.features]),{selectCountryForm:M,isLoading:we,countries:ve}=ut({jsfModify:n?.jsfModify?.select_country,queryOptions:{enabled:Dt}}),he=r(()=>!!ve?.find(e=>e.value===s)?.employment_agreement_preview_available,[ve,s]);ue(()=>{ee(he)},[he]);let qt=!!i&&T&&t.currentStep.name==="employment_agreement_preview",{data:jt,isLoading:Me}=_t(i,{queryOptions:{enabled:qt}}),Le=lt(n),Oe=ct(s,n),Pe=dt(n),Ae=mt(),De=ft(),{mutateAsync:Bt}=J(Le),{mutateAsync:qe}=J(Oe),{mutateAsync:Rt}=J(Pe),{mutateAsync:Jt}=J(Ae),{mutateAsync:Nt}=J(De),kt=rn[t.currentStep.name]||"employment_basic_information",xt=sn[kt],Tt=b?.[xt]||{},je=g(({form:e,options:o={},query:d={},jsonSchemaVersion:V})=>{let oe=Object.keys(E).length>0?{...l,...t.values?.[t.currentStep.name],...E}:{...l,...Tt};return it({countryCode:s,form:e,fieldValues:oe,query:d,options:{...o,queryOptions:{enabled:o.queryOptions?.enabled??!0}},jsonSchemaVersion:V})},"useJSONSchema"),It=!!(s&&(t.currentStep.name==="basic_information"||u)),Kt=!!(s&&(t.currentStep.name==="contract_details"&&!me(s)||u)),m=!!(me(s)&&(t.currentStep.name==="contract_details"||u)),{data:f,isLoading:Be}=je({form:"employment_basic_information",options:{jsfModify:n?.jsfModify?.basic_information,queryOptions:{enabled:It}},jsonSchemaVersion:tt(n)}),q=n?.jsfModify?.contract_details?.fields?.annual_gross_salary,se=q&&typeof q=="object"&&"presentation"in q?q.presentation:void 0,Re=n?.jsfModify?.contract_details?.fields?.equity_compensation,ie=r(()=>({fields:{annual_gross_salary:{...q,presentation:{annual_gross_salary_conversion_properties:{label:se?.annual_gross_salary_conversion_properties?.label,description:se?.annual_gross_salary_conversion_properties?.description},desiredCurrency:Q?.desired_currency,Component:g(e=>Ct(Ft,{desiredCurrency:Q?.desired_currency||"",splitDescription:x,...e}),"Component")}},equity_compensation:{...Re,presentation:{calculateDynamicProperties:g((e,o)=>{let d=e.equity_compensation?.offer_equity_compensation,V=o?.meta?.cost;return{extra:Ct(Et,{offerEquity:d,equityCost:V})}},"calculateDynamicProperties")}}}}),[q,se,Q?.desired_currency,Re,x]),Je=et(n,s),{data:p,isLoading:Ne}=je({form:"contract_details",query:{employment_id:i},options:{jsfModify:{...n?.jsfModify?.contract_details,fields:{...n?.jsfModify?.contract_details?.fields,...ie.fields}},queryOptions:{enabled:Kt}},jsonSchemaVersion:Je}),Ut=r(()=>({...n?.jsfModify?.contract_details,fields:{...n?.jsfModify?.contract_details?.fields,...ie.fields}}),[n?.jsfModify?.contract_details,ie.fields]),{form:y,isLoading:ke}=ln({countryCode:s,query:{employment_id:i},enabled:m,jsonSchemaVersion:Je,jsfModify:Ut}),{data:S,isLoading:xe}=ot(i,E,n),Te=r(()=>{if(t.currentStep.name==="benefits"){let e={...t.values?.[t.currentStep.name],...E};return an({},be,e)}return{}},[t.currentStep.name,be,t.values,E]),a=r(()=>({select_country:M?.fields||[],basic_information:f?.fields||[],engagement_agreement_details:c?.fields||[],contract_details:m?y?.fields||[]:p?.fields||[],benefits:S?.fields||[],employment_agreement_preview:[],review:[]}),[M?.fields,f?.fields,p?.fields,S?.fields,c?.fields,m,y?.fields]),Gt=r(()=>({select_country:null,basic_information:f?.meta["x-jsf-fieldsets"],engagement_agreement_details:c?.meta["x-jsf-fieldsets"],contract_details:m?y?.meta["x-jsf-fieldsets"]:p?.meta["x-jsf-fieldsets"],benefits:null,employment_agreement_preview:null,review:null}),[f?.meta,c?.meta,m,y?.meta,p?.meta]),Ht=r(()=>({select_country:M?.meta?.["x-jsf-presentation"],basic_information:f?.meta?.["x-jsf-presentation"],engagement_agreement_details:c?.meta?.["x-jsf-presentation"],contract_details:m?y?.meta?.["x-jsf-presentation"]:p?.meta?.["x-jsf-presentation"],benefits:S?.meta?.["x-jsf-presentation"],employment_agreement_preview:null,review:null}),[M?.meta,f?.meta,c?.meta,m,y?.meta,p?.meta,S?.meta]),{country:Ie,basic_information:Ke={},contract_details:Ue={},status:Ge}=b||{},He=Ie?.code,We=t.currentStep.name,j=r(()=>N(a.select_country,{country:s||He||""}),[a.select_country,s,He]),B=r(()=>{let e={...l,...Ke};return N(a.basic_information,e)},[a.basic_information,Ke,l]),I=r(()=>{let e={...l,...$};return N(a.engagement_agreement_details,e)},[a.engagement_agreement_details,l,$]),L=r(()=>{let e={...l,...Ue};return N(a.contract_details,e)},[a.contract_details,Ue,l]),R=r(()=>{let e={...l,...Te};return N(a.benefits,e)},[a.benefits,Te,l]),Wt=r(()=>b?{select_country:j,basic_information:ce(a.basic_information,B),engagement_agreement_details:I,contract_details:b?.contract_details!==null?ce(a.contract_details,L):L,benefits:R,employment_agreement_preview:{}}:{select_country:j,basic_information:B,contract_details:L,benefits:R,employment_agreement_preview:{}},[j,B,I,L,R,b,a]),{isLoading:$t,isNavigatingToReview:$e,isEmploymentReadOnly:zt,canInvite:Qt}=r(()=>on({isLoadingBasicInformationForm:Be,isLoadingContractDetailsForm:Ne,isLoadingContractDetailsFormV1:ke,isLoadingEngagementAgreementDetails:ge,isLoadingEmploymentEngagementAgreementDetails:ye,isLoadingEmployment:_e,isLoadingBenefitsOffersSchema:xe,isLoadingBenefitOffers:Se,isLoadingCompany:Fe,isLoadingCountries:we,isLoadingEmploymentAgreementPreview:Me,employmentId:u,employmentStatus:Ge,basicInformationFields:a.basic_information,contractDetailsFields:a.contract_details,currentStepName:We,arePreOnboardingRequirementsFulfilled:Ce,isLoadingOnboardingReservesStatus:Ee}),[Be,Ne,ge,ye,_e,xe,Se,Fe,we,Me,u,Ge,a.basic_information,a.contract_details,We,Ce,Ee,ke]);ue(()=>{$e&&(z.current={select_country:O(j,a.select_country,{skipMoneyConversion:!0}),basic_information:O(B,a.basic_information,{skipMoneyConversion:!0}),engagement_agreement_details:O(I,a.engagement_agreement_details,{skipMoneyConversion:!0}),contract_details:O(L,a.contract_details,{skipMoneyConversion:!0}),benefits:O(R,a.benefits,{skipMoneyConversion:!0}),employment_agreement_preview:{}},pe({select_country:j,basic_information:B,contract_details:L,benefits:R,engagement_agreement_details:I,employment_agreement_preview:{},review:{}}),ae("review"))},[B,R,L,I,ae,$e,j,pe,a.basic_information,a.benefits,a.contract_details,a.select_country,a.engagement_agreement_details]);let ze=g(async e=>M&&t.currentStep.name==="select_country"?e:f&&t.currentStep.name==="basic_information"?await _(e,f?.fields,{isPartialValidation:!1}):c&&t.currentStep.name==="engagement_agreement_details"?await _(e,c?.fields,{isPartialValidation:!1}):p&&t.currentStep.name==="contract_details"&&!m?await _(e,p?.fields,{isPartialValidation:!1}):y&&t.currentStep.name==="contract_details"&&m?await _(e,y?.fields,{isPartialValidation:!1}):S&&t.currentStep.name==="benefits"?await _(e,S?.fields,{isPartialValidation:!1}):{},"parseFormValues");async function Xt(e){let o=t.currentStep.name,d=await ze(e);switch(o in z.current&&(z.current[o]=O(d,a[o])),Lt(),t.currentStep.name){case"select_country":return H(d.country),Promise.resolve({data:{countryCode:d.country}});case"basic_information":{let V=!i&&s,Qe=i&&s&&b?.country&&b?.country.code!==s;if(V||Qe){let oe={basic_information:d,type:k,country_code:s,external_id:v};try{let C=await Bt(oe);if(C.error)return C;if(C.data){let le=C.data?.data?.employment?.id;return le&&(A(le),await Nt({employmentId:le,eligible_to_work_in_residing_country:"citizen",employer_or_work_restrictions:!1})),C}}catch(C){throw console.error("Error creating onboarding:",C),C}}else if(i)return qe({employmentId:i,basic_information:d,pricing_plan_details:{frequency:"monthly"},external_id:v});return}case"engagement_agreement_details":return Jt({employmentId:i,engagement_agreement_details:d});case"contract_details":return qe({employmentId:i,external_id:v,...{contract_details:d,pricing_plan_details:{frequency:"monthly"}}});case"benefits":return Rt({employmentId:i,...d})}}g(Xt,"onSubmit");function Yt(){wt()}g(Yt,"back");function Zt(){vt()}g(Zt,"next");function en(e){ae(e)}g(en,"goTo");let re=de(async e=>{if(t.currentStep.name==="select_country")return M.handleValidation(e);if(t.currentStep.name==="benefits"&&S){let o=await _(e,S?.fields,{isPartialValidation:!1});return S?.handleValidation(o)}if(f&&t.currentStep.name==="basic_information"){let o=await _(e,f?.fields,{isPartialValidation:!1});return f?.handleValidation(o)}if(c&&t.currentStep.name==="engagement_agreement_details"){let o=await _(e,c?.fields,{isPartialValidation:!1});return c?.handleValidation(o)}if(p&&t.currentStep.name==="contract_details"&&!m){let o=await _(e,p?.fields,{isPartialValidation:!1});return p?.handleValidation(o)}if(y&&t.currentStep.name==="contract_details"&&m){let o=await _(e,y?.fields,{isPartialValidation:!0}),d=y?.handleValidation(o);return G(V=>V+1),d}return null},[t,M,S,f,c,p,y,m,G]),tn=de(async e=>{fe(e),m&&t.currentStep.name==="contract_details"&&await re(e)},[fe,m,t,re]);return{employmentId:i,options:{features:n?.features},creditRiskStatus:Q?.default_legal_entity_credit_risk_status,onboardingReservesStatus:Pt,fieldValues:E,stepState:t,fields:a[t.currentStep.name],isLoading:$t,isSubmitting:Le.isPending||Oe.isPending||Pe.isPending||Ae.isPending||De.isPending,initialValues:Wt,handleValidation:re,checkFieldUpdates:tn,parseFormValues:ze,onSubmit:Xt,back:Yt,next:Zt,goTo:en,meta:{fields:z.current,fieldsets:Gt[t.currentStep.name],presentation:Ht[t.currentStep.name]},refetchEmployment:Mt,employment:b,isEmploymentReadOnly:zt,canInvite:Qt,steps:te,selectedCountry:s?{code:s,name:Ie?.name}:null,employmentAgreementPreview:jt}},"useOnboarding");export{Cn as a};
|
|
2
|
+
//# sourceMappingURL=chunk-IAR7QW2Y.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/flows/Onboarding/hooks.tsx"],"sourcesContent":["import { ValidationResult } from '@remoteoss/remote-json-schema-form-kit';\nimport {\n Employment,\n EmploymentCreateParams,\n EmploymentFullParams,\n} from '@/src/client';\nimport { JSFFields, NestedMeta } from '@/src/types/remoteFlows';\nimport { useStepState, Step } from '@/src/flows/useStepState';\nimport {\n disabledInviteButtonEmploymentStatus,\n getContractDetailsSchemaVersion,\n getBasicInformationSchemaVersion,\n reviewStepAllowedEmploymentStatus,\n buildSteps,\n StepKeys,\n usesJsfV1ContractDetails,\n} from '@/src/flows/Onboarding/utils';\nimport { prettifyFormValues } from '@/src/lib/utils';\nimport {\n getInitialValues,\n enableAckFields,\n parseJSFToValidate,\n} from '@/src/components/form/utils';\nimport { mutationToPromise } from '@/src/lib/mutations';\nimport { FieldValues } from 'react-hook-form';\nimport { OnboardingFlowProps } from '@/src/flows/Onboarding/types';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport mergeWith from 'lodash.mergewith';\nimport {\n useBenefitOffers,\n useBenefitOffersSchema,\n useCompany,\n useContractDetailsSchema,\n useCountriesSchemaField,\n useCreateEmployment,\n useEmploymentAgreementPreview,\n useEmploymentEngagementAgreementDetails,\n useEmploymentOnboardingReservesStatus,\n useEngagementAgreementDetailsSchema,\n useGetPreOnboardingRequirements,\n useJSONSchemaForm,\n useUpdateBenefitsOffers,\n useUpdateEmployment,\n useUpdateEmploymentEngagementAgreementDetails,\n useUpsertContractEligibility,\n} from '@/src/flows/Onboarding/api';\nimport { JSFModify, JSONSchemaFormType } from '@/src/flows/types';\nimport { AnnualGrossSalary } from '@/src/flows/Onboarding/components/AnnualGrossSalary';\nimport { $TSFixMe, JSFField, JSFFieldset } from '@/src/types/remoteFlows';\nimport { EquityPriceDetails } from '@/src/flows/Onboarding/components/EquityPriceDetails';\nimport { useErrorReporting } from '@/src/components/error-handling/useErrorReporting';\nimport { useEmploymentQuery } from '@/src/common/api/employment';\n\ntype OnboardingHookProps = Omit<OnboardingFlowProps, 'render'>;\n\nconst jsonSchemaToEmployment: Partial<\n Record<JSONSchemaFormType, keyof Employment>\n> = {\n employment_basic_information: 'basic_information',\n contract_details: 'contract_details',\n};\n\nconst stepToFormSchemaMap: Record<StepKeys, JSONSchemaFormType | null> = {\n select_country: null,\n basic_information: 'employment_basic_information',\n engagement_agreement_details: null,\n contract_details: 'contract_details',\n benefits: null,\n employment_agreement_preview: null,\n review: null,\n};\n\nconst getLoadingStates = ({\n isLoadingBasicInformationForm,\n isLoadingContractDetailsForm,\n isLoadingContractDetailsFormV1,\n isLoadingEngagementAgreementDetails,\n isLoadingEmploymentAgreementPreview,\n isLoadingEmploymentEngagementAgreementDetails,\n isLoadingEmployment,\n isLoadingBenefitsOffersSchema,\n isLoadingBenefitOffers,\n isLoadingCompany,\n isLoadingCountries,\n employmentStatus,\n employmentId,\n currentStepName,\n basicInformationFields,\n contractDetailsFields,\n arePreOnboardingRequirementsFulfilled,\n isLoadingOnboardingReservesStatus,\n}: {\n isLoadingBasicInformationForm: boolean;\n isLoadingContractDetailsForm: boolean;\n isLoadingContractDetailsFormV1: boolean;\n isLoadingEngagementAgreementDetails: boolean;\n isLoadingEmploymentEngagementAgreementDetails: boolean;\n isLoadingEmployment: boolean;\n isLoadingBenefitsOffersSchema: boolean;\n isLoadingBenefitOffers: boolean;\n isLoadingCompany: boolean;\n isLoadingCountries: boolean;\n isLoadingEmploymentAgreementPreview: boolean;\n employmentStatus?: Employment['status'];\n employmentId?: string;\n currentStepName: string;\n basicInformationFields: JSFFields;\n contractDetailsFields: JSFFields;\n arePreOnboardingRequirementsFulfilled: boolean;\n isLoadingOnboardingReservesStatus: boolean;\n}) => {\n const initialLoading =\n isLoadingBasicInformationForm ||\n isLoadingContractDetailsForm ||\n isLoadingEngagementAgreementDetails ||\n isLoadingEmploymentEngagementAgreementDetails ||\n isLoadingEmployment ||\n isLoadingBenefitsOffersSchema ||\n isLoadingBenefitOffers ||\n isLoadingCompany ||\n isLoadingCountries ||\n isLoadingEmploymentAgreementPreview ||\n isLoadingContractDetailsFormV1;\n\n const isEmploymentReadOnly =\n employmentStatus &&\n reviewStepAllowedEmploymentStatus.includes(employmentStatus);\n\n const canInvite =\n employmentStatus &&\n !disabledInviteButtonEmploymentStatus.includes(employmentStatus) &&\n arePreOnboardingRequirementsFulfilled &&\n !isLoadingOnboardingReservesStatus;\n\n const shouldHandleReadOnlyEmployment = Boolean(\n employmentId && isEmploymentReadOnly && currentStepName !== 'review',\n );\n\n const isLoading = initialLoading || shouldHandleReadOnlyEmployment;\n\n const isNavigatingToReview = Boolean(\n shouldHandleReadOnlyEmployment &&\n !initialLoading &&\n basicInformationFields.length > 0 &&\n contractDetailsFields.length > 0,\n );\n\n return {\n isLoading,\n isNavigatingToReview,\n isEmploymentReadOnly,\n canInvite,\n };\n};\n\nconst useJsfV1ContractDetails = ({\n countryCode,\n query,\n enabled,\n jsonSchemaVersion,\n jsfModify,\n}: {\n countryCode: string;\n query: Record<string, string>;\n enabled: boolean;\n jsonSchemaVersion: number | 'latest';\n jsfModify?: JSFModify;\n}) => {\n const options = useMemo(\n () => ({\n queryOptions: {\n enabled,\n },\n transformMoneyFields: false,\n jsfModify,\n }),\n [enabled, jsfModify],\n );\n const { data: form, isLoading: isLoadingContractDetails } =\n useContractDetailsSchema({\n countryCode,\n query,\n options,\n jsonSchemaVersion,\n });\n\n return {\n form,\n isLoading: isLoadingContractDetails,\n };\n};\n\nexport const useOnboarding = ({\n employmentId,\n companyId,\n countryCode,\n type,\n options,\n skipSteps,\n externalId,\n initialValues: onboardingInitialValues,\n}: OnboardingHookProps) => {\n const { updateErrorContext } = useErrorReporting({\n flow: 'onboarding',\n metadata: {\n employmentId,\n companyId,\n isUpdating: Boolean(employmentId),\n },\n });\n\n const [, setFieldsCount] = useState<number>(0);\n const [internalEmploymentId, setInternalEmploymentId] = useState<\n string | undefined\n >(employmentId);\n const [internalCountryCode, setInternalCountryCode] = useState<string | null>(\n countryCode || null,\n );\n\n const [\n includeEngagementAgreementDetails,\n setIncludeEngagementAgreementDetails,\n ] = useState<boolean>(false);\n\n const [\n includeEmploymentAgreementPreview,\n setIncludeEmploymentAgreementPreview,\n ] = useState<boolean>(false);\n\n const useDynamicSteps = options?.features?.includes('dynamic_steps') ?? false;\n const useSplitSalaryDescription =\n options?.features?.includes('split_salary_description') ?? false;\n const useEAPreview = Boolean(\n options?.features?.includes('ea_preview') &&\n includeEmploymentAgreementPreview,\n );\n\n const { steps, stepsArray } = useMemo(\n () =>\n buildSteps({\n includeSelectCountry: !skipSteps?.includes('select_country'),\n includeEngagementAgreementDetails,\n useDynamicSteps,\n useEAPreview,\n }),\n [\n includeEngagementAgreementDetails,\n skipSteps,\n useDynamicSteps,\n useEAPreview,\n ],\n );\n\n const onStepChange = useCallback(\n (step: Step<StepKeys>) => {\n updateErrorContext({\n step: step.name,\n });\n },\n [updateErrorContext],\n );\n\n const {\n fieldValues,\n stepState,\n setFieldValues,\n previousStep,\n nextStep,\n goToStep,\n setStepValues,\n } = useStepState(steps, onStepChange);\n\n const {\n data: employmentEngagementAgreementDetails,\n isLoading: isLoadingEmploymentEngagementAgreementDetails,\n } = useEmploymentEngagementAgreementDetails(internalEmploymentId, {\n enabled: Boolean(\n !!internalEmploymentId && options?.features?.includes('dynamic_steps'),\n ),\n });\n\n const engagementAgreementDetailsFieldValues = useMemo(() => {\n return {\n ...onboardingInitialValues,\n ...employmentEngagementAgreementDetails,\n ...stepState.values?.engagement_agreement_details,\n ...fieldValues,\n };\n }, [\n employmentEngagementAgreementDetails,\n onboardingInitialValues,\n stepState.values?.engagement_agreement_details,\n fieldValues,\n ]);\n\n const {\n data: engagementAgreementDetailsSchema,\n isLoading: isLoadingEngagementAgreementDetails,\n } = useEngagementAgreementDetailsSchema(\n internalCountryCode as string,\n engagementAgreementDetailsFieldValues,\n {\n jsfModify: options?.jsfModify,\n queryOptions: {\n enabled: Boolean(\n !!internalCountryCode && options?.features?.includes('dynamic_steps'),\n ),\n },\n },\n );\n\n // logic to include the engagement agreement details step based on the schema fields\n useEffect(() => {\n const hasFields = Boolean(\n engagementAgreementDetailsSchema?.fields &&\n engagementAgreementDetailsSchema.fields.length > 0,\n );\n if (hasFields !== includeEngagementAgreementDetails) {\n setIncludeEngagementAgreementDetails(hasFields);\n }\n }, [\n engagementAgreementDetailsSchema?.fields,\n includeEngagementAgreementDetails,\n ]);\n\n const fieldsMetaRef = useRef<{\n select_country: NestedMeta;\n basic_information: NestedMeta;\n contract_details: NestedMeta;\n benefits: NestedMeta;\n engagement_agreement_details: NestedMeta;\n employment_agreement_preview: NestedMeta;\n }>({\n select_country: {},\n basic_information: {},\n contract_details: {},\n benefits: {},\n engagement_agreement_details: {},\n employment_agreement_preview: {},\n });\n\n const {\n data: employment,\n isLoading: isLoadingEmployment,\n refetch: refetchEmployment,\n } = useEmploymentQuery({\n employmentId: internalEmploymentId as string,\n queryParams: { exclude_files: true },\n });\n\n // if the employment is loaded, country code has not been set yet\n // we set the internal country code with the employment country code\n if (employmentId && employment?.country?.code && !internalCountryCode) {\n setInternalCountryCode(employment.country.code);\n }\n\n const { data: benefitOffers, isLoading: isLoadingBenefitOffers } =\n useBenefitOffers(internalEmploymentId);\n\n const {\n data: company,\n isLoading: isLoadingCompany,\n refetch: refetchCompany,\n } = useCompany(companyId);\n\n const isOnboardingReservesEnabled =\n (options?.features?.includes('onboarding_reserves') &&\n stepState.currentStep.name === 'review') ||\n false;\n\n const {\n data: onboardingReservesStatus,\n isLoading: isLoadingOnboardingReservesStatus,\n } = useEmploymentOnboardingReservesStatus(\n companyId,\n internalEmploymentId,\n isOnboardingReservesEnabled,\n );\n\n const isPreOnboardingRequirementsEnabled = Boolean(\n options?.features?.includes('pre_onboarding_requirements') &&\n !!internalEmploymentId,\n );\n\n const { data: requirements, isLoading: isLoadingPreOnboardingRequirements } =\n useGetPreOnboardingRequirements(internalEmploymentId as string, {\n queryOptions: {\n enabled: isPreOnboardingRequirementsEnabled,\n },\n });\n\n const arePreOnboardingRequirementsFulfilled = useMemo(() => {\n // While loading, block the invite\n if (isLoadingPreOnboardingRequirements) {\n return false;\n }\n // If no requirements data at all, allow invite (don't block the flow)\n if (!requirements || requirements.length === 0) {\n return true;\n }\n\n // Check if all requirements are finished (even if there's an error, check cached data)\n return requirements.every(\n (requirement) => requirement.status === 'finished',\n );\n }, [requirements, isLoadingPreOnboardingRequirements]);\n\n const isSelectCountryEnabled = useMemo(() => {\n return (\n stepState.currentStep.name === 'select_country' ||\n (skipSteps?.includes('select_country') &&\n Boolean(internalCountryCode) &&\n useDynamicSteps &&\n options?.features?.includes('ea_preview'))\n );\n }, [\n stepState.currentStep.name,\n skipSteps,\n internalCountryCode,\n useDynamicSteps,\n options?.features,\n ]);\n\n const {\n selectCountryForm,\n isLoading: isLoadingCountries,\n countries,\n } = useCountriesSchemaField({\n jsfModify: options?.jsfModify?.select_country,\n queryOptions: {\n enabled: isSelectCountryEnabled,\n },\n });\n\n const isEmploymentAgreementPreviewAvailable = useMemo(() => {\n return Boolean(\n countries?.find((country) => country.value === internalCountryCode)\n ?.employment_agreement_preview_available,\n );\n }, [countries, internalCountryCode]);\n\n useEffect(() => {\n setIncludeEmploymentAgreementPreview(isEmploymentAgreementPreviewAvailable);\n }, [isEmploymentAgreementPreviewAvailable]);\n\n const isEmploymentEnabled =\n Boolean(internalEmploymentId) &&\n useEAPreview &&\n stepState.currentStep.name === 'employment_agreement_preview';\n\n const {\n data: employmentAgreementPreview,\n isLoading: isLoadingEmploymentAgreementPreview,\n } = useEmploymentAgreementPreview(internalEmploymentId, {\n queryOptions: {\n enabled: isEmploymentEnabled,\n },\n });\n\n const createEmploymentMutation = useCreateEmployment(options);\n const updateEmploymentMutation = useUpdateEmployment(\n internalCountryCode as string,\n options,\n );\n const updateBenefitsOffersMutation = useUpdateBenefitsOffers(options);\n const updateEngagementAgreementMutation =\n useUpdateEmploymentEngagementAgreementDetails();\n const updateContractEligibilityMutation = useUpsertContractEligibility();\n const { mutateAsync: createEmploymentMutationAsync } = mutationToPromise(\n createEmploymentMutation,\n );\n const { mutateAsync: updateEmploymentMutationAsync } = mutationToPromise(\n updateEmploymentMutation,\n );\n const { mutateAsync: updateBenefitsOffersMutationAsync } = mutationToPromise(\n updateBenefitsOffersMutation,\n );\n // TODO: refactor all uses in onboarding together to avoid having mixed behaviour\n const { mutateAsync: updateEngagementAgreementMutationAsync } =\n mutationToPromise(updateEngagementAgreementMutation);\n const { mutateAsync: updateContractEligibilityMutationAsync } =\n mutationToPromise(updateContractEligibilityMutation);\n\n const formType =\n stepToFormSchemaMap[stepState.currentStep.name] ||\n 'employment_basic_information';\n const employmentKey = jsonSchemaToEmployment[formType] as keyof Employment;\n const serverEmploymentData = (employment?.[employmentKey] || {}) as Record<\n string,\n unknown\n >;\n\n const useJSONSchema = ({\n form,\n options: jsonSchemaOptions = {},\n query = {},\n jsonSchemaVersion,\n }: {\n form: JSONSchemaFormType;\n options?: {\n jsfModify?: JSFModify;\n queryOptions?: { enabled?: boolean };\n };\n query?: Record<string, string>;\n jsonSchemaVersion?: number | 'latest';\n }) => {\n const hasUserEnteredAnyValues = Object.keys(fieldValues).length > 0;\n // when you write on the fields, the values are stored in the fieldValues state\n // when values are stored in the stepState is when the user has navigated to the step\n // and then we have the values from the server and the onboardingInitialValues that the user can inject,\n const mergedFormValues = hasUserEnteredAnyValues\n ? {\n ...onboardingInitialValues,\n ...stepState.values?.[stepState.currentStep.name], // Restore values for the current step\n ...fieldValues,\n }\n : {\n ...onboardingInitialValues,\n ...serverEmploymentData,\n };\n\n return useJSONSchemaForm({\n countryCode: internalCountryCode as string,\n form: form,\n fieldValues: mergedFormValues,\n query,\n options: {\n ...jsonSchemaOptions,\n queryOptions: {\n enabled: jsonSchemaOptions.queryOptions?.enabled ?? true,\n },\n },\n jsonSchemaVersion,\n });\n };\n\n const isBasicInformationDetailsEnabled = Boolean(\n internalCountryCode &&\n (stepState.currentStep.name === 'basic_information' ||\n Boolean(employmentId)),\n );\n\n const isContractDetailsEnabled = Boolean(\n internalCountryCode &&\n ((stepState.currentStep.name === 'contract_details' &&\n !usesJsfV1ContractDetails(internalCountryCode)) ||\n Boolean(employmentId)),\n );\n\n const isJsfV1ContractDetailsEnabled = Boolean(\n usesJsfV1ContractDetails(internalCountryCode) &&\n (stepState.currentStep.name === 'contract_details' ||\n Boolean(employmentId)),\n );\n\n const {\n data: basicInformationForm,\n isLoading: isLoadingBasicInformationForm,\n } = useJSONSchema({\n form: 'employment_basic_information',\n options: {\n jsfModify: options?.jsfModify?.basic_information,\n queryOptions: {\n enabled: isBasicInformationDetailsEnabled,\n },\n },\n jsonSchemaVersion: getBasicInformationSchemaVersion(options),\n });\n\n const annualGrossSalaryField =\n options?.jsfModify?.contract_details?.fields?.annual_gross_salary;\n const annualSalaryFieldPresentation =\n annualGrossSalaryField &&\n typeof annualGrossSalaryField === 'object' &&\n 'presentation' in annualGrossSalaryField\n ? (\n annualGrossSalaryField as {\n presentation?: {\n annual_gross_salary_conversion_properties?: {\n label?: string;\n description?: string;\n };\n };\n }\n ).presentation\n : undefined;\n\n const equityCompensationField =\n options?.jsfModify?.contract_details?.fields?.equity_compensation;\n\n const contractDetailsCustomFields = useMemo(\n () => ({\n fields: {\n annual_gross_salary: {\n ...annualGrossSalaryField,\n presentation: {\n annual_gross_salary_conversion_properties: {\n label:\n annualSalaryFieldPresentation\n ?.annual_gross_salary_conversion_properties?.label,\n description:\n annualSalaryFieldPresentation\n ?.annual_gross_salary_conversion_properties?.description,\n },\n desiredCurrency: company?.desired_currency,\n Component: (props: JSFField & { currency: string }) => {\n return (\n <AnnualGrossSalary\n desiredCurrency={company?.desired_currency || ''}\n splitDescription={useSplitSalaryDescription}\n {...props}\n />\n );\n },\n },\n },\n equity_compensation: {\n ...equityCompensationField,\n presentation: {\n calculateDynamicProperties: (\n values: FieldValues,\n field: JSFField,\n ) => {\n const offerEquity =\n values.equity_compensation?.offer_equity_compensation;\n const equityCost = field?.meta?.cost;\n\n return {\n extra: (\n <EquityPriceDetails\n offerEquity={offerEquity}\n equityCost={equityCost as $TSFixMe}\n />\n ),\n };\n },\n },\n },\n },\n }),\n [\n annualGrossSalaryField,\n annualSalaryFieldPresentation,\n company?.desired_currency,\n equityCompensationField,\n useSplitSalaryDescription,\n ],\n );\n\n const effectiveContractDetailsJsonSchemaVersion =\n getContractDetailsSchemaVersion(options, internalCountryCode);\n\n const { data: contractDetailsForm, isLoading: isLoadingContractDetailsForm } =\n useJSONSchema({\n form: 'contract_details',\n query: {\n employment_id: internalEmploymentId as string,\n },\n options: {\n jsfModify: {\n ...options?.jsfModify?.contract_details,\n fields: {\n ...options?.jsfModify?.contract_details?.fields,\n ...contractDetailsCustomFields.fields,\n },\n },\n queryOptions: {\n enabled: isContractDetailsEnabled,\n },\n },\n jsonSchemaVersion: effectiveContractDetailsJsonSchemaVersion,\n });\n\n const jsfV1Modify = useMemo(\n () => ({\n ...options?.jsfModify?.contract_details,\n fields: {\n ...options?.jsfModify?.contract_details?.fields,\n ...contractDetailsCustomFields.fields,\n },\n }),\n [options?.jsfModify?.contract_details, contractDetailsCustomFields.fields],\n );\n\n const {\n form: contractDetailsFormV1,\n isLoading: isLoadingContractDetailsFormV1,\n } = useJsfV1ContractDetails({\n countryCode: internalCountryCode as string,\n query: {\n employment_id: internalEmploymentId as string,\n },\n enabled: isJsfV1ContractDetailsEnabled,\n jsonSchemaVersion: effectiveContractDetailsJsonSchemaVersion,\n jsfModify: jsfV1Modify,\n });\n\n const {\n data: benefitOffersSchema,\n isLoading: isLoadingBenefitsOffersSchema,\n } = useBenefitOffersSchema(\n internalEmploymentId as string,\n fieldValues,\n options,\n );\n\n const initialValuesBenefitOffers = useMemo(() => {\n if (stepState.currentStep.name === 'benefits') {\n const benefitsFormValues = {\n ...stepState.values?.[stepState.currentStep.name as StepKeys], // Restore values for the current step\n ...fieldValues,\n };\n return mergeWith({}, benefitOffers, benefitsFormValues);\n }\n return {};\n }, [\n stepState.currentStep.name,\n benefitOffers,\n stepState.values,\n fieldValues,\n ]);\n\n const stepFields: Record<StepKeys, JSFFields> = useMemo(\n () => ({\n select_country: selectCountryForm?.fields || [],\n basic_information: basicInformationForm?.fields || [],\n engagement_agreement_details:\n engagementAgreementDetailsSchema?.fields || [],\n contract_details: isJsfV1ContractDetailsEnabled\n ? contractDetailsFormV1?.fields || []\n : contractDetailsForm?.fields || [],\n benefits: benefitOffersSchema?.fields || [],\n employment_agreement_preview: [],\n review: [],\n }),\n [\n selectCountryForm?.fields,\n basicInformationForm?.fields,\n contractDetailsForm?.fields,\n benefitOffersSchema?.fields,\n engagementAgreementDetailsSchema?.fields,\n isJsfV1ContractDetailsEnabled,\n contractDetailsFormV1?.fields,\n ],\n );\n\n const stepFieldsWithFlatFieldsets: Record<\n StepKeys,\n JSFFieldset | null | undefined\n > = useMemo(\n () => ({\n select_country: null,\n basic_information: basicInformationForm?.meta['x-jsf-fieldsets'],\n engagement_agreement_details:\n engagementAgreementDetailsSchema?.meta['x-jsf-fieldsets'],\n contract_details: isJsfV1ContractDetailsEnabled\n ? contractDetailsFormV1?.meta['x-jsf-fieldsets']\n : contractDetailsForm?.meta['x-jsf-fieldsets'],\n benefits: null,\n employment_agreement_preview: null,\n review: null,\n }),\n [\n basicInformationForm?.meta,\n engagementAgreementDetailsSchema?.meta,\n isJsfV1ContractDetailsEnabled,\n contractDetailsFormV1?.meta,\n contractDetailsForm?.meta,\n ],\n );\n\n const stepPresentation: Record<\n StepKeys,\n Record<string, unknown> | null | undefined\n > = useMemo(\n () => ({\n select_country: selectCountryForm?.meta?.['x-jsf-presentation'],\n basic_information: basicInformationForm?.meta?.['x-jsf-presentation'],\n engagement_agreement_details:\n engagementAgreementDetailsSchema?.meta?.['x-jsf-presentation'],\n contract_details: isJsfV1ContractDetailsEnabled\n ? contractDetailsFormV1?.meta?.['x-jsf-presentation']\n : contractDetailsForm?.meta?.['x-jsf-presentation'],\n benefits: benefitOffersSchema?.meta?.['x-jsf-presentation'],\n employment_agreement_preview: null,\n review: null,\n }),\n [\n selectCountryForm?.meta,\n basicInformationForm?.meta,\n engagementAgreementDetailsSchema?.meta,\n isJsfV1ContractDetailsEnabled,\n contractDetailsFormV1?.meta,\n contractDetailsForm?.meta,\n benefitOffersSchema?.meta,\n ],\n );\n\n const {\n country,\n basic_information: employmentBasicInformation = {},\n contract_details: employmentContractDetails = {},\n status: employmentStatus,\n } = employment || {};\n\n const employmentCountryCode = country?.code;\n const currentStepName = stepState.currentStep.name;\n\n const selectCountryInitialValues = useMemo(\n () =>\n getInitialValues(stepFields.select_country, {\n country: internalCountryCode || employmentCountryCode || '',\n }),\n [stepFields.select_country, internalCountryCode, employmentCountryCode],\n );\n\n const basicInformationInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...employmentBasicInformation,\n };\n\n return getInitialValues(stepFields.basic_information, initialValues);\n }, [\n stepFields.basic_information,\n employmentBasicInformation,\n onboardingInitialValues,\n ]);\n\n const engagementAgreementDetailsInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...employmentEngagementAgreementDetails,\n };\n\n return getInitialValues(\n stepFields.engagement_agreement_details,\n initialValues,\n );\n }, [\n stepFields.engagement_agreement_details,\n onboardingInitialValues,\n employmentEngagementAgreementDetails,\n ]);\n\n const contractDetailsInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...employmentContractDetails,\n };\n\n return getInitialValues(stepFields.contract_details, initialValues);\n }, [\n stepFields.contract_details,\n employmentContractDetails,\n onboardingInitialValues,\n ]);\n\n const benefitsInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...initialValuesBenefitOffers,\n };\n\n return getInitialValues(stepFields.benefits, initialValues);\n }, [\n stepFields.benefits,\n initialValuesBenefitOffers,\n onboardingInitialValues,\n ]);\n\n const initialValues = useMemo(() => {\n if (employment) {\n return {\n select_country: selectCountryInitialValues,\n // We don't store ack fields in the db, eg \"ack_start_date_ammendment\" for Argentina, and therefore is not returned in the employment response\n // So when an employmentId exists, it means that the user has already started the onboarding process, and we need to enable the ack fields\n basic_information: enableAckFields(\n stepFields['basic_information'],\n basicInformationInitialValues,\n ),\n engagement_agreement_details: engagementAgreementDetailsInitialValues,\n contract_details:\n // if contract details is null, it means it has not been filled yet, so we can't enable the ack fields\n employment?.contract_details !== null\n ? enableAckFields(\n stepFields['contract_details'],\n contractDetailsInitialValues,\n )\n : contractDetailsInitialValues,\n benefits: benefitsInitialValues,\n employment_agreement_preview: {},\n };\n }\n return {\n select_country: selectCountryInitialValues,\n basic_information: basicInformationInitialValues,\n contract_details: contractDetailsInitialValues,\n benefits: benefitsInitialValues,\n employment_agreement_preview: {},\n };\n }, [\n selectCountryInitialValues,\n basicInformationInitialValues,\n engagementAgreementDetailsInitialValues,\n contractDetailsInitialValues,\n benefitsInitialValues,\n employment,\n stepFields,\n ]);\n\n const { isLoading, isNavigatingToReview, isEmploymentReadOnly, canInvite } =\n useMemo(\n () =>\n getLoadingStates({\n isLoadingBasicInformationForm,\n isLoadingContractDetailsForm,\n isLoadingContractDetailsFormV1,\n isLoadingEngagementAgreementDetails,\n isLoadingEmploymentEngagementAgreementDetails,\n isLoadingEmployment,\n isLoadingBenefitsOffersSchema,\n isLoadingBenefitOffers,\n isLoadingCompany,\n isLoadingCountries,\n isLoadingEmploymentAgreementPreview,\n employmentId,\n employmentStatus: employmentStatus,\n basicInformationFields: stepFields.basic_information,\n contractDetailsFields: stepFields.contract_details,\n currentStepName: currentStepName,\n arePreOnboardingRequirementsFulfilled,\n isLoadingOnboardingReservesStatus,\n }),\n [\n isLoadingBasicInformationForm,\n isLoadingContractDetailsForm,\n isLoadingEngagementAgreementDetails,\n isLoadingEmploymentEngagementAgreementDetails,\n isLoadingEmployment,\n isLoadingBenefitsOffersSchema,\n isLoadingBenefitOffers,\n isLoadingCompany,\n isLoadingCountries,\n isLoadingEmploymentAgreementPreview,\n employmentId,\n employmentStatus,\n stepFields.basic_information,\n stepFields.contract_details,\n currentStepName,\n arePreOnboardingRequirementsFulfilled,\n isLoadingOnboardingReservesStatus,\n isLoadingContractDetailsFormV1,\n ],\n );\n\n useEffect(() => {\n if (isNavigatingToReview) {\n fieldsMetaRef.current = {\n select_country: prettifyFormValues(\n selectCountryInitialValues,\n stepFields.select_country,\n { skipMoneyConversion: true },\n ),\n basic_information: prettifyFormValues(\n basicInformationInitialValues,\n stepFields.basic_information,\n { skipMoneyConversion: true },\n ),\n engagement_agreement_details: prettifyFormValues(\n engagementAgreementDetailsInitialValues,\n stepFields.engagement_agreement_details,\n { skipMoneyConversion: true },\n ),\n contract_details: prettifyFormValues(\n contractDetailsInitialValues,\n stepFields.contract_details,\n { skipMoneyConversion: true },\n ),\n benefits: prettifyFormValues(\n benefitsInitialValues,\n stepFields.benefits,\n { skipMoneyConversion: true },\n ),\n employment_agreement_preview: {},\n };\n\n setStepValues({\n select_country: selectCountryInitialValues,\n basic_information: basicInformationInitialValues,\n contract_details: contractDetailsInitialValues,\n benefits: benefitsInitialValues,\n engagement_agreement_details: engagementAgreementDetailsInitialValues,\n employment_agreement_preview: {},\n review: {},\n });\n\n goToStep('review');\n }\n }, [\n basicInformationInitialValues,\n benefitsInitialValues,\n contractDetailsInitialValues,\n engagementAgreementDetailsInitialValues,\n goToStep,\n isNavigatingToReview,\n selectCountryInitialValues,\n setStepValues,\n stepFields.basic_information,\n stepFields.benefits,\n stepFields.contract_details,\n stepFields.select_country,\n stepFields.engagement_agreement_details,\n ]);\n\n const parseFormValues = async (values: FieldValues) => {\n if (selectCountryForm && stepState.currentStep.name === 'select_country') {\n return values;\n }\n if (\n basicInformationForm &&\n stepState.currentStep.name === 'basic_information'\n ) {\n return await parseJSFToValidate(values, basicInformationForm?.fields, {\n isPartialValidation: false,\n });\n }\n\n if (\n engagementAgreementDetailsSchema &&\n stepState.currentStep.name === 'engagement_agreement_details'\n ) {\n return await parseJSFToValidate(\n values,\n engagementAgreementDetailsSchema?.fields,\n {\n isPartialValidation: false,\n },\n );\n }\n\n if (\n contractDetailsForm &&\n stepState.currentStep.name === 'contract_details' &&\n !isJsfV1ContractDetailsEnabled\n ) {\n return await parseJSFToValidate(values, contractDetailsForm?.fields, {\n isPartialValidation: false,\n });\n }\n\n if (\n contractDetailsFormV1 &&\n stepState.currentStep.name === 'contract_details' &&\n isJsfV1ContractDetailsEnabled\n ) {\n return await parseJSFToValidate(values, contractDetailsFormV1?.fields, {\n isPartialValidation: false,\n });\n }\n\n if (benefitOffersSchema && stepState.currentStep.name === 'benefits') {\n return await parseJSFToValidate(values, benefitOffersSchema?.fields, {\n isPartialValidation: false,\n });\n }\n\n return {};\n };\n\n async function onSubmit(values: FieldValues) {\n // Prettify values for the current step\n const currentStepName = stepState.currentStep.name;\n const parsedValues = await parseFormValues(values);\n if (currentStepName in fieldsMetaRef.current) {\n fieldsMetaRef.current[\n currentStepName as keyof typeof fieldsMetaRef.current\n ] = prettifyFormValues(parsedValues, stepFields[currentStepName]);\n }\n\n refetchCompany();\n switch (stepState.currentStep.name) {\n case 'select_country': {\n setInternalCountryCode(parsedValues.country);\n return Promise.resolve({ data: { countryCode: parsedValues.country } });\n }\n case 'basic_information': {\n const isEmploymentNotLoaded =\n !internalEmploymentId && internalCountryCode;\n const hasChangedCountry =\n internalEmploymentId &&\n internalCountryCode &&\n employment?.country &&\n employment?.country.code !== internalCountryCode;\n if (isEmploymentNotLoaded || hasChangedCountry) {\n const payload: EmploymentCreateParams = {\n basic_information: parsedValues,\n type: type,\n country_code: internalCountryCode,\n external_id: externalId,\n };\n try {\n const response = await createEmploymentMutationAsync(payload);\n\n if (response.error) {\n return response;\n }\n\n if (response.data) {\n // @ts-expect-error the types from the response are not matching\n const employmentId = response.data?.data?.employment?.id;\n if (employmentId) {\n setInternalEmploymentId(employmentId);\n await updateContractEligibilityMutationAsync({\n employmentId: employmentId,\n eligible_to_work_in_residing_country: 'citizen',\n employer_or_work_restrictions: false,\n });\n }\n\n return response;\n }\n } catch (error) {\n console.error('Error creating onboarding:', error);\n throw error;\n }\n } else if (internalEmploymentId) {\n return updateEmploymentMutationAsync({\n employmentId: internalEmploymentId,\n basic_information: parsedValues,\n pricing_plan_details: {\n frequency: 'monthly',\n },\n external_id: externalId,\n });\n }\n\n return;\n }\n case 'engagement_agreement_details': {\n return updateEngagementAgreementMutationAsync({\n employmentId: internalEmploymentId as string,\n engagement_agreement_details: parsedValues,\n });\n }\n case 'contract_details': {\n const payload: EmploymentFullParams = {\n contract_details: parsedValues,\n pricing_plan_details: {\n frequency: 'monthly',\n },\n };\n return updateEmploymentMutationAsync({\n employmentId: internalEmploymentId as string,\n external_id: externalId,\n ...payload,\n });\n }\n\n case 'benefits': {\n return updateBenefitsOffersMutationAsync({\n employmentId: internalEmploymentId as string,\n ...parsedValues,\n });\n }\n }\n return;\n }\n\n function back() {\n previousStep();\n }\n\n function next() {\n nextStep();\n }\n\n function goTo(step: StepKeys) {\n goToStep(step);\n }\n\n const handleValidation = useCallback(\n async (values: FieldValues): Promise<ValidationResult | null> => {\n if (stepState.currentStep.name === 'select_country') {\n return selectCountryForm.handleValidation(values);\n }\n if (stepState.currentStep.name === 'benefits' && benefitOffersSchema) {\n const parsedValues = await parseJSFToValidate(\n values,\n benefitOffersSchema?.fields,\n { isPartialValidation: false },\n );\n\n return benefitOffersSchema?.handleValidation(parsedValues);\n }\n if (\n basicInformationForm &&\n stepState.currentStep.name === 'basic_information'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n basicInformationForm?.fields,\n { isPartialValidation: false },\n );\n return basicInformationForm?.handleValidation(parsedValues);\n }\n\n if (\n engagementAgreementDetailsSchema &&\n stepState.currentStep.name === 'engagement_agreement_details'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n engagementAgreementDetailsSchema?.fields,\n { isPartialValidation: false },\n );\n return engagementAgreementDetailsSchema?.handleValidation(parsedValues);\n }\n\n if (\n contractDetailsForm &&\n stepState.currentStep.name === 'contract_details' &&\n !isJsfV1ContractDetailsEnabled\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n contractDetailsForm?.fields,\n { isPartialValidation: false },\n );\n return contractDetailsForm?.handleValidation(parsedValues);\n }\n\n if (\n contractDetailsFormV1 &&\n stepState.currentStep.name === 'contract_details' &&\n isJsfV1ContractDetailsEnabled\n ) {\n // Invisible values are kept on purpose here. The fields still hold the\n // visibility of the previous change, so dropping their values would hide\n // what a field that is about to become visible needs to compute itself:\n // a hidden fieldset coming back would lose the values driving its own\n // children. handleValidation resolves the visibility first and nulls\n // whatever it considers hidden afterwards, which is the right order.\n const parsedValues = await parseJSFToValidate(\n values,\n contractDetailsFormV1?.fields,\n { isPartialValidation: true },\n );\n const result = contractDetailsFormV1?.handleValidation(parsedValues);\n setFieldsCount((prev) => prev + 1);\n return result;\n }\n\n return null;\n },\n [\n stepState,\n selectCountryForm,\n benefitOffersSchema,\n basicInformationForm,\n engagementAgreementDetailsSchema,\n contractDetailsForm,\n contractDetailsFormV1,\n isJsfV1ContractDetailsEnabled,\n setFieldsCount,\n ],\n );\n\n const checkFieldUpdates = useCallback(\n async (values: FieldValues) => {\n setFieldValues(values);\n if (\n isJsfV1ContractDetailsEnabled &&\n stepState.currentStep.name === 'contract_details'\n ) {\n await handleValidation(values);\n }\n },\n [\n setFieldValues,\n isJsfV1ContractDetailsEnabled,\n stepState,\n handleValidation,\n ],\n );\n\n return {\n /**\n * Employment id passed useful to be used between components\n */\n employmentId: internalEmploymentId,\n\n /**\n * Onboarding flow options (feature flags)\n */\n options: {\n features: options?.features,\n },\n\n /**\n * Credit risk status of the company, useful to know what to to show in the review step\n * The possible values are:\n * - not_started\n * - ready\n * - in_progress\n * - referred\n * - fail\n * - deposit_required\n * - no_deposit_required\n */\n\n creditRiskStatus: company?.default_legal_entity_credit_risk_status,\n /**\n * Onboarding reserves status for the employment\n * Returns 'deposit_required' if a deposit is required based on onboarding reserves policies\n */\n onboardingReservesStatus: onboardingReservesStatus,\n /**\n * Current state of the form fields for the current step.\n */\n fieldValues,\n /**\n * Current step state containing the current step and total number of steps\n */\n stepState,\n /**\n * Array of form fields from the onboarding schema\n */\n fields: stepFields[stepState.currentStep.name],\n\n /**\n * Loading state indicating if the onboarding schema is being fetched\n */\n isLoading: isLoading,\n /**\n * Loading state indicating if the onboarding mutation is in progress\n */\n isSubmitting:\n createEmploymentMutation.isPending ||\n updateEmploymentMutation.isPending ||\n updateBenefitsOffersMutation.isPending ||\n updateEngagementAgreementMutation.isPending ||\n updateContractEligibilityMutation.isPending,\n /**\n * Initial form values\n */\n initialValues,\n /**\n * Function to validate form values against the onboarding schema\n * @param values - Form values to validate\n * @returns Validation result or null if no schema is available\n */\n handleValidation,\n /**\n * Function to update the current form field values\n * @param values - New form values to set\n */\n checkFieldUpdates,\n\n /**\n * Function to parse form values before submission\n * @param values - Form values to parse\n * @returns Parsed form values\n */\n parseFormValues,\n\n /**\n * Function to handle form submission\n * @param values - Form values to submit\n * @returns Promise resolving to the mutation result\n */\n onSubmit,\n\n /**\n * Function to handle going back to the previous step\n * @returns {void}\n */\n back,\n\n /**\n * Function to handle going to the next step\n * @returns {void}\n */\n next,\n\n /**\n * Function to handle going to a specific step\n * @param step The step to go to.\n * @returns {void}\n */\n goTo,\n\n /**\n * Fields metadata for each step\n */\n meta: {\n fields: fieldsMetaRef.current,\n fieldsets: stepFieldsWithFlatFieldsets[stepState.currentStep.name],\n presentation: stepPresentation[stepState.currentStep.name],\n },\n /**\n * Function to refetch the employment data\n * @returns {void}\n */\n refetchEmployment,\n /**\n * Employment data\n */\n employment,\n\n /**\n * let's the user know that the employment cannot be edited, happens when employment.status is invited, created_awaiting_reserve or created_reserve_paid\n * @returns {boolean}\n */\n isEmploymentReadOnly,\n\n /**\n * let's the user know if the company can invite employees\n * @returns {boolean}\n */\n canInvite,\n\n /**\n * Steps array for dynamic step navigation\n * When 'dynamic_steps' feature is enabled:\n * - Returns all steps including hidden ones with their original indices\n * - Consumers must filter by `visible` property\n * When disabled (default):\n * - Returns only visible steps with sequential indices\n * - Maintains backwards compatibility with existing implementations\n * @returns {Array<{name: string, visible: boolean, index: number, label: string}>}\n */\n steps: stepsArray,\n /**\n * Selected country for the onboarding\n * @returns {name: string, code: string} | null\n */\n selectedCountry: internalCountryCode\n ? {\n code: internalCountryCode,\n name: country?.name,\n }\n : null,\n\n /**\n * Employment agreement preview\n */\n employmentAgreementPreview,\n };\n};\n"],"mappings":"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","names":["useCallback","useEffect","useMemo","useRef","useState","mergeWith","jsx","jsonSchemaToEmployment","stepToFormSchemaMap","getLoadingStates","__name","isLoadingBasicInformationForm","isLoadingContractDetailsForm","isLoadingContractDetailsFormV1","isLoadingEngagementAgreementDetails","isLoadingEmploymentAgreementPreview","isLoadingEmploymentEngagementAgreementDetails","isLoadingEmployment","isLoadingBenefitsOffersSchema","isLoadingBenefitOffers","isLoadingCompany","isLoadingCountries","employmentStatus","employmentId","currentStepName","basicInformationFields","contractDetailsFields","arePreOnboardingRequirementsFulfilled","isLoadingOnboardingReservesStatus","initialLoading","isEmploymentReadOnly","reviewStepAllowedEmploymentStatus","canInvite","disabledInviteButtonEmploymentStatus","shouldHandleReadOnlyEmployment","isLoading","isNavigatingToReview","useJsfV1ContractDetails","countryCode","query","enabled","jsonSchemaVersion","jsfModify","options","useMemo","form","isLoadingContractDetails","useContractDetailsSchema","useOnboarding","companyId","type","skipSteps","externalId","onboardingInitialValues","updateErrorContext","useErrorReporting","setFieldsCount","useState","internalEmploymentId","setInternalEmploymentId","internalCountryCode","setInternalCountryCode","includeEngagementAgreementDetails","setIncludeEngagementAgreementDetails","includeEmploymentAgreementPreview","setIncludeEmploymentAgreementPreview","useDynamicSteps","useSplitSalaryDescription","useEAPreview","steps","stepsArray","buildSteps","onStepChange","useCallback","step","fieldValues","stepState","setFieldValues","previousStep","nextStep","goToStep","setStepValues","useStepState","employmentEngagementAgreementDetails","useEmploymentEngagementAgreementDetails","engagementAgreementDetailsFieldValues","engagementAgreementDetailsSchema","useEngagementAgreementDetailsSchema","useEffect","hasFields","fieldsMetaRef","useRef","employment","refetchEmployment","useEmploymentQuery","benefitOffers","useBenefitOffers","company","refetchCompany","useCompany","isOnboardingReservesEnabled","onboardingReservesStatus","useEmploymentOnboardingReservesStatus","isPreOnboardingRequirementsEnabled","requirements","isLoadingPreOnboardingRequirements","useGetPreOnboardingRequirements","requirement","isSelectCountryEnabled","selectCountryForm","countries","useCountriesSchemaField","isEmploymentAgreementPreviewAvailable","country","isEmploymentEnabled","employmentAgreementPreview","useEmploymentAgreementPreview","createEmploymentMutation","useCreateEmployment","updateEmploymentMutation","useUpdateEmployment","updateBenefitsOffersMutation","useUpdateBenefitsOffers","updateEngagementAgreementMutation","useUpdateEmploymentEngagementAgreementDetails","updateContractEligibilityMutation","useUpsertContractEligibility","createEmploymentMutationAsync","mutationToPromise","updateEmploymentMutationAsync","updateBenefitsOffersMutationAsync","updateEngagementAgreementMutationAsync","updateContractEligibilityMutationAsync","formType","employmentKey","serverEmploymentData","useJSONSchema","jsonSchemaOptions","mergedFormValues","useJSONSchemaForm","isBasicInformationDetailsEnabled","isContractDetailsEnabled","usesJsfV1ContractDetails","isJsfV1ContractDetailsEnabled","basicInformationForm","getBasicInformationSchemaVersion","annualGrossSalaryField","annualSalaryFieldPresentation","equityCompensationField","contractDetailsCustomFields","props","AnnualGrossSalary","values","field","offerEquity","equityCost","EquityPriceDetails","effectiveContractDetailsJsonSchemaVersion","getContractDetailsSchemaVersion","contractDetailsForm","jsfV1Modify","contractDetailsFormV1","benefitOffersSchema","useBenefitOffersSchema","initialValuesBenefitOffers","benefitsFormValues","mergeWith","stepFields","stepFieldsWithFlatFieldsets","stepPresentation","employmentBasicInformation","employmentContractDetails","employmentCountryCode","selectCountryInitialValues","getInitialValues","basicInformationInitialValues","initialValues","engagementAgreementDetailsInitialValues","contractDetailsInitialValues","benefitsInitialValues","enableAckFields","prettifyFormValues","parseFormValues","parseJSFToValidate","onSubmit","parsedValues","isEmploymentNotLoaded","hasChangedCountry","payload","response","error","back","next","goTo","handleValidation","result","prev","checkFieldUpdates"]}
|