@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
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a}from"./chunk-V3FMENNN.js";import"./chunk-XHWPTKEN.js";import"./chunk-LFSTBZUZ.js";import"./chunk-RTZVAPMC.js";import"./chunk-ZLIWNVE5.js";import"./chunk-KXARTTYT.js";import"./chunk-SJZP5XKE.js";import"./chunk-B6INIXRK.js";import"./chunk-P37U34EQ.js";export{a as MultiSelectFieldDefault};
|
|
2
|
-
//# sourceMappingURL=MultiSelectFieldDefault-2YHZ6LWQ.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a}from"./chunk-YTLAH5QM.js";import"./chunk-2KQAMX75.js";import"./chunk-ZLIWNVE5.js";import"./chunk-CRYLYVA7.js";import"./chunk-U2H4CADS.js";import"./chunk-SJZP5XKE.js";import"./chunk-TNQKP2XT.js";import"./chunk-B6INIXRK.js";import"./chunk-KQPDXXG3.js";import"./chunk-P37U34EQ.js";export{a as RadioGroupFieldDefault};
|
|
2
|
-
//# sourceMappingURL=RadioGroupFieldDefault-FY4PGK2P.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a}from"./chunk-L5TQSATQ.js";import"./chunk-CRYLYVA7.js";import"./chunk-U2H4CADS.js";import"./chunk-SJZP5XKE.js";import"./chunk-TNQKP2XT.js";import"./chunk-B6INIXRK.js";import"./chunk-KQPDXXG3.js";import"./chunk-P37U34EQ.js";export{a as TextAreaFieldDefault};
|
|
2
|
-
//# sourceMappingURL=TextAreaFieldDefault-D5MTC4ZN.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a}from"./chunk-Q3RQX6S5.js";import"./chunk-RTZVAPMC.js";import"./chunk-L6YEMU4A.js";import"./chunk-KXARTTYT.js";import"./chunk-4JIT6ICA.js";import"./chunk-SJZP5XKE.js";import"./chunk-B6INIXRK.js";import"./chunk-KQPDXXG3.js";import"./chunk-P37U34EQ.js";export{a as WorkScheduleFieldDefault};
|
|
2
|
-
//# sourceMappingURL=WorkScheduleFieldDefault-J5L7GMZR.js.map
|
package/dist/chunk-34K6BCJD.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as m}from"./chunk-3SXFXI3O.js";import{b as a}from"./chunk-PGWKJ6FK.js";import{f as t}from"./chunk-JVGGWBFZ.js";import{b as s}from"./chunk-B6INIXRK.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as E}from"react/jsx-runtime";function P({components:d,onSubmit:l,onError:i,onSuccess:f}){let{onboardingBag:o}=a(),p=o.fields??[],c=t(p,o.initialValues.benefits);return E(m,{defaultValues:c,components:d,onSubmit:e(async n=>{try{await l?.(n);let r=await o.onSubmit(n);if(r?.data){await f?.(r.data),o?.next();return}if(r?.error){let u=s(r?.fieldErrors||[],o.meta?.fields?.benefits);i?.({error:r.error,rawError:r.rawError,fieldErrors:u})}}catch(r){i?.({error:r,rawError:r,fieldErrors:[]})}},"handleSubmit")})}e(P,"BenefitsStep");export{P as a};
|
|
2
|
-
//# sourceMappingURL=chunk-34K6BCJD.js.map
|
package/dist/chunk-4JIT6ICA.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{c as p,i as s}from"./chunk-SJZP5XKE.js";import{b as m}from"./chunk-KQPDXXG3.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as d}from"react/jsx-runtime";function v({name:o,description:a,label:l,type:F,onChange:t,component:x,includeErrorMessage:c=!0,additionalProps:f={},maxLength:u,...T}){let{components:C}=m(),{control:P}=p();return d(s,{control:P,name:o,render:({field:r,fieldState:S})=>{let n=x||C?.text;if(!n)throw new Error(`Text component not found for field ${o}`);let g={name:o,description:a,label:l,type:F,onChange:t,metadata:f,maxLength:u,includeErrorMessage:c,...T};return d(n,{field:{...r,onChange:e(i=>{r.onChange(i),t?.(i)},"onChange")},fieldState:S,fieldData:g})}})}e(v,"TextField");export{v as a};
|
|
2
|
-
//# sourceMappingURL=chunk-4JIT6ICA.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/form/fields/TextField.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { useFormFields } from '@/src/context';\nimport { Components, JSFField, $TSFixMe } from '@/src/types/remoteFlows';\nimport { useFormContext } from 'react-hook-form';\nimport { FormField } from '../../ui/form';\nimport { TextFieldDataProps } from '@/src/types/fields';\n\nexport type TextFieldProps = React.ComponentProps<'input'> & {\n name: string;\n} & Partial<\n JSFField & {\n onChange?: (value: $TSFixMe) => void;\n component?: Components['text'];\n includeErrorMessage?: boolean;\n additionalProps?: Record<string, unknown>;\n }\n >;\n\ntype CustomTextFieldProps = TextFieldDataProps & {\n /**\n * @deprecated avoid using this prop in custom components\n */\n onChange?: (value: $TSFixMe) => void;\n};\n\nexport function TextField({\n name,\n description,\n label,\n type,\n onChange,\n component,\n includeErrorMessage = true,\n additionalProps = {},\n maxLength,\n ...rest\n}: TextFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n\n return (\n <FormField\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components?.text;\n\n if (!Component) {\n throw new Error(`Text component not found for field ${name}`);\n }\n\n const customTextFieldProps: CustomTextFieldProps = {\n name,\n description,\n label,\n type,\n onChange,\n metadata: additionalProps,\n maxLength,\n includeErrorMessage,\n ...rest,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (value: $TSFixMe) => {\n field.onChange(value);\n onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={customTextFieldProps}\n />\n );\n }}\n />\n );\n}\n"],"mappings":"+HAgEU,cAAAA,MAAA,oBAtCH,SAASC,EAAU,CACxB,KAAAC,EACA,YAAAC,EACA,MAAAC,EACA,KAAAC,EACA,SAAAC,EACA,UAAAC,EACA,oBAAAC,EAAsB,GACtB,gBAAAC,EAAkB,CAAC,EACnB,UAAAC,EACA,GAAGC,CACL,EAAmB,CACjB,GAAM,CAAE,WAAAC,CAAW,EAAIC,EAAc,EAC/B,CAAE,QAAAC,CAAQ,EAAIC,EAAe,EAEnC,OACEf,EAACgB,EAAA,CACC,QAASF,EACT,KAAMZ,EACN,OAAQ,CAAC,CAAE,MAAAe,EAAO,WAAAC,CAAW,IAAM,CACjC,IAAMC,EAAYZ,GAAaK,GAAY,KAE3C,GAAI,CAACO,EACH,MAAM,IAAI,MAAM,sCAAsCjB,CAAI,EAAE,EAG9D,IAAMkB,EAA6C,CACjD,KAAAlB,EACA,YAAAC,EACA,MAAAC,EACA,KAAAC,EACA,SAAAC,EACA,SAAUG,EACV,UAAAC,EACA,oBAAAF,EACA,GAAGG,CACL,EACA,OACEX,EAACmB,EAAA,CACC,MAAO,CACL,GAAGF,EACH,SAAUI,EAACC,GAAoB,CAC7BL,EAAM,SAASK,CAAK,EACpBhB,IAAWgB,CAAK,CAClB,EAHU,WAIZ,EACA,WAAYJ,EACZ,UAAWE,EACb,CAEJ,EACF,CAEJ,CArDgBC,EAAApB,EAAA","names":["jsx","TextField","name","description","label","type","onChange","component","includeErrorMessage","additionalProps","maxLength","rest","components","useFormFields","control","useFormContext","FormField","field","fieldState","Component","customTextFieldProps","__name","value"]}
|
package/dist/chunk-4Z3EMHTE.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as d,b as w}from"./chunk-REYOVGEA.js";import{a as g}from"./chunk-CQDQM2IX.js";import{a as E}from"./chunk-67Y7FHJL.js";import{e as C}from"./chunk-JVGGWBFZ.js";import{Q as F,e as _,z as P}from"./chunk-TNQKP2XT.js";import{a as h}from"./chunk-B6INIXRK.js";import{a as j}from"./chunk-TSPDJUGG.js";import{d as c}from"./chunk-KQPDXXG3.js";import{a as e}from"./chunk-P37U34EQ.js";import{useMutation as b,useQuery as I}from"@tanstack/react-query";var B=e(({countryCode:n,employment:r,fieldValues:a,options:t})=>{let{client:u}=c(),m=t?.jsonSchemaVersion?.contract_amendments?{json_schema_version:t.jsonSchemaVersion.contract_amendments}:{};return I({queryKey:["contract-amendment-schema"],retry:!1,queryFn:e(async()=>{let o=await _({client:u,headers:{Authorization:""},query:{employment_id:r?.id,country_code:n,...m}});if(o.error||!o.data)throw new Error("Failed to fetch contract amendment schema");return o},"queryFn"),enabled:!!r,select:e(({data:o})=>{let l=o?.data||{};return E(l,a,t)},"select")})},"useContractAmendmentSchemaQuery"),J=e(n=>{let{client:r}=c(),a=n?.jsonSchemaVersion?.contract_amendments?{json_schema_version:n.jsonSchemaVersion.contract_amendments}:{};return b({mutationFn:e(t=>P({client:r,headers:{Authorization:""},body:t,query:{...a}}),"mutationFn")})},"useCreateContractAmendmentMutation"),K=e(n=>{let{client:r}=c(),a=n?.jsonSchemaVersion?.contract_amendments?{json_schema_version:n.jsonSchemaVersion.contract_amendments}:{};return b({mutationFn:e(t=>F({client:r,headers:{Authorization:""},body:t,query:{...a}}),"mutationFn")})},"useAutomatableContractAmendmentMutation"),te=e(({employmentId:n,countryCode:r,options:a})=>{let{fieldValues:t,setFieldValues:u,stepState:m,nextStep:o,previousStep:l}=j(d),{data:i,isLoading:v,isError:q,error:Q}=g({employmentId:n,queryParams:{exclude_files:!0}}),{data:s,isLoading:L,isError:M,error:T}=B({employment:i,countryCode:r,fieldValues:{...m.values?.[m.currentStep.name],...t},options:a}),k=w(i,s?.fields),S=J(a),A=K(a);async function x(p){let f=await C(p,s?.fields||[],{isPartialValidation:!1}),V={employment_id:i?.id,amendment_contract_id:i?.active_contract_id,contract_amendment:{...f}};switch(m.currentStep.name){case d.form.name:{let{mutateAsync:y}=h(A),H=await y(V);return o(),H}case d.confirmation_form.name:{let{mutateAsync:y}=h(S);return y(V)}default:throw new Error("Invalid step state")}}e(x,"onSubmit");async function z(p){if(s){let f=await C(p,s?.fields);return s?.handleValidation(f)}return null}e(z,"handleValidation");function O(){l()}return e(O,"back"),{stepState:m,fields:s?.fields||[],isLoading:v||L,isError:q||M,error:Q||T,isSubmitting:A.isPending||S.isPending,initialValues:k,values:t,handleValidation:z,checkFieldUpdates:u,onSubmit:x,back:O}},"useContractAmendment");export{te as a};
|
|
2
|
-
//# sourceMappingURL=chunk-4Z3EMHTE.js.map
|
package/dist/chunk-62SF33UR.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as U}from"./chunk-6DHV4GT6.js";import{a as W}from"./chunk-2VMGSRVH.js";import{a as Y}from"./chunk-EIENNK3Y.js";import{a as Q}from"./chunk-T4EHHK6N.js";import{a as J}from"./chunk-55DI7KZU.js";import{a as H}from"./chunk-IF42CZJH.js";import{a as q,b as B,c as L,d as z}from"./chunk-F53HVGYB.js";import{f as Z,g as K}from"./chunk-3AN3QVZK.js";import{a as R}from"./chunk-ZXGAFQXW.js";import{a as S}from"./chunk-R7LMREDN.js";import{a as N}from"./chunk-CQDQM2IX.js";import{a as E}from"./chunk-67Y7FHJL.js";import{e as _}from"./chunk-JVGGWBFZ.js";import{a as u,b as v}from"./chunk-U2H4CADS.js";import{q as $}from"./chunk-TNQKP2XT.js";import{a as w,c as D}from"./chunk-B6INIXRK.js";import{a as A}from"./chunk-TSPDJUGG.js";import{a as I}from"./chunk-626FTNKA.js";import{d as O}from"./chunk-KQPDXXG3.js";import{a as o}from"./chunk-P37U34EQ.js";import xe from"lodash.omitby";import je from"lodash.isnull";import{format as x,isFuture as Ve,parseISO as j,subDays as Pe}from"date-fns";import{useMemo as V}from"react";import be from"lodash.omit";import{useQuery as Fe}from"@tanstack/react-query";var G=o(({query:t,options:e})=>{let{client:y}=O();return Fe({queryKey:["payroll-calendars"],queryFn:o(()=>$({client:y,query:{year:t?.year,country_code:t?.countryCode}}),"queryFn"),enabled:e?.enabled,select:o(c=>c.data?.data?.payroll_calendars?.[0],"select")})},"usePayrollCalendars");import{isFuture as Me,isToday as ge,parseISO as Se}from"date-fns";var X=o(t=>{if(!t)return!1;let e=Se(t);return Me(e)||ge(e)},"isInProbationPeriod");import{Fragment as ke,jsx as m,jsxs as Ce}from"react/jsx-runtime";var lo=o(({employmentId:t,options:e,initialValues:y})=>{let{fieldValues:c,setFieldValues:ee,stepState:l,previousStep:oe,nextStep:ie}=A(q),{data:n,isLoading:te}=N({employmentId:t,queryParams:{exclude_files:!0}}),{data:ne}=G({query:{year:new Date().getFullYear().toString(),countryCode:n?.country?.code},options:{enabled:!!n?.country?.code}}),T=X(n?.probation_period_end_date),F=B(ne),P=V(()=>T?x(new Date,"yyyy-MM-dd"):x(F,"yyyy-MM-dd"),[T,F]),M=!!(n?.provisional_start_date&&Ve(j(n.provisional_start_date))),ae={personal_email:n?.basic_information?.email},g=z({...ae,...y,...l.values?.employee_communication,...l.values?.termination_details,...l.values?.paid_time_off,...l.values?.additional_information},M),d=V(()=>({...g,...c}),[c,g]),b=L({minTerminationDate:F,isEmployeeInProbationPeriod:T,selectedDate:j(d.proposed_termination_date)}),re=V(()=>{let s=R.data.schema.properties.termination_reason.oneOf,a=M?s.filter(i=>i.const==="cancellation_before_start_date"):s.filter(i=>i.const!=="cancellation_before_start_date");return{fields:{risk_assesment_info:S("Offboarding risk assessment","Employees may be protected from termination if they fall into certain categories. To help avoid claims from employees, let us know if the employee is part of one or more of these categories. Select all that apply.",{className:e?.jsfModify?.fields?.risk_assesment_info?.["x-jsf-presentation"]?.className}),termination_reason:{...e?.jsfModify?.fields?.termination_reason,oneOf:a},proposed_termination_date_info:S("Proposed termination date",Ce(ke,{children:["In most cases, Remote must provide notice to the employee before termination. The required notice period depends on local labor laws, the employment agreement, and other factors. We'll use those factors to determine the required notice period.",m(v,{external:!0,zendeskId:u.terminationNoticePeriods,className:D("text-sm",e?.jsfModify?.fields?.proposed_termination_date_info?.["x-jsf-presentation"]?.zendeskTriggerButtonClassName),children:"Learn about notice periods"})]}),{className:e?.jsfModify?.fields?.proposed_termination_date_info?.["x-jsf-presentation"]?.className}),proposed_termination_date:{...e?.jsfModify?.fields?.proposed_termination_date,"x-jsf-presentation":{...e?.jsfModify?.fields?.proposed_termination_date?.["x-jsf-presentation"],minDate:P,...d.termination_reason==="cancellation_before_start_date"&&n?.provisional_start_date?{maxDate:x(Pe(j(n.provisional_start_date),1),"yyyy-MM-dd")}:{},...b},...d.termination_reason==="cancellation_before_start_date"?{"x-jsf-errorMessage":{maximum:"The proposed termination date must be before the employee's start date."}}:{}},paid_time_off_info:{...e?.jsfModify?.fields?.paid_time_off_info,"x-jsf-presentation":{...e?.jsfModify?.fields?.paid_time_off_info?.["x-jsf-presentation"],Component:o(()=>{let i=e?.jsfModify?.fields?.paid_time_off_info?.["x-jsf-presentation"]?.Component;return m(J,{employeeName:n?.basic_information?.name,proposedTerminationDate:d.proposed_termination_date,employmentId:t,employment:n,render:r=>i?m(i,{...r}):m(Q,{...r})})},"Component")}},acknowledge_termination_procedure_info:{...e?.jsfModify?.fields?.acknowledge_termination_procedure_info,"x-jsf-presentation":{...e?.jsfModify?.fields?.acknowledge_termination_procedure_info?.["x-jsf-presentation"],Component:o(()=>{let i=e?.jsfModify?.fields?.acknowledge_termination_procedure_info?.["x-jsf-presentation"]?.Component;return m(U,{render:r=>i?m(i,{...r}):m(W,{...r})})},"Component")}},acknowledge_termination_procedure_fees_info:{...e?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info,"x-jsf-presentation":{...e?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info?.["x-jsf-presentation"],Component:o(()=>{let i={involuntaryOffboardingServiceChargeZendeskId:u.involuntaryOffboardingServiceCharge,reconciliationInvoiceZendeskId:u.reconciliationInvoice},r=e?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info?.["x-jsf-presentation"]?.Component;return r?m(r,{...i}):m(Y,{...i})},"Component")}}}}},[n,t,d.proposed_termination_date,d.termination_reason,M,P,e?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info,e?.jsfModify?.fields?.acknowledge_termination_procedure_info,e?.jsfModify?.fields?.paid_time_off_info,e?.jsfModify?.fields?.proposed_termination_date,e?.jsfModify?.fields?.proposed_termination_date_info,e?.jsfModify?.fields?.risk_assesment_info,e?.jsfModify?.fields?.termination_reason,b]),{data:f,isLoading:se}=K({formValues:d,jsfModify:{...e?.jsfModify,fields:{...e?.jsfModify?.fields,...re?.fields}},step:l.currentStep.name}),me=E(H.data.schema),k=Z(),{mutateAsync:de}=w(k);async function fe(s){if(!t)throw new Error("Employment id is missing");if(f){let a=await C(s,!0),{customer_informed_employee:i}=a,r=i==="yes"?{employee_awareness:{date:a.customer_informed_employee_date,note:a.customer_informed_employee_description}}:void 0,ue=await I(a,["agrees_to_pto_amount","confidential","customer_informed_employee","will_challenge_termination"]),_e=be(ue,"customer_informed_employee_date","customer_informed_employee_description"),ye=xe({..._e,...r},je),p=a.timesheet_file??[],h=Array.isArray(p)&&p.length>0?{content:p[0].content,name:p[0].name}:void 0,Te={employment_id:t,termination_details:{...ye,timesheet_file:h||void 0},type:"termination"};return de(Te)}}o(fe,"onSubmit");function le(){oe()}o(le,"back");function ce(){ie()}o(ce,"next");let pe=Object.keys(c).length>0,C=o(async(s,a=!1)=>a?await _(s,me.fields,{isPartialValidation:!0}):f?await _(s,f?.fields,{isPartialValidation:!0}):{},"parseFormValues");return{employmentId:t,employment:n,fieldValues:d,isDirty:pe,stepState:l,fields:f?.fields||[],isLoading:se||te,isSubmitting:k.isPending,initialValues:g,handleValidation:o(async s=>{if(f){let a=await _(s,f?.fields);return f?.handleValidation(a)}return null},"handleValidation"),checkFieldUpdates:ee,parseFormValues:C,onSubmit:fe,back:le,next:ce}},"useTermination");export{lo as a};
|
|
2
|
-
//# sourceMappingURL=chunk-62SF33UR.js.map
|
package/dist/chunk-67Y7FHJL.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{c as m}from"./chunk-JVGGWBFZ.js";import{b as f}from"./chunk-626FTNKA.js";import{a as n}from"./chunk-P37U34EQ.js";import{createHeadlessForm as F,modify as y}from"@remoteoss/remote-json-schema-form-kit";var O=n((e,s,t)=>{if(t&&t.jsfModify){let{required:l,allOf:r,...o}=t.jsfModify,{schema:i}=y(e,o);e=i,l&&(e.required=[...Array.isArray(i.required)?i.required:[],...l]),r&&(e.allOf=[...Array.isArray(i.allOf)?i.allOf:[],...r])}let d={};s&&(d=f(e.properties||{},"money").reduce((r,o)=>(r[o]=m(s[o]),r),{}));let a=JSON.parse(JSON.stringify({...s,...d}));return{meta:{"x-jsf-fieldsets":e["x-jsf-fieldsets"]},...F(e,{initialValues:a})}},"createHeadlessForm");export{O as a};
|
|
2
|
-
//# sourceMappingURL=chunk-67Y7FHJL.js.map
|
package/dist/chunk-AMXFLUWP.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as Z}from"./chunk-VQHFF2HH.js";import{a as I}from"./chunk-VFRHMNLJ.js";import{a as Q,b as W,c as X,f as Y}from"./chunk-W5YVKNRC.js";import{a as C}from"./chunk-HN5HLFTB.js";import{a as G}from"./chunk-KFYWUBRS.js";import{c as ee}from"./chunk-C2RPJGJB.js";import{a as z}from"./chunk-67Y7FHJL.js";import{e as M}from"./chunk-JVGGWBFZ.js";import{a as K}from"./chunk-B6INIXRK.js";import{a as o}from"./chunk-P37U34EQ.js";import{number as Be,object as se}from"yup";import{useCallback as je,useEffect as te,useMemo as we,useRef as Re,useState as j}from"react";import{string as ne,ValidationError as re}from"yup";import{jsx as ie}from"react/jsx-runtime";var O={title:"Estimation",includeBenefits:!1,includeCostBreakdowns:!1,includePremiumBenefits:!1,enableCurrencyConversion:!1,includeEstimationTitle:!1,includeManagementFee:!1},Pe=o(t=>z(I.data.schema,void 0,t),"useStaticSchema");function xe(t,i){if(typeof t=="object"&&t!==null&&"title"in t){let l=t.title;if(l)return l}return i==="my_hiring_budget"?"Hiring budget":"Employee's annual salary"}o(xe,"getSalaryTitle");var ze=o(({defaultRegion:t,defaultCurrency:i,defaultSalary:l,estimationOptions:s,options:n,version:a}={estimationOptions:O})=>{let u=Re({fields:{}}),[k,h]=j(t),[w,R]=j(),[m,q]=j(),[H,le]=j(),{data:_,isLoading:ue}=Q({includePremiumBenefits:s.includePremiumBenefits}),{data:d,isLoading:ce}=W(),me=k||w?.value,{data:P,isLoading:de}=Y(me,{includePremiumBenefits:s.includePremiumBenefits,options:n}),U=X(),{mutateAsync:fe}=K(U),b=w?.currency,p=n?.jsfModify?.fields?.salary,F=p&&typeof p=="object"&&"presentation"in p?p.presentation:void 0,L=je(()=>{let e=b&&m?b!==m:!1;return b!==m?{from:m,to:b,shouldSwapOrder:e}:{from:b,to:m,shouldSwapOrder:e}},[b,m]),J=s.showManagementFee,$=s.includeEstimationTitle,ge=we(()=>{let{from:e,to:r,shouldSwapOrder:c}=L(),g=xe(p,H);return{fields:{salary:{...p,title:g,presentation:{salary_conversion_properties:{label:F?.salary_conversion_properties?.label,description:F?.salary_conversion_properties?.description},currencies:{from:e,to:r},Component:o(y=>ie(Z,{...y,shouldSwapOrder:c,conversionType:a==="marketing"?"no_spread":"spread",defaultValue:l}),"Component")}},hiring_budget:{...n?.jsfModify?.fields?.hiring_budget,presentation:{hidden:a=="marketing"}},management:{...n?.jsfModify?.fields?.management,properties:{...n?.jsfModify?.fields?.management?.properties,management_fee:{...n?.jsfModify?.fields?.management?.properties?.management_fee,"x-jsf-presentation":{inputType:"money",additionalProps:{currency:m||"USD"}}}},presentation:{...typeof n?.jsfModify?.fields?.management=="object"?(n?.jsfModify?.fields?.management)["x-jsf-presentation"]:{},hidden:!J,Component:o(y=>ie(ee,{...y,variant:"inset",features:{toggle:{enabled:!0,stateField:"management._expanded",labels:{expand:"Define",collapse:"Remove"}}}}),"Component")}},estimation_title:{...n?.jsfModify?.fields?.estimation_title,"x-jsf-presentation":{hidden:!$}}}}},[L,p,H,F?.salary_conversion_properties?.label,F?.salary_conversion_properties?.description,n?.jsfModify?.fields?.hiring_budget,n?.jsfModify?.fields?.management,n?.jsfModify?.fields?.estimation_title,a,m,J,$,l]),f=Pe({jsfModify:{fields:{...n?.jsfModify?.fields,...ge?.fields}}});te(()=>{if(t&&_){let e=_.find(({value:r})=>r===t);e&&R(e)}},[t,_]),te(()=>{if(i&&d){let e=d.find(({value:r})=>r===i);e&&q(e.label)}},[i,d]);async function ye(e){return fe(oe(e,s,a))}o(ye,"onSubmit");function pe(e){let r=_?.find(({value:c})=>c===e);r&&r.childRegions.length===0&&r.hasAdditionalFields?h(r.regionSlug):h(void 0),R(r)}o(pe,"onCountryChange");function Ce(e){h(e)}o(Ce,"onRegionChange");function _e(e){le(e.target.value)}o(_e,"onHiringBudgetChange");function be(e){let r=d?.find(c=>c.value===e)?.label;q(r),n?.onCurrencyChange?.(r||"")}o(be,"onChangeCurrency");let E=f.fields.find(e=>e.name==="region");if(E){let e=w?.childRegions.map(r=>({value:r.slug,label:r.name}))??[];E.options=e,E.isVisible=e.length>0,E.required=e.length>0,E.onChange=Ce,E.schema=e.length>0?ne().transform(r=>typeof r=="string"?r:"").required("Region is required"):ne()}if(d){let e=f.fields.find(r=>r.name==="currency");e&&(e.options=d,e.onChange=be)}let v=f.fields.find(e=>e.name==="hiring_budget");if(v&&(v.onChange=_e),_){let e=f.fields.find(r=>r.name==="country");e&&(e.options=_,e.onChange=pe)}let Ee=o(()=>{R(void 0),h(t)},"resetForm"),D=[...f.fields.filter(e=>e.name!=="management"),...P?.fields||[],...f.fields.filter(e=>e.name==="management")],N=ae(f.fields,m||"USD",s.includeEstimationTitle);async function Se(e){let r=null;n?.onValidation?.(e);let c=await M(e,D);try{await N.validate(c,{abortEarly:!1}),r={formErrors:{},yupError:new re([],e)}}catch(S){let B=G(S);r={formErrors:Object.entries(B).reduce((T,[A,V])=>({...T,[A]:V.message}),{}),yupError:S}}let g=P?.handleValidation(c),y=[...r?.yupError.inner||[],...g?.yupError?.inner||[]],x={...r?.yupError?.value||{},...g?.yupError?.value||{}};return{formErrors:{...r?.formErrors||{},...g?.formErrors||{}},yupError:new re(y,x)}}return o(Se,"handleValidation"),{stepState:{current:0,total:1,isLastStep:!0},fields:D,validationSchema:N,parseFormValues:o(async e=>{let{country:r,region:c,currency:g,salary_converted:y,hiring_budget:x,salary_conversion:S,management:B,estimation_title:T,...A}=e,V=e.salary;y==="salary_conversion"&&(V=S);let he=await M({country:r,region:c,salary:V,salary_converted:y,salary_conversion:S,hiring_budget:x,currency:g,management:B,estimation_title:T},f.fields),Fe=await M(A,P?.fields||[]),Ve={currency_code:d?.find(Me=>Me.value===g)?.label};return{...he,...Fe,...Ve}},"parseFormValues"),handleValidation:Se,isSubmitting:U.isPending,isLoading:ue&&ce&&de,onSubmit:ye,resetForm:Ee,currencies:d,meta:{fields:u.current?.fields}}},"useCostCalculator");function ae(t,i,l){let s=t.reduce((n,a)=>(a.name==="salary"||a.name==="salary_conversion"?n[a.name]=a.schema.when("salary_converted",{is:o(u=>u===a.name,"is"),then:o(u=>u.required("Required field"),"then"),otherwise:o(u=>u.optional(),"otherwise")}):a.name==="management"?n[a.name]=se({management_fee:Be().transform(u=>isNaN(u)?void 0:u).min(0,"Management fee must be greater than or equal to 0").max(i?C[i]:C.USD,()=>`Management fee cannot exceed ${(i?C[i]:C.USD)/100} ${i}`)}):a.name==="estimation_title"&&l?n[a.name]=a.schema.required("Required field"):n[a.name]=a.schema,n),{});return se(s)}o(ae,"buildValidationSchema");function Te(t){let i="benefit-";return Object.keys(t).reduce((l,s)=>{let n=t[s];if(n==="none")return l;let u={benefit_group_slug:s.replace(i,""),benefit_tier_slug:n};return[...l,u]},[])}o(Te,"formatBenefits");function Ae(t,i,l){let s=Number(t.management?.management_fee),n=t.currency_code;return{...{region_slug:t.region||t.country,employment_term:t.contract_duration_type??"fixed",title:t.estimation_title||i.title,age:t.age??void 0,...t.benefits&&{benefits:Te(t.benefits)},...i.includeManagementFee&&s&&{discount:{quoted_amount:i.showManagementFee?s:C[n]||C.USD,text:""}}},...Oe(t,l)}}o(Ae,"mapValueToEmployment");function Oe(t,i){let l=i==="marketing"||t.salary_converted==="salary_conversion",s=i==="standard"&&t.salary_converted==="salary",n=t.hiring_budget==="my_hiring_budget";if(l){let a=t.salary_converted==="salary_conversion";return n?{annual_total_cost_in_employer_currency:t.salary}:{[a?"annual_gross_salary_in_employer_currency":"annual_gross_salary"]:t.salary}}return s?n?{annual_total_cost:t.salary}:{annual_gross_salary:t.salary}:{}}o(Oe,"getSalaryFields");function oe(t,i=O,l="standard"){let s=Array.isArray(t)?t:[t];if(s.length===0)throw new Error("At least one employment value is required");return s.length>1&&new Set(s.map(a=>a.currency)).size>1&&console.warn("Multiple currencies detected in array. Using currency from first employment."),{employer_currency_slug:s[0].currency,include_benefits:i.includeBenefits,include_cost_breakdowns:i.includeCostBreakdowns,include_premium_benefits:i.includePremiumBenefits,include_management_fee:i.includeManagementFee,employments:s.map(n=>Ae(n,i,l))}}o(oe,"buildPayload");export{ae as a,oe as b,O as c,ze as d};
|
|
2
|
-
//# sourceMappingURL=chunk-AMXFLUWP.js.map
|
package/dist/chunk-B6INIXRK.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as s}from"./chunk-P37U34EQ.js";function u(e){let n=e.error||e;if(!n||!n.errors||typeof n.errors!="object")return[];let t=[];return Object.entries(n.errors).forEach(([o,r])=>{if(Array.isArray(r)){t.push({field:o,messages:r.map(i=>String(i))});return}r&&typeof r=="object"&&Object.entries(r).forEach(([i,a])=>{Array.isArray(a)&&t.push({field:i,messages:a.map(l=>String(l))})})}),t}s(u,"extractFieldErrors");function T(e){return{mutateAsyncOrThrow:s(n=>new Promise((t,o)=>{e.mutate(n,{onSuccess:s(r=>{if("data"in r&&r.data!==null&&!r.error)t(r.data);else{let i=u(r.error),a=r.error.error||r.error,{response:l}=r,f=typeof a?.message=="string"?a.message:"Something went wrong. Please try again later.";o({error:new Error(f),rawError:r.error,fieldErrors:i,response:l})}},"onSuccess"),onError:s(r=>{let i=u(r);o({error:r,rawError:r,fieldErrors:i,response:r?.response})},"onError")})}),"mutateAsyncOrThrow"),mutateAsync:s(n=>new Promise((t,o)=>{e.mutate(n,{onSuccess:s(r=>{if(r.data)t({data:r.data,error:null});else{let i=u(r.error),a=r.error.error||r.error,l=typeof a?.message=="string"?a.message:"Something went wrong. Please try again later.";t({data:null,error:new Error(l),rawError:r.error,fieldErrors:i})}},"onSuccess"),onError:s(r=>{let i=u(r);o({data:null,error:r,rawError:r,fieldErrors:i})},"onError")})}),"mutateAsync")}}s(T,"mutationToPromise");function c(e,n){return!e||e.length===0?[]:e.map(t=>{let o=n?.[t.field],r=t.field;if(!o&&n&&t.field.includes("/")){let i=t.field.split("/"),a=n;for(let l of i)if(a&&typeof a=="object")a=a[l];else{a=void 0;break}o=a}return typeof o?.label=="string"&&(r=o.label),{...t,userFriendlyLabel:r,field:t.field,messages:t.messages}})}s(c,"normalizeFieldErrors");import{clsx as p}from"clsx";import{twMerge as E}from"tailwind-merge";import d from"dompurify";function $(...e){return E(p(e))}s($,"cn");function V(e,n="EUR"){if(e==null)return"-";let t=e/100;return new Intl.NumberFormat("en",{style:"currency",currency:n,currencyDisplay:"symbol"}).format(t)}s(V,"formatCurrency");var m=s(e=>{let n={};return e.inner.forEach(t=>{t.path!==void 0&&(n[t.path]={type:t.type,errors:t.errors,inner:t.inner.map(o=>m(o))})}),n},"transformYupErrorsIntoObject");function z(e){window.RemoteFlowsSDK={version:e}}s(z,"debug");var g=s(e=>{let n=new Set(e?e.toLowerCase().split(" "):[]);return n.add("noopener"),n.add("noreferrer"),Array.from(n).join(" ")},"appendSecureRelValue");d.isSupported&&d.addHook("afterSanitizeAttributes",e=>{let n=e.getAttribute("target");if(e.tagName==="A"&&(!n||n!=="_self")){let t=e.getAttribute("href");if(t&&!t.startsWith("#")&&/^https?:\/\//i.test(t)){e.setAttribute("target","_blank");let o=e.getAttribute("rel");e.setAttribute("rel",g(o))}}});var P=s(e=>d.sanitize(e,{ADD_ATTR:["target"]}),"sanitizeHtml"),k=s(e=>{let t=new DOMParser().parseFromString(e,"text/html");t.querySelectorAll("img").forEach(i=>{i.setAttribute("onerror","this.style.display='none'")});let r=t.body.innerHTML;return d.sanitize(r,{ADD_ATTR:["target","onerror"]})},"sanitizeHtmlWithImageErrorHandling"),N=s(e=>{if(!e)return"";let n=e.trim();return n.startsWith("data:application/pdf;base64,")||n.startsWith("data:")?n:`data:application/pdf;base64,${n}`},"clearBase64Data");function y(e,n){return n?Object.fromEntries(Object.entries(e).map(([t,o])=>{if(o===void 0)return[t,void 0];let r=n.find(i=>i.name===t);if(r?.isVisible===!1||r?.deprecated)return[t,void 0];if(r?.type==="radio"||r?.type==="select"){let i=r.options.find(a=>a.value===o);return i?[t,{prettyValue:i?.label,label:r?.label,inputType:r?.type}]:void 0}if(r?.type==="checkbox"&&r?.const)return[t,{prettyValue:!0,label:r.label,inputType:r?.type}];if(r?.type==="countries"&&Array.isArray(o))return[t,{prettyValue:o.join(),label:r.label,inputType:r?.type}];if(r?.type==="fieldset"){let i=y(o,r.fields);if(!i.label&&i.value){let a={...i.value,label:r.label,inputType:r?.type};return[t,a]}return[t,i]}if(r?.type==="money")return[t,{prettyValue:o,label:r.label,inputType:r?.type,currency:r?.currency}];if(r)return[t,{prettyValue:o,label:r.label,inputType:r?.type}]}).filter(Boolean)):{}}s(y,"prettifyFormValues");function b(e){return{error:new Error(e),rawError:{message:e},fieldErrors:[]}}s(b,"createStructuredError");function F(e){return typeof e=="object"&&e!==null&&"error"in e&&"rawError"in e&&"fieldErrors"in e}s(F,"isStructuredError");function j(e,n,t){if(F(e)){let r=c(e.fieldErrors||[],n);return t&&x(t,r),{error:e.error,rawError:e.rawError,fieldErrors:r}}return{...b(e instanceof Error?e.message:"An unexpected error occurred"),fieldErrors:[]}}s(j,"handleStepError");function U(e,n,t){if(e==null||typeof n!="string")return t;let o=n.split("."),r=e;for(let i of o){if(r==null||typeof r!="object")return t;r=r[i]}return r===void 0?t:r}s(U,"getNestedValue");function x(e,n){n.forEach(({field:t,messages:o})=>{try{let r=t.replace(/\//g,".").replace(/\[(\d+)\]/g,".$1");e.setError(r,{type:"server",message:o.join(". ")})}catch(r){console.warn(`Could not set error for field: ${t}`,r)}})}s(x,"setFormFieldErrors");export{T as a,c as b,$ as c,V as d,m as e,z as f,P as g,k as h,N as i,y as j,b as k,F as l,j as m,U as n};
|
|
2
|
-
//# sourceMappingURL=chunk-B6INIXRK.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/lib/mutations.ts","../src/lib/utils.ts"],"sourcesContent":["import { $TSFixMe, NestedMeta } from '@/src/types/remoteFlows';\nimport { UseMutationResult } from '@tanstack/react-query';\n\ntype MutationData<T> =\n T extends UseMutationResult<infer R, $TSFixMe, $TSFixMe, $TSFixMe>\n ? R\n : never;\ntype MutationVariables<T> =\n T extends UseMutationResult<$TSFixMe, $TSFixMe, infer V, $TSFixMe>\n ? V\n : never;\ntype MutationError<T> =\n T extends UseMutationResult<$TSFixMe, infer E, $TSFixMe, $TSFixMe>\n ? E\n : never;\n\n/**\n * Unwraps the .data property from the response type\n * This matches the runtime behavior of mutateAsyncOrThrow which resolves with response.data\n */\ntype UnwrapData<T> = T extends { data: infer D } ? D : T;\n\nexport interface SuccessResponse<D> {\n data: D;\n error: null;\n}\n\nexport interface FieldError {\n field: string;\n messages: string[];\n}\n\nexport interface ErrorResponse<E> {\n data: null;\n error: E;\n rawError: Record<string, unknown>;\n fieldErrors: FieldError[];\n}\n\ntype PromiseResult<D, E> = SuccessResponse<D> | ErrorResponse<E>;\n\n/**\n * Extracts field errors from error response into a structured format\n * @param error - The error response object\n * @returns Array of field errors with field name and messages\n */\nexport function extractFieldErrors(error: $TSFixMe): FieldError[] {\n const errors = error.error || error;\n if (!errors || !errors.errors || typeof errors.errors !== 'object') return [];\n\n const fieldErrors: FieldError[] = [];\n\n Object.entries(errors.errors).forEach(([key, value]) => {\n if (Array.isArray(value)) {\n fieldErrors.push({\n field: key,\n messages: value.map((msg: $TSFixMe) => String(msg)),\n });\n return;\n }\n if (value && typeof value === 'object') {\n Object.entries(value).forEach(([nestedKey, nestedValue]) => {\n if (Array.isArray(nestedValue)) {\n fieldErrors.push({\n field: nestedKey,\n messages: nestedValue.map((msg: $TSFixMe) => String(msg)),\n });\n }\n });\n }\n });\n return fieldErrors;\n}\n/**\n * Converts a mutation to a promise-based API. We avoid using the\n * `mutateAsync` method from react-query for 2 reasons:\n * 1. We lose the isPending state of the mutation\n * 2. We want to return the data and error in a consistent way\n * (either data or error is null)\n * @param mutation\n * @returns\n */\nexport function mutationToPromise<\n T extends UseMutationResult<$TSFixMe, $TSFixMe, $TSFixMe, $TSFixMe>,\n>(mutation: T) {\n type Data = MutationData<T>;\n type Variables = MutationVariables<T>;\n type Error = MutationError<T>;\n\n return {\n mutateAsyncOrThrow: (values: Variables): Promise<UnwrapData<Data>> => {\n return new Promise((resolve, reject) => {\n mutation.mutate(values, {\n onSuccess: (response) => {\n if (\n 'data' in response &&\n response.data !== null &&\n !response.error\n ) {\n resolve(response.data as UnwrapData<Data>);\n } else {\n const fieldErrors = extractFieldErrors(response.error);\n const errorData = response.error.error || response.error;\n const { response: httpResponse } = response;\n const errorMessage =\n typeof errorData?.message === 'string'\n ? errorData.message\n : 'Something went wrong. Please try again later.';\n reject({\n error: new Error(errorMessage),\n rawError: response.error,\n fieldErrors,\n response: httpResponse,\n });\n }\n },\n onError: (error) => {\n const fieldErrors = extractFieldErrors(error);\n reject({\n error: error as Error,\n rawError: error,\n fieldErrors,\n response: error?.response,\n });\n },\n });\n });\n },\n /**\n * @deprecated Use mutateAsyncOrThrow instead, this method will be removed as the the one below handles errors better\n */\n mutateAsync: (values: Variables): Promise<PromiseResult<Data, Error>> => {\n return new Promise((resolve, reject) => {\n mutation.mutate(values, {\n onSuccess: (response) => {\n if (response.data) {\n resolve({\n data: response.data as Data,\n error: null,\n });\n } else {\n const fieldErrors = extractFieldErrors(response.error);\n // Unwrap the error if it is an object with an error property\n const errorData = response.error.error || response.error;\n const errorMessage =\n typeof errorData?.message === 'string'\n ? errorData.message\n : 'Something went wrong. Please try again later.';\n resolve({\n data: null,\n error: new Error(errorMessage) as unknown as Error,\n rawError: response.error,\n fieldErrors,\n });\n }\n },\n onError: (error) => {\n const fieldErrors = extractFieldErrors(error);\n reject({\n data: null,\n error: error as Error,\n rawError: error,\n fieldErrors,\n });\n },\n });\n });\n },\n };\n}\n\n/**\n * Enhanced FieldError interface with user-friendly labels\n */\nexport interface NormalizedFieldError extends FieldError {\n userFriendlyLabel: string;\n}\n\n/**\n * Utility function to normalize field errors using field metadata\n * @param fieldErrors - Array of field errors from API response\n * @param meta - Field metadata containing field names and labels\n * @returns Normalized field errors with user-friendly labels\n */\nexport function normalizeFieldErrors(\n fieldErrors: FieldError[],\n meta?: NestedMeta,\n): NormalizedFieldError[] {\n if (!fieldErrors || fieldErrors.length === 0) {\n return [];\n }\n\n return fieldErrors.map((fieldError) => {\n let fieldMeta = meta?.[fieldError.field];\n let userFriendlyLabel: string = fieldError.field;\n\n // If not found directly, try nested path (e.g., \"service_duration/expiration_date\")\n if (!fieldMeta && meta && fieldError.field.includes('/')) {\n const pathParts = fieldError.field.split('/');\n let current: $TSFixMe = meta;\n\n for (const part of pathParts) {\n if (current && typeof current === 'object') {\n current = current[part];\n } else {\n current = undefined;\n break;\n }\n }\n\n fieldMeta = current;\n }\n\n if (typeof fieldMeta?.label === 'string') {\n userFriendlyLabel = fieldMeta.label;\n }\n\n return {\n ...fieldError,\n userFriendlyLabel,\n // Keep the original field name for form integration\n field: fieldError.field,\n messages: fieldError.messages,\n };\n });\n}\n","import { clsx, type ClassValue } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\nimport { ValidationError } from 'yup';\nimport DOMPurify from 'dompurify';\nimport { JSFFields, NestedMeta } from '@/src/types/remoteFlows';\nimport {\n NormalizedFieldError,\n normalizeFieldErrors,\n} from '@/src/lib/mutations';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\nexport function formatCurrency(\n amount: number | undefined | null,\n currencyCode = 'EUR',\n): string {\n if (amount == null) {\n return '-';\n }\n\n const value = amount / 100;\n\n return new Intl.NumberFormat('en', {\n style: 'currency',\n currency: currencyCode,\n currencyDisplay: 'symbol',\n }).format(value);\n}\n\ntype YupError = Pick<ValidationError, 'type' | 'errors'> & {\n inner: Record<string, YupError>[];\n};\n\n/**\n * Transforms a Yup ValidationError object into a more readable object. The format is as follows:\n * {\n * [fieldName]: {\n * type: string,\n * errors: string[],\n * inner: YupError[],\n * },\n * }\n * @param errors\n * @returns\n */\nexport const transformYupErrorsIntoObject = (errors: ValidationError) => {\n const validationErrors: Record<string, YupError> = {};\n\n errors.inner.forEach((error: ValidationError) => {\n if (error.path !== undefined) {\n validationErrors[error.path] = {\n type: error.type,\n errors: error.errors,\n inner: error.inner.map((innerError) =>\n transformYupErrorsIntoObject(innerError),\n ),\n };\n }\n });\n\n return validationErrors;\n};\n\n/**\n * Debug utility to add version to window object\n * @param version - The version of the SDK\n */\nexport function debug(version: string) {\n window.RemoteFlowsSDK = {\n version,\n };\n}\n\n// Deduplicates rel values if necessary and appends noopener and noreferrer\nconst appendSecureRelValue = (rel: string | null) => {\n const attributes = new Set(rel ? rel.toLowerCase().split(' ') : []);\n\n attributes.add('noopener');\n attributes.add('noreferrer');\n\n return Array.from(attributes).join(' ');\n};\n\nif (DOMPurify.isSupported) {\n DOMPurify.addHook('afterSanitizeAttributes', (node) => {\n const target = node.getAttribute('target');\n\n if (node.tagName === 'A' && (!target || target !== '_self')) {\n const href = node.getAttribute('href');\n\n // Skip internal anchors (#section), relative URLs, and non-http protocols\n if (href && !href.startsWith('#') && /^https?:\\/\\//i.test(href)) {\n node.setAttribute('target', '_blank');\n const rel = node.getAttribute('rel');\n node.setAttribute('rel', appendSecureRelValue(rel));\n }\n }\n });\n}\n\nexport const sanitizeHtml = (html: string) => {\n return DOMPurify.sanitize(html, { ADD_ATTR: ['target'] });\n};\n\nexport const sanitizeHtmlWithImageErrorHandling = (html: string) => {\n const parser = new DOMParser();\n const doc = parser.parseFromString(html, 'text/html');\n\n // Add onerror handler to all img tags to hide them if they fail to load\n const images = doc.querySelectorAll('img');\n images.forEach((img) => {\n img.setAttribute('onerror', \"this.style.display='none'\");\n });\n\n const modifiedHtml = doc.body.innerHTML;\n\n // Sanitize with DOMPurify, allowing onerror attribute\n // Note: The global afterSanitizeAttributes hook (defined above) will still apply\n // to add target=\"_blank\" and rel=\"noopener noreferrer\" to external links\n return DOMPurify.sanitize(modifiedHtml, {\n ADD_ATTR: ['target', 'onerror'],\n });\n};\n\n/**\n * Ensures base64 data has the correct data URI prefix for PDF content\n * @param base64Data - The base64 data string\n * @returns The base64 data with proper data URI prefix\n */\nexport const clearBase64Data = (base64Data: string) => {\n if (!base64Data) return '';\n\n const cleanedData = base64Data.trim();\n\n if (cleanedData.startsWith('data:application/pdf;base64,')) {\n return cleanedData;\n }\n\n if (cleanedData.startsWith('data:')) {\n return cleanedData;\n }\n\n return `data:application/pdf;base64,${cleanedData}`;\n};\n\n/**\n * Function to prettify form values. Returns a pretty value and label for each field.\n * @param values - Form values to prettify\n * @param fields - Form fields\n * @returns Prettified form values\n */\n// @ts-expect-error need to check function return type\nexport function prettifyFormValues(\n values: Record<string, unknown>,\n fields: JSFFields | undefined,\n) {\n if (!fields) {\n return {};\n }\n return Object.fromEntries(\n Object.entries(values)\n // @ts-expect-error need to check function return type\n .map(([key, value]) => {\n if (value === undefined) {\n return [key, undefined];\n }\n\n const field = fields.find((field) => field.name === key);\n\n if (field?.isVisible === false || field?.deprecated) {\n return [key, undefined];\n }\n\n if (field?.type === 'radio' || field?.type === 'select') {\n const option = (\n field.options as Array<{ value: string; label: string }>\n ).find((option) => option.value === value);\n\n if (option) {\n return [\n key,\n {\n prettyValue: option?.label,\n label: field?.label,\n inputType: field?.type,\n },\n ];\n }\n return;\n }\n\n if (field?.type === 'checkbox' && field?.const) {\n return [\n key,\n { prettyValue: true, label: field.label, inputType: field?.type },\n ];\n }\n\n if (field?.type === 'countries' && Array.isArray(value)) {\n return [\n key,\n {\n prettyValue: value.join(),\n label: field.label,\n inputType: field?.type,\n },\n ];\n }\n\n if (field?.type === 'fieldset') {\n // @ts-expect-error need to check function return type\n const prettiedFieldset = prettifyFormValues(\n value as Record<string, unknown>,\n field.fields as JSFFields,\n );\n\n // Handles benefits fieldset in specific\n if (!prettiedFieldset.label && prettiedFieldset.value) {\n const prettyValue: Record<string, unknown> = {\n ...prettiedFieldset.value,\n label: field.label,\n inputType: field?.type,\n };\n return [key, prettyValue];\n }\n\n return [key, prettiedFieldset];\n }\n\n if (field?.type === 'money') {\n return [\n key,\n {\n prettyValue: value,\n label: field.label,\n inputType: field?.type,\n currency: field?.currency,\n },\n ];\n }\n\n if (field) {\n return [\n key,\n { prettyValue: value, label: field.label, inputType: field?.type },\n ];\n }\n })\n .filter(Boolean),\n );\n}\n\n/**\n * Creates a structured error object with the error message and raw error object\n * @param message - The error message\n * @returns\n */\nexport function createStructuredError(message: string) {\n return {\n error: new Error(message),\n rawError: { message },\n fieldErrors: [],\n };\n}\n\n/**\n * Checks if the error is a structured error\n * @param err - The error\n * @returns True if the error is a structured error\n */\nexport function isStructuredError(err: unknown): err is {\n error: Error;\n rawError: Record<string, unknown>;\n fieldErrors: NormalizedFieldError[];\n} {\n return (\n typeof err === 'object' &&\n err !== null &&\n 'error' in err &&\n 'rawError' in err &&\n 'fieldErrors' in err\n );\n}\n\n/**\n * Handles the error for a step and optionally sets form field errors\n * @param err - The error\n * @param fieldsMeta - The fields metadata\n * @param form - Optional form instance to set field errors\n * @returns The structured error\n */\nexport function handleStepError(\n err: unknown,\n fieldsMeta?: NestedMeta,\n form?: {\n setError: (name: string, error: { type: string; message: string }) => void;\n },\n): {\n error: Error;\n rawError: Record<string, unknown>;\n fieldErrors: NormalizedFieldError[];\n} {\n // If it's already a structured error from mutateAsyncOrThrow\n if (isStructuredError(err)) {\n const normalizedFieldErrors = normalizeFieldErrors(\n err.fieldErrors || [],\n fieldsMeta,\n );\n\n // Automatically set form field errors if form is provided\n if (form) {\n setFormFieldErrors(form, normalizedFieldErrors);\n }\n\n return {\n error: err.error,\n rawError: err.rawError,\n fieldErrors: normalizedFieldErrors,\n };\n }\n\n // For unexpected errors, create a structured error\n const fallbackError = createStructuredError(\n err instanceof Error ? err.message : 'An unexpected error occurred',\n );\n\n return {\n ...fallbackError,\n fieldErrors: [], // No field errors for unexpected errors\n };\n}\n\n/**\n * Gets a nested value from an object using a dot-notation path string.\n * Replacement for lodash.get with support for nested property access.\n * @param obj - The object to query\n * @param path - The path to the property (e.g., 'user.address.city')\n * @param defaultValue - The value to return if the resolved value is undefined\n * @returns The resolved value or defaultValue\n */\nexport function getNestedValue<T = unknown>(\n obj: unknown,\n path: string,\n defaultValue?: T,\n): T | undefined {\n if (obj == null || typeof path !== 'string') {\n return defaultValue;\n }\n\n const keys = path.split('.');\n let result: unknown = obj;\n\n for (const key of keys) {\n if (result == null || typeof result !== 'object') {\n return defaultValue;\n }\n result = (result as Record<string, unknown>)[key];\n }\n\n return (result === undefined ? defaultValue : result) as T | undefined;\n}\n\n/**\n * Sets backend validation errors into react-hook-form state\n * Converts backend field paths to react-hook-form paths and sets errors\n *\n * @example\n * Backend: \"provisional_start_date\" → Form: \"provisional_start_date\"\n * Backend: \"service_duration/expiration_date\" → Form: \"service_duration.expiration_date\"\n * Backend: \"benefits[0]/value\" → Form: \"benefits.0.value\"\n *\n * @param form - The react-hook-form instance\n * @param fieldErrors - Array of normalized field errors from the backend\n */\nexport function setFormFieldErrors(\n form: {\n setError: (name: string, error: { type: string; message: string }) => void;\n },\n fieldErrors: NormalizedFieldError[],\n): void {\n fieldErrors.forEach(({ field, messages }) => {\n try {\n // Convert backend field path to react-hook-form path\n // \"/\" → \".\" for nested objects\n // \"[index]\" → \".index\" for arrays\n const formFieldPath = field\n .replace(/\\//g, '.')\n .replace(/\\[(\\d+)\\]/g, '.$1');\n\n form.setError(formFieldPath, {\n type: 'server',\n message: messages.join('. '),\n });\n } catch (error) {\n // Silently ignore if field doesn't exist in form\n // This can happen if backend returns errors for fields not in current step\n console.warn(`Could not set error for field: ${field}`, error);\n }\n });\n}\n"],"mappings":"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","names":["extractFieldErrors","error","errors","fieldErrors","key","value","msg","nestedKey","nestedValue","__name","mutationToPromise","mutation","values","resolve","reject","response","errorData","httpResponse","errorMessage","normalizeFieldErrors","meta","fieldError","fieldMeta","userFriendlyLabel","pathParts","current","part","clsx","twMerge","DOMPurify","cn","inputs","twMerge","clsx","__name","formatCurrency","amount","currencyCode","value","transformYupErrorsIntoObject","errors","validationErrors","error","innerError","debug","version","appendSecureRelValue","rel","attributes","DOMPurify","node","target","href","sanitizeHtml","html","sanitizeHtmlWithImageErrorHandling","doc","img","modifiedHtml","clearBase64Data","base64Data","cleanedData","prettifyFormValues","values","fields","key","field","option","prettiedFieldset","prettyValue","createStructuredError","message","isStructuredError","err","handleStepError","fieldsMeta","form","normalizedFieldErrors","normalizeFieldErrors","setFormFieldErrors","getNestedValue","obj","path","defaultValue","keys","result","fieldErrors","messages","formFieldPath"]}
|
package/dist/chunk-C2RPJGJB.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as B}from"./chunk-OKLZQ5MG.js";import{i as ne,j as re}from"./chunk-JVGGWBFZ.js";import{b as ee,c as oe,f as te}from"./chunk-L6YEMU4A.js";import{a as j}from"./chunk-XUK2XG3P.js";import{a as X}from"./chunk-CRYLYVA7.js";import{a as Y}from"./chunk-4JIT6ICA.js";import{b as z}from"./chunk-U2H4CADS.js";import{c as C,i as h,m as Q}from"./chunk-SJZP5XKE.js";import{c as N,g as k}from"./chunk-B6INIXRK.js";import{b as S}from"./chunk-KQPDXXG3.js";import{a as r}from"./chunk-P37U34EQ.js";import{Fragment as Ye,useEffect as je,useRef as Ne}from"react";import V from"lodash.omit";import{jsx as ie}from"react/jsx-runtime";function le({description:e,label:o,name:n,minDate:t,maxDate:i,onChange:l,component:s,...d}){let{components:F}=S(),{control:u}=C(),c;d.meta?.mot&&typeof d.meta.mot=="number"?c=ne(d.meta.mot):typeof t=="string"&&(c=new Date(`${t}T00:00:00`));let a;return i&&(a=new Date(`${i}T23:59:59`)),ie(h,{control:u,name:n,render:({field:f,fieldState:g})=>{let p=s||F?.date;if(!p)throw new Error(`Date picker component not found for field ${n}`);let x={description:e,label:o,name:n,onChange:l,...c&&{minDate:c.toISOString()},...a&&{maxDate:a.toISOString()},...d};return ie(p,{field:{...f,onChange:r(y=>{f.onChange(y),l?.(y)},"onChange")},fieldState:g,fieldData:x})}})}r(le,"DatePickerField");import{jsx as se}from"react/jsx-runtime";var Be=r((e,o)=>{if(!o)return null;for(let n of e)if(n.size>o){let t=Math.round(o/1048576),i=Math.round(n.size/(1024*1024));return`File "${n.name}" exceeds maximum size of ${t}MB (file is ${i}MB)`}return null},"validateFileSize");function ae({name:e,description:o,label:n,multiple:t,onChange:i,component:l,accept:s,maxSize:d,...F}){let{components:u}=S(),{control:c,setError:a,clearErrors:f}=C(),g=r(async(p,x)=>{let y=Be(p,d);if(y){a(e,{message:y});return}f(e),x.onChange(p),i?.(p)},"handleOnChange");return se(h,{control:c,name:e,render:({field:p,fieldState:x})=>{let y=l||u.file;if(!y)throw new Error(`File upload component not found for field ${e}`);let _={name:e,description:o,label:n,multiple:t,accept:s,maxFileSize:d,...F};return se(y,{field:{...p,value:p.value,onChange:r(async T=>g(T,p),"onChange")},fieldState:x,fieldData:_})}})}r(ae,"FileUploadField");import{jsx as me}from"react/jsx-runtime";function J(e){let{components:o}=S(),{control:n}=C(),t=e.component||o.number;if(!t)throw new Error(`Number component not found for field ${e.name}`);return me(h,{control:n,name:e.name,render:({field:i,fieldState:l})=>me(t,{field:{...i,onChange:r(s=>{i.onChange(s),e.onChange?.(s)},"onChange")},fieldState:l,fieldData:e})})}r(J,"NumberField");import{jsx as de}from"react/jsx-runtime";function pe({name:e,defaultValue:o,description:n,label:t,options:i,onChange:l,component:s,...d}){let{components:F}=S(),{control:u}=C();return de(h,{control:u,name:e,defaultValue:o,render:({field:c,fieldState:a})=>{let f=s||F?.radio;if(!f)throw new Error(`Radio group component not found for field ${e}`);let g={name:e,defaultValue:o,description:n,label:t,options:i,...d};return de(f,{field:{...c,onChange:r(p=>{c.onChange(p),l?.(p)},"onChange")},fieldState:a,fieldData:g})}})}r(pe,"RadioGroupField");import{jsx as ce}from"react/jsx-runtime";function ue({label:e,name:o,options:n,defaultValue:t,description:i,onChange:l,component:s,...d}){let{control:F}=C(),{components:u}=S();return ce(h,{defaultValue:t,control:F,name:o,render:({field:c,fieldState:a})=>{let f=s||u?.select;if(!f)throw new Error(`Select component not found for field ${o}`);let g={label:e,name:o,options:n,defaultValue:t,description:i,onChange:l,...d};return ce(f,{field:{...c,onChange:r(p=>{let y=(Array.isArray(d.jsonType)?d.jsonType.includes("number"):d.jsonType==="number")?Number(p):p;c.onChange(y),l?.(y)},"onChange")},fieldState:a,fieldData:g})}})}r(ue,"SelectField");import{jsx as Fe}from"react/jsx-runtime";function fe({label:e,name:o,options:n,defaultValue:t,description:i,onChange:l,$meta:s,component:d,...F}){let{control:u}=C(),{components:c}=S();return Fe(h,{defaultValue:t,control:u,name:o,render:({field:a,fieldState:f})=>{let g=d||c.countries;if(!g)throw new Error(`Country component not found for field ${o}`);let p={label:e,name:o,options:n,defaultValue:t,description:i,onChange:l,$meta:s,...F};return Fe(g,{field:{...a,onChange:r(x=>{a.onChange(x),l?.(x)},"onChange")},fieldState:f,fieldData:p})}})}r(fe,"CountryField");import{jsx as Ce}from"react/jsx-runtime";function ge({name:e,description:o,label:n,onChange:t,maxLength:i,component:l,...s}){let{components:d}=S(),{control:F}=C();return Ce(h,{control:F,name:e,render:({field:u,fieldState:c})=>{let a=l||d.textarea;if(!a)throw new Error(`Text area component not found for field ${e}`);let f={name:e,description:o,label:n,maxLength:i,...s};return Ce(a,{field:{...u,onChange:r(g=>{u.onChange(g),t?.(g)},"onChange")},fieldState:c,fieldData:f})}})}r(ge,"TextAreaField");import{jsx as he}from"react/jsx-runtime";function Se(e){let{components:o}=S(),{control:n}=C(),t=e.component||o.email;if(!t)throw new Error(`Email component not found for field ${e.name}`);return he(h,{control:n,name:e.name,render:({field:i,fieldState:l})=>he(t,{field:{...i,onChange:r(s=>{i.onChange(s),e.onChange?.(s)},"onChange")},fieldState:l,fieldData:e})})}r(Se,"EmailField");import{jsx as xe}from"react/jsx-runtime";function ye(e){let{control:o}=C();return xe(h,{control:o,name:e.name,render:({field:n})=>xe("input",{...n,type:"hidden"})})}r(ye,"HiddenField");import{useEffect as Je,useState as Ie}from"react";import{jsx as Te}from"react/jsx-runtime";function be(e){let{components:o}=S(),{setValue:n,control:t,watch:i}=C(),l=i(e.name),[s,d]=Ie(l),{workHoursSummary:F,breakSummary:u}=oe(s),c=ee(s);Je(()=>{n(e.name,s)},[s,e.name,n]);function a(p){d(p)}r(a,"onSubmit");let f=e.component||o["work-schedule"];if(!f)throw new Error(`Work schedule component not found for field ${e.name}`);let g={...e,onSubmit:a,currentSchedule:s,defaultFormattedValue:{workHoursSummary:F,breakSummary:u,totalWorkHours:c}};return Te(h,{control:t,name:e.name,render:({field:p,fieldState:x})=>Te(f,{field:{...p,onChange:r(y=>{p.onChange(y),e.onChange?.(y)},"onChange")},fieldState:x,fieldData:g})})}r(be,"WorkScheduleField");import{jsx as Pe}from"react/jsx-runtime";function $e({label:e,name:o,options:n,defaultValue:t,description:i,onChange:l,component:s,...d}){let{control:F}=C(),{components:u}=S();return Pe(h,{defaultValue:t,control:F,name:o,render:({field:c,fieldState:a})=>{let f=s||u?.["multi-select"];if(!f)throw new Error(`Multi select component not found for field ${o}`);let g={label:e,name:o,options:n,defaultValue:t,description:i,onChange:l,...d};return Pe(f,{field:{...c,onChange:r(p=>{c.onChange(p),l?.(p)},"onChange")},fieldState:a,fieldData:g})}})}r($e,"MultiSelectField");import{jsx as Le}from"react/jsx-runtime";var De=r(e=>Le(J,{maxLength:15,...e}),"MoneyField");import{useMemo as I,useCallback as Re,useState as ze,useEffect as Oe,useRef as Ge}from"react";import{jsx as O}from"react/jsx-runtime";function Ue(e){return e.replace(/\s/g,"")}r(Ue,"removeSpaces");function we(e="",o){let n=new RegExp(`^(\\+|00)(\\d{${o?.dialCode?.length??0}})(.*)$`),t=e?.match(n);if(!t)return{prefix:"",dialCode:"",phoneNumber:e};let[,i,l,s]=t;return{prefix:i,dialCode:l,phoneNumber:s}}r(we,"getStructuredNumberFromInternationalNumber");function _e({dialCodes:e,dialCodeMaxLength:o},n){let{prefix:t}=we(n);if(t)for(let i=o+t.length;i>t.length;i--){let l=n.slice(t.length,i);if(e[l])return e[l]}}r(_e,"getCountryFromPhoneNumber");function ve(e){let o={},n=0;return e.forEach(t=>{t.areaCodes?t.areaCodes.forEach(i=>{let l=t.dialCode+i;o[l]=t,l.length>n&&(n=l.length)}):(o[t.dialCode]=t,t.dialCode.length>n&&(n=t.dialCode.length))}),{dialCodes:o,dialCodeMaxLength:n}}r(ve,"getCountryDataByCountryCode");function Ze(e=""){let o=/\(([^)]+)\)/g,n=e.match(o);if(n?.length===2)return n[1].replace(/\(|\)/g,"").split("|")}r(Ze,"getAreaCodesFromPattern");function Ke(e){return e.map(o=>({name:o.label,dialCode:o.meta.countryCode,pattern:o.pattern,areaCodes:Ze(o.pattern)}))}r(Ke,"transformSchemaToCountries");function qe({field:e,fieldState:o,fieldData:n,component:t,onChangeCountryCode:i,onChangePhoneNumber:l}){let{value:s}=e,{options:d}=n,F=I(()=>Ke(d),[d]),u=I(()=>ve(F),[F]),c=Ge(!1),[a,f]=ze(()=>_e(ve(F),s||""));Oe(()=>{if((!s||s==="+")&&(c.current=!1),c.current)return;let T=_e(u,s||"");f(T)},[s,u]);let{prefix:g,phoneNumber:p}=I(()=>we(s,a),[s,a]),x=Re(T=>{if(!T)return;let M=`+${T.dialCode}${p}`;c.current=!0,f(T),e.onChange(M),i&&i(T)},[p,e,i]),y=Re(T=>{let M=Ue(T.target.value),R;if(a?R=`${g}${a.dialCode}${M}`:R=`${g}${M}`,e.onChange(R),l){let W={target:{value:R,name:e.name}};l(W)}},[a,g,e,l]),_=I(()=>({...n,onChangeCountryCode:x,onChangePhoneNumber:y,currentCountry:a,nationalPhoneNumber:p}),[n,x,y,a,p]);return O(t,{field:e,fieldState:o,fieldData:_})}r(qe,"TelFieldRenderer");function Me({name:e,description:o,label:n,onChangeCountryCode:t,onChangePhoneNumber:i,component:l,...s}){let{components:d}=S(),{control:F}=C();return O(h,{control:F,name:e,render:({field:u,fieldState:c})=>{let a=l||d.tel;if(!a)throw new Error(`Tel component not found for field ${e}`);let f={name:e,description:o,label:n,...s};return O(qe,{field:u,fieldState:c,fieldData:f,component:a,onChangeCountryCode:t,onChangePhoneNumber:i})}})}r(Me,"TelField");var G={checkbox:te,text:Y,email:Se,money:De,select:ue,"multi-select":$e,radio:pe,number:J,file:ae,date:le,textarea:ge,countries:fe,hidden:ye,tel:Me,"work-schedule":be};import{useEffect as Qe}from"react";import{jsx as U,jsxs as Xe}from"react/jsx-runtime";function Ee({name:e,value:o,description:n,statement:t,label:i,helpCenter:l}){let{setValue:s}=C(),d=t?.description||n,F=t?.title?k(t?.title):k(i),u=`forced-value-${e}-title`,c=`forced-value-${e}-description`;return Qe(()=>{s(e,o)},[]),!d&&!t?.title?null:Xe("div",{role:"group","aria-labelledby":F?u:void 0,"aria-describedby":d?c:void 0,children:[F&&U("p",{id:u,className:`text-sm RemoteFlows__ForcedValue__Title__${e}`,dangerouslySetInnerHTML:{__html:F}}),U(Q,{as:"span",id:c,className:`text-xs RemoteFlows__ForcedValue__Description__${e}`,helpCenter:U(X,{className:"RemoteFlows__ForcedValue__HelpCenterLink",helpCenter:l}),children:d})]})}r(Ee,"ForcedValueField");import{Fragment as Z,jsx as b,jsxs as w}from"react/jsx-runtime";function ke({label:e,name:o,fields:n,description:t,components:i,statement:l,isFlatFieldset:s,extra:d,variant:F="outset",features:u,meta:c}){let{helpCenter:a}=c||{},{watch:f,setValue:g,trigger:p,formState:x}=C(),{components:y}=S(),_=u?.toggle?.stateField,T=_?f(_):u?.toggle?.defaultExpanded??!0,M=n.map(({name:m})=>`${o}.${m}`),R=f(M),W=Ne(R),E=Ne(null),Ve=r(()=>{_&&g(_,!T)},"toggleExpanded");je(()=>{let m=R,v=W.current,$=x.isSubmitted||x.submitCount>0,H=!1;for(let D=0;D<m.length;D++)if(m[D]!==void 0&&v[D]!==m[D]){H=!0;break}return H&&$&&(E.current&&clearTimeout(E.current),E.current=setTimeout(()=>{p()},50)),W.current=[...m],()=>{E.current&&clearTimeout(E.current)}},[R,p,x.isSubmitted,x.submitCount]);let We=y?.fieldsetToggle||j,K=`${o}-content`,q=`${o}-header`;return w("fieldset",{className:N("border-1 border-input p-4 rounded-xl","RemoteFlows__FieldSetField",`RemoteFlows__FieldSetField__${o}`),children:[b("legend",{className:N("text-sm font-semibold px-2",F==="inset"&&"hidden"),children:e}),a?.callToAction&&a?.id&&F==="outset"&&b(z,{className:"RemoteFlows__FieldSetField__HelpCenterLink mb-3",zendeskId:a.id,children:a.callToAction}),F==="inset"&&w(Z,{children:[w("div",{className:"RemoteFlows__FieldSetField__Header",id:q,"data-state":T?"expanded":"collapsed","aria-expanded":T,children:[b("h3",{className:N("RemoteFlows__FieldSetField__Title"),children:e}),u?.toggle?.enabled&&b(We,{isExpanded:T,onToggle:Ve,"aria-expanded":T,"aria-controls":K,"aria-label":`${T?"Hide":"Show"} ${e}`,className:N("RemoteFlows__FieldSetField__Toggle",u.toggle?.className),children:T?u.toggle.labels?.collapse??"Remove":u.toggle.labels?.expand??"Define"})]}),a?.callToAction&&a?.id&&b(z,{className:"RemoteFlows__FieldSetField__HelpCenterLink mb-3",zendeskId:a.id,children:a.callToAction})]}),T&&w("div",{id:K,"aria-labelledby":q,role:"region",children:[t?b("div",{className:"mb-5 RemoteFlows__FieldSetField__Description",dangerouslySetInnerHTML:{__html:k(t)}}):null,w("div",{className:"grid gap-4",children:[n.map(m=>{if(m.calculateDynamicProperties&&(m={...m,...m.calculateDynamicProperties(R,m)||{}}),m.isVisible===!1||m.deprecated)return null;let v=m.type,$=`${s?m.name:`${o}.${m.name}`}`,H=re(m),D=r((P,A)=>m.WrapperComponent?b(m.WrapperComponent,{children:P},A):b(Ye,{children:P},A),"wrapWithCustomWrapper");if(H){let P=V(m,"WrapperComponent");return D(b(Ee,{name:$,description:P.description,value:P.const,statement:P.statement,label:P.label,helpCenter:P.meta?.helpCenter}),$)}if(v==="fieldset"){let P=V(m,"WrapperComponent");return D(b(ke,{...P,name:$,components:i}),$)}if(v==="fieldset-flat"){let P=V(m,"WrapperComponent");return D(b(ke,{...P,name:$,components:i,isFlatFieldset:!0}),$)}let L=G[v];if(m.Component){let{Component:P}=m,A=V(m,"WrapperComponent");return D(w(Z,{children:[b(P,{...A,value:f($),setValue:Ae=>{g($,Ae)}}),m.statement?b(B,{...m.statement}):null,m.extra?m.extra:null]}),$)}if(!L)return w("p",{className:"error",children:["Field type ",v," not supported"]});v==="select"&&m.multiple&&(L=G["multi-select"]);let He=V(m,"WrapperComponent");return D(w(Z,{children:[b(L,{...He,name:$,component:i?.[v]}),m.statement?b(B,{...m.statement}):null,m.extra?m.extra:null]}),$)}),d||null,l?b(B,{...l}):null]})]})]})}r(ke,"FieldSetField");export{G as a,Ee as b,ke as c};
|
|
2
|
-
//# sourceMappingURL=chunk-C2RPJGJB.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/form/fields/FieldSetField.tsx","../src/components/form/fields/DatePickerField.tsx","../src/components/form/fields/FileUploadField.tsx","../src/components/form/fields/NumberField.tsx","../src/components/form/fields/RadioGroupField.tsx","../src/components/form/fields/SelectField.tsx","../src/components/form/fields/CountryField.tsx","../src/components/form/fields/TextAreaField.tsx","../src/components/form/fields/EmailField.tsx","../src/components/form/fields/HiddenField.tsx","../src/components/form/fields/WorkScheduleField.tsx","../src/components/form/fields/MultiSelectField.tsx","../src/components/form/fields/MoneyField.tsx","../src/components/form/fields/TelField.tsx","../src/components/form/fields/baseFields.tsx","../src/components/form/fields/ForcedValueField.tsx"],"sourcesContent":["import { useFormContext } from 'react-hook-form';\nimport { Fragment, useEffect, useRef } from 'react';\nimport omit from 'lodash.omit';\nimport { baseFields } from '@/src/components/form/fields/baseFields';\nimport { cn, sanitizeHtml } from '@/src/lib/utils';\nimport { $TSFixMe, Components } from '@/src/types/remoteFlows';\nimport { Statement } from '@/src/components/form/Statement';\nimport { useFormFields } from '@/src/context';\nimport { ZendeskTriggerButton } from '@/src/components/shared/zendesk-drawer/ZendeskTriggerButton';\nimport { FieldsetToggleButtonDefault } from '@/src/components/form/fields/default/FieldsetToggleButtonDefault';\nimport { BaseTypes, SupportedTypes } from './types';\nimport { StatementComponentProps } from '@/src/types/fields';\nimport { checkFieldHasForcedValue } from '@/src/components/form/utils';\nimport { ForcedValueField } from '@/src/components/form/fields/ForcedValueField';\n\ntype FieldBase = {\n label: string;\n name: string;\n description: string;\n Component?: React.ComponentType<$TSFixMe>;\n inputType: SupportedTypes;\n multiple?: boolean;\n};\n\ntype FieldWithOptions = FieldBase & {\n type: 'select' | 'radio';\n options: Array<{ value: string; label: string }>;\n};\n\ntype FieldWithoutOptions = FieldBase & {\n type: Exclude<SupportedTypes, 'select' | 'radio'>;\n options?: never;\n};\n\ntype Field = FieldWithOptions | FieldWithoutOptions;\n\ntype FieldSetFeatures = {\n toggle?: {\n enabled: boolean;\n defaultExpanded?: boolean;\n stateField?: string;\n labels?: {\n expand: string;\n collapse: string;\n };\n className?: string;\n };\n};\n\nexport type FieldSetProps = {\n label: string;\n name: string;\n description: string;\n fields: Field[];\n features?: FieldSetFeatures;\n components: Components;\n statement?: StatementComponentProps['data'];\n isFlatFieldset: boolean;\n extra?: React.ReactNode;\n variant: 'outset' | 'inset';\n meta?: {\n helpCenter?: {\n callToAction: string;\n id: number;\n url: string;\n label: string;\n };\n } & Record<string, $TSFixMe>;\n};\n\nexport function FieldSetField({\n label,\n name,\n fields,\n description,\n components,\n statement,\n isFlatFieldset,\n extra,\n variant = 'outset',\n features,\n meta,\n}: FieldSetProps) {\n const { helpCenter } = meta || {};\n const { watch, setValue, trigger, formState } = useFormContext();\n const { components: formComponents } = useFormFields();\n\n // Get expanded state from form state if stateField is provided\n const stateField = features?.toggle?.stateField;\n const isExpanded = stateField\n ? watch(stateField)\n : (features?.toggle?.defaultExpanded ?? true);\n\n const fieldNames = fields.map(\n ({ name: fieldName }) => `${name}.${fieldName}`,\n );\n const watchedValues = watch(fieldNames);\n const prevValuesRef = useRef<string[]>(watchedValues);\n const triggerTimeoutRef = useRef<NodeJS.Timeout | null>(null);\n\n const toggleExpanded = () => {\n if (stateField) {\n setValue(stateField, !isExpanded);\n }\n };\n\n useEffect(() => {\n const currentValues = watchedValues;\n const previousValues = prevValuesRef.current;\n const hasBeenSubmitted = formState.isSubmitted || formState.submitCount > 0;\n\n // Check if any value has changed\n let hasChanged = false;\n for (let i = 0; i < currentValues.length; i++) {\n if (\n currentValues[i] !== undefined &&\n previousValues[i] !== currentValues[i]\n ) {\n hasChanged = true;\n // This is to prevent the form from triggering validation too many times\n break;\n }\n }\n // If changes detected and we haven't triggered yet, run trigger\n if (hasChanged && hasBeenSubmitted) {\n // We need to debounce the validation trigger so that tests don't freeze\n if (triggerTimeoutRef.current) {\n clearTimeout(triggerTimeoutRef.current);\n }\n triggerTimeoutRef.current = setTimeout(() => {\n trigger();\n }, 50);\n }\n\n prevValuesRef.current = [...currentValues];\n\n return () => {\n if (triggerTimeoutRef.current) {\n clearTimeout(triggerTimeoutRef.current);\n }\n };\n }, [watchedValues, trigger, formState.isSubmitted, formState.submitCount]);\n\n const ToggleComponent =\n formComponents?.fieldsetToggle || FieldsetToggleButtonDefault;\n const contentId = `${name}-content`;\n const headerId = `${name}-header`;\n\n return (\n <fieldset\n className={cn(\n 'border-1 border-input p-4 rounded-xl',\n `RemoteFlows__FieldSetField`,\n `RemoteFlows__FieldSetField__${name}`,\n )}\n >\n <legend\n className={cn(\n 'text-sm font-semibold px-2',\n variant === 'inset' && 'hidden',\n )}\n >\n {label}\n </legend>\n {helpCenter?.callToAction && helpCenter?.id && variant === 'outset' && (\n <ZendeskTriggerButton\n className='RemoteFlows__FieldSetField__HelpCenterLink mb-3'\n zendeskId={helpCenter.id}\n >\n {helpCenter.callToAction}\n </ZendeskTriggerButton>\n )}\n {variant === 'inset' && (\n <>\n <div\n className='RemoteFlows__FieldSetField__Header'\n id={headerId}\n data-state={isExpanded ? 'expanded' : 'collapsed'}\n aria-expanded={isExpanded}\n >\n <h3 className={cn('RemoteFlows__FieldSetField__Title')}>{label}</h3>\n {features?.toggle?.enabled && (\n <ToggleComponent\n isExpanded={isExpanded}\n onToggle={toggleExpanded}\n aria-expanded={isExpanded}\n aria-controls={contentId}\n aria-label={`${isExpanded ? 'Hide' : 'Show'} ${label}`}\n className={cn(\n 'RemoteFlows__FieldSetField__Toggle',\n features.toggle?.className,\n )}\n >\n {isExpanded\n ? (features.toggle.labels?.collapse ?? 'Remove')\n : (features.toggle.labels?.expand ?? 'Define')}\n </ToggleComponent>\n )}\n </div>\n {helpCenter?.callToAction && helpCenter?.id && (\n <ZendeskTriggerButton\n className='RemoteFlows__FieldSetField__HelpCenterLink mb-3'\n zendeskId={helpCenter.id}\n >\n {helpCenter.callToAction}\n </ZendeskTriggerButton>\n )}\n </>\n )}\n {isExpanded && (\n <div id={contentId} aria-labelledby={headerId} role='region'>\n {description ? (\n <div\n className='mb-5 RemoteFlows__FieldSetField__Description'\n dangerouslySetInnerHTML={{ __html: sanitizeHtml(description) }}\n />\n ) : null}\n <div className='grid gap-4'>\n {fields.map((field: $TSFixMe) => {\n if (field.calculateDynamicProperties) {\n field = {\n ...field,\n ...(field.calculateDynamicProperties(watchedValues, field) ||\n {}),\n };\n }\n\n if (field.isVisible === false || field.deprecated) {\n return null; // Skip hidden or deprecated fields\n }\n\n const fieldType = field.type;\n const fieldKey = `${isFlatFieldset ? field.name : `${name}.${field.name}`}`;\n\n const isForcedValue = checkFieldHasForcedValue(field);\n\n // Helper function to wrap content with WrapperComponent if present\n const wrapWithCustomWrapper = (\n content: React.ReactNode,\n key: string,\n ) => {\n if (field.WrapperComponent) {\n return (\n <field.WrapperComponent key={key}>\n {content}\n </field.WrapperComponent>\n );\n }\n return <Fragment key={key}>{content}</Fragment>;\n };\n\n if (isForcedValue) {\n const fieldProps = omit(field, 'WrapperComponent');\n return wrapWithCustomWrapper(\n <ForcedValueField\n name={fieldKey}\n description={fieldProps.description}\n value={fieldProps.const}\n statement={fieldProps.statement}\n label={fieldProps.label}\n helpCenter={fieldProps.meta?.helpCenter}\n />,\n fieldKey,\n );\n }\n\n // Handle nested fieldsets\n if (fieldType === 'fieldset') {\n const fieldProps = omit(field, 'WrapperComponent');\n return wrapWithCustomWrapper(\n <FieldSetField\n {...(fieldProps as $TSFixMe)}\n name={fieldKey}\n components={components}\n />,\n fieldKey,\n );\n }\n\n if (fieldType === 'fieldset-flat') {\n const fieldProps = omit(field, 'WrapperComponent');\n return wrapWithCustomWrapper(\n <FieldSetField\n {...(fieldProps as $TSFixMe)}\n name={fieldKey}\n components={components}\n isFlatFieldset\n />,\n fieldKey,\n );\n }\n // We need to do the check after checking (field.type || field.inputType) === 'fieldset' or (field.type || field.inputType) === 'fieldset-flat'\n // circular dependency most likely\n let FieldComponent = baseFields[fieldType as BaseTypes];\n\n if (field.Component) {\n const { Component } = field as {\n Component: React.ComponentType<$TSFixMe>;\n };\n const fieldProps = omit(field, 'WrapperComponent');\n return wrapWithCustomWrapper(\n <>\n <Component\n {...fieldProps}\n value={watch(fieldKey) as string}\n setValue={(value: unknown) => {\n setValue(fieldKey, value);\n }}\n />\n {field.statement ? (\n <Statement\n {...(field.statement as StatementComponentProps['data'])}\n />\n ) : null}\n {field.extra ? field.extra : null}\n </>,\n fieldKey,\n );\n }\n\n if (!FieldComponent) {\n return (\n <p className='error'>Field type {fieldType} not supported</p>\n );\n }\n\n if (fieldType === 'select' && field.multiple) {\n FieldComponent = baseFields['multi-select'];\n }\n\n const fieldProps = omit(field, 'WrapperComponent');\n return wrapWithCustomWrapper(\n <>\n <FieldComponent\n {...fieldProps}\n name={fieldKey}\n component={components?.[fieldType as keyof Components]}\n />\n {field.statement ? (\n <Statement\n {...(field.statement as StatementComponentProps['data'])}\n />\n ) : null}\n {field.extra ? field.extra : null}\n </>,\n fieldKey,\n );\n })}\n {extra ? extra : null}\n {statement ? <Statement {...statement} /> : null}\n </div>\n </div>\n )}\n </fieldset>\n );\n}\n","import { useFormContext } from 'react-hook-form';\nimport { FormField } from '@/src/components/ui/form';\n\nimport { useFormFields } from '@/src/context';\nimport { Components, JSFField, $TSFixMe } from '@/src/types/remoteFlows';\nimport { getMinStartDate } from '@/src/components/form/utils';\n\nexport type DatePickerFieldProps = JSFField & {\n onChange?: (value: $TSFixMe) => void;\n component?: Components['date'];\n};\n\nexport function DatePickerField({\n description,\n label,\n name,\n minDate,\n maxDate,\n onChange,\n component,\n ...rest\n}: DatePickerFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n\n let minDateValue: Date;\n if (rest.meta?.mot && typeof rest.meta.mot === 'number') {\n minDateValue = getMinStartDate(rest.meta.mot);\n } else if (typeof minDate === 'string') {\n minDateValue = new Date(`${minDate}T00:00:00`);\n }\n\n let maxDateValue: Date | undefined;\n if (maxDate) {\n maxDateValue = new Date(`${maxDate}T23:59:59`);\n }\n\n return (\n <FormField\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components?.date;\n\n if (!Component) {\n throw new Error(`Date picker component not found for field ${name}`);\n }\n\n const customDatePickerFieldProps = {\n description,\n label,\n name,\n onChange,\n ...(minDateValue && { minDate: minDateValue.toISOString() }),\n ...(maxDateValue && { maxDate: maxDateValue.toISOString() }),\n ...rest,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (value: $TSFixMe) => {\n field.onChange(value);\n onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={customDatePickerFieldProps}\n />\n );\n }}\n />\n );\n}\n","import { useFormFields } from '@/src/context';\nimport { Components, JSFField } from '@/src/types/remoteFlows';\nimport {\n ControllerRenderProps,\n FieldValues,\n useFormContext,\n} from 'react-hook-form';\nimport { FormField } from '../../ui/form';\nimport { FieldDataProps } from '@/src/types/fields';\n\nconst validateFileSize = (files: File[], maxSize?: number): string | null => {\n if (!maxSize) return null;\n\n for (const file of files) {\n if (file.size > maxSize) {\n const maxSizeMB = Math.round(maxSize / (1024 * 1024));\n const fileSizeMB = Math.round(file.size / (1024 * 1024));\n return `File \"${file.name}\" exceeds maximum size of ${maxSizeMB}MB (file is ${fileSizeMB}MB)`;\n }\n }\n return null;\n};\n\nexport type FieldFileDataProps = FieldDataProps & {\n accept?: string;\n multiple?: boolean;\n maxFileSize?: number;\n};\n\nexport type FileUploadFieldProps = JSFField & {\n onChange?: (value: File[]) => void;\n multiple?: boolean;\n component?: Components['file'];\n maxSize?: number;\n accept?: string;\n};\n\nexport function FileUploadField({\n name,\n description,\n label,\n multiple,\n onChange,\n component,\n accept,\n maxSize,\n ...rest\n}: FileUploadFieldProps) {\n const { components } = useFormFields();\n const { control, setError, clearErrors } = useFormContext();\n\n const handleOnChange = async (\n files: File[],\n field: ControllerRenderProps<FieldValues, string>,\n ) => {\n const sizeError = validateFileSize(files, maxSize);\n if (sizeError) {\n setError(name, { message: sizeError });\n return;\n }\n\n clearErrors(name);\n field.onChange(files);\n onChange?.(files);\n };\n\n return (\n <FormField\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components.file;\n if (!Component) {\n throw new Error(`File upload component not found for field ${name}`);\n }\n\n const fieldData: FieldFileDataProps = {\n name,\n description,\n label,\n multiple,\n accept,\n maxFileSize: maxSize,\n ...rest,\n };\n\n return (\n <Component\n field={{\n ...field,\n value: field.value,\n onChange: async (value: File[]) => handleOnChange(value, field),\n }}\n fieldState={fieldState}\n fieldData={fieldData}\n />\n );\n }}\n />\n );\n}\n","import { useFormContext } from 'react-hook-form';\nimport { useFormFields } from '@/src/context';\nimport { FormField } from '@/src/components/ui/form';\nimport { Components } from '@/src/types/remoteFlows';\nimport { TextFieldProps } from './TextField';\n\nexport type NumberFieldProps = TextFieldProps & {\n component?: Components['number'];\n onChange?: (value: number) => void;\n};\n\nexport function NumberField(props: NumberFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n\n const Component = props.component || components.number;\n if (!Component) {\n throw new Error(`Number component not found for field ${props.name}`);\n }\n return (\n <FormField\n control={control}\n name={props.name}\n render={({ field, fieldState }) => {\n return (\n <Component\n field={{\n ...field,\n onChange: (value: number) => {\n field.onChange(value);\n props.onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={props}\n />\n );\n }}\n />\n );\n}\n","import { FormField } from '@/src/components/ui/form';\nimport { useFormFields } from '@/src/context';\nimport { Components, JSFField } from '@/src/types/remoteFlows';\nimport { useFormContext } from 'react-hook-form';\n\ntype RadioGroupFieldProps = JSFField & {\n onChange?: (value: string) => void;\n component?: Components['radio'];\n};\n\nexport function RadioGroupField({\n name,\n defaultValue,\n description,\n label,\n options,\n onChange,\n component,\n ...rest\n}: RadioGroupFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n return (\n <FormField\n control={control}\n name={name}\n defaultValue={defaultValue}\n render={({ field, fieldState }) => {\n const Component = component || components?.radio;\n if (!Component) {\n throw new Error(`Radio group component not found for field ${name}`);\n }\n const customRadioGroupFieldProps = {\n name,\n defaultValue,\n description,\n label,\n options,\n ...rest,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (value: string) => {\n field.onChange(value);\n onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={customRadioGroupFieldProps}\n />\n );\n }}\n />\n );\n}\n","import { useFormFields } from '@/src/context';\nimport { Components, JSFField } from '@/src/types/remoteFlows';\nimport { useFormContext } from 'react-hook-form';\nimport { FormField } from '@/src/components/ui/form';\n\ntype SelectFieldProps = JSFField & {\n placeholder?: string;\n options: Array<{ value: string | number; label: string }>;\n className?: string;\n onChange?: (value: string | number) => void;\n component?: Components['select'];\n};\n\nexport function SelectField({\n label,\n name,\n options,\n defaultValue,\n description,\n onChange,\n component,\n ...rest\n}: SelectFieldProps) {\n const { control } = useFormContext();\n const { components } = useFormFields();\n\n return (\n <FormField\n defaultValue={defaultValue}\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components?.select;\n\n if (!Component) {\n throw new Error(`Select component not found for field ${name}`);\n }\n\n const customSelectFieldProps = {\n label,\n name,\n options,\n defaultValue,\n description,\n onChange,\n ...rest,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (value: string | number) => {\n const isNumberType = Array.isArray(rest.jsonType)\n ? rest.jsonType.includes('number')\n : rest.jsonType === 'number';\n const maybeCastValue = isNumberType ? Number(value) : value;\n field.onChange(maybeCastValue);\n onChange?.(maybeCastValue);\n },\n }}\n fieldState={fieldState}\n fieldData={customSelectFieldProps}\n />\n );\n }}\n />\n );\n}\n","import { useFormFields } from '@/src/context';\nimport { Components, JSFField, $TSFixMe } from '@/src/types/remoteFlows';\nimport { useFormContext } from 'react-hook-form';\nimport { FormField } from '../../ui/form';\n\ntype CountryFieldProps = JSFField & {\n options: Array<{ value: string; label: string }>;\n onChange?: (value: $TSFixMe) => void;\n $meta: {\n regions: Record<string, string[]>;\n subregions: Record<string, string[]>;\n };\n component?: Components['countries'];\n};\n\nexport function CountryField({\n label,\n name,\n options,\n defaultValue,\n description,\n onChange,\n $meta,\n component,\n ...rest\n}: CountryFieldProps) {\n const { control } = useFormContext();\n const { components } = useFormFields();\n\n return (\n <FormField\n defaultValue={defaultValue}\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components.countries;\n if (!Component) {\n throw new Error(`Country component not found for field ${name}`);\n }\n\n const customSelectFieldProps = {\n label,\n name,\n options,\n defaultValue,\n description,\n onChange,\n $meta,\n ...rest,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (value: $TSFixMe) => {\n field.onChange(value);\n onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={customSelectFieldProps}\n />\n );\n }}\n />\n );\n}\n","import * as React from 'react';\nimport { useFormFields } from '@/src/context';\nimport { Components, JSFField } from '@/src/types/remoteFlows';\nimport { useFormContext } from 'react-hook-form';\nimport { FormField } from '@/src/components/ui/form';\n\nexport type TextAreaFieldProps = JSFField & {\n onChange?: (event: React.ChangeEvent<HTMLTextAreaElement>) => void;\n maxLength?: number;\n component?: Components['textarea'];\n};\n\nexport function TextAreaField({\n name,\n description,\n label,\n onChange,\n maxLength,\n component,\n ...rest\n}: TextAreaFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n return (\n <FormField\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components.textarea;\n if (!Component) {\n throw new Error(`Text area component not found for field ${name}`);\n }\n const customTextAreaFieldProps = {\n name,\n description,\n label,\n maxLength,\n ...rest,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (evt: React.ChangeEvent<HTMLTextAreaElement>) => {\n field.onChange(evt);\n onChange?.(evt);\n },\n }}\n fieldState={fieldState}\n fieldData={customTextAreaFieldProps}\n />\n );\n }}\n />\n );\n}\n","import { useFormFields } from '@/src/context';\nimport { useFormContext } from 'react-hook-form';\nimport { FormField } from '../../ui/form';\nimport { TextFieldProps } from './TextField';\nimport { Components } from '@/src/types/remoteFlows';\n\ntype EmailFieldProps = TextFieldProps & {\n component?: Components['email'];\n};\n\nexport function EmailField(props: EmailFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n\n const Component = props.component || components.email;\n\n if (!Component) {\n throw new Error(`Email component not found for field ${props.name}`);\n }\n\n return (\n <FormField\n control={control}\n name={props.name}\n render={({ field, fieldState }) => {\n return (\n <Component\n field={{\n ...field,\n onChange: (value: string) => {\n field.onChange(value);\n props.onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={props}\n />\n );\n }}\n />\n );\n}\n","import { useFormContext } from 'react-hook-form';\nimport { FormField } from '../../ui/form';\nimport { Field } from '@/src/flows/types';\n\nexport function HiddenField(props: Field) {\n const { control } = useFormContext();\n\n return (\n <FormField\n control={control}\n name={props.name}\n render={({ field }) => {\n return <input {...field} type='hidden' />;\n }}\n />\n );\n}\n","import { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\n\nimport { JSFField, $TSFixMe } from '@/src/types/remoteFlows';\nimport { useFormFields } from '@/src/context';\nimport { FormField } from '@/src/components/ui/form';\nimport { Components } from '@/src/types/remoteFlows';\n\nimport {\n buildWorkScheduleSummary,\n calculateTotalWorkHours,\n DailySchedule,\n} from './workScheduleUtils';\n\ntype WorkScheduleFieldProps = JSFField & {\n name: string;\n default: DailySchedule[];\n onChange?: (value: $TSFixMe) => void;\n component?: Components['work-schedule'];\n};\n\ntype WorkScheduleFormData = {\n schedule: DailySchedule[];\n};\n\nexport function WorkScheduleField(props: WorkScheduleFieldProps) {\n const { components } = useFormFields();\n const { setValue, control, watch } = useFormContext();\n const watchedSchedule = watch(props.name);\n const [currentSchedule, setCurrentSchedule] =\n useState<DailySchedule[]>(watchedSchedule);\n\n const { workHoursSummary, breakSummary } =\n buildWorkScheduleSummary(currentSchedule);\n const totalWorkHours = calculateTotalWorkHours(currentSchedule);\n\n useEffect(() => {\n setValue(props.name, currentSchedule);\n }, [currentSchedule, props.name, setValue]);\n\n function onSubmit(data: WorkScheduleFormData['schedule']) {\n setCurrentSchedule(data);\n }\n\n const Component = props.component || components['work-schedule'];\n if (!Component) {\n throw new Error(\n `Work schedule component not found for field ${props.name}`,\n );\n }\n\n const fieldData = {\n ...props,\n onSubmit,\n currentSchedule,\n defaultFormattedValue: {\n workHoursSummary,\n breakSummary,\n totalWorkHours,\n },\n };\n\n return (\n <FormField\n control={control}\n name={props.name}\n render={({ field, fieldState }) => {\n return (\n <Component\n field={{\n ...field,\n onChange: (value: $TSFixMe) => {\n field.onChange(value);\n props.onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={fieldData}\n />\n );\n }}\n />\n );\n}\n","import { useFormFields } from '@/src/context';\nimport { Components, JSFField, $TSFixMe } from '@/src/types/remoteFlows';\nimport { useFormContext } from 'react-hook-form';\nimport { FormField } from '../../ui/form';\n\ntype MultiSelectFieldProps = JSFField & {\n placeholder?: string;\n options: Array<{ value: string; label: string }>;\n className?: string;\n onChange?: (value: $TSFixMe) => void;\n component?: Components['select'];\n};\n\nexport function MultiSelectField({\n label,\n name,\n options,\n defaultValue,\n description,\n onChange,\n component,\n ...rest\n}: MultiSelectFieldProps) {\n const { control } = useFormContext();\n const { components } = useFormFields();\n\n return (\n <FormField\n defaultValue={defaultValue}\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components?.['multi-select'];\n if (!Component) {\n throw new Error(`Multi select component not found for field ${name}`);\n }\n\n const customSelectFieldProps = {\n label,\n name,\n options,\n defaultValue,\n description,\n onChange,\n ...rest,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (value: $TSFixMe) => {\n field.onChange(value);\n onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={customSelectFieldProps}\n />\n );\n }}\n />\n );\n}\n","import {\n NumberField,\n NumberFieldProps,\n} from '@/src/components/form/fields/NumberField';\n\n// TODO: We use the number field and the the number type is what the partner overrides\n// TODO: this needs to be changed in the future with the changes from https://github.com/remoteoss/remote-flows/pull/128\nexport const MoneyField = (props: NumberFieldProps) => {\n return <NumberField maxLength={15} {...props} />;\n};\n","import { FormField } from '@/src/components/ui/form';\nimport { useFormFields } from '@/src/context';\nimport { Components } from '@/src/types/remoteFlows';\nimport {\n useFormContext,\n ControllerFieldState,\n ControllerRenderProps,\n FieldValues,\n} from 'react-hook-form';\nimport { TelFieldComponentProps, TelFieldDataProps } from '@/src/types/fields';\nimport { useMemo, useCallback, useState, useEffect, useRef } from 'react';\n\nexport type Country = {\n name: string;\n dialCode: string;\n pattern: string;\n areaCodes?: string[];\n};\n\n/**\n * Removes all spaces from input.\n */\nfunction removeSpaces(value: string) {\n return value.replace(/\\s/g, '');\n}\n\nfunction getStructuredNumberFromInternationalNumber(\n internationalPhoneNumber: string = '',\n country?: Country,\n) {\n const baseRegex = new RegExp(\n `^(\\\\+|00)(\\\\d{${country?.dialCode?.length ?? 0}})(.*)$`,\n );\n const baseMatch = internationalPhoneNumber?.match(baseRegex);\n\n if (!baseMatch) {\n return {\n prefix: '',\n dialCode: '',\n phoneNumber: internationalPhoneNumber,\n };\n }\n\n const [, plusOrCallPrefix, dialCode, phoneNumber] = baseMatch;\n\n return {\n prefix: plusOrCallPrefix,\n dialCode,\n phoneNumber,\n };\n}\n\nfunction getCountryFromPhoneNumber(\n {\n dialCodes,\n dialCodeMaxLength,\n }: ReturnType<typeof getCountryDataByCountryCode>,\n internationalPhoneNumber: string,\n) {\n const { prefix } = getStructuredNumberFromInternationalNumber(\n internationalPhoneNumber,\n );\n\n if (!prefix) {\n return undefined;\n }\n\n // Try longest dial codes first - critical for US/Canada\n for (let i = dialCodeMaxLength + prefix.length; i > prefix.length; i--) {\n const dialCode = internationalPhoneNumber.slice(prefix.length, i);\n\n if (dialCodes[dialCode]) {\n return dialCodes[dialCode];\n }\n }\n\n return undefined;\n}\n\n/**\n * Creates a map of dial codes (including area codes) to country objects.\n * Handles countries like US/Canada that share +1 with different area codes.\n */\nexport function getCountryDataByCountryCode(countries: Country[]) {\n const dialCodes: Record<string, Country> = {};\n let dialCodeMaxLength = 0;\n\n countries.forEach((country) => {\n if (country.areaCodes) {\n // For countries with area codes (e.g., +1204, +1226)\n country.areaCodes.forEach((areaCode) => {\n const code = country.dialCode + areaCode;\n dialCodes[code] = country;\n if (code.length > dialCodeMaxLength) {\n dialCodeMaxLength = code.length;\n }\n });\n } else {\n // For countries with simple dial codes (e.g., +44, +351)\n dialCodes[country.dialCode] = country;\n if (country.dialCode.length > dialCodeMaxLength) {\n dialCodeMaxLength = country.dialCode.length;\n }\n }\n });\n\n return { dialCodes, dialCodeMaxLength };\n}\n\nfunction getAreaCodesFromPattern(pattern: string = '') {\n const codeGroupPattern = /\\(([^)]+)\\)/g;\n const groups = pattern.match(codeGroupPattern);\n\n if (groups?.length === 2) {\n return groups[1].replace(/\\(|\\)/g, '').split('|');\n }\n\n return undefined;\n}\n\nfunction transformSchemaToCountries(\n options: Array<{\n value: string;\n label: string;\n meta: { countryCode: string };\n pattern: string;\n }>,\n): Country[] {\n return options.map((option) => ({\n name: option.label,\n dialCode: option.meta.countryCode,\n pattern: option.pattern,\n areaCodes: getAreaCodesFromPattern(option.pattern),\n }));\n}\n\nexport function TelFieldRenderer({\n field,\n fieldState,\n fieldData,\n component: Component,\n onChangeCountryCode,\n onChangePhoneNumber,\n}: {\n field: ControllerRenderProps<FieldValues, string>;\n fieldState: ControllerFieldState;\n fieldData: TelFieldDataProps;\n component: React.ComponentType<TelFieldComponentProps>;\n onChangeCountryCode?: (newCountry: Country) => void;\n onChangePhoneNumber?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n}) {\n const { value: internationalPhoneNumber } = field;\n const { options } = fieldData;\n\n const countries = useMemo(\n () => transformSchemaToCountries(options),\n [options],\n );\n\n const countriesByCountryCode = useMemo(\n () => getCountryDataByCountryCode(countries),\n [countries],\n );\n\n // Track if the country change was due to manual selection\n const isManualSelectionRef = useRef(false);\n\n // Use state to track country, so manual selection is preserved\n const [country, setCountry] = useState<Country | undefined>(() =>\n getCountryFromPhoneNumber(\n getCountryDataByCountryCode(countries),\n internationalPhoneNumber || '',\n ),\n );\n\n // Re-detect country when phone number changes externally (e.g., form reset or area code typed)\n useEffect(() => {\n // Reset manual selection flag if field is cleared\n if (!internationalPhoneNumber || internationalPhoneNumber === '+') {\n isManualSelectionRef.current = false;\n }\n\n if (isManualSelectionRef.current) {\n return;\n }\n\n const detected = getCountryFromPhoneNumber(\n countriesByCountryCode,\n internationalPhoneNumber || '',\n );\n setCountry(detected);\n }, [internationalPhoneNumber, countriesByCountryCode]);\n\n const { prefix, phoneNumber: nationalPhoneNumber } = useMemo(\n () =>\n getStructuredNumberFromInternationalNumber(\n internationalPhoneNumber,\n country,\n ),\n [internationalPhoneNumber, country],\n );\n\n const handleCountryCodeChange = useCallback(\n (newCountry: Country) => {\n if (!newCountry) return;\n const newValue = `+${newCountry.dialCode}${nationalPhoneNumber}`;\n\n // Mark as manual selection to prevent useEffect from overriding\n isManualSelectionRef.current = true;\n\n // Update country state to preserve manual selection\n setCountry(newCountry);\n\n // Update React Hook Form state\n field.onChange(newValue);\n\n // Call optional external onChange\n if (onChangeCountryCode) {\n onChangeCountryCode(newCountry);\n }\n },\n [nationalPhoneNumber, field, onChangeCountryCode],\n );\n\n const handlePhoneNumberChange = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n const valueWithoutSpaces = removeSpaces(event.target.value);\n let newValue: string;\n if (country) {\n newValue = `${prefix}${country.dialCode}${valueWithoutSpaces}`;\n } else {\n newValue = `${prefix}${valueWithoutSpaces}`;\n }\n // Update React Hook Form state\n field.onChange(newValue);\n\n // Call optional external onChange\n if (onChangePhoneNumber) {\n const syntheticEvent = {\n target: { value: newValue, name: field.name },\n } as React.ChangeEvent<HTMLInputElement>;\n onChangePhoneNumber(syntheticEvent);\n }\n },\n [country, prefix, field, onChangePhoneNumber],\n );\n\n const fieldDataWithComputedValues = useMemo(\n () => ({\n ...fieldData,\n onChangeCountryCode: handleCountryCodeChange,\n onChangePhoneNumber: handlePhoneNumberChange,\n currentCountry: country,\n nationalPhoneNumber,\n }),\n [\n fieldData,\n handleCountryCodeChange,\n handlePhoneNumberChange,\n country,\n nationalPhoneNumber,\n ],\n );\n\n return (\n <Component\n field={field}\n fieldState={fieldState}\n fieldData={fieldDataWithComputedValues}\n />\n );\n}\n\nexport type TelFieldProps = TelFieldDataProps & {\n name: string;\n component?: Components['tel'];\n};\n\nexport function TelField({\n name,\n description,\n label,\n onChangeCountryCode,\n onChangePhoneNumber,\n component,\n ...rest\n}: TelFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n\n return (\n <FormField\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components.tel;\n if (!Component) {\n throw new Error(`Tel component not found for field ${name}`);\n }\n\n const customTelFieldProps: TelFieldDataProps = {\n name,\n description,\n label,\n ...rest,\n };\n\n return (\n <TelFieldRenderer\n field={field}\n fieldState={fieldState}\n fieldData={customTelFieldProps}\n component={Component}\n onChangeCountryCode={onChangeCountryCode}\n onChangePhoneNumber={onChangePhoneNumber}\n />\n );\n }}\n />\n );\n}\n","import { CheckBoxField } from './CheckBoxField';\nimport { DatePickerField } from './DatePickerField';\nimport { FileUploadField } from './FileUploadField';\nimport { NumberField } from './NumberField';\nimport { RadioGroupField } from './RadioGroupField';\nimport { SelectField } from './SelectField';\nimport { CountryField } from './CountryField';\nimport { TextAreaField } from './TextAreaField';\nimport { TextField } from './TextField';\nimport { EmailField } from './EmailField';\nimport { HiddenField } from './HiddenField';\nimport { WorkScheduleField } from './WorkScheduleField';\nimport { MultiSelectField } from './MultiSelectField';\nimport { MoneyField } from './MoneyField';\nimport { TelField } from './TelField';\nimport { SupportedTypes } from './types';\nimport { $TSFixMe } from '@/src/types/remoteFlows';\n\nexport const baseFields: Record<\n Exclude<SupportedTypes, 'fieldset' | 'fieldset-flat'>,\n React.ComponentType<$TSFixMe>\n> = {\n checkbox: CheckBoxField,\n text: TextField,\n email: EmailField,\n money: MoneyField,\n select: SelectField,\n 'multi-select': MultiSelectField,\n radio: RadioGroupField,\n number: NumberField,\n file: FileUploadField,\n date: DatePickerField,\n textarea: TextAreaField,\n countries: CountryField,\n hidden: HiddenField,\n tel: TelField,\n 'work-schedule': WorkScheduleField,\n};\n","import { useFormContext } from 'react-hook-form';\nimport { sanitizeHtml } from '@/src/lib/utils';\nimport { useEffect } from 'react';\nimport { HelpCenterDataProps } from '@/src/types/fields';\nimport { BaseFormDescription as Description } from '@/src/components/ui/form';\nimport { HelpCenter } from '@/src/components/shared/zendesk-drawer/HelpCenter';\n\nexport type ForcedValueFieldProps = {\n name: string;\n value: string;\n description: string;\n statement?: {\n title?: string;\n description?: string;\n };\n label: string;\n helpCenter?: HelpCenterDataProps;\n};\n\nexport function ForcedValueField({\n name,\n value,\n description,\n statement,\n label,\n helpCenter,\n}: ForcedValueFieldProps) {\n const { setValue } = useFormContext();\n const forcedValueDescription = statement?.description || description;\n\n const forcedValueTitle = statement?.title\n ? sanitizeHtml(statement?.title)\n : sanitizeHtml(label);\n\n const titleId = `forced-value-${name}-title`;\n const descriptionId = `forced-value-${name}-description`;\n\n useEffect(() => {\n setValue(name, value);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const isHiddenValue = !forcedValueDescription && !statement?.title;\n\n if (isHiddenValue) {\n return null;\n }\n\n return (\n <div\n role='group'\n aria-labelledby={forcedValueTitle ? titleId : undefined}\n aria-describedby={forcedValueDescription ? descriptionId : undefined}\n >\n {forcedValueTitle && (\n <p\n id={titleId}\n className={`text-sm RemoteFlows__ForcedValue__Title__${name}`}\n dangerouslySetInnerHTML={{\n __html: forcedValueTitle,\n }}\n />\n )}\n <Description\n as='span'\n id={descriptionId}\n className={`text-xs RemoteFlows__ForcedValue__Description__${name}`}\n helpCenter={\n <HelpCenter\n className='RemoteFlows__ForcedValue__HelpCenterLink'\n helpCenter={helpCenter}\n />\n }\n >\n {forcedValueDescription}\n </Description>\n </div>\n );\n}\n"],"mappings":"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","names":["Fragment","useEffect","useRef","omit","jsx","DatePickerField","description","label","name","minDate","maxDate","onChange","component","rest","components","useFormFields","control","useFormContext","minDateValue","getMinStartDate","maxDateValue","FormField","field","fieldState","Component","customDatePickerFieldProps","__name","value","jsx","validateFileSize","__name","files","maxSize","file","maxSizeMB","fileSizeMB","FileUploadField","name","description","label","multiple","onChange","component","accept","rest","components","useFormFields","control","setError","clearErrors","useFormContext","handleOnChange","field","sizeError","FormField","fieldState","Component","fieldData","value","jsx","NumberField","props","components","useFormFields","control","useFormContext","Component","FormField","field","fieldState","__name","value","jsx","RadioGroupField","name","defaultValue","description","label","options","onChange","component","rest","components","useFormFields","control","useFormContext","FormField","field","fieldState","Component","customRadioGroupFieldProps","__name","value","jsx","SelectField","label","name","options","defaultValue","description","onChange","component","rest","control","useFormContext","components","useFormFields","FormField","field","fieldState","Component","customSelectFieldProps","__name","value","maybeCastValue","jsx","CountryField","label","name","options","defaultValue","description","onChange","$meta","component","rest","control","useFormContext","components","useFormFields","FormField","field","fieldState","Component","customSelectFieldProps","__name","value","jsx","TextAreaField","name","description","label","onChange","maxLength","component","rest","components","useFormFields","control","useFormContext","FormField","field","fieldState","Component","customTextAreaFieldProps","__name","evt","jsx","EmailField","props","components","useFormFields","control","useFormContext","Component","FormField","field","fieldState","__name","value","jsx","HiddenField","props","control","useFormContext","FormField","field","__name","useEffect","useState","jsx","WorkScheduleField","props","components","useFormFields","setValue","control","watch","useFormContext","watchedSchedule","currentSchedule","setCurrentSchedule","useState","workHoursSummary","breakSummary","buildWorkScheduleSummary","totalWorkHours","calculateTotalWorkHours","useEffect","onSubmit","data","__name","Component","fieldData","FormField","field","fieldState","value","jsx","MultiSelectField","label","name","options","defaultValue","description","onChange","component","rest","control","useFormContext","components","useFormFields","FormField","field","fieldState","Component","customSelectFieldProps","__name","value","jsx","MoneyField","__name","props","NumberField","useMemo","useCallback","useState","useEffect","useRef","jsx","removeSpaces","value","__name","getStructuredNumberFromInternationalNumber","internationalPhoneNumber","country","baseRegex","baseMatch","plusOrCallPrefix","dialCode","phoneNumber","getCountryFromPhoneNumber","dialCodes","dialCodeMaxLength","prefix","getCountryDataByCountryCode","countries","areaCode","code","getAreaCodesFromPattern","pattern","codeGroupPattern","groups","transformSchemaToCountries","options","option","TelFieldRenderer","field","fieldState","fieldData","Component","onChangeCountryCode","onChangePhoneNumber","useMemo","countriesByCountryCode","isManualSelectionRef","useRef","setCountry","useState","useEffect","detected","nationalPhoneNumber","handleCountryCodeChange","useCallback","newCountry","newValue","handlePhoneNumberChange","event","valueWithoutSpaces","syntheticEvent","fieldDataWithComputedValues","TelField","name","description","label","component","rest","components","useFormFields","control","useFormContext","FormField","customTelFieldProps","baseFields","CheckBoxField","TextField","EmailField","MoneyField","SelectField","MultiSelectField","RadioGroupField","NumberField","FileUploadField","DatePickerField","TextAreaField","CountryField","HiddenField","TelField","WorkScheduleField","useEffect","jsx","jsxs","ForcedValueField","name","value","description","statement","label","helpCenter","setValue","useFormContext","forcedValueDescription","forcedValueTitle","sanitizeHtml","titleId","descriptionId","useEffect","BaseFormDescription","HelpCenter","__name","Fragment","jsx","jsxs","FieldSetField","label","name","fields","description","components","statement","isFlatFieldset","extra","variant","features","meta","helpCenter","watch","setValue","trigger","formState","useFormContext","formComponents","useFormFields","stateField","isExpanded","fieldNames","fieldName","watchedValues","prevValuesRef","useRef","triggerTimeoutRef","toggleExpanded","__name","useEffect","currentValues","previousValues","hasBeenSubmitted","hasChanged","i","ToggleComponent","FieldsetToggleButtonDefault","contentId","headerId","cn","ZendeskTriggerButton","sanitizeHtml","field","fieldType","fieldKey","isForcedValue","checkFieldHasForcedValue","wrapWithCustomWrapper","content","key","fieldProps","omit","ForcedValueField","FieldComponent","baseFields","Component","value","Statement"]}
|
package/dist/chunk-CRMSCL22.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{b as I}from"./chunk-TXSUZLOI.js";import{a as N}from"./chunk-A3LRPGV3.js";import{a as j,b as v,c as D,d as O}from"./chunk-URUZIOHG.js";import{e as p,f as F}from"./chunk-JVGGWBFZ.js";import{a as C,j as R,k as b}from"./chunk-B6INIXRK.js";import{a as k}from"./chunk-TSPDJUGG.js";import{a as c}from"./chunk-P37U34EQ.js";import{useMemo as S,useRef as ee,useState as A}from"react";var pe=c(({countryCode:L,options:u,initialValues:l})=>{let P=j(),g=v(),{mutateAsync:q}=C(P),{mutateAsync:J}=C(g),[y,U]=A(L||null),[f,B]=A(null),w=ee({company_basic_information:{},address_details:{}}),{fieldValues:V,stepState:a,setFieldValues:W,previousStep:z,nextStep:G,goToStep:H}=k(N),{companyBasicInformationForm:d,isLoading:K}=D({jsfModify:u?.jsfModify?.company_basic_information,queryOptions:{enabled:a.currentStep.name==="company_basic_information"}}),{data:s,isLoading:Q}=O({countryCode:y,fieldValues:a.currentStep.name==="address_details"?{...a.values?.address_details||{},...V}:a.values?.address_details||{},options:{...u,jsfModify:u?.jsfModify?.address_details,queryOptions:{enabled:a.currentStep.name==="address_details"&&!!y&&!!f}}}),i=S(()=>({company_basic_information:d?.fields||[],address_details:s?.fields||[]}),[d?.fields,s?.fields]),X={company_basic_information:null,address_details:s?.meta?.["x-jsf-fieldsets"]||null},h=S(()=>F(i.company_basic_information,{...l,country_code:y||l?.country_code||""}),[i.company_basic_information,y,l]),E=S(()=>F(i.address_details,l||{}),[i.address_details,l]),Y=S(()=>({company_basic_information:h,address_details:E}),[h,E]),Z=c(t=>{H(t)},"goTo"),M=c(async t=>{let r=a.currentStep.name,e=i[r];return d&&r==="company_basic_information"?await p(t,e,{isPartialValidation:!1}):s&&r==="address_details"?await p(t,e,{isPartialValidation:!1}):{}},"parseFormValues");async function $(t){let r=a.currentStep.name;r in w.current&&(w.current[r]=R(t,i[r]));let e=await M(t);switch(a.currentStep.name){case"company_basic_information":{if(U(e.country_code),f)return Promise.resolve({data:{countryCode:e.country_code??"",companyOwnerEmail:e.company_owner_email??"",companyOwnerName:e.company_owner_name??"",desiredCurrency:e.desired_currency??"",name:e.name??"",phoneNumber:e.phone_number??"",taxNumber:e.tax_number??""}});let x={country_code:e.country_code,company_owner_email:e.company_owner_email,company_owner_name:e.company_owner_name,desired_currency:e.desired_currency,name:e.name,phone_number:e.phone_number,tax_number:e.tax_number,terms_of_service_accepted_at:I()},n=await q(x);if(n.error)return Promise.resolve({data:null,error:n.error,rawError:n.rawError,fieldErrors:n.fieldErrors});let m=n.data?.data,_,o;if(m)if("data"in m&&m.data){let T=m.data.company;o=T,_=T?.id}else"company"in m&&(o=m.company,_=o?.id);return _&&B(_),Promise.resolve({data:{countryCode:o?.country_code??e.country_code??"",companyOwnerEmail:o?.company_owner_email??e.company_owner_email??"",companyOwnerName:o?.company_owner_name??e.company_owner_name??"",desiredCurrency:o?.desired_currency??e.desired_currency??"",name:o?.name??e.name??"",phoneNumber:o?.phone_number??e.phone_number??"",taxNumber:o?.tax_number??e.tax_number??""}})}case"address_details":{if(!f)throw b("Company ID is required to update address details");let n=await J({companyId:f,payload:{address_details:e},jsonSchemaVersion:u?.jsonSchemaVersion?.form_schema?.address_details});return n.error?Promise.resolve({data:null,error:n.error,rawError:n.rawError,fieldErrors:n.fieldErrors}):Promise.resolve({data:n.data})}default:throw b("Invalid step state")}}return c($,"onSubmit"),{isLoading:K||Q,isSubmitting:P.isPending||g.isPending,fieldValues:V,stepState:a,checkFieldUpdates:W,back:z,next:G,goTo:Z,onSubmit:$,fields:i[a.currentStep.name],meta:{fields:w.current,fieldsets:X[a.currentStep.name]},parseFormValues:M,handleValidation:c(async t=>{if(a.currentStep.name==="company_basic_information"&&d){let r=await p(t,d.fields,{isPartialValidation:!1});return d.handleValidation(r)}if(a.currentStep.name==="address_details"&&s){let r=await p(t,s.fields,{isPartialValidation:!1});return s.handleValidation(r)}return null},"handleValidation"),initialValues:Y}},"useCreateCompany");export{pe as a};
|
|
2
|
-
//# sourceMappingURL=chunk-CRMSCL22.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/flows/CreateCompany/hooks.ts"],"sourcesContent":["import { useMemo, useRef, useState } from 'react';\nimport { FieldValues } from 'react-hook-form';\nimport { JSFFields } from '@/src/types/remoteFlows';\nimport {\n getInitialValues,\n parseJSFToValidate,\n} from '@/src/components/form/utils';\nimport { ValidationResult } from '@remoteoss/remote-json-schema-form-kit';\nimport { CreateCompanyFlowProps } from '@/src/flows/CreateCompany/types';\nimport { CreateCompanyParams, UpdateCompanyParams } from '@/src/client';\nimport { nowUtcFormatted } from '@/src/common/dates';\n\nimport { STEPS } from '@/src/flows/CreateCompany/utils';\nimport {\n useCountriesSchemaField,\n useAddressDetailsSchema,\n} from '@/src/flows/CreateCompany/api';\nimport { Step, useStepState } from '@/src/flows/useStepState';\nimport { createStructuredError, prettifyFormValues } from '@/src/lib/utils';\nimport { JSFFieldset, Meta } from '@/src/types/remoteFlows';\nimport { mutationToPromise } from '@/src/lib/mutations';\nimport {\n useCreateCompanyRequest,\n useUpdateCompanyRequest,\n} from '@/src/flows/CreateCompany/api';\n\ntype useCreateCompanyProps = Omit<CreateCompanyFlowProps, 'render'>;\n\n/**\n * Main hook for the CreateCompany flow\n * Manages the two-step flow: company creation and address details\n * @param countryCode - Optional initial country code\n * @param options - Flow options including jsfModify and jsonSchemaVersion\n * @returns CreateCompany bag with all flow state and methods\n */\nexport const useCreateCompany = ({\n countryCode,\n options,\n initialValues: createCompanyInitialValues,\n}: useCreateCompanyProps) => {\n const createCompanyMutation = useCreateCompanyRequest();\n const updateCompanyMutation = useUpdateCompanyRequest();\n\n const { mutateAsync: createCompanyMutationAsync } = mutationToPromise(\n createCompanyMutation,\n );\n const { mutateAsync: updateCompanyMutationAsync } = mutationToPromise(\n updateCompanyMutation,\n );\n\n const [internalCountryCode, setInternalCountryCode] = useState<string | null>(\n countryCode || null,\n );\n const [createdCompanyId, setCreatedCompanyId] = useState<string | null>(null);\n const fieldsMetaRef = useRef<{\n company_basic_information: Meta;\n address_details: Meta;\n }>({\n company_basic_information: {},\n address_details: {},\n });\n\n const {\n fieldValues,\n stepState,\n setFieldValues,\n previousStep,\n nextStep,\n goToStep,\n } = useStepState(\n STEPS as Record<keyof typeof STEPS, Step<keyof typeof STEPS>>,\n );\n\n const { companyBasicInformationForm, isLoading: isLoadingCountries } =\n useCountriesSchemaField({\n jsfModify: options?.jsfModify?.company_basic_information,\n queryOptions: {\n enabled: stepState.currentStep.name === 'company_basic_information',\n },\n });\n\n const { data: addressDetailsForm, isLoading: isLoadingAddressDetails } =\n useAddressDetailsSchema({\n countryCode: internalCountryCode,\n fieldValues:\n stepState.currentStep.name === 'address_details'\n ? {\n ...(stepState.values?.address_details || {}),\n ...fieldValues,\n }\n : stepState.values?.address_details || {},\n options: {\n ...options,\n jsfModify: options?.jsfModify?.address_details,\n queryOptions: {\n enabled:\n stepState.currentStep.name === 'address_details' &&\n !!internalCountryCode &&\n !!createdCompanyId,\n },\n },\n });\n\n const stepFields: Record<keyof typeof STEPS, JSFFields> = useMemo(\n () => ({\n company_basic_information: companyBasicInformationForm?.fields || [],\n address_details: addressDetailsForm?.fields || [],\n }),\n [companyBasicInformationForm?.fields, addressDetailsForm?.fields],\n );\n\n const stepFieldsWithFlatFieldsets: Record<\n keyof typeof STEPS,\n JSFFieldset | null | undefined\n > = {\n company_basic_information: null,\n address_details: addressDetailsForm?.meta?.['x-jsf-fieldsets'] || null,\n };\n\n const companyBasicInformationInitialValues = useMemo(\n () =>\n getInitialValues(stepFields.company_basic_information, {\n ...createCompanyInitialValues,\n country_code:\n internalCountryCode || createCompanyInitialValues?.country_code || '',\n }),\n [\n stepFields.company_basic_information,\n internalCountryCode,\n createCompanyInitialValues,\n ],\n );\n\n const addressDetailsInitialValues = useMemo(\n () =>\n getInitialValues(\n stepFields.address_details,\n createCompanyInitialValues || {},\n ),\n [stepFields.address_details, createCompanyInitialValues],\n );\n\n const initialValues = useMemo(() => {\n return {\n company_basic_information: companyBasicInformationInitialValues,\n address_details: addressDetailsInitialValues,\n };\n }, [companyBasicInformationInitialValues, addressDetailsInitialValues]);\n\n const goTo = (step: keyof typeof STEPS) => {\n goToStep(step);\n };\n\n const parseFormValues = async (values: FieldValues) => {\n const currentStepName = stepState.currentStep.name;\n const currentStepFields = stepFields[currentStepName];\n\n if (\n companyBasicInformationForm &&\n currentStepName === 'company_basic_information'\n ) {\n return await parseJSFToValidate(values, currentStepFields, {\n isPartialValidation: false,\n });\n }\n if (addressDetailsForm && currentStepName === 'address_details') {\n return await parseJSFToValidate(values, currentStepFields, {\n isPartialValidation: false,\n });\n }\n return {};\n };\n\n async function onSubmit(values: FieldValues) {\n const currentStepName = stepState.currentStep.name;\n if (currentStepName in fieldsMetaRef.current) {\n fieldsMetaRef.current[\n currentStepName as keyof typeof fieldsMetaRef.current\n ] = prettifyFormValues(values, stepFields[currentStepName]);\n }\n const parsedValues = await parseFormValues(values);\n switch (stepState.currentStep.name) {\n case 'company_basic_information': {\n setInternalCountryCode(parsedValues.country_code);\n\n // If company already exists, skip creation and return current form values\n if (createdCompanyId) {\n return Promise.resolve({\n data: {\n countryCode: parsedValues.country_code ?? '',\n companyOwnerEmail: parsedValues.company_owner_email ?? '',\n companyOwnerName: parsedValues.company_owner_name ?? '',\n desiredCurrency: parsedValues.desired_currency ?? '',\n name: parsedValues.name ?? '',\n phoneNumber: parsedValues.phone_number ?? '',\n taxNumber: parsedValues.tax_number ?? '',\n },\n });\n }\n\n const payload: CreateCompanyParams = {\n country_code: parsedValues.country_code,\n company_owner_email: parsedValues.company_owner_email,\n company_owner_name: parsedValues.company_owner_name,\n desired_currency: parsedValues.desired_currency,\n name: parsedValues.name,\n phone_number: parsedValues.phone_number,\n tax_number: parsedValues.tax_number,\n terms_of_service_accepted_at: nowUtcFormatted(),\n };\n\n const response = await createCompanyMutationAsync(payload);\n\n // Check for errors from the mutation\n if (response.error) {\n return Promise.resolve({\n data: null,\n error: response.error,\n rawError: response.rawError,\n fieldErrors: response.fieldErrors,\n });\n }\n\n // Handle both CompanyResponse and CompanyWithTokensResponse structures\n // CompanyResponse: { data: { company?: Company } }\n // CompanyWithTokensResponse: { company?: Company; tokens?: OAuth2Tokens }\n const responseData = response.data?.data;\n let companyId: string | undefined;\n let company:\n | {\n country_code?: string;\n company_owner_email?: string;\n company_owner_name?: string;\n desired_currency?: string;\n name?: string;\n phone_number?: string;\n tax_number?: string;\n }\n | undefined;\n if (responseData) {\n if ('data' in responseData && responseData.data) {\n // CompanyResponse structure: response.data.data.data.company\n const companyData = (responseData.data as { company?: unknown })\n .company;\n company = companyData as typeof company;\n companyId = (companyData as { id?: string })?.id;\n } else if ('company' in responseData) {\n // CompanyWithTokensResponse structure: response.data.data.company\n company = responseData.company as typeof company;\n companyId = (company as { id?: string })?.id;\n }\n }\n if (companyId) {\n setCreatedCompanyId(companyId);\n }\n // Map company fields from snake_case to camelCase to match CompanyBasicInfoSuccess\n // Fall back to parsedValues if company data is not available\n return Promise.resolve({\n data: {\n countryCode:\n company?.country_code ?? parsedValues.country_code ?? '',\n companyOwnerEmail:\n company?.company_owner_email ??\n parsedValues.company_owner_email ??\n '',\n companyOwnerName:\n company?.company_owner_name ??\n parsedValues.company_owner_name ??\n '',\n desiredCurrency:\n company?.desired_currency ?? parsedValues.desired_currency ?? '',\n name: company?.name ?? parsedValues.name ?? '',\n phoneNumber:\n company?.phone_number ?? parsedValues.phone_number ?? '',\n taxNumber: company?.tax_number ?? parsedValues.tax_number ?? '',\n },\n });\n }\n\n case 'address_details': {\n if (!createdCompanyId) {\n throw createStructuredError(\n 'Company ID is required to update address details',\n );\n }\n const payload: UpdateCompanyParams = {\n address_details: parsedValues,\n };\n\n const response = await updateCompanyMutationAsync({\n companyId: createdCompanyId,\n payload,\n jsonSchemaVersion:\n options?.jsonSchemaVersion?.form_schema?.address_details,\n });\n\n // Check for errors from the mutation\n if (response.error) {\n return Promise.resolve({\n data: null,\n error: response.error,\n rawError: response.rawError,\n fieldErrors: response.fieldErrors,\n });\n }\n\n return Promise.resolve({ data: response.data });\n }\n\n default: {\n throw createStructuredError('Invalid step state');\n }\n }\n }\n\n const isLoading = isLoadingCountries || isLoadingAddressDetails;\n\n return {\n /**\n * Loading state indicating if the flow is loading data\n */\n isLoading,\n\n /**\n * Loading state indicating if the company creation or update mutation is in progress\n */\n isSubmitting:\n createCompanyMutation.isPending || updateCompanyMutation.isPending,\n\n /**\n * Current state of the form fields for the current step.\n */\n fieldValues,\n\n /**\n * Current step state containing the current step and total number of steps\n */\n stepState,\n\n /**\n * Function to update the current form field values\n * @param values - New form values to set\n */\n checkFieldUpdates: setFieldValues,\n\n /**\n * Function to handle going back to the previous step\n * @returns {void}\n */\n back: previousStep,\n\n /**\n * Function to handle going to the next step\n * @returns {void}\n */\n next: nextStep,\n\n /**\n * Function to handle going to a specific step\n * @param step The step to go to.\n * @returns {void}\n */\n goTo: goTo,\n\n /**\n * Function to handle form submission\n * @param values - Form values to submit\n * @returns Promise resolving to the mutation result\n */\n onSubmit,\n\n /**\n * Array of form fields from the onboarding schema\n */\n fields: stepFields[stepState.currentStep.name],\n\n /**\n * Fields metadata for each step\n */\n meta: {\n // 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","prettifyFormValues","parsedValues","payload","nowUtcFormatted","response","responseData","companyId","company","companyData","createStructuredError"]}
|
package/dist/chunk-DN6BXTAC.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as i}from"./chunk-LMYJ6V44.js";import{a as o}from"./chunk-TC7EQZJK.js";import{a as m}from"./chunk-NX7MM6XR.js";import{a as e}from"./chunk-ZXGAFQXW.js";var p={employee_communication:o,termination_details:e,paid_time_off:m,additional_information:i};export{p as a};
|
|
2
|
-
//# sourceMappingURL=chunk-DN6BXTAC.js.map
|
package/dist/chunk-E6SUBDPV.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as z}from"./chunk-AP56UUME.js";import{a as H}from"./chunk-IJCTN52C.js";import{e as E}from"./chunk-AHRG5QCS.js";import{a as P,b as Y,c as X,d as _,f as q}from"./chunk-PX5PE6GX.js";import{a as W}from"./chunk-WVJDCDGZ.js";import{a as B}from"./chunk-MKUSE7JK.js";import{a as b}from"./chunk-67Y7FHJL.js";import{d as x}from"./chunk-JVGGWBFZ.js";import{$,B as v,G as U,O as J,R as K,T as j,V as A,W as G,X as V,Y as k,aa as N,f as R,h as D,p as M,r as T,s as L,t as Q}from"./chunk-TNQKP2XT.js";import{a as O,i as w}from"./chunk-B6INIXRK.js";import{d as s}from"./chunk-KQPDXXG3.js";import{a as n}from"./chunk-P37U34EQ.js";import{useMemo as be}from"react";import{useMutation as f,useQuery as p}from"@tanstack/react-query";import{useMutation as de,useQuery as Z}from"@tanstack/react-query";var we=n(()=>{let{client:e}=s();return de({mutationFn:n(t=>j({client:e,body:t,headers:{Authorization:""}}),"mutationFn")})},"useUploadFile"),ee=n(e=>{let{client:t}=s();return Z({queryKey:["download-file",e],queryFn:n(async()=>{let o=await v({client:t,path:{id:e}});if(o.error)throw o.error;return o.data},"queryFn"),select:n(({data:o})=>o?.file,"select"),enabled:!!e})},"useDownloadFile"),te=n((e,t,o)=>{let{client:r}=s();return Z({queryKey:["employment-files",e],queryFn:n(async()=>{let i=await K({client:r,path:{employment_id:e},query:t});if(i.error)throw i.error;return i.data},"queryFn"),...o})},"useEmploymentFiles");import{useQuery as me}from"@tanstack/react-query";import{useQuery as pe}from"@tanstack/react-query";var ne=n(()=>{let{client:e}=s();return pe({queryKey:["identity"],queryFn:n(()=>G({client:e,headers:{Authorization:""}}),"queryFn"),select:n(t=>t.data?.data,"select")})},"useIdentity");function ye(e){return e!=null&&"company"in e}n(ye,"hasCompany");var oe=n((e={enabled:!0})=>{let{data:t}=ne(),o=ye(t)?t?.company?.id??"":"",{client:r}=s();return me({queryKey:["pricing-plans",o],queryFn:n(()=>R({client:r,path:{company_id:o}}),"queryFn"),select:n(i=>i.data?.data?.pricing_plans,"select"),enabled:!!e?.enabled&&!!o})},"useCompanyPricingPlans");var fe=n(({employmentId:e,options:t})=>{let{client:o}=s();return p({queryKey:["contractor-currencies",e],queryFn:n(async()=>Q({client:o,path:{employment_id:e},query:{restrict_to_guaranteed_pay_out_currencies:!1}}),"queryFn"),enabled:t?.queryOptions?.enabled,select:n(({data:r})=>r?.data,"select")})},"useContractorCurrencies"),bt=n(({fieldValues:e,options:t})=>p({queryKey:["contract-document-signature",e.review_completed,t?.jsfModify],queryFn:n(async()=>b(H,e,{jsfModify:t?.jsfModify}),"queryFn"),enabled:t?.queryOptions?.enabled}),"useGetContractDocumentSignatureSchema"),ft=n(()=>{let{client:e}=s();return f({mutationFn:n(async({employmentId:t,contractDocumentId:o,payload:r})=>A({client:e,body:r,path:{employment_id:t,contract_document_id:o}}),"mutationFn")})},"useSignContractDocument"),Ce=n(({employmentId:e,contractDocumentId:t,options:o})=>{let{client:r}=s();return p({queryKey:["contract-document",e,t],queryFn:n(async()=>T({client:r,path:{employment_id:e,id:t}}),"queryFn"),enabled:o?.queryOptions?.enabled,select:n(({data:i})=>({...i?.data,contract_document:{...i?.data?.contract_document,content:w(i?.data?.contract_document?.content)}}),"select")})},"useGetShowContractDocument"),Ct=n(({employmentId:e,contractDocumentId:t,options:o})=>{let{data:r}=Ce({employmentId:e,contractDocumentId:t,options:{queryOptions:{enabled:o?.queryOptions?.enabled}}});return{hasCompanySignedContract:r?.contract_document?.signatories?.some(a=>a.type==="company"&&a.status==="signed")}},"useHasCompanySignedContract"),ge=n(({employmentId:e,options:t})=>{let{client:o}=s();return p({queryKey:["contractor-subscriptions",e],queryFn:n(async()=>M({client:o,path:{employment_id:e}}),"queryFn"),enabled:t?.queryOptions?.enabled,select:n(({data:r})=>r?.data,"select")})},"useGetContractorSubscriptions"),gt=n(()=>{let{client:e}=s();return f({mutationFn:n(async({employmentId:t,payload:o})=>k({client:e,body:o,path:{employment_id:t}}),"mutationFn")})},"usePostManageContractorSubscriptions"),Ft=n(()=>{let{client:e}=s();return f({mutationFn:n(async({employmentId:t,payload:o})=>J({client:e,body:o,path:{employment_id:t}}),"mutationFn")})},"useCreateContractorContractDocument"),Fe=n(({countryCode:e,employmentId:t,fieldValues:o,options:r})=>{let{client:i}=s();return p({queryKey:["contractor-onboarding-details-schema",e,t],retry:!1,queryFn:n(async()=>D({client:i,path:{country_code:e},query:{json_schema_version:1,employment_id:t}}),"queryFn"),enabled:r?.queryOptions?.enabled,select:n(({data:a})=>{let c=a?.data?.schema||{};return b(c,o,r)},"select")})},"useContractorOnboardingDetailsSchema"),Se={[P]:"Contractor Management",[Y]:"Contractor Management Plus",[X]:"Contractor of Record"},he=n(e=>{let{data:t,isLoading:o}=oe({enabled:e?.enabled}),r=t?.find(a=>a.product.name==="EOR Monthly");return{eorSubscription:{product:{identifier:_,short_name:"EOR"},currency:r?.price.currency,price:{amount:x(r?.price.amount??0)},features:["Contract between Remote and employee","Remote manages onboarding, payroll, and compliance","Manages taxes, benefits, and time-off tracking","Handles contracts, transfers, and terminations"],description:"Enables hiring in countries without a local entity",label:"Employer of Record",value:_},isLoading:o}},"useEorSubscription"),_e=n((e,t,o)=>(E(_,o)&&e.push({label:t.label,value:t.value,description:t.description,meta:{features:t.features,price:{amount:t.price.amount,currencyCode:t.currency?.code??""}},disabled:!1}),e),"addEorToFieldOptions"),St=n((e,t,o)=>{let{data:r,isLoading:i,refetch:a}=ge({employmentId:e,options:{queryOptions:o?.queryOptions}}),c=r?.length===0,l=r?.length===1,u=r?.find(S=>S.product.short_name==="COR")?.eligibility_questionnaire?.is_blocking,d=(l||u===!0||c)&&t?.eor_onboarding,{eorSubscription:C,isLoading:re}=he({enabled:d}),I=b(z.data.schema,{},o);if(r){let S=I.fields.find(h=>h.name==="subscription");if(S){let h=r.filter(m=>E(m.product.identifier??"",o?.excludeProducts)).map(m=>{let y=m.product,ie=m.price.amount,ae=m.currency.code,se=Se[y.identifier]??"",ce=y.identifier??"",ue=y.description??"",le={features:y.features??[],price:{amount:x(ie),currencyCode:ae}};return{label:se,value:ce,description:ue,meta:le,disabled:u&&y.identifier!==P}});h.sort((m,y)=>m.label.localeCompare(y.label));let g=[];d&&(_e(g,C,o?.excludeProducts),g.length>0&&(g[0].meta={...g[0].meta,groupSeparator:{show:!0}})),S.options=[...h,...g]}}return{isLoading:i||re,form:I,contractorSubscriptions:r,refetch:a,isEligibilityQuestionnaireBlocked:u}},"useContractorSubscriptionSchemaField"),ht=n((e,t,o)=>{let{mutateAsyncOrThrow:r}=O(t),{mutateAsyncOrThrow:i}=O(e);return{mutateAsync:n(async({employmentId:a})=>{let{nationality_status:c,ir35:l,ir35_sds_file:F}=o,u={contract_document:{ir_35:l}},d={contract_document:{nationality:c}};return l?(await i({employmentId:a,payload:u}),F?r({employment_id:a,file:F,sub_type:q}):Promise.resolve()):c?i({employmentId:a,payload:d}):Promise.resolve()},"mutateAsync")}},"useUpdateUKandSaudiFields"),_t=n((e,t)=>{let{data:o,isLoading:r}=te(e,{sub_type:q},{...t,select:n(({data:c})=>c?.files?.filter(l=>l.sub_type===q),"select")}),i=o?.[0]?.id,a=ee(i);return{...a,isLoading:r||a.isLoading}},"useGetIR35File"),qt=n((e,t)=>{let{client:o}=s();return p({queryKey:["contract-documents",e],queryFn:n(async()=>L({client:o,path:{employment_id:e}}),"queryFn"),enabled:t?.enabled,select:n(({data:r})=>r?.data?.contract_documents,"select")})},"useGetContractDocuments"),Ot=n(({options:e,fieldValues:t})=>{let{client:o}=s();return p({queryKey:["eligibility-questionnaire"],queryFn:n(async()=>{let r=await V({client:o,query:{type:"contractor_of_record",json_schema_version:1}});if(r.error)throw new Error("Failed to fetch eligibility questionnaire");return r.data.data},"queryFn"),select:n(r=>{let i=r?.schema||{};return b(i,t,{jsfModify:e?.jsfModify})},"select"),enabled:e?.queryOptions?.enabled})},"useGetEligibilityQuestionnaire"),xt=n(()=>{let{client:e}=s();return f({mutationFn:n(async({employmentId:t,payload:o})=>U({client:e,body:{employment_slug:t,responses:o,type:"contractor_of_record"},query:{json_schema_version:1}}),"mutationFn")})},"usePostCreateEligibilityQuestionnaire"),Pt=n(()=>{let{client:e}=s();return f({mutationFn:n(async({employmentId:t})=>N({client:e,path:{employment_id:t}}),"mutationFn")})},"usePostManageContractorCorSubscription"),Et=n(()=>{let{client:e}=s();return f({mutationFn:n(async({employmentId:t})=>$({client:e,path:{employment_id:t}}),"mutationFn")})},"useDeleteContractorCorSubscription"),It=n(e=>{let{client:t}=s(),{data:o,isLoading:r}=p({...B(t,"contractor-onboarding-countries"),select:n(a=>a.data?.data?.map(c=>({label:c.name,value:c.code,eor_onboarding:c.eor_onboarding,contractor_products_available:c.contractor_products_available}))||[],"select"),enabled:e?.queryOptions?.enabled}),i=b(W.data.schema,{},e);if(o){let a=i.fields.find(c=>c.name==="country");a&&(a.options=o)}return{isLoading:r,selectCountryForm:i,countries:o}},"useCountriesSchemaField"),wt=n(({countryCode:e,employmentId:t,fieldValues:o,options:r})=>{let i=Fe({countryCode:e,employmentId:t,fieldValues:o,options:r}),{data:a,isLoading:c}=fe({employmentId:t,options:{queryOptions:{enabled:r?.queryOptions?.enabled}}}),l=be(()=>!i.data||!a?i.data:{...i.data,fields:i.data.fields.map(u=>u.name!=="payment_terms"?u:{...u,fields:u.fields?.map(d=>d.name!=="compensation_currency_code"?d:{...d,options:a.map(C=>({label:C.code,value:C.code,meta:{source:C.source}}))})})},[i.data,a]);return{...i,data:l,isLoading:i.isLoading||c}},"useContractorOnboardingDetailsSchemaWithCurrencies");export{we as a,ne as b,ye as c,bt as d,ft as e,Ce as f,Ct as g,ge as h,gt as i,Ft as j,Se as k,St as l,ht as m,_t as n,qt as o,Ot as p,xt as q,Pt as r,Et as s,It as t,wt as u};
|
|
2
|
-
//# sourceMappingURL=chunk-E6SUBDPV.js.map
|
package/dist/chunk-INNJURYH.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{b as p}from"./chunk-KSHK3ZPX.js";import{a as F}from"./chunk-VIU4RZCS.js";import{h as C}from"./chunk-SJZP5XKE.js";import{b as f,j as E}from"./chunk-B6INIXRK.js";import{a as n}from"./chunk-P37U34EQ.js";import{useEffect as R}from"react";import{jsx as u}from"react/jsx-runtime";function T({onSubmit:S,onError:w,onSuccess:y,onErrorWithFields:c,shouldResetForm:d,resetFields:a}){let{form:e,formId:V,costCalculatorBag:o}=p(),{formState:{isSubmitSuccessful:s}}=e;R(()=>{if(s&&d){o?.resetForm(),e.reset();return}if(s&&a){let t={...e.getValues()};a.forEach(r=>{t[r]=""}),o?.resetForm(),e.reset(t)}},[s,e,d,o,a]);let b=n(async i=>{try{let t=await o?.parseFormValues(i);o?.meta?.fields&&(o.meta.fields=E(i,o.fields),o.meta.fields.employer_currency_slug=o.meta.fields.currency);let r=await o?.onSubmit(t);if(await S?.(t),r?.data&&!r.error){let l={data:{...r.data.data,employments:r.data.data.employments?.map(m=>({...m,title:t.estimation_title}))}};await y?.(l)}else throw{data:null,error:r?.error,fieldErrors:r?.fieldErrors,rawError:r?.rawError}}catch(t){let r=t,l=r.fieldErrors;if(c){let m=o?.meta?.fields,h=f(l,m);c({error:r.error,rawError:r.rawError,fieldErrors:h})}else w?.(r.error)}},"handleSubmit");return u(C,{...e,children:u("form",{id:V,onSubmit:e.handleSubmit(b),className:"space-y-4 RemoteFlows__CostCalculatorForm",children:u(F,{fields:o?.fields??[]})})})}n(T,"CostCalculatorForm");export{T as a};
|
|
2
|
-
//# sourceMappingURL=chunk-INNJURYH.js.map
|