@remoteoss/remote-flows 1.48.0 → 1.49.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/CheckboxFieldDefault-JXNMWIRK.js +2 -0
- package/dist/CountryFieldDefault-SO4WS7KE.js +2 -0
- package/dist/DatePickerFieldDefault-AZHJN2U6.js +2 -0
- package/dist/FileUploadFieldDefault-QHOKNCU2.js +2 -0
- package/dist/ForcedValueFieldDefault-BEOC4MYU.js +2 -0
- package/dist/MultiSelectFieldDefault-QKXVTGF2.js +2 -0
- package/dist/RadioGroupFieldDefault-ZHHXDUUU.js +2 -0
- package/dist/SelectFieldDefault-FWQ7D6DU.js +2 -0
- package/dist/TelFieldDefault-RA7IBELJ.js +2 -0
- package/dist/TextAreaFieldDefault-NEFWXEE2.js +2 -0
- package/dist/TextFieldDefault-RXNU36AX.js +2 -0
- package/dist/TimeFieldDefault-KIJNBWYF.js +2 -0
- package/dist/ZendeskTriggerButtonDefault-L4BVVXHA.js +2 -0
- package/dist/ZendeskTriggerButtonDefault-L4BVVXHA.js.map +1 -0
- package/dist/{chunk-364G255Q.js → chunk-2IL6T6EB.js} +2 -2
- package/dist/{chunk-5IMEZZMR.js → chunk-2LR5N626.js} +2 -2
- package/dist/{chunk-4E5YP5GD.js → chunk-36GVXD2Z.js} +2 -2
- package/dist/{chunk-WI4YITIC.js → chunk-3VTHNE4H.js} +2 -2
- package/dist/{chunk-ISETCY2V.js → chunk-4O5HJBUC.js} +2 -2
- package/dist/{chunk-CHTCJQJ3.js → chunk-4ONGXCN3.js} +2 -2
- package/dist/{chunk-NKGJZNXL.js → chunk-4XK4QHOA.js} +2 -2
- package/dist/{chunk-TFBJMECV.js → chunk-4Y2INBAI.js} +2 -2
- package/dist/{chunk-RJ7BWEDB.js → chunk-5AF5WV3R.js} +2 -2
- package/dist/{chunk-FXVLXN2B.js → chunk-5BIMRKQB.js} +2 -2
- package/dist/chunk-5FEJD2N7.js +2 -0
- package/dist/chunk-5FEJD2N7.js.map +1 -0
- package/dist/{chunk-VY64RMAF.js → chunk-5IRUNNZB.js} +2 -2
- package/dist/{chunk-Q2JINYSB.js → chunk-5MH23AST.js} +2 -2
- package/dist/chunk-5TOSVOLY.js +2 -0
- package/dist/chunk-5TOSVOLY.js.map +1 -0
- package/dist/{chunk-4F7TGLUT.js → chunk-64C6G646.js} +2 -2
- package/dist/chunk-6AHENEHD.js +2 -0
- package/dist/chunk-6AHENEHD.js.map +1 -0
- package/dist/{chunk-7YACR6OA.js → chunk-6IDUDCVS.js} +2 -2
- package/dist/{chunk-X536XUYT.js → chunk-6IQJJCQ3.js} +2 -2
- package/dist/chunk-6L77BWCI.js +2 -0
- package/dist/{chunk-UOA3M7EJ.js.map → chunk-6L77BWCI.js.map} +1 -1
- package/dist/{chunk-5YOH2HJ5.js → chunk-6S5Q2OKC.js} +2 -2
- package/dist/{chunk-CNQXPZJB.js → chunk-6THYSEJ7.js} +2 -2
- package/dist/{chunk-RPRRMRCO.js → chunk-6WO4PRGN.js} +2 -2
- package/dist/{chunk-3YILMVSP.js → chunk-7GO4BHOI.js} +2 -2
- package/dist/{chunk-4IDFJ6DS.js → chunk-7HGU72GB.js} +2 -2
- package/dist/chunk-7IIQUZTH.js +2 -0
- package/dist/chunk-7IIQUZTH.js.map +1 -0
- package/dist/{chunk-AFKB7Z3G.js → chunk-AP6MKHTF.js} +2 -2
- package/dist/{chunk-YQZ3B2CT.js → chunk-B5GH36QL.js} +2 -2
- package/dist/{chunk-VBWACHT3.js → chunk-BQNZUM27.js} +2 -2
- package/dist/{chunk-GVQ7UXVW.js → chunk-BVMAUJC2.js} +2 -2
- package/dist/{chunk-GTZ35W3E.js → chunk-BWM2MYPE.js} +2 -2
- package/dist/{chunk-VWWVLK5C.js → chunk-C2HZNBMZ.js} +2 -2
- package/dist/{chunk-WXTEP5PE.js → chunk-CNSE26GY.js} +2 -2
- package/dist/chunk-CQVOBIXJ.js +2 -0
- package/dist/chunk-CQVOBIXJ.js.map +1 -0
- package/dist/{chunk-C3YSF5RT.js → chunk-CRH5V5JI.js} +2 -2
- package/dist/{chunk-ZGGEJ3FD.js → chunk-CSXL7LMW.js} +2 -2
- package/dist/{chunk-DHS5QMH6.js → chunk-D5LOZT54.js} +2 -2
- package/dist/chunk-DN6BXTAC.js +2 -0
- package/dist/{chunk-6VBUWE25.js → chunk-DSYQY3K6.js} +2 -2
- package/dist/{chunk-UEJU2A57.js → chunk-EEZFRK2I.js} +2 -2
- package/dist/{chunk-FJNQ64SB.js → chunk-F3UUYQGY.js} +2 -2
- package/dist/{chunk-7EOTDIJI.js → chunk-F7ZDULRC.js} +2 -2
- package/dist/{chunk-HNJ7ZFEU.js → chunk-FDTOQHOJ.js} +2 -2
- package/dist/{chunk-OPGC7BSY.js → chunk-FJD5GFO4.js} +2 -2
- package/dist/{chunk-Q4X35JRA.js → chunk-FORYAPUZ.js} +2 -2
- package/dist/{chunk-7G6XS63Q.js → chunk-GJJFAGAC.js} +2 -2
- package/dist/chunk-GKSG4TTI.js +2 -0
- package/dist/{chunk-GMCJXDUP.js.map → chunk-GKSG4TTI.js.map} +1 -1
- package/dist/{chunk-GSGCFKOZ.js → chunk-GM3UWUVL.js} +2 -2
- package/dist/chunk-GPWQPJQ7.js +2 -0
- package/dist/chunk-GPWQPJQ7.js.map +1 -0
- package/dist/{chunk-7PWXGPXZ.js → chunk-H5OZSXSY.js} +2 -2
- package/dist/{chunk-U74P6WCT.js → chunk-I4CKTODX.js} +2 -2
- package/dist/{chunk-XGECMN4V.js → chunk-IF42CZJH.js} +2 -2
- package/dist/{chunk-7ZQYMDNU.js → chunk-ILX6RI7K.js} +2 -2
- package/dist/{chunk-ZMBPKARZ.js → chunk-IUY4BDUY.js} +2 -2
- package/dist/chunk-IXS65MGJ.js +2 -0
- package/dist/chunk-IXS65MGJ.js.map +1 -0
- package/dist/{chunk-RDDQ5XMI.js → chunk-J5BG6GTH.js} +2 -2
- package/dist/chunk-JKHJR6HK.js +2 -0
- package/dist/chunk-JKHJR6HK.js.map +1 -0
- package/dist/{chunk-HCL7WLOR.js → chunk-JLM4O7ZW.js} +2 -2
- package/dist/{chunk-H3JVB7GS.js → chunk-JMFCG5KA.js} +2 -2
- package/dist/{chunk-2FI5CCXQ.js → chunk-JQ3SLOUP.js} +2 -2
- package/dist/{chunk-KBD6W5FL.js → chunk-KJCCB44M.js} +2 -2
- package/dist/chunk-KPJ5YKXS.js +2 -0
- package/dist/{chunk-QN6OMOUW.js.map → chunk-KPJ5YKXS.js.map} +1 -1
- package/dist/{chunk-KFTMJ253.js → chunk-KX4JZXZV.js} +2 -2
- package/dist/{chunk-5BJXFWKN.js → chunk-KZ5ZQTBF.js} +2 -2
- package/dist/{chunk-B7XTWLRI.js → chunk-LBNS4VT7.js} +2 -2
- package/dist/{chunk-PQHXX3ZN.js → chunk-LF3FMXGV.js} +2 -2
- package/dist/chunk-M3TA5X2H.js +2 -0
- package/dist/chunk-M3TA5X2H.js.map +1 -0
- package/dist/chunk-MXF3IXNU.js +2 -0
- package/dist/{chunk-SL5WZ76A.js.map → chunk-MXF3IXNU.js.map} +1 -1
- package/dist/chunk-MYO3DIES.js +2 -0
- package/dist/chunk-MYO3DIES.js.map +1 -0
- package/dist/{chunk-MS63VN5N.js → chunk-MZUPTP2B.js} +2 -2
- package/dist/{chunk-JBAKDTGM.js → chunk-NF2WEMTU.js} +2 -2
- package/dist/chunk-NPVSJYM6.js +2 -0
- package/dist/chunk-NPVSJYM6.js.map +1 -0
- package/dist/{chunk-FLX72WFD.js → chunk-OU2JUD4J.js} +2 -2
- package/dist/{chunk-CETQLSZY.js → chunk-OUUH3EQY.js} +2 -2
- package/dist/{chunk-VT5V3C6T.js → chunk-PFNDDLHG.js} +2 -2
- package/dist/chunk-POWC7LZN.js +2 -0
- package/dist/chunk-POWC7LZN.js.map +1 -0
- package/dist/{chunk-JP5GXWXT.js → chunk-PRFHWAQZ.js} +2 -2
- package/dist/{chunk-IN6QZASY.js → chunk-QEHEOSJT.js} +2 -2
- package/dist/{chunk-QA6YA4OB.js → chunk-QHJ3BYJN.js} +2 -2
- package/dist/chunk-QSF4XFSV.js +2 -0
- package/dist/{chunk-QJHSN6MG.js.map → chunk-QSF4XFSV.js.map} +1 -1
- package/dist/{chunk-EP3DUVMU.js → chunk-QYKJU45J.js} +2 -2
- package/dist/chunk-R4J4TF5F.js +2 -0
- package/dist/chunk-R4J4TF5F.js.map +1 -0
- package/dist/{chunk-76TJCXAW.js → chunk-RK5ZEDOE.js} +2 -2
- package/dist/{chunk-6VEWI4G2.js → chunk-RKP7EEAB.js} +2 -2
- package/dist/{chunk-32UP2UFU.js → chunk-RRZRQAIT.js} +2 -2
- package/dist/{chunk-UTQDJNOV.js → chunk-S2QXSX4Q.js} +2 -2
- package/dist/{chunk-XAIBLWDF.js → chunk-SH35XDFY.js} +2 -2
- package/dist/{chunk-ONUE4K6F.js → chunk-SXPBC2FP.js} +2 -2
- package/dist/{chunk-TYCOSAU4.js → chunk-TO2GYQR2.js} +2 -2
- package/dist/{chunk-TVNBMBTY.js → chunk-TWLFK7DD.js} +2 -2
- package/dist/chunk-TXOCMI5I.js +2 -0
- package/dist/{chunk-LWLFJAG6.js.map → chunk-TXOCMI5I.js.map} +1 -1
- package/dist/{chunk-DH2NHUZU.js → chunk-TZRUHUW5.js} +2 -2
- package/dist/{chunk-WXKFXIMQ.js → chunk-U6SMLAQI.js} +2 -2
- package/dist/{chunk-OKABTWB3.js → chunk-UUN3PLDE.js} +2 -2
- package/dist/{chunk-OK2ZZ6NK.js → chunk-V2KDZU2F.js} +2 -2
- package/dist/{chunk-XI55YG73.js → chunk-VNMUML3T.js} +2 -2
- package/dist/{chunk-XI55YG73.js.map → chunk-VNMUML3T.js.map} +1 -1
- package/dist/{chunk-PZWP6ZVL.js → chunk-VQVE3QA2.js} +2 -2
- package/dist/{chunk-KBYI7L5E.js → chunk-WGDZTF7Y.js} +2 -2
- package/dist/{chunk-Q2MGM4I2.js → chunk-X7FILZJH.js} +2 -2
- package/dist/{chunk-OLBMZGOC.js → chunk-X7HD2YL7.js} +2 -2
- package/dist/{chunk-SNEUIWQE.js → chunk-XTVXWH3Q.js} +2 -2
- package/dist/chunk-XXQBX7ND.js +2 -0
- package/dist/chunk-XXQBX7ND.js.map +1 -0
- package/dist/{chunk-EACCMXD5.js → chunk-YLSASLPB.js} +2 -2
- package/dist/{chunk-5OEO67O2.js → chunk-ZAOE2DGD.js} +2 -2
- package/dist/{chunk-XCQI5O67.js → chunk-ZYDBHR63.js} +2 -2
- package/dist/chunk-ZZLLPFLS.js +2 -0
- package/dist/{chunk-WLZRAEPQ.js.map → chunk-ZZLLPFLS.js.map} +1 -1
- 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/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 +3 -3
- 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 +445 -192
- 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/ContractOriginStep.d.ts +3 -3
- package/dist/flows/ContractorOnboarding/components/ContractOriginStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/ContractPreviewHeader.d.ts +2 -2
- package/dist/flows/ContractorOnboarding/components/ContractPreviewStatement.d.ts +2 -2
- package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.d.ts +6 -5
- package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.d.ts +6 -5
- package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.js +1 -1
- package/dist/flows/ContractorOnboarding/components/CreateInvoiceScheduleStep.d.ts +23 -0
- package/dist/flows/ContractorOnboarding/components/CreateInvoiceScheduleStep.js +2 -0
- package/dist/flows/ContractorOnboarding/components/CreateInvoiceScheduleStep.js.map +1 -0
- package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.d.ts +6 -5
- package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/InvoiceScheduleStep.d.ts +28 -0
- package/dist/flows/ContractorOnboarding/components/InvoiceScheduleStep.js +2 -0
- package/dist/flows/ContractorOnboarding/components/InvoiceScheduleStep.js.map +1 -0
- package/dist/flows/ContractorOnboarding/components/OnboardingInvite.d.ts +3 -3
- package/dist/flows/ContractorOnboarding/components/OnboardingInvite.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/SaveDraftButton.d.ts +3 -3
- package/dist/flows/ContractorOnboarding/components/SelectCountryStep.d.ts +4 -4
- package/dist/flows/ContractorOnboarding/components/SelectCountryStep.js +1 -1
- package/dist/flows/ContractorOnboarding/context.d.ts +32 -14
- package/dist/flows/ContractorOnboarding/hooks.d.ts +7 -6
- 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/invoiceScheduleConstants.d.ts +15 -0
- package/dist/flows/ContractorOnboarding/invoiceScheduleConstants.js +2 -0
- package/dist/flows/ContractorOnboarding/invoiceScheduleConstants.js.map +1 -0
- package/dist/flows/ContractorOnboarding/jsfModify.d.ts +6 -5
- package/dist/flows/ContractorOnboarding/jsfModify.js +1 -1
- package/dist/flows/ContractorOnboarding/json-schemas/createInvoiceSchedule.d.ts +103 -0
- package/dist/flows/ContractorOnboarding/json-schemas/createInvoiceSchedule.js +2 -0
- package/dist/flows/ContractorOnboarding/json-schemas/createInvoiceSchedule.js.map +1 -0
- package/dist/flows/ContractorOnboarding/json-schemas/invoiceSchedule.d.ts +28 -0
- package/dist/flows/ContractorOnboarding/json-schemas/invoiceSchedule.js +2 -0
- package/dist/flows/ContractorOnboarding/json-schemas/invoiceSchedule.js.map +1 -0
- package/dist/flows/ContractorOnboarding/types.d.ts +6 -5
- package/dist/flows/ContractorOnboarding/utils.d.ts +24 -6
- 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/EstimationResults/EstimationResults.d.ts +3 -3
- package/dist/flows/CostCalculator/EstimationResults/EstimationResults.js +1 -1
- package/dist/flows/CostCalculator/SummaryResults/SummaryResults.d.ts +3 -3
- package/dist/flows/CostCalculator/api.d.ts +3 -3
- 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 +3 -3
- package/dist/flows/CostCalculator/utils.d.ts +3 -3
- package/dist/flows/CostCalculator/utils.js +1 -1
- package/dist/flows/CreateCompany/CreateCompany.d.ts +4 -4
- package/dist/flows/CreateCompany/CreateCompany.js +1 -1
- package/dist/flows/CreateCompany/api.d.ts +3 -3
- package/dist/flows/CreateCompany/api.js +1 -1
- package/dist/flows/CreateCompany/components/AddressDetailsStep.d.ts +4 -4
- package/dist/flows/CreateCompany/components/AddressDetailsStep.js +1 -1
- package/dist/flows/CreateCompany/components/CompanyBasicInformationStep.d.ts +4 -4
- package/dist/flows/CreateCompany/components/CompanyBasicInformationStep.js +1 -1
- package/dist/flows/CreateCompany/components/CreateCompanyForm.d.ts +2 -2
- package/dist/flows/CreateCompany/components/CreateCompanyForm.js +1 -1
- package/dist/flows/CreateCompany/context.d.ts +4 -4
- package/dist/flows/CreateCompany/hooks.d.ts +4 -4
- package/dist/flows/CreateCompany/hooks.js +1 -1
- package/dist/flows/CreateCompany/index.d.ts +4 -4
- package/dist/flows/CreateCompany/index.js +1 -1
- package/dist/flows/CreateCompany/types.d.ts +4 -4
- package/dist/flows/JsonSchemaPlayground/JsonSchemaPlaygroundFlow.d.ts +3 -3
- package/dist/flows/JsonSchemaPlayground/JsonSchemaPlaygroundFlow.js +1 -1
- package/dist/flows/JsonSchemaPlayground/JsonSchemaPlaygroundForm.d.ts +2 -2
- package/dist/flows/JsonSchemaPlayground/JsonSchemaPlaygroundForm.js +1 -1
- package/dist/flows/JsonSchemaPlayground/context.d.ts +3 -3
- package/dist/flows/JsonSchemaPlayground/hooks.d.ts +3 -3
- package/dist/flows/JsonSchemaPlayground/index.d.ts +3 -3
- package/dist/flows/JsonSchemaPlayground/index.js +1 -1
- package/dist/flows/JsonSchemaPlayground/types.d.ts +3 -3
- package/dist/flows/Onboarding/OnboardingFlow.d.ts +4 -4
- package/dist/flows/Onboarding/OnboardingFlow.js +1 -1
- package/dist/flows/Onboarding/api.d.ts +4 -4
- package/dist/flows/Onboarding/api.js +1 -1
- package/dist/flows/Onboarding/components/AnnualGrossSalary.d.ts +2 -2
- package/dist/flows/Onboarding/components/AnnualGrossSalary.js +1 -1
- package/dist/flows/Onboarding/components/BasicInformationStep.d.ts +4 -4
- package/dist/flows/Onboarding/components/BasicInformationStep.js +1 -1
- package/dist/flows/Onboarding/components/BenefitsStep.d.ts +4 -4
- package/dist/flows/Onboarding/components/BenefitsStep.js +1 -1
- package/dist/flows/Onboarding/components/ContractDetailsStep.d.ts +4 -4
- package/dist/flows/Onboarding/components/ContractDetailsStep.js +1 -1
- package/dist/flows/Onboarding/components/EmploymentAgreementInfoContent.js +1 -1
- package/dist/flows/Onboarding/components/EngagementAgreementDetailsStep.d.ts +4 -4
- package/dist/flows/Onboarding/components/EngagementAgreementDetailsStep.js +1 -1
- package/dist/flows/Onboarding/components/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/PreOnboardingRequirements.d.ts +4 -4
- package/dist/flows/Onboarding/components/PreOnboardingRequirements.js +1 -1
- package/dist/flows/Onboarding/components/PreviewEmploymentAgreementStep.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 +4 -4
- package/dist/flows/Onboarding/hooks.d.ts +4 -4
- package/dist/flows/Onboarding/hooks.js +1 -1
- package/dist/flows/Onboarding/index.d.ts +4 -4
- package/dist/flows/Onboarding/index.js +1 -1
- package/dist/flows/Onboarding/types.d.ts +4 -4
- package/dist/flows/Onboarding/utils.d.ts +4 -4
- package/dist/flows/PayrollAdminOnboarding/PayrollAdminOnboardingFlow.d.ts +4 -4
- package/dist/flows/PayrollAdminOnboarding/PayrollAdminOnboardingFlow.js +1 -1
- package/dist/flows/PayrollAdminOnboarding/api.d.ts +2 -2
- package/dist/flows/PayrollAdminOnboarding/api.js +1 -1
- package/dist/flows/PayrollAdminOnboarding/components/AdministrativeDetailsStep.d.ts +3 -3
- package/dist/flows/PayrollAdminOnboarding/components/AdministrativeDetailsStep.js +1 -1
- package/dist/flows/PayrollAdminOnboarding/components/ContractDetailsStep.d.ts +3 -3
- package/dist/flows/PayrollAdminOnboarding/components/ContractDetailsStep.js +1 -1
- package/dist/flows/PayrollAdminOnboarding/components/InvitationStep.d.ts +3 -3
- package/dist/flows/PayrollAdminOnboarding/components/InvitationStep.js +1 -1
- package/dist/flows/PayrollAdminOnboarding/components/PayrollAdminForm.d.ts +2 -2
- package/dist/flows/PayrollAdminOnboarding/components/PayrollAdminForm.js +1 -1
- package/dist/flows/PayrollAdminOnboarding/components/SelectCountryStep.d.ts +3 -3
- package/dist/flows/PayrollAdminOnboarding/components/SelectCountryStep.js +1 -1
- package/dist/flows/PayrollAdminOnboarding/components/useStepSubmitHandler.d.ts +3 -3
- package/dist/flows/PayrollAdminOnboarding/context.d.ts +4 -4
- package/dist/flows/PayrollAdminOnboarding/hooks.d.ts +4 -4
- package/dist/flows/PayrollAdminOnboarding/hooks.js +1 -1
- package/dist/flows/PayrollAdminOnboarding/index.d.ts +4 -4
- package/dist/flows/PayrollAdminOnboarding/index.js +1 -1
- package/dist/flows/PayrollAdminOnboarding/types.d.ts +4 -4
- package/dist/flows/PayrollEmployeeOnboarding/PayrollEmployeeOnboardingFlow.d.ts +4 -4
- package/dist/flows/PayrollEmployeeOnboarding/PayrollEmployeeOnboardingFlow.js +1 -1
- package/dist/flows/PayrollEmployeeOnboarding/api.d.ts +3 -3
- package/dist/flows/PayrollEmployeeOnboarding/api.js +1 -1
- package/dist/flows/PayrollEmployeeOnboarding/components/BankAccountStep.d.ts +3 -3
- package/dist/flows/PayrollEmployeeOnboarding/components/BankAccountStep.js +1 -1
- package/dist/flows/PayrollEmployeeOnboarding/components/FederalTaxesStep.d.ts +3 -3
- package/dist/flows/PayrollEmployeeOnboarding/components/FederalTaxesStep.js +1 -1
- package/dist/flows/PayrollEmployeeOnboarding/components/HomeAddressStep.d.ts +3 -3
- package/dist/flows/PayrollEmployeeOnboarding/components/HomeAddressStep.js +1 -1
- package/dist/flows/PayrollEmployeeOnboarding/components/PayrollEmployeeForm.d.ts +2 -2
- package/dist/flows/PayrollEmployeeOnboarding/components/PayrollEmployeeForm.js +1 -1
- package/dist/flows/PayrollEmployeeOnboarding/components/PersonalDetailsStep.d.ts +3 -3
- package/dist/flows/PayrollEmployeeOnboarding/components/PersonalDetailsStep.js +1 -1
- package/dist/flows/PayrollEmployeeOnboarding/components/StateTaxesStep.d.ts +3 -3
- package/dist/flows/PayrollEmployeeOnboarding/components/StateTaxesStep.js +1 -1
- package/dist/flows/PayrollEmployeeOnboarding/components/useEmployeeStepSubmitHandler.d.ts +3 -3
- package/dist/flows/PayrollEmployeeOnboarding/context.d.ts +4 -4
- package/dist/flows/PayrollEmployeeOnboarding/hooks.d.ts +4 -4
- package/dist/flows/PayrollEmployeeOnboarding/hooks.js +1 -1
- package/dist/flows/PayrollEmployeeOnboarding/index.d.ts +4 -4
- package/dist/flows/PayrollEmployeeOnboarding/index.js +1 -1
- package/dist/flows/PayrollEmployeeOnboarding/types.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/AcknowledgeInformationFees.js +1 -1
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.d.ts +6 -6
- 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/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/types.d.ts +8 -3
- package/dist/flows/useStepState.js +1 -1
- package/dist/flows/utils.d.ts +2 -2
- package/dist/index.d.ts +16 -14
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/internals.d.ts +4 -4
- package/dist/internals.js +1 -1
- package/dist/{mutations-D7wGden5.d.ts → mutations-DQjVuza-.d.ts} +1 -1
- package/dist/{remoteFlows-Do_hGrKi.d.ts → remoteFlows-B_JbhzWp.d.ts} +28 -2
- package/dist/{types-BSn99OzF.d.ts → types-1mH_uuoA.d.ts} +2 -2
- package/dist/{types-CZpddZC4.d.ts → types-B0iYt6RL.d.ts} +63 -14
- package/dist/{types-BhMTFN9Y.d.ts → types-B93nzmoE.d.ts} +1 -1
- package/dist/{types-CiQ08J9g.d.ts → types-BFzhRUSU.d.ts} +2 -2
- package/dist/{types-aNjp47fZ.d.ts → types-CdC2MYpf.d.ts} +2 -2
- package/dist/{types-BpETJhdu.d.ts → types-Clzf4xjV.d.ts} +3 -3
- package/dist/{types-BgwIacP2.d.ts → types-CoYsxVTI.d.ts} +1 -1
- package/dist/{types-CzmaeZs2.d.ts → types-D3U8Wi3X.d.ts} +3 -3
- package/dist/{types.gen-C4K7xky-.d.ts → types.gen-BmtA4XNd.d.ts} +230 -1
- package/dist/{utils-BU5K1WH5.d.ts → utils-DJgzqxq4.d.ts} +1 -1
- package/package.json +1 -1
- package/dist/CheckboxFieldDefault-6B33T4XR.js +0 -2
- package/dist/CountryFieldDefault-TVGOKASR.js +0 -2
- package/dist/DatePickerFieldDefault-TH427OH5.js +0 -2
- package/dist/FileUploadFieldDefault-WB7ITN3G.js +0 -2
- package/dist/ForcedValueFieldDefault-QH76S3ZL.js +0 -2
- package/dist/MultiSelectFieldDefault-T26SUE3J.js +0 -2
- package/dist/RadioGroupFieldDefault-ZNWHLCZP.js +0 -2
- package/dist/SelectFieldDefault-LFXATOYZ.js +0 -2
- package/dist/TelFieldDefault-4FJVSZRV.js +0 -2
- package/dist/TextAreaFieldDefault-QRU4Z4V2.js +0 -2
- package/dist/TextFieldDefault-LFKGGEU3.js +0 -2
- package/dist/TimeFieldDefault-RU75LZ2T.js +0 -2
- package/dist/chunk-3OLZMSGR.js +0 -2
- package/dist/chunk-3OLZMSGR.js.map +0 -1
- package/dist/chunk-5MPW7QWT.js +0 -2
- package/dist/chunk-7RLRU3VM.js +0 -2
- package/dist/chunk-7RLRU3VM.js.map +0 -1
- package/dist/chunk-7UWA3JTM.js +0 -2
- package/dist/chunk-7UWA3JTM.js.map +0 -1
- package/dist/chunk-GMCJXDUP.js +0 -2
- package/dist/chunk-LWLFJAG6.js +0 -2
- package/dist/chunk-MREG2JYT.js +0 -2
- package/dist/chunk-MREG2JYT.js.map +0 -1
- package/dist/chunk-PJ2MZ6FH.js +0 -2
- package/dist/chunk-PJ2MZ6FH.js.map +0 -1
- package/dist/chunk-QJHSN6MG.js +0 -2
- package/dist/chunk-QN6OMOUW.js +0 -2
- package/dist/chunk-SL5WZ76A.js +0 -2
- package/dist/chunk-UOA3M7EJ.js +0 -2
- package/dist/chunk-WLZRAEPQ.js +0 -2
- package/dist/chunk-XPVYX7LE.js +0 -2
- package/dist/chunk-XPVYX7LE.js.map +0 -1
- package/dist/chunk-XZMPAJRL.js +0 -2
- package/dist/chunk-XZMPAJRL.js.map +0 -1
- /package/dist/{CheckboxFieldDefault-6B33T4XR.js.map → CheckboxFieldDefault-JXNMWIRK.js.map} +0 -0
- /package/dist/{CountryFieldDefault-TVGOKASR.js.map → CountryFieldDefault-SO4WS7KE.js.map} +0 -0
- /package/dist/{DatePickerFieldDefault-TH427OH5.js.map → DatePickerFieldDefault-AZHJN2U6.js.map} +0 -0
- /package/dist/{FileUploadFieldDefault-WB7ITN3G.js.map → FileUploadFieldDefault-QHOKNCU2.js.map} +0 -0
- /package/dist/{ForcedValueFieldDefault-QH76S3ZL.js.map → ForcedValueFieldDefault-BEOC4MYU.js.map} +0 -0
- /package/dist/{MultiSelectFieldDefault-T26SUE3J.js.map → MultiSelectFieldDefault-QKXVTGF2.js.map} +0 -0
- /package/dist/{RadioGroupFieldDefault-ZNWHLCZP.js.map → RadioGroupFieldDefault-ZHHXDUUU.js.map} +0 -0
- /package/dist/{SelectFieldDefault-LFXATOYZ.js.map → SelectFieldDefault-FWQ7D6DU.js.map} +0 -0
- /package/dist/{TelFieldDefault-4FJVSZRV.js.map → TelFieldDefault-RA7IBELJ.js.map} +0 -0
- /package/dist/{TextAreaFieldDefault-QRU4Z4V2.js.map → TextAreaFieldDefault-NEFWXEE2.js.map} +0 -0
- /package/dist/{TextFieldDefault-LFKGGEU3.js.map → TextFieldDefault-RXNU36AX.js.map} +0 -0
- /package/dist/{TimeFieldDefault-RU75LZ2T.js.map → TimeFieldDefault-KIJNBWYF.js.map} +0 -0
- /package/dist/{chunk-364G255Q.js.map → chunk-2IL6T6EB.js.map} +0 -0
- /package/dist/{chunk-5IMEZZMR.js.map → chunk-2LR5N626.js.map} +0 -0
- /package/dist/{chunk-4E5YP5GD.js.map → chunk-36GVXD2Z.js.map} +0 -0
- /package/dist/{chunk-WI4YITIC.js.map → chunk-3VTHNE4H.js.map} +0 -0
- /package/dist/{chunk-ISETCY2V.js.map → chunk-4O5HJBUC.js.map} +0 -0
- /package/dist/{chunk-CHTCJQJ3.js.map → chunk-4ONGXCN3.js.map} +0 -0
- /package/dist/{chunk-NKGJZNXL.js.map → chunk-4XK4QHOA.js.map} +0 -0
- /package/dist/{chunk-TFBJMECV.js.map → chunk-4Y2INBAI.js.map} +0 -0
- /package/dist/{chunk-RJ7BWEDB.js.map → chunk-5AF5WV3R.js.map} +0 -0
- /package/dist/{chunk-FXVLXN2B.js.map → chunk-5BIMRKQB.js.map} +0 -0
- /package/dist/{chunk-VY64RMAF.js.map → chunk-5IRUNNZB.js.map} +0 -0
- /package/dist/{chunk-Q2JINYSB.js.map → chunk-5MH23AST.js.map} +0 -0
- /package/dist/{chunk-4F7TGLUT.js.map → chunk-64C6G646.js.map} +0 -0
- /package/dist/{chunk-7YACR6OA.js.map → chunk-6IDUDCVS.js.map} +0 -0
- /package/dist/{chunk-X536XUYT.js.map → chunk-6IQJJCQ3.js.map} +0 -0
- /package/dist/{chunk-5YOH2HJ5.js.map → chunk-6S5Q2OKC.js.map} +0 -0
- /package/dist/{chunk-CNQXPZJB.js.map → chunk-6THYSEJ7.js.map} +0 -0
- /package/dist/{chunk-RPRRMRCO.js.map → chunk-6WO4PRGN.js.map} +0 -0
- /package/dist/{chunk-3YILMVSP.js.map → chunk-7GO4BHOI.js.map} +0 -0
- /package/dist/{chunk-4IDFJ6DS.js.map → chunk-7HGU72GB.js.map} +0 -0
- /package/dist/{chunk-AFKB7Z3G.js.map → chunk-AP6MKHTF.js.map} +0 -0
- /package/dist/{chunk-YQZ3B2CT.js.map → chunk-B5GH36QL.js.map} +0 -0
- /package/dist/{chunk-VBWACHT3.js.map → chunk-BQNZUM27.js.map} +0 -0
- /package/dist/{chunk-GVQ7UXVW.js.map → chunk-BVMAUJC2.js.map} +0 -0
- /package/dist/{chunk-GTZ35W3E.js.map → chunk-BWM2MYPE.js.map} +0 -0
- /package/dist/{chunk-VWWVLK5C.js.map → chunk-C2HZNBMZ.js.map} +0 -0
- /package/dist/{chunk-WXTEP5PE.js.map → chunk-CNSE26GY.js.map} +0 -0
- /package/dist/{chunk-C3YSF5RT.js.map → chunk-CRH5V5JI.js.map} +0 -0
- /package/dist/{chunk-ZGGEJ3FD.js.map → chunk-CSXL7LMW.js.map} +0 -0
- /package/dist/{chunk-DHS5QMH6.js.map → chunk-D5LOZT54.js.map} +0 -0
- /package/dist/{chunk-5MPW7QWT.js.map → chunk-DN6BXTAC.js.map} +0 -0
- /package/dist/{chunk-6VBUWE25.js.map → chunk-DSYQY3K6.js.map} +0 -0
- /package/dist/{chunk-UEJU2A57.js.map → chunk-EEZFRK2I.js.map} +0 -0
- /package/dist/{chunk-FJNQ64SB.js.map → chunk-F3UUYQGY.js.map} +0 -0
- /package/dist/{chunk-7EOTDIJI.js.map → chunk-F7ZDULRC.js.map} +0 -0
- /package/dist/{chunk-HNJ7ZFEU.js.map → chunk-FDTOQHOJ.js.map} +0 -0
- /package/dist/{chunk-OPGC7BSY.js.map → chunk-FJD5GFO4.js.map} +0 -0
- /package/dist/{chunk-Q4X35JRA.js.map → chunk-FORYAPUZ.js.map} +0 -0
- /package/dist/{chunk-7G6XS63Q.js.map → chunk-GJJFAGAC.js.map} +0 -0
- /package/dist/{chunk-GSGCFKOZ.js.map → chunk-GM3UWUVL.js.map} +0 -0
- /package/dist/{chunk-7PWXGPXZ.js.map → chunk-H5OZSXSY.js.map} +0 -0
- /package/dist/{chunk-U74P6WCT.js.map → chunk-I4CKTODX.js.map} +0 -0
- /package/dist/{chunk-XGECMN4V.js.map → chunk-IF42CZJH.js.map} +0 -0
- /package/dist/{chunk-7ZQYMDNU.js.map → chunk-ILX6RI7K.js.map} +0 -0
- /package/dist/{chunk-ZMBPKARZ.js.map → chunk-IUY4BDUY.js.map} +0 -0
- /package/dist/{chunk-RDDQ5XMI.js.map → chunk-J5BG6GTH.js.map} +0 -0
- /package/dist/{chunk-HCL7WLOR.js.map → chunk-JLM4O7ZW.js.map} +0 -0
- /package/dist/{chunk-H3JVB7GS.js.map → chunk-JMFCG5KA.js.map} +0 -0
- /package/dist/{chunk-2FI5CCXQ.js.map → chunk-JQ3SLOUP.js.map} +0 -0
- /package/dist/{chunk-KBD6W5FL.js.map → chunk-KJCCB44M.js.map} +0 -0
- /package/dist/{chunk-KFTMJ253.js.map → chunk-KX4JZXZV.js.map} +0 -0
- /package/dist/{chunk-5BJXFWKN.js.map → chunk-KZ5ZQTBF.js.map} +0 -0
- /package/dist/{chunk-B7XTWLRI.js.map → chunk-LBNS4VT7.js.map} +0 -0
- /package/dist/{chunk-PQHXX3ZN.js.map → chunk-LF3FMXGV.js.map} +0 -0
- /package/dist/{chunk-MS63VN5N.js.map → chunk-MZUPTP2B.js.map} +0 -0
- /package/dist/{chunk-JBAKDTGM.js.map → chunk-NF2WEMTU.js.map} +0 -0
- /package/dist/{chunk-FLX72WFD.js.map → chunk-OU2JUD4J.js.map} +0 -0
- /package/dist/{chunk-CETQLSZY.js.map → chunk-OUUH3EQY.js.map} +0 -0
- /package/dist/{chunk-VT5V3C6T.js.map → chunk-PFNDDLHG.js.map} +0 -0
- /package/dist/{chunk-JP5GXWXT.js.map → chunk-PRFHWAQZ.js.map} +0 -0
- /package/dist/{chunk-IN6QZASY.js.map → chunk-QEHEOSJT.js.map} +0 -0
- /package/dist/{chunk-QA6YA4OB.js.map → chunk-QHJ3BYJN.js.map} +0 -0
- /package/dist/{chunk-EP3DUVMU.js.map → chunk-QYKJU45J.js.map} +0 -0
- /package/dist/{chunk-76TJCXAW.js.map → chunk-RK5ZEDOE.js.map} +0 -0
- /package/dist/{chunk-6VEWI4G2.js.map → chunk-RKP7EEAB.js.map} +0 -0
- /package/dist/{chunk-32UP2UFU.js.map → chunk-RRZRQAIT.js.map} +0 -0
- /package/dist/{chunk-UTQDJNOV.js.map → chunk-S2QXSX4Q.js.map} +0 -0
- /package/dist/{chunk-XAIBLWDF.js.map → chunk-SH35XDFY.js.map} +0 -0
- /package/dist/{chunk-ONUE4K6F.js.map → chunk-SXPBC2FP.js.map} +0 -0
- /package/dist/{chunk-TYCOSAU4.js.map → chunk-TO2GYQR2.js.map} +0 -0
- /package/dist/{chunk-TVNBMBTY.js.map → chunk-TWLFK7DD.js.map} +0 -0
- /package/dist/{chunk-DH2NHUZU.js.map → chunk-TZRUHUW5.js.map} +0 -0
- /package/dist/{chunk-WXKFXIMQ.js.map → chunk-U6SMLAQI.js.map} +0 -0
- /package/dist/{chunk-OKABTWB3.js.map → chunk-UUN3PLDE.js.map} +0 -0
- /package/dist/{chunk-OK2ZZ6NK.js.map → chunk-V2KDZU2F.js.map} +0 -0
- /package/dist/{chunk-PZWP6ZVL.js.map → chunk-VQVE3QA2.js.map} +0 -0
- /package/dist/{chunk-KBYI7L5E.js.map → chunk-WGDZTF7Y.js.map} +0 -0
- /package/dist/{chunk-Q2MGM4I2.js.map → chunk-X7FILZJH.js.map} +0 -0
- /package/dist/{chunk-OLBMZGOC.js.map → chunk-X7HD2YL7.js.map} +0 -0
- /package/dist/{chunk-SNEUIWQE.js.map → chunk-XTVXWH3Q.js.map} +0 -0
- /package/dist/{chunk-EACCMXD5.js.map → chunk-YLSASLPB.js.map} +0 -0
- /package/dist/{chunk-5OEO67O2.js.map → chunk-ZAOE2DGD.js.map} +0 -0
- /package/dist/{chunk-XCQI5O67.js.map → chunk-ZYDBHR63.js.map} +0 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as U}from"./chunk-6DHV4GT6.js";import{a as W}from"./chunk-W5WYIDDY.js";import{a as Y}from"./chunk-JMFCG5KA.js";import{a as Q}from"./chunk-HKNQKO5Y.js";import{a as J}from"./chunk-PFNDDLHG.js";import{a as H}from"./chunk-IF42CZJH.js";import{a as q,b as B,c as L,d as z}from"./chunk-ASKPQZY2.js";import{f as Z,g as K}from"./chunk-2IL6T6EB.js";import{a as R}from"./chunk-ZXGAFQXW.js";import{a as S}from"./chunk-HBONR7VY.js";import{a as N}from"./chunk-POWC7LZN.js";import{a as E}from"./chunk-XFVXRCMH.js";import{a as v}from"./chunk-5TOSVOLY.js";import{a as _}from"./chunk-GPWQPJQ7.js";import{u as O}from"./chunk-VNMUML3T.js";import{b as w,h as u,n as D}from"./chunk-C4HFMTSB.js";import{a as A}from"./chunk-M3TA5X2H.js";import{a as I}from"./chunk-FSGFBJJF.js";import{e as $}from"./chunk-H2O4CVKF.js";import{a as o}from"./chunk-P37U34EQ.js";import xe from"lodash.omitby";import je from"lodash.isnull";import{format as x,isFuture as Ve,parseISO as j,subDays as Pe}from"date-fns";import{useMemo as V}from"react";import be from"lodash.omit";import{useQuery as Fe}from"@tanstack/react-query";var G=o(({query:t,options:e})=>{let{client:y}=$();return Fe({queryKey:["payroll-calendars"],queryFn:o(()=>O({client:y,query:{year:t?.year,country_code:t?.countryCode}}),"queryFn"),enabled:e?.enabled,select:o(c=>c.data?.data?.payroll_calendars?.[0],"select")})},"usePayrollCalendars");import{isFuture as Me,isToday as ge,parseISO as Se}from"date-fns";var X=o(t=>{if(!t)return!1;let e=Se(t);return Me(e)||ge(e)},"isInProbationPeriod");import{Fragment as ke,jsx as m,jsxs as Ce}from"react/jsx-runtime";var lo=o(({employmentId:t,options:e,initialValues:y})=>{let{fieldValues:c,setFieldValues:ee,stepState:l,previousStep:oe,nextStep:ie}=A(q),{data:n,isLoading:te}=N({employmentId:t,queryParams:{exclude_files:!0}}),{data:ne}=G({query:{year:new Date().getFullYear().toString(),countryCode:n?.country?.code},options:{enabled:!!n?.country?.code}}),T=X(n?.probation_period_end_date),F=B(ne),P=V(()=>T?x(new Date,"yyyy-MM-dd"):x(F,"yyyy-MM-dd"),[T,F]),M=!!(n?.provisional_start_date&&Ve(j(n.provisional_start_date))),ae={personal_email:n?.basic_information?.email},g=z({...ae,...y,...l.values?.employee_communication,...l.values?.termination_details,...l.values?.paid_time_off,...l.values?.additional_information},M),d=V(()=>({...g,...c}),[c,g]),b=L({minTerminationDate:F,isEmployeeInProbationPeriod:T,selectedDate:j(d.proposed_termination_date)}),re=V(()=>{let s=R.data.schema.properties.termination_reason.oneOf,a=M?s.filter(i=>i.const==="cancellation_before_start_date"):s.filter(i=>i.const!=="cancellation_before_start_date");return{fields:{risk_assesment_info:S("Offboarding risk assessment","Employees may be protected from termination if they fall into certain categories. To help avoid claims from employees, let us know if the employee is part of one or more of these categories. Select all that apply.",{className:e?.jsfModify?.fields?.risk_assesment_info?.["x-jsf-presentation"]?.className}),termination_reason:{...e?.jsfModify?.fields?.termination_reason,oneOf:a},proposed_termination_date_info:S("Proposed termination date",Ce(ke,{children:["In most cases, Remote must provide notice to the employee before termination. The required notice period depends on local labor laws, the employment agreement, and other factors. We'll use those factors to determine the required notice period.",m(v,{external:!0,zendeskId:_.terminationNoticePeriods,className:D("text-sm",e?.jsfModify?.fields?.proposed_termination_date_info?.["x-jsf-presentation"]?.zendeskTriggerButtonClassName),children:"Learn about notice periods"})]}),{className:e?.jsfModify?.fields?.proposed_termination_date_info?.["x-jsf-presentation"]?.className}),proposed_termination_date:{...e?.jsfModify?.fields?.proposed_termination_date,"x-jsf-presentation":{...e?.jsfModify?.fields?.proposed_termination_date?.["x-jsf-presentation"],minDate:P,...d.termination_reason==="cancellation_before_start_date"&&n?.provisional_start_date?{maxDate:x(Pe(j(n.provisional_start_date),1),"yyyy-MM-dd")}:{},...b},...d.termination_reason==="cancellation_before_start_date"?{"x-jsf-errorMessage":{maximum:"The proposed termination date must be before the employee's start date."}}:{}},paid_time_off_info:{...e?.jsfModify?.fields?.paid_time_off_info,"x-jsf-presentation":{...e?.jsfModify?.fields?.paid_time_off_info?.["x-jsf-presentation"],Component:o(()=>{let i=e?.jsfModify?.fields?.paid_time_off_info?.["x-jsf-presentation"]?.Component;return m(J,{employeeName:n?.basic_information?.name,proposedTerminationDate:d.proposed_termination_date,employmentId:t,employment:n,render:r=>i?m(i,{...r}):m(Q,{...r})})},"Component")}},acknowledge_termination_procedure_info:{...e?.jsfModify?.fields?.acknowledge_termination_procedure_info,"x-jsf-presentation":{...e?.jsfModify?.fields?.acknowledge_termination_procedure_info?.["x-jsf-presentation"],Component:o(()=>{let i=e?.jsfModify?.fields?.acknowledge_termination_procedure_info?.["x-jsf-presentation"]?.Component;return m(U,{render:r=>i?m(i,{...r}):m(W,{...r})})},"Component")}},acknowledge_termination_procedure_fees_info:{...e?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info,"x-jsf-presentation":{...e?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info?.["x-jsf-presentation"],Component:o(()=>{let i={involuntaryOffboardingServiceChargeZendeskId:_.involuntaryOffboardingServiceCharge,reconciliationInvoiceZendeskId:_.reconciliationInvoice},r=e?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info?.["x-jsf-presentation"]?.Component;return r?m(r,{...i}):m(Y,{...i})},"Component")}}}}},[n,t,d.proposed_termination_date,d.termination_reason,M,P,e?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info,e?.jsfModify?.fields?.acknowledge_termination_procedure_info,e?.jsfModify?.fields?.paid_time_off_info,e?.jsfModify?.fields?.proposed_termination_date,e?.jsfModify?.fields?.proposed_termination_date_info,e?.jsfModify?.fields?.risk_assesment_info,e?.jsfModify?.fields?.termination_reason,b]),{data:f,isLoading:se}=K({formValues:d,jsfModify:{...e?.jsfModify,fields:{...e?.jsfModify?.fields,...re?.fields}},step:l.currentStep.name}),me=E(H.data.schema),k=Z(),{mutateAsync:de}=w(k);async function fe(s){if(!t)throw new Error("Employment id is missing");if(f){let a=await C(s,!0),{customer_informed_employee:i}=a,r=i==="yes"?{employee_awareness:{date:a.customer_informed_employee_date,note:a.customer_informed_employee_description}}:void 0,ue=await I(a,["agrees_to_pto_amount","confidential","customer_informed_employee","will_challenge_termination"]),_e=be(ue,"customer_informed_employee_date","customer_informed_employee_description"),ye=xe({..._e,...r},je),p=a.timesheet_file??[],h=Array.isArray(p)&&p.length>0?{content:p[0].content,name:p[0].name}:void 0,Te={employment_id:t,termination_details:{...ye,timesheet_file:h||void 0},type:"termination"};return de(Te)}}o(fe,"onSubmit");function le(){oe()}o(le,"back");function ce(){ie()}o(ce,"next");let pe=Object.keys(c).length>0,C=o(async(s,a=!1)=>a?await u(s,me.fields,{isPartialValidation:!0}):f?await u(s,f?.fields,{isPartialValidation:!0}):{},"parseFormValues");return{employmentId:t,employment:n,fieldValues:d,isDirty:pe,stepState:l,fields:f?.fields||[],isLoading:se||te,isSubmitting:k.isPending,initialValues:g,handleValidation:o(async s=>{if(f){let a=await u(s,f?.fields);return f?.handleValidation(a)}return null},"handleValidation"),checkFieldUpdates:ee,parseFormValues:C,onSubmit:fe,back:le,next:ce}},"useTermination");export{lo as a};
|
|
2
|
+
//# sourceMappingURL=chunk-GKSG4TTI.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/flows/Termination/hooks.tsx","../src/common/api/payroll-calendars.ts","../src/common/employment.ts"],"sourcesContent":["import { $TSFixMe } from '@/src/types/remoteFlows';\nimport { createHeadlessForm } from '@/src/common/createHeadlessForm';\nimport omitBy from 'lodash.omitby';\nimport isNull from 'lodash.isnull';\nimport { format, isFuture, parseISO, subDays } from 'date-fns';\nimport { useMemo } from 'react';\nimport {\n CreateOffboardingParams,\n TerminationDetailsParams,\n} from '@/src/client';\nimport { mutationToPromise } from '@/src/lib/mutations';\nimport { parseJSFToValidate } from '@/src/components/form/utils';\nimport {\n EmployeeCommunicationFormValues,\n PaidTimeOffFormValues,\n TerminationDetailsFormValues,\n TerminationFlowProps,\n TerminationFormValues,\n} from '@/src/flows/Termination/types';\nimport omit from 'lodash.omit';\nimport { parseFormRadioValues } from '@/src/flows/utils';\nimport { useStepState } from '@/src/flows/useStepState';\nimport {\n buildInitialValues,\n calculateMinTerminationDate,\n calculateProposedTerminationDateStatement,\n STEPS,\n} from '@/src/flows/Termination/utils';\nimport { jsonSchema } from '@/src/flows/Termination/json-schemas/jsonSchema';\nimport { terminationDetailsSchema } from '@/src/flows/Termination/json-schemas/terminationDetails';\nimport {\n useCreateTermination,\n useTerminationSchema,\n} from '@/src/flows/Termination/api';\nimport { createInformationField } from '@/src/components/form/jsf-utils/createFields';\nimport { cn } from '@/src/internals';\nimport { zendeskArticles } from '@/src/components/shared/zendesk-drawer/utils';\nimport { PaidTimeOff } from '@/src/flows/Termination/components/PaidTimeOff/PaidTimeOff';\nimport { PaidTimeOffContainer } from '@/src/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer';\nimport { useEmploymentQuery } from '@/src/common/api/employment';\nimport { AcknowledgeInformationContainer } from '@/src/flows/Termination/components/AcknowledgeInformation/AcknowledgeInfomationContainer';\nimport { AcknowledgeInformation } from '@/src/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformation';\nimport { AcknowledgeInformationFees } from '@/src/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformationFees';\nimport { usePayrollCalendars } from '@/src/common/api/payroll-calendars';\nimport { isInProbationPeriod } from '@/src/common/employment';\nimport { ZendeskTriggerButton } from '@/src/components/shared/zendesk-drawer/ZendeskTriggerButton';\n\ntype TerminationHookProps = Omit<TerminationFlowProps, 'render'>;\n\nexport const useTermination = ({\n employmentId,\n options,\n initialValues: terminationInitialValues,\n}: TerminationHookProps) => {\n const { fieldValues, setFieldValues, stepState, previousStep, nextStep } =\n useStepState<keyof typeof STEPS, TerminationFormValues>(STEPS);\n\n const { data: employment, isLoading: isLoadingEmployment } =\n useEmploymentQuery({ employmentId, queryParams: { exclude_files: true } });\n\n const { data: payrollCalendars } = usePayrollCalendars({\n query: {\n year: new Date().getFullYear().toString(),\n countryCode: employment?.country?.code,\n },\n options: {\n enabled: Boolean(employment?.country?.code),\n },\n });\n\n const isEmployeeInProbationPeriod = isInProbationPeriod(\n employment?.probation_period_end_date,\n );\n\n const minTerminationDate = calculateMinTerminationDate(payrollCalendars);\n const minDate = useMemo(\n () =>\n isEmployeeInProbationPeriod\n ? format(new Date(), 'yyyy-MM-dd')\n : format(minTerminationDate, 'yyyy-MM-dd'),\n [isEmployeeInProbationPeriod, minTerminationDate],\n );\n\n const hasFutureStartDate = Boolean(\n employment?.provisional_start_date &&\n isFuture(parseISO(employment.provisional_start_date)),\n );\n\n const employmentValues = {\n personal_email: employment?.basic_information?.email as string,\n } as Partial<TerminationFormValues>;\n\n const initialValues = buildInitialValues(\n {\n ...employmentValues,\n ...terminationInitialValues,\n ...stepState.values?.employee_communication,\n ...stepState.values?.termination_details,\n ...stepState.values?.paid_time_off,\n ...stepState.values?.additional_information,\n },\n hasFutureStartDate,\n );\n\n const formValues = useMemo(\n () => ({\n ...initialValues,\n ...fieldValues,\n }),\n [fieldValues, initialValues],\n );\n\n const proposedTerminationDateStatement =\n calculateProposedTerminationDateStatement({\n minTerminationDate,\n isEmployeeInProbationPeriod,\n selectedDate: parseISO(formValues.proposed_termination_date),\n });\n\n const customFields = useMemo(() => {\n const originalTerminationReasonOptions =\n terminationDetailsSchema.data.schema.properties.termination_reason.oneOf;\n\n const terminationReasonOptions = hasFutureStartDate\n ? originalTerminationReasonOptions.filter(\n (option: $TSFixMe) =>\n option.const === 'cancellation_before_start_date',\n )\n : originalTerminationReasonOptions.filter(\n (option: $TSFixMe) =>\n option.const !== 'cancellation_before_start_date',\n );\n\n return {\n fields: {\n risk_assesment_info: createInformationField(\n 'Offboarding risk assessment',\n 'Employees may be protected from termination if they fall into certain categories. To help avoid claims from employees, let us know if the employee is part of one or more of these categories. Select all that apply.',\n {\n className: (\n options?.jsfModify?.fields?.risk_assesment_info as $TSFixMe\n )?.['x-jsf-presentation']?.className,\n },\n ),\n termination_reason: {\n ...(options?.jsfModify?.fields?.termination_reason as $TSFixMe),\n oneOf: terminationReasonOptions,\n },\n proposed_termination_date_info: createInformationField(\n 'Proposed termination date',\n <>\n In most cases, Remote must provide notice to the employee before\n termination. The required notice period depends on local labor laws,\n the employment agreement, and other factors. We'll use those factors\n to determine the required notice period.\n <ZendeskTriggerButton\n external\n zendeskId={zendeskArticles.terminationNoticePeriods}\n className={cn(\n 'text-sm',\n (\n options?.jsfModify?.fields\n ?.proposed_termination_date_info as $TSFixMe\n )?.['x-jsf-presentation']?.zendeskTriggerButtonClassName,\n )}\n >\n Learn about notice periods\n </ZendeskTriggerButton>\n </>,\n {\n className: (\n options?.jsfModify?.fields\n ?.proposed_termination_date_info as $TSFixMe\n )?.['x-jsf-presentation']?.className,\n },\n ),\n proposed_termination_date: {\n ...(options?.jsfModify?.fields\n ?.proposed_termination_date as $TSFixMe),\n 'x-jsf-presentation': {\n ...(\n options?.jsfModify?.fields?.proposed_termination_date as $TSFixMe\n )?.['x-jsf-presentation'],\n minDate: minDate,\n ...(formValues.termination_reason ===\n 'cancellation_before_start_date' &&\n employment?.provisional_start_date\n ? {\n maxDate: format(\n subDays(parseISO(employment.provisional_start_date), 1),\n 'yyyy-MM-dd',\n ),\n }\n : {}),\n ...proposedTerminationDateStatement,\n },\n ...(formValues.termination_reason === 'cancellation_before_start_date'\n ? {\n 'x-jsf-errorMessage': {\n maximum:\n \"The proposed termination date must be before the employee's start date.\",\n },\n }\n : {}),\n },\n paid_time_off_info: {\n ...(options?.jsfModify?.fields?.paid_time_off_info as $TSFixMe),\n 'x-jsf-presentation': {\n ...(options?.jsfModify?.fields?.paid_time_off_info as $TSFixMe)?.[\n 'x-jsf-presentation'\n ],\n Component: () => {\n const CustomComponent = (\n options?.jsfModify?.fields?.paid_time_off_info as $TSFixMe\n )?.['x-jsf-presentation']?.Component;\n\n return (\n <PaidTimeOffContainer\n employeeName={employment?.basic_information?.name as string}\n proposedTerminationDate={formValues.proposed_termination_date}\n employmentId={employmentId}\n employment={employment}\n render={(props) => {\n if (CustomComponent) {\n return <CustomComponent {...props} />;\n }\n return <PaidTimeOff {...props} />;\n }}\n />\n );\n },\n },\n },\n acknowledge_termination_procedure_info: {\n ...(options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_info as $TSFixMe),\n 'x-jsf-presentation': {\n ...(\n options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_info as $TSFixMe\n )?.['x-jsf-presentation'],\n Component: () => {\n const CustomComponent = (\n options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_info as $TSFixMe\n )?.['x-jsf-presentation']?.Component;\n\n return (\n <AcknowledgeInformationContainer\n render={(props) => {\n if (CustomComponent) {\n return <CustomComponent {...props} />;\n }\n return <AcknowledgeInformation {...props} />;\n }}\n />\n );\n },\n },\n },\n acknowledge_termination_procedure_fees_info: {\n ...(options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_fees_info as $TSFixMe),\n 'x-jsf-presentation': {\n ...(\n options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_fees_info as $TSFixMe\n )?.['x-jsf-presentation'],\n Component: () => {\n const zendeskIds = {\n involuntaryOffboardingServiceChargeZendeskId:\n zendeskArticles.involuntaryOffboardingServiceCharge,\n reconciliationInvoiceZendeskId:\n zendeskArticles.reconciliationInvoice,\n };\n\n const CustomComponent = (\n options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_fees_info as $TSFixMe\n )?.['x-jsf-presentation']?.Component;\n\n if (CustomComponent) {\n return <CustomComponent {...zendeskIds} />;\n }\n\n return <AcknowledgeInformationFees {...zendeskIds} />;\n },\n },\n },\n },\n };\n }, [\n employment,\n employmentId,\n formValues.proposed_termination_date,\n formValues.termination_reason,\n hasFutureStartDate,\n minDate,\n options?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info,\n options?.jsfModify?.fields?.acknowledge_termination_procedure_info,\n options?.jsfModify?.fields?.paid_time_off_info,\n options?.jsfModify?.fields?.proposed_termination_date,\n options?.jsfModify?.fields?.proposed_termination_date_info,\n options?.jsfModify?.fields?.risk_assesment_info,\n options?.jsfModify?.fields?.termination_reason,\n proposedTerminationDateStatement,\n ]);\n\n const { data: terminationHeadlessForm, isLoading: isLoadingTermination } =\n useTerminationSchema({\n formValues: formValues,\n jsfModify: {\n ...options?.jsfModify,\n fields: {\n ...options?.jsfModify?.fields,\n ...customFields?.fields,\n },\n },\n step: stepState.currentStep.name,\n });\n\n const entireTerminationSchema = createHeadlessForm(jsonSchema.data.schema);\n\n const createTermination = useCreateTermination();\n const { mutateAsync } = mutationToPromise(createTermination);\n\n async function onSubmit(values: TerminationFormValues) {\n if (!employmentId) {\n throw new Error('Employment id is missing');\n }\n\n if (terminationHeadlessForm) {\n const parsedValues = (await parseFormValues(\n values,\n true,\n )) as TerminationFormValues;\n\n const { customer_informed_employee: customerInformedEmployee } =\n parsedValues;\n\n const employeeAwareness =\n customerInformedEmployee === 'yes'\n ? {\n employee_awareness: {\n date: parsedValues.customer_informed_employee_date,\n note: parsedValues.customer_informed_employee_description,\n },\n }\n : undefined;\n\n const radioFieldKeys = [\n 'agrees_to_pto_amount',\n 'confidential',\n 'customer_informed_employee',\n 'will_challenge_termination',\n ];\n\n const parsedRadioValues = await parseFormRadioValues(\n parsedValues,\n radioFieldKeys,\n );\n\n const normalizedValues = omit(\n parsedRadioValues,\n 'customer_informed_employee_date',\n 'customer_informed_employee_description',\n );\n\n const terminationDetails: TerminationDetailsParams = omitBy(\n {\n ...normalizedValues,\n ...employeeAwareness,\n },\n isNull,\n ) as unknown as TerminationDetailsParams;\n\n const files = (parsedValues.timesheet_file as $TSFixMe) ?? [];\n const timesheetFile =\n Array.isArray(files) && files.length > 0\n ? { content: files[0].content, name: files[0].name }\n : undefined;\n\n const terminationPayload: CreateOffboardingParams = {\n employment_id: employmentId,\n termination_details: {\n ...terminationDetails,\n timesheet_file: timesheetFile ? timesheetFile : undefined,\n },\n type: 'termination',\n };\n\n return mutateAsync(terminationPayload);\n }\n\n return;\n }\n\n function back() {\n previousStep();\n }\n\n function next() {\n nextStep();\n }\n\n const isDirty = Boolean(Object.keys(fieldValues).length > 0);\n\n const parseFormValues = async (\n values: TerminationFormValues,\n includeAllFields: boolean = false,\n ): Promise<\n | EmployeeCommunicationFormValues\n | TerminationDetailsFormValues\n | PaidTimeOffFormValues\n | TerminationFormValues\n > => {\n if (includeAllFields) {\n return (await parseJSFToValidate(values, entireTerminationSchema.fields, {\n isPartialValidation: true,\n })) as TerminationFormValues;\n }\n\n if (terminationHeadlessForm) {\n return (await parseJSFToValidate(\n values,\n terminationHeadlessForm?.fields,\n {\n isPartialValidation: true,\n },\n )) as\n | EmployeeCommunicationFormValues\n | TerminationDetailsFormValues\n | PaidTimeOffFormValues;\n }\n return {} as $TSFixMe;\n };\n\n return {\n /**\n * Employment id passed useful to be used between components\n */\n employmentId,\n /**\n * Employment data\n */\n employment,\n\n /**\n * Current form field values, we use formValues to let the user know about all the current form values\n */\n fieldValues: formValues,\n\n /**\n * Indicates if the form is dirty\n */\n isDirty,\n /**\n * Current step state containing the current step and total number of steps\n */\n stepState,\n /**\n * Array of form fields from the contract amendment schema\n */\n fields: terminationHeadlessForm?.fields || [],\n /**\n * Loading state indicating if the termination schema is being fetched\n */\n isLoading: isLoadingTermination || isLoadingEmployment,\n /**\n * Loading state indicating if a contract amendment mutation is in progress\n */\n isSubmitting: createTermination.isPending,\n /**\n * Initial form values\n */\n initialValues: initialValues,\n /**\n * Function to validate form values against the contract amendment schema\n * @param values - Form values to validate\n * @returns Validation result or null if no schema is available\n */\n handleValidation: async (values: TerminationFormValues) => {\n if (terminationHeadlessForm) {\n const parsedValues = await parseJSFToValidate(\n values,\n terminationHeadlessForm?.fields,\n );\n return terminationHeadlessForm?.handleValidation(parsedValues);\n }\n return null;\n },\n /**\n * Function to update the current form field values\n * @param values - New form values to set\n */\n checkFieldUpdates: setFieldValues,\n /**\n * Function to parse form values before submission\n * @param values - Form values to parse\n * @returns Parsed form values\n */\n parseFormValues,\n /**\n * Function to handle form submission\n * @param values - Form values to submit\n * @returns Promise resolving to the mutation result\n */\n onSubmit,\n\n /**\n * Function to handle going back to the previous step\n * @returns {void}\n */\n back,\n\n /**\n * Function to handle going to the next step\n * @returns {void}\n */\n next,\n };\n};\n","import { useQuery } from '@tanstack/react-query';\nimport { getV1PayrollCalendars } from '@/src/client';\nimport { useClient } from '@/src/context';\nimport { Client } from '@/src/client/client';\n\nexport const usePayrollCalendars = ({\n query,\n options,\n}: {\n query?: {\n year?: string;\n countryCode?: string;\n };\n options?: {\n enabled?: boolean;\n };\n}) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['payroll-calendars'],\n queryFn: () =>\n getV1PayrollCalendars({\n client: client as Client,\n query: {\n year: query?.year,\n country_code: query?.countryCode,\n },\n }),\n enabled: options?.enabled,\n select: (data) => data.data?.data?.payroll_calendars?.[0],\n });\n};\n","import { isFuture, isToday, parseISO } from 'date-fns';\n\nexport const isInProbationPeriod = (probationEndDate: string | undefined) => {\n if (!probationEndDate) return false;\n\n const parsedProbationEndDate = parseISO(probationEndDate);\n\n return isFuture(parsedProbationEndDate) || isToday(parsedProbationEndDate);\n};\n"],"mappings":"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","names":["omitBy","isNull","format","isFuture","parseISO","subDays","useMemo","omit","useQuery","usePayrollCalendars","__name","query","options","client","useClient","useQuery","getV1PayrollCalendars","data","isFuture","isToday","parseISO","isInProbationPeriod","__name","probationEndDate","parsedProbationEndDate","parseISO","isFuture","isToday","Fragment","jsx","jsxs","useTermination","__name","employmentId","options","terminationInitialValues","fieldValues","setFieldValues","stepState","previousStep","nextStep","useStepState","STEPS","employment","isLoadingEmployment","useEmploymentQuery","payrollCalendars","usePayrollCalendars","isEmployeeInProbationPeriod","isInProbationPeriod","minTerminationDate","calculateMinTerminationDate","minDate","useMemo","format","hasFutureStartDate","isFuture","parseISO","employmentValues","initialValues","buildInitialValues","formValues","proposedTerminationDateStatement","calculateProposedTerminationDateStatement","customFields","originalTerminationReasonOptions","terminationDetailsSchema","terminationReasonOptions","option","createInformationField","ZendeskTriggerButton","zendeskArticles","cn","subDays","CustomComponent","PaidTimeOffContainer","props","PaidTimeOff","AcknowledgeInformationContainer","AcknowledgeInformation","zendeskIds","AcknowledgeInformationFees","terminationHeadlessForm","isLoadingTermination","useTerminationSchema","entireTerminationSchema","createHeadlessForm","jsonSchema","createTermination","useCreateTermination","mutateAsync","mutationToPromise","onSubmit","values","parsedValues","parseFormValues","customerInformedEmployee","employeeAwareness","parsedRadioValues","parseFormRadioValues","normalizedValues","omit","terminationDetails","omitBy","isNull","files","timesheetFile","terminationPayload","back","next","isDirty","includeAllFields","parseJSFToValidate"]}
|
|
1
|
+
{"version":3,"sources":["../src/flows/Termination/hooks.tsx","../src/common/api/payroll-calendars.ts","../src/common/employment.ts"],"sourcesContent":["import { $TSFixMe } from '@/src/types/remoteFlows';\nimport { createHeadlessForm } from '@/src/common/createHeadlessForm';\nimport omitBy from 'lodash.omitby';\nimport isNull from 'lodash.isnull';\nimport { format, isFuture, parseISO, subDays } from 'date-fns';\nimport { useMemo } from 'react';\nimport {\n CreateOffboardingParams,\n TerminationDetailsParams,\n} from '@/src/client';\nimport { mutationToPromise } from '@/src/lib/mutations';\nimport { parseJSFToValidate } from '@/src/components/form/utils';\nimport {\n EmployeeCommunicationFormValues,\n PaidTimeOffFormValues,\n TerminationDetailsFormValues,\n TerminationFlowProps,\n TerminationFormValues,\n} from '@/src/flows/Termination/types';\nimport omit from 'lodash.omit';\nimport { parseFormRadioValues } from '@/src/flows/utils';\nimport { useStepState } from '@/src/flows/useStepState';\nimport {\n buildInitialValues,\n calculateMinTerminationDate,\n calculateProposedTerminationDateStatement,\n STEPS,\n} from '@/src/flows/Termination/utils';\nimport { jsonSchema } from '@/src/flows/Termination/json-schemas/jsonSchema';\nimport { terminationDetailsSchema } from '@/src/flows/Termination/json-schemas/terminationDetails';\nimport {\n useCreateTermination,\n useTerminationSchema,\n} from '@/src/flows/Termination/api';\nimport { createInformationField } from '@/src/components/form/jsf-utils/createFields';\nimport { cn } from '@/src/internals';\nimport { zendeskArticles } from '@/src/components/shared/zendesk-drawer/utils';\nimport { PaidTimeOff } from '@/src/flows/Termination/components/PaidTimeOff/PaidTimeOff';\nimport { PaidTimeOffContainer } from '@/src/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer';\nimport { useEmploymentQuery } from '@/src/common/api/employment';\nimport { AcknowledgeInformationContainer } from '@/src/flows/Termination/components/AcknowledgeInformation/AcknowledgeInfomationContainer';\nimport { AcknowledgeInformation } from '@/src/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformation';\nimport { AcknowledgeInformationFees } from '@/src/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformationFees';\nimport { usePayrollCalendars } from '@/src/common/api/payroll-calendars';\nimport { isInProbationPeriod } from '@/src/common/employment';\nimport { ZendeskTriggerButton } from '@/src/components/shared/zendesk-drawer/ZendeskTriggerButton';\n\ntype TerminationHookProps = Omit<TerminationFlowProps, 'render'>;\n\nexport const useTermination = ({\n employmentId,\n options,\n initialValues: terminationInitialValues,\n}: TerminationHookProps) => {\n const { fieldValues, setFieldValues, stepState, previousStep, nextStep } =\n useStepState<keyof typeof STEPS, TerminationFormValues>(STEPS);\n\n const { data: employment, isLoading: isLoadingEmployment } =\n useEmploymentQuery({ employmentId, queryParams: { exclude_files: true } });\n\n const { data: payrollCalendars } = usePayrollCalendars({\n query: {\n year: new Date().getFullYear().toString(),\n countryCode: employment?.country?.code,\n },\n options: {\n enabled: Boolean(employment?.country?.code),\n },\n });\n\n const isEmployeeInProbationPeriod = isInProbationPeriod(\n employment?.probation_period_end_date,\n );\n\n const minTerminationDate = calculateMinTerminationDate(payrollCalendars);\n const minDate = useMemo(\n () =>\n isEmployeeInProbationPeriod\n ? format(new Date(), 'yyyy-MM-dd')\n : format(minTerminationDate, 'yyyy-MM-dd'),\n [isEmployeeInProbationPeriod, minTerminationDate],\n );\n\n const hasFutureStartDate = Boolean(\n employment?.provisional_start_date &&\n isFuture(parseISO(employment.provisional_start_date)),\n );\n\n const employmentValues = {\n personal_email: employment?.basic_information?.email as string,\n } as Partial<TerminationFormValues>;\n\n const initialValues = buildInitialValues(\n {\n ...employmentValues,\n ...terminationInitialValues,\n ...stepState.values?.employee_communication,\n ...stepState.values?.termination_details,\n ...stepState.values?.paid_time_off,\n ...stepState.values?.additional_information,\n },\n hasFutureStartDate,\n );\n\n const formValues = useMemo(\n () => ({\n ...initialValues,\n ...fieldValues,\n }),\n [fieldValues, initialValues],\n );\n\n const proposedTerminationDateStatement =\n calculateProposedTerminationDateStatement({\n minTerminationDate,\n isEmployeeInProbationPeriod,\n selectedDate: parseISO(formValues.proposed_termination_date),\n });\n\n const customFields = useMemo(() => {\n const originalTerminationReasonOptions =\n terminationDetailsSchema.data.schema.properties.termination_reason.oneOf;\n\n const terminationReasonOptions = hasFutureStartDate\n ? originalTerminationReasonOptions.filter(\n (option: $TSFixMe) =>\n option.const === 'cancellation_before_start_date',\n )\n : originalTerminationReasonOptions.filter(\n (option: $TSFixMe) =>\n option.const !== 'cancellation_before_start_date',\n );\n\n return {\n fields: {\n risk_assesment_info: createInformationField(\n 'Offboarding risk assessment',\n 'Employees may be protected from termination if they fall into certain categories. To help avoid claims from employees, let us know if the employee is part of one or more of these categories. Select all that apply.',\n {\n className: (\n options?.jsfModify?.fields?.risk_assesment_info as $TSFixMe\n )?.['x-jsf-presentation']?.className,\n },\n ),\n termination_reason: {\n ...(options?.jsfModify?.fields?.termination_reason as $TSFixMe),\n oneOf: terminationReasonOptions,\n },\n proposed_termination_date_info: createInformationField(\n 'Proposed termination date',\n <>\n In most cases, Remote must provide notice to the employee before\n termination. The required notice period depends on local labor laws,\n the employment agreement, and other factors. We'll use those factors\n to determine the required notice period.\n <ZendeskTriggerButton\n external\n zendeskId={zendeskArticles.terminationNoticePeriods}\n className={cn(\n 'text-sm',\n (\n options?.jsfModify?.fields\n ?.proposed_termination_date_info as $TSFixMe\n )?.['x-jsf-presentation']?.zendeskTriggerButtonClassName,\n )}\n >\n Learn about notice periods\n </ZendeskTriggerButton>\n </>,\n {\n className: (\n options?.jsfModify?.fields\n ?.proposed_termination_date_info as $TSFixMe\n )?.['x-jsf-presentation']?.className,\n },\n ),\n proposed_termination_date: {\n ...(options?.jsfModify?.fields\n ?.proposed_termination_date as $TSFixMe),\n 'x-jsf-presentation': {\n ...(\n options?.jsfModify?.fields?.proposed_termination_date as $TSFixMe\n )?.['x-jsf-presentation'],\n minDate: minDate,\n ...(formValues.termination_reason ===\n 'cancellation_before_start_date' &&\n employment?.provisional_start_date\n ? {\n maxDate: format(\n subDays(parseISO(employment.provisional_start_date), 1),\n 'yyyy-MM-dd',\n ),\n }\n : {}),\n ...proposedTerminationDateStatement,\n },\n ...(formValues.termination_reason === 'cancellation_before_start_date'\n ? {\n 'x-jsf-errorMessage': {\n maximum:\n \"The proposed termination date must be before the employee's start date.\",\n },\n }\n : {}),\n },\n paid_time_off_info: {\n ...(options?.jsfModify?.fields?.paid_time_off_info as $TSFixMe),\n 'x-jsf-presentation': {\n ...(options?.jsfModify?.fields?.paid_time_off_info as $TSFixMe)?.[\n 'x-jsf-presentation'\n ],\n Component: () => {\n const CustomComponent = (\n options?.jsfModify?.fields?.paid_time_off_info as $TSFixMe\n )?.['x-jsf-presentation']?.Component;\n\n return (\n <PaidTimeOffContainer\n employeeName={employment?.basic_information?.name as string}\n proposedTerminationDate={formValues.proposed_termination_date}\n employmentId={employmentId}\n employment={employment}\n render={(props) => {\n if (CustomComponent) {\n return <CustomComponent {...props} />;\n }\n return <PaidTimeOff {...props} />;\n }}\n />\n );\n },\n },\n },\n acknowledge_termination_procedure_info: {\n ...(options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_info as $TSFixMe),\n 'x-jsf-presentation': {\n ...(\n options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_info as $TSFixMe\n )?.['x-jsf-presentation'],\n Component: () => {\n const CustomComponent = (\n options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_info as $TSFixMe\n )?.['x-jsf-presentation']?.Component;\n\n return (\n <AcknowledgeInformationContainer\n render={(props) => {\n if (CustomComponent) {\n return <CustomComponent {...props} />;\n }\n return <AcknowledgeInformation {...props} />;\n }}\n />\n );\n },\n },\n },\n acknowledge_termination_procedure_fees_info: {\n ...(options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_fees_info as $TSFixMe),\n 'x-jsf-presentation': {\n ...(\n options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_fees_info as $TSFixMe\n )?.['x-jsf-presentation'],\n Component: () => {\n const zendeskIds = {\n involuntaryOffboardingServiceChargeZendeskId:\n zendeskArticles.involuntaryOffboardingServiceCharge,\n reconciliationInvoiceZendeskId:\n zendeskArticles.reconciliationInvoice,\n };\n\n const CustomComponent = (\n options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_fees_info as $TSFixMe\n )?.['x-jsf-presentation']?.Component;\n\n if (CustomComponent) {\n return <CustomComponent {...zendeskIds} />;\n }\n\n return <AcknowledgeInformationFees {...zendeskIds} />;\n },\n },\n },\n },\n };\n }, [\n employment,\n employmentId,\n formValues.proposed_termination_date,\n formValues.termination_reason,\n hasFutureStartDate,\n minDate,\n options?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info,\n options?.jsfModify?.fields?.acknowledge_termination_procedure_info,\n options?.jsfModify?.fields?.paid_time_off_info,\n options?.jsfModify?.fields?.proposed_termination_date,\n options?.jsfModify?.fields?.proposed_termination_date_info,\n options?.jsfModify?.fields?.risk_assesment_info,\n options?.jsfModify?.fields?.termination_reason,\n proposedTerminationDateStatement,\n ]);\n\n const { data: terminationHeadlessForm, isLoading: isLoadingTermination } =\n useTerminationSchema({\n formValues: formValues,\n jsfModify: {\n ...options?.jsfModify,\n fields: {\n ...options?.jsfModify?.fields,\n ...customFields?.fields,\n },\n },\n step: stepState.currentStep.name,\n });\n\n const entireTerminationSchema = createHeadlessForm(jsonSchema.data.schema);\n\n const createTermination = useCreateTermination();\n const { mutateAsync } = mutationToPromise(createTermination);\n\n async function onSubmit(values: TerminationFormValues) {\n if (!employmentId) {\n throw new Error('Employment id is missing');\n }\n\n if (terminationHeadlessForm) {\n const parsedValues = (await parseFormValues(\n values,\n true,\n )) as TerminationFormValues;\n\n const { customer_informed_employee: customerInformedEmployee } =\n parsedValues;\n\n const employeeAwareness =\n customerInformedEmployee === 'yes'\n ? {\n employee_awareness: {\n date: parsedValues.customer_informed_employee_date,\n note: parsedValues.customer_informed_employee_description,\n },\n }\n : undefined;\n\n const radioFieldKeys = [\n 'agrees_to_pto_amount',\n 'confidential',\n 'customer_informed_employee',\n 'will_challenge_termination',\n ];\n\n const parsedRadioValues = await parseFormRadioValues(\n parsedValues,\n radioFieldKeys,\n );\n\n const normalizedValues = omit(\n parsedRadioValues,\n 'customer_informed_employee_date',\n 'customer_informed_employee_description',\n );\n\n const terminationDetails: TerminationDetailsParams = omitBy(\n {\n ...normalizedValues,\n ...employeeAwareness,\n },\n isNull,\n ) as unknown as TerminationDetailsParams;\n\n const files = (parsedValues.timesheet_file as $TSFixMe) ?? [];\n const timesheetFile =\n Array.isArray(files) && files.length > 0\n ? { content: files[0].content, name: files[0].name }\n : undefined;\n\n const terminationPayload: CreateOffboardingParams = {\n employment_id: employmentId,\n termination_details: {\n ...terminationDetails,\n timesheet_file: timesheetFile ? timesheetFile : undefined,\n },\n type: 'termination',\n };\n\n return mutateAsync(terminationPayload);\n }\n\n return;\n }\n\n function back() {\n previousStep();\n }\n\n function next() {\n nextStep();\n }\n\n const isDirty = Boolean(Object.keys(fieldValues).length > 0);\n\n const parseFormValues = async (\n values: TerminationFormValues,\n includeAllFields: boolean = false,\n ): Promise<\n | EmployeeCommunicationFormValues\n | TerminationDetailsFormValues\n | PaidTimeOffFormValues\n | TerminationFormValues\n > => {\n if (includeAllFields) {\n return (await parseJSFToValidate(values, entireTerminationSchema.fields, {\n isPartialValidation: true,\n })) as TerminationFormValues;\n }\n\n if (terminationHeadlessForm) {\n return (await parseJSFToValidate(\n values,\n terminationHeadlessForm?.fields,\n {\n isPartialValidation: true,\n },\n )) as\n | EmployeeCommunicationFormValues\n | TerminationDetailsFormValues\n | PaidTimeOffFormValues;\n }\n return {} as $TSFixMe;\n };\n\n return {\n /**\n * Employment id passed useful to be used between components\n */\n employmentId,\n /**\n * Employment data\n */\n employment,\n\n /**\n * Current form field values, we use formValues to let the user know about all the current form values\n */\n fieldValues: formValues,\n\n /**\n * Indicates if the form is dirty\n */\n isDirty,\n /**\n * Current step state containing the current step and total number of steps\n */\n stepState,\n /**\n * Array of form fields from the contract amendment schema\n */\n fields: terminationHeadlessForm?.fields || [],\n /**\n * Loading state indicating if the termination schema is being fetched\n */\n isLoading: isLoadingTermination || isLoadingEmployment,\n /**\n * Loading state indicating if a contract amendment mutation is in progress\n */\n isSubmitting: createTermination.isPending,\n /**\n * Initial form values\n */\n initialValues: initialValues,\n /**\n * Function to validate form values against the contract amendment schema\n * @param values - Form values to validate\n * @returns Validation result or null if no schema is available\n */\n handleValidation: async (values: TerminationFormValues) => {\n if (terminationHeadlessForm) {\n const parsedValues = await parseJSFToValidate(\n values,\n terminationHeadlessForm?.fields,\n );\n return terminationHeadlessForm?.handleValidation(parsedValues);\n }\n return null;\n },\n /**\n * Function to update the current form field values\n * @param values - New form values to set\n */\n checkFieldUpdates: setFieldValues,\n /**\n * Function to parse form values before submission\n * @param values - Form values to parse\n * @returns Parsed form values\n */\n parseFormValues,\n /**\n * Function to handle form submission\n * @param values - Form values to submit\n * @returns Promise resolving to the mutation result\n */\n onSubmit,\n\n /**\n * Function to handle going back to the previous step\n * @returns {void}\n */\n back,\n\n /**\n * Function to handle going to the next step\n * @returns {void}\n */\n next,\n };\n};\n","import { useQuery } from '@tanstack/react-query';\nimport { getV1PayrollCalendars } from '@/src/client';\nimport { useClient } from '@/src/context';\nimport { Client } from '@/src/client/client';\n\nexport const usePayrollCalendars = ({\n query,\n options,\n}: {\n query?: {\n year?: string;\n countryCode?: string;\n };\n options?: {\n enabled?: boolean;\n };\n}) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['payroll-calendars'],\n queryFn: () =>\n getV1PayrollCalendars({\n client: client as Client,\n query: {\n year: query?.year,\n country_code: query?.countryCode,\n },\n }),\n enabled: options?.enabled,\n select: (data) => data.data?.data?.payroll_calendars?.[0],\n });\n};\n","import { isFuture, isToday, parseISO } from 'date-fns';\n\nexport const isInProbationPeriod = (probationEndDate: string | undefined) => {\n if (!probationEndDate) return false;\n\n const parsedProbationEndDate = parseISO(probationEndDate);\n\n return isFuture(parsedProbationEndDate) || isToday(parsedProbationEndDate);\n};\n"],"mappings":"00BAEA,OAAOA,OAAY,gBACnB,OAAOC,OAAY,gBACnB,OAAS,UAAAC,EAAQ,YAAAC,GAAU,YAAAC,EAAU,WAAAC,OAAe,WACpD,OAAS,WAAAC,MAAe,QAcxB,OAAOC,OAAU,cCnBjB,OAAS,YAAAC,OAAgB,wBAKlB,IAAMC,EAAsBC,EAAA,CAAC,CAClC,MAAAC,EACA,QAAAC,CACF,IAQM,CACJ,GAAM,CAAE,OAAAC,CAAO,EAAIC,EAAU,EAC7B,OAAOC,GAAS,CACd,SAAU,CAAC,mBAAmB,EAC9B,QAASL,EAAA,IACPM,EAAsB,CACpB,OAAQH,EACR,MAAO,CACL,KAAMF,GAAO,KACb,aAAcA,GAAO,WACvB,CACF,CAAC,EAPM,WAQT,QAASC,GAAS,QAClB,OAAQF,EAACO,GAASA,EAAK,MAAM,MAAM,oBAAoB,CAAC,EAAhD,SACV,CAAC,CACH,EA1BmC,uBCLnC,OAAS,YAAAC,GAAU,WAAAC,GAAS,YAAAC,OAAgB,WAErC,IAAMC,EAAsBC,EAACC,GAAyC,CAC3E,GAAI,CAACA,EAAkB,MAAO,GAE9B,IAAMC,EAAyBC,GAASF,CAAgB,EAExD,OAAOG,GAASF,CAAsB,GAAKG,GAAQH,CAAsB,CAC3E,EANmC,uBFoJzB,mBAAAI,GAKE,OAAAC,EALF,QAAAC,OAAA,oBArGH,IAAMC,GAAiBC,EAAA,CAAC,CAC7B,aAAAC,EACA,QAAAC,EACA,cAAeC,CACjB,IAA4B,CAC1B,GAAM,CAAE,YAAAC,EAAa,eAAAC,GAAgB,UAAAC,EAAW,aAAAC,GAAc,SAAAC,EAAS,EACrEC,EAAwDC,CAAK,EAEzD,CAAE,KAAMC,EAAY,UAAWC,EAAoB,EACvDC,EAAmB,CAAE,aAAAZ,EAAc,YAAa,CAAE,cAAe,EAAK,CAAE,CAAC,EAErE,CAAE,KAAMa,EAAiB,EAAIC,EAAoB,CACrD,MAAO,CACL,KAAM,IAAI,KAAK,EAAE,YAAY,EAAE,SAAS,EACxC,YAAaJ,GAAY,SAAS,IACpC,EACA,QAAS,CACP,QAAS,EAAQA,GAAY,SAAS,IACxC,CACF,CAAC,EAEKK,EAA8BC,EAClCN,GAAY,yBACd,EAEMO,EAAqBC,EAA4BL,EAAgB,EACjEM,EAAUC,EACd,IACEL,EACIM,EAAO,IAAI,KAAQ,YAAY,EAC/BA,EAAOJ,EAAoB,YAAY,EAC7C,CAACF,EAA6BE,CAAkB,CAClD,EAEMK,EAAqB,GACzBZ,GAAY,wBACZa,GAASC,EAASd,EAAW,sBAAsB,CAAC,GAGhDe,GAAmB,CACvB,eAAgBf,GAAY,mBAAmB,KACjD,EAEMgB,EAAgBC,EACpB,CACE,GAAGF,GACH,GAAGvB,EACH,GAAGG,EAAU,QAAQ,uBACrB,GAAGA,EAAU,QAAQ,oBACrB,GAAGA,EAAU,QAAQ,cACrB,GAAGA,EAAU,QAAQ,sBACvB,EACAiB,CACF,EAEMM,EAAaR,EACjB,KAAO,CACL,GAAGM,EACH,GAAGvB,CACL,GACA,CAACA,EAAauB,CAAa,CAC7B,EAEMG,EACJC,EAA0C,CACxC,mBAAAb,EACA,4BAAAF,EACA,aAAcS,EAASI,EAAW,yBAAyB,CAC7D,CAAC,EAEGG,GAAeX,EAAQ,IAAM,CACjC,IAAMY,EACJC,EAAyB,KAAK,OAAO,WAAW,mBAAmB,MAE/DC,EAA2BZ,EAC7BU,EAAiC,OAC9BG,GACCA,EAAO,QAAU,gCACrB,EACAH,EAAiC,OAC9BG,GACCA,EAAO,QAAU,gCACrB,EAEJ,MAAO,CACL,OAAQ,CACN,oBAAqBC,EACnB,8BACA,wNACA,CACE,UACEnC,GAAS,WAAW,QAAQ,sBAC1B,oBAAoB,GAAG,SAC7B,CACF,EACA,mBAAoB,CAClB,GAAIA,GAAS,WAAW,QAAQ,mBAChC,MAAOiC,CACT,EACA,+BAAgCE,EAC9B,4BACAvC,GAAAF,GAAA,CAAE,gQAKAC,EAACyC,EAAA,CACC,SAAQ,GACR,UAAWC,EAAgB,yBAC3B,UAAWC,EACT,UAEEtC,GAAS,WAAW,QAChB,iCACF,oBAAoB,GAAG,6BAC7B,EACD,sCAED,GACF,EACA,CACE,UACEA,GAAS,WAAW,QAChB,iCACF,oBAAoB,GAAG,SAC7B,CACF,EACA,0BAA2B,CACzB,GAAIA,GAAS,WAAW,QACpB,0BACJ,qBAAsB,CACpB,GACEA,GAAS,WAAW,QAAQ,4BAC1B,oBAAoB,EACxB,QAASkB,EACT,GAAIS,EAAW,qBACb,kCACFlB,GAAY,uBACR,CACE,QAASW,EACPmB,GAAQhB,EAASd,EAAW,sBAAsB,EAAG,CAAC,EACtD,YACF,CACF,EACA,CAAC,EACL,GAAGmB,CACL,EACA,GAAID,EAAW,qBAAuB,iCAClC,CACE,qBAAsB,CACpB,QACE,yEACJ,CACF,EACA,CAAC,CACP,EACA,mBAAoB,CAClB,GAAI3B,GAAS,WAAW,QAAQ,mBAChC,qBAAsB,CACpB,GAAIA,GAAS,WAAW,QAAQ,qBAC9B,oBACF,EACA,UAAWF,EAAA,IAAM,CACf,IAAM0C,EACJxC,GAAS,WAAW,QAAQ,qBAC1B,oBAAoB,GAAG,UAE3B,OACEL,EAAC8C,EAAA,CACC,aAAchC,GAAY,mBAAmB,KAC7C,wBAAyBkB,EAAW,0BACpC,aAAc5B,EACd,WAAYU,EACZ,OAASiC,GACHF,EACK7C,EAAC6C,EAAA,CAAiB,GAAGE,EAAO,EAE9B/C,EAACgD,EAAA,CAAa,GAAGD,EAAO,EAEnC,CAEJ,EAnBW,YAoBb,CACF,EACA,uCAAwC,CACtC,GAAI1C,GAAS,WAAW,QACpB,uCACJ,qBAAsB,CACpB,GACEA,GAAS,WAAW,QAChB,yCACF,oBAAoB,EACxB,UAAWF,EAAA,IAAM,CACf,IAAM0C,EACJxC,GAAS,WAAW,QAChB,yCACF,oBAAoB,GAAG,UAE3B,OACEL,EAACiD,EAAA,CACC,OAASF,GACHF,EACK7C,EAAC6C,EAAA,CAAiB,GAAGE,EAAO,EAE9B/C,EAACkD,EAAA,CAAwB,GAAGH,EAAO,EAE9C,CAEJ,EAhBW,YAiBb,CACF,EACA,4CAA6C,CAC3C,GAAI1C,GAAS,WAAW,QACpB,4CACJ,qBAAsB,CACpB,GACEA,GAAS,WAAW,QAChB,8CACF,oBAAoB,EACxB,UAAWF,EAAA,IAAM,CACf,IAAMgD,EAAa,CACjB,6CACET,EAAgB,oCAClB,+BACEA,EAAgB,qBACpB,EAEMG,EACJxC,GAAS,WAAW,QAChB,8CACF,oBAAoB,GAAG,UAE3B,OAAIwC,EACK7C,EAAC6C,EAAA,CAAiB,GAAGM,EAAY,EAGnCnD,EAACoD,EAAA,CAA4B,GAAGD,EAAY,CACrD,EAlBW,YAmBb,CACF,CACF,CACF,CACF,EAAG,CACDrC,EACAV,EACA4B,EAAW,0BACXA,EAAW,mBACXN,EACAH,EACAlB,GAAS,WAAW,QAAQ,4CAC5BA,GAAS,WAAW,QAAQ,uCAC5BA,GAAS,WAAW,QAAQ,mBAC5BA,GAAS,WAAW,QAAQ,0BAC5BA,GAAS,WAAW,QAAQ,+BAC5BA,GAAS,WAAW,QAAQ,oBAC5BA,GAAS,WAAW,QAAQ,mBAC5B4B,CACF,CAAC,EAEK,CAAE,KAAMoB,EAAyB,UAAWC,EAAqB,EACrEC,EAAqB,CACnB,WAAYvB,EACZ,UAAW,CACT,GAAG3B,GAAS,UACZ,OAAQ,CACN,GAAGA,GAAS,WAAW,OACvB,GAAG8B,IAAc,MACnB,CACF,EACA,KAAM1B,EAAU,YAAY,IAC9B,CAAC,EAEG+C,GAA0BC,EAAmBC,EAAW,KAAK,MAAM,EAEnEC,EAAoBC,EAAqB,EACzC,CAAE,YAAAC,EAAY,EAAIC,EAAkBH,CAAiB,EAE3D,eAAeI,GAASC,EAA+B,CACrD,GAAI,CAAC5D,EACH,MAAM,IAAI,MAAM,0BAA0B,EAG5C,GAAIiD,EAAyB,CAC3B,IAAMY,EAAgB,MAAMC,EAC1BF,EACA,EACF,EAEM,CAAE,2BAA4BG,CAAyB,EAC3DF,EAEIG,EACJD,IAA6B,MACzB,CACE,mBAAoB,CAClB,KAAMF,EAAa,gCACnB,KAAMA,EAAa,sCACrB,CACF,EACA,OASAI,GAAoB,MAAMC,EAC9BL,EARqB,CACrB,uBACA,eACA,6BACA,4BACF,CAKA,EAEMM,GAAmBC,GACvBH,GACA,kCACA,wCACF,EAEMI,GAA+CC,GACnD,CACE,GAAGH,GACH,GAAGH,CACL,EACAO,EACF,EAEMC,EAASX,EAAa,gBAA+B,CAAC,EACtDY,EACJ,MAAM,QAAQD,CAAK,GAAKA,EAAM,OAAS,EACnC,CAAE,QAASA,EAAM,CAAC,EAAE,QAAS,KAAMA,EAAM,CAAC,EAAE,IAAK,EACjD,OAEAE,GAA8C,CAClD,cAAe1E,EACf,oBAAqB,CACnB,GAAGqE,GACH,eAAgBI,GAAgC,MAClD,EACA,KAAM,aACR,EAEA,OAAOhB,GAAYiB,EAAkB,CACvC,CAGF,CArEe3E,EAAA4D,GAAA,YAuEf,SAASgB,IAAO,CACdrE,GAAa,CACf,CAFSP,EAAA4E,GAAA,QAIT,SAASC,IAAO,CACdrE,GAAS,CACX,CAFSR,EAAA6E,GAAA,QAIT,IAAMC,GAAkB,OAAO,KAAK1E,CAAW,EAAE,OAAS,EAEpD2D,EAAkB/D,EAAA,MACtB6D,EACAkB,EAA4B,KAOxBA,EACM,MAAMC,EAAmBnB,EAAQR,GAAwB,OAAQ,CACvE,oBAAqB,EACvB,CAAC,EAGCH,EACM,MAAM8B,EACZnB,EACAX,GAAyB,OACzB,CACE,oBAAqB,EACvB,CACF,EAKK,CAAC,EA3Bc,mBA8BxB,MAAO,CAIL,aAAAjD,EAIA,WAAAU,EAKA,YAAakB,EAKb,QAAAiD,GAIA,UAAAxE,EAIA,OAAQ4C,GAAyB,QAAU,CAAC,EAI5C,UAAWC,IAAwBvC,GAInC,aAAc4C,EAAkB,UAIhC,cAAe7B,EAMf,iBAAkB3B,EAAA,MAAO6D,GAAkC,CACzD,GAAIX,EAAyB,CAC3B,IAAMY,EAAe,MAAMkB,EACzBnB,EACAX,GAAyB,MAC3B,EACA,OAAOA,GAAyB,iBAAiBY,CAAY,CAC/D,CACA,OAAO,IACT,EATkB,oBAclB,kBAAmBzD,GAMnB,gBAAA0D,EAMA,SAAAH,GAMA,KAAAgB,GAMA,KAAAC,EACF,CACF,EAxd8B","names":["omitBy","isNull","format","isFuture","parseISO","subDays","useMemo","omit","useQuery","usePayrollCalendars","__name","query","options","client","useClient","useQuery","getV1PayrollCalendars","data","isFuture","isToday","parseISO","isInProbationPeriod","__name","probationEndDate","parsedProbationEndDate","parseISO","isFuture","isToday","Fragment","jsx","jsxs","useTermination","__name","employmentId","options","terminationInitialValues","fieldValues","setFieldValues","stepState","previousStep","nextStep","useStepState","STEPS","employment","isLoadingEmployment","useEmploymentQuery","payrollCalendars","usePayrollCalendars","isEmployeeInProbationPeriod","isInProbationPeriod","minTerminationDate","calculateMinTerminationDate","minDate","useMemo","format","hasFutureStartDate","isFuture","parseISO","employmentValues","initialValues","buildInitialValues","formValues","proposedTerminationDateStatement","calculateProposedTerminationDateStatement","customFields","originalTerminationReasonOptions","terminationDetailsSchema","terminationReasonOptions","option","createInformationField","ZendeskTriggerButton","zendeskArticles","cn","subDays","CustomComponent","PaidTimeOffContainer","props","PaidTimeOff","AcknowledgeInformationContainer","AcknowledgeInformation","zendeskIds","AcknowledgeInformationFees","terminationHeadlessForm","isLoadingTermination","useTerminationSchema","entireTerminationSchema","createHeadlessForm","jsonSchema","createTermination","useCreateTermination","mutateAsync","mutationToPromise","onSubmit","values","parsedValues","parseFormValues","customerInformedEmployee","employeeAwareness","parsedRadioValues","parseFormRadioValues","normalizedValues","omit","terminationDetails","omitBy","isNull","files","timesheetFile","terminationPayload","back","next","isDirty","includeAllFields","parseJSFToValidate"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as n}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as n}from"./chunk-7GO4BHOI.js";import{b as i}from"./chunk-76ZDXC2T.js";import{x as a}from"./chunk-C4HFMTSB.js";import{a as o}from"./chunk-P37U34EQ.js";import{jsx as c}from"react/jsx-runtime";function C({onSubmit:m,onSuccess:l,onError:t}){let{createCompanyBag:e}=i(),p=o(async d=>{try{await m?.(d);let r=await e.onSubmit(d);if(r?.data){await l?.(r?.data);return}if(r?.error){let s=a(r,e.meta?.fields?.address_details);t?.(s)}}catch(r){let s=a(r,e.meta?.fields?.address_details);t?.(s)}},"handleSubmit"),u=e.stepState.values?.address_details||e.initialValues.address_details;return c(n,{defaultValues:u,onSubmit:p})}o(C,"AddressDetailsStep");export{C as a};
|
|
2
|
+
//# sourceMappingURL=chunk-GM3UWUVL.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as e}from"./chunk-P37U34EQ.js";var t={disclaimerCostCalculator:4668194326797,engagingContractors:43161434169613,employmentAgreements:39266991211149,employeeOnboardingTimeline:4411262104589,extraPayments:4466822781709,germanyLaborLeasing:43002165606541,internationalPricing:4410698586893,pricingPlanOptions:43161720465421,ir35Status:42810224523917,remoteFxRate:33271144977421,terminationEmployeeCommunication:4411585179661,terminationNoticePeriods:5831900985613,involuntaryOffboardingServiceCharge:4406932229133,reconciliationInvoice:17604014808589},i=e(n=>`https://support.remote.com/hc/en-us/articles/${n}`,"buildZendeskURL");export{t as a,i as b};
|
|
2
|
+
//# sourceMappingURL=chunk-GPWQPJQ7.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/shared/zendesk-drawer/utils.ts"],"sourcesContent":["export const zendeskArticles = {\n /**\n * Disclaimer for Cost Calculator\n * Access: Private (Need Remote account to access)\n * https://support.remote.com/hc/en-us/articles/4668194326797\n */\n disclaimerCostCalculator: 4668194326797,\n /**\n * Guide for engaging contractors\n * Access: Private (Need Remote account to access)\n * https://support.remote.com/hc/en-us/articles/43161434169613\n */\n engagingContractors: 43161434169613,\n /**\n * Employment Agreements\n * Access: Public (Need Remote account to access)\n * https://support.remote.com/hc/en-us/articles/39266991211149\n */\n employmentAgreements: 39266991211149,\n /**\n * Employee Onboarding Timeline\n * Access: Private (Need Remote account to access)\n * https://support.remote.com/hc/en-us/articles/4411262104589\n */\n employeeOnboardingTimeline: 4411262104589,\n /**\n * Extra Payments\n * Access: Public (Everyone can access)\n * https://support.remote.com/hc/en-us/articles/4466822781709\n */\n extraPayments: 4466822781709,\n /**\n * Germany Labor Leasing\n * Access: Private (Need Remote account to access)\n * https://support.remote.com/hc/en-us/articles/43002165606541\n */\n germanyLaborLeasing: 43002165606541,\n /**\n * International Pricing\n * Access: Public (Everyone can access)\n * https://support.remote.com/hc/en-us/articles/4410698586893\n */\n internationalPricing: 4410698586893,\n /**\n * Pricing Plan Options\n * Access: Private (Need Remote account to access)\n * https://support.remote.com/hc/en-us/articles/43161720465421\n */\n pricingPlanOptions: 43161720465421,\n /**\n * IR35 Status\n * Access: Private (Need Remote account to access)\n * https://support.remote.com/hc/en-us/articles/42810224523917\n */\n ir35Status: 42810224523917,\n /**\n * Remote FX Rate\n * Access: Public (Everyone can access)\n * https://support.remote.com/hc/en-us/articles/33271144977421\n */\n remoteFxRate: 33271144977421,\n /**\n * Employee Communication for Terminations\n * Access: Public (Everyone can access)\n * https://support.remote.com/hc/en-us/articles/4411585179661\n */\n terminationEmployeeCommunication: 4411585179661,\n /**\n * Notice Period for Terminations by Country\n * Access: Public (Everyone can access)\n * https://support.remote.com/hc/en-us/articles/5831900985613\n */\n terminationNoticePeriods: 5831900985613,\n /**\n * Involuntary Offboarding Service Charge\n * Access: Private (Need Remote account to access)\n * https://support.remote.com/hc/en-us/articles/4406932229133\n */\n involuntaryOffboardingServiceCharge: 4406932229133,\n /**\n * Reconciliation Invoice\n * Access: Public (Everyone can access)\n * https://support.remote.com/hc/en-us/articles/17604014808589\n */\n reconciliationInvoice: 17604014808589,\n};\n\nexport const buildZendeskURL = (zendeskId: number) => {\n return `https://support.remote.com/hc/en-us/articles/${zendeskId}`;\n};\n"],"mappings":"wCAAO,IAAMA,EAAkB,CAM7B,yBAA0B,cAM1B,oBAAqB,eAMrB,qBAAsB,eAMtB,2BAA4B,cAM5B,cAAe,cAMf,oBAAqB,eAMrB,qBAAsB,cAMtB,mBAAoB,eAMpB,WAAY,eAMZ,aAAc,eAMd,iCAAkC,cAMlC,yBAA0B,cAM1B,oCAAqC,cAMrC,sBAAuB,cACzB,EAEaC,EAAkBC,EAACC,GACvB,gDAAgDA,CAAS,GADnC","names":["zendeskArticles","buildZendeskURL","__name","zendeskId"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as k}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as k}from"./chunk-WGDZTF7Y.js";import{a as s}from"./chunk-JJUOWS3K.js";import{j as p,k as r,l as d,n as u,o as i}from"./chunk-AUPAAQUT.js";import{n as _}from"./chunk-C4HFMTSB.js";import{a as F}from"./chunk-P37U34EQ.js";import{Fragment as x,jsx as e,jsxs as a}from"react/jsx-runtime";var w=F(({field:l,fieldState:b,fieldData:t})=>{let{name:m,label:n,description:C,options:c,multiple:h}=t;return a(p,{"data-field":m,className:_(`RemoteFlows__CheckBoxField__Item__${m}`),children:[e(d,{children:a(x,{children:[c&&h?e(r,{children:n}):null,c&&h?c.map(o=>a("div",{className:"flex space-x-2",children:[e(s,{id:o.value,onCheckedChange:v=>{l.onChange(v===!0,o.value)},checked:l.value?.includes(o.value),className:"RemoteFlows__CheckBox__Input"}),e(r,{htmlFor:o.value,className:"mb-0 RemoteFlows__CheckBox__Label",children:o.label})]},o.value)):a("div",{className:"flex space-x-2",children:[e(s,{id:m,onCheckedChange:o=>{l.onChange(o===!0,null)},checked:l.value,className:"RemoteFlows__CheckBox__Input"}),e(r,{htmlFor:m,className:"mb-0 RemoteFlows__CheckBox__Label",children:n})]})]})}),(C||t.meta?.helpCenter)&&e(u,{helpCenter:e(k,{helpCenter:t.meta?.helpCenter}),children:C}),b.error&&e(i,{})]})},"CheckboxFieldDefault");export{w as a};
|
|
2
|
+
//# sourceMappingURL=chunk-H5OZSXSY.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a}from"./chunk-GM3UWUVL.js";import{a as m}from"./chunk-XTVXWH3Q.js";import{a as p}from"./chunk-IFIJ7OVJ.js";import{a as e}from"./chunk-76ZDXC2T.js";import{a as r}from"./chunk-FDTOQHOJ.js";import{a as t}from"./chunk-P37U34EQ.js";import{useId as y}from"react";import{jsx as d}from"react/jsx-runtime";var P=t(({render:n,countryCode:C,options:i,initialValues:s})=>{let o=r({options:i,countryCode:C,initialValues:s}),f=y();return d(e.Provider,{value:{createCompanyBag:o,formId:f},children:n({createCompanyBag:o,components:{CompanyBasicInformationStep:m,AddressDetailsStep:a,SubmitButton:p}})})},"CreateCompanyFlow");export{P as a};
|
|
2
|
+
//# sourceMappingURL=chunk-I4CKTODX.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a}from"./chunk-LMYJ6V44.js";import{a as e}from"./chunk-TC7EQZJK.js";import{a as r}from"./chunk-NX7MM6XR.js";import{a as t}from"./chunk-ZXGAFQXW.js";var i={data:{version:7,schema:{additionalProperties:!1,allOf:[...e.data.schema.allOf,...t.data.schema.allOf,...r.data.schema.allOf,...a.data.schema.allOf],properties:{...e.data.schema.properties,...t.data.schema.properties,...r.data.schema.properties,...a.data.schema.properties},required:[...e.data.schema.required,...t.data.schema.required,...r.data.schema.required,...a.data.schema.required],type:"object","x-jsf-order":[...e.data.schema["x-jsf-order"],...t.data.schema["x-jsf-order"],...r.data.schema["x-jsf-order"],...a.data.schema["x-jsf-order"]]}}};export{i as a};
|
|
2
|
+
//# sourceMappingURL=chunk-IF42CZJH.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as p}from"./chunk-XFVXRCMH.js";import{
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as p}from"./chunk-XFVXRCMH.js";import{$ as C,C as u,N as c,V as m,fa as d,p as l}from"./chunk-VNMUML3T.js";import{e as i}from"./chunk-H2O4CVKF.js";import{a as t}from"./chunk-P37U34EQ.js";import{useMutation as n,useQuery as r}from"@tanstack/react-query";var q=t(({includePremiumBenefits:e})=>{let{client:o}=i();return r({queryKey:["cost-calculator-countries",e],queryFn:t(()=>c({client:o,query:{include_premium_benefits:e}}),"queryFn"),select:t(a=>a.data?.data.filter(s=>s.availability==="active").map(s=>({value:s.region_slug,label:s.name,childRegions:s.child_regions,hasAdditionalFields:s.has_additional_fields,regionSlug:s.region_slug,currency:s.currency.code})),"select")})},"useCostCalculatorCountries"),P=t(()=>{let{client:e}=i();return r({queryKey:["company-currencies"],queryFn:t(()=>d({client:e}),"queryFn"),select:t(o=>o.data?.data?.company_currencies.map(a=>({value:a.slug,label:a.code})),"select")})},"useCompanyCurrencies"),h=t(()=>{let{client:e}=i();return n({mutationFn:t(o=>l({client:e,body:o}),"mutationFn")})},"useCostCalculatorEstimation"),v=t(()=>{let{client:e}=i();return n({mutationFn:t(o=>u({client:e,body:o}),"mutationFn")})},"useCostCalculatorEstimationPdf"),x=t(()=>{let{client:e}=i();return n({mutationFn:t(o=>C({client:e,body:o}),"mutationFn")})},"useCostCalculatorEstimationCsv"),V=t((e,{includePremiumBenefits:o,options:a})=>{let{client:s}=i();return r({queryKey:["cost-calculator-region-fields",e,o],queryFn:t(()=>m({client:s,path:{slug:e},query:{include_premium_benefits:o}}),"queryFn"),enabled:!!e,select:t(({data:f})=>{let y=f?.data?.schema||{};return p(y,void 0,a)},"select")})},"useRegionFields");export{q as a,P as b,h as c,v as d,x as e,V as f};
|
|
2
|
+
//# sourceMappingURL=chunk-ILX6RI7K.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as L,b as H,c as U,e as O}from"./chunk-SWLNTVAX.js";import{f as W}from"./chunk-QN6OMOUW.js";import{a as oe}from"./chunk-WI4YITIC.js";import{a as ie}from"./chunk-TYCOSAU4.js";import{a as _,c as J,d as I,e as k,f as j}from"./chunk-QRSWXKRV.js";import{f as le,g as V,h as te}from"./chunk-AUPAAQUT.js";import{n as g}from"./chunk-C4HFMTSB.js";import{e as ae}from"./chunk-H2O4CVKF.js";import{a as i}from"./chunk-P37U34EQ.js";import*as M from"@radix-ui/react-collapsible";var ge=M.Root,ye=M.CollapsibleTrigger,Se=M.CollapsibleContent;import*as y from"@radix-ui/react-dialog";import{XIcon as he}from"lucide-react";import{jsx as F,jsxs as K}from"react/jsx-runtime";function xe({...e}){return F(y.Root,{"data-slot":"full-screen-dialog",...e})}i(xe,"FullScreenDialog");function Ne({...e}){return F(y.Trigger,{"data-slot":"full-screen-dialog-trigger",...e})}i(Ne,"FullScreenDialogTrigger");function Te({...e}){return F(y.Portal,{"data-slot":"full-screen-dialog-portal",...e})}i(Te,"FullScreenDialogPortal");function Fe({className:e,...l}){return F(y.Overlay,{"data-slot":"full-screen-dialog-overlay",className:g("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",e),...l})}i(Fe,"FullScreenDialogOverlay");function Ce({className:e,children:l,...a}){return K(Te,{"data-slot":"full-screen-dialog-portal",children:[F(Fe,{}),K(y.Content,{"data-slot":"full-screen-dialog-content",className:g("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 flex flex-col",e),...a,children:[l,K(y.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 RemoteFlows__FullScreenDialog__Close",children:[F(he,{}),F("span",{className:"sr-only",children:"Close"})]})]})]})}i(Ce,"FullScreenDialogContent");function De({className:e,...l}){return F("div",{"data-slot":"full-screen-dialog-header",className:g("flex flex-col gap-2 text-center sm:text-left",e),...l})}i(De,"FullScreenDialogHeader");function we({className:e,...l}){return F("div",{"data-slot":"full-screen-dialog-footer",className:g("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",e),...l})}i(we,"FullScreenDialogFooter");function Re({className:e,...l}){return F(y.Title,{"data-slot":"full-screen-dialog-title",className:g("text-lg leading-none font-semibold",e),...l})}i(Re,"FullScreenDialogTitle");function Pe({className:e,...l}){return F(y.Description,{"data-slot":"full-screen-dialog-description",className:g("text-muted-foreground text-sm",e),...l})}i(Pe,"FullScreenDialogDescription");import*as R from"@radix-ui/react-tabs";import{jsx as B}from"react/jsx-runtime";function z({className:e,...l}){return B(R.Root,{"data-slot":"tabs",className:g("flex flex-col gap-2",e),...l})}i(z,"Tabs");function $({className:e,...l}){return B(R.List,{"data-slot":"tabs-list",className:g("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-1",e),...l})}i($,"TabsList");function X({className:e,...l}){return B(R.Trigger,{"data-slot":"tabs-trigger",className:g("data-[state=active]:bg-background data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring inline-flex flex-1 items-center justify-center gap-1.5 rounded-md px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...l})}i(X,"TabsTrigger");function Ae({className:e,...l}){return B(R.Content,{"data-slot":"tabs-content",className:g("flex-1 outline-none",e),...l})}i(Ae,"TabsContent");import*as Z from"react";import*as N from"@radix-ui/react-scroll-area";import{jsx as q,jsxs as Ve}from"react/jsx-runtime";var ne=Z.forwardRef(({className:e,children:l,...a},s)=>Ve(N.Root,{ref:s,className:g("relative overflow-hidden",e),...a,children:[q(N.Viewport,{className:"h-full w-full rounded-[inherit]",children:l}),q(se,{}),q(N.Corner,{})]}));ne.displayName=N.Root.displayName;var se=Z.forwardRef(({className:e,orientation:l="vertical",...a},s)=>q(N.ScrollAreaScrollbar,{ref:s,orientation:l,className:g("flex touch-none select-none transition-colors",l==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",l==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",e),...a,children:q(N.ScrollAreaThumb,{className:"relative flex-1 rounded-full bg-border"})}));se.displayName=N.ScrollAreaScrollbar.displayName;import{useState as Y,useEffect as Ie,useMemo as ke}from"react";import{useQuery as je}from"@tanstack/react-query";import E from"fast-deep-equal";var re=i(e=>e.name?e.type?!0:(console.warn(`Field "${e.name}" missing required "type" property`),!1):(console.warn('Field missing required "name" property:',e),!1),"validateField"),Le=i((e,l)=>{if(E(e,l))return;let a=new Map((e||[]).map(t=>[t.value,t])),s=new Map((l||[]).map(t=>[t.value,t])),d=[],m=[],p=[];if(s.forEach((t,c)=>{a.has(c)||d.push({value:t.value,label:t.label})}),a.forEach((t,c)=>{if(!s.has(c))m.push({value:t.value,label:t.label});else{let S=s.get(c);if(!E(t,S)){let b={};t.label!==S.label&&(b.label={old:t.label,new:S.label}),Object.keys(b).length>0&&p.push({value:c,changes:b})}}}),!(d.length===0&&m.length===0&&p.length===0))return{added:d,removed:m,modified:p}},"compareOptions"),Oe=i((e,l)=>{let a=e.fields,s=l.fields;if(!a&&!s)return;let d=G(a||[],s||[]);if(d.added.length>0||d.removed.length>0||d.modified.length>0)return Array.from(d.fieldDiffs.values())},"compareNestedFields"),Me=i((e,l)=>{let a={label:e.label!==l.label,required:e.required!==l.required,inputType:e.inputType!==l.inputType,type:e.type!==l.type,jsonType:!E(e.jsonType,l.jsonType),name:e.name!==l.name,defaultValue:e.defaultValue!==l.defaultValue,minDate:e.minDate!==l.minDate,maxDate:e.maxDate!==l.maxDate,maxLength:e.maxLength!==l.maxLength,multiple:e.multiple!==l.multiple,isVisible:e.isVisible!==l.isVisible,options:!E(e.options,l.options)},s=(()=>{let m=e.fields,p=l.fields;if(!m&&!p)return!1;if(!m||!p)return!0;let t=G(m,p);return t.added.length>0||t.removed.length>0||t.modified.length>0})();return Object.values(a).some(m=>m)||s},"isFieldModified"),Ee=i((e,l)=>{let a={};e.label!==l.label&&(a.label={old:e.label,new:l.label}),e.required!==l.required&&(a.required={old:e.required,new:l.required}),e.type!==l.type&&(a.type={old:e.type,new:l.type}),e.inputType!==l.inputType&&(a.inputType={old:e.inputType,new:l.inputType}),E(e.jsonType,l.jsonType)||(a.jsonType={old:e.jsonType,new:l.jsonType}),E(e.defaultValue,l.defaultValue)||(a.defaultValue={old:e.defaultValue,new:l.defaultValue}),e.minDate!==l.minDate&&(a.minDate={old:e.minDate||"",new:l.minDate||""}),e.maxDate!==l.maxDate&&(a.maxDate={old:e.maxDate||"",new:l.maxDate||""}),e.maxLength!==l.maxLength&&(a.maxLength={old:e.maxLength||0,new:l.maxLength||0}),e.multiple!==l.multiple&&(a.multiple={old:e.multiple||!1,new:l.multiple||!1}),e.isVisible!==l.isVisible&&(a.isVisible={old:e.isVisible,new:l.isVisible});let s=Le(e.options,l.options);s&&(a.options=s);let d=Oe(e,l);return d&&(a.nestedFields=d),Object.keys(a).length>0?a:void 0},"getFieldChanges"),G=i((e=[],l=[])=>{let a=e.filter(re),s=l.filter(re),d=new Map(a.map(f=>[f.name,{field:f}])),m=new Map(s.map(f=>[f.name,{field:f}])),p=[],t=[],c=[],S=[],b=new Map;return m.forEach((f,v)=>{d.has(v)||(p.push(v),b.set(v,{fieldName:v,diffType:"added"}))}),d.forEach(({field:f},v)=>{if(!m.has(v))t.push(v),b.set(v,{fieldName:v,diffType:"removed"});else{let{field:x}=m.get(v);Me(f,x)?(c.push(v),b.set(v,{fieldName:v,diffType:"modified",changes:Ee(f,x)})):(S.push(v),b.set(v,{fieldName:v,diffType:"unchanged"}))}}),{added:p,removed:t,modified:c,unchanged:S,fieldDiffs:b}},"compareFormFields"),ve=i(e=>{switch(e){case"added":return"bg-green-50 border-l-4 border-green-500";case"removed":return"bg-red-50 border-l-4 border-red-500";case"modified":return"bg-yellow-50 border-l-4 border-yellow-500";default:return""}},"getDiffStyles");import{useMemo as ue,useRef as Q,useEffect as _e}from"react";import{jsx as o,jsxs as u}from"react/jsx-runtime";var Je=i(({children:e,diffType:l,changes:a})=>{let s=ve(l);if(l==="unchanged")return o("div",{children:e});let m={added:o("span",{className:"text-xs font-semibold text-green-700 bg-green-100 px-2 py-1 rounded",children:"NEW"}),removed:o("span",{className:"text-xs font-semibold text-red-700 bg-red-100 px-2 py-1 rounded",children:"REMOVED"}),modified:o("span",{className:"text-xs font-semibold text-yellow-700 bg-yellow-100 px-2 py-1 rounded",children:"MODIFIED"})}[l],p=i(()=>{if(!a||l!=="modified")return null;let t=[];if(a.label&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Label:"})," ",o("span",{className:"line-through text-red-600",children:a.label.old})," ","\u2192 ",o("span",{className:"text-green-600",children:a.label.new})]},"label")),a.required&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Required:"})," ",o("span",{className:"line-through text-red-600",children:a.required.old?"Yes":"No"})," ","\u2192"," ",o("span",{className:"text-green-600",children:a.required.new?"Yes":"No"})]},"required")),a.type&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Type:"})," ",o("span",{className:"line-through text-red-600",children:a.type.old})," ","\u2192 ",o("span",{className:"text-green-600",children:a.type.new})]},"type")),a.inputType&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Input Type:"})," ",o("span",{className:"line-through text-red-600",children:a.inputType.old})," ","\u2192 ",o("span",{className:"text-green-600",children:a.inputType.new})]},"inputType")),a.jsonType){let c=Array.isArray(a.jsonType.old)?a.jsonType.old.join(" | "):a.jsonType.old,S=Array.isArray(a.jsonType.new)?a.jsonType.new.join(" | "):a.jsonType.new;t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"JSON Type:"})," ",o("span",{className:"line-through text-red-600",children:c})," \u2192"," ",o("span",{className:"text-green-600",children:S})]},"jsonType"))}return a.defaultValue!==void 0&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Default Value:"})," ",o("span",{className:"line-through text-red-600",children:JSON.stringify(a.defaultValue.old)})," ","\u2192"," ",o("span",{className:"text-green-600",children:JSON.stringify(a.defaultValue.new)})]},"defaultValue")),a.options&&(a.options.added.length>0&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold text-green-700",children:"Options Added:"})," ",a.options.added.map(c=>c.label).join(", ")]},"options-added")),a.options.removed.length>0&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold text-red-700",children:"Options Removed:"})," ",a.options.removed.map(c=>c.label).join(", ")]},"options-removed")),a.options.modified.length>0&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Options Modified:"})," ",a.options.modified.length," option(s)"]},"options-modified"))),a.nestedFields&&a.nestedFields.length>0&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Nested Fields:"})," ",a.nestedFields.length," field(s) changed"]},"nestedFields")),t.length===0?null:u("div",{className:"mt-2 p-2 bg-yellow-50 rounded border border-yellow-200 space-y-1",children:[o("div",{className:"text-xs font-semibold text-yellow-800 mb-1",children:"Changes:"}),t]})},"renderChanges");return u("div",{className:`p-3 mb-2 rounded ${s} relative`,children:[o("div",{className:"absolute top-2 right-2",children:m}),e,p()]})},"FieldWrapper"),de=i(({version:e,fields:l,fieldsets:a,diffMap:s,title:d,scrollRef:m})=>{let p=le({mode:"onBlur"}),t=ue(()=>{let c=i((S,b)=>S.map(f=>{let v=b.get(f.name),x=v?.diffType||"unchanged",T=v?.changes,C=f.fields,P=f;if(C&&Array.isArray(C)){let A=new Map;T&&typeof T=="object"&&"nestedFields"in T&&Array.isArray(T.nestedFields)&&T.nestedFields.forEach(n=>{A.set(n.fieldName,{diffType:n.diffType,changes:n.changes})});let D=c(C,A);P={...f,fields:D}}return{...P,WrapperComponent:i(({children:A})=>o(Je,{diffType:x,fieldName:f.name,changes:T,children:A}),"WrapperComponent")}}),"applyWrappers");return c(l,s)},[l,s]);return u(L,{className:"h-full",children:[o(H,{children:u(U,{children:[d," - Version ",e]})}),o(O,{ref:m,className:"overflow-y-auto max-h-[600px]",children:o(te,{...p,children:o("form",{className:"space-y-4",children:o(ie,{fields:t,fieldsets:a,fieldValues:{}})})})})]})},"FormPanel"),me=i(({topVersion:e,bottomVersion:l,topFields:a,bottomFields:s,topFieldsets:d,bottomFieldsets:m,isLoading:p})=>{let t=ue(()=>G(a,s),[a,s]),c=Q(null),S=Q(null),b=Q(!1);if(_e(()=>{let v=c.current,x=S.current;if(!v||!x)return;let T=i(()=>{b.current||(b.current=!0,x.scrollTop=v.scrollTop,requestAnimationFrame(()=>{b.current=!1}))},"handleLeftScroll"),C=i(()=>{b.current||(b.current=!0,v.scrollTop=x.scrollTop,requestAnimationFrame(()=>{b.current=!1}))},"handleRightScroll");return v.addEventListener("scroll",T),x.addEventListener("scroll",C),()=>{v.removeEventListener("scroll",T),x.removeEventListener("scroll",C)}},[a,s]),p)return o("div",{className:"flex items-center justify-center h-96",children:u("div",{className:"text-center",children:[o("div",{className:"animate-spin rounded-full h-12 w-12 border-b-2 border-gray-900 mx-auto"}),o("p",{className:"mt-4 text-gray-600",children:"Loading schemas..."})]})});let f=t.added.length===0&&t.removed.length===0&&t.modified.length===0;return u("div",{className:"space-y-6",children:[o(L,{children:o(O,{className:"pt-6",children:f?o("p",{className:"text-center text-gray-600",children:"No differences detected between the two versions"}):u("div",{className:"flex gap-6 justify-center",children:[t.added.length>0&&u("div",{className:"flex items-center gap-2",children:[o("span",{className:"w-4 h-4 bg-green-500 rounded"}),u("span",{className:"text-sm",children:[t.added.length," field",t.added.length>1?"s":""," ","added"]})]}),t.removed.length>0&&u("div",{className:"flex items-center gap-2",children:[o("span",{className:"w-4 h-4 bg-red-500 rounded"}),u("span",{className:"text-sm",children:[t.removed.length," field",t.removed.length>1?"s":""," removed"]})]}),t.modified.length>0&&u("div",{className:"flex items-center gap-2",children:[o("span",{className:"w-4 h-4 bg-yellow-500 rounded"}),u("span",{className:"text-sm",children:[t.modified.length," field",t.modified.length>1?"s":""," modified"]})]})]})})}),u("div",{className:"grid grid-cols-2 gap-6",children:[o(de,{version:e,fields:a,fieldsets:d,diffMap:t.fieldDiffs,title:"Left",scrollRef:c}),o(de,{version:l,fields:s,fieldsets:m,diffMap:t.fieldDiffs,title:"Right",scrollRef:S})]})]})},"SchemaFormComparison");var pe=[{value:1,label:"v1"},{value:3,label:"v3"},{value:4,label:"v4 (Recommended)"}],ee={ALB:[{value:1,label:"v1"},{value:2,label:"v2"}],ARE:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],ARG:[{value:1,label:"v1"},{value:2,label:"v2"}],ARM:[{value:1,label:"v1"}],AUS:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],AUT:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"},{value:5,label:"v5"},{value:6,label:"v6"}],BEL:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],BGD:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],BGR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],BIH:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],BLR:[{value:1,label:"v1"},{value:2,label:"v2"}],BOL:[{value:1,label:"v1"}],BRA:[{value:1,label:"v1"},{value:2,label:"v2"}],CAN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],CHE:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],CHL:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],CHN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"},{value:5,label:"v5"}],COL:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],CRI:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],CYP:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],CZE:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],DEU:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],DNK:[{value:1,label:"v1"},{value:2,label:"v2"}],DOM:[{value:1,label:"v1"},{value:2,label:"v2"}],ECU:[{value:1,label:"v1"}],EGY:[{value:1,label:"v1"},{value:2,label:"v2"}],ESP:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],EST:[{value:1,label:"v1"},{value:2,label:"v2"}],FIN:[{value:1,label:"v1"},{value:2,label:"v2"}],FRA:[{value:1,label:"v1"},{value:2,label:"v2"}],FRA_SAS:[{value:1,label:"v1"}],GBR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],GEO:[{value:1,label:"v1"},{value:2,label:"v2"}],GRC:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],GTM:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],HKG:[{value:1,label:"v1"},{value:2,label:"v2"}],HND:[{value:1,label:"v1"},{value:2,label:"v2"}],HRV:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],HUN:[{value:1,label:"v1"}],IDN:[{value:1,label:"v1"}],IND:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],IRL:[{value:1,label:"v1"}],ISL:[{value:1,label:"v1"},{value:2,label:"v2"}],ISR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],ITA:[{value:1,label:"v1"},{value:2,label:"v2"}],ITA_APL:[{value:1,label:"v1"}],JAM:[{value:1,label:"v1"},{value:2,label:"v2"}],JPN:[{value:1,label:"v1"},{value:2,label:"v2"}],KEN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],KGZ:[{value:1,label:"v1"}],KHM:[{value:1,label:"v1"}],KOR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],LBN:[{value:1,label:"v1"},{value:2,label:"v2"}],LKA:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],LTU:[{value:1,label:"v1"},{value:2,label:"v2"}],LUX:[{value:1,label:"v1"}],LVA:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],MAR:[{value:1,label:"v1"},{value:2,label:"v2"}],MDA:[{value:1,label:"v1"},{value:2,label:"v2"}],MEX:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],MKD:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],MLT:[{value:1,label:"v1"}],MNG:[{value:1,label:"v1"}],MUS:[{value:1,label:"v1"},{value:2,label:"v2"}],MYS:[{value:1,label:"v1"},{value:2,label:"v2"}],NGA:[{value:1,label:"v1"},{value:2,label:"v2"}],NIC:[{value:1,label:"v1"}],NLD:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],NOR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],NZL:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],PAK:[{value:1,label:"v1"},{value:2,label:"v2"}],PAN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],PER:[{value:1,label:"v1"}],PHL:[{value:1,label:"v1"},{value:2,label:"v2"}],POL:[{value:1,label:"v1"},{value:2,label:"v2"}],PRI:[{value:1,label:"v1"},{value:2,label:"v2"}],PRT:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],PRY:[{value:1,label:"v1"},{value:2,label:"v2"}],ROU:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],SAU:[{value:1,label:"v1"},{value:2,label:"v2"}],SGP:[{value:1,label:"v1"},{value:2,label:"v2"}],SLV:[{value:1,label:"v1"}],SRB:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"},{value:5,label:"v5"}],SVK:[{value:1,label:"v1"},{value:2,label:"v2"}],SVN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],SWE:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],THA:[{value:1,label:"v1"},{value:2,label:"v2"}],TUN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],TUR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],TWN:[{value:1,label:"v1"},{value:2,label:"v2"}],UGA:[{value:1,label:"v1"}],UKR:[{value:1,label:"v1"}],URY:[{value:1,label:"v1"},{value:2,label:"v2"}],USA:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],VNM:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],XKX:[{value:1,label:"v1"}],ZAF:[{value:1,label:"v1"}],ZWE:[{value:1,label:"v1"}]},ce=Object.fromEntries(Object.entries(ee).filter(([,e])=>e.length>1)),be=[{value:"employment_basic_information",label:"Basic Information"},{value:"contract_details",label:"Contract Details"}];import{jsx as r,jsxs as h}from"react/jsx-runtime";var fe=i(()=>{let[e,l]=Y("employment_basic_information"),[a,s]=Y(1),[d,m]=Y(1),[p,t]=Y("ARE"),{client:c}=ae(),{data:S}=je({...oe(c,"schema-comparison"),select:i(n=>n.data?.data?.filter(w=>w.eor_onboarding).filter(w=>Object.keys(ce).includes(w.code)).map(w=>({label:w.name,value:w.code}))||[],"select")}),b=e==="contract_details",{data:f,isLoading:v}=W({countryCode:p,form:e,fieldValues:{},jsonSchemaVersion:a,options:{queryOptions:{enabled:!0}}}),{data:x,isLoading:T}=W({countryCode:p,form:e,fieldValues:{},jsonSchemaVersion:d,options:{queryOptions:{enabled:!0}}}),C=v||T,P=ee[p],A=P!==void 0,D=ke(()=>e==="employment_basic_information"?pe:P||[{value:"latest",label:"Latest"}],[e,P]);return Ie(()=>{let n=D.map(w=>w.value);n.includes(a)||s(D[0].value),n.includes(d)||m(D[0].value)},[e,p,D,a,d]),h("div",{className:"space-y-6",children:[h(L,{children:[r(H,{children:r(U,{children:"Configuration"})}),h(O,{className:"space-y-4",children:[h("div",{children:[r(V,{className:"mb-2 block",children:"Form Type"}),r(z,{value:e,onValueChange:n=>l(n),children:r($,{className:"grid w-full grid-cols-2",children:be.map(n=>r(X,{value:n.value,children:n.label},n.value))})})]}),b&&!A&&r("div",{className:"rounded-md bg-yellow-50 p-4 border border-yellow-200",children:h("div",{className:"flex",children:[r("div",{className:"flex-shrink-0",children:r("svg",{className:"h-5 w-5 text-yellow-400",viewBox:"0 0 20 20",fill:"currentColor",children:r("path",{fillRule:"evenodd",d:"M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z",clipRule:"evenodd"})})}),h("div",{className:"ml-3",children:[r("h3",{className:"text-sm font-medium text-yellow-800",children:"Version mappings not found"}),r("div",{className:"mt-2 text-sm text-yellow-700",children:h("p",{children:["Country"," ",r("span",{className:"font-semibold",children:p})," is not configured in COUNTRY_CONTRACT_VERSIONS. Using default (latest only)."]})})]})]})}),b&&h("div",{children:[r(V,{htmlFor:"country-select",className:"mb-2 block",children:"Country"}),h(_,{value:p,onValueChange:t,children:[r(I,{id:"country-select",children:r(J,{placeholder:"Select a country"})}),r(k,{children:S?.map(n=>r(j,{value:n.value,children:n.label},n.value))})]})]}),h("div",{className:"grid grid-cols-2 gap-4",children:[h("div",{children:[r(V,{htmlFor:"top-version",className:"mb-2 block",children:"Left Version"}),h(_,{value:String(a),onValueChange:n=>s(n==="latest"?"latest":Number(n)),children:[r(I,{id:"top-version",children:r(J,{placeholder:"Select version"})}),r(k,{children:D.map(n=>r(j,{value:String(n.value),children:n.label},String(n.value)))})]})]}),h("div",{children:[r(V,{htmlFor:"bottom-version",className:"mb-2 block",children:"Right Version"}),h(_,{value:String(d),onValueChange:n=>m(n==="latest"?"latest":Number(n)),children:[r(I,{id:"bottom-version",children:r(J,{placeholder:"Select version"})}),r(k,{children:D.map(n=>r(j,{value:String(n.value),children:n.label},String(n.value)))})]})]})]})]})]}),r(me,{topVersion:a,bottomVersion:d,topFields:f?.fields||[],bottomFields:x?.fields||[],topFieldsets:f?.meta?.["x-jsf-fieldsets"],bottomFieldsets:x?.meta?.["x-jsf-fieldsets"],isLoading:C})]})},"JsonSchemaComparison");export{ge as a,ye as b,Se as c,xe as d,Ne as e,Ce as f,De as g,we as h,Re as i,Pe as j,z as k,$ as l,X as m,Ae as n,ne as o,fe as p};
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as L,b as H,c as U,e as O}from"./chunk-SWLNTVAX.js";import{f as W}from"./chunk-KPJ5YKXS.js";import{a as oe}from"./chunk-3VTHNE4H.js";import{a as ie}from"./chunk-TO2GYQR2.js";import{a as _,c as J,d as I,e as k,f as j}from"./chunk-QRSWXKRV.js";import{f as le,g as V,h as te}from"./chunk-AUPAAQUT.js";import{n as g}from"./chunk-C4HFMTSB.js";import{e as ae}from"./chunk-H2O4CVKF.js";import{a as i}from"./chunk-P37U34EQ.js";import*as M from"@radix-ui/react-collapsible";var ge=M.Root,ye=M.CollapsibleTrigger,Se=M.CollapsibleContent;import*as y from"@radix-ui/react-dialog";import{XIcon as he}from"lucide-react";import{jsx as F,jsxs as K}from"react/jsx-runtime";function xe({...e}){return F(y.Root,{"data-slot":"full-screen-dialog",...e})}i(xe,"FullScreenDialog");function Ne({...e}){return F(y.Trigger,{"data-slot":"full-screen-dialog-trigger",...e})}i(Ne,"FullScreenDialogTrigger");function Te({...e}){return F(y.Portal,{"data-slot":"full-screen-dialog-portal",...e})}i(Te,"FullScreenDialogPortal");function Fe({className:e,...l}){return F(y.Overlay,{"data-slot":"full-screen-dialog-overlay",className:g("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",e),...l})}i(Fe,"FullScreenDialogOverlay");function Ce({className:e,children:l,...a}){return K(Te,{"data-slot":"full-screen-dialog-portal",children:[F(Fe,{}),K(y.Content,{"data-slot":"full-screen-dialog-content",className:g("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 flex flex-col",e),...a,children:[l,K(y.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 RemoteFlows__FullScreenDialog__Close",children:[F(he,{}),F("span",{className:"sr-only",children:"Close"})]})]})]})}i(Ce,"FullScreenDialogContent");function De({className:e,...l}){return F("div",{"data-slot":"full-screen-dialog-header",className:g("flex flex-col gap-2 text-center sm:text-left",e),...l})}i(De,"FullScreenDialogHeader");function we({className:e,...l}){return F("div",{"data-slot":"full-screen-dialog-footer",className:g("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",e),...l})}i(we,"FullScreenDialogFooter");function Re({className:e,...l}){return F(y.Title,{"data-slot":"full-screen-dialog-title",className:g("text-lg leading-none font-semibold",e),...l})}i(Re,"FullScreenDialogTitle");function Pe({className:e,...l}){return F(y.Description,{"data-slot":"full-screen-dialog-description",className:g("text-muted-foreground text-sm",e),...l})}i(Pe,"FullScreenDialogDescription");import*as R from"@radix-ui/react-tabs";import{jsx as B}from"react/jsx-runtime";function z({className:e,...l}){return B(R.Root,{"data-slot":"tabs",className:g("flex flex-col gap-2",e),...l})}i(z,"Tabs");function $({className:e,...l}){return B(R.List,{"data-slot":"tabs-list",className:g("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-1",e),...l})}i($,"TabsList");function X({className:e,...l}){return B(R.Trigger,{"data-slot":"tabs-trigger",className:g("data-[state=active]:bg-background data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring inline-flex flex-1 items-center justify-center gap-1.5 rounded-md px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...l})}i(X,"TabsTrigger");function Ae({className:e,...l}){return B(R.Content,{"data-slot":"tabs-content",className:g("flex-1 outline-none",e),...l})}i(Ae,"TabsContent");import*as Z from"react";import*as N from"@radix-ui/react-scroll-area";import{jsx as q,jsxs as Ve}from"react/jsx-runtime";var ne=Z.forwardRef(({className:e,children:l,...a},s)=>Ve(N.Root,{ref:s,className:g("relative overflow-hidden",e),...a,children:[q(N.Viewport,{className:"h-full w-full rounded-[inherit]",children:l}),q(se,{}),q(N.Corner,{})]}));ne.displayName=N.Root.displayName;var se=Z.forwardRef(({className:e,orientation:l="vertical",...a},s)=>q(N.ScrollAreaScrollbar,{ref:s,orientation:l,className:g("flex touch-none select-none transition-colors",l==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",l==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",e),...a,children:q(N.ScrollAreaThumb,{className:"relative flex-1 rounded-full bg-border"})}));se.displayName=N.ScrollAreaScrollbar.displayName;import{useState as Y,useEffect as Ie,useMemo as ke}from"react";import{useQuery as je}from"@tanstack/react-query";import E from"fast-deep-equal";var re=i(e=>e.name?e.type?!0:(console.warn(`Field "${e.name}" missing required "type" property`),!1):(console.warn('Field missing required "name" property:',e),!1),"validateField"),Le=i((e,l)=>{if(E(e,l))return;let a=new Map((e||[]).map(t=>[t.value,t])),s=new Map((l||[]).map(t=>[t.value,t])),d=[],m=[],p=[];if(s.forEach((t,c)=>{a.has(c)||d.push({value:t.value,label:t.label})}),a.forEach((t,c)=>{if(!s.has(c))m.push({value:t.value,label:t.label});else{let S=s.get(c);if(!E(t,S)){let b={};t.label!==S.label&&(b.label={old:t.label,new:S.label}),Object.keys(b).length>0&&p.push({value:c,changes:b})}}}),!(d.length===0&&m.length===0&&p.length===0))return{added:d,removed:m,modified:p}},"compareOptions"),Oe=i((e,l)=>{let a=e.fields,s=l.fields;if(!a&&!s)return;let d=G(a||[],s||[]);if(d.added.length>0||d.removed.length>0||d.modified.length>0)return Array.from(d.fieldDiffs.values())},"compareNestedFields"),Me=i((e,l)=>{let a={label:e.label!==l.label,required:e.required!==l.required,inputType:e.inputType!==l.inputType,type:e.type!==l.type,jsonType:!E(e.jsonType,l.jsonType),name:e.name!==l.name,defaultValue:e.defaultValue!==l.defaultValue,minDate:e.minDate!==l.minDate,maxDate:e.maxDate!==l.maxDate,maxLength:e.maxLength!==l.maxLength,multiple:e.multiple!==l.multiple,isVisible:e.isVisible!==l.isVisible,options:!E(e.options,l.options)},s=(()=>{let m=e.fields,p=l.fields;if(!m&&!p)return!1;if(!m||!p)return!0;let t=G(m,p);return t.added.length>0||t.removed.length>0||t.modified.length>0})();return Object.values(a).some(m=>m)||s},"isFieldModified"),Ee=i((e,l)=>{let a={};e.label!==l.label&&(a.label={old:e.label,new:l.label}),e.required!==l.required&&(a.required={old:e.required,new:l.required}),e.type!==l.type&&(a.type={old:e.type,new:l.type}),e.inputType!==l.inputType&&(a.inputType={old:e.inputType,new:l.inputType}),E(e.jsonType,l.jsonType)||(a.jsonType={old:e.jsonType,new:l.jsonType}),E(e.defaultValue,l.defaultValue)||(a.defaultValue={old:e.defaultValue,new:l.defaultValue}),e.minDate!==l.minDate&&(a.minDate={old:e.minDate||"",new:l.minDate||""}),e.maxDate!==l.maxDate&&(a.maxDate={old:e.maxDate||"",new:l.maxDate||""}),e.maxLength!==l.maxLength&&(a.maxLength={old:e.maxLength||0,new:l.maxLength||0}),e.multiple!==l.multiple&&(a.multiple={old:e.multiple||!1,new:l.multiple||!1}),e.isVisible!==l.isVisible&&(a.isVisible={old:e.isVisible,new:l.isVisible});let s=Le(e.options,l.options);s&&(a.options=s);let d=Oe(e,l);return d&&(a.nestedFields=d),Object.keys(a).length>0?a:void 0},"getFieldChanges"),G=i((e=[],l=[])=>{let a=e.filter(re),s=l.filter(re),d=new Map(a.map(f=>[f.name,{field:f}])),m=new Map(s.map(f=>[f.name,{field:f}])),p=[],t=[],c=[],S=[],b=new Map;return m.forEach((f,v)=>{d.has(v)||(p.push(v),b.set(v,{fieldName:v,diffType:"added"}))}),d.forEach(({field:f},v)=>{if(!m.has(v))t.push(v),b.set(v,{fieldName:v,diffType:"removed"});else{let{field:x}=m.get(v);Me(f,x)?(c.push(v),b.set(v,{fieldName:v,diffType:"modified",changes:Ee(f,x)})):(S.push(v),b.set(v,{fieldName:v,diffType:"unchanged"}))}}),{added:p,removed:t,modified:c,unchanged:S,fieldDiffs:b}},"compareFormFields"),ve=i(e=>{switch(e){case"added":return"bg-green-50 border-l-4 border-green-500";case"removed":return"bg-red-50 border-l-4 border-red-500";case"modified":return"bg-yellow-50 border-l-4 border-yellow-500";default:return""}},"getDiffStyles");import{useMemo as ue,useRef as Q,useEffect as _e}from"react";import{jsx as o,jsxs as u}from"react/jsx-runtime";var Je=i(({children:e,diffType:l,changes:a})=>{let s=ve(l);if(l==="unchanged")return o("div",{children:e});let m={added:o("span",{className:"text-xs font-semibold text-green-700 bg-green-100 px-2 py-1 rounded",children:"NEW"}),removed:o("span",{className:"text-xs font-semibold text-red-700 bg-red-100 px-2 py-1 rounded",children:"REMOVED"}),modified:o("span",{className:"text-xs font-semibold text-yellow-700 bg-yellow-100 px-2 py-1 rounded",children:"MODIFIED"})}[l],p=i(()=>{if(!a||l!=="modified")return null;let t=[];if(a.label&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Label:"})," ",o("span",{className:"line-through text-red-600",children:a.label.old})," ","\u2192 ",o("span",{className:"text-green-600",children:a.label.new})]},"label")),a.required&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Required:"})," ",o("span",{className:"line-through text-red-600",children:a.required.old?"Yes":"No"})," ","\u2192"," ",o("span",{className:"text-green-600",children:a.required.new?"Yes":"No"})]},"required")),a.type&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Type:"})," ",o("span",{className:"line-through text-red-600",children:a.type.old})," ","\u2192 ",o("span",{className:"text-green-600",children:a.type.new})]},"type")),a.inputType&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Input Type:"})," ",o("span",{className:"line-through text-red-600",children:a.inputType.old})," ","\u2192 ",o("span",{className:"text-green-600",children:a.inputType.new})]},"inputType")),a.jsonType){let c=Array.isArray(a.jsonType.old)?a.jsonType.old.join(" | "):a.jsonType.old,S=Array.isArray(a.jsonType.new)?a.jsonType.new.join(" | "):a.jsonType.new;t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"JSON Type:"})," ",o("span",{className:"line-through text-red-600",children:c})," \u2192"," ",o("span",{className:"text-green-600",children:S})]},"jsonType"))}return a.defaultValue!==void 0&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Default Value:"})," ",o("span",{className:"line-through text-red-600",children:JSON.stringify(a.defaultValue.old)})," ","\u2192"," ",o("span",{className:"text-green-600",children:JSON.stringify(a.defaultValue.new)})]},"defaultValue")),a.options&&(a.options.added.length>0&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold text-green-700",children:"Options Added:"})," ",a.options.added.map(c=>c.label).join(", ")]},"options-added")),a.options.removed.length>0&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold text-red-700",children:"Options Removed:"})," ",a.options.removed.map(c=>c.label).join(", ")]},"options-removed")),a.options.modified.length>0&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Options Modified:"})," ",a.options.modified.length," option(s)"]},"options-modified"))),a.nestedFields&&a.nestedFields.length>0&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Nested Fields:"})," ",a.nestedFields.length," field(s) changed"]},"nestedFields")),t.length===0?null:u("div",{className:"mt-2 p-2 bg-yellow-50 rounded border border-yellow-200 space-y-1",children:[o("div",{className:"text-xs font-semibold text-yellow-800 mb-1",children:"Changes:"}),t]})},"renderChanges");return u("div",{className:`p-3 mb-2 rounded ${s} relative`,children:[o("div",{className:"absolute top-2 right-2",children:m}),e,p()]})},"FieldWrapper"),de=i(({version:e,fields:l,fieldsets:a,diffMap:s,title:d,scrollRef:m})=>{let p=le({mode:"onBlur"}),t=ue(()=>{let c=i((S,b)=>S.map(f=>{let v=b.get(f.name),x=v?.diffType||"unchanged",T=v?.changes,C=f.fields,P=f;if(C&&Array.isArray(C)){let A=new Map;T&&typeof T=="object"&&"nestedFields"in T&&Array.isArray(T.nestedFields)&&T.nestedFields.forEach(n=>{A.set(n.fieldName,{diffType:n.diffType,changes:n.changes})});let D=c(C,A);P={...f,fields:D}}return{...P,WrapperComponent:i(({children:A})=>o(Je,{diffType:x,fieldName:f.name,changes:T,children:A}),"WrapperComponent")}}),"applyWrappers");return c(l,s)},[l,s]);return u(L,{className:"h-full",children:[o(H,{children:u(U,{children:[d," - Version ",e]})}),o(O,{ref:m,className:"overflow-y-auto max-h-[600px]",children:o(te,{...p,children:o("form",{className:"space-y-4",children:o(ie,{fields:t,fieldsets:a,fieldValues:{}})})})})]})},"FormPanel"),me=i(({topVersion:e,bottomVersion:l,topFields:a,bottomFields:s,topFieldsets:d,bottomFieldsets:m,isLoading:p})=>{let t=ue(()=>G(a,s),[a,s]),c=Q(null),S=Q(null),b=Q(!1);if(_e(()=>{let v=c.current,x=S.current;if(!v||!x)return;let T=i(()=>{b.current||(b.current=!0,x.scrollTop=v.scrollTop,requestAnimationFrame(()=>{b.current=!1}))},"handleLeftScroll"),C=i(()=>{b.current||(b.current=!0,v.scrollTop=x.scrollTop,requestAnimationFrame(()=>{b.current=!1}))},"handleRightScroll");return v.addEventListener("scroll",T),x.addEventListener("scroll",C),()=>{v.removeEventListener("scroll",T),x.removeEventListener("scroll",C)}},[a,s]),p)return o("div",{className:"flex items-center justify-center h-96",children:u("div",{className:"text-center",children:[o("div",{className:"animate-spin rounded-full h-12 w-12 border-b-2 border-gray-900 mx-auto"}),o("p",{className:"mt-4 text-gray-600",children:"Loading schemas..."})]})});let f=t.added.length===0&&t.removed.length===0&&t.modified.length===0;return u("div",{className:"space-y-6",children:[o(L,{children:o(O,{className:"pt-6",children:f?o("p",{className:"text-center text-gray-600",children:"No differences detected between the two versions"}):u("div",{className:"flex gap-6 justify-center",children:[t.added.length>0&&u("div",{className:"flex items-center gap-2",children:[o("span",{className:"w-4 h-4 bg-green-500 rounded"}),u("span",{className:"text-sm",children:[t.added.length," field",t.added.length>1?"s":""," ","added"]})]}),t.removed.length>0&&u("div",{className:"flex items-center gap-2",children:[o("span",{className:"w-4 h-4 bg-red-500 rounded"}),u("span",{className:"text-sm",children:[t.removed.length," field",t.removed.length>1?"s":""," removed"]})]}),t.modified.length>0&&u("div",{className:"flex items-center gap-2",children:[o("span",{className:"w-4 h-4 bg-yellow-500 rounded"}),u("span",{className:"text-sm",children:[t.modified.length," field",t.modified.length>1?"s":""," modified"]})]})]})})}),u("div",{className:"grid grid-cols-2 gap-6",children:[o(de,{version:e,fields:a,fieldsets:d,diffMap:t.fieldDiffs,title:"Left",scrollRef:c}),o(de,{version:l,fields:s,fieldsets:m,diffMap:t.fieldDiffs,title:"Right",scrollRef:S})]})]})},"SchemaFormComparison");var pe=[{value:1,label:"v1"},{value:3,label:"v3"},{value:4,label:"v4 (Recommended)"}],ee={ALB:[{value:1,label:"v1"},{value:2,label:"v2"}],ARE:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],ARG:[{value:1,label:"v1"},{value:2,label:"v2"}],ARM:[{value:1,label:"v1"}],AUS:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],AUT:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"},{value:5,label:"v5"},{value:6,label:"v6"}],BEL:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],BGD:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],BGR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],BIH:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],BLR:[{value:1,label:"v1"},{value:2,label:"v2"}],BOL:[{value:1,label:"v1"}],BRA:[{value:1,label:"v1"},{value:2,label:"v2"}],CAN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],CHE:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],CHL:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],CHN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"},{value:5,label:"v5"}],COL:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],CRI:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],CYP:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],CZE:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],DEU:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],DNK:[{value:1,label:"v1"},{value:2,label:"v2"}],DOM:[{value:1,label:"v1"},{value:2,label:"v2"}],ECU:[{value:1,label:"v1"}],EGY:[{value:1,label:"v1"},{value:2,label:"v2"}],ESP:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],EST:[{value:1,label:"v1"},{value:2,label:"v2"}],FIN:[{value:1,label:"v1"},{value:2,label:"v2"}],FRA:[{value:1,label:"v1"},{value:2,label:"v2"}],FRA_SAS:[{value:1,label:"v1"}],GBR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],GEO:[{value:1,label:"v1"},{value:2,label:"v2"}],GRC:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],GTM:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],HKG:[{value:1,label:"v1"},{value:2,label:"v2"}],HND:[{value:1,label:"v1"},{value:2,label:"v2"}],HRV:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],HUN:[{value:1,label:"v1"}],IDN:[{value:1,label:"v1"}],IND:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],IRL:[{value:1,label:"v1"}],ISL:[{value:1,label:"v1"},{value:2,label:"v2"}],ISR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],ITA:[{value:1,label:"v1"},{value:2,label:"v2"}],ITA_APL:[{value:1,label:"v1"}],JAM:[{value:1,label:"v1"},{value:2,label:"v2"}],JPN:[{value:1,label:"v1"},{value:2,label:"v2"}],KEN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],KGZ:[{value:1,label:"v1"}],KHM:[{value:1,label:"v1"}],KOR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],LBN:[{value:1,label:"v1"},{value:2,label:"v2"}],LKA:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],LTU:[{value:1,label:"v1"},{value:2,label:"v2"}],LUX:[{value:1,label:"v1"}],LVA:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],MAR:[{value:1,label:"v1"},{value:2,label:"v2"}],MDA:[{value:1,label:"v1"},{value:2,label:"v2"}],MEX:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],MKD:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],MLT:[{value:1,label:"v1"}],MNG:[{value:1,label:"v1"}],MUS:[{value:1,label:"v1"},{value:2,label:"v2"}],MYS:[{value:1,label:"v1"},{value:2,label:"v2"}],NGA:[{value:1,label:"v1"},{value:2,label:"v2"}],NIC:[{value:1,label:"v1"}],NLD:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],NOR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],NZL:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],PAK:[{value:1,label:"v1"},{value:2,label:"v2"}],PAN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],PER:[{value:1,label:"v1"}],PHL:[{value:1,label:"v1"},{value:2,label:"v2"}],POL:[{value:1,label:"v1"},{value:2,label:"v2"}],PRI:[{value:1,label:"v1"},{value:2,label:"v2"}],PRT:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],PRY:[{value:1,label:"v1"},{value:2,label:"v2"}],ROU:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],SAU:[{value:1,label:"v1"},{value:2,label:"v2"}],SGP:[{value:1,label:"v1"},{value:2,label:"v2"}],SLV:[{value:1,label:"v1"}],SRB:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"},{value:5,label:"v5"}],SVK:[{value:1,label:"v1"},{value:2,label:"v2"}],SVN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],SWE:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],THA:[{value:1,label:"v1"},{value:2,label:"v2"}],TUN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],TUR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],TWN:[{value:1,label:"v1"},{value:2,label:"v2"}],UGA:[{value:1,label:"v1"}],UKR:[{value:1,label:"v1"}],URY:[{value:1,label:"v1"},{value:2,label:"v2"}],USA:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],VNM:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],XKX:[{value:1,label:"v1"}],ZAF:[{value:1,label:"v1"}],ZWE:[{value:1,label:"v1"}]},ce=Object.fromEntries(Object.entries(ee).filter(([,e])=>e.length>1)),be=[{value:"employment_basic_information",label:"Basic Information"},{value:"contract_details",label:"Contract Details"}];import{jsx as r,jsxs as h}from"react/jsx-runtime";var fe=i(()=>{let[e,l]=Y("employment_basic_information"),[a,s]=Y(1),[d,m]=Y(1),[p,t]=Y("ARE"),{client:c}=ae(),{data:S}=je({...oe(c,"schema-comparison"),select:i(n=>n.data?.data?.filter(w=>w.eor_onboarding).filter(w=>Object.keys(ce).includes(w.code)).map(w=>({label:w.name,value:w.code}))||[],"select")}),b=e==="contract_details",{data:f,isLoading:v}=W({countryCode:p,form:e,fieldValues:{},jsonSchemaVersion:a,options:{queryOptions:{enabled:!0}}}),{data:x,isLoading:T}=W({countryCode:p,form:e,fieldValues:{},jsonSchemaVersion:d,options:{queryOptions:{enabled:!0}}}),C=v||T,P=ee[p],A=P!==void 0,D=ke(()=>e==="employment_basic_information"?pe:P||[{value:"latest",label:"Latest"}],[e,P]);return Ie(()=>{let n=D.map(w=>w.value);n.includes(a)||s(D[0].value),n.includes(d)||m(D[0].value)},[e,p,D,a,d]),h("div",{className:"space-y-6",children:[h(L,{children:[r(H,{children:r(U,{children:"Configuration"})}),h(O,{className:"space-y-4",children:[h("div",{children:[r(V,{className:"mb-2 block",children:"Form Type"}),r(z,{value:e,onValueChange:n=>l(n),children:r($,{className:"grid w-full grid-cols-2",children:be.map(n=>r(X,{value:n.value,children:n.label},n.value))})})]}),b&&!A&&r("div",{className:"rounded-md bg-yellow-50 p-4 border border-yellow-200",children:h("div",{className:"flex",children:[r("div",{className:"flex-shrink-0",children:r("svg",{className:"h-5 w-5 text-yellow-400",viewBox:"0 0 20 20",fill:"currentColor",children:r("path",{fillRule:"evenodd",d:"M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z",clipRule:"evenodd"})})}),h("div",{className:"ml-3",children:[r("h3",{className:"text-sm font-medium text-yellow-800",children:"Version mappings not found"}),r("div",{className:"mt-2 text-sm text-yellow-700",children:h("p",{children:["Country"," ",r("span",{className:"font-semibold",children:p})," is not configured in COUNTRY_CONTRACT_VERSIONS. Using default (latest only)."]})})]})]})}),b&&h("div",{children:[r(V,{htmlFor:"country-select",className:"mb-2 block",children:"Country"}),h(_,{value:p,onValueChange:t,children:[r(I,{id:"country-select",children:r(J,{placeholder:"Select a country"})}),r(k,{children:S?.map(n=>r(j,{value:n.value,children:n.label},n.value))})]})]}),h("div",{className:"grid grid-cols-2 gap-4",children:[h("div",{children:[r(V,{htmlFor:"top-version",className:"mb-2 block",children:"Left Version"}),h(_,{value:String(a),onValueChange:n=>s(n==="latest"?"latest":Number(n)),children:[r(I,{id:"top-version",children:r(J,{placeholder:"Select version"})}),r(k,{children:D.map(n=>r(j,{value:String(n.value),children:n.label},String(n.value)))})]})]}),h("div",{children:[r(V,{htmlFor:"bottom-version",className:"mb-2 block",children:"Right Version"}),h(_,{value:String(d),onValueChange:n=>m(n==="latest"?"latest":Number(n)),children:[r(I,{id:"bottom-version",children:r(J,{placeholder:"Select version"})}),r(k,{children:D.map(n=>r(j,{value:String(n.value),children:n.label},String(n.value)))})]})]})]})]})]}),r(me,{topVersion:a,bottomVersion:d,topFields:f?.fields||[],bottomFields:x?.fields||[],topFieldsets:f?.meta?.["x-jsf-fieldsets"],bottomFieldsets:x?.meta?.["x-jsf-fieldsets"],isLoading:C})]})},"JsonSchemaComparison");export{ge as a,ye as b,Se as c,xe as d,Ne as e,Ce as f,De as g,we as h,Re as i,Pe as j,z as k,$ as l,X as m,Ae as n,ne as o,fe as p};
|
|
2
|
+
//# sourceMappingURL=chunk-IUY4BDUY.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as ue}from"./chunk-BFXBFGBH.js";import{a as F}from"./chunk-NPVSJYM6.js";import{a as de}from"./chunk-JKHJR6HK.js";import{a as me}from"./chunk-AP56UUME.js";import{a as le}from"./chunk-IJCTN52C.js";import{e as T,k as R}from"./chunk-7IIQUZTH.js";import{a as M,b as pe,c as x,d as I,f as O,m as ye}from"./chunk-PB6UQ4A4.js";import{a as _}from"./chunk-XXQBX7ND.js";import{a as ae}from"./chunk-WVJDCDGZ.js";import{a as ce}from"./chunk-3VTHNE4H.js";import{a as m}from"./chunk-XFVXRCMH.js";import{B as k,M as B,S as $,_ as W,ba as H,ea as Y,f as U,ga as z,h as Q,ja as X,ka as Z,la as ee,ma as te,oa as ne,qa as oe,ra as re,s as j,ta as ie,ua as se,v as J,w as G,z as K}from"./chunk-VNMUML3T.js";import{b as q,g as P,t as N}from"./chunk-C4HFMTSB.js";import{e as s}from"./chunk-H2O4CVKF.js";import{a as n}from"./chunk-P37U34EQ.js";import{useMemo as v}from"react";import{useMemo as Me}from"react";import{useQuery as Ce}from"@tanstack/react-query";var V=n(({employmentId:e,options:t})=>{let{client:o}=s();return Ce({queryKey:["contractor-currencies",e],queryFn:n(async()=>K({client:o,path:{employment_id:e},query:{restrict_to_guaranteed_pay_out_currencies:!1}}),"queryFn"),enabled:t?.queryOptions?.enabled,select:n(({data:r})=>r?.data,"select")})},"useContractorCurrencies"),xe=n(({countryCode:e,employmentId:t,fieldValues:o,options:r})=>{let{client:i}=s();return Ce({queryKey:["contractor-onboarding-details-schema",e,t],retry:!1,queryFn:n(async()=>Q({client:i,path:{country_code:e},query:{json_schema_version:1,employment_id:t}}),"queryFn"),enabled:r?.queryOptions?.enabled,select:n(({data:a})=>{let c=a?.data?.schema||{};return m(c,o,r)},"select")})},"useContractorOnboardingDetailsSchema"),We=n(({countryCode:e,employmentId:t,fieldValues:o,options:r})=>{let i=xe({countryCode:e,employmentId:t,fieldValues:o,options:r}),{data:a,isLoading:c}=V({employmentId:t,options:{queryOptions:{enabled:r?.queryOptions?.enabled}}}),u=Me(()=>!i.data||!a?i.data:{...i.data,fields:i.data.fields.map(f=>f.name!=="payment_terms"?f:{...f,fields:f.fields?.map(p=>p.name!=="compensation_currency_code"?p:{...p,options:a.map(b=>({label:b.code,value:b.code,meta:{source:b.source}}))})})},[i.data,a]);return{...i,data:u,isLoading:i.isLoading||c}},"useContractorContractDetailsSchema");import{useMutation as y,useQuery as C,queryOptions as De}from"@tanstack/react-query";import{useMutation as Te,useQuery as fe}from"@tanstack/react-query";var tt=n(()=>{let{client:e}=s();return Te({mutationFn:n(t=>z({client:e,body:t,headers:{Authorization:""}}),"mutationFn")})},"useUploadFile"),be=n(e=>{let{client:t}=s();return fe({queryKey:["download-file",e],queryFn:n(async()=>{let o=await B({client:t,path:{id:e}});if(o.error)throw o.error;return o.data},"queryFn"),select:n(({data:o})=>o?.file,"select"),enabled:!!e})},"useDownloadFile"),ge=n((e,t,o)=>{let{client:r}=s();return fe({queryKey:["employment-files",e],queryFn:n(async()=>{let i=await Y({client:r,path:{employment_id:e},query:t});if(i.error)throw i.error;return i.data},"queryFn"),...o})},"useEmploymentFiles");import{useQuery as Ve}from"@tanstack/react-query";import{useQuery as Re}from"@tanstack/react-query";var E=n(()=>{let{client:e}=s();return Re({queryKey:["identity"],queryFn:n(()=>Z({client:e,headers:{Authorization:""}}),"queryFn"),select:n(t=>t.data?.data,"select")})},"useIdentity");function D(e){return e!=null&&"company"in e}n(D,"hasCompany");var Se=n((e={enabled:!0})=>{let{data:t}=E(),o=D(t)?t?.company?.id??"":"",{client:r}=s();return Ve({queryKey:["pricing-plans",o],queryFn:n(()=>U({client:r,path:{company_id:o}}),"queryFn"),select:n(i=>i.data?.data?.pricing_plans,"select"),enabled:!!e?.enabled&&!!o})},"useCompanyPricingPlans");var zt=n(({fieldValues:e,options:t})=>C({queryKey:["contract-document-signature",e.review_completed,t?.jsfModify],queryFn:n(async()=>m(le,e,{jsfModify:t?.jsfModify}),"queryFn"),enabled:t?.queryOptions?.enabled}),"useGetContractDocumentSignatureSchema"),Xt=n(()=>{let{client:e}=s();return y({mutationFn:n(async({employmentId:t,contractDocumentId:o,payload:r})=>X({client:e,body:r,path:{employment_id:t,contract_document_id:o}}),"mutationFn")})},"useSignContractDocument"),ve=n(({employmentId:e,contractDocumentId:t,options:o})=>{let{client:r}=s();return C({queryKey:["contract-document",e,t],queryFn:n(async()=>J({client:r,path:{employment_id:e,id:t}}),"queryFn"),enabled:o?.queryOptions?.enabled,select:n(({data:i})=>({...i?.data,contract_document:{...i?.data?.contract_document,content:N(i?.data?.contract_document?.content)}}),"select")})},"useGetShowContractDocument"),Zt=n(({employmentId:e,contractDocumentId:t,options:o})=>{let{data:r}=ve({employmentId:e,contractDocumentId:t,options:{queryOptions:{enabled:o?.queryOptions?.enabled}}});return{hasCompanySignedContract:r?.contract_document?.signatories?.some(a=>a.type==="company"&&a.status==="signed")}},"useHasCompanySignedContract"),we=n(({employmentId:e,options:t})=>{let{client:o}=s();return C({queryKey:["contractor-subscriptions",e],queryFn:n(async()=>j({client:o,path:{employment_id:e}}),"queryFn"),enabled:t?.queryOptions?.enabled,select:n(({data:r})=>r?.data,"select")})},"useGetContractorSubscriptions"),en=n(()=>{let{client:e}=s();return y({mutationFn:n(async({employmentId:t,payload:o})=>te({client:e,body:o,path:{employment_id:t}}),"mutationFn")})},"usePostManageContractorSubscriptions"),tn=n(()=>{let{client:e}=s();return y({mutationFn:n(async({employmentId:t,payload:o})=>H({client:e,body:o,path:{employment_id:t}}),"mutationFn")})},"useCreateContractorContractDocument"),Ae={[M]:"Contractor Management",[pe]:"Contractor Management Plus",[x]:"Contractor of Record"},Le=n(e=>{let{data:t,isLoading:o}=Se({enabled:e?.enabled}),r=t?.find(a=>a.product.name==="EOR Monthly");return{eorSubscription:r?{product:{identifier:I,short_name:"EOR"},currency:r.price.currency,price:{amount:P(r.price.amount)},features:["Contract between Remote and employee","Remote manages onboarding, payroll, and compliance","Manages taxes, benefits, and time-off tracking","Handles contracts, transfers, and terminations"],description:"Enables hiring in countries without a local entity",label:"Employer of Record",value:I}:null,isLoading:o}},"useEorSubscription"),Ne=n((e,t,o)=>(t&&T(I,o)&&e.push({label:t.label,value:t.value,description:t.description,meta:{features:t.features,price:{amount:t.price.amount,currencyCode:t.currency?.code??""}},disabled:!1}),e),"addEorToFieldOptions"),nn=n((e,t,o)=>{let{data:r,isLoading:i,refetch:a}=we({employmentId:e,options:{queryOptions:o?.queryOptions}}),c=v(()=>r?.filter(d=>T(d.product.identifier??"",o?.excludeProducts))??[],[r,o?.excludeProducts]),S=r?r?.length<3:!1,p=r?.find(d=>d.product.identifier===x)?.eligibility_questionnaire?.is_blocking,b=(S||p)&&t?.eor_onboarding&&!o?.excludeProducts?.includes("eor"),{eorSubscription:w,isLoading:he}=Le({enabled:b}),Fe=c.length>0||b&&w!==null,A=m(me.data.schema,{},{...o,jsfModify:{...o?.jsfModify,required:Fe?o?.jsfModify?.required:d=>d.filter(g=>g!=="subscription")}}),L=A.fields.find(d=>d.name==="subscription");if(L){let d=c.map(h=>{let l=h.product,_e=h.price.amount,Ie=h.currency.code,Oe=Ae[l.identifier]??"",Ee=l.identifier??"",qe=l.description??"";l.description||console.error(`[Data Integrity] Missing description for product: ${l.identifier}`,{product:l});let Pe={features:l.features??ye[l.identifier]??[],price:{amount:P(_e),currencyCode:Ie}};return{label:Oe,value:Ee,description:qe,meta:Pe,disabled:p&&l.identifier!==M}});d.sort((h,l)=>h.label.localeCompare(l.label));let g=[];b&&(Ne(g,w,o?.excludeProducts),g.length>0&&(g[0].meta={...g[0].meta,groupSeparator:{show:!0}})),L.options=[...d,...g]}return{isLoading:i||he,form:A,contractorSubscriptions:r,filteredContractorSubscriptions:c,refetch:a,isEligibilityQuestionnaireBlocked:p}},"useContractorSubscriptionSchemaField"),on=n((e,t,o)=>{let{mutateAsyncOrThrow:r}=q(t),{mutateAsyncOrThrow:i}=q(e);return{mutateAsync:n(async({employmentId:a})=>{let{nationality_status:c,ir35:u,ir35_sds_file:S}=o,f={contract_document:{ir_35:u}},p={contract_document:{nationality:c}};return u?(await i({employmentId:a,payload:f}),S?r({employment_id:a,file:S,sub_type:O}):Promise.resolve()):c?i({employmentId:a,payload:p}):Promise.resolve()},"mutateAsync")}},"useUpdateUKandSaudiFields"),rn=n((e,t)=>{let{data:o,isLoading:r}=ge(e,{sub_type:O},{...t,select:n(({data:c})=>c?.files?.filter(u=>u.sub_type===O),"select")}),i=o?.[0]?.id,a=be(i);return{...a,isLoading:r||a.isLoading}},"useGetIR35File"),sn=n((e,t)=>{let{client:o}=s();return C({queryKey:["contract-documents",e],queryFn:n(async()=>G({client:o,path:{employment_id:e}}),"queryFn"),enabled:t?.enabled,select:n(({data:r})=>r?.data?.contract_documents,"select")})},"useGetContractDocuments"),an=n(({options:e,fieldValues:t})=>{let{client:o}=s();return C({queryKey:["eligibility-questionnaire"],queryFn:n(async()=>{let r=await ee({client:o,query:{type:"contractor_of_record",json_schema_version:1}});if(r.error)throw new Error("Failed to fetch eligibility questionnaire");return r.data.data},"queryFn"),select:n(r=>{let i=r?.schema||{};return m(i,t,{jsfModify:e?.jsfModify})},"select"),enabled:e?.queryOptions?.enabled})},"useGetEligibilityQuestionnaire"),cn=n(()=>{let{client:e}=s();return y({mutationFn:n(async({employmentId:t,payload:o})=>$({client:e,body:{employment_slug:t,responses:o,type:"contractor_of_record"},query:{json_schema_version:1}}),"mutationFn")})},"usePostCreateEligibilityQuestionnaire"),ln=n(()=>{let{client:e}=s();return y({mutationFn:n(async({employmentId:t})=>re({client:e,path:{employment_id:t}}),"mutationFn")})},"usePostManageContractorCorSubscription"),un=n(()=>{let{client:e}=s();return y({mutationFn:n(async({employmentId:t})=>oe({client:e,path:{employment_id:t}}),"mutationFn")})},"useDeleteContractorCorSubscription"),dn=n(()=>{let{client:e}=s();return y({mutationFn:n(async({employmentId:t,contractOrigin:o,templateType:r})=>W({client:e,path:{employment_id:t},body:{contract_origin:o,template_type:r}}),"mutationFn")})},"useSetContractOrigin"),mn=n(({fieldValues:e,options:t})=>C({queryKey:["contract-origin-schema",t?.jsfModify],queryFn:n(async()=>m(ue,e,{jsfModify:t?.jsfModify}),"queryFn"),enabled:t?.queryOptions?.enabled}),"useGetContractOriginSchema"),pn=n(({enabled:e,jsfModify:t})=>v(()=>e?m(de,{},{jsfModify:t}):null,[e,t]),"useGetInvoiceScheduleSchema"),yn=n(({enabled:e,employmentId:t,jsfModify:o})=>{let{data:r,isLoading:i}=V({employmentId:t,options:{queryOptions:{enabled:e&&!!t}}});return{data:v(()=>{if(!e||!r)return null;let c={...F,properties:{...F.properties,currency:{...F.properties.currency,oneOf:r.map(u=>({const:u.code,title:u.code}))}}};return m(c,{},{jsfModify:o})},[e,r,o]),isLoading:i}},"useGetCreateInvoiceScheduleSchema"),Ue=n((e,t)=>De({queryKey:["contractor-invoice-schedules",t],queryFn:n(async()=>{let o=await ie({client:e,query:{employment_id:t}});if(o.error||!o.data)throw new Error("Failed to fetch invoice schedules");return o},"queryFn")}),"invoiceSchedulesOptions"),Cn=n(({employmentId:e,options:t})=>{let{client:o}=s();return C({...Ue(o,e),enabled:t?.queryOptions?.enabled,select:n(r=>r.data?.data?.contractor_invoice_schedules?.find(i=>i.status===_.PENDING_CONTRACTOR_ACTION||i.status===_.PROCESSING||i.status===_.PENDING_COMPANY_ACTION),"select")})},"useGetExistingInvoiceSchedule"),fn=n(e=>{let{client:t}=s(),{data:o,isLoading:r}=C({...ce(t,"contractor-onboarding-countries"),select:n(a=>a.data?.data?.map(c=>({label:c.name,value:c.code,eor_onboarding:c.eor_onboarding,contractor_products_available:c.contractor_products_available}))||[],"select"),enabled:e?.queryOptions?.enabled}),i=m(ae.data.schema,{},e);if(o){let a=i.fields.find(c=>c.name==="country");a&&(a.options=o)}return{isLoading:r,selectCountryForm:i,countries:o}},"useCountriesSchemaField"),bn=n(({options:e}={})=>{let{data:t}=E(),o=D(t)?t?.company?.id??"":"",{client:r}=s();return C({queryKey:["company-open-tasks",o],queryFn:n(()=>ne({client:r,path:{company_id:o}}),"queryFn"),select:n(({data:i})=>i?.data?.actions??[],"select"),enabled:(e?.queryOptions?.enabled??!0)&&!!o})},"useCompanyOpenTasks"),gn=n(()=>{let{client:e}=s();return y({mutationFn:n(async({employmentId:t,values:o})=>{let r={contractor_invoice_schedules:[{employment_id:t,...R(o)}]};return se({client:e,body:r})},"mutationFn")})},"useCreateInvoiceSchedule"),Sn=n(()=>{let{client:e}=s();return y({mutationFn:n(async({scheduleId:t,values:o})=>{let r=R(o);return k({client:e,path:{id:t},body:r})},"mutationFn")})},"useUpdateInvoiceSchedule");export{We as a,tt as b,E as c,D as d,zt as e,Xt as f,ve as g,Zt as h,we as i,en as j,tn as k,Ae as l,nn as m,on as n,rn as o,sn as p,an as q,cn as r,ln as s,un as t,dn as u,mn as v,pn as w,yn as x,Ue as y,Cn as z,fn as A,bn as B,gn as C,Sn as D};
|
|
2
|
+
//# sourceMappingURL=chunk-IXS65MGJ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/flows/ContractorOnboarding/api.ts","../src/common/api/contractor-contract-details.ts","../src/common/api/files.ts","../src/common/api/companies.ts","../src/common/api/identity.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport {\n BulkContractorInvoiceScheduleCreateParams,\n CompanyAction,\n CreateContractDocument,\n getV1CompaniesCompanyIdActions,\n getV1ContractorsEmploymentsEmploymentIdContractDocumentsId,\n getV1ContractorsEmploymentsEmploymentIdContractorSubscriptions,\n getV1ContractorInvoiceSchedules,\n ManageContractorPlusSubscriptionOperationsParams,\n postV1ContractorsEmploymentsEmploymentIdContractDocuments,\n postV1ContractorsEmploymentsEmploymentIdContractorPlusSubscription,\n postV1ContractorsEmploymentsEmploymentIdContractDocumentsContractDocumentIdSign,\n postV1ContractorInvoiceSchedules,\n patchV1ContractorInvoiceSchedulesId2,\n UpdateScheduleContractorInvoiceParams,\n SignContractDocument,\n getV1EmploymentsEmploymentIdContractDocuments,\n EligibilityQuestionnaireJsonSchemaResponse,\n getV1ContractorsSchemasEligibilityQuestionnaire,\n SubmitEligibilityQuestionnaireRequest,\n postV1ContractorsEligibilityQuestionnaire,\n postV1ContractorsEmploymentsEmploymentIdContractorCorSubscription,\n postV1EmploymentsEmploymentIdContractOrigin,\n deleteV1ContractorsEmploymentsEmploymentIdContractorCorSubscription,\n Country,\n ContractorInvoiceScheduleCreateParams,\n PostV1EmploymentsEmploymentIdContractOriginData,\n} from '@/src/client';\nimport { useClient } from '@/src/context';\nimport { signatureSchema } from '@/src/flows/ContractorOnboarding/json-schemas/signature';\nimport { contractOriginSchema } from '@/src/flows/ContractorOnboarding/json-schemas/contractOrigin';\nimport { invoiceScheduleSchema } from '@/src/flows/ContractorOnboarding/json-schemas/invoiceSchedule';\nimport { createInvoiceScheduleSchema } from '@/src/flows/ContractorOnboarding/json-schemas/createInvoiceSchedule';\nimport { selectContractorSubscriptionStepSchema } from '@/src/flows/ContractorOnboarding/json-schemas/selectContractorSubscriptionStep';\nimport { useContractorCurrencies } from '@/src/common/api/contractor-contract-details';\nimport { INVOICE_SCHEDULE_STATUS } from '@/src/flows/ContractorOnboarding/invoiceScheduleConstants';\nimport {\n JSONSchemaFormResultWithFieldsets,\n FlowOptions,\n JSFModify,\n} from '@/src/flows/types';\nimport { clearBase64Data } from '@/src/lib/utils';\nimport { Client } from '@/src/client/client';\nimport { createHeadlessForm } from '@/src/common/createHeadlessForm';\nimport { useMutation, useQuery, queryOptions } from '@tanstack/react-query';\nimport { FieldValues } from 'react-hook-form';\nimport {\n contractorPlusProductIdentifier,\n contractorStandardProductIdentifier,\n corProductIdentifier,\n eorProductIdentifier,\n FEATURES_BY_IDENTIFIER,\n IR35_FILE_SUBTYPE,\n ProductType,\n} from '@/src/flows/ContractorOnboarding/constants';\nimport { $TSFixMe, JSFField } from '@/src/types/remoteFlows';\nimport { mutationToPromise } from '@/src/lib/mutations';\nimport {\n useDownloadFile,\n useEmploymentFiles,\n useUploadFile,\n} from '@/src/common/api/files';\nimport { convertFromCents } from '@/src/components/form/utils';\nimport { countriesOptions } from '@/src/common/api/countries';\nimport { selectCountryStepSchema } from '@/src/flows/Onboarding/json-schemas/selectCountryStep';\nimport {\n shouldIncludeProduct,\n buildInvoiceSchedulePayload,\n} from '@/src/flows/ContractorOnboarding/utils';\nimport { useCompanyPricingPlans, hasCompany } from '@/src/common/api/companies';\nimport { useIdentity } from '@/src/common/api/identity';\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 }; jsfModify?: JSFModify };\n}) => {\n return useQuery({\n queryKey: [\n 'contract-document-signature',\n fieldValues.review_completed,\n options?.jsfModify,\n ],\n queryFn: async () => {\n return createHeadlessForm(signatureSchema, fieldValues, {\n jsfModify: options?.jsfModify,\n });\n },\n enabled: options?.queryOptions?.enabled,\n });\n};\n\n/**\n * Signs the contract document\n * @param employmentId - The employment ID\n * @param contractDocumentId - The contract document ID\n * @param payload - The payload\n * @returns The signed contract document\n */\nexport const useSignContractDocument = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: async ({\n employmentId,\n contractDocumentId,\n payload,\n }: {\n employmentId: string;\n contractDocumentId: string;\n payload: SignContractDocument;\n }) => {\n return postV1ContractorsEmploymentsEmploymentIdContractDocumentsContractDocumentIdSign(\n {\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/**\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 }; jsfModify?: JSFModify };\n}) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['contract-document', employmentId, contractDocumentId],\n queryFn: async () => {\n return getV1ContractorsEmploymentsEmploymentIdContractDocumentsId({\n client: client as Client,\n path: { employment_id: employmentId, id: contractDocumentId },\n });\n },\n enabled: options?.queryOptions?.enabled,\n select: ({ data }) => {\n return {\n ...data?.data,\n contract_document: {\n ...data?.data?.contract_document,\n content: clearBase64Data(\n data?.data?.contract_document?.content as $TSFixMe,\n ),\n },\n };\n },\n });\n};\n\nexport const useHasCompanySignedContract = ({\n employmentId,\n contractDocumentId,\n options,\n}: {\n employmentId: string;\n contractDocumentId: string;\n options?: { queryOptions?: { enabled?: boolean } };\n}) => {\n const { data: documentPreviewPdf } = useGetShowContractDocument({\n employmentId,\n contractDocumentId,\n options: {\n queryOptions: {\n enabled: options?.queryOptions?.enabled,\n },\n },\n });\n\n const hasCompanySignedContract =\n documentPreviewPdf?.contract_document?.signatories?.some(\n (signatory) =>\n signatory.type === 'company' && signatory.status === 'signed',\n );\n\n return {\n hasCompanySignedContract,\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 getV1ContractorsEmploymentsEmploymentIdContractorSubscriptions({\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 postV1ContractorsEmploymentsEmploymentIdContractorPlusSubscription(\n {\n client: client as Client,\n body: payload,\n path: {\n employment_id: employmentId,\n },\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 postV1ContractorsEmploymentsEmploymentIdContractDocuments({\n client: client as Client,\n body: payload,\n path: {\n employment_id: employmentId,\n },\n });\n },\n });\n};\n\nexport const CONTRACT_PRODUCT_TITLES = {\n [contractorStandardProductIdentifier]: 'Contractor Management',\n [contractorPlusProductIdentifier]: 'Contractor Management Plus',\n [corProductIdentifier]: 'Contractor of Record',\n};\n\nconst useEorSubscription = (options?: { enabled?: boolean }) => {\n const { data: pricingPlans, isLoading: isLoadingPricingPlans } =\n useCompanyPricingPlans({\n enabled: options?.enabled,\n });\n\n const eorPricingPlan = pricingPlans?.find(\n (plan) => plan.product.name === 'EOR Monthly',\n );\n\n const eorSubscription = eorPricingPlan\n ? {\n product: {\n identifier: eorProductIdentifier,\n short_name: 'EOR',\n },\n currency: eorPricingPlan.price.currency,\n price: {\n amount: convertFromCents(eorPricingPlan.price.amount),\n },\n features: [\n 'Contract between Remote and employee',\n 'Remote manages onboarding, payroll, and compliance',\n 'Manages taxes, benefits, and time-off tracking',\n 'Handles contracts, transfers, and terminations',\n ],\n description: 'Enables hiring in countries without a local entity',\n label: 'Employer of Record',\n value: eorProductIdentifier,\n }\n : null;\n\n return { eorSubscription, isLoading: isLoadingPricingPlans };\n};\n\ntype SelectedCountry =\n | (Pick<Country, 'eor_onboarding' | 'contractor_products_available'> & {\n label: string;\n })\n | undefined;\n\nconst addEorToFieldOptions = (\n fieldOptions: $TSFixMe[],\n eorSubscription: ReturnType<typeof useEorSubscription>['eorSubscription'],\n excludeProducts?: ProductType[],\n) => {\n if (\n eorSubscription &&\n shouldIncludeProduct(eorProductIdentifier, excludeProducts)\n ) {\n fieldOptions.push({\n label: eorSubscription.label,\n value: eorSubscription.value,\n description: eorSubscription.description,\n meta: {\n features: eorSubscription.features,\n price: {\n amount: eorSubscription.price.amount,\n currencyCode: eorSubscription.currency?.code ?? '',\n },\n },\n disabled: false,\n });\n }\n return fieldOptions;\n};\n\nexport const useContractorSubscriptionSchemaField = (\n employmentId: string,\n selectedCountry: SelectedCountry,\n options?: FlowOptions & {\n queryOptions?: { enabled?: boolean };\n excludeProducts?: ProductType[];\n },\n) => {\n const {\n data: contractorSubscriptions,\n isLoading,\n refetch,\n } = useGetContractorSubscriptions({\n employmentId: employmentId,\n options: {\n queryOptions: options?.queryOptions,\n },\n });\n\n const filteredContractorSubscriptions = useMemo(\n () =>\n contractorSubscriptions?.filter((subscription) =>\n shouldIncludeProduct(\n subscription.product.identifier ?? '',\n options?.excludeProducts,\n ),\n ) ?? [],\n [contractorSubscriptions, options?.excludeProducts],\n );\n\n // maximum number of subscriptions\n const MAXIMUM_CONTRACTOR_SUBSCRIPTIONS_COUNT = 3;\n\n const isMissingSubscriptions = contractorSubscriptions\n ? contractorSubscriptions?.length < MAXIMUM_CONTRACTOR_SUBSCRIPTIONS_COUNT\n : false;\n\n const corSubscription = contractorSubscriptions?.find(\n (subscription) => subscription.product.identifier === corProductIdentifier,\n );\n\n const isEligibilityQuestionnaireBlocked =\n corSubscription?.eligibility_questionnaire?.is_blocking;\n\n const showEorSubscription =\n (isMissingSubscriptions || isEligibilityQuestionnaireBlocked) &&\n selectedCountry?.eor_onboarding &&\n !options?.excludeProducts?.includes('eor');\n\n const { eorSubscription, isLoading: isLoadingEorSubscription } =\n useEorSubscription({\n enabled: showEorSubscription,\n });\n\n const hasAvailableOptions =\n filteredContractorSubscriptions.length > 0 ||\n (showEorSubscription && eorSubscription !== null);\n\n const form = createHeadlessForm(\n selectContractorSubscriptionStepSchema.data.schema,\n {},\n {\n ...options,\n jsfModify: {\n ...options?.jsfModify,\n // If no filtered subscriptions are available, make the subscription field optional\n required: hasAvailableOptions\n ? options?.jsfModify?.required\n : (existingRequired: string[]) =>\n existingRequired.filter(\n (fieldName: string) => fieldName !== 'subscription',\n ),\n },\n },\n );\n\n const field: JSFField | undefined = form.fields.find(\n (field) => field.name === 'subscription',\n ) as JSFField | undefined;\n\n if (field) {\n // Start with contractor management options\n const contractorOptions = filteredContractorSubscriptions.map((opts) => {\n const product = opts.product;\n const price = opts.price.amount;\n const currencyCode = opts.currency.code;\n const title =\n CONTRACT_PRODUCT_TITLES[\n product.identifier as keyof typeof CONTRACT_PRODUCT_TITLES\n ] ?? '';\n const label = title;\n const value = product.identifier ?? '';\n const description = product.description ?? '';\n\n if (!product.description) {\n console.error(\n `[Data Integrity] Missing description for product: ${product.identifier}`,\n { product },\n );\n }\n\n const features =\n product.features ??\n FEATURES_BY_IDENTIFIER[\n product.identifier as keyof typeof FEATURES_BY_IDENTIFIER\n ] ??\n [];\n const meta = {\n features,\n price: {\n amount: convertFromCents(price),\n currencyCode: currencyCode,\n },\n };\n return {\n label,\n value,\n description,\n meta,\n disabled:\n isEligibilityQuestionnaireBlocked &&\n product.identifier !== contractorStandardProductIdentifier,\n };\n });\n\n // Sort contractor options\n contractorOptions.sort((a, b) => a.label.localeCompare(b.label));\n\n // Build otherSubscriptions (EOR) with separator metadata\n const otherOptions: $TSFixMe[] = [];\n if (showEorSubscription) {\n addEorToFieldOptions(\n otherOptions as unknown as $TSFixMe[],\n eorSubscription,\n options?.excludeProducts,\n );\n\n // Add separator metadata to first \"other\" option\n // only the first option to avoid problems when iterating over the options\n if (otherOptions.length > 0) {\n otherOptions[0].meta = {\n ...otherOptions[0].meta,\n groupSeparator: {\n show: true,\n },\n };\n }\n }\n\n // Combine all options into the single field\n field.options = [...contractorOptions, ...otherOptions];\n }\n\n return {\n isLoading: isLoading || isLoadingEorSubscription,\n form,\n contractorSubscriptions,\n filteredContractorSubscriptions,\n refetch,\n isEligibilityQuestionnaireBlocked,\n };\n};\n\nexport const useUpdateUKandSaudiFields = (\n createContractorContractDocumentMutation: ReturnType<\n typeof useCreateContractorContractDocument\n >,\n uploadFileMutation: ReturnType<typeof useUploadFile>,\n parsedValues: FieldValues,\n) => {\n const { mutateAsyncOrThrow: uploadFileMutationAsync } =\n mutationToPromise(uploadFileMutation);\n const { mutateAsyncOrThrow: createContractorContractDocumentMutationAsync } =\n mutationToPromise(createContractorContractDocumentMutation);\n\n return {\n mutateAsync: async ({ employmentId }: { employmentId: string }) => {\n const {\n nationality_status: nationalityStatus,\n ir35: ir35Status,\n ir35_sds_file: ir35SdsFile,\n } = parsedValues;\n const ir35ContractDetailsPayload = {\n contract_document: {\n ir_35: ir35Status,\n },\n };\n const nationalityContractDetailsPayload = {\n contract_document: {\n nationality: nationalityStatus,\n },\n };\n if (ir35Status) {\n await createContractorContractDocumentMutationAsync({\n employmentId: employmentId,\n payload: ir35ContractDetailsPayload,\n });\n\n if (ir35SdsFile) {\n return uploadFileMutationAsync({\n employment_id: employmentId,\n file: ir35SdsFile,\n sub_type: IR35_FILE_SUBTYPE,\n });\n }\n return Promise.resolve();\n }\n // nationality status is sent for the countries SAU, KWT, OMN, QAT, BHR\n if (nationalityStatus) {\n return createContractorContractDocumentMutationAsync({\n employmentId: employmentId,\n payload: nationalityContractDetailsPayload,\n });\n }\n\n return Promise.resolve();\n },\n };\n};\n\nexport const useGetIR35File = (\n employmentId: string,\n options?: { enabled?: boolean },\n) => {\n const { data: ir35Files, isLoading: isLoadingFiles } = useEmploymentFiles(\n employmentId,\n {\n sub_type: IR35_FILE_SUBTYPE,\n },\n {\n ...options,\n select: ({ data }) =>\n data?.files?.filter((file) => file.sub_type === IR35_FILE_SUBTYPE),\n },\n );\n const id = ir35Files?.[0]?.id;\n\n const downloadQuery = useDownloadFile(id as string);\n\n return {\n ...downloadQuery,\n isLoading: isLoadingFiles || downloadQuery.isLoading,\n };\n};\n\n/**\n * Get the contract documents for a given employment\n * @param employmentId - The employment ID\n * @param options - The options\n * @returns The contract documents\n */\nexport const useGetContractDocuments = (\n employmentId: string,\n options?: { enabled?: boolean },\n) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['contract-documents', employmentId],\n queryFn: async () => {\n return getV1EmploymentsEmploymentIdContractDocuments({\n client: client as Client,\n path: { employment_id: employmentId },\n });\n },\n enabled: options?.enabled,\n select: ({ data }) => {\n return data?.data?.contract_documents;\n },\n });\n};\n\nexport const useGetEligibilityQuestionnaire = ({\n options,\n fieldValues,\n}: {\n options?: FlowOptions & { queryOptions?: { enabled?: boolean } };\n fieldValues: FieldValues;\n}) => {\n const { client } = useClient();\n return useQuery<\n EligibilityQuestionnaireJsonSchemaResponse['data'],\n Error,\n JSONSchemaFormResultWithFieldsets\n >({\n queryKey: ['eligibility-questionnaire'],\n queryFn: async (): Promise<\n EligibilityQuestionnaireJsonSchemaResponse['data']\n > => {\n const response = await getV1ContractorsSchemasEligibilityQuestionnaire({\n client: client as Client,\n query: {\n type: 'contractor_of_record',\n json_schema_version: 1,\n },\n });\n\n // Extract the data from the response wrapper\n if (response.error) {\n throw new Error('Failed to fetch eligibility questionnaire');\n }\n\n return response.data\n .data as EligibilityQuestionnaireJsonSchemaResponse['data'];\n },\n select: (data: EligibilityQuestionnaireJsonSchemaResponse['data']) => {\n const schema = data?.schema || {};\n return createHeadlessForm(schema, fieldValues, {\n jsfModify: options?.jsfModify,\n });\n },\n enabled: options?.queryOptions?.enabled,\n });\n};\n\nexport const usePostCreateEligibilityQuestionnaire = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: async ({\n employmentId,\n payload,\n }: {\n employmentId: string;\n payload: SubmitEligibilityQuestionnaireRequest['responses'];\n }) => {\n return postV1ContractorsEligibilityQuestionnaire({\n client: client as Client,\n body: {\n employment_slug: employmentId,\n responses: payload,\n type: 'contractor_of_record',\n },\n query: {\n json_schema_version: 1, // TODO: json_schema_version should be dynamic but fixed for now\n },\n });\n },\n });\n};\n\nexport const usePostManageContractorCorSubscription = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: async ({ employmentId }: { employmentId: string }) => {\n return postV1ContractorsEmploymentsEmploymentIdContractorCorSubscription({\n client: client as Client,\n path: {\n employment_id: employmentId,\n },\n });\n },\n });\n};\n\nexport const useDeleteContractorCorSubscription = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: async ({ employmentId }: { employmentId: string }) => {\n return deleteV1ContractorsEmploymentsEmploymentIdContractorCorSubscription(\n {\n client: client as Client,\n path: { employment_id: employmentId },\n },\n );\n },\n });\n};\n\nexport const useSetContractOrigin = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: async ({\n employmentId,\n contractOrigin,\n templateType,\n }: {\n employmentId: string;\n contractOrigin: PostV1EmploymentsEmploymentIdContractOriginData['body']['contract_origin'];\n templateType: PostV1EmploymentsEmploymentIdContractOriginData['body']['template_type'];\n }) => {\n return postV1EmploymentsEmploymentIdContractOrigin({\n client: client as Client,\n path: {\n employment_id: employmentId,\n },\n body: {\n contract_origin: contractOrigin,\n template_type: templateType,\n },\n });\n },\n });\n};\n\nexport const useGetContractOriginSchema = ({\n fieldValues,\n options,\n}: {\n fieldValues: FieldValues;\n options?: { queryOptions?: { enabled?: boolean }; jsfModify?: JSFModify };\n}) => {\n return useQuery({\n queryKey: ['contract-origin-schema', options?.jsfModify],\n queryFn: async () => {\n return createHeadlessForm(contractOriginSchema, fieldValues, {\n jsfModify: options?.jsfModify,\n });\n },\n enabled: options?.queryOptions?.enabled,\n });\n};\n\nexport const useGetInvoiceScheduleSchema = ({\n enabled,\n jsfModify,\n}: {\n enabled?: boolean;\n jsfModify?: JSFModify;\n}) => {\n return useMemo(() => {\n if (!enabled) return null;\n return createHeadlessForm(\n invoiceScheduleSchema,\n {},\n {\n jsfModify,\n },\n );\n }, [enabled, jsfModify]);\n};\n\n/**\n * Get the create invoice schedule schema with currency options from the contractor currencies endpoint.\n * React Query caches the result, so multiple calls share the same data.\n */\nexport const useGetCreateInvoiceScheduleSchema = ({\n enabled,\n employmentId,\n jsfModify,\n}: {\n enabled?: boolean;\n employmentId?: string;\n jsfModify?: JSFModify;\n}): { data: JSONSchemaFormResultWithFieldsets | null; isLoading: boolean } => {\n const { data: currencies, isLoading: isLoadingCurrencies } =\n useContractorCurrencies({\n employmentId: employmentId as string,\n options: {\n queryOptions: { enabled: enabled && Boolean(employmentId) },\n },\n });\n\n const schemaWithCurrencies = useMemo(() => {\n if (!enabled || !currencies) return null;\n\n // Clone the schema and update the currency oneOf with actual currencies\n const schema = {\n ...createInvoiceScheduleSchema,\n properties: {\n ...createInvoiceScheduleSchema.properties,\n currency: {\n ...createInvoiceScheduleSchema.properties.currency,\n oneOf: currencies.map(\n (currency: { code: string; source: string }) => ({\n const: currency.code,\n title: currency.code,\n }),\n ),\n },\n },\n };\n\n return createHeadlessForm(schema, {}, { jsfModify });\n }, [enabled, currencies, jsfModify]);\n\n return {\n data: schemaWithCurrencies,\n isLoading: isLoadingCurrencies,\n };\n};\n\n/**\n * Query options factory for fetching invoice schedules by employment id\n * @param client - The API client\n * @param employmentId - The employment ID\n * @returns Query options for contractor invoice schedules\n */\nexport const invoiceSchedulesOptions = (\n client: Client,\n employmentId: string,\n) => {\n return queryOptions({\n queryKey: ['contractor-invoice-schedules', employmentId] as const,\n queryFn: async () => {\n const response = await getV1ContractorInvoiceSchedules({\n client,\n query: { employment_id: employmentId },\n });\n\n if (response.error || !response.data) {\n throw new Error('Failed to fetch invoice schedules');\n }\n\n return response;\n },\n });\n};\n\n/**\n * Get the last invoice schedule for an employment that matches specific statuses.\n * This is used to determine if a schedule was previously created during onboarding.\n *\n * @param employmentId - The employment ID\n * @param options - Query options\n * @returns The last matching invoice schedule or undefined\n */\nexport const useGetExistingInvoiceSchedule = ({\n employmentId,\n options,\n}: {\n employmentId: string;\n options?: { queryOptions?: { enabled?: boolean } };\n}) => {\n const { client } = useClient();\n return useQuery({\n ...invoiceSchedulesOptions(client as Client, employmentId),\n enabled: options?.queryOptions?.enabled,\n select: (response) => {\n // Find the first invoice schedule that matches the editing criteria\n return response.data?.data?.contractor_invoice_schedules?.find(\n (invoice) =>\n invoice.status ===\n INVOICE_SCHEDULE_STATUS.PENDING_CONTRACTOR_ACTION ||\n invoice.status === INVOICE_SCHEDULE_STATUS.PROCESSING ||\n invoice.status === INVOICE_SCHEDULE_STATUS.PENDING_COMPANY_ACTION,\n );\n },\n });\n};\n\nexport const useCountriesSchemaField = (\n options?: Omit<FlowOptions, 'jsonSchemaVersion'> & {\n queryOptions?: { enabled?: boolean };\n },\n) => {\n const { client } = useClient();\n const { data: countries, isLoading } = useQuery({\n ...countriesOptions(client as Client, 'contractor-onboarding-countries'),\n select: (response) => {\n return (\n response.data?.data?.map((country) => {\n return {\n label: country.name,\n value: country.code,\n eor_onboarding: country.eor_onboarding,\n contractor_products_available:\n country.contractor_products_available,\n };\n }) || []\n );\n },\n enabled: options?.queryOptions?.enabled,\n });\n\n const selectCountryForm = createHeadlessForm(\n selectCountryStepSchema.data.schema,\n {},\n options,\n );\n\n if (countries) {\n const countryField = selectCountryForm.fields.find(\n (field) => field.name === 'country',\n );\n if (countryField) {\n countryField.options = countries;\n }\n }\n\n return {\n isLoading,\n selectCountryForm,\n countries,\n };\n};\n\nexport const useCompanyOpenTasks = ({\n options,\n}: {\n options?: { queryOptions?: { enabled?: boolean } };\n} = {}) => {\n const { data: identity } = useIdentity();\n const companyId = hasCompany(identity) ? (identity?.company?.id ?? '') : '';\n const { client } = useClient();\n\n return useQuery({\n queryKey: ['company-open-tasks', companyId],\n queryFn: () =>\n getV1CompaniesCompanyIdActions({\n client: client as Client,\n path: { company_id: companyId },\n }),\n select: ({ data }) => data?.data?.actions ?? ([] as CompanyAction[]),\n enabled: (options?.queryOptions?.enabled ?? true) && !!companyId,\n });\n};\n\n/**\n * Creates contractor invoice schedules\n * @param employmentId - The employment ID\n * @param values - The form values containing invoice schedule data\n * @returns The created invoice schedules\n */\nexport const useCreateInvoiceSchedule = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: async ({\n employmentId,\n values,\n }: {\n employmentId: string;\n values: FieldValues;\n }) => {\n const payload: BulkContractorInvoiceScheduleCreateParams = {\n contractor_invoice_schedules: [\n {\n employment_id: employmentId,\n ...buildInvoiceSchedulePayload(values),\n } as ContractorInvoiceScheduleCreateParams,\n ],\n };\n\n return postV1ContractorInvoiceSchedules({\n client: client as Client,\n body: payload,\n });\n },\n });\n};\n\n/**\n * Updates an existing contractor invoice schedule\n * @param scheduleId - The invoice schedule ID\n * @param values - The form values containing invoice schedule data\n * @returns The updated invoice schedule\n */\nexport const useUpdateInvoiceSchedule = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: async ({\n scheduleId,\n values,\n }: {\n scheduleId: string;\n values: FieldValues;\n }) => {\n const payload: UpdateScheduleContractorInvoiceParams =\n buildInvoiceSchedulePayload(values);\n\n return patchV1ContractorInvoiceSchedulesId2({\n client: client as Client,\n path: { id: scheduleId },\n body: payload,\n });\n },\n });\n};\n","import { useMemo } from 'react';\nimport { useQuery, UseQueryResult } from '@tanstack/react-query';\nimport { FieldValues } from 'react-hook-form';\nimport {\n getV1CountriesCountryCodeContractorContractDetails,\n getV1ContractorsEmploymentsEmploymentIdContractorCurrencies,\n} from '@/src/client';\nimport { useClient } from '@/src/context';\nimport { Client } from '@/src/client/client';\nimport { createHeadlessForm } from '@/src/common/createHeadlessForm';\nimport {\n FlowOptions,\n JSONSchemaFormResultWithFieldsets,\n} from '@/src/flows/types';\nimport { $TSFixMe } from '@/src/types/remoteFlows';\n\nexport const useContractorCurrencies = ({\n employmentId,\n options,\n}: {\n employmentId: string;\n options?: { queryOptions?: { enabled?: boolean } };\n}) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['contractor-currencies', employmentId],\n queryFn: async () => {\n return getV1ContractorsEmploymentsEmploymentIdContractorCurrencies({\n client: client as Client,\n path: { employment_id: employmentId },\n query: {\n restrict_to_guaranteed_pay_out_currencies: false,\n },\n });\n },\n enabled: options?.queryOptions?.enabled,\n select: ({ data }) => {\n return data?.data;\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 */\nconst useContractorOnboardingDetailsSchema = ({\n countryCode,\n employmentId,\n fieldValues,\n options,\n}: {\n countryCode: string;\n fieldValues: FieldValues;\n employmentId: string;\n options?: FlowOptions & { queryOptions?: { enabled?: boolean } };\n}): UseQueryResult<JSONSchemaFormResultWithFieldsets> => {\n const { client } = useClient();\n return useQuery({\n queryKey: [\n 'contractor-onboarding-details-schema',\n countryCode,\n employmentId,\n ],\n retry: false,\n queryFn: async () => {\n return getV1CountriesCountryCodeContractorContractDetails({\n client: client as Client,\n path: { country_code: countryCode },\n query: {\n json_schema_version: 1,\n employment_id: employmentId,\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\n/**\n * Get contractor onboarding details schema with currency options overridden\n * from the getIndexContractorCurrency endpoint\n */\nexport const useContractorContractDetailsSchema = ({\n countryCode,\n employmentId,\n fieldValues,\n options,\n}: {\n countryCode: string;\n fieldValues: FieldValues;\n employmentId: string;\n options?: FlowOptions & { queryOptions?: { enabled?: boolean } };\n}) => {\n const schemaQuery = useContractorOnboardingDetailsSchema({\n countryCode,\n employmentId,\n fieldValues,\n options,\n });\n\n const { data: currencies, isLoading: isLoadingCurrencies } =\n useContractorCurrencies({\n employmentId,\n options: {\n queryOptions: { enabled: options?.queryOptions?.enabled },\n },\n });\n\n const dataWithCurrencies = useMemo(() => {\n if (!schemaQuery.data || !currencies) {\n return schemaQuery.data;\n }\n\n const form = {\n ...schemaQuery.data,\n fields: schemaQuery.data.fields.map((field) => {\n if (field.name !== 'payment_terms') {\n return field;\n }\n\n return {\n ...field,\n fields: (field.fields as $TSFixMe[])?.map((nestedField: $TSFixMe) => {\n if (nestedField.name !== 'compensation_currency_code') {\n return nestedField;\n }\n\n // Return a new object with overridden options\n return {\n ...nestedField,\n options: currencies.map((currency) => ({\n label: currency.code,\n value: currency.code,\n meta: { source: currency.source },\n })),\n };\n }),\n };\n }),\n };\n\n return form;\n }, [schemaQuery.data, currencies]);\n\n return {\n ...schemaQuery,\n data: dataWithCurrencies as $TSFixMe,\n isLoading: schemaQuery.isLoading || isLoadingCurrencies,\n };\n};\n","import { useMutation, useQuery, UseQueryOptions } from '@tanstack/react-query';\nimport { Client } from '@/src/client/client';\nimport {\n getV1EmploymentsEmploymentIdFiles,\n getV1FilesId,\n postV1Documents,\n} from '@/src/client/sdk.gen';\nimport {\n GetV1EmploymentsEmploymentIdFilesData,\n GetV1EmploymentsEmploymentIdFilesErrors,\n File as ApiFile,\n ListFilesResponse,\n PostV1DocumentsData,\n} from '@/src/client/types.gen';\nimport { useClient } from '@/src/context';\n\n/**\n * Hook to upload a file associated with a specified employment.\n * @returns A mutation result for uploading employee files.\n */\nexport const useUploadFile = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: (params: PostV1DocumentsData['body']) => {\n return postV1Documents({\n client: client as Client,\n body: params,\n headers: {\n Authorization: ``,\n },\n });\n },\n });\n};\n\n/**\n * Hook to download a file by its ID.\n * @param id - The ID of the file to download.\n * @returns A query result containing the file data.\n */\nexport const useDownloadFile = (id: string) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['download-file', id],\n queryFn: async () => {\n const result = await getV1FilesId({\n client: client as Client,\n path: { id: id },\n });\n\n if (result.error) {\n throw result.error;\n }\n\n return result.data;\n },\n select: ({ data }) => data?.file,\n enabled: !!id,\n });\n};\n\n/**\n * Hook to retrieve files associated with a specific employment.\n * @param employmentId - The ID of the employment to retrieve files for.\n * @param queryParams - The query parameters to filter the files.\n * @param queryOptions - Optional TanStack Query options to customize the query behavior.\n * @returns A query result containing the employment files.\n */\nexport const useEmploymentFiles = (\n employmentId: string,\n queryParams: GetV1EmploymentsEmploymentIdFilesData['query'],\n queryOptions?: Omit<\n UseQueryOptions<\n ListFilesResponse,\n GetV1EmploymentsEmploymentIdFilesErrors,\n ApiFile[] | undefined,\n unknown[]\n >,\n 'queryKey' | 'queryFn'\n >,\n) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['employment-files', employmentId],\n queryFn: async () => {\n const result = await getV1EmploymentsEmploymentIdFiles({\n client: client as Client,\n path: { employment_id: employmentId },\n query: queryParams,\n });\n\n if (result.error) {\n throw result.error;\n }\n\n return result.data;\n },\n ...queryOptions,\n });\n};\n","import { useQuery } from '@tanstack/react-query';\nimport { useClient } from '@/src/context';\nimport {\n getV1CompaniesCompanyIdPricingPlans,\n IdentityCurrentResponse,\n} from '@/src/client';\nimport { Client } from '@/src/client/client';\nimport { useIdentity } from '@/src/common/api/identity';\n\nexport function hasCompany(\n identity: IdentityCurrentResponse['data'] | undefined,\n): identity is Extract<\n IdentityCurrentResponse['data'],\n { company: { id: string } }\n> {\n return identity != null && 'company' in identity;\n}\n\nexport const useCompanyPricingPlans = (\n queryOptions: { enabled?: boolean } = { enabled: true },\n) => {\n const { data: identity } = useIdentity();\n const companyId = hasCompany(identity) ? (identity?.company?.id ?? '') : '';\n const { client } = useClient();\n return useQuery({\n queryKey: ['pricing-plans', companyId],\n queryFn: () =>\n getV1CompaniesCompanyIdPricingPlans({\n client: client as Client,\n path: { company_id: companyId },\n }),\n select: (data) => data.data?.data?.pricing_plans,\n enabled: Boolean(queryOptions?.enabled) && !!companyId,\n });\n};\n","import { useQuery } from '@tanstack/react-query';\nimport { getV1IdentityCurrent } from '@/src/client';\nimport { useClient } from '@/src/context';\nimport { Client } from '@/src/client/client';\n\nexport const useIdentity = () => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['identity'],\n queryFn: () =>\n getV1IdentityCurrent({\n client: client as Client,\n headers: { Authorization: `` },\n }),\n select: (data) => data.data?.data,\n });\n};\n"],"mappings":"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","names":["useMemo","useMemo","useQuery","useContractorCurrencies","__name","employmentId","options","client","useClient","useQuery","getV1ContractorsEmploymentsEmploymentIdContractorCurrencies","data","useContractorOnboardingDetailsSchema","countryCode","fieldValues","getV1CountriesCountryCodeContractorContractDetails","jsfSchema","createHeadlessForm","useContractorContractDetailsSchema","schemaQuery","currencies","isLoadingCurrencies","dataWithCurrencies","useMemo","field","nestedField","currency","useMutation","useQuery","queryOptions","useMutation","useQuery","useUploadFile","__name","client","useClient","useMutation","params","postV1Documents","useDownloadFile","id","useQuery","result","getV1FilesId","data","useEmploymentFiles","employmentId","queryParams","queryOptions","getV1EmploymentsEmploymentIdFiles","useQuery","useQuery","useIdentity","__name","client","useClient","useQuery","getV1IdentityCurrent","data","hasCompany","identity","__name","useCompanyPricingPlans","queryOptions","useIdentity","companyId","client","useClient","useQuery","getV1CompaniesCompanyIdPricingPlans","data","useGetContractDocumentSignatureSchema","__name","fieldValues","options","useQuery","createHeadlessForm","signatureSchema","useSignContractDocument","client","useClient","useMutation","employmentId","contractDocumentId","payload","postV1ContractorsEmploymentsEmploymentIdContractDocumentsContractDocumentIdSign","useGetShowContractDocument","getV1ContractorsEmploymentsEmploymentIdContractDocumentsId","data","clearBase64Data","useHasCompanySignedContract","documentPreviewPdf","signatory","useGetContractorSubscriptions","getV1ContractorsEmploymentsEmploymentIdContractorSubscriptions","usePostManageContractorSubscriptions","postV1ContractorsEmploymentsEmploymentIdContractorPlusSubscription","useCreateContractorContractDocument","postV1ContractorsEmploymentsEmploymentIdContractDocuments","CONTRACT_PRODUCT_TITLES","contractorStandardProductIdentifier","contractorPlusProductIdentifier","corProductIdentifier","useEorSubscription","pricingPlans","isLoadingPricingPlans","useCompanyPricingPlans","eorPricingPlan","plan","eorProductIdentifier","convertFromCents","addEorToFieldOptions","fieldOptions","eorSubscription","excludeProducts","shouldIncludeProduct","useContractorSubscriptionSchemaField","selectedCountry","contractorSubscriptions","isLoading","refetch","filteredContractorSubscriptions","useMemo","subscription","isMissingSubscriptions","isEligibilityQuestionnaireBlocked","showEorSubscription","isLoadingEorSubscription","hasAvailableOptions","form","selectContractorSubscriptionStepSchema","existingRequired","fieldName","field","contractorOptions","opts","product","price","currencyCode","label","value","description","meta","FEATURES_BY_IDENTIFIER","a","b","otherOptions","useUpdateUKandSaudiFields","createContractorContractDocumentMutation","uploadFileMutation","parsedValues","uploadFileMutationAsync","mutationToPromise","createContractorContractDocumentMutationAsync","nationalityStatus","ir35Status","ir35SdsFile","ir35ContractDetailsPayload","nationalityContractDetailsPayload","IR35_FILE_SUBTYPE","useGetIR35File","ir35Files","isLoadingFiles","useEmploymentFiles","file","id","downloadQuery","useDownloadFile","useGetContractDocuments","getV1EmploymentsEmploymentIdContractDocuments","useGetEligibilityQuestionnaire","response","getV1ContractorsSchemasEligibilityQuestionnaire","schema","usePostCreateEligibilityQuestionnaire","postV1ContractorsEligibilityQuestionnaire","usePostManageContractorCorSubscription","postV1ContractorsEmploymentsEmploymentIdContractorCorSubscription","useDeleteContractorCorSubscription","deleteV1ContractorsEmploymentsEmploymentIdContractorCorSubscription","useSetContractOrigin","contractOrigin","templateType","postV1EmploymentsEmploymentIdContractOrigin","useGetContractOriginSchema","contractOriginSchema","useGetInvoiceScheduleSchema","enabled","jsfModify","invoiceScheduleSchema","useGetCreateInvoiceScheduleSchema","currencies","isLoadingCurrencies","useContractorCurrencies","createInvoiceScheduleSchema","currency","invoiceSchedulesOptions","queryOptions","getV1ContractorInvoiceSchedules","useGetExistingInvoiceSchedule","invoice","INVOICE_SCHEDULE_STATUS","useCountriesSchemaField","countries","countriesOptions","country","selectCountryForm","selectCountryStepSchema","countryField","useCompanyOpenTasks","identity","useIdentity","companyId","hasCompany","getV1CompaniesCompanyIdActions","useCreateInvoiceSchedule","values","buildInvoiceSchedulePayload","postV1ContractorInvoiceSchedules","useUpdateInvoiceSchedule","scheduleId","patchV1ContractorInvoiceSchedulesId2"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as i}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as i}from"./chunk-5IRUNNZB.js";import{b as e}from"./chunk-MRYRNB7Y.js";import{a as m}from"./chunk-P37U34EQ.js";import{jsx as u}from"react/jsx-runtime";function p({onSubmit:n}){let{terminationBag:o}=e(),a=m(async t=>{let r=await o?.parseFormValues(t);await n?.(r),o?.next()},"handleSubmit");return u(i,{defaultValues:o.fieldValues,onSubmit:a})}m(p,"EmployeeCommunicationForm");export{p as a};
|
|
2
|
+
//# sourceMappingURL=chunk-J5BG6GTH.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var e={type:"object",properties:{invoice_schedule_preference:{description:"Set up a schedule to automatically create invoices on behalf of this contractor.",oneOf:[{const:"schedule",description:"Set up a schedule to create invoices for this contractor now.",title:"Create invoice schedule now"},{const:"manual",description:"You or your contractor can always set up an invoice schedule later.",title:"Skip for now"}],title:"Invoice schedule",type:"string","x-jsf-presentation":{direction:"column",inputType:"radio",meta:{helpCenter:{id:0xc168fac108d,callToAction:"Learn about invoice schedules"}}}}},required:["invoice_schedule_preference"]};export{e as a};
|
|
2
|
+
//# sourceMappingURL=chunk-JKHJR6HK.js.map
|