@remoteoss/remote-flows 1.41.0 → 1.42.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/CheckboxFieldDefault-OK7JODEG.js +2 -0
- package/dist/CountryFieldDefault-ORC6XVVK.js +2 -0
- package/dist/DatePickerFieldDefault-EUPACNZD.js +2 -0
- package/dist/RadioGroupFieldDefault-XR37OID5.js +2 -0
- package/dist/TextAreaFieldDefault-5YJYIBAO.js +2 -0
- package/dist/{chunk-SKQZ6BPK.js → chunk-2TAVZJPX.js} +2 -2
- package/dist/{chunk-O3KGCVBO.js → chunk-3QSHWQS3.js} +2 -2
- package/dist/{chunk-KRZGFZUS.js → chunk-3U4PZ4KB.js} +2 -2
- package/dist/{chunk-XFQS2BVE.js → chunk-44F5FY7C.js} +2 -2
- package/dist/{chunk-4WBEA4IY.js → chunk-4KKA35AX.js} +2 -2
- package/dist/chunk-4LQDSIUG.js +2 -0
- package/dist/chunk-4LQDSIUG.js.map +1 -0
- package/dist/{chunk-BLCINT3L.js → chunk-4QJUNKBR.js} +2 -2
- package/dist/chunk-4RVJJ33G.js +2 -0
- package/dist/{chunk-MQTRTRV6.js.map → chunk-4RVJJ33G.js.map} +1 -1
- package/dist/{chunk-7EKNQYS5.js → chunk-6NKXOUJW.js} +2 -2
- package/dist/{chunk-6YBDMERC.js → chunk-6TKWWM5A.js} +2 -2
- package/dist/{chunk-ZY7RAGEL.js → chunk-6WGW27VH.js} +2 -2
- package/dist/{chunk-2PMYCCWO.js → chunk-7XZP24UE.js} +2 -2
- package/dist/{chunk-MBOKEWSX.js → chunk-A5SRPVT2.js} +2 -2
- package/dist/{chunk-UBBUH2DE.js → chunk-A675PPWA.js} +2 -2
- package/dist/chunk-BFXBFGBH.js +2 -0
- package/dist/chunk-BFXBFGBH.js.map +1 -0
- package/dist/{chunk-OKSKBEIR.js → chunk-BJZXTS47.js} +2 -2
- package/dist/{chunk-B3OYZQSP.js → chunk-BS2B4OOE.js} +2 -2
- package/dist/{chunk-KWIWHDBS.js → chunk-BYDNNJHZ.js} +2 -2
- package/dist/chunk-BYDNNJHZ.js.map +1 -0
- package/dist/{chunk-HADEU7QX.js → chunk-C332PSLT.js} +2 -2
- package/dist/chunk-DN6BXTAC.js +2 -0
- package/dist/{chunk-GGULUMOP.js → chunk-EI44AIUW.js} +2 -2
- package/dist/{chunk-YXHSALDR.js → chunk-F74X2V2N.js} +2 -2
- package/dist/{chunk-6VODJDBH.js → chunk-FJGDFNEH.js} +2 -2
- package/dist/chunk-G7N6QIOB.js +2 -0
- package/dist/chunk-G7N6QIOB.js.map +1 -0
- package/dist/{chunk-PIIWY632.js → chunk-GHHMGTM4.js} +2 -2
- package/dist/{chunk-PMRAJKJ5.js → chunk-GNDFT5KG.js} +2 -2
- package/dist/{chunk-3PYZQWDY.js → chunk-GR6QMP4Z.js} +2 -2
- package/dist/{chunk-MZZFNRW5.js → chunk-H6Z54SNM.js} +2 -2
- package/dist/{chunk-ZTNH2YIM.js → chunk-HYNJ3ITY.js} +2 -2
- package/dist/{chunk-HGIMRQIZ.js → chunk-ID4S6FWD.js} +2 -2
- package/dist/{chunk-NEKE5PRJ.js → chunk-IF42CZJH.js} +2 -2
- package/dist/{chunk-KBUBBK2E.js → chunk-IVDF2PMA.js} +2 -2
- package/dist/{chunk-HHFDREGB.js → chunk-J3HIQRZO.js} +2 -2
- package/dist/{chunk-TJLXZ2ZK.js → chunk-K7HS55JD.js} +2 -2
- package/dist/chunk-K7HS55JD.js.map +1 -0
- package/dist/{chunk-B5KAHNYW.js → chunk-KSJLZDGY.js} +2 -2
- package/dist/{chunk-FEWMPYBF.js → chunk-L3ZVE4JS.js} +2 -2
- package/dist/{chunk-7R7AQHV2.js → chunk-LES7J6H4.js} +2 -2
- package/dist/{chunk-KFFTPU6V.js → chunk-LVTBMTOU.js} +2 -2
- package/dist/{chunk-GTU6MTZH.js → chunk-LXNEYPO5.js} +2 -2
- package/dist/{chunk-ICNC2RV5.js → chunk-MG6UYSCR.js} +2 -2
- package/dist/{chunk-VMZQN4WU.js → chunk-NRGNFMIO.js} +2 -2
- package/dist/{chunk-KEYWBQH2.js → chunk-NZHABET6.js} +2 -2
- package/dist/{chunk-XE6HQVLQ.js → chunk-O4CLVNOP.js} +2 -2
- package/dist/{chunk-SHOGXN3C.js → chunk-OPDKYPYM.js} +2 -2
- package/dist/{chunk-PJPYUB2R.js → chunk-PSCFVUJB.js} +2 -2
- package/dist/{chunk-7KMXTQ4C.js → chunk-Q7SMO5VI.js} +2 -2
- package/dist/{chunk-UFAQ7CQH.js → chunk-QGC2HCZG.js} +2 -2
- package/dist/{chunk-PET4EGTM.js → chunk-QK3FQD6C.js} +2 -2
- package/dist/{chunk-FOUXLCEA.js → chunk-QKSYPFRB.js} +2 -2
- package/dist/chunk-QQ3PZHXO.js +2 -0
- package/dist/chunk-QQ3PZHXO.js.map +1 -0
- package/dist/{chunk-MZXFOY5T.js → chunk-QZMSDP2S.js} +2 -2
- package/dist/{chunk-P6H7QMKK.js → chunk-RFVHV6RE.js} +2 -2
- package/dist/{chunk-OVU2VJM6.js → chunk-S4QKVG2B.js} +2 -2
- package/dist/{chunk-57G3ZAX3.js → chunk-SJO4XFQD.js} +2 -2
- package/dist/{chunk-VV3LCB77.js → chunk-T7QVVLKT.js} +2 -2
- package/dist/{chunk-ZSN43HMP.js → chunk-TMBL5YM4.js} +2 -2
- package/dist/{chunk-UD24LBJ6.js → chunk-TNGJKUUV.js} +2 -2
- package/dist/{chunk-QV7CEES3.js → chunk-TWULMMMY.js} +2 -2
- package/dist/{chunk-WRCHICCJ.js → chunk-TZGC6PWQ.js} +2 -2
- package/dist/{chunk-ABQLD4SS.js → chunk-UJWKHGH5.js} +2 -2
- package/dist/{chunk-INPMEOFL.js → chunk-UOWQ7UKA.js} +2 -2
- package/dist/{chunk-3D7HWCNX.js → chunk-UZBAOB4W.js} +2 -2
- package/dist/{chunk-FXJM54I4.js → chunk-V7YF7ICV.js} +2 -2
- package/dist/{chunk-I7JKBQHL.js → chunk-VCF327FJ.js} +2 -2
- package/dist/chunk-VUQH44VX.js +2 -0
- package/dist/chunk-VUQH44VX.js.map +1 -0
- package/dist/{chunk-ZMQTQ4UQ.js → chunk-W4BOTAD6.js} +2 -2
- package/dist/{chunk-YOFPHSYV.js → chunk-WKAVKFP6.js} +2 -2
- package/dist/{chunk-FAJ5I4Q4.js → chunk-WTVYMT5N.js} +2 -2
- package/dist/{chunk-XLURXRQT.js → chunk-X25ZOPO6.js} +2 -2
- package/dist/{chunk-UELAVKG5.js → chunk-X4IJ52GQ.js} +2 -2
- package/dist/{chunk-GJV6HJ3D.js → chunk-XEK3MUYF.js} +2 -2
- package/dist/chunk-XGXXXWTH.js +2 -0
- package/dist/chunk-XGXXXWTH.js.map +1 -0
- package/dist/chunk-XS5ASVWY.js +2 -0
- package/dist/chunk-XS5ASVWY.js.map +1 -0
- package/dist/{chunk-YQQHCS4S.js → chunk-YADHCTR7.js} +2 -2
- package/dist/chunk-YPLIXSIP.js +2 -0
- package/dist/chunk-YPLIXSIP.js.map +1 -0
- package/dist/{chunk-KH4DEFZT.js → chunk-YW4FHEYJ.js} +2 -2
- package/dist/{chunk-S7DDWZOR.js → chunk-ZF3JITFM.js} +2 -2
- package/dist/default-components.d.ts +2 -2
- package/dist/default-components.js +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.d.ts +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentFlow.d.ts +3 -3
- package/dist/flows/ContractAmendment/ContractAmendmentFlow.js +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentForm.d.ts +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentForm.js +1 -1
- package/dist/flows/ContractAmendment/context.d.ts +3 -3
- package/dist/flows/ContractAmendment/hooks.d.ts +3 -3
- package/dist/flows/ContractAmendment/hooks.js +1 -1
- package/dist/flows/ContractAmendment/index.d.ts +3 -3
- package/dist/flows/ContractAmendment/index.js +1 -1
- package/dist/flows/ContractAmendment/types.d.ts +2 -2
- package/dist/flows/ContractAmendment/utils.d.ts +2 -2
- package/dist/flows/ContractorOnboarding/ContractorOnboarding.d.ts +7 -6
- package/dist/flows/ContractorOnboarding/ContractorOnboarding.js +1 -1
- package/dist/flows/ContractorOnboarding/api.d.ts +26 -3
- package/dist/flows/ContractorOnboarding/api.js +1 -1
- package/dist/flows/ContractorOnboarding/components/BasicInformationStep.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/components/BasicInformationStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.d.ts +7 -6
- package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/ContractOriginStep.d.ts +27 -0
- package/dist/flows/ContractorOnboarding/components/ContractOriginStep.js +2 -0
- package/dist/flows/ContractorOnboarding/components/ContractOriginStep.js.map +1 -0
- package/dist/flows/ContractorOnboarding/components/ContractPreviewHeader.d.ts +2 -2
- package/dist/flows/ContractorOnboarding/components/ContractPreviewStatement.d.ts +2 -2
- package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.d.ts +7 -6
- package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.d.ts +7 -6
- package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.js +1 -1
- package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.d.ts +7 -6
- package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/OnboardingInvite.d.ts +3 -3
- package/dist/flows/ContractorOnboarding/components/OnboardingInvite.js +1 -1
- package/dist/flows/ContractorOnboarding/components/PricingPlan.d.ts +7 -6
- package/dist/flows/ContractorOnboarding/components/PricingPlan.js +1 -1
- package/dist/flows/ContractorOnboarding/components/SaveDraftButton.d.ts +3 -3
- package/dist/flows/ContractorOnboarding/components/SelectCountryStep.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/components/SelectCountryStep.js +1 -1
- package/dist/flows/ContractorOnboarding/context.d.ts +14 -6
- package/dist/flows/ContractorOnboarding/hooks.d.ts +7 -6
- package/dist/flows/ContractorOnboarding/hooks.js +1 -1
- package/dist/flows/ContractorOnboarding/index.d.ts +7 -6
- package/dist/flows/ContractorOnboarding/index.js +1 -1
- package/dist/flows/ContractorOnboarding/jsfModify.d.ts +7 -6
- package/dist/flows/ContractorOnboarding/jsfModify.js +1 -1
- package/dist/flows/ContractorOnboarding/json-schemas/contractOrigin.d.ts +22 -0
- package/dist/flows/ContractorOnboarding/json-schemas/contractOrigin.js +2 -0
- package/dist/flows/ContractorOnboarding/json-schemas/contractOrigin.js.map +1 -0
- package/dist/flows/ContractorOnboarding/types.d.ts +7 -6
- package/dist/flows/ContractorOnboarding/utils.d.ts +8 -6
- package/dist/flows/ContractorOnboarding/utils.js +1 -1
- package/dist/flows/CostCalculator/CostCalculatorFlow.d.ts +3 -3
- package/dist/flows/CostCalculator/CostCalculatorFlow.js +1 -1
- package/dist/flows/CostCalculator/CostCalculatorForm.d.ts +3 -3
- package/dist/flows/CostCalculator/CostCalculatorForm.js +1 -1
- package/dist/flows/CostCalculator/EstimationResults/EstimationResults.d.ts +2 -2
- package/dist/flows/CostCalculator/EstimationResults/EstimationResults.js +1 -1
- package/dist/flows/CostCalculator/SummaryResults/SummaryResults.d.ts +2 -2
- package/dist/flows/CostCalculator/api.d.ts +2 -2
- package/dist/flows/CostCalculator/api.js +1 -1
- package/dist/flows/CostCalculator/components/SalaryField.d.ts +2 -2
- package/dist/flows/CostCalculator/components/SalaryField.js +1 -1
- package/dist/flows/CostCalculator/context.d.ts +3 -3
- package/dist/flows/CostCalculator/hooks.d.ts +3 -3
- package/dist/flows/CostCalculator/hooks.js +1 -1
- package/dist/flows/CostCalculator/index.d.ts +3 -3
- package/dist/flows/CostCalculator/index.js +1 -1
- package/dist/flows/CostCalculator/types.d.ts +2 -2
- package/dist/flows/CostCalculator/utils.d.ts +3 -3
- package/dist/flows/CostCalculator/utils.js +1 -1
- package/dist/flows/CreateCompany/CreateCompany.d.ts +4 -4
- package/dist/flows/CreateCompany/CreateCompany.js +1 -1
- package/dist/flows/CreateCompany/api.d.ts +2 -2
- package/dist/flows/CreateCompany/api.js +1 -1
- package/dist/flows/CreateCompany/components/AddressDetailsStep.d.ts +4 -4
- package/dist/flows/CreateCompany/components/AddressDetailsStep.js +1 -1
- package/dist/flows/CreateCompany/components/CompanyBasicInformationStep.d.ts +4 -4
- package/dist/flows/CreateCompany/components/CompanyBasicInformationStep.js +1 -1
- package/dist/flows/CreateCompany/components/CreateCompanyForm.d.ts +2 -2
- package/dist/flows/CreateCompany/components/CreateCompanyForm.js +1 -1
- package/dist/flows/CreateCompany/context.d.ts +4 -4
- package/dist/flows/CreateCompany/hooks.d.ts +4 -4
- package/dist/flows/CreateCompany/hooks.js +1 -1
- package/dist/flows/CreateCompany/index.d.ts +4 -4
- package/dist/flows/CreateCompany/index.js +1 -1
- package/dist/flows/CreateCompany/types.d.ts +4 -4
- package/dist/flows/Onboarding/OnboardingFlow.d.ts +5 -5
- package/dist/flows/Onboarding/OnboardingFlow.js +1 -1
- package/dist/flows/Onboarding/api.d.ts +7 -267
- package/dist/flows/Onboarding/api.js +1 -1
- package/dist/flows/Onboarding/components/AnnualGrossSalary.d.ts +2 -2
- package/dist/flows/Onboarding/components/AnnualGrossSalary.js +1 -1
- package/dist/flows/Onboarding/components/BasicInformationStep.d.ts +5 -5
- package/dist/flows/Onboarding/components/BasicInformationStep.js +1 -1
- package/dist/flows/Onboarding/components/BenefitsStep.d.ts +5 -5
- package/dist/flows/Onboarding/components/BenefitsStep.js +1 -1
- package/dist/flows/Onboarding/components/ContractDetailsStep.d.ts +5 -5
- package/dist/flows/Onboarding/components/ContractDetailsStep.js +1 -1
- package/dist/flows/Onboarding/components/EmploymentAgreementInfoContent.js +1 -1
- package/dist/flows/Onboarding/components/EngagementAgreementDetailsStep.d.ts +5 -5
- package/dist/flows/Onboarding/components/EngagementAgreementDetailsStep.js +1 -1
- package/dist/flows/Onboarding/components/OnboardingForm.d.ts +5 -5
- package/dist/flows/Onboarding/components/OnboardingForm.js +1 -1
- package/dist/flows/Onboarding/components/OnboardingInvite.d.ts +3 -3
- package/dist/flows/Onboarding/components/OnboardingInvite.js +1 -1
- package/dist/flows/Onboarding/components/PreOnboardingRequirements.d.ts +15 -30
- package/dist/flows/Onboarding/components/PreOnboardingRequirements.js +1 -1
- package/dist/flows/Onboarding/components/PreviewEmploymentAgreementStep.js +1 -1
- package/dist/flows/Onboarding/components/ReviewStep.d.ts +5 -5
- package/dist/flows/Onboarding/components/SaveDraftButton.d.ts +3 -3
- package/dist/flows/Onboarding/components/SelectCountryStep.d.ts +5 -5
- package/dist/flows/Onboarding/components/SelectCountryStep.js +1 -1
- package/dist/flows/Onboarding/context.d.ts +8 -5
- package/dist/flows/Onboarding/hooks.d.ts +5 -5
- package/dist/flows/Onboarding/hooks.js +1 -1
- package/dist/flows/Onboarding/index.d.ts +5 -5
- package/dist/flows/Onboarding/index.js +1 -1
- package/dist/flows/Onboarding/types.d.ts +5 -5
- package/dist/flows/Onboarding/utils.d.ts +5 -5
- package/dist/flows/Onboarding/utils.js +1 -1
- package/dist/flows/PayrollAdminOnboarding/PayrollAdminOnboardingFlow.d.ts +3 -3
- package/dist/flows/PayrollAdminOnboarding/PayrollAdminOnboardingFlow.js +1 -1
- package/dist/flows/PayrollAdminOnboarding/context.d.ts +3 -3
- package/dist/flows/PayrollAdminOnboarding/hooks.d.ts +3 -3
- package/dist/flows/PayrollAdminOnboarding/hooks.js +1 -1
- package/dist/flows/PayrollAdminOnboarding/index.d.ts +3 -3
- package/dist/flows/PayrollAdminOnboarding/index.js +1 -1
- package/dist/flows/PayrollAdminOnboarding/types.d.ts +3 -3
- package/dist/flows/PayrollEmployeeOnboarding/PayrollEmployeeOnboardingFlow.d.ts +3 -3
- package/dist/flows/PayrollEmployeeOnboarding/PayrollEmployeeOnboardingFlow.js +1 -1
- package/dist/flows/PayrollEmployeeOnboarding/context.d.ts +3 -3
- package/dist/flows/PayrollEmployeeOnboarding/hooks.d.ts +3 -3
- package/dist/flows/PayrollEmployeeOnboarding/hooks.js +1 -1
- package/dist/flows/PayrollEmployeeOnboarding/index.d.ts +3 -3
- package/dist/flows/PayrollEmployeeOnboarding/index.js +1 -1
- package/dist/flows/PayrollEmployeeOnboarding/types.d.ts +3 -3
- package/dist/flows/Termination/AdditionalDetailsForm.d.ts +4 -4
- package/dist/flows/Termination/AdditionalDetailsForm.js +1 -1
- package/dist/flows/Termination/EmployeeComunicationForm.d.ts +4 -4
- package/dist/flows/Termination/EmployeeComunicationForm.js +1 -1
- package/dist/flows/Termination/PaidTimeOffForm.d.ts +4 -4
- package/dist/flows/Termination/PaidTimeOffForm.js +1 -1
- package/dist/flows/Termination/TerminationDetailsForm.d.ts +4 -4
- package/dist/flows/Termination/TerminationDetailsForm.js +1 -1
- package/dist/flows/Termination/TerminationFlow.d.ts +4 -4
- package/dist/flows/Termination/TerminationFlow.js +1 -1
- package/dist/flows/Termination/TerminationForm.d.ts +4 -4
- package/dist/flows/Termination/TerminationForm.js +1 -1
- package/dist/flows/Termination/api.d.ts +5 -6
- package/dist/flows/Termination/api.js +1 -1
- package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformationFees.js +1 -1
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.d.ts +6 -7
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.d.ts +6 -7
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.js +1 -1
- package/dist/flows/Termination/components/PaidTimeOff/types.d.ts +6 -7
- package/dist/flows/Termination/components/TerminationDialogInfoContent/TerminationDialogInfoContent.js +1 -1
- package/dist/flows/Termination/context.d.ts +4 -4
- package/dist/flows/Termination/hooks.d.ts +4 -4
- package/dist/flows/Termination/hooks.js +1 -1
- package/dist/flows/Termination/index.d.ts +6 -7
- package/dist/flows/Termination/index.js +1 -1
- package/dist/flows/Termination/json-schemas/jsonSchema.js +1 -1
- package/dist/flows/Termination/json-schemas/schema.d.ts +4 -4
- package/dist/flows/Termination/json-schemas/schema.js +1 -1
- package/dist/flows/Termination/types.d.ts +4 -4
- package/dist/flows/Termination/utils.d.ts +4 -4
- package/dist/flows/types.d.ts +2 -2
- package/dist/flows/utils.d.ts +2 -2
- package/dist/index.d.ts +14 -14
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/internals.d.ts +3 -3
- package/dist/internals.js +1 -1
- package/dist/{mutations-CS4-N6rs.d.ts → mutations-HzXri7rU.d.ts} +1 -1
- package/dist/{remoteFlows-XblLRuXf.d.ts → remoteFlows-D6N3P-Z8.d.ts} +1 -1
- package/dist/{types-Cn2zpFdH.d.ts → types-BA5HatKg.d.ts} +1 -1
- package/dist/{types-D-BG15n_.d.ts → types-BxGIDgr8.d.ts} +2 -2
- package/dist/{types-DB-5lvAd.d.ts → types-CKY2s5Tl.d.ts} +15 -6
- package/dist/{types-DTBS32xf.d.ts → types-CeMJCc7f.d.ts} +3 -3
- package/dist/{types-d4sOtWU0.d.ts → types-OIG1NWJB.d.ts} +296 -7
- package/dist/{types-CoXYbvEX.d.ts → types-PiIfh75U.d.ts} +1 -1
- package/dist/{types-xaJ4vNIC.d.ts → types-SOAhi2Xb.d.ts} +1 -1
- package/dist/{types.gen-lBDxKNB_.d.ts → types.gen-DCswUxeu.d.ts} +24 -2
- package/dist/{utils-DC8X38CO.d.ts → utils-VhDQSRx8.d.ts} +1 -1
- package/package.json +3 -3
- package/dist/CheckboxFieldDefault-OBDOMMWQ.js +0 -2
- package/dist/CountryFieldDefault-NEFHRUUS.js +0 -2
- package/dist/DatePickerFieldDefault-NYHK6I2G.js +0 -2
- package/dist/RadioGroupFieldDefault-GF4XVARF.js +0 -2
- package/dist/TextAreaFieldDefault-HPEUG5UI.js +0 -2
- package/dist/chunk-COAJUZSE.js +0 -2
- package/dist/chunk-COAJUZSE.js.map +0 -1
- package/dist/chunk-IL3IFNO5.js +0 -2
- package/dist/chunk-IL3IFNO5.js.map +0 -1
- package/dist/chunk-KWIWHDBS.js.map +0 -1
- package/dist/chunk-MQTRTRV6.js +0 -2
- package/dist/chunk-NJNJACVL.js +0 -2
- package/dist/chunk-NJNJACVL.js.map +0 -1
- package/dist/chunk-RATFUMTL.js +0 -2
- package/dist/chunk-RATFUMTL.js.map +0 -1
- package/dist/chunk-SC7YWKOW.js +0 -2
- package/dist/chunk-TJLXZ2ZK.js.map +0 -1
- package/dist/chunk-UAMKMIHP.js +0 -2
- package/dist/chunk-UAMKMIHP.js.map +0 -1
- package/dist/chunk-VWO7PDZ4.js +0 -2
- package/dist/chunk-VWO7PDZ4.js.map +0 -1
- /package/dist/{CheckboxFieldDefault-OBDOMMWQ.js.map → CheckboxFieldDefault-OK7JODEG.js.map} +0 -0
- /package/dist/{CountryFieldDefault-NEFHRUUS.js.map → CountryFieldDefault-ORC6XVVK.js.map} +0 -0
- /package/dist/{DatePickerFieldDefault-NYHK6I2G.js.map → DatePickerFieldDefault-EUPACNZD.js.map} +0 -0
- /package/dist/{RadioGroupFieldDefault-GF4XVARF.js.map → RadioGroupFieldDefault-XR37OID5.js.map} +0 -0
- /package/dist/{TextAreaFieldDefault-HPEUG5UI.js.map → TextAreaFieldDefault-5YJYIBAO.js.map} +0 -0
- /package/dist/{chunk-SKQZ6BPK.js.map → chunk-2TAVZJPX.js.map} +0 -0
- /package/dist/{chunk-O3KGCVBO.js.map → chunk-3QSHWQS3.js.map} +0 -0
- /package/dist/{chunk-KRZGFZUS.js.map → chunk-3U4PZ4KB.js.map} +0 -0
- /package/dist/{chunk-XFQS2BVE.js.map → chunk-44F5FY7C.js.map} +0 -0
- /package/dist/{chunk-4WBEA4IY.js.map → chunk-4KKA35AX.js.map} +0 -0
- /package/dist/{chunk-BLCINT3L.js.map → chunk-4QJUNKBR.js.map} +0 -0
- /package/dist/{chunk-7EKNQYS5.js.map → chunk-6NKXOUJW.js.map} +0 -0
- /package/dist/{chunk-6YBDMERC.js.map → chunk-6TKWWM5A.js.map} +0 -0
- /package/dist/{chunk-ZY7RAGEL.js.map → chunk-6WGW27VH.js.map} +0 -0
- /package/dist/{chunk-2PMYCCWO.js.map → chunk-7XZP24UE.js.map} +0 -0
- /package/dist/{chunk-MBOKEWSX.js.map → chunk-A5SRPVT2.js.map} +0 -0
- /package/dist/{chunk-UBBUH2DE.js.map → chunk-A675PPWA.js.map} +0 -0
- /package/dist/{chunk-OKSKBEIR.js.map → chunk-BJZXTS47.js.map} +0 -0
- /package/dist/{chunk-B3OYZQSP.js.map → chunk-BS2B4OOE.js.map} +0 -0
- /package/dist/{chunk-HADEU7QX.js.map → chunk-C332PSLT.js.map} +0 -0
- /package/dist/{chunk-SC7YWKOW.js.map → chunk-DN6BXTAC.js.map} +0 -0
- /package/dist/{chunk-GGULUMOP.js.map → chunk-EI44AIUW.js.map} +0 -0
- /package/dist/{chunk-YXHSALDR.js.map → chunk-F74X2V2N.js.map} +0 -0
- /package/dist/{chunk-6VODJDBH.js.map → chunk-FJGDFNEH.js.map} +0 -0
- /package/dist/{chunk-PIIWY632.js.map → chunk-GHHMGTM4.js.map} +0 -0
- /package/dist/{chunk-PMRAJKJ5.js.map → chunk-GNDFT5KG.js.map} +0 -0
- /package/dist/{chunk-3PYZQWDY.js.map → chunk-GR6QMP4Z.js.map} +0 -0
- /package/dist/{chunk-MZZFNRW5.js.map → chunk-H6Z54SNM.js.map} +0 -0
- /package/dist/{chunk-ZTNH2YIM.js.map → chunk-HYNJ3ITY.js.map} +0 -0
- /package/dist/{chunk-HGIMRQIZ.js.map → chunk-ID4S6FWD.js.map} +0 -0
- /package/dist/{chunk-NEKE5PRJ.js.map → chunk-IF42CZJH.js.map} +0 -0
- /package/dist/{chunk-KBUBBK2E.js.map → chunk-IVDF2PMA.js.map} +0 -0
- /package/dist/{chunk-HHFDREGB.js.map → chunk-J3HIQRZO.js.map} +0 -0
- /package/dist/{chunk-B5KAHNYW.js.map → chunk-KSJLZDGY.js.map} +0 -0
- /package/dist/{chunk-FEWMPYBF.js.map → chunk-L3ZVE4JS.js.map} +0 -0
- /package/dist/{chunk-7R7AQHV2.js.map → chunk-LES7J6H4.js.map} +0 -0
- /package/dist/{chunk-KFFTPU6V.js.map → chunk-LVTBMTOU.js.map} +0 -0
- /package/dist/{chunk-GTU6MTZH.js.map → chunk-LXNEYPO5.js.map} +0 -0
- /package/dist/{chunk-ICNC2RV5.js.map → chunk-MG6UYSCR.js.map} +0 -0
- /package/dist/{chunk-VMZQN4WU.js.map → chunk-NRGNFMIO.js.map} +0 -0
- /package/dist/{chunk-KEYWBQH2.js.map → chunk-NZHABET6.js.map} +0 -0
- /package/dist/{chunk-XE6HQVLQ.js.map → chunk-O4CLVNOP.js.map} +0 -0
- /package/dist/{chunk-SHOGXN3C.js.map → chunk-OPDKYPYM.js.map} +0 -0
- /package/dist/{chunk-PJPYUB2R.js.map → chunk-PSCFVUJB.js.map} +0 -0
- /package/dist/{chunk-7KMXTQ4C.js.map → chunk-Q7SMO5VI.js.map} +0 -0
- /package/dist/{chunk-UFAQ7CQH.js.map → chunk-QGC2HCZG.js.map} +0 -0
- /package/dist/{chunk-PET4EGTM.js.map → chunk-QK3FQD6C.js.map} +0 -0
- /package/dist/{chunk-FOUXLCEA.js.map → chunk-QKSYPFRB.js.map} +0 -0
- /package/dist/{chunk-MZXFOY5T.js.map → chunk-QZMSDP2S.js.map} +0 -0
- /package/dist/{chunk-P6H7QMKK.js.map → chunk-RFVHV6RE.js.map} +0 -0
- /package/dist/{chunk-OVU2VJM6.js.map → chunk-S4QKVG2B.js.map} +0 -0
- /package/dist/{chunk-57G3ZAX3.js.map → chunk-SJO4XFQD.js.map} +0 -0
- /package/dist/{chunk-VV3LCB77.js.map → chunk-T7QVVLKT.js.map} +0 -0
- /package/dist/{chunk-ZSN43HMP.js.map → chunk-TMBL5YM4.js.map} +0 -0
- /package/dist/{chunk-UD24LBJ6.js.map → chunk-TNGJKUUV.js.map} +0 -0
- /package/dist/{chunk-QV7CEES3.js.map → chunk-TWULMMMY.js.map} +0 -0
- /package/dist/{chunk-WRCHICCJ.js.map → chunk-TZGC6PWQ.js.map} +0 -0
- /package/dist/{chunk-ABQLD4SS.js.map → chunk-UJWKHGH5.js.map} +0 -0
- /package/dist/{chunk-INPMEOFL.js.map → chunk-UOWQ7UKA.js.map} +0 -0
- /package/dist/{chunk-3D7HWCNX.js.map → chunk-UZBAOB4W.js.map} +0 -0
- /package/dist/{chunk-FXJM54I4.js.map → chunk-V7YF7ICV.js.map} +0 -0
- /package/dist/{chunk-I7JKBQHL.js.map → chunk-VCF327FJ.js.map} +0 -0
- /package/dist/{chunk-ZMQTQ4UQ.js.map → chunk-W4BOTAD6.js.map} +0 -0
- /package/dist/{chunk-YOFPHSYV.js.map → chunk-WKAVKFP6.js.map} +0 -0
- /package/dist/{chunk-FAJ5I4Q4.js.map → chunk-WTVYMT5N.js.map} +0 -0
- /package/dist/{chunk-XLURXRQT.js.map → chunk-X25ZOPO6.js.map} +0 -0
- /package/dist/{chunk-UELAVKG5.js.map → chunk-X4IJ52GQ.js.map} +0 -0
- /package/dist/{chunk-GJV6HJ3D.js.map → chunk-XEK3MUYF.js.map} +0 -0
- /package/dist/{chunk-YQQHCS4S.js.map → chunk-YADHCTR7.js.map} +0 -0
- /package/dist/{chunk-KH4DEFZT.js.map → chunk-YW4FHEYJ.js.map} +0 -0
- /package/dist/{chunk-S7DDWZOR.js.map → chunk-ZF3JITFM.js.map} +0 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a}from"./chunk-WKAVKFP6.js";import"./chunk-QJJZTAG2.js";import"./chunk-OPDKYPYM.js";import"./chunk-RFVHV6RE.js";import"./chunk-Y3CJRZLA.js";import"./chunk-BYDNNJHZ.js";import"./chunk-G2LZFGZA.js";import"./chunk-H2O4CVKF.js";import"./chunk-P37U34EQ.js";export{a as CheckboxFieldDefault};
|
|
2
|
+
//# sourceMappingURL=CheckboxFieldDefault-OK7JODEG.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a}from"./chunk-6NKXOUJW.js";import"./chunk-DJIQISA2.js";import"./chunk-3B6BHFDV.js";import"./chunk-MHIY35CK.js";import"./chunk-ZOTY3CAM.js";import"./chunk-OPDKYPYM.js";import"./chunk-T5J2Z6ZR.js";import"./chunk-RFVHV6RE.js";import"./chunk-Y3CJRZLA.js";import"./chunk-BYDNNJHZ.js";import"./chunk-G2LZFGZA.js";import"./chunk-H2O4CVKF.js";import"./chunk-P37U34EQ.js";export{a as CountryFieldDefault};
|
|
2
|
+
//# sourceMappingURL=CountryFieldDefault-ORC6XVVK.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a}from"./chunk-6WGW27VH.js";import"./chunk-3B6BHFDV.js";import"./chunk-OPDKYPYM.js";import"./chunk-T5J2Z6ZR.js";import"./chunk-RFVHV6RE.js";import"./chunk-Y3CJRZLA.js";import"./chunk-BYDNNJHZ.js";import"./chunk-G2LZFGZA.js";import"./chunk-H2O4CVKF.js";import"./chunk-P37U34EQ.js";export{a as DatePickerFieldDefault};
|
|
2
|
+
//# sourceMappingURL=DatePickerFieldDefault-EUPACNZD.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a}from"./chunk-NZHABET6.js";import"./chunk-3UBFABDS.js";import"./chunk-ZOTY3CAM.js";import"./chunk-OPDKYPYM.js";import"./chunk-RFVHV6RE.js";import"./chunk-Y3CJRZLA.js";import"./chunk-BYDNNJHZ.js";import"./chunk-G2LZFGZA.js";import"./chunk-H2O4CVKF.js";import"./chunk-P37U34EQ.js";export{a as RadioGroupFieldDefault};
|
|
2
|
+
//# sourceMappingURL=RadioGroupFieldDefault-XR37OID5.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a}from"./chunk-PSCFVUJB.js";import"./chunk-OPDKYPYM.js";import"./chunk-RFVHV6RE.js";import"./chunk-Y3CJRZLA.js";import"./chunk-BYDNNJHZ.js";import"./chunk-G2LZFGZA.js";import"./chunk-H2O4CVKF.js";import"./chunk-P37U34EQ.js";export{a as TextAreaFieldDefault};
|
|
2
|
+
//# sourceMappingURL=TextAreaFieldDefault-5YJYIBAO.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Q as i,Z as s}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{Q as i,Z as s}from"./chunk-BYDNNJHZ.js";import{e as a}from"./chunk-H2O4CVKF.js";import{a as r}from"./chunk-P37U34EQ.js";import{useQuery as o}from"@tanstack/react-query";var u=r(t=>{let{client:n}=a();return o({queryKey:["gp-onboarding-steps",t],enabled:!!t,retry:!1,queryFn:r(async()=>{let e=await s({client:n,headers:{Authorization:""},path:{employment_id:t}});if(e.error||!e.data)throw new Error("Failed to fetch onboarding steps");return e.data},"queryFn"),select:r(e=>e.data.steps,"select")})},"useGPOnboardingSteps"),c=r(t=>{let{client:n}=a();return o({queryKey:["gp-legal-entities",t],enabled:!!t,retry:!1,queryFn:r(async()=>{let e=await i({client:n,headers:{Authorization:""},path:{company_id:t}});if(e.error||!e.data)throw new Error("Failed to fetch legal entities");return e.data},"queryFn"),select:r(e=>(e.data?.legal_entities??[]).filter(l=>l.global_payroll_enabled),"select")})},"useGPLegalEntities");export{u as a,c as b};
|
|
2
|
+
//# sourceMappingURL=chunk-2TAVZJPX.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{c as e}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{c as e}from"./chunk-RFVHV6RE.js";import{a as n}from"./chunk-P37U34EQ.js";import{jsx as o,jsxs as t}from"react/jsx-runtime";var a=n(({involuntaryOffboardingServiceChargeZendeskId:r,reconciliationInvoiceZendeskId:i})=>t("p",{className:"RemoteFlows__AcknowledgeInformationFees text-xs text-[#71717A]",children:["You'll receive an"," ",o(e,{zendeskId:r,className:"align-baseline",children:"involuntary offboarding service charge \u2197"})," ","on your"," ",o(e,{zendeskId:i,children:"reconciliation invoice \u2197"})]}),"AcknowledgeInformationFees");export{a};
|
|
2
|
+
//# sourceMappingURL=chunk-3QSHWQS3.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{b as i,c as m,d as s,e as f}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{b as i,c as m,d as s,e as f}from"./chunk-SJO4XFQD.js";import{a as n}from"./chunk-NW3D7CPK.js";import{a}from"./chunk-P37U34EQ.js";import{useState as O}from"react";var B=a(({proposedTerminationDate:e,employeeName:y,employmentId:o,employment:r,render:d})=>{let[t,u]=O(!1),l=m({employmentId:o}),p=n(e).toLocaleDateString("en-US",{month:"long",day:"numeric",year:"numeric"}),c=i({employmentId:o,options:{enabled:t}}),D=s({employmentId:o,date:e}),P=f({employmentId:o,proposedTerminationDate:e,employment:r});return d({leavePoliciesSummaryQuery:l,timeoffQuery:c||{data:{bookedDays:0,timeoffs:[]}},bookedTimeBeforeAndAfterTerminationQuery:D,formattedProposedTerminationDate:p,employeeName:y,proposedTerminationDate:e,summaryData:P??{data:{entitledDays:"0 days",bookedDays:"0 days",usedDays:"0 days",approvedDaysBeforeTermination:"0 days",approvedDaysAfterTermination:"0 days",remainingDays:"0 days",isUnlimitedPto:!1},isLoading:!1,isError:!1,error:null},employment:r,open:t,onOpenChange:a(()=>{u(T=>!T)},"onOpenChange")})},"PaidTimeOffContainer");export{B as a};
|
|
2
|
+
//# sourceMappingURL=chunk-3U4PZ4KB.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as _}from"./chunk-5WIBTOCI.js";import{a as h}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as _}from"./chunk-5WIBTOCI.js";import{a as h}from"./chunk-ID4S6FWD.js";import{a as l}from"./chunk-LKVQ32ZK.js";import{B as p,D as y,W as f,fa as C}from"./chunk-BYDNNJHZ.js";import{e as c}from"./chunk-H2O4CVKF.js";import{a as n}from"./chunk-P37U34EQ.js";import{useMutation as F}from"@tanstack/react-query";import{useQuery as u}from"@tanstack/react-query";var b=n(e=>{let{client:o}=c();return u({...e,queryKey:["company-currencies"],retry:!1,queryFn:n(async()=>{let r=await f({client:o});if(r.error||!r.data)throw new Error("Failed to fetch company currencies");return r},"queryFn"),select:n(({data:r})=>r?.data?.company_currencies.map(t=>({value:t.code,label:t.code}))||[],"select")})},"useCompanyCurrencies"),A=n(()=>{let{client:e}=c();return F({mutationFn:n(o=>C({client:e,headers:{Authorization:""},body:o,query:{action:"send_create_password_email"}}),"mutationFn")})},"useCreateCompanyRequest"),I=n(()=>{let{client:e}=c();return F({mutationFn:n(({companyId:o,payload:r,jsonSchemaVersion:t})=>p({client:e,headers:{Authorization:""},path:{company_id:o},body:r,query:{address_details_json_schema_version:t}}),"mutationFn")})},"useUpdateCompanyRequest"),P=n(e=>{let{client:o}=c(),{data:r,isLoading:t}=u({...h(o,"create-company-countries"),select:n(i=>i.data?.data?.filter(s=>s.eor_onboarding).map(s=>({label:s.name,value:s.code}))||[],"select"),enabled:e?.queryOptions?.enabled}),{data:a,isLoading:m}=b(e?.queryOptions),d=l(_.data.schema,{},e);if(r){let i=d.fields.find(s=>s.name==="country_code");i&&(i.options=r)}if(a){let i=d.fields.find(s=>s.name==="desired_currency");i&&(i.options=a)}return{isLoading:t||m,companyBasicInformationForm:d}},"useCountriesSchemaField"),z=n(({countryCode:e,fieldValues:o,options:r})=>{let{client:t}=c();return u({queryKey:["company-address-details-schema",e],retry:!1,queryFn:n(async()=>{if(!e)throw new Error("Country code is required");let a=await y({client:t,headers:{Authorization:""},path:{country_code:e,form:"address_details"},query:{json_schema_version:r?.jsonSchemaVersion?.form_schema?.address_details||"latest"}});if(a.error||!a.data)throw new Error("Failed to fetch address details schema");return a},"queryFn"),enabled:r?.queryOptions?.enabled&&!!e,select:n(({data:a})=>{let m=a?.data||{};return l(m,o,r)},"select")})},"useAddressDetailsSchema");export{A as a,I as b,P as c,z as d};
|
|
2
|
+
//# sourceMappingURL=chunk-44F5FY7C.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{b as n}from"./chunk-MRYRNB7Y.js";import{a as l}from"./chunk-J2ARI3NQ.js";import{a as t}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{b as n}from"./chunk-MRYRNB7Y.js";import{a as l}from"./chunk-J2ARI3NQ.js";import{a as t}from"./chunk-X4IJ52GQ.js";import{h as a}from"./chunk-Y3CJRZLA.js";import{a as r}from"./chunk-P37U34EQ.js";import{jsx as e}from"react/jsx-runtime";function S({defaultValues:s,fields:i,onSubmit:d}){let{formId:F,terminationBag:o}=n(),m=l({handleValidation:o.handleValidation,defaultValues:s,checkFieldUpdates:o.checkFieldUpdates}),u=i||(o?.fields??[]);return e(a,{...m,children:e("form",{id:F,onSubmit:m.handleSubmit(d),className:"space-y-4 RemoteFlows__TerminationForm",children:e(t,{fields:u})})})}r(S,"TerminationForm");export{S as a};
|
|
2
|
+
//# sourceMappingURL=chunk-4KKA35AX.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as ae,b as pe,c as me,d as fe,e as ye,f as _e,g as ge,i as be,j as Ce,k as Se,l as we,m as ve,n as he,o as Pe,p as Ee,q as Oe,r as Ve,s as Fe,t as Me,u as De,v as Ie,w as Ae,x as ke}from"./chunk-XGXXXWTH.js";import{a as Re,b as Te,c as qe}from"./chunk-YADHCTR7.js";import{a as se,b as ce,f as le,g as ue,h as de}from"./chunk-YPLIXSIP.js";import{a as Y,b as st,c as f,d as re,g as oe}from"./chunk-PB6UQ4A4.js";import{a as ne}from"./chunk-GNDFT5KG.js";import{f as Zt,h as te,i as ee}from"./chunk-W4BOTAD6.js";import{Q as Yt}from"./chunk-BYDNNJHZ.js";import{a as $t,b,d as zt,h as m,i as M,u as D,v}from"./chunk-G2LZFGZA.js";import{a as ie}from"./chunk-JDIKYCN6.js";import{e as Xt}from"./chunk-H2O4CVKF.js";import{a as p}from"./chunk-P37U34EQ.js";import{useEffect as I,useMemo as a,useRef as je,useState as A}from"react";import xe from"lodash.omit";import{useQuery as Ln}from"@tanstack/react-query";var jn=p(()=>{let{client:j}=Xt(),{data:q}=pe(),d=me(q)?q?.company?.id??"":"";return Ln({queryKey:["legal-entities",d],queryFn:p(()=>Yt({client:j,path:{company_id:d},query:{page_size:100}}),"queryFn"),select:p(x=>x.data?.data?.legal_entities,"select"),enabled:!!d})},"useLegalEntities"),Le=p(()=>{let{data:j}=jn();return j?.find(q=>q.is_default)},"useDefaultLegalEntity");var xn={select_country:null,basic_information:"employment_basic_information",contract_origin:null,contract_details:null,eligibility_questionnaire:null,pricing_plan:null,contract_preview:null,review:null},Bn={employment_basic_information:"basic_information"},gi=p(({countryCode:j,externalId:q,employmentId:d,skipSteps:x,options:y,initialValues:l})=>{let Be=y?.excludeProducts||[],gt=je(y?.onContractReviewed);I(()=>{gt.current=y?.onContractReviewed},[y?.onContractReviewed]);let[u,bt]=A(j||null),[r,Qe]=A(d),[g,Ct]=A(void 0),Z=je({select_country:{},basic_information:{},contract_origin:{},contract_details:{},contract_preview:{},pricing_plan:{},eligibility_questionnaire:{}}),[tt,Ne]=A(void 0),[St,wt]=A(!1),[vt,Je]=A(!0),[ht,Ue]=A(!0),[ct,Pt]=A(null),{steps:Ke,stepsArray:Ge}=a(()=>se({includeSelectCountry:!x?.includes("select_country"),includeContractOrigin:!x?.includes("contract_origin"),includeEligibilityQuestionnaire:St,includeContractDetails:ht,includeContractPreview:vt}),[St,ht,vt,x]),{fieldValues:s,stepState:e,setFieldValues:Et,previousStep:He,nextStep:We,goToStep:B,setStepValues:Ot}=ie(Ke);I(()=>{ct&&(B(ct),Pt(null))},[ct,B]);let{data:o,isLoading:$e,refetch:Vt}=ne({employmentId:r,queryParams:{exclude_files:!0}}),ze=Le(),{data:Ft}=ke({options:{queryOptions:{enabled:e.currentStep.name==="review"}}}),{status:k}=o||{},h=k&&le.includes(k),Xe=k&&!ue.includes(k),Ye=a(()=>k&&["invited","initiated"].includes(k)?"invited":"not_invited",[k]),Mt=te(),Dt=ee(u,y),lt=Ce(),It=ae(),{mutateAsync:At}=ve(lt,It,s),kt=Oe(),Rt=Ve(),Tt=Me(),{mutateAsyncOrThrow:Ze}=b(Dt),qt=ye(),Lt=be(),jt=Fe(),{mutateAsyncOrThrow:tn}=b(Mt),{mutateAsyncOrThrow:en}=b(lt),{mutateAsyncOrThrow:nn}=b(qt),{mutateAsyncOrThrow:xt}=b(Lt),{mutateAsyncOrThrow:rn}=b(kt),{mutateAsyncOrThrow:Bt}=b(Rt),{mutateAsyncOrThrow:on}=b(jt),{mutateAsyncOrThrow:an}=b(Tt);d&&o?.country?.code&&!u&&bt(o.country.code);let{selectCountryForm:Q,isLoading:sn,countries:Qt}=Ie({jsfModify:y?.jsfModify?.select_country}),ut=a(()=>Qt?.find(t=>t.value===u),[Qt,u]),cn=a(()=>ut?.label,[ut]),ln=e.currentStep.name==="pricing_plan"||!!d&&h,{form:P,isLoading:un,contractorSubscriptions:et,filteredContractorSubscriptions:N,refetch:dt,isEligibilityQuestionnaireBlocked:J}=we(r,ut,{jsonSchemaVersion:y?.jsonSchemaVersion,queryOptions:{enabled:ln},excludeProducts:Be,jsfModify:y?.jsfModify?.pricing_plan}),R=a(()=>!!et?.find(t=>t.product.identifier===f)?.eligibility_questionnaire?.submitted_at,[et]),Nt=a(()=>R?!1:tt===f,[R,tt]),Jt=o?.contractor_type!=="cor",L=(s.contract_origin??e.values?.contract_origin?.contract_origin??o?.contract_details?.contract_origin)==="provided_by_customer";I(()=>{Ue(!L)},[L]),I(()=>{wt(!L&&Nt)},[L,Nt]),I(()=>{Je(!L&&Jt)},[L,Jt]);let nt=a(()=>et?.find(t=>t.product.identifier===f)?.eligibility_questionnaire?.responses,[et]),dn=xn[e.currentStep.name]||"contractor_basic_information",pn=Bn[dn],mn=o?.[pn]||{},fn=p(({form:t,options:i={},query:c={}})=>{let F=Object.keys(s).length>0?{...l,...e.values?.[e.currentStep.name],...s}:{...l,...mn};return Zt({countryCode:u,form:t,fieldValues:F,query:c,options:{...i,queryOptions:{enabled:i.queryOptions?.enabled??!0}}})},"useJSONSchema"),yn=!!(u&&(e.currentStep.name==="basic_information"||d)),_n=!!(u==="GBR"&&d&&e.currentStep.name==="basic_information"),{data:U,isLoading:gn}=he(d,{enabled:_n}),{data:it,isLoading:bn}=Pe(r,{enabled:!!r});I(()=>{it&&it.length>0&&!g&&Ct(it[0].id)},[it,g]);let{data:C,isLoading:Cn}=fn({form:"contractor_basic_information",options:{jsfModify:Te(u,cn,y),queryOptions:{enabled:yn}}}),Sn=a(()=>ce(o?.basic_information?.provisional_start_date,s?.service_duration?.provisional_start_date),[o?.basic_information?.provisional_start_date,s?.service_duration?.provisional_start_date]),_=a(()=>{let t={standard:Y,plus:st,cor:f};if(s.subscription)return s.subscription;let i=e.values?.pricing_plan?.subscription;if(i&&!J)return i;if(R&&!J)return f;if(J&&R)return Y;if(N&&N.length>0)return t[o?.contractor_type]||Y},[s,e.values,R,o?.contractor_type,J,N]);I(()=>{_&&_!==tt&&Ne(_)},[_,tt]);let wn=a(()=>({...nt,...l,...e.values?.eligibility_questionnaire,...s}),[nt,l,e.values?.eligibility_questionnaire,s]),vn=a(()=>_===f&&e.currentStep.name==="eligibility_questionnaire"||!!d&&h&&_===f,[_,e.currentStep.name,d,h]),{data:E,isLoading:hn}=Ee({options:{queryOptions:{enabled:vn},jsfModify:y?.jsfModify?.eligibility_questionnaire},fieldValues:wn}),Pn=!!(u&&e.currentStep.name==="contract_details"||h),{data:S,isLoading:En}=Ae({countryCode:u,fieldValues:s,employmentId:r,options:{queryOptions:{enabled:Pn},jsfModify:Re(y?.jsfModify?.contract_details,Sn,_,s,_===f)}}),On=a(()=>e.currentStep.name==="contract_preview"||!!d&&h,[e.currentStep.name,d,h]),{data:O}=fe({fieldValues:s,options:{queryOptions:{enabled:On},jsfModify:qe(y,s)}}),{data:V}=De({fieldValues:s}),{data:pt,isLoading:Vn,refetch:Fn}=_e({employmentId:r,contractDocumentId:g,options:{queryOptions:{enabled:!!g}}}),{hasCompanySignedContract:Mn}=ge({employmentId:r,contractDocumentId:g,options:{queryOptions:{enabled:!!g}}}),n=a(()=>({select_country:Q?.fields||[],basic_information:C?.fields||[],contract_origin:V?.fields||[],pricing_plan:P?.fields||[],eligibility_questionnaire:E?.fields||[],contract_details:S?.fields||[],contract_preview:O?.fields||[],review:[]}),[Q?.fields,C?.fields,V?.fields,P?.fields,S?.fields,O?.fields,E?.fields]),Dn={select_country:null,basic_information:C?.meta["x-jsf-fieldsets"],contract_origin:null,pricing_plan:null,contract_details:S?.meta["x-jsf-fieldsets"],eligibility_questionnaire:null,contract_preview:null,review:null},In={select_country:Q?.meta?.["x-jsf-presentation"],basic_information:C?.meta?.["x-jsf-presentation"],contract_origin:V?.meta?.["x-jsf-presentation"],pricing_plan:P?.meta?.["x-jsf-presentation"],eligibility_questionnaire:E?.meta?.["x-jsf-presentation"],contract_details:S?.meta?.["x-jsf-presentation"],contract_preview:O?.meta?.["x-jsf-presentation"],review:null},{country:An,basic_information:rt={},contract_details:Ut={}}=o||{},Kt=An?.code,K=a(()=>M(n.select_country,{country:u||Kt||""}),[n.select_country,u,Kt]),mt=a(()=>U?.content?zt(U.content,U.name):null,[U?.content,U?.name]),G=a(()=>{let t={...l,...rt,ir35:o?.contract_details?.ir_35,nationality_status:o?.contract_details?.nationality,...mt&&{ir35_sds_file:[mt]}};return M(n.basic_information,t)},[l,rt,o?.contract_details?.ir_35,o?.contract_details?.nationality,mt,n.basic_information]),Gt=a(()=>{let t={...l,contract_origin:o?.contract_details?.contract_origin};return M(n.contract_origin,t)},[n.contract_origin,l,o?.contract_details?.contract_origin]),H=a(()=>{let i={...{service_duration:{provisional_start_date:rt.provisional_start_date}},...l,...Ut};return M(n.contract_details,i)},[n.contract_details,Ut,l,rt]),W=a(()=>{let t=pt?.contract_document?.signatories?.find(c=>c.type==="company"),i={...l,signature:t?.signature};return M(n.contract_preview,i)},[n.contract_preview,l,pt]),$=a(()=>{let i={...{subscription:_},...l};return M(n.pricing_plan,i)},[n.pricing_plan,l,_]),z=a(()=>{let t={...l,...nt};return M(n.eligibility_questionnaire,t)},[n.eligibility_questionnaire,l,nt]),kn=a(()=>({select_country:K,basic_information:G,contract_origin:Gt,contract_details:H,contract_preview:W,pricing_plan:$,eligibility_questionnaire:z}),[K,G,Gt,H,W,$,z]),ft=!!(d&&h&&e.currentStep.name!=="review"),yt=sn||Cn||$e||En||un||Vn||gn||bn||hn,Ht=a(()=>{let i=o?.contractor_type==="cor"||n.contract_preview.length>0;return!!(ft&&!yt&&g&&n.basic_information.length>0&&n.contract_details.length>0&&i)},[ft,yt,g,n.basic_information.length,n.contract_details.length,n.contract_preview.length,o?.contractor_type]);I(()=>{Ht&&(Z.current={select_country:D(K,n.select_country,{skipMoneyConversion:!0}),basic_information:D(G,n.basic_information,{skipMoneyConversion:!0}),contract_origin:{},contract_details:D(H,n.contract_details,{skipMoneyConversion:!0}),contract_preview:D(W,n.contract_preview,{skipMoneyConversion:!0}),pricing_plan:D($,n.pricing_plan,{skipMoneyConversion:!0}),eligibility_questionnaire:D(z,n.eligibility_questionnaire,{skipMoneyConversion:!0})},Ot({select_country:K,basic_information:G,contract_origin:{},contract_details:H,contract_preview:W,pricing_plan:$,eligibility_questionnaire:z,review:{}}),B("review"))},[Ht,B,K,G,H,Ot,n.select_country,n.basic_information,n.contract_details,n.pricing_plan,$,n.contract_preview,W,n.eligibility_questionnaire,z]);let Rn=p(t=>{B(t)},"goTo"),Wt=p(async t=>Q&&e.currentStep.name==="select_country"?t:C&&e.currentStep.name==="basic_information"?await m(t,C?.fields,{isPartialValidation:!1}):S&&e.currentStep.name==="contract_details"?await m(t,S?.fields,{isPartialValidation:!1}):O&&e.currentStep.name==="contract_preview"?await m(t,O?.fields,{isPartialValidation:!1}):P&&e.currentStep.name==="pricing_plan"?await m(t,P?.fields,{isPartialValidation:!1}):E&&e.currentStep.name==="eligibility_questionnaire"?await m(t,E?.fields,{isPartialValidation:!1}):V&&e.currentStep.name==="contract_origin"?await m(t,V?.fields,{isPartialValidation:!1}):{},"parseFormValues"),Tn=p(t=>{if(!$t(t))return null;let i=t.normalizedErrors.services_and_deliverables,c=Array.isArray(i)?i[0]:i;return c?.source===oe?{error:c.error,source:c.source,skippable:c.skippable}:null},"extractAiValidationError");async function qn(t){let i=e.currentStep.name,c=await Wt(t);switch(i in Z.current&&(Z.current[i]=D(c,n[i])),e.currentStep.name){case"select_country":return bt(c.country),Promise.resolve({data:{countryCode:c.country}});case"basic_information":{let T=!r&&u,F=r&&u&&o?.country&&o?.country.code!==u;if(T||F){let _t={basic_information:xe(c,"nationality_status","ir35","ir35_sds_file"),type:"contractor",country_code:u,external_id:q},at=await tn(_t),w=at?.data?.employment?.id;if(!w)throw v("Employment ID not found");return await At({employmentId:w}),Qe(w),at}else if(r){let ot=xe(c,"nationality_status","ir35","ir35_sds_file");return await At({employmentId:r}),Ze({employmentId:r,basic_information:ot})}return}case"contract_details":{let{services_and_deliverables_ai_warning:T,services_and_deliverables_error_skippable:F,...ot}=c,_t=s.services_and_deliverables_error_skippable===!0,at={contract_document:ot,skip_ai_checks:_t};try{let w=await en({employmentId:r,payload:at}),X=w?.data?.contract_document?.id;if(!X)throw v("Contract document ID not found");return Ct(X),w}catch(w){let X=Tn(w);throw X&&Et({...t,services_and_deliverables_ai_warning:de(_===f),services_and_deliverables_error_skippable:X.skippable}),w}}case"contract_preview":{if(Mn)return Promise.resolve({data:{contract_document:{id:g}}});let T=await nn({employmentId:r,contractDocumentId:g,payload:{signature:c.signature}});return await Fn(),T}case"pricing_plan":{if(t.subscription===re)return Promise.resolve({data:{subscription:t.subscription}});if(N.length===0)throw v("No available subscriptions.");if(!t.subscription&&N.length>0)throw v("Please select a subscription plan.");if(J&&[f,st].includes(t.subscription))throw v(`This individual is not eligible for ${Se[t.subscription]}.`);if(R&&t.subscription!==f)try{await on({employmentId:r}),await dt()}catch(F){if(F?.response?.status!==404)throw F;await dt()}if(t.subscription==Y)return xt({employmentId:r,payload:{operation:"downgrade"}});if(t.subscription==st)return xt({employmentId:r,payload:{operation:"upgrade"}});if(t.subscription==f)return R&&o?.contractor_type!=="cor"?Bt({employmentId:r}):Promise.resolve({data:{subscription:t.subscription}});throw v("invalid selection")}case"contract_origin":return t.contract_origin==="provided_by_customer"&&await an({employmentId:r,contractOrigin:"provided_by_customer",templateType:"contractor_agreement"}),{data:{contractOrigin:t.contract_origin}};case"eligibility_questionnaire":try{if((await rn({employmentId:r,payload:c}))?.data?.is_blocking)throw wt(!1),Pt("pricing_plan"),v("This individual is not eligible for Contractor of Record.");return await Bt({employmentId:r})}finally{await dt()}default:throw v("Invalid step state")}}return p(qn,"onSubmit"),{isLoading:yt||ft,fieldValues:s,stepState:e,checkFieldUpdates:Et,markContractAsReviewed:p(()=>{gt.current?.()},"markContractAsReviewed"),back:He,next:p(()=>{r&&Vt(),We()},"handleNextStep"),goTo:Rn,onSubmit:qn,fields:n[e.currentStep.name],meta:{fields:Z.current,fieldsets:Dn[e.currentStep.name],presentation:In[e.currentStep.name]},parseFormValues:Wt,canSkipAiValidation:s.services_and_deliverables_error_skippable===!0,handleValidation:p(async t=>{if(e.currentStep.name==="select_country")return Q.handleValidation(t);if(C&&e.currentStep.name==="basic_information"){let i=await m(t,C?.fields,{isPartialValidation:!1});return C?.handleValidation(i)}if(S&&e.currentStep.name==="contract_details"){let i=await m(t,S?.fields,{isPartialValidation:!1});return S?.handleValidation(i)}if(O&&e.currentStep.name==="contract_preview"){let i=await m(t,O?.fields,{isPartialValidation:!0});return O?.handleValidation(i)}if(P&&e.currentStep.name==="pricing_plan"){let i=await m(t,P?.fields,{isPartialValidation:!1});return P?.handleValidation(i)}if(E&&e.currentStep.name==="eligibility_questionnaire"){let i=await m(t,E?.fields,{isPartialValidation:!1});return E?.handleValidation(i)}if(V&&e.currentStep.name==="contract_origin"){let i=await m(t,V?.fields,{isPartialValidation:!1});return V?.handleValidation(i)}return null},"handleValidation"),initialValues:kn,employmentId:r,refetchEmployment:Vt,isSubmitting:Mt.isPending||Dt.isPending||lt.isPending||qt.isPending||Lt.isPending||It.isPending||kt.isPending||Rt.isPending||jt.isPending||Tt.isPending,documentPreviewPdf:pt,canInvite:Xe,isEmploymentReadOnly:h,invitedStatus:Ye,employment:o,defaultLegalEntity:ze,needsCompanyVerification:Ft?.some(t=>t.type==="verify_company")??!1,needsRemotePaymentsSetup:Ft?.some(t=>t.type==="setup_remote_payments")??!1,steps:Ge}},"useContractorOnboarding");export{gi as a};
|
|
2
|
+
//# sourceMappingURL=chunk-4LQDSIUG.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/flows/ContractorOnboarding/hooks.tsx","../src/common/api/legal-entities.ts"],"sourcesContent":["import { useEffect, useMemo, useRef, useState } from 'react';\nimport { FieldValues } from 'react-hook-form';\nimport omit from 'lodash.omit';\nimport { $TSFixMe, JSFFields } from '@/src/types/remoteFlows';\nimport {\n CreateContractDocument,\n Employment,\n EmploymentCreateParams,\n} from '@/src/client/types.gen';\nimport {\n getInitialValues,\n parseJSFToValidate,\n} from '@/src/components/form/utils';\nimport { ValidationResult } from '@remoteoss/remote-json-schema-form-kit';\nimport {\n useCreateContractorContractDocument,\n useGetContractDocumentSignatureSchema,\n usePostManageContractorSubscriptions,\n useContractorSubscriptionSchemaField,\n useGetShowContractDocument,\n useSignContractDocument,\n useUpdateUKandSaudiFields,\n useGetIR35File,\n useGetContractDocuments,\n useGetEligibilityQuestionnaire,\n usePostCreateEligibilityQuestionnaire,\n usePostManageContractorCorSubscription,\n useDeleteContractorCorSubscription,\n useCountriesSchemaField,\n useContractorOnboardingDetailsSchemaWithCurrencies,\n CONTRACT_PRODUCT_TITLES,\n useHasCompanySignedContract,\n useCompanyOpenTasks,\n useSetContractOrigin,\n useGetContractOriginSchema,\n} from '@/src/flows/ContractorOnboarding/api';\nimport {\n ContractorOnboardingFlowProps,\n ContractorOnboardingHookOptions,\n} from '@/src/flows/ContractorOnboarding/types';\nimport {\n buildSteps,\n calculateProvisionalStartDateDescription,\n reviewStepAllowedEmploymentStatus,\n disabledInviteButtonEmploymentStatus,\n StepKeys,\n} from '@/src/flows/ContractorOnboarding/utils';\nimport {\n useCreateEmployment,\n useJSONSchemaForm,\n useUpdateEmployment,\n} from '@/src/flows/Onboarding/api';\nimport { FlowOptions, JSFModify, JSONSchemaFormType } from '@/src/flows/types';\nimport { useStepState } from '@/src/flows/useStepState';\nimport { mutationToPromise, isMutationError } from '@/src/lib/mutations';\nimport { createStructuredError, prettifyFormValues } from '@/src/lib/utils';\nimport { JSFFieldset, Meta } from '@/src/types/remoteFlows';\nimport {\n contractorStandardProductIdentifier,\n contractorPlusProductIdentifier,\n corProductIdentifier,\n eorProductIdentifier,\n REMOTE_AI_ERROR_SOURCE,\n} from '@/src/flows/ContractorOnboarding/constants';\nimport {\n buildBasicInformationJsfModify,\n buildContractDetailsJsfModify,\n buildContractPreviewJsfModify,\n} from '@/src/flows/ContractorOnboarding/jsfModify';\nimport { transformAiErrorResponse } from '@/src/flows/ContractorOnboarding/utils';\nimport { AiValidationError } from '@/src/flows/ContractorOnboarding/types';\nimport { useUploadFile } from '@/src/common/api/files';\nimport { dataURLtoFile } from '@/src/lib/files';\nimport { useEmploymentQuery } from '@/src/common/api/employment';\nimport { useDefaultLegalEntity } from '@/src/common/api/legal-entities';\n\ntype useContractorOnboardingProps = Omit<\n ContractorOnboardingFlowProps,\n 'render' | 'options'\n> & {\n options: ContractorOnboardingHookOptions;\n};\n\nconst stepToFormSchemaMap: Record<StepKeys, JSONSchemaFormType | null> = {\n select_country: null,\n basic_information: 'employment_basic_information',\n contract_origin: null,\n contract_details: null,\n eligibility_questionnaire: null,\n pricing_plan: null,\n contract_preview: null,\n review: null,\n};\n\nconst jsonSchemaToEmployment: Partial<\n Record<JSONSchemaFormType, keyof Employment>\n> = {\n employment_basic_information: 'basic_information',\n};\n\nexport const useContractorOnboarding = ({\n countryCode,\n externalId,\n employmentId,\n skipSteps,\n options,\n initialValues: onboardingInitialValues,\n}: useContractorOnboardingProps) => {\n const excludeProducts = options?.excludeProducts || [];\n\n const onContractReviewedRef = useRef(options?.onContractReviewed);\n\n useEffect(() => {\n onContractReviewedRef.current = options?.onContractReviewed;\n }, [options?.onContractReviewed]);\n\n const [internalCountryCode, setInternalCountryCode] = useState<string | null>(\n countryCode || null,\n );\n const [internalEmploymentId, setInternalEmploymentId] = useState<\n string | undefined\n >(employmentId);\n const [internalContractDocumentId, setInternalContractDocumentId] = useState<\n string | undefined\n >(undefined);\n const fieldsMetaRef = useRef<{\n select_country: Meta;\n basic_information: Meta;\n contract_origin: Meta;\n contract_details: Meta;\n contract_preview: Meta;\n pricing_plan: Meta;\n eligibility_questionnaire: Meta;\n }>({\n select_country: {},\n basic_information: {},\n contract_origin: {},\n contract_details: {},\n contract_preview: {},\n pricing_plan: {},\n eligibility_questionnaire: {},\n });\n\n const [selectedProduct, setSelectedProduct] = useState<string | undefined>(\n undefined,\n );\n\n const [includeEligibilityQuestionnaire, setIncludeEligibilityQuestionnaire] =\n useState<boolean>(false);\n\n const [includeContractPreview, setIncludeContractPreview] =\n useState<boolean>(true);\n\n const [includeContractDetails, setIncludeContractDetails] =\n useState<boolean>(true);\n\n const [pendingNavigationStep, setPendingNavigationStep] =\n useState<StepKeys | null>(null);\n\n const { steps, stepsArray } = useMemo(\n () =>\n buildSteps({\n includeSelectCountry: !skipSteps?.includes('select_country'),\n includeContractOrigin: !skipSteps?.includes('contract_origin'),\n includeEligibilityQuestionnaire: includeEligibilityQuestionnaire,\n includeContractDetails: includeContractDetails,\n includeContractPreview: includeContractPreview,\n }),\n [\n includeEligibilityQuestionnaire,\n includeContractDetails,\n includeContractPreview,\n skipSteps,\n ],\n );\n\n const {\n fieldValues,\n stepState,\n setFieldValues,\n previousStep,\n nextStep,\n goToStep,\n setStepValues,\n } = useStepState(steps);\n\n useEffect(() => {\n if (pendingNavigationStep) {\n // Now steps have been updated\n goToStep(pendingNavigationStep);\n setPendingNavigationStep(null);\n }\n }, [pendingNavigationStep, goToStep]);\n\n const {\n data: employment,\n isLoading: isLoadingEmployment,\n refetch: refetchEmployment,\n } = useEmploymentQuery({\n employmentId: internalEmploymentId as string,\n queryParams: { exclude_files: true },\n });\n\n const defaultLegalEntity = useDefaultLegalEntity();\n\n const { data: openTasks } = useCompanyOpenTasks({\n options: {\n queryOptions: {\n enabled: stepState.currentStep.name === 'review',\n },\n },\n });\n\n const { status: employmentStatus } = employment || {};\n\n const isEmploymentReadOnly =\n employmentStatus &&\n reviewStepAllowedEmploymentStatus.includes(employmentStatus);\n\n const canInvite =\n employmentStatus &&\n !disabledInviteButtonEmploymentStatus.includes(employmentStatus);\n\n const invitedStatus: 'invited' | 'not_invited' = useMemo(() => {\n const invitedStatuses = ['invited', 'initiated'];\n const isInvited =\n employmentStatus && invitedStatuses.includes(employmentStatus);\n\n return isInvited ? 'invited' : 'not_invited';\n }, [employmentStatus]);\n\n const createEmploymentMutation = useCreateEmployment();\n const updateEmploymentMutation = useUpdateEmployment(\n internalCountryCode as string,\n options,\n );\n const createContractorContractDocumentMutation =\n useCreateContractorContractDocument();\n const uploadFileMutation = useUploadFile();\n const { mutateAsync: updateUKandSaudiFieldsMutation } =\n useUpdateUKandSaudiFields(\n createContractorContractDocumentMutation,\n uploadFileMutation,\n fieldValues,\n );\n const createEligibilityQuestionnaireMutation =\n usePostCreateEligibilityQuestionnaire();\n const manageContractorCorSubscriptionMutation =\n usePostManageContractorCorSubscription();\n const setContractOriginMutation = useSetContractOrigin();\n\n const { mutateAsyncOrThrow: updateEmploymentMutationAsync } =\n mutationToPromise(updateEmploymentMutation);\n const signContractDocumentMutation = useSignContractDocument();\n const manageContractorSubscriptionMutation =\n usePostManageContractorSubscriptions();\n const deleteContractorCorSubscriptionMutation =\n useDeleteContractorCorSubscription();\n\n const { mutateAsyncOrThrow: createEmploymentMutationAsync } =\n mutationToPromise(createEmploymentMutation);\n\n const { mutateAsyncOrThrow: createContractorContractDocumentMutationAsync } =\n mutationToPromise(createContractorContractDocumentMutation);\n\n const { mutateAsyncOrThrow: signContractDocumentMutationAsync } =\n mutationToPromise(signContractDocumentMutation);\n\n const { mutateAsyncOrThrow: manageContractorSubscriptionMutationAsync } =\n mutationToPromise(manageContractorSubscriptionMutation);\n\n const { mutateAsyncOrThrow: createEligibilityQuestionnaireMutationAsync } =\n mutationToPromise(createEligibilityQuestionnaireMutation);\n\n const { mutateAsyncOrThrow: manageContractorCorSubscriptionMutationAsync } =\n mutationToPromise(manageContractorCorSubscriptionMutation);\n\n const { mutateAsyncOrThrow: deleteContractorCorSubscriptionMutationAsync } =\n mutationToPromise(deleteContractorCorSubscriptionMutation);\n\n const { mutateAsyncOrThrow: setContractOriginMutationAsync } =\n mutationToPromise(setContractOriginMutation);\n\n // if the employment is loaded, country code has not been set yet\n // we set the internal country code with the employment country code\n if (employmentId && employment?.country?.code && !internalCountryCode) {\n setInternalCountryCode(employment.country.code);\n }\n\n const {\n selectCountryForm,\n isLoading: isLoadingCountries,\n countries,\n } = useCountriesSchemaField({\n jsfModify: options?.jsfModify?.select_country,\n });\n\n const selectedCountry = useMemo(() => {\n return countries?.find((country) => country.value === internalCountryCode);\n }, [countries, internalCountryCode]);\n\n const countryName = useMemo(() => {\n return selectedCountry?.label;\n }, [selectedCountry]);\n\n const isPricingPlanEnabled =\n stepState.currentStep.name === 'pricing_plan' ||\n (Boolean(employmentId) && isEmploymentReadOnly);\n\n const {\n form: selectContractorSubscriptionForm,\n isLoading: isLoadingContractorSubscriptions,\n contractorSubscriptions,\n filteredContractorSubscriptions,\n refetch: refetchContractorSubscriptions,\n isEligibilityQuestionnaireBlocked,\n } = useContractorSubscriptionSchemaField(\n internalEmploymentId as string,\n selectedCountry,\n {\n jsonSchemaVersion: options?.jsonSchemaVersion,\n queryOptions: {\n enabled: isPricingPlanEnabled,\n },\n excludeProducts: excludeProducts,\n jsfModify: options?.jsfModify?.pricing_plan,\n },\n );\n\n const hasEligibilityQuestionnaireSubmitted = useMemo(() => {\n return Boolean(\n contractorSubscriptions?.find(\n (subscription) =>\n subscription.product.identifier === corProductIdentifier,\n )?.eligibility_questionnaire?.submitted_at,\n );\n }, [contractorSubscriptions]);\n\n const shouldIncludeEligibilityQuestionnaire = useMemo(() => {\n if (hasEligibilityQuestionnaireSubmitted) return false;\n return selectedProduct === corProductIdentifier;\n }, [hasEligibilityQuestionnaireSubmitted, selectedProduct]);\n\n const shouldIncludeContractPreview = employment?.contractor_type !== 'cor';\n\n const selectedContractOrigin =\n (fieldValues.contract_origin as string | undefined) ??\n (stepState.values?.contract_origin?.contract_origin as\n | string\n | undefined) ??\n employment?.contract_details?.contract_origin;\n\n const isContractProvidedByCustomer =\n selectedContractOrigin === 'provided_by_customer';\n\n useEffect(() => {\n setIncludeContractDetails(!isContractProvidedByCustomer);\n }, [isContractProvidedByCustomer]);\n\n useEffect(() => {\n setIncludeEligibilityQuestionnaire(\n !isContractProvidedByCustomer && shouldIncludeEligibilityQuestionnaire,\n );\n }, [isContractProvidedByCustomer, shouldIncludeEligibilityQuestionnaire]);\n\n useEffect(() => {\n setIncludeContractPreview(\n !isContractProvidedByCustomer && shouldIncludeContractPreview,\n );\n }, [isContractProvidedByCustomer, shouldIncludeContractPreview]);\n\n const eligibilityAnswers = useMemo(() => {\n return contractorSubscriptions?.find(\n (subscription) =>\n subscription.product.identifier === corProductIdentifier,\n )?.eligibility_questionnaire?.responses;\n }, [contractorSubscriptions]);\n\n const formType =\n stepToFormSchemaMap[stepState.currentStep.name] ||\n 'contractor_basic_information';\n const employmentKey = jsonSchemaToEmployment[formType] as keyof Employment;\n const serverEmploymentData = (employment?.[employmentKey] || {}) as Record<\n string,\n unknown\n >;\n\n const useJSONSchema = ({\n form,\n options: jsonSchemaOptions = {},\n query = {},\n }: {\n form: JSONSchemaFormType;\n options?: {\n jsfModify?: JSFModify;\n queryOptions?: { enabled?: boolean };\n jsonSchemaVersion?: FlowOptions['jsonSchemaVersion'];\n };\n query?: Record<string, string>;\n }) => {\n const hasUserEnteredAnyValues = Object.keys(fieldValues).length > 0;\n // when you write on the fields, the values are stored in the fieldValues state\n // when values are stored in the stepState is when the user has navigated to the step\n // and then we have the values from the server and the onboardingInitialValues that the user can inject,\n const mergedFormValues = hasUserEnteredAnyValues\n ? {\n ...onboardingInitialValues,\n ...stepState.values?.[stepState.currentStep.name], // Restore values for the current step\n ...fieldValues,\n }\n : {\n ...onboardingInitialValues,\n ...serverEmploymentData,\n };\n\n return useJSONSchemaForm({\n countryCode: internalCountryCode as string,\n form: form,\n fieldValues: mergedFormValues,\n query,\n options: {\n ...jsonSchemaOptions,\n queryOptions: {\n enabled: jsonSchemaOptions.queryOptions?.enabled ?? true,\n },\n },\n });\n };\n\n const isBasicInformationDetailsEnabled = Boolean(\n internalCountryCode &&\n (stepState.currentStep.name === 'basic_information' ||\n Boolean(employmentId)),\n );\n\n const isIR35FileEnabled = Boolean(\n internalCountryCode === 'GBR' &&\n employmentId &&\n stepState.currentStep.name === 'basic_information',\n );\n\n const { data: ir35File, isLoading: isLoadingIR35File } = useGetIR35File(\n employmentId as string,\n {\n enabled: isIR35FileEnabled,\n },\n );\n\n const { data: contractDocuments, isLoading: isLoadingContractDocuments } =\n useGetContractDocuments(internalEmploymentId as string, {\n enabled: Boolean(internalEmploymentId),\n });\n\n useEffect(() => {\n if (\n contractDocuments &&\n contractDocuments.length > 0 &&\n !internalContractDocumentId\n ) {\n setInternalContractDocumentId(contractDocuments[0].id);\n }\n }, [contractDocuments, internalContractDocumentId]);\n\n const {\n data: basicInformationForm,\n isLoading: isLoadingBasicInformationForm,\n } = useJSONSchema({\n form: 'contractor_basic_information',\n options: {\n jsfModify: buildBasicInformationJsfModify(\n internalCountryCode as string,\n countryName,\n options,\n ),\n queryOptions: {\n enabled: isBasicInformationDetailsEnabled,\n },\n },\n });\n\n const descriptionProvisionalStartDate = useMemo(() => {\n return calculateProvisionalStartDateDescription(\n employment?.basic_information?.provisional_start_date as string,\n fieldValues?.service_duration?.provisional_start_date as string,\n );\n }, [\n employment?.basic_information?.provisional_start_date,\n fieldValues?.service_duration?.provisional_start_date,\n ]);\n\n /**\n * When the user selects COR, the data isn't saved yet in the BE\n * We need to use the internalState to know what has happened\n */\n const selectedPricingPlan = useMemo(() => {\n const subscriptions = {\n standard: contractorStandardProductIdentifier,\n plus: contractorPlusProductIdentifier,\n cor: corProductIdentifier,\n };\n\n // HIGHEST PRIORITY: Current form value (user is actively selecting)\n if (fieldValues.subscription) {\n return fieldValues.subscription;\n }\n\n // SECOND: Previously submitted value in this session\n const subscription = stepState.values?.pricing_plan?.subscription;\n if (subscription && !isEligibilityQuestionnaireBlocked) {\n return subscription;\n }\n\n // THIRD: Backend state (eligibility submitted or employment contractor_type)\n if (\n hasEligibilityQuestionnaireSubmitted &&\n !isEligibilityQuestionnaireBlocked\n ) {\n return corProductIdentifier;\n }\n\n // Fourth: If the eligibility questionnaire is blocked and has been submitted, return the standard product\n if (\n isEligibilityQuestionnaireBlocked &&\n hasEligibilityQuestionnaireSubmitted\n ) {\n return contractorStandardProductIdentifier;\n }\n\n // Fifth: If there are no available subscriptions, return undefined\n const hasAvailableSubscriptions =\n filteredContractorSubscriptions &&\n filteredContractorSubscriptions.length > 0;\n\n if (!hasAvailableSubscriptions) {\n return undefined;\n }\n\n // FALLBACK: Employment contractor_type or default\n return (\n subscriptions[\n employment?.contractor_type as keyof typeof subscriptions\n ] || contractorStandardProductIdentifier\n );\n }, [\n fieldValues,\n stepState.values,\n hasEligibilityQuestionnaireSubmitted,\n employment?.contractor_type,\n isEligibilityQuestionnaireBlocked,\n filteredContractorSubscriptions,\n ]);\n\n useEffect(() => {\n if (selectedPricingPlan && selectedPricingPlan !== selectedProduct) {\n setSelectedProduct(selectedPricingPlan);\n }\n }, [selectedPricingPlan, selectedProduct]);\n\n const eligibilityFields = useMemo(() => {\n return {\n ...eligibilityAnswers,\n ...onboardingInitialValues,\n ...stepState.values?.eligibility_questionnaire,\n ...fieldValues,\n };\n }, [\n eligibilityAnswers,\n onboardingInitialValues,\n stepState.values?.eligibility_questionnaire,\n fieldValues,\n ]);\n\n const isEligibilityQuestionnaireEnabled = useMemo(() => {\n return (\n (selectedPricingPlan === corProductIdentifier &&\n stepState.currentStep.name === 'eligibility_questionnaire') ||\n (Boolean(employmentId) &&\n isEmploymentReadOnly &&\n selectedPricingPlan === corProductIdentifier)\n );\n }, [\n selectedPricingPlan,\n stepState.currentStep.name,\n employmentId,\n isEmploymentReadOnly,\n ]);\n\n const {\n data: eligibilityQuestionnaireForm,\n isLoading: isLoadingEligibilityQuestionnaire,\n } = useGetEligibilityQuestionnaire({\n options: {\n queryOptions: {\n enabled: isEligibilityQuestionnaireEnabled,\n },\n jsfModify: options?.jsfModify?.eligibility_questionnaire,\n },\n fieldValues: eligibilityFields,\n });\n\n const isContractorOnboardingDetailsEnabled = Boolean(\n (internalCountryCode &&\n stepState.currentStep.name === 'contract_details') ||\n isEmploymentReadOnly,\n );\n\n const {\n data: contractorOnboardingDetailsForm,\n isLoading: isLoadingContractorOnboardingDetailsForm,\n } = useContractorOnboardingDetailsSchemaWithCurrencies({\n countryCode: internalCountryCode as string,\n fieldValues: fieldValues,\n employmentId: internalEmploymentId as string,\n options: {\n queryOptions: {\n enabled: isContractorOnboardingDetailsEnabled,\n },\n jsfModify: buildContractDetailsJsfModify(\n options?.jsfModify?.contract_details,\n descriptionProvisionalStartDate,\n selectedPricingPlan,\n fieldValues,\n selectedPricingPlan === corProductIdentifier,\n ),\n },\n });\n\n const isSignatureSchemaEnabled = useMemo(() => {\n return (\n stepState.currentStep.name === 'contract_preview' ||\n (Boolean(employmentId) && isEmploymentReadOnly)\n );\n }, [stepState.currentStep.name, employmentId, isEmploymentReadOnly]);\n\n const { data: signatureSchemaForm } = useGetContractDocumentSignatureSchema({\n fieldValues: fieldValues,\n options: {\n queryOptions: {\n enabled: isSignatureSchemaEnabled,\n },\n jsfModify: buildContractPreviewJsfModify(options, fieldValues),\n },\n });\n\n const { data: contractOriginForm } = useGetContractOriginSchema({\n fieldValues: fieldValues,\n });\n\n const {\n data: documentPreviewPdf,\n isLoading: isLoadingDocumentPreviewForm,\n refetch: refetchDocumentPreviewForm,\n } = useGetShowContractDocument({\n employmentId: internalEmploymentId as string,\n contractDocumentId: internalContractDocumentId as string,\n options: {\n queryOptions: {\n enabled: Boolean(internalContractDocumentId),\n },\n },\n });\n\n const { hasCompanySignedContract } = useHasCompanySignedContract({\n employmentId: internalEmploymentId as string,\n contractDocumentId: internalContractDocumentId as string,\n options: {\n queryOptions: {\n enabled: Boolean(internalContractDocumentId),\n },\n },\n });\n\n const stepFields: Record<StepKeys, JSFFields> = useMemo(\n () => ({\n select_country: selectCountryForm?.fields || [],\n basic_information: basicInformationForm?.fields || [],\n contract_origin: contractOriginForm?.fields || [],\n pricing_plan: selectContractorSubscriptionForm?.fields || [],\n eligibility_questionnaire: eligibilityQuestionnaireForm?.fields || [],\n contract_details: contractorOnboardingDetailsForm?.fields || [],\n contract_preview: signatureSchemaForm?.fields || [],\n review: [],\n }),\n [\n selectCountryForm?.fields,\n basicInformationForm?.fields,\n contractOriginForm?.fields,\n selectContractorSubscriptionForm?.fields,\n contractorOnboardingDetailsForm?.fields,\n signatureSchemaForm?.fields,\n eligibilityQuestionnaireForm?.fields,\n ],\n );\n\n const stepFieldsWithFlatFieldsets: Record<\n StepKeys,\n JSFFieldset | null | undefined\n > = {\n select_country: null,\n basic_information: basicInformationForm?.meta['x-jsf-fieldsets'],\n contract_origin: null,\n pricing_plan: null,\n contract_details: contractorOnboardingDetailsForm?.meta['x-jsf-fieldsets'],\n eligibility_questionnaire: null,\n contract_preview: null,\n review: null,\n };\n\n const stepPresentation: Record<\n StepKeys,\n Record<string, unknown> | null | undefined\n > = {\n select_country: selectCountryForm?.meta?.['x-jsf-presentation'],\n basic_information: basicInformationForm?.meta?.['x-jsf-presentation'],\n contract_origin: contractOriginForm?.meta?.['x-jsf-presentation'],\n pricing_plan:\n selectContractorSubscriptionForm?.meta?.['x-jsf-presentation'],\n eligibility_questionnaire:\n eligibilityQuestionnaireForm?.meta?.['x-jsf-presentation'],\n contract_details:\n contractorOnboardingDetailsForm?.meta?.['x-jsf-presentation'],\n contract_preview: signatureSchemaForm?.meta?.['x-jsf-presentation'],\n review: null,\n };\n\n const {\n country,\n basic_information: employmentBasicInformation = {},\n contract_details: employmentContractDetails = {},\n } = employment || {};\n\n const employmentCountryCode = country?.code;\n\n const selectCountryInitialValues = useMemo(\n () =>\n getInitialValues(stepFields.select_country, {\n country: internalCountryCode || employmentCountryCode || '',\n }),\n [stepFields.select_country, internalCountryCode, employmentCountryCode],\n );\n\n // memoize file conversion to avoid re-converting the file on every render\n // noticed performance issues when not doing memoizing individually\n const convertedIr35File = useMemo(() => {\n if (!ir35File?.content) return null;\n return dataURLtoFile(ir35File.content as unknown as string, ir35File.name);\n }, [ir35File?.content, ir35File?.name]);\n\n const basicInformationInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...employmentBasicInformation,\n ir35: employment?.contract_details?.ir_35,\n nationality_status: employment?.contract_details?.nationality,\n ...(convertedIr35File && {\n ir35_sds_file: [convertedIr35File],\n }),\n };\n\n return getInitialValues(stepFields.basic_information, initialValues);\n }, [\n onboardingInitialValues,\n employmentBasicInformation,\n employment?.contract_details?.ir_35,\n employment?.contract_details?.nationality,\n convertedIr35File,\n stepFields.basic_information,\n ]);\n\n const contractOriginInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n contract_origin: employment?.contract_details?.contract_origin,\n };\n return getInitialValues(stepFields.contract_origin, initialValues);\n }, [\n stepFields.contract_origin,\n onboardingInitialValues,\n employment?.contract_details?.contract_origin,\n ]);\n\n const contractDetailsInitialValues = useMemo(() => {\n const hardcodedValues = {\n service_duration: {\n provisional_start_date:\n employmentBasicInformation.provisional_start_date,\n },\n };\n const initialValues = {\n ...hardcodedValues,\n ...onboardingInitialValues,\n ...employmentContractDetails,\n };\n\n return getInitialValues(stepFields.contract_details, initialValues);\n }, [\n stepFields.contract_details,\n employmentContractDetails,\n onboardingInitialValues,\n employmentBasicInformation,\n ]);\n\n const contractPreviewInitialValues = useMemo(() => {\n const signature = documentPreviewPdf?.contract_document?.signatories?.find(\n (signatory) => signatory.type === 'company',\n );\n const initialValues = {\n ...onboardingInitialValues,\n signature: signature?.signature,\n };\n\n return getInitialValues(stepFields.contract_preview, initialValues);\n }, [\n stepFields.contract_preview,\n onboardingInitialValues,\n documentPreviewPdf,\n ]);\n\n const pricingPlanInitialValues = useMemo(() => {\n const preselectedPricingPlan = {\n subscription: selectedPricingPlan,\n };\n const initialValues = {\n ...preselectedPricingPlan,\n ...onboardingInitialValues,\n };\n\n return getInitialValues(stepFields.pricing_plan, initialValues);\n }, [stepFields.pricing_plan, onboardingInitialValues, selectedPricingPlan]);\n\n const eligibilityQuestionnaireInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...eligibilityAnswers,\n };\n return getInitialValues(\n stepFields.eligibility_questionnaire,\n initialValues,\n );\n }, [\n stepFields.eligibility_questionnaire,\n onboardingInitialValues,\n eligibilityAnswers,\n ]);\n\n const initialValues = useMemo(() => {\n return {\n select_country: selectCountryInitialValues,\n basic_information: basicInformationInitialValues,\n contract_origin: contractOriginInitialValues,\n contract_details: contractDetailsInitialValues,\n contract_preview: contractPreviewInitialValues,\n pricing_plan: pricingPlanInitialValues,\n eligibility_questionnaire: eligibilityQuestionnaireInitialValues,\n };\n }, [\n selectCountryInitialValues,\n basicInformationInitialValues,\n contractOriginInitialValues,\n contractDetailsInitialValues,\n contractPreviewInitialValues,\n pricingPlanInitialValues,\n eligibilityQuestionnaireInitialValues,\n ]);\n\n const shouldHandleReadOnlyEmployment = Boolean(\n employmentId &&\n isEmploymentReadOnly &&\n stepState.currentStep.name !== 'review',\n );\n\n const initialLoading =\n isLoadingCountries ||\n isLoadingBasicInformationForm ||\n isLoadingEmployment ||\n isLoadingContractorOnboardingDetailsForm ||\n isLoadingContractorSubscriptions ||\n isLoadingDocumentPreviewForm ||\n isLoadingIR35File ||\n isLoadingContractDocuments ||\n isLoadingEligibilityQuestionnaire;\n\n const isNavigatingToReview = useMemo(() => {\n const isCor = employment?.contractor_type === 'cor';\n const hasContractPreviewFields =\n isCor || stepFields.contract_preview.length > 0;\n\n return Boolean(\n shouldHandleReadOnlyEmployment &&\n !initialLoading &&\n Boolean(internalContractDocumentId) &&\n stepFields.basic_information.length > 0 &&\n stepFields.contract_details.length > 0 &&\n hasContractPreviewFields,\n );\n }, [\n shouldHandleReadOnlyEmployment,\n initialLoading,\n internalContractDocumentId,\n stepFields.basic_information.length,\n stepFields.contract_details.length,\n stepFields.contract_preview.length,\n employment?.contractor_type,\n ]);\n\n useEffect(() => {\n if (isNavigatingToReview) {\n fieldsMetaRef.current = {\n select_country: prettifyFormValues(\n selectCountryInitialValues,\n stepFields.select_country,\n { skipMoneyConversion: true },\n ),\n basic_information: prettifyFormValues(\n basicInformationInitialValues,\n stepFields.basic_information,\n { skipMoneyConversion: true },\n ),\n contract_origin: {},\n contract_details: prettifyFormValues(\n contractDetailsInitialValues,\n stepFields.contract_details,\n { skipMoneyConversion: true },\n ),\n contract_preview: prettifyFormValues(\n contractPreviewInitialValues,\n stepFields.contract_preview,\n { skipMoneyConversion: true },\n ),\n pricing_plan: prettifyFormValues(\n pricingPlanInitialValues,\n stepFields.pricing_plan,\n { skipMoneyConversion: true },\n ),\n eligibility_questionnaire: prettifyFormValues(\n eligibilityQuestionnaireInitialValues,\n stepFields.eligibility_questionnaire,\n { skipMoneyConversion: true },\n ),\n };\n\n setStepValues({\n select_country: selectCountryInitialValues,\n basic_information: basicInformationInitialValues,\n contract_origin: {},\n contract_details: contractDetailsInitialValues,\n contract_preview: contractPreviewInitialValues,\n pricing_plan: pricingPlanInitialValues,\n eligibility_questionnaire: eligibilityQuestionnaireInitialValues,\n review: {},\n });\n goToStep('review');\n }\n }, [\n isNavigatingToReview,\n goToStep,\n selectCountryInitialValues,\n basicInformationInitialValues,\n contractDetailsInitialValues,\n setStepValues,\n stepFields.select_country,\n stepFields.basic_information,\n stepFields.contract_details,\n stepFields.pricing_plan,\n pricingPlanInitialValues,\n stepFields.contract_preview,\n contractPreviewInitialValues,\n stepFields.eligibility_questionnaire,\n eligibilityQuestionnaireInitialValues,\n ]);\n\n const goTo = (step: StepKeys) => {\n goToStep(step);\n };\n\n const parseFormValues = async (values: FieldValues) => {\n if (selectCountryForm && stepState.currentStep.name === 'select_country') {\n return values;\n }\n\n if (\n basicInformationForm &&\n stepState.currentStep.name === 'basic_information'\n ) {\n return await parseJSFToValidate(values, basicInformationForm?.fields, {\n isPartialValidation: false,\n });\n }\n\n if (\n contractorOnboardingDetailsForm &&\n stepState.currentStep.name === 'contract_details'\n ) {\n return await parseJSFToValidate(\n values,\n contractorOnboardingDetailsForm?.fields,\n {\n isPartialValidation: false,\n },\n );\n }\n\n if (\n signatureSchemaForm &&\n stepState.currentStep.name === 'contract_preview'\n ) {\n return await parseJSFToValidate(values, signatureSchemaForm?.fields, {\n isPartialValidation: false,\n });\n }\n\n if (\n selectContractorSubscriptionForm &&\n stepState.currentStep.name === 'pricing_plan'\n ) {\n return await parseJSFToValidate(\n values,\n selectContractorSubscriptionForm?.fields,\n {\n isPartialValidation: false,\n },\n );\n }\n\n if (\n eligibilityQuestionnaireForm &&\n stepState.currentStep.name === 'eligibility_questionnaire'\n ) {\n return await parseJSFToValidate(\n values,\n eligibilityQuestionnaireForm?.fields,\n {\n isPartialValidation: false,\n },\n );\n }\n\n if (\n contractOriginForm &&\n stepState.currentStep.name === 'contract_origin'\n ) {\n return await parseJSFToValidate(values, contractOriginForm?.fields, {\n isPartialValidation: false,\n });\n }\n\n return {};\n };\n\n /**\n * Extracts AI validation error from the error response\n * @param error - The error object from the API call\n * @returns The AI validation error if found, null otherwise\n */\n const extractAiValidationError = (\n error: unknown,\n ): AiValidationError | null => {\n if (!isMutationError(error)) {\n return null;\n }\n\n const rawError = error.normalizedErrors.services_and_deliverables;\n\n // The backend's normalize_errors wraps non-list values in an array,\n // so the AI validation error object arrives as a single-element array.\n const servicesAndDeliverablesError = (\n Array.isArray(rawError) ? rawError[0] : rawError\n ) as\n | {\n error: string[];\n source: string;\n skippable: boolean;\n }\n | undefined;\n\n if (servicesAndDeliverablesError?.source === REMOTE_AI_ERROR_SOURCE) {\n return {\n error: servicesAndDeliverablesError.error,\n source: servicesAndDeliverablesError.source,\n skippable: servicesAndDeliverablesError.skippable,\n };\n }\n return null;\n };\n\n async function onSubmit(values: FieldValues) {\n const currentStepName = stepState.currentStep.name;\n const parsedValues = await parseFormValues(values);\n\n if (currentStepName in fieldsMetaRef.current) {\n fieldsMetaRef.current[\n currentStepName as keyof typeof fieldsMetaRef.current\n ] = prettifyFormValues(parsedValues, stepFields[currentStepName]);\n }\n switch (stepState.currentStep.name) {\n case 'select_country': {\n setInternalCountryCode(parsedValues.country);\n return Promise.resolve({ data: { countryCode: parsedValues.country } });\n }\n case 'basic_information': {\n const isEmploymentNotLoaded =\n !internalEmploymentId && internalCountryCode;\n const hasChangedCountry =\n internalEmploymentId &&\n internalCountryCode &&\n employment?.country &&\n employment?.country.code !== internalCountryCode;\n\n if (isEmploymentNotLoaded || hasChangedCountry) {\n const basicInformationParsedValues = omit(\n parsedValues,\n 'nationality_status',\n 'ir35',\n 'ir35_sds_file',\n );\n const basicInformationPayload: EmploymentCreateParams = {\n basic_information: basicInformationParsedValues,\n type: 'contractor',\n country_code: internalCountryCode,\n external_id: externalId,\n };\n const response = await createEmploymentMutationAsync(\n basicInformationPayload,\n );\n const employmentId = response?.data?.employment?.id;\n if (!employmentId) {\n throw createStructuredError('Employment ID not found');\n }\n\n await updateUKandSaudiFieldsMutation({\n employmentId: employmentId as string,\n });\n\n // Only update state (triggers queries with fully consistent backend state) if not caused a bug\n // if one of the updateUKandSaudiFieldsMutation fails with a 422 for example\n setInternalEmploymentId(employmentId);\n\n return response;\n } else if (internalEmploymentId) {\n const basicInformationParsedValues = omit(\n parsedValues,\n 'nationality_status',\n 'ir35',\n 'ir35_sds_file',\n );\n\n await updateUKandSaudiFieldsMutation({\n employmentId: internalEmploymentId,\n });\n return updateEmploymentMutationAsync({\n employmentId: internalEmploymentId,\n basic_information: basicInformationParsedValues,\n });\n }\n\n return;\n }\n case 'contract_details': {\n const {\n services_and_deliverables_ai_warning:\n _servicesAndDeliverablesAiWarning,\n services_and_deliverables_error_skippable:\n _servicesAndDeliverablesErrorSkippable,\n ...contractDetailsData\n } = parsedValues;\n\n const shouldSkipAiChecks =\n fieldValues.services_and_deliverables_error_skippable === true;\n const payload: CreateContractDocument = {\n contract_document: contractDetailsData,\n skip_ai_checks: shouldSkipAiChecks,\n };\n\n try {\n const response = await createContractorContractDocumentMutationAsync({\n employmentId: internalEmploymentId as string,\n payload,\n });\n const contractDocumentId = response?.data?.contract_document?.id;\n if (!contractDocumentId) {\n throw createStructuredError('Contract document ID not found');\n }\n setInternalContractDocumentId(contractDocumentId);\n\n return response;\n } catch (error) {\n const aiError = extractAiValidationError(error);\n if (aiError) {\n const isContractorOfRecord =\n selectedPricingPlan === corProductIdentifier;\n setFieldValues({\n ...values,\n services_and_deliverables_ai_warning:\n transformAiErrorResponse(isContractorOfRecord),\n services_and_deliverables_error_skippable: aiError.skippable,\n });\n }\n\n throw error;\n }\n }\n\n case 'contract_preview': {\n if (hasCompanySignedContract) {\n return Promise.resolve({\n data: {\n contract_document: {\n id: internalContractDocumentId,\n },\n },\n });\n }\n const response = await signContractDocumentMutationAsync({\n employmentId: internalEmploymentId as string,\n contractDocumentId: internalContractDocumentId as string,\n payload: {\n signature: parsedValues.signature,\n },\n });\n await refetchDocumentPreviewForm();\n return response;\n }\n case 'pricing_plan': {\n if (values.subscription === eorProductIdentifier) {\n // EOR selection - no API call needed at this step\n return Promise.resolve({\n data: {\n subscription: values.subscription,\n },\n });\n }\n // If there are no available contractor subscriptions, throw an error\n if (filteredContractorSubscriptions.length === 0) {\n throw createStructuredError('No available subscriptions.');\n }\n\n if (\n !values.subscription &&\n filteredContractorSubscriptions.length > 0\n ) {\n throw createStructuredError('Please select a subscription plan.');\n }\n\n const blockedProductsEligibility = [\n corProductIdentifier,\n contractorPlusProductIdentifier,\n ];\n\n if (\n isEligibilityQuestionnaireBlocked &&\n blockedProductsEligibility.includes(values.subscription)\n ) {\n throw createStructuredError(\n `This individual is not eligible for ${\n CONTRACT_PRODUCT_TITLES[\n values.subscription as keyof typeof CONTRACT_PRODUCT_TITLES\n ]\n }.`,\n );\n }\n\n if (\n hasEligibilityQuestionnaireSubmitted &&\n values.subscription !== corProductIdentifier\n ) {\n try {\n await deleteContractorCorSubscriptionMutationAsync({\n employmentId: internalEmploymentId as string,\n });\n await refetchContractorSubscriptions();\n } catch (error) {\n if ((error as $TSFixMe)?.response?.status !== 404) {\n throw error;\n }\n // Still refetch to update the UI state\n await refetchContractorSubscriptions();\n }\n }\n\n if (values.subscription == contractorStandardProductIdentifier) {\n return manageContractorSubscriptionMutationAsync({\n employmentId: internalEmploymentId as string,\n payload: {\n operation: 'downgrade',\n },\n });\n } else if (values.subscription == contractorPlusProductIdentifier) {\n return manageContractorSubscriptionMutationAsync({\n employmentId: internalEmploymentId as string,\n payload: {\n operation: 'upgrade',\n },\n });\n } else if (values.subscription == corProductIdentifier) {\n if (\n hasEligibilityQuestionnaireSubmitted &&\n employment?.contractor_type !== 'cor'\n ) {\n return manageContractorCorSubscriptionMutationAsync({\n employmentId: internalEmploymentId as string,\n });\n } else {\n return Promise.resolve({\n data: { subscription: values.subscription },\n });\n }\n }\n\n throw createStructuredError('invalid selection');\n }\n\n case 'contract_origin': {\n // Step visibility is already reconciled reactively from the selected\n // value, so a plain next() lands on the right step (review when the\n // customer provides their own contract, otherwise eligibility /\n // contract_details). We only persist the choice server-side here.\n if (values.contract_origin === 'provided_by_customer') {\n await setContractOriginMutationAsync({\n employmentId: internalEmploymentId as string,\n contractOrigin: 'provided_by_customer',\n templateType: 'contractor_agreement',\n });\n }\n\n return {\n data: { contractOrigin: values.contract_origin },\n };\n }\n\n case 'eligibility_questionnaire': {\n try {\n const response = await createEligibilityQuestionnaireMutationAsync({\n employmentId: internalEmploymentId as string,\n payload: parsedValues,\n });\n\n const isEligibilityQuestionnaireBlocked = response?.data?.is_blocking;\n\n if (isEligibilityQuestionnaireBlocked) {\n setIncludeEligibilityQuestionnaire(false);\n setPendingNavigationStep('pricing_plan');\n throw createStructuredError(\n 'This individual is not eligible for Contractor of Record.',\n );\n }\n\n return await manageContractorCorSubscriptionMutationAsync({\n employmentId: internalEmploymentId as string,\n });\n } finally {\n // Always refetch to keep state in sync, even on error\n await refetchContractorSubscriptions();\n }\n }\n\n default: {\n throw createStructuredError('Invalid step state');\n }\n }\n }\n\n const markContractAsReviewed = () => {\n // Notify parent to sync form state\n onContractReviewedRef.current?.();\n };\n\n const handleNextStep = () => {\n if (internalEmploymentId) {\n refetchEmployment();\n }\n nextStep();\n };\n\n const isLoading = initialLoading || shouldHandleReadOnlyEmployment;\n\n return {\n /**\n * Loading state indicating if the flow is loading data\n */\n isLoading,\n\n /**\n * Current state of the form fields for the current step.\n */\n fieldValues,\n\n /**\n * Current step state containing the current step and total number of steps\n */\n stepState,\n\n /**\n * Function to update the current form field values\n * @param values - New form values to set\n */\n checkFieldUpdates: setFieldValues,\n\n /**\n * Function to mark the contract as reviewed\n * @param values - New form values to check\n * @returns {boolean}\n */\n markContractAsReviewed,\n\n /**\n * Function to handle going back to the previous step\n * @returns {void}\n */\n back: previousStep,\n\n /**\n * Function to handle going to the next step\n * @returns {void}\n */\n next: handleNextStep,\n\n /**\n * Function to handle going to a specific step\n * @param step The step to go to.\n * @returns {void}\n */\n goTo: goTo,\n\n /**\n * Function to handle form submission\n * @param values - Form values to submit\n * @returns Promise resolving to the mutation result\n */\n onSubmit,\n\n /**\n * Array of form fields from the onboarding schema\n */\n fields: stepFields[stepState.currentStep.name],\n\n /**\n * Fields metadata for each step\n */\n meta: {\n fields: fieldsMetaRef.current,\n fieldsets: stepFieldsWithFlatFieldsets[stepState.currentStep.name],\n presentation: stepPresentation[stepState.currentStep.name],\n },\n\n /**\n * Function to parse form values before submission\n * @param values - Form values to parse\n * @returns Parsed form values\n */\n parseFormValues,\n\n /**\n * Indicates whether AI validation errors can be skipped (user can continue at their own risk).\n * True when there's a skippable AI validation error on services_and_deliverables field.\n * @returns {boolean}\n */\n canSkipAiValidation:\n fieldValues.services_and_deliverables_error_skippable === true,\n\n /**\n * Function to validate form values against the onboarding schema\n * @param values - Form values to validate\n * @returns Validation result or null if no schema is available\n */\n handleValidation: async (\n values: FieldValues,\n ): Promise<ValidationResult | null> => {\n if (stepState.currentStep.name === 'select_country') {\n return selectCountryForm.handleValidation(values);\n }\n\n if (\n basicInformationForm &&\n stepState.currentStep.name === 'basic_information'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n basicInformationForm?.fields,\n { isPartialValidation: false },\n );\n return basicInformationForm?.handleValidation(parsedValues);\n }\n\n if (\n contractorOnboardingDetailsForm &&\n stepState.currentStep.name === 'contract_details'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n contractorOnboardingDetailsForm?.fields,\n { isPartialValidation: false },\n );\n return contractorOnboardingDetailsForm?.handleValidation(parsedValues);\n }\n\n if (\n signatureSchemaForm &&\n stepState.currentStep.name === 'contract_preview'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n signatureSchemaForm?.fields,\n { isPartialValidation: true },\n );\n return signatureSchemaForm?.handleValidation(parsedValues);\n }\n\n if (\n selectContractorSubscriptionForm &&\n stepState.currentStep.name === 'pricing_plan'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n selectContractorSubscriptionForm?.fields,\n { isPartialValidation: false },\n );\n return selectContractorSubscriptionForm?.handleValidation(parsedValues);\n }\n\n if (\n eligibilityQuestionnaireForm &&\n stepState.currentStep.name === 'eligibility_questionnaire'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n eligibilityQuestionnaireForm?.fields,\n { isPartialValidation: false },\n );\n return eligibilityQuestionnaireForm?.handleValidation(parsedValues);\n }\n\n if (\n contractOriginForm &&\n stepState.currentStep.name === 'contract_origin'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n contractOriginForm?.fields,\n { isPartialValidation: false },\n );\n return contractOriginForm?.handleValidation(parsedValues);\n }\n\n return null;\n },\n\n /**\n * Initial form values\n */\n initialValues,\n\n /**\n * Employment id\n */\n employmentId: internalEmploymentId,\n\n /**\n * Function to refetch the employment data\n * @returns {void}\n */\n refetchEmployment: refetchEmployment,\n\n /**\n * Loading state indicating if the onboarding mutation is in progress\n */\n isSubmitting:\n createEmploymentMutation.isPending ||\n updateEmploymentMutation.isPending ||\n createContractorContractDocumentMutation.isPending ||\n signContractDocumentMutation.isPending ||\n manageContractorSubscriptionMutation.isPending ||\n uploadFileMutation.isPending ||\n createEligibilityQuestionnaireMutation.isPending ||\n manageContractorCorSubscriptionMutation.isPending ||\n deleteContractorCorSubscriptionMutation.isPending ||\n setContractOriginMutation.isPending,\n\n /**\n * Document preview PDF data\n */\n documentPreviewPdf,\n\n /**\n * let's the user know if the company can invite employees\n * @returns {boolean}\n */\n canInvite,\n\n /**\n * let's the user know that the employment cannot be edited, happens when employment.status is invited\n * @returns {boolean}\n */\n isEmploymentReadOnly,\n /**\n * let's the user know if the employment is invited or not\n * @returns {'invited' | 'not_invited'}\n */\n invitedStatus,\n\n /**\n * Employment data\n * @returns {Employment}\n */\n employment,\n\n /**\n * Default legal entity\n * @returns {CompanyLegalEntity}\n */\n defaultLegalEntity,\n\n /**\n * Whether the company needs to complete KYB verification before contractors can be paid.\n * Use this to show a company verification nudge banner on the review step.\n */\n needsCompanyVerification:\n openTasks?.some((a) => a.type === 'verify_company') ?? false,\n\n /**\n * Whether the company needs to set up Remote Payments.\n * Use this to show a Remote Payments setup nudge banner on the review step.\n */\n needsRemotePaymentsSetup:\n openTasks?.some((a) => a.type === 'setup_remote_payments') ?? false,\n\n /**\n * Steps array\n * @returns {Array<{name: string, index: number, visible: boolean, label: string}>}\n */\n steps: stepsArray,\n };\n};\n","import { useQuery } from '@tanstack/react-query';\nimport {\n getV1CompaniesCompanyIdLegalEntities,\n CompanyLegalEntity,\n} from '@/src/client';\nimport { Client } from '@/src/client/client';\nimport { useClient } from '@/src/context';\nimport { useIdentity } from '@/src/common/api/identity';\nimport { hasCompany } from '@/src/common/api/companies';\n\n/**\n * Hook to get the legal entities for a company\n * @param companyId - The company ID\n * @returns The legal entities\n */\nexport const useLegalEntities = () => {\n const { client } = useClient();\n const { data: identity } = useIdentity();\n const companyId = hasCompany(identity) ? (identity?.company?.id ?? '') : '';\n\n return useQuery({\n queryKey: ['legal-entities', companyId],\n queryFn: () =>\n getV1CompaniesCompanyIdLegalEntities({\n client: client as Client,\n path: {\n company_id: companyId,\n },\n query: {\n page_size: 100,\n },\n }),\n select: (data) => data.data?.data?.legal_entities,\n enabled: !!companyId,\n });\n};\n\nexport const useDefaultLegalEntity = () => {\n const { data: legalEntities } = useLegalEntities();\n return legalEntities?.find(\n (legalEntity: CompanyLegalEntity) => legalEntity.is_default,\n );\n};\n"],"mappings":"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","names":["useEffect","useMemo","useRef","useState","omit","useQuery","useLegalEntities","__name","client","useClient","identity","useIdentity","companyId","hasCompany","useQuery","getV1CompaniesCompanyIdLegalEntities","data","useDefaultLegalEntity","legalEntities","legalEntity","stepToFormSchemaMap","jsonSchemaToEmployment","useContractorOnboarding","__name","countryCode","externalId","employmentId","skipSteps","options","onboardingInitialValues","excludeProducts","onContractReviewedRef","useRef","useEffect","internalCountryCode","setInternalCountryCode","useState","internalEmploymentId","setInternalEmploymentId","internalContractDocumentId","setInternalContractDocumentId","fieldsMetaRef","selectedProduct","setSelectedProduct","includeEligibilityQuestionnaire","setIncludeEligibilityQuestionnaire","includeContractPreview","setIncludeContractPreview","includeContractDetails","setIncludeContractDetails","pendingNavigationStep","setPendingNavigationStep","steps","stepsArray","useMemo","buildSteps","fieldValues","stepState","setFieldValues","previousStep","nextStep","goToStep","setStepValues","useStepState","employment","isLoadingEmployment","refetchEmployment","useEmploymentQuery","defaultLegalEntity","useDefaultLegalEntity","openTasks","useCompanyOpenTasks","employmentStatus","isEmploymentReadOnly","reviewStepAllowedEmploymentStatus","canInvite","disabledInviteButtonEmploymentStatus","invitedStatus","createEmploymentMutation","useCreateEmployment","updateEmploymentMutation","useUpdateEmployment","createContractorContractDocumentMutation","useCreateContractorContractDocument","uploadFileMutation","useUploadFile","updateUKandSaudiFieldsMutation","useUpdateUKandSaudiFields","createEligibilityQuestionnaireMutation","usePostCreateEligibilityQuestionnaire","manageContractorCorSubscriptionMutation","usePostManageContractorCorSubscription","setContractOriginMutation","useSetContractOrigin","updateEmploymentMutationAsync","mutationToPromise","signContractDocumentMutation","useSignContractDocument","manageContractorSubscriptionMutation","usePostManageContractorSubscriptions","deleteContractorCorSubscriptionMutation","useDeleteContractorCorSubscription","createEmploymentMutationAsync","createContractorContractDocumentMutationAsync","signContractDocumentMutationAsync","manageContractorSubscriptionMutationAsync","createEligibilityQuestionnaireMutationAsync","manageContractorCorSubscriptionMutationAsync","deleteContractorCorSubscriptionMutationAsync","setContractOriginMutationAsync","selectCountryForm","isLoadingCountries","countries","useCountriesSchemaField","selectedCountry","country","countryName","isPricingPlanEnabled","selectContractorSubscriptionForm","isLoadingContractorSubscriptions","contractorSubscriptions","filteredContractorSubscriptions","refetchContractorSubscriptions","isEligibilityQuestionnaireBlocked","useContractorSubscriptionSchemaField","hasEligibilityQuestionnaireSubmitted","subscription","corProductIdentifier","shouldIncludeEligibilityQuestionnaire","shouldIncludeContractPreview","isContractProvidedByCustomer","eligibilityAnswers","formType","employmentKey","serverEmploymentData","useJSONSchema","form","jsonSchemaOptions","query","mergedFormValues","useJSONSchemaForm","isBasicInformationDetailsEnabled","isIR35FileEnabled","ir35File","isLoadingIR35File","useGetIR35File","contractDocuments","isLoadingContractDocuments","useGetContractDocuments","basicInformationForm","isLoadingBasicInformationForm","buildBasicInformationJsfModify","descriptionProvisionalStartDate","calculateProvisionalStartDateDescription","selectedPricingPlan","subscriptions","contractorStandardProductIdentifier","contractorPlusProductIdentifier","eligibilityFields","isEligibilityQuestionnaireEnabled","eligibilityQuestionnaireForm","isLoadingEligibilityQuestionnaire","useGetEligibilityQuestionnaire","isContractorOnboardingDetailsEnabled","contractorOnboardingDetailsForm","isLoadingContractorOnboardingDetailsForm","useContractorOnboardingDetailsSchemaWithCurrencies","buildContractDetailsJsfModify","isSignatureSchemaEnabled","signatureSchemaForm","useGetContractDocumentSignatureSchema","buildContractPreviewJsfModify","contractOriginForm","useGetContractOriginSchema","documentPreviewPdf","isLoadingDocumentPreviewForm","refetchDocumentPreviewForm","useGetShowContractDocument","hasCompanySignedContract","useHasCompanySignedContract","stepFields","stepFieldsWithFlatFieldsets","stepPresentation","employmentBasicInformation","employmentContractDetails","employmentCountryCode","selectCountryInitialValues","getInitialValues","convertedIr35File","dataURLtoFile","basicInformationInitialValues","initialValues","contractOriginInitialValues","contractDetailsInitialValues","contractPreviewInitialValues","signature","signatory","pricingPlanInitialValues","eligibilityQuestionnaireInitialValues","shouldHandleReadOnlyEmployment","initialLoading","isNavigatingToReview","hasContractPreviewFields","prettifyFormValues","goTo","step","parseFormValues","values","parseJSFToValidate","extractAiValidationError","error","isMutationError","rawError","servicesAndDeliverablesError","REMOTE_AI_ERROR_SOURCE","onSubmit","currentStepName","parsedValues","isEmploymentNotLoaded","hasChangedCountry","basicInformationPayload","omit","response","createStructuredError","basicInformationParsedValues","_servicesAndDeliverablesAiWarning","_servicesAndDeliverablesErrorSkippable","contractDetailsData","shouldSkipAiChecks","payload","contractDocumentId","aiError","transformAiErrorResponse","eorProductIdentifier","CONTRACT_PRODUCT_TITLES","a"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as d}from"./chunk-J2ARI3NQ.js";import{b as c}from"./chunk-Q3ALCPJN.js";import{a as l}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as d}from"./chunk-J2ARI3NQ.js";import{b as c}from"./chunk-Q3ALCPJN.js";import{a as l}from"./chunk-X4IJ52GQ.js";import{h as m}from"./chunk-Y3CJRZLA.js";import{c as s}from"./chunk-G2LZFGZA.js";import{a}from"./chunk-P37U34EQ.js";import{useEffect as f}from"react";import{jsx as F}from"react/jsx-runtime";import{createElement as V}from"react";function B({defaultValues:p,onSubmit:u,components:S}){let{formId:y,contractorOnboardingBag:o,formRef:t}=c(),r=d({handleValidation:o.handleValidation,defaultValues:p,checkFieldUpdates:o.checkFieldUpdates});f(()=>{t?.setValue&&(t.setValue.current=r.setValue)},[r.setValue,t]),f(()=>{o.employmentId&&o?.checkFieldUpdates(r.getValues())},[]);let g=a(async(n,b)=>{let i=b?.nativeEvent;if(i?.isDraftSubmission){let{onSuccess:P,onError:E}=i.draftCallbacks;try{await o.onSubmit(n),P?.()}catch(e){let C=o.stepState.currentStep.name,h=o.meta?.fields?.[C],O=s(e?.fieldErrors||[],h);E?.({error:e?.error||e,rawError:e?.rawError||e,fieldErrors:O})}}else await u(n,r)},"handleSubmit");return V(m,{...r,key:`form-${o.stepState.currentStep.name}`},F("form",{id:y,onSubmit:r.handleSubmit(g),className:"space-y-4 RemoteFlows__OnboardingForm",children:F(l,{components:S,fields:o.fields,fieldsets:o.meta.fieldsets,fieldValues:o.fieldValues})}))}a(B,"ContractorOnboardingForm");export{B as a};
|
|
2
|
+
//# sourceMappingURL=chunk-4QJUNKBR.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as L,b as H,c as U,e as O}from"./chunk-N6XLGYRK.js";import{f as W}from"./chunk-W4BOTAD6.js";import{a as oe}from"./chunk-ID4S6FWD.js";import{a as ie}from"./chunk-X4IJ52GQ.js";import{a as _,c as I,d as k,e as J,f as j}from"./chunk-LJUWER2H.js";import{f as le,g as V,h as te}from"./chunk-Y3CJRZLA.js";import{n as g}from"./chunk-G2LZFGZA.js";import{e as ae}from"./chunk-H2O4CVKF.js";import{a as i}from"./chunk-P37U34EQ.js";import*as M from"@radix-ui/react-collapsible";var ge=M.Root,ye=M.CollapsibleTrigger,Se=M.CollapsibleContent;import*as y from"@radix-ui/react-dialog";import{XIcon as he}from"lucide-react";import{jsx as F,jsxs as K}from"react/jsx-runtime";function Ne({...e}){return F(y.Root,{"data-slot":"full-screen-dialog",...e})}i(Ne,"FullScreenDialog");function xe({...e}){return F(y.Trigger,{"data-slot":"full-screen-dialog-trigger",...e})}i(xe,"FullScreenDialogTrigger");function Te({...e}){return F(y.Portal,{"data-slot":"full-screen-dialog-portal",...e})}i(Te,"FullScreenDialogPortal");function Fe({className:e,...l}){return F(y.Overlay,{"data-slot":"full-screen-dialog-overlay",className:g("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",e),...l})}i(Fe,"FullScreenDialogOverlay");function Ce({className:e,children:l,...a}){return K(Te,{"data-slot":"full-screen-dialog-portal",children:[F(Fe,{}),K(y.Content,{"data-slot":"full-screen-dialog-content",className:g("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 flex flex-col",e),...a,children:[l,K(y.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 RemoteFlows__FullScreenDialog__Close",children:[F(he,{}),F("span",{className:"sr-only",children:"Close"})]})]})]})}i(Ce,"FullScreenDialogContent");function De({className:e,...l}){return F("div",{"data-slot":"full-screen-dialog-header",className:g("flex flex-col gap-2 text-center sm:text-left",e),...l})}i(De,"FullScreenDialogHeader");function we({className:e,...l}){return F("div",{"data-slot":"full-screen-dialog-footer",className:g("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",e),...l})}i(we,"FullScreenDialogFooter");function Re({className:e,...l}){return F(y.Title,{"data-slot":"full-screen-dialog-title",className:g("text-lg leading-none font-semibold",e),...l})}i(Re,"FullScreenDialogTitle");function Pe({className:e,...l}){return F(y.Description,{"data-slot":"full-screen-dialog-description",className:g("text-muted-foreground text-sm",e),...l})}i(Pe,"FullScreenDialogDescription");import*as R from"@radix-ui/react-tabs";import{jsx as B}from"react/jsx-runtime";function z({className:e,...l}){return B(R.Root,{"data-slot":"tabs",className:g("flex flex-col gap-2",e),...l})}i(z,"Tabs");function $({className:e,...l}){return B(R.List,{"data-slot":"tabs-list",className:g("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-1",e),...l})}i($,"TabsList");function X({className:e,...l}){return B(R.Trigger,{"data-slot":"tabs-trigger",className:g("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",e),...l})}i(X,"TabsTrigger");function Ae({className:e,...l}){return B(R.Content,{"data-slot":"tabs-content",className:g("flex-1 outline-none",e),...l})}i(Ae,"TabsContent");import*as Z from"react";import*as x from"@radix-ui/react-scroll-area";import{jsx as q,jsxs as Ve}from"react/jsx-runtime";var ne=Z.forwardRef(({className:e,children:l,...a},s)=>Ve(x.Root,{ref:s,className:g("relative overflow-hidden",e),...a,children:[q(x.Viewport,{className:"h-full w-full rounded-[inherit]",children:l}),q(se,{}),q(x.Corner,{})]}));ne.displayName=x.Root.displayName;var se=Z.forwardRef(({className:e,orientation:l="vertical",...a},s)=>q(x.ScrollAreaScrollbar,{ref:s,orientation:l,className:g("flex touch-none select-none transition-colors",l==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",l==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",e),...a,children:q(x.ScrollAreaThumb,{className:"relative flex-1 rounded-full bg-border"})}));se.displayName=x.ScrollAreaScrollbar.displayName;import{useState as Y,useEffect as ke,useMemo as Je}from"react";import{useQuery as je}from"@tanstack/react-query";import E from"fast-deep-equal";var re=i(e=>e.name?e.type?!0:(console.warn(`Field "${e.name}" missing required "type" property`),!1):(console.warn('Field missing required "name" property:',e),!1),"validateField"),Le=i((e,l)=>{if(E(e,l))return;let a=new Map((e||[]).map(t=>[t.value,t])),s=new Map((l||[]).map(t=>[t.value,t])),d=[],m=[],p=[];if(s.forEach((t,c)=>{a.has(c)||d.push({value:t.value,label:t.label})}),a.forEach((t,c)=>{if(!s.has(c))m.push({value:t.value,label:t.label});else{let S=s.get(c);if(!E(t,S)){let b={};t.label!==S.label&&(b.label={old:t.label,new:S.label}),Object.keys(b).length>0&&p.push({value:c,changes:b})}}}),!(d.length===0&&m.length===0&&p.length===0))return{added:d,removed:m,modified:p}},"compareOptions"),Oe=i((e,l)=>{let a=e.fields,s=l.fields;if(!a&&!s)return;let d=G(a||[],s||[]);if(d.added.length>0||d.removed.length>0||d.modified.length>0)return Array.from(d.fieldDiffs.values())},"compareNestedFields"),Me=i((e,l)=>{let a={label:e.label!==l.label,required:e.required!==l.required,inputType:e.inputType!==l.inputType,type:e.type!==l.type,jsonType:!E(e.jsonType,l.jsonType),name:e.name!==l.name,defaultValue:e.defaultValue!==l.defaultValue,minDate:e.minDate!==l.minDate,maxDate:e.maxDate!==l.maxDate,maxLength:e.maxLength!==l.maxLength,multiple:e.multiple!==l.multiple,isVisible:e.isVisible!==l.isVisible,options:!E(e.options,l.options)},s=(()=>{let m=e.fields,p=l.fields;if(!m&&!p)return!1;if(!m||!p)return!0;let t=G(m,p);return t.added.length>0||t.removed.length>0||t.modified.length>0})();return Object.values(a).some(m=>m)||s},"isFieldModified"),Ee=i((e,l)=>{let a={};e.label!==l.label&&(a.label={old:e.label,new:l.label}),e.required!==l.required&&(a.required={old:e.required,new:l.required}),e.type!==l.type&&(a.type={old:e.type,new:l.type}),e.inputType!==l.inputType&&(a.inputType={old:e.inputType,new:l.inputType}),E(e.jsonType,l.jsonType)||(a.jsonType={old:e.jsonType,new:l.jsonType}),E(e.defaultValue,l.defaultValue)||(a.defaultValue={old:e.defaultValue,new:l.defaultValue}),e.minDate!==l.minDate&&(a.minDate={old:e.minDate||"",new:l.minDate||""}),e.maxDate!==l.maxDate&&(a.maxDate={old:e.maxDate||"",new:l.maxDate||""}),e.maxLength!==l.maxLength&&(a.maxLength={old:e.maxLength||0,new:l.maxLength||0}),e.multiple!==l.multiple&&(a.multiple={old:e.multiple||!1,new:l.multiple||!1}),e.isVisible!==l.isVisible&&(a.isVisible={old:e.isVisible,new:l.isVisible});let s=Le(e.options,l.options);s&&(a.options=s);let d=Oe(e,l);return d&&(a.nestedFields=d),Object.keys(a).length>0?a:void 0},"getFieldChanges"),G=i((e=[],l=[])=>{let a=e.filter(re),s=l.filter(re),d=new Map(a.map(f=>[f.name,{field:f}])),m=new Map(s.map(f=>[f.name,{field:f}])),p=[],t=[],c=[],S=[],b=new Map;return m.forEach((f,v)=>{d.has(v)||(p.push(v),b.set(v,{fieldName:v,diffType:"added"}))}),d.forEach(({field:f},v)=>{if(!m.has(v))t.push(v),b.set(v,{fieldName:v,diffType:"removed"});else{let{field:N}=m.get(v);Me(f,N)?(c.push(v),b.set(v,{fieldName:v,diffType:"modified",changes:Ee(f,N)})):(S.push(v),b.set(v,{fieldName:v,diffType:"unchanged"}))}}),{added:p,removed:t,modified:c,unchanged:S,fieldDiffs:b}},"compareFormFields"),ve=i(e=>{switch(e){case"added":return"bg-green-50 border-l-4 border-green-500";case"removed":return"bg-red-50 border-l-4 border-red-500";case"modified":return"bg-yellow-50 border-l-4 border-yellow-500";default:return""}},"getDiffStyles");import{useMemo as ue,useRef as Q,useEffect as _e}from"react";import{jsx as o,jsxs as u}from"react/jsx-runtime";var Ie=i(({children:e,diffType:l,changes:a})=>{let s=ve(l);if(l==="unchanged")return o("div",{children:e});let m={added:o("span",{className:"text-xs font-semibold text-green-700 bg-green-100 px-2 py-1 rounded",children:"NEW"}),removed:o("span",{className:"text-xs font-semibold text-red-700 bg-red-100 px-2 py-1 rounded",children:"REMOVED"}),modified:o("span",{className:"text-xs font-semibold text-yellow-700 bg-yellow-100 px-2 py-1 rounded",children:"MODIFIED"})}[l],p=i(()=>{if(!a||l!=="modified")return null;let t=[];if(a.label&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Label:"})," ",o("span",{className:"line-through text-red-600",children:a.label.old})," ","\u2192 ",o("span",{className:"text-green-600",children:a.label.new})]},"label")),a.required&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Required:"})," ",o("span",{className:"line-through text-red-600",children:a.required.old?"Yes":"No"})," ","\u2192"," ",o("span",{className:"text-green-600",children:a.required.new?"Yes":"No"})]},"required")),a.type&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Type:"})," ",o("span",{className:"line-through text-red-600",children:a.type.old})," ","\u2192 ",o("span",{className:"text-green-600",children:a.type.new})]},"type")),a.inputType&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Input Type:"})," ",o("span",{className:"line-through text-red-600",children:a.inputType.old})," ","\u2192 ",o("span",{className:"text-green-600",children:a.inputType.new})]},"inputType")),a.jsonType){let c=Array.isArray(a.jsonType.old)?a.jsonType.old.join(" | "):a.jsonType.old,S=Array.isArray(a.jsonType.new)?a.jsonType.new.join(" | "):a.jsonType.new;t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"JSON Type:"})," ",o("span",{className:"line-through text-red-600",children:c})," \u2192"," ",o("span",{className:"text-green-600",children:S})]},"jsonType"))}return a.defaultValue!==void 0&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Default Value:"})," ",o("span",{className:"line-through text-red-600",children:JSON.stringify(a.defaultValue.old)})," ","\u2192"," ",o("span",{className:"text-green-600",children:JSON.stringify(a.defaultValue.new)})]},"defaultValue")),a.options&&(a.options.added.length>0&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold text-green-700",children:"Options Added:"})," ",a.options.added.map(c=>c.label).join(", ")]},"options-added")),a.options.removed.length>0&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold text-red-700",children:"Options Removed:"})," ",a.options.removed.map(c=>c.label).join(", ")]},"options-removed")),a.options.modified.length>0&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Options Modified:"})," ",a.options.modified.length," option(s)"]},"options-modified"))),a.nestedFields&&a.nestedFields.length>0&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Nested Fields:"})," ",a.nestedFields.length," field(s) changed"]},"nestedFields")),t.length===0?null:u("div",{className:"mt-2 p-2 bg-yellow-50 rounded border border-yellow-200 space-y-1",children:[o("div",{className:"text-xs font-semibold text-yellow-800 mb-1",children:"Changes:"}),t]})},"renderChanges");return u("div",{className:`p-3 mb-2 rounded ${s} relative`,children:[o("div",{className:"absolute top-2 right-2",children:m}),e,p()]})},"FieldWrapper"),de=i(({version:e,fields:l,fieldsets:a,diffMap:s,title:d,scrollRef:m})=>{let p=le({mode:"onBlur"}),t=ue(()=>{let c=i((S,b)=>S.map(f=>{let v=b.get(f.name),N=v?.diffType||"unchanged",T=v?.changes,C=f.fields,P=f;if(C&&Array.isArray(C)){let A=new Map;T&&typeof T=="object"&&"nestedFields"in T&&Array.isArray(T.nestedFields)&&T.nestedFields.forEach(n=>{A.set(n.fieldName,{diffType:n.diffType,changes:n.changes})});let D=c(C,A);P={...f,fields:D}}return{...P,WrapperComponent:i(({children:A})=>o(Ie,{diffType:N,fieldName:f.name,changes:T,children:A}),"WrapperComponent")}}),"applyWrappers");return c(l,s)},[l,s]);return u(L,{className:"h-full",children:[o(H,{children:u(U,{children:[d," - Version ",e]})}),o(O,{ref:m,className:"overflow-y-auto max-h-[600px]",children:o(te,{...p,children:o("form",{className:"space-y-4",children:o(ie,{fields:t,fieldsets:a,fieldValues:{}})})})})]})},"FormPanel"),me=i(({topVersion:e,bottomVersion:l,topFields:a,bottomFields:s,topFieldsets:d,bottomFieldsets:m,isLoading:p})=>{let t=ue(()=>G(a,s),[a,s]),c=Q(null),S=Q(null),b=Q(!1);if(_e(()=>{let v=c.current,N=S.current;if(!v||!N)return;let T=i(()=>{b.current||(b.current=!0,N.scrollTop=v.scrollTop,requestAnimationFrame(()=>{b.current=!1}))},"handleLeftScroll"),C=i(()=>{b.current||(b.current=!0,v.scrollTop=N.scrollTop,requestAnimationFrame(()=>{b.current=!1}))},"handleRightScroll");return v.addEventListener("scroll",T),N.addEventListener("scroll",C),()=>{v.removeEventListener("scroll",T),N.removeEventListener("scroll",C)}},[a,s]),p)return o("div",{className:"flex items-center justify-center h-96",children:u("div",{className:"text-center",children:[o("div",{className:"animate-spin rounded-full h-12 w-12 border-b-2 border-gray-900 mx-auto"}),o("p",{className:"mt-4 text-gray-600",children:"Loading schemas..."})]})});let f=t.added.length===0&&t.removed.length===0&&t.modified.length===0;return u("div",{className:"space-y-6",children:[o(L,{children:o(O,{className:"pt-6",children:f?o("p",{className:"text-center text-gray-600",children:"No differences detected between the two versions"}):u("div",{className:"flex gap-6 justify-center",children:[t.added.length>0&&u("div",{className:"flex items-center gap-2",children:[o("span",{className:"w-4 h-4 bg-green-500 rounded"}),u("span",{className:"text-sm",children:[t.added.length," field",t.added.length>1?"s":""," ","added"]})]}),t.removed.length>0&&u("div",{className:"flex items-center gap-2",children:[o("span",{className:"w-4 h-4 bg-red-500 rounded"}),u("span",{className:"text-sm",children:[t.removed.length," field",t.removed.length>1?"s":""," removed"]})]}),t.modified.length>0&&u("div",{className:"flex items-center gap-2",children:[o("span",{className:"w-4 h-4 bg-yellow-500 rounded"}),u("span",{className:"text-sm",children:[t.modified.length," field",t.modified.length>1?"s":""," modified"]})]})]})})}),u("div",{className:"grid grid-cols-2 gap-6",children:[o(de,{version:e,fields:a,fieldsets:d,diffMap:t.fieldDiffs,title:"Left",scrollRef:c}),o(de,{version:l,fields:s,fieldsets:m,diffMap:t.fieldDiffs,title:"Right",scrollRef:S})]})]})},"SchemaFormComparison");var pe=[{value:1,label:"v1 (Legacy)"},{value:3,label:"v3 (Recommended)"}],ee={ALB:[{value:1,label:"v1"},{value:2,label:"v2"}],ARE:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],ARG:[{value:1,label:"v1"},{value:2,label:"v2"}],ARM:[{value:1,label:"v1"}],AUS:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],AUT:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"},{value:5,label:"v5"},{value:6,label:"v6"}],BEL:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],BGD:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],BGR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],BIH:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],BLR:[{value:1,label:"v1"},{value:2,label:"v2"}],BOL:[{value:1,label:"v1"}],BRA:[{value:1,label:"v1"},{value:2,label:"v2"}],CAN:[{value:1,label:"v1"},{value:2,label:"v2"}],CHE:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],CHL:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],CHN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"},{value:5,label:"v5"}],COL:[{value:1,label:"v1"},{value:2,label:"v2"}],CRI:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],CYP:[{value:1,label:"v1"},{value:2,label:"v2"}],CZE:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],DEU:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],DNK:[{value:1,label:"v1"},{value:2,label:"v2"}],DOM:[{value:1,label:"v1"},{value:2,label:"v2"}],ECU:[{value:1,label:"v1"}],EGY:[{value:1,label:"v1"},{value:2,label:"v2"}],ESP:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],EST:[{value:1,label:"v1"},{value:2,label:"v2"}],FIN:[{value:1,label:"v1"},{value:2,label:"v2"}],FRA:[{value:1,label:"v1"},{value:2,label:"v2"}],FRA_SAS:[{value:1,label:"v1"}],GBR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],GEO:[{value:1,label:"v1"},{value:2,label:"v2"}],GRC:[{value:1,label:"v1"},{value:2,label:"v2"}],GTM:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],HKG:[{value:1,label:"v1"},{value:2,label:"v2"}],HND:[{value:1,label:"v1"}],HRV:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],HUN:[{value:1,label:"v1"}],IDN:[{value:1,label:"v1"}],IND:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],IRL:[{value:1,label:"v1"}],ISL:[{value:1,label:"v1"},{value:2,label:"v2"}],ISR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],ITA:[{value:1,label:"v1"},{value:2,label:"v2"}],ITA_APL:[{value:1,label:"v1"}],JAM:[{value:1,label:"v1"},{value:2,label:"v2"}],JPN:[{value:1,label:"v1"},{value:2,label:"v2"}],KEN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],KGZ:[{value:1,label:"v1"}],KHM:[{value:1,label:"v1"}],KOR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],LBN:[{value:1,label:"v1"},{value:2,label:"v2"}],LKA:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],LTU:[{value:1,label:"v1"},{value:2,label:"v2"}],LUX:[{value:1,label:"v1"}],LVA:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],MAR:[{value:1,label:"v1"},{value:2,label:"v2"}],MDA:[{value:1,label:"v1"},{value:2,label:"v2"}],MEX:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],MKD:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],MLT:[{value:1,label:"v1"}],MNG:[{value:1,label:"v1"}],MUS:[{value:1,label:"v1"},{value:2,label:"v2"}],MYS:[{value:1,label:"v1"},{value:2,label:"v2"}],NGA:[{value:1,label:"v1"},{value:2,label:"v2"}],NIC:[{value:1,label:"v1"}],NLD:[{value:1,label:"v1"},{value:2,label:"v2"}],NOR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],NZL:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],PAK:[{value:1,label:"v1"},{value:2,label:"v2"}],PAN:[{value:1,label:"v1"},{value:2,label:"v2"}],PER:[{value:1,label:"v1"}],PHL:[{value:1,label:"v1"}],POL:[{value:1,label:"v1"},{value:2,label:"v2"}],PRI:[{value:1,label:"v1"},{value:2,label:"v2"}],PRT:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],PRY:[{value:1,label:"v1"},{value:2,label:"v2"}],ROU:[{value:1,label:"v1"},{value:2,label:"v2"}],SAU:[{value:1,label:"v1"},{value:2,label:"v2"}],SGP:[{value:1,label:"v1"},{value:2,label:"v2"}],SLV:[{value:1,label:"v1"}],SRB:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],SVK:[{value:1,label:"v1"},{value:2,label:"v2"}],SVN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],SWE:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],THA:[{value:1,label:"v1"},{value:2,label:"v2"}],TUN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],TUR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],TWN:[{value:1,label:"v1"},{value:2,label:"v2"}],UGA:[{value:1,label:"v1"}],UKR:[{value:1,label:"v1"}],URY:[{value:1,label:"v1"},{value:2,label:"v2"}],USA:[{value:1,label:"v1"},{value:2,label:"v2"}],VNM:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],XKX:[{value:1,label:"v1"}],ZAF:[{value:1,label:"v1"}],ZWE:[{value:1,label:"v1"}]},ce=Object.fromEntries(Object.entries(ee).filter(([,e])=>e.length>1)),be=[{value:"employment_basic_information",label:"Basic Information"},{value:"contract_details",label:"Contract Details"}];import{jsx as r,jsxs as h}from"react/jsx-runtime";var fe=i(()=>{let[e,l]=Y("employment_basic_information"),[a,s]=Y(1),[d,m]=Y(1),[p,t]=Y("ARE"),{client:c}=ae(),{data:S}=je({...oe(c,"schema-comparison"),select:i(n=>n.data?.data?.filter(w=>w.eor_onboarding).filter(w=>Object.keys(ce).includes(w.code)).map(w=>({label:w.name,value:w.code}))||[],"select")}),b=e==="contract_details",{data:f,isLoading:v}=W({countryCode:p,form:e,fieldValues:{},jsonSchemaVersion:a,options:{queryOptions:{enabled:!0}}}),{data:N,isLoading:T}=W({countryCode:p,form:e,fieldValues:{},jsonSchemaVersion:d,options:{queryOptions:{enabled:!0}}}),C=v||T,P=ee[p],A=P!==void 0,D=Je(()=>e==="employment_basic_information"?pe:P||[{value:"latest",label:"Latest"}],[e,P]);return ke(()=>{let n=D.map(w=>w.value);n.includes(a)||s(D[0].value),n.includes(d)||m(D[0].value)},[e,p,D,a,d]),h("div",{className:"space-y-6",children:[h(L,{children:[r(H,{children:r(U,{children:"Configuration"})}),h(O,{className:"space-y-4",children:[h("div",{children:[r(V,{className:"mb-2 block",children:"Form Type"}),r(z,{value:e,onValueChange:n=>l(n),children:r($,{className:"grid w-full grid-cols-2",children:be.map(n=>r(X,{value:n.value,children:n.label},n.value))})})]}),b&&!A&&r("div",{className:"rounded-md bg-yellow-50 p-4 border border-yellow-200",children:h("div",{className:"flex",children:[r("div",{className:"flex-shrink-0",children:r("svg",{className:"h-5 w-5 text-yellow-400",viewBox:"0 0 20 20",fill:"currentColor",children:r("path",{fillRule:"evenodd",d:"M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z",clipRule:"evenodd"})})}),h("div",{className:"ml-3",children:[r("h3",{className:"text-sm font-medium text-yellow-800",children:"Version mappings not found"}),r("div",{className:"mt-2 text-sm text-yellow-700",children:h("p",{children:["Country"," ",r("span",{className:"font-semibold",children:p})," is not configured in COUNTRY_CONTRACT_VERSIONS. Using default (latest only)."]})})]})]})}),b&&h("div",{children:[r(V,{htmlFor:"country-select",className:"mb-2 block",children:"Country"}),h(_,{value:p,onValueChange:t,children:[r(k,{id:"country-select",children:r(I,{placeholder:"Select a country"})}),r(J,{children:S?.map(n=>r(j,{value:n.value,children:n.label},n.value))})]})]}),h("div",{className:"grid grid-cols-2 gap-4",children:[h("div",{children:[r(V,{htmlFor:"top-version",className:"mb-2 block",children:"Left Version"}),h(_,{value:String(a),onValueChange:n=>s(n==="latest"?"latest":Number(n)),children:[r(k,{id:"top-version",children:r(I,{placeholder:"Select version"})}),r(J,{children:D.map(n=>r(j,{value:String(n.value),children:n.label},String(n.value)))})]})]}),h("div",{children:[r(V,{htmlFor:"bottom-version",className:"mb-2 block",children:"Right Version"}),h(_,{value:String(d),onValueChange:n=>m(n==="latest"?"latest":Number(n)),children:[r(k,{id:"bottom-version",children:r(I,{placeholder:"Select version"})}),r(J,{children:D.map(n=>r(j,{value:String(n.value),children:n.label},String(n.value)))})]})]})]})]})]}),r(me,{topVersion:a,bottomVersion:d,topFields:f?.fields||[],bottomFields:N?.fields||[],topFieldsets:f?.meta?.["x-jsf-fieldsets"],bottomFieldsets:N?.meta?.["x-jsf-fieldsets"],isLoading:C})]})},"JsonSchemaComparison");export{ge as a,ye as b,Se as c,Ne as d,xe as e,Ce as f,De as g,we as h,Re as i,Pe as j,z as k,$ as l,X as m,Ae as n,ne as o,fe as p};
|
|
2
|
+
//# sourceMappingURL=chunk-4RVJJ33G.js.map
|