@remoteoss/remote-flows 1.52.0 → 1.53.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/README.md +1 -0
- package/dist/CheckboxFieldDefault-IAB3SNK3.js +2 -0
- package/dist/CountryFieldDefault-BVEQY5Q6.js +2 -0
- package/dist/DatePickerFieldDefault-AZFURBQX.js +2 -0
- package/dist/EmailFieldDefault-R7LQD4WN.js +2 -0
- package/dist/FileUploadFieldDefault-WSBZKLNC.js +2 -0
- package/dist/ForcedValueFieldDefault-N3IS2F36.js +2 -0
- package/dist/MultiSelectFieldDefault-XW2WTPDC.js +2 -0
- package/dist/NumberFieldDefault-U5SJAHHQ.js +2 -0
- package/dist/RadioGroupFieldDefault-SXO7A5NI.js +2 -0
- package/dist/SelectFieldDefault-7NL7VFYH.js +2 -0
- package/dist/TelFieldDefault-VDUP2THF.js +2 -0
- package/dist/TextAreaFieldDefault-JEVFVXO7.js +2 -0
- package/dist/TextFieldDefault-EMXPSK7U.js +2 -0
- package/dist/TimeFieldDefault-4WDEHMIJ.js +2 -0
- package/dist/WorkScheduleFieldDefault-YFHD6UUW.js +2 -0
- package/dist/{chunk-UWIUECXU.js → chunk-2BH4CIY3.js} +2 -2
- package/dist/{chunk-YRRX7EOU.js → chunk-2IUT7KWS.js} +2 -2
- package/dist/{chunk-3WRO57UF.js → chunk-3BB4KEIH.js} +2 -2
- package/dist/{chunk-OJ4TXF6G.js → chunk-3CZLKNIW.js} +2 -2
- package/dist/{chunk-MGCW2SS4.js → chunk-3DPDFOYO.js} +2 -2
- package/dist/{chunk-335N2CVQ.js → chunk-3JH25AAF.js} +2 -2
- package/dist/chunk-46IKKWMK.js +2 -0
- package/dist/chunk-46IKKWMK.js.map +1 -0
- package/dist/{chunk-YANQP45B.js → chunk-4FKQXGBR.js} +2 -2
- package/dist/{chunk-4KIOOLOG.js → chunk-4ULD4YI7.js} +2 -2
- package/dist/chunk-4VEKBKZP.js +2 -0
- package/dist/chunk-4VEKBKZP.js.map +1 -0
- package/dist/{chunk-EQOOVJ7K.js → chunk-4X5DGXVM.js} +2 -2
- package/dist/{chunk-I53YCEOC.js → chunk-5POY6QBR.js} +2 -2
- package/dist/{chunk-QIY6K2FB.js → chunk-5QTSHKLK.js} +2 -2
- package/dist/{chunk-JKNE2D47.js → chunk-625V5NV7.js} +2 -2
- package/dist/chunk-677YKNHH.js +2 -0
- package/dist/chunk-677YKNHH.js.map +1 -0
- package/dist/chunk-6FLU37JM.js +2 -0
- package/dist/chunk-6FLU37JM.js.map +1 -0
- package/dist/{chunk-JUSQGITN.js → chunk-7DQOA753.js} +2 -2
- package/dist/{chunk-6OLV37C2.js → chunk-7JZWL4DI.js} +2 -2
- package/dist/chunk-7LP2MXCW.js +2 -0
- package/dist/{chunk-TUIEY7ZM.js.map → chunk-7LP2MXCW.js.map} +1 -1
- package/dist/{chunk-4BFGSBOK.js → chunk-A4WXUJPL.js} +2 -2
- package/dist/chunk-A74I763T.js +2 -0
- package/dist/chunk-A74I763T.js.map +1 -0
- package/dist/{chunk-OT5JE2SM.js → chunk-AVFWX6M6.js} +2 -2
- package/dist/chunk-B6WW4RCM.js +2 -0
- package/dist/chunk-B6WW4RCM.js.map +1 -0
- package/dist/{chunk-GF4MSLVP.js → chunk-BQKSMAW3.js} +2 -2
- package/dist/chunk-BZ7YOEB6.js +2 -0
- package/dist/chunk-BZ7YOEB6.js.map +1 -0
- package/dist/{chunk-FFRROEPQ.js → chunk-C3LOTWEB.js} +2 -2
- package/dist/chunk-CKDQYT7E.js +2 -0
- package/dist/{chunk-ZULOHKU6.js.map → chunk-CKDQYT7E.js.map} +1 -1
- package/dist/{chunk-ROVMQ5NT.js → chunk-CKOXMDGX.js} +2 -2
- package/dist/chunk-CYAISKZB.js +2 -0
- package/dist/chunk-CYAISKZB.js.map +1 -0
- package/dist/{chunk-VRZJWJGM.js → chunk-DAZQJZOF.js} +2 -2
- package/dist/{chunk-HKNQKO5Y.js → chunk-DC4ZTOZE.js} +2 -2
- package/dist/{chunk-ADL2ZH54.js → chunk-EEGKPPQK.js} +2 -2
- package/dist/chunk-EWRSIBE2.js +2 -0
- package/dist/{chunk-LY5PCHQ2.js.map → chunk-EWRSIBE2.js.map} +1 -1
- package/dist/{chunk-3DOSHTJS.js → chunk-F3YBR2IP.js} +2 -2
- package/dist/{chunk-MOOSPB2G.js → chunk-FB23WOLZ.js} +2 -2
- package/dist/chunk-FIPWWOZY.js +2 -0
- package/dist/chunk-FIPWWOZY.js.map +1 -0
- package/dist/{chunk-MZFT4MWM.js → chunk-FZMUZRZN.js} +2 -2
- package/dist/{chunk-B2WE3PSY.js → chunk-G4TPPC5G.js} +2 -2
- package/dist/chunk-GA7B6FUD.js +1 -0
- package/dist/{chunk-I5NW7AQZ.js → chunk-GFGO7E5V.js} +2 -2
- package/dist/{chunk-2L6AB46E.js → chunk-GYMFEHNM.js} +2 -2
- package/dist/{chunk-XLHTMWJ3.js → chunk-GZGBZT7Y.js} +2 -2
- package/dist/{chunk-OAX6TPIP.js → chunk-H4ZSTP7B.js} +2 -2
- package/dist/{chunk-KD7UBTZG.js → chunk-HDFNGXCV.js} +2 -2
- package/dist/chunk-HO5OVZ7J.js +2 -0
- package/dist/chunk-HO5OVZ7J.js.map +1 -0
- package/dist/chunk-IBHCQXIL.js +2 -0
- package/dist/chunk-IBHCQXIL.js.map +1 -0
- package/dist/{chunk-KSSQR2CS.js → chunk-IPQZBMOO.js} +2 -2
- package/dist/{chunk-NVOUXFGX.js → chunk-IRQJR7KU.js} +2 -2
- package/dist/{chunk-SDPYDCS7.js → chunk-IYH7D5ET.js} +2 -2
- package/dist/{chunk-WNOQNNRR.js → chunk-JIGRVBQS.js} +2 -2
- package/dist/{chunk-5FST4WDH.js → chunk-KSCJNGWW.js} +2 -2
- package/dist/chunk-KUQJG26N.js +2 -0
- package/dist/{chunk-PJAHLEOR.js → chunk-KXTESNWQ.js} +2 -2
- package/dist/chunk-L2GAD6S5.js +2 -0
- package/dist/chunk-L2GAD6S5.js.map +1 -0
- package/dist/chunk-L74V3INS.js +2 -0
- package/dist/chunk-L74V3INS.js.map +1 -0
- package/dist/{chunk-WU66SHVJ.js → chunk-LOFKF243.js} +2 -2
- package/dist/{chunk-BYD4TSDD.js → chunk-LRXKF2LC.js} +2 -2
- package/dist/{chunk-L7FN3XPX.js → chunk-M2UGSIVQ.js} +2 -2
- package/dist/{chunk-BQGTMOIQ.js → chunk-N2WIEKM6.js} +2 -2
- package/dist/chunk-NEVSZEMH.js +2 -0
- package/dist/chunk-NEVSZEMH.js.map +1 -0
- package/dist/{chunk-IJS67A57.js → chunk-NHWKX4ED.js} +2 -2
- package/dist/{chunk-LJ32QPJF.js → chunk-NWY6UVCV.js} +2 -2
- package/dist/chunk-OMNDZQ4X.js +2 -0
- package/dist/chunk-OMNDZQ4X.js.map +1 -0
- package/dist/{chunk-SV35IBBH.js → chunk-PDOPI7HR.js} +2 -2
- package/dist/{chunk-3NC2JJM3.js → chunk-PEBKJFMW.js} +2 -2
- package/dist/{chunk-GIBD2ZCJ.js → chunk-PSK3Z52M.js} +2 -2
- package/dist/{chunk-J244N33S.js → chunk-QB6GQW3J.js} +2 -2
- package/dist/{chunk-4AQMMGXK.js → chunk-QFBZ7JTG.js} +2 -2
- package/dist/{chunk-LIZMNUQI.js → chunk-QFLUUNBA.js} +2 -2
- package/dist/{chunk-DIPYFRXX.js → chunk-QIAMSVGB.js} +2 -2
- package/dist/{chunk-LXABE3VR.js → chunk-QNEGC7RZ.js} +2 -2
- package/dist/{chunk-77LDJPXF.js → chunk-QOGWAKHP.js} +2 -2
- package/dist/{chunk-4UN7DBEV.js → chunk-R2NQ3F6J.js} +2 -2
- package/dist/{chunk-463G2HDA.js → chunk-R5THYINT.js} +2 -2
- package/dist/{chunk-6RPIMHYS.js → chunk-R6U3F3O3.js} +2 -2
- package/dist/{chunk-KFIUXU6I.js → chunk-RWPZYB5B.js} +2 -2
- package/dist/{chunk-PJDHQ4ZQ.js → chunk-SQ5OMBOV.js} +2 -2
- package/dist/{chunk-6TLBBS6E.js → chunk-SQKFUT6T.js} +2 -2
- package/dist/{chunk-APSKAXM2.js → chunk-SSPK7NGT.js} +2 -2
- package/dist/{chunk-3BDWVNHX.js → chunk-THUEI7J4.js} +2 -2
- package/dist/chunk-TJOQF7N6.js +2 -0
- package/dist/chunk-TJOQF7N6.js.map +1 -0
- package/dist/{chunk-GSUGHAHA.js → chunk-TNWH6PVQ.js} +2 -2
- package/dist/chunk-TSR7O3QD.js +2 -0
- package/dist/chunk-TSR7O3QD.js.map +1 -0
- package/dist/{chunk-3CGFAN3F.js → chunk-TSX5CPGE.js} +2 -2
- package/dist/chunk-U7X7AHH4.js +2 -0
- package/dist/{chunk-GNVGW65D.js.map → chunk-U7X7AHH4.js.map} +1 -1
- package/dist/{chunk-XPLWBO73.js → chunk-UA22Q6DY.js} +2 -2
- package/dist/{chunk-WHY2WNWH.js → chunk-UGQJQM72.js} +2 -2
- package/dist/{chunk-5DPOL3DT.js → chunk-UX5LWYEO.js} +2 -2
- package/dist/chunk-VC3W5YDI.js +2 -0
- package/dist/chunk-VC3W5YDI.js.map +1 -0
- package/dist/{chunk-I65OXH33.js → chunk-VCJHB56K.js} +2 -2
- package/dist/{chunk-5NN5RWBG.js → chunk-VJTAVPZX.js} +2 -2
- package/dist/{chunk-QMMNXGQF.js → chunk-W5S3F2WP.js} +2 -2
- package/dist/chunk-WBKBVV3X.js +2 -0
- package/dist/chunk-WBKBVV3X.js.map +1 -0
- package/dist/{chunk-7Y4NHODP.js → chunk-WLJX4B55.js} +2 -2
- package/dist/{chunk-B677Q3B3.js → chunk-WNGIJIV2.js} +2 -2
- package/dist/chunk-X2CSXDCG.js +2 -0
- package/dist/chunk-X2CSXDCG.js.map +1 -0
- package/dist/chunk-XCVZRNIN.js +2 -0
- package/dist/{chunk-MNHXHKTE.js.map → chunk-XCVZRNIN.js.map} +1 -1
- package/dist/{chunk-ZJ55AKB6.js → chunk-YCJGDPBN.js} +2 -2
- package/dist/{chunk-H4NJGAN4.js → chunk-YFQNP2SL.js} +2 -2
- package/dist/{chunk-PKORRCMX.js → chunk-YJTKDCA6.js} +2 -2
- package/dist/{chunk-POIDXI3T.js → chunk-YUR2E2H3.js} +2 -2
- package/dist/{chunk-SUGZPBET.js → chunk-YUS4SJPV.js} +2 -2
- package/dist/{chunk-235XZBTZ.js → chunk-YVQ4Q626.js} +2 -2
- package/dist/chunk-ZI7EPJT7.js +2 -0
- package/dist/chunk-ZI7EPJT7.js.map +1 -0
- package/dist/{chunk-HDTQOERP.js → chunk-ZLTZKUXL.js} +2 -2
- package/dist/{chunk-57Y5XQ3D.js → chunk-ZQGG2KNM.js} +2 -2
- package/dist/default-components.js +1 -1
- package/dist/default-components.js.map +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentBack.d.ts +2 -2
- package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.d.ts +2 -2
- package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.js +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentFlow.d.ts +2 -2
- package/dist/flows/ContractAmendment/ContractAmendmentFlow.js +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentForm.d.ts +2 -2
- package/dist/flows/ContractAmendment/ContractAmendmentForm.js +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentSubmit.d.ts +2 -2
- package/dist/flows/ContractAmendment/context.d.ts +4 -4
- package/dist/flows/ContractAmendment/hooks.d.ts +2 -2
- package/dist/flows/ContractAmendment/index.js +1 -1
- package/dist/flows/ContractDocument/ContractDocumentFlow.d.ts +13 -0
- package/dist/flows/ContractDocument/ContractDocumentFlow.js +2 -0
- package/dist/flows/ContractDocument/ContractDocumentFlow.js.map +1 -0
- package/dist/flows/ContractDocument/context.d.ts +38 -0
- package/dist/flows/ContractDocument/context.js +2 -0
- package/dist/flows/ContractDocument/context.js.map +1 -0
- package/dist/flows/ContractDocument/hooks.d.ts +5 -0
- package/dist/flows/ContractDocument/hooks.js +2 -0
- package/dist/flows/ContractDocument/hooks.js.map +1 -0
- package/dist/flows/ContractDocument/index.d.ts +6 -0
- package/dist/flows/ContractDocument/index.js +2 -0
- package/dist/flows/ContractDocument/index.js.map +1 -0
- package/dist/flows/ContractDocument/types.d.ts +5 -0
- package/dist/flows/ContractDocument/types.js +1 -0
- package/dist/flows/ContractDocument/types.js.map +1 -0
- package/dist/flows/ContractDocument/utils.d.ts +15 -0
- package/dist/flows/ContractDocument/utils.js +2 -0
- package/dist/flows/ContractDocument/utils.js.map +1 -0
- package/dist/flows/ContractorOnboarding/ContractorOnboarding.d.ts +4 -4
- package/dist/flows/ContractorOnboarding/ContractorOnboarding.js +1 -1
- package/dist/flows/ContractorOnboarding/api.js +1 -1
- package/dist/flows/ContractorOnboarding/components/BasicInformationStep.d.ts +3 -3
- package/dist/flows/ContractorOnboarding/components/BasicInformationStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.d.ts +2 -2
- package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/ContractOriginStep.d.ts +2 -2
- package/dist/flows/ContractorOnboarding/components/ContractOriginStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/ContractPreviewHeader.d.ts +2 -2
- package/dist/flows/ContractorOnboarding/components/ContractPreviewStatement.d.ts +2 -2
- package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.d.ts +2 -2
- package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/ContractReviewButton.d.ts +2 -2
- package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.d.ts +4 -4
- package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.js +1 -1
- package/dist/flows/ContractorOnboarding/components/CreateInvoiceScheduleStep.d.ts +2 -2
- package/dist/flows/ContractorOnboarding/components/CreateInvoiceScheduleStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.d.ts +2 -2
- package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/InvoiceScheduleStep.d.ts +2 -2
- package/dist/flows/ContractorOnboarding/components/InvoiceScheduleStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/OnboardingBack.d.ts +2 -2
- package/dist/flows/ContractorOnboarding/components/OnboardingInvite.d.ts +2 -2
- package/dist/flows/ContractorOnboarding/components/OnboardingInvite.js +1 -1
- package/dist/flows/ContractorOnboarding/components/OnboardingSubmit.d.ts +2 -2
- package/dist/flows/ContractorOnboarding/components/PreviewInvoiceButton.d.ts +2 -2
- package/dist/flows/ContractorOnboarding/components/PricingPlan.d.ts +2 -2
- package/dist/flows/ContractorOnboarding/components/PricingPlan.js +1 -1
- package/dist/flows/ContractorOnboarding/components/SaveDraftButton.d.ts +2 -2
- package/dist/flows/ContractorOnboarding/components/SelectCountryStep.d.ts +3 -3
- package/dist/flows/ContractorOnboarding/components/SelectCountryStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/SkipInvoiceScheduleButton.d.ts +2 -2
- package/dist/flows/ContractorOnboarding/components/StatementOfWorkDisclaimer.d.ts +2 -2
- package/dist/flows/ContractorOnboarding/context.d.ts +6 -6
- package/dist/flows/ContractorOnboarding/hooks.d.ts +2 -2
- package/dist/flows/ContractorOnboarding/hooks.js +1 -1
- package/dist/flows/ContractorOnboarding/index.d.ts +2 -2
- package/dist/flows/ContractorOnboarding/index.js +1 -1
- package/dist/flows/ContractorOnboarding/jsfModify.d.ts +2 -2
- package/dist/flows/ContractorOnboarding/types.d.ts +2 -2
- package/dist/flows/ContractorOnboarding/utils.d.ts +1 -1
- package/dist/flows/CostCalculator/CostCalculatorFlow.d.ts +3 -3
- package/dist/flows/CostCalculator/CostCalculatorFlow.js +1 -1
- package/dist/flows/CostCalculator/CostCalculatorForm.d.ts +2 -2
- package/dist/flows/CostCalculator/CostCalculatorForm.js +1 -1
- package/dist/flows/CostCalculator/CostCalculatorResetButton.d.ts +2 -2
- package/dist/flows/CostCalculator/CostCalculatorSubmitButton.d.ts +2 -2
- package/dist/flows/CostCalculator/EstimationResults/EstimationResults.d.ts +2 -2
- package/dist/flows/CostCalculator/SummaryResults/SummaryResults.d.ts +2 -2
- 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 +2 -2
- package/dist/flows/CostCalculator/hooks.js +1 -1
- package/dist/flows/CostCalculator/index.js +1 -1
- package/dist/flows/CostCalculator/utils.js +1 -1
- package/dist/flows/CreateCompany/CreateCompany.d.ts +3 -3
- package/dist/flows/CreateCompany/CreateCompany.js +1 -1
- package/dist/flows/CreateCompany/components/AddressDetailsStep.d.ts +1 -1
- package/dist/flows/CreateCompany/components/AddressDetailsStep.js +1 -1
- package/dist/flows/CreateCompany/components/CompanyBasicInformationStep.d.ts +1 -1
- 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.d.ts +2 -2
- package/dist/flows/CreateCompany/context.d.ts +4 -4
- package/dist/flows/CreateCompany/hooks.d.ts +1 -1
- package/dist/flows/CreateCompany/hooks.js +1 -1
- package/dist/flows/CreateCompany/index.d.ts +1 -1
- package/dist/flows/CreateCompany/index.js +1 -1
- package/dist/flows/CreateCompany/types.d.ts +1 -1
- package/dist/flows/InvoiceSchedule/InvoiceScheduleFlow.d.ts +3 -3
- package/dist/flows/InvoiceSchedule/InvoiceScheduleForm.d.ts +2 -2
- package/dist/flows/InvoiceSchedule/InvoiceScheduleForm.js +1 -1
- package/dist/flows/InvoiceSchedule/InvoiceSchedulePreviewButton.d.ts +2 -2
- package/dist/flows/InvoiceSchedule/InvoiceScheduleSubmitButton.d.ts +2 -2
- package/dist/flows/InvoiceSchedule/context.d.ts +2 -2
- package/dist/flows/InvoiceSchedule/index.js +1 -1
- package/dist/flows/JsonSchemaPlayground/JsonSchemaPlaygroundFlow.d.ts +3 -3
- package/dist/flows/JsonSchemaPlayground/JsonSchemaPlaygroundFlow.js +1 -1
- package/dist/flows/JsonSchemaPlayground/JsonSchemaPlaygroundForm.d.ts +2 -2
- package/dist/flows/JsonSchemaPlayground/JsonSchemaPlaygroundForm.js +1 -1
- package/dist/flows/JsonSchemaPlayground/JsonSchemaPlaygroundResetButton.d.ts +2 -2
- package/dist/flows/JsonSchemaPlayground/JsonSchemaPlaygroundSubmitButton.d.ts +2 -2
- package/dist/flows/JsonSchemaPlayground/context.d.ts +2 -2
- package/dist/flows/JsonSchemaPlayground/index.js +1 -1
- package/dist/flows/Onboarding/OnboardingFlow.d.ts +3 -3
- package/dist/flows/Onboarding/OnboardingFlow.js +1 -1
- package/dist/flows/Onboarding/api.d.ts +1 -1
- 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 +1 -1
- package/dist/flows/Onboarding/components/BasicInformationStep.js +1 -1
- package/dist/flows/Onboarding/components/BenefitsStep.d.ts +1 -1
- package/dist/flows/Onboarding/components/BenefitsStep.js +1 -1
- package/dist/flows/Onboarding/components/ContractDetailsStep.d.ts +1 -1
- package/dist/flows/Onboarding/components/ContractDetailsStep.js +1 -1
- package/dist/flows/Onboarding/components/DailySchedule/DailySchedule.d.ts +2 -2
- package/dist/flows/Onboarding/components/DailySchedule/DailySchedule.js +1 -1
- package/dist/flows/Onboarding/components/DailySchedule/DailyScheduleContainer.d.ts +2 -2
- package/dist/flows/Onboarding/components/DailySchedule/DailyScheduleContainer.js +1 -1
- package/dist/flows/Onboarding/components/DailySchedule/DailyScheduleEditForm.d.ts +15 -0
- package/dist/flows/Onboarding/components/DailySchedule/DailyScheduleEditForm.js +2 -0
- package/dist/flows/Onboarding/components/DailySchedule/DailyScheduleEditForm.js.map +1 -0
- package/dist/flows/Onboarding/components/DailySchedule/DailyScheduleHoursErrorBanner.d.ts +2 -2
- package/dist/flows/Onboarding/components/DailySchedule/DailyScheduleSummaryBody.d.ts +2 -2
- package/dist/flows/Onboarding/components/DailySchedule/DailyScheduleSummaryBody.js +1 -1
- package/dist/flows/Onboarding/components/DailySchedule/EditEmployeeWorkingHoursDialog.d.ts +21 -0
- package/dist/flows/Onboarding/components/DailySchedule/EditEmployeeWorkingHoursDialog.js +2 -0
- package/dist/flows/Onboarding/components/DailySchedule/EditEmployeeWorkingHoursDialog.js.map +1 -0
- package/dist/flows/Onboarding/components/DailySchedule/constants.d.ts +10 -0
- package/dist/flows/Onboarding/components/DailySchedule/constants.js +2 -0
- package/dist/flows/Onboarding/components/DailySchedule/constants.js.map +1 -0
- package/dist/flows/Onboarding/components/DailySchedule/types.d.ts +78 -5
- package/dist/flows/Onboarding/components/DailySchedule/useDailyScheduleEditForm.d.ts +54 -0
- package/dist/flows/Onboarding/components/DailySchedule/useDailyScheduleEditForm.js +2 -0
- package/dist/flows/Onboarding/components/DailySchedule/useDailyScheduleEditForm.js.map +1 -0
- package/dist/flows/Onboarding/components/DailySchedule/utils.d.ts +14 -2
- package/dist/flows/Onboarding/components/DailySchedule/utils.js +1 -1
- package/dist/flows/Onboarding/components/EmploymentAgreementInfoContent.d.ts +2 -2
- package/dist/flows/Onboarding/components/EmploymentAgreementInfoContent.js +1 -1
- package/dist/flows/Onboarding/components/EngagementAgreementDetailsStep.d.ts +1 -1
- package/dist/flows/Onboarding/components/EngagementAgreementDetailsStep.js +1 -1
- package/dist/flows/Onboarding/components/EquityPriceDetails.d.ts +2 -2
- package/dist/flows/Onboarding/components/OnboardingBack.d.ts +2 -2
- package/dist/flows/Onboarding/components/OnboardingForm.d.ts +3 -3
- package/dist/flows/Onboarding/components/OnboardingForm.js +1 -1
- package/dist/flows/Onboarding/components/OnboardingInvite.d.ts +2 -2
- package/dist/flows/Onboarding/components/OnboardingInvite.js +1 -1
- package/dist/flows/Onboarding/components/OnboardingSubmit.d.ts +2 -2
- package/dist/flows/Onboarding/components/PreOnboardingRequirements.d.ts +1 -1
- package/dist/flows/Onboarding/components/PreOnboardingRequirements.js +1 -1
- package/dist/flows/Onboarding/components/PreviewEmploymentAgreementStep.d.ts +2 -2
- package/dist/flows/Onboarding/components/PreviewEmploymentAgreementStep.js +1 -1
- package/dist/flows/Onboarding/components/ReviewStep.d.ts +1 -1
- package/dist/flows/Onboarding/components/SaveDraftButton.d.ts +2 -2
- package/dist/flows/Onboarding/components/SelectCountryStep.d.ts +1 -1
- package/dist/flows/Onboarding/components/SelectCountryStep.js +1 -1
- package/dist/flows/Onboarding/context.d.ts +5 -5
- package/dist/flows/Onboarding/hooks.d.ts +1 -1
- package/dist/flows/Onboarding/hooks.js +1 -1
- package/dist/flows/Onboarding/index.d.ts +1 -1
- package/dist/flows/Onboarding/index.js +1 -1
- package/dist/flows/Onboarding/types.d.ts +1 -1
- package/dist/flows/Onboarding/utils.d.ts +1 -1
- package/dist/flows/PayrollAdminOnboarding/PayrollAdminOnboardingFlow.d.ts +4 -4
- package/dist/flows/PayrollAdminOnboarding/PayrollAdminOnboardingFlow.js +1 -1
- package/dist/flows/PayrollAdminOnboarding/components/AdministrativeDetailsStep.d.ts +2 -2
- package/dist/flows/PayrollAdminOnboarding/components/AdministrativeDetailsStep.js +1 -1
- package/dist/flows/PayrollAdminOnboarding/components/BackButton.d.ts +2 -2
- package/dist/flows/PayrollAdminOnboarding/components/ContractDetailsStep.d.ts +2 -2
- package/dist/flows/PayrollAdminOnboarding/components/ContractDetailsStep.js +1 -1
- package/dist/flows/PayrollAdminOnboarding/components/InvitationStep.d.ts +2 -2
- package/dist/flows/PayrollAdminOnboarding/components/InvitationStep.js +1 -1
- package/dist/flows/PayrollAdminOnboarding/components/PayrollAdminForm.d.ts +2 -2
- package/dist/flows/PayrollAdminOnboarding/components/PayrollAdminForm.js +1 -1
- package/dist/flows/PayrollAdminOnboarding/components/SelectCountryStep.d.ts +2 -2
- package/dist/flows/PayrollAdminOnboarding/components/SelectCountryStep.js +1 -1
- package/dist/flows/PayrollAdminOnboarding/components/SubmitButton.d.ts +2 -2
- package/dist/flows/PayrollAdminOnboarding/context.d.ts +4 -4
- package/dist/flows/PayrollAdminOnboarding/hooks.d.ts +2 -2
- package/dist/flows/PayrollAdminOnboarding/index.d.ts +2 -2
- package/dist/flows/PayrollAdminOnboarding/index.js +1 -1
- package/dist/flows/PayrollAdminOnboarding/types.d.ts +2 -2
- package/dist/flows/PayrollEmployeeOnboarding/PayrollEmployeeOnboardingFlow.d.ts +4 -4
- package/dist/flows/PayrollEmployeeOnboarding/PayrollEmployeeOnboardingFlow.js +1 -1
- package/dist/flows/PayrollEmployeeOnboarding/components/BackButton.d.ts +2 -2
- package/dist/flows/PayrollEmployeeOnboarding/components/BankAccountStep.d.ts +2 -2
- package/dist/flows/PayrollEmployeeOnboarding/components/BankAccountStep.js +1 -1
- package/dist/flows/PayrollEmployeeOnboarding/components/FederalTaxesStep.d.ts +2 -2
- package/dist/flows/PayrollEmployeeOnboarding/components/FederalTaxesStep.js +1 -1
- package/dist/flows/PayrollEmployeeOnboarding/components/HomeAddressStep.d.ts +2 -2
- package/dist/flows/PayrollEmployeeOnboarding/components/HomeAddressStep.js +1 -1
- package/dist/flows/PayrollEmployeeOnboarding/components/PayrollEmployeeForm.d.ts +2 -2
- package/dist/flows/PayrollEmployeeOnboarding/components/PayrollEmployeeForm.js +1 -1
- package/dist/flows/PayrollEmployeeOnboarding/components/PersonalDetailsStep.d.ts +2 -2
- package/dist/flows/PayrollEmployeeOnboarding/components/PersonalDetailsStep.js +1 -1
- package/dist/flows/PayrollEmployeeOnboarding/components/StateTaxesStep.d.ts +2 -2
- package/dist/flows/PayrollEmployeeOnboarding/components/StateTaxesStep.js +1 -1
- package/dist/flows/PayrollEmployeeOnboarding/components/SubmitButton.d.ts +2 -2
- package/dist/flows/PayrollEmployeeOnboarding/context.d.ts +4 -4
- package/dist/flows/PayrollEmployeeOnboarding/hooks.d.ts +2 -2
- package/dist/flows/PayrollEmployeeOnboarding/hooks.js +1 -1
- package/dist/flows/PayrollEmployeeOnboarding/index.d.ts +2 -2
- package/dist/flows/PayrollEmployeeOnboarding/index.js +1 -1
- package/dist/flows/PayrollEmployeeOnboarding/types.d.ts +2 -2
- package/dist/flows/Termination/AdditionalDetailsForm.d.ts +1 -1
- package/dist/flows/Termination/AdditionalDetailsForm.js +1 -1
- package/dist/flows/Termination/EmployeeComunicationForm.d.ts +1 -1
- package/dist/flows/Termination/EmployeeComunicationForm.js +1 -1
- package/dist/flows/Termination/PaidTimeOffForm.d.ts +1 -1
- package/dist/flows/Termination/PaidTimeOffForm.js +1 -1
- package/dist/flows/Termination/TerminationBack.d.ts +2 -2
- package/dist/flows/Termination/TerminationDetailsForm.d.ts +1 -1
- package/dist/flows/Termination/TerminationDetailsForm.js +1 -1
- package/dist/flows/Termination/TerminationFlow.d.ts +3 -3
- package/dist/flows/Termination/TerminationFlow.js +1 -1
- package/dist/flows/Termination/TerminationForm.d.ts +3 -3
- package/dist/flows/Termination/TerminationForm.js +1 -1
- package/dist/flows/Termination/TerminationSubmit.d.ts +2 -2
- package/dist/flows/Termination/api.d.ts +2 -2
- package/dist/flows/Termination/api.js +1 -1
- package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInfomationContainer.d.ts +2 -2
- package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformation.d.ts +2 -2
- package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformationFees.d.ts +2 -2
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.d.ts +4 -4
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.js +1 -1
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.d.ts +4 -4
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.js +1 -1
- package/dist/flows/Termination/components/PaidTimeOff/types.d.ts +2 -2
- package/dist/flows/Termination/components/TerminationDialogInfoContent/TerminationDialogInfoContent.d.ts +2 -2
- package/dist/flows/Termination/components/TerminationDialogInfoContent/TerminationDialogInfoContent.js +1 -1
- package/dist/flows/Termination/components/TerminationReasonsDetailContent/TerminationReasonsDetailContent.d.ts +2 -2
- package/dist/flows/Termination/context.d.ts +5 -5
- package/dist/flows/Termination/hooks.d.ts +1 -1
- package/dist/flows/Termination/hooks.js +1 -1
- package/dist/flows/Termination/index.d.ts +2 -2
- 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 +1 -1
- package/dist/flows/Termination/json-schemas/schema.js +1 -1
- package/dist/flows/Termination/types.d.ts +1 -1
- package/dist/flows/Termination/utils.d.ts +1 -1
- package/dist/flows/Termination/utils.js +1 -1
- package/dist/flows/useStepState.d.ts +2 -2
- package/dist/index.css +1 -1
- package/dist/index.css.map +1 -1
- package/dist/index.d.ts +17 -11
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/internals.d.ts +62 -59
- package/dist/internals.js +1 -1
- package/dist/styles.css +1 -1
- package/dist/styles.css.map +1 -1
- package/dist/{types-B2hGbfw_.d.ts → types-B3gx0d05.d.ts} +4 -4
- package/dist/{types-C3sJ1GdL.d.ts → types-CUM3UF3m.d.ts} +8 -8
- package/dist/{types-CTIVW_BN.d.ts → types-DFnvapWX.d.ts} +15 -10
- package/dist/{types-DKfzko2j.d.ts → types-DhMtx0eA.d.ts} +4 -4
- package/dist/{types-p2MsBnGq.d.ts → types-KKMzDO4l.d.ts} +3 -3
- package/dist/{types-Ce5Sou3Z.d.ts → types-PlplBXal.d.ts} +9 -9
- package/dist/types-Q5jEmNSC.d.ts +62 -0
- package/package.json +6 -2
- package/dist/CheckboxFieldDefault-23VE43PP.js +0 -2
- package/dist/CountryFieldDefault-FVAAL55P.js +0 -2
- package/dist/DatePickerFieldDefault-KXEMGK5B.js +0 -2
- package/dist/EmailFieldDefault-OFHDLOOT.js +0 -2
- package/dist/FileUploadFieldDefault-GX22C22E.js +0 -2
- package/dist/ForcedValueFieldDefault-ESITCZWK.js +0 -2
- package/dist/MultiSelectFieldDefault-DAUBH5JV.js +0 -2
- package/dist/NumberFieldDefault-MXZD7YVE.js +0 -2
- package/dist/RadioGroupFieldDefault-QFUUJGSR.js +0 -2
- package/dist/SelectFieldDefault-3QTJE222.js +0 -2
- package/dist/TelFieldDefault-5U5X37LI.js +0 -2
- package/dist/TextAreaFieldDefault-JX2MVJVY.js +0 -2
- package/dist/TextFieldDefault-WCUD6XYS.js +0 -2
- package/dist/TimeFieldDefault-UNF7PKLT.js +0 -2
- package/dist/WorkScheduleFieldDefault-2A2RCDXV.js +0 -2
- package/dist/chunk-2EXX7BNU.js +0 -2
- package/dist/chunk-2EXX7BNU.js.map +0 -1
- package/dist/chunk-3B7FASV7.js +0 -2
- package/dist/chunk-3B7FASV7.js.map +0 -1
- package/dist/chunk-7PEZVTSQ.js +0 -2
- package/dist/chunk-7PEZVTSQ.js.map +0 -1
- package/dist/chunk-7TELDH6M.js +0 -2
- package/dist/chunk-7TELDH6M.js.map +0 -1
- package/dist/chunk-ANPNVWCB.js +0 -2
- package/dist/chunk-C7KVPEVX.js +0 -2
- package/dist/chunk-C7KVPEVX.js.map +0 -1
- package/dist/chunk-COQVI5OD.js +0 -2
- package/dist/chunk-COQVI5OD.js.map +0 -1
- package/dist/chunk-EP3BNRH3.js +0 -2
- package/dist/chunk-EP3BNRH3.js.map +0 -1
- package/dist/chunk-FIJSNO57.js +0 -2
- package/dist/chunk-FIJSNO57.js.map +0 -1
- package/dist/chunk-GNVGW65D.js +0 -2
- package/dist/chunk-LY5PCHQ2.js +0 -2
- package/dist/chunk-MNHXHKTE.js +0 -2
- package/dist/chunk-NQSJBVFL.js +0 -2
- package/dist/chunk-NQSJBVFL.js.map +0 -1
- package/dist/chunk-SMCLTRJW.js +0 -2
- package/dist/chunk-SMCLTRJW.js.map +0 -1
- package/dist/chunk-TUIEY7ZM.js +0 -2
- package/dist/chunk-UBWNTSWS.js +0 -2
- package/dist/chunk-UBWNTSWS.js.map +0 -1
- package/dist/chunk-ZULOHKU6.js +0 -2
- package/dist/flows/Onboarding/json-schemas/selectCountryStep.d.ts +0 -27
- package/dist/flows/Onboarding/json-schemas/selectCountryStep.js +0 -2
- /package/dist/{CheckboxFieldDefault-23VE43PP.js.map → CheckboxFieldDefault-IAB3SNK3.js.map} +0 -0
- /package/dist/{CountryFieldDefault-FVAAL55P.js.map → CountryFieldDefault-BVEQY5Q6.js.map} +0 -0
- /package/dist/{DatePickerFieldDefault-KXEMGK5B.js.map → DatePickerFieldDefault-AZFURBQX.js.map} +0 -0
- /package/dist/{EmailFieldDefault-OFHDLOOT.js.map → EmailFieldDefault-R7LQD4WN.js.map} +0 -0
- /package/dist/{FileUploadFieldDefault-GX22C22E.js.map → FileUploadFieldDefault-WSBZKLNC.js.map} +0 -0
- /package/dist/{ForcedValueFieldDefault-ESITCZWK.js.map → ForcedValueFieldDefault-N3IS2F36.js.map} +0 -0
- /package/dist/{MultiSelectFieldDefault-DAUBH5JV.js.map → MultiSelectFieldDefault-XW2WTPDC.js.map} +0 -0
- /package/dist/{NumberFieldDefault-MXZD7YVE.js.map → NumberFieldDefault-U5SJAHHQ.js.map} +0 -0
- /package/dist/{RadioGroupFieldDefault-QFUUJGSR.js.map → RadioGroupFieldDefault-SXO7A5NI.js.map} +0 -0
- /package/dist/{SelectFieldDefault-3QTJE222.js.map → SelectFieldDefault-7NL7VFYH.js.map} +0 -0
- /package/dist/{TelFieldDefault-5U5X37LI.js.map → TelFieldDefault-VDUP2THF.js.map} +0 -0
- /package/dist/{TextAreaFieldDefault-JX2MVJVY.js.map → TextAreaFieldDefault-JEVFVXO7.js.map} +0 -0
- /package/dist/{TextFieldDefault-WCUD6XYS.js.map → TextFieldDefault-EMXPSK7U.js.map} +0 -0
- /package/dist/{TimeFieldDefault-UNF7PKLT.js.map → TimeFieldDefault-4WDEHMIJ.js.map} +0 -0
- /package/dist/{WorkScheduleFieldDefault-2A2RCDXV.js.map → WorkScheduleFieldDefault-YFHD6UUW.js.map} +0 -0
- /package/dist/{chunk-UWIUECXU.js.map → chunk-2BH4CIY3.js.map} +0 -0
- /package/dist/{chunk-YRRX7EOU.js.map → chunk-2IUT7KWS.js.map} +0 -0
- /package/dist/{chunk-3WRO57UF.js.map → chunk-3BB4KEIH.js.map} +0 -0
- /package/dist/{chunk-OJ4TXF6G.js.map → chunk-3CZLKNIW.js.map} +0 -0
- /package/dist/{chunk-MGCW2SS4.js.map → chunk-3DPDFOYO.js.map} +0 -0
- /package/dist/{chunk-335N2CVQ.js.map → chunk-3JH25AAF.js.map} +0 -0
- /package/dist/{chunk-YANQP45B.js.map → chunk-4FKQXGBR.js.map} +0 -0
- /package/dist/{chunk-4KIOOLOG.js.map → chunk-4ULD4YI7.js.map} +0 -0
- /package/dist/{chunk-EQOOVJ7K.js.map → chunk-4X5DGXVM.js.map} +0 -0
- /package/dist/{chunk-I53YCEOC.js.map → chunk-5POY6QBR.js.map} +0 -0
- /package/dist/{chunk-QIY6K2FB.js.map → chunk-5QTSHKLK.js.map} +0 -0
- /package/dist/{chunk-JKNE2D47.js.map → chunk-625V5NV7.js.map} +0 -0
- /package/dist/{chunk-JUSQGITN.js.map → chunk-7DQOA753.js.map} +0 -0
- /package/dist/{chunk-6OLV37C2.js.map → chunk-7JZWL4DI.js.map} +0 -0
- /package/dist/{chunk-4BFGSBOK.js.map → chunk-A4WXUJPL.js.map} +0 -0
- /package/dist/{chunk-OT5JE2SM.js.map → chunk-AVFWX6M6.js.map} +0 -0
- /package/dist/{chunk-GF4MSLVP.js.map → chunk-BQKSMAW3.js.map} +0 -0
- /package/dist/{chunk-FFRROEPQ.js.map → chunk-C3LOTWEB.js.map} +0 -0
- /package/dist/{chunk-ROVMQ5NT.js.map → chunk-CKOXMDGX.js.map} +0 -0
- /package/dist/{chunk-VRZJWJGM.js.map → chunk-DAZQJZOF.js.map} +0 -0
- /package/dist/{chunk-HKNQKO5Y.js.map → chunk-DC4ZTOZE.js.map} +0 -0
- /package/dist/{chunk-ADL2ZH54.js.map → chunk-EEGKPPQK.js.map} +0 -0
- /package/dist/{chunk-3DOSHTJS.js.map → chunk-F3YBR2IP.js.map} +0 -0
- /package/dist/{chunk-MOOSPB2G.js.map → chunk-FB23WOLZ.js.map} +0 -0
- /package/dist/{chunk-MZFT4MWM.js.map → chunk-FZMUZRZN.js.map} +0 -0
- /package/dist/{chunk-B2WE3PSY.js.map → chunk-G4TPPC5G.js.map} +0 -0
- /package/dist/{flows/Onboarding/json-schemas/selectCountryStep.js.map → chunk-GA7B6FUD.js.map} +0 -0
- /package/dist/{chunk-I5NW7AQZ.js.map → chunk-GFGO7E5V.js.map} +0 -0
- /package/dist/{chunk-2L6AB46E.js.map → chunk-GYMFEHNM.js.map} +0 -0
- /package/dist/{chunk-XLHTMWJ3.js.map → chunk-GZGBZT7Y.js.map} +0 -0
- /package/dist/{chunk-OAX6TPIP.js.map → chunk-H4ZSTP7B.js.map} +0 -0
- /package/dist/{chunk-KD7UBTZG.js.map → chunk-HDFNGXCV.js.map} +0 -0
- /package/dist/{chunk-KSSQR2CS.js.map → chunk-IPQZBMOO.js.map} +0 -0
- /package/dist/{chunk-NVOUXFGX.js.map → chunk-IRQJR7KU.js.map} +0 -0
- /package/dist/{chunk-SDPYDCS7.js.map → chunk-IYH7D5ET.js.map} +0 -0
- /package/dist/{chunk-WNOQNNRR.js.map → chunk-JIGRVBQS.js.map} +0 -0
- /package/dist/{chunk-5FST4WDH.js.map → chunk-KSCJNGWW.js.map} +0 -0
- /package/dist/{chunk-ANPNVWCB.js.map → chunk-KUQJG26N.js.map} +0 -0
- /package/dist/{chunk-PJAHLEOR.js.map → chunk-KXTESNWQ.js.map} +0 -0
- /package/dist/{chunk-WU66SHVJ.js.map → chunk-LOFKF243.js.map} +0 -0
- /package/dist/{chunk-BYD4TSDD.js.map → chunk-LRXKF2LC.js.map} +0 -0
- /package/dist/{chunk-L7FN3XPX.js.map → chunk-M2UGSIVQ.js.map} +0 -0
- /package/dist/{chunk-BQGTMOIQ.js.map → chunk-N2WIEKM6.js.map} +0 -0
- /package/dist/{chunk-IJS67A57.js.map → chunk-NHWKX4ED.js.map} +0 -0
- /package/dist/{chunk-LJ32QPJF.js.map → chunk-NWY6UVCV.js.map} +0 -0
- /package/dist/{chunk-SV35IBBH.js.map → chunk-PDOPI7HR.js.map} +0 -0
- /package/dist/{chunk-3NC2JJM3.js.map → chunk-PEBKJFMW.js.map} +0 -0
- /package/dist/{chunk-GIBD2ZCJ.js.map → chunk-PSK3Z52M.js.map} +0 -0
- /package/dist/{chunk-J244N33S.js.map → chunk-QB6GQW3J.js.map} +0 -0
- /package/dist/{chunk-4AQMMGXK.js.map → chunk-QFBZ7JTG.js.map} +0 -0
- /package/dist/{chunk-LIZMNUQI.js.map → chunk-QFLUUNBA.js.map} +0 -0
- /package/dist/{chunk-DIPYFRXX.js.map → chunk-QIAMSVGB.js.map} +0 -0
- /package/dist/{chunk-LXABE3VR.js.map → chunk-QNEGC7RZ.js.map} +0 -0
- /package/dist/{chunk-77LDJPXF.js.map → chunk-QOGWAKHP.js.map} +0 -0
- /package/dist/{chunk-4UN7DBEV.js.map → chunk-R2NQ3F6J.js.map} +0 -0
- /package/dist/{chunk-463G2HDA.js.map → chunk-R5THYINT.js.map} +0 -0
- /package/dist/{chunk-6RPIMHYS.js.map → chunk-R6U3F3O3.js.map} +0 -0
- /package/dist/{chunk-KFIUXU6I.js.map → chunk-RWPZYB5B.js.map} +0 -0
- /package/dist/{chunk-PJDHQ4ZQ.js.map → chunk-SQ5OMBOV.js.map} +0 -0
- /package/dist/{chunk-6TLBBS6E.js.map → chunk-SQKFUT6T.js.map} +0 -0
- /package/dist/{chunk-APSKAXM2.js.map → chunk-SSPK7NGT.js.map} +0 -0
- /package/dist/{chunk-3BDWVNHX.js.map → chunk-THUEI7J4.js.map} +0 -0
- /package/dist/{chunk-GSUGHAHA.js.map → chunk-TNWH6PVQ.js.map} +0 -0
- /package/dist/{chunk-3CGFAN3F.js.map → chunk-TSX5CPGE.js.map} +0 -0
- /package/dist/{chunk-XPLWBO73.js.map → chunk-UA22Q6DY.js.map} +0 -0
- /package/dist/{chunk-WHY2WNWH.js.map → chunk-UGQJQM72.js.map} +0 -0
- /package/dist/{chunk-5DPOL3DT.js.map → chunk-UX5LWYEO.js.map} +0 -0
- /package/dist/{chunk-I65OXH33.js.map → chunk-VCJHB56K.js.map} +0 -0
- /package/dist/{chunk-5NN5RWBG.js.map → chunk-VJTAVPZX.js.map} +0 -0
- /package/dist/{chunk-QMMNXGQF.js.map → chunk-W5S3F2WP.js.map} +0 -0
- /package/dist/{chunk-7Y4NHODP.js.map → chunk-WLJX4B55.js.map} +0 -0
- /package/dist/{chunk-B677Q3B3.js.map → chunk-WNGIJIV2.js.map} +0 -0
- /package/dist/{chunk-ZJ55AKB6.js.map → chunk-YCJGDPBN.js.map} +0 -0
- /package/dist/{chunk-H4NJGAN4.js.map → chunk-YFQNP2SL.js.map} +0 -0
- /package/dist/{chunk-PKORRCMX.js.map → chunk-YJTKDCA6.js.map} +0 -0
- /package/dist/{chunk-POIDXI3T.js.map → chunk-YUR2E2H3.js.map} +0 -0
- /package/dist/{chunk-SUGZPBET.js.map → chunk-YUS4SJPV.js.map} +0 -0
- /package/dist/{chunk-235XZBTZ.js.map → chunk-YVQ4Q626.js.map} +0 -0
- /package/dist/{chunk-HDTQOERP.js.map → chunk-ZLTZKUXL.js.map} +0 -0
- /package/dist/{chunk-57Y5XQ3D.js.map → chunk-ZQGG2KNM.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/flows/ContractorOnboarding/hooks.tsx","../src/common/api/legal-entities.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { FieldValues } from 'react-hook-form';\nimport omit from 'lodash.omit';\nimport { $TSFixMe, JSFFields, NestedMeta } from '@/src/types/remoteFlows';\nimport {\n CreateContractDocument,\n Employment,\n EmploymentCreateParams,\n} from '@/src/client/types.gen';\nimport {\n getInitialValues,\n parseJSFToValidate,\n} from '@/src/components/form/utils';\nimport { ValidationResult } from '@remoteoss/remote-json-schema-form-kit';\nimport {\n useCreateContractorContractDocument,\n useGetContractDocumentSignatureSchema,\n usePostManageContractorSubscriptions,\n useContractorSubscriptionSchemaField,\n useGetShowContractDocument,\n useSignContractDocument,\n useUpdateUKandSaudiFields,\n useGetIR35File,\n useGetContractDocuments,\n useGetEligibilityQuestionnaire,\n usePostCreateEligibilityQuestionnaire,\n usePostManageContractorCorSubscription,\n useDeleteContractorCorSubscription,\n useCountriesSchemaField,\n CONTRACT_PRODUCT_TITLES,\n useHasCompanySignedContract,\n useCompanyOpenTasks,\n useSetContractOrigin,\n useGetContractOriginSchema,\n useGetInvoiceScheduleSchema,\n useGetCreateInvoiceScheduleSchema,\n useCreateInvoiceSchedule,\n useUpdateInvoiceSchedule,\n useSkipInvoiceSchedule,\n usePreviewContractorInvoice,\n useGetExistingInvoiceSchedule,\n} from '@/src/flows/ContractorOnboarding/api';\nimport { useContractorContractDetailsSchema } from '@/src/common/api/contractor-contract-details';\nimport {\n ContractorOnboardingFlowProps,\n ContractorOnboardingHookOptions,\n} from '@/src/flows/ContractorOnboarding/types';\nimport {\n buildSteps,\n calculateProvisionalStartDateDescription,\n reviewStepAllowedEmploymentStatus,\n disabledInviteButtonEmploymentStatus,\n StepKeys,\n getBasicInformationSchemaVersion,\n} from '@/src/flows/ContractorOnboarding/utils';\nimport {\n useCreateEmployment,\n useJSONSchemaForm,\n useUpdateEmployment,\n} from '@/src/flows/Onboarding/api';\nimport { FlowOptions, JSFModify, JSONSchemaFormType } from '@/src/flows/types';\nimport { useStepState } from '@/src/flows/useStepState';\nimport { mutationToPromise, isMutationError } from '@/src/lib/mutations';\nimport {\n clearBase64Data,\n createStructuredError,\n prettifyFormValues,\n} from '@/src/lib/utils';\nimport { JSFFieldset } from '@/src/types/remoteFlows';\nimport {\n contractorStandardProductIdentifier,\n contractorPlusProductIdentifier,\n corProductIdentifier,\n eorProductIdentifier,\n REMOTE_AI_ERROR_SOURCE,\n} from '@/src/flows/ContractorOnboarding/constants';\nimport {\n buildBasicInformationJsfModify,\n buildContractDetailsJsfModify,\n buildContractPreviewJsfModify,\n} from '@/src/flows/ContractorOnboarding/jsfModify';\nimport { transformAiErrorResponse } from '@/src/flows/ContractorOnboarding/utils';\nimport {\n AiValidationError,\n ContractorInvoicePreview,\n} from '@/src/flows/ContractorOnboarding/types';\nimport { useUploadFile } from '@/src/common/api/files';\nimport { dataURLtoFile } from '@/src/lib/files';\nimport {\n useEmploymentQuery,\n useBasicInformationQuery,\n} from '@/src/common/api/employment';\nimport { useDefaultLegalEntity } from '@/src/common/api/legal-entities';\n\ntype useContractorOnboardingProps = Omit<\n ContractorOnboardingFlowProps,\n 'render' | 'options'\n> & {\n options: ContractorOnboardingHookOptions;\n};\n\nconst stepToFormSchemaMap: Record<StepKeys, JSONSchemaFormType | null> = {\n select_country: null,\n basic_information: 'employment_basic_information',\n contract_origin: null,\n invoice_schedule: null,\n create_invoice_schedule: null,\n contract_details: null,\n eligibility_questionnaire: null,\n pricing_plan: null,\n contract_preview: null,\n review: null,\n};\n\nconst jsonSchemaToEmployment: Partial<\n Record<JSONSchemaFormType, keyof Employment>\n> = {\n employment_basic_information: 'basic_information',\n};\n\nconst contractOriginMapping: Record<string, string> = {\n remote_contract: 'provided_by_remote',\n // Add other mappings as needed\n};\n\n// Inverse mapping: frontend -> backend\nconst contractOriginToBackend: Record<string, string> = {\n provided_by_remote: 'remote_contract',\n // Add other mappings as needed\n};\n\nexport const useContractorOnboarding = ({\n countryCode,\n externalId,\n employmentId,\n skipSteps,\n options,\n initialValues: onboardingInitialValues,\n}: useContractorOnboardingProps) => {\n const excludeProducts = options?.excludeProducts || [];\n\n const onContractReviewedRef = useRef(options?.onContractReviewed);\n\n useEffect(() => {\n onContractReviewedRef.current = options?.onContractReviewed;\n }, [options?.onContractReviewed]);\n\n const [internalCountryCode, setInternalCountryCode] = useState<string | null>(\n countryCode || null,\n );\n const [internalEmploymentId, setInternalEmploymentId] = useState<\n string | undefined\n >(employmentId);\n const [internalContractDocumentId, setInternalContractDocumentId] = useState<\n string | undefined\n >(undefined);\n const fieldsMetaRef = useRef<{\n select_country: NestedMeta;\n basic_information: NestedMeta;\n contract_origin: NestedMeta;\n invoice_schedule: NestedMeta;\n create_invoice_schedule: NestedMeta;\n contract_details: NestedMeta;\n contract_preview: NestedMeta;\n pricing_plan: NestedMeta;\n eligibility_questionnaire: NestedMeta;\n }>({\n select_country: {},\n basic_information: {},\n contract_origin: {},\n invoice_schedule: {},\n create_invoice_schedule: {},\n contract_details: {},\n contract_preview: {},\n pricing_plan: {},\n eligibility_questionnaire: {},\n });\n\n const [selectedProduct, setSelectedProduct] = useState<string | undefined>(\n undefined,\n );\n\n const [includeEligibilityQuestionnaire, setIncludeEligibilityQuestionnaire] =\n useState<boolean>(false);\n\n const [includeContractPreview, setIncludeContractPreview] =\n useState<boolean>(true);\n\n const [includeContractDetails, setIncludeContractDetails] =\n useState<boolean>(true);\n\n const [includeContractOrigin, setIncludeContractOrigin] =\n useState<boolean>(true);\n\n const [includeInvoiceSchedule, setIncludeInvoiceSchedule] =\n useState<boolean>(false);\n\n const [includeCreateInvoiceSchedule, setIncludeCreateInvoiceSchedule] =\n useState<boolean>(false);\n\n const [pendingNavigationStep, setPendingNavigationStep] =\n useState<StepKeys | null>(null);\n\n const { steps, stepsArray } = useMemo(\n () =>\n buildSteps({\n includeSelectCountry: !skipSteps?.includes('select_country'),\n includeContractOrigin: includeContractOrigin,\n includeInvoiceSchedule: includeInvoiceSchedule,\n includeCreateInvoiceSchedule: includeCreateInvoiceSchedule,\n includeEligibilityQuestionnaire: includeEligibilityQuestionnaire,\n includeContractDetails: includeContractDetails,\n includeContractPreview: includeContractPreview,\n }),\n [\n includeContractOrigin,\n includeInvoiceSchedule,\n includeCreateInvoiceSchedule,\n includeEligibilityQuestionnaire,\n includeContractDetails,\n includeContractPreview,\n skipSteps,\n ],\n );\n\n const {\n fieldValues,\n stepState,\n setFieldValues,\n previousStep,\n nextStep,\n goToStep,\n setStepValues,\n } = useStepState(steps);\n\n useEffect(() => {\n if (pendingNavigationStep) {\n // Now steps have been updated\n goToStep(pendingNavigationStep);\n setPendingNavigationStep(null);\n }\n }, [pendingNavigationStep, goToStep]);\n\n const {\n data: employment,\n isLoading: isLoadingEmployment,\n refetch: refetchEmployment,\n } = useEmploymentQuery({\n employmentId: internalEmploymentId as string,\n queryParams: { exclude_files: true },\n });\n\n const { data: basicInformation, refetch: refetchBasicInformation } =\n useBasicInformationQuery({\n employmentId: internalEmploymentId as string,\n enabled: !!internalEmploymentId,\n });\n\n const defaultLegalEntity = useDefaultLegalEntity();\n\n const { data: openTasks } = useCompanyOpenTasks({\n options: {\n queryOptions: {\n enabled: stepState.currentStep.name === 'review',\n },\n },\n });\n\n const { status: employmentStatus } = employment || {};\n\n const isEmploymentReadOnly =\n employmentStatus &&\n reviewStepAllowedEmploymentStatus.includes(employmentStatus);\n\n const canInvite =\n employmentStatus &&\n !disabledInviteButtonEmploymentStatus.includes(employmentStatus);\n\n const invitedStatus: 'invited' | 'not_invited' = useMemo(() => {\n const invitedStatuses = ['invited', 'initiated'];\n const isInvited =\n employmentStatus && invitedStatuses.includes(employmentStatus);\n\n return isInvited ? 'invited' : 'not_invited';\n }, [employmentStatus]);\n\n const createEmploymentMutation = useCreateEmployment();\n const updateEmploymentMutation = useUpdateEmployment(\n internalCountryCode as string,\n options as $TSFixMe, // TODO: done it as its shared between contractor and onboarding flows\n );\n const createContractorContractDocumentMutation =\n useCreateContractorContractDocument();\n const uploadFileMutation = useUploadFile();\n const { mutateAsync: updateUKandSaudiFieldsMutation } =\n useUpdateUKandSaudiFields(\n createContractorContractDocumentMutation,\n uploadFileMutation,\n fieldValues,\n );\n const createEligibilityQuestionnaireMutation =\n usePostCreateEligibilityQuestionnaire();\n const manageContractorCorSubscriptionMutation =\n usePostManageContractorCorSubscription();\n const setContractOriginMutation = useSetContractOrigin();\n const createInvoiceScheduleMutation = useCreateInvoiceSchedule();\n const updateInvoiceScheduleMutation = useUpdateInvoiceSchedule();\n const skipInvoiceScheduleMutation = useSkipInvoiceSchedule();\n const previewContractorInvoiceMutation = usePreviewContractorInvoice();\n\n const { mutateAsyncOrThrow: updateEmploymentMutationAsync } =\n mutationToPromise(updateEmploymentMutation);\n const signContractDocumentMutation = useSignContractDocument();\n const manageContractorSubscriptionMutation =\n usePostManageContractorSubscriptions();\n const deleteContractorCorSubscriptionMutation =\n useDeleteContractorCorSubscription();\n\n const { mutateAsyncOrThrow: createEmploymentMutationAsync } =\n mutationToPromise(createEmploymentMutation);\n\n const { mutateAsyncOrThrow: createContractorContractDocumentMutationAsync } =\n mutationToPromise(createContractorContractDocumentMutation);\n\n const { mutateAsyncOrThrow: signContractDocumentMutationAsync } =\n mutationToPromise(signContractDocumentMutation);\n\n const { mutateAsyncOrThrow: manageContractorSubscriptionMutationAsync } =\n mutationToPromise(manageContractorSubscriptionMutation);\n\n const { mutateAsyncOrThrow: createEligibilityQuestionnaireMutationAsync } =\n mutationToPromise(createEligibilityQuestionnaireMutation);\n\n const { mutateAsyncOrThrow: manageContractorCorSubscriptionMutationAsync } =\n mutationToPromise(manageContractorCorSubscriptionMutation);\n\n const { mutateAsyncOrThrow: deleteContractorCorSubscriptionMutationAsync } =\n mutationToPromise(deleteContractorCorSubscriptionMutation);\n\n const { mutateAsyncOrThrow: setContractOriginMutationAsync } =\n mutationToPromise(setContractOriginMutation);\n\n const { mutateAsyncOrThrow: createInvoiceScheduleMutationAsync } =\n mutationToPromise(createInvoiceScheduleMutation);\n\n const { mutateAsyncOrThrow: updateInvoiceScheduleMutationAsync } =\n mutationToPromise(updateInvoiceScheduleMutation);\n\n const { mutateAsyncOrThrow: skipInvoiceScheduleMutationAsync } =\n mutationToPromise(skipInvoiceScheduleMutation);\n\n const { mutateAsyncOrThrow: previewContractorInvoiceMutationAsync } =\n mutationToPromise(previewContractorInvoiceMutation);\n\n // if the employment is loaded, country code has not been set yet\n // we set the internal country code with the employment country code\n if (employmentId && employment?.country?.code && !internalCountryCode) {\n setInternalCountryCode(employment.country.code);\n }\n\n const {\n selectCountryForm,\n isLoading: isLoadingCountries,\n countries,\n } = useCountriesSchemaField({\n jsfModify: options?.jsfModify?.select_country,\n });\n\n const selectedCountry = useMemo(() => {\n return countries?.find((country) => country.value === internalCountryCode);\n }, [countries, internalCountryCode]);\n\n const countryName = useMemo(() => {\n return selectedCountry?.label;\n }, [selectedCountry]);\n\n const isPricingPlanEnabled =\n stepState.currentStep.name === 'pricing_plan' ||\n (Boolean(employmentId) && isEmploymentReadOnly);\n\n const {\n form: selectContractorSubscriptionForm,\n isLoading: isLoadingContractorSubscriptions,\n contractorSubscriptions,\n filteredContractorSubscriptions,\n refetch: refetchContractorSubscriptions,\n isEligibilityQuestionnaireBlocked,\n } = useContractorSubscriptionSchemaField(\n internalEmploymentId as string,\n selectedCountry,\n {\n jsonSchemaVersion: options?.jsonSchemaVersion,\n queryOptions: {\n enabled: isPricingPlanEnabled,\n },\n excludeProducts: excludeProducts,\n jsfModify: options?.jsfModify?.pricing_plan,\n },\n );\n\n const hasEligibilityQuestionnaireSubmitted = useMemo(() => {\n return Boolean(\n contractorSubscriptions?.find(\n (subscription) =>\n subscription.product.identifier === corProductIdentifier,\n )?.eligibility_questionnaire?.submitted_at,\n );\n }, [contractorSubscriptions]);\n\n const shouldIncludeEligibilityQuestionnaire = useMemo(() => {\n if (hasEligibilityQuestionnaireSubmitted) return false;\n return selectedProduct === corProductIdentifier;\n }, [hasEligibilityQuestionnaireSubmitted, selectedProduct]);\n\n const shouldIncludeContractPreview = employment?.contractor_type !== 'cor';\n\n const rawContractOrigin =\n (stepState.currentStep.name === 'contract_origin'\n ? fieldValues.contract_origin\n : undefined) ??\n stepState.values?.contract_origin?.contract_origin ??\n basicInformation?.contract_origin;\n\n const selectedContractOrigin =\n contractOriginMapping[rawContractOrigin] ?? rawContractOrigin;\n\n const isContractProvidedByCustomer =\n selectedProduct === contractorStandardProductIdentifier &&\n selectedContractOrigin === 'provided_by_customer';\n\n useEffect(() => {\n setIncludeContractDetails(!isContractProvidedByCustomer);\n }, [isContractProvidedByCustomer]);\n\n useEffect(() => {\n setIncludeEligibilityQuestionnaire(\n !isContractProvidedByCustomer && shouldIncludeEligibilityQuestionnaire,\n );\n }, [isContractProvidedByCustomer, shouldIncludeEligibilityQuestionnaire]);\n\n useEffect(() => {\n setIncludeContractPreview(\n !isContractProvidedByCustomer && shouldIncludeContractPreview,\n );\n }, [isContractProvidedByCustomer, shouldIncludeContractPreview]);\n\n const eligibilityAnswers = useMemo(() => {\n return contractorSubscriptions?.find(\n (subscription) =>\n subscription.product.identifier === corProductIdentifier,\n )?.eligibility_questionnaire?.responses;\n }, [contractorSubscriptions]);\n\n const formType =\n stepToFormSchemaMap[stepState.currentStep.name] ||\n 'contractor_basic_information';\n const employmentKey = jsonSchemaToEmployment[formType] as keyof Employment;\n const serverEmploymentData = (employment?.[employmentKey] || {}) as Record<\n string,\n unknown\n >;\n\n const useJSONSchema = ({\n form,\n options: jsonSchemaOptions = {},\n query = {},\n jsonSchemaVersion,\n }: {\n form: JSONSchemaFormType;\n options?: {\n jsfModify?: JSFModify;\n queryOptions?: { enabled?: boolean };\n jsonSchemaVersion?: FlowOptions['jsonSchemaVersion'];\n };\n query?: Record<string, string>;\n jsonSchemaVersion?: number | 'latest';\n }) => {\n const hasUserEnteredAnyValues = Object.keys(fieldValues).length > 0;\n // when you write on the fields, the values are stored in the fieldValues state\n // when values are stored in the stepState is when the user has navigated to the step\n // and then we have the values from the server and the onboardingInitialValues that the user can inject,\n const mergedFormValues = hasUserEnteredAnyValues\n ? {\n ...onboardingInitialValues,\n ...stepState.values?.[stepState.currentStep.name], // Restore values for the current step\n ...fieldValues,\n }\n : {\n ...onboardingInitialValues,\n ...serverEmploymentData,\n };\n\n return useJSONSchemaForm({\n countryCode: internalCountryCode as string,\n form: form,\n fieldValues: mergedFormValues,\n query,\n options: {\n ...jsonSchemaOptions,\n queryOptions: {\n enabled: jsonSchemaOptions.queryOptions?.enabled ?? true,\n },\n },\n jsonSchemaVersion,\n });\n };\n\n const isBasicInformationDetailsEnabled = Boolean(\n internalCountryCode &&\n (stepState.currentStep.name === 'basic_information' ||\n Boolean(employmentId)),\n );\n\n const isIR35FileEnabled = Boolean(\n internalCountryCode === 'GBR' &&\n employmentId &&\n stepState.currentStep.name === 'basic_information',\n );\n\n const { data: ir35File, isLoading: isLoadingIR35File } = useGetIR35File(\n employmentId as string,\n {\n enabled: isIR35FileEnabled,\n },\n );\n\n const { data: contractDocuments, isLoading: isLoadingContractDocuments } =\n useGetContractDocuments(internalEmploymentId as string, {\n enabled: Boolean(internalEmploymentId),\n });\n\n useEffect(() => {\n if (\n contractDocuments &&\n contractDocuments.length > 0 &&\n !internalContractDocumentId\n ) {\n setInternalContractDocumentId(contractDocuments[0].id);\n }\n }, [contractDocuments, internalContractDocumentId]);\n\n const {\n data: basicInformationForm,\n isLoading: isLoadingBasicInformationForm,\n } = useJSONSchema({\n form: 'contractor_basic_information',\n options: {\n jsfModify: buildBasicInformationJsfModify(\n internalCountryCode as string,\n countryName,\n options,\n ),\n queryOptions: {\n enabled: isBasicInformationDetailsEnabled,\n },\n },\n jsonSchemaVersion: getBasicInformationSchemaVersion(options),\n });\n\n const descriptionProvisionalStartDate = useMemo(() => {\n return calculateProvisionalStartDateDescription(\n employment?.basic_information?.provisional_start_date as string,\n fieldValues?.service_duration?.provisional_start_date as string,\n );\n }, [\n employment?.basic_information?.provisional_start_date,\n fieldValues?.service_duration?.provisional_start_date,\n ]);\n\n /**\n * When the user selects COR, the data isn't saved yet in the BE\n * We need to use the internalState to know what has happened\n */\n const selectedPricingPlan = useMemo(() => {\n const subscriptions = {\n standard: contractorStandardProductIdentifier,\n plus: contractorPlusProductIdentifier,\n cor: corProductIdentifier,\n };\n\n // HIGHEST PRIORITY: Current form value (user is actively selecting)\n if (fieldValues.subscription) {\n return fieldValues.subscription;\n }\n\n // SECOND: Previously submitted value in this session\n const subscription = stepState.values?.pricing_plan?.subscription;\n if (subscription && !isEligibilityQuestionnaireBlocked) {\n return subscription;\n }\n\n // THIRD: Backend state (eligibility submitted or employment contractor_type)\n if (\n hasEligibilityQuestionnaireSubmitted &&\n !isEligibilityQuestionnaireBlocked\n ) {\n return corProductIdentifier;\n }\n\n // Fourth: If the eligibility questionnaire is blocked and has been submitted, return the standard product\n if (\n isEligibilityQuestionnaireBlocked &&\n hasEligibilityQuestionnaireSubmitted\n ) {\n return contractorStandardProductIdentifier;\n }\n\n // Fifth: If there are no available subscriptions, return undefined\n const hasAvailableSubscriptions =\n filteredContractorSubscriptions &&\n filteredContractorSubscriptions.length > 0;\n\n if (!hasAvailableSubscriptions) {\n return undefined;\n }\n\n // FALLBACK: Employment contractor_type or default\n return (\n subscriptions[\n employment?.contractor_type as keyof typeof subscriptions\n ] || contractorStandardProductIdentifier\n );\n }, [\n fieldValues,\n stepState.values,\n hasEligibilityQuestionnaireSubmitted,\n employment?.contractor_type,\n isEligibilityQuestionnaireBlocked,\n filteredContractorSubscriptions,\n ]);\n\n useEffect(() => {\n if (selectedPricingPlan && selectedPricingPlan !== selectedProduct) {\n setSelectedProduct(selectedPricingPlan);\n }\n }, [selectedPricingPlan, selectedProduct]);\n\n useEffect(() => {\n setIncludeContractOrigin(\n !skipSteps?.includes('contract_origin') &&\n selectedPricingPlan === contractorStandardProductIdentifier,\n );\n }, [skipSteps, selectedPricingPlan]);\n\n useEffect(() => {\n setIncludeInvoiceSchedule(\n options?.features?.includes('create_invoice_schedule') ?? false,\n );\n }, [options?.features]);\n\n const eligibilityFields = useMemo(() => {\n return {\n ...eligibilityAnswers,\n ...onboardingInitialValues,\n ...stepState.values?.eligibility_questionnaire,\n ...fieldValues,\n };\n }, [\n eligibilityAnswers,\n onboardingInitialValues,\n stepState.values?.eligibility_questionnaire,\n fieldValues,\n ]);\n\n const isEligibilityQuestionnaireEnabled = useMemo(() => {\n return (\n (selectedPricingPlan === corProductIdentifier &&\n stepState.currentStep.name === 'eligibility_questionnaire') ||\n (Boolean(employmentId) &&\n isEmploymentReadOnly &&\n selectedPricingPlan === corProductIdentifier)\n );\n }, [\n selectedPricingPlan,\n stepState.currentStep.name,\n employmentId,\n isEmploymentReadOnly,\n ]);\n\n const {\n data: eligibilityQuestionnaireForm,\n isLoading: isLoadingEligibilityQuestionnaire,\n } = useGetEligibilityQuestionnaire({\n options: {\n queryOptions: {\n enabled: isEligibilityQuestionnaireEnabled,\n },\n jsfModify: options?.jsfModify?.eligibility_questionnaire,\n },\n fieldValues: eligibilityFields,\n });\n\n const isContractorOnboardingDetailsEnabled = Boolean(\n (internalCountryCode &&\n stepState.currentStep.name === 'contract_details') ||\n isEmploymentReadOnly,\n );\n\n const {\n data: contractorOnboardingDetailsForm,\n isLoading: isLoadingContractorOnboardingDetailsForm,\n } = useContractorContractDetailsSchema({\n countryCode: internalCountryCode as string,\n fieldValues: fieldValues,\n employmentId: internalEmploymentId as string,\n options: {\n queryOptions: {\n enabled: isContractorOnboardingDetailsEnabled,\n },\n jsfModify: buildContractDetailsJsfModify(\n options?.jsfModify?.contract_details,\n descriptionProvisionalStartDate,\n selectedPricingPlan,\n fieldValues,\n selectedPricingPlan === corProductIdentifier,\n ),\n },\n });\n\n const isSignatureSchemaEnabled = useMemo(() => {\n return (\n stepState.currentStep.name === 'contract_preview' ||\n (Boolean(employmentId) && isEmploymentReadOnly)\n );\n }, [stepState.currentStep.name, employmentId, isEmploymentReadOnly]);\n\n const { data: signatureSchemaForm } = useGetContractDocumentSignatureSchema({\n fieldValues: fieldValues,\n options: {\n queryOptions: {\n enabled: isSignatureSchemaEnabled,\n },\n jsfModify: buildContractPreviewJsfModify(options, fieldValues),\n },\n });\n\n const { data: contractOriginForm } = useGetContractOriginSchema({\n fieldValues: fieldValues,\n options: {\n jsfModify: options?.jsfModify?.contract_origin,\n },\n });\n\n const invoiceScheduleForm = useGetInvoiceScheduleSchema({\n enabled:\n includeInvoiceSchedule &&\n stepState.currentStep.name === 'invoice_schedule',\n jsfModify: options?.jsfModify?.invoice_schedule,\n });\n\n const {\n data: existingInvoiceSchedule,\n isLoading: isLoadingInvoiceSchedules,\n refetch: refetchInvoiceSchedule,\n } = useGetExistingInvoiceSchedule({\n employmentId: internalEmploymentId as string,\n options: {\n queryOptions: {\n enabled:\n includeInvoiceSchedule &&\n Boolean(internalEmploymentId) &&\n stepState.currentStep.name === 'invoice_schedule',\n },\n },\n });\n\n const {\n data: createInvoiceScheduleForm,\n isLoading: isLoadingCreateInvoiceScheduleForm,\n } = useGetCreateInvoiceScheduleSchema({\n enabled:\n includeInvoiceSchedule &&\n stepState.currentStep.name === 'create_invoice_schedule',\n employmentId: internalEmploymentId,\n jsfModify: options?.jsfModify?.create_invoice_schedule,\n // The schema hides item rows 2..10 until the row before them is filled in, and that\n // conditional is evaluated against the values handed to createHeadlessForm. Calling\n // handleValidation on change (see checkFieldUpdates) validates but does not re-derive\n // field visibility, so without the current values here every row past the first stays\n // hidden for good.\n fieldValues,\n });\n\n const {\n data: documentPreviewPdf,\n isLoading: isLoadingDocumentPreviewForm,\n refetch: refetchDocumentPreviewForm,\n } = useGetShowContractDocument({\n employmentId: internalEmploymentId as string,\n contractDocumentId: internalContractDocumentId as string,\n options: {\n queryOptions: {\n enabled: Boolean(internalContractDocumentId),\n },\n },\n });\n\n const { hasCompanySignedContract } = useHasCompanySignedContract({\n employmentId: internalEmploymentId as string,\n contractDocumentId: internalContractDocumentId as string,\n options: {\n queryOptions: {\n enabled: Boolean(internalContractDocumentId),\n },\n },\n });\n\n const stepFields: Record<StepKeys, JSFFields> = useMemo(\n () => ({\n select_country: selectCountryForm?.fields || [],\n basic_information: basicInformationForm?.fields || [],\n contract_origin: contractOriginForm?.fields || [],\n invoice_schedule: invoiceScheduleForm?.fields || [],\n create_invoice_schedule: createInvoiceScheduleForm?.fields || [],\n pricing_plan: selectContractorSubscriptionForm?.fields || [],\n eligibility_questionnaire: eligibilityQuestionnaireForm?.fields || [],\n contract_details: contractorOnboardingDetailsForm?.fields || [],\n contract_preview: signatureSchemaForm?.fields || [],\n review: [],\n }),\n [\n selectCountryForm?.fields,\n basicInformationForm?.fields,\n contractOriginForm?.fields,\n invoiceScheduleForm?.fields,\n createInvoiceScheduleForm?.fields,\n selectContractorSubscriptionForm?.fields,\n contractorOnboardingDetailsForm?.fields,\n signatureSchemaForm?.fields,\n eligibilityQuestionnaireForm?.fields,\n ],\n );\n\n const stepFieldsWithFlatFieldsets: Record<\n StepKeys,\n JSFFieldset | null | undefined\n > = {\n select_country: null,\n basic_information: basicInformationForm?.meta['x-jsf-fieldsets'],\n contract_origin: null,\n invoice_schedule: null,\n create_invoice_schedule: null,\n pricing_plan: null,\n contract_details: contractorOnboardingDetailsForm?.meta['x-jsf-fieldsets'],\n eligibility_questionnaire: null,\n contract_preview: null,\n review: null,\n };\n\n const stepPresentation: Record<\n StepKeys,\n Record<string, unknown> | null | undefined\n > = {\n select_country: selectCountryForm?.meta?.['x-jsf-presentation'],\n basic_information: basicInformationForm?.meta?.['x-jsf-presentation'],\n contract_origin: contractOriginForm?.meta?.['x-jsf-presentation'],\n invoice_schedule: invoiceScheduleForm?.meta?.['x-jsf-presentation'],\n create_invoice_schedule:\n createInvoiceScheduleForm?.meta?.['x-jsf-presentation'],\n pricing_plan:\n selectContractorSubscriptionForm?.meta?.['x-jsf-presentation'],\n eligibility_questionnaire:\n eligibilityQuestionnaireForm?.meta?.['x-jsf-presentation'],\n contract_details:\n contractorOnboardingDetailsForm?.meta?.['x-jsf-presentation'],\n contract_preview: signatureSchemaForm?.meta?.['x-jsf-presentation'],\n review: null,\n };\n\n const {\n country,\n basic_information: employmentBasicInformation = {},\n contract_details: employmentContractDetails = {},\n } = employment || {};\n\n const employmentCountryCode = country?.code;\n\n const selectCountryInitialValues = useMemo(\n () =>\n getInitialValues(stepFields.select_country, {\n country: internalCountryCode || employmentCountryCode || '',\n }),\n [stepFields.select_country, internalCountryCode, employmentCountryCode],\n );\n\n // memoize file conversion to avoid re-converting the file on every render\n // noticed performance issues when not doing memoizing individually\n const convertedIr35File = useMemo(() => {\n if (!ir35File?.content) return null;\n return dataURLtoFile(ir35File.content as unknown as string, ir35File.name);\n }, [ir35File?.content, ir35File?.name]);\n\n const basicInformationInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...employmentBasicInformation,\n ir35: employment?.contract_details?.ir_35,\n nationality_status: employment?.contract_details?.nationality,\n ...(convertedIr35File && {\n ir35_sds_file: [convertedIr35File],\n }),\n };\n\n return getInitialValues(stepFields.basic_information, initialValues);\n }, [\n onboardingInitialValues,\n employmentBasicInformation,\n employment?.contract_details?.ir_35,\n employment?.contract_details?.nationality,\n convertedIr35File,\n stepFields.basic_information,\n ]);\n\n const contractOriginInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n contract_origin:\n contractOriginMapping[basicInformation?.contract_origin as string] ??\n basicInformation?.contract_origin,\n };\n return getInitialValues(stepFields.contract_origin, initialValues);\n }, [\n stepFields.contract_origin,\n onboardingInitialValues,\n basicInformation?.contract_origin,\n ]);\n\n const invoiceScheduleInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n // If an existing schedule exists, default to 'schedule' preference\n ...(existingInvoiceSchedule && {\n invoice_schedule_preference: 'schedule',\n }),\n };\n return getInitialValues(stepFields.invoice_schedule, initialValues);\n }, [\n stepFields.invoice_schedule,\n onboardingInitialValues,\n existingInvoiceSchedule,\n ]);\n\n const createInvoiceScheduleInitialValues = useMemo(() => {\n // If an existing schedule exists, transform it to form values\n if (existingInvoiceSchedule) {\n const formValues: Record<string, unknown> = {\n currency: existingInvoiceSchedule.currency,\n periodicity: existingInvoiceSchedule.periodicity,\n start_date: existingInvoiceSchedule.start_date,\n number: existingInvoiceSchedule.number,\n note: existingInvoiceSchedule.note,\n nr_occurrences: existingInvoiceSchedule.nr_occurrences,\n };\n\n existingInvoiceSchedule.items?.forEach((item, index: number) => {\n const itemNumber = index + 1;\n formValues[`item_${itemNumber}_description`] = item.description;\n formValues[`item_${itemNumber}_amount`] = item.amount;\n });\n\n return getInitialValues(stepFields.create_invoice_schedule, formValues);\n }\n\n const initialValues = {\n ...onboardingInitialValues,\n };\n return getInitialValues(stepFields.create_invoice_schedule, initialValues);\n }, [\n stepFields.create_invoice_schedule,\n onboardingInitialValues,\n existingInvoiceSchedule,\n ]);\n\n const contractDetailsInitialValues = useMemo(() => {\n const hardcodedValues = {\n service_duration: {\n provisional_start_date:\n employmentBasicInformation.provisional_start_date,\n },\n };\n const initialValues = {\n ...hardcodedValues,\n ...onboardingInitialValues,\n ...employmentContractDetails,\n };\n\n return getInitialValues(stepFields.contract_details, initialValues);\n }, [\n stepFields.contract_details,\n employmentContractDetails,\n onboardingInitialValues,\n employmentBasicInformation,\n ]);\n\n const contractPreviewInitialValues = useMemo(() => {\n const signature = documentPreviewPdf?.contract_document?.signatories?.find(\n (signatory) => signatory.type === 'company',\n );\n const initialValues = {\n ...onboardingInitialValues,\n signature: signature?.signature,\n };\n\n return getInitialValues(stepFields.contract_preview, initialValues);\n }, [\n stepFields.contract_preview,\n onboardingInitialValues,\n documentPreviewPdf,\n ]);\n\n const pricingPlanInitialValues = useMemo(() => {\n const preselectedPricingPlan = {\n subscription: selectedPricingPlan,\n };\n const initialValues = {\n ...preselectedPricingPlan,\n ...onboardingInitialValues,\n };\n\n return getInitialValues(stepFields.pricing_plan, initialValues);\n }, [stepFields.pricing_plan, onboardingInitialValues, selectedPricingPlan]);\n\n const eligibilityQuestionnaireInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...eligibilityAnswers,\n };\n return getInitialValues(\n stepFields.eligibility_questionnaire,\n initialValues,\n );\n }, [\n stepFields.eligibility_questionnaire,\n onboardingInitialValues,\n eligibilityAnswers,\n ]);\n\n const initialValues = useMemo(() => {\n return {\n select_country: selectCountryInitialValues,\n basic_information: basicInformationInitialValues,\n contract_origin: contractOriginInitialValues,\n invoice_schedule: invoiceScheduleInitialValues,\n create_invoice_schedule: createInvoiceScheduleInitialValues,\n contract_details: contractDetailsInitialValues,\n contract_preview: contractPreviewInitialValues,\n pricing_plan: pricingPlanInitialValues,\n eligibility_questionnaire: eligibilityQuestionnaireInitialValues,\n };\n }, [\n selectCountryInitialValues,\n basicInformationInitialValues,\n contractOriginInitialValues,\n invoiceScheduleInitialValues,\n createInvoiceScheduleInitialValues,\n contractDetailsInitialValues,\n contractPreviewInitialValues,\n pricingPlanInitialValues,\n eligibilityQuestionnaireInitialValues,\n ]);\n\n const shouldHandleReadOnlyEmployment = Boolean(\n employmentId &&\n isEmploymentReadOnly &&\n stepState.currentStep.name !== 'review',\n );\n\n const initialLoading =\n isLoadingCountries ||\n isLoadingBasicInformationForm ||\n isLoadingEmployment ||\n isLoadingContractorOnboardingDetailsForm ||\n isLoadingContractorSubscriptions ||\n isLoadingDocumentPreviewForm ||\n isLoadingIR35File ||\n isLoadingContractDocuments ||\n isLoadingEligibilityQuestionnaire ||\n isLoadingCreateInvoiceScheduleForm ||\n isLoadingInvoiceSchedules;\n\n const isNavigatingToReview = useMemo(() => {\n const isCor = employment?.contractor_type === 'cor';\n const hasContractPreviewFields =\n isCor || stepFields.contract_preview.length > 0;\n\n return Boolean(\n shouldHandleReadOnlyEmployment &&\n !initialLoading &&\n Boolean(internalContractDocumentId) &&\n stepFields.basic_information.length > 0 &&\n stepFields.contract_details.length > 0 &&\n hasContractPreviewFields,\n );\n }, [\n shouldHandleReadOnlyEmployment,\n initialLoading,\n internalContractDocumentId,\n stepFields.basic_information.length,\n stepFields.contract_details.length,\n stepFields.contract_preview.length,\n employment?.contractor_type,\n ]);\n\n useEffect(() => {\n if (isNavigatingToReview) {\n fieldsMetaRef.current = {\n select_country: prettifyFormValues(\n selectCountryInitialValues,\n stepFields.select_country,\n { skipMoneyConversion: true },\n ),\n basic_information: prettifyFormValues(\n basicInformationInitialValues,\n stepFields.basic_information,\n { skipMoneyConversion: true },\n ),\n contract_origin: {},\n invoice_schedule: {},\n create_invoice_schedule: {},\n contract_details: prettifyFormValues(\n contractDetailsInitialValues,\n stepFields.contract_details,\n { skipMoneyConversion: true },\n ),\n contract_preview: prettifyFormValues(\n contractPreviewInitialValues,\n stepFields.contract_preview,\n { skipMoneyConversion: true },\n ),\n pricing_plan: prettifyFormValues(\n pricingPlanInitialValues,\n stepFields.pricing_plan,\n { skipMoneyConversion: true },\n ),\n eligibility_questionnaire: prettifyFormValues(\n eligibilityQuestionnaireInitialValues,\n stepFields.eligibility_questionnaire,\n { skipMoneyConversion: true },\n ),\n };\n\n setStepValues({\n select_country: selectCountryInitialValues,\n basic_information: basicInformationInitialValues,\n contract_origin: {},\n invoice_schedule: {},\n create_invoice_schedule: {},\n contract_details: contractDetailsInitialValues,\n contract_preview: contractPreviewInitialValues,\n pricing_plan: pricingPlanInitialValues,\n eligibility_questionnaire: eligibilityQuestionnaireInitialValues,\n review: {},\n });\n goToStep('review');\n }\n }, [\n isNavigatingToReview,\n goToStep,\n selectCountryInitialValues,\n basicInformationInitialValues,\n contractDetailsInitialValues,\n setStepValues,\n stepFields.select_country,\n stepFields.basic_information,\n stepFields.contract_details,\n stepFields.pricing_plan,\n pricingPlanInitialValues,\n stepFields.contract_preview,\n contractPreviewInitialValues,\n stepFields.eligibility_questionnaire,\n eligibilityQuestionnaireInitialValues,\n ]);\n\n const goTo = (step: StepKeys) => {\n goToStep(step);\n };\n\n const parseFormValues = async (values: FieldValues) => {\n if (selectCountryForm && stepState.currentStep.name === 'select_country') {\n return await parseJSFToValidate(values, selectCountryForm.fields, {\n isPartialValidation: false,\n });\n }\n\n if (\n basicInformationForm &&\n stepState.currentStep.name === 'basic_information'\n ) {\n return await parseJSFToValidate(values, basicInformationForm?.fields, {\n isPartialValidation: false,\n });\n }\n\n if (\n contractorOnboardingDetailsForm &&\n stepState.currentStep.name === 'contract_details'\n ) {\n return await parseJSFToValidate(\n values,\n contractorOnboardingDetailsForm?.fields,\n {\n isPartialValidation: false,\n },\n );\n }\n\n if (\n signatureSchemaForm &&\n stepState.currentStep.name === 'contract_preview'\n ) {\n return await parseJSFToValidate(values, signatureSchemaForm?.fields, {\n isPartialValidation: false,\n });\n }\n\n if (\n selectContractorSubscriptionForm &&\n stepState.currentStep.name === 'pricing_plan'\n ) {\n return await parseJSFToValidate(\n values,\n selectContractorSubscriptionForm?.fields,\n {\n isPartialValidation: false,\n },\n );\n }\n\n if (\n eligibilityQuestionnaireForm &&\n stepState.currentStep.name === 'eligibility_questionnaire'\n ) {\n return await parseJSFToValidate(\n values,\n eligibilityQuestionnaireForm?.fields,\n {\n isPartialValidation: false,\n },\n );\n }\n\n if (\n contractOriginForm &&\n stepState.currentStep.name === 'contract_origin'\n ) {\n return await parseJSFToValidate(values, contractOriginForm?.fields, {\n isPartialValidation: false,\n });\n }\n\n if (\n invoiceScheduleForm &&\n stepState.currentStep.name === 'invoice_schedule'\n ) {\n return await parseJSFToValidate(values, invoiceScheduleForm?.fields, {\n isPartialValidation: false,\n });\n }\n\n if (\n createInvoiceScheduleForm &&\n stepState.currentStep.name === 'create_invoice_schedule'\n ) {\n return await parseJSFToValidate(\n values,\n createInvoiceScheduleForm?.fields,\n {\n isPartialValidation: false,\n },\n );\n }\n\n return {};\n };\n\n /**\n * Extracts AI validation error from the error response\n * @param error - The error object from the API call\n * @returns The AI validation error if found, null otherwise\n */\n const extractAiValidationError = (\n error: unknown,\n ): AiValidationError | null => {\n if (!isMutationError(error)) {\n return null;\n }\n\n const rawError = error.normalizedErrors.services_and_deliverables;\n\n // The backend's normalize_errors wraps non-list values in an array,\n // so the AI validation error object arrives as a single-element array.\n const servicesAndDeliverablesError = (\n Array.isArray(rawError) ? rawError[0] : rawError\n ) as\n | {\n error: string[];\n source: string;\n skippable: boolean;\n }\n | undefined;\n\n if (servicesAndDeliverablesError?.source === REMOTE_AI_ERROR_SOURCE) {\n return {\n error: servicesAndDeliverablesError.error,\n source: servicesAndDeliverablesError.source,\n skippable: servicesAndDeliverablesError.skippable,\n };\n }\n return null;\n };\n\n async function onSubmit(values: FieldValues) {\n const currentStepName = stepState.currentStep.name;\n const parsedValues = await parseFormValues(values);\n\n if (currentStepName in fieldsMetaRef.current) {\n fieldsMetaRef.current[\n currentStepName as keyof typeof fieldsMetaRef.current\n ] = prettifyFormValues(parsedValues, stepFields[currentStepName]);\n }\n switch (stepState.currentStep.name) {\n case 'select_country': {\n setInternalCountryCode(parsedValues.country);\n return Promise.resolve({ data: { countryCode: parsedValues.country } });\n }\n case 'basic_information': {\n const isEmploymentNotLoaded =\n !internalEmploymentId && internalCountryCode;\n const hasChangedCountry =\n internalEmploymentId &&\n internalCountryCode &&\n employment?.country &&\n employment?.country.code !== internalCountryCode;\n\n if (isEmploymentNotLoaded || hasChangedCountry) {\n const basicInformationParsedValues = omit(\n parsedValues,\n 'nationality_status',\n 'ir35',\n 'ir35_sds_file',\n );\n const basicInformationPayload: EmploymentCreateParams = {\n basic_information: basicInformationParsedValues,\n type: 'contractor',\n country_code: internalCountryCode,\n external_id: externalId,\n };\n const response = await createEmploymentMutationAsync(\n basicInformationPayload,\n );\n const employmentId = response?.data?.employment?.id;\n if (!employmentId) {\n throw createStructuredError('Employment ID not found');\n }\n\n await updateUKandSaudiFieldsMutation({\n employmentId: employmentId as string,\n });\n\n // Only update state (triggers queries with fully consistent backend state) if not caused a bug\n // if one of the updateUKandSaudiFieldsMutation fails with a 422 for example\n setInternalEmploymentId(employmentId);\n\n return response;\n } else if (internalEmploymentId) {\n const basicInformationParsedValues = omit(\n parsedValues,\n 'nationality_status',\n 'ir35',\n 'ir35_sds_file',\n );\n\n await updateUKandSaudiFieldsMutation({\n employmentId: internalEmploymentId,\n });\n return updateEmploymentMutationAsync({\n employmentId: internalEmploymentId,\n basic_information: basicInformationParsedValues,\n });\n }\n\n return;\n }\n case 'contract_details': {\n const {\n services_and_deliverables_ai_warning:\n _servicesAndDeliverablesAiWarning,\n services_and_deliverables_error_skippable:\n _servicesAndDeliverablesErrorSkippable,\n ...contractDetailsData\n } = parsedValues;\n\n const shouldSkipAiChecks =\n fieldValues.services_and_deliverables_error_skippable === true;\n const payload: CreateContractDocument = {\n contract_document: contractDetailsData,\n skip_ai_checks: shouldSkipAiChecks,\n };\n\n try {\n const response = await createContractorContractDocumentMutationAsync({\n employmentId: internalEmploymentId as string,\n payload,\n });\n const contractDocumentId = response?.data?.contract_document?.id;\n if (!contractDocumentId) {\n throw createStructuredError('Contract document ID not found');\n }\n setInternalContractDocumentId(contractDocumentId);\n\n return response;\n } catch (error) {\n const aiError = extractAiValidationError(error);\n if (aiError) {\n const isContractorOfRecord =\n selectedPricingPlan === corProductIdentifier;\n setFieldValues({\n ...values,\n services_and_deliverables_ai_warning:\n transformAiErrorResponse(isContractorOfRecord),\n services_and_deliverables_error_skippable: aiError.skippable,\n });\n }\n\n throw error;\n }\n }\n\n case 'contract_preview': {\n if (hasCompanySignedContract) {\n return Promise.resolve({\n data: {\n contract_document: {\n id: internalContractDocumentId,\n },\n },\n });\n }\n const response = await signContractDocumentMutationAsync({\n employmentId: internalEmploymentId as string,\n contractDocumentId: internalContractDocumentId as string,\n payload: {\n signature: parsedValues.signature,\n },\n });\n await refetchDocumentPreviewForm();\n return response;\n }\n case 'pricing_plan': {\n if (values.subscription === eorProductIdentifier) {\n // EOR selection - no API call needed at this step\n return Promise.resolve({\n data: {\n subscription: values.subscription,\n },\n });\n }\n // If there are no available contractor subscriptions, throw an error\n if (filteredContractorSubscriptions.length === 0) {\n throw createStructuredError('No available subscriptions.');\n }\n\n if (\n !values.subscription &&\n filteredContractorSubscriptions.length > 0\n ) {\n throw createStructuredError('Please select a subscription plan.');\n }\n\n const blockedProductsEligibility = [\n corProductIdentifier,\n contractorPlusProductIdentifier,\n ];\n\n if (\n isEligibilityQuestionnaireBlocked &&\n blockedProductsEligibility.includes(values.subscription)\n ) {\n throw createStructuredError(\n `This individual is not eligible for ${\n CONTRACT_PRODUCT_TITLES[\n values.subscription as keyof typeof CONTRACT_PRODUCT_TITLES\n ]\n }.`,\n );\n }\n\n if (\n hasEligibilityQuestionnaireSubmitted &&\n values.subscription !== corProductIdentifier\n ) {\n try {\n await deleteContractorCorSubscriptionMutationAsync({\n employmentId: internalEmploymentId as string,\n });\n await refetchContractorSubscriptions();\n } catch (error) {\n if ((error as $TSFixMe)?.response?.status !== 404) {\n throw error;\n }\n // Still refetch to update the UI state\n await refetchContractorSubscriptions();\n }\n }\n\n if (values.subscription == contractorStandardProductIdentifier) {\n return manageContractorSubscriptionMutationAsync({\n employmentId: internalEmploymentId as string,\n payload: {\n operation: 'downgrade',\n },\n });\n } else if (values.subscription == contractorPlusProductIdentifier) {\n return manageContractorSubscriptionMutationAsync({\n employmentId: internalEmploymentId as string,\n payload: {\n operation: 'upgrade',\n },\n });\n } else if (values.subscription == corProductIdentifier) {\n if (\n hasEligibilityQuestionnaireSubmitted &&\n employment?.contractor_type !== 'cor'\n ) {\n return manageContractorCorSubscriptionMutationAsync({\n employmentId: internalEmploymentId as string,\n });\n } else {\n return Promise.resolve({\n data: { subscription: values.subscription },\n });\n }\n }\n\n throw createStructuredError('invalid selection');\n }\n\n case 'contract_origin': {\n // provided_by_remote -> remote_contract to maintain retrocompatibility with the backend\n // provided_by_remote doesn't exist in the backend, so we need to map it to remote_contract\n const contractOrigin: $TSFixMe =\n contractOriginToBackend[parsedValues.contract_origin] ??\n parsedValues.contract_origin;\n const templateType =\n parsedValues.contract_origin === 'provided_by_customer'\n ? 'contractor_agreement'\n : 'contractor_services_agreement';\n await setContractOriginMutationAsync({\n employmentId: internalEmploymentId as string,\n contractOrigin,\n templateType,\n });\n // Refetch basic information to get the updated contract_origin from server\n await refetchBasicInformation();\n\n return {\n data: { contractOrigin: values.contract_origin },\n };\n }\n\n case 'invoice_schedule': {\n // Show create_invoice_schedule step only when user selects 'schedule'\n const shouldShowCreateStep =\n values.invoice_schedule_preference === 'schedule';\n setIncludeCreateInvoiceSchedule(shouldShowCreateStep);\n\n return {\n data: {\n invoiceSchedulePreference: values.invoice_schedule_preference,\n },\n };\n }\n\n case 'create_invoice_schedule': {\n if (!internalEmploymentId) {\n throw createStructuredError('Employment ID is required');\n }\n\n // Use update if we have an existing schedule, otherwise create\n if (existingInvoiceSchedule?.id) {\n const response = await updateInvoiceScheduleMutationAsync({\n scheduleId: existingInvoiceSchedule.id,\n values: parsedValues,\n });\n await refetchInvoiceSchedule();\n return response;\n }\n\n const response = await createInvoiceScheduleMutationAsync({\n employmentId: internalEmploymentId,\n values: parsedValues,\n });\n\n const failures = response?.data?.failures;\n if (failures && failures.length > 0) {\n throw createStructuredError('Failed to create invoice schedule');\n }\n\n await refetchInvoiceSchedule();\n return response;\n }\n\n case 'eligibility_questionnaire': {\n try {\n const response = await createEligibilityQuestionnaireMutationAsync({\n employmentId: internalEmploymentId as string,\n payload: parsedValues,\n });\n\n const isEligibilityQuestionnaireBlocked = response?.data?.is_blocking;\n\n if (isEligibilityQuestionnaireBlocked) {\n setIncludeEligibilityQuestionnaire(false);\n setPendingNavigationStep('pricing_plan');\n throw createStructuredError(\n 'This individual is not eligible for Contractor of Record.',\n );\n }\n\n return await manageContractorCorSubscriptionMutationAsync({\n employmentId: internalEmploymentId as string,\n });\n } finally {\n // Always refetch to keep state in sync, even on error\n await refetchContractorSubscriptions();\n }\n }\n\n default: {\n throw createStructuredError('Invalid step state');\n }\n }\n }\n\n const markContractAsReviewed = () => {\n // Notify parent to sync form state\n onContractReviewedRef.current?.();\n };\n\n const skipInvoiceSchedule = async () => {\n if (!existingInvoiceSchedule?.id) {\n throw createStructuredError('No invoice schedule to skip');\n }\n\n await skipInvoiceScheduleMutationAsync({\n scheduleId: existingInvoiceSchedule.id,\n });\n await refetchInvoiceSchedule();\n setIncludeCreateInvoiceSchedule(false);\n setStepValues({\n ...stepState.values,\n invoice_schedule: {},\n create_invoice_schedule: {},\n } as Record<StepKeys, FieldValues>);\n goToStep('invoice_schedule');\n };\n\n const previewContractorInvoice = async (values: FieldValues) => {\n if (!internalEmploymentId) {\n throw createStructuredError('Employment ID is required');\n }\n\n // fieldValues are the raw, unparsed form values (e.g. money fields still\n // in display units) — run them through the same parsing/type-coercion\n // pipeline a real submit would use before building the preview payload.\n const parsedValues = await parseFormValues(values);\n\n const response = await previewContractorInvoiceMutationAsync({\n employmentId: internalEmploymentId,\n values: parsedValues,\n });\n\n // The API returns `content` as a `data:application/pdf;base64,...` string,\n // not the `Blob | File` the OpenAPI spec's `format: binary` implies.\n const preview = response?.data?.contractor_invoice_preview as\n | ContractorInvoicePreview\n | undefined;\n\n if (!preview) {\n return undefined;\n }\n\n // Same normalization the contract document preview does — the data URI\n // prefix is what makes the content renderable in an iframe / downloadable.\n return { ...preview, content: clearBase64Data(preview.content) };\n };\n\n const handleNextStep = () => {\n if (internalEmploymentId) {\n refetchEmployment();\n }\n nextStep();\n };\n\n const handleValidation = useCallback(\n async (values: FieldValues): Promise<ValidationResult | null> => {\n if (stepState.currentStep.name === 'select_country') {\n const parsedValues = await parseJSFToValidate(\n values,\n selectCountryForm.fields,\n { isPartialValidation: false },\n );\n\n return selectCountryForm.handleValidation(parsedValues);\n }\n\n if (\n basicInformationForm &&\n stepState.currentStep.name === 'basic_information'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n basicInformationForm?.fields,\n { isPartialValidation: false },\n );\n return basicInformationForm?.handleValidation(parsedValues);\n }\n\n if (\n contractorOnboardingDetailsForm &&\n stepState.currentStep.name === 'contract_details'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n contractorOnboardingDetailsForm?.fields,\n { isPartialValidation: false },\n );\n return contractorOnboardingDetailsForm?.handleValidation(parsedValues);\n }\n\n if (\n signatureSchemaForm &&\n stepState.currentStep.name === 'contract_preview'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n signatureSchemaForm?.fields,\n { isPartialValidation: true },\n );\n return signatureSchemaForm?.handleValidation(parsedValues);\n }\n\n if (\n selectContractorSubscriptionForm &&\n stepState.currentStep.name === 'pricing_plan'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n selectContractorSubscriptionForm?.fields,\n { isPartialValidation: false },\n );\n return selectContractorSubscriptionForm?.handleValidation(parsedValues);\n }\n\n if (\n eligibilityQuestionnaireForm &&\n stepState.currentStep.name === 'eligibility_questionnaire'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n eligibilityQuestionnaireForm?.fields,\n { isPartialValidation: false },\n );\n return eligibilityQuestionnaireForm?.handleValidation(parsedValues);\n }\n\n if (\n contractOriginForm &&\n stepState.currentStep.name === 'contract_origin'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n contractOriginForm?.fields,\n { isPartialValidation: false },\n );\n return contractOriginForm?.handleValidation(parsedValues);\n }\n\n if (\n invoiceScheduleForm &&\n stepState.currentStep.name === 'invoice_schedule'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n invoiceScheduleForm?.fields,\n { isPartialValidation: false },\n );\n return invoiceScheduleForm?.handleValidation(parsedValues);\n }\n\n if (\n createInvoiceScheduleForm &&\n stepState.currentStep.name === 'create_invoice_schedule'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n createInvoiceScheduleForm?.fields,\n { isPartialValidation: false },\n );\n return createInvoiceScheduleForm?.handleValidation(parsedValues);\n }\n\n return null;\n },\n [\n stepState.currentStep.name,\n selectCountryForm,\n basicInformationForm,\n contractorOnboardingDetailsForm,\n signatureSchemaForm,\n selectContractorSubscriptionForm,\n eligibilityQuestionnaireForm,\n contractOriginForm,\n invoiceScheduleForm,\n createInvoiceScheduleForm,\n ],\n );\n\n const checkFieldUpdates = useCallback(\n async (values: FieldValues) => {\n setFieldValues(values);\n // new steps or refactor ones should rely on json-schema-form-mutability\n // instead of passing fieldValues\n const stepsUsingHandleValidation = [\n 'invoice_schedule',\n 'create_invoice_schedule',\n ];\n\n if (\n includeInvoiceSchedule &&\n stepsUsingHandleValidation.includes(stepState.currentStep.name)\n ) {\n await handleValidation(values);\n }\n },\n [setFieldValues, includeInvoiceSchedule, stepState, handleValidation],\n );\n\n const isLoading = initialLoading || shouldHandleReadOnlyEmployment;\n\n return {\n /**\n * Loading state indicating if the flow is loading data\n */\n isLoading,\n\n /**\n * Current state of the form fields for the current step.\n */\n fieldValues,\n\n /**\n * Current step state containing the current step and total number of steps\n */\n stepState,\n\n /**\n * Function to update the current form field values\n * @param values - New form values to set\n */\n checkFieldUpdates,\n\n /**\n * Function to mark the contract as reviewed\n * @param values - New form values to check\n * @returns {boolean}\n */\n markContractAsReviewed,\n\n /**\n * The existing invoice schedule for the current employment, if any.\n */\n existingInvoiceSchedule,\n\n /**\n * Skips (cancels) the existing invoice schedule and returns to the\n * invoice_schedule step.\n * @returns {Promise<void>}\n */\n skipInvoiceSchedule,\n\n /**\n * Whether a skip-invoice-schedule request is in flight.\n */\n isSkippingInvoiceSchedule: skipInvoiceScheduleMutation.isPending,\n\n /**\n * Previews a contractor invoice as a draft PDF from the given (typically\n * unsaved) form values, without persisting anything.\n * @param values - Form values to build the preview from\n * @returns {Promise<{name: string; content: string} | undefined>}\n */\n previewContractorInvoice,\n\n /**\n * Whether a preview-contractor-invoice request is in flight.\n */\n isPreviewingInvoiceSchedule: previewContractorInvoiceMutation.isPending,\n\n /**\n * Function to handle going back to the previous step\n * @returns {void}\n */\n back: previousStep,\n\n /**\n * Function to handle going to the next step\n * @returns {void}\n */\n next: handleNextStep,\n\n /**\n * Function to handle going to a specific step\n * @param step The step to go to.\n * @returns {void}\n */\n goTo: goTo,\n\n /**\n * Function to handle form submission\n * @param values - Form values to submit\n * @returns Promise resolving to the mutation result\n */\n onSubmit,\n\n /**\n * Array of form fields from the onboarding schema\n */\n fields: stepFields[stepState.currentStep.name],\n\n /**\n * Fields metadata for each step\n */\n meta: {\n fields: fieldsMetaRef.current,\n fieldsets: stepFieldsWithFlatFieldsets[stepState.currentStep.name],\n presentation: stepPresentation[stepState.currentStep.name],\n },\n\n /**\n * Function to parse form values before submission\n * @param values - Form values to parse\n * @returns Parsed form values\n */\n parseFormValues,\n\n /**\n * Indicates whether AI validation errors can be skipped (user can continue at their own risk).\n * True when there's a skippable AI validation error on services_and_deliverables field.\n * @returns {boolean}\n */\n canSkipAiValidation:\n fieldValues.services_and_deliverables_error_skippable === true,\n\n /**\n * Function to validate form values against the onboarding schema\n * @param values - Form values to validate\n * @returns Validation result or null if no schema is available\n */\n handleValidation,\n\n /**\n * Initial form values\n */\n initialValues,\n\n /**\n * Employment id\n */\n employmentId: internalEmploymentId,\n\n /**\n * Function to refetch the employment data\n * @returns {void}\n */\n refetchEmployment: refetchEmployment,\n\n /**\n * Loading state indicating if the onboarding mutation is in progress\n */\n isSubmitting:\n createEmploymentMutation.isPending ||\n updateEmploymentMutation.isPending ||\n createContractorContractDocumentMutation.isPending ||\n signContractDocumentMutation.isPending ||\n manageContractorSubscriptionMutation.isPending ||\n uploadFileMutation.isPending ||\n createEligibilityQuestionnaireMutation.isPending ||\n manageContractorCorSubscriptionMutation.isPending ||\n deleteContractorCorSubscriptionMutation.isPending ||\n setContractOriginMutation.isPending ||\n createInvoiceScheduleMutation.isPending ||\n updateInvoiceScheduleMutation.isPending,\n\n /**\n * Document preview PDF data\n */\n documentPreviewPdf,\n\n /**\n * let's the user know if the company can invite employees\n * @returns {boolean}\n */\n canInvite,\n\n /**\n * let's the user know that the employment cannot be edited, happens when employment.status is invited\n * @returns {boolean}\n */\n isEmploymentReadOnly,\n /**\n * let's the user know if the employment is invited or not\n * @returns {'invited' | 'not_invited'}\n */\n invitedStatus,\n\n /**\n * Employment data\n * @returns {Employment}\n */\n employment,\n\n /**\n * Default legal entity\n * @returns {CompanyLegalEntity}\n */\n defaultLegalEntity,\n\n /**\n * Whether the company needs to complete KYB verification before contractors can be paid.\n * Use this to show a company verification nudge banner on the review step.\n */\n needsCompanyVerification:\n openTasks?.some((a) => a.type === 'verify_company') ?? false,\n\n /**\n * Whether the company needs to set up Remote Payments.\n * Use this to show a Remote Payments setup nudge banner on the review step.\n */\n needsRemotePaymentsSetup:\n openTasks?.some((a) => a.type === 'setup_remote_payments') ?? false,\n\n /**\n * Steps array\n * @returns {Array<{name: string, index: number, visible: boolean, label: string}>}\n */\n steps: stepsArray,\n };\n};\n","import { useQuery } from '@tanstack/react-query';\nimport {\n getV1CompaniesCompanyIdLegalEntities,\n CompanyLegalEntity,\n} from '@/src/client';\nimport { Client } from '@/src/client/client';\nimport { useClient } from '@/src/context';\nimport { useIdentity } from '@/src/common/api/identity';\nimport { hasCompany } from '@/src/common/api/companies';\n\n/**\n * Hook to get the legal entities for a company\n * @param companyId - The company ID\n * @returns The legal entities\n */\nexport const useLegalEntities = () => {\n const { client } = useClient();\n const { data: identity } = useIdentity();\n const companyId = hasCompany(identity) ? (identity?.company?.id ?? '') : '';\n\n return useQuery({\n queryKey: ['legal-entities', companyId],\n queryFn: () =>\n getV1CompaniesCompanyIdLegalEntities({\n client: client as Client,\n path: {\n company_id: companyId,\n },\n query: {\n page_size: 100,\n },\n }),\n select: (data) => data.data?.data?.legal_entities,\n enabled: !!companyId,\n });\n};\n\nexport const useDefaultLegalEntity = () => {\n const { data: legalEntities } = useLegalEntities();\n return legalEntities?.find(\n (legalEntity: CompanyLegalEntity) => legalEntity.is_default,\n );\n};\n"],"mappings":"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","names":["useCallback","useEffect","useMemo","useRef","useState","omit","useQuery","useLegalEntities","__name","client","useClient","identity","useIdentity","companyId","hasCompany","useQuery","getV1CompaniesCompanyIdLegalEntities","data","useDefaultLegalEntity","legalEntities","legalEntity","stepToFormSchemaMap","jsonSchemaToEmployment","contractOriginMapping","contractOriginToBackend","useContractorOnboarding","__name","countryCode","externalId","employmentId","skipSteps","options","onboardingInitialValues","excludeProducts","onContractReviewedRef","useRef","useEffect","internalCountryCode","setInternalCountryCode","useState","internalEmploymentId","setInternalEmploymentId","internalContractDocumentId","setInternalContractDocumentId","fieldsMetaRef","selectedProduct","setSelectedProduct","includeEligibilityQuestionnaire","setIncludeEligibilityQuestionnaire","includeContractPreview","setIncludeContractPreview","includeContractDetails","setIncludeContractDetails","includeContractOrigin","setIncludeContractOrigin","includeInvoiceSchedule","setIncludeInvoiceSchedule","includeCreateInvoiceSchedule","setIncludeCreateInvoiceSchedule","pendingNavigationStep","setPendingNavigationStep","steps","stepsArray","useMemo","buildSteps","fieldValues","stepState","setFieldValues","previousStep","nextStep","goToStep","setStepValues","useStepState","employment","isLoadingEmployment","refetchEmployment","useEmploymentQuery","basicInformation","refetchBasicInformation","useBasicInformationQuery","defaultLegalEntity","useDefaultLegalEntity","openTasks","useCompanyOpenTasks","employmentStatus","isEmploymentReadOnly","reviewStepAllowedEmploymentStatus","canInvite","disabledInviteButtonEmploymentStatus","invitedStatus","createEmploymentMutation","useCreateEmployment","updateEmploymentMutation","useUpdateEmployment","createContractorContractDocumentMutation","useCreateContractorContractDocument","uploadFileMutation","useUploadFile","updateUKandSaudiFieldsMutation","useUpdateUKandSaudiFields","createEligibilityQuestionnaireMutation","usePostCreateEligibilityQuestionnaire","manageContractorCorSubscriptionMutation","usePostManageContractorCorSubscription","setContractOriginMutation","useSetContractOrigin","createInvoiceScheduleMutation","useCreateInvoiceSchedule","updateInvoiceScheduleMutation","useUpdateInvoiceSchedule","skipInvoiceScheduleMutation","useSkipInvoiceSchedule","previewContractorInvoiceMutation","usePreviewContractorInvoice","updateEmploymentMutationAsync","mutationToPromise","signContractDocumentMutation","useSignContractDocument","manageContractorSubscriptionMutation","usePostManageContractorSubscriptions","deleteContractorCorSubscriptionMutation","useDeleteContractorCorSubscription","createEmploymentMutationAsync","createContractorContractDocumentMutationAsync","signContractDocumentMutationAsync","manageContractorSubscriptionMutationAsync","createEligibilityQuestionnaireMutationAsync","manageContractorCorSubscriptionMutationAsync","deleteContractorCorSubscriptionMutationAsync","setContractOriginMutationAsync","createInvoiceScheduleMutationAsync","updateInvoiceScheduleMutationAsync","skipInvoiceScheduleMutationAsync","previewContractorInvoiceMutationAsync","selectCountryForm","isLoadingCountries","countries","useCountriesSchemaField","selectedCountry","country","countryName","isPricingPlanEnabled","selectContractorSubscriptionForm","isLoadingContractorSubscriptions","contractorSubscriptions","filteredContractorSubscriptions","refetchContractorSubscriptions","isEligibilityQuestionnaireBlocked","useContractorSubscriptionSchemaField","hasEligibilityQuestionnaireSubmitted","subscription","corProductIdentifier","shouldIncludeEligibilityQuestionnaire","shouldIncludeContractPreview","rawContractOrigin","selectedContractOrigin","isContractProvidedByCustomer","contractorStandardProductIdentifier","eligibilityAnswers","formType","employmentKey","serverEmploymentData","useJSONSchema","form","jsonSchemaOptions","query","jsonSchemaVersion","mergedFormValues","useJSONSchemaForm","isBasicInformationDetailsEnabled","isIR35FileEnabled","ir35File","isLoadingIR35File","useGetIR35File","contractDocuments","isLoadingContractDocuments","useGetContractDocuments","basicInformationForm","isLoadingBasicInformationForm","buildBasicInformationJsfModify","getBasicInformationSchemaVersion","descriptionProvisionalStartDate","calculateProvisionalStartDateDescription","selectedPricingPlan","subscriptions","contractorPlusProductIdentifier","eligibilityFields","isEligibilityQuestionnaireEnabled","eligibilityQuestionnaireForm","isLoadingEligibilityQuestionnaire","useGetEligibilityQuestionnaire","isContractorOnboardingDetailsEnabled","contractorOnboardingDetailsForm","isLoadingContractorOnboardingDetailsForm","useContractorContractDetailsSchema","buildContractDetailsJsfModify","isSignatureSchemaEnabled","signatureSchemaForm","useGetContractDocumentSignatureSchema","buildContractPreviewJsfModify","contractOriginForm","useGetContractOriginSchema","invoiceScheduleForm","useGetInvoiceScheduleSchema","existingInvoiceSchedule","isLoadingInvoiceSchedules","refetchInvoiceSchedule","useGetExistingInvoiceSchedule","createInvoiceScheduleForm","isLoadingCreateInvoiceScheduleForm","useGetCreateInvoiceScheduleSchema","documentPreviewPdf","isLoadingDocumentPreviewForm","refetchDocumentPreviewForm","useGetShowContractDocument","hasCompanySignedContract","useHasCompanySignedContract","stepFields","stepFieldsWithFlatFieldsets","stepPresentation","employmentBasicInformation","employmentContractDetails","employmentCountryCode","selectCountryInitialValues","getInitialValues","convertedIr35File","dataURLtoFile","basicInformationInitialValues","initialValues","contractOriginInitialValues","invoiceScheduleInitialValues","createInvoiceScheduleInitialValues","formValues","item","index","itemNumber","contractDetailsInitialValues","contractPreviewInitialValues","signature","signatory","pricingPlanInitialValues","eligibilityQuestionnaireInitialValues","shouldHandleReadOnlyEmployment","initialLoading","isNavigatingToReview","hasContractPreviewFields","prettifyFormValues","goTo","step","parseFormValues","values","parseJSFToValidate","extractAiValidationError","error","isMutationError","rawError","servicesAndDeliverablesError","REMOTE_AI_ERROR_SOURCE","onSubmit","currentStepName","parsedValues","isEmploymentNotLoaded","hasChangedCountry","basicInformationPayload","omit","response","createStructuredError","basicInformationParsedValues","_servicesAndDeliverablesAiWarning","_servicesAndDeliverablesErrorSkippable","contractDetailsData","shouldSkipAiChecks","payload","contractDocumentId","aiError","transformAiErrorResponse","eorProductIdentifier","CONTRACT_PRODUCT_TITLES","contractOrigin","templateType","shouldShowCreateStep","failures","markContractAsReviewed","skipInvoiceSchedule","previewContractorInvoice","preview","clearBase64Data","handleNextStep","handleValidation","useCallback","checkFieldUpdates","a"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as m,b as $,c as I,d as ee,e as ae,f as te}from"./chunk-DTNFGOBK.js";import{a as R}from"./chunk-NXSRNOBC.js";import{a as Z}from"./chunk-QUJBIRNY.js";import{c as z}from"./chunk-KMLI4ISS.js";import{a as Q}from"./chunk-R23HFBV4.js";import{a as Y,b as p,h as O}from"./chunk-C4HFMTSB.js";import{a as q}from"./chunk-M3TA5X2H.js";import{a as g}from"./chunk-P37U34EQ.js";import{useMemo as h,useCallback as b,useState as Te,useEffect as we}from"react";var se={name:{"x-jsf-presentation":{inputType:"hidden"}}},Ae={fields:{...se,mobile_number:{description:"Enter 10 digits, no country code (e.g. 5389274785)"}}},Pe={fields:{...se,mobile_number:{"x-jsf-presentation":{inputType:"tel"}}}};function Fe(t){return t==="USA"?Ae:Pe}g(Fe,"getPersonalDetailsJsfModify");var ke=g(({hasBankSubstep:t,federalTaxesVisible:y,stateTaxesVisible:E})=>({personal_details:{index:0,name:"personal_details"},home_address:{index:1,name:"home_address"},bank_account:{index:2,name:"bank_account",visible:t},federal_taxes:{index:3,name:"federal_taxes",visible:y},state_taxes:{index:4,name:"state_taxes",visible:E}}),"buildEmployeeSteps");var Ke=g(({employmentId:t,countryCode:y,jurisdiction:E,initialValues:ne,options:oe})=>{let[f,V]=Te({}),{updateErrorContext:L}=z({flow:"payroll_employee_onboarding"}),{data:T,isLoading:re}=Q({employmentId:t,enabled:!y}),r=y??T?.country?.code,ie=T?.work_address_details?.state,le=T?.address_details?.state,i=E??(ie||le),de=b(e=>{L({step:e.name})},[L]),{data:x,isLoading:ce,refetch:c}=Z(t),M=h(()=>x?.find(a=>a.type==="self_onboarding")?.sub_steps??[],[x]),v=x?.find(e=>e.type==="completion")?.sub_steps?.[0]?.status==="completed",l=r==="USA",d=v??!1,U=M.some(e=>e.type==="employee_provides_bank_details"),ue=h(()=>ke({hasBankSubstep:U,federalTaxesVisible:l&&d,stateTaxesVisible:l&&!!i&&d}),[U,l,d,i]),{stepState:D,nextStep:pe,previousStep:me,goToStep:fe,setStepValues:_e,fieldValues:u,setFieldValues:Se}=q(ue,de),n=D.currentStep.name;we(()=>{n!=="federal_taxes"&&n!=="state_taxes"||V(e=>{if(!e[n])return e;let a={...e};return delete a[n],a})},[n]);let w=m(r,"global_payroll_personal_details",u,{enabled:n==="personal_details",employmentId:t},Fe(r)),A=m(r,"address_details",u,{enabled:n==="home_address",employmentId:t}),P=m(r,"global_payroll_bank_account_details",u,{enabled:n==="bank_account",employmentId:t}),_=m(r,"global_payroll_federal_taxes",u,{enabled:l&&d&&n==="federal_taxes",employmentId:t}),S=m(r,"global_payroll_state_taxes",u,{enabled:l&&!!i&&d&&n==="state_taxes",employmentId:t,jurisdiction:i}),o=h(()=>({personal_details:w.data,home_address:A.data,bank_account:P.data,federal_taxes:_.data,state_taxes:S.data})[n],[n,w.data,A.data,P.data,_.data,S.data]),be=h(()=>{let e=l?f.federal_taxes?f.federal_taxes:d?_.isError?"schema_unavailable":null:"pending_enrollment":"unsupported_country",a=l?i?f.state_taxes?f.state_taxes:d?S.isError?"schema_unavailable":null:"pending_enrollment":"no_jurisdiction":"unsupported_country";return{federal_taxes:{isAvailable:e===null,unavailableReason:e},state_taxes:{isAvailable:a===null,unavailableReason:a}}},[l,d,i,f,_.isError,S.isError]),ye=w.isLoading||A.isLoading||P.isLoading||_.isLoading||S.isLoading,J=$(t),K=I(t),B=ee(t),G=ae(t),N=te(i,t),{mutateAsyncOrThrow:j}=p(J),{mutateAsyncOrThrow:C}=p(K),{mutateAsyncOrThrow:H}=p(B),{mutateAsyncOrThrow:W}=p(G),{mutateAsyncOrThrow:X}=p(N),xe=J.isPending||K.isPending||B.isPending||G.isPending||N.isPending,ge=b(async e=>{if(!o)return null;let a=await O(e,o.fields,{isPartialValidation:!1});return o.handleValidation(a)},[o]),F=b(async e=>o?O(e,o.fields,{isPartialValidation:!1}):e,[o]),k=b((e,a)=>{if(!Y(a))return!1;let s=typeof a.rawError=="object"&&a.rawError!==null&&"message"in a.rawError?String(a.rawError.message??""):"";return/tax task not found/i.test(s)?(V(Ee=>({...Ee,[e]:"pending_enrollment"})),!0):!1},[]),he=b(async e=>{let a=await F(e);switch(n){case"personal_details":{let s=await j(a);return await c(),s}case"home_address":{let s=await C(a);return await c(),s}case"bank_account":{let s=await H(a);return await c(),s}case"federal_taxes":try{let s=await W(a);return await c(),s}catch(s){throw k("federal_taxes",s)?new R:s}case"state_taxes":try{let s=await X(a);return await c(),s}catch(s){throw k("state_taxes",s)?new R:s}default:return}},[n,F,j,C,H,W,X,c,k]);return{stepState:D,isLoading:re||ce||ye,isSubmitting:xe,isComplete:v??!1,employmentId:t,countryCode:r,jurisdiction:i,initialValues:ne,options:oe,apiSteps:x,selfOnboardingSubsteps:M,taxStepsAvailability:be,refetchSteps:c,fields:o?.fields??[],meta:o?.meta??{},fieldValues:u,setFieldValues:Se,handleValidation:ge,parseFormValues:F,onSubmit:he,next:pe,back:me,goToStep:fe,setStepValues:_e}},"usePayrollEmployeeOnboarding");export{Ke as a};
|
|
2
|
+
//# sourceMappingURL=chunk-PDOPI7HR.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as F}from"./chunk-HDFAFTHC.js";import{a as u}from"./chunk-E7Y3YBZH.js";import{
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as F}from"./chunk-HDFAFTHC.js";import{a as u}from"./chunk-E7Y3YBZH.js";import{d as p,e as l,f as i,h as a,i as c}from"./chunk-NEVSZEMH.js";import{a as m}from"./chunk-P37U34EQ.js";import{useEffect as $,useState as v}from"react";import{jsx as n,jsxs as C}from"react/jsx-runtime";function L({field:t,fieldState:b,fieldData:o}){let[g,s]=v([]),_=m(e=>{let r=e.map(({value:S})=>S);t.onChange(r),s(e)},"handleChange");$(()=>{t.value&&o.options&&s(t.value.map(e=>o?.options?.find(r=>r.value===e)))},[t.value,o.options]);let y=[...Object.entries(o.$meta?.regions||{}).map(([e,r])=>({value:r,label:e,category:"Regions"})),...Object.entries(o.$meta?.subregions||{}).map(([e,r])=>({value:r,label:e,category:"Subregions"})),...o.options?.map(e=>({...e,value:e.value,label:e.label,category:"Countries"}))||[]];return C(p,{"data-field":t.name,className:`RemoteFlows__CountryField__Item__${t.name}`,children:[n(l,{className:"RemoteFlows__CountryField__Label",children:o.label}),n(i,{children:n(F,{options:y,selected:g,onChange:_})}),o.description&&C(a,{children:[o.description," ",n(u,{helpCenter:o.meta?.helpCenter})]}),b.error&&n(c,{})]})}m(L,"CountryFieldDefault");export{L as a};
|
|
2
|
+
//# sourceMappingURL=chunk-PEBKJFMW.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as d}from"./chunk-E7Y3YBZH.js";import{a as x}from"./chunk-2QVO3BVI.js";import{
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as d}from"./chunk-E7Y3YBZH.js";import{a as x}from"./chunk-2QVO3BVI.js";import{d as p,e as i,f as _,h as F,i as c}from"./chunk-NEVSZEMH.js";import{a}from"./chunk-P37U34EQ.js";import{jsx as e,jsxs as C}from"react/jsx-runtime";function I({field:o,fieldState:u,fieldData:t}){let{name:n,label:r,description:s,descriptionSuffix:m,maxLength:T,includeErrorMessage:h}=t,l=(s||t.meta?.helpCenter)&&e(F,{as:m?"span":"p",className:"RemoteFlows__TextField__Description",helpCenter:e(d,{helpCenter:t.meta?.helpCenter}),children:s});return C(p,{"data-field":n,className:`RemoteFlows__TextField__Item__${n}`,children:[r&&e(i,{className:"RemoteFlows__TextField__Label",children:r}),e(_,{children:e(x,{...o,value:o.value??"",onChange:f=>{o.onChange(f)},className:"RemoteFlows__TextField__Input",placeholder:r,maxLength:T})}),m?C("span",{className:"RemoteFlows__TextField__DescriptionGroup",children:[l," ",e("span",{className:"RemoteFlows__TextField__DescriptionSuffix",children:m})]}):l,h&&u.error&&e(c,{className:"RemoteFlows__TextField__Error"})]})}a(I,"TextFieldDefault");export{I as a};
|
|
2
|
+
//# sourceMappingURL=chunk-PSK3Z52M.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{b as m}from"./chunk-F37FQXEZ.js";import{a as l}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{b as m}from"./chunk-F37FQXEZ.js";import{a as l}from"./chunk-VJTAVPZX.js";import{a as s}from"./chunk-NEVSZEMH.js";import{a as c}from"./chunk-C4HFMTSB.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as i}from"react/jsx-runtime";function w({onSubmit:t,onSuccess:u,onError:n}){let{form:a,formId:S,invoiceScheduleBag:o}=m(),f=e(async d=>{try{let r=await o?.parseFormValues(d);r&&await t?.(r);let h=await o?.onSubmit(d);await u?.(h)}catch(r){if(c(r)){n?.({error:r.error,rawError:r.rawError,fieldErrors:r.fieldErrors});return}n?.({error:r,rawError:{},fieldErrors:[]})}},"handleSubmit");return i(s,{...a,children:i("form",{id:S,onSubmit:a.handleSubmit(f),className:"space-y-4 RemoteFlows__InvoiceScheduleForm",children:i(l,{fields:o?.fields??[]})})})}e(w,"InvoiceScheduleForm");export{w as a};
|
|
2
|
+
//# sourceMappingURL=chunk-QB6GQW3J.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as i}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as i}from"./chunk-U7X7AHH4.js";import{b as e}from"./chunk-MRYRNB7Y.js";import{a as m}from"./chunk-P37U34EQ.js";import{jsx as u}from"react/jsx-runtime";function p({onSubmit:n}){let{terminationBag:o}=e(),a=m(async t=>{let r=await o?.parseFormValues(t);await n?.(r),o?.next()},"handleSubmit");return u(i,{defaultValues:o.fieldValues,onSubmit:a})}m(p,"EmployeeCommunicationForm");export{p as a};
|
|
2
|
+
//# sourceMappingURL=chunk-QFBZ7JTG.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as y}from"./chunk-WSRH5UQP.js";import{a as p}from"./chunk-YUS4SJPV.js";import{a as n}from"./chunk-UA22Q6DY.js";import{a as l}from"./chunk-KXTESNWQ.js";import{a as m}from"./chunk-4FKQXGBR.js";import{a}from"./chunk-UX5LWYEO.js";import{a as i}from"./chunk-Z4Q2UO2Y.js";import{a as t}from"./chunk-SS2SYDCB.js";import{a as e}from"./chunk-PDOPI7HR.js";import{a as r}from"./chunk-P37U34EQ.js";import{useId as u}from"react";import{jsx as E}from"react/jsx-runtime";var I=r(({employmentId:s,countryCode:d,jurisdiction:f,initialValues:P,options:b,render:g})=>{let c=u(),o=e({employmentId:s,countryCode:d,jurisdiction:f,initialValues:P,options:b});return E(t.Provider,{value:{formId:c,employeeBag:o},children:g({employeeBag:o,components:{PersonalDetailsStep:m,HomeAddressStep:l,BankAccountStep:p,FederalTaxesStep:n,StateTaxesStep:a,SubmitButton:i,BackButton:y}})})},"PayrollEmployeeOnboardingFlow");export{I as a};
|
|
2
|
+
//# sourceMappingURL=chunk-QFLUUNBA.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as b}from"./chunk-E7Y3YBZH.js";import{
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as b}from"./chunk-E7Y3YBZH.js";import{d as _,e as d,f as x,h as u,i as f}from"./chunk-NEVSZEMH.js";import{n as a}from"./chunk-C4HFMTSB.js";import{a as c}from"./chunk-P37U34EQ.js";import*as g from"react";import{jsx as h}from"react/jsx-runtime";var s=g.forwardRef(({className:e,...r},t)=>h("textarea",{className:a("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:t,...r}));s.displayName="Textarea";import{jsx as o,jsxs as l}from"react/jsx-runtime";function y({field:e,fieldState:r,fieldData:t}){let{name:i,label:p,description:n,maxLength:m}=t,F=e.value?.length??0;return l(_,{"data-field":i,className:`RemoteFlows__TextArea__Item__${i}`,children:[o(d,{className:"RemoteFlows__TextArea__Label",children:p}),o(x,{children:o(s,{...e,value:e.value??"",onChange:T=>{e.onChange(T)},className:a(r.error&&"border-red-500 focus-visible:ring-red-500","RemoteFlows__TextArea__Input"),placeholder:p})}),(n||m)&&l("div",{className:"flex items-center justify-between",children:[n&&o(u,{className:"RemoteFlows__TextArea__Description",helpCenter:o(b,{helpCenter:t.meta?.helpCenter}),children:n}),m&&l("span",{className:"text-sm ml-auto RemoteFlows__TextArea__MaxLength",children:[F,"/",m]})]}),r.error&&o(f,{className:"RemoteFlows__TextArea__Error"})]})}c(y,"TextAreaFieldDefault");export{y as a};
|
|
2
|
+
//# sourceMappingURL=chunk-QIAMSVGB.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{b as m}from"./chunk-4MI7BMM5.js";import{a as i}from"./chunk-AFTFDGSD.js";import{a as l}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{b as m}from"./chunk-4MI7BMM5.js";import{a as i}from"./chunk-AFTFDGSD.js";import{a as l}from"./chunk-VJTAVPZX.js";import{a as d}from"./chunk-NEVSZEMH.js";import{a as n}from"./chunk-P37U34EQ.js";import{useEffect as p}from"react";import{jsx as r}from"react/jsx-runtime";var h=n(({onSubmit:s,className:e,components:c})=>{let{formId:u,playgroundBag:o}=m(),a=i({handleValidation:o.handleValidation,defaultValues:o.initialValues,checkFieldUpdates:o.checkFieldUpdates});p(()=>{o.checkFieldUpdates(a.getValues())},[]);let f=n(async t=>{await o.handleSubmit(t),s?.(t)},"handleFormSubmit");return r(d,{...a,children:r("form",{id:u,onSubmit:a.handleSubmit(f),className:e,children:r(l,{components:c,fields:o.fields??[],fieldValues:o.fieldValues,fieldsets:o.meta["x-jsf-fieldsets"]})})})},"JsonSchemaPlaygroundFormInner"),J=n(s=>{let{playgroundBag:e}=m();return r(h,{...s},`form-${e.selectedSchema}-${e.resetKey}`)},"JsonSchemaPlaygroundForm");export{J as a};
|
|
2
|
+
//# sourceMappingURL=chunk-QNEGC7RZ.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as s}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as s}from"./chunk-C3LOTWEB.js";import{b as a}from"./chunk-Q3ALCPJN.js";import{x as t}from"./chunk-C4HFMTSB.js";import{a as n}from"./chunk-P37U34EQ.js";import{jsx as v}from"react/jsx-runtime";function E({components:c,onSubmit:d,onSuccess:l,onError:m}){let{contractorOnboardingBag:o}=a(),u=n(async(i,S)=>{try{let r=await o.parseFormValues(i);await d?.(r);let e=await o.onSubmit(i);if(e?.data){await l?.(e.data),o?.next();return}}catch(r){let e=t(r,o.meta?.fields?.invoice_schedule,S);m?.(e)}},"handleSubmit"),p=o.stepState.values?.invoice_schedule||o.initialValues.invoice_schedule;return v(s,{components:c,defaultValues:p,onSubmit:u})}n(E,"InvoiceScheduleStep");export{E as a};
|
|
2
|
+
//# sourceMappingURL=chunk-QOGWAKHP.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as t}from"./chunk-ZLTZKUXL.js";import{a as f}from"./chunk-LRXKF2LC.js";import{a as e}from"./chunk-QFBZ7JTG.js";import{a as p}from"./chunk-UGQJQM72.js";import{a as n}from"./chunk-YUNA3QKT.js";import{a}from"./chunk-YJTKDCA6.js";import{a as r}from"./chunk-SLEK47CR.js";import{a as m}from"./chunk-MRYRNB7Y.js";import{a as i}from"./chunk-P37U34EQ.js";import{useId as c}from"react";import{jsx as F}from"react/jsx-runtime";var k=i(({employmentId:l,render:T,options:d,initialValues:s})=>{let u=c(),o=t({employmentId:l,options:d,initialValues:s});return F(m.Provider,{value:{formId:u,terminationBag:o},children:T({terminationBag:o,components:{SubmitButton:r,Back:n,EmployeeComunicationStep:e,TerminationDetailsStep:a,PaidTimeOffStep:p,AdditionalDetailsStep:f}})})},"TerminationFlow");export{k as a};
|
|
2
|
+
//# sourceMappingURL=chunk-R2NQ3F6J.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as y}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as y}from"./chunk-W5S3F2WP.js";import{a as m}from"./chunk-3OHORFIX.js";import{a as l}from"./chunk-GPWQPJQ7.js";import{e as c}from"./chunk-SRLBVFNQ.js";import{a as t}from"./chunk-P37U34EQ.js";import{useEffect as p}from"react";import{Fragment as N,jsx as v,jsxs as C}from"react/jsx-runtime";var R=t(({currencies:{from:d,to:F},shouldSwapOrder:s,salary_conversion_properties:a,conversionType:_="no_spread",defaultValue:r,splitDescription:f,...e})=>{let{setValue:n,getValues:i}=c(),g={label:a?.label||"Salary conversion",description:a?.description||C(N,{children:["The conversion is based on the Remote FX rate."," ",v(m,{className:"text-sm",zendeskId:l.remoteFxRate,children:"Learn more \u2197"})]})},u=s?"salary_conversion":e.name,b=s?e.name:"salary_conversion";return p(()=>{if(s){let o=i(e.name);o?(n("salary_conversion",o),n("salary_converted","salary_conversion")):r&&(n("salary_conversion",r),n("salary_converted","salary_conversion"))}else{let o=i("salary_conversion");o?(n(e.name,o),n("salary_converted",e.name)):r&&(n(e.name,r),n("salary_converted",e.name))}},[s,r,n,i,e.name]),v(y,{...e,sourceCurrency:d,targetCurrency:F,mainFieldName:u,conversionFieldName:b,conversionProperties:g,classNamePrefix:"RemoteFlows-Salary",conversionType:_,splitDescription:f})},"SalaryField");export{R as a};
|
|
2
|
+
//# sourceMappingURL=chunk-R5THYINT.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{c as d,d as S}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{c as d,d as S}from"./chunk-FZMUZRZN.js";import{a as u}from"./chunk-HN5HLFTB.js";import{a as f}from"./chunk-KSHK3ZPX.js";import{b as C}from"./chunk-KFYWUBRS.js";import{i as y}from"./chunk-SRLBVFNQ.js";import{a as o}from"./chunk-P37U34EQ.js";import{useEffect as T,useId as U,useState as I}from"react";import{jsx as k}from"react/jsx-runtime";var l=o((n,e,r)=>r&&r[e]?r[e]:n[e]?n[e]/100:0,"getDefaultManagementFee"),A=o((n,e,r,g)=>!e&&!r?.management_fee&&n?l(u,n,g):e&&!r?.management_fee?"":r?.management_fee,"getManagementFee"),W=o(({estimationOptions:n=d,defaultValues:e={countryRegionSlug:"",regionSlug:"",currencySlug:"",salary:"",benefits:{},management:{management_fee:""}},options:r,render:g,version:_="standard"})=>{let p=U(),[R,m]=I("USD"),F=o(s=>{m(s);let a=l(u,s,n.managementFees);a&&c.setValue("management.management_fee",a.toString())},"onCurrencyChange"),t=S({defaultRegion:e.countryRegionSlug,defaultCurrency:e.currencySlug,defaultSalary:e.salary,estimationOptions:n,version:_,options:{...r,onCurrencyChange:F}}),K=C(t.handleValidation),b=A(R,e.currencySlug,e.management,n.managementFees),{countryRegionSlug:v,currencySlug:h,salary:D,benefits:P,hiringBudget:B,age:E,contractDurationType:M,regionSlug:w,...x}=e,c=y({resolver:K,defaultValues:{country:v,currency:h,region:w,salary:D,salary_conversion:"",salary_converted:void 0,hiring_budget:B||"employee_annual_salary",age:E,contract_duration_type:M,management:{management_fee:b?.toString()||""},benefits:P,estimation_title:n.title,...x},shouldUnregister:!1,mode:"onBlur"});return T(()=>{if(e.currencySlug&&t.currencies&&n.includeManagementFee&&!e.management?.management_fee){let a=t.currencies.find(i=>i.value===e.currencySlug)?.label;if(a){m(a);let i=l(u,a,n.managementFees);c.setValue("management.management_fee",i?.toString()||"")}}},[e.currencySlug,t.currencies,n.includeManagementFee,n.managementFees,e.management?.management_fee,c]),k(f.Provider,{value:{form:c,formId:p,costCalculatorBag:t},children:g(t)})},"CostCalculatorFlow");export{W as a};
|
|
2
|
+
//# sourceMappingURL=chunk-R6U3F3O3.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as t}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as t}from"./chunk-2BH4CIY3.js";import{b as o}from"./chunk-PGWKJ6FK.js";import{a as n}from"./chunk-P37U34EQ.js";import{jsx as r}from"react/jsx-runtime";function u(){let{onboardingBag:e}=o();return r(t,{defaultValues:{},onSubmit:n(async()=>{e?.next()},"handleSubmit")})}n(u,"PreviewEmploymentAgreementStep");export{u as a};
|
|
2
|
+
//# sourceMappingURL=chunk-RWPZYB5B.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as p}from"./chunk-JK4CPPN4.js";import{a as m}from"./chunk-YFQNP2SL.js";import{a as l}from"./chunk-BQKSMAW3.js";import{a as i}from"./chunk-SSPK7NGT.js";import{a as d}from"./chunk-KGSH67IW.js";import{a}from"./chunk-5POY6QBR.js";import{a as n}from"./chunk-WCJZAOZR.js";import{a as t}from"./chunk-QRSMCORC.js";import{a as r}from"./chunk-P37U34EQ.js";import{useId as c}from"react";import{jsx as u}from"react/jsx-runtime";var D=r(({companyId:e,legalEntityId:s,countryCode:f,employmentId:P,initialValues:y,options:b,render:g})=>{let A=c(),o=t({companyId:e,legalEntityId:s,countryCode:f,employmentId:P,initialValues:y,options:b});return u(n.Provider,{value:{formId:A,adminBag:o},children:g({adminBag:o,components:{SelectCountryStep:i,ContractDetailsStep:m,AdministrativeDetailsStep:a,InvitationStep:l,SubmitButton:d,BackButton:p}})})},"PayrollAdminOnboardingFlow");export{D as a};
|
|
2
|
+
//# sourceMappingURL=chunk-SQ5OMBOV.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as s}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as s}from"./chunk-W5S3F2WP.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as a}from"react/jsx-runtime";var c=e(({currency:n,desiredCurrency:o,annual_gross_salary_conversion_properties:r,splitDescription:i,...t})=>a(s,{...t,sourceCurrency:n,targetCurrency:o,splitDescription:i,conversionFieldName:"annual_gross_salary_conversion",conversionProperties:{...r,description:r?.description||"Estimated amount. This is an estimation. We calculate conversions based on spot rates that are subject to fluctuation over time."},classNamePrefix:"RemoteFlows-AnnualGrossSalary",conversionType:"no_spread"}),"AnnualGrossSalary");export{c as a};
|
|
2
|
+
//# sourceMappingURL=chunk-SQKFUT6T.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as e}from"./chunk-VCJHB56K.js";import{a as r}from"./chunk-APUJLKUM.js";import{b as n}from"./chunk-WCJZAOZR.js";import{a as o}from"./chunk-P37U34EQ.js";import{jsx as i}from"react/jsx-runtime";function p(a){let{adminBag:t}=n(),l=r(a),s={...t.initialValues?.basic_information,...t.stepState.values?.select_country};return i(e,{onSubmit:l,defaultValues:s},t.countryCode??"no-country")}o(p,"SelectCountryStep");export{p as a};
|
|
2
|
+
//# sourceMappingURL=chunk-SSPK7NGT.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as _}from"./chunk-HDFAFTHC.js";import{a as C}from"./chunk-E7Y3YBZH.js";import{
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as _}from"./chunk-HDFAFTHC.js";import{a as C}from"./chunk-E7Y3YBZH.js";import{d as i,e as c,f as a,h as F,i as u}from"./chunk-NEVSZEMH.js";import{a as p}from"./chunk-P37U34EQ.js";import{useEffect as O,useState as g}from"react";import{jsx as o,jsxs as I}from"react/jsx-runtime";var w=p(({field:t,fieldState:d,fieldData:r})=>{let[f,n]=g([]),{name:m,label:h,description:s,options:l}=r,v=f||l?.filter(e=>t.value?.includes(e.value));return O(()=>{n(l?.filter(e=>t.value?.includes(e.value))||[])},[t.value,l]),I(i,{"data-field":m,className:`RemoteFlows__SelectField__Item__${m}`,children:[o(c,{className:"RemoteFlows__SelectField__Label",children:h}),o(a,{children:o(_,{options:l||[],selected:v,onChange:e=>{let S=e.map(({value:b})=>b);t.onChange(S),n(e)}})}),(s||r.meta?.helpCenter)&&o(F,{helpCenter:o(C,{helpCenter:r.meta?.helpCenter}),children:s}),d.error&&o(u,{})]})},"MultiSelectFieldDefault");export{w as a};
|
|
2
|
+
//# sourceMappingURL=chunk-THUEI7J4.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as n,b as a}from"./chunk-SRLBVFNQ.js";import{a as o}from"./chunk-P37U34EQ.js";var l=o((s,r,t)=>{if(s&&"reportValidity"in s){let e=n(t,r);s.setCustomValidity(e&&e.message||""),s.reportValidity()}},"r"),m=o((s,r)=>{for(let t in r.fields){let e=r.fields[t];e&&e.ref&&"reportValidity"in e.ref?l(e.ref,t,s):e&&e.refs&&e.refs.forEach(i=>l(i,t,s))}},"o"),u=o((s,r)=>{r.shouldUseNativeValidation&&m(s,r);let t={};for(let e in s){let i=n(r.fields,e),c=Object.assign(s[e]||{},{ref:i&&i.ref});if(p(r.names||Object.keys(s),e)){let f=Object.assign({},n(t,e));a(f,"root",c),a(t,e,f)}else a(t,e,c)}return t},"s"),p=o((s,r)=>{let t=d(r).replace(/[.*+?^${}()|\\]/g,"\\$&");return s.some(e=>d(e).match(`^${t}\\.\\d+`))},"i");function d(s){return s.replace(/[\[\]]/g,"")}o(d,"n");export{m as a,u as b};
|
|
2
|
+
//# sourceMappingURL=chunk-TJOQF7N6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../node_modules/@hookform/resolvers/src/validateFieldsNatively.ts","../node_modules/@hookform/resolvers/src/toNestErrors.ts"],"sourcesContent":["import {\n FieldError,\n FieldErrors,\n FieldValues,\n Ref,\n ResolverOptions,\n get,\n} from 'react-hook-form';\n\nconst setCustomValidity = (\n ref: Ref,\n fieldPath: string,\n errors: FieldErrors,\n) => {\n if (ref && 'reportValidity' in ref) {\n const error = get(errors, fieldPath) as FieldError | undefined;\n ref.setCustomValidity((error && error.message) || '');\n\n ref.reportValidity();\n }\n};\n\n// Native validation (web only)\nexport const validateFieldsNatively = <TFieldValues extends FieldValues>(\n errors: FieldErrors,\n options: ResolverOptions<TFieldValues>,\n): void => {\n for (const fieldPath in options.fields) {\n const field = options.fields[fieldPath];\n if (field && field.ref && 'reportValidity' in field.ref) {\n setCustomValidity(field.ref, fieldPath, errors);\n } else if (field && field.refs) {\n field.refs.forEach((ref: HTMLInputElement) =>\n setCustomValidity(ref, fieldPath, errors),\n );\n }\n }\n};\n","import {\n Field,\n FieldErrors,\n FieldValues,\n InternalFieldName,\n ResolverOptions,\n get,\n set,\n} from 'react-hook-form';\nimport { validateFieldsNatively } from './validateFieldsNatively';\n\nexport const toNestErrors = <TFieldValues extends FieldValues>(\n errors: FieldErrors,\n options: ResolverOptions<TFieldValues>,\n): FieldErrors<TFieldValues> => {\n options.shouldUseNativeValidation && validateFieldsNatively(errors, options);\n\n const fieldErrors = {} as FieldErrors<TFieldValues>;\n for (const path in errors) {\n const field = get(options.fields, path) as Field['_f'] | undefined;\n const error = Object.assign(errors[path] || {}, {\n ref: field && field.ref,\n });\n\n if (isNameInFieldArray(options.names || Object.keys(errors), path)) {\n const fieldArrayErrors = Object.assign({}, get(fieldErrors, path));\n\n set(fieldArrayErrors, 'root', error);\n set(fieldErrors, path, fieldArrayErrors);\n } else {\n set(fieldErrors, path, error);\n }\n }\n\n return fieldErrors;\n};\n\nconst isNameInFieldArray = (\n names: InternalFieldName[],\n name: InternalFieldName,\n) => {\n const path = escapeForRegex(name);\n return names.some((n) => escapeBrackets(n).match(`^${path}\\\\.\\\\d+`));\n};\n\n// Removes brackets to match react-hook-form's `set` method behavior.\nfunction escapeBrackets(input: string): string {\n return input.replace(/[\\[\\]]/g, '');\n}\n\n// Removes brackets then escapes regex metacharacters so a field name can be\n// safely embedded in a regex pattern without causing a SyntaxError.\nfunction escapeForRegex(input: string): string {\n return escapeBrackets(input).replace(/[.*+?^${}()|\\\\]/g, '\\\\$&');\n}\n"],"mappings":"uFASA,IAAMA,EAAoBA,EAAAA,CACxBC,EACAC,EACAC,IAAAA,CAEA,GAAIF,GAAO,mBAAoBA,EAAK,CAClC,IAAMG,EAAQC,EAAIF,EAAQD,CAAAA,EAC1BD,EAAID,kBAAmBI,GAASA,EAAME,SAAY,EAAA,EAElDL,EAAIM,eAAAA,CACN,CAAA,EAVwBP,KAcbQ,EAAyBA,EAAAA,CACpCL,EACAM,IAAAA,CAEA,QAAWP,KAAaO,EAAQC,OAAQ,CACtC,IAAMC,EAAQF,EAAQC,OAAOR,CAAAA,EACzBS,GAASA,EAAMV,KAAO,mBAAoBU,EAAMV,IAClDD,EAAkBW,EAAMV,IAAKC,EAAWC,CAAAA,EAC/BQ,GAASA,EAAMC,MACxBD,EAAMC,KAAKC,QAASZ,GAClBD,EAAkBC,EAAKC,EAAWC,CAAAA,CAAAA,CAGxC,CAAA,EAboCK,KCZzBM,EAAeA,EAAAA,CAC1BX,EACAM,IAAAA,CAEAA,EAAQM,2BAA6BP,EAAuBL,EAAQM,CAAAA,EAEpE,IAAMO,EAAc,CAA+B,EACnD,QAAWC,KAAQd,EAAQ,CACzB,IAAMQ,EAAQN,EAAII,EAAQC,OAAQO,CAAAA,EAC5Bb,EAAQc,OAAOC,OAAOhB,EAAOc,CAAAA,GAAS,CAAE,EAAE,CAC9ChB,IAAKU,GAASA,EAAMV,GAAAA,CAAAA,EAGtB,GAAImB,EAAmBX,EAAQY,OAASH,OAAOI,KAAKnB,CAAAA,EAASc,CAAAA,EAAO,CAClE,IAAMM,EAAmBL,OAAOC,OAAO,CAAA,EAAId,EAAIW,EAAaC,CAAAA,CAAAA,EAE5DO,EAAID,EAAkB,OAAQnB,CAAAA,EAC9BoB,EAAIR,EAAaC,EAAMM,CAAAA,CACzB,MACEC,EAAIR,EAAaC,EAAMb,CAAAA,CAE3B,CAEA,OAAOY,CAAAA,EAvBmBF,KA0BtBM,EAAqBA,EAAAA,CACzBC,EACAI,IAAAA,CAEA,IAAMR,EAYCS,EAZqBD,CAAAA,EAYCE,QAAQ,mBAAoB,MAAA,EAXzD,OAAON,EAAMO,KAAMC,GAAMH,EAAeG,CAAAA,EAAGC,MAAM,IAAIb,CAAAA,SAAAA,CAAAA,CAAc,EAL1CG,KAS3B,SAASM,EAAeK,EAAAA,CACtB,OAAOA,EAAMJ,QAAQ,UAAW,EAAA,CAClC,CAFSD,EAAAA,EAAAA","names":["setCustomValidity","ref","fieldPath","errors","error","get","message","reportValidity","validateFieldsNatively","options","fields","field","refs","forEach","toNestErrors","shouldUseNativeValidation","fieldErrors","path","Object","assign","isNameInFieldArray","names","keys","fieldArrayErrors","set","name","escapeBrackets","replace","some","n","match","input"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{b as S}from"./chunk-NEVSZEMH.js";import{e as _}from"./chunk-SRLBVFNQ.js";import{b as C,c as D}from"./chunk-H2O4CVKF.js";import{a as i}from"./chunk-P37U34EQ.js";import F from"lodash.groupby";import b from"lodash.capitalize";var W=60,v=["monday","tuesday","wednesday","thursday","friday","saturday","sunday"];function M(e){if(e<60)return`${e}m`;let a=Math.floor(e/W),n=e%W;return n>0?`${a}h${n}m`:`${a}h`}i(M,"convertBreakDurationToHours");function I(e){let a=e.reduce((n,c)=>c.hours+n,0);return Number(a.toFixed(2))}i(I,"calculateTotalWorkHours");function N(e,a){let n=a.map(({day:d})=>d.toLowerCase()),c=n.indexOf(e),l=null;for(;c<n.length&&!l;){let d=n[c],k=n[c+1],o=v.indexOf(d)+1;v[o]===k||(l=d),c+=1}return l}i(N,"findLastConsecutiveDay");function T(e){return e.start_time&&e.end_time&&(typeof e.hours=="number"?e.hours:Number.parseInt(e.hours))>0}i(T,"shouldSummarizeSchedule");function w(e){return Number.parseInt(e.break_duration_minutes)>0}i(w,"shouldSummarizeBreaks");function P(e){let a=e.filter(T),n=F(a,o=>`${o.start_time}|${o.end_time}`),c=e.filter(w),l=F(c,"break_duration_minutes"),d=Object.keys(n).map(o=>{let s=n[o],m=s[0].day,[p,h]=o.split("|"),t=`from <span>${p.replace(":","h")}</span> to <span>${h.replace(":","h")}</span>`,r=N(m,s),u=(r?s.findIndex(y=>y.day===r):-1)===s.length-1;return s.length===1?`${b(m)}, ${t}`:!u||!r?s.reduce((y,$,g)=>{let x=b($.day);return g===s.length-1?`${y}and ${x}, ${t}`:`${y}<span>${x}</span>, `},""):`<span>${b(m)}</span> to <span>${b(r)}</span>, ${t}`}),k=Object.keys(l).reverse().map((o,s)=>{let m=s===0,p=l[o],h=M(parseInt(o,10));if(Object.keys(l).length===1)return`With ${h} daily breaks`;if(p.length===1){let t=`${h} break on ${b(p[0].day)}.`;return m?`With ${t}`:t}return p.reduce((t,r,f)=>{let u=b(r.day);return f===0?`${t} ${u}`:f===p.length-1?`${t}, and ${u}.`:`${t}, ${u}`},m?`With ${h} break on`:`${h} break on`)});return{workHoursSummary:d,breakSummary:k}}i(P,"buildWorkScheduleSummary");function R(e){let{checked:a,start_time:n,end_time:c,break_duration_minutes:l}=e;if(!a)return 0;let[d,k]=n.split(":").map(Number),[o,s]=c.split(":").map(Number),m=d*60+k,t=(o*60+s-m-Number.parseInt(l||"0"))/60;return t===Math.floor(t)?t:Number(t.toFixed(2))}i(R,"calculateHours");var B={monday:"Mon",tuesday:"Tue",wednesday:"Wed",thursday:"Thu",friday:"Fri",saturday:"Sat",sunday:"Sun"};function z(e){return B[e]}i(z,"getShortWeekday");import{jsx as H}from"react/jsx-runtime";function Y({name:e,defaultValue:a,description:n,label:c,onChange:l,multiple:d,options:k,component:o,...s}){let{components:m}=C(),{control:p}=_(),h=D(),t=i((r,f,u)=>{if(d&&u){let y=r.value?[...r.value]:[];f?y.includes(u)||r.onChange([...y,u]):r.onChange(y.filter($=>$!==u))}else r.onChange(f)},"handleCheckboxChange");return H(S,{control:p,name:e,defaultValue:a,render:({field:r,fieldState:f})=>{let u=o||m?.checkbox;if(!u)throw new Error(`Checkbox component not found for field ${e}`);let y={name:e,description:n,label:c,defaultValue:a,multiple:d,options:k,transformHtml:h,...s};return H(u,{field:{...r,onChange:i(($,g)=>{t(r,$,g),l?.($,g)},"onChange")},fieldState:f,fieldData:y})}})}i(Y,"CheckBoxField");export{v as a,I as b,P as c,R as d,z as e,Y as f};
|
|
2
|
+
//# sourceMappingURL=chunk-TNWH6PVQ.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as j,b as $}from"./chunk-TJOQF7N6.js";import{a as R,b as H,c as T,d as C,f as E}from"./chunk-XNV6ZN7J.js";import{a as B,d as N,e as F,f as O}from"./chunk-TNWH6PVQ.js";import{a as k}from"./chunk-GYMFEHNM.js";import{b as y}from"./chunk-LKHRHBFP.js";import{a as D}from"./chunk-NEVSZEMH.js";import{g as w,h as W,i as b}from"./chunk-SRLBVFNQ.js";import{a as l}from"./chunk-P37U34EQ.js";import*as o from"yup";function P(t,_,p){return p===void 0&&(p={}),function(h,S,i){try{return Promise.resolve((function(c,v){try{var n=(_!=null&&_.context&&process.env.NODE_ENV==="development"&&console.warn("You should not used the yup options context. Please, use the 'useForm' context object instead"),Promise.resolve(t[p.mode==="sync"?"validateSync":"validate"](h,Object.assign({abortEarly:!1},_,{context:S}))).then(function(a){return i.shouldUseNativeValidation&&j({},i),{values:p.raw?Object.assign({},h):a,errors:{}}}))}catch(a){return v(a)}return n&&n.then?n.then(void 0,v):n})(0,function(c){if(!c.inner)throw c;return{values:{},errors:$((v=c,n=!i.shouldUseNativeValidation&&i.criteriaMode==="all",(v.inner||[]).reduce(function(a,r){if(a[r.path]||(a[r.path]={message:r.message,type:r.type}),n){var f=a[r.path].types,g=f&&f[r.type];a[r.path]=w(r.path,n,a,r.type,g?[].concat(g,r.message):r.message)}return a},{})),i)};var v,n}))}catch(c){return Promise.reject(c)}}}l(P,"o");import{Fragment as L,useState as V}from"react";import{jsx as e,jsxs as s}from"react/jsx-runtime";var I=o.object({day:o.string().required(),checked:o.boolean().required(),start_time:o.string().matches(/^([01]\d|2[0-3]):([0-5]\d)$/,"Invalid time format (HH:mm)").when("checked",{is:!0,then:l(t=>t.required("Required"),"then"),otherwise:l(t=>t.optional().nullable(),"otherwise")}),end_time:o.string().matches(/^([01]\d|2[0-3]):([0-5]\d)$/,"Invalid time format (HH:mm)").when("checked",{is:!0,then:l(t=>t.required("Required"),"then"),otherwise:l(t=>t.optional().nullable(),"otherwise")}),hours:o.number().default(0),break_duration_minutes:o.string().default("0")}),A=o.object({schedule:o.array(I)});function U({defaultSchedule:t,onSubmit:_}){let[p,h]=V(!1),S=B.map(d=>{let m=t.find(u=>u.day.toLowerCase()===F(d).toLowerCase()||u.day.toLowerCase()===d.toLowerCase());return m?{...m,day:F(d),checked:!0}:{...t[0],checked:!1,day:F(d)}}),i=b({defaultValues:{schedule:S},resolver:P(A)}),{handleSubmit:c,watch:v,reset:n,control:a,formState:r}=i,{fields:f}=W({name:"schedule",control:a}),g=v("schedule");function M(d){let m=d.schedule.filter(({checked:u})=>u).map(u=>({...u,hours:N(u)}));_(m),h(!1)}l(M,"handleSubmitWorkingHours");function q(){n(),h(!1)}return l(q,"handleCancel"),e("div",{className:"flex items-center justify-between",children:s(R,{open:p,onOpenChange:h,children:[e(H,{asChild:!0,children:e(y,{variant:"link",className:"flex items-center p-0 RemoteFlows__WorkScheduleSelectionForm__Trigger",children:"Edit Schedule"})}),s(T,{className:"max-w-5xl max-h-[90vh] overflow-y-auto px-8 py-4 RemoteFlows__WorkScheduleSelectionForm__Content",children:[e(C,{children:e(E,{className:"RemoteFlows__WorkScheduleSelectionForm__Title",children:"Edit employee working hours"})}),e(D,{...i,children:s("form",{className:"space-y-4 RemoteFlows__WorkScheduleSelectionForm__Form",children:[s("div",{className:"rounded-lg",children:[e("p",{className:"text-gray-600 text-sm mb-4 RemoteFlows__WorkScheduleSelectionForm__Description",children:"The times displayed are in the employee's time zone in the 24-hour format."}),s("div",{className:"grid grid-cols-12 gap-4 text-sm font-medium text-gray-500 uppercase tracking-wide RemoteFlows__WorkScheduleSelectionForm__Header",children:[e("div",{className:"col-span-2"}),e("div",{className:"col-span-3 text-center",children:"START"}),e("div",{className:"col-span-1 text-center"}),e("div",{className:"col-span-3 text-center",children:"END"}),e("div",{className:"col-span-2 text-center",children:"HOURS"})]}),e("div",{className:"RemoteFlows__WorkScheduleSelectionForm__Rows",children:f.map((d,m)=>{let u=g[m],x=N(u);return s(L,{children:[s("div",{className:"grid grid-cols-12 gap-4 items-center py-2 RemoteFlows__WorkScheduleSelectionForm__Row-Hours",children:[e("div",{className:"col-span-2 flex items-center gap-3",children:e(O,{label:d.day,name:`schedule.${m}.checked`})}),e("div",{className:"col-span-3",children:e(k,{name:`schedule.${m}.start_time`,includeErrorMessage:!1})}),e("div",{className:"col-span-1 text-center text-gray-500",children:"to"}),e("div",{className:"col-span-3",children:e(k,{name:`schedule.${m}.end_time`,includeErrorMessage:!1})}),e("div",{className:"col-span-2 text-center text-gray-600",children:isNaN(x)?"-":`${x} hours`})]}),s("div",{className:"grid grid-cols-12 gap-4 items-center py-2 RemoteFlows__WorkScheduleSelectionForm__Row-Break",children:[e("div",{className:"col-span-2 text-gray-500",children:"Break"}),e("div",{className:"col-span-2",children:e(k,{name:`schedule.${m}.break_duration_minutes`,includeErrorMessage:!1})}),e("div",{className:"col-span-2 text-gray-500",children:"minutes"}),e("div",{className:"col-span-4"})]})]},d.id)})})]}),Object.keys(r.errors).length>0&&e("p",{className:"text-destructive text-sm mb-0",children:"Invalid time format (HH:mm)"}),s("div",{className:"flex gap-4 pt-4",children:[e(y,{type:"button",className:"reset-button",variant:"outline",onClick:q,children:"Cancel"}),e(y,{type:"button",className:"submit-button",onClick:c(M),children:"Save Schedule"})]})]})})]})]})})}l(U,"WorkScheduleSelectionForm");var le=l(({fieldData:t})=>{let{defaultFormattedValue:_,currentSchedule:p,onSubmit:h}=t,{workHoursSummary:S,breakSummary:i,totalWorkHours:c}=_;return s("div",{className:"flex flex-col gap-3 RemoteFlows__WorkScheduleField",children:[e("p",{className:"text-sm RemoteFlows__WorkScheduleField__Title",children:"Work hours"}),s("div",{className:"flex flex-col gap-1 RemoteFlows__WorkScheduleField__Summary",children:[e("p",{className:"text-sm text-gray-500 RemoteFlows__WorkScheduleField__Summary__WorkHours",dangerouslySetInnerHTML:{__html:S.join(", ")}}),e("p",{className:"text-sm text-gray-500 RemoteFlows__WorkScheduleField__Summary__Break",children:i.join()}),s("p",{className:"text-sm text-gray-500 RemoteFlows__WorkScheduleField__Summary__Total",children:["Total of ",e("span",{children:c})," hours per week"]}),e(U,{defaultSchedule:p,onSubmit:h})]})]})},"WorkScheduleFieldDefault");export{le as a};
|
|
2
|
+
//# sourceMappingURL=chunk-TSR7O3QD.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/form/fields/default/WorkScheduleFieldDefault.tsx","../node_modules/@hookform/resolvers/yup/src/yup.ts"],"sourcesContent":["import { useFieldArray, useForm } from 'react-hook-form';\nimport * as yup from 'yup';\nimport { yupResolver } from '@hookform/resolvers/yup';\nimport { Fragment, useState } from 'react';\nimport { Form } from '@/src/components/ui/form';\nimport {\n calculateHours,\n DailySchedule,\n DAYS_OF_THE_WEEK,\n getShortWeekday,\n} from '@/src/components/form/fields/workScheduleUtils';\nimport { CheckBoxField } from '@/src/components/form/fields/CheckBoxField';\nimport { TextField } from '@/src/components/form/fields/TextField';\nimport { Button } from '@/src/components/ui/button';\nimport {\n Dialog,\n DialogContent,\n DialogHeader,\n DialogTitle,\n DialogTrigger,\n} from '@/src/components/ui/dialog';\nimport { WorkScheduleComponentProps } from '@/src/types/fields';\nimport { $TSFixMe } from '@/src/types/remoteFlows';\n\ntype WorkScheduleFormData = {\n schedule: DailySchedule[];\n};\n\ntype WorkScheduleSelectionProps = {\n defaultSchedule: DailySchedule[];\n onSubmit: (data: WorkScheduleFormData['schedule']) => void;\n};\n\nconst fieldSchema = yup.object({\n day: yup.string().required(),\n checked: yup.boolean().required(),\n start_time: yup\n .string()\n .matches(/^([01]\\d|2[0-3]):([0-5]\\d)$/, 'Invalid time format (HH:mm)')\n .when('checked', {\n is: true,\n then: (schema) => schema.required('Required'),\n otherwise: (schema) => schema.optional().nullable(),\n }),\n end_time: yup\n .string()\n .matches(/^([01]\\d|2[0-3]):([0-5]\\d)$/, 'Invalid time format (HH:mm)')\n .when('checked', {\n is: true,\n then: (schema) => schema.required('Required'),\n otherwise: (schema) => schema.optional().nullable(),\n }),\n hours: yup.number().default(0),\n break_duration_minutes: yup.string().default('0'),\n});\n\nconst formSchema = yup.object({\n schedule: yup.array(fieldSchema),\n});\n\nfunction WorkScheduleSelectionForm({\n defaultSchedule,\n onSubmit,\n}: WorkScheduleSelectionProps) {\n const [openDialog, setOpenDialog] = useState(false);\n\n const transformedSchedule = DAYS_OF_THE_WEEK.map((day) => {\n const existingSchedule = defaultSchedule.find(\n (schedule) =>\n schedule.day.toLowerCase() === getShortWeekday(day).toLowerCase() ||\n schedule.day.toLowerCase() === day.toLowerCase(),\n );\n\n if (existingSchedule) {\n return {\n ...existingSchedule,\n day: getShortWeekday(day),\n checked: true,\n };\n }\n\n return {\n // We just need to override the day and checked. The rest of the fields are the same for every day.\n ...defaultSchedule[0],\n checked: false,\n day: getShortWeekday(day),\n };\n });\n\n const form = useForm<WorkScheduleFormData>({\n defaultValues: {\n schedule: transformedSchedule,\n },\n resolver: yupResolver(formSchema) as $TSFixMe,\n });\n\n const { handleSubmit, watch, reset, control, formState } = form;\n\n const { fields } = useFieldArray({\n name: 'schedule',\n control,\n });\n\n const watchedSchedule = watch('schedule');\n\n function handleSubmitWorkingHours(data: WorkScheduleFormData) {\n // We can only send the days that are checked.\n const schedule = data.schedule\n .filter(({ checked }) => checked)\n .map((day) => ({\n ...day,\n hours: calculateHours(day),\n }));\n\n onSubmit(schedule);\n setOpenDialog(false);\n }\n\n function handleCancel() {\n reset();\n setOpenDialog(false);\n }\n\n return (\n <div className='flex items-center justify-between'>\n <Dialog open={openDialog} onOpenChange={setOpenDialog}>\n <DialogTrigger asChild>\n <Button\n variant={'link'}\n className='flex items-center p-0 RemoteFlows__WorkScheduleSelectionForm__Trigger'\n >\n Edit Schedule\n </Button>\n </DialogTrigger>\n <DialogContent className='max-w-5xl max-h-[90vh] overflow-y-auto px-8 py-4 RemoteFlows__WorkScheduleSelectionForm__Content'>\n <DialogHeader>\n <DialogTitle className='RemoteFlows__WorkScheduleSelectionForm__Title'>\n Edit employee working hours\n </DialogTitle>\n </DialogHeader>\n\n <Form {...form}>\n <form className='space-y-4 RemoteFlows__WorkScheduleSelectionForm__Form'>\n <div className='rounded-lg'>\n <p className='text-gray-600 text-sm mb-4 RemoteFlows__WorkScheduleSelectionForm__Description'>\n The times displayed are in the employee's time zone in the\n 24-hour format.\n </p>\n\n <div className='grid grid-cols-12 gap-4 text-sm font-medium text-gray-500 uppercase tracking-wide RemoteFlows__WorkScheduleSelectionForm__Header'>\n <div className='col-span-2'></div>\n <div className='col-span-3 text-center'>START</div>\n <div className='col-span-1 text-center'></div>\n <div className='col-span-3 text-center'>END</div>\n <div className='col-span-2 text-center'>HOURS</div>\n {/* <div className=\"col-span-2 text-center\">ACTIONS</div> */}\n </div>\n\n <div className='RemoteFlows__WorkScheduleSelectionForm__Rows'>\n {fields.map((field, index) => {\n const currentDay = watchedSchedule[index];\n const calculatedHours = calculateHours(currentDay);\n\n return (\n <Fragment key={field.id}>\n <div className='grid grid-cols-12 gap-4 items-center py-2 RemoteFlows__WorkScheduleSelectionForm__Row-Hours'>\n <div className='col-span-2 flex items-center gap-3'>\n <CheckBoxField\n label={field.day}\n name={`schedule.${index}.checked`}\n />\n </div>\n <div className='col-span-3'>\n <TextField\n name={`schedule.${index}.start_time`}\n includeErrorMessage={false}\n />\n </div>\n <div className='col-span-1 text-center text-gray-500'>\n to\n </div>\n <div className='col-span-3'>\n <TextField\n name={`schedule.${index}.end_time`}\n includeErrorMessage={false}\n />\n </div>\n <div className='col-span-2 text-center text-gray-600'>\n {isNaN(calculatedHours)\n ? '-'\n : `${calculatedHours} hours`}\n </div>\n </div>\n\n <div className='grid grid-cols-12 gap-4 items-center py-2 RemoteFlows__WorkScheduleSelectionForm__Row-Break'>\n <div className='col-span-2 text-gray-500'>Break</div>\n <div className='col-span-2'>\n <TextField\n name={`schedule.${index}.break_duration_minutes`}\n includeErrorMessage={false}\n />\n </div>\n <div className='col-span-2 text-gray-500'>\n minutes\n </div>\n <div className='col-span-4'></div>\n </div>\n </Fragment>\n );\n })}\n </div>\n </div>\n\n {Object.keys(formState.errors).length > 0 && (\n <p className='text-destructive text-sm mb-0'>\n Invalid time format (HH:mm)\n </p>\n )}\n\n <div className='flex gap-4 pt-4'>\n <Button\n type='button'\n className='reset-button'\n variant='outline'\n onClick={handleCancel}\n >\n Cancel\n </Button>\n <Button\n type='button'\n className='submit-button'\n onClick={handleSubmit(handleSubmitWorkingHours)}\n >\n Save Schedule\n </Button>\n </div>\n </form>\n </Form>\n </DialogContent>\n </Dialog>\n </div>\n );\n}\n\nexport const WorkScheduleFieldDefault = ({\n fieldData,\n}: WorkScheduleComponentProps) => {\n const { defaultFormattedValue, currentSchedule, onSubmit } = fieldData;\n const { workHoursSummary, breakSummary, totalWorkHours } =\n defaultFormattedValue;\n return (\n <div className={`flex flex-col gap-3 RemoteFlows__WorkScheduleField`}>\n <p className={`text-sm RemoteFlows__WorkScheduleField__Title`}>\n Work hours\n </p>\n <div className='flex flex-col gap-1 RemoteFlows__WorkScheduleField__Summary'>\n <p\n className='text-sm text-gray-500 RemoteFlows__WorkScheduleField__Summary__WorkHours'\n dangerouslySetInnerHTML={{\n __html: workHoursSummary.join(', '),\n }}\n />\n\n <p className='text-sm text-gray-500 RemoteFlows__WorkScheduleField__Summary__Break'>\n {breakSummary.join()}\n </p>\n <p className='text-sm text-gray-500 RemoteFlows__WorkScheduleField__Summary__Total'>\n Total of <span>{totalWorkHours}</span> hours per week\n </p>\n <WorkScheduleSelectionForm\n defaultSchedule={currentSchedule}\n onSubmit={onSubmit}\n />\n </div>\n </div>\n );\n};\n","import { toNestErrors, validateFieldsNatively } from '@hookform/resolvers';\nimport {\n FieldError,\n FieldValues,\n Resolver,\n appendErrors,\n} from 'react-hook-form';\nimport * as Yup from 'yup';\n\n/**\n * Why `path!` ? because it could be `undefined` in some case\n * https://github.com/jquense/yup#validationerrorerrors-string--arraystring-value-any-path-string\n */\nfunction parseErrorSchema(\n error: Yup.ValidationError,\n validateAllFieldCriteria: boolean,\n) {\n return (error.inner || []).reduce<Record<string, FieldError>>(\n (previous, error) => {\n if (!previous[error.path!]) {\n previous[error.path!] = { message: error.message, type: error.type! };\n }\n\n if (validateAllFieldCriteria) {\n const types = previous[error.path!].types;\n const messages = types && types[error.type!];\n\n previous[error.path!] = appendErrors(\n error.path!,\n validateAllFieldCriteria,\n previous,\n error.type!,\n messages\n ? ([] as string[]).concat(messages as string[], error.message)\n : error.message,\n ) as FieldError;\n }\n\n return previous;\n },\n {},\n );\n}\n\nexport function yupResolver<Input extends FieldValues, Context, Output>(\n schema:\n | Yup.ObjectSchema<Input, any, Output, any>\n | ReturnType<typeof Yup.lazy<Yup.ObjectSchema<Input, any, Output, any>>>,\n schemaOptions?: Parameters<(typeof schema)['validate']>[1],\n resolverOptions?: {\n mode?: 'async' | 'sync';\n raw?: false;\n },\n): Resolver<Input, Context, Yup.InferType<typeof schema>>;\n\nexport function yupResolver<Input extends FieldValues, Context, Output>(\n schema:\n | Yup.ObjectSchema<Input, any, Output, any>\n | ReturnType<typeof Yup.lazy<Yup.ObjectSchema<Input, any, Output, any>>>,\n schemaOptions: Parameters<(typeof schema)['validate']>[1] | undefined,\n resolverOptions: {\n mode?: 'async' | 'sync';\n raw: true;\n },\n): Resolver<Input, Context, Input>;\n\n/**\n * Creates a resolver for react-hook-form using Yup schema validation\n * @param {Yup.ObjectSchema<TFieldValues> | ReturnType<typeof Yup.lazy<Yup.ObjectSchema<TFieldValues>>>} schema - Yup validation schema\n * @param {Parameters<(typeof schema)['validate']>[1]} schemaOptions - Options to pass to Yup's validate/validateSync\n * @param {Object} resolverOptions - Additional resolver configuration\n * @param {('async' | 'sync')} [resolverOptions.mode] - Validation mode\n * @param {boolean} [resolverOptions.raw] - If true, returns raw values instead of validated results\n * @returns {Resolver<Yup.InferType<typeof schema> | Input>} A resolver function compatible with react-hook-form\n * @example\n * const schema = Yup.object({\n * name: Yup.string().required(),\n * age: Yup.number().required(),\n * });\n *\n * useForm({\n * resolver: yupResolver(schema)\n * });\n */\nexport function yupResolver<Input extends FieldValues, Context, Output>(\n schema:\n | Yup.ObjectSchema<Input, any, Output, any>\n | ReturnType<typeof Yup.lazy<Yup.ObjectSchema<Input, any, Output, any>>>,\n schemaOptions?: Parameters<(typeof schema)['validate']>[1],\n resolverOptions: {\n mode?: 'async' | 'sync';\n raw?: boolean;\n } = {},\n): Resolver<Input, Context, Yup.InferType<typeof schema> | Input> {\n return async (values: Input, context, options) => {\n try {\n if (schemaOptions?.context && process.env.NODE_ENV === 'development') {\n // eslint-disable-next-line no-console\n console.warn(\n \"You should not used the yup options context. Please, use the 'useForm' context object instead\",\n );\n }\n\n const result = await schema[\n resolverOptions.mode === 'sync' ? 'validateSync' : 'validate'\n ](\n values,\n Object.assign({ abortEarly: false }, schemaOptions, { context }),\n );\n\n options.shouldUseNativeValidation && validateFieldsNatively({}, options);\n\n return {\n values: resolverOptions.raw ? Object.assign({}, values) : result,\n errors: {},\n };\n } catch (e: any) {\n if (!e.inner) {\n throw e;\n }\n\n return {\n values: {},\n errors: toNestErrors(\n parseErrorSchema(\n e,\n !options.shouldUseNativeValidation &&\n options.criteriaMode === 'all',\n ),\n options,\n ),\n };\n }\n };\n}\n"],"mappings":"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","names":["yup","yupResolver","schema","schemaOptions","resolverOptions","values","context","options","Promise","resolve","process","env","NODE_ENV","console","warn","mode","Object","assign","abortEarly","then","result","shouldUseNativeValidation","validateFieldsNatively","raw","errors","e","r","u","_catch","inner","toNestErrors","error","validateAllFieldCriteria","criteriaMode","reduce","previous","path","message","type","types","messages","appendErrors","concat","reject","Fragment","useState","jsx","jsxs","fieldSchema","__name","schema","formSchema","WorkScheduleSelectionForm","defaultSchedule","onSubmit","openDialog","setOpenDialog","useState","transformedSchedule","DAYS_OF_THE_WEEK","day","existingSchedule","schedule","getShortWeekday","form","useForm","o","handleSubmit","watch","reset","control","formState","fields","useFieldArray","watchedSchedule","handleSubmitWorkingHours","data","checked","calculateHours","handleCancel","Dialog","DialogTrigger","Button","DialogContent","DialogHeader","DialogTitle","Form","field","index","currentDay","calculatedHours","Fragment","CheckBoxField","TextField","WorkScheduleFieldDefault","fieldData","defaultFormattedValue","currentSchedule","workHoursSummary","breakSummary","totalWorkHours"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{b as p}from"./chunk-KFYWUBRS.js";import{a as F}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{b as p}from"./chunk-KFYWUBRS.js";import{a as F}from"./chunk-VJTAVPZX.js";import{a as f}from"./chunk-NEVSZEMH.js";import{i as l}from"./chunk-SRLBVFNQ.js";import{h as u}from"./chunk-C4HFMTSB.js";import{b as _}from"./chunk-TVZAFTPT.js";import{a}from"./chunk-P37U34EQ.js";import{useEffect as w}from"react";import{jsx as r}from"react/jsx-runtime";var R=["effective_date","reason_for_change","reason_for_change_description","additional_comments","additional_comments_toggle"];function x({onSubmit:b,onError:s,onSuccess:A}){let{formId:C,contractAmendment:{checkFieldUpdates:h,fields:m,onSubmit:y,stepState:S,initialValues:i,handleValidation:V}}=_(),g=p(V),e=l({resolver:g,defaultValues:S.values?.form||i,shouldUnregister:!0,mode:"onBlur"});w(()=>{let t=e?.watch(o=>{(Object.keys(e.formState.dirtyFields).length>0||e.formState.isDirty)&&h(o)});return()=>t?.unsubscribe()},[]);let v=a(async t=>{let o=!1;for(let[c,P]of Object.entries(t))if(!R.includes(c)&&i[c]!==P){o=!0;break}if(!o)return s?.({message:"no_changes_detected_contract_details"});let d=await u(t,m,{isPartialValidation:!1});await b?.(d);let n=await y(t);n.error?s?.(n.error):await A?.(n.data)},"handleSubmit");return r(f,{...e,children:r("form",{id:C,"data-testid":"contract-amendment-form",onSubmit:e.handleSubmit(v),className:"space-y-4 RemoteFlows__ContractAmendmentForm",children:r(F,{fields:m})})})}a(x,"ContractAmendmentForm");export{x as a};
|
|
2
|
+
//# sourceMappingURL=chunk-TSX5CPGE.js.map
|