@remoteoss/remote-flows 1.30.0 → 1.32.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ButtonDefault-OMZEWLEI.js +2 -0
- package/dist/CheckboxFieldDefault-AGW42RDY.js +2 -0
- package/dist/CountryFieldDefault-24T4C7OU.js +2 -0
- package/dist/DatePickerFieldDefault-BG4KM2EG.js +2 -0
- package/dist/DrawerDefault-64GMPAIH.js +2 -0
- package/dist/EmailFieldDefault-UPDZNN2F.js +2 -0
- package/dist/FieldsetToggleButtonDefault-BOYDY7VX.js +2 -0
- package/dist/FileUploadFieldDefault-KFTIOHEJ.js +2 -0
- package/dist/MultiSelectFieldDefault-ALM76UQ5.js +2 -0
- package/dist/NumberFieldDefault-OXSEX3HX.js +2 -0
- package/dist/RadioGroupFieldDefault-55336PG5.js +2 -0
- package/dist/SelectFieldDefault-ARANC6QX.js +2 -0
- package/dist/StatementDefault-BMPIWUGF.js +2 -0
- package/dist/TableFieldDefault-2FLJU7TJ.js +2 -0
- package/dist/TelFieldDefault-RFAYBPGK.js +2 -0
- package/dist/TextAreaFieldDefault-3C6UZXHV.js +2 -0
- package/dist/TextFieldDefault-UQ23EIHH.js +2 -0
- package/dist/WorkScheduleFieldDefault-CGU2T6HY.js +2 -0
- package/dist/ZendeskDrawerDefault-JEHYLRHU.js +2 -0
- package/dist/{chunk-DPV7SSFD.js → chunk-234SEE75.js} +2 -2
- package/dist/{chunk-3TVAUVYZ.js → chunk-2A4DCZTX.js} +2 -2
- package/dist/{chunk-VQHFF2HH.js → chunk-2P2OJKD4.js} +2 -2
- package/dist/{chunk-M3WPBPQU.js → chunk-2WOUKCSC.js} +2 -2
- package/dist/{chunk-UMGX2LKV.js → chunk-3EUYWSSZ.js} +2 -2
- package/dist/{chunk-BHL3ZNXK.js → chunk-3JPDFNNH.js} +2 -2
- package/dist/{chunk-TX57E46D.js → chunk-3OU6XE7X.js} +2 -2
- package/dist/{chunk-CRYLYVA7.js → chunk-3SIHU3EE.js} +2 -2
- package/dist/{chunk-UJSDXZVG.js → chunk-3UDWOREZ.js} +2 -2
- package/dist/{chunk-2OAQQ6X6.js → chunk-3ZGDRCSS.js} +2 -2
- package/dist/{chunk-FSIFDXBB.js → chunk-45RIDSO6.js} +2 -2
- package/dist/chunk-4QVFKKVN.js +2 -0
- package/dist/{chunk-E6SUBDPV.js.map → chunk-4QVFKKVN.js.map} +1 -1
- package/dist/{chunk-DVR5OR5J.js → chunk-4RF6I3TT.js} +2 -2
- package/dist/{chunk-T4EHHK6N.js → chunk-4YCBOVSQ.js} +2 -2
- package/dist/{chunk-FS3GSYSK.js → chunk-5FHDUZCG.js} +2 -2
- package/dist/chunk-5JGA7DRL.js +2 -0
- package/dist/{chunk-XHWPTKEN.js.map → chunk-5JGA7DRL.js.map} +1 -1
- package/dist/{chunk-YUYGNU5Q.js → chunk-5QRYKH3H.js} +2 -2
- package/dist/{chunk-GSKP7EBL.js → chunk-6C4DCKHS.js} +2 -2
- package/dist/{chunk-YNA73ERB.js → chunk-6S66UQ2X.js} +2 -2
- package/dist/{chunk-S2S2U5DM.js → chunk-75MI3G5H.js} +2 -2
- package/dist/{chunk-5YEAR75O.js → chunk-77WJNWIC.js} +2 -2
- package/dist/{chunk-3AN3QVZK.js → chunk-7A3IHNJF.js} +2 -2
- package/dist/{chunk-ZD6ZY65J.js → chunk-7GDMMNJT.js} +2 -2
- package/dist/{chunk-A2I7OWOH.js → chunk-ACM63WPM.js} +2 -2
- package/dist/{chunk-3RVAEFEH.js → chunk-AGKLWKYY.js} +2 -2
- package/dist/{chunk-VIU4RZCS.js → chunk-AVVDKCFO.js} +2 -2
- package/dist/{chunk-2VMGSRVH.js → chunk-AWQU5AAN.js} +2 -2
- package/dist/{chunk-KXARTTYT.js → chunk-AYYYRHO3.js} +2 -2
- package/dist/chunk-AZZUFPQM.js +2 -0
- package/dist/{chunk-AMXFLUWP.js.map → chunk-AZZUFPQM.js.map} +1 -1
- package/dist/{chunk-P3QDMRCC.js → chunk-B6YWTMGV.js} +2 -2
- package/dist/{chunk-KRJETP7I.js → chunk-B7BJXPGT.js} +2 -2
- package/dist/{chunk-NVFEQTH5.js → chunk-BCCIFJSO.js} +2 -2
- package/dist/chunk-BZ232WZD.js +2 -0
- package/dist/{chunk-U2H4CADS.js.map → chunk-BZ232WZD.js.map} +1 -1
- package/dist/{chunk-L5TQSATQ.js → chunk-C4UUGOR3.js} +2 -2
- package/dist/{chunk-NVIYSQZT.js → chunk-C6UF7BPK.js} +2 -2
- package/dist/{chunk-ATLMZEFM.js → chunk-CNMNJMOT.js} +2 -2
- package/dist/{chunk-VAWEOFUO.js → chunk-CW7CHRMN.js} +2 -2
- package/dist/{chunk-WD5DNUSS.js → chunk-DB4JHJ3Z.js} +2 -2
- package/dist/{chunk-HZ5JCCHD.js → chunk-DCPBAFIN.js} +2 -2
- package/dist/{chunk-REYOVGEA.js → chunk-DIZ5Z4MN.js} +2 -2
- package/dist/chunk-DKLTO4XS.js +2 -0
- package/dist/chunk-DKLTO4XS.js.map +1 -0
- package/dist/{chunk-2CPRCACO.js → chunk-E3WR4SVV.js} +2 -2
- package/dist/{chunk-C6HC5QPL.js → chunk-F7PE3VRK.js} +2 -2
- package/dist/{chunk-4HSSOSBE.js → chunk-FHW5CMN5.js} +2 -2
- package/dist/{chunk-LOODLNPN.js → chunk-FKELI7OS.js} +2 -2
- package/dist/{chunk-W7YC2IO2.js → chunk-G6F6ZZES.js} +2 -2
- package/dist/chunk-GPJIEBUC.js +2 -0
- package/dist/chunk-GPJIEBUC.js.map +1 -0
- package/dist/{chunk-XUK2XG3P.js → chunk-GUO7UC4X.js} +2 -2
- package/dist/{chunk-IL4QL35N.js → chunk-GVPB75PC.js} +2 -2
- package/dist/chunk-H2O4CVKF.js +2 -0
- package/dist/chunk-H2O4CVKF.js.map +1 -0
- package/dist/{chunk-4KBRADTN.js → chunk-H4B2NWIZ.js} +2 -2
- package/dist/{chunk-TCN4HBUZ.js → chunk-H4S6LSDA.js} +2 -2
- package/dist/{chunk-U6LRMWRI.js → chunk-H66IKMI4.js} +2 -2
- package/dist/{chunk-WVQH6TZ3.js → chunk-H6Q7QK3C.js} +2 -2
- package/dist/{chunk-O6OLGKA6.js → chunk-HIWYDAQU.js} +2 -2
- package/dist/chunk-HUAPBLSQ.js +2 -0
- package/dist/chunk-HUAPBLSQ.js.map +1 -0
- package/dist/{chunk-RTGRILSN.js → chunk-HVI5GHIV.js} +2 -2
- package/dist/{chunk-CWTGZ65B.js → chunk-HZ2BCB3U.js} +2 -2
- package/dist/{chunk-FAJKPU7Z.js → chunk-I5NOEJSP.js} +2 -2
- package/dist/{chunk-B7SGUAGH.js → chunk-ID66NML3.js} +2 -2
- package/dist/{chunk-QPN6X6UA.js → chunk-IFIJ7OVJ.js} +2 -2
- package/dist/chunk-IOVRTUOC.js +2 -0
- package/dist/chunk-IOVRTUOC.js.map +1 -0
- package/dist/{chunk-ZLIWNVE5.js → chunk-J2QQLYVY.js} +2 -2
- package/dist/{chunk-R7LMREDN.js → chunk-JLUYUNSV.js} +2 -2
- package/dist/{chunk-NBVZJNYD.js → chunk-JX2ZVRE7.js} +2 -2
- package/dist/chunk-K2SHDZBB.js +2 -0
- package/dist/{chunk-67Y7FHJL.js.map → chunk-K2SHDZBB.js.map} +1 -1
- package/dist/{chunk-FWNLALPP.js → chunk-K5TZIA6W.js} +2 -2
- package/dist/{chunk-763JSZ5D.js → chunk-KAHAW4HH.js} +2 -2
- package/dist/{chunk-763JSZ5D.js.map → chunk-KAHAW4HH.js.map} +1 -1
- package/dist/{chunk-DPVXSN7T.js → chunk-KVUKJU5U.js} +2 -2
- package/dist/{chunk-LBGEZ4EI.js → chunk-KWBTUWWQ.js} +2 -2
- package/dist/{chunk-LFSTBZUZ.js → chunk-L57LWMNE.js} +2 -2
- package/dist/{chunk-URUZIOHG.js → chunk-LANAT75E.js} +2 -2
- package/dist/{chunk-F53HVGYB.js → chunk-LG5NFDID.js} +2 -2
- package/dist/{chunk-RTZVAPMC.js → chunk-LWQLNGOH.js} +2 -2
- package/dist/{chunk-P7RD6IVL.js → chunk-LXEFKJ4K.js} +2 -2
- package/dist/{chunk-NDEFEREU.js → chunk-MGPUZ7NZ.js} +2 -2
- package/dist/{chunk-WWP6HXJC.js → chunk-MHQ5ZW5P.js} +2 -2
- package/dist/{chunk-G262RA6W.js → chunk-N5XWRUYE.js} +2 -2
- package/dist/{chunk-RSXEN3N2.js → chunk-NDZIQGDE.js} +2 -2
- package/dist/{chunk-IF42CZJH.js → chunk-NEKE5PRJ.js} +2 -2
- package/dist/{chunk-ZHF32IXI.js → chunk-NKTGQNE2.js} +2 -2
- package/dist/{chunk-YJI7RIP6.js → chunk-NRNLLJCB.js} +2 -2
- package/dist/{chunk-4WSJ2A6Q.js → chunk-OL5C4QEH.js} +2 -2
- package/dist/{chunk-4TJAJZ67.js → chunk-OMLHAQQX.js} +2 -2
- package/dist/{chunk-3SXFXI3O.js → chunk-OPM4YQGQ.js} +2 -2
- package/dist/{chunk-2I7VHYTP.js → chunk-PBWF2VXG.js} +2 -2
- package/dist/chunk-PFQTTYVH.js +2 -0
- package/dist/{chunk-34K6BCJD.js.map → chunk-PFQTTYVH.js.map} +1 -1
- package/dist/{chunk-W5YVKNRC.js → chunk-PIGJNWPB.js} +2 -2
- package/dist/{chunk-OKLZQ5MG.js → chunk-PR6I3UYE.js} +2 -2
- package/dist/{chunk-V3FMENNN.js → chunk-QC2FAORS.js} +2 -2
- package/dist/chunk-QGQSTK73.js +2 -0
- package/dist/{chunk-4Z3EMHTE.js.map → chunk-QGQSTK73.js.map} +1 -1
- package/dist/{chunk-YIMWF5GR.js → chunk-QXW2MAFG.js} +2 -2
- package/dist/{chunk-DPVXTQAB.js → chunk-QYNWADPG.js} +2 -2
- package/dist/{chunk-CQDQM2IX.js → chunk-RWXZG4KO.js} +2 -2
- package/dist/{chunk-XEJ4XS2N.js → chunk-RXSGIEA5.js} +2 -2
- package/dist/chunk-RZCU2MT3.js +2 -0
- package/dist/chunk-RZCU2MT3.js.map +1 -0
- package/dist/chunk-SC7YWKOW.js +2 -0
- package/dist/{chunk-MJQUJZCD.js → chunk-SLEK47CR.js} +2 -2
- package/dist/{chunk-N33KFFOU.js → chunk-SNWJIIF7.js} +2 -2
- package/dist/{chunk-55DI7KZU.js → chunk-STJW643Y.js} +2 -2
- package/dist/{chunk-D5AR26AI.js → chunk-SWCZJY6I.js} +2 -2
- package/dist/{chunk-EIENNK3Y.js → chunk-SYXJTCKS.js} +2 -2
- package/dist/{chunk-EBMRVQLR.js → chunk-T5HMFMXH.js} +2 -2
- package/dist/chunk-TLQYNJBC.js +2 -0
- package/dist/{chunk-62SF33UR.js.map → chunk-TLQYNJBC.js.map} +1 -1
- package/dist/{chunk-2K6FAKY5.js → chunk-TSWZPJNS.js} +2 -2
- package/dist/{chunk-RD7GZHE5.js → chunk-TVF4JOK2.js} +2 -2
- package/dist/chunk-U5T77DSF.js +2 -0
- package/dist/chunk-U5T77DSF.js.map +1 -0
- package/dist/{chunk-MEG74D4V.js → chunk-UB5ZMTTU.js} +2 -2
- package/dist/{chunk-KV4L464D.js → chunk-VATDEWMF.js} +2 -2
- package/dist/{chunk-LDYA3D2Q.js → chunk-VZLUAWY5.js} +2 -2
- package/dist/{chunk-D2SLABJB.js → chunk-WJ64Q54L.js} +2 -2
- package/dist/{chunk-Q3RQX6S5.js → chunk-WUQZCGWG.js} +2 -2
- package/dist/chunk-WUSKSXW2.js +2 -0
- package/dist/chunk-WUSKSXW2.js.map +1 -0
- package/dist/{chunk-2KQAMX75.js → chunk-WZHTDLX6.js} +2 -2
- package/dist/{chunk-RHVD4JYN.js → chunk-X66NETZL.js} +2 -2
- package/dist/{chunk-AJKWG25T.js → chunk-XELPL3XO.js} +2 -2
- package/dist/chunk-XG6ASTX5.js +2 -0
- package/dist/{chunk-SJZP5XKE.js.map → chunk-XG6ASTX5.js.map} +1 -1
- package/dist/{chunk-YTLAH5QM.js → chunk-YMOAWXSE.js} +2 -2
- package/dist/{chunk-WR5DSTKP.js → chunk-YUNA3QKT.js} +2 -2
- package/dist/{chunk-OUSZOJE4.js → chunk-ZANINDSC.js} +2 -2
- package/dist/{chunk-3H7ADMNB.js → chunk-ZHDES3J6.js} +2 -2
- package/dist/chunk-ZQNYASQ3.js +2 -0
- package/dist/chunk-ZQNYASQ3.js.map +1 -0
- package/dist/{chunk-QAGHZZ27.js → chunk-ZSMILHO4.js} +2 -2
- package/dist/{chunk-VREHPEMW.js → chunk-ZYN3TAUB.js} +2 -2
- package/dist/default-components.d.ts +2 -2
- package/dist/default-components.js +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentBack.js +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.d.ts +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.js +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentFlow.d.ts +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/ContractAmendmentSubmit.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/ContractAmendment/utils.js +1 -1
- package/dist/flows/ContractorOnboarding/ContractorOnboarding.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/ContractorOnboarding.js +1 -1
- package/dist/flows/ContractorOnboarding/api.d.ts +2 -2
- package/dist/flows/ContractorOnboarding/api.js +1 -1
- package/dist/flows/ContractorOnboarding/components/BasicInformationStep.d.ts +4 -4
- package/dist/flows/ContractorOnboarding/components/BasicInformationStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/ContractPreviewHeader.d.ts +2 -2
- package/dist/flows/ContractorOnboarding/components/ContractPreviewStatement.d.ts +2 -2
- package/dist/flows/ContractorOnboarding/components/ContractPreviewStatement.js +1 -1
- package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/ContractReviewButton.js +1 -1
- package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.js +1 -1
- package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/OnboardingBack.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/OnboardingSubmit.js +1 -1
- package/dist/flows/ContractorOnboarding/components/PricingPlan.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/components/PricingPlan.js +1 -1
- package/dist/flows/ContractorOnboarding/components/SaveDraftButton.d.ts +3 -3
- package/dist/flows/ContractorOnboarding/components/SaveDraftButton.js +1 -1
- package/dist/flows/ContractorOnboarding/components/SelectCountryStep.d.ts +4 -4
- package/dist/flows/ContractorOnboarding/components/SelectCountryStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/StatementOfWorkDisclaimer.js +1 -1
- package/dist/flows/ContractorOnboarding/context.d.ts +6 -5
- package/dist/flows/ContractorOnboarding/hooks.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/hooks.js +1 -1
- package/dist/flows/ContractorOnboarding/index.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/index.js +1 -1
- package/dist/flows/ContractorOnboarding/jsfModify.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/jsfModify.js +1 -1
- package/dist/flows/ContractorOnboarding/types.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/utils.d.ts +4 -4
- package/dist/flows/CostCalculator/CostCalculatorFlow.d.ts +3 -3
- package/dist/flows/CostCalculator/CostCalculatorFlow.js +1 -1
- package/dist/flows/CostCalculator/CostCalculatorForm.d.ts +3 -3
- package/dist/flows/CostCalculator/CostCalculatorForm.js +1 -1
- package/dist/flows/CostCalculator/CostCalculatorResetButton.js +1 -1
- package/dist/flows/CostCalculator/CostCalculatorSubmitButton.js +1 -1
- package/dist/flows/CostCalculator/EstimationResults/EstimationResults.d.ts +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/SummaryResults/SummaryResults.js +1 -1
- 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/components/CreateCompanySubmit.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 +4 -4
- package/dist/flows/Onboarding/OnboardingFlow.js +1 -1
- package/dist/flows/Onboarding/api.d.ts +4 -4
- package/dist/flows/Onboarding/api.js +1 -1
- package/dist/flows/Onboarding/components/AnnualGrossSalary.d.ts +2 -2
- package/dist/flows/Onboarding/components/AnnualGrossSalary.js +1 -1
- package/dist/flows/Onboarding/components/BasicInformationStep.d.ts +4 -4
- package/dist/flows/Onboarding/components/BasicInformationStep.js +1 -1
- package/dist/flows/Onboarding/components/BenefitsStep.d.ts +4 -4
- package/dist/flows/Onboarding/components/BenefitsStep.js +1 -1
- package/dist/flows/Onboarding/components/ContractDetailsStep.d.ts +4 -4
- package/dist/flows/Onboarding/components/ContractDetailsStep.js +1 -1
- package/dist/flows/Onboarding/components/EngagementAgreementDetailsStep.d.ts +4 -4
- package/dist/flows/Onboarding/components/EngagementAgreementDetailsStep.js +1 -1
- package/dist/flows/Onboarding/components/OnboardingBack.js +1 -1
- package/dist/flows/Onboarding/components/OnboardingForm.d.ts +4 -4
- package/dist/flows/Onboarding/components/OnboardingForm.js +1 -1
- package/dist/flows/Onboarding/components/OnboardingInvite.d.ts +3 -3
- package/dist/flows/Onboarding/components/OnboardingInvite.js +1 -1
- package/dist/flows/Onboarding/components/OnboardingSubmit.js +1 -1
- package/dist/flows/Onboarding/components/ReviewStep.d.ts +4 -4
- package/dist/flows/Onboarding/components/SaveDraftButton.d.ts +3 -3
- package/dist/flows/Onboarding/components/SaveDraftButton.js +1 -1
- package/dist/flows/Onboarding/components/SelectCountryStep.d.ts +4 -4
- package/dist/flows/Onboarding/components/SelectCountryStep.js +1 -1
- package/dist/flows/Onboarding/context.d.ts +5 -4
- package/dist/flows/Onboarding/hooks.d.ts +4 -4
- package/dist/flows/Onboarding/hooks.js +1 -1
- package/dist/flows/Onboarding/index.d.ts +4 -4
- package/dist/flows/Onboarding/index.js +1 -1
- package/dist/flows/Onboarding/types.d.ts +4 -4
- package/dist/flows/Onboarding/utils.d.ts +4 -4
- package/dist/flows/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/TerminationBack.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/TerminationSubmit.js +1 -1
- package/dist/flows/Termination/api.d.ts +5 -5
- package/dist/flows/Termination/api.js +1 -1
- package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformation.js +1 -1
- package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformationFees.js +1 -1
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.d.ts +6 -6
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.js +1 -1
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.d.ts +6 -6
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.js +1 -1
- package/dist/flows/Termination/components/PaidTimeOff/types.d.ts +6 -6
- package/dist/flows/Termination/components/TerminationDialogInfoContent/TerminationDialogInfoContent.js +1 -1
- package/dist/flows/Termination/components/TerminationReasonsDetailContent/TerminationReasonsDetailContent.js +1 -1
- package/dist/flows/Termination/context.d.ts +4 -4
- package/dist/flows/Termination/hooks.d.ts +4 -4
- package/dist/flows/Termination/hooks.js +1 -1
- package/dist/flows/Termination/index.d.ts +6 -6
- package/dist/flows/Termination/index.js +1 -1
- package/dist/flows/Termination/json-schemas/jsonSchema.js +1 -1
- package/dist/flows/Termination/json-schemas/schema.d.ts +4 -4
- package/dist/flows/Termination/json-schemas/schema.js +1 -1
- package/dist/flows/Termination/types.d.ts +4 -4
- package/dist/flows/Termination/utils.d.ts +4 -4
- package/dist/flows/Termination/utils.js +1 -1
- package/dist/flows/types.d.ts +3 -2
- package/dist/flows/utils.d.ts +2 -2
- package/dist/index.css +1 -1
- package/dist/index.css.map +1 -1
- package/dist/index.d.ts +11 -11
- 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-COYPoN6n.d.ts → mutations-DWtiVhzX.d.ts} +1 -1
- package/dist/{remoteFlows-k63aIEJo.d.ts → remoteFlows-HrHOVYvy.d.ts} +6 -1
- package/dist/styles.css +1 -1
- package/dist/styles.css.map +1 -1
- package/dist/{types-CK4hqasF.d.ts → types-BBoweHNn.d.ts} +3 -3
- package/dist/{types-Bxovqyqu.d.ts → types-C4xgDVL5.d.ts} +5 -4
- package/dist/{types-BYkE0awa.d.ts → types-DF7KVwR4.d.ts} +1 -1
- package/dist/{types-2UtY1TYR.d.ts → types-VL8cVbKj.d.ts} +2 -2
- package/dist/{types-vmr842f0.d.ts → types-xGK_68j9.d.ts} +4 -3
- package/dist/{types.gen-C0u24yUP.d.ts → types.gen-C1H9Wowh.d.ts} +1 -1
- package/dist/{utils-SkXjfkNE.d.ts → utils-C2a483TA.d.ts} +3 -2
- package/package.json +1 -1
- package/dist/ButtonDefault-CKQ2BJUS.js +0 -2
- package/dist/CheckboxFieldDefault-ITS5AJ7Q.js +0 -2
- package/dist/CountryFieldDefault-3TPRO5JM.js +0 -2
- package/dist/DatePickerFieldDefault-BJ3ZWIDN.js +0 -2
- package/dist/DrawerDefault-BI3CU3ER.js +0 -2
- package/dist/EmailFieldDefault-Y222V5HN.js +0 -2
- package/dist/FieldsetToggleButtonDefault-4U7BDT4X.js +0 -2
- package/dist/FileUploadFieldDefault-QUV4UQFI.js +0 -2
- package/dist/MultiSelectFieldDefault-2YHZ6LWQ.js +0 -2
- package/dist/NumberFieldDefault-EUASY7WK.js +0 -2
- package/dist/RadioGroupFieldDefault-FY4PGK2P.js +0 -2
- package/dist/SelectFieldDefault-DNETNXYW.js +0 -2
- package/dist/StatementDefault-6EBISV3S.js +0 -2
- package/dist/TableFieldDefault-RJLGSGJF.js +0 -2
- package/dist/TelFieldDefault-ORXQQGWG.js +0 -2
- package/dist/TextAreaFieldDefault-D5MTC4ZN.js +0 -2
- package/dist/TextFieldDefault-ZTP2X3NH.js +0 -2
- package/dist/WorkScheduleFieldDefault-J5L7GMZR.js +0 -2
- package/dist/ZendeskDrawerDefault-EDBRPDGO.js +0 -2
- package/dist/chunk-34K6BCJD.js +0 -2
- package/dist/chunk-4JIT6ICA.js +0 -2
- package/dist/chunk-4JIT6ICA.js.map +0 -1
- package/dist/chunk-4Z3EMHTE.js +0 -2
- package/dist/chunk-62SF33UR.js +0 -2
- package/dist/chunk-67Y7FHJL.js +0 -2
- package/dist/chunk-AMXFLUWP.js +0 -2
- package/dist/chunk-B6INIXRK.js +0 -2
- package/dist/chunk-B6INIXRK.js.map +0 -1
- package/dist/chunk-C2RPJGJB.js +0 -2
- package/dist/chunk-C2RPJGJB.js.map +0 -1
- package/dist/chunk-CRMSCL22.js +0 -2
- package/dist/chunk-CRMSCL22.js.map +0 -1
- package/dist/chunk-DN6BXTAC.js +0 -2
- package/dist/chunk-E6SUBDPV.js +0 -2
- package/dist/chunk-INNJURYH.js +0 -2
- package/dist/chunk-INNJURYH.js.map +0 -1
- package/dist/chunk-JVGGWBFZ.js +0 -2
- package/dist/chunk-JVGGWBFZ.js.map +0 -1
- package/dist/chunk-KQPDXXG3.js +0 -2
- package/dist/chunk-KQPDXXG3.js.map +0 -1
- package/dist/chunk-L6YEMU4A.js +0 -2
- package/dist/chunk-L6YEMU4A.js.map +0 -1
- package/dist/chunk-SJZP5XKE.js +0 -2
- package/dist/chunk-TQQ227SJ.js +0 -2
- package/dist/chunk-TQQ227SJ.js.map +0 -1
- package/dist/chunk-U2H4CADS.js +0 -2
- package/dist/chunk-XHWPTKEN.js +0 -2
- package/dist/chunk-Y7L6VZOT.js +0 -2
- package/dist/chunk-Y7L6VZOT.js.map +0 -1
- /package/dist/{ButtonDefault-CKQ2BJUS.js.map → ButtonDefault-OMZEWLEI.js.map} +0 -0
- /package/dist/{CheckboxFieldDefault-ITS5AJ7Q.js.map → CheckboxFieldDefault-AGW42RDY.js.map} +0 -0
- /package/dist/{CountryFieldDefault-3TPRO5JM.js.map → CountryFieldDefault-24T4C7OU.js.map} +0 -0
- /package/dist/{DatePickerFieldDefault-BJ3ZWIDN.js.map → DatePickerFieldDefault-BG4KM2EG.js.map} +0 -0
- /package/dist/{DrawerDefault-BI3CU3ER.js.map → DrawerDefault-64GMPAIH.js.map} +0 -0
- /package/dist/{EmailFieldDefault-Y222V5HN.js.map → EmailFieldDefault-UPDZNN2F.js.map} +0 -0
- /package/dist/{FieldsetToggleButtonDefault-4U7BDT4X.js.map → FieldsetToggleButtonDefault-BOYDY7VX.js.map} +0 -0
- /package/dist/{FileUploadFieldDefault-QUV4UQFI.js.map → FileUploadFieldDefault-KFTIOHEJ.js.map} +0 -0
- /package/dist/{MultiSelectFieldDefault-2YHZ6LWQ.js.map → MultiSelectFieldDefault-ALM76UQ5.js.map} +0 -0
- /package/dist/{NumberFieldDefault-EUASY7WK.js.map → NumberFieldDefault-OXSEX3HX.js.map} +0 -0
- /package/dist/{RadioGroupFieldDefault-FY4PGK2P.js.map → RadioGroupFieldDefault-55336PG5.js.map} +0 -0
- /package/dist/{SelectFieldDefault-DNETNXYW.js.map → SelectFieldDefault-ARANC6QX.js.map} +0 -0
- /package/dist/{StatementDefault-6EBISV3S.js.map → StatementDefault-BMPIWUGF.js.map} +0 -0
- /package/dist/{TableFieldDefault-RJLGSGJF.js.map → TableFieldDefault-2FLJU7TJ.js.map} +0 -0
- /package/dist/{TelFieldDefault-ORXQQGWG.js.map → TelFieldDefault-RFAYBPGK.js.map} +0 -0
- /package/dist/{TextAreaFieldDefault-D5MTC4ZN.js.map → TextAreaFieldDefault-3C6UZXHV.js.map} +0 -0
- /package/dist/{TextFieldDefault-ZTP2X3NH.js.map → TextFieldDefault-UQ23EIHH.js.map} +0 -0
- /package/dist/{WorkScheduleFieldDefault-J5L7GMZR.js.map → WorkScheduleFieldDefault-CGU2T6HY.js.map} +0 -0
- /package/dist/{ZendeskDrawerDefault-EDBRPDGO.js.map → ZendeskDrawerDefault-JEHYLRHU.js.map} +0 -0
- /package/dist/{chunk-DPV7SSFD.js.map → chunk-234SEE75.js.map} +0 -0
- /package/dist/{chunk-3TVAUVYZ.js.map → chunk-2A4DCZTX.js.map} +0 -0
- /package/dist/{chunk-VQHFF2HH.js.map → chunk-2P2OJKD4.js.map} +0 -0
- /package/dist/{chunk-M3WPBPQU.js.map → chunk-2WOUKCSC.js.map} +0 -0
- /package/dist/{chunk-UMGX2LKV.js.map → chunk-3EUYWSSZ.js.map} +0 -0
- /package/dist/{chunk-BHL3ZNXK.js.map → chunk-3JPDFNNH.js.map} +0 -0
- /package/dist/{chunk-TX57E46D.js.map → chunk-3OU6XE7X.js.map} +0 -0
- /package/dist/{chunk-CRYLYVA7.js.map → chunk-3SIHU3EE.js.map} +0 -0
- /package/dist/{chunk-UJSDXZVG.js.map → chunk-3UDWOREZ.js.map} +0 -0
- /package/dist/{chunk-2OAQQ6X6.js.map → chunk-3ZGDRCSS.js.map} +0 -0
- /package/dist/{chunk-FSIFDXBB.js.map → chunk-45RIDSO6.js.map} +0 -0
- /package/dist/{chunk-DVR5OR5J.js.map → chunk-4RF6I3TT.js.map} +0 -0
- /package/dist/{chunk-T4EHHK6N.js.map → chunk-4YCBOVSQ.js.map} +0 -0
- /package/dist/{chunk-FS3GSYSK.js.map → chunk-5FHDUZCG.js.map} +0 -0
- /package/dist/{chunk-YUYGNU5Q.js.map → chunk-5QRYKH3H.js.map} +0 -0
- /package/dist/{chunk-GSKP7EBL.js.map → chunk-6C4DCKHS.js.map} +0 -0
- /package/dist/{chunk-YNA73ERB.js.map → chunk-6S66UQ2X.js.map} +0 -0
- /package/dist/{chunk-S2S2U5DM.js.map → chunk-75MI3G5H.js.map} +0 -0
- /package/dist/{chunk-5YEAR75O.js.map → chunk-77WJNWIC.js.map} +0 -0
- /package/dist/{chunk-3AN3QVZK.js.map → chunk-7A3IHNJF.js.map} +0 -0
- /package/dist/{chunk-ZD6ZY65J.js.map → chunk-7GDMMNJT.js.map} +0 -0
- /package/dist/{chunk-A2I7OWOH.js.map → chunk-ACM63WPM.js.map} +0 -0
- /package/dist/{chunk-3RVAEFEH.js.map → chunk-AGKLWKYY.js.map} +0 -0
- /package/dist/{chunk-VIU4RZCS.js.map → chunk-AVVDKCFO.js.map} +0 -0
- /package/dist/{chunk-2VMGSRVH.js.map → chunk-AWQU5AAN.js.map} +0 -0
- /package/dist/{chunk-KXARTTYT.js.map → chunk-AYYYRHO3.js.map} +0 -0
- /package/dist/{chunk-P3QDMRCC.js.map → chunk-B6YWTMGV.js.map} +0 -0
- /package/dist/{chunk-KRJETP7I.js.map → chunk-B7BJXPGT.js.map} +0 -0
- /package/dist/{chunk-NVFEQTH5.js.map → chunk-BCCIFJSO.js.map} +0 -0
- /package/dist/{chunk-L5TQSATQ.js.map → chunk-C4UUGOR3.js.map} +0 -0
- /package/dist/{chunk-NVIYSQZT.js.map → chunk-C6UF7BPK.js.map} +0 -0
- /package/dist/{chunk-ATLMZEFM.js.map → chunk-CNMNJMOT.js.map} +0 -0
- /package/dist/{chunk-VAWEOFUO.js.map → chunk-CW7CHRMN.js.map} +0 -0
- /package/dist/{chunk-WD5DNUSS.js.map → chunk-DB4JHJ3Z.js.map} +0 -0
- /package/dist/{chunk-HZ5JCCHD.js.map → chunk-DCPBAFIN.js.map} +0 -0
- /package/dist/{chunk-REYOVGEA.js.map → chunk-DIZ5Z4MN.js.map} +0 -0
- /package/dist/{chunk-2CPRCACO.js.map → chunk-E3WR4SVV.js.map} +0 -0
- /package/dist/{chunk-C6HC5QPL.js.map → chunk-F7PE3VRK.js.map} +0 -0
- /package/dist/{chunk-4HSSOSBE.js.map → chunk-FHW5CMN5.js.map} +0 -0
- /package/dist/{chunk-LOODLNPN.js.map → chunk-FKELI7OS.js.map} +0 -0
- /package/dist/{chunk-W7YC2IO2.js.map → chunk-G6F6ZZES.js.map} +0 -0
- /package/dist/{chunk-XUK2XG3P.js.map → chunk-GUO7UC4X.js.map} +0 -0
- /package/dist/{chunk-IL4QL35N.js.map → chunk-GVPB75PC.js.map} +0 -0
- /package/dist/{chunk-4KBRADTN.js.map → chunk-H4B2NWIZ.js.map} +0 -0
- /package/dist/{chunk-TCN4HBUZ.js.map → chunk-H4S6LSDA.js.map} +0 -0
- /package/dist/{chunk-U6LRMWRI.js.map → chunk-H66IKMI4.js.map} +0 -0
- /package/dist/{chunk-WVQH6TZ3.js.map → chunk-H6Q7QK3C.js.map} +0 -0
- /package/dist/{chunk-O6OLGKA6.js.map → chunk-HIWYDAQU.js.map} +0 -0
- /package/dist/{chunk-RTGRILSN.js.map → chunk-HVI5GHIV.js.map} +0 -0
- /package/dist/{chunk-CWTGZ65B.js.map → chunk-HZ2BCB3U.js.map} +0 -0
- /package/dist/{chunk-FAJKPU7Z.js.map → chunk-I5NOEJSP.js.map} +0 -0
- /package/dist/{chunk-B7SGUAGH.js.map → chunk-ID66NML3.js.map} +0 -0
- /package/dist/{chunk-QPN6X6UA.js.map → chunk-IFIJ7OVJ.js.map} +0 -0
- /package/dist/{chunk-ZLIWNVE5.js.map → chunk-J2QQLYVY.js.map} +0 -0
- /package/dist/{chunk-R7LMREDN.js.map → chunk-JLUYUNSV.js.map} +0 -0
- /package/dist/{chunk-NBVZJNYD.js.map → chunk-JX2ZVRE7.js.map} +0 -0
- /package/dist/{chunk-FWNLALPP.js.map → chunk-K5TZIA6W.js.map} +0 -0
- /package/dist/{chunk-DPVXSN7T.js.map → chunk-KVUKJU5U.js.map} +0 -0
- /package/dist/{chunk-LBGEZ4EI.js.map → chunk-KWBTUWWQ.js.map} +0 -0
- /package/dist/{chunk-LFSTBZUZ.js.map → chunk-L57LWMNE.js.map} +0 -0
- /package/dist/{chunk-URUZIOHG.js.map → chunk-LANAT75E.js.map} +0 -0
- /package/dist/{chunk-F53HVGYB.js.map → chunk-LG5NFDID.js.map} +0 -0
- /package/dist/{chunk-RTZVAPMC.js.map → chunk-LWQLNGOH.js.map} +0 -0
- /package/dist/{chunk-P7RD6IVL.js.map → chunk-LXEFKJ4K.js.map} +0 -0
- /package/dist/{chunk-NDEFEREU.js.map → chunk-MGPUZ7NZ.js.map} +0 -0
- /package/dist/{chunk-WWP6HXJC.js.map → chunk-MHQ5ZW5P.js.map} +0 -0
- /package/dist/{chunk-G262RA6W.js.map → chunk-N5XWRUYE.js.map} +0 -0
- /package/dist/{chunk-RSXEN3N2.js.map → chunk-NDZIQGDE.js.map} +0 -0
- /package/dist/{chunk-IF42CZJH.js.map → chunk-NEKE5PRJ.js.map} +0 -0
- /package/dist/{chunk-ZHF32IXI.js.map → chunk-NKTGQNE2.js.map} +0 -0
- /package/dist/{chunk-YJI7RIP6.js.map → chunk-NRNLLJCB.js.map} +0 -0
- /package/dist/{chunk-4WSJ2A6Q.js.map → chunk-OL5C4QEH.js.map} +0 -0
- /package/dist/{chunk-4TJAJZ67.js.map → chunk-OMLHAQQX.js.map} +0 -0
- /package/dist/{chunk-3SXFXI3O.js.map → chunk-OPM4YQGQ.js.map} +0 -0
- /package/dist/{chunk-2I7VHYTP.js.map → chunk-PBWF2VXG.js.map} +0 -0
- /package/dist/{chunk-W5YVKNRC.js.map → chunk-PIGJNWPB.js.map} +0 -0
- /package/dist/{chunk-OKLZQ5MG.js.map → chunk-PR6I3UYE.js.map} +0 -0
- /package/dist/{chunk-V3FMENNN.js.map → chunk-QC2FAORS.js.map} +0 -0
- /package/dist/{chunk-YIMWF5GR.js.map → chunk-QXW2MAFG.js.map} +0 -0
- /package/dist/{chunk-DPVXTQAB.js.map → chunk-QYNWADPG.js.map} +0 -0
- /package/dist/{chunk-CQDQM2IX.js.map → chunk-RWXZG4KO.js.map} +0 -0
- /package/dist/{chunk-XEJ4XS2N.js.map → chunk-RXSGIEA5.js.map} +0 -0
- /package/dist/{chunk-DN6BXTAC.js.map → chunk-SC7YWKOW.js.map} +0 -0
- /package/dist/{chunk-MJQUJZCD.js.map → chunk-SLEK47CR.js.map} +0 -0
- /package/dist/{chunk-N33KFFOU.js.map → chunk-SNWJIIF7.js.map} +0 -0
- /package/dist/{chunk-55DI7KZU.js.map → chunk-STJW643Y.js.map} +0 -0
- /package/dist/{chunk-D5AR26AI.js.map → chunk-SWCZJY6I.js.map} +0 -0
- /package/dist/{chunk-EIENNK3Y.js.map → chunk-SYXJTCKS.js.map} +0 -0
- /package/dist/{chunk-EBMRVQLR.js.map → chunk-T5HMFMXH.js.map} +0 -0
- /package/dist/{chunk-2K6FAKY5.js.map → chunk-TSWZPJNS.js.map} +0 -0
- /package/dist/{chunk-RD7GZHE5.js.map → chunk-TVF4JOK2.js.map} +0 -0
- /package/dist/{chunk-MEG74D4V.js.map → chunk-UB5ZMTTU.js.map} +0 -0
- /package/dist/{chunk-KV4L464D.js.map → chunk-VATDEWMF.js.map} +0 -0
- /package/dist/{chunk-LDYA3D2Q.js.map → chunk-VZLUAWY5.js.map} +0 -0
- /package/dist/{chunk-D2SLABJB.js.map → chunk-WJ64Q54L.js.map} +0 -0
- /package/dist/{chunk-Q3RQX6S5.js.map → chunk-WUQZCGWG.js.map} +0 -0
- /package/dist/{chunk-2KQAMX75.js.map → chunk-WZHTDLX6.js.map} +0 -0
- /package/dist/{chunk-RHVD4JYN.js.map → chunk-X66NETZL.js.map} +0 -0
- /package/dist/{chunk-AJKWG25T.js.map → chunk-XELPL3XO.js.map} +0 -0
- /package/dist/{chunk-YTLAH5QM.js.map → chunk-YMOAWXSE.js.map} +0 -0
- /package/dist/{chunk-WR5DSTKP.js.map → chunk-YUNA3QKT.js.map} +0 -0
- /package/dist/{chunk-OUSZOJE4.js.map → chunk-ZANINDSC.js.map} +0 -0
- /package/dist/{chunk-3H7ADMNB.js.map → chunk-ZHDES3J6.js.map} +0 -0
- /package/dist/{chunk-QAGHZZ27.js.map → chunk-ZSMILHO4.js.map} +0 -0
- /package/dist/{chunk-VREHPEMW.js.map → chunk-ZYN3TAUB.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/flows/Onboarding/hooks.tsx","../src/components/error-handling/ErrorContext.tsx","../src/components/error-handling/useErrorReporting.ts"],"sourcesContent":["import { ValidationResult } from '@remoteoss/remote-json-schema-form-kit';\nimport {\n Employment,\n EmploymentCreateParams,\n EmploymentFullParams,\n} from '@/src/client';\nimport { JSFFields, NestedMeta } from '@/src/types/remoteFlows';\nimport { useStepState, Step } from '@/src/flows/useStepState';\nimport {\n disabledInviteButtonEmploymentStatus,\n getContractDetailsSchemaVersion,\n getBasicInformationSchemaVersion,\n reviewStepAllowedEmploymentStatus,\n buildSteps,\n StepKeys,\n} from '@/src/flows/Onboarding/utils';\nimport { prettifyFormValues } from '@/src/lib/utils';\nimport {\n getInitialValues,\n enableAckFields,\n parseJSFToValidate,\n} from '@/src/components/form/utils';\nimport { mutationToPromise } from '@/src/lib/mutations';\nimport { FieldValues } from 'react-hook-form';\nimport { OnboardingFlowProps } from '@/src/flows/Onboarding/types';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport mergeWith from 'lodash.mergewith';\nimport {\n useBenefitOffers,\n useBenefitOffersSchema,\n useCompany,\n useCountriesSchemaField,\n useCreateEmployment,\n useEmploymentEngagementAgreementDetails,\n useEmploymentOnboardingReservesStatus,\n useEngagementAgreementDetailsSchema,\n useJSONSchemaForm,\n useUpdateBenefitsOffers,\n useUpdateEmployment,\n useUpdateEmploymentEngagementAgreementDetails,\n useUpsertContractEligibility,\n} from '@/src/flows/Onboarding/api';\nimport { JSFModify, JSONSchemaFormType } from '@/src/flows/types';\nimport { AnnualGrossSalary } from '@/src/flows/Onboarding/components/AnnualGrossSalary';\nimport { $TSFixMe, JSFField, JSFFieldset } from '@/src/types/remoteFlows';\nimport { EquityPriceDetails } from '@/src/flows/Onboarding/components/EquityPriceDetails';\nimport { useErrorReporting } from '@/src/components/error-handling/useErrorReporting';\nimport { useEmploymentQuery } from '@/src/common/api/employment';\n\ntype OnboardingHookProps = Omit<OnboardingFlowProps, 'render'>;\n\nconst jsonSchemaToEmployment: Partial<\n Record<JSONSchemaFormType, keyof Employment>\n> = {\n employment_basic_information: 'basic_information',\n contract_details: 'contract_details',\n};\n\nconst stepToFormSchemaMap: Record<StepKeys, JSONSchemaFormType | null> = {\n select_country: null,\n basic_information: 'employment_basic_information',\n engagement_agreement_details: null,\n contract_details: 'contract_details',\n benefits: null,\n review: null,\n};\n\nconst getLoadingStates = ({\n isLoadingBasicInformationForm,\n isLoadingContractDetailsForm,\n isLoadingEngagementAgreementDetails,\n isLoadingEmploymentEngagementAgreementDetails,\n isLoadingEmployment,\n isLoadingBenefitsOffersSchema,\n isLoadingBenefitOffers,\n isLoadingCompany,\n isLoadingCountries,\n employmentStatus,\n employmentId,\n currentStepName,\n basicInformationFields,\n contractDetailsFields,\n}: {\n isLoadingBasicInformationForm: boolean;\n isLoadingContractDetailsForm: boolean;\n isLoadingEngagementAgreementDetails: boolean;\n isLoadingEmploymentEngagementAgreementDetails: boolean;\n isLoadingEmployment: boolean;\n isLoadingBenefitsOffersSchema: boolean;\n isLoadingBenefitOffers: boolean;\n isLoadingCompany: boolean;\n isLoadingCountries: boolean;\n employmentStatus?: Employment['status'];\n employmentId?: string;\n currentStepName: string;\n basicInformationFields: JSFFields;\n contractDetailsFields: JSFFields;\n}) => {\n const initialLoading =\n isLoadingBasicInformationForm ||\n isLoadingContractDetailsForm ||\n isLoadingEngagementAgreementDetails ||\n isLoadingEmploymentEngagementAgreementDetails ||\n isLoadingEmployment ||\n isLoadingBenefitsOffersSchema ||\n isLoadingBenefitOffers ||\n isLoadingCompany ||\n isLoadingCountries;\n\n const isEmploymentReadOnly =\n employmentStatus &&\n reviewStepAllowedEmploymentStatus.includes(employmentStatus);\n\n const canInvite =\n employmentStatus &&\n !disabledInviteButtonEmploymentStatus.includes(employmentStatus);\n\n const shouldHandleReadOnlyEmployment = Boolean(\n employmentId && isEmploymentReadOnly && currentStepName !== 'review',\n );\n\n const isLoading = initialLoading || shouldHandleReadOnlyEmployment;\n\n const isNavigatingToReview = Boolean(\n shouldHandleReadOnlyEmployment &&\n !initialLoading &&\n basicInformationFields.length > 0 &&\n contractDetailsFields.length > 0,\n );\n\n return {\n isLoading,\n isNavigatingToReview,\n isEmploymentReadOnly,\n canInvite,\n };\n};\n\nexport const useOnboarding = ({\n employmentId,\n companyId,\n countryCode,\n type,\n options,\n skipSteps,\n externalId,\n initialValues: onboardingInitialValues,\n}: OnboardingHookProps) => {\n const { updateErrorContext } = useErrorReporting({\n flow: 'onboarding',\n metadata: {\n employmentId,\n companyId,\n isUpdating: Boolean(employmentId),\n },\n });\n\n const [internalEmploymentId, setInternalEmploymentId] = useState<\n string | undefined\n >(employmentId);\n const [internalCountryCode, setInternalCountryCode] = useState<string | null>(\n countryCode || null,\n );\n const [\n includeEngagementAgreementDetails,\n setIncludeEngagementAgreementDetails,\n ] = useState<boolean>(false);\n\n const useDynamicSteps = options?.features?.includes('dynamic_steps') ?? false;\n\n const { steps, stepsArray } = useMemo(\n () =>\n buildSteps({\n includeSelectCountry: !skipSteps?.includes('select_country'),\n includeEngagementAgreementDetails,\n useDynamicSteps,\n }),\n [includeEngagementAgreementDetails, skipSteps, useDynamicSteps],\n );\n\n const onStepChange = useCallback(\n (step: Step<StepKeys>) => {\n updateErrorContext({\n step: step.name,\n });\n },\n [updateErrorContext],\n );\n\n const {\n fieldValues,\n stepState,\n setFieldValues,\n previousStep,\n nextStep,\n goToStep,\n setStepValues,\n } = useStepState(steps, onStepChange);\n\n const {\n data: employmentEngagementAgreementDetails,\n isLoading: isLoadingEmploymentEngagementAgreementDetails,\n } = useEmploymentEngagementAgreementDetails(internalEmploymentId, {\n enabled: Boolean(\n !!internalEmploymentId && options?.features?.includes('dynamic_steps'),\n ),\n });\n\n const engagementAgreementDetailsFieldValues = useMemo(() => {\n return {\n ...onboardingInitialValues,\n ...employmentEngagementAgreementDetails,\n ...stepState.values?.engagement_agreement_details,\n ...fieldValues,\n };\n }, [\n employmentEngagementAgreementDetails,\n onboardingInitialValues,\n stepState.values?.engagement_agreement_details,\n fieldValues,\n ]);\n\n const {\n data: engagementAgreementDetailsSchema,\n isLoading: isLoadingEngagementAgreementDetails,\n } = useEngagementAgreementDetailsSchema(\n internalCountryCode as string,\n engagementAgreementDetailsFieldValues,\n {\n jsfModify: options?.jsfModify,\n queryOptions: {\n enabled: Boolean(\n !!internalCountryCode && options?.features?.includes('dynamic_steps'),\n ),\n },\n },\n );\n\n // logic to include the engagement agreement details step based on the schema fields\n useEffect(() => {\n const hasFields = Boolean(\n engagementAgreementDetailsSchema?.fields &&\n engagementAgreementDetailsSchema.fields.length > 0,\n );\n if (hasFields !== includeEngagementAgreementDetails) {\n setIncludeEngagementAgreementDetails(hasFields);\n }\n }, [\n engagementAgreementDetailsSchema?.fields,\n includeEngagementAgreementDetails,\n ]);\n\n const fieldsMetaRef = useRef<{\n select_country: NestedMeta;\n basic_information: NestedMeta;\n contract_details: NestedMeta;\n benefits: NestedMeta;\n engagement_agreement_details: NestedMeta;\n }>({\n select_country: {},\n basic_information: {},\n contract_details: {},\n benefits: {},\n engagement_agreement_details: {},\n });\n\n const {\n data: employment,\n isLoading: isLoadingEmployment,\n refetch: refetchEmployment,\n } = useEmploymentQuery({\n employmentId: internalEmploymentId as string,\n queryParams: { exclude_files: true },\n });\n\n // if the employment is loaded, country code has not been set yet\n // we set the internal country code with the employment country code\n if (employmentId && employment?.country?.code && !internalCountryCode) {\n setInternalCountryCode(employment.country.code);\n }\n\n const { data: benefitOffers, isLoading: isLoadingBenefitOffers } =\n useBenefitOffers(internalEmploymentId);\n\n const {\n data: company,\n isLoading: isLoadingCompany,\n refetch: refetchCompany,\n } = useCompany(companyId);\n\n const isOnboardingReservesEnabled =\n (options?.features?.includes('onboarding_reserves') &&\n stepState.currentStep.name === 'review') ||\n false;\n\n const { data: onboardingReservesStatus } =\n useEmploymentOnboardingReservesStatus(\n companyId,\n internalEmploymentId,\n isOnboardingReservesEnabled,\n );\n\n const { selectCountryForm, isLoading: isLoadingCountries } =\n useCountriesSchemaField({\n jsfModify: options?.jsfModify?.select_country,\n queryOptions: {\n enabled: stepState.currentStep.name === 'select_country',\n },\n });\n\n const createEmploymentMutation = useCreateEmployment(options);\n const updateEmploymentMutation = useUpdateEmployment(\n internalCountryCode as string,\n options,\n );\n const updateBenefitsOffersMutation = useUpdateBenefitsOffers(options);\n const updateEngagementAgreementMutation =\n useUpdateEmploymentEngagementAgreementDetails();\n const updateContractEligibilityMutation = useUpsertContractEligibility();\n const { mutateAsync: createEmploymentMutationAsync } = mutationToPromise(\n createEmploymentMutation,\n );\n const { mutateAsync: updateEmploymentMutationAsync } = mutationToPromise(\n updateEmploymentMutation,\n );\n const { mutateAsync: updateBenefitsOffersMutationAsync } = mutationToPromise(\n updateBenefitsOffersMutation,\n );\n // TODO: refactor all uses in onboarding together to avoid having mixed behaviour\n const { mutateAsync: updateEngagementAgreementMutationAsync } =\n mutationToPromise(updateEngagementAgreementMutation);\n const { mutateAsync: updateContractEligibilityMutationAsync } =\n mutationToPromise(updateContractEligibilityMutation);\n\n const formType =\n stepToFormSchemaMap[stepState.currentStep.name] ||\n 'employment_basic_information';\n const employmentKey = jsonSchemaToEmployment[formType] as keyof Employment;\n const serverEmploymentData = (employment?.[employmentKey] || {}) as Record<\n string,\n unknown\n >;\n\n const useJSONSchema = ({\n form,\n options: jsonSchemaOptions = {},\n query = {},\n jsonSchemaVersion,\n }: {\n form: JSONSchemaFormType;\n options?: {\n jsfModify?: JSFModify;\n queryOptions?: { enabled?: boolean };\n };\n query?: Record<string, string>;\n jsonSchemaVersion?: number | 'latest';\n }) => {\n const hasUserEnteredAnyValues = Object.keys(fieldValues).length > 0;\n // when you write on the fields, the values are stored in the fieldValues state\n // when values are stored in the stepState is when the user has navigated to the step\n // and then we have the values from the server and the onboardingInitialValues that the user can inject,\n const mergedFormValues = hasUserEnteredAnyValues\n ? {\n ...onboardingInitialValues,\n ...stepState.values?.[stepState.currentStep.name], // Restore values for the current step\n ...fieldValues,\n }\n : {\n ...onboardingInitialValues,\n ...serverEmploymentData,\n };\n\n return useJSONSchemaForm({\n countryCode: internalCountryCode as string,\n form: form,\n fieldValues: mergedFormValues,\n query,\n options: {\n ...jsonSchemaOptions,\n queryOptions: {\n enabled: jsonSchemaOptions.queryOptions?.enabled ?? true,\n },\n },\n jsonSchemaVersion,\n });\n };\n\n const isBasicInformationDetailsEnabled = Boolean(\n internalCountryCode &&\n (stepState.currentStep.name === 'basic_information' ||\n Boolean(employmentId)),\n );\n\n const isContractDetailsEnabled = Boolean(\n internalCountryCode &&\n (stepState.currentStep.name === 'contract_details' ||\n Boolean(employmentId)),\n );\n\n const {\n data: basicInformationForm,\n isLoading: isLoadingBasicInformationForm,\n } = useJSONSchema({\n form: 'employment_basic_information',\n options: {\n jsfModify: options?.jsfModify?.basic_information,\n queryOptions: {\n enabled: isBasicInformationDetailsEnabled,\n },\n },\n jsonSchemaVersion: getBasicInformationSchemaVersion(options),\n });\n\n const annualGrossSalaryField =\n options?.jsfModify?.contract_details?.fields?.annual_gross_salary;\n const annualSalaryFieldPresentation =\n annualGrossSalaryField &&\n typeof annualGrossSalaryField === 'object' &&\n 'presentation' in annualGrossSalaryField\n ? (\n annualGrossSalaryField as {\n presentation?: {\n annual_gross_salary_conversion_properties?: {\n label?: string;\n description?: string;\n };\n };\n }\n ).presentation\n : undefined;\n\n const equityCompensationField =\n options?.jsfModify?.contract_details?.fields?.equity_compensation;\n\n const contractDetailsCustomFields = useMemo(\n () => ({\n fields: {\n annual_gross_salary: {\n ...annualGrossSalaryField,\n presentation: {\n annual_gross_salary_conversion_properties: {\n label:\n annualSalaryFieldPresentation\n ?.annual_gross_salary_conversion_properties?.label,\n description:\n annualSalaryFieldPresentation\n ?.annual_gross_salary_conversion_properties?.description,\n },\n desiredCurrency: company?.desired_currency,\n Component: (props: JSFField & { currency: string }) => {\n return (\n <AnnualGrossSalary\n desiredCurrency={company?.desired_currency || ''}\n {...props}\n />\n );\n },\n },\n },\n equity_compensation: {\n ...equityCompensationField,\n presentation: {\n calculateDynamicProperties: (\n values: FieldValues,\n field: JSFField,\n ) => {\n const offerEquity =\n values.equity_compensation?.offer_equity_compensation;\n const equityCost = field?.meta?.cost;\n\n return {\n extra: (\n <EquityPriceDetails\n offerEquity={offerEquity}\n equityCost={equityCost as $TSFixMe}\n />\n ),\n };\n },\n },\n },\n },\n }),\n [\n annualGrossSalaryField,\n annualSalaryFieldPresentation,\n company?.desired_currency,\n equityCompensationField,\n ],\n );\n\n const effectiveContractDetailsJsonSchemaVersion =\n getContractDetailsSchemaVersion(options, internalCountryCode);\n\n const { data: contractDetailsForm, isLoading: isLoadingContractDetailsForm } =\n useJSONSchema({\n form: 'contract_details',\n query: {\n employment_id: internalEmploymentId as string,\n },\n options: {\n jsfModify: {\n ...options?.jsfModify?.contract_details,\n fields: {\n ...options?.jsfModify?.contract_details?.fields,\n ...contractDetailsCustomFields.fields,\n },\n },\n queryOptions: {\n enabled: isContractDetailsEnabled,\n },\n },\n jsonSchemaVersion: effectiveContractDetailsJsonSchemaVersion,\n });\n\n const {\n data: benefitOffersSchema,\n isLoading: isLoadingBenefitsOffersSchema,\n } = useBenefitOffersSchema(\n internalEmploymentId as string,\n fieldValues,\n options,\n );\n\n const initialValuesBenefitOffers = useMemo(() => {\n if (stepState.currentStep.name === 'benefits') {\n const benefitsFormValues = {\n ...stepState.values?.[stepState.currentStep.name as StepKeys], // Restore values for the current step\n ...fieldValues,\n };\n return mergeWith({}, benefitOffers, benefitsFormValues);\n }\n return {};\n }, [\n stepState.currentStep.name,\n benefitOffers,\n stepState.values,\n fieldValues,\n ]);\n\n const stepFields: Record<StepKeys, JSFFields> = useMemo(\n () => ({\n select_country: selectCountryForm?.fields || [],\n basic_information: basicInformationForm?.fields || [],\n engagement_agreement_details:\n engagementAgreementDetailsSchema?.fields || [],\n contract_details: contractDetailsForm?.fields || [],\n benefits: benefitOffersSchema?.fields || [],\n review: [],\n }),\n [\n selectCountryForm?.fields,\n basicInformationForm?.fields,\n contractDetailsForm?.fields,\n benefitOffersSchema?.fields,\n engagementAgreementDetailsSchema?.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 engagement_agreement_details:\n engagementAgreementDetailsSchema?.meta['x-jsf-fieldsets'],\n contract_details: contractDetailsForm?.meta['x-jsf-fieldsets'],\n benefits: 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 engagement_agreement_details:\n engagementAgreementDetailsSchema?.meta?.['x-jsf-presentation'],\n contract_details: contractDetailsForm?.meta?.['x-jsf-presentation'],\n benefits: benefitOffersSchema?.meta?.['x-jsf-presentation'],\n review: null,\n };\n\n const {\n country,\n basic_information: employmentBasicInformation = {},\n contract_details: employmentContractDetails = {},\n status: employmentStatus,\n } = employment || {};\n\n const employmentCountryCode = country?.code;\n const currentStepName = stepState.currentStep.name;\n\n const selectCountryInitialValues = useMemo(\n () =>\n getInitialValues(stepFields.select_country, {\n country: internalCountryCode || employmentCountryCode || '',\n }),\n [stepFields.select_country, internalCountryCode, employmentCountryCode],\n );\n\n const basicInformationInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...employmentBasicInformation,\n };\n\n return getInitialValues(stepFields.basic_information, initialValues);\n }, [\n stepFields.basic_information,\n employmentBasicInformation,\n onboardingInitialValues,\n ]);\n\n const engagementAgreementDetailsInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...employmentEngagementAgreementDetails,\n };\n\n return getInitialValues(\n stepFields.engagement_agreement_details,\n initialValues,\n );\n }, [\n stepFields.engagement_agreement_details,\n onboardingInitialValues,\n employmentEngagementAgreementDetails,\n ]);\n\n const contractDetailsInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...employmentContractDetails,\n };\n\n return getInitialValues(stepFields.contract_details, initialValues);\n }, [\n stepFields.contract_details,\n employmentContractDetails,\n onboardingInitialValues,\n ]);\n\n const benefitsInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...initialValuesBenefitOffers,\n };\n\n return getInitialValues(stepFields.benefits, initialValues);\n }, [\n stepFields.benefits,\n initialValuesBenefitOffers,\n onboardingInitialValues,\n ]);\n\n const initialValues = useMemo(() => {\n if (employment) {\n return {\n select_country: selectCountryInitialValues,\n // We don't store ack fields in the db, eg \"ack_start_date_ammendment\" for Argentina, and therefore is not returned in the employment response\n // So when an employmentId exists, it means that the user has already started the onboarding process, and we need to enable the ack fields\n basic_information: enableAckFields(\n stepFields['basic_information'],\n basicInformationInitialValues,\n ),\n engagement_agreement_details: engagementAgreementDetailsInitialValues,\n contract_details:\n // if contract details is null, it means it has not been filled yet, so we can't enable the ack fields\n employment?.contract_details !== null\n ? enableAckFields(\n stepFields['contract_details'],\n contractDetailsInitialValues,\n )\n : contractDetailsInitialValues,\n benefits: benefitsInitialValues,\n };\n }\n return {\n select_country: selectCountryInitialValues,\n basic_information: basicInformationInitialValues,\n contract_details: contractDetailsInitialValues,\n benefits: benefitsInitialValues,\n };\n }, [\n selectCountryInitialValues,\n basicInformationInitialValues,\n engagementAgreementDetailsInitialValues,\n contractDetailsInitialValues,\n benefitsInitialValues,\n employment,\n stepFields,\n ]);\n\n const { isLoading, isNavigatingToReview, isEmploymentReadOnly, canInvite } =\n useMemo(\n () =>\n getLoadingStates({\n isLoadingBasicInformationForm,\n isLoadingContractDetailsForm,\n isLoadingEngagementAgreementDetails,\n isLoadingEmploymentEngagementAgreementDetails,\n isLoadingEmployment,\n isLoadingBenefitsOffersSchema,\n isLoadingBenefitOffers,\n isLoadingCompany,\n isLoadingCountries,\n employmentId,\n employmentStatus: employmentStatus,\n basicInformationFields: stepFields.basic_information,\n contractDetailsFields: stepFields.contract_details,\n currentStepName: currentStepName,\n }),\n [\n isLoadingBasicInformationForm,\n isLoadingContractDetailsForm,\n isLoadingEngagementAgreementDetails,\n isLoadingEmploymentEngagementAgreementDetails,\n isLoadingEmployment,\n isLoadingBenefitsOffersSchema,\n isLoadingBenefitOffers,\n isLoadingCompany,\n isLoadingCountries,\n employmentId,\n employmentStatus,\n stepFields.basic_information,\n stepFields.contract_details,\n currentStepName,\n ],\n );\n\n useEffect(() => {\n if (isNavigatingToReview) {\n fieldsMetaRef.current = {\n select_country: prettifyFormValues(\n selectCountryInitialValues,\n stepFields.select_country,\n { skipMoneyConversion: true },\n ),\n basic_information: prettifyFormValues(\n basicInformationInitialValues,\n stepFields.basic_information,\n { skipMoneyConversion: true },\n ),\n engagement_agreement_details: prettifyFormValues(\n engagementAgreementDetailsInitialValues,\n stepFields.engagement_agreement_details,\n { skipMoneyConversion: true },\n ),\n contract_details: prettifyFormValues(\n contractDetailsInitialValues,\n stepFields.contract_details,\n { skipMoneyConversion: true },\n ),\n benefits: prettifyFormValues(\n benefitsInitialValues,\n stepFields.benefits,\n { skipMoneyConversion: true },\n ),\n };\n\n setStepValues({\n select_country: selectCountryInitialValues,\n basic_information: basicInformationInitialValues,\n contract_details: contractDetailsInitialValues,\n benefits: benefitsInitialValues,\n engagement_agreement_details: engagementAgreementDetailsInitialValues,\n review: {},\n });\n\n goToStep('review');\n }\n }, [\n basicInformationInitialValues,\n benefitsInitialValues,\n contractDetailsInitialValues,\n engagementAgreementDetailsInitialValues,\n goToStep,\n isNavigatingToReview,\n selectCountryInitialValues,\n setStepValues,\n stepFields.basic_information,\n stepFields.benefits,\n stepFields.contract_details,\n stepFields.select_country,\n stepFields.engagement_agreement_details,\n ]);\n\n const parseFormValues = async (values: FieldValues) => {\n if (selectCountryForm && stepState.currentStep.name === 'select_country') {\n return values;\n }\n if (\n basicInformationForm &&\n stepState.currentStep.name === 'basic_information'\n ) {\n return await parseJSFToValidate(values, basicInformationForm?.fields, {\n isPartialValidation: false,\n });\n }\n\n if (\n engagementAgreementDetailsSchema &&\n stepState.currentStep.name === 'engagement_agreement_details'\n ) {\n return await parseJSFToValidate(\n values,\n engagementAgreementDetailsSchema?.fields,\n {\n isPartialValidation: false,\n },\n );\n }\n\n if (\n contractDetailsForm &&\n stepState.currentStep.name === 'contract_details'\n ) {\n return await parseJSFToValidate(values, contractDetailsForm?.fields, {\n isPartialValidation: false,\n });\n }\n\n if (benefitOffersSchema && stepState.currentStep.name === 'benefits') {\n return await parseJSFToValidate(values, benefitOffersSchema?.fields, {\n isPartialValidation: false,\n });\n }\n\n return {};\n };\n\n async function onSubmit(values: FieldValues) {\n // Prettify values for the current step\n const currentStepName = stepState.currentStep.name;\n const parsedValues = await parseFormValues(values);\n if (currentStepName in fieldsMetaRef.current) {\n fieldsMetaRef.current[\n currentStepName as keyof typeof fieldsMetaRef.current\n ] = prettifyFormValues(parsedValues, stepFields[currentStepName]);\n }\n\n refetchCompany();\n switch (stepState.currentStep.name) {\n case 'select_country': {\n setInternalCountryCode(parsedValues.country);\n return Promise.resolve({ data: { countryCode: parsedValues.country } });\n }\n case 'basic_information': {\n const isEmploymentNotLoaded =\n !internalEmploymentId && internalCountryCode;\n const hasChangedCountry =\n internalEmploymentId &&\n internalCountryCode &&\n employment?.country &&\n employment?.country.code !== internalCountryCode;\n if (isEmploymentNotLoaded || hasChangedCountry) {\n const payload: EmploymentCreateParams = {\n basic_information: parsedValues,\n type: type,\n country_code: internalCountryCode,\n external_id: externalId,\n };\n try {\n const response = await createEmploymentMutationAsync(payload);\n\n if (response.error) {\n return response;\n }\n\n if (response.data) {\n // @ts-expect-error the types from the response are not matching\n const employmentId = response.data?.data?.employment?.id;\n if (employmentId) {\n setInternalEmploymentId(employmentId);\n await updateContractEligibilityMutationAsync({\n employmentId: employmentId,\n eligible_to_work_in_residing_country: 'citizen',\n employer_or_work_restrictions: false,\n });\n }\n\n return response;\n }\n } catch (error) {\n console.error('Error creating onboarding:', error);\n throw error;\n }\n } else if (internalEmploymentId) {\n return updateEmploymentMutationAsync({\n employmentId: internalEmploymentId,\n basic_information: parsedValues,\n pricing_plan_details: {\n frequency: 'monthly',\n },\n external_id: externalId,\n });\n }\n\n return;\n }\n case 'engagement_agreement_details': {\n return updateEngagementAgreementMutationAsync({\n employmentId: internalEmploymentId as string,\n engagement_agreement_details: parsedValues,\n });\n }\n case 'contract_details': {\n const payload: EmploymentFullParams = {\n contract_details: parsedValues,\n pricing_plan_details: {\n frequency: 'monthly',\n },\n };\n return updateEmploymentMutationAsync({\n employmentId: internalEmploymentId as string,\n external_id: externalId,\n ...payload,\n });\n }\n\n case 'benefits': {\n return updateBenefitsOffersMutationAsync({\n employmentId: internalEmploymentId as string,\n ...parsedValues,\n });\n }\n }\n return;\n }\n\n function back() {\n previousStep();\n }\n\n function next() {\n nextStep();\n }\n\n function goTo(step: StepKeys) {\n goToStep(step);\n }\n\n return {\n /**\n * Employment id passed useful to be used between components\n */\n employmentId: internalEmploymentId,\n\n /**\n * Credit risk status of the company, useful to know what to to show in the review step\n * The possible values are:\n * - not_started\n * - ready\n * - in_progress\n * - referred\n * - fail\n * - deposit_required\n * - no_deposit_required\n */\n\n creditRiskStatus: company?.default_legal_entity_credit_risk_status,\n /**\n * Onboarding reserves status for the employment\n * Returns 'deposit_required' if a deposit is required based on onboarding reserves policies\n */\n onboardingReservesStatus: onboardingReservesStatus,\n /**\n * Current state of the form fields for the current step.\n */\n fieldValues,\n /**\n * Current step state containing the current step and total number of steps\n */\n stepState,\n /**\n * Array of form fields from the onboarding schema\n */\n fields: stepFields[stepState.currentStep.name],\n /**\n * Loading state indicating if the onboarding schema is being fetched\n */\n isLoading: isLoading,\n /**\n * Loading state indicating if the onboarding mutation is in progress\n */\n isSubmitting:\n createEmploymentMutation.isPending ||\n updateEmploymentMutation.isPending ||\n updateBenefitsOffersMutation.isPending ||\n updateEngagementAgreementMutation.isPending ||\n updateContractEligibilityMutation.isPending,\n /**\n * Initial form values\n */\n initialValues,\n /**\n * Function to validate form values against the onboarding schema\n * @param values - Form values to validate\n * @returns Validation result or null if no schema is available\n */\n handleValidation: async (\n values: FieldValues,\n ): Promise<ValidationResult | null> => {\n if (stepState.currentStep.name === 'select_country') {\n return selectCountryForm.handleValidation(values);\n }\n if (stepState.currentStep.name === 'benefits' && benefitOffersSchema) {\n const parsedValues = await parseJSFToValidate(\n values,\n benefitOffersSchema?.fields,\n { isPartialValidation: false },\n );\n\n return benefitOffersSchema?.handleValidation(parsedValues);\n }\n if (\n basicInformationForm &&\n stepState.currentStep.name === 'basic_information'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n basicInformationForm?.fields,\n { isPartialValidation: false },\n );\n return basicInformationForm?.handleValidation(parsedValues);\n }\n\n if (\n engagementAgreementDetailsSchema &&\n stepState.currentStep.name === 'engagement_agreement_details'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n engagementAgreementDetailsSchema?.fields,\n { isPartialValidation: false },\n );\n return engagementAgreementDetailsSchema?.handleValidation(parsedValues);\n }\n\n if (\n contractDetailsForm &&\n stepState.currentStep.name === 'contract_details'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n contractDetailsForm?.fields,\n { isPartialValidation: false },\n );\n return contractDetailsForm?.handleValidation(parsedValues);\n }\n\n return null;\n },\n /**\n * Function to update the current form field values\n * @param values - New form values to set\n */\n checkFieldUpdates: setFieldValues,\n\n /**\n * Function to parse form values before submission\n * @param values - Form values to parse\n * @returns Parsed form values\n */\n parseFormValues,\n\n /**\n * Function to handle form submission\n * @param values - Form values to submit\n * @returns Promise resolving to the mutation result\n */\n onSubmit,\n\n /**\n * Function to handle going back to the previous step\n * @returns {void}\n */\n back,\n\n /**\n * Function to handle going to the next step\n * @returns {void}\n */\n next,\n\n /**\n * Function to handle going to a specific step\n * @param step The step to go to.\n * @returns {void}\n */\n goTo,\n\n /**\n * Fields metadata for each step\n */\n meta: {\n fields: fieldsMetaRef.current,\n fieldsets: stepFieldsWithFlatFieldsets[stepState.currentStep.name],\n presentation: stepPresentation[stepState.currentStep.name],\n },\n\n /**\n * Function to refetch the employment data\n * @returns {void}\n */\n refetchEmployment,\n /**\n * Employment data\n */\n employment,\n\n /**\n * let's the user know that the employment cannot be edited, happens when employment.status is invited, created_awaiting_reserve or created_reserve_paid\n * @returns {boolean}\n */\n isEmploymentReadOnly,\n\n /**\n * let's the user know if the company can invite employees\n * @returns {boolean}\n */\n canInvite,\n\n /**\n * Steps array for dynamic step navigation\n * When 'dynamic_steps' feature is enabled:\n * - Returns all steps including hidden ones with their original indices\n * - Consumers must filter by `visible` property\n * When disabled (default):\n * - Returns only visible steps with sequential indices\n * - Maintains backwards compatibility with existing implementations\n * @returns {Array<{name: string, visible: boolean, index: number, label: string}>}\n */\n steps: stepsArray,\n /**\n * Selected country for the onboarding\n * @returns {name: string, code: string} | null\n */\n selectedCountry: internalCountryCode\n ? {\n code: internalCountryCode,\n name: country?.name,\n }\n : null,\n };\n};\n","import {\n createContext,\n useContext,\n ReactNode,\n useMemo,\n useCallback,\n useRef,\n RefObject,\n} from 'react';\nimport type { ErrorContextData } from './types';\n\nexport type ErrorContextValue = {\n errorContextRef: RefObject<ErrorContextData>;\n updateContext: (updates: Partial<ErrorContextData>) => void;\n};\n\nexport const ErrorContext = createContext<ErrorContextValue | undefined>(\n undefined,\n);\n\nexport function ErrorContextProvider({ children }: { children: ReactNode }) {\n const errorContextRef = useRef<ErrorContextData>({});\n\n const updateContext = useCallback((updates: Partial<ErrorContextData>) => {\n errorContextRef.current = { ...errorContextRef.current, ...updates };\n }, []);\n\n // Memoize the value object to prevent unnecessary re-renders\n // Note: setContext is stable from useState and doesn't need to be in deps\n const value = useMemo(\n () => ({\n errorContextRef,\n updateContext,\n }),\n [updateContext],\n );\n\n return (\n <ErrorContext.Provider value={value}>{children}</ErrorContext.Provider>\n );\n}\n\nexport const useErrorContext = () => {\n const ctx = useContext(ErrorContext);\n if (!ctx) {\n throw new Error('useErrorContext must be used within ErrorContextProvider');\n }\n return ctx;\n};\n","import { useErrorContext } from '@/src/components/error-handling/ErrorContext';\nimport { ErrorContextData } from '@/src/components/error-handling/types';\nimport { useEffect, useMemo } from 'react';\n\nexport function useErrorReporting(initialContext: ErrorContextData) {\n const { updateContext, errorContextRef } = useErrorContext();\n\n // Set initial context on mount\n useEffect(() => {\n if (initialContext) {\n errorContextRef.current = initialContext;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // Clear context on unmount\n useEffect(() => {\n return () => {\n errorContextRef.current = {};\n };\n }, [errorContextRef]);\n\n // Note: setContext and updateContext are stable, don't need to be in deps\n const handlers = useMemo(\n () => ({\n updateErrorContext: (updates: Partial<ErrorContextData>) => {\n updateContext(updates);\n },\n\n clearErrorContext: () => {\n errorContextRef.current = {};\n },\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n\n return {\n ...handlers,\n /**\n * @internal For unit testing only - we access the errorContext in the error boundary directly\n * Use updateErrorContext() and clearErrorContext() handlers instead.\n */\n errorContext: errorContextRef,\n };\n}\n"],"mappings":"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","names":["useCallback","useEffect","useMemo","useRef","useState","mergeWith","createContext","useContext","useMemo","useCallback","useRef","jsx","ErrorContext","createContext","ErrorContextProvider","children","errorContextRef","useRef","updateContext","useCallback","updates","value","useMemo","__name","useErrorContext","ctx","useContext","useEffect","useMemo","useErrorReporting","initialContext","updateContext","errorContextRef","useErrorContext","useEffect","useMemo","__name","updates","jsx","jsonSchemaToEmployment","stepToFormSchemaMap","getLoadingStates","__name","isLoadingBasicInformationForm","isLoadingContractDetailsForm","isLoadingEngagementAgreementDetails","isLoadingEmploymentEngagementAgreementDetails","isLoadingEmployment","isLoadingBenefitsOffersSchema","isLoadingBenefitOffers","isLoadingCompany","isLoadingCountries","employmentStatus","employmentId","currentStepName","basicInformationFields","contractDetailsFields","initialLoading","isEmploymentReadOnly","reviewStepAllowedEmploymentStatus","canInvite","disabledInviteButtonEmploymentStatus","shouldHandleReadOnlyEmployment","isLoading","isNavigatingToReview","useOnboarding","companyId","countryCode","type","options","skipSteps","externalId","onboardingInitialValues","updateErrorContext","useErrorReporting","internalEmploymentId","setInternalEmploymentId","useState","internalCountryCode","setInternalCountryCode","includeEngagementAgreementDetails","setIncludeEngagementAgreementDetails","useDynamicSteps","steps","stepsArray","useMemo","buildSteps","onStepChange","useCallback","step","fieldValues","stepState","setFieldValues","previousStep","nextStep","goToStep","setStepValues","useStepState","employmentEngagementAgreementDetails","useEmploymentEngagementAgreementDetails","engagementAgreementDetailsFieldValues","engagementAgreementDetailsSchema","useEngagementAgreementDetailsSchema","useEffect","hasFields","fieldsMetaRef","useRef","employment","refetchEmployment","useEmploymentQuery","benefitOffers","useBenefitOffers","company","refetchCompany","useCompany","isOnboardingReservesEnabled","onboardingReservesStatus","useEmploymentOnboardingReservesStatus","selectCountryForm","useCountriesSchemaField","createEmploymentMutation","useCreateEmployment","updateEmploymentMutation","useUpdateEmployment","updateBenefitsOffersMutation","useUpdateBenefitsOffers","updateEngagementAgreementMutation","useUpdateEmploymentEngagementAgreementDetails","updateContractEligibilityMutation","useUpsertContractEligibility","createEmploymentMutationAsync","mutationToPromise","updateEmploymentMutationAsync","updateBenefitsOffersMutationAsync","updateEngagementAgreementMutationAsync","updateContractEligibilityMutationAsync","formType","employmentKey","serverEmploymentData","useJSONSchema","form","jsonSchemaOptions","query","jsonSchemaVersion","mergedFormValues","useJSONSchemaForm","isBasicInformationDetailsEnabled","isContractDetailsEnabled","basicInformationForm","getBasicInformationSchemaVersion","annualGrossSalaryField","annualSalaryFieldPresentation","equityCompensationField","contractDetailsCustomFields","props","AnnualGrossSalary","values","field","offerEquity","equityCost","EquityPriceDetails","effectiveContractDetailsJsonSchemaVersion","getContractDetailsSchemaVersion","contractDetailsForm","benefitOffersSchema","useBenefitOffersSchema","initialValuesBenefitOffers","benefitsFormValues","mergeWith","stepFields","stepFieldsWithFlatFieldsets","stepPresentation","country","employmentBasicInformation","employmentContractDetails","employmentCountryCode","selectCountryInitialValues","getInitialValues","basicInformationInitialValues","initialValues","engagementAgreementDetailsInitialValues","contractDetailsInitialValues","benefitsInitialValues","enableAckFields","prettifyFormValues","parseFormValues","parseJSFToValidate","onSubmit","parsedValues","isEmploymentNotLoaded","hasChangedCountry","payload","response","error","back","next","goTo"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{f as n,h as a}from"./chunk-XG6ASTX5.js";import{g as m}from"./chunk-RZCU2MT3.js";import{b as i}from"./chunk-TVZAFTPT.js";import{a as o}from"./chunk-P37U34EQ.js";import{jsx as s}from"react/jsx-runtime";function R({onSubmit:d,onError:c,onSuccess:l}){let{contractAmendment:{stepState:u,isSubmitting:f,onSubmit:C,fields:p},formId:A}=i(),e=n({defaultValues:u.values?.form}),F=o(async r=>{let S=await m(r,p,{isPartialValidation:!1});await d?.(S);let t=await C(r);t.error?c?.(t.error):await l?.(t.data)},"handleSubmit");return f?null:s(a,{...e,children:s("form",{id:A,onSubmit:e.handleSubmit(F),className:"RemoteFlows__ContractAmendmentConfirmationForm"})})}o(R,"ContractAmendmentConfirmationForm");export{R as a};
|
|
2
|
+
//# sourceMappingURL=chunk-HVI5GHIV.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as o,b as r}from"./chunk-PX5PE6GX.js";import{a as t}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as o,b as r}from"./chunk-PX5PE6GX.js";import{a as t}from"./chunk-PR6I3UYE.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as a}from"react/jsx-runtime";var n={[o]:" Remote provides its Contractor Services Agreement (CSA) \u201Cas is\u201D; it does not constitute legal advice or create an attorney-client relationship with Remote. Remote is not liable for the content You enter herein and You are encouraged to seek independent legal advice tailored to the specific relationship between You and Your Contractor. By use of the CSA, You release Remote from liability for any claim for damages or losses which may arise related to Your use thereof.",[r]:"Remote provides its Contractor Services Agreement (CSA) \u201Cas is\u201D; it does not constitute legal advice or create an attorney-client relationship with Remote. Remote is not liable for the content You enter herein and You are encouraged to seek independent legal advice tailored to the specific relationship between You and Your Contractor."},d=e(({subscription:i})=>a(t,{title:"Contractor Services Agreement",description:n[i],severity:"info"}),"StatementOfWorkDisclaimer");export{d as a};
|
|
2
|
+
//# sourceMappingURL=chunk-HZ2BCB3U.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a}from"./chunk-OMLHAQQX.js";import{a as r}from"./chunk-SLEK47CR.js";import{a as t}from"./chunk-TLQYNJBC.js";import{a as f}from"./chunk-3JPDFNNH.js";import{a as e}from"./chunk-45RIDSO6.js";import{a as p}from"./chunk-K5TZIA6W.js";import{a as n}from"./chunk-YUNA3QKT.js";import{a as m}from"./chunk-MRYRNB7Y.js";import{a as i}from"./chunk-P37U34EQ.js";import{useId as c}from"react";import{jsx as F}from"react/jsx-runtime";var k=i(({employmentId:l,render:T,options:d,initialValues:s})=>{let u=c(),o=t({employmentId:l,options:d,initialValues:s});return F(m.Provider,{value:{formId:u,terminationBag:o},children:T({terminationBag:o,components:{SubmitButton:r,Back:n,EmployeeComunicationStep:e,TerminationDetailsStep:a,PaidTimeOffStep:p,AdditionalDetailsStep:f}})})},"TerminationFlow");export{k as a};
|
|
2
|
+
//# sourceMappingURL=chunk-I5NOEJSP.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{b as i}from"./chunk-KFYWUBRS.js";import{f as t}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{b as i}from"./chunk-KFYWUBRS.js";import{f as t}from"./chunk-XG6ASTX5.js";import{a as n}from"./chunk-P37U34EQ.js";import{useEffect as c,useRef as d}from"react";import f from"fast-deep-equal";function U({handleValidation:a,defaultValues:o,checkFieldUpdates:m}){let u=i(a),r=d(o),s=t({resolver:u,defaultValues:o,shouldUnregister:!1,mode:"onBlur"});return c(()=>{let l=s?.watch(e=>{!f(e,r.current)&&(m(e),r.current=JSON.parse(JSON.stringify(e)))});return()=>l?.unsubscribe()},[]),s}n(U,"useJSONSchemaForm");export{U as a};
|
|
2
|
+
//# sourceMappingURL=chunk-ID66NML3.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{b as e}from"./chunk-76ZDXC2T.js";import{b as r}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{b as e}from"./chunk-76ZDXC2T.js";import{b as r}from"./chunk-H2O4CVKF.js";import{a as n}from"./chunk-P37U34EQ.js";import{jsx as p}from"react/jsx-runtime";function b({children:i,type:m="submit",...t}){let{formId:u,createCompanyBag:s}=e(),{components:d}=r(),o=d?.button;if(!o)throw new Error("Button component not found");return p(o,{...t,form:u,type:m,disabled:t.disabled||s.isSubmitting,children:i})}n(b,"CreateCompanySubmit");export{b as a};
|
|
2
|
+
//# sourceMappingURL=chunk-IFIJ7OVJ.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{b as v}from"./chunk-TXSUZLOI.js";import{a as I}from"./chunk-A3LRPGV3.js";import{a as N,b as j,c as D,d as O}from"./chunk-LANAT75E.js";import{a as C,g as p,h as b,t as R,u as F}from"./chunk-RZCU2MT3.js";import{a as k}from"./chunk-TSPDJUGG.js";import{a as c}from"./chunk-P37U34EQ.js";import{useMemo as S,useRef as ee,useState as A}from"react";var pe=c(({countryCode:L,options:u,initialValues:l})=>{let P=N(),g=j(),{mutateAsync:q}=C(P),{mutateAsync:J}=C(g),[y,U]=A(L||null),[f,B]=A(null),w=ee({company_basic_information:{},address_details:{}}),{fieldValues:V,stepState:a,setFieldValues:W,previousStep:z,nextStep:G,goToStep:H}=k(I),{companyBasicInformationForm:d,isLoading:K}=D({jsfModify:u?.jsfModify?.company_basic_information,queryOptions:{enabled:a.currentStep.name==="company_basic_information"}}),{data:s,isLoading:Q}=O({countryCode:y,fieldValues:a.currentStep.name==="address_details"?{...a.values?.address_details||{},...V}:a.values?.address_details||{},options:{...u,jsfModify:u?.jsfModify?.address_details,queryOptions:{enabled:a.currentStep.name==="address_details"&&!!y&&!!f}}}),i=S(()=>({company_basic_information:d?.fields||[],address_details:s?.fields||[]}),[d?.fields,s?.fields]),X={company_basic_information:null,address_details:s?.meta?.["x-jsf-fieldsets"]||null},h=S(()=>b(i.company_basic_information,{...l,country_code:y||l?.country_code||""}),[i.company_basic_information,y,l]),E=S(()=>b(i.address_details,l||{}),[i.address_details,l]),Y=S(()=>({company_basic_information:h,address_details:E}),[h,E]),Z=c(o=>{H(o)},"goTo"),M=c(async o=>{let r=a.currentStep.name,e=i[r];return d&&r==="company_basic_information"?await p(o,e,{isPartialValidation:!1}):s&&r==="address_details"?await p(o,e,{isPartialValidation:!1}):{}},"parseFormValues");async function $(o){let r=a.currentStep.name,e=await M(o);switch(r in w.current&&(w.current[r]=R(e,i[r])),a.currentStep.name){case"company_basic_information":{if(U(e.country_code),f)return Promise.resolve({data:{countryCode:e.country_code??"",companyOwnerEmail:e.company_owner_email??"",companyOwnerName:e.company_owner_name??"",desiredCurrency:e.desired_currency??"",name:e.name??"",phoneNumber:e.phone_number??"",taxNumber:e.tax_number??""}});let x={country_code:e.country_code,company_owner_email:e.company_owner_email,company_owner_name:e.company_owner_name,desired_currency:e.desired_currency,name:e.name,phone_number:e.phone_number,tax_number:e.tax_number,terms_of_service_accepted_at:v()},n=await q(x);if(n.error)return Promise.resolve({data:null,error:n.error,rawError:n.rawError,fieldErrors:n.fieldErrors});let m=n.data?.data,_,t;if(m)if("data"in m&&m.data){let T=m.data.company;t=T,_=T?.id}else"company"in m&&(t=m.company,_=t?.id);return _&&B(_),Promise.resolve({data:{countryCode:t?.country_code??e.country_code??"",companyOwnerEmail:t?.company_owner_email??e.company_owner_email??"",companyOwnerName:t?.company_owner_name??e.company_owner_name??"",desiredCurrency:t?.desired_currency??e.desired_currency??"",name:t?.name??e.name??"",phoneNumber:t?.phone_number??e.phone_number??"",taxNumber:t?.tax_number??e.tax_number??""}})}case"address_details":{if(!f)throw F("Company ID is required to update address details");let n=await J({companyId:f,payload:{address_details:e},jsonSchemaVersion:u?.jsonSchemaVersion?.form_schema?.address_details});return n.error?Promise.resolve({data:null,error:n.error,rawError:n.rawError,fieldErrors:n.fieldErrors}):Promise.resolve({data:n.data})}default:throw F("Invalid step state")}}return c($,"onSubmit"),{isLoading:K||Q,isSubmitting:P.isPending||g.isPending,fieldValues:V,stepState:a,checkFieldUpdates:W,back:z,next:G,goTo:Z,onSubmit:$,fields:i[a.currentStep.name],meta:{fields:w.current,fieldsets:X[a.currentStep.name]},parseFormValues:M,handleValidation:c(async o=>{if(a.currentStep.name==="company_basic_information"&&d){let r=await p(o,d.fields,{isPartialValidation:!1});return d.handleValidation(r)}if(a.currentStep.name==="address_details"&&s){let r=await p(o,s.fields,{isPartialValidation:!1});return s.handleValidation(r)}return null},"handleValidation"),initialValues:Y}},"useCreateCompany");export{pe as a};
|
|
2
|
+
//# sourceMappingURL=chunk-IOVRTUOC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/flows/CreateCompany/hooks.ts"],"sourcesContent":["import { useMemo, useRef, useState } from 'react';\nimport { FieldValues } from 'react-hook-form';\nimport { JSFFields } from '@/src/types/remoteFlows';\nimport {\n getInitialValues,\n parseJSFToValidate,\n} from '@/src/components/form/utils';\nimport { ValidationResult } from '@remoteoss/remote-json-schema-form-kit';\nimport { CreateCompanyFlowProps } from '@/src/flows/CreateCompany/types';\nimport { CreateCompanyParams, UpdateCompanyParams } from '@/src/client';\nimport { nowUtcFormatted } from '@/src/common/dates';\n\nimport { STEPS } from '@/src/flows/CreateCompany/utils';\nimport {\n useCountriesSchemaField,\n useAddressDetailsSchema,\n} from '@/src/flows/CreateCompany/api';\nimport { Step, useStepState } from '@/src/flows/useStepState';\nimport { createStructuredError, prettifyFormValues } from '@/src/lib/utils';\nimport { JSFFieldset, Meta } from '@/src/types/remoteFlows';\nimport { mutationToPromise } from '@/src/lib/mutations';\nimport {\n useCreateCompanyRequest,\n useUpdateCompanyRequest,\n} from '@/src/flows/CreateCompany/api';\n\ntype useCreateCompanyProps = Omit<CreateCompanyFlowProps, 'render'>;\n\n/**\n * Main hook for the CreateCompany flow\n * Manages the two-step flow: company creation and address details\n * @param countryCode - Optional initial country code\n * @param options - Flow options including jsfModify and jsonSchemaVersion\n * @returns CreateCompany bag with all flow state and methods\n */\nexport const useCreateCompany = ({\n countryCode,\n options,\n initialValues: createCompanyInitialValues,\n}: useCreateCompanyProps) => {\n const createCompanyMutation = useCreateCompanyRequest();\n const updateCompanyMutation = useUpdateCompanyRequest();\n\n const { mutateAsync: createCompanyMutationAsync } = mutationToPromise(\n createCompanyMutation,\n );\n const { mutateAsync: updateCompanyMutationAsync } = mutationToPromise(\n updateCompanyMutation,\n );\n\n const [internalCountryCode, setInternalCountryCode] = useState<string | null>(\n countryCode || null,\n );\n const [createdCompanyId, setCreatedCompanyId] = useState<string | null>(null);\n const fieldsMetaRef = useRef<{\n company_basic_information: Meta;\n address_details: Meta;\n }>({\n company_basic_information: {},\n address_details: {},\n });\n\n const {\n fieldValues,\n stepState,\n setFieldValues,\n previousStep,\n nextStep,\n goToStep,\n } = useStepState(\n STEPS as Record<keyof typeof STEPS, Step<keyof typeof STEPS>>,\n );\n\n const { companyBasicInformationForm, isLoading: isLoadingCountries } =\n useCountriesSchemaField({\n jsfModify: options?.jsfModify?.company_basic_information,\n queryOptions: {\n enabled: stepState.currentStep.name === 'company_basic_information',\n },\n });\n\n const { data: addressDetailsForm, isLoading: isLoadingAddressDetails } =\n useAddressDetailsSchema({\n countryCode: internalCountryCode,\n fieldValues:\n stepState.currentStep.name === 'address_details'\n ? {\n ...(stepState.values?.address_details || {}),\n ...fieldValues,\n }\n : stepState.values?.address_details || {},\n options: {\n ...options,\n jsfModify: options?.jsfModify?.address_details,\n queryOptions: {\n enabled:\n stepState.currentStep.name === 'address_details' &&\n !!internalCountryCode &&\n !!createdCompanyId,\n },\n },\n });\n\n const stepFields: Record<keyof typeof STEPS, JSFFields> = useMemo(\n () => ({\n company_basic_information: companyBasicInformationForm?.fields || [],\n address_details: addressDetailsForm?.fields || [],\n }),\n [companyBasicInformationForm?.fields, addressDetailsForm?.fields],\n );\n\n const stepFieldsWithFlatFieldsets: Record<\n keyof typeof STEPS,\n JSFFieldset | null | undefined\n > = {\n company_basic_information: null,\n address_details: addressDetailsForm?.meta?.['x-jsf-fieldsets'] || null,\n };\n\n const companyBasicInformationInitialValues = useMemo(\n () =>\n getInitialValues(stepFields.company_basic_information, {\n ...createCompanyInitialValues,\n country_code:\n internalCountryCode || createCompanyInitialValues?.country_code || '',\n }),\n [\n stepFields.company_basic_information,\n internalCountryCode,\n createCompanyInitialValues,\n ],\n );\n\n const addressDetailsInitialValues = useMemo(\n () =>\n getInitialValues(\n stepFields.address_details,\n createCompanyInitialValues || {},\n ),\n [stepFields.address_details, createCompanyInitialValues],\n );\n\n const initialValues = useMemo(() => {\n return {\n company_basic_information: companyBasicInformationInitialValues,\n address_details: addressDetailsInitialValues,\n };\n }, [companyBasicInformationInitialValues, addressDetailsInitialValues]);\n\n const goTo = (step: keyof typeof STEPS) => {\n goToStep(step);\n };\n\n const parseFormValues = async (values: FieldValues) => {\n const currentStepName = stepState.currentStep.name;\n const currentStepFields = stepFields[currentStepName];\n\n if (\n companyBasicInformationForm &&\n currentStepName === 'company_basic_information'\n ) {\n return await parseJSFToValidate(values, currentStepFields, {\n isPartialValidation: false,\n });\n }\n if (addressDetailsForm && currentStepName === 'address_details') {\n return await parseJSFToValidate(values, currentStepFields, {\n isPartialValidation: false,\n });\n }\n return {};\n };\n\n async function onSubmit(values: FieldValues) {\n const currentStepName = stepState.currentStep.name;\n const parsedValues = await parseFormValues(values);\n if (currentStepName in fieldsMetaRef.current) {\n fieldsMetaRef.current[\n currentStepName as keyof typeof fieldsMetaRef.current\n ] = prettifyFormValues(parsedValues, stepFields[currentStepName]);\n }\n\n switch (stepState.currentStep.name) {\n case 'company_basic_information': {\n setInternalCountryCode(parsedValues.country_code);\n\n // If company already exists, skip creation and return current form values\n if (createdCompanyId) {\n return Promise.resolve({\n data: {\n countryCode: parsedValues.country_code ?? '',\n companyOwnerEmail: parsedValues.company_owner_email ?? '',\n companyOwnerName: parsedValues.company_owner_name ?? '',\n desiredCurrency: parsedValues.desired_currency ?? '',\n name: parsedValues.name ?? '',\n phoneNumber: parsedValues.phone_number ?? '',\n taxNumber: parsedValues.tax_number ?? '',\n },\n });\n }\n\n const payload: CreateCompanyParams = {\n country_code: parsedValues.country_code,\n company_owner_email: parsedValues.company_owner_email,\n company_owner_name: parsedValues.company_owner_name,\n desired_currency: parsedValues.desired_currency,\n name: parsedValues.name,\n phone_number: parsedValues.phone_number,\n tax_number: parsedValues.tax_number,\n terms_of_service_accepted_at: nowUtcFormatted(),\n };\n\n const response = await createCompanyMutationAsync(payload);\n\n // Check for errors from the mutation\n if (response.error) {\n return Promise.resolve({\n data: null,\n error: response.error,\n rawError: response.rawError,\n fieldErrors: response.fieldErrors,\n });\n }\n\n // Handle both CompanyResponse and CompanyWithTokensResponse structures\n // CompanyResponse: { data: { company?: Company } }\n // CompanyWithTokensResponse: { company?: Company; tokens?: OAuth2Tokens }\n const responseData = response.data?.data;\n let companyId: string | undefined;\n let company:\n | {\n country_code?: string;\n company_owner_email?: string;\n company_owner_name?: string;\n desired_currency?: string;\n name?: string;\n phone_number?: string;\n tax_number?: string;\n }\n | undefined;\n if (responseData) {\n if ('data' in responseData && responseData.data) {\n // CompanyResponse structure: response.data.data.data.company\n const companyData = (responseData.data as { company?: unknown })\n .company;\n company = companyData as typeof company;\n companyId = (companyData as { id?: string })?.id;\n } else if ('company' in responseData) {\n // CompanyWithTokensResponse structure: response.data.data.company\n company = responseData.company as typeof company;\n companyId = (company as { id?: string })?.id;\n }\n }\n if (companyId) {\n setCreatedCompanyId(companyId);\n }\n // Map company fields from snake_case to camelCase to match CompanyBasicInfoSuccess\n // Fall back to parsedValues if company data is not available\n return Promise.resolve({\n data: {\n countryCode:\n company?.country_code ?? parsedValues.country_code ?? '',\n companyOwnerEmail:\n company?.company_owner_email ??\n parsedValues.company_owner_email ??\n '',\n companyOwnerName:\n company?.company_owner_name ??\n parsedValues.company_owner_name ??\n '',\n desiredCurrency:\n company?.desired_currency ?? parsedValues.desired_currency ?? '',\n name: company?.name ?? parsedValues.name ?? '',\n phoneNumber:\n company?.phone_number ?? parsedValues.phone_number ?? '',\n taxNumber: company?.tax_number ?? parsedValues.tax_number ?? '',\n },\n });\n }\n\n case 'address_details': {\n if (!createdCompanyId) {\n throw createStructuredError(\n 'Company ID is required to update address details',\n );\n }\n const payload: UpdateCompanyParams = {\n address_details: parsedValues,\n };\n\n const response = await updateCompanyMutationAsync({\n companyId: createdCompanyId,\n payload,\n jsonSchemaVersion:\n options?.jsonSchemaVersion?.form_schema?.address_details,\n });\n\n // Check for errors from the mutation\n if (response.error) {\n return Promise.resolve({\n data: null,\n error: response.error,\n rawError: response.rawError,\n fieldErrors: response.fieldErrors,\n });\n }\n\n return Promise.resolve({ data: response.data });\n }\n\n default: {\n throw createStructuredError('Invalid step state');\n }\n }\n }\n\n const isLoading = isLoadingCountries || isLoadingAddressDetails;\n\n return {\n /**\n * Loading state indicating if the flow is loading data\n */\n isLoading,\n\n /**\n * Loading state indicating if the company creation or update mutation is in progress\n */\n isSubmitting:\n createCompanyMutation.isPending || updateCompanyMutation.isPending,\n\n /**\n * Current state of the form fields for the current step.\n */\n fieldValues,\n\n /**\n * Current step state containing the current step and total number of steps\n */\n stepState,\n\n /**\n * Function to update the current form field values\n * @param values - New form values to set\n */\n checkFieldUpdates: setFieldValues,\n\n /**\n * Function to handle going back to the previous step\n * @returns {void}\n */\n back: previousStep,\n\n /**\n * Function to handle going to the next step\n * @returns {void}\n */\n next: nextStep,\n\n /**\n * Function to handle going to a specific step\n * @param step The step to go to.\n * @returns {void}\n */\n goTo: goTo,\n\n /**\n * Function to handle form submission\n * @param values - Form values to submit\n * @returns Promise resolving to the mutation result\n */\n onSubmit,\n\n /**\n * Array of form fields from the onboarding schema\n */\n fields: stepFields[stepState.currentStep.name],\n\n /**\n * Fields metadata for each step\n */\n meta: {\n // WE NEED TO FIX: react-hooks/refs - Cannot access ref value during render\n // eslint-disable-next-line react-hooks/refs\n fields: fieldsMetaRef.current,\n fieldsets: stepFieldsWithFlatFieldsets[stepState.currentStep.name],\n },\n\n /**\n * Function to parse form values before submission\n * @param values - Form values to parse\n * @returns Parsed form values\n */\n parseFormValues,\n\n /**\n * Function to validate form values against the onboarding schema\n * @param values - Form values to validate\n * @returns Validation result or null if no schema is available\n */\n handleValidation: async (\n values: FieldValues,\n ): Promise<ValidationResult | null> => {\n if (\n stepState.currentStep.name === 'company_basic_information' &&\n companyBasicInformationForm\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n companyBasicInformationForm.fields,\n { isPartialValidation: false },\n );\n return companyBasicInformationForm.handleValidation(parsedValues);\n }\n if (\n stepState.currentStep.name === 'address_details' &&\n addressDetailsForm\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n addressDetailsForm.fields,\n { isPartialValidation: false },\n );\n return addressDetailsForm.handleValidation(parsedValues);\n }\n\n return null;\n },\n\n /**\n * Initial form values\n */\n initialValues,\n };\n};\n"],"mappings":"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","names":["useMemo","useRef","useState","useCreateCompany","__name","countryCode","options","createCompanyInitialValues","createCompanyMutation","useCreateCompanyRequest","updateCompanyMutation","useUpdateCompanyRequest","createCompanyMutationAsync","mutationToPromise","updateCompanyMutationAsync","internalCountryCode","setInternalCountryCode","useState","createdCompanyId","setCreatedCompanyId","fieldsMetaRef","useRef","fieldValues","stepState","setFieldValues","previousStep","nextStep","goToStep","useStepState","STEPS","companyBasicInformationForm","isLoadingCountries","useCountriesSchemaField","addressDetailsForm","isLoadingAddressDetails","useAddressDetailsSchema","stepFields","useMemo","stepFieldsWithFlatFieldsets","companyBasicInformationInitialValues","getInitialValues","addressDetailsInitialValues","initialValues","goTo","step","parseFormValues","values","currentStepName","currentStepFields","parseJSFToValidate","onSubmit","parsedValues","prettifyFormValues","payload","nowUtcFormatted","response","responseData","companyId","company","companyData","createStructuredError"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{m as r}from"./chunk-RZCU2MT3.js";import{a as e}from"./chunk-P37U34EQ.js";import{cva as i}from"class-variance-authority";import{jsx as d}from"react/jsx-runtime";var o=i("inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"border-transparent bg-badge text-badge-foreground rounded-full [a&]:hover:bg-primary/90",secondary:"border-transparent bg-secondary text-secondary-foreground rounded-full [a&]:hover:bg-secondary/90",destructive:"border-transparent bg-destructive text-white rounded-full [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40",outline:"text-foreground rounded-full [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"}},defaultVariants:{variant:"default"}});function c({className:t,variant:a,...n}){return d("span",{"data-slot":"badge",className:r(o({variant:a}),t),...n})}e(c,"Badge");export{o as a,c as b};
|
|
2
|
+
//# sourceMappingURL=chunk-J2QQLYVY.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{m as t}from"./chunk-RZCU2MT3.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as a,jsxs as r}from"react/jsx-runtime";function m(n,o,i){return{"x-jsf-presentation":{inputType:"hidden",Component:e(()=>r("div",{className:t("RemoteFlows__InformationStatement",i?.className),children:[a("h3",{className:t("RemoteFlows__InformationStatement__Title"),children:n}),a("p",{className:t("RemoteFlows__InformationStatement__Description"),children:o})]}),"Component")}}}e(m,"createInformationField");function c({title:n,description:o,severity:i}){return{statement:{title:n,description:o,severity:i}}}e(c,"createStatementProperty");export{m as a,c as b};
|
|
2
|
+
//# sourceMappingURL=chunk-JLUYUNSV.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as o,b as a,c as i}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as o,b as a,c as i}from"./chunk-2A4DCZTX.js";import{a as n}from"./chunk-P37U34EQ.js";import{AlertCircle as p}from"lucide-react";import{jsx as t,jsxs as c}from"react/jsx-runtime";function g({data:s}){let{title:e,description:r,severity:l}=s,m={warning:"warning",error:"destructive",info:"default",success:"warning"}[l]??"warning";return c(o,{variant:m,children:[t(p,{className:"h-4 w-4"}),e&&t(a,{dangerouslySetInnerHTML:{__html:e}}),r&&t(i,{dangerouslySetInnerHTML:{__html:r}})]})}n(g,"StatementDefault");export{g as a};
|
|
2
|
+
//# sourceMappingURL=chunk-JX2ZVRE7.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{e as f}from"./chunk-RZCU2MT3.js";import{b as m}from"./chunk-626FTNKA.js";import{a as l}from"./chunk-P37U34EQ.js";import{createHeadlessForm as F,modify as y}from"@remoteoss/remote-json-schema-form-kit";var O=l((e,o,t)=>{if(t&&t.jsfModify){let{required:n,allOf:r,...s}=t.jsfModify,{schema:i}=y(e,s);e=i,n&&(e.required=[...Array.isArray(i.required)?i.required:[],...n]),r&&(e.allOf=[...Array.isArray(i.allOf)?i.allOf:[],...r])}let d={};o&&(d=m(e.properties||{},"money").reduce((r,s)=>(r[s]=f(o[s]),r),{}));let a=JSON.parse(JSON.stringify({...o,...d}));return{meta:{"x-jsf-fieldsets":e["x-jsf-fieldsets"],"x-jsf-presentation":e["x-jsf-presentation"]},...F(e,{initialValues:a})}},"createHeadlessForm");export{O as a};
|
|
2
|
+
//# sourceMappingURL=chunk-K2SHDZBB.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/common/createHeadlessForm.tsx"],"sourcesContent":["import { FieldValues } from 'react-hook-form';\nimport {\n createHeadlessForm as baseCreateHeadlessForm,\n modify,\n} from '@remoteoss/remote-json-schema-form-kit';\nimport { convertToCents } from '@/src/components/form/utils';\nimport {\n JSFModify,\n JSONSchemaFormResultWithFieldsets,\n} from '@/src/flows/types';\nimport { findFieldsByType } from '@/src/flows/utils';\nimport { JSFFieldset } from '@/src/types/remoteFlows';\n\n/*\n * Creates a headless form from a JSON Schema, useful to avoid code duplication when creating headless forms.\n * @param jsfSchema - The JSON Schema\n * @param fieldValues - The field values\n * @param options - The options\n * @returns The headless form\n */\nexport const createHeadlessForm = (\n jsfSchema: Record<string, unknown>,\n fieldValues?: FieldValues,\n options?: { jsfModify?: JSFModify },\n): JSONSchemaFormResultWithFieldsets => {\n if (options && options.jsfModify) {\n const { required, allOf, ...modifyConfig } = options.jsfModify;\n const { schema } = modify(jsfSchema, modifyConfig);\n jsfSchema = schema;\n\n if (required) {\n jsfSchema.required = [\n ...(Array.isArray(schema.required) ? schema.required : []),\n ...required,\n ];\n }\n\n if (allOf) {\n jsfSchema.allOf = [\n ...(Array.isArray(schema.allOf) ? schema.allOf : []),\n ...allOf,\n ];\n }\n }\n\n let moneyFieldsData: Record<string, number | null> = {};\n\n if (fieldValues) {\n const moneyFields = findFieldsByType(jsfSchema.properties || {}, 'money');\n moneyFieldsData = moneyFields.reduce<Record<string, number | null>>(\n (acc, field) => {\n acc[field] = convertToCents(fieldValues[field]);\n return acc;\n },\n {},\n );\n }\n\n /**\n * We create a deep copy of the field values to avoid modifying the original object.\n * This problem is caused by json-schema-form-v0.\n */\n const initialValues = JSON.parse(\n JSON.stringify({\n ...fieldValues,\n ...moneyFieldsData,\n }),\n );\n\n return {\n meta: {\n 'x-jsf-fieldsets': jsfSchema['x-jsf-fieldsets'] as JSFFieldset,\n },\n ...baseCreateHeadlessForm(jsfSchema, {\n initialValues,\n }),\n };\n};\n"],"mappings":"wHACA,OACE,sBAAsBA,EACtB,UAAAC,MACK,yCAgBA,IAAMC,EAAqBC,EAAA,CAChCC,EACAC,EACAC,IACsC,CACtC,GAAIA,GAAWA,EAAQ,UAAW,CAChC,GAAM,CAAE,SAAAC,EAAU,MAAAC,EAAO,GAAGC,CAAa,EAAIH,EAAQ,UAC/C,CAAE,OAAAI,CAAO,EAAIC,EAAOP,EAAWK,CAAY,EACjDL,EAAYM,EAERH,IACFH,EAAU,SAAW,CACnB,GAAI,MAAM,QAAQM,EAAO,QAAQ,EAAIA,EAAO,SAAW,CAAC,EACxD,GAAGH,CACL,GAGEC,IACFJ,EAAU,MAAQ,CAChB,GAAI,MAAM,QAAQM,EAAO,KAAK,EAAIA,EAAO,MAAQ,CAAC,EAClD,GAAGF,CACL,EAEJ,CAEA,IAAII,EAAiD,CAAC,EAElDP,IAEFO,EADoBC,EAAiBT,EAAU,YAAc,CAAC,EAAG,OAAO,EAC1C,OAC5B,CAACU,EAAKC,KACJD,EAAIC,CAAK,EAAIC,EAAeX,EAAYU,CAAK,CAAC,EACvCD,GAET,CAAC,CACH,GAOF,IAAMG,EAAgB,KAAK,MACzB,KAAK,UAAU,CACb,GAAGZ,EACH,GAAGO,CACL,CAAC,CACH,EAEA,MAAO,CACL,KAAM,CACJ,kBAAmBR,EAAU,iBAAiB,
|
|
1
|
+
{"version":3,"sources":["../src/common/createHeadlessForm.tsx"],"sourcesContent":["import { FieldValues } from 'react-hook-form';\nimport {\n createHeadlessForm as baseCreateHeadlessForm,\n modify,\n} from '@remoteoss/remote-json-schema-form-kit';\nimport { convertToCents } from '@/src/components/form/utils';\nimport {\n JSFModify,\n JSONSchemaFormResultWithFieldsets,\n} from '@/src/flows/types';\nimport { findFieldsByType } from '@/src/flows/utils';\nimport { JSFFieldset } from '@/src/types/remoteFlows';\n\n/*\n * Creates a headless form from a JSON Schema, useful to avoid code duplication when creating headless forms.\n * @param jsfSchema - The JSON Schema\n * @param fieldValues - The field values\n * @param options - The options\n * @returns The headless form\n */\nexport const createHeadlessForm = (\n jsfSchema: Record<string, unknown>,\n fieldValues?: FieldValues,\n options?: { jsfModify?: JSFModify },\n): JSONSchemaFormResultWithFieldsets => {\n if (options && options.jsfModify) {\n const { required, allOf, ...modifyConfig } = options.jsfModify;\n const { schema } = modify(jsfSchema, modifyConfig);\n jsfSchema = schema;\n\n if (required) {\n jsfSchema.required = [\n ...(Array.isArray(schema.required) ? schema.required : []),\n ...required,\n ];\n }\n\n if (allOf) {\n jsfSchema.allOf = [\n ...(Array.isArray(schema.allOf) ? schema.allOf : []),\n ...allOf,\n ];\n }\n }\n\n let moneyFieldsData: Record<string, number | null> = {};\n\n if (fieldValues) {\n const moneyFields = findFieldsByType(jsfSchema.properties || {}, 'money');\n moneyFieldsData = moneyFields.reduce<Record<string, number | null>>(\n (acc, field) => {\n acc[field] = convertToCents(fieldValues[field]);\n return acc;\n },\n {},\n );\n }\n\n /**\n * We create a deep copy of the field values to avoid modifying the original object.\n * This problem is caused by json-schema-form-v0.\n */\n const initialValues = JSON.parse(\n JSON.stringify({\n ...fieldValues,\n ...moneyFieldsData,\n }),\n );\n\n return {\n meta: {\n 'x-jsf-fieldsets': jsfSchema['x-jsf-fieldsets'] as JSFFieldset,\n 'x-jsf-presentation': jsfSchema['x-jsf-presentation'] as\n | Record<string, unknown>\n | undefined,\n },\n ...baseCreateHeadlessForm(jsfSchema, {\n initialValues,\n }),\n };\n};\n"],"mappings":"wHACA,OACE,sBAAsBA,EACtB,UAAAC,MACK,yCAgBA,IAAMC,EAAqBC,EAAA,CAChCC,EACAC,EACAC,IACsC,CACtC,GAAIA,GAAWA,EAAQ,UAAW,CAChC,GAAM,CAAE,SAAAC,EAAU,MAAAC,EAAO,GAAGC,CAAa,EAAIH,EAAQ,UAC/C,CAAE,OAAAI,CAAO,EAAIC,EAAOP,EAAWK,CAAY,EACjDL,EAAYM,EAERH,IACFH,EAAU,SAAW,CACnB,GAAI,MAAM,QAAQM,EAAO,QAAQ,EAAIA,EAAO,SAAW,CAAC,EACxD,GAAGH,CACL,GAGEC,IACFJ,EAAU,MAAQ,CAChB,GAAI,MAAM,QAAQM,EAAO,KAAK,EAAIA,EAAO,MAAQ,CAAC,EAClD,GAAGF,CACL,EAEJ,CAEA,IAAII,EAAiD,CAAC,EAElDP,IAEFO,EADoBC,EAAiBT,EAAU,YAAc,CAAC,EAAG,OAAO,EAC1C,OAC5B,CAACU,EAAKC,KACJD,EAAIC,CAAK,EAAIC,EAAeX,EAAYU,CAAK,CAAC,EACvCD,GAET,CAAC,CACH,GAOF,IAAMG,EAAgB,KAAK,MACzB,KAAK,UAAU,CACb,GAAGZ,EACH,GAAGO,CACL,CAAC,CACH,EAEA,MAAO,CACL,KAAM,CACJ,kBAAmBR,EAAU,iBAAiB,EAC9C,qBAAsBA,EAAU,oBAAoB,CAGtD,EACA,GAAGc,EAAuBd,EAAW,CACnC,cAAAa,CACF,CAAC,CACH,CACF,EA5DkC","names":["baseCreateHeadlessForm","modify","createHeadlessForm","__name","jsfSchema","fieldValues","options","required","allOf","modifyConfig","schema","modify","moneyFieldsData","findFieldsByType","acc","field","convertToCents","initialValues","baseCreateHeadlessForm"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as e}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as e}from"./chunk-GVPB75PC.js";import{b as a}from"./chunk-MRYRNB7Y.js";import{a as i}from"./chunk-P37U34EQ.js";import{jsx as s}from"react/jsx-runtime";function d({onSubmit:m}){let{terminationBag:o}=a(),r=i(async t=>{let n=await o?.parseFormValues(t);await m?.(n),o?.next()},"handleSubmit");return s(e,{defaultValues:o.fieldValues,onSubmit:r})}i(d,"PaidTimeOffForm");export{d as a};
|
|
2
|
+
//# sourceMappingURL=chunk-K5TZIA6W.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as D,b as k,c as j,e as L}from"./chunk-YJI7RIP6.js";import{f as G}from"./chunk-2K6FAKY5.js";import{a as le}from"./chunk-MKUSE7JK.js";import{a as ae}from"./chunk-VIU4RZCS.js";import{a as E,c as P,d as I,e as J,f as _}from"./chunk-EBMRVQLR.js";import{f as X,g as A,h as Q}from"./chunk-SJZP5XKE.js";import{c as T}from"./chunk-B6INIXRK.js";import{d as ee}from"./chunk-KQPDXXG3.js";import{a as v}from"./chunk-P37U34EQ.js";import*as O from"@radix-ui/react-collapsible";var ce=O.Root,be=O.CollapsibleTrigger,fe=O.CollapsibleContent;import*as w from"@radix-ui/react-tabs";import{jsx as U}from"react/jsx-runtime";function Y({className:e,...a}){return U(w.Root,{"data-slot":"tabs",className:T("flex flex-col gap-2",e),...a})}v(Y,"Tabs");function W({className:e,...a}){return U(w.List,{"data-slot":"tabs-list",className:T("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-1",e),...a})}v(W,"TabsList");function K({className:e,...a}){return U(w.Trigger,{"data-slot":"tabs-trigger",className:T("data-[state=active]:bg-background data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring inline-flex flex-1 items-center justify-center gap-1.5 rounded-md px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...a})}v(K,"TabsTrigger");function ge({className:e,...a}){return U(w.Content,{"data-slot":"tabs-content",className:T("flex-1 outline-none",e),...a})}v(ge,"TabsContent");import*as $ from"react";import*as N from"@radix-ui/react-scroll-area";import{jsx as H,jsxs as ye}from"react/jsx-runtime";var te=$.forwardRef(({className:e,children:a,...l},n)=>ye(N.Root,{ref:n,className:T("relative overflow-hidden",e),...l,children:[H(N.Viewport,{className:"h-full w-full rounded-[inherit]",children:a}),H(se,{}),H(N.Corner,{})]}));te.displayName=N.Root.displayName;var se=$.forwardRef(({className:e,orientation:a="vertical",...l},n)=>H(N.ScrollAreaScrollbar,{ref:n,orientation:a,className:T("flex touch-none select-none transition-colors",a==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",a==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",e),...l,children:H(N.ScrollAreaThumb,{className:"relative flex-1 rounded-full bg-border"})}));se.displayName=N.ScrollAreaScrollbar.displayName;import{useState as B,useEffect as Ce,useMemo as we}from"react";import{useQuery as Re}from"@tanstack/react-query";import M from"fast-deep-equal";var oe=v(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"),he=v((e,a)=>{if(M(e,a))return;let l=new Map((e||[]).map(t=>[t.value,t])),n=new Map((a||[]).map(t=>[t.value,t])),d=[],m=[],p=[];if(n.forEach((t,c)=>{l.has(c)||d.push({value:t.value,label:t.label})}),l.forEach((t,c)=>{if(!n.has(c))m.push({value:t.value,label:t.label});else{let g=n.get(c);if(!M(t,g)){let b={};t.label!==g.label&&(b.label={old:t.label,new:g.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"),Ne=v((e,a)=>{let l=e.fields,n=a.fields;if(!l&&!n)return;let d=q(l||[],n||[]);if(d.added.length>0||d.removed.length>0||d.modified.length>0)return Array.from(d.fieldDiffs.values())},"compareNestedFields"),Se=v((e,a)=>{let l={label:e.label!==a.label,required:e.required!==a.required,inputType:e.inputType!==a.inputType,type:e.type!==a.type,jsonType:!M(e.jsonType,a.jsonType),name:e.name!==a.name,defaultValue:e.defaultValue!==a.defaultValue,minDate:e.minDate!==a.minDate,maxDate:e.maxDate!==a.maxDate,maxLength:e.maxLength!==a.maxLength,multiple:e.multiple!==a.multiple,isVisible:e.isVisible!==a.isVisible,options:!M(e.options,a.options)},n=(()=>{let m=e.fields,p=a.fields;if(!m&&!p)return!1;if(!m||!p)return!0;let t=q(m,p);return t.added.length>0||t.removed.length>0||t.modified.length>0})();return Object.values(l).some(m=>m)||n},"isFieldModified"),Te=v((e,a)=>{let l={};e.label!==a.label&&(l.label={old:e.label,new:a.label}),e.required!==a.required&&(l.required={old:e.required,new:a.required}),e.type!==a.type&&(l.type={old:e.type,new:a.type}),e.inputType!==a.inputType&&(l.inputType={old:e.inputType,new:a.inputType}),M(e.jsonType,a.jsonType)||(l.jsonType={old:e.jsonType,new:a.jsonType}),M(e.defaultValue,a.defaultValue)||(l.defaultValue={old:e.defaultValue,new:a.defaultValue}),e.minDate!==a.minDate&&(l.minDate={old:e.minDate||"",new:a.minDate||""}),e.maxDate!==a.maxDate&&(l.maxDate={old:e.maxDate||"",new:a.maxDate||""}),e.maxLength!==a.maxLength&&(l.maxLength={old:e.maxLength||0,new:a.maxLength||0}),e.multiple!==a.multiple&&(l.multiple={old:e.multiple||!1,new:a.multiple||!1}),e.isVisible!==a.isVisible&&(l.isVisible={old:e.isVisible,new:a.isVisible});let n=he(e.options,a.options);n&&(l.options=n);let d=Ne(e,a);return d&&(l.nestedFields=d),Object.keys(l).length>0?l:void 0},"getFieldChanges"),q=v((e=[],a=[])=>{let l=e.filter(oe),n=a.filter(oe),d=new Map(l.map(f=>[f.name,{field:f}])),m=new Map(n.map(f=>[f.name,{field:f}])),p=[],t=[],c=[],g=[],b=new Map;return m.forEach((f,i)=>{d.has(i)||(p.push(i),b.set(i,{fieldName:i,diffType:"added"}))}),d.forEach(({field:f},i)=>{if(!m.has(i))t.push(i),b.set(i,{fieldName:i,diffType:"removed"});else{let{field:h}=m.get(i);Se(f,h)?(c.push(i),b.set(i,{fieldName:i,diffType:"modified",changes:Te(f,h)})):(g.push(i),b.set(i,{fieldName:i,diffType:"unchanged"}))}}),{added:p,removed:t,modified:c,unchanged:g,fieldDiffs:b}},"compareFormFields"),ne=v(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 ie,useRef as z,useEffect as xe}from"react";import{jsx as s,jsxs as u}from"react/jsx-runtime";var Fe=v(({children:e,diffType:a,changes:l})=>{let n=ne(a);if(a==="unchanged")return s("div",{children:e});let m={added:s("span",{className:"text-xs font-semibold text-green-700 bg-green-100 px-2 py-1 rounded",children:"NEW"}),removed:s("span",{className:"text-xs font-semibold text-red-700 bg-red-100 px-2 py-1 rounded",children:"REMOVED"}),modified:s("span",{className:"text-xs font-semibold text-yellow-700 bg-yellow-100 px-2 py-1 rounded",children:"MODIFIED"})}[a],p=v(()=>{if(!l||a!=="modified")return null;let t=[];if(l.label&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold",children:"Label:"})," ",s("span",{className:"line-through text-red-600",children:l.label.old})," ","\u2192 ",s("span",{className:"text-green-600",children:l.label.new})]},"label")),l.required&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold",children:"Required:"})," ",s("span",{className:"line-through text-red-600",children:l.required.old?"Yes":"No"})," ","\u2192"," ",s("span",{className:"text-green-600",children:l.required.new?"Yes":"No"})]},"required")),l.type&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold",children:"Type:"})," ",s("span",{className:"line-through text-red-600",children:l.type.old})," ","\u2192 ",s("span",{className:"text-green-600",children:l.type.new})]},"type")),l.inputType&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold",children:"Input Type:"})," ",s("span",{className:"line-through text-red-600",children:l.inputType.old})," ","\u2192 ",s("span",{className:"text-green-600",children:l.inputType.new})]},"inputType")),l.jsonType){let c=Array.isArray(l.jsonType.old)?l.jsonType.old.join(" | "):l.jsonType.old,g=Array.isArray(l.jsonType.new)?l.jsonType.new.join(" | "):l.jsonType.new;t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold",children:"JSON Type:"})," ",s("span",{className:"line-through text-red-600",children:c})," \u2192"," ",s("span",{className:"text-green-600",children:g})]},"jsonType"))}return l.defaultValue!==void 0&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold",children:"Default Value:"})," ",s("span",{className:"line-through text-red-600",children:JSON.stringify(l.defaultValue.old)})," ","\u2192"," ",s("span",{className:"text-green-600",children:JSON.stringify(l.defaultValue.new)})]},"defaultValue")),l.options&&(l.options.added.length>0&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold text-green-700",children:"Options Added:"})," ",l.options.added.map(c=>c.label).join(", ")]},"options-added")),l.options.removed.length>0&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold text-red-700",children:"Options Removed:"})," ",l.options.removed.map(c=>c.label).join(", ")]},"options-removed")),l.options.modified.length>0&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold",children:"Options Modified:"})," ",l.options.modified.length," option(s)"]},"options-modified"))),l.nestedFields&&l.nestedFields.length>0&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold",children:"Nested Fields:"})," ",l.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:[s("div",{className:"text-xs font-semibold text-yellow-800 mb-1",children:"Changes:"}),t]})},"renderChanges");return u("div",{className:`p-3 mb-2 rounded ${n} relative`,children:[s("div",{className:"absolute top-2 right-2",children:m}),e,p()]})},"FieldWrapper"),re=v(({version:e,fields:a,fieldsets:l,diffMap:n,title:d,scrollRef:m})=>{let p=X({mode:"onBlur"}),t=ie(()=>{let c=v((g,b)=>g.map(f=>{let i=b.get(f.name),h=i?.diffType||"unchanged",S=i?.changes,x=f.fields,R=f;if(x&&Array.isArray(x)){let V=new Map;S&&typeof S=="object"&&"nestedFields"in S&&Array.isArray(S.nestedFields)&&S.nestedFields.forEach(o=>{V.set(o.fieldName,{diffType:o.diffType,changes:o.changes})});let F=c(x,V);R={...f,fields:F}}return{...R,WrapperComponent:v(({children:V})=>s(Fe,{diffType:h,fieldName:f.name,changes:S,children:V}),"WrapperComponent")}}),"applyWrappers");return c(a,n)},[a,n]);return u(D,{className:"h-full",children:[s(k,{children:u(j,{children:[d," - Version ",e]})}),s(L,{ref:m,className:"overflow-y-auto max-h-[600px]",children:s(Q,{...p,children:s("form",{className:"space-y-4",children:s(ae,{fields:t,fieldsets:l,fieldValues:{}})})})})]})},"FormPanel"),de=v(({topVersion:e,bottomVersion:a,topFields:l,bottomFields:n,topFieldsets:d,bottomFieldsets:m,isLoading:p})=>{let t=ie(()=>q(l,n),[l,n]),c=z(null),g=z(null),b=z(!1);if(xe(()=>{let i=c.current,h=g.current;if(!i||!h)return;let S=v(()=>{b.current||(b.current=!0,h.scrollTop=i.scrollTop,requestAnimationFrame(()=>{b.current=!1}))},"handleLeftScroll"),x=v(()=>{b.current||(b.current=!0,i.scrollTop=h.scrollTop,requestAnimationFrame(()=>{b.current=!1}))},"handleRightScroll");return i.addEventListener("scroll",S),h.addEventListener("scroll",x),()=>{i.removeEventListener("scroll",S),h.removeEventListener("scroll",x)}},[l,n]),p)return s("div",{className:"flex items-center justify-center h-96",children:u("div",{className:"text-center",children:[s("div",{className:"animate-spin rounded-full h-12 w-12 border-b-2 border-gray-900 mx-auto"}),s("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:[s(D,{children:s(L,{className:"pt-6",children:f?s("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:[s("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:[s("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:[s("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:[s(re,{version:e,fields:l,fieldsets:d,diffMap:t.fieldDiffs,title:"Left",scrollRef:c}),s(re,{version:a,fields:n,fieldsets:m,diffMap:t.fieldDiffs,title:"Right",scrollRef:g})]})]})},"SchemaFormComparison");var ve=[{value:1,label:"v1 (Legacy)"},{value:3,label:"v3 (Recommended)"}],Z={ALB:[{value:1,label:"v1"}],ARE:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],ARG:[{value:1,label:"v1"}],ARM:[{value:1,label:"v1"}],AUS:[{value:1,label:"v1"}],AUT:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],BEL:[{value:1,label:"v1"},{value:2,label:"v2"}],BGD:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],BGR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],BIH:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],BLR:[{value:1,label:"v1"},{value:2,label:"v2"}],BOL:[{value:1,label:"v1"}],BRA:[{value:1,label:"v1"}],CAN:[{value:1,label:"v1"},{value:2,label:"v2"}],CHE:[{value:1,label:"v1"},{value:2,label:"v2"}],CHL:[{value:1,label:"v1"}],CHN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],COL:[{value:1,label:"v1"}],CRI:[{value:1,label:"v1"}],CYP:[{value:1,label:"v1"}],CZE:[{value:1,label:"v1"},{value:2,label:"v2"}],DEU:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],DNK:[{value:1,label:"v1"}],DOM:[{value:1,label:"v1"}],ECU:[{value:1,label:"v1"}],EGY:[{value:1,label:"v1"},{value:2,label:"v2"}],ESP:[{value:1,label:"v1"},{value:2,label:"v2"}],EST:[{value:1,label:"v1"}],FIN:[{value:1,label:"v1"}],FRA:[{value:1,label:"v1"},{value:2,label:"v2"}],GBR:[{value:1,label:"v1"},{value:2,label:"v2"}],GEO:[{value:1,label:"v1"}],GRC:[{value:1,label:"v1"}],GTM:[{value:1,label:"v1"}],HKG:[{value:1,label:"v1"},{value:2,label:"v2"}],HND:[{value:1,label:"v1"}],HRV:[{value:1,label:"v1"},{value:2,label:"v2"}],HUN:[{value:1,label:"v1"}],IDN:[{value:1,label:"v1"}],IND:[{value:1,label:"v1"},{value:2,label:"v2"}],IRL:[{value:1,label:"v1"}],ISL:[{value:1,label:"v1"},{value:2,label:"v2"}],ISR:[{value:1,label:"v1"}],ITA:[{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"}],KGZ:[{value:1,label:"v1"}],KHM:[{value:1,label:"v1"}],KOR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],LBN:[{value:1,label:"v1"},{value:2,label:"v2"}],LKA:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],LTU:[{value:1,label:"v1"}],LUX:[{value:1,label:"v1"}],LVA:[{value:1,label:"v1"},{value:2,label:"v2"}],MAR:[{value:1,label:"v1"}],MDA:[{value:1,label:"v1"}],MEX:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],MKD:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],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"}],NOR:[{value:1,label:"v1"},{value:2,label:"v2"}],NZL:[{value:1,label:"v1"},{value:2,label:"v2"}],PAK:[{value:1,label:"v1"},{value:2,label:"v2"}],PAN:[{value:1,label:"v1"}],PER:[{value:1,label:"v1"}],PHL:[{value:1,label:"v1"}],POL:[{value:1,label:"v1"}],PRI:[{value:1,label:"v1"}],PRT:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],PRY:[{value:1,label:"v1"}],ROU:[{value:1,label:"v1"}],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"}],SVK:[{value:1,label:"v1"}],SVN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],SWE:[{value:1,label:"v1"},{value:2,label:"v2"}],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"}],TWN:[{value:1,label:"v1"}],UGA:[{value:1,label:"v1"}],UKR:[{value:1,label:"v1"}],URY:[{value:1,label:"v1"}],USA:[{value:1,label:"v1"}],VNM:[{value:1,label:"v1"},{value:2,label:"v2"}],XKX:[{value:1,label:"v1"}],ZAF:[{value:1,label:"v1"}],ZWE:[{value:1,label:"v1"}]},ue=Object.fromEntries(Object.entries(Z).filter(([,e])=>e.length>1)),me=[{value:"employment_basic_information",label:"Basic Information"},{value:"contract_details",label:"Contract Details"}];import{jsx as r,jsxs as y}from"react/jsx-runtime";var pe=v(()=>{let[e,a]=B("employment_basic_information"),[l,n]=B(1),[d,m]=B(1),[p,t]=B("ARE"),{client:c}=ee(),{data:g}=Re({...le(c,"schema-comparison"),select:v(o=>o.data?.data?.filter(C=>C.eor_onboarding).filter(C=>Object.keys(ue).includes(C.code)).map(C=>({label:C.name,value:C.code}))||[],"select")}),b=e==="contract_details",{data:f,isLoading:i}=G({countryCode:p,form:e,fieldValues:{},jsonSchemaVersion:l,options:{queryOptions:{enabled:!0}}}),{data:h,isLoading:S}=G({countryCode:p,form:e,fieldValues:{},jsonSchemaVersion:d,options:{queryOptions:{enabled:!0}}}),x=i||S,R=Z[p],V=R!==void 0,F=we(()=>e==="employment_basic_information"?ve:R||[{value:"latest",label:"Latest"}],[e,R]);return Ce(()=>{let o=F.map(C=>C.value);o.includes(l)||n(F[0].value),o.includes(d)||m(F[0].value)},[e,p,F,l,d]),y("div",{className:"space-y-6",children:[y(D,{children:[r(k,{children:r(j,{children:"Configuration"})}),y(L,{className:"space-y-4",children:[y("div",{children:[r(A,{className:"mb-2 block",children:"Form Type"}),r(Y,{value:e,onValueChange:o=>a(o),children:r(W,{className:"grid w-full grid-cols-2",children:me.map(o=>r(K,{value:o.value,children:o.label},o.value))})})]}),b&&!V&&r("div",{className:"rounded-md bg-yellow-50 p-4 border border-yellow-200",children:y("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"})})}),y("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:y("p",{children:["Country"," ",r("span",{className:"font-semibold",children:p})," is not configured in COUNTRY_CONTRACT_VERSIONS. Using default (latest only)."]})})]})]})}),b&&y("div",{children:[r(A,{htmlFor:"country-select",className:"mb-2 block",children:"Country"}),y(E,{value:p,onValueChange:t,children:[r(I,{id:"country-select",children:r(P,{placeholder:"Select a country"})}),r(J,{children:g?.map(o=>r(_,{value:o.value,children:o.label},o.value))})]})]}),y("div",{className:"grid grid-cols-2 gap-4",children:[y("div",{children:[r(A,{htmlFor:"top-version",className:"mb-2 block",children:"Left Version"}),y(E,{value:String(l),onValueChange:o=>n(o==="latest"?"latest":Number(o)),children:[r(I,{id:"top-version",children:r(P,{placeholder:"Select version"})}),r(J,{children:F.map(o=>r(_,{value:String(o.value),children:o.label},String(o.value)))})]})]}),y("div",{children:[r(A,{htmlFor:"bottom-version",className:"mb-2 block",children:"Right Version"}),y(E,{value:String(d),onValueChange:o=>m(o==="latest"?"latest":Number(o)),children:[r(I,{id:"bottom-version",children:r(P,{placeholder:"Select version"})}),r(J,{children:F.map(o=>r(_,{value:String(o.value),children:o.label},String(o.value)))})]})]})]})]})]}),r(de,{topVersion:l,bottomVersion:d,topFields:f?.fields||[],bottomFields:h?.fields||[],topFieldsets:f?.meta?.["x-jsf-fieldsets"],bottomFieldsets:h?.meta?.["x-jsf-fieldsets"],isLoading:x})]})},"JsonSchemaComparison");export{ce as a,be as b,fe as c,Y as d,W as e,K as f,ge as g,te as h,pe as i};
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as D,b as k,c as j,e as L}from"./chunk-NRNLLJCB.js";import{f as G}from"./chunk-TSWZPJNS.js";import{a as le}from"./chunk-MKUSE7JK.js";import{a as ae}from"./chunk-AVVDKCFO.js";import{a as E,c as P,d as I,e as J,f as _}from"./chunk-T5HMFMXH.js";import{f as X,g as A,h as ee}from"./chunk-XG6ASTX5.js";import{m as T}from"./chunk-RZCU2MT3.js";import{e as Q}from"./chunk-H2O4CVKF.js";import{a as v}from"./chunk-P37U34EQ.js";import*as O from"@radix-ui/react-collapsible";var ce=O.Root,be=O.CollapsibleTrigger,fe=O.CollapsibleContent;import*as w from"@radix-ui/react-tabs";import{jsx as U}from"react/jsx-runtime";function Y({className:e,...a}){return U(w.Root,{"data-slot":"tabs",className:T("flex flex-col gap-2",e),...a})}v(Y,"Tabs");function W({className:e,...a}){return U(w.List,{"data-slot":"tabs-list",className:T("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-1",e),...a})}v(W,"TabsList");function K({className:e,...a}){return U(w.Trigger,{"data-slot":"tabs-trigger",className:T("data-[state=active]:bg-background data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring inline-flex flex-1 items-center justify-center gap-1.5 rounded-md px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...a})}v(K,"TabsTrigger");function ge({className:e,...a}){return U(w.Content,{"data-slot":"tabs-content",className:T("flex-1 outline-none",e),...a})}v(ge,"TabsContent");import*as z from"react";import*as N from"@radix-ui/react-scroll-area";import{jsx as H,jsxs as ye}from"react/jsx-runtime";var te=z.forwardRef(({className:e,children:a,...l},n)=>ye(N.Root,{ref:n,className:T("relative overflow-hidden",e),...l,children:[H(N.Viewport,{className:"h-full w-full rounded-[inherit]",children:a}),H(se,{}),H(N.Corner,{})]}));te.displayName=N.Root.displayName;var se=z.forwardRef(({className:e,orientation:a="vertical",...l},n)=>H(N.ScrollAreaScrollbar,{ref:n,orientation:a,className:T("flex touch-none select-none transition-colors",a==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",a==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",e),...l,children:H(N.ScrollAreaThumb,{className:"relative flex-1 rounded-full bg-border"})}));se.displayName=N.ScrollAreaScrollbar.displayName;import{useState as B,useEffect as Ce,useMemo as we}from"react";import{useQuery as Re}from"@tanstack/react-query";import M from"fast-deep-equal";var oe=v(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"),he=v((e,a)=>{if(M(e,a))return;let l=new Map((e||[]).map(t=>[t.value,t])),n=new Map((a||[]).map(t=>[t.value,t])),d=[],m=[],p=[];if(n.forEach((t,c)=>{l.has(c)||d.push({value:t.value,label:t.label})}),l.forEach((t,c)=>{if(!n.has(c))m.push({value:t.value,label:t.label});else{let g=n.get(c);if(!M(t,g)){let b={};t.label!==g.label&&(b.label={old:t.label,new:g.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"),Ne=v((e,a)=>{let l=e.fields,n=a.fields;if(!l&&!n)return;let d=q(l||[],n||[]);if(d.added.length>0||d.removed.length>0||d.modified.length>0)return Array.from(d.fieldDiffs.values())},"compareNestedFields"),Se=v((e,a)=>{let l={label:e.label!==a.label,required:e.required!==a.required,inputType:e.inputType!==a.inputType,type:e.type!==a.type,jsonType:!M(e.jsonType,a.jsonType),name:e.name!==a.name,defaultValue:e.defaultValue!==a.defaultValue,minDate:e.minDate!==a.minDate,maxDate:e.maxDate!==a.maxDate,maxLength:e.maxLength!==a.maxLength,multiple:e.multiple!==a.multiple,isVisible:e.isVisible!==a.isVisible,options:!M(e.options,a.options)},n=(()=>{let m=e.fields,p=a.fields;if(!m&&!p)return!1;if(!m||!p)return!0;let t=q(m,p);return t.added.length>0||t.removed.length>0||t.modified.length>0})();return Object.values(l).some(m=>m)||n},"isFieldModified"),Te=v((e,a)=>{let l={};e.label!==a.label&&(l.label={old:e.label,new:a.label}),e.required!==a.required&&(l.required={old:e.required,new:a.required}),e.type!==a.type&&(l.type={old:e.type,new:a.type}),e.inputType!==a.inputType&&(l.inputType={old:e.inputType,new:a.inputType}),M(e.jsonType,a.jsonType)||(l.jsonType={old:e.jsonType,new:a.jsonType}),M(e.defaultValue,a.defaultValue)||(l.defaultValue={old:e.defaultValue,new:a.defaultValue}),e.minDate!==a.minDate&&(l.minDate={old:e.minDate||"",new:a.minDate||""}),e.maxDate!==a.maxDate&&(l.maxDate={old:e.maxDate||"",new:a.maxDate||""}),e.maxLength!==a.maxLength&&(l.maxLength={old:e.maxLength||0,new:a.maxLength||0}),e.multiple!==a.multiple&&(l.multiple={old:e.multiple||!1,new:a.multiple||!1}),e.isVisible!==a.isVisible&&(l.isVisible={old:e.isVisible,new:a.isVisible});let n=he(e.options,a.options);n&&(l.options=n);let d=Ne(e,a);return d&&(l.nestedFields=d),Object.keys(l).length>0?l:void 0},"getFieldChanges"),q=v((e=[],a=[])=>{let l=e.filter(oe),n=a.filter(oe),d=new Map(l.map(f=>[f.name,{field:f}])),m=new Map(n.map(f=>[f.name,{field:f}])),p=[],t=[],c=[],g=[],b=new Map;return m.forEach((f,i)=>{d.has(i)||(p.push(i),b.set(i,{fieldName:i,diffType:"added"}))}),d.forEach(({field:f},i)=>{if(!m.has(i))t.push(i),b.set(i,{fieldName:i,diffType:"removed"});else{let{field:h}=m.get(i);Se(f,h)?(c.push(i),b.set(i,{fieldName:i,diffType:"modified",changes:Te(f,h)})):(g.push(i),b.set(i,{fieldName:i,diffType:"unchanged"}))}}),{added:p,removed:t,modified:c,unchanged:g,fieldDiffs:b}},"compareFormFields"),ne=v(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 ie,useRef as $,useEffect as xe}from"react";import{jsx as s,jsxs as u}from"react/jsx-runtime";var Fe=v(({children:e,diffType:a,changes:l})=>{let n=ne(a);if(a==="unchanged")return s("div",{children:e});let m={added:s("span",{className:"text-xs font-semibold text-green-700 bg-green-100 px-2 py-1 rounded",children:"NEW"}),removed:s("span",{className:"text-xs font-semibold text-red-700 bg-red-100 px-2 py-1 rounded",children:"REMOVED"}),modified:s("span",{className:"text-xs font-semibold text-yellow-700 bg-yellow-100 px-2 py-1 rounded",children:"MODIFIED"})}[a],p=v(()=>{if(!l||a!=="modified")return null;let t=[];if(l.label&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold",children:"Label:"})," ",s("span",{className:"line-through text-red-600",children:l.label.old})," ","\u2192 ",s("span",{className:"text-green-600",children:l.label.new})]},"label")),l.required&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold",children:"Required:"})," ",s("span",{className:"line-through text-red-600",children:l.required.old?"Yes":"No"})," ","\u2192"," ",s("span",{className:"text-green-600",children:l.required.new?"Yes":"No"})]},"required")),l.type&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold",children:"Type:"})," ",s("span",{className:"line-through text-red-600",children:l.type.old})," ","\u2192 ",s("span",{className:"text-green-600",children:l.type.new})]},"type")),l.inputType&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold",children:"Input Type:"})," ",s("span",{className:"line-through text-red-600",children:l.inputType.old})," ","\u2192 ",s("span",{className:"text-green-600",children:l.inputType.new})]},"inputType")),l.jsonType){let c=Array.isArray(l.jsonType.old)?l.jsonType.old.join(" | "):l.jsonType.old,g=Array.isArray(l.jsonType.new)?l.jsonType.new.join(" | "):l.jsonType.new;t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold",children:"JSON Type:"})," ",s("span",{className:"line-through text-red-600",children:c})," \u2192"," ",s("span",{className:"text-green-600",children:g})]},"jsonType"))}return l.defaultValue!==void 0&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold",children:"Default Value:"})," ",s("span",{className:"line-through text-red-600",children:JSON.stringify(l.defaultValue.old)})," ","\u2192"," ",s("span",{className:"text-green-600",children:JSON.stringify(l.defaultValue.new)})]},"defaultValue")),l.options&&(l.options.added.length>0&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold text-green-700",children:"Options Added:"})," ",l.options.added.map(c=>c.label).join(", ")]},"options-added")),l.options.removed.length>0&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold text-red-700",children:"Options Removed:"})," ",l.options.removed.map(c=>c.label).join(", ")]},"options-removed")),l.options.modified.length>0&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold",children:"Options Modified:"})," ",l.options.modified.length," option(s)"]},"options-modified"))),l.nestedFields&&l.nestedFields.length>0&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold",children:"Nested Fields:"})," ",l.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:[s("div",{className:"text-xs font-semibold text-yellow-800 mb-1",children:"Changes:"}),t]})},"renderChanges");return u("div",{className:`p-3 mb-2 rounded ${n} relative`,children:[s("div",{className:"absolute top-2 right-2",children:m}),e,p()]})},"FieldWrapper"),re=v(({version:e,fields:a,fieldsets:l,diffMap:n,title:d,scrollRef:m})=>{let p=X({mode:"onBlur"}),t=ie(()=>{let c=v((g,b)=>g.map(f=>{let i=b.get(f.name),h=i?.diffType||"unchanged",S=i?.changes,x=f.fields,R=f;if(x&&Array.isArray(x)){let V=new Map;S&&typeof S=="object"&&"nestedFields"in S&&Array.isArray(S.nestedFields)&&S.nestedFields.forEach(o=>{V.set(o.fieldName,{diffType:o.diffType,changes:o.changes})});let F=c(x,V);R={...f,fields:F}}return{...R,WrapperComponent:v(({children:V})=>s(Fe,{diffType:h,fieldName:f.name,changes:S,children:V}),"WrapperComponent")}}),"applyWrappers");return c(a,n)},[a,n]);return u(D,{className:"h-full",children:[s(k,{children:u(j,{children:[d," - Version ",e]})}),s(L,{ref:m,className:"overflow-y-auto max-h-[600px]",children:s(ee,{...p,children:s("form",{className:"space-y-4",children:s(ae,{fields:t,fieldsets:l,fieldValues:{}})})})})]})},"FormPanel"),de=v(({topVersion:e,bottomVersion:a,topFields:l,bottomFields:n,topFieldsets:d,bottomFieldsets:m,isLoading:p})=>{let t=ie(()=>q(l,n),[l,n]),c=$(null),g=$(null),b=$(!1);if(xe(()=>{let i=c.current,h=g.current;if(!i||!h)return;let S=v(()=>{b.current||(b.current=!0,h.scrollTop=i.scrollTop,requestAnimationFrame(()=>{b.current=!1}))},"handleLeftScroll"),x=v(()=>{b.current||(b.current=!0,i.scrollTop=h.scrollTop,requestAnimationFrame(()=>{b.current=!1}))},"handleRightScroll");return i.addEventListener("scroll",S),h.addEventListener("scroll",x),()=>{i.removeEventListener("scroll",S),h.removeEventListener("scroll",x)}},[l,n]),p)return s("div",{className:"flex items-center justify-center h-96",children:u("div",{className:"text-center",children:[s("div",{className:"animate-spin rounded-full h-12 w-12 border-b-2 border-gray-900 mx-auto"}),s("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:[s(D,{children:s(L,{className:"pt-6",children:f?s("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:[s("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:[s("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:[s("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:[s(re,{version:e,fields:l,fieldsets:d,diffMap:t.fieldDiffs,title:"Left",scrollRef:c}),s(re,{version:a,fields:n,fieldsets:m,diffMap:t.fieldDiffs,title:"Right",scrollRef:g})]})]})},"SchemaFormComparison");var ve=[{value:1,label:"v1 (Legacy)"},{value:3,label:"v3 (Recommended)"}],Z={ALB:[{value:1,label:"v1"}],ARE:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],ARG:[{value:1,label:"v1"}],ARM:[{value:1,label:"v1"}],AUS:[{value:1,label:"v1"}],AUT:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],BEL:[{value:1,label:"v1"},{value:2,label:"v2"}],BGD:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],BGR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],BIH:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],BLR:[{value:1,label:"v1"},{value:2,label:"v2"}],BOL:[{value:1,label:"v1"}],BRA:[{value:1,label:"v1"}],CAN:[{value:1,label:"v1"},{value:2,label:"v2"}],CHE:[{value:1,label:"v1"},{value:2,label:"v2"}],CHL:[{value:1,label:"v1"}],CHN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],COL:[{value:1,label:"v1"}],CRI:[{value:1,label:"v1"}],CYP:[{value:1,label:"v1"}],CZE:[{value:1,label:"v1"},{value:2,label:"v2"}],DEU:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],DNK:[{value:1,label:"v1"}],DOM:[{value:1,label:"v1"}],ECU:[{value:1,label:"v1"}],EGY:[{value:1,label:"v1"},{value:2,label:"v2"}],ESP:[{value:1,label:"v1"},{value:2,label:"v2"}],EST:[{value:1,label:"v1"}],FIN:[{value:1,label:"v1"}],FRA:[{value:1,label:"v1"},{value:2,label:"v2"}],GBR:[{value:1,label:"v1"},{value:2,label:"v2"}],GEO:[{value:1,label:"v1"}],GRC:[{value:1,label:"v1"}],GTM:[{value:1,label:"v1"}],HKG:[{value:1,label:"v1"},{value:2,label:"v2"}],HND:[{value:1,label:"v1"}],HRV:[{value:1,label:"v1"},{value:2,label:"v2"}],HUN:[{value:1,label:"v1"}],IDN:[{value:1,label:"v1"}],IND:[{value:1,label:"v1"},{value:2,label:"v2"}],IRL:[{value:1,label:"v1"}],ISL:[{value:1,label:"v1"},{value:2,label:"v2"}],ISR:[{value:1,label:"v1"}],ITA:[{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"}],KGZ:[{value:1,label:"v1"}],KHM:[{value:1,label:"v1"}],KOR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],LBN:[{value:1,label:"v1"},{value:2,label:"v2"}],LKA:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],LTU:[{value:1,label:"v1"}],LUX:[{value:1,label:"v1"}],LVA:[{value:1,label:"v1"},{value:2,label:"v2"}],MAR:[{value:1,label:"v1"}],MDA:[{value:1,label:"v1"}],MEX:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],MKD:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],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"}],NOR:[{value:1,label:"v1"},{value:2,label:"v2"}],NZL:[{value:1,label:"v1"},{value:2,label:"v2"}],PAK:[{value:1,label:"v1"},{value:2,label:"v2"}],PAN:[{value:1,label:"v1"}],PER:[{value:1,label:"v1"}],PHL:[{value:1,label:"v1"}],POL:[{value:1,label:"v1"}],PRI:[{value:1,label:"v1"}],PRT:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],PRY:[{value:1,label:"v1"}],ROU:[{value:1,label:"v1"}],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"}],SVK:[{value:1,label:"v1"}],SVN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],SWE:[{value:1,label:"v1"},{value:2,label:"v2"}],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"}],TWN:[{value:1,label:"v1"}],UGA:[{value:1,label:"v1"}],UKR:[{value:1,label:"v1"}],URY:[{value:1,label:"v1"}],USA:[{value:1,label:"v1"}],VNM:[{value:1,label:"v1"},{value:2,label:"v2"}],XKX:[{value:1,label:"v1"}],ZAF:[{value:1,label:"v1"}],ZWE:[{value:1,label:"v1"}]},ue=Object.fromEntries(Object.entries(Z).filter(([,e])=>e.length>1)),me=[{value:"employment_basic_information",label:"Basic Information"},{value:"contract_details",label:"Contract Details"}];import{jsx as r,jsxs as y}from"react/jsx-runtime";var pe=v(()=>{let[e,a]=B("employment_basic_information"),[l,n]=B(1),[d,m]=B(1),[p,t]=B("ARE"),{client:c}=Q(),{data:g}=Re({...le(c,"schema-comparison"),select:v(o=>o.data?.data?.filter(C=>C.eor_onboarding).filter(C=>Object.keys(ue).includes(C.code)).map(C=>({label:C.name,value:C.code}))||[],"select")}),b=e==="contract_details",{data:f,isLoading:i}=G({countryCode:p,form:e,fieldValues:{},jsonSchemaVersion:l,options:{queryOptions:{enabled:!0}}}),{data:h,isLoading:S}=G({countryCode:p,form:e,fieldValues:{},jsonSchemaVersion:d,options:{queryOptions:{enabled:!0}}}),x=i||S,R=Z[p],V=R!==void 0,F=we(()=>e==="employment_basic_information"?ve:R||[{value:"latest",label:"Latest"}],[e,R]);return Ce(()=>{let o=F.map(C=>C.value);o.includes(l)||n(F[0].value),o.includes(d)||m(F[0].value)},[e,p,F,l,d]),y("div",{className:"space-y-6",children:[y(D,{children:[r(k,{children:r(j,{children:"Configuration"})}),y(L,{className:"space-y-4",children:[y("div",{children:[r(A,{className:"mb-2 block",children:"Form Type"}),r(Y,{value:e,onValueChange:o=>a(o),children:r(W,{className:"grid w-full grid-cols-2",children:me.map(o=>r(K,{value:o.value,children:o.label},o.value))})})]}),b&&!V&&r("div",{className:"rounded-md bg-yellow-50 p-4 border border-yellow-200",children:y("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"})})}),y("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:y("p",{children:["Country"," ",r("span",{className:"font-semibold",children:p})," is not configured in COUNTRY_CONTRACT_VERSIONS. Using default (latest only)."]})})]})]})}),b&&y("div",{children:[r(A,{htmlFor:"country-select",className:"mb-2 block",children:"Country"}),y(E,{value:p,onValueChange:t,children:[r(I,{id:"country-select",children:r(P,{placeholder:"Select a country"})}),r(J,{children:g?.map(o=>r(_,{value:o.value,children:o.label},o.value))})]})]}),y("div",{className:"grid grid-cols-2 gap-4",children:[y("div",{children:[r(A,{htmlFor:"top-version",className:"mb-2 block",children:"Left Version"}),y(E,{value:String(l),onValueChange:o=>n(o==="latest"?"latest":Number(o)),children:[r(I,{id:"top-version",children:r(P,{placeholder:"Select version"})}),r(J,{children:F.map(o=>r(_,{value:String(o.value),children:o.label},String(o.value)))})]})]}),y("div",{children:[r(A,{htmlFor:"bottom-version",className:"mb-2 block",children:"Right Version"}),y(E,{value:String(d),onValueChange:o=>m(o==="latest"?"latest":Number(o)),children:[r(I,{id:"bottom-version",children:r(P,{placeholder:"Select version"})}),r(J,{children:F.map(o=>r(_,{value:String(o.value),children:o.label},String(o.value)))})]})]})]})]})]}),r(de,{topVersion:l,bottomVersion:d,topFields:f?.fields||[],bottomFields:h?.fields||[],topFieldsets:f?.meta?.["x-jsf-fieldsets"],bottomFieldsets:h?.meta?.["x-jsf-fieldsets"],isLoading:x})]})},"JsonSchemaComparison");export{ce as a,be as b,fe as c,Y as d,W as e,K as f,ge as g,te as h,pe as i};
|
|
2
|
+
//# sourceMappingURL=chunk-KAHAW4HH.js.map
|