@remoteoss/remote-flows 1.2.3 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -80
- package/dist/{PdfPreview-6C3GGXIN.js → PdfPreview-2VXVDUFP.js} +2 -2
- package/dist/{chunk-NS4FRCEH.js → chunk-26Y25KF6.js} +2 -2
- package/dist/{chunk-RVIGZOGF.js → chunk-2MX3WPCK.js} +2 -2
- package/dist/{chunk-C74N2AWG.js → chunk-3BOFG6MK.js} +2 -2
- package/dist/{chunk-AT7VHJMW.js → chunk-3DRSYLBM.js} +2 -2
- package/dist/{chunk-6SRDRMBU.js → chunk-3NMCXHSQ.js} +2 -2
- package/dist/{chunk-FKLQBAJ5.js → chunk-447M3MFN.js} +2 -2
- package/dist/{chunk-WO7VCDVI.js → chunk-4G2UMXRE.js} +2 -2
- package/dist/{chunk-NIEQ7YV4.js → chunk-4GXONSSK.js} +2 -2
- package/dist/{chunk-M2TLNSTK.js → chunk-4OVFMUUJ.js} +2 -2
- package/dist/{chunk-EC7QVRRX.js → chunk-4UAHJOHZ.js} +2 -2
- package/dist/{chunk-QUQLW5YW.js → chunk-5JQMTMHR.js} +2 -2
- package/dist/{chunk-WMYWVMKM.js → chunk-5S54GMUJ.js} +2 -2
- package/dist/chunk-5WFWHEXV.js +2 -0
- package/dist/chunk-5WFWHEXV.js.map +1 -0
- package/dist/chunk-6CASSN2Z.js +2 -0
- package/dist/chunk-6DHV4GT6.js +2 -0
- package/dist/{chunk-FCGEB2PN.js → chunk-6E467YF3.js} +2 -2
- package/dist/{chunk-XRI6PRXK.js → chunk-6E5GX7W3.js} +2 -2
- package/dist/{chunk-T6HCUFYI.js → chunk-765OB2K5.js} +2 -2
- package/dist/chunk-AD53V4MM.js +2 -0
- package/dist/chunk-AD53V4MM.js.map +1 -0
- package/dist/{chunk-7RREQLI5.js → chunk-ADOJOLLL.js} +2 -2
- package/dist/{chunk-3YVCOYUM.js → chunk-AF3YOXUE.js} +2 -2
- package/dist/{chunk-RNM46ZUE.js → chunk-AFGXZINW.js} +2 -2
- package/dist/{chunk-4PZNLTCY.js → chunk-AL2HSQPC.js} +2 -2
- package/dist/{chunk-BHYFPY64.js → chunk-B2OOX56F.js} +2 -2
- package/dist/chunk-BB2GHYJY.js +2 -0
- package/dist/chunk-BB2GHYJY.js.map +1 -0
- package/dist/{chunk-Y5P5IJRN.js → chunk-BPIGB72P.js} +2 -2
- package/dist/chunk-CATDB2YM.js +2 -0
- package/dist/chunk-CATDB2YM.js.map +1 -0
- package/dist/{chunk-V3PJWSHI.js → chunk-CM2YPABC.js} +2 -2
- package/dist/chunk-CM2YPABC.js.map +1 -0
- package/dist/{chunk-66N57DKF.js → chunk-CR7AIZKA.js} +2 -2
- package/dist/chunk-CWAUKF77.js +2 -0
- package/dist/{chunk-E25DZ75Z.js.map → chunk-CWAUKF77.js.map} +1 -1
- package/dist/{chunk-DHIFFMY4.js → chunk-CX735AP4.js} +2 -2
- package/dist/{chunk-MPQVMNI7.js → chunk-ER7DFMME.js} +2 -2
- package/dist/chunk-FOPSJRQG.js +2 -0
- package/dist/chunk-FOPSJRQG.js.map +1 -0
- package/dist/{chunk-J5LWPODW.js → chunk-FQQKCROC.js} +2 -2
- package/dist/chunk-FUBLGAPH.js +2 -0
- package/dist/chunk-FUBLGAPH.js.map +1 -0
- package/dist/{chunk-ZAUH7QN6.js → chunk-GAF5TFZJ.js} +2 -2
- package/dist/{chunk-ZAUH7QN6.js.map → chunk-GAF5TFZJ.js.map} +1 -1
- package/dist/chunk-GFVGV76O.js +2 -0
- package/dist/chunk-GFVGV76O.js.map +1 -0
- package/dist/{chunk-UOOUV52J.js → chunk-GGPEKIIH.js} +2 -2
- package/dist/{chunk-72OH7PSF.js → chunk-GPLI6GGL.js} +2 -2
- package/dist/chunk-GVSAZND2.js +2 -0
- package/dist/chunk-GVSAZND2.js.map +1 -0
- package/dist/chunk-HIQNB5UN.js +2 -0
- package/dist/chunk-HIQNB5UN.js.map +1 -0
- package/dist/{chunk-2SO4LW7V.js → chunk-HRG5MSVG.js} +2 -2
- package/dist/chunk-HRG5MSVG.js.map +1 -0
- package/dist/chunk-IJ6325YO.js +2 -0
- package/dist/chunk-IJ6325YO.js.map +1 -0
- package/dist/{chunk-PMTKQME6.js → chunk-ILOKQ6OH.js} +2 -2
- package/dist/{chunk-L5GWH3V7.js → chunk-JS3H25UQ.js} +2 -2
- package/dist/{chunk-FUMA5UUB.js → chunk-K3XVYHGV.js} +2 -2
- package/dist/chunk-KDI2AVBF.js +2 -0
- package/dist/chunk-KDI2AVBF.js.map +1 -0
- package/dist/{chunk-ZIN2OWTH.js → chunk-LAXQMTDQ.js} +2 -2
- package/dist/{chunk-BKEIB7VP.js → chunk-LFQDVSKU.js} +2 -2
- package/dist/{chunk-MXLQEDRJ.js → chunk-LHNX27TY.js} +2 -2
- package/dist/chunk-LOHRUY4J.js +2 -0
- package/dist/chunk-LOHRUY4J.js.map +1 -0
- package/dist/{chunk-TEC6BNTS.js → chunk-LSNMODBH.js} +2 -2
- package/dist/chunk-LWGSXQKI.js +1 -0
- package/dist/chunk-LWGSXQKI.js.map +1 -0
- package/dist/chunk-NFWNYW2E.js +2 -0
- package/dist/chunk-NFWNYW2E.js.map +1 -0
- package/dist/{chunk-7F742TXN.js → chunk-NP3HE6QX.js} +2 -2
- package/dist/{chunk-E5PHO3SS.js → chunk-NY7LII5R.js} +2 -2
- package/dist/chunk-OKMERBJL.js +2 -0
- package/dist/chunk-OKMERBJL.js.map +1 -0
- package/dist/chunk-P5PRB2JC.js +2 -0
- package/dist/chunk-P5PRB2JC.js.map +1 -0
- package/dist/chunk-P5QKSFOE.js +2 -0
- package/dist/chunk-P5QKSFOE.js.map +1 -0
- package/dist/{chunk-F3KEIVSE.js → chunk-PC5JG4TT.js} +2 -2
- package/dist/{chunk-LJGCFFAT.js → chunk-PJN2YJO4.js} +2 -2
- package/dist/chunk-PNRHCOPF.js +2 -0
- package/dist/chunk-PNRHCOPF.js.map +1 -0
- package/dist/{chunk-YP6LLUQK.js → chunk-PS6EXVKH.js} +2 -2
- package/dist/{chunk-CG57ORFU.js → chunk-Q2JVGEYM.js} +2 -2
- package/dist/{chunk-3I4WL35F.js → chunk-SQVJRTTA.js} +2 -2
- package/dist/chunk-SRR73QPD.js +2 -0
- package/dist/chunk-SRR73QPD.js.map +1 -0
- package/dist/{chunk-5A7SON2J.js → chunk-T6KVMOX7.js} +2 -2
- package/dist/chunk-TC7EQZJK.js +2 -0
- package/dist/chunk-TC7EQZJK.js.map +1 -0
- package/dist/{chunk-6P4DTWYK.js → chunk-U2HWB5HI.js} +2 -2
- package/dist/{chunk-L3Z2G32A.js → chunk-UQCSN47K.js} +1 -1
- package/dist/chunk-UQCSN47K.js.map +1 -0
- package/dist/{chunk-NFUP6BFU.js → chunk-W3YE53JN.js} +5 -5
- package/dist/chunk-W3YE53JN.js.map +1 -0
- package/dist/chunk-W4KHMUDZ.js +2 -0
- package/dist/chunk-W4KHMUDZ.js.map +1 -0
- package/dist/chunk-WINYXC33.js +2 -0
- package/dist/chunk-WINYXC33.js.map +1 -0
- package/dist/chunk-XCA33UL6.js +2 -0
- package/dist/chunk-XCA33UL6.js.map +1 -0
- package/dist/{chunk-I4XJ764Y.js → chunk-XGECMN4V.js} +2 -2
- package/dist/{chunk-BVDT43OO.js → chunk-XTXPKDZ7.js} +2 -2
- package/dist/{chunk-TVJYCR33.js → chunk-XXPJHT5A.js} +2 -2
- package/dist/{chunk-MSLM2CQ4.js → chunk-XXXQA4SY.js} +2 -2
- package/dist/{chunk-EI7F3Y3W.js → chunk-Z3AKMQ4S.js} +2 -2
- package/dist/{chunk-4GDEWYZC.js → chunk-Z5A2M5EU.js} +2 -2
- package/dist/{chunk-ZPN5N6BA.js → chunk-ZCXTTVGV.js} +2 -2
- package/dist/chunk-ZCXTTVGV.js.map +1 -0
- package/dist/{chunk-KGKDSOER.js → chunk-ZFKHCC4Z.js} +2 -2
- package/dist/{chunk-FZDQ7EEI.js → chunk-ZT72WOPZ.js} +2 -2
- package/dist/chunk-ZUNMNGRC.js +2 -0
- package/dist/chunk-ZUNMNGRC.js.map +1 -0
- package/dist/chunk-ZZPYYZNT.js +2 -0
- package/dist/chunk-ZZPYYZNT.js.map +1 -0
- package/dist/flows/ContractAmendment/ContractAmendmentBack.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 +6 -5
- 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/ContractAmendmentSubmit.js +1 -1
- package/dist/flows/ContractAmendment/context.d.ts +10 -9
- package/dist/flows/ContractAmendment/hooks.d.ts +11 -10
- package/dist/flows/ContractAmendment/hooks.js +1 -1
- package/dist/flows/ContractAmendment/index.d.ts +6 -5
- package/dist/flows/ContractAmendment/index.js +1 -1
- package/dist/flows/ContractAmendment/types.d.ts +3 -4
- package/dist/flows/ContractAmendment/utils.d.ts +5 -3
- package/dist/flows/ContractAmendment/utils.js +1 -1
- package/dist/flows/ContractorOnboarding/ContractorOnboarding.d.ts +7 -8
- package/dist/flows/ContractorOnboarding/ContractorOnboarding.js +1 -1
- package/dist/flows/ContractorOnboarding/api.d.ts +16 -9
- package/dist/flows/ContractorOnboarding/api.js +1 -1
- package/dist/flows/ContractorOnboarding/components/BasicInformationStep.d.ts +5 -6
- package/dist/flows/ContractorOnboarding/components/BasicInformationStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.d.ts +7 -8
- package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.d.ts +7 -8
- package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.d.ts +10 -11
- package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.js +1 -1
- package/dist/flows/ContractorOnboarding/components/OnboardingBack.js +1 -1
- package/dist/flows/ContractorOnboarding/components/OnboardingInvite.d.ts +4 -4
- package/dist/flows/ContractorOnboarding/components/OnboardingInvite.js +1 -1
- package/dist/flows/ContractorOnboarding/components/OnboardingSubmit.js +1 -1
- package/dist/flows/ContractorOnboarding/components/PricingPlan.d.ts +7 -8
- package/dist/flows/ContractorOnboarding/components/PricingPlan.js +1 -1
- package/dist/flows/ContractorOnboarding/components/SelectCountryStep.d.ts +5 -6
- package/dist/flows/ContractorOnboarding/components/SelectCountryStep.js +1 -1
- package/dist/flows/ContractorOnboarding/context.d.ts +7 -8
- package/dist/flows/ContractorOnboarding/hooks.d.ts +8 -9
- package/dist/flows/ContractorOnboarding/hooks.js +1 -1
- package/dist/flows/ContractorOnboarding/index.d.ts +7 -8
- package/dist/flows/ContractorOnboarding/index.js +1 -1
- package/dist/flows/ContractorOnboarding/types.d.ts +8 -9
- package/dist/flows/ContractorOnboarding/utils.d.ts +18 -1
- package/dist/flows/ContractorOnboarding/utils.js +1 -1
- package/dist/flows/CostCalculator/CostCalculatorFlow.d.ts +4 -5
- package/dist/flows/CostCalculator/CostCalculatorFlow.js +1 -1
- package/dist/flows/CostCalculator/CostCalculatorForm.d.ts +4 -5
- 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 -4
- package/dist/flows/CostCalculator/EstimationResults/EstimationResults.js +1 -1
- package/dist/flows/CostCalculator/SummaryResults/SummaryResults.d.ts +3 -4
- package/dist/flows/CostCalculator/SummaryResults/SummaryResults.js +1 -1
- package/dist/flows/CostCalculator/api.d.ts +10 -7
- package/dist/flows/CostCalculator/api.js +1 -1
- package/dist/flows/CostCalculator/components/SalaryField.d.ts +3 -3
- package/dist/flows/CostCalculator/components/SalaryField.js +1 -1
- package/dist/flows/CostCalculator/context.d.ts +4 -5
- package/dist/flows/CostCalculator/hooks.d.ts +4 -5
- package/dist/flows/CostCalculator/hooks.js +1 -1
- package/dist/flows/CostCalculator/index.d.ts +5 -6
- package/dist/flows/CostCalculator/index.js +1 -1
- package/dist/flows/CostCalculator/types.d.ts +3 -4
- package/dist/flows/CostCalculator/utils.d.ts +4 -5
- package/dist/flows/CostCalculator/utils.js +1 -1
- package/dist/flows/Onboarding/OnboardingFlow.d.ts +5 -6
- package/dist/flows/Onboarding/OnboardingFlow.js +1 -1
- package/dist/flows/Onboarding/api.d.ts +20 -13
- package/dist/flows/Onboarding/api.js +1 -1
- package/dist/flows/Onboarding/components/AnnualGrossSalary.d.ts +3 -3
- package/dist/flows/Onboarding/components/AnnualGrossSalary.js +1 -1
- package/dist/flows/Onboarding/components/BasicInformationStep.d.ts +5 -6
- package/dist/flows/Onboarding/components/BasicInformationStep.js +1 -1
- package/dist/flows/Onboarding/components/BenefitsStep.d.ts +5 -6
- package/dist/flows/Onboarding/components/BenefitsStep.js +1 -1
- package/dist/flows/Onboarding/components/ContractDetailsStep.d.ts +5 -6
- package/dist/flows/Onboarding/components/ContractDetailsStep.js +1 -1
- package/dist/flows/Onboarding/components/OnboardingBack.js +1 -1
- package/dist/flows/Onboarding/components/OnboardingForm.d.ts +9 -10
- package/dist/flows/Onboarding/components/OnboardingForm.js +1 -1
- package/dist/flows/Onboarding/components/OnboardingInvite.d.ts +4 -4
- package/dist/flows/Onboarding/components/OnboardingInvite.js +1 -1
- package/dist/flows/Onboarding/components/OnboardingSubmit.js +1 -1
- package/dist/flows/Onboarding/components/ReviewStep.d.ts +5 -6
- package/dist/flows/Onboarding/components/SaveDraftButton.d.ts +4 -4
- package/dist/flows/Onboarding/components/SaveDraftButton.js +1 -1
- package/dist/flows/Onboarding/components/SelectCountryStep.d.ts +5 -6
- package/dist/flows/Onboarding/components/SelectCountryStep.js +1 -1
- package/dist/flows/Onboarding/context.d.ts +7 -8
- package/dist/flows/Onboarding/hooks.d.ts +6 -7
- package/dist/flows/Onboarding/hooks.js +1 -1
- package/dist/flows/Onboarding/index.d.ts +5 -6
- package/dist/flows/Onboarding/index.js +1 -1
- package/dist/flows/Onboarding/types.d.ts +5 -6
- package/dist/flows/Onboarding/utils.d.ts +5 -6
- package/dist/flows/Termination/AdditionalDetailsForm.d.ts +7 -6
- package/dist/flows/Termination/AdditionalDetailsForm.js +1 -1
- package/dist/flows/Termination/EmployeeComunicationForm.d.ts +7 -6
- package/dist/flows/Termination/EmployeeComunicationForm.js +1 -1
- package/dist/flows/Termination/PaidTimeOffForm.d.ts +7 -6
- package/dist/flows/Termination/PaidTimeOffForm.js +1 -1
- package/dist/flows/Termination/TerminationBack.js +1 -1
- package/dist/flows/Termination/TerminationDetailsForm.d.ts +7 -6
- package/dist/flows/Termination/TerminationDetailsForm.js +1 -1
- package/dist/flows/Termination/TerminationFlow.d.ts +7 -6
- package/dist/flows/Termination/TerminationFlow.js +1 -1
- package/dist/flows/Termination/TerminationForm.d.ts +8 -7
- package/dist/flows/Termination/TerminationForm.js +1 -1
- package/dist/flows/Termination/TerminationSubmit.js +1 -1
- package/dist/flows/Termination/api.d.ts +17 -12
- package/dist/flows/Termination/api.js +1 -1
- package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInfomationContainer.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/AcknowledgeInformation/constants.js +1 -1
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.d.ts +9 -8
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.js +1 -1
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.d.ts +9 -8
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.js +1 -1
- package/dist/flows/Termination/components/PaidTimeOff/types.d.ts +9 -8
- 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 +11 -10
- package/dist/flows/Termination/hooks.d.ts +7 -6
- package/dist/flows/Termination/hooks.js +1 -1
- package/dist/flows/Termination/index.d.ts +9 -8
- package/dist/flows/Termination/index.js +1 -1
- package/dist/flows/Termination/json-schemas/employeeComunication.js +1 -1
- package/dist/flows/Termination/json-schemas/jsonSchema.js +1 -1
- package/dist/flows/Termination/json-schemas/schema.d.ts +7 -6
- package/dist/flows/Termination/json-schemas/schema.js +1 -1
- package/dist/flows/Termination/types.d.ts +7 -6
- package/dist/flows/Termination/utils.d.ts +7 -6
- package/dist/flows/Termination/utils.js +1 -1
- package/dist/flows/types.d.ts +5 -22
- package/dist/flows/utils.d.ts +1 -1
- package/dist/index.d.ts +12 -11
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/internals.d.ts +5 -1
- package/dist/internals.js +1 -1
- package/dist/{mutations-Drqfzgy7.d.ts → mutations-Dhsqyt9R.d.ts} +1 -1
- package/dist/{remoteFlows-BgL1cZb_.d.ts → remoteFlows-8lgzhRZb.d.ts} +15 -6
- package/dist/styles.css +3 -0
- package/dist/styles.css.map +1 -0
- package/dist/styles.d.ts +2 -0
- package/dist/styles.js +2 -0
- package/dist/styles.js.map +1 -0
- package/dist/{types-BLSDMvDI.d.ts → types-7X9Do4Qx.d.ts} +8 -8
- package/dist/{types-BdW8zb6v.d.ts → types-BH1usu8z.d.ts} +1 -1
- package/dist/{types-CAEchQzj.d.ts → types-CR6ZHxiM.d.ts} +10 -11
- package/dist/{types-ANHgWME9.d.ts → types-CgFQV0b1.d.ts} +10 -11
- package/dist/types-ZWIpiFgj.d.ts +4 -0
- package/dist/{types.gen-er9sGXZD.d.ts → types.gen-q3-YX6jr.d.ts} +1 -1
- package/dist/{utils-CjDMg_Yr.d.ts → utils-CGX-jPIw.d.ts} +1 -0
- package/package.json +13 -3
- package/dist/chunk-23OYALRY.js +0 -2
- package/dist/chunk-23OYALRY.js.map +0 -1
- package/dist/chunk-2SO4LW7V.js.map +0 -1
- package/dist/chunk-2TILNBMK.js +0 -2
- package/dist/chunk-2TILNBMK.js.map +0 -1
- package/dist/chunk-3A5JJLQP.js +0 -2
- package/dist/chunk-3A5JJLQP.js.map +0 -1
- package/dist/chunk-5Z47HXNS.js +0 -2
- package/dist/chunk-5Z47HXNS.js.map +0 -1
- package/dist/chunk-6GTRAHWJ.js +0 -2
- package/dist/chunk-6GTRAHWJ.js.map +0 -1
- package/dist/chunk-CDCKGIF5.js +0 -2
- package/dist/chunk-CDCKGIF5.js.map +0 -1
- package/dist/chunk-E25DZ75Z.js +0 -2
- package/dist/chunk-EDVJBPCB.js +0 -2
- package/dist/chunk-EDVJBPCB.js.map +0 -1
- package/dist/chunk-EHAZWZ3O.js +0 -2
- package/dist/chunk-EHAZWZ3O.js.map +0 -1
- package/dist/chunk-ERRQIROU.js +0 -2
- package/dist/chunk-ERRQIROU.js.map +0 -1
- package/dist/chunk-F2TLAIUP.js +0 -2
- package/dist/chunk-F2TLAIUP.js.map +0 -1
- package/dist/chunk-IVMECZU7.js +0 -2
- package/dist/chunk-IVMECZU7.js.map +0 -1
- package/dist/chunk-IWA5B4U6.js +0 -2
- package/dist/chunk-JA7UP6GN.js +0 -2
- package/dist/chunk-JA7UP6GN.js.map +0 -1
- package/dist/chunk-L3Z2G32A.js.map +0 -1
- package/dist/chunk-LQBVRVXH.js +0 -2
- package/dist/chunk-LQBVRVXH.js.map +0 -1
- package/dist/chunk-NFUP6BFU.js.map +0 -1
- package/dist/chunk-OAPK6TR7.js +0 -2
- package/dist/chunk-OAPK6TR7.js.map +0 -1
- package/dist/chunk-RR55GUDT.js +0 -2
- package/dist/chunk-RR55GUDT.js.map +0 -1
- package/dist/chunk-SIYKTLFS.js +0 -2
- package/dist/chunk-SIYKTLFS.js.map +0 -1
- package/dist/chunk-TP4HDSRT.js +0 -2
- package/dist/chunk-TP4HDSRT.js.map +0 -1
- package/dist/chunk-V3PJWSHI.js.map +0 -1
- package/dist/chunk-V6HC5BRT.js +0 -2
- package/dist/chunk-V6HC5BRT.js.map +0 -1
- package/dist/chunk-XOA7GG4P.js +0 -2
- package/dist/chunk-XQL5I2GC.js +0 -2
- package/dist/chunk-XQL5I2GC.js.map +0 -1
- package/dist/chunk-Y2NSR2N6.js +0 -2
- package/dist/chunk-Y2NSR2N6.js.map +0 -1
- package/dist/chunk-Y6OPZHC3.js +0 -2
- package/dist/chunk-Y6OPZHC3.js.map +0 -1
- package/dist/chunk-YXJOEOXB.js +0 -2
- package/dist/chunk-YXJOEOXB.js.map +0 -1
- package/dist/chunk-ZOTFS35J.js +0 -2
- package/dist/chunk-ZOTFS35J.js.map +0 -1
- package/dist/chunk-ZPN5N6BA.js.map +0 -1
- package/dist/types-Zg1n_9wh.d.ts +0 -3
- /package/dist/{PdfPreview-6C3GGXIN.js.map → PdfPreview-2VXVDUFP.js.map} +0 -0
- /package/dist/{chunk-NS4FRCEH.js.map → chunk-26Y25KF6.js.map} +0 -0
- /package/dist/{chunk-RVIGZOGF.js.map → chunk-2MX3WPCK.js.map} +0 -0
- /package/dist/{chunk-C74N2AWG.js.map → chunk-3BOFG6MK.js.map} +0 -0
- /package/dist/{chunk-AT7VHJMW.js.map → chunk-3DRSYLBM.js.map} +0 -0
- /package/dist/{chunk-6SRDRMBU.js.map → chunk-3NMCXHSQ.js.map} +0 -0
- /package/dist/{chunk-FKLQBAJ5.js.map → chunk-447M3MFN.js.map} +0 -0
- /package/dist/{chunk-WO7VCDVI.js.map → chunk-4G2UMXRE.js.map} +0 -0
- /package/dist/{chunk-NIEQ7YV4.js.map → chunk-4GXONSSK.js.map} +0 -0
- /package/dist/{chunk-M2TLNSTK.js.map → chunk-4OVFMUUJ.js.map} +0 -0
- /package/dist/{chunk-EC7QVRRX.js.map → chunk-4UAHJOHZ.js.map} +0 -0
- /package/dist/{chunk-QUQLW5YW.js.map → chunk-5JQMTMHR.js.map} +0 -0
- /package/dist/{chunk-WMYWVMKM.js.map → chunk-5S54GMUJ.js.map} +0 -0
- /package/dist/{chunk-XOA7GG4P.js.map → chunk-6CASSN2Z.js.map} +0 -0
- /package/dist/{chunk-IWA5B4U6.js.map → chunk-6DHV4GT6.js.map} +0 -0
- /package/dist/{chunk-FCGEB2PN.js.map → chunk-6E467YF3.js.map} +0 -0
- /package/dist/{chunk-XRI6PRXK.js.map → chunk-6E5GX7W3.js.map} +0 -0
- /package/dist/{chunk-T6HCUFYI.js.map → chunk-765OB2K5.js.map} +0 -0
- /package/dist/{chunk-7RREQLI5.js.map → chunk-ADOJOLLL.js.map} +0 -0
- /package/dist/{chunk-3YVCOYUM.js.map → chunk-AF3YOXUE.js.map} +0 -0
- /package/dist/{chunk-RNM46ZUE.js.map → chunk-AFGXZINW.js.map} +0 -0
- /package/dist/{chunk-4PZNLTCY.js.map → chunk-AL2HSQPC.js.map} +0 -0
- /package/dist/{chunk-BHYFPY64.js.map → chunk-B2OOX56F.js.map} +0 -0
- /package/dist/{chunk-Y5P5IJRN.js.map → chunk-BPIGB72P.js.map} +0 -0
- /package/dist/{chunk-66N57DKF.js.map → chunk-CR7AIZKA.js.map} +0 -0
- /package/dist/{chunk-DHIFFMY4.js.map → chunk-CX735AP4.js.map} +0 -0
- /package/dist/{chunk-MPQVMNI7.js.map → chunk-ER7DFMME.js.map} +0 -0
- /package/dist/{chunk-J5LWPODW.js.map → chunk-FQQKCROC.js.map} +0 -0
- /package/dist/{chunk-UOOUV52J.js.map → chunk-GGPEKIIH.js.map} +0 -0
- /package/dist/{chunk-72OH7PSF.js.map → chunk-GPLI6GGL.js.map} +0 -0
- /package/dist/{chunk-PMTKQME6.js.map → chunk-ILOKQ6OH.js.map} +0 -0
- /package/dist/{chunk-L5GWH3V7.js.map → chunk-JS3H25UQ.js.map} +0 -0
- /package/dist/{chunk-FUMA5UUB.js.map → chunk-K3XVYHGV.js.map} +0 -0
- /package/dist/{chunk-ZIN2OWTH.js.map → chunk-LAXQMTDQ.js.map} +0 -0
- /package/dist/{chunk-BKEIB7VP.js.map → chunk-LFQDVSKU.js.map} +0 -0
- /package/dist/{chunk-MXLQEDRJ.js.map → chunk-LHNX27TY.js.map} +0 -0
- /package/dist/{chunk-TEC6BNTS.js.map → chunk-LSNMODBH.js.map} +0 -0
- /package/dist/{chunk-7F742TXN.js.map → chunk-NP3HE6QX.js.map} +0 -0
- /package/dist/{chunk-E5PHO3SS.js.map → chunk-NY7LII5R.js.map} +0 -0
- /package/dist/{chunk-F3KEIVSE.js.map → chunk-PC5JG4TT.js.map} +0 -0
- /package/dist/{chunk-LJGCFFAT.js.map → chunk-PJN2YJO4.js.map} +0 -0
- /package/dist/{chunk-YP6LLUQK.js.map → chunk-PS6EXVKH.js.map} +0 -0
- /package/dist/{chunk-CG57ORFU.js.map → chunk-Q2JVGEYM.js.map} +0 -0
- /package/dist/{chunk-3I4WL35F.js.map → chunk-SQVJRTTA.js.map} +0 -0
- /package/dist/{chunk-5A7SON2J.js.map → chunk-T6KVMOX7.js.map} +0 -0
- /package/dist/{chunk-6P4DTWYK.js.map → chunk-U2HWB5HI.js.map} +0 -0
- /package/dist/{chunk-I4XJ764Y.js.map → chunk-XGECMN4V.js.map} +0 -0
- /package/dist/{chunk-BVDT43OO.js.map → chunk-XTXPKDZ7.js.map} +0 -0
- /package/dist/{chunk-TVJYCR33.js.map → chunk-XXPJHT5A.js.map} +0 -0
- /package/dist/{chunk-MSLM2CQ4.js.map → chunk-XXXQA4SY.js.map} +0 -0
- /package/dist/{chunk-EI7F3Y3W.js.map → chunk-Z3AKMQ4S.js.map} +0 -0
- /package/dist/{chunk-4GDEWYZC.js.map → chunk-Z5A2M5EU.js.map} +0 -0
- /package/dist/{chunk-KGKDSOER.js.map → chunk-ZFKHCC4Z.js.map} +0 -0
- /package/dist/{chunk-FZDQ7EEI.js.map → chunk-ZT72WOPZ.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/flows/Onboarding/api.ts"],"sourcesContent":["import { useMutation, useQuery, UseQueryResult } from '@tanstack/react-query';\nimport { FieldValues } from 'react-hook-form';\nimport { Client } from '@/src/client/client';\nimport {\n ConvertCurrencyParams,\n CreateContractEligibilityParams,\n EmploymentCreateParams,\n EmploymentFullParams,\n getIndexBenefitOffer,\n getShowCompany,\n getShowEmployment,\n getShowFormCountry,\n getShowSchema,\n getSupportedCountry,\n patchUpdateEmployment2,\n postConvertRawCurrencyConverter,\n postConvertWithSpreadCurrencyConverter,\n postCreateContractEligibility,\n postCreateEmployment2,\n postCreateRiskReserve,\n postInviteEmploymentInvitation,\n PostInviteEmploymentInvitationData,\n putUpdateBenefitOffer,\n UnifiedEmploymentUpsertBenefitOffersRequest,\n} from '@/src/client';\n\nimport { useClient } from '@/src/context';\nimport { selectCountryStepSchema } from '@/src/flows/Onboarding/json-schemas/selectCountryStep';\nimport { OnboardingFlowProps } from '@/src/flows/Onboarding/types';\nimport {\n JSONSchemaFormResultWithFieldsets,\n JSONSchemaFormType,\n FlowOptions,\n} from '@/src/flows/types';\nimport { getContractDetailsSchemaVersion } from '@/src/flows/Onboarding/utils';\nimport { createHeadlessForm } from '@/src/common/createHeadlessForm';\n\nexport const useEmployment = (employmentId: string | undefined) => {\n const { client } = useClient();\n\n return useQuery({\n queryKey: ['employment', employmentId],\n retry: false,\n enabled: !!employmentId,\n select: ({ data }) => {\n return data?.data.employment;\n },\n queryFn: async () => {\n const response = await getShowEmployment({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n path: {\n employment_id: employmentId as string,\n },\n });\n\n // If response status is 404 or other error, throw an error to trigger isError\n if (response.error || !response.data) {\n throw new Error('Failed to fetch employment data');\n }\n\n return response;\n },\n });\n};\n\nexport const useCompany = (companyId: string) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['company', companyId],\n retry: false,\n enabled: !!companyId,\n queryFn: async () => {\n const response = await getShowCompany({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n path: {\n company_id: companyId,\n },\n });\n\n if (response.error || !response.data) {\n throw new Error('Failed to fetch employment data');\n }\n\n return response;\n },\n select: ({ data }) => {\n return data.data.company;\n },\n });\n};\n\nexport const useBenefitOffers = (employmentId: string | undefined) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['benefit-offers', employmentId],\n retry: false,\n enabled: !!employmentId,\n queryFn: async () => {\n return getIndexBenefitOffer({\n client: client as Client,\n path: {\n employment_id: employmentId as string,\n },\n }).then((response) => {\n // If response status is 404 or other error, throw an error to trigger isError\n if (response.error || !response.data) {\n throw new Error('Failed to fetch benefit offers data');\n }\n\n return response;\n });\n },\n select: ({ data }) =>\n data?.data?.reduce(\n (acc, item) => {\n return {\n ...acc,\n [item.benefit_group.slug]: {\n value: item.benefit_tier?.slug ?? 'no',\n ...(item.benefit_group?.filter?.slug\n ? { filter: item.benefit_group?.filter?.slug }\n : {}),\n },\n };\n },\n {} as Record<string, { value: string }>,\n ),\n });\n};\n/**\n * Use this hook to invite an employee to the onboarding flow\n * @returns\n */\nexport const useEmploymentInvite = () => {\n const { client } = useClient();\n\n return useMutation({\n mutationFn: (payload: PostInviteEmploymentInvitationData['path']) => {\n return postInviteEmploymentInvitation({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n path: payload,\n });\n },\n });\n};\n\nexport const useCreateReserveInvoice = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: (payload: { employment_slug: string }) => {\n return postCreateRiskReserve({\n client: client as Client,\n body: payload,\n });\n },\n });\n};\n\n/**\n * Use this hook to get the JSON schema form for the onboarding flow\n * @param param0\n * @returns\n */\nexport const useJSONSchemaForm = ({\n countryCode,\n form,\n fieldValues,\n options,\n query = {},\n jsonSchemaVersion,\n}: {\n countryCode: string;\n form: JSONSchemaFormType;\n fieldValues: FieldValues;\n options?: FlowOptions & { queryOptions?: { enabled?: boolean } };\n query?: Record<string, unknown>;\n jsonSchemaVersion?: number;\n}): UseQueryResult<JSONSchemaFormResultWithFieldsets> => {\n const { client } = useClient();\n const jsonSchemaQueryParam = jsonSchemaVersion\n ? {\n json_schema_version: jsonSchemaVersion,\n }\n : {};\n return useQuery({\n queryKey: ['onboarding-json-schema-form', countryCode, form],\n retry: false,\n queryFn: async () => {\n const response = await getShowFormCountry({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n path: {\n country_code: countryCode,\n form: form,\n },\n query: {\n skip_benefits: true,\n ...query,\n ...jsonSchemaQueryParam,\n },\n });\n\n // If response status is 404 or other error, throw an error to trigger isError\n if (response.error || !response.data) {\n throw new Error('Failed to fetch onboarding schema');\n }\n\n return response;\n },\n enabled: options?.queryOptions?.enabled,\n select: ({ data }) => {\n const jsfSchema = data?.data || {};\n return createHeadlessForm(jsfSchema, fieldValues, options);\n },\n });\n};\n\nexport const useBenefitOffersSchema = (\n employmentId: string,\n fieldValues: FieldValues,\n options: OnboardingFlowProps['options'],\n) => {\n const jsonSchemaQueryParam = options?.jsonSchemaVersion\n ?.benefit_offers_form_schema\n ? {\n json_schema_version:\n options.jsonSchemaVersion.benefit_offers_form_schema,\n }\n : {};\n const { client } = useClient();\n return useQuery({\n queryKey: ['benefit-offers-schema', employmentId],\n retry: false,\n enabled: !!employmentId,\n queryFn: async () => {\n const response = await getShowSchema({\n client: client as Client,\n path: {\n employment_id: employmentId,\n },\n query: jsonSchemaQueryParam,\n });\n\n // If response status is 404 or other error, throw an error to trigger isError\n if (response.error || !response.data) {\n throw new Error('Failed to fetch benefit offers schema');\n }\n\n return response;\n },\n select: ({ data }) => {\n const jsfSchema = data?.data?.schema || {};\n\n return createHeadlessForm(jsfSchema, fieldValues, {\n jsfModify: options?.jsfModify?.benefits,\n });\n },\n });\n};\n\n/**\n * Use this hook to create an employment\n * @returns\n */\nexport const useCreateEmployment = () => {\n const { client } = useClient();\n // TODO: setting 1 as basic_information only supports v1 for now in the API\n const jsonSchemaQueryParam = {\n json_schema_version: 1,\n };\n return useMutation({\n mutationFn: (payload: EmploymentCreateParams) => {\n return postCreateEmployment2({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n body: payload,\n query: {\n ...jsonSchemaQueryParam,\n },\n });\n },\n });\n};\n\nexport const useUpdateEmployment = (\n countryCode: string,\n options?: OnboardingFlowProps['options'],\n) => {\n const { client } = useClient();\n const jsonSchemaQueryParams = {\n // TODO: setting 1 as basic_information only supports v1 for now in the API\n employment_basic_information_json_schema_version: 1,\n contract_details_json_schema_version:\n getContractDetailsSchemaVersion(options, countryCode) || 1,\n };\n\n return useMutation({\n mutationFn: ({\n employmentId,\n ...payload\n }: EmploymentFullParams & { employmentId: string }) => {\n return patchUpdateEmployment2({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n body: payload,\n path: {\n employment_id: employmentId,\n },\n query: {\n skip_benefits: true,\n ...jsonSchemaQueryParams,\n },\n });\n },\n });\n};\n\nexport const useUpdateBenefitsOffers = (\n options?: OnboardingFlowProps['options'],\n) => {\n const { client } = useClient();\n return useMutation({\n mutationFn: ({\n employmentId,\n ...payload\n }: UnifiedEmploymentUpsertBenefitOffersRequest & {\n employmentId: string;\n }) => {\n const jsonSchemaQueryParam = options?.jsonSchemaVersion\n ?.benefit_offers_form_schema\n ? {\n json_schema_version:\n options.jsonSchemaVersion.benefit_offers_form_schema,\n }\n : {};\n return putUpdateBenefitOffer({\n client: client as Client,\n body: payload,\n path: {\n employment_id: employmentId,\n },\n query: {\n ...jsonSchemaQueryParam,\n },\n });\n },\n });\n};\n\nconst useCountries = (queryOptions?: { enabled?: boolean }) => {\n const { client } = useClient();\n return useQuery({\n ...queryOptions,\n queryKey: ['countries'],\n retry: false,\n queryFn: async () => {\n const response = await getSupportedCountry({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n });\n\n // If response status is 404 or other error, throw an error to trigger isError\n if (response.error || !response.data) {\n throw new Error('Failed to fetch supported countries');\n }\n\n return response;\n },\n select: ({ data }) => {\n return (\n data?.data\n ?.filter((country) => country.eor_onboarding)\n .map((country) => {\n return {\n label: country.name,\n value: country.code,\n };\n }) || []\n );\n },\n });\n};\n\nexport const useCountriesSchemaField = (\n options?: Omit<FlowOptions, 'jsonSchemaVersion'> & {\n queryOptions?: { enabled?: boolean };\n },\n) => {\n const { data: countries, isLoading } = useCountries(options?.queryOptions);\n\n const selectCountryForm = createHeadlessForm(\n selectCountryStepSchema.data.schema,\n {},\n options,\n );\n\n if (countries) {\n const countryField = selectCountryForm.fields.find(\n (field) => field.name === 'country',\n );\n if (countryField) {\n countryField.options = countries;\n }\n }\n\n return {\n isLoading,\n selectCountryForm,\n };\n};\n\nexport const useConvertCurrency = ({\n type = 'spread',\n}: {\n type?: 'spread' | 'no_spread';\n}) => {\n const { client } = useClient();\n return useMutation({\n mutationFn: (payload: ConvertCurrencyParams) => {\n const apiFn =\n type === 'no_spread'\n ? postConvertRawCurrencyConverter\n : postConvertWithSpreadCurrencyConverter;\n return apiFn({\n client: client as Client,\n body: payload,\n });\n },\n });\n};\n\nexport const useUpsertContractEligibility = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: ({\n employmentId,\n ...payload\n }: { employmentId: string } & CreateContractEligibilityParams) => {\n return postCreateContractEligibility({\n client: client as Client,\n path: {\n employment_id: employmentId,\n },\n body: payload,\n });\n },\n });\n};\n"],"mappings":"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","names":["useMutation","useQuery","useEmployment","__name","employmentId","client","useClient","useQuery","data","response","getShowEmployment","useCompany","companyId","getShowCompany","useBenefitOffers","getIndexBenefitOffer","acc","item","useEmploymentInvite","useMutation","payload","postInviteEmploymentInvitation","useCreateReserveInvoice","postCreateRiskReserve","useJSONSchemaForm","countryCode","form","fieldValues","options","query","jsonSchemaVersion","jsonSchemaQueryParam","getShowFormCountry","jsfSchema","createHeadlessForm","useBenefitOffersSchema","getShowSchema","useCreateEmployment","postCreateEmployment2","useUpdateEmployment","jsonSchemaQueryParams","getContractDetailsSchemaVersion","patchUpdateEmployment2","useUpdateBenefitsOffers","putUpdateBenefitOffer","useCountries","queryOptions","getSupportedCountry","country","useCountriesSchemaField","countries","isLoading","selectCountryForm","selectCountryStepSchema","countryField","field","useConvertCurrency","type","postConvertRawCurrencyConverter","postConvertWithSpreadCurrencyConverter","useUpsertContractEligibility","postCreateContractEligibility"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{b as r}from"./chunk-MRYRNB7Y.js";import{a as i}from"./chunk-NFWNYW2E.js";import{b as n}from"./chunk-KQPDXXG3.js";import{a as o}from"./chunk-P37U34EQ.js";import{jsx as f}from"react/jsx-runtime";function a({children:m,...t}){let{formId:e,terminationBag:u}=r(),{components:s}=n(),d=s?.button||i;return f(d,{...t,form:e,disabled:t.disabled||u.isSubmitting,children:m})}o(a,"TerminationSubmit");export{a};
|
|
2
|
+
//# sourceMappingURL=chunk-WINYXC33.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/flows/Termination/TerminationSubmit.tsx"],"sourcesContent":["import { ButtonHTMLAttributes, PropsWithChildren } from 'react';\nimport { useTerminationContext } from './context';\nimport { useFormFields } from '@/src/context';\nimport { ButtonDefault } from '@/src/components/form/fields/default/ButtonDefault';\n\nexport function TerminationSubmit({\n children,\n ...props\n}: PropsWithChildren<ButtonHTMLAttributes<HTMLButtonElement>> &\n Record<string, unknown>) {\n const { formId, terminationBag } = useTerminationContext();\n const { components } = useFormFields();\n\n const CustomButton = components?.button || ButtonDefault;\n return (\n <CustomButton\n {...props}\n form={formId}\n disabled={props.disabled || terminationBag.isSubmitting}\n >\n {children}\n </CustomButton>\n );\n}\n"],"mappings":"gKAeI,cAAAA,MAAA,oBAVG,SAASC,EAAkB,CAChC,SAAAC,EACA,GAAGC,CACL,EAC2B,CACzB,GAAM,CAAE,OAAAC,EAAQ,eAAAC,CAAe,EAAIC,EAAsB,EACnD,CAAE,WAAAC,CAAW,EAAIC,EAAc,EAE/BC,EAAeF,GAAY,QAAUG,EAC3C,OACEV,EAACS,EAAA,CACE,GAAGN,EACJ,KAAMC,EACN,SAAUD,EAAM,UAAYE,EAAe,aAE1C,SAAAH,EACH,CAEJ,CAlBgBS,EAAAV,EAAA","names":["jsx","TerminationSubmit","children","props","formId","terminationBag","useTerminationContext","components","useFormFields","CustomButton","ButtonDefault","__name"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{b as c}from"./chunk-TOA3JILU.js";import{a as l}from"./chunk-BB2GHYJY.js";import{b as s}from"./chunk-LNV36S6D.js";import{f as m,g as d}from"./chunk-CR7AIZKA.js";import{a as e}from"./chunk-P37U34EQ.js";import{useEffect as f}from"react";import{jsx as p}from"react/jsx-runtime";import{createElement as P}from"react";function B({defaultValues:i,onSubmit:F,components:u}){let{formId:y,contractorOnboardingBag:o}=c(),b=s(o.handleValidation),r=m({resolver:b,defaultValues:i,shouldUnregister:!1,mode:"onBlur"});f(()=>{o.employmentId&&o?.checkFieldUpdates(r.getValues())},[]),f(()=>{let n=r?.watch(t=>{Object.keys(t).some(a=>t[a]!==i[a])&&o?.checkFieldUpdates(t)});return()=>n?.unsubscribe()},[]);let g=e(async n=>{await F(n)},"handleSubmit");return P(d,{...r,key:`form-${o.stepState.currentStep.name}`},p("form",{id:y,onSubmit:r.handleSubmit(g),className:"space-y-4 RemoteFlows__OnboardingForm",children:p(l,{components:u,fields:o.fields,fieldsets:o.meta.fieldsets,fieldValues:o.fieldValues})}))}e(B,"ContractorOnboardingForm");export{B as a};
|
|
2
|
+
//# sourceMappingURL=chunk-XCA33UL6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/flows/ContractorOnboarding/components/ContractorOnboardingForm.tsx"],"sourcesContent":["import { JSFFields } from '@/src/types/remoteFlows';\nimport { JSONSchemaFormFields } from '@/src/components/form/JSONSchemaForm';\nimport { Form } from '@/src/components/ui/form';\nimport { useForm } from 'react-hook-form';\nimport { useJsonSchemasValidationFormResolver } from '@/src/components/form/validationResolver';\nimport { BasicInformationFormPayload } from '@/src/flows/Onboarding/types';\nimport { Components } from '@/src/types/remoteFlows';\nimport { useContractorOnboardingContext } from '@/src/flows/ContractorOnboarding/context';\nimport { useEffect } from 'react';\nimport { PricingPlanFormPayload } from '@/src/flows/ContractorOnboarding/types';\nimport { ContractorOnboardingContractDetailsFormPayload } from '@/src/flows/ContractorOnboarding/types';\n\ntype ContractorOnboardingFormProps = {\n onSubmit: (\n payload:\n | BasicInformationFormPayload\n | PricingPlanFormPayload\n | ContractorOnboardingContractDetailsFormPayload,\n ) => Promise<void>;\n components?: Components;\n fields?: JSFFields;\n defaultValues: Record<string, unknown>;\n};\n\nexport function ContractorOnboardingForm({\n defaultValues,\n onSubmit,\n components,\n}: ContractorOnboardingFormProps) {\n const { formId, contractorOnboardingBag } = useContractorOnboardingContext();\n\n const resolver = useJsonSchemasValidationFormResolver(\n contractorOnboardingBag.handleValidation,\n );\n\n const form = useForm({\n resolver,\n defaultValues,\n shouldUnregister: false,\n mode: 'onBlur',\n });\n\n useEffect(() => {\n // When the employmentId is set,\n // we need to run the checkFieldUpdates to update fieldValues in useStepState\n if (contractorOnboardingBag.employmentId) {\n contractorOnboardingBag?.checkFieldUpdates(form.getValues());\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n const subscription = form?.watch((values) => {\n const isAnyFieldDirty = Object.keys(values).some(\n (key) =>\n values[key as keyof unknown] !== defaultValues[key as keyof unknown],\n );\n if (isAnyFieldDirty) {\n contractorOnboardingBag?.checkFieldUpdates(values);\n }\n });\n return () => subscription?.unsubscribe();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const handleSubmit = async (values: Record<string, unknown>) => {\n await onSubmit(values);\n };\n\n return (\n <Form\n {...form}\n key={`form-${contractorOnboardingBag.stepState.currentStep.name}`}\n >\n <form\n id={formId}\n onSubmit={form.handleSubmit(handleSubmit)}\n className='space-y-4 RemoteFlows__OnboardingForm'\n >\n <JSONSchemaFormFields\n components={components}\n fields={contractorOnboardingBag.fields}\n fieldsets={contractorOnboardingBag.meta.fieldsets}\n fieldValues={contractorOnboardingBag.fieldValues}\n />\n </form>\n </Form>\n );\n}\n"],"mappings":"+MAQA,OAAS,aAAAA,MAAiB,QAuElB,cAAAC,MAAA,oBATJ,wBAAAC,MAAA,QA9CG,SAASC,EAAyB,CACvC,cAAAC,EACA,SAAAC,EACA,WAAAC,CACF,EAAkC,CAChC,GAAM,CAAE,OAAAC,EAAQ,wBAAAC,CAAwB,EAAIC,EAA+B,EAErEC,EAAWC,EACfH,EAAwB,gBAC1B,EAEMI,EAAOC,EAAQ,CACnB,SAAAH,EACA,cAAAN,EACA,iBAAkB,GAClB,KAAM,QACR,CAAC,EAEDU,EAAU,IAAM,CAGVN,EAAwB,cAC1BA,GAAyB,kBAAkBI,EAAK,UAAU,CAAC,CAG/D,EAAG,CAAC,CAAC,EAELE,EAAU,IAAM,CACd,IAAMC,EAAeH,GAAM,MAAOI,GAAW,CACnB,OAAO,KAAKA,CAAM,EAAE,KACzCC,GACCD,EAAOC,CAAoB,IAAMb,EAAca,CAAoB,CACvE,GAEET,GAAyB,kBAAkBQ,CAAM,CAErD,CAAC,EACD,MAAO,IAAMD,GAAc,YAAY,CAEzC,EAAG,CAAC,CAAC,EAEL,IAAMG,EAAeC,EAAA,MAAOH,GAAoC,CAC9D,MAAMX,EAASW,CAAM,CACvB,EAFqB,gBAIrB,OACEd,EAACkB,EAAA,CACE,GAAGR,EACJ,IAAK,QAAQJ,EAAwB,UAAU,YAAY,IAAI,IAE/DP,EAAC,QACC,GAAIM,EACJ,SAAUK,EAAK,aAAaM,CAAY,EACxC,UAAU,wCAEV,SAAAjB,EAACoB,EAAA,CACC,WAAYf,EACZ,OAAQE,EAAwB,OAChC,UAAWA,EAAwB,KAAK,UACxC,YAAaA,EAAwB,YACvC,EACF,CACF,CAEJ,CAhEgBW,EAAAhB,EAAA","names":["useEffect","jsx","createElement","ContractorOnboardingForm","defaultValues","onSubmit","components","formId","contractorOnboardingBag","useContractorOnboardingContext","resolver","useJsonSchemasValidationFormResolver","form","useForm","useEffect","subscription","values","key","handleSubmit","__name","Form","JSONSchemaFormFields"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as r}from"./chunk-NX7MM6XR.js";import{a as t}from"./chunk-ZXGAFQXW.js";import{a}from"./chunk-LMYJ6V44.js";import{a as e}from"./chunk-TC7EQZJK.js";var i={data:{version:7,schema:{additionalProperties:!1,allOf:[...e.data.schema.allOf,...t.data.schema.allOf,...r.data.schema.allOf,...a.data.schema.allOf],properties:{...e.data.schema.properties,...t.data.schema.properties,...r.data.schema.properties,...a.data.schema.properties},required:[...e.data.schema.required,...t.data.schema.required,...r.data.schema.required,...a.data.schema.required],type:"object","x-jsf-order":[...e.data.schema["x-jsf-order"],...t.data.schema["x-jsf-order"],...r.data.schema["x-jsf-order"],...a.data.schema["x-jsf-order"]]}}};export{i as a};
|
|
2
|
+
//# sourceMappingURL=chunk-XGECMN4V.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as t}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as t}from"./chunk-UQCSN47K.js";import{a}from"./chunk-P37U34EQ.js";import*as l from"@radix-ui/react-collapsible";var d=l.Root,g=l.CollapsibleTrigger,v=l.CollapsibleContent;import*as i from"@radix-ui/react-tabs";import{jsx as n}from"react/jsx-runtime";function u({className:o,...e}){return n(i.Root,{"data-slot":"tabs",className:t("flex flex-col gap-2",o),...e})}a(u,"Tabs");function C({className:o,...e}){return n(i.List,{"data-slot":"tabs-list",className:t("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-1",o),...e})}a(C,"TabsList");function x({className:o,...e}){return n(i.Trigger,{"data-slot":"tabs-trigger",className:t("data-[state=active]:bg-background data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring inline-flex flex-1 items-center justify-center gap-1.5 rounded-md px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",o),...e})}a(x,"TabsTrigger");function T({className:o,...e}){return n(i.Content,{"data-slot":"tabs-content",className:t("flex-1 outline-none",o),...e})}a(T,"TabsContent");import*as p from"react";import*as r from"@radix-ui/react-scroll-area";import{jsx as s,jsxs as P}from"react/jsx-runtime";var f=p.forwardRef(({className:o,children:e,...c},m)=>P(r.Root,{ref:m,className:t("relative overflow-hidden",o),...c,children:[s(r.Viewport,{className:"h-full w-full rounded-[inherit]",children:e}),s(b,{}),s(r.Corner,{})]}));f.displayName=r.Root.displayName;var b=p.forwardRef(({className:o,orientation:e="vertical",...c},m)=>s(r.ScrollAreaScrollbar,{ref:m,orientation:e,className:t("flex touch-none select-none transition-colors",e==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",e==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",o),...c,children:s(r.ScrollAreaThumb,{className:"relative flex-1 rounded-full bg-border"})}));b.displayName=r.ScrollAreaScrollbar.displayName;export{d as a,g as b,v as c,u as d,C as e,x as f,T as g,f as h};
|
|
2
|
+
//# sourceMappingURL=chunk-XTXPKDZ7.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{b as r}from"./chunk-KSHK3ZPX.js";import{a as s}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{b as r}from"./chunk-KSHK3ZPX.js";import{a as s}from"./chunk-NFWNYW2E.js";import{b as e}from"./chunk-KQPDXXG3.js";import{a as n}from"./chunk-UQCSN47K.js";import{a as o}from"./chunk-P37U34EQ.js";import{jsx as f}from"react/jsx-runtime";function h({children:m,...t}){let{form:u,formId:l,costCalculatorBag:c}=r(),{components:i}=e(),C=i?.button||s;return f(C,{...t,type:"reset",className:n("RemoteFlows__CostCalculatorForm__ResetButton",t.className),form:l,onClick:a=>{c?.resetForm(),u.reset(),t.onClick?.(a)},children:m})}o(h,"CostCalculatorResetButton");export{h as a};
|
|
2
|
+
//# sourceMappingURL=chunk-XXPJHT5A.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as i}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as i}from"./chunk-XCA33UL6.js";import{b as a}from"./chunk-TOA3JILU.js";import{a as t}from"./chunk-P37U34EQ.js";import{jsx as d}from"react/jsx-runtime";function y({onSubmit:c,onSuccess:s,onError:e}){let{contractorOnboardingBag:o}=a(),u=t(async n=>{try{await c?.({countryCode:n.country});let r=await o.onSubmit(n);if(r?.data){await s?.(r?.data),o?.next();return}r?.error&&e?.({error:r.error,rawError:r.rawError,fieldErrors:[]})}catch(r){e?.({error:r,rawError:r,fieldErrors:[]})}},"handleSubmit"),l=o.stepState.values?.select_country||o.initialValues.select_country;return d(i,{defaultValues:l,onSubmit:u})}t(y,"SelectCountryStep");export{y as a};
|
|
2
|
+
//# sourceMappingURL=chunk-XXXQA4SY.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as d}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as d}from"./chunk-XCA33UL6.js";import{b as s}from"./chunk-TOA3JILU.js";import{b as i}from"./chunk-2YTBWEC7.js";import{a}from"./chunk-P37U34EQ.js";import{jsx as E}from"react/jsx-runtime";function F({onSubmit:l,onSuccess:c,onError:e}){let{contractorOnboardingBag:r}=s(),m=a(async n=>{try{let t=await r.parseFormValues(n);await l?.(t);let o=await r.onSubmit(n);if(o?.data){await c?.(o?.data),r?.next();return}if(o?.error){let u=i(o?.fieldErrors||[],r.meta?.fields?.contract_details);e?.({error:o?.error,rawError:o?.rawError,fieldErrors:u})}}catch(t){e?.({error:t,rawError:t,fieldErrors:[]})}},"handleSubmit"),p=r.stepState.values?.contract_details||r.initialValues.contract_details;return E(d,{defaultValues:p,onSubmit:m})}a(F,"ContractDetailsStep");export{F as a};
|
|
2
|
+
//# sourceMappingURL=chunk-Z3AKMQ4S.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as e}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as e}from"./chunk-UQCSN47K.js";import{a as n}from"./chunk-P37U34EQ.js";import{Fragment as s,jsx as o,jsxs as t}from"react/jsx-runtime";var a=[{label:"Misconduct",description:"The employee is being dismissed due to unacceptable or improper behavior."},{label:"Performance",description:"When dismissing an employee for poor performance, employers are required by law to do so fairly. This means giving the employee reasonable opportunity to improve their performance prior to termination."},{label:"Workforce reduction",description:"The employee\u2019s position is being made redundant, and a layoff is underway."},{label:"Values",description:"The employee is misaligned with the company\u2019s values."},{label:"Compliance issue",description:"Use this option if the employee violated key policies, processes or procedures. For example, they failed to comply with their employment agreement\u2019s confidentiality clause."},{label:"Incapacity to perform inherent duties",description:"Use this option if the employee is physically or mentally unable to fulfill the work requirements of their role."},{label:"Mutual agreement",description:"Employee and employer made a mutual decision to end the relationship."},{label:"Decision to cancel hiring before the employee started",description:"Use this option only if the employee has not started work yet."},{label:"Job abandonment",description:"The employee has failed to appear for work; the Employer has been unsuccessful in establishing communications with the employee and does not know the employee\u2019s whereabouts."},{label:"Dissatisfaction with EOR service",description:t("span",{children:["We\u2019re sorry to see you go. If there is anything we can do to improve or if there is any remaining feedback you want to give us, please reach out to"," ",o("a",{href:"mailto:help@remote.com",target:"_blank",rel:"noopener noreferrer",children:"help@remote.com"}),"."]})},{label:"End of fixed-term contract",description:"Use this option when the employee fixed-term contract is coming to an end and will not be renewed or extended."}],r=n(()=>t(s,{children:[t("h3",{className:e("RemoteFlows__TerminationReasonsDetailContent__Title"),children:[" ","Why is this important?"]}),o("p",{className:e("RemoteFlows__TerminationReasonsDetailContent__Description"),children:"We're here to help you follow all applicable labor laws when terminating an employee. Here are all the legal reasons for termination. Please read them to make sure you enter the correct reason in the platform."}),o("h4",{className:e("RemoteFlows__TerminationReasonsDetailContent__Subtitle"),children:"Termination Reasons"}),o("ul",{className:e("RemoteFlows__TerminationReasonsDetailContent__List list-disc list-inside"),children:a.map(i=>t("li",{className:e("RemoteFlows__TerminationReasonsDetailContent__ListItem"),children:[o("span",{className:e("RemoteFlows__TerminationReasonsDetailContent__ListItemLabel"),children:i.label}),o("span",{className:e("RemoteFlows__TerminationReasonsDetailContent__ListItemDescription"),children:i.description})]},i.label))})]}),"TerminationReasonsDetailContent");export{r as a};
|
|
2
|
+
//# sourceMappingURL=chunk-Z5A2M5EU.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{c as o}from"./chunk-HRG5MSVG.js";import{a as e}from"./chunk-P37U34EQ.js";var d={form:{index:0,name:"form"},confirmation_form:{index:1,name:"confirmation_form"}};function f(t,r){if(!t)return{};if(!r)return{...t.contract_details,effective_date:"",reason_for_change:"",job_title:t.job_title,additional_comments:"",annual_gross_salary:o(t.contract_details?.annual_gross_salary)};let s=r.map(n=>n.name),i=Object.keys(t?.contract_details||{});return{...s.reduce((n,a)=>{if(i.includes(a)){let c=t?.contract_details;n[a]=c[a]}return n},{}),effective_date:"",reason_for_change:"",job_title:t.job_title,additional_comments:"",annual_gross_salary:o(t.contract_details?.annual_gross_salary),additional_comments_toggle:!1}}e(f,"buildInitialValues");export{d as a,f as b};
|
|
2
|
+
//# sourceMappingURL=chunk-ZCXTTVGV.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/flows/ContractAmendment/utils.ts"],"sourcesContent":["import { Employment } from '@/src/client';\nimport { convertFromCents } from '@/src/components/form/utils';\nimport { JSFFields } from '@/src/types/remoteFlows';\nimport { Step } from '../useStepState';\n\ntype StepKeys = 'form' | 'confirmation_form';\n\nexport const STEPS: Record<StepKeys, Step<StepKeys>> = {\n form: { index: 0, name: 'form' },\n confirmation_form: { index: 1, name: 'confirmation_form' },\n} as const;\n\nexport function buildInitialValues(\n employment: Employment | undefined,\n fields?: JSFFields | undefined,\n) {\n if (!employment) {\n return {};\n }\n\n if (!fields) {\n return {\n ...employment.contract_details,\n effective_date: '',\n reason_for_change: '',\n job_title: employment.job_title,\n additional_comments: '',\n annual_gross_salary: convertFromCents(\n employment.contract_details?.annual_gross_salary as string,\n ),\n };\n }\n\n const allFields = fields.map((field) => field.name);\n const employmentFields = Object.keys(employment?.contract_details || {});\n const initialValues = allFields.reduce<Record<string, unknown>>(\n (initialValuesAcc, field) => {\n // @ts-expect-error error\n if (employmentFields.includes(field)) {\n const contractDetails = employment?.contract_details;\n // @ts-expect-error error\n initialValuesAcc[field] = contractDetails[field];\n }\n return initialValuesAcc;\n },\n {} as Record<string, unknown>,\n );\n\n return {\n ...initialValues,\n effective_date: '',\n reason_for_change: '',\n job_title: employment.job_title,\n additional_comments: '',\n annual_gross_salary: convertFromCents(\n employment.contract_details?.annual_gross_salary as string,\n ),\n additional_comments_toggle: false,\n };\n}\n"],"mappings":"gFAOO,IAAMA,EAA0C,CACrD,KAAM,CAAE,MAAO,EAAG,KAAM,MAAO,EAC/B,kBAAmB,CAAE,MAAO,EAAG,KAAM,mBAAoB,CAC3D,EAEO,SAASC,EACdC,EACAC,EACA,CACA,GAAI,CAACD,EACH,MAAO,CAAC,EAGV,GAAI,CAACC,EACH,MAAO,CACL,GAAGD,EAAW,iBACd,eAAgB,GAChB,kBAAmB,GACnB,UAAWA,EAAW,UACtB,oBAAqB,GACrB,oBAAqBE,EACnBF,EAAW,kBAAkB,mBAC/B,CACF,EAGF,IAAMG,EAAYF,EAAO,IAAKG,GAAUA,EAAM,IAAI,EAC5CC,EAAmB,OAAO,KAAKL,GAAY,kBAAoB,CAAC,CAAC,EAcvE,MAAO,CACL,GAdoBG,EAAU,OAC9B,CAACG,EAAkBF,IAAU,CAE3B,GAAIC,EAAiB,SAASD,CAAK,EAAG,CACpC,IAAMG,EAAkBP,GAAY,iBAEpCM,EAAiBF,CAAK,EAAIG,EAAgBH,CAAK,CACjD,CACA,OAAOE,CACT,EACA,CAAC,CACH,EAIE,eAAgB,GAChB,kBAAmB,GACnB,UAAWN,EAAW,UACtB,oBAAqB,GACrB,oBAAqBE,EACnBF,EAAW,kBAAkB,mBAC/B,EACA,2BAA4B,EAC9B,CACF,CA/CgBQ,EAAAT,EAAA","names":["STEPS","buildInitialValues","employment","fields","convertFromCents","allFields","field","employmentFields","initialValuesAcc","contractDetails","__name"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as P}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as P}from"./chunk-GPLI6GGL.js";import{b as x}from"./chunk-KQPDXXG3.js";import{c,h as u,i as _,j as T,k as C,l as f,m as g}from"./chunk-CR7AIZKA.js";import{a as t}from"./chunk-P37U34EQ.js";import{jsx as r,jsxs as y}from"react/jsx-runtime";function h({field:e,fieldState:l,fieldData:a}){let{name:n,label:o,description:m,maxLength:s,includeErrorMessage:i}=a;return y(_,{"data-field":n,className:`RemoteFlows__TextField__Item__${n}`,children:[o&&r(T,{className:"RemoteFlows__TextField__Label",children:o}),r(C,{children:r(P,{...e,value:e.value??"",onChange:p=>{e.onChange(p)},className:"RemoteFlows__TextField__Input",placeholder:o,maxLength:s})}),m&&r(f,{className:"RemoteFlows__TextField__Description",children:m}),i&&l.error&&r(g,{className:"RemoteFlows__TextField__Error"})]})}t(h,"TextFieldDefault");import{jsx as R}from"react/jsx-runtime";function B({name:e,description:l,label:a,type:n,onChange:o,component:m,includeErrorMessage:s=!0,additionalProps:i={},maxLength:p,...D}){let{components:v}=x(),{control:w}=c();return R(u,{control:w,name:e,render:({field:F,fieldState:I})=>{let L=m||v?.text||h,b={name:e,description:l,label:a,type:n,onChange:o,metadata:i,maxLength:p,includeErrorMessage:s,...D};return R(L,{field:{...F,onChange:t(d=>{F.onChange(d),o?.(d)},"onChange")},fieldState:I,fieldData:b})}})}t(B,"TextField");export{B as a};
|
|
2
|
+
//# sourceMappingURL=chunk-ZFKHCC4Z.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as i,b as d,c as p,d as R}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as i,b as d,c as p,d as R}from"./chunk-4UAHJOHZ.js";import{a as w}from"./chunk-LHNX27TY.js";import{a as _,b as y}from"./chunk-UQCSN47K.js";import{a as m}from"./chunk-P37U34EQ.js";import{ChevronDown as A,Globe as N}from"lucide-react";import{useState as h}from"react";import{Fragment as C,jsx as e,jsxs as r}from"react/jsx-runtime";var v=m(t=>{if(t.length<2)return{currency:null,costsPerCountry:[],employeesCost:null};let o=t[0]?.employer_currency_costs.currency,u=t.reduce((l,s)=>{let a=s.country.name;return l[a]={country:s.country,monthlyTotal:(l[a]?.monthlyTotal||0)+s.employer_currency_costs.monthly_total,annualTotal:(l[a]?.annualTotal||0)+s.employer_currency_costs.annual_total},l},{}),n=Object.values(u).map(({country:l,monthlyTotal:s,annualTotal:a})=>({country:l,monthlyCost:y(s,o.symbol),annualCost:y(a,o.symbol)})),c={monthlyTotal:y(t.reduce((l,s)=>l+s.employer_currency_costs.monthly_total,0),o.symbol),annualTotal:y(t.reduce((l,s)=>l+s.employer_currency_costs.annual_total,0),o.symbol)};return{currency:o,costsPerCountry:n,employeesCost:c}},"useSummaryResults"),f=m(({currency:t,title:o})=>e("div",{className:"RemoteFlows__SummaryResults__Header flex items-center justify-between w-full",children:r("div",{className:"RemoteFlows__SummaryHeader__Container flex flex-row items-center gap-6",children:[e("div",{className:"RemoteFlows__SummaryHeader__IconContainer flex h-12 w-12 items-center justify-center rounded-lg bg-[#F4F4F5]",children:e(N,{className:"RemoteFlows__SummaryHeader__Icon h-6 w-6 text-[#000000]"})}),r("div",{className:"RemoteFlows__SummaryHeader__Content space-y-1",children:[e("h2",{className:"RemoteFlows__SummaryHeader__Title text-lg font-medium leading-none text-[#181818]",children:o}),r("p",{className:"RemoteFlows__SummaryHeader__Currency text-xs text-[#71717A]",children:["Employer billing currency: ",t.code]})]})]})}),"SummaryHeader"),g=m(({label:t,columns:o,rows:u,defaultValue:n="accordion",className:c})=>{let l=o.length===1?"grid-cols-2":"grid-cols-3";return e(i,{type:"single",collapsible:!0,defaultValue:n,className:_("RemoteFlows__SummaryResults__MultiColumnAccordion w-full",c),children:r(d,{value:n,className:"RemoteFlows__SummaryResults__AccordionItem border-none",children:[e(p,{className:"RemoteFlows__SummaryResults__AccordionTrigger hover:no-underline px-0 py-3 [&>svg]:hidden group",children:r("div",{className:_("RemoteFlows__SummaryResults__AccordionHeader grid items-center w-full",l),children:[r("div",{className:"RemoteFlows__SummaryResults__AccordionHeader__LabelContainer flex items-center gap-2",children:[t,e(A,{className:"RemoteFlows__SummaryResults__ChevronDown h-4 w-4 text-muted-foreground transition-transform group-data-[state=open]:rotate-180"})]}),o.length===1?e("span",{className:"RemoteFlows__SummaryResults__ColumnHeader text-xs text-[#27272A] text-right",children:o[0]}):o.map((s,a)=>e("span",{className:"RemoteFlows__SummaryResults__ColumnHeader text-xs text-[#27272A] text-right",children:s},a))]})}),e(R,{className:"RemoteFlows__SummaryResults__AccordionContent px-0 pb-4",children:e("div",{className:"RemoteFlows__SummaryResults__AccordionRows space-y-3",children:u.map((s,a)=>r("div",{className:_("RemoteFlows__SummaryResults__AccordionRow grid items-center",l),children:[e("div",{className:"flex items-center gap-2",children:s.label}),o.length===1?e("span",{className:"RemoteFlows__SummaryResults__RowValue text-sm text-[#09090B] text-right",children:s.values[0]}):s.values.map((F,x)=>e("span",{className:"RemoteFlows__SummaryResults__RowValue text-sm text-[#09090B] text-right",children:F},x))]},a))})})]})})},"MultiColumnAccordion"),b=m(({employeesCost:t})=>e(g,{label:e("span",{className:"RemoteFlows__CostForAllEmployees__Label text-sm font-medium text-[#0F172A]",children:"Cost for all employees"}),columns:["Total cost"],rows:[{label:r(C,{children:[e("span",{className:"RemoteFlows__CostForAllEmployees__Bullet w-1 h-1 bg-[#09090B] rounded-full flex-shrink-0"}),e("span",{className:"RemoteFlows__CostForAllEmployees__MonthlyLabel text-sm text-[#09090B]",children:"Monthly cost"})]}),values:[t.monthlyTotal]},{label:r(C,{children:[e("span",{className:"RemoteFlows__CostForAllEmployees__Bullet w-1 h-1 bg-[#09090B] rounded-full flex-shrink-0"}),e("span",{className:"RemoteFlows__CostForAllEmployees__AnnualLabel text-sm text-[#09090B]",children:"Annual cost"})]}),values:[t.annualTotal]}],defaultValue:"cost-breakdown"}),"CostForAllEmployees"),S=m(({costsPerCountry:t})=>e(g,{label:e("span",{className:"RemoteFlows__CostsPerCountry__Label text-sm font-medium text-[#0F172A]",children:"Cost per country"}),columns:["Monthly cost","Annual cost"],rows:t.map(o=>({label:r(C,{children:[e("span",{className:"RemoteFlows__CostsPerCountry__Bullet w-1 h-1 bg-[#09090B] rounded-full flex-shrink-0"}),e("span",{className:"RemoteFlows__CostsPerCountry__CountryName text-sm text-[#09090B]",children:o.country.name})]}),values:[o.monthlyCost,o.annualCost]})),defaultValue:"country-breakdown"}),"CostsPerCountry"),k=m(({estimations:t})=>{let{currency:o,costsPerCountry:u,employeesCost:n}=v(t),[c,l]=h("summary");return!o||u.length===0||Object.keys(n).length===0?null:e(w,{className:"RemoteFlows__SummaryResults__Card p-10",children:e(i,{type:"single",collapsible:!0,defaultValue:c,onValueChange:l,className:"RemoteFlows__SummaryResults__Accordion w-full",children:r(d,{value:"summary",className:"RemoteFlows__SummaryResults__AccordionItem border-border",children:[e("div",{className:_("RemoteFlows__SummaryResults__AccordionTriggerContainer",{RemoteFlows__Separator:c==="summary"}),children:e(p,{iconClassName:"size-6",className:"RemoteFlows__SummaryResults__MainAccordionTrigger hover:no-underline px-0 py-4",children:e(f,{currency:o,title:"Summary Overview"})})}),r(R,{className:"RemoteFlows__SummaryResults__MainAccordionContent px-0 pb-4 mt-6",children:[e("div",{className:"RemoteFlows__Separator",children:e(b,{employeesCost:n})}),e("div",{className:"RemoteFlows__SummaryResults__CostsPerCountryContainer mt-6",children:e(S,{costsPerCountry:u})})]})]})})})},"SummaryResults");export{k as a};
|
|
2
|
+
//# sourceMappingURL=chunk-ZT72WOPZ.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as Q}from"./chunk-6DHV4GT6.js";import{a as J}from"./chunk-3DRSYLBM.js";import{a as U}from"./chunk-B2OOX56F.js";import{a as Z}from"./chunk-6E5GX7W3.js";import{a as K}from"./chunk-26Y25KF6.js";import{a as R}from"./chunk-XGECMN4V.js";import{a as g,b as N,c as B,d as q,e as A}from"./chunk-5JQMTMHR.js";import{c as H,d as L}from"./chunk-GFVGV76O.js";import{a as z}from"./chunk-ZXGAFQXW.js";import{a as _,b as O}from"./chunk-NY7LII5R.js";import{a as I}from"./chunk-KDI2AVBF.js";import{a as v}from"./chunk-2YTBWEC7.js";import{a as w}from"./chunk-P5QKSFOE.js";import{m as h}from"./chunk-W3YE53JN.js";import{a as E}from"./chunk-PJBAQZ6G.js";import{a as b}from"./chunk-Z5WMKCRJ.js";import{d as D}from"./chunk-KQPDXXG3.js";import{d as p}from"./chunk-HRG5MSVG.js";import{a as $}from"./chunk-UQCSN47K.js";import{a as o}from"./chunk-P37U34EQ.js";import Te from"lodash.omitby";import Fe from"lodash.isnull";import{format as S,isFuture as Me,parseISO as x,subDays as ge}from"date-fns";import{useMemo as j}from"react";import Se from"lodash.omit";import{useQuery as pe}from"@tanstack/react-query";var W=o(({query:t,options:e})=>{let{client:u}=D();return pe({queryKey:["payroll-calendars"],queryFn:o(()=>h({client:u,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 _e,isToday as ue,parseISO as ye}from"date-fns";var Y=o(t=>{if(!t)return!1;let e=ye(t);return _e(e)||ue(e)},"isInProbationPeriod");import{Fragment as xe,jsx as m,jsxs as je}from"react/jsx-runtime";var ro=o(({employmentId:t,options:e,initialValues:u})=>{let{fieldValues:c,setFieldValues:G,stepState:l,previousStep:X,nextStep:ee}=E(N),{data:n}=I({employmentId:t}),{data:oe}=W({query:{year:new Date().getFullYear().toString(),countryCode:n?.country?.code},options:{enabled:!!n?.country?.code}}),y=Y(n?.probation_period_end_date),T=B(oe),V=j(()=>y?S(new Date,"yyyy-MM-dd"):S(T,"yyyy-MM-dd"),[y,T]),F=!!(n?.provisional_start_date&&Me(x(n.provisional_start_date))),M=A({...u,...l.values?.employee_communication,...l.values?.termination_details,...l.values?.paid_time_off,...l.values?.additional_information},F),d=j(()=>({...M,...c}),[c,M]),P=q({minTerminationDate:T,isEmployeeInProbationPeriod:y,selectedDate:x(d.proposed_termination_date)}),ie=j(()=>{let s=z.data.schema.properties.termination_reason.oneOf,a=F?s.filter(i=>i.const==="cancellation_before_start_date"):s.filter(i=>i.const!=="cancellation_before_start_date");return{fields:{risk_assesment_info:g("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:g("Proposed termination date",je(xe,{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(O,{external:!0,zendeskId:_.terminationNoticePeriods,className:$("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:V,...d.termination_reason==="cancellation_before_start_date"&&n?.provisional_start_date?{maxDate:S(ge(x(n.provisional_start_date),1),"yyyy-MM-dd")}:{},...P},...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(K,{employeeName:n?.basic_information?.name,proposedTerminationDate:d.proposed_termination_date,employmentId:t,employment:n,render:r=>i?m(i,{...r}):m(Z,{...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(Q,{render:r=>i?m(i,{...r}):m(J,{...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(U,{...i})},"Component")}}}}},[n,t,d.proposed_termination_date,d.termination_reason,F,V,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,P]),{data:f,isLoading:te}=L({formValues:d,jsfModify:{...e?.jsfModify,fields:{...e?.jsfModify?.fields,...ie?.fields}},step:l.currentStep.name}),ne=w(R.data.schema),k=H(),{mutateAsync:ae}=v(k);async function re(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,fe=await b(a,["agrees_to_pto_amount","confidential","customer_informed_employee","will_challenge_termination"]),le=Se(fe,"customer_informed_employee_date","customer_informed_employee_description"),ce=Te({...le,...r},Fe);return ae({employment_id:t,termination_details:ce,type:"termination"})}}o(re,"onSubmit");function se(){X()}o(se,"back");function me(){ee()}o(me,"next");let de=Object.keys(c).length>0,C=o(async(s,a=!1)=>a?await p(s,ne.fields,{isPartialValidation:!0}):f?await p(s,f?.fields,{isPartialValidation:!0}):{},"parseFormValues");return{employmentId:t,employment:n,fieldValues:d,isDirty:de,stepState:l,fields:f?.fields||[],isLoading:te,isSubmitting:k.isPending,initialValues:M,handleValidation:o(async s=>{if(f){let a=await p(s,f?.fields);return f?.handleValidation(a)}return null},"handleValidation"),checkFieldUpdates:G,parseFormValues:C,onSubmit:re,back:se,next:me}},"useTermination");export{ro as a};
|
|
2
|
+
//# sourceMappingURL=chunk-ZUNMNGRC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/flows/Termination/hooks.tsx","../src/common/api/payroll-calendars.ts","../src/common/employment.ts"],"sourcesContent":["import { $TSFixMe } from '@/src/types/remoteFlows';\nimport { createHeadlessForm } from '@/src/common/createHeadlessForm';\nimport omitBy from 'lodash.omitby';\nimport isNull from 'lodash.isnull';\nimport { format, isFuture, parseISO, subDays } from 'date-fns';\nimport { useMemo } from 'react';\nimport {\n CreateOffboardingParams,\n TerminationDetailsParams,\n} from '@/src/client';\nimport { mutationToPromise } from '@/src/lib/mutations';\nimport { parseJSFToValidate } from '@/src/components/form/utils';\nimport {\n EmployeeCommunicationFormValues,\n PaidTimeOffFormValues,\n TerminationDetailsFormValues,\n TerminationFlowProps,\n TerminationFormValues,\n} from '@/src/flows/Termination/types';\nimport omit from 'lodash.omit';\nimport { parseFormRadioValues } from '@/src/flows/utils';\nimport { useStepState } from '@/src/flows/useStepState';\nimport {\n buildInitialValues,\n calculateMinTerminationDate,\n calculateProposedTerminationDateStatement,\n STEPS,\n} from '@/src/flows/Termination/utils';\nimport { jsonSchema } from '@/src/flows/Termination/json-schemas/jsonSchema';\nimport { terminationDetailsSchema } from '@/src/flows/Termination/json-schemas/terminationDetails';\nimport {\n useCreateTermination,\n useTerminationSchema,\n} from '@/src/flows/Termination/api';\nimport { createInformationField } from '@/src/components/form/jsf-utils/createFields';\nimport { cn } from '@/src/internals';\nimport { zendeskArticles } from '@/src/components/shared/zendesk-drawer/utils';\nimport { PaidTimeOff } from '@/src/flows/Termination/components/PaidTimeOff/PaidTimeOff';\nimport { PaidTimeOffContainer } from '@/src/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer';\nimport { useEmploymentQuery } from '@/src/common/api';\nimport { AcknowledgeInformationContainer } from '@/src/flows/Termination/components/AcknowledgeInformation/AcknowledgeInfomationContainer';\nimport { AcknowledgeInformation } from '@/src/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformation';\nimport { AcknowledgeInformationFees } from '@/src/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformationFees';\nimport { usePayrollCalendars } from '@/src/common/api/payroll-calendars';\nimport { isInProbationPeriod } from '@/src/common/employment';\nimport { ZendeskTriggerButton } from '@/src/components/shared/zendesk-drawer/ZendeskTriggerButton';\n\ntype TerminationHookProps = Omit<TerminationFlowProps, 'render'>;\n\nexport const useTermination = ({\n employmentId,\n options,\n initialValues: terminationInitialValues,\n}: TerminationHookProps) => {\n const { fieldValues, setFieldValues, stepState, previousStep, nextStep } =\n useStepState<keyof typeof STEPS, TerminationFormValues>(STEPS);\n\n const { data: employment } = useEmploymentQuery({ employmentId });\n\n const { data: payrollCalendars } = usePayrollCalendars({\n query: {\n year: new Date().getFullYear().toString(),\n countryCode: employment?.country?.code,\n },\n options: {\n enabled: Boolean(employment?.country?.code),\n },\n });\n\n const isEmployeeInProbationPeriod = isInProbationPeriod(\n employment?.probation_period_end_date,\n );\n\n const minTerminationDate = calculateMinTerminationDate(payrollCalendars);\n const minDate = useMemo(\n () =>\n isEmployeeInProbationPeriod\n ? format(new Date(), 'yyyy-MM-dd')\n : format(minTerminationDate, 'yyyy-MM-dd'),\n [isEmployeeInProbationPeriod, minTerminationDate],\n );\n\n const hasFutureStartDate = Boolean(\n employment?.provisional_start_date &&\n isFuture(parseISO(employment.provisional_start_date)),\n );\n\n const initialValues = buildInitialValues(\n {\n ...terminationInitialValues,\n ...stepState.values?.employee_communication,\n ...stepState.values?.termination_details,\n ...stepState.values?.paid_time_off,\n ...stepState.values?.additional_information,\n },\n hasFutureStartDate,\n );\n\n const formValues = useMemo(\n () => ({\n ...initialValues,\n ...fieldValues,\n }),\n [fieldValues, initialValues],\n );\n\n const proposedTerminationDateStatement =\n calculateProposedTerminationDateStatement({\n minTerminationDate,\n isEmployeeInProbationPeriod,\n selectedDate: parseISO(formValues.proposed_termination_date),\n });\n\n const customFields = useMemo(() => {\n const originalTerminationReasonOptions =\n terminationDetailsSchema.data.schema.properties.termination_reason.oneOf;\n\n const terminationReasonOptions = hasFutureStartDate\n ? originalTerminationReasonOptions.filter(\n (option: $TSFixMe) =>\n option.const === 'cancellation_before_start_date',\n )\n : originalTerminationReasonOptions.filter(\n (option: $TSFixMe) =>\n option.const !== 'cancellation_before_start_date',\n );\n\n return {\n fields: {\n risk_assesment_info: createInformationField(\n 'Offboarding risk assessment',\n '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.',\n {\n className: (\n options?.jsfModify?.fields?.risk_assesment_info as $TSFixMe\n )?.['x-jsf-presentation']?.className,\n },\n ),\n termination_reason: {\n ...(options?.jsfModify?.fields?.termination_reason as $TSFixMe),\n oneOf: terminationReasonOptions,\n },\n proposed_termination_date_info: createInformationField(\n 'Proposed termination date',\n <>\n In most cases, Remote must provide notice to the employee before\n termination. The required notice period depends on local labor laws,\n the employment agreement, and other factors. We'll use those factors\n to determine the required notice period.\n <ZendeskTriggerButton\n external\n zendeskId={zendeskArticles.terminationNoticePeriods}\n className={cn(\n 'text-sm',\n (\n options?.jsfModify?.fields\n ?.proposed_termination_date_info as $TSFixMe\n )?.['x-jsf-presentation']?.zendeskTriggerButtonClassName,\n )}\n >\n Learn about notice periods\n </ZendeskTriggerButton>\n </>,\n {\n className: (\n options?.jsfModify?.fields\n ?.proposed_termination_date_info as $TSFixMe\n )?.['x-jsf-presentation']?.className,\n },\n ),\n proposed_termination_date: {\n ...(options?.jsfModify?.fields\n ?.proposed_termination_date as $TSFixMe),\n 'x-jsf-presentation': {\n ...(\n options?.jsfModify?.fields?.proposed_termination_date as $TSFixMe\n )?.['x-jsf-presentation'],\n minDate: minDate,\n ...(formValues.termination_reason ===\n 'cancellation_before_start_date' &&\n employment?.provisional_start_date\n ? {\n maxDate: format(\n subDays(parseISO(employment.provisional_start_date), 1),\n 'yyyy-MM-dd',\n ),\n }\n : {}),\n ...proposedTerminationDateStatement,\n },\n ...(formValues.termination_reason === 'cancellation_before_start_date'\n ? {\n 'x-jsf-errorMessage': {\n maximum:\n \"The proposed termination date must be before the employee's start date.\",\n },\n }\n : {}),\n },\n paid_time_off_info: {\n ...(options?.jsfModify?.fields?.paid_time_off_info as $TSFixMe),\n 'x-jsf-presentation': {\n ...(options?.jsfModify?.fields?.paid_time_off_info as $TSFixMe)?.[\n 'x-jsf-presentation'\n ],\n Component: () => {\n const CustomComponent = (\n options?.jsfModify?.fields?.paid_time_off_info as $TSFixMe\n )?.['x-jsf-presentation']?.Component;\n\n return (\n <PaidTimeOffContainer\n employeeName={employment?.basic_information?.name as string}\n proposedTerminationDate={formValues.proposed_termination_date}\n employmentId={employmentId}\n employment={employment}\n render={(props) => {\n if (CustomComponent) {\n return <CustomComponent {...props} />;\n }\n return <PaidTimeOff {...props} />;\n }}\n />\n );\n },\n },\n },\n acknowledge_termination_procedure_info: {\n ...(options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_info as $TSFixMe),\n 'x-jsf-presentation': {\n ...(\n options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_info as $TSFixMe\n )?.['x-jsf-presentation'],\n Component: () => {\n const CustomComponent = (\n options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_info as $TSFixMe\n )?.['x-jsf-presentation']?.Component;\n\n return (\n <AcknowledgeInformationContainer\n render={(props) => {\n if (CustomComponent) {\n return <CustomComponent {...props} />;\n }\n return <AcknowledgeInformation {...props} />;\n }}\n />\n );\n },\n },\n },\n acknowledge_termination_procedure_fees_info: {\n ...(options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_fees_info as $TSFixMe),\n 'x-jsf-presentation': {\n ...(\n options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_fees_info as $TSFixMe\n )?.['x-jsf-presentation'],\n Component: () => {\n const zendeskIds = {\n involuntaryOffboardingServiceChargeZendeskId:\n zendeskArticles.involuntaryOffboardingServiceCharge,\n reconciliationInvoiceZendeskId:\n zendeskArticles.reconciliationInvoice,\n };\n\n const CustomComponent = (\n options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_fees_info as $TSFixMe\n )?.['x-jsf-presentation']?.Component;\n\n if (CustomComponent) {\n return <CustomComponent {...zendeskIds} />;\n }\n\n return <AcknowledgeInformationFees {...zendeskIds} />;\n },\n },\n },\n },\n };\n }, [\n employment,\n employmentId,\n formValues.proposed_termination_date,\n formValues.termination_reason,\n hasFutureStartDate,\n minDate,\n options?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info,\n options?.jsfModify?.fields?.acknowledge_termination_procedure_info,\n options?.jsfModify?.fields?.paid_time_off_info,\n options?.jsfModify?.fields?.proposed_termination_date,\n options?.jsfModify?.fields?.proposed_termination_date_info,\n options?.jsfModify?.fields?.risk_assesment_info,\n options?.jsfModify?.fields?.termination_reason,\n proposedTerminationDateStatement,\n ]);\n\n const { data: terminationHeadlessForm, isLoading: isLoadingTermination } =\n useTerminationSchema({\n formValues: formValues,\n jsfModify: {\n ...options?.jsfModify,\n fields: {\n ...options?.jsfModify?.fields,\n ...customFields?.fields,\n },\n },\n step: stepState.currentStep.name,\n });\n\n const entireTerminationSchema = createHeadlessForm(jsonSchema.data.schema);\n\n const createTermination = useCreateTermination();\n const { mutateAsync } = mutationToPromise(createTermination);\n\n async function onSubmit(values: TerminationFormValues) {\n if (!employmentId) {\n throw new Error('Employment id is missing');\n }\n\n if (terminationHeadlessForm) {\n const parsedValues = (await parseFormValues(\n values,\n true,\n )) as TerminationFormValues;\n\n const { customer_informed_employee: customerInformedEmployee } =\n parsedValues;\n\n const employeeAwareness =\n customerInformedEmployee === 'yes'\n ? {\n employee_awareness: {\n date: parsedValues.customer_informed_employee_date,\n note: parsedValues.customer_informed_employee_description,\n },\n }\n : undefined;\n\n const radioFieldKeys = [\n 'agrees_to_pto_amount',\n 'confidential',\n 'customer_informed_employee',\n 'will_challenge_termination',\n ];\n\n const parsedRadioValues = await parseFormRadioValues(\n parsedValues,\n radioFieldKeys,\n );\n\n const normalizedValues = omit(\n parsedRadioValues,\n 'customer_informed_employee_date',\n 'customer_informed_employee_description',\n );\n\n const terminationDetails: TerminationDetailsParams = omitBy(\n {\n ...normalizedValues,\n ...employeeAwareness,\n },\n isNull,\n ) as unknown as TerminationDetailsParams;\n\n const terminationPayload: CreateOffboardingParams = {\n employment_id: employmentId,\n termination_details: terminationDetails,\n type: 'termination',\n };\n\n return mutateAsync(terminationPayload);\n }\n\n return;\n }\n\n function back() {\n previousStep();\n }\n\n function next() {\n nextStep();\n }\n\n const isDirty = Boolean(Object.keys(fieldValues).length > 0);\n\n const parseFormValues = async (\n values: TerminationFormValues,\n includeAllFields: boolean = false,\n ): Promise<\n | EmployeeCommunicationFormValues\n | TerminationDetailsFormValues\n | PaidTimeOffFormValues\n | TerminationFormValues\n > => {\n if (includeAllFields) {\n return (await parseJSFToValidate(values, entireTerminationSchema.fields, {\n isPartialValidation: true,\n })) as TerminationFormValues;\n }\n\n if (terminationHeadlessForm) {\n return (await parseJSFToValidate(\n values,\n terminationHeadlessForm?.fields,\n {\n isPartialValidation: true,\n },\n )) as\n | EmployeeCommunicationFormValues\n | TerminationDetailsFormValues\n | PaidTimeOffFormValues;\n }\n return {} as $TSFixMe;\n };\n\n return {\n /**\n * Employment id passed useful to be used between components\n */\n employmentId,\n /**\n * Employment data\n */\n employment,\n\n /**\n * Current form field values, we use formValues to let the user know about all the current form values\n */\n fieldValues: formValues,\n\n /**\n * Indicates if the form is dirty\n */\n isDirty,\n /**\n * Current step state containing the current step and total number of steps\n */\n stepState,\n /**\n * Array of form fields from the contract amendment schema\n */\n fields: terminationHeadlessForm?.fields || [],\n /**\n * Loading state indicating if the termination schema is being fetched\n */\n isLoading: isLoadingTermination,\n /**\n * Loading state indicating if a contract amendment mutation is in progress\n */\n isSubmitting: createTermination.isPending,\n /**\n * Initial form values\n */\n initialValues: initialValues,\n /**\n * Function to validate form values against the contract amendment schema\n * @param values - Form values to validate\n * @returns Validation result or null if no schema is available\n */\n handleValidation: async (values: TerminationFormValues) => {\n if (terminationHeadlessForm) {\n const parsedValues = await parseJSFToValidate(\n values,\n terminationHeadlessForm?.fields,\n );\n return terminationHeadlessForm?.handleValidation(parsedValues);\n }\n return null;\n },\n /**\n * Function to update the current form field values\n * @param values - New form values to set\n */\n checkFieldUpdates: setFieldValues,\n /**\n * Function to parse form values before submission\n * @param values - Form values to parse\n * @returns Parsed form values\n */\n parseFormValues,\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","import { useQuery } from '@tanstack/react-query';\nimport { getIndexEorPayrollCalendar } from '@/src/client';\nimport { useClient } from '@/src/context';\nimport { Client } from '@/src/client/client';\n\nexport const usePayrollCalendars = ({\n query,\n options,\n}: {\n query?: {\n year?: string;\n countryCode?: string;\n };\n options?: {\n enabled?: boolean;\n };\n}) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['payroll-calendars'],\n queryFn: () =>\n getIndexEorPayrollCalendar({\n client: client as Client,\n query: {\n year: query?.year,\n country_code: query?.countryCode,\n },\n }),\n enabled: options?.enabled,\n select: (data) => data.data?.data?.payroll_calendars?.[0],\n });\n};\n","import { isFuture, isToday, parseISO } from 'date-fns';\n\nexport const isInProbationPeriod = (probationEndDate: string | undefined) => {\n if (!probationEndDate) return false;\n\n const parsedProbationEndDate = parseISO(probationEndDate);\n\n return isFuture(parsedProbationEndDate) || isToday(parsedProbationEndDate);\n};\n"],"mappings":"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","names":["omitBy","isNull","format","isFuture","parseISO","subDays","useMemo","omit","useQuery","usePayrollCalendars","__name","query","options","client","useClient","useQuery","getIndexEorPayrollCalendar","data","isFuture","isToday","parseISO","isInProbationPeriod","__name","probationEndDate","parsedProbationEndDate","parseISO","isFuture","isToday","Fragment","jsx","jsxs","useTermination","__name","employmentId","options","terminationInitialValues","fieldValues","setFieldValues","stepState","previousStep","nextStep","useStepState","STEPS","employment","useEmploymentQuery","payrollCalendars","usePayrollCalendars","isEmployeeInProbationPeriod","isInProbationPeriod","minTerminationDate","calculateMinTerminationDate","minDate","useMemo","format","hasFutureStartDate","isFuture","parseISO","initialValues","buildInitialValues","formValues","proposedTerminationDateStatement","calculateProposedTerminationDateStatement","customFields","originalTerminationReasonOptions","terminationDetailsSchema","terminationReasonOptions","option","createInformationField","ZendeskTriggerButton","zendeskArticles","cn","subDays","CustomComponent","PaidTimeOffContainer","props","PaidTimeOff","AcknowledgeInformationContainer","AcknowledgeInformation","zendeskIds","AcknowledgeInformationFees","terminationHeadlessForm","isLoadingTermination","useTerminationSchema","entireTerminationSchema","createHeadlessForm","jsonSchema","createTermination","useCreateTermination","mutateAsync","mutationToPromise","onSubmit","values","parsedValues","parseFormValues","customerInformedEmployee","employeeAwareness","parsedRadioValues","parseFormRadioValues","normalizedValues","omit","terminationDetails","omitBy","isNull","back","next","isDirty","includeAllFields","parseJSFToValidate"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as ut,b as pt,c as ft,d as yt}from"./chunk-LOHRUY4J.js";import{a as at,b as it,c as st,e as ct,f as lt,g as dt,h as mt}from"./chunk-CATDB2YM.js";import{a as ot,b as rt}from"./chunk-3UDG4IJO.js";import{a as X,f as Z,h as tt,k as et}from"./chunk-W4KHMUDZ.js";import{c as z,d as Q}from"./chunk-H6YNMT4M.js";import{a as E}from"./chunk-2YTBWEC7.js";import{a as nt}from"./chunk-PJBAQZ6G.js";import{d as f,e as C}from"./chunk-HRG5MSVG.js";import{g as V}from"./chunk-UQCSN47K.js";import{a as p}from"./chunk-P37U34EQ.js";import{useEffect as Qt,useMemo as c,useRef as Xt,useState as J}from"react";var Zt={select_country:null,basic_information:"employment_basic_information",contract_details:null,pricing_plan:null,contract_preview:null,review:null},te={employment_basic_information:"basic_information"},ee=new Date().toISOString().split("T")[0],fe=p(({countryCode:_t,externalId:St,employmentId:y,skipSteps:gt,options:P,initialValues:i})=>{let[a,A]=J(_t||null),[r,bt]=J(y),[T,Ct]=J(void 0),O=Xt({select_country:{},basic_information:{},contract_details:{},contract_preview:{},pricing_plan:{}}),wt=gt?.includes("select_country")?pt:ut,{fieldValues:m,stepState:e,setFieldValues:Ft,previousStep:vt,nextStep:ht,goToStep:I,setStepValues:B}=nt(wt),{data:s,isLoading:R,refetch:Vt}=X(r),{status:_}=s||{},L=_&&z.includes(_),Et=_&&!Q.includes(_),Pt=c(()=>_==="invited"?"invited":"not_invited",[_]),q=tt(),N=lt(),x=it(),Ot=ct(),{mutateAsync:Mt}=E(q),{mutateAsync:Dt}=E(N),{mutateAsync:Tt}=E(x),{mutateAsync:U}=E(Ot);y&&s?.country?.code&&!a&&A(s.country.code);let{selectCountryForm:M,isLoading:It}=et({jsfModify:P?.jsfModify?.select_country,queryOptions:{enabled:e.currentStep.name==="select_country"}}),{form:H,isLoading:Rt}=mt(r,{jsonSchemaVersion:P?.jsonSchemaVersion,queryOptions:{enabled:e.currentStep.name==="pricing_plan"}}),Lt=Zt[e.currentStep.name]||"contractor_basic_information",jt=te[Lt],kt=s?.[jt]||{},Jt=p(({form:t,options:o={},query:g={}})=>{let b=Object.keys(m).length>0?{...i,...e.values?.[e.currentStep.name],...m}:{...i,...kt};return Z({countryCode:a,form:t,fieldValues:b,query:g,options:{...o,queryOptions:{enabled:o.queryOptions?.enabled??!0}}})},"useJSONSchema"),At=!!(a&&(e.currentStep.name==="basic_information"||y)),Bt=!!(a&&(e.currentStep.name==="contract_details"||y)),{data:l,isLoading:qt}=Jt({form:"contractor_basic_information",options:{jsfModify:P?.jsfModify?.basic_information,queryOptions:{enabled:At}}}),Nt=c(()=>ft(s?.basic_information?.provisional_start_date,m?.service_duration?.provisional_start_date),[s?.basic_information?.provisional_start_date,m?.service_duration?.provisional_start_date]),{data:d,isLoading:xt}=dt({countryCode:a,fieldValues:m,options:{queryOptions:{enabled:Bt},jsfModify:yt(P?.jsfModify?.contract_details,Nt)}}),{data:u}=at({fieldValues:m,options:{queryOptions:{enabled:e.currentStep.name==="contract_preview"}}}),{data:Ut,isLoading:Ht}=st({employmentId:r,contractDocumentId:T,options:{queryOptions:{enabled:!!T}}}),n=c(()=>({select_country:M?.fields||[],basic_information:l?.fields||[],pricing_plan:H?.fields||[],contract_details:d?.fields||[],contract_preview:u?.fields||[],review:[]}),[M?.fields,l?.fields,H?.fields,d?.fields,u?.fields]),Gt={select_country:null,basic_information:l?.meta["x-jsf-fieldsets"],pricing_plan:null,contract_details:d?.meta["x-jsf-fieldsets"],contract_preview:null,review:null},{country:Wt,basic_information:D={},contract_details:S={}}=s||{},G=Wt?.code,w=c(()=>C(n.select_country,{country:a||G||""}),[n.select_country,a,G]),F=c(()=>{let t={provisional_start_date:ee,...i,...D};return C(n.basic_information,t)},[n.basic_information,D,i]),v=c(()=>{let o={...{service_duration:{provisional_start_date:D.provisional_start_date}},...i,...S};return C(n.contract_details,o)},[n.contract_details,S,i,D]),W=c(()=>{let t={...i,...S};return C(n.contract_preview,t)},[n.contract_preview,S,i]),$=c(()=>{let t={...i,...S};return C(n.pricing_plan,t?.pricing_plan??{})},[n.pricing_plan,S,i]),$t=c(()=>({select_country:w,basic_information:F,contract_details:v,contract_preview:W,pricing_plan:$}),[w,F,v,W,$]),K=c(()=>!!(!!(y&&L&&e.currentStep.name!=="review")&&!R&&n.basic_information.length>0&&n.contract_details.length>0),[y,L,R,n.basic_information.length,n.contract_details.length,e.currentStep.name]);Qt(()=>{K&&(O.current={select_country:V(w,n.select_country),basic_information:V(F,n.basic_information),contract_details:V(v,n.contract_details),contract_preview:{},pricing_plan:{}},B({select_country:w,basic_information:F,contract_details:v,contract_preview:{},pricing_plan:{},review:{}}),I("review"))},[K,I,w,F,v,B,n.select_country,n.basic_information,n.contract_details]);let Kt=p(t=>{I(t)},"goTo"),Y=p(async t=>M&&e.currentStep.name==="select_country"?t:l&&e.currentStep.name==="basic_information"?await f(t,l?.fields,{isPartialValidation:!1}):d&&e.currentStep.name==="contract_details"?await f(t,d?.fields,{isPartialValidation:!1}):u&&e.currentStep.name==="contract_preview"?await f(t,u?.fields,{isPartialValidation:!1}):e.currentStep.name==="pricing_plan"?t:{},"parseFormValues");async function Yt(t){let o=e.currentStep.name;o in O.current&&(O.current[o]=V(t,n[o]));let g=await Y(t);switch(e.currentStep.name){case"select_country":return A(g.country),Promise.resolve({data:{countryCode:g.country}});case"basic_information":{let j=!r&&a,b=r&&a&&s?.country&&s?.country.code!==a;if(j||b){let k={basic_information:g,type:"contractor",country_code:a,external_id:St};try{let h=await Mt(k),zt=h.data?.data?.employment?.id;return bt(zt),h}catch(h){throw console.error("Error creating onboarding:",h),h}}else if(r)return Promise.resolve({data:{employmentId:r}});return}case"contract_details":{let b=await Dt({employmentId:r,payload:{contract_document:g}}),k=b.data?.data?.contract_document?.id;return Ct(k),b}case"contract_preview":return Tt({employmentId:r,contractDocumentId:T,payload:{signature:t.signature}});case"pricing_plan":return t.subscription==ot?U({employmentId:r,payload:{operation:"downgrade"}}):t.subscription==rt?U({employmentId:r,payload:{operation:"upgrade"}}):Promise.reject({error:"invalid selection"});default:throw new Error("Invalid step state")}}return p(Yt,"onSubmit"),{isLoading:It||qt||R||xt||Rt||Ht,fieldValues:m,stepState:e,checkFieldUpdates:Ft,back:vt,next:ht,goTo:Kt,onSubmit:Yt,fields:n[e.currentStep.name],meta:{fields:O.current,fieldsets:Gt[e.currentStep.name]},parseFormValues:Y,handleValidation:p(async t=>{if(e.currentStep.name==="select_country")return M.handleValidation(t);if(l&&e.currentStep.name==="basic_information"){let o=await f(t,l?.fields,{isPartialValidation:!1});return l?.handleValidation(o)}if(d&&e.currentStep.name==="contract_details"){let o=await f(t,d?.fields,{isPartialValidation:!1});return d?.handleValidation(o)}if(u&&e.currentStep.name==="contract_preview"){let o=await f(t,u?.fields,{isPartialValidation:!1});return u?.handleValidation(o)}return e.currentStep.name==="pricing_plan"?{formErrors:{}}:null},"handleValidation"),initialValues:$t,employmentId:r,refetchEmployment:Vt,isSubmitting:q.isPending||N.isPending||x.isPending,documentPreviewPdf:Ut,canInvite:Et,isEmploymentReadOnly:L,invitedStatus:Pt,employment:s}},"useContractorOnboarding");export{fe as a};
|
|
2
|
+
//# sourceMappingURL=chunk-ZZPYYZNT.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/flows/ContractorOnboarding/hooks.tsx"],"sourcesContent":["import { useEffect, useMemo, useRef, useState } from 'react';\nimport { FieldValues } from 'react-hook-form';\nimport { JSFFields } from '@/src/types/remoteFlows';\nimport {\n CreateContractDocument,\n Employment,\n EmploymentCreateParams,\n} from '@/src/client/types.gen';\nimport {\n getInitialValues,\n parseJSFToValidate,\n} from '@/src/components/form/utils';\nimport { ValidationResult } from '@remoteoss/remote-json-schema-form-kit';\nimport {\n useContractorOnboardingDetailsSchema,\n useCreateContractorContractDocument,\n useGetContractDocumentSignatureSchema,\n usePostManageContractorSubscriptions,\n useContractorSubscriptionSchemaField,\n useGetShowContractDocument,\n useSignContractDocument,\n} from '@/src/flows/ContractorOnboarding/api';\nimport { ContractorOnboardingFlowProps } from '@/src/flows/ContractorOnboarding/types';\nimport {\n STEPS,\n STEPS_WITHOUT_SELECT_COUNTRY,\n calculateProvisionalStartDateDescription,\n buildContractDetailsJsfModify,\n} from '@/src/flows/ContractorOnboarding/utils';\nimport {\n useCountriesSchemaField,\n useCreateEmployment,\n useEmployment,\n useJSONSchemaForm,\n} from '@/src/flows/Onboarding/api';\nimport {\n disabledInviteButtonEmploymentStatus,\n reviewStepAllowedEmploymentStatus,\n} from '@/src/flows/Onboarding/utils';\nimport { FlowOptions, JSFModify, JSONSchemaFormType } from '@/src/flows/types';\nimport { Step, useStepState } from '@/src/flows/useStepState';\nimport { mutationToPromise } from '@/src/lib/mutations';\nimport { prettifyFormValues } from '@/src/lib/utils';\nimport { $TSFixMe, JSFFieldset, Meta } from '@/src/types/remoteFlows';\nimport {\n contractorStandardProductIdentifier,\n contractorPlusProductIdentifier,\n} from '@/src/flows/ContractorOnboarding/constants';\n\ntype useContractorOnboardingProps = Omit<\n ContractorOnboardingFlowProps,\n 'render'\n>;\n\nconst stepToFormSchemaMap: Record<\n keyof typeof STEPS,\n JSONSchemaFormType | null\n> = {\n select_country: null,\n basic_information: 'employment_basic_information',\n contract_details: null,\n pricing_plan: null,\n contract_preview: null,\n review: null,\n};\n\nconst jsonSchemaToEmployment: Partial<\n Record<JSONSchemaFormType, keyof Employment>\n> = {\n employment_basic_information: 'basic_information',\n};\n\nconst provisionalStartDate = new Date().toISOString().split('T')[0];\n\nexport const useContractorOnboarding = ({\n countryCode,\n externalId,\n employmentId,\n skipSteps,\n options,\n initialValues: onboardingInitialValues,\n}: useContractorOnboardingProps) => {\n const [internalCountryCode, setInternalCountryCode] = useState<string | null>(\n countryCode || null,\n );\n const [internalEmploymentId, setInternalEmploymentId] = useState<\n string | undefined\n >(employmentId);\n const [internalContractDocumentId, setInternalContractDocumentId] = useState<\n string | undefined\n >(undefined);\n const fieldsMetaRef = useRef<{\n select_country: Meta;\n basic_information: Meta;\n contract_details: Meta;\n contract_preview: Meta;\n pricing_plan: Meta;\n }>({\n select_country: {},\n basic_information: {},\n contract_details: {},\n contract_preview: {},\n pricing_plan: {},\n });\n\n const stepsToUse = skipSteps?.includes('select_country')\n ? STEPS_WITHOUT_SELECT_COUNTRY\n : STEPS;\n\n const {\n fieldValues,\n stepState,\n setFieldValues,\n previousStep,\n nextStep,\n goToStep,\n setStepValues,\n } = useStepState(\n stepsToUse as Record<keyof typeof STEPS, Step<keyof typeof STEPS>>,\n );\n\n const {\n data: employment,\n isLoading: isLoadingEmployment,\n refetch: refetchEmployment,\n } = useEmployment(internalEmploymentId);\n\n const { status: employmentStatus } = employment || {};\n\n const isEmploymentReadOnly =\n employmentStatus &&\n reviewStepAllowedEmploymentStatus.includes(employmentStatus);\n\n const canInvite =\n employmentStatus &&\n !disabledInviteButtonEmploymentStatus.includes(employmentStatus);\n\n const invitedStatus: 'invited' | 'not_invited' = useMemo(() => {\n const isInvited = employmentStatus === 'invited';\n\n return isInvited ? 'invited' : 'not_invited';\n }, [employmentStatus]);\n\n const createEmploymentMutation = useCreateEmployment();\n const createContractorContractDocumentMutation =\n useCreateContractorContractDocument();\n const signContractDocumentMutation = useSignContractDocument();\n const manageContractorSubscriptionMutation =\n usePostManageContractorSubscriptions();\n\n const { mutateAsync: createEmploymentMutationAsync } = mutationToPromise(\n createEmploymentMutation,\n );\n\n const { mutateAsync: createContractorContractDocumentMutationAsync } =\n mutationToPromise(createContractorContractDocumentMutation);\n\n const { mutateAsync: signContractDocumentMutationAsync } = mutationToPromise(\n signContractDocumentMutation,\n );\n\n const { mutateAsync: manageContractorSubscriptionMutationAsync } =\n mutationToPromise(manageContractorSubscriptionMutation);\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 { selectCountryForm, isLoading: isLoadingCountries } =\n useCountriesSchemaField({\n jsfModify: options?.jsfModify?.select_country,\n queryOptions: {\n enabled: stepState.currentStep.name === 'select_country',\n },\n });\n\n const {\n form: selectContractorSubscriptionForm,\n isLoading: isLoadingContractorSubscriptions,\n } = useContractorSubscriptionSchemaField(internalEmploymentId as string, {\n jsonSchemaVersion: options?.jsonSchemaVersion,\n queryOptions: {\n enabled: stepState.currentStep.name === 'pricing_plan',\n },\n });\n\n const formType =\n stepToFormSchemaMap[stepState.currentStep.name] ||\n 'contractor_basic_information';\n const employmentKey = jsonSchemaToEmployment[formType] as keyof Employment;\n const serverEmploymentData = (employment?.[employmentKey] || {}) as Record<\n string,\n unknown\n >;\n\n const useJSONSchema = ({\n form,\n options: jsonSchemaOptions = {},\n query = {},\n }: {\n form: JSONSchemaFormType;\n options?: {\n jsfModify?: JSFModify;\n queryOptions?: { enabled?: boolean };\n jsonSchemaVersion?: FlowOptions['jsonSchemaVersion'];\n };\n query?: Record<string, string>;\n }) => {\n const hasUserEnteredAnyValues = Object.keys(fieldValues).length > 0;\n // when you write on the fields, the values are stored in the fieldValues state\n // when values are stored in the stepState is when the user has navigated to the step\n // and then we have the values from the server and the onboardingInitialValues that the user can inject,\n const mergedFormValues = hasUserEnteredAnyValues\n ? {\n ...onboardingInitialValues,\n ...stepState.values?.[stepState.currentStep.name], // Restore values for the current step\n ...fieldValues,\n }\n : {\n ...onboardingInitialValues,\n ...serverEmploymentData,\n };\n\n return useJSONSchemaForm({\n countryCode: internalCountryCode as string,\n form: form,\n fieldValues: mergedFormValues,\n query,\n options: {\n ...jsonSchemaOptions,\n queryOptions: {\n enabled: jsonSchemaOptions.queryOptions?.enabled ?? true,\n },\n },\n });\n };\n\n const isBasicInformationDetailsEnabled = Boolean(\n internalCountryCode &&\n (stepState.currentStep.name === 'basic_information' ||\n Boolean(employmentId)),\n );\n\n const isContractorOnboardingDetailsEnabled = Boolean(\n internalCountryCode &&\n (stepState.currentStep.name === 'contract_details' ||\n Boolean(employmentId)),\n );\n\n const {\n data: basicInformationForm,\n isLoading: isLoadingBasicInformationForm,\n } = useJSONSchema({\n form: 'contractor_basic_information',\n options: {\n jsfModify: options?.jsfModify?.basic_information,\n queryOptions: {\n enabled: isBasicInformationDetailsEnabled,\n },\n },\n });\n\n const descriptionProvisionalStartDate = useMemo(() => {\n return calculateProvisionalStartDateDescription(\n employment?.basic_information?.provisional_start_date as string,\n fieldValues?.service_duration?.provisional_start_date as string,\n );\n }, [\n employment?.basic_information?.provisional_start_date,\n fieldValues?.service_duration?.provisional_start_date,\n ]);\n\n const {\n data: contractorOnboardingDetailsForm,\n isLoading: isLoadingContractorOnboardingDetailsForm,\n } = useContractorOnboardingDetailsSchema({\n countryCode: internalCountryCode as string,\n fieldValues: fieldValues,\n options: {\n queryOptions: {\n enabled: isContractorOnboardingDetailsEnabled,\n },\n jsfModify: buildContractDetailsJsfModify(\n options?.jsfModify?.contract_details,\n descriptionProvisionalStartDate,\n ),\n },\n });\n\n const { data: signatureSchemaForm } = useGetContractDocumentSignatureSchema({\n fieldValues: fieldValues,\n options: {\n queryOptions: {\n enabled: stepState.currentStep.name === 'contract_preview',\n },\n },\n });\n const { data: documentPreviewPdf, isLoading: isLoadingDocumentPreviewForm } =\n useGetShowContractDocument({\n employmentId: internalEmploymentId as string,\n contractDocumentId: internalContractDocumentId as string,\n options: {\n queryOptions: {\n enabled: Boolean(internalContractDocumentId),\n },\n },\n });\n\n const stepFields: Record<keyof typeof STEPS, JSFFields> = useMemo(\n () => ({\n select_country: selectCountryForm?.fields || [],\n basic_information: basicInformationForm?.fields || [],\n pricing_plan: selectContractorSubscriptionForm?.fields || [],\n contract_details: contractorOnboardingDetailsForm?.fields || [],\n contract_preview: signatureSchemaForm?.fields || [],\n review: [],\n }),\n [\n selectCountryForm?.fields,\n basicInformationForm?.fields,\n selectContractorSubscriptionForm?.fields,\n contractorOnboardingDetailsForm?.fields,\n signatureSchemaForm?.fields,\n ],\n );\n\n const stepFieldsWithFlatFieldsets: Record<\n keyof typeof STEPS,\n JSFFieldset | null | undefined\n > = {\n select_country: null,\n basic_information: basicInformationForm?.meta['x-jsf-fieldsets'],\n pricing_plan: null,\n contract_details: contractorOnboardingDetailsForm?.meta['x-jsf-fieldsets'],\n contract_preview: null,\n review: null,\n };\n\n const {\n country,\n basic_information: employmentBasicInformation = {},\n contract_details: employmentContractDetails = {},\n } = employment || {};\n\n const employmentCountryCode = country?.code;\n\n const selectCountryInitialValues = useMemo(\n () =>\n getInitialValues(stepFields.select_country, {\n country: internalCountryCode || employmentCountryCode || '',\n }),\n [stepFields.select_country, internalCountryCode, employmentCountryCode],\n );\n\n const basicInformationInitialValues = useMemo(() => {\n const initialValues = {\n provisional_start_date: provisionalStartDate,\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 contractDetailsInitialValues = useMemo(() => {\n const hardcodedValues = {\n service_duration: {\n provisional_start_date:\n employmentBasicInformation.provisional_start_date,\n },\n };\n const initialValues = {\n ...hardcodedValues,\n ...onboardingInitialValues,\n ...employmentContractDetails,\n };\n\n return getInitialValues(stepFields.contract_details, initialValues);\n }, [\n stepFields.contract_details,\n employmentContractDetails,\n onboardingInitialValues,\n employmentBasicInformation,\n ]);\n\n const contractPreviewInitialValues = useMemo(() => {\n // TODO: TBD not sure if contract preview needs to be populated with anything\n const initialValues = {\n ...onboardingInitialValues,\n ...employmentContractDetails,\n };\n\n return getInitialValues(stepFields.contract_preview, initialValues);\n }, [\n stepFields.contract_preview,\n employmentContractDetails,\n onboardingInitialValues,\n ]);\n\n const pricingPlanInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...employmentContractDetails,\n };\n\n return getInitialValues(\n stepFields.pricing_plan,\n (initialValues?.pricing_plan ?? {}) as Record<string, unknown>,\n );\n }, [\n stepFields.pricing_plan,\n employmentContractDetails,\n onboardingInitialValues,\n ]);\n\n const initialValues = useMemo(() => {\n return {\n select_country: selectCountryInitialValues,\n basic_information: basicInformationInitialValues,\n contract_details: contractDetailsInitialValues,\n contract_preview: contractPreviewInitialValues,\n pricing_plan: pricingPlanInitialValues,\n };\n }, [\n selectCountryInitialValues,\n basicInformationInitialValues,\n contractDetailsInitialValues,\n contractPreviewInitialValues,\n pricingPlanInitialValues,\n ]);\n\n const isNavigatingToReview = useMemo(() => {\n const shouldHandleReadOnlyEmployment = Boolean(\n employmentId &&\n isEmploymentReadOnly &&\n stepState.currentStep.name !== 'review',\n );\n\n return Boolean(\n shouldHandleReadOnlyEmployment &&\n !isLoadingEmployment &&\n stepFields.basic_information.length > 0 &&\n stepFields.contract_details.length > 0,\n );\n }, [\n employmentId,\n isEmploymentReadOnly,\n isLoadingEmployment,\n stepFields.basic_information.length,\n stepFields.contract_details.length,\n stepState.currentStep.name,\n ]);\n\n useEffect(() => {\n if (isNavigatingToReview) {\n fieldsMetaRef.current = {\n select_country: prettifyFormValues(\n selectCountryInitialValues,\n stepFields.select_country,\n ),\n basic_information: prettifyFormValues(\n basicInformationInitialValues,\n stepFields.basic_information,\n ),\n contract_details: prettifyFormValues(\n contractDetailsInitialValues,\n stepFields.contract_details,\n ),\n // TODO: TBD\n contract_preview: {},\n // TODO: TBD\n pricing_plan: {},\n };\n\n setStepValues({\n select_country: selectCountryInitialValues,\n basic_information: basicInformationInitialValues,\n contract_details: contractDetailsInitialValues,\n contract_preview: {},\n pricing_plan: {},\n review: {},\n });\n goToStep('review');\n }\n }, [\n isNavigatingToReview,\n goToStep,\n selectCountryInitialValues,\n basicInformationInitialValues,\n contractDetailsInitialValues,\n setStepValues,\n stepFields.select_country,\n stepFields.basic_information,\n stepFields.contract_details,\n ]);\n\n const goTo = (step: keyof typeof STEPS) => {\n goToStep(step);\n };\n\n const parseFormValues = async (values: FieldValues) => {\n if (selectCountryForm && stepState.currentStep.name === 'select_country') {\n return values;\n }\n\n if (\n basicInformationForm &&\n stepState.currentStep.name === 'basic_information'\n ) {\n return await parseJSFToValidate(values, basicInformationForm?.fields, {\n isPartialValidation: false,\n });\n }\n\n if (\n contractorOnboardingDetailsForm &&\n stepState.currentStep.name === 'contract_details'\n ) {\n return await parseJSFToValidate(\n values,\n contractorOnboardingDetailsForm?.fields,\n {\n isPartialValidation: false,\n },\n );\n }\n\n if (\n signatureSchemaForm &&\n stepState.currentStep.name === 'contract_preview'\n ) {\n return await parseJSFToValidate(values, signatureSchemaForm?.fields, {\n isPartialValidation: false,\n });\n }\n\n if (stepState.currentStep.name === 'pricing_plan') {\n return values;\n }\n\n return {};\n };\n\n async function onSubmit(values: FieldValues) {\n const currentStepName = stepState.currentStep.name;\n if (currentStepName in fieldsMetaRef.current) {\n fieldsMetaRef.current[\n currentStepName as keyof typeof fieldsMetaRef.current\n ] = prettifyFormValues(values, stepFields[currentStepName]);\n }\n const parsedValues = await parseFormValues(values);\n switch (stepState.currentStep.name) {\n case 'select_country': {\n setInternalCountryCode(parsedValues.country);\n return Promise.resolve({ data: { countryCode: parsedValues.country } });\n }\n case 'basic_information': {\n const isEmploymentNotLoaded =\n !internalEmploymentId && internalCountryCode;\n const hasChangedCountry =\n internalEmploymentId &&\n internalCountryCode &&\n employment?.country &&\n employment?.country.code !== internalCountryCode;\n\n if (isEmploymentNotLoaded || hasChangedCountry) {\n const payload: EmploymentCreateParams = {\n basic_information: parsedValues,\n type: 'contractor',\n country_code: internalCountryCode,\n external_id: externalId,\n };\n try {\n const response = await createEmploymentMutationAsync(payload);\n // @ts-expect-error the types from the response are not matching\n const employmentId = response.data?.data?.employment?.id;\n setInternalEmploymentId(employmentId);\n\n return response;\n } catch (error) {\n console.error('Error creating onboarding:', error);\n throw error;\n }\n } else if (internalEmploymentId) {\n // TODO: Provisional it seems you cannot update a contractor employment\n // TODO: we'll need to check later if the provisional start date gets updated for the statement of work\n return Promise.resolve({\n data: { employmentId: internalEmploymentId },\n });\n }\n\n return;\n }\n case 'contract_details': {\n const payload: CreateContractDocument = {\n contract_document: parsedValues,\n };\n const response: $TSFixMe =\n await createContractorContractDocumentMutationAsync({\n employmentId: internalEmploymentId as string,\n payload,\n });\n\n const contractDocumentId = response.data?.data?.contract_document?.id;\n setInternalContractDocumentId(contractDocumentId);\n return response;\n }\n\n case 'contract_preview': {\n return signContractDocumentMutationAsync({\n employmentId: internalEmploymentId as string,\n contractDocumentId: internalContractDocumentId as string,\n payload: {\n signature: values.signature,\n },\n });\n }\n case 'pricing_plan': {\n if (values.subscription == contractorStandardProductIdentifier) {\n return manageContractorSubscriptionMutationAsync({\n employmentId: internalEmploymentId as string,\n payload: {\n operation: 'downgrade',\n },\n });\n } else if (values.subscription == contractorPlusProductIdentifier) {\n return manageContractorSubscriptionMutationAsync({\n employmentId: internalEmploymentId as string,\n payload: {\n operation: 'upgrade',\n },\n });\n }\n return Promise.reject({ error: 'invalid selection' });\n }\n\n default: {\n throw new Error('Invalid step state');\n }\n }\n }\n\n const isLoading =\n isLoadingCountries ||\n isLoadingBasicInformationForm ||\n isLoadingEmployment ||\n isLoadingContractorOnboardingDetailsForm ||\n isLoadingContractorSubscriptions ||\n isLoadingDocumentPreviewForm;\n\n return {\n /**\n * Loading state indicating if the flow is loading data\n */\n isLoading,\n\n /**\n * Current state of the form fields for the current step.\n */\n fieldValues,\n\n /**\n * Current step state containing the current step and total number of steps\n */\n stepState,\n\n /**\n * Function to update the current form field values\n * @param values - New form values to set\n */\n checkFieldUpdates: setFieldValues,\n\n /**\n * Function to handle going back to the previous step\n * @returns {void}\n */\n back: previousStep,\n\n /**\n * Function to handle going to the next step\n * @returns {void}\n */\n next: nextStep,\n\n /**\n * Function to handle going to a specific step\n * @param step The step to go to.\n * @returns {void}\n */\n goTo: goTo,\n\n /**\n * Function to handle form submission\n * @param values - Form values to submit\n * @returns Promise resolving to the mutation result\n */\n onSubmit,\n\n /**\n * Array of form fields from the onboarding schema\n */\n fields: stepFields[stepState.currentStep.name],\n\n /**\n * Fields metadata for each step\n */\n meta: {\n fields: fieldsMetaRef.current,\n fieldsets: stepFieldsWithFlatFieldsets[stepState.currentStep.name],\n },\n\n /**\n * Function to parse form values before submission\n * @param values - Form values to parse\n * @returns Parsed form values\n */\n parseFormValues,\n\n /**\n * Function to validate form values against the onboarding schema\n * @param values - Form values to validate\n * @returns Validation result or null if no schema is available\n */\n handleValidation: async (\n values: FieldValues,\n ): Promise<ValidationResult | null> => {\n if (stepState.currentStep.name === 'select_country') {\n return selectCountryForm.handleValidation(values);\n }\n\n if (\n basicInformationForm &&\n stepState.currentStep.name === 'basic_information'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n basicInformationForm?.fields,\n { isPartialValidation: false },\n );\n return basicInformationForm?.handleValidation(parsedValues);\n }\n\n if (\n contractorOnboardingDetailsForm &&\n stepState.currentStep.name === 'contract_details'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n contractorOnboardingDetailsForm?.fields,\n { isPartialValidation: false },\n );\n return contractorOnboardingDetailsForm?.handleValidation(parsedValues);\n }\n\n if (\n signatureSchemaForm &&\n stepState.currentStep.name === 'contract_preview'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n signatureSchemaForm?.fields,\n { isPartialValidation: false },\n );\n return signatureSchemaForm?.handleValidation(parsedValues);\n }\n\n if (stepState.currentStep.name === 'pricing_plan') {\n // TODO: TBD\n return {\n formErrors: {},\n };\n }\n\n return null;\n },\n\n /**\n * Initial form values\n */\n initialValues,\n\n /**\n * Employment id\n */\n employmentId: internalEmploymentId,\n\n /**\n * Function to refetch the employment data\n * @returns {void}\n */\n refetchEmployment: refetchEmployment,\n\n /**\n * Loading state indicating if the onboarding mutation is in progress\n */\n isSubmitting:\n createEmploymentMutation.isPending ||\n createContractorContractDocumentMutation.isPending ||\n signContractDocumentMutation.isPending,\n\n /**\n * Document preview PDF data\n */\n documentPreviewPdf,\n\n /**\n * let's the user know if the company can invite employees\n * @returns {boolean}\n */\n canInvite,\n\n /**\n * let's the user know that the employment cannot be edited, happens when employment.status is invited\n * @returns {boolean}\n */\n isEmploymentReadOnly,\n /**\n * let's the user know if the employment is invited or not\n * @returns {'invited' | 'not_invited'}\n */\n invitedStatus,\n\n /**\n * Employment data\n * @returns {Employment}\n */\n employment,\n };\n};\n"],"mappings":"ygBAAA,OAAS,aAAAA,GAAW,WAAAC,EAAS,UAAAC,GAAQ,YAAAC,MAAgB,QAsDrD,IAAMC,GAGF,CACF,eAAgB,KAChB,kBAAmB,+BACnB,iBAAkB,KAClB,aAAc,KACd,iBAAkB,KAClB,OAAQ,IACV,EAEMC,GAEF,CACF,6BAA8B,mBAChC,EAEMC,GAAuB,IAAI,KAAK,EAAE,YAAY,EAAE,MAAM,GAAG,EAAE,CAAC,EAErDC,GAA0BC,EAAA,CAAC,CACtC,YAAAC,GACA,WAAAC,GACA,aAAAC,EACA,UAAAC,GACA,QAAAC,EACA,cAAeC,CACjB,IAAoC,CAClC,GAAM,CAACC,EAAqBC,CAAsB,EAAIC,EACpDR,IAAe,IACjB,EACM,CAACS,EAAsBC,EAAuB,EAAIF,EAEtDN,CAAY,EACR,CAACS,EAA4BC,EAA6B,EAAIJ,EAElE,MAAS,EACLK,EAAgBC,GAMnB,CACD,eAAgB,CAAC,EACjB,kBAAmB,CAAC,EACpB,iBAAkB,CAAC,EACnB,iBAAkB,CAAC,EACnB,aAAc,CAAC,CACjB,CAAC,EAEKC,GAAaZ,IAAW,SAAS,gBAAgB,EACnDa,GACAC,GAEE,CACJ,YAAAC,EACA,UAAAC,EACA,eAAAC,GACA,aAAAC,GACA,SAAAC,GACA,SAAAC,EACA,cAAAC,CACF,EAAIC,GACFV,EACF,EAEM,CACJ,KAAMW,EACN,UAAWC,EACX,QAASC,EACX,EAAIC,EAAcpB,CAAoB,EAEhC,CAAE,OAAQqB,CAAiB,EAAIJ,GAAc,CAAC,EAE9CK,EACJD,GACAE,EAAkC,SAASF,CAAgB,EAEvDG,GACJH,GACA,CAACI,EAAqC,SAASJ,CAAgB,EAE3DK,GAA2CC,EAAQ,IACrCN,IAAqB,UAEpB,UAAY,cAC9B,CAACA,CAAgB,CAAC,EAEfO,EAA2BC,GAAoB,EAC/CC,EACJC,GAAoC,EAChCC,EAA+BC,GAAwB,EACvDC,GACJC,GAAqC,EAEjC,CAAE,YAAaC,EAA8B,EAAIC,EACrDT,CACF,EAEM,CAAE,YAAaU,EAA8C,EACjED,EAAkBP,CAAwC,EAEtD,CAAE,YAAaS,EAAkC,EAAIF,EACzDL,CACF,EAEM,CAAE,YAAaQ,CAA0C,EAC7DH,EAAkBH,EAAoC,EAIpDzC,GAAgBwB,GAAY,SAAS,MAAQ,CAACpB,GAChDC,EAAuBmB,EAAW,QAAQ,IAAI,EAGhD,GAAM,CAAE,kBAAAwB,EAAmB,UAAWC,EAAmB,EACvDC,GAAwB,CACtB,UAAWhD,GAAS,WAAW,eAC/B,aAAc,CACZ,QAASe,EAAU,YAAY,OAAS,gBAC1C,CACF,CAAC,EAEG,CACJ,KAAMkC,EACN,UAAWC,EACb,EAAIC,GAAqC9C,EAAgC,CACvE,kBAAmBL,GAAS,kBAC5B,aAAc,CACZ,QAASe,EAAU,YAAY,OAAS,cAC1C,CACF,CAAC,EAEKqC,GACJ7D,GAAoBwB,EAAU,YAAY,IAAI,GAC9C,+BACIsC,GAAgB7D,GAAuB4D,EAAQ,EAC/CE,GAAwBhC,IAAa+B,EAAa,GAAK,CAAC,EAKxDE,GAAgB5D,EAAA,CAAC,CACrB,KAAA6D,EACA,QAASC,EAAoB,CAAC,EAC9B,MAAAC,EAAQ,CAAC,CACX,IAQM,CAKJ,IAAMC,EAJ0B,OAAO,KAAK7C,CAAW,EAAE,OAAS,EAK9D,CACE,GAAGb,EACH,GAAGc,EAAU,SAASA,EAAU,YAAY,IAAI,EAChD,GAAGD,CACL,EACA,CACE,GAAGb,EACH,GAAGqD,EACL,EAEJ,OAAOM,EAAkB,CACvB,YAAa1D,EACb,KAAMsD,EACN,YAAaG,EACb,MAAAD,EACA,QAAS,CACP,GAAGD,EACH,aAAc,CACZ,QAASA,EAAkB,cAAc,SAAW,EACtD,CACF,CACF,CAAC,CACH,EAxCsB,iBA0ChBI,GAAmC,GACvC3D,IACGa,EAAU,YAAY,OAAS,qBACtBjB,IAGRgE,GAAuC,GAC3C5D,IACGa,EAAU,YAAY,OAAS,oBACtBjB,IAGR,CACJ,KAAMiE,EACN,UAAWC,EACb,EAAIT,GAAc,CAChB,KAAM,+BACN,QAAS,CACP,UAAWvD,GAAS,WAAW,kBAC/B,aAAc,CACZ,QAAS6D,EACX,CACF,CACF,CAAC,EAEKI,GAAkCjC,EAAQ,IACvCkC,GACL5C,GAAY,mBAAmB,uBAC/BR,GAAa,kBAAkB,sBACjC,EACC,CACDQ,GAAY,mBAAmB,uBAC/BR,GAAa,kBAAkB,sBACjC,CAAC,EAEK,CACJ,KAAMqD,EACN,UAAWC,EACb,EAAIC,GAAqC,CACvC,YAAanE,EACb,YAAaY,EACb,QAAS,CACP,aAAc,CACZ,QAASgD,EACX,EACA,UAAWQ,GACTtE,GAAS,WAAW,iBACpBiE,EACF,CACF,CACF,CAAC,EAEK,CAAE,KAAMM,CAAoB,EAAIC,GAAsC,CAC1E,YAAa1D,EACb,QAAS,CACP,aAAc,CACZ,QAASC,EAAU,YAAY,OAAS,kBAC1C,CACF,CACF,CAAC,EACK,CAAE,KAAM0D,GAAoB,UAAWC,EAA6B,EACxEC,GAA2B,CACzB,aAActE,EACd,mBAAoBE,EACpB,QAAS,CACP,aAAc,CACZ,QAAS,EAAQA,CACnB,CACF,CACF,CAAC,EAEGqE,EAAoD5C,EACxD,KAAO,CACL,eAAgBc,GAAmB,QAAU,CAAC,EAC9C,kBAAmBiB,GAAsB,QAAU,CAAC,EACpD,aAAcd,GAAkC,QAAU,CAAC,EAC3D,iBAAkBkB,GAAiC,QAAU,CAAC,EAC9D,iBAAkBI,GAAqB,QAAU,CAAC,EAClD,OAAQ,CAAC,CACX,GACA,CACEzB,GAAmB,OACnBiB,GAAsB,OACtBd,GAAkC,OAClCkB,GAAiC,OACjCI,GAAqB,MACvB,CACF,EAEMM,GAGF,CACF,eAAgB,KAChB,kBAAmBd,GAAsB,KAAK,iBAAiB,EAC/D,aAAc,KACd,iBAAkBI,GAAiC,KAAK,iBAAiB,EACzE,iBAAkB,KAClB,OAAQ,IACV,EAEM,CACJ,QAAAW,GACA,kBAAmBC,EAA6B,CAAC,EACjD,iBAAkBC,EAA4B,CAAC,CACjD,EAAI1D,GAAc,CAAC,EAEb2D,EAAwBH,IAAS,KAEjCI,EAA6BlD,EACjC,IACEmD,EAAiBP,EAAW,eAAgB,CAC1C,QAAS1E,GAAuB+E,GAAyB,EAC3D,CAAC,EACH,CAACL,EAAW,eAAgB1E,EAAqB+E,CAAqB,CACxE,EAEMG,EAAgCpD,EAAQ,IAAM,CAClD,IAAMqD,EAAgB,CACpB,uBAAwB5F,GACxB,GAAGQ,EACH,GAAG8E,CACL,EAEA,OAAOI,EAAiBP,EAAW,kBAAmBS,CAAa,CACrE,EAAG,CACDT,EAAW,kBACXG,EACA9E,CACF,CAAC,EAEKqF,EAA+BtD,EAAQ,IAAM,CAOjD,IAAMqD,EAAgB,CACpB,GAPsB,CACtB,iBAAkB,CAChB,uBACEN,EAA2B,sBAC/B,CACF,EAGE,GAAG9E,EACH,GAAG+E,CACL,EAEA,OAAOG,EAAiBP,EAAW,iBAAkBS,CAAa,CACpE,EAAG,CACDT,EAAW,iBACXI,EACA/E,EACA8E,CACF,CAAC,EAEKQ,EAA+BvD,EAAQ,IAAM,CAEjD,IAAMqD,EAAgB,CACpB,GAAGpF,EACH,GAAG+E,CACL,EAEA,OAAOG,EAAiBP,EAAW,iBAAkBS,CAAa,CACpE,EAAG,CACDT,EAAW,iBACXI,EACA/E,CACF,CAAC,EAEKuF,EAA2BxD,EAAQ,IAAM,CAC7C,IAAMqD,EAAgB,CACpB,GAAGpF,EACH,GAAG+E,CACL,EAEA,OAAOG,EACLP,EAAW,aACVS,GAAe,cAAgB,CAAC,CACnC,CACF,EAAG,CACDT,EAAW,aACXI,EACA/E,CACF,CAAC,EAEKoF,GAAgBrD,EAAQ,KACrB,CACL,eAAgBkD,EAChB,kBAAmBE,EACnB,iBAAkBE,EAClB,iBAAkBC,EAClB,aAAcC,CAChB,GACC,CACDN,EACAE,EACAE,EACAC,EACAC,CACF,CAAC,EAEKC,EAAuBzD,EAAQ,IAO5B,GANgC,GACrClC,GACE6B,GACAZ,EAAU,YAAY,OAAS,WAK/B,CAACQ,GACDqD,EAAW,kBAAkB,OAAS,GACtCA,EAAW,iBAAiB,OAAS,GAExC,CACD9E,EACA6B,EACAJ,EACAqD,EAAW,kBAAkB,OAC7BA,EAAW,iBAAiB,OAC5B7D,EAAU,YAAY,IACxB,CAAC,EAED2E,GAAU,IAAM,CACVD,IACFhF,EAAc,QAAU,CACtB,eAAgBkF,EACdT,EACAN,EAAW,cACb,EACA,kBAAmBe,EACjBP,EACAR,EAAW,iBACb,EACA,iBAAkBe,EAChBL,EACAV,EAAW,gBACb,EAEA,iBAAkB,CAAC,EAEnB,aAAc,CAAC,CACjB,EAEAxD,EAAc,CACZ,eAAgB8D,EAChB,kBAAmBE,EACnB,iBAAkBE,EAClB,iBAAkB,CAAC,EACnB,aAAc,CAAC,EACf,OAAQ,CAAC,CACX,CAAC,EACDnE,EAAS,QAAQ,EAErB,EAAG,CACDsE,EACAtE,EACA+D,EACAE,EACAE,EACAlE,EACAwD,EAAW,eACXA,EAAW,kBACXA,EAAW,gBACb,CAAC,EAED,IAAMgB,GAAOjG,EAACkG,GAA6B,CACzC1E,EAAS0E,CAAI,CACf,EAFa,QAIPC,EAAkBnG,EAAA,MAAOoG,GACzBjD,GAAqB/B,EAAU,YAAY,OAAS,iBAC/CgF,EAIPhC,GACAhD,EAAU,YAAY,OAAS,oBAExB,MAAMiF,EAAmBD,EAAQhC,GAAsB,OAAQ,CACpE,oBAAqB,EACvB,CAAC,EAIDI,GACApD,EAAU,YAAY,OAAS,mBAExB,MAAMiF,EACXD,EACA5B,GAAiC,OACjC,CACE,oBAAqB,EACvB,CACF,EAIAI,GACAxD,EAAU,YAAY,OAAS,mBAExB,MAAMiF,EAAmBD,EAAQxB,GAAqB,OAAQ,CACnE,oBAAqB,EACvB,CAAC,EAGCxD,EAAU,YAAY,OAAS,eAC1BgF,EAGF,CAAC,EAxCc,mBA2CxB,eAAeE,GAASF,EAAqB,CAC3C,IAAMG,EAAkBnF,EAAU,YAAY,KAC1CmF,KAAmBzF,EAAc,UACnCA,EAAc,QACZyF,CACF,EAAIP,EAAmBI,EAAQnB,EAAWsB,CAAe,CAAC,GAE5D,IAAMC,EAAe,MAAML,EAAgBC,CAAM,EACjD,OAAQhF,EAAU,YAAY,KAAM,CAClC,IAAK,iBACH,OAAAZ,EAAuBgG,EAAa,OAAO,EACpC,QAAQ,QAAQ,CAAE,KAAM,CAAE,YAAaA,EAAa,OAAQ,CAAE,CAAC,EAExE,IAAK,oBAAqB,CACxB,IAAMC,EACJ,CAAC/F,GAAwBH,EACrBmG,EACJhG,GACAH,GACAoB,GAAY,SACZA,GAAY,QAAQ,OAASpB,EAE/B,GAAIkG,GAAyBC,EAAmB,CAC9C,IAAMC,EAAkC,CACtC,kBAAmBH,EACnB,KAAM,aACN,aAAcjG,EACd,YAAaL,EACf,EACA,GAAI,CACF,IAAM0G,EAAW,MAAM9D,GAA8B6D,CAAO,EAEtDxG,GAAeyG,EAAS,MAAM,MAAM,YAAY,GACtD,OAAAjG,GAAwBR,EAAY,EAE7ByG,CACT,OAASC,EAAO,CACd,cAAQ,MAAM,6BAA8BA,CAAK,EAC3CA,CACR,CACF,SAAWnG,EAGT,OAAO,QAAQ,QAAQ,CACrB,KAAM,CAAE,aAAcA,CAAqB,CAC7C,CAAC,EAGH,MACF,CACA,IAAK,mBAAoB,CAIvB,IAAMkG,EACJ,MAAM5D,GAA8C,CAClD,aAActC,EACd,QANoC,CACtC,kBAAmB8F,CACrB,CAKE,CAAC,EAEGM,EAAqBF,EAAS,MAAM,MAAM,mBAAmB,GACnE,OAAA/F,GAA8BiG,CAAkB,EACzCF,CACT,CAEA,IAAK,mBACH,OAAO3D,GAAkC,CACvC,aAAcvC,EACd,mBAAoBE,EACpB,QAAS,CACP,UAAWwF,EAAO,SACpB,CACF,CAAC,EAEH,IAAK,eACH,OAAIA,EAAO,cAAgBW,GAClB7D,EAA0C,CAC/C,aAAcxC,EACd,QAAS,CACP,UAAW,WACb,CACF,CAAC,EACQ0F,EAAO,cAAgBY,GACzB9D,EAA0C,CAC/C,aAAcxC,EACd,QAAS,CACP,UAAW,SACb,CACF,CAAC,EAEI,QAAQ,OAAO,CAAE,MAAO,mBAAoB,CAAC,EAGtD,QACE,MAAM,IAAI,MAAM,oBAAoB,CAExC,CACF,CAjGe,OAAAV,EAAAsG,GAAA,YA2GR,CAIL,UAXAlD,IACAiB,IACAzC,GACA6C,IACAlB,IACAwB,GAWA,YAAA5D,EAKA,UAAAC,EAMA,kBAAmBC,GAMnB,KAAMC,GAMN,KAAMC,GAON,KAAM0E,GAON,SAAAK,GAKA,OAAQrB,EAAW7D,EAAU,YAAY,IAAI,EAK7C,KAAM,CACJ,OAAQN,EAAc,QACtB,UAAWoE,GAA4B9D,EAAU,YAAY,IAAI,CACnE,EAOA,gBAAA+E,EAOA,iBAAkBnG,EAAA,MAChBoG,GACqC,CACrC,GAAIhF,EAAU,YAAY,OAAS,iBACjC,OAAO+B,EAAkB,iBAAiBiD,CAAM,EAGlD,GACEhC,GACAhD,EAAU,YAAY,OAAS,oBAC/B,CACA,IAAMoF,EAAe,MAAMH,EACzBD,EACAhC,GAAsB,OACtB,CAAE,oBAAqB,EAAM,CAC/B,EACA,OAAOA,GAAsB,iBAAiBoC,CAAY,CAC5D,CAEA,GACEhC,GACApD,EAAU,YAAY,OAAS,mBAC/B,CACA,IAAMoF,EAAe,MAAMH,EACzBD,EACA5B,GAAiC,OACjC,CAAE,oBAAqB,EAAM,CAC/B,EACA,OAAOA,GAAiC,iBAAiBgC,CAAY,CACvE,CAEA,GACE5B,GACAxD,EAAU,YAAY,OAAS,mBAC/B,CACA,IAAMoF,EAAe,MAAMH,EACzBD,EACAxB,GAAqB,OACrB,CAAE,oBAAqB,EAAM,CAC/B,EACA,OAAOA,GAAqB,iBAAiB4B,CAAY,CAC3D,CAEA,OAAIpF,EAAU,YAAY,OAAS,eAE1B,CACL,WAAY,CAAC,CACf,EAGK,IACT,EAnDkB,oBAwDlB,cAAAsE,GAKA,aAAchF,EAMd,kBAAmBmB,GAKnB,aACES,EAAyB,WACzBE,EAAyC,WACzCE,EAA6B,UAK/B,mBAAAoC,GAMA,UAAA5C,GAMA,qBAAAF,EAKA,cAAAI,GAMA,WAAAT,CACF,CACF,EAxvBuC","names":["useEffect","useMemo","useRef","useState","stepToFormSchemaMap","jsonSchemaToEmployment","provisionalStartDate","useContractorOnboarding","__name","countryCode","externalId","employmentId","skipSteps","options","onboardingInitialValues","internalCountryCode","setInternalCountryCode","useState","internalEmploymentId","setInternalEmploymentId","internalContractDocumentId","setInternalContractDocumentId","fieldsMetaRef","useRef","stepsToUse","STEPS_WITHOUT_SELECT_COUNTRY","STEPS","fieldValues","stepState","setFieldValues","previousStep","nextStep","goToStep","setStepValues","useStepState","employment","isLoadingEmployment","refetchEmployment","useEmployment","employmentStatus","isEmploymentReadOnly","reviewStepAllowedEmploymentStatus","canInvite","disabledInviteButtonEmploymentStatus","invitedStatus","useMemo","createEmploymentMutation","useCreateEmployment","createContractorContractDocumentMutation","useCreateContractorContractDocument","signContractDocumentMutation","useSignContractDocument","manageContractorSubscriptionMutation","usePostManageContractorSubscriptions","createEmploymentMutationAsync","mutationToPromise","createContractorContractDocumentMutationAsync","signContractDocumentMutationAsync","manageContractorSubscriptionMutationAsync","selectCountryForm","isLoadingCountries","useCountriesSchemaField","selectContractorSubscriptionForm","isLoadingContractorSubscriptions","useContractorSubscriptionSchemaField","formType","employmentKey","serverEmploymentData","useJSONSchema","form","jsonSchemaOptions","query","mergedFormValues","useJSONSchemaForm","isBasicInformationDetailsEnabled","isContractorOnboardingDetailsEnabled","basicInformationForm","isLoadingBasicInformationForm","descriptionProvisionalStartDate","calculateProvisionalStartDateDescription","contractorOnboardingDetailsForm","isLoadingContractorOnboardingDetailsForm","useContractorOnboardingDetailsSchema","buildContractDetailsJsfModify","signatureSchemaForm","useGetContractDocumentSignatureSchema","documentPreviewPdf","isLoadingDocumentPreviewForm","useGetShowContractDocument","stepFields","stepFieldsWithFlatFieldsets","country","employmentBasicInformation","employmentContractDetails","employmentCountryCode","selectCountryInitialValues","getInitialValues","basicInformationInitialValues","initialValues","contractDetailsInitialValues","contractPreviewInitialValues","pricingPlanInitialValues","isNavigatingToReview","useEffect","prettifyFormValues","goTo","step","parseFormValues","values","parseJSFToValidate","onSubmit","currentStepName","parsedValues","isEmploymentNotLoaded","hasChangedCountry","payload","response","error","contractDocumentId","contractorStandardProductIdentifier","contractorPlusProductIdentifier"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../../chunk-
|
|
1
|
+
import{a}from"../../chunk-PC5JG4TT.js";import"../../chunk-NFWNYW2E.js";import"../../chunk-KQPDXXG3.js";import"../../chunk-PJN2YJO4.js";import"../../chunk-TVZAFTPT.js";import"../../chunk-UQCSN47K.js";import"../../chunk-P37U34EQ.js";export{a as ContractAmendmentBack};
|
|
2
2
|
//# sourceMappingURL=ContractAmendmentBack.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import { P as PostCreateContractAmendmentError, b as ContractAmendmentResponse } from '../../types.gen-
|
|
2
|
+
import { P as PostCreateContractAmendmentError, b as ContractAmendmentResponse } from '../../types.gen-q3-YX6jr.js';
|
|
3
3
|
import { FieldValues } from 'react-hook-form';
|
|
4
4
|
|
|
5
5
|
type ContractAmendmentConfirmationFormProps = {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../../chunk-
|
|
1
|
+
import{a}from"../../chunk-K3XVYHGV.js";import"../../chunk-CR7AIZKA.js";import"../../chunk-HRG5MSVG.js";import"../../chunk-ILOKQ6OH.js";import"../../chunk-TVZAFTPT.js";import"../../chunk-UQCSN47K.js";import"../../chunk-P37U34EQ.js";export{a as ContractAmendmentConfirmationForm};
|
|
2
2
|
//# sourceMappingURL=ContractAmendmentConfirmationForm.js.map
|
|
@@ -5,14 +5,15 @@ import { ContractAmendmentForm } from './ContractAmendmentForm.js';
|
|
|
5
5
|
import { ContractAmendmentSubmit } from './ContractAmendmentSubmit.js';
|
|
6
6
|
import { useContractAmendment } from './hooks.js';
|
|
7
7
|
import { ContractAmendmentParams } from './types.js';
|
|
8
|
-
import '../../types.gen-
|
|
8
|
+
import '../../types.gen-q3-YX6jr.js';
|
|
9
9
|
import 'react-hook-form';
|
|
10
10
|
import 'react';
|
|
11
|
-
import '../../mutations-
|
|
12
|
-
import '../../remoteFlows-
|
|
11
|
+
import '../../mutations-Dhsqyt9R.js';
|
|
12
|
+
import '../../remoteFlows-8lgzhRZb.js';
|
|
13
13
|
import 'yup';
|
|
14
|
-
import '../../types-
|
|
15
|
-
import '@remoteoss/json-schema-form
|
|
14
|
+
import '../../types-ZWIpiFgj.js';
|
|
15
|
+
import '@remoteoss/json-schema-form';
|
|
16
|
+
import '@remoteoss/json-schema-form-v0-deprecated';
|
|
16
17
|
import '../useStepState.js';
|
|
17
18
|
import '../types.js';
|
|
18
19
|
import '@remoteoss/remote-json-schema-form-kit';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../../chunk-
|
|
1
|
+
import{a}from"../../chunk-LSNMODBH.js";import"../../chunk-6E467YF3.js";import"../../chunk-BB2GHYJY.js";import"../../chunk-LNV36S6D.js";import"../../chunk-CM2YPABC.js";import"../../chunk-NY7LII5R.js";import"../../chunk-ZFKHCC4Z.js";import"../../chunk-OKMERBJL.js";import"../../chunk-PNRHCOPF.js";import"../../chunk-KDI2AVBF.js";import"../../chunk-2YTBWEC7.js";import"../../chunk-P5QKSFOE.js";import"../../chunk-W3YE53JN.js";import"../../chunk-ZCXTTVGV.js";import"../../chunk-LAXQMTDQ.js";import"../../chunk-GGPEKIIH.js";import"../../chunk-GPLI6GGL.js";import"../../chunk-PJBAQZ6G.js";import"../../chunk-Z5WMKCRJ.js";import"../../chunk-PC5JG4TT.js";import"../../chunk-NFWNYW2E.js";import"../../chunk-KQPDXXG3.js";import"../../chunk-PJN2YJO4.js";import"../../chunk-K3XVYHGV.js";import"../../chunk-CR7AIZKA.js";import"../../chunk-HRG5MSVG.js";import"../../chunk-ILOKQ6OH.js";import"../../chunk-TVZAFTPT.js";import"../../chunk-UQCSN47K.js";import"../../chunk-P37U34EQ.js";export{a as ContractAmendmentFlow};
|
|
2
2
|
//# sourceMappingURL=ContractAmendmentFlow.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import { c as PostAutomatableContractAmendmentError, C as ContractAmendmentAutomatableResponse } from '../../types.gen-
|
|
2
|
+
import { c as PostAutomatableContractAmendmentError, C as ContractAmendmentAutomatableResponse } from '../../types.gen-q3-YX6jr.js';
|
|
3
3
|
import { FieldValues } from 'react-hook-form';
|
|
4
4
|
|
|
5
5
|
type ContractAmendmentFormProps = {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../../chunk-
|
|
1
|
+
import{a}from"../../chunk-6E467YF3.js";import"../../chunk-BB2GHYJY.js";import"../../chunk-LNV36S6D.js";import"../../chunk-CM2YPABC.js";import"../../chunk-NY7LII5R.js";import"../../chunk-ZFKHCC4Z.js";import"../../chunk-W3YE53JN.js";import"../../chunk-LAXQMTDQ.js";import"../../chunk-GGPEKIIH.js";import"../../chunk-GPLI6GGL.js";import"../../chunk-KQPDXXG3.js";import"../../chunk-PJN2YJO4.js";import"../../chunk-CR7AIZKA.js";import"../../chunk-HRG5MSVG.js";import"../../chunk-ILOKQ6OH.js";import"../../chunk-TVZAFTPT.js";import"../../chunk-UQCSN47K.js";import"../../chunk-P37U34EQ.js";export{a as ContractAmendmentForm};
|
|
2
2
|
//# sourceMappingURL=ContractAmendmentForm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../../chunk-
|
|
1
|
+
import{a}from"../../chunk-OKMERBJL.js";import"../../chunk-NFWNYW2E.js";import"../../chunk-KQPDXXG3.js";import"../../chunk-PJN2YJO4.js";import"../../chunk-TVZAFTPT.js";import"../../chunk-UQCSN47K.js";import"../../chunk-P37U34EQ.js";export{a as ContractAmendmentSubmit};
|
|
2
2
|
//# sourceMappingURL=ContractAmendmentSubmit.js.map
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import { C as ContractAmendmentAutomatableResponse, N as NotFoundResponse, U as UnprocessableEntityResponse, a as UnauthorizedResponse, b as ContractAmendmentResponse } from '../../types.gen-
|
|
1
|
+
import { C as ContractAmendmentAutomatableResponse, N as NotFoundResponse, U as UnprocessableEntityResponse, a as UnauthorizedResponse, b as ContractAmendmentResponse } from '../../types.gen-q3-YX6jr.js';
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
import { E as ErrorResponse, S as SuccessResponse } from '../../mutations-
|
|
4
|
-
import '../../remoteFlows-
|
|
5
|
-
import * as _remoteoss_json_schema_form_old from '@remoteoss/json-schema-form-old';
|
|
3
|
+
import { E as ErrorResponse, S as SuccessResponse } from '../../mutations-Dhsqyt9R.js';
|
|
4
|
+
import '../../remoteFlows-8lgzhRZb.js';
|
|
6
5
|
import * as react_hook_form from 'react-hook-form';
|
|
7
6
|
import { useContractAmendment } from './hooks.js';
|
|
7
|
+
import * as _remoteoss_json_schema_form from '@remoteoss/json-schema-form';
|
|
8
|
+
import * as _remoteoss_json_schema_form_v0_deprecated from '@remoteoss/json-schema-form-v0-deprecated';
|
|
8
9
|
import { Step } from '../useStepState.js';
|
|
9
10
|
import 'yup';
|
|
10
|
-
import '../../types-
|
|
11
|
+
import '../../types-ZWIpiFgj.js';
|
|
11
12
|
import './types.js';
|
|
12
13
|
import '../types.js';
|
|
13
14
|
import '@remoteoss/remote-json-schema-form-kit';
|
|
@@ -27,16 +28,16 @@ declare const useContractAmendmentContext: () => {
|
|
|
27
28
|
confirmation_form: react_hook_form.FieldValues;
|
|
28
29
|
} | null;
|
|
29
30
|
};
|
|
30
|
-
fields:
|
|
31
|
+
fields: _remoteoss_json_schema_form_v0_deprecated.Fields;
|
|
31
32
|
isLoading: boolean;
|
|
32
33
|
isError: boolean;
|
|
33
34
|
error: Error | null;
|
|
34
35
|
isSubmitting: boolean;
|
|
35
36
|
initialValues: {};
|
|
36
37
|
values: react_hook_form.FieldValues;
|
|
37
|
-
handleValidation: (values: react_hook_form.FieldValues) => Promise<{
|
|
38
|
-
yupError:
|
|
39
|
-
formErrors:
|
|
38
|
+
handleValidation: (values: react_hook_form.FieldValues) => Promise<_remoteoss_json_schema_form.ValidationResult | {
|
|
39
|
+
yupError: _remoteoss_json_schema_form_v0_deprecated.$TSFixMe;
|
|
40
|
+
formErrors: _remoteoss_json_schema_form_v0_deprecated.$TSFixMe;
|
|
40
41
|
} | null>;
|
|
41
42
|
checkFieldUpdates: React.Dispatch<React.SetStateAction<react_hook_form.FieldValues>>;
|
|
42
43
|
onSubmit: (values: react_hook_form.FieldValues) => Promise<ErrorResponse<Error> | SuccessResponse<({
|