@remoteoss/remote-flows 0.29.0 → 0.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-2CDCTUVY.js +2 -0
- package/dist/{chunk-3O3Q24JL.js.map → chunk-2CDCTUVY.js.map} +1 -1
- package/dist/{chunk-UPXJJBXZ.js → chunk-2N5A6EGD.js} +2 -2
- package/dist/chunk-3UDG4IJO.js +2 -0
- package/dist/chunk-3UDG4IJO.js.map +1 -0
- package/dist/{chunk-FHQWEM5E.js → chunk-4CIYPTKM.js} +2 -2
- package/dist/{chunk-25U3HC77.js → chunk-56LJAMZC.js} +2 -2
- package/dist/{chunk-EKKRQI6B.js → chunk-5NARH23N.js} +2 -2
- package/dist/{chunk-LAYZ6XET.js → chunk-5ORIDYIK.js} +2 -2
- package/dist/{chunk-7JPHJ7SQ.js → chunk-664GOQG3.js} +2 -2
- package/dist/{chunk-IJQDK7KG.js → chunk-67V3DFV4.js} +2 -2
- package/dist/{chunk-43IIMISK.js → chunk-6GQZCUUR.js} +2 -2
- package/dist/{chunk-T2UJOEUA.js → chunk-6GUXV7XA.js} +2 -2
- package/dist/{chunk-MAVVGCUM.js → chunk-7JUP5JEY.js} +2 -2
- package/dist/{chunk-CHAHQRMM.js → chunk-7OL54VKA.js} +2 -2
- package/dist/chunk-7RFJWDXS.js +2 -0
- package/dist/chunk-7RFJWDXS.js.map +1 -0
- package/dist/{chunk-M22INAKM.js → chunk-7TX2YY4K.js} +2 -2
- package/dist/chunk-A6GJNXUZ.js +2 -0
- package/dist/chunk-A6GJNXUZ.js.map +1 -0
- package/dist/chunk-AP56UUME.js +2 -0
- package/dist/chunk-AP56UUME.js.map +1 -0
- package/dist/{chunk-6IL4TB7S.js → chunk-BB3WWKGA.js} +2 -2
- package/dist/{chunk-2FZWM6RV.js → chunk-BKWNJMNJ.js} +2 -2
- package/dist/{chunk-RC3XP5WU.js → chunk-CHDWFMD3.js} +2 -2
- package/dist/{chunk-CCL5LNHC.js → chunk-D64MAPTD.js} +2 -2
- package/dist/{chunk-LWZIOOPO.js → chunk-D7WCSZGW.js} +2 -2
- package/dist/{chunk-FTCLM4RE.js → chunk-DTZ23AE6.js} +2 -2
- package/dist/{chunk-LA6ZJLTB.js → chunk-DXTLNOCG.js} +2 -2
- package/dist/{chunk-5KHLOGTR.js → chunk-DYXTJBSK.js} +2 -2
- package/dist/{chunk-QM7J43SC.js → chunk-EL5QIDYZ.js} +2 -2
- package/dist/{chunk-ZQ6MG635.js → chunk-EVSDVI2G.js} +2 -2
- package/dist/{chunk-3WE5QB4I.js → chunk-FDBUFHR3.js} +2 -2
- package/dist/{chunk-OIN3HGOQ.js → chunk-GTWY3JK3.js} +2 -2
- package/dist/{chunk-P5WUODPR.js → chunk-HBRO74FQ.js} +2 -2
- package/dist/chunk-HJYHCWGX.js +2 -0
- package/dist/chunk-HJYHCWGX.js.map +1 -0
- package/dist/{chunk-ID3ZF7QT.js → chunk-HMUIT2NU.js} +2 -2
- package/dist/{chunk-QFK2SD24.js → chunk-HTJZUAVS.js} +2 -2
- package/dist/chunk-HX34JCPL.js +2 -0
- package/dist/chunk-HX34JCPL.js.map +1 -0
- package/dist/{chunk-ANGJCT4I.js → chunk-HYOJP6J5.js} +2 -2
- package/dist/{chunk-CEJ24TSW.js → chunk-JK5K2S7N.js} +2 -2
- package/dist/{chunk-5ZR7EFPY.js → chunk-K2L2NSOM.js} +2 -2
- package/dist/{chunk-I5XGKYJR.js → chunk-KFJJXMAH.js} +2 -2
- package/dist/{chunk-S3KOROEZ.js → chunk-KVAGMBSU.js} +2 -2
- package/dist/{chunk-UXVCNSHK.js → chunk-LJYCBMDS.js} +2 -2
- package/dist/{chunk-6VRUYYUV.js → chunk-LLM6MDNY.js} +2 -2
- package/dist/{chunk-DPY77ASH.js → chunk-OHAAAVNB.js} +2 -2
- package/dist/{chunk-ZJ7524CZ.js → chunk-OIIALEVF.js} +2 -2
- package/dist/chunk-OKM7DRCF.js +2 -0
- package/dist/{chunk-BSUVUGJG.js → chunk-PEHALKVU.js} +2 -2
- package/dist/{chunk-GWJZTMF4.js → chunk-PEOWIEYM.js} +2 -2
- package/dist/{chunk-PXX2JSFI.js → chunk-PFKNQGOD.js} +2 -2
- package/dist/{chunk-6IKJCDQU.js → chunk-QAOGIYQL.js} +2 -2
- package/dist/chunk-QGWCUGLN.js +2 -0
- package/dist/chunk-QGWCUGLN.js.map +1 -0
- package/dist/{chunk-I4XJ764Y.js → chunk-QIVDIOJG.js} +2 -2
- package/dist/chunk-QRD43QJA.js +2 -0
- package/dist/chunk-QRD43QJA.js.map +1 -0
- package/dist/{chunk-CYPGWEOO.js → chunk-RCWBOOZF.js} +2 -2
- package/dist/{chunk-SRYUZSIK.js → chunk-RGGU6BNB.js} +2 -2
- package/dist/{chunk-BV3PGYSH.js → chunk-RYXRWMF4.js} +2 -2
- package/dist/{chunk-K2I7ZL3Z.js → chunk-SOYN4LOZ.js} +2 -2
- package/dist/{chunk-3PTV5YSQ.js → chunk-TW7Z6G37.js} +2 -2
- package/dist/{chunk-WHVPDECD.js → chunk-U24UNO6X.js} +2 -2
- package/dist/{chunk-CDRDLO4A.js → chunk-UOOM7V2D.js} +2 -2
- package/dist/{chunk-GEHM46QD.js → chunk-WMICWLC3.js} +2 -2
- package/dist/{chunk-QU4ZTSMT.js → chunk-WNGPZXEX.js} +2 -2
- package/dist/chunk-XFJPUKYR.js +2 -0
- package/dist/chunk-XFJPUKYR.js.map +1 -0
- package/dist/{chunk-NW5EBNKN.js → chunk-XLAKJHGV.js} +2 -2
- package/dist/{chunk-2RBD2MJR.js → chunk-YBB6BOW7.js} +2 -2
- package/dist/{chunk-PJY4TN7I.js → chunk-YP2JBYAK.js} +2 -2
- package/dist/{chunk-MB6ZGX2O.js → chunk-YP7Q47E2.js} +2 -2
- package/dist/{chunk-OW5QGJD4.js → chunk-Z47JQN3R.js} +2 -2
- package/dist/{chunk-5Y2RV54X.js → chunk-ZF4BLPXL.js} +2 -2
- package/dist/{chunk-UYHBV7QJ.js → chunk-ZF6MZYBK.js} +2 -2
- package/dist/chunk-ZOTFS35J.js +2 -0
- package/dist/{chunk-U6RM2N4A.js.map → chunk-ZOTFS35J.js.map} +1 -1
- package/dist/{chunk-E5VV7WAZ.js → chunk-ZZWX3C6V.js} +2 -2
- package/dist/flows/ContractAmendment/ContractAmendmentBack.js +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.d.ts +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentFlow.d.ts +3 -3
- package/dist/flows/ContractAmendment/ContractAmendmentFlow.js +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentForm.d.ts +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentForm.js +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentSubmit.js +1 -1
- package/dist/flows/ContractAmendment/context.d.ts +3 -3
- package/dist/flows/ContractAmendment/hooks.d.ts +3 -3
- package/dist/flows/ContractAmendment/hooks.js +1 -1
- package/dist/flows/ContractAmendment/index.d.ts +3 -3
- package/dist/flows/ContractAmendment/index.js +1 -1
- package/dist/flows/ContractAmendment/utils.d.ts +1 -1
- package/dist/flows/ContractorOnboarding/ContractorOnboarding.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/ContractorOnboarding.js +1 -1
- package/dist/flows/ContractorOnboarding/api.d.ts +40 -3
- package/dist/flows/ContractorOnboarding/api.js +1 -1
- package/dist/flows/ContractorOnboarding/components/BasicInformationStep.d.ts +4 -4
- package/dist/flows/ContractorOnboarding/components/BasicInformationStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.js +1 -1
- package/dist/flows/ContractorOnboarding/components/OnboardingBack.js +1 -1
- package/dist/flows/ContractorOnboarding/components/OnboardingInvite.d.ts +3 -3
- package/dist/flows/ContractorOnboarding/components/OnboardingInvite.js +1 -1
- package/dist/flows/ContractorOnboarding/components/OnboardingSubmit.js +1 -1
- package/dist/flows/ContractorOnboarding/components/PricingPlan.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/components/PricingPlan.js +1 -1
- package/dist/flows/ContractorOnboarding/components/SelectCountryStep.d.ts +4 -4
- package/dist/flows/ContractorOnboarding/components/SelectCountryStep.js +1 -1
- package/dist/flows/ContractorOnboarding/constants.d.ts +5 -0
- package/dist/flows/ContractorOnboarding/constants.js +2 -0
- package/dist/flows/ContractorOnboarding/constants.js.map +1 -0
- package/dist/flows/ContractorOnboarding/context.d.ts +6 -6
- package/dist/flows/ContractorOnboarding/hooks.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/hooks.js +1 -1
- package/dist/flows/ContractorOnboarding/index.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/index.js +1 -1
- package/dist/flows/ContractorOnboarding/json-schemas/selectContractorSubscriptionStep.d.ts +23 -0
- package/dist/flows/ContractorOnboarding/json-schemas/selectContractorSubscriptionStep.js +2 -0
- package/dist/flows/ContractorOnboarding/json-schemas/selectContractorSubscriptionStep.js.map +1 -0
- package/dist/flows/ContractorOnboarding/types.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/utils.js +1 -1
- package/dist/flows/CostCalculator/CostCalculatorFlow.d.ts +3 -3
- package/dist/flows/CostCalculator/CostCalculatorFlow.js +1 -1
- package/dist/flows/CostCalculator/CostCalculatorForm.d.ts +3 -3
- package/dist/flows/CostCalculator/CostCalculatorForm.js +1 -1
- package/dist/flows/CostCalculator/CostCalculatorResetButton.js +1 -1
- package/dist/flows/CostCalculator/CostCalculatorSubmitButton.js +1 -1
- package/dist/flows/CostCalculator/EstimationResults/EstimationResults.d.ts +1 -1
- package/dist/flows/CostCalculator/EstimationResults/EstimationResults.js +1 -1
- package/dist/flows/CostCalculator/Results/CostCalculatorBenefitsBreakdown.js +1 -1
- package/dist/flows/CostCalculator/Results/CostCalculatorContributionsBreakdown.js +1 -1
- package/dist/flows/CostCalculator/Results/CostCalculatorExtraStatutoryPaymentsBreakdown.js +1 -1
- package/dist/flows/CostCalculator/Results/CostCalculatorGrossSalary.js +1 -1
- package/dist/flows/CostCalculator/Results/CostCalculatorResults.d.ts +1 -1
- package/dist/flows/CostCalculator/Results/CostCalculatorResults.js +1 -1
- package/dist/flows/CostCalculator/SummaryResults/SummaryResults.d.ts +1 -1
- package/dist/flows/CostCalculator/api.d.ts +1 -1
- package/dist/flows/CostCalculator/api.js +1 -1
- package/dist/flows/CostCalculator/components/SalaryField.d.ts +2 -2
- package/dist/flows/CostCalculator/components/SalaryField.js +1 -1
- package/dist/flows/CostCalculator/context.d.ts +3 -3
- package/dist/flows/CostCalculator/hooks.d.ts +3 -3
- package/dist/flows/CostCalculator/hooks.js +1 -1
- package/dist/flows/CostCalculator/index.d.ts +3 -3
- package/dist/flows/CostCalculator/index.js +1 -1
- package/dist/flows/CostCalculator/types.d.ts +1 -1
- package/dist/flows/CostCalculator/utils.d.ts +3 -3
- package/dist/flows/CostCalculator/utils.js +1 -1
- package/dist/flows/Onboarding/OnboardingFlow.d.ts +4 -4
- package/dist/flows/Onboarding/OnboardingFlow.js +1 -1
- package/dist/flows/Onboarding/api.d.ts +7 -17
- package/dist/flows/Onboarding/api.js +1 -1
- package/dist/flows/Onboarding/components/AnnualGrossSalary.d.ts +2 -2
- package/dist/flows/Onboarding/components/AnnualGrossSalary.js +1 -1
- package/dist/flows/Onboarding/components/BasicInformationStep.d.ts +4 -4
- package/dist/flows/Onboarding/components/BasicInformationStep.js +1 -1
- package/dist/flows/Onboarding/components/BenefitsStep.d.ts +4 -4
- package/dist/flows/Onboarding/components/BenefitsStep.js +1 -1
- package/dist/flows/Onboarding/components/ContractDetailsStep.d.ts +4 -4
- package/dist/flows/Onboarding/components/ContractDetailsStep.js +1 -1
- package/dist/flows/Onboarding/components/OnboardingBack.js +1 -1
- package/dist/flows/Onboarding/components/OnboardingForm.d.ts +4 -4
- package/dist/flows/Onboarding/components/OnboardingForm.js +1 -1
- package/dist/flows/Onboarding/components/OnboardingInvite.d.ts +3 -3
- package/dist/flows/Onboarding/components/OnboardingInvite.js +1 -1
- package/dist/flows/Onboarding/components/OnboardingSubmit.js +1 -1
- package/dist/flows/Onboarding/components/ReviewStep.d.ts +4 -4
- package/dist/flows/Onboarding/components/SaveDraftButton.d.ts +3 -3
- package/dist/flows/Onboarding/components/SaveDraftButton.js +1 -1
- package/dist/flows/Onboarding/components/SelectCountryStep.d.ts +4 -4
- package/dist/flows/Onboarding/components/SelectCountryStep.js +1 -1
- package/dist/flows/Onboarding/context.d.ts +4 -4
- package/dist/flows/Onboarding/hooks.d.ts +4 -4
- package/dist/flows/Onboarding/hooks.js +1 -1
- package/dist/flows/Onboarding/index.d.ts +4 -4
- package/dist/flows/Onboarding/index.js +1 -1
- package/dist/flows/Onboarding/types.d.ts +4 -4
- package/dist/flows/Onboarding/utils.d.ts +4 -4
- package/dist/flows/Termination/AdditionalDetailsForm.d.ts +4 -4
- package/dist/flows/Termination/AdditionalDetailsForm.js +1 -1
- package/dist/flows/Termination/EmployeeComunicationForm.d.ts +4 -4
- package/dist/flows/Termination/EmployeeComunicationForm.js +1 -1
- package/dist/flows/Termination/PaidTimeOffForm.d.ts +4 -4
- package/dist/flows/Termination/PaidTimeOffForm.js +1 -1
- package/dist/flows/Termination/TerminationBack.js +1 -1
- package/dist/flows/Termination/TerminationDetailsForm.d.ts +4 -4
- package/dist/flows/Termination/TerminationDetailsForm.js +1 -1
- package/dist/flows/Termination/TerminationFlow.d.ts +4 -4
- package/dist/flows/Termination/TerminationFlow.js +1 -1
- package/dist/flows/Termination/TerminationForm.d.ts +4 -4
- package/dist/flows/Termination/TerminationForm.js +1 -1
- package/dist/flows/Termination/TerminationSubmit.js +1 -1
- package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformationFees.js +1 -1
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.d.ts +5 -5
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.js +1 -1
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.d.ts +5 -5
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.js +1 -1
- package/dist/flows/Termination/components/PaidTimeOff/types.d.ts +5 -5
- package/dist/flows/Termination/components/TerminationDialogInfoContent/TerminationDialogInfoContent.js +1 -1
- package/dist/flows/Termination/context.d.ts +7 -4
- package/dist/flows/Termination/hooks.d.ts +4 -4
- package/dist/flows/Termination/hooks.js +1 -1
- package/dist/flows/Termination/index.d.ts +6 -6
- package/dist/flows/Termination/index.js +1 -1
- package/dist/flows/Termination/json-schemas/jsonSchema.js +1 -1
- package/dist/flows/Termination/json-schemas/schema.js +1 -1
- package/dist/flows/Termination/types.d.ts +4 -4
- package/dist/flows/api.d.ts +4 -4
- package/dist/flows/api.js +1 -1
- package/dist/index.d.ts +15 -9
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/internals.js +1 -1
- package/dist/{mutations-B3zY0Z8j.d.ts → mutations-BdkQ8BEQ.d.ts} +1 -1
- package/dist/{remoteFlows-C6LQCoUj.d.ts → remoteFlows-nNmmcD-T.d.ts} +3 -1
- package/dist/{types-D0Gtn_LU.d.ts → types-5wwUT05a.d.ts} +8 -2
- package/dist/{types-C_aEj_4p.d.ts → types-BOXcQDia.d.ts} +3 -3
- package/dist/{types-CXFW77uu.d.ts → types-CNHUaKN_.d.ts} +18 -3
- package/dist/{types-DRI6kPSl.d.ts → types-omiJJgNz.d.ts} +5 -5
- package/dist/{types.gen-B1wPsyg7.d.ts → types.gen-BS9UfhS-.d.ts} +47 -1
- package/package.json +1 -1
- package/dist/chunk-3O3Q24JL.js +0 -2
- package/dist/chunk-3ZWDIEEM.js +0 -2
- package/dist/chunk-3ZWDIEEM.js.map +0 -1
- package/dist/chunk-AWJUS6JD.js +0 -2
- package/dist/chunk-AWJUS6JD.js.map +0 -1
- package/dist/chunk-BDPCUDJB.js +0 -2
- package/dist/chunk-BDPCUDJB.js.map +0 -1
- package/dist/chunk-KDUM4EZJ.js +0 -2
- package/dist/chunk-KDUM4EZJ.js.map +0 -1
- package/dist/chunk-NZHJMUIX.js +0 -2
- package/dist/chunk-NZHJMUIX.js.map +0 -1
- package/dist/chunk-TKAZTT3M.js +0 -2
- package/dist/chunk-TKAZTT3M.js.map +0 -1
- package/dist/chunk-U6RM2N4A.js +0 -2
- package/dist/chunk-XOA7GG4P.js +0 -2
- package/dist/chunk-ZPBKMAKR.js +0 -2
- package/dist/chunk-ZPBKMAKR.js.map +0 -1
- /package/dist/{chunk-UPXJJBXZ.js.map → chunk-2N5A6EGD.js.map} +0 -0
- /package/dist/{chunk-FHQWEM5E.js.map → chunk-4CIYPTKM.js.map} +0 -0
- /package/dist/{chunk-25U3HC77.js.map → chunk-56LJAMZC.js.map} +0 -0
- /package/dist/{chunk-EKKRQI6B.js.map → chunk-5NARH23N.js.map} +0 -0
- /package/dist/{chunk-LAYZ6XET.js.map → chunk-5ORIDYIK.js.map} +0 -0
- /package/dist/{chunk-7JPHJ7SQ.js.map → chunk-664GOQG3.js.map} +0 -0
- /package/dist/{chunk-IJQDK7KG.js.map → chunk-67V3DFV4.js.map} +0 -0
- /package/dist/{chunk-43IIMISK.js.map → chunk-6GQZCUUR.js.map} +0 -0
- /package/dist/{chunk-T2UJOEUA.js.map → chunk-6GUXV7XA.js.map} +0 -0
- /package/dist/{chunk-MAVVGCUM.js.map → chunk-7JUP5JEY.js.map} +0 -0
- /package/dist/{chunk-CHAHQRMM.js.map → chunk-7OL54VKA.js.map} +0 -0
- /package/dist/{chunk-M22INAKM.js.map → chunk-7TX2YY4K.js.map} +0 -0
- /package/dist/{chunk-6IL4TB7S.js.map → chunk-BB3WWKGA.js.map} +0 -0
- /package/dist/{chunk-2FZWM6RV.js.map → chunk-BKWNJMNJ.js.map} +0 -0
- /package/dist/{chunk-RC3XP5WU.js.map → chunk-CHDWFMD3.js.map} +0 -0
- /package/dist/{chunk-CCL5LNHC.js.map → chunk-D64MAPTD.js.map} +0 -0
- /package/dist/{chunk-LWZIOOPO.js.map → chunk-D7WCSZGW.js.map} +0 -0
- /package/dist/{chunk-FTCLM4RE.js.map → chunk-DTZ23AE6.js.map} +0 -0
- /package/dist/{chunk-LA6ZJLTB.js.map → chunk-DXTLNOCG.js.map} +0 -0
- /package/dist/{chunk-5KHLOGTR.js.map → chunk-DYXTJBSK.js.map} +0 -0
- /package/dist/{chunk-QM7J43SC.js.map → chunk-EL5QIDYZ.js.map} +0 -0
- /package/dist/{chunk-ZQ6MG635.js.map → chunk-EVSDVI2G.js.map} +0 -0
- /package/dist/{chunk-3WE5QB4I.js.map → chunk-FDBUFHR3.js.map} +0 -0
- /package/dist/{chunk-OIN3HGOQ.js.map → chunk-GTWY3JK3.js.map} +0 -0
- /package/dist/{chunk-P5WUODPR.js.map → chunk-HBRO74FQ.js.map} +0 -0
- /package/dist/{chunk-ID3ZF7QT.js.map → chunk-HMUIT2NU.js.map} +0 -0
- /package/dist/{chunk-QFK2SD24.js.map → chunk-HTJZUAVS.js.map} +0 -0
- /package/dist/{chunk-ANGJCT4I.js.map → chunk-HYOJP6J5.js.map} +0 -0
- /package/dist/{chunk-CEJ24TSW.js.map → chunk-JK5K2S7N.js.map} +0 -0
- /package/dist/{chunk-5ZR7EFPY.js.map → chunk-K2L2NSOM.js.map} +0 -0
- /package/dist/{chunk-I5XGKYJR.js.map → chunk-KFJJXMAH.js.map} +0 -0
- /package/dist/{chunk-S3KOROEZ.js.map → chunk-KVAGMBSU.js.map} +0 -0
- /package/dist/{chunk-UXVCNSHK.js.map → chunk-LJYCBMDS.js.map} +0 -0
- /package/dist/{chunk-6VRUYYUV.js.map → chunk-LLM6MDNY.js.map} +0 -0
- /package/dist/{chunk-DPY77ASH.js.map → chunk-OHAAAVNB.js.map} +0 -0
- /package/dist/{chunk-ZJ7524CZ.js.map → chunk-OIIALEVF.js.map} +0 -0
- /package/dist/{chunk-XOA7GG4P.js.map → chunk-OKM7DRCF.js.map} +0 -0
- /package/dist/{chunk-BSUVUGJG.js.map → chunk-PEHALKVU.js.map} +0 -0
- /package/dist/{chunk-GWJZTMF4.js.map → chunk-PEOWIEYM.js.map} +0 -0
- /package/dist/{chunk-PXX2JSFI.js.map → chunk-PFKNQGOD.js.map} +0 -0
- /package/dist/{chunk-6IKJCDQU.js.map → chunk-QAOGIYQL.js.map} +0 -0
- /package/dist/{chunk-I4XJ764Y.js.map → chunk-QIVDIOJG.js.map} +0 -0
- /package/dist/{chunk-CYPGWEOO.js.map → chunk-RCWBOOZF.js.map} +0 -0
- /package/dist/{chunk-SRYUZSIK.js.map → chunk-RGGU6BNB.js.map} +0 -0
- /package/dist/{chunk-BV3PGYSH.js.map → chunk-RYXRWMF4.js.map} +0 -0
- /package/dist/{chunk-K2I7ZL3Z.js.map → chunk-SOYN4LOZ.js.map} +0 -0
- /package/dist/{chunk-3PTV5YSQ.js.map → chunk-TW7Z6G37.js.map} +0 -0
- /package/dist/{chunk-WHVPDECD.js.map → chunk-U24UNO6X.js.map} +0 -0
- /package/dist/{chunk-CDRDLO4A.js.map → chunk-UOOM7V2D.js.map} +0 -0
- /package/dist/{chunk-GEHM46QD.js.map → chunk-WMICWLC3.js.map} +0 -0
- /package/dist/{chunk-QU4ZTSMT.js.map → chunk-WNGPZXEX.js.map} +0 -0
- /package/dist/{chunk-NW5EBNKN.js.map → chunk-XLAKJHGV.js.map} +0 -0
- /package/dist/{chunk-2RBD2MJR.js.map → chunk-YBB6BOW7.js.map} +0 -0
- /package/dist/{chunk-PJY4TN7I.js.map → chunk-YP2JBYAK.js.map} +0 -0
- /package/dist/{chunk-MB6ZGX2O.js.map → chunk-YP7Q47E2.js.map} +0 -0
- /package/dist/{chunk-OW5QGJD4.js.map → chunk-Z47JQN3R.js.map} +0 -0
- /package/dist/{chunk-5Y2RV54X.js.map → chunk-ZF4BLPXL.js.map} +0 -0
- /package/dist/{chunk-UYHBV7QJ.js.map → chunk-ZF6MZYBK.js.map} +0 -0
- /package/dist/{chunk-E5VV7WAZ.js.map → chunk-ZZWX3C6V.js.map} +0 -0
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { E as Employment, F as File,
|
|
1
|
+
import { E as Employment, F as File, i as CreateContractDocumentResponse, f as SignContractDocument, S as SuccessResponse } from './types.gen-BS9UfhS-.js';
|
|
2
2
|
import { OnboardingBack } from './flows/ContractorOnboarding/components/OnboardingBack.js';
|
|
3
3
|
import { OnboardingSubmit } from './flows/ContractorOnboarding/components/OnboardingSubmit.js';
|
|
4
4
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
5
|
-
import { N as NormalizedFieldError } from './mutations-
|
|
5
|
+
import { N as NormalizedFieldError } from './mutations-BdkQ8BEQ.js';
|
|
6
6
|
import * as _tanstack_query_core from '@tanstack/query-core';
|
|
7
7
|
import * as _remoteoss_json_schema_form from '@remoteoss/json-schema-form';
|
|
8
8
|
import { Fields } from '@remoteoss/json-schema-form';
|
|
9
9
|
import * as React$1 from 'react';
|
|
10
10
|
import { STEPS } from './flows/ContractorOnboarding/utils.js';
|
|
11
11
|
import { Step } from './flows/useStepState.js';
|
|
12
|
-
import { M as Meta, J as JSFFieldset, $ as $TSFixMe } from './remoteFlows-
|
|
12
|
+
import { M as Meta, J as JSFFieldset, $ as $TSFixMe } from './remoteFlows-nNmmcD-T.js';
|
|
13
13
|
import { FieldValues } from 'react-hook-form';
|
|
14
14
|
import { BasicInformationStep } from './flows/ContractorOnboarding/components/BasicInformationStep.js';
|
|
15
|
-
import { g as SelectCountryStep } from './types-
|
|
15
|
+
import { g as SelectCountryStep } from './types-BOXcQDia.js';
|
|
16
16
|
import { FlowOptions, JSFModify } from './flows/types.js';
|
|
17
17
|
import { OnboardingInvite } from './flows/Onboarding/components/OnboardingInvite.js';
|
|
18
18
|
|
|
@@ -119,7 +119,7 @@ declare const useContractorOnboarding: ({ countryCode, externalId, employmentId,
|
|
|
119
119
|
basic_information: Record<string, unknown>;
|
|
120
120
|
contract_details: Record<string, unknown>;
|
|
121
121
|
contract_preview: Record<string, unknown>;
|
|
122
|
-
pricing_plan:
|
|
122
|
+
pricing_plan: Record<string, unknown>;
|
|
123
123
|
};
|
|
124
124
|
/**
|
|
125
125
|
* Employment id
|
|
@@ -602,6 +602,15 @@ type CostCalculatorCosts = {
|
|
|
602
602
|
*/
|
|
603
603
|
monthly_total: number;
|
|
604
604
|
};
|
|
605
|
+
/**
|
|
606
|
+
* Product
|
|
607
|
+
*/
|
|
608
|
+
type Product = {
|
|
609
|
+
frequency: string;
|
|
610
|
+
identifier?: string;
|
|
611
|
+
name: string;
|
|
612
|
+
tier: string;
|
|
613
|
+
};
|
|
605
614
|
/**
|
|
606
615
|
* Response schema for listing leave policies summary
|
|
607
616
|
*/
|
|
@@ -873,6 +882,12 @@ type SuccessResponse = {
|
|
|
873
882
|
status?: string;
|
|
874
883
|
};
|
|
875
884
|
};
|
|
885
|
+
/**
|
|
886
|
+
* Defines the operation that must be executed: upgrade or downgrade
|
|
887
|
+
*/
|
|
888
|
+
type ManageContractorPlusSubscriptionOperationsParams = {
|
|
889
|
+
operation: 'upgrade' | 'downgrade';
|
|
890
|
+
};
|
|
876
891
|
/**
|
|
877
892
|
* Leave Policy abstraction representation for the employee
|
|
878
893
|
*/
|
|
@@ -1028,6 +1043,25 @@ type Company = {
|
|
|
1028
1043
|
terms_of_service_accepted_at: string;
|
|
1029
1044
|
updated_at: string;
|
|
1030
1045
|
};
|
|
1046
|
+
type ContractorSubscriptionsSummary = {
|
|
1047
|
+
company_product: {
|
|
1048
|
+
slug?: UuidSlug;
|
|
1049
|
+
};
|
|
1050
|
+
company_product_discount: {
|
|
1051
|
+
expiration_date?: _Date;
|
|
1052
|
+
percent?: Decimal;
|
|
1053
|
+
};
|
|
1054
|
+
currency: Currency;
|
|
1055
|
+
is_termination_fees_enabled?: boolean;
|
|
1056
|
+
price: {
|
|
1057
|
+
amount?: number;
|
|
1058
|
+
};
|
|
1059
|
+
product: Product;
|
|
1060
|
+
total_amount: number | null;
|
|
1061
|
+
total_discount?: number;
|
|
1062
|
+
total_in_advance?: number;
|
|
1063
|
+
total_prorated?: number;
|
|
1064
|
+
};
|
|
1031
1065
|
type TooManyRequestsResponse = {
|
|
1032
1066
|
message?: string;
|
|
1033
1067
|
};
|
|
@@ -1197,6 +1231,7 @@ type CreateContractEligibilityParams = {
|
|
|
1197
1231
|
employer_or_work_restrictions: boolean;
|
|
1198
1232
|
};
|
|
1199
1233
|
type TimeoffType = 'time_off' | 'sick_leave' | 'public_holiday' | 'unpaid_leave' | 'extended_leave' | 'in_lieu_time' | 'maternity_leave' | 'paternity_leave' | 'parental_leave' | 'bereavement' | 'military_leave' | 'other' | 'paid_time_off' | 'custom_company_leave' | 'rtt' | 'casual_leave' | 'rol' | 'ex_festivita';
|
|
1234
|
+
type Decimal = string;
|
|
1200
1235
|
/**
|
|
1201
1236
|
* The details of the salary decrease request if there is one
|
|
1202
1237
|
*/
|
|
@@ -1575,5 +1610,16 @@ type PostSignContractDocumentErrors = {
|
|
|
1575
1610
|
403: ForbiddenResponse;
|
|
1576
1611
|
};
|
|
1577
1612
|
type PostSignContractDocumentError = PostSignContractDocumentErrors[keyof PostSignContractDocumentErrors];
|
|
1613
|
+
type PostManageContractorPlusSubscriptionSubscriptionErrors = {
|
|
1614
|
+
/**
|
|
1615
|
+
* Bad Request
|
|
1616
|
+
*/
|
|
1617
|
+
400: BadRequestResponse;
|
|
1618
|
+
/**
|
|
1619
|
+
* Forbidden
|
|
1620
|
+
*/
|
|
1621
|
+
403: ForbiddenResponse;
|
|
1622
|
+
};
|
|
1623
|
+
type PostManageContractorPlusSubscriptionSubscriptionError = PostManageContractorPlusSubscriptionSubscriptionErrors[keyof PostManageContractorPlusSubscriptionSubscriptionErrors];
|
|
1578
1624
|
|
|
1579
|
-
export type {
|
|
1625
|
+
export type { Currency as $, PostCreateEmployment2Error as A, EmploymentCreateParams as B, CreateOffboardingParams as C, EmploymentResponse as D, Employment as E, File as F, PatchUpdateEmployment2Error as G, EmploymentFullParams as H, PutUpdateBenefitOfferError as I, ConvertCurrencyResponse as J, PostConvertRawCurrencyConverterError as K, ConvertCurrencyParams as L, ManageContractorPlusSubscriptionOperationsParams as M, PostCreateContractEligibilityError as N, OffboardingResponse as O, PostCreateOffboardingError as P, CreateContractEligibilityParams as Q, ListTimeoffResponse as R, SuccessResponse as S, TimeoffStatus as T, UnifiedEmploymentUpsertBenefitOffersRequest as U, ValidationError as V, TimeoffType as W, ListLeavePoliciesSummaryResponse as X, MagicLinkResponse as Y, UnprocessableEntityResponse as Z, MagicLinkParams as _, ContractAmendmentAutomatableResponse as a, HelpCenterArticle as a0, TerminationDetailsParams as a1, PostAutomatableContractAmendmentError as b, ContractAmendmentResponse as c, PostCreateContractAmendmentError as d, PostSignContractDocumentError as e, SignContractDocument as f, ContractorSubscriptionsSummary as g, PostManageContractorPlusSubscriptionSubscriptionError as h, CreateContractDocumentResponse as i, PostCreateContractDocumentError as j, CreateContractDocument as k, CostCalculatorEstimateResponse as l, PostCreateEstimationError as m, CostCalculatorEstimatePdfResponse as n, PostCreateEstimationPdfError as o, CostCalculatorEstimateParams as p, CostCalculatorEstimateCsvResponse as q, PostCreateEstimationCsvError as r, MinimalRegion as s, MinimalCountry as t, EmploymentTermType as u, CostCalculatorEmployment as v, EmploymentCreationResponse as w, Company as x, PostInviteEmploymentInvitationError as y, PostCreateRiskReserveError as z };
|
package/package.json
CHANGED
package/dist/chunk-3O3Q24JL.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as t}from"./chunk-P37U34EQ.js";import{formDataBodySerializer as i}from"@hey-api/client-fetch";import{createClient as o,createConfig as n}from"@hey-api/client-fetch";var r=o(n({baseUrl:"https://gateway.remote.com/"}));var l=t(e=>(e?.client??r).post({security:[{scheme:"bearer",type:"http"}],url:"/v1/offboardings",...e,headers:{"Content-Type":"application/json",...e?.headers}}),"postCreateOffboarding");var h=t(e=>(e.client??r).get({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/contract-amendments/schema",...e}),"getShowContractAmendmentSchema");var m=t(e=>(e.client??r).post({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/currency-converter/raw",...e,headers:{"Content-Type":"application/json",...e?.headers}}),"postConvertRawCurrencyConverter"),d=t(e=>(e.client??r).get({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/countries/{country_code}/contractor-contract-details",...e}),"getShowContractorContractDetailsCountry");var y=t(e=>(e.client??r).post({security:[{scheme:"bearer",type:"http"}],url:"/v1/employments",...e,headers:{"Content-Type":"application/json",...e?.headers}}),"postCreateEmployment2"),u=t(e=>(e.client??r).get({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/help-center-articles/{id}",...e}),"getShowHelpCenterArticle");var E=t(e=>(e.client??r).post({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/cost-calculator/estimation",...e,headers:{"Content-Type":"application/json",...e?.headers}}),"postCreateEstimation");var C=t(e=>(e.client??r).get({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/employments/{employment_id}/benefit-offers",...e}),"getIndexBenefitOffer"),w=t(e=>(e.client??r).put({security:[{scheme:"bearer",type:"http"}],url:"/v1/employments/{employment_id}/benefit-offers",...e,headers:{"Content-Type":"application/json",...e?.headers}}),"putUpdateBenefitOffer");var T=t(e=>(e.client??r).get({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/contractors/employments/{employment_id}/contract-documents/{id}",...e}),"getShowContractDocument");var O=t(e=>(e.client??r).post({security:[{scheme:"bearer",type:"http"}],url:"/v1/magic-link",...e,headers:{"Content-Type":"application/json",...e?.headers}}),"postGenerateMagicLink");var x=t(e=>(e?.client??r).post({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/cost-calculator/estimation-pdf",...e,headers:{"Content-Type":"application/json",...e?.headers}}),"postCreateEstimationPdf");var b=t(e=>(e.client??r).post({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/risk-reserve",...e,headers:{"Content-Type":"application/json",...e?.headers}}),"postCreateRiskReserve");var f=t(e=>(e.client??r).get({security:[{scheme:"bearer",type:"http"}],url:"/v1/companies/{company_id}",...e}),"getShowCompany");var P=t(e=>(e.client??r).post({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/contract-amendments",...e,headers:{"Content-Type":"application/json",...e?.headers}}),"postCreateContractAmendment");var R=t(e=>(e.client??r).get({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/countries/{country_code}/{form}",...e}),"getShowFormCountry");var D=t(e=>(e?.client??r).get({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/cost-calculator/countries",...e}),"getIndexCountry");var G=t(e=>(e.client??r).get({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/leave-policies/summary/{employment_id}",...e}),"getIndexLeavePoliciesSummary");var v=t(e=>(e.client??r).get({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/employments/{employment_id}/benefit-offers/schema",...e}),"getShowSchema");var g=t(e=>(e.client??r).get({security:[{scheme:"bearer",type:"http"}],url:"/v1/employments/{employment_id}",...e}),"getShowEmployment"),I=t(e=>(e.client??r).patch({security:[{scheme:"bearer",type:"http"}],url:"/v1/employments/{employment_id}",...e,headers:{"Content-Type":"application/json",...e?.headers}}),"patchUpdateEmployment2");var S=t(e=>(e.client??r).get({security:[{scheme:"bearer",type:"http"}],url:"/v1/cost-calculator/regions/{slug}/fields",...e}),"getShowRegionField");var k=t(e=>(e.client??r).post({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/employments/{employment_id}/contract-eligibility",...e,headers:{"Content-Type":"application/json",...e?.headers}}),"postCreateContractEligibility"),U=t(e=>(e.client??r).get({security:[{scheme:"bearer",type:"http"}],url:"/v1/countries",...e}),"getSupportedCountry");var B=t(e=>(e?.client??r).post({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/cost-calculator/estimation-csv",...e,headers:{"Content-Type":"application/json",...e?.headers}}),"postCreateEstimationCsv"),q=t(e=>(e.client??r).post({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/contractors/employments/{employment_id}/contract-documents",...e,headers:{"Content-Type":"application/json",...e?.headers}}),"postCreateContractDocument");var A=t(e=>(e.client??r).post({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/currency-converter/effective",...e,headers:{"Content-Type":"application/json",...e?.headers}}),"postConvertWithSpreadCurrencyConverter");var _=t(e=>(e.client??r).post({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/contract-amendments/automatable",...e,headers:{"Content-Type":"application/json",...e?.headers}}),"postAutomatableContractAmendment");var W=t(e=>(e?.client??r).get({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/company-currencies",...e}),"getIndexCompanyCurrency");var F=t(e=>(e.client??r).post({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/employments/{employment_id}/invite",...e}),"postInviteEmploymentInvitation");var j=t(e=>(e.client??r).post({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/contractors/employments/{employment_id}/contract-documents/{contract_document_id}/sign",...e,headers:{"Content-Type":"application/json",...e?.headers}}),"postSignContractDocument");var L=t(e=>(e.client??r).get({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/timeoff",...e}),"getIndexTimeoff");export{r as a,l as b,h as c,m as d,d as e,y as f,u as g,E as h,C as i,w as j,T as k,O as l,x as m,b as n,f as o,P as p,R as q,D as r,G as s,v as t,g as u,I as v,S as w,k as x,U as y,B as z,q as A,A as B,_ as C,W as D,F as E,j as F,L as G};
|
|
2
|
-
//# sourceMappingURL=chunk-3O3Q24JL.js.map
|
package/dist/chunk-3ZWDIEEM.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as o}from"./chunk-P37U34EQ.js";import{createContext as e,useContext as n}from"react";var r=e(null),m=o(()=>{let t=n(r);if(!t?.components)throw new Error("useFormFields must be used within a FormFieldsProvider");return{components:t.components}},"useFormFields"),s=e({client:null}),i=o(()=>n(s),"useClient");export{r as a,m as b,s as c,i as d};
|
|
2
|
-
//# sourceMappingURL=chunk-3ZWDIEEM.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/context.ts"],"sourcesContent":["import { Client } from '@hey-api/client-fetch';\nimport { createContext, useContext } from 'react';\nimport { Components } from './types/remoteFlows';\n\nexport const FormFieldsContext = createContext<{\n components: Components;\n} | null>(null);\n\nexport const useFormFields = () => {\n const context = useContext(FormFieldsContext);\n if (!context?.components) {\n throw new Error('useFormFields must be used within a FormFieldsProvider');\n }\n\n return {\n components: context.components,\n };\n};\n\nexport const RemoteFlowContext = createContext<{ client: Client | null }>({\n client: null,\n});\n\nexport const useClient = () => useContext(RemoteFlowContext);\n"],"mappings":"wCACA,OAAS,iBAAAA,EAAe,cAAAC,MAAkB,QAGnC,IAAMC,EAAoBC,EAEvB,IAAI,EAEDC,EAAgBC,EAAA,IAAM,CACjC,IAAMC,EAAUC,EAAWL,CAAiB,EAC5C,GAAI,CAACI,GAAS,WACZ,MAAM,IAAI,MAAM,wDAAwD,EAG1E,MAAO,CACL,WAAYA,EAAQ,UACtB,CACF,EAT6B,iBAWhBE,EAAoBL,EAAyC,CACxE,OAAQ,IACV,CAAC,EAEYM,EAAYJ,EAAA,IAAME,EAAWC,CAAiB,EAAlC","names":["createContext","useContext","FormFieldsContext","createContext","useFormFields","__name","context","useContext","RemoteFlowContext","useClient"]}
|
package/dist/chunk-AWJUS6JD.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as R}from"./chunk-WVJDCDGZ.js";import{B as M,E as k,d as F,f as C,i as g,j as S,l as j,n as w,o as v,q as E,t as O,u as q,v as P,x,y as V}from"./chunk-3O3Q24JL.js";import{b as U}from"./chunk-Z5WMKCRJ.js";import{d as a}from"./chunk-3ZWDIEEM.js";import{a as b}from"./chunk-PAQW5BFW.js";import{a as n}from"./chunk-P37U34EQ.js";import{createHeadlessForm as p,modify as d}from"@remoteoss/json-schema-form";import{useMutation as c,useQuery as f}from"@tanstack/react-query";var $=n(t=>{let{client:r}=a();return f({queryKey:["employment",t],retry:!1,enabled:!!t,select:n(({data:e})=>e?.data.employment,"select"),queryFn:n(async()=>{let e=await q({client:r,headers:{Authorization:""},path:{employment_id:t}});if(e.error||!e.data)throw new Error("Failed to fetch employment data");return e},"queryFn")})},"useEmployment"),ee=n(t=>{let{client:r}=a();return f({queryKey:["company",t],retry:!1,enabled:!!t,queryFn:n(async()=>{let e=await v({client:r,headers:{Authorization:""},path:{company_id:t}});if(e.error||!e.data)throw new Error("Failed to fetch employment data");return e},"queryFn"),select:n(({data:e})=>e.data.company,"select")})},"useCompany"),te=n(t=>{let{client:r}=a();return f({queryKey:["benefit-offers",t],retry:!1,enabled:!!t,queryFn:n(async()=>g({client:r,path:{employment_id:t}}).then(e=>{if(e.error||!e.data)throw new Error("Failed to fetch benefit offers data");return e}),"queryFn"),select:n(({data:e})=>e?.data?.reduce((o,s)=>({...o,[s.benefit_group.slug]:{value:s.benefit_tier?.slug??"no",...s.benefit_group?.filter?.slug?{filter:s.benefit_group?.filter?.slug}:{}}}),{}),"select")})},"useBenefitOffers"),ne=n(()=>{let{client:t}=a();return c({mutationFn:n(r=>k({client:t,headers:{Authorization:""},path:r}),"mutationFn")})},"useEmploymentInvite"),re=n(()=>{let{client:t}=a();return c({mutationFn:n(r=>w({client:t,body:r}),"mutationFn")})},"useCreateReserveInvoice"),oe=n(({countryCode:t,form:r,fieldValues:e,options:o,query:s={}})=>{let{client:i}=a(),m=o?.jsonSchemaVersion?.form_schema?.[r]?{json_schema_version:o.jsonSchemaVersion.form_schema[r]}:{};return f({queryKey:["onboarding-json-schema-form",t,r],retry:!1,queryFn:n(async()=>{let l=await E({client:i,headers:{Authorization:""},path:{country_code:t,form:r},query:{skip_benefits:!0,...s,...m}});if(l.error||!l.data)throw new Error("Failed to fetch onboarding schema");return l},"queryFn"),enabled:o?.queryOptions?.enabled,select:n(({data:l})=>{let u=l?.data||{};if(o&&o.jsfModify){let{schema:y}=d(u,o.jsfModify);u=y}let z=U(u.properties||{},"money").reduce((y,_)=>(y[_]=b(e[_]),y),{}),A={...e,...z};return{meta:{"x-jsf-fieldsets":u["x-jsf-fieldsets"]},...p(u,{initialValues:A})}},"select")})},"useJSONSchemaForm"),se=n((t,r,e)=>{let o=e?.jsonSchemaVersion?.benefit_offers_form_schema?{json_schema_version:e.jsonSchemaVersion.benefit_offers_form_schema}:{},{client:s}=a();return f({queryKey:["benefit-offers-schema",t],retry:!1,enabled:!!t,queryFn:n(async()=>{let i=await O({client:s,path:{employment_id:t},query:o});if(i.error||!i.data)throw new Error("Failed to fetch benefit offers schema");return i},"queryFn"),select:n(({data:i})=>{let m=i?.data?.schema||{};if(e&&e.jsfModify?.benefits){let{schema:h}=d(m,e.jsfModify.benefits);m=h}let l=Object.keys(r).length>0;return p(m,{initialValues:l?{...r}:{}})},"select")})},"useBenefitOffersSchema"),ae=n(t=>{let{client:r}=a(),e=t?.jsonSchemaVersion?.form_schema?.employment_basic_information?{json_schema_version:t.jsonSchemaVersion.form_schema.employment_basic_information}:{};return c({mutationFn:n(o=>C({client:r,headers:{Authorization:""},body:o,query:{...e}}),"mutationFn")})},"useCreateEmployment"),ie=n(t=>{let{client:r}=a(),e={employment_basic_information_json_schema_version:t?.jsonSchemaVersion?.form_schema?.employment_basic_information,employment_contract_details_json_schema_version:t?.jsonSchemaVersion?.form_schema?.contract_details},o=Object.fromEntries(Object.entries(e).filter(([,s])=>s!==void 0));return c({mutationFn:n(({employmentId:s,...i})=>P({client:r,headers:{Authorization:""},body:i,path:{employment_id:s},query:{skip_benefits:!0,...o}}),"mutationFn")})},"useUpdateEmployment"),ce=n(t=>{let{client:r}=a();return c({mutationFn:n(({employmentId:e,...o})=>{let s=t?.jsonSchemaVersion?.benefit_offers_form_schema?{json_schema_version:t.jsonSchemaVersion.benefit_offers_form_schema}:{};return S({client:r,body:o,path:{employment_id:e},query:{...s}})},"mutationFn")})},"useUpdateBenefitsOffers"),me=n(()=>{let{client:t}=a();return c({mutationFn:n(r=>j({client:t,headers:{Authorization:""},body:r}),"mutationFn")})},"useMagicLink"),B=n(t=>{let{client:r}=a();return f({...t,queryKey:["countries"],retry:!1,queryFn:n(async()=>{let e=await V({client:r,headers:{Authorization:""}});if(e.error||!e.data)throw new Error("Failed to fetch supported countries");return e},"queryFn"),select:n(({data:e})=>e?.data?.filter(o=>o.eor_onboarding).map(o=>({label:o.name,value:o.code}))||[],"select")})},"useCountries"),le=n(t=>{let{data:r,isLoading:e}=B(t?.queryOptions),{schema:o}=d(R.data.schema,t?.jsfModify||{}),s=p(o);if(r){let i=s.fields.find(m=>m.name==="country");i&&(i.options=r)}return{isLoading:e,selectCountryForm:s}},"useCountriesSchemaField"),ue=n(({type:t="spread"})=>{let{client:r}=a();return c({mutationFn:n(e=>(t==="no_spread"?F:M)({client:r,body:e}),"mutationFn")})},"useConvertCurrency"),fe=n(()=>{let{client:t}=a();return c({mutationFn:n(({employmentId:r,...e})=>x({client:t,path:{employment_id:r},body:e}),"mutationFn")})},"useUpsertContractEligibility");export{$ as a,ee as b,te as c,ne as d,re as e,oe as f,se as g,ae as h,ie as i,ce as j,me as k,le as l,ue as m,fe as n};
|
|
2
|
-
//# sourceMappingURL=chunk-AWJUS6JD.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/flows/Onboarding/api.ts"],"sourcesContent":["import {\n ConvertCurrencyParams,\n CreateContractEligibilityParams,\n EmploymentCreateParams,\n EmploymentFullParams,\n getIndexBenefitOffer,\n getShowCompany,\n getShowEmployment,\n getShowFormCountry,\n getShowSchema,\n getSupportedCountry,\n MagicLinkParams,\n patchUpdateEmployment2,\n postConvertRawCurrencyConverter,\n postConvertWithSpreadCurrencyConverter,\n postCreateContractEligibility,\n postCreateEmployment2,\n postCreateRiskReserve,\n postGenerateMagicLink,\n postInviteEmploymentInvitation,\n PostInviteEmploymentInvitationData,\n putUpdateBenefitOffer,\n UnifiedEmploymentUpsertBenefitOffersRequest,\n} from '@/src/client';\nimport { convertToCents } from '@/src/components/form/utils';\nimport { useClient } from '@/src/context';\nimport { selectCountryStepSchema } from '@/src/flows/Onboarding/json-schemas/selectCountryStep';\nimport { OnboardingFlowProps } from '@/src/flows/Onboarding/types';\nimport { FlowOptions, JSONSchemaFormType } from '@/src/flows/types';\nimport { findFieldsByType } from '@/src/flows/utils';\nimport { JSFFieldset } from '@/src/types/remoteFlows';\nimport { Client } from '@hey-api/client-fetch';\nimport { createHeadlessForm, modify } from '@remoteoss/json-schema-form';\nimport { useMutation, useQuery } from '@tanstack/react-query';\nimport { FieldValues } from 'react-hook-form';\n\nexport const useEmployment = (employmentId: string | undefined) => {\n const { client } = useClient();\n\n return useQuery({\n queryKey: ['employment', employmentId],\n retry: false,\n enabled: !!employmentId,\n select: ({ data }) => {\n return data?.data.employment;\n },\n queryFn: async () => {\n const response = await getShowEmployment({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n path: {\n employment_id: employmentId as string,\n },\n });\n\n // If response status is 404 or other error, throw an error to trigger isError\n if (response.error || !response.data) {\n throw new Error('Failed to fetch employment data');\n }\n\n return response;\n },\n });\n};\n\nexport const useCompany = (companyId: string) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['company', companyId],\n retry: false,\n enabled: !!companyId,\n queryFn: async () => {\n const response = await getShowCompany({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n path: {\n company_id: companyId,\n },\n });\n\n if (response.error || !response.data) {\n throw new Error('Failed to fetch employment data');\n }\n\n return response;\n },\n select: ({ data }) => {\n return data.data.company;\n },\n });\n};\n\nexport const useBenefitOffers = (employmentId: string | undefined) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['benefit-offers', employmentId],\n retry: false,\n enabled: !!employmentId,\n queryFn: async () => {\n return getIndexBenefitOffer({\n client: client as Client,\n path: {\n employment_id: employmentId as string,\n },\n }).then((response) => {\n // If response status is 404 or other error, throw an error to trigger isError\n if (response.error || !response.data) {\n throw new Error('Failed to fetch benefit offers data');\n }\n\n return response;\n });\n },\n select: ({ data }) =>\n data?.data?.reduce(\n (acc, item) => {\n return {\n ...acc,\n [item.benefit_group.slug]: {\n value: item.benefit_tier?.slug ?? 'no',\n ...(item.benefit_group?.filter?.slug\n ? { filter: item.benefit_group?.filter?.slug }\n : {}),\n },\n };\n },\n {} as Record<string, { value: string }>,\n ),\n });\n};\n/**\n * Use this hook to invite an employee to the onboarding flow\n * @returns\n */\nexport const useEmploymentInvite = () => {\n const { client } = useClient();\n\n return useMutation({\n mutationFn: (payload: PostInviteEmploymentInvitationData['path']) => {\n return postInviteEmploymentInvitation({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n path: payload,\n });\n },\n });\n};\n\nexport const useCreateReserveInvoice = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: (payload: { employment_slug: string }) => {\n return postCreateRiskReserve({\n client: client as Client,\n body: payload,\n });\n },\n });\n};\n\n/**\n * Use this hook to get the JSON schema form for the onboarding flow\n * @param param0\n * @returns\n */\nexport const useJSONSchemaForm = ({\n countryCode,\n form,\n fieldValues,\n options,\n query = {},\n}: {\n countryCode: string;\n form: JSONSchemaFormType;\n fieldValues: FieldValues;\n options?: FlowOptions & { queryOptions?: { enabled?: boolean } };\n query?: Record<string, unknown>;\n}) => {\n const { client } = useClient();\n const jsonSchemaQueryParam = options?.jsonSchemaVersion?.form_schema?.[form]\n ? {\n json_schema_version: options.jsonSchemaVersion.form_schema[form],\n }\n : {};\n return useQuery({\n queryKey: ['onboarding-json-schema-form', countryCode, form],\n retry: false,\n queryFn: async () => {\n const response = await getShowFormCountry({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n path: {\n country_code: countryCode,\n form: form,\n },\n query: {\n skip_benefits: true,\n ...query,\n ...jsonSchemaQueryParam,\n },\n });\n\n // If response status is 404 or other error, throw an error to trigger isError\n if (response.error || !response.data) {\n throw new Error('Failed to fetch onboarding schema');\n }\n\n return response;\n },\n enabled: options?.queryOptions?.enabled,\n select: ({ data }) => {\n let jsfSchema = data?.data || {};\n if (options && options.jsfModify) {\n const { schema } = modify(jsfSchema, options.jsfModify);\n jsfSchema = schema;\n }\n\n // Contract details contains x-jsf-logic that need to be calculated every time a form value changes\n // In particular there are calculations involving the annual_gross_salary field. However this field value doesn't get\n // here in cents. So we need to convert the money fields to cents, so that the calculations are correct.\n const moneyFields = findFieldsByType(jsfSchema.properties || {}, 'money');\n const moneyFieldsData = moneyFields.reduce<Record<string, number | null>>(\n (acc, field) => {\n acc[field] = convertToCents(fieldValues[field]);\n return acc;\n },\n {},\n );\n\n const initialValues = {\n ...fieldValues,\n ...moneyFieldsData,\n };\n\n return {\n meta: {\n 'x-jsf-fieldsets': jsfSchema['x-jsf-fieldsets'] as JSFFieldset,\n },\n ...createHeadlessForm(jsfSchema, {\n initialValues,\n }),\n };\n },\n });\n};\n\nexport const useBenefitOffersSchema = (\n employmentId: string,\n fieldValues: FieldValues,\n options: OnboardingFlowProps['options'],\n) => {\n const jsonSchemaQueryParam = options?.jsonSchemaVersion\n ?.benefit_offers_form_schema\n ? {\n json_schema_version:\n options.jsonSchemaVersion.benefit_offers_form_schema,\n }\n : {};\n const { client } = useClient();\n return useQuery({\n queryKey: ['benefit-offers-schema', employmentId],\n retry: false,\n enabled: !!employmentId,\n queryFn: async () => {\n const response = await getShowSchema({\n client: client as Client,\n path: {\n employment_id: employmentId,\n },\n query: jsonSchemaQueryParam,\n });\n\n // If response status is 404 or other error, throw an error to trigger isError\n if (response.error || !response.data) {\n throw new Error('Failed to fetch benefit offers schema');\n }\n\n return response;\n },\n select: ({ data }) => {\n let jsfSchema = data?.data?.schema || {};\n\n if (options && options.jsfModify?.benefits) {\n const { schema } = modify(jsfSchema, options.jsfModify.benefits);\n jsfSchema = schema;\n }\n const hasFieldValues = Object.keys(fieldValues).length > 0;\n const result = createHeadlessForm(jsfSchema, {\n // we need to clone the fieldValues to prevent side effects\n // if we don't do this, the benefits get included in the other steps\n initialValues: hasFieldValues ? { ...fieldValues } : {},\n });\n return result;\n },\n });\n};\n\n/**\n * Use this hook to create an employment\n * @returns\n */\nexport const useCreateEmployment = (\n options?: OnboardingFlowProps['options'],\n) => {\n const { client } = useClient();\n const jsonSchemaQueryParam = options?.jsonSchemaVersion?.form_schema\n ?.employment_basic_information\n ? {\n json_schema_version:\n options.jsonSchemaVersion.form_schema.employment_basic_information,\n }\n : {};\n return useMutation({\n mutationFn: (payload: EmploymentCreateParams) => {\n return postCreateEmployment2({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n body: payload,\n query: {\n ...jsonSchemaQueryParam,\n },\n });\n },\n });\n};\n\nexport const useUpdateEmployment = (\n options?: OnboardingFlowProps['options'],\n) => {\n const { client } = useClient();\n const jsonSchemaQueryParams = {\n employment_basic_information_json_schema_version:\n options?.jsonSchemaVersion?.form_schema?.employment_basic_information,\n employment_contract_details_json_schema_version:\n options?.jsonSchemaVersion?.form_schema?.contract_details,\n };\n\n const filteredQueryParams = Object.fromEntries(\n Object.entries(jsonSchemaQueryParams).filter(\n ([, value]) => value !== undefined,\n ),\n );\n\n return useMutation({\n mutationFn: ({\n employmentId,\n ...payload\n }: EmploymentFullParams & { employmentId: string }) => {\n return patchUpdateEmployment2({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n body: payload,\n path: {\n employment_id: employmentId,\n },\n query: {\n skip_benefits: true,\n ...filteredQueryParams,\n },\n });\n },\n });\n};\n\nexport const useUpdateBenefitsOffers = (\n options?: OnboardingFlowProps['options'],\n) => {\n const { client } = useClient();\n return useMutation({\n mutationFn: ({\n employmentId,\n ...payload\n }: UnifiedEmploymentUpsertBenefitOffersRequest & {\n employmentId: string;\n }) => {\n const jsonSchemaQueryParam = options?.jsonSchemaVersion\n ?.benefit_offers_form_schema\n ? {\n json_schema_version:\n options.jsonSchemaVersion.benefit_offers_form_schema,\n }\n : {};\n return putUpdateBenefitOffer({\n client: client as Client,\n body: payload,\n path: {\n employment_id: employmentId,\n },\n query: {\n ...jsonSchemaQueryParam,\n },\n });\n },\n });\n};\n\nexport const useMagicLink = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: (params: MagicLinkParams) => {\n return postGenerateMagicLink({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n body: params,\n });\n },\n });\n};\n\nconst useCountries = (queryOptions?: { enabled?: boolean }) => {\n const { client } = useClient();\n return useQuery({\n ...queryOptions,\n queryKey: ['countries'],\n retry: false,\n queryFn: async () => {\n const response = await getSupportedCountry({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n });\n\n // If response status is 404 or other error, throw an error to trigger isError\n if (response.error || !response.data) {\n throw new Error('Failed to fetch supported countries');\n }\n\n return response;\n },\n select: ({ data }) => {\n return (\n data?.data\n ?.filter((country) => country.eor_onboarding)\n .map((country) => {\n return {\n label: country.name,\n value: country.code,\n };\n }) || []\n );\n },\n });\n};\n\nexport const useCountriesSchemaField = (\n options?: Omit<FlowOptions, 'jsonSchemaVersion'> & {\n queryOptions?: { enabled?: boolean };\n },\n) => {\n const { data: countries, isLoading } = useCountries(options?.queryOptions);\n\n const { schema: selectCountrySchema } = modify(\n selectCountryStepSchema.data.schema,\n options?.jsfModify || {},\n );\n\n const selectCountryForm = createHeadlessForm(selectCountrySchema);\n\n if (countries) {\n const countryField = selectCountryForm.fields.find(\n (field) => field.name === 'country',\n );\n if (countryField) {\n countryField.options = countries;\n }\n }\n\n return {\n isLoading,\n selectCountryForm,\n };\n};\n\nexport const useConvertCurrency = ({\n type = 'spread',\n}: {\n type?: 'spread' | 'no_spread';\n}) => {\n const { client } = useClient();\n return useMutation({\n mutationFn: (payload: ConvertCurrencyParams) => {\n const apiFn =\n type === 'no_spread'\n ? postConvertRawCurrencyConverter\n : postConvertWithSpreadCurrencyConverter;\n return apiFn({\n client: client as Client,\n body: payload,\n });\n },\n });\n};\n\nexport const useUpsertContractEligibility = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: ({\n employmentId,\n ...payload\n }: { employmentId: string } & CreateContractEligibilityParams) => {\n return postCreateContractEligibility({\n client: client as Client,\n path: {\n employment_id: employmentId,\n },\n body: payload,\n });\n },\n });\n};\n"],"mappings":"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","names":["createHeadlessForm","modify","useMutation","useQuery","useEmployment","__name","employmentId","client","useClient","useQuery","data","response","getShowEmployment","useCompany","companyId","getShowCompany","useBenefitOffers","getIndexBenefitOffer","acc","item","useEmploymentInvite","useMutation","payload","postInviteEmploymentInvitation","useCreateReserveInvoice","postCreateRiskReserve","useJSONSchemaForm","countryCode","form","fieldValues","options","query","jsonSchemaQueryParam","getShowFormCountry","jsfSchema","schema","modify","moneyFieldsData","findFieldsByType","field","convertToCents","initialValues","createHeadlessForm","useBenefitOffersSchema","getShowSchema","hasFieldValues","useCreateEmployment","postCreateEmployment2","useUpdateEmployment","jsonSchemaQueryParams","filteredQueryParams","value","patchUpdateEmployment2","useUpdateBenefitsOffers","putUpdateBenefitOffer","useMagicLink","params","postGenerateMagicLink","useCountries","queryOptions","getSupportedCountry","country","useCountriesSchemaField","countries","isLoading","selectCountrySchema","selectCountryStepSchema","selectCountryForm","countryField","useConvertCurrency","type","postConvertRawCurrencyConverter","postConvertWithSpreadCurrencyConverter","useUpsertContractEligibility","postCreateContractEligibility"]}
|
package/dist/chunk-BDPCUDJB.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as h}from"./chunk-R2MHAPWD.js";import{A as p,F as C,e as d,k as y}from"./chunk-3O3Q24JL.js";import{b as f}from"./chunk-Z5WMKCRJ.js";import{d as s}from"./chunk-3ZWDIEEM.js";import{a as l}from"./chunk-PAQW5BFW.js";import{a as e}from"./chunk-P37U34EQ.js";import{createHeadlessForm as g,modify as D}from"@remoteoss/json-schema-form";import{useMutation as F,useQuery as m}from"@tanstack/react-query";var G=e(({fieldValues:n,options:o})=>m({queryKey:["contract-document-signature"],queryFn:e(async()=>g(h,{initialValues:n}),"queryFn"),enabled:o?.queryOptions?.enabled}),"useGetContractDocumentSignatureSchema"),J=e(()=>{let{client:n}=s();return F({mutationFn:e(async({employmentId:o,contractDocumentId:t,payload:r})=>C({client:n,body:r,path:{employment_id:o,contract_document_id:t}}),"mutationFn")})},"useSignContractDocument"),Q=e(({employmentId:n,contractDocumentId:o,options:t})=>{let{client:r}=s();return m({queryKey:["contract-document",n,o],queryFn:e(async()=>y({client:r,path:{employment_id:n,id:o}}),"queryFn"),enabled:t?.queryOptions?.enabled,select:e(({data:i})=>i?.data,"select")})},"useGetShowContractDocument"),R=e(()=>{let{client:n}=s();return F({mutationFn:e(async({employmentId:o,payload:t})=>p({client:n,body:t,path:{employment_id:o}}),"mutationFn")})},"useCreateContractorContractDocument"),T=e(({countryCode:n,fieldValues:o,options:t})=>{let r=t?.jsonSchemaVersion?.contractor_contract_details_form_schema?{json_schema_version:t.jsonSchemaVersion.contractor_contract_details_form_schema}:{},{client:i}=s();return m({queryKey:["contractor-onboarding-details-schema",n],retry:!1,queryFn:e(async()=>d({client:i,path:{country_code:n},query:{...r}}),"queryFn"),enabled:t?.queryOptions?.enabled,select:e(({data:b})=>{let a=b?.data?.schema||{};if(t&&t.jsfModify){let{schema:c}=D(a,t.jsfModify);a=c}let S=f(a.properties||{},"money").reduce((c,u)=>(c[u]=l(o[u]),c),{}),_={...o,...S};return{meta:{"x-jsf-fieldsets":a["x-jsf-fieldsets"]},...g(a,{initialValues:_})}},"select")})},"useContractorOnboardingDetailsSchema");export{G as a,J as b,Q as c,R as d,T as e};
|
|
2
|
-
//# sourceMappingURL=chunk-BDPCUDJB.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/flows/ContractorOnboarding/api.ts"],"sourcesContent":["import {\n CreateContractDocument,\n getShowContractDocument,\n getShowContractorContractDetailsCountry,\n postCreateContractDocument,\n postSignContractDocument,\n SignContractDocument,\n} from '@/src/client';\nimport { convertToCents } from '@/src/components/form/utils';\nimport { useClient } from '@/src/context';\nimport { signatureSchema } from '@/src/flows/ContractorOnboarding/json-schemas/signature';\nimport { FlowOptions } from '@/src/flows/types';\nimport { findFieldsByType } from '@/src/flows/utils';\nimport { JSFFieldset } from '@/src/types/remoteFlows';\nimport { Client } from '@hey-api/client-fetch';\nimport { createHeadlessForm, modify } from '@remoteoss/json-schema-form';\nimport { useMutation, useQuery } from '@tanstack/react-query';\nimport { FieldValues } from 'react-hook-form';\n\n/**\n * Get the contract document signature schema\n * @param fieldValues - The field values\n * @param options - The options\n * @returns The contract document signature schema\n */\nexport const useGetContractDocumentSignatureSchema = ({\n fieldValues,\n options,\n}: {\n fieldValues: FieldValues;\n options?: { queryOptions?: { enabled?: boolean } };\n}) => {\n return useQuery({\n queryKey: ['contract-document-signature'],\n queryFn: async () => {\n return createHeadlessForm(signatureSchema, {\n initialValues: fieldValues,\n });\n },\n enabled: options?.queryOptions?.enabled,\n });\n};\n\n/**\n * Signs the contract document\n * @param employmentId - The employment ID\n * @param contractDocumentId - The contract document ID\n * @param payload - The payload\n * @returns The signed contract document\n */\nexport const useSignContractDocument = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: async ({\n employmentId,\n contractDocumentId,\n payload,\n }: {\n employmentId: string;\n contractDocumentId: string;\n payload: SignContractDocument;\n }) => {\n return postSignContractDocument({\n client: client as Client,\n body: payload,\n path: {\n employment_id: employmentId,\n contract_document_id: contractDocumentId,\n },\n });\n },\n });\n};\n\n/**\n * Get the contract document for a given employment and contract document ID\n * @param employmentId - The employment ID\n * @param contractDocumentId - The contract document ID\n * @returns The contract document\n */\nexport const useGetShowContractDocument = ({\n employmentId,\n contractDocumentId,\n options,\n}: {\n employmentId: string;\n contractDocumentId: string;\n options?: { queryOptions?: { enabled?: boolean } };\n}) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['contract-document', employmentId, contractDocumentId],\n queryFn: async () => {\n return getShowContractDocument({\n client: client as Client,\n path: { employment_id: employmentId, id: contractDocumentId },\n });\n },\n enabled: options?.queryOptions?.enabled,\n select: ({ data }) => {\n return data?.data;\n },\n });\n};\n\n/**\n * Saves the contractor details data\n * @param employmentId - The employment ID\n * @param payload - The payload\n * @returns The contractor contract document\n */\nexport const useCreateContractorContractDocument = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: async ({\n employmentId,\n payload,\n }: {\n employmentId: string;\n payload: CreateContractDocument;\n }) => {\n return postCreateContractDocument({\n client: client as Client,\n body: payload,\n path: {\n employment_id: employmentId,\n },\n });\n },\n });\n};\n\n/**\n * Get the contractor onboarding details schema for a given country\n * @param countryCode - The country code\n * @param fieldValues - The field values\n * @param options - The options\n * @returns The contractor onboarding details schema\n */\nexport const useContractorOnboardingDetailsSchema = ({\n countryCode,\n fieldValues,\n options,\n}: {\n countryCode: string;\n fieldValues: FieldValues;\n options?: FlowOptions & { queryOptions?: { enabled?: boolean } };\n query?: Record<string, unknown>;\n}) => {\n const jsonSchemaQueryParam = options?.jsonSchemaVersion\n ?.contractor_contract_details_form_schema\n ? {\n json_schema_version:\n options.jsonSchemaVersion.contractor_contract_details_form_schema,\n }\n : {};\n const { client } = useClient();\n return useQuery({\n queryKey: ['contractor-onboarding-details-schema', countryCode],\n retry: false,\n queryFn: async () => {\n return getShowContractorContractDetailsCountry({\n client: client as Client,\n path: { country_code: countryCode },\n query: {\n ...jsonSchemaQueryParam,\n },\n });\n },\n enabled: options?.queryOptions?.enabled,\n select: ({ data }) => {\n let jsfSchema = data?.data?.schema || {};\n if (options && options.jsfModify) {\n const { schema } = modify(jsfSchema, options.jsfModify);\n jsfSchema = schema;\n }\n\n // Contract details contains x-jsf-logic that need to be calculated every time a form value changes\n // In particular there are calculations involving the annual_gross_salary field. However this field value doesn't get\n // here in cents. So we need to convert the money fields to cents, so that the calculations are correct.\n const moneyFields = findFieldsByType(jsfSchema.properties || {}, 'money');\n const moneyFieldsData = moneyFields.reduce<Record<string, number | null>>(\n (acc, field) => {\n acc[field] = convertToCents(fieldValues[field]);\n return acc;\n },\n {},\n );\n\n const initialValues = {\n ...fieldValues,\n ...moneyFieldsData,\n };\n\n return {\n meta: {\n 'x-jsf-fieldsets': jsfSchema['x-jsf-fieldsets'] as JSFFieldset,\n },\n ...createHeadlessForm(jsfSchema, {\n initialValues,\n }),\n };\n },\n });\n};\n"],"mappings":"qQAeA,OAAS,sBAAAA,EAAoB,UAAAC,MAAc,8BAC3C,OAAS,eAAAC,EAAa,YAAAC,MAAgB,wBAS/B,IAAMC,EAAwCC,EAAA,CAAC,CACpD,YAAAC,EACA,QAAAC,CACF,IAISC,EAAS,CACd,SAAU,CAAC,6BAA6B,EACxC,QAASH,EAAA,SACAI,EAAmBC,EAAiB,CACzC,cAAeJ,CACjB,CAAC,EAHM,WAKT,QAASC,GAAS,cAAc,OAClC,CAAC,EAfkD,yCAyBxCI,EAA0BN,EAAA,IAAM,CAC3C,GAAM,CAAE,OAAAO,CAAO,EAAIC,EAAU,EAC7B,OAAOC,EAAY,CACjB,WAAYT,EAAA,MAAO,CACjB,aAAAU,EACA,mBAAAC,EACA,QAAAC,CACF,IAKSC,EAAyB,CAC9B,OAAQN,EACR,KAAMK,EACN,KAAM,CACJ,cAAeF,EACf,qBAAsBC,CACxB,CACF,CAAC,EAhBS,aAkBd,CAAC,CACH,EAtBuC,2BA8B1BG,EAA6Bd,EAAA,CAAC,CACzC,aAAAU,EACA,mBAAAC,EACA,QAAAT,CACF,IAIM,CACJ,GAAM,CAAE,OAAAK,CAAO,EAAIC,EAAU,EAC7B,OAAOL,EAAS,CACd,SAAU,CAAC,oBAAqBO,EAAcC,CAAkB,EAChE,QAASX,EAAA,SACAe,EAAwB,CAC7B,OAAQR,EACR,KAAM,CAAE,cAAeG,EAAc,GAAIC,CAAmB,CAC9D,CAAC,EAJM,WAMT,QAAST,GAAS,cAAc,QAChC,OAAQF,EAAA,CAAC,CAAE,KAAAgB,CAAK,IACPA,GAAM,KADP,SAGV,CAAC,CACH,EAvB0C,8BA+B7BC,EAAsCjB,EAAA,IAAM,CACvD,GAAM,CAAE,OAAAO,CAAO,EAAIC,EAAU,EAC7B,OAAOC,EAAY,CACjB,WAAYT,EAAA,MAAO,CACjB,aAAAU,EACA,QAAAE,CACF,IAISM,EAA2B,CAChC,OAAQX,EACR,KAAMK,EACN,KAAM,CACJ,cAAeF,CACjB,CACF,CAAC,EAbS,aAed,CAAC,CACH,EAnBmD,uCA4BtCS,EAAuCnB,EAAA,CAAC,CACnD,YAAAoB,EACA,YAAAnB,EACA,QAAAC,CACF,IAKM,CACJ,IAAMmB,EAAuBnB,GAAS,mBAClC,wCACA,CACE,oBACEA,EAAQ,kBAAkB,uCAC9B,EACA,CAAC,EACC,CAAE,OAAAK,CAAO,EAAIC,EAAU,EAC7B,OAAOL,EAAS,CACd,SAAU,CAAC,uCAAwCiB,CAAW,EAC9D,MAAO,GACP,QAASpB,EAAA,SACAsB,EAAwC,CAC7C,OAAQf,EACR,KAAM,CAAE,aAAca,CAAY,EAClC,MAAO,CACL,GAAGC,CACL,CACF,CAAC,EAPM,WAST,QAASnB,GAAS,cAAc,QAChC,OAAQF,EAAA,CAAC,CAAE,KAAAgB,CAAK,IAAM,CACpB,IAAIO,EAAYP,GAAM,MAAM,QAAU,CAAC,EACvC,GAAId,GAAWA,EAAQ,UAAW,CAChC,GAAM,CAAE,OAAAsB,CAAO,EAAIC,EAAOF,EAAWrB,EAAQ,SAAS,EACtDqB,EAAYC,CACd,CAMA,IAAME,EADcC,EAAiBJ,EAAU,YAAc,CAAC,EAAG,OAAO,EACpC,OAClC,CAACK,EAAKC,KACJD,EAAIC,CAAK,EAAIC,EAAe7B,EAAY4B,CAAK,CAAC,EACvCD,GAET,CAAC,CACH,EAEMG,EAAgB,CACpB,GAAG9B,EACH,GAAGyB,CACL,EAEA,MAAO,CACL,KAAM,CACJ,kBAAmBH,EAAU,iBAAiB,CAChD,EACA,GAAGnB,EAAmBmB,EAAW,CAC/B,cAAAQ,CACF,CAAC,CACH,CACF,EAhCQ,SAiCV,CAAC,CACH,EAjEoD","names":["createHeadlessForm","modify","useMutation","useQuery","useGetContractDocumentSignatureSchema","__name","fieldValues","options","useQuery","createHeadlessForm","signatureSchema","useSignContractDocument","client","useClient","useMutation","employmentId","contractDocumentId","payload","postSignContractDocument","useGetShowContractDocument","getShowContractDocument","data","useCreateContractorContractDocument","postCreateContractDocument","useContractorOnboardingDetailsSchema","countryCode","jsonSchemaQueryParam","getShowContractorContractDetailsCountry","jsfSchema","schema","modify","moneyFieldsData","findFieldsByType","acc","field","convertToCents","initialValues"]}
|
package/dist/chunk-KDUM4EZJ.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as c}from"./chunk-SGE4DLC3.js";import{G as g,s as T,u as b}from"./chunk-3O3Q24JL.js";import{d as u}from"./chunk-3ZWDIEEM.js";import{a as r}from"./chunk-P37U34EQ.js";var L="long",B=.01,m=8,P=3;function R(e){return Math.abs(e)<B&&e!==0}r(R,"shouldDisplayAsHours");function C({days:e,hours:t}){return e+t/m}r(C,"getDaysAndHoursAsDecimal");function h(e){let t=10**P,o=Math.round(Math.abs(e)*t)/t;return e<0?-o:o}r(h,"roundToDecimals");function U(e,t){let o=h(e);if(t==="short")return`${o}h`;let n=c({number:e,singular:"hour",plural:"hours",followCopyGuidelines:!1,showNumber:!1});return`${o} ${n}`}r(U,"formatAsHours");function i(e,t){return e*m+t}r(i,"convertToTotalHours");function d(e){return{days:Math.floor(e/m),hours:e%m}}r(d,"convertTotalHoursToDaysAndHours");function w(e,t){let o=h(e);if(t==="short")return`${o}d`;let n=c({number:e,singular:"day",plural:"days",followCopyGuidelines:!1,showNumber:!1});return`${o} ${n}`}r(w,"formatAsDays");function A(e,t=L){let o=C(e);return R(o)?U(i(e.days,e.hours),t):w(o,t)}r(A,"formatAsDecimal");import{useQuery as p}from"@tanstack/react-query";var oe=r(({employmentId:e})=>{let{client:t}=u();return p({queryKey:["employment",e],retry:!1,queryFn:r(()=>b({client:t,headers:{Authorization:""},path:{employment_id:e}}),"queryFn"),enabled:!!e,select:r(({data:o})=>o?.data?.employment,"select")})},"useEmploymentQuery"),_=r(({employmentId:e,status:t,timeoffType:o,options:n})=>{let{client:a}=u();return p({queryKey:["timeoff",e,t],retry:!1,queryFn:r(()=>g({client:a,headers:{Authorization:""},query:{employment_id:e,status:t,timeoff_type:o}}),"queryFn"),select:r(({data:s})=>n?.select?.(s)??s,"select"),enabled:n?.enabled})},"useTimeOffQuery"),O=r((e,t)=>{let o=new Date(e).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"}),n=new Date(t).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"});return`${o} \u2192 ${n}`},"formatDateRange"),re=r(({employmentId:e,options:t})=>_({employmentId:e,timeoffType:"paid_time_off",options:{enabled:t?.enabled,select:r(o=>({bookedDays:o?.data?.total_count||0,timeoffs:o?.data?.timeoffs?.map(n=>({status:n?.status,duration:n?.timeoff_days.length,startDate:n?.start_date,endDate:n?.end_date,formattedDate:O(n?.start_date,n?.end_date)}))||[]}),"select")}}),"usePaidTimeoffBreakdownQuery");function Q(e,t){let o=0,n=0;return e.forEach(a=>{a.timeoff_days?.forEach(s=>{new Date(s.day)<=t?o+=s.hours||0:n+=s.hours||0})}),{before:o,after:n}}r(Q,"getAllTimeoffHoursBeforeDate");var M=r(({employmentId:e,date:t,options:o})=>_({employmentId:e,timeoffType:"paid_time_off",status:"approved",options:{enabled:o?.enabled,select:r(n=>{let{before:a,after:s}=Q(n?.data?.timeoffs||[],new Date(t));return{bookedDaysBeforeTermination:d(a),bookedDaysAfterTermination:d(s)}},"select")}}),"useBookedTimeoffBeforeAndAfterTerminationQuery");function $(e){return Object.entries(e).reduce((t,[o,n])=>({...t,[o]:A(n)}),{})}r($,"formatTimeoffValues");function q(e){let t=e?.contract_details?.available_pto,o=e?.contract_details?.available_pto_type;return e?.country?.code==="USA"&&o==="unlimited"?{value:t===0?20:t}:o==="unlimited"&&t>0?{value:t}:{value:t}}r(q,"getMinimumStatutoryDays");var ne=r(({employmentId:e,proposedTerminationDate:t,employment:o})=>{let{value:n=0}=q(o),a=I({employmentId:e}),s=M({employmentId:e,date:t}),D=a.data?.data?.[0].annual_entitlement.type==="limited"?{days:a.data?.data?.[0].annual_entitlement.days,hours:a.data?.data?.[0].annual_entitlement.hours}:{days:n,hours:0},f={days:a.data?.data?.[0].booked.days||0,hours:a.data?.data?.[0].booked.hours||0},l=a.data?.data?.[0].current_entitlement.type==="limited"?{days:a.data?.data?.[0].current_entitlement.days||0,hours:a.data?.data?.[0].current_entitlement.hours||0}:{days:n,hours:0},y={days:a.data?.data?.[0].used.days||0,hours:a.data?.data?.[0].used.hours||0},H=s.data?.bookedDaysBeforeTermination||{days:0,hours:0},S=s.data?.bookedDaysAfterTermination||{days:0,hours:0},x=i(l.days,l.hours),E=i(y.days,y.hours),k=i(f.days,f.hours),v=x-E-k,F=d(v);return{data:{...$({entitledDays:D,bookedDays:f,usedDays:y,approvedDaysBeforeTermination:H,approvedDaysAfterTermination:S,remainingDays:F,currentEntitlementDays:l}),isUnlimitedPto:o?.contract_details?.available_pto_type==="unlimited"},isLoading:a.isLoading||s.isLoading,isError:a.isError||s.isError,error:a.error||s.error}},"useSummaryTimeOffDataQuery"),I=r(({employmentId:e})=>{let{client:t}=u();return p({queryKey:["timeoff-balance",e],retry:!1,queryFn:r(()=>T({client:t,headers:{Authorization:""},path:{employment_id:e}}),"queryFn"),select:r(({data:o})=>o,"select")})},"useTimeOffLeavePoliciesSummaryQuery");export{oe as a,_ as b,re as c,M as d,ne as e,I as f};
|
|
2
|
-
//# sourceMappingURL=chunk-KDUM4EZJ.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/lib/time.ts","../src/common/api.ts"],"sourcesContent":["import { getSingularPluralUnit } from '@/src/lib/i18n';\n\nexport type DaysAndHours = {\n hours: number;\n days: number;\n};\ntype FormatDaysAndHoursSuffixFormat = 'short' | 'long';\n\nconst DEFAULT_SUFFIX_FORMAT: FormatDaysAndHoursSuffixFormat = 'long';\n\n/**\n * Threshold below which decimal day values should be displayed in hours instead\n * of days. Very small day values are more meaningful when shown as hours.\n */\nconst DECIMAL_DAYS_DISPLAY_THRESHOLD = 0.01;\n\n/**\n * Default number of hours in a work day.\n */\nconst DEFAULT_WORK_HOURS = 8;\n\n/**\n * Default number of decimal places to round to.\n */\nconst DEFAULT_DECIMAL_PLACES = 3;\n\n/**\n * Determines whether a decimal day value should be displayed as hours for\n * better readability.\n */\nfunction shouldDisplayAsHours(decimal: number): boolean {\n return Math.abs(decimal) < DECIMAL_DAYS_DISPLAY_THRESHOLD && decimal !== 0;\n}\n\n/**\n * Converts days and hours into a decimal representation.\n * Designed to handle integer hours (-7 to 7) and future integer minutes (-59 to 59).\n *\n * @example\n * getDaysAndHoursAsDecimal({ days: 1, hours: 4 }) // 1.5\n * getDaysAndHoursAsDecimal({ days: 0, hours: 3 }) // 0.375\n */\nfunction getDaysAndHoursAsDecimal({ days, hours }: DaysAndHours): number {\n return days + hours / DEFAULT_WORK_HOURS;\n}\n\n/**\n * Rounds a number to 2 decimal places using symmetric rounding (away from zero).\n */\nfunction roundToDecimals(value: number): number {\n const multiplier = 10 ** DEFAULT_DECIMAL_PLACES;\n\n // Math.round() uses \"Round half toward positive infinity\", so we round using\n // absolute value to achieve symmetric rounding\n const rounded = Math.round(Math.abs(value) * multiplier) / multiplier;\n // preserve original sign\n return value < 0 ? -rounded : rounded;\n}\n\n/**\n * Formats a time duration as hours with the specified suffix format.\n */\nfunction formatAsHours(\n hours: number,\n suffixFormat: FormatDaysAndHoursSuffixFormat,\n): string {\n const roundedHours = roundToDecimals(hours);\n\n if (suffixFormat === 'short') return `${roundedHours}h`;\n\n const hoursText = getSingularPluralUnit({\n number: hours,\n singular: 'hour',\n plural: 'hours',\n followCopyGuidelines: false,\n showNumber: false,\n });\n return `${roundedHours} ${hoursText}`;\n}\n\n/**\n * Converts days and hours into total hours based on standard work day\n */\nexport function convertToTotalHours(days: number, hours: number): number {\n return days * DEFAULT_WORK_HOURS + hours;\n}\n\nexport function convertTotalHoursToDaysAndHours(\n totalHours: number,\n): DaysAndHours {\n return {\n days: Math.floor(totalHours / DEFAULT_WORK_HOURS),\n hours: totalHours % DEFAULT_WORK_HOURS,\n };\n}\n\n/**\n * Formats a time duration as decimal days with the specified suffix format.\n */\nfunction formatAsDays(\n decimal: number,\n suffixFormat: FormatDaysAndHoursSuffixFormat,\n): string {\n const roundedDecimal = roundToDecimals(decimal);\n\n if (suffixFormat === 'short') return `${roundedDecimal}d`;\n\n const daysText = getSingularPluralUnit({\n number: decimal,\n singular: 'day',\n plural: 'days',\n followCopyGuidelines: false,\n showNumber: false,\n });\n return `${roundedDecimal} ${daysText}`;\n}\n\n/**\n * Converts time off quantities into decimal format for display.\n *\n * Always returns a formatted decimal string with appropriate units.\n * Useful when you need a precise decimal representation of any time duration.\n *\n * @example\n * formatAsDecimal({ days: 1, hours: 4 }) // \"1.5 days\"\n * formatAsDecimal({ days: 2, hours: 0 }) // \"2 days\"\n * formatAsDecimal({ days: 0, hours: -3 }) // \"-0.38 days\"\n */\nexport function formatAsDecimal(\n daysAndHours: DaysAndHours,\n suffixFormat: FormatDaysAndHoursSuffixFormat = DEFAULT_SUFFIX_FORMAT,\n): string {\n const decimal = getDaysAndHoursAsDecimal(daysAndHours);\n\n if (shouldDisplayAsHours(decimal)) {\n return formatAsHours(\n convertToTotalHours(daysAndHours.days, daysAndHours.hours),\n suffixFormat,\n );\n }\n\n return formatAsDays(decimal, suffixFormat);\n}\n","import {\n getIndexLeavePoliciesSummary,\n getIndexTimeoff,\n getShowEmployment,\n ListTimeoffResponse,\n Timeoff,\n TimeoffStatus,\n TimeoffType,\n} from '@/src/client';\nimport { useClient } from '@/src/context';\nimport { ContractAmendmentParams } from '@/src/flows/ContractAmendment/types';\nimport { Employment } from '@/src/flows/Onboarding/types';\nimport {\n convertTotalHoursToDaysAndHours,\n convertToTotalHours,\n DaysAndHours,\n formatAsDecimal,\n} from '@/src/lib/time';\nimport { Client } from '@hey-api/client-fetch';\nimport { useQuery } from '@tanstack/react-query';\n\ntype UseEmployment = Pick<ContractAmendmentParams, 'employmentId'>;\n\n/**\n * Hook to retrieve employment details for a specific employment ID.\n *\n * @param {Object} params - The parameters for the query.\n * @param {string} params.employmentId - The ID of the employment to fetch details for.\n * @returns {UseQueryResult<any, unknown>} - The result of the query, including the employment details.\n */\nexport const useEmploymentQuery = ({ employmentId }: UseEmployment) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['employment', employmentId],\n retry: false,\n queryFn: () => {\n return getShowEmployment({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n path: { employment_id: employmentId },\n });\n },\n enabled: !!employmentId,\n select: ({ data }) => data?.data?.employment,\n });\n};\n\n/**\n * Hook to retrieve time off data for a specific employment.\n *\n * @param {Object} params - The parameters for the query.\n * @param {string} [params.employmentId] - The ID of the employment to fetch time off data for.\n * @param {TimeoffStatus} [params.status] - The status of the time off requests to filter by (e.g., 'approved', 'pending').\n * @returns {UseQueryResult<any, unknown>} - The result of the query, including the time off data.\n *\n */\nexport const useTimeOffQuery = <TData = ListTimeoffResponse>({\n employmentId,\n status,\n timeoffType,\n options,\n}: {\n employmentId?: string;\n status?: TimeoffStatus;\n timeoffType?: TimeoffType;\n options?: {\n enabled?: boolean;\n select?: (data: ListTimeoffResponse | undefined) => TData;\n };\n}) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['timeoff', employmentId, status],\n retry: false,\n queryFn: () => {\n return getIndexTimeoff({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n query: {\n employment_id: employmentId,\n status: status,\n timeoff_type: timeoffType,\n },\n });\n },\n select: ({ data }) => (options?.select?.(data) ?? data) as TData,\n enabled: options?.enabled,\n });\n};\n\nconst formatDateRange = (startDate: string, endDate: string) => {\n const start = new Date(startDate).toLocaleDateString('en-US', {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n });\n const end = new Date(endDate).toLocaleDateString('en-US', {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n });\n return `${start} → ${end}`;\n};\n\nexport type PaidTimeoffBreakdownResponse = {\n bookedDays: number;\n timeoffs: {\n status: string;\n duration: number;\n startDate: string;\n endDate: string;\n formattedDate: string;\n }[];\n};\n\n/**\n * Hook to retrieve paid time off breakdown for a specific employment.\n *\n * @param {Object} params - The parameters for the query.\n * @param {string} [params.employmentId] - The ID of the employment to fetch paid time off breakdown for.\n * @returns {UseQueryResult<any, unknown>} - The result of the query, including the paid time off breakdown.\n *\n */\nexport const usePaidTimeoffBreakdownQuery = ({\n employmentId,\n options,\n}: {\n employmentId?: string;\n options?: {\n enabled?: boolean;\n };\n}) => {\n return useTimeOffQuery<PaidTimeoffBreakdownResponse>({\n employmentId,\n timeoffType: 'paid_time_off',\n options: {\n enabled: options?.enabled,\n select: (data) => {\n return {\n bookedDays: data?.data?.total_count || 0,\n timeoffs:\n data?.data?.timeoffs?.map((timeoff) => {\n return {\n status: timeoff?.status,\n duration: timeoff?.timeoff_days.length,\n startDate: timeoff?.start_date,\n endDate: timeoff?.end_date,\n formattedDate: formatDateRange(\n timeoff?.start_date,\n timeoff?.end_date,\n ),\n };\n }) || [],\n };\n },\n },\n });\n};\n\nexport type BookedTimeoffBeforeDateResponse = {\n /*\n * The number of days booked before termination.\n */\n bookedDaysBeforeTermination: DaysAndHours;\n /*\n * The number of days booked after termination.\n */\n bookedDaysAfterTermination: DaysAndHours;\n};\n\nfunction getAllTimeoffHoursBeforeDate(\n timeoffs: Timeoff[],\n terminationDate: Date,\n): { before: number; after: number } {\n let before = 0;\n let after = 0;\n\n timeoffs.forEach((timeoff) => {\n timeoff.timeoff_days?.forEach((day) => {\n const dayDate = new Date(day.day);\n if (dayDate <= terminationDate) {\n // Day is on or before termination\n before += day.hours || 0;\n } else {\n // Day is after termination\n after += day.hours || 0;\n }\n });\n });\n\n return { before, after };\n}\n\n/**\n * Hook to retrieve booked time off data before and after a specific date for a specific employment.\n *\n * @param {Object} params - The parameters for the query.\n * @param {string} [params.employmentId] - The ID of the employment to fetch booked time off data for.\n * @param {string} [params.date] - The date to fetch booked time off data for.\n * @returns {BookedTimeoffBeforeDateResponse} - The booked time off data before and after the specific date.\n *\n * This hook accounts for partial days and multiple timeoff_days per request.\n */\nexport const useBookedTimeoffBeforeAndAfterTerminationQuery = ({\n employmentId,\n date,\n options,\n}: {\n employmentId: string;\n date: string;\n options?: { enabled: boolean };\n}) => {\n return useTimeOffQuery<BookedTimeoffBeforeDateResponse>({\n employmentId,\n timeoffType: 'paid_time_off',\n status: 'approved',\n options: {\n enabled: options?.enabled,\n select: (data) => {\n const { before, after } = getAllTimeoffHoursBeforeDate(\n data?.data?.timeoffs || [],\n new Date(date),\n );\n\n return {\n bookedDaysBeforeTermination: convertTotalHoursToDaysAndHours(before),\n bookedDaysAfterTermination: convertTotalHoursToDaysAndHours(after),\n };\n },\n },\n });\n};\n\nfunction formatTimeoffValues(\n values: Record<string, DaysAndHours>,\n): Record<string, string> {\n return Object.entries(values).reduce(\n (acc, [key, value]) => ({\n ...acc,\n [key]: formatAsDecimal(value),\n }),\n {},\n );\n}\n\nexport type SummaryTimeOffDataResponse = {\n /*\n * The number of days entitled to per year.\n */\n entitledDays: string;\n /*\n * The number of days booked.\n */\n bookedDays: string;\n /*\n * The number of days used.\n */\n usedDays: string;\n /*\n * The number of days current entitlement, better than entitledDays because it takes into account the accrued value.\n */\n currentEntitlementDays: string;\n /*\n * The number of days approved before termination.\n */\n approvedDaysBeforeTermination: string;\n /*\n * The number of days approved after termination.\n */\n approvedDaysAfterTermination: string;\n /*\n * The number of days remaining.\n */\n remainingDays: string;\n /*\n * Whether the PTO is unlimited or not.\n */\n isUnlimitedPto: boolean;\n};\n\nfunction getMinimumStatutoryDays(employment?: Employment) {\n const availablePto = employment?.contract_details?.available_pto as number;\n const ptoType = employment?.contract_details?.available_pto_type as\n | 'unlimited'\n | 'fixed';\n const countryCode = employment?.country?.code;\n\n // Special handling for countries without statutory minimums\n if (countryCode === 'USA' && ptoType === 'unlimited') {\n // USA has no minimum, but Remote recommends 20\n return {\n value: availablePto === 0 ? 20 : availablePto,\n };\n }\n\n // For most countries with unlimited PTO, available_pto IS the statutory minimum\n if (ptoType === 'unlimited' && availablePto > 0) {\n return {\n value: availablePto,\n };\n }\n\n // For fixed PTO, it's just the entitlement\n return {\n value: availablePto,\n };\n}\n\n/**\n * Hook to retrieve summary time off data for a specific employment.\n *\n * @param {Object} params - The parameters for the query.\n * @param {string} [params.employmentId] - The ID of the employment to fetch summary time off data for.\n * @param {string} [params.proposedTerminationDate] - The proposed termination date to fetch summary time off data for.\n * @returns {SummaryTimeOffDataResponse} - The summary time off data.\n *\n * This hook doesn't take into account unlimited time off or half days yet.\n *\n */\nexport const useSummaryTimeOffDataQuery = ({\n employmentId,\n proposedTerminationDate,\n employment,\n}: {\n employmentId: string;\n proposedTerminationDate: string;\n employment?: Employment;\n}) => {\n const { value: minimumStatutoryDays = 0 } =\n getMinimumStatutoryDays(employment);\n const leavePoliciesSummaryQuery = useTimeOffLeavePoliciesSummaryQuery({\n employmentId,\n });\n const bookedTimeQuery = useBookedTimeoffBeforeAndAfterTerminationQuery({\n employmentId,\n date: proposedTerminationDate,\n });\n\n const entitledDays =\n leavePoliciesSummaryQuery.data?.data?.[0].annual_entitlement.type ===\n 'limited'\n ? {\n days: leavePoliciesSummaryQuery.data?.data?.[0].annual_entitlement\n .days,\n hours:\n leavePoliciesSummaryQuery.data?.data?.[0].annual_entitlement.hours,\n }\n : { days: minimumStatutoryDays, hours: 0 };\n\n const bookedDays = {\n days: leavePoliciesSummaryQuery.data?.data?.[0].booked.days || 0,\n hours: leavePoliciesSummaryQuery.data?.data?.[0].booked.hours || 0,\n };\n\n const currentEntitlementDays =\n leavePoliciesSummaryQuery.data?.data?.[0].current_entitlement.type ===\n 'limited'\n ? {\n days:\n leavePoliciesSummaryQuery.data?.data?.[0].current_entitlement\n .days || 0,\n hours:\n leavePoliciesSummaryQuery.data?.data?.[0].current_entitlement\n .hours || 0,\n }\n : { days: minimumStatutoryDays, hours: 0 };\n\n const usedDays = {\n days: leavePoliciesSummaryQuery.data?.data?.[0].used.days || 0,\n hours: leavePoliciesSummaryQuery.data?.data?.[0].used.hours || 0,\n };\n\n const approvedDaysBeforeTermination = bookedTimeQuery.data\n ?.bookedDaysBeforeTermination || { days: 0, hours: 0 };\n\n const approvedDaysAfterTermination = bookedTimeQuery.data\n ?.bookedDaysAfterTermination || { days: 0, hours: 0 };\n\n const totalCurrentEntitlementHours = convertToTotalHours(\n currentEntitlementDays.days,\n currentEntitlementDays.hours,\n );\n const totalUsedHours = convertToTotalHours(usedDays.days, usedDays.hours);\n const totalBookedHours = convertToTotalHours(\n bookedDays.days,\n bookedDays.hours,\n );\n\n const remainingHours =\n totalCurrentEntitlementHours - totalUsedHours - totalBookedHours;\n\n const remainingDays = convertTotalHoursToDaysAndHours(remainingHours);\n\n const formattedValues = formatTimeoffValues({\n entitledDays,\n bookedDays,\n usedDays,\n approvedDaysBeforeTermination,\n approvedDaysAfterTermination,\n remainingDays,\n currentEntitlementDays,\n }) as Omit<SummaryTimeOffDataResponse, 'isUnlimitedPto'>;\n\n return {\n data: {\n ...formattedValues,\n isUnlimitedPto:\n employment?.contract_details?.available_pto_type === 'unlimited',\n },\n isLoading: leavePoliciesSummaryQuery.isLoading || bookedTimeQuery.isLoading,\n isError: leavePoliciesSummaryQuery.isError || bookedTimeQuery.isError,\n error: leavePoliciesSummaryQuery.error || bookedTimeQuery.error,\n };\n};\n\n/**\n * Hook to retrieve time off balance for a specific employment.\n *\n * @param {Object} params - The parameters for the query.\n * @param {string} [params.employmentId] - The ID of the employment to fetch time off balance for.\n * @returns {UseQueryResult<any, unknown>} - The result of the query, including the time off balance.\n *\n */\nexport const useTimeOffLeavePoliciesSummaryQuery = ({\n employmentId,\n}: {\n employmentId?: string;\n}) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['timeoff-balance', employmentId],\n retry: false,\n queryFn: () => {\n return getIndexLeavePoliciesSummary({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n path: { employment_id: employmentId as string },\n });\n },\n select: ({ data }) => data,\n });\n};\n"],"mappings":"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","names":["DEFAULT_SUFFIX_FORMAT","DECIMAL_DAYS_DISPLAY_THRESHOLD","DEFAULT_WORK_HOURS","DEFAULT_DECIMAL_PLACES","shouldDisplayAsHours","decimal","__name","getDaysAndHoursAsDecimal","days","hours","roundToDecimals","value","multiplier","rounded","formatAsHours","suffixFormat","roundedHours","hoursText","getSingularPluralUnit","convertToTotalHours","convertTotalHoursToDaysAndHours","totalHours","formatAsDays","roundedDecimal","daysText","formatAsDecimal","daysAndHours","useQuery","useEmploymentQuery","__name","employmentId","client","useClient","useQuery","getShowEmployment","data","useTimeOffQuery","status","timeoffType","options","getIndexTimeoff","formatDateRange","startDate","endDate","start","end","usePaidTimeoffBreakdownQuery","timeoff","getAllTimeoffHoursBeforeDate","timeoffs","terminationDate","before","after","day","useBookedTimeoffBeforeAndAfterTerminationQuery","date","convertTotalHoursToDaysAndHours","formatTimeoffValues","values","acc","key","value","formatAsDecimal","getMinimumStatutoryDays","employment","availablePto","ptoType","useSummaryTimeOffDataQuery","proposedTerminationDate","minimumStatutoryDays","leavePoliciesSummaryQuery","useTimeOffLeavePoliciesSummaryQuery","bookedTimeQuery","entitledDays","bookedDays","currentEntitlementDays","usedDays","approvedDaysBeforeTermination","approvedDaysAfterTermination","totalCurrentEntitlementHours","convertToTotalHours","totalUsedHours","totalBookedHours","remainingHours","remainingDays","getIndexLeavePoliciesSummary"]}
|
package/dist/chunk-NZHJMUIX.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as P}from"./chunk-6IL4TB7S.js";import{a as $}from"./chunk-IWA5B4U6.js";import{a as b}from"./chunk-7VOQAVM4.js";import{a as v}from"./chunk-GEHM46QD.js";import{a as h}from"./chunk-ID3ZF7QT.js";import{a as x}from"./chunk-I4XJ764Y.js";import{a as j}from"./chunk-S4XU4SE7.js";import{a as V}from"./chunk-KDUM4EZJ.js";import{a as M}from"./chunk-2YTBWEC7.js";import{a as d,b as S}from"./chunk-CDRDLO4A.js";import{a as w,b as C}from"./chunk-25U3HC77.js";import{a as k}from"./chunk-PJBAQZ6G.js";import{a as g}from"./chunk-Z5WMKCRJ.js";import{c as f}from"./chunk-PAQW5BFW.js";import{a as m}from"./chunk-43WMZDDH.js";import{a as n}from"./chunk-P37U34EQ.js";import{createHeadlessForm as W}from"@remoteoss/json-schema-form";import G from"lodash.omitby";import X from"lodash.isnull";import{format as Y}from"date-fns";import{useMemo as I}from"react";import ee from"lodash.omit";import{jsx as N,jsxs as U}from"react/jsx-runtime";function u(t,e,l){return{"x-jsf-presentation":{inputType:"hidden",Component:n(()=>U("div",{className:m("RemoteFlows__InformationStatement",l?.className),children:[N("h3",{className:m("RemoteFlows__InformationStatement__Title"),children:t}),N("p",{className:m("RemoteFlows__InformationStatement__Description"),children:e})]}),"Component")}}}n(u,"createInformationField");import{Fragment as oe,jsx as r,jsxs as ne}from"react/jsx-runtime";function ie(t){return{confidential:"",customer_informed_employee:"",customer_informed_employee_date:"",customer_informed_employee_description:"",personal_email:"",termination_reason:void 0,reason_description:"",termination_reason_files:[],will_challenge_termination:"",will_challenge_termination_description:null,agrees_to_pto_amount:"",agrees_to_pto_amount_notes:null,acknowledge_termination_procedure:!1,additional_comments:"",proposed_termination_date:"",risk_assessment_reasons:[],timesheet_file:void 0,...t}}n(ie,"buildInitialValues");var Ne=n(({employmentId:t,options:e,initialValues:l})=>{let{fieldValues:y,setFieldValues:D,stepState:a,previousStep:E,nextStep:O}=k(j),{data:_}=V({employmentId:t}),p=ie({...a.values?.employee_communication,...a.values?.termination_details,...a.values?.paid_time_off,...a.values?.additional_information,...l}),c=I(()=>({...a.values?.[a.currentStep.name],...p,...y}),[a.values,a.currentStep.name,y,p]),R=I(()=>({fields:{risk_assesment_info:u("Offboarding risk assessment","Employees may be protected from termination if they fall into certain categories. To help avoid claims from employees, let us know if the employee is part of one or more of these categories. Select all that apply.",{className:e?.jsfModify?.fields?.risk_assesment_info?.["x-jsf-presentation"]?.className}),proposed_termination_date_info:u("Proposed termination date",ne(oe,{children:["In most cases, we must provide notice to the employee before termination. The required notice period depends on local labor laws, the employment agreement, and other factors. We'll use those factors to determine the required notice period.",r(S,{external:!0,zendeskId:d.terminationNoticePeriods,className:m("text-sm",e?.jsfModify?.fields?.proposed_termination_date_info?.["x-jsf-presentation"]?.zendeskTriggerButtonClassName),children:"Learn about notice periods"})]}),{className:e?.jsfModify?.fields?.proposed_termination_date_info?.["x-jsf-presentation"]?.className}),proposed_termination_date:{...e?.jsfModify?.fields?.proposed_termination_date,"x-jsf-presentation":{...e?.jsfModify?.fields?.proposed_termination_date?.["x-jsf-presentation"],minDate:Y(new Date,"yyyy-MM-dd")}},paid_time_off_info:{...e?.jsfModify?.fields?.paid_time_off_info,"x-jsf-presentation":{...e?.jsfModify?.fields?.paid_time_off_info?.["x-jsf-presentation"],Component:n(()=>{let o=e?.jsfModify?.fields?.paid_time_off_info?.["x-jsf-presentation"]?.Component;return r(P,{employeeName:_?.basic_information?.name,proposedTerminationDate:c.proposed_termination_date,employmentId:t,employment:_,render:i=>o?r(o,{...i}):r(h,{...i})})},"Component")}},acknowledge_termination_procedure_info:{...e?.jsfModify?.fields?.acknowledge_termination_procedure_info,"x-jsf-presentation":{...e?.jsfModify?.fields?.acknowledge_termination_procedure_info?.["x-jsf-presentation"],Component:n(()=>{let o=e?.jsfModify?.fields?.acknowledge_termination_procedure_info?.["x-jsf-presentation"]?.Component;return r($,{render:i=>o?r(o,{...i}):r(b,{...i})})},"Component")}},acknowledge_termination_procedure_fees_info:{...e?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info,"x-jsf-presentation":{...e?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info?.["x-jsf-presentation"],Component:n(()=>{let o={involuntaryOffboardingServiceChargeZendeskId:d.involuntaryOffboardingServiceCharge,reconciliationInvoiceZendeskId:d.reconciliationInvoice},i=e?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info?.["x-jsf-presentation"]?.Component;return i?r(i,{...o}):r(v,{...o})},"Component")}}}}),[e?.jsfModify?.fields?.risk_assesment_info,e?.jsfModify?.fields?.proposed_termination_date_info,e?.jsfModify?.fields?.proposed_termination_date,e?.jsfModify?.fields?.paid_time_off_info,e?.jsfModify?.fields?.acknowledge_termination_procedure_info,e?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info,_,c.proposed_termination_date,t]),{data:s,isLoading:A}=C({formValues:c,jsfModify:{...e?.jsfModify,fields:{...e?.jsfModify?.fields,...R?.fields}},step:a.currentStep.name}),T=W(x.data.schema),F=w(),{mutateAsync:z}=M(F);async function J(o){if(!t)throw new Error("Employment id is missing");if(s){let i=f(o,T.fields,{isPartialValidation:!0}),{customer_informed_employee:L}=i,Z=L==="yes"?{employee_awareness:{date:i.customer_informed_employee_date,note:i.customer_informed_employee_description}}:void 0,q=g(i,["agrees_to_pto_amount","confidential","customer_informed_employee","will_challenge_termination"]),K=ee(q,"customer_informed_employee_date","customer_informed_employee_description"),Q=G({...K,...Z},X);return z({employment_id:t,termination_details:Q,type:"termination"})}}n(J,"onSubmit");function B(){E()}n(B,"back");function H(){O()}return n(H,"next"),{employmentId:t,stepState:a,fields:s?.fields||[],isLoading:A,isSubmitting:F.isPending,initialValues:p,handleValidation:n(o=>{if(s){let i=f(o,s?.fields);return s?.handleValidation(i)}return null},"handleValidation"),checkFieldUpdates:D,parseFormValues:n((o,i=!1)=>i?f(o,T.fields,{isPartialValidation:!0}):s?f(o,s?.fields,{isPartialValidation:!0}):{},"parseFormValues"),onSubmit:J,back:B,next:H}},"useTermination");export{Ne as a};
|
|
2
|
-
//# sourceMappingURL=chunk-NZHJMUIX.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/flows/Termination/hooks.tsx","../src/components/form/jsf-utils/createFields.tsx"],"sourcesContent":["import { $TSFixMe, createHeadlessForm } from '@remoteoss/json-schema-form';\nimport omitBy from 'lodash.omitby';\nimport isNull from 'lodash.isnull';\nimport { format } from 'date-fns';\nimport { useMemo } from 'react';\nimport {\n CreateOffboardingParams,\n TerminationDetailsParams,\n} from '@/src/client';\nimport { mutationToPromise } from '@/src/lib/mutations';\nimport { parseJSFToValidate } from '@/src/components/form/utils';\nimport {\n EmployeeCommunicationFormValues,\n PaidTimeOffFormValues,\n TerminationDetailsFormValues,\n TerminationFlowProps,\n TerminationFormValues,\n} from '@/src/flows/Termination/types';\nimport omit from 'lodash.omit';\nimport { parseFormRadioValues } from '@/src/flows/utils';\nimport { useStepState } from '@/src/flows/useStepState';\nimport { STEPS } from '@/src/flows/Termination/utils';\nimport { jsonSchema } from '@/src/flows/Termination/json-schemas/jsonSchema';\nimport { useCreateTermination, useTerminationSchema } from '@/src/flows/api';\nimport { createInformationField } from '@/src/components/form/jsf-utils/createFields';\nimport { cn, ZendeskTriggerButton } from '@/src/internals';\nimport { zendeskArticles } from '@/src/components/shared/zendesk-drawer/utils';\nimport { PaidTimeOff } from '@/src/flows/Termination/components/PaidTimeOff/PaidTimeOff';\nimport { PaidTimeOffContainer } from '@/src/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer';\nimport { useEmploymentQuery } from '@/src/common/api';\nimport { AcknowledgeInformationContainer } from '@/src/flows/Termination/components/AcknowledgeInformation/AcknowledgeInfomationContainer';\nimport { AcknowledgeInformation } from '@/src/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformation';\nimport { AcknowledgeInformationFees } from '@/src/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformationFees';\n\nfunction buildInitialValues(\n stepsInitialValues: Partial<TerminationFormValues>,\n): TerminationFormValues {\n const initialValues: TerminationFormValues = {\n confidential: '',\n customer_informed_employee: '',\n customer_informed_employee_date: '',\n customer_informed_employee_description: '',\n personal_email: '',\n termination_reason: undefined,\n reason_description: '',\n termination_reason_files: [],\n will_challenge_termination: '',\n will_challenge_termination_description: null,\n agrees_to_pto_amount: '',\n agrees_to_pto_amount_notes: null,\n acknowledge_termination_procedure: false,\n additional_comments: '',\n proposed_termination_date: '',\n risk_assessment_reasons: [],\n timesheet_file: undefined,\n ...stepsInitialValues,\n };\n\n return initialValues;\n}\n\ntype TerminationHookProps = Omit<TerminationFlowProps, 'render'>;\n\nexport const useTermination = ({\n employmentId,\n options,\n initialValues: terminationInitialValues,\n}: TerminationHookProps) => {\n const { fieldValues, setFieldValues, stepState, previousStep, nextStep } =\n useStepState<keyof typeof STEPS, TerminationFormValues>(STEPS);\n\n const { data: employment } = useEmploymentQuery({ employmentId });\n\n const initialValues = buildInitialValues({\n ...stepState.values?.employee_communication,\n ...stepState.values?.termination_details,\n ...stepState.values?.paid_time_off,\n ...stepState.values?.additional_information,\n ...terminationInitialValues,\n });\n\n const formValues = useMemo(\n () => ({\n ...stepState.values?.[stepState.currentStep.name as keyof typeof STEPS], // Restore values for the current step\n ...initialValues,\n ...fieldValues,\n }),\n [stepState.values, stepState.currentStep.name, fieldValues, initialValues],\n );\n\n const customFields = useMemo(() => {\n return {\n fields: {\n risk_assesment_info: createInformationField(\n 'Offboarding risk assessment',\n 'Employees may be protected from termination if they fall into certain categories. To help avoid claims from employees, let us know if the employee is part of one or more of these categories. Select all that apply.',\n {\n className: (\n options?.jsfModify?.fields?.risk_assesment_info as $TSFixMe\n )?.['x-jsf-presentation']?.className,\n },\n ),\n proposed_termination_date_info: createInformationField(\n 'Proposed termination date',\n <>\n In most cases, we must provide notice to the employee before\n termination. The required notice period depends on local labor laws,\n the employment agreement, and other factors. We'll use those factors\n to determine the required notice period.\n <ZendeskTriggerButton\n external\n zendeskId={zendeskArticles.terminationNoticePeriods}\n className={cn(\n 'text-sm',\n (\n options?.jsfModify?.fields\n ?.proposed_termination_date_info as $TSFixMe\n )?.['x-jsf-presentation']?.zendeskTriggerButtonClassName,\n )}\n >\n Learn about notice periods\n </ZendeskTriggerButton>\n </>,\n {\n className: (\n options?.jsfModify?.fields\n ?.proposed_termination_date_info as $TSFixMe\n )?.['x-jsf-presentation']?.className,\n },\n ),\n proposed_termination_date: {\n ...(options?.jsfModify?.fields\n ?.proposed_termination_date as $TSFixMe),\n 'x-jsf-presentation': {\n ...(\n options?.jsfModify?.fields?.proposed_termination_date as $TSFixMe\n )?.['x-jsf-presentation'],\n minDate: format(new Date(), 'yyyy-MM-dd'),\n },\n },\n paid_time_off_info: {\n ...(options?.jsfModify?.fields?.paid_time_off_info as $TSFixMe),\n 'x-jsf-presentation': {\n ...(options?.jsfModify?.fields?.paid_time_off_info as $TSFixMe)?.[\n 'x-jsf-presentation'\n ],\n Component: () => {\n const CustomComponent = (\n options?.jsfModify?.fields?.paid_time_off_info as $TSFixMe\n )?.['x-jsf-presentation']?.Component;\n\n return (\n <PaidTimeOffContainer\n employeeName={employment?.basic_information?.name as string}\n proposedTerminationDate={formValues.proposed_termination_date}\n employmentId={employmentId}\n employment={employment}\n render={(props) => {\n if (CustomComponent) {\n return <CustomComponent {...props} />;\n }\n return <PaidTimeOff {...props} />;\n }}\n />\n );\n },\n },\n },\n acknowledge_termination_procedure_info: {\n ...(options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_info as $TSFixMe),\n 'x-jsf-presentation': {\n ...(\n options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_info as $TSFixMe\n )?.['x-jsf-presentation'],\n Component: () => {\n const CustomComponent = (\n options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_info as $TSFixMe\n )?.['x-jsf-presentation']?.Component;\n\n return (\n <AcknowledgeInformationContainer\n render={(props) => {\n if (CustomComponent) {\n return <CustomComponent {...props} />;\n }\n return <AcknowledgeInformation {...props} />;\n }}\n />\n );\n },\n },\n },\n acknowledge_termination_procedure_fees_info: {\n ...(options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_fees_info as $TSFixMe),\n 'x-jsf-presentation': {\n ...(\n options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_fees_info as $TSFixMe\n )?.['x-jsf-presentation'],\n Component: () => {\n const zendeskIds = {\n involuntaryOffboardingServiceChargeZendeskId:\n zendeskArticles.involuntaryOffboardingServiceCharge,\n reconciliationInvoiceZendeskId:\n zendeskArticles.reconciliationInvoice,\n };\n\n const CustomComponent = (\n options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_fees_info as $TSFixMe\n )?.['x-jsf-presentation']?.Component;\n\n if (CustomComponent) {\n return <CustomComponent {...zendeskIds} />;\n }\n\n return <AcknowledgeInformationFees {...zendeskIds} />;\n },\n },\n },\n },\n };\n }, [\n options?.jsfModify?.fields?.risk_assesment_info,\n options?.jsfModify?.fields?.proposed_termination_date_info,\n options?.jsfModify?.fields?.proposed_termination_date,\n options?.jsfModify?.fields?.paid_time_off_info,\n options?.jsfModify?.fields?.acknowledge_termination_procedure_info,\n options?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info,\n employment,\n formValues.proposed_termination_date,\n employmentId,\n ]);\n\n const { data: terminationHeadlessForm, isLoading: isLoadingTermination } =\n useTerminationSchema({\n formValues: formValues,\n jsfModify: {\n ...options?.jsfModify,\n fields: {\n ...options?.jsfModify?.fields,\n ...customFields?.fields,\n },\n },\n step: stepState.currentStep.name,\n });\n\n const entireTerminationSchema = createHeadlessForm(jsonSchema.data.schema);\n\n const createTermination = useCreateTermination();\n const { mutateAsync } = mutationToPromise(createTermination);\n\n async function onSubmit(values: TerminationFormValues) {\n if (!employmentId) {\n throw new Error('Employment id is missing');\n }\n\n if (terminationHeadlessForm) {\n // this is a hack because I need to validate all form values with the entire schema\n const parsedValues = parseJSFToValidate(\n values,\n entireTerminationSchema.fields,\n { isPartialValidation: true },\n );\n\n const { customer_informed_employee: customerInformedEmployee } =\n parsedValues;\n\n const employeeAwareness =\n customerInformedEmployee === 'yes'\n ? {\n employee_awareness: {\n date: parsedValues.customer_informed_employee_date,\n note: parsedValues.customer_informed_employee_description,\n },\n }\n : undefined;\n\n const radioFieldKeys = [\n 'agrees_to_pto_amount',\n 'confidential',\n 'customer_informed_employee',\n 'will_challenge_termination',\n ];\n\n const parsedRadioValues = parseFormRadioValues(\n parsedValues,\n radioFieldKeys,\n );\n\n const normalizedValues = omit(\n parsedRadioValues,\n 'customer_informed_employee_date',\n 'customer_informed_employee_description',\n );\n\n const terminationDetails: TerminationDetailsParams = omitBy(\n {\n ...normalizedValues,\n ...employeeAwareness,\n },\n isNull,\n ) as unknown as TerminationDetailsParams;\n\n const terminationPayload: CreateOffboardingParams = {\n employment_id: employmentId,\n termination_details: terminationDetails,\n type: 'termination',\n };\n\n return mutateAsync(terminationPayload);\n }\n\n return;\n }\n\n function back() {\n previousStep();\n }\n\n function next() {\n nextStep();\n }\n\n return {\n /**\n * Employment id passed useful to be used between components\n */\n employmentId,\n /**\n * Current step state containing the current step and total number of steps\n */\n stepState,\n /**\n * Array of form fields from the contract amendment schema\n */\n fields: terminationHeadlessForm?.fields || [],\n /**\n * Loading state indicating if the termination schema is being fetched\n */\n isLoading: isLoadingTermination,\n /**\n * Loading state indicating if a contract amendment mutation is in progress\n */\n isSubmitting: createTermination.isPending,\n /**\n * Initial form values\n */\n initialValues: initialValues,\n /**\n * Function to validate form values against the contract amendment schema\n * @param values - Form values to validate\n * @returns Validation result or null if no schema is available\n */\n handleValidation: (values: TerminationFormValues) => {\n if (terminationHeadlessForm) {\n const parsedValues = parseJSFToValidate(\n values,\n terminationHeadlessForm?.fields,\n );\n return terminationHeadlessForm?.handleValidation(parsedValues);\n }\n return null;\n },\n /**\n * Function to update the current form field values\n * @param values - New form values to set\n */\n checkFieldUpdates: setFieldValues,\n /**\n * Function to parse form values before submission\n * @param values - Form values to parse\n * @returns Parsed form values\n */\n parseFormValues: (\n values: TerminationFormValues,\n includeAllFields: boolean = false,\n ):\n | EmployeeCommunicationFormValues\n | TerminationDetailsFormValues\n | PaidTimeOffFormValues\n | TerminationFormValues => {\n if (includeAllFields) {\n return parseJSFToValidate(values, entireTerminationSchema.fields, {\n isPartialValidation: true,\n }) as TerminationFormValues;\n }\n\n if (terminationHeadlessForm) {\n return parseJSFToValidate(values, terminationHeadlessForm?.fields, {\n isPartialValidation: true,\n }) as\n | EmployeeCommunicationFormValues\n | TerminationDetailsFormValues\n | PaidTimeOffFormValues;\n }\n return {} as $TSFixMe;\n },\n /**\n * Function to handle form submission\n * @param values - Form values to submit\n * @returns Promise resolving to the mutation result\n */\n onSubmit,\n\n /**\n * Function to handle going back to the previous step\n * @returns {void}\n */\n back,\n\n /**\n * Function to handle going to the next step\n * @returns {void}\n */\n next,\n };\n};\n","import { cn } from '@/src/lib/utils';\nimport { $TSFixMe } from '@/src/types/remoteFlows';\n\ntype JSFPresentationConfig = {\n inputType?: string;\n Component?: React.ComponentType<$TSFixMe>;\n hidden?: boolean;\n [key: string]: unknown;\n};\n\ntype JSFFieldConfig = {\n 'x-jsf-presentation'?: JSFPresentationConfig;\n [key: string]: unknown;\n};\n\n/**\n * Creates an information field with standard styling\n */\nexport function createInformationField(\n title: React.ReactNode,\n description: React.ReactNode,\n options?: {\n className?: string;\n },\n): JSFFieldConfig {\n return {\n 'x-jsf-presentation': {\n inputType: 'hidden',\n Component: () => (\n <div\n className={cn(\n 'RemoteFlows__InformationStatement',\n options?.className,\n )}\n >\n <h3 className={cn('RemoteFlows__InformationStatement__Title')}>\n {title}\n </h3>\n <p className={cn('RemoteFlows__InformationStatement__Description')}>\n {description}\n </p>\n </div>\n ),\n },\n };\n}\n"],"mappings":"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","names":["createHeadlessForm","omitBy","isNull","format","useMemo","omit","jsx","jsxs","createInformationField","title","description","options","__name","cn","Fragment","jsx","jsxs","buildInitialValues","stepsInitialValues","__name","useTermination","employmentId","options","terminationInitialValues","fieldValues","setFieldValues","stepState","previousStep","nextStep","useStepState","STEPS","employment","useEmploymentQuery","initialValues","formValues","useMemo","customFields","createInformationField","ZendeskTriggerButton","zendeskArticles","cn","format","CustomComponent","PaidTimeOffContainer","props","PaidTimeOff","AcknowledgeInformationContainer","AcknowledgeInformation","zendeskIds","AcknowledgeInformationFees","terminationHeadlessForm","isLoadingTermination","useTerminationSchema","entireTerminationSchema","createHeadlessForm","jsonSchema","createTermination","useCreateTermination","mutateAsync","mutationToPromise","onSubmit","values","parsedValues","parseJSFToValidate","customerInformedEmployee","employeeAwareness","parsedRadioValues","parseFormRadioValues","normalizedValues","omit","terminationDetails","omitBy","isNull","back","next","includeAllFields"]}
|
package/dist/chunk-TKAZTT3M.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as A}from"./chunk-BV3PGYSH.js";import{a as ve,b as Ge,c as Je,d as qe,e as je,f as Ke,g as Ye,h as Ze,i as Xe,j as xe,k as et,l as be,m as Se,o as ke,q as tt,r as ot,s as rt}from"./chunk-D6X2WCEG.js";import{b as Qe}from"./chunk-HPHWQU34.js";import{b as ye}from"./chunk-CDRDLO4A.js";import{a as Ce,b as I}from"./chunk-WVDTHFGS.js";import{b as S}from"./chunk-3ZWDIEEM.js";import{a as ne,b as ae,c as b,d as Ae,e as Oe,f as ze,g as Ue,h as k,i as w,j as N,k as R,l as P,m as D}from"./chunk-CNDSIADP.js";import{g as Ve}from"./chunk-PAQW5BFW.js";import{a as y,e as oe}from"./chunk-43WMZDDH.js";import{a as r}from"./chunk-P37U34EQ.js";import{Fragment as Do,useEffect as To,useRef as Lt}from"react";import{Fragment as Ot,jsx as O,jsxs as se}from"react/jsx-runtime";function le({name:e,defaultValue:t,description:o,label:n,onChange:a,multiple:c,options:d,component:F,...f}){let{components:u}=S(),{control:s}=b(),i=r((m,l,g)=>{let p=g.value?[...g.value]:[];l?p.includes(m)||g.onChange([...p,m]):g.onChange(p.filter(h=>h!==m))},"handleCheckboxChange");return O(k,{control:s,name:e,defaultValue:t,render:({field:m,fieldState:l})=>{let g=F||u?.checkbox;if(g){let p={name:e,description:o,label:n,defaultValue:t,multiple:c,options:d,...f};return O(g,{field:{...m,onChange:r(h=>{if(c){let{checked:x,value:C}=h.target;i(C,x,m),a?.(x);return}m.onChange(h),a?.(h)},"onChange")},fieldState:l,fieldData:p})}return se(w,{"data-field":e,className:y(`RemoteFlows__CheckBoxField__Item__${e}`),children:[O(R,{children:se(Ot,{children:[d&&c?O(N,{children:n}):null,d&&c?d.map(p=>se("div",{className:"flex space-x-2",children:[O(ve,{id:p.value,onCheckedChange:h=>{i(p.value,h===!0,m),a?.(h,p.value)},checked:m.value?.includes(p.value),className:"RemoteFlows__CheckBox__Input"}),O(N,{htmlFor:p.value,className:"mb-0 RemoteFlows__CheckBox__Label",children:p.label})]},p.value)):se("div",{className:"flex space-x-2",children:[O(ve,{id:e,onCheckedChange:p=>{m.onChange(p),a?.(p)},checked:m.value,className:"RemoteFlows__CheckBox__Input"}),O(N,{htmlFor:e,className:"mb-0 RemoteFlows__CheckBox__Label",children:n})]})]})}),o&&O(P,{children:o}),l.error&&O(D,{})]})}})}r(le,"CheckBoxField");import{CalendarIcon as Gt}from"lucide-react";import{PopoverClose as Jt}from"@radix-ui/react-popover";import{ChevronLeft as zt,ChevronRight as Vt}from"lucide-react";import{DayPicker as Ut}from"react-day-picker";import{jsx as Ne}from"react/jsx-runtime";function nt({className:e,classNames:t,showOutsideDays:o=!0,...n}){return Ne(Ut,{showOutsideDays:o,className:y("p-3",e),classNames:{months:"flex flex-col sm:flex-row gap-2",month:"flex flex-col gap-4",caption:"flex justify-center pt-1 relative items-center w-full",caption_label:"text-sm font-medium",nav:"flex items-center gap-1",nav_button:y(Ce({variant:"outline"}),"size-7 bg-transparent p-0 opacity-50 hover:opacity-100"),nav_button_previous:"absolute left-1",nav_button_next:"absolute right-1",table:"w-full border-collapse space-x-1",head_row:"flex",head_cell:"text-muted-foreground rounded-md w-8 font-normal text-[0.8rem]",row:"flex w-full mt-2",cell:y("relative p-0 text-center text-sm focus-within:relative focus-within:z-20 [&:has([aria-selected])]:bg-accent [&:has([aria-selected].day-range-end)]:rounded-r-md",n.mode==="range"?"[&:has(>.day-range-end)]:rounded-r-md [&:has(>.day-range-start)]:rounded-l-md first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md":"[&:has([aria-selected])]:rounded-md"),day:y(Ce({variant:"ghost"}),"size-8 p-0 font-normal aria-selected:opacity-100"),day_range_start:"day-range-start aria-selected:bg-primary aria-selected:text-primary-foreground",day_range_end:"day-range-end aria-selected:bg-primary aria-selected:text-primary-foreground",day_selected:"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground",day_today:"bg-accent text-accent-foreground",day_outside:"day-outside text-muted-foreground aria-selected:text-muted-foreground",day_disabled:"text-muted-foreground opacity-50",day_range_middle:"aria-selected:bg-accent aria-selected:text-accent-foreground",day_hidden:"invisible",...t},components:{IconLeft:r(({className:a,...c})=>Ne(zt,{className:y("size-4",a),...c}),"IconLeft"),IconRight:r(({className:a,...c})=>Ne(Vt,{className:y("size-4",a),...c}),"IconRight")},...n})}r(nt,"Calendar");import*as z from"@radix-ui/react-popover";import{jsx as ie}from"react/jsx-runtime";function me({...e}){return ie(z.Root,{"data-slot":"popover",...e})}r(me,"Popover");function de({...e}){return ie(z.Trigger,{"data-slot":"popover-trigger",...e})}r(de,"PopoverTrigger");function ce({className:e,align:t="center",sideOffset:o=4,...n}){return ie(z.Portal,{children:ie(z.Content,{"data-slot":"popover-content",align:t,sideOffset:o,className:y("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",e),...n})})}r(ce,"PopoverContent");import{format as at,parse as qt}from"date-fns";import{Fragment as jt,jsx as M,jsxs as we}from"react/jsx-runtime";function st({description:e,label:t,name:o,minDate:n,onChange:a,component:c,...d}){let{components:F}=S(),{control:f}=b(),u;return d.meta?.mot&&typeof d.meta.mot=="number"?u=Ve(d.meta.mot):n&&(u=qt(n,"yyyy-MM-dd",new Date)),M(k,{control:f,name:o,render:({field:s,fieldState:i})=>{let m=c||F?.date;if(m){let l={description:e,label:t,name:o,onChange:a,...u&&{minDate:u.toISOString()},...d};return M(m,{field:{...s,onChange:r(g=>{s.onChange(g),a?.(g)},"onChange")},fieldState:i,fieldData:l})}return we(w,{"data-field":o,className:`flex flex-col RemoteFlows__DatePickerField__Item__${o}`,children:[M(N,{className:"RemoteFlows__DatePickerField__Label",children:t}),we(me,{children:[M(de,{asChild:!0,children:M(R,{children:M("div",{children:we(I,{type:"button",variant:"outline",className:y("w-full pl-3 text-left font-normal",!s.value&&"text-muted-foreground"),"data-testid":`date-picker-button-${o}`,children:[s.value&&M(jt,{children:at(s.value,"yyyy-MM-dd")}),M(Gt,{className:"ml-auto h-4 w-4 opacity-50"})]})})})}),M(ce,{className:"w-auto p-0 RemoteFlows__DatepickerField__PopoverContent",align:"start",children:M(nt,{mode:"single",className:"RemoteFlows__DatepickerField__Calendar",selected:s.value?new Date(s.value):void 0,onSelect:l=>{s.onChange(l?at(l,"yyyy-MM-dd"):null),a?.(l)},defaultMonth:u,components:{DayContent:r(l=>M(Jt,{children:l.date.getDate()}),"DayContent")},...u&&{disabled:r(l=>l<u,"disabled")}})})]}),e?M(P,{children:e}):null,i.error&&M(D,{className:"RemoteFlows__DatePickerField__Error"})]})}})}r(st,"DatePickerField");import{useState as Kt,useRef as Yt}from"react";import{Upload as Zt,X as Xt}from"lucide-react";import{jsx as V,jsxs as ue}from"react/jsx-runtime";var Qt=r(e=>e?e.split(",").map(t=>t.trim().toUpperCase()).join(", "):null,"getAcceptedFormats");function lt({onChange:e,className:t,multiple:o,accept:n}){let[a,c]=Kt([]),d=Yt(null),F=r(i=>{i.preventDefault(),d.current?.click()},"handleClick"),f=r(i=>{if(i.target.files&&i.target.files.length>0){let m=Array.from(i.target.files);c(m),e(i)}},"handleChange"),u=r(i=>{c(m=>m.filter(l=>l!==i))},"onRemoveFile"),s=Qt(n);return ue("div",{className:y("flex flex-col items-start gap-4",t),children:[V("input",{type:"file",ref:d,onChange:f,className:"hidden","aria-label":"File upload",multiple:o,accept:n}),ue(I,{type:"button",onClick:F,className:"gap-2",children:[V(Zt,{className:"h-4 w-4"}),"Choose File"]}),s&&ue("div",{className:"text-sm text-gray-600",children:["Accepted formats:"," ",V("span",{className:"font-medium",children:s})]}),a.length===0&&V("div",{className:"text-sm",children:o?V("span",{className:"font-medium",children:"No files selected. You can select multiple files"}):V("span",{className:"font-medium",children:"No file selected."})}),a.length>0&&a.map((i,m)=>ue("div",{className:"text-sm flex items-center gap-2",children:["Selected file: ",V("span",{className:"font-medium",children:i.name})," (",Math.round(i.size/1024)," KB)",V(I,{variant:"ghost",onClick:()=>u(i),children:V(Xt,{})})]},m))]})}r(lt,"FileUploader");import{jsx as U,jsxs as ro}from"react/jsx-runtime";var eo=r(e=>new Promise((t,o)=>{let n=new FileReader;n.readAsDataURL(e),n.onload=()=>t(n.result),n.onerror=a=>o(a)}),"toBase64"),to=r(async e=>await Promise.all(e.map(async o=>{let n=await eo(o);return{name:o.name,content:n.split(",")[1]}})),"convertFilesToBase64"),oo=r((e,t)=>{if(!t)return null;for(let o of e)if(o.size>t){let n=Math.round(t/1048576),a=Math.round(o.size/(1024*1024));return`File "${o.name}" exceeds maximum size of ${n}MB (file is ${a}MB)`}return null},"validateFileSize");function it({name:e,description:t,label:o,multiple:n,onChange:a,component:c,accept:d,maxSize:F,...f}){let{components:u}=S(),{control:s,setError:i,clearErrors:m}=b(),l=r(async(g,p)=>{let h=g.target.files?Array.from(g.target.files):[],x=oo(h,F);if(x){i(e,{message:x});return}m(e);let C=await to(h);p.onChange(C),a?.(C)},"handleOnChange");return U(k,{control:s,name:e,render:({field:g,fieldState:p})=>{let h=c||u?.file;if(h){let x={name:e,description:t,label:o,multiple:n,accept:d,maxFileSize:F,...f};return U(h,{field:{...g,value:null,onChange:r(async C=>l(C,g),"onChange")},fieldState:p,fieldData:x})}return ro(w,{"data-field":e,className:`RemoteFlows__FileUpload__Item__${e}`,children:[U(N,{className:"RemoteFlows__FileUpload__Label",children:o}),U(R,{children:U(lt,{onChange:x=>l(x,g),multiple:n,className:y("RemoteFlows__FileUpload__Input"),accept:d})}),t&&U("div",{className:"flex items-center justify-between",children:U(P,{className:"RemoteFlows__FileUpload__Description",children:t})}),p.error&&U(D,{className:"RemoteFlows__FileUpload__Error"})]})}})}r(it,"FileUploadField");import{jsx as Re}from"react/jsx-runtime";function pe(e){let{components:t}=S(),{control:o}=b(),n=e.component||t?.number;return n?Re(k,{control:o,name:e.name,render:({field:a,fieldState:c})=>Re(n,{field:{...a,onChange:r(d=>{a.onChange(d),e.onChange?.(d)},"onChange")},fieldState:c,fieldData:e})}):Re(A,{...e,type:"text",inputMode:"decimal",pattern:"^[0-9.]*$"})}r(pe,"NumberField");import{Fragment as no}from"react";import{jsx as W,jsxs as Pe}from"react/jsx-runtime";function mt({name:e,defaultValue:t,description:o,label:n,options:a,onChange:c,component:d,...F}){let{components:f}=S(),{control:u}=b();return W(k,{control:u,name:e,defaultValue:t,render:({field:s,fieldState:i})=>{let m=d||f?.radio;if(m){let l={name:e,defaultValue:t,description:o,label:n,options:a,...F};return W(m,{field:{...s,onChange:r(g=>{s.onChange(g),c?.(g)},"onChange")},fieldState:i,fieldData:l})}return Pe(w,{className:y("space-y-3",`RemoteFlows__RadioGroupField__Item__${e}`),"data-field":e,children:[W(N,{children:n}),W(R,{children:W(Ge,{"aria-label":n||e,onValueChange:l=>{s.onChange(l),c?.(l)},value:s.value,className:"flex flex-col space-y-3",children:a?.map(l=>W(no,{children:Pe(w,{"data-field":e,className:"flex items-start space-x-3 space-y-0 gap-0 RemoteFlows__RadioField__Item",children:[W(R,{children:W(Je,{value:l.value,className:"RemoteFlows__RadioField__Input",disabled:l.disabled})}),Pe("div",{children:[W(N,{className:"font-normal mb-0 RemoteFlows__RadioField__Label",children:l.label}),l.description&&W(P,{className:"mt-2",children:l.description})]})]})},l.value))})}),o&&W(P,{children:o}),i.error&&W(D,{})]})}})}r(mt,"RadioGroupField");import{jsx as E,jsxs as dt}from"react/jsx-runtime";function ct({label:e,name:t,options:o,defaultValue:n,description:a,onChange:c,component:d,...F}){let{control:f}=b(),{components:u}=S();return E(k,{defaultValue:n,control:f,name:t,render:({field:s,fieldState:i})=>{let m=d||u?.select;if(m){let l={label:e,name:t,options:o,defaultValue:n,description:a,onChange:c,...F};return E(m,{field:{...s,onChange:r(g=>{let p=F.jsonType==="number"?Number(g):g;s.onChange(p),c?.(p)},"onChange")},fieldState:i,fieldData:l})}return dt(w,{"data-field":t,className:`RemoteFlows__SelectField__Item__${t}`,children:[E(N,{className:"RemoteFlows__SelectField__Label",children:e}),E(R,{children:E("div",{className:"relative",children:dt(qe,{value:s.value||"",onValueChange:l=>{let g=F.jsonType==="number"?Number(l):l;s.onChange(g),c?.(g)},children:[E(Ye,{className:"RemoteFlows__SelectField__Trigger","aria-invalid":!!i.error,"aria-label":e,children:E("span",{className:"absolute",children:E(Ke,{placeholder:e})})}),E(Ze,{className:"RemoteFlows__SelectField__Content",children:E(je,{className:"RemoteFlows__SelectField__Group",children:o.map(l=>E(Xe,{value:l.value,className:"RemoteFlows__SelectField__SelectItem",disabled:l.disabled,children:l.label},l.value))})})]})})}),a&&E(P,{children:a}),i.error&&E(D,{})]})}})}r(ct,"SelectField");import{useState as co}from"react";import{Fragment as ao,useState as so}from"react";import{Check as lo,ChevronDownIcon as io,X as mo}from"lucide-react";import{Command as K}from"cmdk";import{SearchIcon as sn}from"lucide-react";import{jsx as Y,jsxs as cn}from"react/jsx-runtime";function ut({className:e,...t}){return Y(K,{"data-slot":"command",className:y("bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",e),...t})}r(ut,"Command");function pt({className:e,...t}){return Y(K.List,{"data-slot":"command-list",className:y("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",e),...t})}r(pt,"CommandList");function ft({...e}){return Y(K.Empty,{"data-slot":"command-empty",className:"py-6 text-center text-sm",...e})}r(ft,"CommandEmpty");function Ft({className:e,...t}){return Y(K.Group,{"data-slot":"command-group",className:y("text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium",e),...t})}r(Ft,"CommandGroup");function gt({className:e,...t}){return Y(K.Separator,{"data-slot":"command-separator",className:y("bg-border -mx-1 h-px",e),...t})}r(gt,"CommandSeparator");function ht({className:e,...t}){return Y(K.Item,{"data-slot":"command-item",className:y("data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...t})}r(ht,"CommandItem");import{jsx as L,jsxs as Z}from"react/jsx-runtime";function fe({options:e,selected:t,onChange:o,placeholder:n,...a}){let[c,d]=so(!1),F=r(s=>{o(t.filter(i=>i.value!==s.value))},"handleUnselect"),f=e.some(s=>s.category),u=e.reduce((s,i)=>{let m=i.category||"Uncategorized";return s[m]||(s[m]=[]),s[m].push(i),s},{});return Z(me,{open:c,onOpenChange:d,...a,children:[L(de,{children:Z(I,{variant:"outline",role:"combobox","aria-expanded":c,className:"w-full justify-between font-normal",type:"button",children:[L("div",{className:"flex gap-1 flex-wrap overflow-x-auto max-h-[2.5rem] items-center",children:t.length>0?t.map(s=>Z(Qe,{variant:"secondary",className:"mr-1 mb-1",children:[s.label,L("div",{role:"button",tabIndex:0,"aria-label":`remove ${s.label}`,className:"ml-1 ring-offset-background rounded-full outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 cursor-pointer",onKeyDown:i=>{i.key==="Enter"&&F(s)},onMouseDown:i=>{i.preventDefault(),i.stopPropagation()},onClick:()=>F(s),children:L(mo,{className:"h-3 w-3 text-muted-foreground hover:text-foreground"})})]},s.label)):L("span",{className:"text-foreground",children:n})}),L(io,{className:"size-4"})]})}),L(ce,{align:"start",className:"w-full p-0",children:L(ut,{children:Z(pt,{children:[L(ft,{children:"No item found."}),Object.entries(u).map(([s,i],m)=>Z(ao,{children:[m>0&&L(gt,{}),L(Ft,{heading:f?s:void 0,children:i.map(l=>{let g=t.some(p=>p.value===l.value);return Z(ht,{onSelect:()=>{o(g?t.filter(p=>p.value!==l.value):[...t,l])},children:[L(lo,{className:y("mr-2 h-4 w-4",g?"opacity-100":"opacity-0")}),l.label]},l.label)})})]},s))]})})})]})}r(fe,"MultiSelect");import{jsx as G,jsxs as uo}from"react/jsx-runtime";function _t({label:e,name:t,options:o,defaultValue:n,description:a,onChange:c,$meta:d,component:F,...f}){let{control:u}=b(),{components:s}=S(),[i,m]=co([]);return G(k,{defaultValue:n,control:u,name:t,render:({field:l,fieldState:g})=>{let p=F||s?.countries;if(p){let C={label:e,name:t,options:o,defaultValue:n,description:a,onChange:c,$meta:d,...f};return G(p,{field:{...l,onChange:r(T=>{l.onChange(T),c?.(T)},"onChange")},fieldState:g,fieldData:C})}let h=[...Object.entries(d?.regions||{}).map(([C,T])=>({value:T,label:C,category:"Regions"})),...Object.entries(d?.subregions||{}).map(([C,T])=>({value:T,label:C,category:"Subregions"})),...o.map(C=>({...C,value:C.value,label:C.label,category:"Countries"}))],x=r(C=>{let T=C.map(({value:j})=>j);l.onChange(T),c?.(T),m(C)},"handleChange");return uo(w,{"data-field":t,className:`RemoteFlows__CountryField__Item__${t}`,children:[G(N,{className:"RemoteFlows__CountryField__Label",children:e}),G(R,{children:G(fe,{options:h,selected:i,onChange:x,...f})}),a&&G(P,{children:a}),g.error&&G(D,{})]})}})}r(_t,"CountryField");import*as yt from"react";import{jsx as po}from"react/jsx-runtime";var De=yt.forwardRef(({className:e,...t},o)=>po("textarea",{className:y("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:o,...t}));De.displayName="Textarea";import{jsx as J,jsxs as Te}from"react/jsx-runtime";function vt({name:e,description:t,label:o,onChange:n,maxLength:a,component:c,...d}){let{components:F}=S(),{control:f}=b();return J(k,{control:f,name:e,render:({field:u,fieldState:s})=>{let i=c||F?.textarea;if(i){let l={name:e,description:t,label:o,maxLength:a,...d};return J(i,{field:{...u,onChange:r(g=>{u.onChange(g),n?.(g)},"onChange")},fieldState:s,fieldData:l})}let m=u.value?.length??0;return Te(w,{"data-field":e,className:`RemoteFlows__TextArea__Item__${e}`,children:[J(N,{className:"RemoteFlows__TextArea__Label",children:o}),J(R,{children:J(De,{...u,value:u.value??"",onChange:l=>{u.onChange(l),n?.(l)},className:y(s.error&&"border-red-500 focus-visible:ring-red-500","RemoteFlows__TextArea__Input"),placeholder:o})}),(t||a)&&Te("div",{className:"flex items-center justify-between",children:[t&&J(P,{className:"RemoteFlows__TextArea__Description",children:t}),a&&Te("span",{className:"text-sm ml-auto RemoteFlows__TextArea__MaxLength",children:[m,"/",a]})]}),s.error&&J(D,{className:"RemoteFlows__TextArea__Error"})]})}})}r(vt,"TextAreaField");import{jsx as $e}from"react/jsx-runtime";function Ct(e){let{components:t}=S(),{control:o}=b(),n=e.component||t?.email;return n?$e(k,{control:o,name:e.name,render:({field:a,fieldState:c})=>$e(n,{field:{...a,onChange:r(d=>{a.onChange(d),e.onChange?.(d)},"onChange")},fieldState:c,fieldData:e})}):$e(A,{...e,type:"email"})}r(Ct,"EmailField");import{jsx as xt}from"react/jsx-runtime";function bt(e){let{control:t}=b();return xt(k,{control:t,name:e.name,render:({field:o})=>xt("input",{...o,type:"hidden"})})}r(bt,"HiddenField");import vo,{useEffect as Co,useState as $t}from"react";var St=r((e,t,o)=>{if(e&&"reportValidity"in e){let n=ne(o,t);e.setCustomValidity(n&&n.message||""),e.reportValidity()}},"r"),Ie=r((e,t)=>{for(let o in t.fields){let n=t.fields[o];n&&n.ref&&"reportValidity"in n.ref?St(n.ref,o,e):n&&n.refs&&n.refs.forEach(a=>St(a,o,e))}},"o"),Nt=r((e,t)=>{t.shouldUseNativeValidation&&Ie(e,t);let o={};for(let n in e){let a=ne(t.fields,n),c=Object.assign(e[n]||{},{ref:a&&a.ref});if(fo(t.names||Object.keys(e),n)){let d=Object.assign({},ne(o,n));ae(d,"root",c),ae(o,n,d)}else ae(o,n,c)}return o},"s"),fo=r((e,t)=>{let o=kt(t);return e.some(n=>kt(n).match(`^${o}\\.\\d+`))},"i");function kt(e){return e.replace(/\]|\[/g,"")}r(kt,"n");function wt(e,t,o){return t===void 0&&(t={}),o===void 0&&(o={}),function(n,a,c){try{return Promise.resolve(function(d,F){try{var f=(t.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(e[o.mode==="sync"?"validateSync":"validate"](n,Object.assign({abortEarly:!1},t,{context:a}))).then(function(u){return c.shouldUseNativeValidation&&Ie({},c),{values:o.raw?Object.assign({},n):u,errors:{}}}))}catch(u){return F(u)}return f&&f.then?f.then(void 0,F):f}(0,function(d){if(!d.inner)throw d;return{values:{},errors:Nt((F=d,f=!c.shouldUseNativeValidation&&c.criteriaMode==="all",(F.inner||[]).reduce(function(u,s){if(u[s.path]||(u[s.path]={message:s.message,type:s.type}),f){var i=u[s.path].types,m=i&&i[s.type];u[s.path]=Ae(s.path,f,u,s.type,m?[].concat(m,s.message):s.message)}return u},{})),c)};var F,f}))}catch(d){return Promise.reject(d)}}}r(wt,"o");import*as $ from"yup";import Rt from"lodash.groupby";import X from"lodash.capitalize";var Pt=60,Fe=["monday","tuesday","wednesday","thursday","friday","saturday","sunday"];function Fo(e){if(e<60)return`${e}m`;let t=Math.floor(e/Pt),o=e%Pt;return o>0?`${t}h${o}m`:`${t}h`}r(Fo,"convertBreakDurationToHours");function Dt(e){let t=e.reduce((o,n)=>n.hours+o,0);return Number(t.toFixed(2))}r(Dt,"calculateTotalWorkHours");function go(e,t){let o=t.map(({day:c})=>c.toLowerCase()),n=o.indexOf(e),a=null;for(;n<o.length&&!a;){let c=o[n],d=o[n+1],F=Fe.indexOf(c)+1;Fe[F]===d||(a=c),n+=1}return a}r(go,"findLastConsecutiveDay");function ho(e){return e.start_time&&e.end_time&&(typeof e.hours=="number"?e.hours:Number.parseInt(e.hours))>0}r(ho,"shouldSummarizeSchedule");function _o(e){return Number.parseInt(e.break_duration_minutes)>0}r(_o,"shouldSummarizeBreaks");function Tt(e){let t=e.filter(ho),o=Rt(t,F=>`${F.start_time}|${F.end_time}`),n=e.filter(_o),a=Rt(n,"break_duration_minutes"),c=Object.keys(o).map(F=>{let f=o[F],u=f[0].day,[s,i]=F.split("|"),m=`from <span>${s.replace(":","h")}</span> to <span>${i.replace(":","h")}</span>`,l=go(u,f),p=(l?f.findIndex(h=>h.day===l):-1)===f.length-1;return f.length===1?`${X(u)}, ${m}`:!p||!l?f.reduce((h,x,C)=>{let T=X(x.day);return C===f.length-1?`${h}and ${T}, ${m}`:`${h}<span>${T}</span>, `},""):`<span>${X(u)}</span> to <span>${X(l)}</span>, ${m}`}),d=Object.keys(a).reverse().map((F,f)=>{let u=f===0,s=a[F],i=Fo(parseInt(F,10));if(Object.keys(a).length===1)return`With ${i} daily breaks`;if(s.length===1){let m=`${i} break on ${X(s[0].day)}.`;return u?`With ${m}`:m}return s.reduce((m,l,g)=>{let p=X(l.day);return g===0?`${m} ${p}`:g===s.length-1?`${m}, and ${p}.`:`${m}, ${p}`},u?`With ${i} break on`:`${i} break on`)});return{workHoursSummary:c,breakSummary:d}}r(Tt,"buildWorkScheduleSummary");function Me(e){let{checked:t,start_time:o,end_time:n,break_duration_minutes:a}=e;if(!t)return 0;let[c,d]=o.split(":").map(Number),[F,f]=n.split(":").map(Number),u=c*60+d,m=(F*60+f-u-Number.parseInt(a||"0"))/60;return m===Math.floor(m)?m:Number(m.toFixed(2))}r(Me,"calculateHours");var yo={monday:"Mon",tuesday:"Tue",wednesday:"Wed",thursday:"Thu",friday:"Fri",saturday:"Sat",sunday:"Sun"};function ge(e){return yo[e]}r(ge,"getShortWeekday");import{jsx as v,jsxs as B}from"react/jsx-runtime";var xo=$.object({day:$.string().required(),checked:$.boolean().required(),start_time:$.string().matches(/^([01]\d|2[0-3]):([0-5]\d)$/,"Invalid time format (HH:mm)").when("checked",{is:!0,then:r(e=>e.required("Required"),"then"),otherwise:r(e=>e.optional().nullable(),"otherwise")}),end_time:$.string().matches(/^([01]\d|2[0-3]):([0-5]\d)$/,"Invalid time format (HH:mm)").when("checked",{is:!0,then:r(e=>e.required("Required"),"then"),otherwise:r(e=>e.optional().nullable(),"otherwise")}),hours:$.number().default(0),break_duration_minutes:$.string().default("0")}),bo=$.object({schedule:$.array(xo)});function So({defaultSchedule:e,onSubmit:t}){let[o,n]=$t(!1),a=Fe.map(p=>{let h=e.find(x=>x.day.toLowerCase()===ge(p).toLowerCase()||x.day.toLowerCase()===p.toLowerCase());return h?{...h,day:ge(p),checked:!0}:{...e[0],checked:!1,day:ge(p)}}),c=ze({defaultValues:{schedule:a},resolver:wt(bo)}),{handleSubmit:d,watch:F,reset:f,control:u,formState:s}=c,{fields:i}=Oe({name:"schedule",control:u}),m=F("schedule");function l(p){let h=p.schedule.filter(({checked:x})=>x).map(x=>({...x,hours:Me(x)}));t(h),n(!1)}r(l,"handleSubmitWorkingHours");function g(){f(),n(!1)}return r(g,"handleCancel"),v("div",{className:"flex items-center justify-between",children:B(xe,{open:o,onOpenChange:n,children:[v(et,{asChild:!0,children:v(I,{variant:"link",className:"flex items-center p-0 RemoteFlows__WorkScheduleSelectionForm__Trigger",children:"Edit Schedule"})}),B(be,{className:"max-w-5xl max-h-[90vh] overflow-y-auto px-8 py-4 RemoteFlows__WorkScheduleSelectionForm__Content",children:[v(Se,{children:v(ke,{className:"RemoteFlows__WorkScheduleSelectionForm__Title",children:"Edit employee working hours"})}),v(Ue,{...c,children:B("form",{className:"space-y-4 RemoteFlows__WorkScheduleSelectionForm__Form",children:[B("div",{className:"rounded-lg",children:[v("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."}),B("div",{className:"grid grid-cols-12 gap-4 text-sm font-medium text-gray-500 uppercase tracking-wide RemoteFlows__WorkScheduleSelectionForm__Header",children:[v("div",{className:"col-span-2"}),v("div",{className:"col-span-3 text-center",children:"START"}),v("div",{className:"col-span-1 text-center"}),v("div",{className:"col-span-3 text-center",children:"END"}),v("div",{className:"col-span-2 text-center",children:"HOURS"})]}),v("div",{className:"RemoteFlows__WorkScheduleSelectionForm__Rows",children:i.map((p,h)=>{let x=m[h],C=Me(x);return B(vo.Fragment,{children:[B("div",{className:"grid grid-cols-12 gap-4 items-center py-2 RemoteFlows__WorkScheduleSelectionForm__Row-Hours",children:[v("div",{className:"col-span-2 flex items-center gap-3",children:v(le,{label:p.day,name:`schedule.${h}.checked`})}),v("div",{className:"col-span-3",children:v(A,{name:`schedule.${h}.start_time`,includeErrorMessage:!1})}),v("div",{className:"col-span-1 text-center text-gray-500",children:"to"}),v("div",{className:"col-span-3",children:v(A,{name:`schedule.${h}.end_time`,includeErrorMessage:!1})}),v("div",{className:"col-span-2 text-center text-gray-600",children:isNaN(C)?"-":`${C} hours`})]}),B("div",{className:"grid grid-cols-12 gap-4 items-center py-2 RemoteFlows__WorkScheduleSelectionForm__Row-Break",children:[v("div",{className:"col-span-2 text-gray-500",children:"Break"}),v("div",{className:"col-span-2",children:v(A,{name:`schedule.${h}.break_duration_minutes`,includeErrorMessage:!1})}),v("div",{className:"col-span-2 text-gray-500",children:"minutes"}),v("div",{className:"col-span-4"})]})]},p.id)})})]}),Object.keys(s.errors).length>0&&v("p",{className:"text-destructive text-sm mb-0",children:"Invalid time format (HH:mm)"}),B("div",{className:"flex gap-4 pt-4",children:[v(I,{type:"button",className:"reset-button",variant:"outline",onClick:g,children:"Cancel"}),v(I,{type:"button",className:"submit-button",onClick:d(l),children:"Save Schedule"})]})]})})]})]})})}r(So,"WorkScheduleSelectionForm");function It(e){let{components:t}=S(),{setValue:o,control:n,watch:a}=b(),c=a(e.name),[d,F]=$t(c),{workHoursSummary:f,breakSummary:u}=Tt(d),s=Dt(d);Co(()=>{o(e.name,d)},[d,e.name,o]);function i(l){F(l)}r(i,"onSubmit");let m=e.component||t?.["work-schedule"];return m?v(k,{control:n,name:e.name,render:({field:l,fieldState:g})=>v(m,{field:{...l,onChange:r(p=>{l.onChange(p),e.onChange?.(p)},"onChange")},fieldState:g,fieldData:{...e,defaultFormattedValue:{workHoursSummary:f,breakSummary:u,totalWorkHours:s}}})}):B("div",{className:"flex flex-col gap-3 RemoteFlows__WorkScheduleField",children:[v("p",{className:"text-sm RemoteFlows__WorkScheduleField__Title",children:"Work hours"}),B("div",{className:"flex flex-col gap-1 RemoteFlows__WorkScheduleField__Summary",children:[v("p",{className:"text-sm text-gray-500 RemoteFlows__WorkScheduleField__Summary__WorkHours",dangerouslySetInnerHTML:{__html:f.join(", ")}}),v("p",{className:"text-sm text-gray-500 RemoteFlows__WorkScheduleField__Summary__Break",children:u.join()}),B("p",{className:"text-sm text-gray-500 RemoteFlows__WorkScheduleField__Summary__Total",children:["Total of ",v("span",{children:s})," hours per week"]}),v(So,{defaultSchedule:d,onSubmit:i})]})]})}r(It,"WorkScheduleField");import{useState as ko}from"react";import{jsx as q,jsxs as No}from"react/jsx-runtime";function Mt({label:e,name:t,options:o,defaultValue:n,description:a,onChange:c,component:d,...F}){let{control:f}=b(),{components:u}=S(),[s,i]=ko();return q(k,{defaultValue:n,control:f,name:t,render:({field:m,fieldState:l})=>{let g=d||u?.["multi-select"];if(g){let h={label:e,name:t,options:o,defaultValue:n,description:a,onChange:c,...F};return q(g,{field:{...m,onChange:r(x=>{m.onChange(x),c?.(x)},"onChange")},fieldState:l,fieldData:h})}let p=s||o.filter(h=>m.value.includes(h.value));return No(w,{"data-field":t,className:`RemoteFlows__SelectField__Item__${t}`,children:[q(N,{className:"RemoteFlows__SelectField__Label",children:e}),q(R,{children:q(fe,{options:o,selected:p,onChange:h=>{let x=h.map(({value:C})=>C);m.onChange(x),c?.(x),i(h)},...F})}),a&&q(P,{children:a}),l.error&&q(D,{})]})}})}r(Mt,"MultiSelectField");import{jsx as wo}from"react/jsx-runtime";var Et=r(e=>wo(pe,{maxLength:15,...e}),"MoneyField");var Ee={checkbox:le,text:A,email:Ct,money:Et,select:ct,"multi-select":Mt,radio:mt,number:pe,file:it,date:st,textarea:vt,countries:_t,hidden:bt,"work-schedule":It};import{AlertCircle as Ro}from"lucide-react";import{jsx as he,jsxs as Po}from"react/jsx-runtime";function Wt({title:e,description:t,severity:o}){let{components:n}=S();if(n?.statement){let a=n?.statement;return he(a,{data:{title:e,description:oe(t),severity:o}})}return Po(tt,{variant:"warning",children:[he(Ro,{className:"h-4 w-4"}),e&&he(ot,{children:e}),t&&he(rt,{dangerouslySetInnerHTML:{__html:oe(t)}})]})}r(Wt,"Statement");import{Fragment as Io,jsx as H,jsxs as Q}from"react/jsx-runtime";var $o=r(({isExpanded:e,onToggle:t,className:o,...n})=>H(I,{type:"button",className:y("RemoteFlows__Button RemoteFlows__FieldSetField__ToggleButton",o),variant:"default",onClick:t,...n,children:e?"Remove":"Define"}),"DefaultToggleButton");function Bt({label:e,name:t,fields:o,description:n,components:a,statement:c,isFlatFieldset:d,extra:F,variant:f="outset",features:u,meta:s}){let{helpCenter:i}=s||{},{watch:m,setValue:l,trigger:g,formState:p}=b(),{components:h}=S(),x=u?.toggle?.stateField,C=x?m(x):u?.toggle?.defaultExpanded??!0,T=o.map(({name:_})=>`${t}.${_}`),j=m(T),We=Lt(j),ee=Lt(null),Ht=r(()=>{x&&l(x,!C)},"toggleExpanded");To(()=>{let _=j,re=We.current,_e=p.isSubmitted||p.submitCount>0,He=!1;for(let te=0;te<_.length;te++)if(_[te]!==void 0&&re[te]!==_[te]){He=!0;break}return He&&_e&&(ee.current&&clearTimeout(ee.current),ee.current=setTimeout(()=>{g()},50)),We.current=[..._],()=>{ee.current&&clearTimeout(ee.current)}},[j,g,p.isSubmitted,p.submitCount]);let At=h?.fieldsetToggle||$o,Le=`${t}-content`,Be=`${t}-header`;return Q("fieldset",{className:y("border-1 border-input p-4 rounded-xl","RemoteFlows__FieldSetField",`RemoteFlows__FieldSetField__${t}`),children:[H("legend",{className:y("text-sm font-semibold px-2",f==="inset"&&"hidden"),children:e}),i?.callToAction&&i?.id&&f==="outset"&&H(ye,{className:"RemoteFlows__FieldSetField__HelpCenterLink mb-3",zendeskId:i.id,children:i.callToAction}),f==="inset"&&Q(Io,{children:[Q("div",{className:"RemoteFlows__FieldSetField__Header",id:Be,"data-state":C?"expanded":"collapsed","aria-expanded":C,children:[H("h3",{className:y("RemoteFlows__FieldSetField__Title"),children:e}),u?.toggle?.enabled&&H(At,{isExpanded:C,onToggle:Ht,"aria-expanded":C,"aria-controls":Le,"aria-label":`${C?"Hide":"Show"} ${e}`,className:y("RemoteFlows__FieldSetField__Toggle",u.toggle?.className),children:C?u.toggle.labels?.collapse??"Remove":u.toggle.labels?.expand??"Define"})]}),i?.callToAction&&i?.id&&H(ye,{className:"RemoteFlows__FieldSetField__HelpCenterLink mb-3",zendeskId:i.id,children:i.callToAction})]}),C&&Q("div",{id:Le,"aria-labelledby":Be,role:"region",children:[n?H("div",{className:"mb-5 RemoteFlows__FieldSetField__Description",dangerouslySetInnerHTML:{__html:oe(n)}}):null,Q("div",{className:"grid gap-4",children:[o.map(_=>{if(_.calculateDynamicProperties&&(_={..._,..._.calculateDynamicProperties(j,_)||{}}),_.isVisible===!1||_.deprecated)return null;if(_.Component){let{Component:_e}=_;return H(_e,{..._},_.name)}if(_.type==="fieldset")return H(Bt,{..._,name:`${d?_.name:`${t}.${_.name}`}`,components:a},`${d?_.name:`${t}.${_.name}`}`);if(_.type==="fieldset-flat")return H(Bt,{..._,name:`${d?_.name:`${t}.${_.name}`}`,components:a,isFlatFieldset:!0},`${d?_.name:`${t}.${_.name}`}`);let re=Ee[_.type];return _.type==="select"&&_.multiple&&(re=Ee["multi-select"]),Q(Do,{children:[H(re,{..._,name:`${d?_.name:`${t}.${_.name}`}`,component:a?.[_.type]}),_.extra?_.extra:null]},`${d?_.name:`${t}.${_.name}`}`)}),F||null,c?H(Wt,{...c}):null]})]})]})}r(Bt,"FieldSetField");export{Ee as a,Wt as b,Bt as c};
|
|
2
|
-
//# sourceMappingURL=chunk-TKAZTT3M.js.map
|