@remoteoss/remote-flows 1.5.1 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ButtonDefault-MJNBS6JN.js +2 -0
- package/dist/CheckboxFieldDefault-5UCOCDE6.js +2 -0
- package/dist/CountryFieldDefault-ZOQTJCFL.js +2 -0
- package/dist/DatePickerFieldDefault-YOLAGQD6.js +2 -0
- package/dist/DrawerDefault-TPMJO4JW.js +2 -0
- package/dist/EmailFieldDefault-LIG2I3KN.js +2 -0
- package/dist/FieldsetToggleButtonDefault-ONS2KHTB.js +2 -0
- package/dist/FileUploadFieldDefault-Y3DOJH6L.js +2 -0
- package/dist/MultiSelectFieldDefault-LMXRGP3B.js +2 -0
- package/dist/NumberFieldDefault-O7WYKNXV.js +2 -0
- package/dist/PDFPreviewDefault-WZKNJUIU.js +2 -0
- package/dist/RadioGroupFieldDefault-Y5L4GIQE.js +2 -0
- package/dist/SelectFieldDefault-RM72IEHN.js +2 -0
- package/dist/StatementDefault-CIHGUOWH.js +2 -0
- package/dist/TableFieldDefault-42PHYI5U.js +2 -0
- package/dist/TextAreaFieldDefault-7WGZ3OOS.js +2 -0
- package/dist/TextFieldDefault-NW25MQKP.js +2 -0
- package/dist/WorkScheduleFieldDefault-RP5SBJS7.js +2 -0
- package/dist/ZendeskDrawerDefault-H7UH2G35.js +2 -0
- package/dist/ZendeskDrawerDefault-H7UH2G35.js.map +1 -0
- package/dist/{chunk-ZDTHQRXJ.js → chunk-27QEJQHZ.js} +2 -2
- package/dist/{chunk-L5WJIYHB.js → chunk-2BTW5VQM.js} +2 -2
- package/dist/{chunk-VD2T75BY.js → chunk-2EJDEVHY.js} +2 -2
- package/dist/{chunk-4N66FNVP.js → chunk-2H357HMX.js} +2 -2
- package/dist/{chunk-IVHHMIUY.js → chunk-2Q24UYTZ.js} +2 -2
- package/dist/chunk-3UDRMQNE.js +2 -0
- package/dist/chunk-3UDRMQNE.js.map +1 -0
- package/dist/chunk-42R2H2DW.js +2 -0
- package/dist/{chunk-QTJ6EDEM.js → chunk-47QOKKPT.js} +2 -2
- package/dist/{chunk-FEGY4ZEW.js → chunk-4PWW2KIE.js} +2 -2
- package/dist/{chunk-M6SSA4VP.js → chunk-4RFJXFQX.js} +2 -2
- package/dist/{chunk-ZBLC4GNZ.js → chunk-4UKIHBAU.js} +2 -2
- package/dist/{chunk-OGKTFLXW.js → chunk-4VDLIQW6.js} +2 -2
- package/dist/chunk-4VYMV32U.js +2 -0
- package/dist/chunk-4VYMV32U.js.map +1 -0
- package/dist/chunk-4WSJ2A6Q.js +2 -0
- package/dist/chunk-4WSJ2A6Q.js.map +1 -0
- package/dist/{chunk-37PL5HK2.js → chunk-4Z2ZRDMG.js} +2 -2
- package/dist/{chunk-DJ2OL5GS.js → chunk-557BE4KV.js} +2 -2
- package/dist/{chunk-ISSEORVM.js → chunk-5H3G7L52.js} +2 -2
- package/dist/chunk-5JJRVNQQ.js +2 -0
- package/dist/chunk-5JJRVNQQ.js.map +1 -0
- package/dist/{chunk-Q3NPSRTT.js → chunk-5QEOCZWA.js} +2 -2
- package/dist/{chunk-2IHUWRL4.js → chunk-5RYRPEXE.js} +2 -2
- package/dist/{chunk-NO6BRWFS.js → chunk-5XEJY6AG.js} +2 -2
- package/dist/chunk-5XEJY6AG.js.map +1 -0
- package/dist/chunk-66LATGGO.js +2 -0
- package/dist/chunk-66LATGGO.js.map +1 -0
- package/dist/chunk-7VS4FRI4.js +2 -0
- package/dist/chunk-7VS4FRI4.js.map +1 -0
- package/dist/chunk-7XTH77HC.js +2 -0
- package/dist/chunk-7XTH77HC.js.map +1 -0
- package/dist/{chunk-RGAHP6NW.js → chunk-ABYONP42.js} +2 -2
- package/dist/{chunk-GBU46SLB.js → chunk-AQPM4YXS.js} +2 -2
- package/dist/{chunk-Q3LH3SPI.js → chunk-ARYTUUI7.js} +2 -2
- package/dist/{chunk-XTXPKDZ7.js → chunk-AYDY7FWS.js} +2 -2
- package/dist/chunk-B4L4JBSX.js +2 -0
- package/dist/chunk-B4L4JBSX.js.map +1 -0
- package/dist/{chunk-GGPEKIIH.js → chunk-B5YG3EGS.js} +2 -2
- package/dist/{chunk-252BG35G.js → chunk-CB3JGUXW.js} +2 -2
- package/dist/{chunk-QCIOQVSK.js → chunk-CQEMKL24.js} +2 -2
- package/dist/chunk-CVSWYOU2.js +2 -0
- package/dist/chunk-CVSWYOU2.js.map +1 -0
- package/dist/chunk-CZJTTZET.js +2 -0
- package/dist/chunk-CZJTTZET.js.map +1 -0
- package/dist/{chunk-ZJSGU543.js → chunk-DYG225ZX.js} +2 -2
- package/dist/chunk-ERSXMU5E.js +2 -0
- package/dist/chunk-ERSXMU5E.js.map +1 -0
- package/dist/{chunk-ZT72WOPZ.js → chunk-FLCQGVLT.js} +2 -2
- package/dist/{chunk-L2A6WN6O.js → chunk-FXQAB3WS.js} +2 -2
- package/dist/{chunk-J2NQBF62.js → chunk-G2LBZKLG.js} +2 -2
- package/dist/{chunk-R5MQUZSC.js → chunk-GH3FNNAU.js} +2 -2
- package/dist/{chunk-R5MQUZSC.js.map → chunk-GH3FNNAU.js.map} +1 -1
- package/dist/{chunk-SHWM6RJC.js → chunk-GL75LB2U.js} +2 -2
- package/dist/chunk-GYQJPYLL.js +6 -0
- package/dist/chunk-GYQJPYLL.js.map +1 -0
- package/dist/{chunk-4LMCHO7V.js → chunk-H3ZACNQ6.js} +2 -2
- package/dist/{chunk-GWA5DDSK.js → chunk-H3ZZYAI6.js} +2 -2
- package/dist/{chunk-AJADTL33.js → chunk-H55YNNRX.js} +2 -2
- package/dist/{chunk-ILOKQ6OH.js → chunk-HMCTBCYH.js} +2 -2
- package/dist/{chunk-YRFNEKBE.js → chunk-HSCS2LW2.js} +2 -2
- package/dist/{chunk-QT43Z24O.js → chunk-HY45YMQX.js} +2 -2
- package/dist/{chunk-LXD6EB3B.js → chunk-I42KSW2T.js} +2 -2
- package/dist/{chunk-XGECMN4V.js → chunk-IF42CZJH.js} +2 -2
- package/dist/chunk-IJCTN52C.js +2 -0
- package/dist/chunk-IJCTN52C.js.map +1 -0
- package/dist/chunk-INTCYXNY.js +2 -0
- package/dist/chunk-INTCYXNY.js.map +1 -0
- package/dist/{chunk-IJUB7Z4E.js → chunk-IRZB32VO.js} +2 -2
- package/dist/chunk-IYBUDYFU.js +2 -0
- package/dist/{chunk-SO2RPIOT.js.map → chunk-IYBUDYFU.js.map} +1 -1
- package/dist/{chunk-3DRSYLBM.js → chunk-JAQTY4WI.js} +2 -2
- package/dist/{chunk-U7CW67TM.js → chunk-JGSMNVB5.js} +2 -2
- package/dist/{chunk-WAG67DRI.js → chunk-JPG7ALCH.js} +2 -2
- package/dist/{chunk-N6YAIBJR.js → chunk-JVBZ42B2.js} +2 -2
- package/dist/{chunk-6ARN2SX2.js → chunk-JZL6UTLA.js} +2 -2
- package/dist/{chunk-CIUPGLOU.js → chunk-K537DG4M.js} +2 -2
- package/dist/chunk-K5CZDOJG.js +2 -0
- package/dist/chunk-K5CZDOJG.js.map +1 -0
- package/dist/chunk-KLTLJUTG.js +2 -0
- package/dist/chunk-KLTLJUTG.js.map +1 -0
- package/dist/{chunk-5CXPVPOG.js → chunk-KOJ7XDQ3.js} +2 -2
- package/dist/{chunk-5CDYMEHW.js → chunk-L2YAFMAT.js} +2 -2
- package/dist/{chunk-IGLBEWVV.js → chunk-L4ZKUL5E.js} +2 -2
- package/dist/{chunk-GDEPTDOR.js → chunk-L5IKPX6D.js} +2 -2
- package/dist/chunk-LAV3X727.js +2 -0
- package/dist/chunk-LAV3X727.js.map +1 -0
- package/dist/{chunk-JHIRXRGV.js → chunk-LEQXRQ6X.js} +2 -2
- package/dist/{chunk-FM7K64YV.js → chunk-LGIJO73Z.js} +2 -2
- package/dist/{chunk-PJN2YJO4.js → chunk-LYFET6KE.js} +2 -2
- package/dist/{chunk-W32TDEQ3.js → chunk-MO57FCIH.js} +2 -2
- package/dist/chunk-MORWF4JC.js +2 -0
- package/dist/chunk-MORWF4JC.js.map +1 -0
- package/dist/chunk-MP4WFKD3.js +2 -0
- package/dist/chunk-MP4WFKD3.js.map +1 -0
- package/dist/{chunk-5XAHIRL6.js → chunk-MWPTUX4I.js} +2 -2
- package/dist/{chunk-VAFD5QUX.js → chunk-NIJG4TPU.js} +2 -2
- package/dist/{chunk-KKKOMF2R.js → chunk-NTMY5VLN.js} +2 -2
- package/dist/chunk-OU6HCXKJ.js +2 -0
- package/dist/chunk-OU6HCXKJ.js.map +1 -0
- package/dist/{chunk-LLP55ZDN.js → chunk-OZQVMA77.js} +2 -2
- package/dist/chunk-P3QDMRCC.js +2 -0
- package/dist/chunk-P3QDMRCC.js.map +1 -0
- package/dist/{chunk-2RLH6ZLY.js → chunk-PRVP6ID7.js} +2 -2
- package/dist/{chunk-RYOXAR7O.js → chunk-Q24D6SO6.js} +2 -2
- package/dist/chunk-Q3ALCPJN.js +2 -0
- package/dist/chunk-Q3ALCPJN.js.map +1 -0
- package/dist/{chunk-GPLI6GGL.js → chunk-QN2JIZ46.js} +2 -2
- package/dist/{chunk-V4OZS4QW.js → chunk-QPUWU5R3.js} +2 -2
- package/dist/{chunk-4UAHJOHZ.js → chunk-QVUSRZ2Z.js} +2 -2
- package/dist/{chunk-WXZ5B4PT.js → chunk-R3C7KEKY.js} +2 -2
- package/dist/{chunk-VLKGQAEQ.js → chunk-R3V5AHPG.js} +2 -2
- package/dist/chunk-RFKETKV4.js +2 -0
- package/dist/chunk-RFKETKV4.js.map +1 -0
- package/dist/{chunk-JCIUCOEM.js → chunk-S6SLUYTL.js} +2 -2
- package/dist/{chunk-WYIEW4OC.js → chunk-S7S2XNVU.js} +2 -2
- package/dist/{chunk-P5GY5LLV.js → chunk-SE7EANMF.js} +2 -2
- package/dist/{chunk-4O6M7I7Z.js → chunk-TATL6AQD.js} +2 -2
- package/dist/{chunk-7EHK36JU.js → chunk-TN37JYBC.js} +2 -2
- package/dist/chunk-V63WMKGL.js +2 -0
- package/dist/chunk-V63WMKGL.js.map +1 -0
- package/dist/{chunk-GNPHI7PB.js → chunk-VAWEOFUO.js} +2 -2
- package/dist/{chunk-HNUWNTPD.js → chunk-VMAPQGL4.js} +2 -2
- package/dist/{chunk-DN6SGTCI.js → chunk-VZCWCH7L.js} +2 -2
- package/dist/chunk-W4XNUDHJ.js +2 -0
- package/dist/chunk-W4XNUDHJ.js.map +1 -0
- package/dist/{chunk-GPRN5IXM.js → chunk-WD5DNUSS.js} +2 -2
- package/dist/{chunk-VCZDLRTI.js → chunk-WMVZY6FJ.js} +2 -2
- package/dist/{chunk-Q2XGTGUQ.js → chunk-X2F3PNZY.js} +2 -2
- package/dist/{chunk-CR7AIZKA.js → chunk-X7EZIAZ3.js} +2 -2
- package/dist/{chunk-RVYQJM63.js → chunk-XJPB4XV6.js} +2 -2
- package/dist/{chunk-4Z3V5SXU.js → chunk-Y625DU2T.js} +2 -2
- package/dist/chunk-Y6VAENOP.js +2 -0
- package/dist/{chunk-FDBLCEFN.js.map → chunk-Y6VAENOP.js.map} +1 -1
- package/dist/{chunk-FNSD4BSK.js → chunk-Y7WX5NK5.js} +2 -2
- package/dist/{chunk-K4IKYJ3B.js → chunk-YYFKOSNH.js} +2 -2
- package/dist/{chunk-Z5A2M5EU.js → chunk-ZLPAQQZI.js} +2 -2
- package/dist/default-components.d.ts +2 -2
- package/dist/default-components.js +1 -1
- package/dist/default-components.js.map +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.d.ts +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.js +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentFlow.d.ts +3 -3
- package/dist/flows/ContractAmendment/ContractAmendmentFlow.js +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentForm.d.ts +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentForm.js +1 -1
- package/dist/flows/ContractAmendment/context.d.ts +3 -3
- package/dist/flows/ContractAmendment/hooks.d.ts +3 -3
- package/dist/flows/ContractAmendment/hooks.js +1 -1
- package/dist/flows/ContractAmendment/index.d.ts +3 -3
- package/dist/flows/ContractAmendment/index.js +1 -1
- package/dist/flows/ContractAmendment/types.d.ts +2 -2
- package/dist/flows/ContractAmendment/utils.d.ts +2 -2
- package/dist/flows/ContractorOnboarding/ContractorOnboarding.d.ts +6 -5
- package/dist/flows/ContractorOnboarding/ContractorOnboarding.js +1 -1
- package/dist/flows/ContractorOnboarding/api.d.ts +9 -6
- 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 +6 -5
- package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/ContractPreviewHeader.d.ts +11 -0
- package/dist/flows/ContractorOnboarding/components/ContractPreviewHeader.js +2 -0
- package/dist/flows/ContractorOnboarding/components/ContractPreviewHeader.js.map +1 -0
- package/dist/flows/ContractorOnboarding/components/ContractPreviewStatement.d.ts +14 -0
- package/dist/flows/ContractorOnboarding/components/ContractPreviewStatement.js +2 -0
- package/dist/flows/ContractorOnboarding/components/ContractPreviewStatement.js.map +1 -0
- package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.d.ts +6 -5
- package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/ContractReviewButton.d.ts +11 -0
- package/dist/flows/ContractorOnboarding/components/ContractReviewButton.js +2 -0
- package/dist/flows/ContractorOnboarding/components/ContractReviewButton.js.map +1 -0
- package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.d.ts +6 -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 +6 -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/components/StatementOfWorkDisclaimer.d.ts +7 -0
- package/dist/flows/ContractorOnboarding/components/StatementOfWorkDisclaimer.js +2 -0
- package/dist/flows/ContractorOnboarding/components/StatementOfWorkDisclaimer.js.map +1 -0
- package/dist/flows/ContractorOnboarding/context.d.ts +17 -7
- package/dist/flows/ContractorOnboarding/context.js +1 -1
- package/dist/flows/ContractorOnboarding/hooks.d.ts +6 -5
- package/dist/flows/ContractorOnboarding/hooks.js +1 -1
- package/dist/flows/ContractorOnboarding/index.d.ts +6 -5
- package/dist/flows/ContractorOnboarding/index.js +1 -1
- package/dist/flows/ContractorOnboarding/json-schemas/signature.d.ts +29 -0
- package/dist/flows/ContractorOnboarding/json-schemas/signature.js +1 -1
- package/dist/flows/ContractorOnboarding/types.d.ts +6 -5
- package/dist/flows/ContractorOnboarding/utils.d.ts +9 -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 +2 -2
- package/dist/flows/CostCalculator/EstimationResults/EstimationResults.js +1 -1
- package/dist/flows/CostCalculator/SummaryResults/SummaryResults.d.ts +2 -2
- package/dist/flows/CostCalculator/SummaryResults/SummaryResults.js +1 -1
- package/dist/flows/CostCalculator/api.d.ts +2 -2
- package/dist/flows/CostCalculator/api.js +1 -1
- package/dist/flows/CostCalculator/components/SalaryField.d.ts +2 -2
- package/dist/flows/CostCalculator/components/SalaryField.js +1 -1
- package/dist/flows/CostCalculator/context.d.ts +3 -3
- package/dist/flows/CostCalculator/hooks.d.ts +3 -3
- package/dist/flows/CostCalculator/hooks.js +1 -1
- package/dist/flows/CostCalculator/index.d.ts +3 -3
- package/dist/flows/CostCalculator/index.js +1 -1
- package/dist/flows/CostCalculator/types.d.ts +2 -2
- package/dist/flows/CostCalculator/utils.d.ts +3 -3
- package/dist/flows/CostCalculator/utils.js +1 -1
- package/dist/flows/Onboarding/OnboardingFlow.d.ts +4 -4
- package/dist/flows/Onboarding/OnboardingFlow.js +1 -1
- package/dist/flows/Onboarding/api.d.ts +6 -6
- 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/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/ReviewStep.d.ts +4 -4
- package/dist/flows/Onboarding/components/SaveDraftButton.d.ts +3 -3
- 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 +7 -7
- 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/TerminationDetailsForm.d.ts +4 -4
- package/dist/flows/Termination/TerminationDetailsForm.js +1 -1
- package/dist/flows/Termination/TerminationFlow.d.ts +4 -4
- package/dist/flows/Termination/TerminationFlow.js +1 -1
- package/dist/flows/Termination/TerminationForm.d.ts +4 -4
- package/dist/flows/Termination/TerminationForm.js +1 -1
- package/dist/flows/Termination/api.d.ts +5 -5
- package/dist/flows/Termination/api.js +1 -1
- package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformation.js +1 -1
- package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformationFees.js +1 -1
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.d.ts +6 -6
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.js +1 -1
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.d.ts +6 -6
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.js +1 -1
- package/dist/flows/Termination/components/PaidTimeOff/types.d.ts +6 -6
- package/dist/flows/Termination/components/TerminationDialogInfoContent/TerminationDialogInfoContent.js +1 -1
- package/dist/flows/Termination/components/TerminationReasonsDetailContent/TerminationReasonsDetailContent.js +1 -1
- package/dist/flows/Termination/context.d.ts +4 -4
- package/dist/flows/Termination/hooks.d.ts +4 -4
- package/dist/flows/Termination/hooks.js +1 -1
- package/dist/flows/Termination/index.d.ts +6 -6
- package/dist/flows/Termination/index.js +1 -1
- package/dist/flows/Termination/json-schemas/jsonSchema.js +1 -1
- package/dist/flows/Termination/json-schemas/schema.d.ts +4 -4
- package/dist/flows/Termination/json-schemas/schema.js +1 -1
- package/dist/flows/Termination/types.d.ts +4 -4
- package/dist/flows/Termination/utils.d.ts +4 -4
- package/dist/flows/Termination/utils.js +1 -1
- package/dist/flows/types.d.ts +2 -2
- package/dist/index.css +1 -1
- package/dist/index.css.map +1 -1
- package/dist/index.d.ts +12 -10
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/internals.d.ts +8 -6
- package/dist/internals.js +1 -1
- package/dist/{mutations-DSBVK5sW.d.ts → mutations-1qBMUBHv.d.ts} +1 -1
- package/dist/{remoteFlows-6XWROwtF.d.ts → remoteFlows-CdH85jWA.d.ts} +9 -3
- package/dist/styles.css +1 -1
- package/dist/styles.css.map +1 -1
- package/dist/{types-3ylqaF_t.d.ts → types-3ayA0Jjk.d.ts} +9 -6
- package/dist/{types-ZSicyhLB.d.ts → types-9RkAisEn.d.ts} +15 -7
- package/dist/{types-E0XdIl4i.d.ts → types-DIkYYcU2.d.ts} +2 -2
- package/dist/{types-DX7H-fFQ.d.ts → types-DzL24-XO.d.ts} +1 -1
- package/dist/{types.gen-DICXUtXl.d.ts → types.gen-ClAI2-dt.d.ts} +68 -2
- package/dist/{utils-Cw537oiU.d.ts → utils-cwu3lIjJ.d.ts} +1 -1
- package/package.json +1 -1
- package/dist/ButtonDefault-PG2HCSV4.js +0 -2
- package/dist/CheckboxFieldDefault-OBJ4QREK.js +0 -2
- package/dist/CountryFieldDefault-WPXUWTKB.js +0 -2
- package/dist/DatePickerFieldDefault-GHJWMFG2.js +0 -2
- package/dist/DrawerDefault-FSKTBWTS.js +0 -2
- package/dist/EmailFieldDefault-2TN72RV6.js +0 -2
- package/dist/FieldsetToggleButtonDefault-NLE2WGVL.js +0 -2
- package/dist/FileUploadFieldDefault-DDUFS4WG.js +0 -2
- package/dist/MultiSelectFieldDefault-7VSOLYXI.js +0 -2
- package/dist/NumberFieldDefault-N7VHRJZA.js +0 -2
- package/dist/PdfPreview-2VXVDUFP.js +0 -2
- package/dist/PdfPreview-2VXVDUFP.js.map +0 -1
- package/dist/RadioGroupFieldDefault-PCQKOUWG.js +0 -2
- package/dist/SelectFieldDefault-AT2ZVV4P.js +0 -2
- package/dist/StatementDefault-J7AMNUZ2.js +0 -2
- package/dist/TableFieldDefault-KZXST5VW.js +0 -2
- package/dist/TextAreaFieldDefault-LUX3XPMB.js +0 -2
- package/dist/TextFieldDefault-ZGWGWYJ6.js +0 -2
- package/dist/WorkScheduleFieldDefault-JEWUBVOO.js +0 -2
- package/dist/ZendeskDrawerDefault-L3QJQNRH.js +0 -2
- package/dist/chunk-2L5YJSIF.js +0 -2
- package/dist/chunk-2L5YJSIF.js.map +0 -1
- package/dist/chunk-5JQMTMHR.js +0 -2
- package/dist/chunk-5JQMTMHR.js.map +0 -1
- package/dist/chunk-5S5YAMYB.js +0 -2
- package/dist/chunk-5S5YAMYB.js.map +0 -1
- package/dist/chunk-6CASSN2Z.js +0 -2
- package/dist/chunk-75H7ASIK.js +0 -2
- package/dist/chunk-75H7ASIK.js.map +0 -1
- package/dist/chunk-7KLYZBVN.js +0 -2
- package/dist/chunk-7KLYZBVN.js.map +0 -1
- package/dist/chunk-BIC5GBW4.js +0 -2
- package/dist/chunk-BIC5GBW4.js.map +0 -1
- package/dist/chunk-DA6SLHO4.js +0 -2
- package/dist/chunk-DA6SLHO4.js.map +0 -1
- package/dist/chunk-FDBLCEFN.js +0 -2
- package/dist/chunk-IOX27DWA.js +0 -2
- package/dist/chunk-IOX27DWA.js.map +0 -1
- package/dist/chunk-LHNX27TY.js +0 -2
- package/dist/chunk-LHNX27TY.js.map +0 -1
- package/dist/chunk-LOHRUY4J.js +0 -2
- package/dist/chunk-LOHRUY4J.js.map +0 -1
- package/dist/chunk-MMYLDOJD.js +0 -2
- package/dist/chunk-MMYLDOJD.js.map +0 -1
- package/dist/chunk-NO6BRWFS.js.map +0 -1
- package/dist/chunk-OEBMODP7.js +0 -2
- package/dist/chunk-OEBMODP7.js.map +0 -1
- package/dist/chunk-R2MHAPWD.js +0 -2
- package/dist/chunk-R2MHAPWD.js.map +0 -1
- package/dist/chunk-SO2RPIOT.js +0 -2
- package/dist/chunk-T6Q7IALZ.js +0 -6
- package/dist/chunk-T6Q7IALZ.js.map +0 -1
- package/dist/chunk-TOA3JILU.js +0 -2
- package/dist/chunk-TOA3JILU.js.map +0 -1
- package/dist/chunk-UQCSN47K.js +0 -2
- package/dist/chunk-UQCSN47K.js.map +0 -1
- package/dist/chunk-X3ZIQ7HA.js +0 -2
- package/dist/chunk-X3ZIQ7HA.js.map +0 -1
- /package/dist/{ButtonDefault-PG2HCSV4.js.map → ButtonDefault-MJNBS6JN.js.map} +0 -0
- /package/dist/{CheckboxFieldDefault-OBJ4QREK.js.map → CheckboxFieldDefault-5UCOCDE6.js.map} +0 -0
- /package/dist/{CountryFieldDefault-WPXUWTKB.js.map → CountryFieldDefault-ZOQTJCFL.js.map} +0 -0
- /package/dist/{DatePickerFieldDefault-GHJWMFG2.js.map → DatePickerFieldDefault-YOLAGQD6.js.map} +0 -0
- /package/dist/{DrawerDefault-FSKTBWTS.js.map → DrawerDefault-TPMJO4JW.js.map} +0 -0
- /package/dist/{EmailFieldDefault-2TN72RV6.js.map → EmailFieldDefault-LIG2I3KN.js.map} +0 -0
- /package/dist/{FieldsetToggleButtonDefault-NLE2WGVL.js.map → FieldsetToggleButtonDefault-ONS2KHTB.js.map} +0 -0
- /package/dist/{FileUploadFieldDefault-DDUFS4WG.js.map → FileUploadFieldDefault-Y3DOJH6L.js.map} +0 -0
- /package/dist/{MultiSelectFieldDefault-7VSOLYXI.js.map → MultiSelectFieldDefault-LMXRGP3B.js.map} +0 -0
- /package/dist/{NumberFieldDefault-N7VHRJZA.js.map → NumberFieldDefault-O7WYKNXV.js.map} +0 -0
- /package/dist/{RadioGroupFieldDefault-PCQKOUWG.js.map → PDFPreviewDefault-WZKNJUIU.js.map} +0 -0
- /package/dist/{SelectFieldDefault-AT2ZVV4P.js.map → RadioGroupFieldDefault-Y5L4GIQE.js.map} +0 -0
- /package/dist/{StatementDefault-J7AMNUZ2.js.map → SelectFieldDefault-RM72IEHN.js.map} +0 -0
- /package/dist/{TableFieldDefault-KZXST5VW.js.map → StatementDefault-CIHGUOWH.js.map} +0 -0
- /package/dist/{TextAreaFieldDefault-LUX3XPMB.js.map → TableFieldDefault-42PHYI5U.js.map} +0 -0
- /package/dist/{TextFieldDefault-ZGWGWYJ6.js.map → TextAreaFieldDefault-7WGZ3OOS.js.map} +0 -0
- /package/dist/{WorkScheduleFieldDefault-JEWUBVOO.js.map → TextFieldDefault-NW25MQKP.js.map} +0 -0
- /package/dist/{ZendeskDrawerDefault-L3QJQNRH.js.map → WorkScheduleFieldDefault-RP5SBJS7.js.map} +0 -0
- /package/dist/{chunk-ZDTHQRXJ.js.map → chunk-27QEJQHZ.js.map} +0 -0
- /package/dist/{chunk-L5WJIYHB.js.map → chunk-2BTW5VQM.js.map} +0 -0
- /package/dist/{chunk-VD2T75BY.js.map → chunk-2EJDEVHY.js.map} +0 -0
- /package/dist/{chunk-4N66FNVP.js.map → chunk-2H357HMX.js.map} +0 -0
- /package/dist/{chunk-IVHHMIUY.js.map → chunk-2Q24UYTZ.js.map} +0 -0
- /package/dist/{chunk-6CASSN2Z.js.map → chunk-42R2H2DW.js.map} +0 -0
- /package/dist/{chunk-QTJ6EDEM.js.map → chunk-47QOKKPT.js.map} +0 -0
- /package/dist/{chunk-FEGY4ZEW.js.map → chunk-4PWW2KIE.js.map} +0 -0
- /package/dist/{chunk-M6SSA4VP.js.map → chunk-4RFJXFQX.js.map} +0 -0
- /package/dist/{chunk-ZBLC4GNZ.js.map → chunk-4UKIHBAU.js.map} +0 -0
- /package/dist/{chunk-OGKTFLXW.js.map → chunk-4VDLIQW6.js.map} +0 -0
- /package/dist/{chunk-37PL5HK2.js.map → chunk-4Z2ZRDMG.js.map} +0 -0
- /package/dist/{chunk-DJ2OL5GS.js.map → chunk-557BE4KV.js.map} +0 -0
- /package/dist/{chunk-ISSEORVM.js.map → chunk-5H3G7L52.js.map} +0 -0
- /package/dist/{chunk-Q3NPSRTT.js.map → chunk-5QEOCZWA.js.map} +0 -0
- /package/dist/{chunk-2IHUWRL4.js.map → chunk-5RYRPEXE.js.map} +0 -0
- /package/dist/{chunk-RGAHP6NW.js.map → chunk-ABYONP42.js.map} +0 -0
- /package/dist/{chunk-GBU46SLB.js.map → chunk-AQPM4YXS.js.map} +0 -0
- /package/dist/{chunk-Q3LH3SPI.js.map → chunk-ARYTUUI7.js.map} +0 -0
- /package/dist/{chunk-XTXPKDZ7.js.map → chunk-AYDY7FWS.js.map} +0 -0
- /package/dist/{chunk-GGPEKIIH.js.map → chunk-B5YG3EGS.js.map} +0 -0
- /package/dist/{chunk-252BG35G.js.map → chunk-CB3JGUXW.js.map} +0 -0
- /package/dist/{chunk-QCIOQVSK.js.map → chunk-CQEMKL24.js.map} +0 -0
- /package/dist/{chunk-ZJSGU543.js.map → chunk-DYG225ZX.js.map} +0 -0
- /package/dist/{chunk-ZT72WOPZ.js.map → chunk-FLCQGVLT.js.map} +0 -0
- /package/dist/{chunk-L2A6WN6O.js.map → chunk-FXQAB3WS.js.map} +0 -0
- /package/dist/{chunk-J2NQBF62.js.map → chunk-G2LBZKLG.js.map} +0 -0
- /package/dist/{chunk-SHWM6RJC.js.map → chunk-GL75LB2U.js.map} +0 -0
- /package/dist/{chunk-4LMCHO7V.js.map → chunk-H3ZACNQ6.js.map} +0 -0
- /package/dist/{chunk-GWA5DDSK.js.map → chunk-H3ZZYAI6.js.map} +0 -0
- /package/dist/{chunk-AJADTL33.js.map → chunk-H55YNNRX.js.map} +0 -0
- /package/dist/{chunk-ILOKQ6OH.js.map → chunk-HMCTBCYH.js.map} +0 -0
- /package/dist/{chunk-YRFNEKBE.js.map → chunk-HSCS2LW2.js.map} +0 -0
- /package/dist/{chunk-QT43Z24O.js.map → chunk-HY45YMQX.js.map} +0 -0
- /package/dist/{chunk-LXD6EB3B.js.map → chunk-I42KSW2T.js.map} +0 -0
- /package/dist/{chunk-XGECMN4V.js.map → chunk-IF42CZJH.js.map} +0 -0
- /package/dist/{chunk-IJUB7Z4E.js.map → chunk-IRZB32VO.js.map} +0 -0
- /package/dist/{chunk-3DRSYLBM.js.map → chunk-JAQTY4WI.js.map} +0 -0
- /package/dist/{chunk-U7CW67TM.js.map → chunk-JGSMNVB5.js.map} +0 -0
- /package/dist/{chunk-WAG67DRI.js.map → chunk-JPG7ALCH.js.map} +0 -0
- /package/dist/{chunk-N6YAIBJR.js.map → chunk-JVBZ42B2.js.map} +0 -0
- /package/dist/{chunk-6ARN2SX2.js.map → chunk-JZL6UTLA.js.map} +0 -0
- /package/dist/{chunk-CIUPGLOU.js.map → chunk-K537DG4M.js.map} +0 -0
- /package/dist/{chunk-5CXPVPOG.js.map → chunk-KOJ7XDQ3.js.map} +0 -0
- /package/dist/{chunk-5CDYMEHW.js.map → chunk-L2YAFMAT.js.map} +0 -0
- /package/dist/{chunk-IGLBEWVV.js.map → chunk-L4ZKUL5E.js.map} +0 -0
- /package/dist/{chunk-GDEPTDOR.js.map → chunk-L5IKPX6D.js.map} +0 -0
- /package/dist/{chunk-JHIRXRGV.js.map → chunk-LEQXRQ6X.js.map} +0 -0
- /package/dist/{chunk-FM7K64YV.js.map → chunk-LGIJO73Z.js.map} +0 -0
- /package/dist/{chunk-PJN2YJO4.js.map → chunk-LYFET6KE.js.map} +0 -0
- /package/dist/{chunk-W32TDEQ3.js.map → chunk-MO57FCIH.js.map} +0 -0
- /package/dist/{chunk-5XAHIRL6.js.map → chunk-MWPTUX4I.js.map} +0 -0
- /package/dist/{chunk-VAFD5QUX.js.map → chunk-NIJG4TPU.js.map} +0 -0
- /package/dist/{chunk-KKKOMF2R.js.map → chunk-NTMY5VLN.js.map} +0 -0
- /package/dist/{chunk-LLP55ZDN.js.map → chunk-OZQVMA77.js.map} +0 -0
- /package/dist/{chunk-2RLH6ZLY.js.map → chunk-PRVP6ID7.js.map} +0 -0
- /package/dist/{chunk-RYOXAR7O.js.map → chunk-Q24D6SO6.js.map} +0 -0
- /package/dist/{chunk-GPLI6GGL.js.map → chunk-QN2JIZ46.js.map} +0 -0
- /package/dist/{chunk-V4OZS4QW.js.map → chunk-QPUWU5R3.js.map} +0 -0
- /package/dist/{chunk-4UAHJOHZ.js.map → chunk-QVUSRZ2Z.js.map} +0 -0
- /package/dist/{chunk-WXZ5B4PT.js.map → chunk-R3C7KEKY.js.map} +0 -0
- /package/dist/{chunk-VLKGQAEQ.js.map → chunk-R3V5AHPG.js.map} +0 -0
- /package/dist/{chunk-JCIUCOEM.js.map → chunk-S6SLUYTL.js.map} +0 -0
- /package/dist/{chunk-WYIEW4OC.js.map → chunk-S7S2XNVU.js.map} +0 -0
- /package/dist/{chunk-P5GY5LLV.js.map → chunk-SE7EANMF.js.map} +0 -0
- /package/dist/{chunk-4O6M7I7Z.js.map → chunk-TATL6AQD.js.map} +0 -0
- /package/dist/{chunk-7EHK36JU.js.map → chunk-TN37JYBC.js.map} +0 -0
- /package/dist/{chunk-GNPHI7PB.js.map → chunk-VAWEOFUO.js.map} +0 -0
- /package/dist/{chunk-HNUWNTPD.js.map → chunk-VMAPQGL4.js.map} +0 -0
- /package/dist/{chunk-DN6SGTCI.js.map → chunk-VZCWCH7L.js.map} +0 -0
- /package/dist/{chunk-GPRN5IXM.js.map → chunk-WD5DNUSS.js.map} +0 -0
- /package/dist/{chunk-VCZDLRTI.js.map → chunk-WMVZY6FJ.js.map} +0 -0
- /package/dist/{chunk-Q2XGTGUQ.js.map → chunk-X2F3PNZY.js.map} +0 -0
- /package/dist/{chunk-CR7AIZKA.js.map → chunk-X7EZIAZ3.js.map} +0 -0
- /package/dist/{chunk-RVYQJM63.js.map → chunk-XJPB4XV6.js.map} +0 -0
- /package/dist/{chunk-4Z3V5SXU.js.map → chunk-Y625DU2T.js.map} +0 -0
- /package/dist/{chunk-FNSD4BSK.js.map → chunk-Y7WX5NK5.js.map} +0 -0
- /package/dist/{chunk-K4IKYJ3B.js.map → chunk-YYFKOSNH.js.map} +0 -0
- /package/dist/{chunk-Z5A2M5EU.js.map → chunk-ZLPAQQZI.js.map} +0 -0
|
@@ -134,6 +134,15 @@ type Employment = {
|
|
|
134
134
|
*
|
|
135
135
|
*/
|
|
136
136
|
type: 'employee' | 'contractor' | 'direct_employee' | 'global_payroll_employee';
|
|
137
|
+
/**
|
|
138
|
+
* Contractor-specific settings. Only present for contractor employments.
|
|
139
|
+
*/
|
|
140
|
+
contractor_settings?: {
|
|
141
|
+
/**
|
|
142
|
+
* Whether the contractor requires work confirmation before submitting invoices.
|
|
143
|
+
*/
|
|
144
|
+
requires_work_confirmation?: boolean;
|
|
145
|
+
} | null;
|
|
137
146
|
employment_lifecycle_stage: EmploymentLifecycleStage;
|
|
138
147
|
/**
|
|
139
148
|
* Administrative information. Its properties may vary depending on the country.
|
|
@@ -141,6 +150,39 @@ type Employment = {
|
|
|
141
150
|
administrative_details: {
|
|
142
151
|
[key: string]: unknown;
|
|
143
152
|
};
|
|
153
|
+
/**
|
|
154
|
+
* Type of contractor product. Only present for contractor employments. 'standard' for Contractor Standard, 'cor' for Contractor of Record, 'plus' for Contractor Plus.
|
|
155
|
+
*/
|
|
156
|
+
contractor_type?: 'standard' | 'cor' | 'plus';
|
|
157
|
+
/**
|
|
158
|
+
* Contractor compensation rate details. Only present for contractor employments when rate is configured.
|
|
159
|
+
*/
|
|
160
|
+
contractor_rate?: {
|
|
161
|
+
amount?: {
|
|
162
|
+
/**
|
|
163
|
+
* Rate amount as decimal
|
|
164
|
+
*/
|
|
165
|
+
amount?: number;
|
|
166
|
+
currency?: {
|
|
167
|
+
/**
|
|
168
|
+
* Currency code (e.g., USD, EUR)
|
|
169
|
+
*/
|
|
170
|
+
code?: string;
|
|
171
|
+
};
|
|
172
|
+
};
|
|
173
|
+
/**
|
|
174
|
+
* Payment frequency cadence
|
|
175
|
+
*/
|
|
176
|
+
pay_frequency?: 'weekly' | 'bi_weekly' | 'semi_monthly' | 'monthly';
|
|
177
|
+
/**
|
|
178
|
+
* Unique identifier for the contractor rate
|
|
179
|
+
*/
|
|
180
|
+
slug?: string;
|
|
181
|
+
/**
|
|
182
|
+
* Rate type indicating billing frequency
|
|
183
|
+
*/
|
|
184
|
+
type?: 'hourly' | 'daily' | 'weekly' | 'monthly' | 'one_off';
|
|
185
|
+
} | null;
|
|
144
186
|
company_id: string;
|
|
145
187
|
/**
|
|
146
188
|
* Work address information. Its properties may vary depending on the country.
|
|
@@ -168,6 +210,7 @@ type Employment = {
|
|
|
168
210
|
*/
|
|
169
211
|
department_id?: string | null;
|
|
170
212
|
manager?: string;
|
|
213
|
+
login_email: string;
|
|
171
214
|
/**
|
|
172
215
|
* A unique reference code for the employment record in a non-Remote system. While uniqueness is recommended, it is not strictly enforced within Remote's system.
|
|
173
216
|
*/
|
|
@@ -265,6 +308,7 @@ type EmploymentBasicResponse = {
|
|
|
265
308
|
full_name?: string;
|
|
266
309
|
id?: UuidSlug;
|
|
267
310
|
job_title?: string | null;
|
|
311
|
+
login_email?: string;
|
|
268
312
|
personal_email?: string;
|
|
269
313
|
/**
|
|
270
314
|
* Required for employees, optional for contractors
|
|
@@ -722,9 +766,12 @@ type CostCalculatorCosts = {
|
|
|
722
766
|
* Product
|
|
723
767
|
*/
|
|
724
768
|
type Product = {
|
|
769
|
+
description?: string;
|
|
770
|
+
features?: Array<string>;
|
|
725
771
|
frequency: string;
|
|
726
772
|
identifier?: string;
|
|
727
773
|
name: string;
|
|
774
|
+
short_name?: string;
|
|
728
775
|
tier: string;
|
|
729
776
|
};
|
|
730
777
|
/**
|
|
@@ -900,6 +947,25 @@ type ContractAmendmentAutomatableResponse = {
|
|
|
900
947
|
message?: string;
|
|
901
948
|
};
|
|
902
949
|
};
|
|
950
|
+
/**
|
|
951
|
+
* Signatory
|
|
952
|
+
*
|
|
953
|
+
* Contract document signatory with signature details
|
|
954
|
+
*/
|
|
955
|
+
type Signatory = {
|
|
956
|
+
email: string | null;
|
|
957
|
+
name: string | null;
|
|
958
|
+
/**
|
|
959
|
+
* Base64 encoded signature image
|
|
960
|
+
*/
|
|
961
|
+
signature: string | null;
|
|
962
|
+
signed_at: string | null;
|
|
963
|
+
status: 'pending' | 'signed' | 'unassigned';
|
|
964
|
+
type: 'company' | 'employee' | 'admin' | 'external' | 'unknown';
|
|
965
|
+
user: {
|
|
966
|
+
[key: string]: unknown;
|
|
967
|
+
} | null;
|
|
968
|
+
};
|
|
903
969
|
/**
|
|
904
970
|
* NullableCountry
|
|
905
971
|
*
|
|
@@ -1573,7 +1639,7 @@ type EmploymentCreateParams = {
|
|
|
1573
1639
|
/**
|
|
1574
1640
|
* If not provided, it will default to `employee`.
|
|
1575
1641
|
*/
|
|
1576
|
-
type?: 'employee' | 'contractor' | 'global_payroll_employee';
|
|
1642
|
+
type?: 'employee' | 'contractor' | 'global_payroll_employee' | 'hris';
|
|
1577
1643
|
};
|
|
1578
1644
|
/**
|
|
1579
1645
|
* TimeoffStatus
|
|
@@ -1688,4 +1754,4 @@ type PostAutomatableContractAmendmentErrors = {
|
|
|
1688
1754
|
};
|
|
1689
1755
|
type PostAutomatableContractAmendmentError = PostAutomatableContractAmendmentErrors[keyof PostAutomatableContractAmendmentErrors];
|
|
1690
1756
|
|
|
1691
|
-
export type { CreateContractEligibilityParams as A, BadRequestResponse as B, ContractAmendmentAutomatableResponse as C, TerminationDetailsParams as D, Employment as E, ForbiddenResponse as F, TimeoffStatus as G, TimeoffType as H, ListLeavePoliciesSummaryResponse as I, CreateOffboardingParams as J, MagicLinkResponse as K, ListTimeoffResponse as L,
|
|
1757
|
+
export type { CreateContractEligibilityParams as A, BadRequestResponse as B, ContractAmendmentAutomatableResponse as C, TerminationDetailsParams as D, Employment as E, ForbiddenResponse as F, TimeoffStatus as G, TimeoffType as H, ListLeavePoliciesSummaryResponse as I, CreateOffboardingParams as J, MagicLinkResponse as K, ListTimeoffResponse as L, MinimalRegion as M, NotFoundResponse as N, OffboardingResponse as O, PostCreateContractAmendmentError as P, MagicLinkParams as Q, RequestError as R, SuccessResponse as S, TooManyRequestsResponse as T, UnprocessableEntityResponse as U, ValidationError as V, Currency as W, HelpCenterArticle as X, PayrollCalendarEor as Y, UnauthorizedResponse as a, ContractAmendmentResponse as b, PostAutomatableContractAmendmentError as c, CostCalculatorEstimateResponse as d, CostCalculatorEstimatePdfResponse as e, CostCalculatorEstimateParams as f, CostCalculatorEstimateCsvResponse as g, SignContractDocument as h, Signatory as i, ContractorSubscriptionsSummary as j, ManageContractorPlusSubscriptionOperationsParams as k, CreateContractDocumentResponse as l, CreateContractDocument as m, MinimalCountry as n, EmploymentTermType as o, CostCalculatorEmployment as p, PostCreateEstimationError as q, EmploymentCreationResponse as r, Company as s, ConflictResponse as t, EmploymentCreateParams as u, EmploymentResponse as v, EmploymentFullParams as w, UnifiedEmploymentUpsertBenefitOffersRequest as x, ConvertCurrencyResponse as y, ConvertCurrencyParams as z };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ClassValue } from 'clsx';
|
|
2
2
|
import { ValidationError } from 'yup';
|
|
3
|
-
import './remoteFlows-
|
|
3
|
+
import './remoteFlows-CdH85jWA.js';
|
|
4
4
|
|
|
5
5
|
declare function cn(...inputs: ClassValue[]): string;
|
|
6
6
|
type YupError = Pick<ValidationError, 'type' | 'errors'> & {
|
package/package.json
CHANGED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a}from"./chunk-JHIRXRGV.js";import"./chunk-5CDYMEHW.js";import"./chunk-HNUWNTPD.js";import"./chunk-LLP55ZDN.js";import"./chunk-ZDTHQRXJ.js";import"./chunk-CR7AIZKA.js";import"./chunk-T6Q7IALZ.js";import"./chunk-SHWM6RJC.js";import"./chunk-VLKGQAEQ.js";import"./chunk-PJN2YJO4.js";import"./chunk-ILOKQ6OH.js";import"./chunk-UQCSN47K.js";import"./chunk-KQPDXXG3.js";import"./chunk-P37U34EQ.js";export{a as CountryFieldDefault};
|
|
2
|
-
//# sourceMappingURL=CountryFieldDefault-WPXUWTKB.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a}from"./chunk-RGAHP6NW.js";import"./chunk-5CDYMEHW.js";import"./chunk-LLP55ZDN.js";import"./chunk-ZDTHQRXJ.js";import"./chunk-CR7AIZKA.js";import"./chunk-T6Q7IALZ.js";import"./chunk-PJN2YJO4.js";import"./chunk-ILOKQ6OH.js";import"./chunk-UQCSN47K.js";import"./chunk-KQPDXXG3.js";import"./chunk-P37U34EQ.js";export{a as DatePickerFieldDefault};
|
|
2
|
-
//# sourceMappingURL=DatePickerFieldDefault-GHJWMFG2.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a}from"./chunk-N6YAIBJR.js";import"./chunk-Q3LH3SPI.js";import"./chunk-CR7AIZKA.js";import"./chunk-ILOKQ6OH.js";import"./chunk-UQCSN47K.js";import"./chunk-KQPDXXG3.js";import"./chunk-P37U34EQ.js";export{a as EmailFieldDefault};
|
|
2
|
-
//# sourceMappingURL=EmailFieldDefault-2TN72RV6.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a}from"./chunk-LXD6EB3B.js";import"./chunk-CR7AIZKA.js";import"./chunk-2IHUWRL4.js";import"./chunk-PJN2YJO4.js";import"./chunk-ILOKQ6OH.js";import"./chunk-UQCSN47K.js";import"./chunk-P37U34EQ.js";export{a as FileUploadFieldDefault};
|
|
2
|
-
//# sourceMappingURL=FileUploadFieldDefault-DDUFS4WG.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a}from"./chunk-GWA5DDSK.js";import"./chunk-HNUWNTPD.js";import"./chunk-LLP55ZDN.js";import"./chunk-CR7AIZKA.js";import"./chunk-SHWM6RJC.js";import"./chunk-VLKGQAEQ.js";import"./chunk-PJN2YJO4.js";import"./chunk-ILOKQ6OH.js";import"./chunk-UQCSN47K.js";import"./chunk-P37U34EQ.js";export{a as MultiSelectFieldDefault};
|
|
2
|
-
//# sourceMappingURL=MultiSelectFieldDefault-7VSOLYXI.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a}from"./chunk-252BG35G.js";import"./chunk-Q3LH3SPI.js";import"./chunk-CR7AIZKA.js";import"./chunk-ILOKQ6OH.js";import"./chunk-UQCSN47K.js";import"./chunk-KQPDXXG3.js";import"./chunk-P37U34EQ.js";export{a as NumberFieldDefault};
|
|
2
|
-
//# sourceMappingURL=NumberFieldDefault-N7VHRJZA.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{b as o}from"./chunk-PJN2YJO4.js";import"./chunk-UQCSN47K.js";import{a as r}from"./chunk-P37U34EQ.js";import{useState as l,useMemo as h}from"react";import{Document as y,Page as D,pdfjs as g}from"react-pdf";import{jsx as e,jsxs as a}from"react/jsx-runtime";g.GlobalWorkerOptions.workerSrc=`//unpkg.com/pdfjs-dist@${g.version}/build/pdf.worker.min.mjs`;function j({base64Data:m,fileName:c="document.pdf"}){let[s,f]=l(0),[n,u]=l(1),[x,p]=l(!0),[i,v]=l(""),d=h(()=>{if(!m)return"";let t=m.trim();return t.startsWith("data:application/pdf;base64,")||t.startsWith("data:")?t:`data:application/pdf;base64,${t}`},[m]),b=r(({numPages:t})=>{f(t),p(!1),v("")},"onDocumentLoadSuccess"),N=r(t=>{console.error("Error loading PDF:",t),v("Failed to load PDF document"),p(!1)},"onDocumentLoadError"),P=r(()=>{u(t=>Math.max(1,t-1))},"goToPrevPage"),w=r(()=>{u(t=>Math.min(s,t+1))},"goToNextPage");return d?a("div",{className:"w-full space-y-4",children:[a("div",{children:[a("div",{className:"flex justify-center items-center min-h-[600px] p-4 bg-gray-50",children:[x&&a("div",{className:"text-center",children:[e("div",{className:"animate-spin rounded-full h-12 w-12 border-b-2 border-gray-900 mx-auto mb-4"}),e("p",{className:"text-gray-600",children:"Loading PDF..."})]}),i&&a("div",{className:"text-center space-y-4",children:[e("p",{className:"text-red-600",children:i}),e(o,{asChild:!0,children:e("a",{href:d,download:c,children:"Download PDF Instead"})})]}),!i&&e(y,{file:d,onLoadSuccess:b,onLoadError:N,loading:"",className:"flex flex-col items-center",children:e(D,{pageNumber:n,renderTextLayer:!0,renderAnnotationLayer:!0,className:"shadow-lg",width:Math.min(window.innerWidth-100,800)})})]}),s>0&&!i&&e("div",{className:"border-t bg-white px-4 py-3",children:a("div",{className:"flex items-center justify-between",children:[e(o,{onClick:P,disabled:n<=1,variant:"outline",size:"sm",children:"\u2190 Previous"}),a("div",{className:"text-sm text-gray-600",children:["Page ",n," of ",s]}),e(o,{onClick:w,disabled:n>=s,variant:"outline",size:"sm",children:"Next \u2192"})]})})]}),a("div",{className:"flex justify-between items-center text-sm",children:[e("p",{className:"text-gray-600",children:c}),e(o,{variant:"link",size:"link",asChild:!0,children:a("a",{href:d,download:c,className:"flex items-center gap-1",children:[e("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"})}),"Download PDF"]})})]})]}):e("div",{className:"w-full border rounded p-8 text-center bg-gray-50",children:e("p",{className:"text-gray-500",children:"No PDF data available"})})}r(j,"PDFPreview");export{j as PDFPreview};
|
|
2
|
-
//# sourceMappingURL=PdfPreview-2VXVDUFP.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/shared/pdf-preview/PdfPreview.tsx"],"sourcesContent":["import { useState, useMemo } from 'react';\nimport { Document, Page, pdfjs } from 'react-pdf';\nimport { Button } from '@/src/components/ui/button';\n\n// Configure the worker\npdfjs.GlobalWorkerOptions.workerSrc = `//unpkg.com/pdfjs-dist@${pdfjs.version}/build/pdf.worker.min.mjs`;\n\nexport type PDFPreviewProps = {\n base64Data: string;\n fileName?: string;\n};\n\nexport function PDFPreview({\n base64Data,\n fileName = 'document.pdf',\n}: PDFPreviewProps) {\n const [numPages, setNumPages] = useState<number>(0);\n const [pageNumber, setPageNumber] = useState<number>(1);\n const [isLoading, setIsLoading] = useState<boolean>(true);\n const [error, setError] = useState<string>('');\n\n const pdfDataUri = useMemo(() => {\n if (!base64Data) return '';\n\n const cleanedData = base64Data.trim();\n\n if (cleanedData.startsWith('data:application/pdf;base64,')) {\n return cleanedData;\n }\n\n if (cleanedData.startsWith('data:')) {\n return cleanedData;\n }\n\n return `data:application/pdf;base64,${cleanedData}`;\n }, [base64Data]);\n\n const onDocumentLoadSuccess = ({ numPages }: { numPages: number }) => {\n setNumPages(numPages);\n setIsLoading(false);\n setError('');\n };\n\n const onDocumentLoadError = (error: Error) => {\n console.error('Error loading PDF:', error);\n setError('Failed to load PDF document');\n setIsLoading(false);\n };\n\n const goToPrevPage = () => {\n setPageNumber((prev) => Math.max(1, prev - 1));\n };\n\n const goToNextPage = () => {\n setPageNumber((prev) => Math.min(numPages, prev + 1));\n };\n\n if (!pdfDataUri) {\n return (\n <div className='w-full border rounded p-8 text-center bg-gray-50'>\n <p className='text-gray-500'>No PDF data available</p>\n </div>\n );\n }\n\n return (\n <div className='w-full space-y-4'>\n <div>\n {/* PDF Viewer */}\n <div className='flex justify-center items-center min-h-[600px] p-4 bg-gray-50'>\n {isLoading && (\n <div className='text-center'>\n <div className='animate-spin rounded-full h-12 w-12 border-b-2 border-gray-900 mx-auto mb-4'></div>\n <p className='text-gray-600'>Loading PDF...</p>\n </div>\n )}\n\n {error && (\n <div className='text-center space-y-4'>\n <p className='text-red-600'>{error}</p>\n <Button asChild>\n <a href={pdfDataUri} download={fileName}>\n Download PDF Instead\n </a>\n </Button>\n </div>\n )}\n\n {!error && (\n <Document\n file={pdfDataUri}\n onLoadSuccess={onDocumentLoadSuccess}\n onLoadError={onDocumentLoadError}\n loading=''\n className='flex flex-col items-center'\n >\n <Page\n pageNumber={pageNumber}\n renderTextLayer={true}\n renderAnnotationLayer={true}\n className='shadow-lg'\n width={Math.min(window.innerWidth - 100, 800)}\n />\n </Document>\n )}\n </div>\n\n {/* Navigation Controls */}\n {numPages > 0 && !error && (\n <div className='border-t bg-white px-4 py-3'>\n <div className='flex items-center justify-between'>\n <Button\n onClick={goToPrevPage}\n disabled={pageNumber <= 1}\n variant='outline'\n size='sm'\n >\n ← Previous\n </Button>\n\n <div className='text-sm text-gray-600'>\n Page {pageNumber} of {numPages}\n </div>\n\n <Button\n onClick={goToNextPage}\n disabled={pageNumber >= numPages}\n variant='outline'\n size='sm'\n >\n Next →\n </Button>\n </div>\n </div>\n )}\n </div>\n\n {/* Download Link */}\n <div className='flex justify-between items-center text-sm'>\n <p className='text-gray-600'>{fileName}</p>\n <Button variant='link' size='link' asChild>\n <a\n href={pdfDataUri}\n download={fileName}\n className='flex items-center gap-1'\n >\n <svg\n className='w-4 h-4'\n fill='none'\n stroke='currentColor'\n viewBox='0 0 24 24'\n >\n <path\n strokeLinecap='round'\n strokeLinejoin='round'\n strokeWidth={2}\n d='M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4'\n />\n </svg>\n Download PDF\n </a>\n </Button>\n </div>\n </div>\n );\n}\n"],"mappings":"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","names":["useState","useMemo","Document","Page","pdfjs","jsx","jsxs","pdfjs","PDFPreview","base64Data","fileName","numPages","setNumPages","useState","pageNumber","setPageNumber","isLoading","setIsLoading","error","setError","pdfDataUri","useMemo","cleanedData","onDocumentLoadSuccess","__name","onDocumentLoadError","goToPrevPage","prev","goToNextPage","Button","Document","Page"]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a}from"./chunk-Q3NPSRTT.js";import"./chunk-5CDYMEHW.js";import"./chunk-ZDTHQRXJ.js";import"./chunk-CR7AIZKA.js";import"./chunk-T6Q7IALZ.js";import"./chunk-4LMCHO7V.js";import"./chunk-ILOKQ6OH.js";import"./chunk-UQCSN47K.js";import"./chunk-KQPDXXG3.js";import"./chunk-P37U34EQ.js";export{a as RadioGroupFieldDefault};
|
|
2
|
-
//# sourceMappingURL=RadioGroupFieldDefault-PCQKOUWG.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a}from"./chunk-FNSD4BSK.js";import"./chunk-RVYQJM63.js";import"./chunk-Q3LH3SPI.js";import"./chunk-CR7AIZKA.js";import"./chunk-VLKGQAEQ.js";import"./chunk-PJN2YJO4.js";import"./chunk-ILOKQ6OH.js";import"./chunk-UQCSN47K.js";import"./chunk-KQPDXXG3.js";import"./chunk-P37U34EQ.js";export{a as WorkScheduleFieldDefault};
|
|
2
|
-
//# sourceMappingURL=WorkScheduleFieldDefault-JEWUBVOO.js.map
|
package/dist/chunk-2L5YJSIF.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as F}from"./chunk-AP56UUME.js";import{a as q}from"./chunk-R2MHAPWD.js";import{c as O}from"./chunk-3UDG4IJO.js";import{a as u}from"./chunk-XXIUJVIY.js";import{E as f,J as g,K as h,f as b,m as C,o as S}from"./chunk-T6Q7IALZ.js";import{b as y}from"./chunk-UQCSN47K.js";import{d as i}from"./chunk-KQPDXXG3.js";import{a as t}from"./chunk-P37U34EQ.js";import{useMutation as p,useQuery as l}from"@tanstack/react-query";var L=t(({fieldValues:e,options:n})=>l({queryKey:["contract-document-signature"],queryFn:t(async()=>u(q,e),"queryFn"),enabled:n?.queryOptions?.enabled}),"useGetContractDocumentSignatureSchema"),N=t(()=>{let{client:e}=i();return p({mutationFn:t(async({employmentId:n,contractDocumentId:o,payload:r})=>g({client:e,body:r,path:{employment_id:n,contract_document_id:o}}),"mutationFn")})},"useSignContractDocument"),U=t(({employmentId:e,contractDocumentId:n,options:o})=>{let{client:r}=i();return l({queryKey:["contract-document",e,n],queryFn:t(async()=>S({client:r,path:{employment_id:e,id:n}}),"queryFn"),enabled:o?.queryOptions?.enabled,select:t(({data:s})=>s?.data,"select")})},"useGetShowContractDocument"),x=t(({employmentId:e,options:n})=>{let{client:o}=i();return l({queryKey:["contractor-subscriptions",e],queryFn:t(async()=>C({client:o,path:{employment_id:e}}),"queryFn"),enabled:n?.queryOptions?.enabled,select:t(({data:r})=>r?.data,"select")})},"useGetContractorSubscriptions"),W=t(()=>{let{client:e}=i();return p({mutationFn:t(async({employmentId:n,payload:o})=>h({client:e,body:o,path:{employment_id:n}}),"mutationFn")})},"usePostManageContractorSubscriptions"),$=t(()=>{let{client:e}=i();return p({mutationFn:t(async({employmentId:n,payload:o})=>f({client:e,body:o,path:{employment_id:n}}),"mutationFn")})},"useCreateContractorContractDocument"),k=t(({countryCode:e,fieldValues:n,options:o})=>{let{client:r}=i();return l({queryKey:["contractor-onboarding-details-schema",e],retry:!1,queryFn:t(async()=>b({client:r,path:{country_code:e},query:{json_schema_version:1}}),"queryFn"),enabled:o?.queryOptions?.enabled,select:t(({data:s})=>{let c=s?.data?.schema||{};return u(c,n,o)},"select")})},"useContractorOnboardingDetailsSchema"),H=t((e,n)=>{let{data:o,isLoading:r}=x({employmentId:e,options:{queryOptions:n?.queryOptions}}),s=u(F.data.schema,{},n);if(o){let c=s.fields.find(m=>m.name==="subscription");if(c){let m=o.filter(a=>a.product.identifier!==O).map(a=>{let d="";a.price.amount&&(d=y(a.price.amount,a.currency.symbol));let D=`${a.product.name} - ${d}`,_=a.product.identifier;return{label:D,value:_}});c.options=m}}return{isLoading:r,form:s}},"useContractorSubscriptionSchemaField");export{L as a,N as b,U as c,x as d,W as e,$ as f,k as g,H as h};
|
|
2
|
-
//# sourceMappingURL=chunk-2L5YJSIF.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/flows/ContractorOnboarding/api.ts"],"sourcesContent":["import {\n CreateContractDocument,\n getShowContractDocument,\n getShowContractorContractDetailsCountry,\n getIndexSubscription,\n ManageContractorPlusSubscriptionOperationsParams,\n postCreateContractDocument,\n postManageContractorPlusSubscriptionSubscription,\n postSignContractDocument,\n SignContractDocument,\n} from '@/src/client';\nimport { useClient } from '@/src/context';\nimport { signatureSchema } from '@/src/flows/ContractorOnboarding/json-schemas/signature';\nimport { selectContractorSubscriptionStepSchema } from '@/src/flows/ContractorOnboarding/json-schemas/selectContractorSubscriptionStep';\nimport {\n JSONSchemaFormResultWithFieldsets,\n FlowOptions,\n} from '@/src/flows/types';\nimport { formatCurrency } from '@/src/lib/utils';\nimport { Client } from '@/src/client/client';\nimport { createHeadlessForm } from '@/src/common/createHeadlessForm';\nimport { useMutation, useQuery, UseQueryResult } from '@tanstack/react-query';\nimport { FieldValues } from 'react-hook-form';\nimport { corProductIdentifier } from '@/src/flows/ContractorOnboarding/constants';\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, fieldValues);\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 * Get the contractor subscriptions for the given employment id\n * @param employmentId - The employment ID\n * @returns The contractor subscriptions available\n */\nexport const useGetContractorSubscriptions = ({\n employmentId,\n options,\n}: {\n employmentId: string;\n options?: { queryOptions?: { enabled?: boolean } };\n}) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['contractor-subscriptions', employmentId],\n queryFn: async () => {\n return getIndexSubscription({\n client: client as Client,\n path: { employment_id: employmentId },\n });\n },\n enabled: options?.queryOptions?.enabled,\n select: ({ data }) => {\n return data?.data;\n },\n });\n};\n\n/**\n * Upgrade or downgrade contractor subscription\n */\nexport const usePostManageContractorSubscriptions = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: async ({\n employmentId,\n payload,\n }: {\n employmentId: string;\n payload: ManageContractorPlusSubscriptionOperationsParams;\n }) => {\n return postManageContractorPlusSubscriptionSubscription({\n client: client as Client,\n body: payload,\n path: {\n employment_id: employmentId,\n },\n });\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}): UseQueryResult<JSONSchemaFormResultWithFieldsets> => {\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 json_schema_version: 1,\n },\n });\n },\n enabled: options?.queryOptions?.enabled,\n select: ({ data }) => {\n const jsfSchema = data?.data?.schema || {};\n return createHeadlessForm(jsfSchema, fieldValues, options);\n },\n });\n};\n\nexport const useContractorSubscriptionSchemaField = (\n employmentId: string,\n options?: FlowOptions & { queryOptions?: { enabled?: boolean } },\n) => {\n const { data: contractorSubscriptions, isLoading: isLoading } =\n useGetContractorSubscriptions({\n employmentId: employmentId,\n options: {\n queryOptions: options?.queryOptions,\n },\n });\n\n const form = createHeadlessForm(\n selectContractorSubscriptionStepSchema.data.schema,\n {},\n options,\n );\n\n if (contractorSubscriptions) {\n const field = form.fields.find((field) => field.name === 'subscription');\n if (field) {\n const options = contractorSubscriptions\n .filter((opts) => opts.product.identifier !== corProductIdentifier)\n .map((opts) => {\n let formattedPrice = '';\n if (opts.price.amount) {\n formattedPrice = formatCurrency(\n opts.price.amount,\n opts.currency.symbol,\n );\n }\n const label = `${opts.product.name} - ${formattedPrice}`;\n const value = opts.product.identifier;\n return { label, value };\n });\n field.options = options;\n }\n }\n\n return {\n isLoading,\n form,\n };\n};\n"],"mappings":"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","names":["useMutation","useQuery","useGetContractDocumentSignatureSchema","__name","fieldValues","options","useQuery","createHeadlessForm","signatureSchema","useSignContractDocument","client","useClient","useMutation","employmentId","contractDocumentId","payload","postSignContractDocument","useGetShowContractDocument","getShowContractDocument","data","useGetContractorSubscriptions","getIndexSubscription","usePostManageContractorSubscriptions","postManageContractorPlusSubscriptionSubscription","useCreateContractorContractDocument","postCreateContractDocument","useContractorOnboardingDetailsSchema","countryCode","getShowContractorContractDetailsCountry","jsfSchema","useContractorSubscriptionSchemaField","contractorSubscriptions","isLoading","form","selectContractorSubscriptionStepSchema","field","opts","corProductIdentifier","formattedPrice","formatCurrency","label","value"]}
|
package/dist/chunk-5JQMTMHR.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{e as p}from"./chunk-DFJNVGK4.js";import{a as m}from"./chunk-UQCSN47K.js";import{a as i}from"./chunk-P37U34EQ.js";import{endOfMonth as _,isAfter as d,isBefore as g,parseISO as y,startOfDay as h,setDate as S,isFuture as w,differenceInHours as M,endOfDay as F,differenceInDays as x}from"date-fns";var c={MONTHLY:"monthly",SEMI_MONTHLY:"bi_monthly",BI_WEEKLY:"bi_weekly"};import{jsx as u,jsxs as T}from"react/jsx-runtime";function b(n,e,t){return{"x-jsf-presentation":{inputType:"hidden",Component:i(()=>T("div",{className:m("RemoteFlows__InformationStatement",t?.className),children:[u("h3",{className:m("RemoteFlows__InformationStatement__Title"),children:n}),u("p",{className:m("RemoteFlows__InformationStatement__Description"),children:e})]}),"Component")}}}i(b,"createInformationField");function a({title:n,description:e,severity:t}){return{statement:{title:n,description:e,severity:t}}}i(a,"createStatementProperty");var E={employee_communication:{index:0,name:"employee_communication"},termination_details:{index:1,name:"termination_details"},paid_time_off:{index:2,name:"paid_time_off"},additional_information:{index:3,name:"additional_information"}},Y=i(n=>{let e=new Date,t=S(e,15),o=h(e),l=h(t),f=n?.cycle_frequency,r=n?.cycles?.filter(s=>s.input_cutoff_date&&y(s.input_cutoff_date).getMonth()===e.getMonth())?.map(s=>y(s.input_cutoff_date));if(!r?.length)return e;switch(f){case c.MONTHLY:return d(o,r[0])?_(e):e;case c.SEMI_MONTHLY:return d(o,r[1])?_(e):d(o,r[0])&&g(o,l)?t:e;default:return e}},"calculateMinTerminationDate"),k=i(({minTerminationDate:n,isEmployeeInProbationPeriod:e,selectedDate:t})=>{let o=w(n),l=t&&M(F(t),new Date)<48;return t&&x(t,new Date)>=30||!t&&!o?null:o&&!e?a({description:`The next available termination dates are ${p(n)} and later. We've already processed the employee's payments until then.`,severity:"info"}):o&&e?a({description:"This payroll period's cut-off has passed. While you can offboard the employee after the cut-off, their payment may have already processed. If that's the case, we'll try to recover the payment. But if that isn't possible, we'll send you an invoice for the amount.",severity:"info"}):l?a({description:"Requests made with less than 48 hours' notice are subject to changes due to the country-specific offboarding laws and case details. If changes are needed, your specialist will guide you accordingly.",severity:"info"}):a({description:"Termination dates depend on payroll cutoffs, local laws, and case details. We'll aim for your proposed date but it's possible it will need to change. After you submit your request, a specialist will reach out and guide you through the process.",severity:"info"})},"calculateProposedTerminationDateStatement");function V(n,e){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,...n,...e?{termination_reason:"cancellation_before_start_date"}:{}}}i(V,"buildInitialValues");export{b as a,E as b,Y as c,k as d,V as e};
|
|
2
|
-
//# sourceMappingURL=chunk-5JQMTMHR.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/flows/Termination/utils.ts","../src/common/payroll.ts","../src/components/form/jsf-utils/createFields.tsx"],"sourcesContent":["import {\n endOfMonth,\n isAfter,\n isBefore,\n parseISO,\n startOfDay,\n setDate,\n isFuture,\n differenceInHours,\n endOfDay,\n differenceInDays,\n} from 'date-fns';\nimport { PayrollCalendarEor } from '@/src/client';\nimport { Step } from '@/src/flows/useStepState';\nimport { PAYROLL_CYCLES } from '@/src/common/payroll';\nimport { createStatementProperty } from '@/src/components/form/jsf-utils/createFields';\nimport { formatMonthDayInLocalTime } from '@/src/lib/time';\nimport { TerminationFormValues } from '@/src/flows/Termination/types';\n\nexport type StepTerminationKeys =\n | 'employee_communication'\n | 'termination_details'\n | 'paid_time_off'\n | 'additional_information';\n\nexport const STEPS: Record<StepTerminationKeys, Step<StepTerminationKeys>> = {\n employee_communication: { index: 0, name: 'employee_communication' },\n termination_details: { index: 1, name: 'termination_details' },\n paid_time_off: { index: 2, name: 'paid_time_off' },\n additional_information: { index: 3, name: 'additional_information' },\n} as const;\n\nexport const calculateMinTerminationDate = (\n payrollCalendars: PayrollCalendarEor | undefined,\n) => {\n const today = new Date();\n const midMonthDate = setDate(today, 15);\n\n // Normalize today and mid month date to midnight to ensure consistent date comparisons regardless of time\n const normalizedToday = startOfDay(today);\n const normalizedMidMonthDate = startOfDay(midMonthDate);\n\n const payFrequency = payrollCalendars?.cycle_frequency;\n\n const currentMonthCutoffDates = payrollCalendars?.cycles\n ?.filter(\n (cycle) =>\n cycle.input_cutoff_date &&\n parseISO(cycle.input_cutoff_date).getMonth() === today.getMonth(),\n )\n // Since cutoffDate is a date-only string with no time component, the converted Date will be set to midnight\n ?.map((cycle) => parseISO(cycle.input_cutoff_date!));\n\n if (!currentMonthCutoffDates?.length) return today;\n\n switch (payFrequency) {\n /**\n * For monthly payroll, if today is\n * - after cutoff return end of month\n * - any other case return today\n */\n case PAYROLL_CYCLES.MONTHLY:\n return isAfter(normalizedToday, currentMonthCutoffDates[0])\n ? endOfMonth(today)\n : today;\n\n /**\n * For bi-monthly payroll, if today is\n * - after second cutoff return end of month\n * - between first cutoff and mid-month return mid-month date\n * - any other case return today\n */\n case PAYROLL_CYCLES.SEMI_MONTHLY:\n if (isAfter(normalizedToday, currentMonthCutoffDates[1]))\n return endOfMonth(today);\n if (\n isAfter(normalizedToday, currentMonthCutoffDates[0]) &&\n isBefore(normalizedToday, normalizedMidMonthDate)\n )\n return midMonthDate;\n return today;\n\n default:\n return today;\n }\n};\n\nexport const calculateProposedTerminationDateStatement = ({\n minTerminationDate,\n isEmployeeInProbationPeriod,\n selectedDate,\n}: {\n minTerminationDate: Date;\n isEmployeeInProbationPeriod: boolean;\n selectedDate?: Date;\n}) => {\n const hasPassedCutoffDate = isFuture(minTerminationDate);\n const isShortNotice =\n selectedDate && differenceInHours(endOfDay(selectedDate), new Date()) < 48;\n const isMoreThan30Days =\n selectedDate && differenceInDays(selectedDate, new Date()) >= 30;\n\n if (isMoreThan30Days || (!selectedDate && !hasPassedCutoffDate)) {\n return null;\n }\n\n if (hasPassedCutoffDate && !isEmployeeInProbationPeriod) {\n return createStatementProperty({\n description: `The next available termination dates are ${formatMonthDayInLocalTime(minTerminationDate)} and later. We've already processed the employee's payments until then.`,\n severity: 'info',\n });\n }\n\n if (hasPassedCutoffDate && isEmployeeInProbationPeriod) {\n return createStatementProperty({\n description: `This payroll period's cut-off has passed. While you can offboard the employee after the cut-off, their payment may have already processed. If that's the case, we'll try to recover the payment. But if that isn't possible, we'll send you an invoice for the amount.`,\n severity: 'info',\n });\n }\n\n if (isShortNotice) {\n return createStatementProperty({\n description: `Requests made with less than 48 hours' notice are subject to changes due to the country-specific offboarding laws and case details. If changes are needed, your specialist will guide you accordingly.`,\n severity: 'info',\n });\n }\n\n return createStatementProperty({\n description: `Termination dates depend on payroll cutoffs, local laws, and case details. We'll aim for your proposed date but it's possible it will need to change. After you submit your request, a specialist will reach out and guide you through the process.`,\n severity: 'info',\n });\n};\n\nexport function buildInitialValues(\n stepsInitialValues: Partial<TerminationFormValues>,\n hasFutureStartDate: boolean,\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 ...(hasFutureStartDate\n ? { termination_reason: 'cancellation_before_start_date' }\n : {}),\n };\n\n return initialValues;\n}\n","export const PAYROLL_CYCLES = {\n MONTHLY: 'monthly',\n SEMI_MONTHLY: 'bi_monthly', // this inconsistency is intentional, due to legacy misnomer in the backend\n BI_WEEKLY: 'bi_weekly',\n} as const;\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\nexport function createStatementProperty({\n title,\n description,\n severity,\n}: {\n title?: React.ReactNode;\n description?: React.ReactNode;\n severity?: 'warning' | 'error' | 'success' | 'info';\n}) {\n return {\n statement: {\n title,\n description,\n severity,\n },\n };\n}\n"],"mappings":"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","names":["endOfMonth","isAfter","isBefore","parseISO","startOfDay","setDate","isFuture","differenceInHours","endOfDay","differenceInDays","PAYROLL_CYCLES","jsx","jsxs","createInformationField","title","description","options","__name","cn","createStatementProperty","severity","STEPS","calculateMinTerminationDate","__name","payrollCalendars","today","midMonthDate","setDate","normalizedToday","startOfDay","normalizedMidMonthDate","payFrequency","currentMonthCutoffDates","cycle","parseISO","PAYROLL_CYCLES","isAfter","endOfMonth","isBefore","calculateProposedTerminationDateStatement","minTerminationDate","isEmployeeInProbationPeriod","selectedDate","hasPassedCutoffDate","isFuture","isShortNotice","differenceInHours","endOfDay","differenceInDays","createStatementProperty","formatMonthDayInLocalTime","buildInitialValues","stepsInitialValues","hasFutureStartDate"]}
|
package/dist/chunk-5S5YAMYB.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as m}from"./chunk-BIC5GBW4.js";import{b as c}from"./chunk-TOA3JILU.js";import{b as d}from"./chunk-EAV5VOMZ.js";import{a as t}from"./chunk-P37U34EQ.js";import{Suspense as u,lazy as F}from"react";import{jsx as i}from"react/jsx-runtime";var E=F(()=>import("./PdfPreview-2VXVDUFP.js").then(o=>({default:o.PDFPreview}))),l=t(o=>i(u,{fallback:i("div",{className:"animate-pulse",children:"Loading PDF..."}),children:i(E,{...o})}),"LazyPdfPreview");import{jsx as p,jsxs as S}from"react/jsx-runtime";function M({onSubmit:o,onSuccess:P,onError:n}){let{contractorOnboardingBag:r}=c(),w=t(async s=>{try{let a=await r.parseFormValues(s);await o?.(a);let e=await r.onSubmit(s);if(e?.data){await P?.(e?.data),r?.next();return}if(e?.error){let f=d(e?.fieldErrors||[],r.meta?.fields?.contract_preview);n?.({error:e?.error,rawError:e?.rawError,fieldErrors:f})}}catch(a){n?.({error:a,rawError:a,fieldErrors:[]})}},"handleSubmit"),v=r.stepState.values?.contract_preview||r.initialValues.contract_preview;return S("div",{className:"space-y-4",children:[p(l,{base64Data:r.documentPreviewPdf?.contract_document.content}),p(m,{defaultValues:v,onSubmit:w})]})}t(M,"ContractPreviewStep");export{M as a};
|
|
2
|
-
//# sourceMappingURL=chunk-5S5YAMYB.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/shared/pdf-preview/LazyLoadPdfPreview.tsx","../src/flows/ContractorOnboarding/components/ContractPreviewStep.tsx"],"sourcesContent":["import React, { Suspense, lazy } from 'react';\n\nimport type { PDFPreviewProps } from './PdfPreview';\n\nconst PdfPreview = lazy(() =>\n import('./PdfPreview').then((module) => ({ default: module.PDFPreview })),\n);\n\nexport const LazyPdfPreview: React.FC<PDFPreviewProps> = (props) => {\n return (\n <Suspense fallback={<div className='animate-pulse'>Loading PDF...</div>}>\n <PdfPreview {...props} />\n </Suspense>\n );\n};\n","import { useContractorOnboardingContext } from '@/src/flows/ContractorOnboarding/context';\nimport { LazyPdfPreview } from '@/src/components/shared/pdf-preview/LazyLoadPdfPreview';\nimport { ContractorOnboardingForm } from '@/src/flows/ContractorOnboarding/components/ContractorOnboardingForm';\nimport {\n NormalizedFieldError,\n normalizeFieldErrors,\n} from '@/src/lib/mutations';\nimport { $TSFixMe } from '@/src/types/remoteFlows';\nimport {\n ContractPreviewFormPayload,\n ContractPreviewResponse,\n} from '@/src/flows/ContractorOnboarding/types';\n\ntype ContractPreviewStepProps = {\n /*\n * The function is called when the form is submitted. It receives the form values as an argument.\n */\n onSubmit?: (payload: ContractPreviewFormPayload) => void | Promise<void>;\n /*\n * The function is called when the form submission is successful.\n */\n onSuccess?: (data: ContractPreviewResponse) => void | Promise<void>;\n /*\n * The function is called when an error occurs during form submission.\n */\n onError?: ({\n error,\n rawError,\n fieldErrors,\n }: {\n error: Error;\n rawError: Record<string, unknown>;\n fieldErrors: NormalizedFieldError[];\n }) => void;\n};\n\nexport function ContractPreviewStep({\n onSubmit,\n onSuccess,\n onError,\n}: ContractPreviewStepProps) {\n const { contractorOnboardingBag } = useContractorOnboardingContext();\n\n const handleSubmit = async (payload: $TSFixMe) => {\n try {\n const parsedValues =\n await contractorOnboardingBag.parseFormValues(payload);\n await onSubmit?.(parsedValues as $TSFixMe);\n const response = await contractorOnboardingBag.onSubmit(payload);\n if (response?.data) {\n await onSuccess?.(response?.data as $TSFixMe); // TODO: add type\n contractorOnboardingBag?.next();\n return;\n }\n if (response?.error) {\n const normalizedFieldErrors = normalizeFieldErrors(\n response?.fieldErrors || [],\n contractorOnboardingBag.meta?.fields?.contract_preview,\n );\n\n onError?.({\n error: response?.error,\n rawError: response?.rawError,\n fieldErrors: normalizedFieldErrors,\n });\n }\n } catch (error: unknown) {\n onError?.({\n error: error as Error,\n rawError: error as Record<string, unknown>,\n fieldErrors: [],\n });\n }\n };\n\n const initialValues =\n contractorOnboardingBag.stepState.values?.contract_preview ||\n contractorOnboardingBag.initialValues.contract_preview;\n\n return (\n <div className='space-y-4'>\n <LazyPdfPreview\n base64Data={\n contractorOnboardingBag.documentPreviewPdf?.contract_document\n .content as unknown as string\n }\n />\n <ContractorOnboardingForm\n defaultValues={initialValues}\n onSubmit={handleSubmit}\n />\n </div>\n );\n}\n"],"mappings":"gKAAA,OAAgB,YAAAA,EAAU,QAAAC,MAAY,QAUd,cAAAC,MAAA,oBANxB,IAAMC,EAAaC,EAAK,IACtB,OAAO,0BAAc,EAAE,KAAMC,IAAY,CAAE,QAASA,EAAO,UAAW,EAAE,CAC1E,EAEaC,EAA4CC,EAACC,GAEtDN,EAACO,EAAA,CAAS,SAAUP,EAAC,OAAI,UAAU,gBAAgB,0BAAc,EAC/D,SAAAA,EAACC,EAAA,CAAY,GAAGK,EAAO,EACzB,EAJqD,kBCwErD,OACE,OAAAE,EADF,QAAAC,MAAA,oBA5CG,SAASC,EAAoB,CAClC,SAAAC,EACA,UAAAC,EACA,QAAAC,CACF,EAA6B,CAC3B,GAAM,CAAE,wBAAAC,CAAwB,EAAIC,EAA+B,EAE7DC,EAAeC,EAAA,MAAOC,GAAsB,CAChD,GAAI,CACF,IAAMC,EACJ,MAAML,EAAwB,gBAAgBI,CAAO,EACvD,MAAMP,IAAWQ,CAAwB,EACzC,IAAMC,EAAW,MAAMN,EAAwB,SAASI,CAAO,EAC/D,GAAIE,GAAU,KAAM,CAClB,MAAMR,IAAYQ,GAAU,IAAgB,EAC5CN,GAAyB,KAAK,EAC9B,MACF,CACA,GAAIM,GAAU,MAAO,CACnB,IAAMC,EAAwBC,EAC5BF,GAAU,aAAe,CAAC,EAC1BN,EAAwB,MAAM,QAAQ,gBACxC,EAEAD,IAAU,CACR,MAAOO,GAAU,MACjB,SAAUA,GAAU,SACpB,YAAaC,CACf,CAAC,CACH,CACF,OAASE,EAAgB,CACvBV,IAAU,CACR,MAAOU,EACP,SAAUA,EACV,YAAa,CAAC,CAChB,CAAC,CACH,CACF,EA9BqB,gBAgCfC,EACJV,EAAwB,UAAU,QAAQ,kBAC1CA,EAAwB,cAAc,iBAExC,OACEL,EAAC,OAAI,UAAU,YACb,UAAAD,EAACiB,EAAA,CACC,WACEX,EAAwB,oBAAoB,kBACzC,QAEP,EACAN,EAACkB,EAAA,CACC,cAAeF,EACf,SAAUR,EACZ,GACF,CAEJ,CAzDgBC,EAAAP,EAAA","names":["Suspense","lazy","jsx","PdfPreview","lazy","module","LazyPdfPreview","__name","props","Suspense","jsx","jsxs","ContractPreviewStep","onSubmit","onSuccess","onError","contractorOnboardingBag","useContractorOnboardingContext","handleSubmit","__name","payload","parsedValues","response","normalizedFieldErrors","normalizeFieldErrors","error","initialValues","LazyPdfPreview","ContractorOnboardingForm"]}
|
package/dist/chunk-6CASSN2Z.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as m}from"./chunk-NX7MM6XR.js";import{a as e}from"./chunk-ZXGAFQXW.js";import{a as i}from"./chunk-LMYJ6V44.js";import{a as o}from"./chunk-TC7EQZJK.js";var p={employee_communication:o,termination_details:e,paid_time_off:m,additional_information:i};export{p as a};
|
|
2
|
-
//# sourceMappingURL=chunk-6CASSN2Z.js.map
|
package/dist/chunk-75H7ASIK.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{h as U}from"./chunk-HRG5MSVG.js";import{a as I}from"./chunk-7EHK36JU.js";import{b as L,c as O,f as G}from"./chunk-RVYQJM63.js";import{b as A}from"./chunk-ZDTHQRXJ.js";import{a as z}from"./chunk-Q3LH3SPI.js";import{c as d,h as C}from"./chunk-CR7AIZKA.js";import{a as E,e as R}from"./chunk-UQCSN47K.js";import{b as c}from"./chunk-KQPDXXG3.js";import{a as n}from"./chunk-P37U34EQ.js";import{Fragment as fe,useEffect as we,useRef as ge}from"react";import{jsx as Z}from"react/jsx-runtime";function q({description:e,label:t,name:i,minDate:m,maxDate:l,onChange:p,component:r,...u}){let{components:h}=c(),{control:F}=d(),f;u.meta?.mot&&typeof u.meta.mot=="number"?f=U(u.meta.mot):m&&(f=new Date(`${m}T00:00:00`));let a;return l&&(a=new Date(`${l}T23:59:59`)),Z(C,{control:F,name:i,render:({field:g,fieldState:S})=>{let s=r||h?.date;if(!s)throw new Error(`Date picker component not found for field ${i}`);let y={description:e,label:t,name:i,onChange:p,...f&&{minDate:f.toISOString()},...a&&{maxDate:a.toISOString()},...u};return Z(s,{field:{...g,onChange:n(x=>{g.onChange(x),p?.(x)},"onChange")},fieldState:S,fieldData:y})}})}n(q,"DatePickerField");import{jsx as K}from"react/jsx-runtime";var xe=n((e,t)=>{if(!t)return null;for(let i of e)if(i.size>t){let m=Math.round(t/1048576),l=Math.round(i.size/(1024*1024));return`File "${i.name}" exceeds maximum size of ${m}MB (file is ${l}MB)`}return null},"validateFileSize");function Q({name:e,description:t,label:i,multiple:m,onChange:l,component:p,accept:r,maxSize:u,...h}){let{components:F}=c(),{control:f,setError:a,clearErrors:g}=d(),S=n(async(s,y)=>{let x=xe(s,u);if(x){a(e,{message:x});return}g(e),y.onChange(s),l?.(s)},"handleOnChange");return K(C,{control:f,name:e,render:({field:s,fieldState:y})=>{let x=p||F.file;if(!x)throw new Error(`File upload component not found for field ${e}`);let $={name:e,description:t,label:i,multiple:m,accept:r,maxFileSize:u,...h};return K(x,{field:{...s,value:s.value,onChange:n(async T=>S(T,s),"onChange")},fieldState:y,fieldData:$})}})}n(Q,"FileUploadField");import{jsx as X}from"react/jsx-runtime";function N(e){let{components:t}=c(),{control:i}=d(),m=e.component||t.number;if(!m)throw new Error(`Number component not found for field ${e.name}`);return X(C,{control:i,name:e.name,render:({field:l,fieldState:p})=>X(m,{field:{...l,onChange:n(r=>{l.onChange(r),e.onChange?.(r)},"onChange")},fieldState:p,fieldData:e})})}n(N,"NumberField");import{jsx as Y}from"react/jsx-runtime";function j({name:e,defaultValue:t,description:i,label:m,options:l,onChange:p,component:r,...u}){let{components:h}=c(),{control:F}=d();return Y(C,{control:F,name:e,defaultValue:t,render:({field:f,fieldState:a})=>{let g=r||h?.radio;if(!g)throw new Error(`Radio group component not found for field ${e}`);let S={name:e,defaultValue:t,description:i,label:m,options:l,...u};return Y(g,{field:{...f,onChange:n(s=>{f.onChange(s),p?.(s)},"onChange")},fieldState:a,fieldData:S})}})}n(j,"RadioGroupField");import{jsx as ee}from"react/jsx-runtime";function oe({label:e,name:t,options:i,defaultValue:m,description:l,onChange:p,component:r,...u}){let{control:h}=d(),{components:F}=c();return ee(C,{defaultValue:m,control:h,name:t,render:({field:f,fieldState:a})=>{let g=r||F?.select;if(!g)throw new Error(`Select component not found for field ${t}`);let S={label:e,name:t,options:i,defaultValue:m,description:l,onChange:p,...u};return ee(g,{field:{...f,onChange:n(s=>{let y=u.jsonType==="number"?Number(s):s;f.onChange(y),p?.(y)},"onChange")},fieldState:a,fieldData:S})}})}n(oe,"SelectField");import{jsx as te}from"react/jsx-runtime";function ne({label:e,name:t,options:i,defaultValue:m,description:l,onChange:p,$meta:r,component:u,...h}){let{control:F}=d(),{components:f}=c();return te(C,{defaultValue:m,control:F,name:t,render:({field:a,fieldState:g})=>{let S=u||f.countries;if(!S)throw new Error(`Country component not found for field ${t}`);let s={label:e,name:t,options:i,defaultValue:m,description:l,onChange:p,$meta:r,...h};return te(S,{field:{...a,onChange:n(y=>{a.onChange(y),p?.(y)},"onChange")},fieldState:g,fieldData:s})}})}n(ne,"CountryField");import{jsx as re}from"react/jsx-runtime";function ie({name:e,description:t,label:i,onChange:m,maxLength:l,component:p,...r}){let{components:u}=c(),{control:h}=d();return re(C,{control:h,name:e,render:({field:F,fieldState:f})=>{let a=p||u.textarea;if(!a)throw new Error(`Text area component not found for field ${e}`);let g={name:e,description:t,label:i,maxLength:l,...r};return re(a,{field:{...F,onChange:n(S=>{F.onChange(S),m?.(S)},"onChange")},fieldState:f,fieldData:g})}})}n(ie,"TextAreaField");import{jsx as me}from"react/jsx-runtime";function le(e){let{components:t}=c(),{control:i}=d(),m=e.component||t.email;if(!m)throw new Error(`Email component not found for field ${e.name}`);return me(C,{control:i,name:e.name,render:({field:l,fieldState:p})=>me(m,{field:{...l,onChange:n(r=>{l.onChange(r),e.onChange?.(r)},"onChange")},fieldState:p,fieldData:e})})}n(le,"EmailField");import{jsx as se}from"react/jsx-runtime";function ae(e){let{control:t}=d();return se(C,{control:t,name:e.name,render:({field:i})=>se("input",{...i,type:"hidden"})})}n(ae,"HiddenField");import{useEffect as be,useState as Te}from"react";import{jsx as pe}from"react/jsx-runtime";function de(e){let{components:t}=c(),{setValue:i,control:m,watch:l}=d(),p=l(e.name),[r,u]=Te(p),{workHoursSummary:h,breakSummary:F}=O(r),f=L(r);be(()=>{i(e.name,r)},[r,e.name,i]);function a(s){u(s)}n(a,"onSubmit");let g=e.component||t["work-schedule"];if(!g)throw new Error(`Work schedule component not found for field ${e.name}`);let S={...e,onSubmit:a,currentSchedule:r,defaultFormattedValue:{workHoursSummary:h,breakSummary:F,totalWorkHours:f}};return pe(C,{control:m,name:e.name,render:({field:s,fieldState:y})=>pe(g,{field:{...s,onChange:n(x=>{s.onChange(x),e.onChange?.(x)},"onChange")},fieldState:y,fieldData:S})})}n(de,"WorkScheduleField");import{jsx as ce}from"react/jsx-runtime";function ue({label:e,name:t,options:i,defaultValue:m,description:l,onChange:p,component:r,...u}){let{control:h}=d(),{components:F}=c();return ce(C,{defaultValue:m,control:h,name:t,render:({field:f,fieldState:a})=>{let g=r||F?.["multi-select"];if(!g)throw new Error(`Multi select component not found for field ${t}`);let S={label:e,name:t,options:i,defaultValue:m,description:l,onChange:p,...u};return ce(g,{field:{...f,onChange:n(s=>{f.onChange(s),p?.(s)},"onChange")},fieldState:a,fieldData:S})}})}n(ue,"MultiSelectField");import{jsx as Pe}from"react/jsx-runtime";var Fe=n(e=>Pe(N,{maxLength:15,...e}),"MoneyField");var B={checkbox:G,text:z,email:le,money:Fe,select:oe,"multi-select":ue,radio:j,number:N,file:Q,date:q,textarea:ie,countries:ne,hidden:ae,"work-schedule":de};import{jsx as $e}from"react/jsx-runtime";function M({title:e,description:t,severity:i}){let{components:m}=c(),l=m.statement;if(!l)throw new Error("Statement component not found");return $e(l,{data:{title:e?R(e):void 0,description:R(t),severity:i}})}n(M,"Statement");import{Fragment as De,jsx as b,jsxs as P}from"react/jsx-runtime";function Ce({label:e,name:t,fields:i,description:m,components:l,statement:p,isFlatFieldset:r,extra:u,variant:h="outset",features:F,meta:f}){let{helpCenter:a}=f||{},{watch:g,setValue:S,trigger:s,formState:y}=d(),{components:x}=c(),$=F?.toggle?.stateField,T=$?g($):F?.toggle?.defaultExpanded??!0,Se=i.map(({name:o})=>`${t}.${o}`),_=g(Se),H=ge(_),w=ge(null),he=n(()=>{$&&S($,!T)},"toggleExpanded");we(()=>{let o=_,D=H.current,J=y.isSubmitted||y.submitCount>0,v=!1;for(let k=0;k<o.length;k++)if(o[k]!==void 0&&D[k]!==o[k]){v=!0;break}return v&&J&&(w.current&&clearTimeout(w.current),w.current=setTimeout(()=>{s()},50)),H.current=[...o],()=>{w.current&&clearTimeout(w.current)}},[_,s,y.isSubmitted,y.submitCount]);let ye=x?.fieldsetToggle||I,V=`${t}-content`,W=`${t}-header`;return P("fieldset",{className:E("border-1 border-input p-4 rounded-xl","RemoteFlows__FieldSetField",`RemoteFlows__FieldSetField__${t}`),children:[b("legend",{className:E("text-sm font-semibold px-2",h==="inset"&&"hidden"),children:e}),a?.callToAction&&a?.id&&h==="outset"&&b(A,{className:"RemoteFlows__FieldSetField__HelpCenterLink mb-3",zendeskId:a.id,children:a.callToAction}),h==="inset"&&P(De,{children:[P("div",{className:"RemoteFlows__FieldSetField__Header",id:W,"data-state":T?"expanded":"collapsed","aria-expanded":T,children:[b("h3",{className:E("RemoteFlows__FieldSetField__Title"),children:e}),F?.toggle?.enabled&&b(ye,{isExpanded:T,onToggle:he,"aria-expanded":T,"aria-controls":V,"aria-label":`${T?"Hide":"Show"} ${e}`,className:E("RemoteFlows__FieldSetField__Toggle",F.toggle?.className),children:T?F.toggle.labels?.collapse??"Remove":F.toggle.labels?.expand??"Define"})]}),a?.callToAction&&a?.id&&b(A,{className:"RemoteFlows__FieldSetField__HelpCenterLink mb-3",zendeskId:a.id,children:a.callToAction})]}),T&&P("div",{id:V,"aria-labelledby":W,role:"region",children:[m?b("div",{className:"mb-5 RemoteFlows__FieldSetField__Description",dangerouslySetInnerHTML:{__html:R(m)}}):null,P("div",{className:"grid gap-4",children:[i.map(o=>{if(o.calculateDynamicProperties&&(o={...o,...o.calculateDynamicProperties(_,o)||{}}),o.isVisible===!1||o.deprecated)return null;if(o.inputType==="fieldset")return b(Ce,{...o,name:`${r?o.name:`${t}.${o.name}`}`,components:l},`${r?o.name:`${t}.${o.name}`}`);if(o.inputType==="fieldset-flat")return b(Ce,{...o,name:`${r?o.name:`${t}.${o.name}`}`,components:l,isFlatFieldset:!0},`${r?o.name:`${t}.${o.name}`}`);let D=B[o.inputType];if(o.Component){let{Component:J}=o;return P(fe,{children:[b(J,{setValue:v=>S(r?o.name:`${t}.${o.name}`,v),...o}),o.statement?b(M,{...o.statement}):null,o.extra?o.extra:null]},`${r?o.name:`${t}.${o.name}`}`)}return D?(o.inputType==="select"&&o.multiple&&(D=B["multi-select"]),P(fe,{children:[b(D,{...o,name:`${r?o.name:`${t}.${o.name}`}`,component:l?.[o.inputType]}),o.statement?b(M,{...o.statement}):null,o.extra?o.extra:null]},`${r?o.name:`${t}.${o.name}`}`)):P("p",{className:"error",children:["Field type ",o.inputType," not supported"]})}),u||null,p?b(M,{...p}):null]})]})]})}n(Ce,"FieldSetField");export{B as a,M as b,Ce as c};
|
|
2
|
-
//# sourceMappingURL=chunk-75H7ASIK.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/form/fields/FieldSetField.tsx","../src/components/form/fields/DatePickerField.tsx","../src/components/form/fields/FileUploadField.tsx","../src/components/form/fields/NumberField.tsx","../src/components/form/fields/RadioGroupField.tsx","../src/components/form/fields/SelectField.tsx","../src/components/form/fields/CountryField.tsx","../src/components/form/fields/TextAreaField.tsx","../src/components/form/fields/EmailField.tsx","../src/components/form/fields/HiddenField.tsx","../src/components/form/fields/WorkScheduleField.tsx","../src/components/form/fields/MultiSelectField.tsx","../src/components/form/fields/MoneyField.tsx","../src/components/form/fields/baseFields.tsx","../src/components/form/Statement.tsx"],"sourcesContent":["import { useFormContext } from 'react-hook-form';\nimport { Fragment, useEffect, useRef } from 'react';\nimport { baseFields } from '@/src/components/form/fields/baseFields';\nimport { cn, sanitizeHtml } from '@/src/lib/utils';\nimport { $TSFixMe, Components } from '@/src/types/remoteFlows';\nimport { Statement } from '@/src/components/form/Statement';\nimport { useFormFields } from '@/src/context';\nimport { ZendeskTriggerButton } from '@/src/components/shared/zendesk-drawer/ZendeskTriggerButton';\nimport { FieldsetToggleButtonDefault } from '@/src/components/form/fields/default/FieldsetToggleButtonDefault';\nimport { BaseTypes, SupportedTypes } from './types';\nimport { StatementComponentProps } from '@/src/types/fields';\n\ntype FieldBase = {\n label: string;\n name: string;\n description: string;\n Component?: React.ComponentType<$TSFixMe>;\n inputType: SupportedTypes;\n multiple?: boolean;\n};\n\ntype FieldWithOptions = FieldBase & {\n type: 'select' | 'radio';\n options: Array<{ value: string; label: string }>;\n};\n\ntype FieldWithoutOptions = FieldBase & {\n type: Exclude<SupportedTypes, 'select' | 'radio'>;\n options?: never;\n};\n\ntype Field = FieldWithOptions | FieldWithoutOptions;\n\ntype FieldSetFeatures = {\n toggle?: {\n enabled: boolean;\n defaultExpanded?: boolean;\n stateField?: string;\n labels?: {\n expand: string;\n collapse: string;\n };\n className?: string;\n };\n};\n\nexport type FieldSetProps = {\n label: string;\n name: string;\n description: string;\n fields: Field[];\n features?: FieldSetFeatures;\n components: Components;\n statement?: StatementComponentProps['data'];\n isFlatFieldset: boolean;\n extra?: React.ReactNode;\n variant: 'outset' | 'inset';\n meta?: {\n helpCenter?: {\n callToAction: string;\n id: number;\n url: string;\n label: string;\n };\n } & Record<string, $TSFixMe>;\n};\n\nexport function FieldSetField({\n label,\n name,\n fields,\n description,\n components,\n statement,\n isFlatFieldset,\n extra,\n variant = 'outset',\n features,\n meta,\n}: FieldSetProps) {\n const { helpCenter } = meta || {};\n const { watch, setValue, trigger, formState } = useFormContext();\n const { components: formComponents } = useFormFields();\n\n // Get expanded state from form state if stateField is provided\n const stateField = features?.toggle?.stateField;\n const isExpanded = stateField\n ? watch(stateField)\n : (features?.toggle?.defaultExpanded ?? true);\n\n const fieldNames = fields.map(\n ({ name: fieldName }) => `${name}.${fieldName}`,\n );\n const watchedValues = watch(fieldNames);\n const prevValuesRef = useRef<string[]>(watchedValues);\n const triggerTimeoutRef = useRef<NodeJS.Timeout | null>(null);\n\n const toggleExpanded = () => {\n if (stateField) {\n setValue(stateField, !isExpanded);\n }\n };\n\n useEffect(() => {\n const currentValues = watchedValues;\n const previousValues = prevValuesRef.current;\n const hasBeenSubmitted = formState.isSubmitted || formState.submitCount > 0;\n\n // Check if any value has changed\n let hasChanged = false;\n for (let i = 0; i < currentValues.length; i++) {\n if (\n currentValues[i] !== undefined &&\n previousValues[i] !== currentValues[i]\n ) {\n hasChanged = true;\n // This is to prevent the form from triggering validation too many times\n break;\n }\n }\n // If changes detected and we haven't triggered yet, run trigger\n if (hasChanged && hasBeenSubmitted) {\n // We need to debounce the validation trigger so that tests don't freeze\n if (triggerTimeoutRef.current) {\n clearTimeout(triggerTimeoutRef.current);\n }\n triggerTimeoutRef.current = setTimeout(() => {\n trigger();\n }, 50);\n }\n\n prevValuesRef.current = [...currentValues];\n\n return () => {\n if (triggerTimeoutRef.current) {\n clearTimeout(triggerTimeoutRef.current);\n }\n };\n }, [watchedValues, trigger, formState.isSubmitted, formState.submitCount]);\n\n const ToggleComponent =\n formComponents?.fieldsetToggle || FieldsetToggleButtonDefault;\n const contentId = `${name}-content`;\n const headerId = `${name}-header`;\n\n return (\n <fieldset\n className={cn(\n 'border-1 border-input p-4 rounded-xl',\n `RemoteFlows__FieldSetField`,\n `RemoteFlows__FieldSetField__${name}`,\n )}\n >\n <legend\n className={cn(\n 'text-sm font-semibold px-2',\n variant === 'inset' && 'hidden',\n )}\n >\n {label}\n </legend>\n {helpCenter?.callToAction && helpCenter?.id && variant === 'outset' && (\n <ZendeskTriggerButton\n className='RemoteFlows__FieldSetField__HelpCenterLink mb-3'\n zendeskId={helpCenter.id}\n >\n {helpCenter.callToAction}\n </ZendeskTriggerButton>\n )}\n {variant === 'inset' && (\n <>\n <div\n className='RemoteFlows__FieldSetField__Header'\n id={headerId}\n data-state={isExpanded ? 'expanded' : 'collapsed'}\n aria-expanded={isExpanded}\n >\n <h3 className={cn('RemoteFlows__FieldSetField__Title')}>{label}</h3>\n {features?.toggle?.enabled && (\n <ToggleComponent\n isExpanded={isExpanded}\n onToggle={toggleExpanded}\n aria-expanded={isExpanded}\n aria-controls={contentId}\n aria-label={`${isExpanded ? 'Hide' : 'Show'} ${label}`}\n className={cn(\n 'RemoteFlows__FieldSetField__Toggle',\n features.toggle?.className,\n )}\n >\n {isExpanded\n ? (features.toggle.labels?.collapse ?? 'Remove')\n : (features.toggle.labels?.expand ?? 'Define')}\n </ToggleComponent>\n )}\n </div>\n {helpCenter?.callToAction && helpCenter?.id && (\n <ZendeskTriggerButton\n className='RemoteFlows__FieldSetField__HelpCenterLink mb-3'\n zendeskId={helpCenter.id}\n >\n {helpCenter.callToAction}\n </ZendeskTriggerButton>\n )}\n </>\n )}\n {isExpanded && (\n <div id={contentId} aria-labelledby={headerId} role='region'>\n {description ? (\n <div\n className='mb-5 RemoteFlows__FieldSetField__Description'\n dangerouslySetInnerHTML={{ __html: sanitizeHtml(description) }}\n />\n ) : null}\n <div className='grid gap-4'>\n {fields.map((field: $TSFixMe) => {\n if (field.calculateDynamicProperties) {\n field = {\n ...field,\n ...(field.calculateDynamicProperties(watchedValues, field) ||\n {}),\n };\n }\n\n if (field.isVisible === false || field.deprecated) {\n return null; // Skip hidden or deprecated fields\n }\n\n // Handle nested fieldsets\n if (field.inputType === 'fieldset') {\n return (\n <FieldSetField\n key={`${isFlatFieldset ? field.name : `${name}.${field.name}`}`}\n {...field}\n name={`${isFlatFieldset ? field.name : `${name}.${field.name}`}`}\n components={components}\n />\n );\n }\n\n if (field.inputType === 'fieldset-flat') {\n return (\n <FieldSetField\n key={`${isFlatFieldset ? field.name : `${name}.${field.name}`}`}\n {...field}\n name={`${isFlatFieldset ? field.name : `${name}.${field.name}`}`}\n components={components}\n isFlatFieldset\n />\n );\n }\n // We need to do the check after checking field.inputType === 'fieldset' or field.inputType === 'fieldset-flat'\n // circular dependency most likely\n let FieldComponent = baseFields[field.inputType as BaseTypes];\n\n if (field.Component) {\n const { Component } = field as {\n Component: React.ComponentType<$TSFixMe>;\n };\n return (\n <Fragment\n key={`${isFlatFieldset ? field.name : `${name}.${field.name}`}`}\n >\n <Component\n setValue={(value: unknown) =>\n setValue(\n isFlatFieldset ? field.name : `${name}.${field.name}`,\n value,\n )\n }\n {...field}\n />\n {field.statement ? (\n <Statement\n {...(field.statement as StatementComponentProps['data'])}\n />\n ) : null}\n {field.extra ? field.extra : null}\n </Fragment>\n );\n }\n\n if (!FieldComponent) {\n return (\n <p className='error'>\n Field type {field.inputType as string} not supported\n </p>\n );\n }\n\n if (field.inputType === 'select' && field.multiple) {\n FieldComponent = baseFields['multi-select'];\n }\n\n return (\n <Fragment\n key={`${isFlatFieldset ? field.name : `${name}.${field.name}`}`}\n >\n <FieldComponent\n {...field}\n name={`${isFlatFieldset ? field.name : `${name}.${field.name}`}`}\n component={\n components?.[field.inputType as keyof Components]\n }\n />\n {field.statement ? (\n <Statement\n {...(field.statement as StatementComponentProps['data'])}\n />\n ) : null}\n {field.extra ? field.extra : null}\n </Fragment>\n );\n })}\n {extra ? extra : null}\n {statement ? <Statement {...statement} /> : null}\n </div>\n </div>\n )}\n </fieldset>\n );\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { useFormContext } from 'react-hook-form';\nimport { FormField } from '@/src/components/ui/form';\n\nimport { useFormFields } from '@/src/context';\nimport { Components, JSFField } from '@/src/types/remoteFlows';\nimport { getMinStartDate } from '@/src/components/form/utils';\n\nexport type DatePickerFieldProps = JSFField & {\n onChange?: (value: any) => void;\n component?: Components['date'];\n};\n\nexport function DatePickerField({\n description,\n label,\n name,\n minDate,\n maxDate,\n onChange,\n component,\n ...rest\n}: DatePickerFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n\n let minDateValue: Date;\n if (rest.meta?.mot && typeof rest.meta.mot === 'number') {\n minDateValue = getMinStartDate(rest.meta.mot);\n } else if (minDate) {\n minDateValue = new Date(`${minDate}T00:00:00`);\n }\n\n let maxDateValue: Date | undefined;\n if (maxDate) {\n maxDateValue = new Date(`${maxDate}T23:59:59`);\n }\n\n return (\n <FormField\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components?.date;\n\n if (!Component) {\n throw new Error(`Date picker component not found for field ${name}`);\n }\n\n const customDatePickerFieldProps = {\n description,\n label,\n name,\n onChange,\n ...(minDateValue && { minDate: minDateValue.toISOString() }),\n ...(maxDateValue && { maxDate: maxDateValue.toISOString() }),\n ...rest,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (value: any) => {\n field.onChange(value);\n onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={customDatePickerFieldProps}\n />\n );\n }}\n />\n );\n}\n","import { useFormFields } from '@/src/context';\nimport { Components, JSFField } from '@/src/types/remoteFlows';\nimport {\n ControllerRenderProps,\n FieldValues,\n useFormContext,\n} from 'react-hook-form';\nimport { FormField } from '../../ui/form';\nimport { FieldDataProps } from '@/src/types/fields';\n\nconst validateFileSize = (files: File[], maxSize?: number): string | null => {\n if (!maxSize) return null;\n\n for (const file of files) {\n if (file.size > maxSize) {\n const maxSizeMB = Math.round(maxSize / (1024 * 1024));\n const fileSizeMB = Math.round(file.size / (1024 * 1024));\n return `File \"${file.name}\" exceeds maximum size of ${maxSizeMB}MB (file is ${fileSizeMB}MB)`;\n }\n }\n return null;\n};\n\nexport type FieldFileDataProps = FieldDataProps & {\n accept?: string;\n multiple?: boolean;\n maxFileSize?: number;\n};\n\nexport type FileUploadFieldProps = JSFField & {\n onChange?: (value: File[]) => void;\n multiple?: boolean;\n component?: Components['file'];\n maxSize?: number;\n accept?: string;\n};\n\nexport function FileUploadField({\n name,\n description,\n label,\n multiple,\n onChange,\n component,\n accept,\n maxSize,\n ...rest\n}: FileUploadFieldProps) {\n const { components } = useFormFields();\n const { control, setError, clearErrors } = useFormContext();\n\n const handleOnChange = async (\n files: File[],\n field: ControllerRenderProps<FieldValues, string>,\n ) => {\n const sizeError = validateFileSize(files, maxSize);\n if (sizeError) {\n setError(name, { message: sizeError });\n return;\n }\n\n clearErrors(name);\n field.onChange(files);\n onChange?.(files);\n };\n\n return (\n <FormField\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components.file;\n if (!Component) {\n throw new Error(`File upload component not found for field ${name}`);\n }\n\n const fieldData: FieldFileDataProps = {\n name,\n description,\n label,\n multiple,\n accept,\n maxFileSize: maxSize,\n ...rest,\n };\n\n return (\n <Component\n field={{\n ...field,\n value: field.value,\n onChange: async (value: File[]) => handleOnChange(value, field),\n }}\n fieldState={fieldState}\n fieldData={fieldData}\n />\n );\n }}\n />\n );\n}\n","import { useFormContext } from 'react-hook-form';\nimport { useFormFields } from '@/src/context';\nimport { FormField } from '@/src/components/ui/form';\nimport { Components } from '@/src/types/remoteFlows';\nimport { TextFieldProps } from './TextField';\n\nexport type NumberFieldProps = TextFieldProps & {\n component?: Components['number'];\n onChange?: (value: number) => void;\n};\n\nexport function NumberField(props: NumberFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n\n const Component = props.component || components.number;\n if (!Component) {\n throw new Error(`Number component not found for field ${props.name}`);\n }\n return (\n <FormField\n control={control}\n name={props.name}\n render={({ field, fieldState }) => {\n return (\n <Component\n field={{\n ...field,\n onChange: (value: number) => {\n field.onChange(value);\n props.onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={props}\n />\n );\n }}\n />\n );\n}\n","import { FormField } from '@/src/components/ui/form';\nimport { useFormFields } from '@/src/context';\nimport { Components, JSFField } from '@/src/types/remoteFlows';\nimport { useFormContext } from 'react-hook-form';\n\ntype RadioGroupFieldProps = JSFField & {\n onChange?: (value: string) => void;\n component?: Components['radio'];\n};\n\nexport function RadioGroupField({\n name,\n defaultValue,\n description,\n label,\n options,\n onChange,\n component,\n ...rest\n}: RadioGroupFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n return (\n <FormField\n control={control}\n name={name}\n defaultValue={defaultValue}\n render={({ field, fieldState }) => {\n const Component = component || components?.radio;\n if (!Component) {\n throw new Error(`Radio group component not found for field ${name}`);\n }\n const customRadioGroupFieldProps = {\n name,\n defaultValue,\n description,\n label,\n options,\n ...rest,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (value: string) => {\n field.onChange(value);\n onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={customRadioGroupFieldProps}\n />\n );\n }}\n />\n );\n}\n","import { useFormFields } from '@/src/context';\nimport { Components, JSFField } from '@/src/types/remoteFlows';\nimport { useFormContext } from 'react-hook-form';\nimport { FormField } from '@/src/components/ui/form';\n\ntype SelectFieldProps = JSFField & {\n placeholder?: string;\n options: Array<{ value: string | number; label: string }>;\n className?: string;\n onChange?: (value: string | number) => void;\n component?: Components['select'];\n};\n\nexport function SelectField({\n label,\n name,\n options,\n defaultValue,\n description,\n onChange,\n component,\n ...rest\n}: SelectFieldProps) {\n const { control } = useFormContext();\n const { components } = useFormFields();\n\n return (\n <FormField\n defaultValue={defaultValue}\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components?.select;\n\n if (!Component) {\n throw new Error(`Select component not found for field ${name}`);\n }\n\n const customSelectFieldProps = {\n label,\n name,\n options,\n defaultValue,\n description,\n onChange,\n ...rest,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (value: string | number) => {\n const maybeCastValue =\n rest.jsonType === 'number' ? Number(value) : value;\n field.onChange(maybeCastValue);\n onChange?.(maybeCastValue);\n },\n }}\n fieldState={fieldState}\n fieldData={customSelectFieldProps}\n />\n );\n }}\n />\n );\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport { useFormFields } from '@/src/context';\nimport { Components, JSFField } from '@/src/types/remoteFlows';\nimport { useFormContext } from 'react-hook-form';\nimport { FormField } from '../../ui/form';\n\ntype CountryFieldProps = JSFField & {\n options: Array<{ value: string; label: string }>;\n onChange?: (value: any) => void;\n $meta: {\n regions: Record<string, string[]>;\n subregions: Record<string, string[]>;\n };\n component?: Components['countries'];\n};\n\nexport function CountryField({\n label,\n name,\n options,\n defaultValue,\n description,\n onChange,\n $meta,\n component,\n ...rest\n}: CountryFieldProps) {\n const { control } = useFormContext();\n const { components } = useFormFields();\n\n return (\n <FormField\n defaultValue={defaultValue}\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components.countries;\n if (!Component) {\n throw new Error(`Country component not found for field ${name}`);\n }\n\n const customSelectFieldProps = {\n label,\n name,\n options,\n defaultValue,\n description,\n onChange,\n $meta,\n ...rest,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (value: any) => {\n field.onChange(value);\n onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={customSelectFieldProps}\n />\n );\n }}\n />\n );\n}\n","import * as React from 'react';\nimport { useFormFields } from '@/src/context';\nimport { Components, JSFField } from '@/src/types/remoteFlows';\nimport { useFormContext } from 'react-hook-form';\nimport { FormField } from '@/src/components/ui/form';\n\nexport type TextAreaFieldProps = JSFField & {\n onChange?: (event: React.ChangeEvent<HTMLTextAreaElement>) => void;\n maxLength?: number;\n component?: Components['textarea'];\n};\n\nexport function TextAreaField({\n name,\n description,\n label,\n onChange,\n maxLength,\n component,\n ...rest\n}: TextAreaFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n return (\n <FormField\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components.textarea;\n if (!Component) {\n throw new Error(`Text area component not found for field ${name}`);\n }\n const customTextAreaFieldProps = {\n name,\n description,\n label,\n maxLength,\n ...rest,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (evt: React.ChangeEvent<HTMLTextAreaElement>) => {\n field.onChange(evt);\n onChange?.(evt);\n },\n }}\n fieldState={fieldState}\n fieldData={customTextAreaFieldProps}\n />\n );\n }}\n />\n );\n}\n","import { useFormFields } from '@/src/context';\nimport { useFormContext } from 'react-hook-form';\nimport { FormField } from '../../ui/form';\nimport { TextFieldProps } from './TextField';\nimport { Components } from '@/src/types/remoteFlows';\n\ntype EmailFieldProps = TextFieldProps & {\n component?: Components['email'];\n};\n\nexport function EmailField(props: EmailFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n\n const Component = props.component || components.email;\n\n if (!Component) {\n throw new Error(`Email component not found for field ${props.name}`);\n }\n\n return (\n <FormField\n control={control}\n name={props.name}\n render={({ field, fieldState }) => {\n return (\n <Component\n field={{\n ...field,\n onChange: (value: string) => {\n field.onChange(value);\n props.onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={props}\n />\n );\n }}\n />\n );\n}\n","import { useFormContext } from 'react-hook-form';\nimport { FormField } from '../../ui/form';\nimport { Field } from '@/src/flows/types';\n\nexport function HiddenField(props: Field) {\n const { control } = useFormContext();\n\n return (\n <FormField\n control={control}\n name={props.name}\n render={({ field }) => {\n return <input {...field} type='hidden' />;\n }}\n />\n );\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\n\nimport { JSFField } from '@/src/types/remoteFlows';\nimport { useFormFields } from '@/src/context';\nimport { FormField } from '@/src/components/ui/form';\nimport { Components } from '@/src/types/remoteFlows';\n\nimport {\n buildWorkScheduleSummary,\n calculateTotalWorkHours,\n DailySchedule,\n} from './workScheduleUtils';\n\ntype WorkScheduleFieldProps = JSFField & {\n name: string;\n default: DailySchedule[];\n onChange?: (value: any) => void;\n component?: Components['work-schedule'];\n};\n\ntype WorkScheduleFormData = {\n schedule: DailySchedule[];\n};\n\nexport function WorkScheduleField(props: WorkScheduleFieldProps) {\n const { components } = useFormFields();\n const { setValue, control, watch } = useFormContext();\n const watchedSchedule = watch(props.name);\n const [currentSchedule, setCurrentSchedule] =\n useState<DailySchedule[]>(watchedSchedule);\n\n const { workHoursSummary, breakSummary } =\n buildWorkScheduleSummary(currentSchedule);\n const totalWorkHours = calculateTotalWorkHours(currentSchedule);\n\n useEffect(() => {\n setValue(props.name, currentSchedule);\n }, [currentSchedule, props.name, setValue]);\n\n function onSubmit(data: WorkScheduleFormData['schedule']) {\n setCurrentSchedule(data);\n }\n\n const Component = props.component || components['work-schedule'];\n if (!Component) {\n throw new Error(\n `Work schedule component not found for field ${props.name}`,\n );\n }\n\n const fieldData = {\n ...props,\n onSubmit,\n currentSchedule,\n defaultFormattedValue: {\n workHoursSummary,\n breakSummary,\n totalWorkHours,\n },\n };\n\n return (\n <FormField\n control={control}\n name={props.name}\n render={({ field, fieldState }) => {\n return (\n <Component\n field={{\n ...field,\n onChange: (value: any) => {\n field.onChange(value);\n props.onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={fieldData}\n />\n );\n }}\n />\n );\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { useFormFields } from '@/src/context';\nimport { Components, JSFField } from '@/src/types/remoteFlows';\nimport { useFormContext } from 'react-hook-form';\nimport { FormField } from '../../ui/form';\n\ntype MultiSelectFieldProps = JSFField & {\n placeholder?: string;\n options: Array<{ value: string; label: string }>;\n className?: string;\n onChange?: (value: any) => void;\n component?: Components['select'];\n};\n\nexport function MultiSelectField({\n label,\n name,\n options,\n defaultValue,\n description,\n onChange,\n component,\n ...rest\n}: MultiSelectFieldProps) {\n const { control } = useFormContext();\n const { components } = useFormFields();\n\n return (\n <FormField\n defaultValue={defaultValue}\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components?.['multi-select'];\n if (!Component) {\n throw new Error(`Multi select component not found for field ${name}`);\n }\n\n const customSelectFieldProps = {\n label,\n name,\n options,\n defaultValue,\n description,\n onChange,\n ...rest,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (value: any) => {\n field.onChange(value);\n onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={customSelectFieldProps}\n />\n );\n }}\n />\n );\n}\n","import {\n NumberField,\n NumberFieldProps,\n} from '@/src/components/form/fields/NumberField';\n\n// TODO: We use the number field and the the number type is what the partner overrides\n// TODO: this needs to be changed in the future with the changes from https://github.com/remoteoss/remote-flows/pull/128\nexport const MoneyField = (props: NumberFieldProps) => {\n return <NumberField maxLength={15} {...props} />;\n};\n","import { CheckBoxField } from './CheckBoxField';\nimport { DatePickerField } from './DatePickerField';\nimport { FileUploadField } from './FileUploadField';\nimport { NumberField } from './NumberField';\nimport { RadioGroupField } from './RadioGroupField';\nimport { SelectField } from './SelectField';\nimport { CountryField } from './CountryField';\nimport { TextAreaField } from './TextAreaField';\nimport { TextField } from './TextField';\nimport { EmailField } from './EmailField';\nimport { HiddenField } from './HiddenField';\nimport { WorkScheduleField } from './WorkScheduleField';\nimport { MultiSelectField } from './MultiSelectField';\nimport { MoneyField } from './MoneyField';\nimport { SupportedTypes } from './types';\nimport { $TSFixMe } from '@/src/types/remoteFlows';\n\nexport const baseFields: Record<\n Exclude<SupportedTypes, 'fieldset' | 'fieldset-flat'>,\n React.ComponentType<$TSFixMe>\n> = {\n checkbox: CheckBoxField,\n text: TextField,\n email: EmailField,\n money: MoneyField,\n select: SelectField,\n 'multi-select': MultiSelectField,\n radio: RadioGroupField,\n number: NumberField,\n file: FileUploadField,\n date: DatePickerField,\n textarea: TextAreaField,\n countries: CountryField,\n hidden: HiddenField,\n 'work-schedule': WorkScheduleField,\n};\n","import { useFormFields } from '@/src/context';\nimport { sanitizeHtml } from '@/src/lib/utils';\nimport { StatementComponentProps } from '@/src/types/fields';\n\ntype StatementProps = StatementComponentProps['data'];\n\nexport function Statement({ title, description, severity }: StatementProps) {\n const { components } = useFormFields();\n\n const Component = components.statement;\n\n if (!Component) {\n throw new Error(`Statement component not found`);\n }\n\n return (\n <Component\n data={{\n title: title ? sanitizeHtml(title) : undefined,\n description: sanitizeHtml(description),\n severity,\n }}\n />\n );\n}\n"],"mappings":"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","names":["Fragment","useEffect","useRef","jsx","DatePickerField","description","label","name","minDate","maxDate","onChange","component","rest","components","useFormFields","control","useFormContext","minDateValue","getMinStartDate","maxDateValue","FormField","field","fieldState","Component","customDatePickerFieldProps","__name","value","jsx","validateFileSize","__name","files","maxSize","file","maxSizeMB","fileSizeMB","FileUploadField","name","description","label","multiple","onChange","component","accept","rest","components","useFormFields","control","setError","clearErrors","useFormContext","handleOnChange","field","sizeError","FormField","fieldState","Component","fieldData","value","jsx","NumberField","props","components","useFormFields","control","useFormContext","Component","FormField","field","fieldState","__name","value","jsx","RadioGroupField","name","defaultValue","description","label","options","onChange","component","rest","components","useFormFields","control","useFormContext","FormField","field","fieldState","Component","customRadioGroupFieldProps","__name","value","jsx","SelectField","label","name","options","defaultValue","description","onChange","component","rest","control","useFormContext","components","useFormFields","FormField","field","fieldState","Component","customSelectFieldProps","__name","value","maybeCastValue","jsx","CountryField","label","name","options","defaultValue","description","onChange","$meta","component","rest","control","useFormContext","components","useFormFields","FormField","field","fieldState","Component","customSelectFieldProps","__name","value","jsx","TextAreaField","name","description","label","onChange","maxLength","component","rest","components","useFormFields","control","useFormContext","FormField","field","fieldState","Component","customTextAreaFieldProps","__name","evt","jsx","EmailField","props","components","useFormFields","control","useFormContext","Component","FormField","field","fieldState","__name","value","jsx","HiddenField","props","control","useFormContext","FormField","field","__name","useEffect","useState","jsx","WorkScheduleField","props","components","useFormFields","setValue","control","watch","useFormContext","watchedSchedule","currentSchedule","setCurrentSchedule","useState","workHoursSummary","breakSummary","buildWorkScheduleSummary","totalWorkHours","calculateTotalWorkHours","useEffect","onSubmit","data","__name","Component","fieldData","FormField","field","fieldState","value","jsx","MultiSelectField","label","name","options","defaultValue","description","onChange","component","rest","control","useFormContext","components","useFormFields","FormField","field","fieldState","Component","customSelectFieldProps","__name","value","jsx","MoneyField","__name","props","NumberField","baseFields","CheckBoxField","TextField","EmailField","MoneyField","SelectField","MultiSelectField","RadioGroupField","NumberField","FileUploadField","DatePickerField","TextAreaField","CountryField","HiddenField","WorkScheduleField","jsx","Statement","title","description","severity","components","useFormFields","Component","sanitizeHtml","__name","Fragment","jsx","jsxs","FieldSetField","label","name","fields","description","components","statement","isFlatFieldset","extra","variant","features","meta","helpCenter","watch","setValue","trigger","formState","useFormContext","formComponents","useFormFields","stateField","isExpanded","fieldNames","fieldName","watchedValues","prevValuesRef","useRef","triggerTimeoutRef","toggleExpanded","__name","useEffect","currentValues","previousValues","hasBeenSubmitted","hasChanged","i","ToggleComponent","FieldsetToggleButtonDefault","contentId","headerId","cn","ZendeskTriggerButton","sanitizeHtml","field","FieldComponent","baseFields","Component","value","Statement"]}
|
package/dist/chunk-7KLYZBVN.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as ut,b as pt,c as ft,d as yt}from"./chunk-LOHRUY4J.js";import{a as X,f as Z,h as tt,k as et}from"./chunk-U7CW67TM.js";import{c as z,d as Q}from"./chunk-H6YNMT4M.js";import{a as at,b as it,c as st,e as ct,f as lt,g as dt,h as mt}from"./chunk-2L5YJSIF.js";import{a as ot,b as rt}from"./chunk-3UDG4IJO.js";import{a as E}from"./chunk-EAV5VOMZ.js";import{d as f,e as C}from"./chunk-HRG5MSVG.js";import{g as V}from"./chunk-UQCSN47K.js";import{a as nt}from"./chunk-5BRMLRS7.js";import{a as p}from"./chunk-P37U34EQ.js";import{useEffect as Qt,useMemo as c,useRef as Xt,useState as J}from"react";var Zt={select_country:null,basic_information:"employment_basic_information",contract_details:null,pricing_plan:null,contract_preview:null,review:null},te={employment_basic_information:"basic_information"},ee=new Date().toISOString().split("T")[0],fe=p(({countryCode:_t,externalId:St,employmentId:y,skipSteps:gt,options:P,initialValues:i})=>{let[a,A]=J(_t||null),[r,bt]=J(y),[T,Ct]=J(void 0),O=Xt({select_country:{},basic_information:{},contract_details:{},contract_preview:{},pricing_plan:{}}),wt=gt?.includes("select_country")?pt:ut,{fieldValues:m,stepState:e,setFieldValues:Ft,previousStep:vt,nextStep:ht,goToStep:I,setStepValues:B}=nt(wt),{data:s,isLoading:R,refetch:Vt}=X(r),{status:_}=s||{},L=_&&z.includes(_),Et=_&&!Q.includes(_),Pt=c(()=>_==="invited"?"invited":"not_invited",[_]),q=tt(),N=lt(),x=it(),Ot=ct(),{mutateAsync:Mt}=E(q),{mutateAsync:Dt}=E(N),{mutateAsync:Tt}=E(x),{mutateAsync:U}=E(Ot);y&&s?.country?.code&&!a&&A(s.country.code);let{selectCountryForm:M,isLoading:It}=et({jsfModify:P?.jsfModify?.select_country,queryOptions:{enabled:e.currentStep.name==="select_country"}}),{form:H,isLoading:Rt}=mt(r,{jsonSchemaVersion:P?.jsonSchemaVersion,queryOptions:{enabled:e.currentStep.name==="pricing_plan"}}),Lt=Zt[e.currentStep.name]||"contractor_basic_information",jt=te[Lt],kt=s?.[jt]||{},Jt=p(({form:t,options:o={},query:g={}})=>{let b=Object.keys(m).length>0?{...i,...e.values?.[e.currentStep.name],...m}:{...i,...kt};return Z({countryCode:a,form:t,fieldValues:b,query:g,options:{...o,queryOptions:{enabled:o.queryOptions?.enabled??!0}}})},"useJSONSchema"),At=!!(a&&(e.currentStep.name==="basic_information"||y)),Bt=!!(a&&(e.currentStep.name==="contract_details"||y)),{data:l,isLoading:qt}=Jt({form:"contractor_basic_information",options:{jsfModify:P?.jsfModify?.basic_information,queryOptions:{enabled:At}}}),Nt=c(()=>ft(s?.basic_information?.provisional_start_date,m?.service_duration?.provisional_start_date),[s?.basic_information?.provisional_start_date,m?.service_duration?.provisional_start_date]),{data:d,isLoading:xt}=dt({countryCode:a,fieldValues:m,options:{queryOptions:{enabled:Bt},jsfModify:yt(P?.jsfModify?.contract_details,Nt)}}),{data:u}=at({fieldValues:m,options:{queryOptions:{enabled:e.currentStep.name==="contract_preview"}}}),{data:Ut,isLoading:Ht}=st({employmentId:r,contractDocumentId:T,options:{queryOptions:{enabled:!!T}}}),n=c(()=>({select_country:M?.fields||[],basic_information:l?.fields||[],pricing_plan:H?.fields||[],contract_details:d?.fields||[],contract_preview:u?.fields||[],review:[]}),[M?.fields,l?.fields,H?.fields,d?.fields,u?.fields]),Gt={select_country:null,basic_information:l?.meta["x-jsf-fieldsets"],pricing_plan:null,contract_details:d?.meta["x-jsf-fieldsets"],contract_preview:null,review:null},{country:Wt,basic_information:D={},contract_details:S={}}=s||{},G=Wt?.code,w=c(()=>C(n.select_country,{country:a||G||""}),[n.select_country,a,G]),F=c(()=>{let t={provisional_start_date:ee,...i,...D};return C(n.basic_information,t)},[n.basic_information,D,i]),v=c(()=>{let o={...{service_duration:{provisional_start_date:D.provisional_start_date}},...i,...S};return C(n.contract_details,o)},[n.contract_details,S,i,D]),W=c(()=>{let t={...i,...S};return C(n.contract_preview,t)},[n.contract_preview,S,i]),$=c(()=>{let t={...i,...S};return C(n.pricing_plan,t?.pricing_plan??{})},[n.pricing_plan,S,i]),$t=c(()=>({select_country:w,basic_information:F,contract_details:v,contract_preview:W,pricing_plan:$}),[w,F,v,W,$]),K=c(()=>!!(!!(y&&L&&e.currentStep.name!=="review")&&!R&&n.basic_information.length>0&&n.contract_details.length>0),[y,L,R,n.basic_information.length,n.contract_details.length,e.currentStep.name]);Qt(()=>{K&&(O.current={select_country:V(w,n.select_country),basic_information:V(F,n.basic_information),contract_details:V(v,n.contract_details),contract_preview:{},pricing_plan:{}},B({select_country:w,basic_information:F,contract_details:v,contract_preview:{},pricing_plan:{},review:{}}),I("review"))},[K,I,w,F,v,B,n.select_country,n.basic_information,n.contract_details]);let Kt=p(t=>{I(t)},"goTo"),Y=p(async t=>M&&e.currentStep.name==="select_country"?t:l&&e.currentStep.name==="basic_information"?await f(t,l?.fields,{isPartialValidation:!1}):d&&e.currentStep.name==="contract_details"?await f(t,d?.fields,{isPartialValidation:!1}):u&&e.currentStep.name==="contract_preview"?await f(t,u?.fields,{isPartialValidation:!1}):e.currentStep.name==="pricing_plan"?t:{},"parseFormValues");async function Yt(t){let o=e.currentStep.name;o in O.current&&(O.current[o]=V(t,n[o]));let g=await Y(t);switch(e.currentStep.name){case"select_country":return A(g.country),Promise.resolve({data:{countryCode:g.country}});case"basic_information":{let j=!r&&a,b=r&&a&&s?.country&&s?.country.code!==a;if(j||b){let k={basic_information:g,type:"contractor",country_code:a,external_id:St};try{let h=await Mt(k),zt=h.data?.data?.employment?.id;return bt(zt),h}catch(h){throw console.error("Error creating onboarding:",h),h}}else if(r)return Promise.resolve({data:{employmentId:r}});return}case"contract_details":{let b=await Dt({employmentId:r,payload:{contract_document:g}}),k=b.data?.data?.contract_document?.id;return Ct(k),b}case"contract_preview":return Tt({employmentId:r,contractDocumentId:T,payload:{signature:t.signature}});case"pricing_plan":return t.subscription==ot?U({employmentId:r,payload:{operation:"downgrade"}}):t.subscription==rt?U({employmentId:r,payload:{operation:"upgrade"}}):Promise.reject({error:"invalid selection"});default:throw new Error("Invalid step state")}}return p(Yt,"onSubmit"),{isLoading:It||qt||R||xt||Rt||Ht,fieldValues:m,stepState:e,checkFieldUpdates:Ft,back:vt,next:ht,goTo:Kt,onSubmit:Yt,fields:n[e.currentStep.name],meta:{fields:O.current,fieldsets:Gt[e.currentStep.name]},parseFormValues:Y,handleValidation:p(async t=>{if(e.currentStep.name==="select_country")return M.handleValidation(t);if(l&&e.currentStep.name==="basic_information"){let o=await f(t,l?.fields,{isPartialValidation:!1});return l?.handleValidation(o)}if(d&&e.currentStep.name==="contract_details"){let o=await f(t,d?.fields,{isPartialValidation:!1});return d?.handleValidation(o)}if(u&&e.currentStep.name==="contract_preview"){let o=await f(t,u?.fields,{isPartialValidation:!1});return u?.handleValidation(o)}return e.currentStep.name==="pricing_plan"?{formErrors:{}}:null},"handleValidation"),initialValues:$t,employmentId:r,refetchEmployment:Vt,isSubmitting:q.isPending||N.isPending||x.isPending,documentPreviewPdf:Ut,canInvite:Et,isEmploymentReadOnly:L,invitedStatus:Pt,employment:s}},"useContractorOnboarding");export{fe as a};
|
|
2
|
-
//# sourceMappingURL=chunk-7KLYZBVN.js.map
|