@remoteoss/remote-flows 1.33.1 → 1.34.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-5NZEGPA6.js +2 -0
- package/dist/CountryFieldDefault-GP2S2KN6.js +2 -0
- package/dist/DatePickerFieldDefault-KN4COEEO.js +2 -0
- package/dist/RadioGroupFieldDefault-L3CZN2ZT.js +2 -0
- package/dist/TextAreaFieldDefault-YKBNDA4U.js +2 -0
- package/dist/chunk-2HREQZP4.js +2 -0
- package/dist/chunk-2HREQZP4.js.map +1 -0
- package/dist/{chunk-RITVVN7T.js → chunk-2IIHA7AA.js} +2 -2
- package/dist/{chunk-OFML5F4A.js → chunk-35LCD6VA.js} +2 -2
- package/dist/{chunk-ESYUJGB5.js → chunk-3I4I7VH6.js} +2 -2
- package/dist/{chunk-LS22BMPO.js → chunk-3M4RT5QK.js} +2 -2
- package/dist/{chunk-72K4C6OR.js → chunk-3PKL3V6F.js} +2 -2
- package/dist/{chunk-IQNQ4LFU.js → chunk-4LF5J3KW.js} +2 -2
- package/dist/{chunk-LK3FPLM5.js → chunk-4ZA3PGCP.js} +2 -2
- package/dist/{chunk-ORB2D4LR.js → chunk-5CFXZWQ5.js} +2 -2
- package/dist/{chunk-OGXMCNOP.js → chunk-5FHNCDLU.js} +2 -2
- package/dist/{chunk-DCEOZPQA.js → chunk-5IOV4ADT.js} +2 -2
- package/dist/{chunk-YP4H7UGJ.js → chunk-5JFH2KYZ.js} +2 -2
- package/dist/{chunk-3E7EDKBM.js → chunk-5TAAGXI6.js} +2 -2
- package/dist/{chunk-BZ6GXHXM.js → chunk-6BTNYUKU.js} +2 -2
- package/dist/{chunk-6Q54DYVX.js → chunk-7N552DET.js} +2 -2
- package/dist/{chunk-CVZGPWZH.js → chunk-AZSD5MTJ.js} +2 -2
- package/dist/{chunk-JAO2GIK3.js → chunk-B4JJN54S.js} +2 -2
- package/dist/{chunk-2SMK7OOK.js → chunk-BDDSSFUK.js} +2 -2
- package/dist/{chunk-6FOEJAXI.js → chunk-C7GJUNNC.js} +2 -2
- package/dist/{chunk-3V7ZQOOW.js → chunk-CFCUY6VA.js} +2 -2
- package/dist/{chunk-BZNN4OST.js → chunk-CMPHQVJ3.js} +2 -2
- package/dist/{chunk-TVBZT6FA.js → chunk-D6MFIXSJ.js} +2 -2
- package/dist/chunk-D6MFIXSJ.js.map +1 -0
- package/dist/{chunk-53WGX4C7.js → chunk-DILDN6DN.js} +2 -2
- package/dist/{chunk-XLPYO4QS.js → chunk-DNTUDKSN.js} +2 -2
- package/dist/{chunk-FDSUWSSY.js → chunk-DTTE663D.js} +2 -2
- package/dist/{chunk-CRO2FOF3.js → chunk-DZJDM6PM.js} +2 -2
- package/dist/{chunk-6AGNWLFO.js → chunk-E4VXY33I.js} +2 -2
- package/dist/chunk-EJWKMMZV.js +2 -0
- package/dist/chunk-EJWKMMZV.js.map +1 -0
- package/dist/chunk-ER46UFIU.js +8 -0
- package/dist/chunk-ER46UFIU.js.map +1 -0
- package/dist/{chunk-MKUSE7JK.js → chunk-F2ENM2JE.js} +2 -2
- package/dist/chunk-F2ENM2JE.js.map +1 -0
- package/dist/{chunk-QN2UHYGE.js → chunk-FTRPPW6E.js} +2 -2
- package/dist/chunk-FTRPPW6E.js.map +1 -0
- package/dist/{chunk-UDEKRW6Y.js → chunk-G7MJDZGB.js} +2 -2
- package/dist/chunk-G7MJDZGB.js.map +1 -0
- package/dist/{chunk-7AQ7V57P.js → chunk-GIO4RGLD.js} +2 -2
- package/dist/{chunk-62LLY3AT.js → chunk-HPO77UMT.js} +2 -2
- package/dist/{chunk-P6FBUGRL.js → chunk-IPLCBEJI.js} +2 -2
- package/dist/{chunk-PFK6TYWV.js → chunk-JBX6GAPY.js} +2 -2
- package/dist/{chunk-QTKCCR2M.js → chunk-KE5UI2WF.js} +2 -2
- package/dist/{chunk-GFPU6XMO.js → chunk-KEMKRC6N.js} +2 -2
- package/dist/{chunk-3B3IR4XI.js → chunk-KV7CBYSI.js} +2 -2
- package/dist/{chunk-4KJV4WU4.js → chunk-KXGHVCV2.js} +2 -2
- package/dist/{chunk-LW3ZZPWS.js → chunk-KYQIUVYP.js} +2 -2
- package/dist/{chunk-A5CJEHJA.js → chunk-LKFGJU72.js} +2 -2
- package/dist/{chunk-YGMFPM7A.js → chunk-LPXJW7UB.js} +2 -2
- package/dist/{chunk-CF3L7F4S.js → chunk-MKI4IWX6.js} +2 -2
- package/dist/{chunk-MND3NWG7.js → chunk-N5DHVRQR.js} +2 -2
- package/dist/chunk-NFI74GKN.js +2 -0
- package/dist/{chunk-3EIBETN3.js.map → chunk-NFI74GKN.js.map} +1 -1
- package/dist/{chunk-N57H62CC.js → chunk-OBF27DKO.js} +2 -2
- package/dist/chunk-OJMB3357.js +2 -0
- package/dist/{chunk-AHRG5QCS.js.map → chunk-OJMB3357.js.map} +1 -1
- package/dist/{chunk-YYSFI73T.js → chunk-OSHTXKLJ.js} +2 -2
- package/dist/{chunk-CWIILDO2.js → chunk-PURTKT5Q.js} +2 -2
- package/dist/chunk-Q65JWWKR.js +2 -0
- package/dist/chunk-Q65JWWKR.js.map +1 -0
- package/dist/chunk-QHZPSH52.js +2 -0
- package/dist/chunk-QHZPSH52.js.map +1 -0
- package/dist/{chunk-IHHDOH6Y.js → chunk-QSAZUS52.js} +2 -2
- package/dist/{chunk-62IEME2X.js → chunk-QXQYT7IC.js} +2 -2
- package/dist/chunk-QXQYT7IC.js.map +1 -0
- package/dist/{chunk-V4TK2JKS.js → chunk-R63ZJMJA.js} +2 -2
- package/dist/{chunk-V4TK2JKS.js.map → chunk-R63ZJMJA.js.map} +1 -1
- package/dist/chunk-SVVZOMLQ.js +2 -0
- package/dist/chunk-SVVZOMLQ.js.map +1 -0
- package/dist/chunk-TP3B2OEW.js +2 -0
- package/dist/chunk-TP3B2OEW.js.map +1 -0
- package/dist/{chunk-ZPMOCFFN.js → chunk-UG5UQ72J.js} +2 -2
- package/dist/{chunk-T3VXOELH.js → chunk-VDHWWC4J.js} +2 -2
- package/dist/{chunk-SFW4O42J.js → chunk-W4YDSTXA.js} +2 -2
- package/dist/chunk-W4YDSTXA.js.map +1 -0
- package/dist/{chunk-ACT6XGJM.js → chunk-W5THF3XS.js} +2 -2
- package/dist/{chunk-J4NCN3TG.js → chunk-X5ZZPJII.js} +2 -2
- package/dist/{chunk-J4NCN3TG.js.map → chunk-X5ZZPJII.js.map} +1 -1
- package/dist/{chunk-DKSN6HVI.js → chunk-XJHIF5ZE.js} +2 -2
- package/dist/{chunk-3HTQWY65.js → chunk-YGK26YJ2.js} +2 -2
- package/dist/chunk-YHQYBVLS.js +2 -0
- package/dist/chunk-YHQYBVLS.js.map +1 -0
- package/dist/{chunk-CDN7R7Y7.js → chunk-YLAJZTKB.js} +2 -2
- package/dist/chunk-Z6XIW4JQ.js +2 -0
- package/dist/chunk-Z6XIW4JQ.js.map +1 -0
- package/dist/chunk-ZAZ24JS2.js +2 -0
- package/dist/chunk-ZAZ24JS2.js.map +1 -0
- package/dist/default-components.d.ts +2 -2
- package/dist/default-components.js +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.d.ts +2 -2
- package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.js +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentFlow.d.ts +3 -3
- package/dist/flows/ContractAmendment/ContractAmendmentFlow.js +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentForm.d.ts +2 -2
- package/dist/flows/ContractAmendment/ContractAmendmentForm.js +1 -1
- package/dist/flows/ContractAmendment/context.d.ts +3 -3
- package/dist/flows/ContractAmendment/hooks.d.ts +3 -3
- package/dist/flows/ContractAmendment/hooks.js +1 -1
- package/dist/flows/ContractAmendment/index.d.ts +3 -3
- package/dist/flows/ContractAmendment/index.js +1 -1
- package/dist/flows/ContractAmendment/types.d.ts +2 -2
- package/dist/flows/ContractAmendment/utils.d.ts +2 -2
- package/dist/flows/ContractorOnboarding/ContractorOnboarding.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/ContractorOnboarding.js +1 -1
- package/dist/flows/ContractorOnboarding/api.d.ts +2 -2
- package/dist/flows/ContractorOnboarding/api.js +1 -1
- package/dist/flows/ContractorOnboarding/components/BasicInformationStep.d.ts +4 -4
- package/dist/flows/ContractorOnboarding/components/BasicInformationStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/ContractPreviewHeader.d.ts +2 -2
- package/dist/flows/ContractorOnboarding/components/ContractPreviewStatement.d.ts +2 -2
- package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/ContractReviewButton.js +1 -1
- package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.js +1 -1
- package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/OnboardingInvite.d.ts +3 -3
- package/dist/flows/ContractorOnboarding/components/OnboardingInvite.js +1 -1
- package/dist/flows/ContractorOnboarding/components/PricingPlan.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/components/PricingPlan.js +1 -1
- package/dist/flows/ContractorOnboarding/components/SaveDraftButton.d.ts +3 -3
- package/dist/flows/ContractorOnboarding/components/SelectCountryStep.d.ts +4 -4
- package/dist/flows/ContractorOnboarding/components/SelectCountryStep.js +1 -1
- package/dist/flows/ContractorOnboarding/context.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/hooks.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/hooks.js +1 -1
- package/dist/flows/ContractorOnboarding/index.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/index.js +1 -1
- package/dist/flows/ContractorOnboarding/jsfModify.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/jsfModify.js +1 -1
- package/dist/flows/ContractorOnboarding/types.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/utils.d.ts +4 -4
- package/dist/flows/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 +2 -2
- package/dist/flows/CostCalculator/EstimationResults/EstimationResults.js +1 -1
- package/dist/flows/CostCalculator/SummaryResults/SummaryResults.d.ts +2 -2
- package/dist/flows/CostCalculator/api.d.ts +2 -2
- package/dist/flows/CostCalculator/api.js +1 -1
- package/dist/flows/CostCalculator/components/SalaryField.d.ts +2 -2
- package/dist/flows/CostCalculator/components/SalaryField.js +1 -1
- package/dist/flows/CostCalculator/context.d.ts +3 -3
- package/dist/flows/CostCalculator/hooks.d.ts +3 -3
- package/dist/flows/CostCalculator/hooks.js +1 -1
- package/dist/flows/CostCalculator/index.d.ts +3 -3
- package/dist/flows/CostCalculator/index.js +1 -1
- package/dist/flows/CostCalculator/types.d.ts +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 +2 -2
- package/dist/flows/CreateCompany/api.js +1 -1
- package/dist/flows/CreateCompany/components/AddressDetailsStep.d.ts +4 -4
- package/dist/flows/CreateCompany/components/AddressDetailsStep.js +1 -1
- package/dist/flows/CreateCompany/components/CompanyBasicInformationStep.d.ts +4 -4
- package/dist/flows/CreateCompany/components/CompanyBasicInformationStep.js +1 -1
- package/dist/flows/CreateCompany/components/CreateCompanyForm.d.ts +2 -2
- package/dist/flows/CreateCompany/components/CreateCompanyForm.js +1 -1
- package/dist/flows/CreateCompany/context.d.ts +4 -4
- package/dist/flows/CreateCompany/hooks.d.ts +4 -4
- package/dist/flows/CreateCompany/hooks.js +1 -1
- package/dist/flows/CreateCompany/index.d.ts +4 -4
- package/dist/flows/CreateCompany/index.js +1 -1
- package/dist/flows/CreateCompany/types.d.ts +4 -4
- package/dist/flows/Onboarding/OnboardingFlow.d.ts +4 -4
- package/dist/flows/Onboarding/OnboardingFlow.js +1 -1
- package/dist/flows/Onboarding/api.d.ts +4 -4
- package/dist/flows/Onboarding/api.js +1 -1
- package/dist/flows/Onboarding/components/AnnualGrossSalary.d.ts +2 -2
- package/dist/flows/Onboarding/components/AnnualGrossSalary.js +1 -1
- package/dist/flows/Onboarding/components/BasicInformationStep.d.ts +4 -4
- package/dist/flows/Onboarding/components/BasicInformationStep.js +1 -1
- package/dist/flows/Onboarding/components/BenefitsStep.d.ts +4 -4
- package/dist/flows/Onboarding/components/BenefitsStep.js +1 -1
- package/dist/flows/Onboarding/components/ContractDetailsStep.d.ts +4 -4
- package/dist/flows/Onboarding/components/ContractDetailsStep.js +1 -1
- package/dist/flows/Onboarding/components/EngagementAgreementDetailsStep.d.ts +4 -4
- package/dist/flows/Onboarding/components/EngagementAgreementDetailsStep.js +1 -1
- package/dist/flows/Onboarding/components/OnboardingForm.d.ts +4 -4
- package/dist/flows/Onboarding/components/OnboardingForm.js +1 -1
- package/dist/flows/Onboarding/components/OnboardingInvite.d.ts +3 -3
- package/dist/flows/Onboarding/components/OnboardingInvite.js +1 -1
- package/dist/flows/Onboarding/components/ReviewStep.d.ts +4 -4
- package/dist/flows/Onboarding/components/SaveDraftButton.d.ts +3 -3
- package/dist/flows/Onboarding/components/SelectCountryStep.d.ts +4 -4
- package/dist/flows/Onboarding/components/SelectCountryStep.js +1 -1
- package/dist/flows/Onboarding/context.d.ts +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/Onboarding/utils.js +1 -1
- 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/schema.d.ts +4 -4
- package/dist/flows/Termination/types.d.ts +4 -4
- package/dist/flows/Termination/utils.d.ts +4 -4
- package/dist/flows/types.d.ts +5 -3
- package/dist/flows/utils.d.ts +2 -2
- package/dist/index.d.ts +12 -12
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/internals.d.ts +3 -3
- package/dist/internals.js +1 -1
- package/dist/{mutations-DTK4GE8r.d.ts → mutations-D9HgX-Ms.d.ts} +1 -1
- package/dist/{remoteFlows-n8r_cW0z.d.ts → remoteFlows-BY_Bq_Wn.d.ts} +2 -2
- package/dist/{types-Cd5_2FHQ.d.ts → types-3T7anr5K.d.ts} +3 -3
- package/dist/{types-BD0b8UuQ.d.ts → types-DRJoYr0A.d.ts} +2 -2
- package/dist/{types-BJ9gyvly.d.ts → types-DaTID0Xm.d.ts} +4 -4
- package/dist/{types-BiMfLZYw.d.ts → types-DnD9HEvZ.d.ts} +3 -3
- package/dist/{types-BY3BtHb6.d.ts → types-DreSaMum.d.ts} +1 -1
- package/dist/{types.gen-DPZBntYq.d.ts → types.gen-N4dGBvBJ.d.ts} +25 -9
- package/dist/{utils-C5lwjSxr.d.ts → utils-DE_uIWef.d.ts} +1 -1
- package/package.json +9 -8
- package/dist/CheckboxFieldDefault-U2NRBOXO.js +0 -2
- package/dist/CountryFieldDefault-DC4B2JGN.js +0 -2
- package/dist/DatePickerFieldDefault-Q6VSUSEY.js +0 -2
- package/dist/RadioGroupFieldDefault-CU6LOX2R.js +0 -2
- package/dist/TextAreaFieldDefault-4XPXRKZZ.js +0 -2
- package/dist/chunk-3EIBETN3.js +0 -2
- package/dist/chunk-62IEME2X.js.map +0 -1
- package/dist/chunk-AHRG5QCS.js +0 -2
- package/dist/chunk-AIT2DBW2.js +0 -2
- package/dist/chunk-AIT2DBW2.js.map +0 -1
- package/dist/chunk-B6YWTMGV.js +0 -2
- package/dist/chunk-B6YWTMGV.js.map +0 -1
- package/dist/chunk-CJJQ4NIH.js +0 -2
- package/dist/chunk-CJJQ4NIH.js.map +0 -1
- package/dist/chunk-DKDE34ZC.js +0 -2
- package/dist/chunk-DKDE34ZC.js.map +0 -1
- package/dist/chunk-HS63DEGD.js +0 -2
- package/dist/chunk-HS63DEGD.js.map +0 -1
- package/dist/chunk-MCXUBLTV.js +0 -2
- package/dist/chunk-MCXUBLTV.js.map +0 -1
- package/dist/chunk-MKUSE7JK.js.map +0 -1
- package/dist/chunk-N7FE22T7.js +0 -2
- package/dist/chunk-N7FE22T7.js.map +0 -1
- package/dist/chunk-QN2UHYGE.js.map +0 -1
- package/dist/chunk-RWXZG4KO.js +0 -2
- package/dist/chunk-RWXZG4KO.js.map +0 -1
- package/dist/chunk-SFW4O42J.js.map +0 -1
- package/dist/chunk-TNQKP2XT.js +0 -8
- package/dist/chunk-TNQKP2XT.js.map +0 -1
- package/dist/chunk-TVBZT6FA.js.map +0 -1
- package/dist/chunk-UDEKRW6Y.js.map +0 -1
- package/dist/chunk-XNW6UHSW.js +0 -2
- package/dist/chunk-XNW6UHSW.js.map +0 -1
- /package/dist/{CheckboxFieldDefault-U2NRBOXO.js.map → CheckboxFieldDefault-5NZEGPA6.js.map} +0 -0
- /package/dist/{CountryFieldDefault-DC4B2JGN.js.map → CountryFieldDefault-GP2S2KN6.js.map} +0 -0
- /package/dist/{DatePickerFieldDefault-Q6VSUSEY.js.map → DatePickerFieldDefault-KN4COEEO.js.map} +0 -0
- /package/dist/{RadioGroupFieldDefault-CU6LOX2R.js.map → RadioGroupFieldDefault-L3CZN2ZT.js.map} +0 -0
- /package/dist/{TextAreaFieldDefault-4XPXRKZZ.js.map → TextAreaFieldDefault-YKBNDA4U.js.map} +0 -0
- /package/dist/{chunk-RITVVN7T.js.map → chunk-2IIHA7AA.js.map} +0 -0
- /package/dist/{chunk-OFML5F4A.js.map → chunk-35LCD6VA.js.map} +0 -0
- /package/dist/{chunk-ESYUJGB5.js.map → chunk-3I4I7VH6.js.map} +0 -0
- /package/dist/{chunk-LS22BMPO.js.map → chunk-3M4RT5QK.js.map} +0 -0
- /package/dist/{chunk-72K4C6OR.js.map → chunk-3PKL3V6F.js.map} +0 -0
- /package/dist/{chunk-IQNQ4LFU.js.map → chunk-4LF5J3KW.js.map} +0 -0
- /package/dist/{chunk-LK3FPLM5.js.map → chunk-4ZA3PGCP.js.map} +0 -0
- /package/dist/{chunk-ORB2D4LR.js.map → chunk-5CFXZWQ5.js.map} +0 -0
- /package/dist/{chunk-OGXMCNOP.js.map → chunk-5FHNCDLU.js.map} +0 -0
- /package/dist/{chunk-DCEOZPQA.js.map → chunk-5IOV4ADT.js.map} +0 -0
- /package/dist/{chunk-YP4H7UGJ.js.map → chunk-5JFH2KYZ.js.map} +0 -0
- /package/dist/{chunk-3E7EDKBM.js.map → chunk-5TAAGXI6.js.map} +0 -0
- /package/dist/{chunk-BZ6GXHXM.js.map → chunk-6BTNYUKU.js.map} +0 -0
- /package/dist/{chunk-6Q54DYVX.js.map → chunk-7N552DET.js.map} +0 -0
- /package/dist/{chunk-CVZGPWZH.js.map → chunk-AZSD5MTJ.js.map} +0 -0
- /package/dist/{chunk-JAO2GIK3.js.map → chunk-B4JJN54S.js.map} +0 -0
- /package/dist/{chunk-2SMK7OOK.js.map → chunk-BDDSSFUK.js.map} +0 -0
- /package/dist/{chunk-6FOEJAXI.js.map → chunk-C7GJUNNC.js.map} +0 -0
- /package/dist/{chunk-3V7ZQOOW.js.map → chunk-CFCUY6VA.js.map} +0 -0
- /package/dist/{chunk-BZNN4OST.js.map → chunk-CMPHQVJ3.js.map} +0 -0
- /package/dist/{chunk-53WGX4C7.js.map → chunk-DILDN6DN.js.map} +0 -0
- /package/dist/{chunk-XLPYO4QS.js.map → chunk-DNTUDKSN.js.map} +0 -0
- /package/dist/{chunk-FDSUWSSY.js.map → chunk-DTTE663D.js.map} +0 -0
- /package/dist/{chunk-CRO2FOF3.js.map → chunk-DZJDM6PM.js.map} +0 -0
- /package/dist/{chunk-6AGNWLFO.js.map → chunk-E4VXY33I.js.map} +0 -0
- /package/dist/{chunk-7AQ7V57P.js.map → chunk-GIO4RGLD.js.map} +0 -0
- /package/dist/{chunk-62LLY3AT.js.map → chunk-HPO77UMT.js.map} +0 -0
- /package/dist/{chunk-P6FBUGRL.js.map → chunk-IPLCBEJI.js.map} +0 -0
- /package/dist/{chunk-PFK6TYWV.js.map → chunk-JBX6GAPY.js.map} +0 -0
- /package/dist/{chunk-QTKCCR2M.js.map → chunk-KE5UI2WF.js.map} +0 -0
- /package/dist/{chunk-GFPU6XMO.js.map → chunk-KEMKRC6N.js.map} +0 -0
- /package/dist/{chunk-3B3IR4XI.js.map → chunk-KV7CBYSI.js.map} +0 -0
- /package/dist/{chunk-4KJV4WU4.js.map → chunk-KXGHVCV2.js.map} +0 -0
- /package/dist/{chunk-LW3ZZPWS.js.map → chunk-KYQIUVYP.js.map} +0 -0
- /package/dist/{chunk-A5CJEHJA.js.map → chunk-LKFGJU72.js.map} +0 -0
- /package/dist/{chunk-YGMFPM7A.js.map → chunk-LPXJW7UB.js.map} +0 -0
- /package/dist/{chunk-CF3L7F4S.js.map → chunk-MKI4IWX6.js.map} +0 -0
- /package/dist/{chunk-MND3NWG7.js.map → chunk-N5DHVRQR.js.map} +0 -0
- /package/dist/{chunk-N57H62CC.js.map → chunk-OBF27DKO.js.map} +0 -0
- /package/dist/{chunk-YYSFI73T.js.map → chunk-OSHTXKLJ.js.map} +0 -0
- /package/dist/{chunk-CWIILDO2.js.map → chunk-PURTKT5Q.js.map} +0 -0
- /package/dist/{chunk-IHHDOH6Y.js.map → chunk-QSAZUS52.js.map} +0 -0
- /package/dist/{chunk-ZPMOCFFN.js.map → chunk-UG5UQ72J.js.map} +0 -0
- /package/dist/{chunk-T3VXOELH.js.map → chunk-VDHWWC4J.js.map} +0 -0
- /package/dist/{chunk-ACT6XGJM.js.map → chunk-W5THF3XS.js.map} +0 -0
- /package/dist/{chunk-DKSN6HVI.js.map → chunk-XJHIF5ZE.js.map} +0 -0
- /package/dist/{chunk-3HTQWY65.js.map → chunk-YGK26YJ2.js.map} +0 -0
- /package/dist/{chunk-CDN7R7Y7.js.map → chunk-YLAJZTKB.js.map} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{L as e}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{L as e}from"./chunk-ER46UFIU.js";import{a as t}from"./chunk-P37U34EQ.js";import{queryOptions as i}from"@tanstack/react-query";var a=t((o,n="default")=>i({queryKey:["countries",n],retry:!1,queryFn:t(async()=>{let r=await e({client:o,headers:{Authorization:""}});if(r.error||!r.data)throw new Error("Failed to fetch supported countries");return r},"queryFn")}),"countriesOptions");export{a};
|
|
2
|
+
//# sourceMappingURL=chunk-F2ENM2JE.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/common/api/countries.ts"],"sourcesContent":["import { queryOptions } from '@tanstack/react-query';\nimport { getV1Countries } from '@/src/client';\nimport { Client } from '@/src/client/client';\n\nexport const countriesOptions = (\n client: Client,\n queryKeySuffix = 'default',\n) => {\n return queryOptions({\n queryKey: ['countries', queryKeySuffix] as const,\n retry: false,\n queryFn: async () => {\n const response = await getV1Countries({\n client,\n headers: {\n Authorization: ``,\n },\n });\n\n if (response.error || !response.data) {\n throw new Error('Failed to fetch supported countries');\n }\n\n return response;\n },\n });\n};\n"],"mappings":"gFAAA,OAAS,gBAAAA,MAAoB,wBAItB,IAAMC,EAAmBC,EAAA,CAC9BC,EACAC,EAAiB,YAEVC,EAAa,CAClB,SAAU,CAAC,YAAaD,CAAc,EACtC,MAAO,GACP,QAASF,EAAA,SAAY,CACnB,IAAMI,EAAW,MAAMC,EAAe,CACpC,OAAAJ,EACA,QAAS,CACP,cAAe,EACjB,CACF,CAAC,EAED,GAAIG,EAAS,OAAS,CAACA,EAAS,KAC9B,MAAM,IAAI,MAAM,qCAAqC,EAGvD,OAAOA,CACT,EAbS,UAcX,CAAC,EArB6B","names":["queryOptions","countriesOptions","__name","client","queryKeySuffix","queryOptions","response","getV1Countries"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as g}from"./chunk-Q65JWWKR.js";import{a as d,b as w}from"./chunk-NZXVTXZY.js";import{a as E}from"./chunk-QHZPSH52.js";import{Q as F,e as _,z as P}from"./chunk-ER46UFIU.js";import{b as h,h as C}from"./chunk-JXAAON7I.js";import{a as j}from"./chunk-JDIKYCN6.js";import{e as c}from"./chunk-H2O4CVKF.js";import{a as e}from"./chunk-P37U34EQ.js";import{useMutation as b,useQuery as I}from"@tanstack/react-query";var B=e(({countryCode:n,employment:r,fieldValues:a,options:t})=>{let{client:u}=c(),m=t?.jsonSchemaVersion?.contract_amendments?{json_schema_version:t.jsonSchemaVersion.contract_amendments}:{};return I({queryKey:["contract-amendment-schema"],retry:!1,queryFn:e(async()=>{let o=await _({client:u,headers:{Authorization:""},query:{employment_id:r?.id,country_code:n,...m}});if(o.error||!o.data)throw new Error("Failed to fetch contract amendment schema");return o},"queryFn"),enabled:!!r,select:e(({data:o})=>{let l=o?.data||{};return E(l,a,t)},"select")})},"useContractAmendmentSchemaQuery"),J=e(n=>{let{client:r}=c(),a=n?.jsonSchemaVersion?.contract_amendments?{json_schema_version:n.jsonSchemaVersion.contract_amendments}:{};return b({mutationFn:e(t=>P({client:r,headers:{Authorization:""},body:t,query:{...a}}),"mutationFn")})},"useCreateContractAmendmentMutation"),K=e(n=>{let{client:r}=c(),a=n?.jsonSchemaVersion?.contract_amendments?{json_schema_version:n.jsonSchemaVersion.contract_amendments}:{};return b({mutationFn:e(t=>F({client:r,headers:{Authorization:""},body:t,query:{...a}}),"mutationFn")})},"useAutomatableContractAmendmentMutation"),te=e(({employmentId:n,countryCode:r,options:a})=>{let{fieldValues:t,setFieldValues:u,stepState:m,nextStep:o,previousStep:l}=j(d),{data:i,isLoading:v,isError:q,error:Q}=g({employmentId:n,queryParams:{exclude_files:!0}}),{data:s,isLoading:L,isError:M,error:T}=B({employment:i,countryCode:r,fieldValues:{...m.values?.[m.currentStep.name],...t},options:a}),k=w(i,s?.fields),S=J(a),A=K(a);async function x(p){let f=await C(p,s?.fields||[],{isPartialValidation:!1}),V={employment_id:i?.id,amendment_contract_id:i?.active_contract_id,contract_amendment:{...f}};switch(m.currentStep.name){case d.form.name:{let{mutateAsync:y}=h(A),H=await y(V);return o(),H}case d.confirmation_form.name:{let{mutateAsync:y}=h(S);return y(V)}default:throw new Error("Invalid step state")}}e(x,"onSubmit");async function z(p){if(s){let f=await C(p,s?.fields);return s?.handleValidation(f)}return null}e(z,"handleValidation");function O(){l()}return e(O,"back"),{stepState:m,fields:s?.fields||[],isLoading:v||L,isError:q||M,error:Q||T,isSubmitting:A.isPending||S.isPending,initialValues:k,values:t,handleValidation:z,checkFieldUpdates:u,onSubmit:x,back:O}},"useContractAmendment");export{te as a};
|
|
2
|
+
//# sourceMappingURL=chunk-FTRPPW6E.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/flows/ContractAmendment/hooks.ts"],"sourcesContent":["import { FieldValues } from 'react-hook-form';\nimport { useMutation, useQuery } from '@tanstack/react-query';\nimport {\n CreateContractAmendmentParams,\n Employment,\n getV1ContractAmendmentsSchema,\n postV1ContractAmendmentsAutomatable,\n postV1ContractAmendments,\n} from '@/src/client';\nimport { parseJSFToValidate } from '@/src/components/form/utils';\nimport { mutationToPromise } from '@/src/lib/mutations';\nimport { Client } from '@/src/client/client';\nimport { createHeadlessForm } from '@/src/common/createHeadlessForm';\nimport { useEmploymentQuery } from '@/src/common/api/employment';\nimport { useClient } from '@/src/context';\nimport { ContractAmendmentParams } from './types';\nimport { useStepState } from '../useStepState';\nimport { buildInitialValues, STEPS } from './utils';\nimport { FlowOptions } from '@/src/flows/types';\n\ntype ContractAmendmentSchemaParams = {\n countryCode: string;\n employment: Employment | undefined;\n fieldValues: FieldValues | undefined;\n options?: ContractAmendmentParams['options'];\n};\n\nconst useContractAmendmentSchemaQuery = ({\n countryCode,\n employment,\n fieldValues,\n options,\n}: ContractAmendmentSchemaParams) => {\n const { client } = useClient();\n const jsonSchemaQueryParam = options?.jsonSchemaVersion?.contract_amendments\n ? {\n json_schema_version: options.jsonSchemaVersion.contract_amendments,\n }\n : {};\n return useQuery({\n queryKey: ['contract-amendment-schema'],\n retry: false,\n queryFn: async () => {\n const response = await getV1ContractAmendmentsSchema({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n query: {\n employment_id: employment?.id as string,\n country_code: countryCode,\n ...jsonSchemaQueryParam,\n },\n });\n\n // If response status is 404 or other error, throw an error to trigger isError\n if (response.error || !response.data) {\n throw new Error('Failed to fetch contract amendment schema');\n }\n\n return response;\n },\n enabled: Boolean(employment),\n select: ({ data }) => {\n const jsfSchema = data?.data || {};\n\n return createHeadlessForm(jsfSchema, fieldValues, options);\n },\n });\n};\n\nconst useCreateContractAmendmentMutation = (options?: FlowOptions) => {\n const { client } = useClient();\n const jsonSchemaQueryParam = options?.jsonSchemaVersion?.contract_amendments\n ? {\n json_schema_version: options.jsonSchemaVersion.contract_amendments,\n }\n : {};\n return useMutation({\n mutationFn: (payload: CreateContractAmendmentParams) => {\n return postV1ContractAmendments({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n body: payload,\n query: {\n ...jsonSchemaQueryParam,\n },\n });\n },\n });\n};\n\nconst useAutomatableContractAmendmentMutation = (options?: FlowOptions) => {\n const { client } = useClient();\n const jsonSchemaQueryParam = options?.jsonSchemaVersion?.contract_amendments\n ? {\n json_schema_version: options.jsonSchemaVersion.contract_amendments,\n }\n : {};\n return useMutation({\n mutationFn: (payload: CreateContractAmendmentParams) => {\n return postV1ContractAmendmentsAutomatable({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n body: payload,\n query: {\n ...jsonSchemaQueryParam,\n },\n });\n },\n });\n};\n\nexport const useContractAmendment = ({\n employmentId,\n countryCode,\n options,\n}: ContractAmendmentParams) => {\n const { fieldValues, setFieldValues, stepState, nextStep, previousStep } =\n useStepState<keyof typeof STEPS>(STEPS);\n\n const {\n data: employment,\n isLoading: isLoadingEmployment,\n isError: isErrorEmployment,\n error: errorEmployment,\n } = useEmploymentQuery({\n employmentId,\n queryParams: {\n exclude_files: true,\n },\n });\n\n const {\n data: contractAmendmentHeadlessForm,\n isLoading: isLoadingContractAmendments,\n isError: isErrorContractAmendmentSchema,\n error: errorContractAmendmentSchema,\n } = useContractAmendmentSchemaQuery({\n employment,\n countryCode,\n // In case the user is navigating back to the form step, we need to\n // pass the previous field values, so that the schema can be\n // generated with the correct values.\n fieldValues: {\n ...stepState.values?.[stepState.currentStep.name], // Restore values for the current step\n ...fieldValues,\n },\n options,\n });\n\n const initialValues = buildInitialValues(\n employment,\n contractAmendmentHeadlessForm?.fields,\n );\n\n const createContractAmendmentMutation =\n useCreateContractAmendmentMutation(options);\n const automatableContractAmendmentMutation =\n useAutomatableContractAmendmentMutation(options);\n\n async function onSubmit(values: FieldValues) {\n const parsedValues = await parseJSFToValidate(\n values,\n contractAmendmentHeadlessForm?.fields || [],\n {\n isPartialValidation: false,\n },\n );\n\n const payload = {\n employment_id: employment?.id as string,\n amendment_contract_id: employment?.active_contract_id as string,\n contract_amendment: {\n ...parsedValues,\n },\n };\n\n switch (stepState.currentStep.name) {\n case STEPS.form.name: {\n const { mutateAsync } = mutationToPromise(\n automatableContractAmendmentMutation,\n );\n\n const automatableContractAmendment = await mutateAsync(payload);\n\n nextStep();\n\n return automatableContractAmendment;\n }\n case STEPS.confirmation_form.name: {\n const { mutateAsync } = mutationToPromise(\n createContractAmendmentMutation,\n );\n\n return mutateAsync(payload);\n }\n\n default:\n throw new Error('Invalid step state');\n }\n }\n\n async function handleValidation(values: FieldValues) {\n if (contractAmendmentHeadlessForm) {\n const parsedValues = await parseJSFToValidate(\n values,\n contractAmendmentHeadlessForm?.fields,\n );\n\n return contractAmendmentHeadlessForm?.handleValidation(parsedValues);\n }\n return null;\n }\n\n function back() {\n previousStep();\n }\n\n return {\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: contractAmendmentHeadlessForm?.fields || [],\n /**\n * Loading state indicating if either employment or contract amendment data is being fetched\n */\n isLoading: isLoadingEmployment || isLoadingContractAmendments,\n /**\n * Error state indicating if there was an error fetching either employment or contract amendment data\n */\n isError: isErrorEmployment || isErrorContractAmendmentSchema,\n /**\n * Error object containing details about any errors that occurred during data fetching\n */\n error: errorEmployment || errorContractAmendmentSchema,\n /**\n * Loading state indicating if a contract amendment mutation is in progress\n */\n isSubmitting:\n automatableContractAmendmentMutation.isPending ||\n createContractAmendmentMutation.isPending,\n /**\n * Initial form values built from employment data and contract amendment fields\n */\n initialValues,\n /**\n * Current form field values\n */\n values: fieldValues,\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,\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 handle form submission\n * @param values - Form values to submit\n * @returns Promise resolving to the mutation result\n */\n onSubmit,\n /**\n * Function to handle going back to the previous step\n * @returns {void}\n */\n back,\n };\n};\n"],"mappings":"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","names":["useMutation","useQuery","useContractAmendmentSchemaQuery","__name","countryCode","employment","fieldValues","options","client","useClient","jsonSchemaQueryParam","useQuery","response","getV1ContractAmendmentsSchema","data","jsfSchema","createHeadlessForm","useCreateContractAmendmentMutation","useMutation","payload","postV1ContractAmendments","useAutomatableContractAmendmentMutation","postV1ContractAmendmentsAutomatable","useContractAmendment","employmentId","setFieldValues","stepState","nextStep","previousStep","useStepState","STEPS","isLoadingEmployment","isErrorEmployment","errorEmployment","useEmploymentQuery","contractAmendmentHeadlessForm","isLoadingContractAmendments","isErrorContractAmendmentSchema","errorContractAmendmentSchema","initialValues","buildInitialValues","createContractAmendmentMutation","automatableContractAmendmentMutation","onSubmit","values","parsedValues","parseJSFToValidate","mutateAsync","mutationToPromise","automatableContractAmendment","handleValidation","back"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as k}from"./chunk-XFD3ULUF.js";import{a as S}from"./chunk-DN6BXTAC.js";import{a as m,b as
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as k}from"./chunk-XFD3ULUF.js";import{a as S}from"./chunk-DN6BXTAC.js";import{a as m,b as u,c as h,d as _}from"./chunk-DFJNVGK4.js";import{a as y}from"./chunk-TXSUZLOI.js";import{a as g}from"./chunk-QHZPSH52.js";import{E as T,Z as b,c as D}from"./chunk-ER46UFIU.js";import{e as i}from"./chunk-H2O4CVKF.js";import{a as n}from"./chunk-P37U34EQ.js";import{useQuery as v}from"@tanstack/react-query";var c=n(({employmentId:e,status:t,timeoffType:a,options:o})=>{let{client:r}=i();return v({queryKey:["timeoff",e,t],retry:!1,queryFn:n(()=>b({client:r,headers:{Authorization:""},query:{employment_id:e,status:t,timeoff_type:a}}),"queryFn"),select:n(({data:s})=>o?.select?.(s)??s,"select"),enabled:o?.enabled})},"useTimeOffQuery"),R=n((e,t)=>{let a=y(e).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"}),o=y(t).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"});return`${a} \u2192 ${o}`},"formatDateRange"),N=n(({employmentId:e,options:t})=>c({employmentId:e,timeoffType:"paid_time_off",options:{enabled:t?.enabled,select:n(a=>({bookedDays:a?.data?.timeoffs?.reduce((o,r)=>o+(r?.timeoff_days?.filter(s=>s.hours!=null&&s.hours>0).length||0),0)||0,timeoffs:a?.data?.timeoffs?.map(o=>{let r=o?.timeoff_days?.filter(s=>s.hours>0).length||0;return{status:o?.status,duration:r,startDate:o?.start_date,endDate:o?.end_date,formattedDate:R(o?.start_date,o?.end_date)}})||[]}),"select")}}),"usePaidTimeoffBreakdownQuery"),A=n(({employmentId:e})=>{let{client:t}=i();return v({queryKey:["timeoff-balance",e],retry:!1,queryFn:n(()=>T({client:t,headers:{Authorization:""},path:{employment_id:e}}),"queryFn"),select:n(({data:a})=>a,"select")})},"useTimeOffLeavePoliciesSummaryQuery");import{useMutation as x,useQuery as Q}from"@tanstack/react-query";function V(e){return Object.entries(e).reduce((t,[a,o])=>({...t,[a]:h(o)}),{})}n(V,"formatTimeoffValues");function F(e){let t=e?.contract_details?.available_pto,a=e?.contract_details?.available_pto_type;return e?.country?.code==="USA"&&a==="unlimited"?{value:t===0?20:t}:a==="unlimited"&&t>0?{value:t}:{value:t}}n(F,"getMinimumStatutoryDays");function q(e,t){let a=0,o=0;return e.forEach(r=>{r.timeoff_days?.forEach(s=>{new Date(s.day)<=t?a+=s.hours||0:o+=s.hours||0})}),{before:a,after:o}}n(q,"getAllTimeoffHoursBeforeDate");var U=n(({employmentId:e,date:t,options:a})=>c({employmentId:e,timeoffType:"paid_time_off",status:"approved",options:{enabled:a?.enabled,select:n(o=>{let{before:r,after:s}=q(o?.data?.timeoffs||[],new Date(t));return{bookedDaysBeforeTermination:u(r),bookedDaysAfterTermination:u(s)}},"select")}}),"useBookedTimeoffBeforeAndAfterTerminationQuery"),me=n(({employmentId:e,proposedTerminationDate:t,employment:a})=>{let{value:o=0}=F(a),r=A({employmentId:e}),s=U({employmentId:e,date:t}),p=r.data?.data?.[0].annual_entitlement.type==="limited"?{days:r.data?.data?.[0].annual_entitlement.days,hours:r.data?.data?.[0].annual_entitlement.hours}:{days:o,hours:0},d={days:r.data?.data?.[0].booked.days||0,hours:r.data?.data?.[0].booked.hours||0},f=r.data?.data?.[0].current_entitlement.type==="limited"?{days:r.data?.data?.[0].current_entitlement.days||0,hours:r.data?.data?.[0].current_entitlement.hours||0}:{days:o,hours:0},l={days:r.data?.data?.[0].used.days||0,hours:r.data?.data?.[0].used.hours||0},B=s.data?.bookedDaysBeforeTermination||{days:0,hours:0},C=s.data?.bookedDaysAfterTermination||{days:0,hours:0},H=m(f.days,f.hours),P=m(l.days,l.hours),E=m(d.days,d.hours),L=H-P-E,O=_(u(L));return{data:{...V({entitledDays:p,bookedDays:d,usedDays:l,approvedDaysBeforeTermination:B,approvedDaysAfterTermination:C,remainingDays:O,currentEntitlementDays:f}),isUnlimitedPto:a?.contract_details?.available_pto_type==="unlimited"},isLoading:r.isLoading||s.isLoading,isError:r.isError||s.isError,error:r.error||s.error}},"useSummaryTimeOffDataQuery"),ue=n(()=>{let{client:e}=i();return x({mutationFn:n(t=>D({client:e,body:t}),"mutationFn")})},"useCreateTermination"),de=n(({formValues:e,jsfModify:t,step:a})=>Q({queryKey:["rmt-flows-termination-schema",a],queryFn:n(()=>S[a]??k,"queryFn"),select:n(({data:o})=>{let r=o?.schema||{};return g(r,e||{},{jsfModify:t})},"select")}),"useTerminationSchema");export{c as a,N as b,A as c,U as d,me as e,ue as f,de as g};
|
|
2
|
+
//# sourceMappingURL=chunk-G7MJDZGB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/common/api/timeoff.ts","../src/flows/Termination/api.ts"],"sourcesContent":["import {\n getV1LeavePoliciesSummaryEmploymentId,\n getV1Timeoff,\n ListTimeoffResponse,\n TimeoffStatus,\n TimeoffType,\n} from '@/src/client';\nimport { Client } from '@/src/client/client';\nimport { parseLocalDate } from '@/src/common/dates';\nimport { useClient } from '@/src/context';\nimport { useQuery } from '@tanstack/react-query';\n\n/**\n * Hook to retrieve time off data for a specific employment.\n *\n * @param {Object} params - The parameters for the query.\n * @param {string} [params.employmentId] - The ID of the employment to fetch time off data for.\n * @param {TimeoffStatus} [params.status] - The status of the time off requests to filter by (e.g., 'approved', 'pending').\n * @returns {UseQueryResult<any, unknown>} - The result of the query, including the time off data.\n *\n */\nexport const useTimeOffQuery = <TData = ListTimeoffResponse>({\n employmentId,\n status,\n timeoffType,\n options,\n}: {\n employmentId?: string;\n status?: TimeoffStatus;\n timeoffType?: TimeoffType;\n options?: {\n enabled?: boolean;\n select?: (data: ListTimeoffResponse | undefined) => TData;\n };\n}) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['timeoff', employmentId, status],\n retry: false,\n queryFn: () => {\n return getV1Timeoff({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n query: {\n employment_id: employmentId,\n status: status,\n timeoff_type: timeoffType,\n },\n });\n },\n select: ({ data }) => (options?.select?.(data) ?? data) as TData,\n enabled: options?.enabled,\n });\n};\n\nconst formatDateRange = (startDate: string, endDate: string) => {\n const start = parseLocalDate(startDate).toLocaleDateString('en-US', {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n });\n const end = parseLocalDate(endDate).toLocaleDateString('en-US', {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n });\n return `${start} → ${end}`;\n};\n\nexport type PaidTimeoffBreakdownResponse = {\n bookedDays: number;\n timeoffs: {\n status: string;\n duration: number;\n startDate: string;\n endDate: string;\n formattedDate: string;\n }[];\n};\n\n/**\n * Hook to retrieve paid time off breakdown for a specific employment.\n *\n * @param {Object} params - The parameters for the query.\n * @param {string} [params.employmentId] - The ID of the employment to fetch paid time off breakdown for.\n * @returns {UseQueryResult<any, unknown>} - The result of the query, including the paid time off breakdown.\n *\n */\nexport const usePaidTimeoffBreakdownQuery = ({\n employmentId,\n options,\n}: {\n employmentId?: string;\n options?: {\n enabled?: boolean;\n };\n}) => {\n return useTimeOffQuery<PaidTimeoffBreakdownResponse>({\n employmentId,\n timeoffType: 'paid_time_off',\n options: {\n enabled: options?.enabled,\n select: (data) => {\n return {\n bookedDays:\n data?.data?.timeoffs?.reduce(\n (acc, timeoff) =>\n acc +\n (timeoff?.timeoff_days?.filter(\n (day) => day.hours != null && day.hours > 0,\n ).length || 0),\n 0,\n ) || 0,\n timeoffs:\n data?.data?.timeoffs?.map((timeoff) => {\n const duration =\n timeoff?.timeoff_days?.filter((day) => day.hours > 0).length ||\n 0;\n return {\n status: timeoff?.status,\n duration: duration,\n startDate: timeoff?.start_date,\n endDate: timeoff?.end_date,\n formattedDate: formatDateRange(\n timeoff?.start_date,\n timeoff?.end_date,\n ),\n };\n }) || [],\n };\n },\n },\n });\n};\n\n/**\n * Hook to retrieve time off balance for a specific employment.\n *\n * @param {Object} params - The parameters for the query.\n * @param {string} [params.employmentId] - The ID of the employment to fetch time off balance for.\n * @returns {UseQueryResult<any, unknown>} - The result of the query, including the time off balance.\n *\n */\nexport const useTimeOffLeavePoliciesSummaryQuery = ({\n employmentId,\n}: {\n employmentId?: string;\n}) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['timeoff-balance', employmentId],\n retry: false,\n queryFn: () => {\n return getV1LeavePoliciesSummaryEmploymentId({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n path: { employment_id: employmentId as string },\n });\n },\n select: ({ data }) => data,\n });\n};\n","import {\n CreateOffboardingParams,\n postV1Offboardings,\n Timeoff,\n} from '@/src/client';\nimport {\n useTimeOffLeavePoliciesSummaryQuery,\n useTimeOffQuery,\n} from '@/src/common/api/timeoff';\nimport { useClient } from '@/src/context';\nimport { Employment } from '@/src/flows/Onboarding/types';\nimport { defaultSchema } from '@/src/flows/Termination/json-schemas/defaultSchema';\nimport { TerminationFormValues } from '@/src/flows/Termination/types';\nimport { JSFModify } from '@/src/flows/types';\nimport {\n clampNegativeValuesIfApplicable,\n convertTotalHoursToDaysAndHours,\n convertToTotalHours,\n DaysAndHours,\n formatAsDecimal,\n} from '@/src/lib/time';\nimport { Client } from '@/src/client/client';\nimport { createHeadlessForm } from '@/src/common/createHeadlessForm';\nimport { useMutation, useQuery } from '@tanstack/react-query';\nimport { schema } from '@/src/flows/Termination/json-schemas/schema';\n\nfunction formatTimeoffValues(\n values: Record<string, DaysAndHours>,\n): Record<string, string> {\n return Object.entries(values).reduce(\n (acc, [key, value]) => ({\n ...acc,\n [key]: formatAsDecimal(value),\n }),\n {},\n );\n}\n\nfunction getMinimumStatutoryDays(employment?: Employment) {\n const availablePto = employment?.contract_details?.available_pto as number;\n const ptoType = employment?.contract_details?.available_pto_type as\n | 'unlimited'\n | 'fixed';\n const countryCode = employment?.country?.code;\n\n // Special handling for countries without statutory minimums\n if (countryCode === 'USA' && ptoType === 'unlimited') {\n // USA has no minimum, but Remote recommends 20\n return {\n value: availablePto === 0 ? 20 : availablePto,\n };\n }\n\n // For most countries with unlimited PTO, available_pto IS the statutory minimum\n if (ptoType === 'unlimited' && availablePto > 0) {\n return {\n value: availablePto,\n };\n }\n\n // For fixed PTO, it's just the entitlement\n return {\n value: availablePto,\n };\n}\n\nexport type BookedTimeoffBeforeDateResponse = {\n /*\n * The number of days booked before termination.\n */\n bookedDaysBeforeTermination: DaysAndHours;\n /*\n * The number of days booked after termination.\n */\n bookedDaysAfterTermination: DaysAndHours;\n};\n\nfunction getAllTimeoffHoursBeforeDate(\n timeoffs: Timeoff[],\n terminationDate: Date,\n): { before: number; after: number } {\n let before = 0;\n let after = 0;\n\n timeoffs.forEach((timeoff) => {\n timeoff.timeoff_days?.forEach((day) => {\n const dayDate = new Date(day.day);\n if (dayDate <= terminationDate) {\n // Day is on or before termination\n before += day.hours || 0;\n } else {\n // Day is after termination\n after += day.hours || 0;\n }\n });\n });\n\n return { before, after };\n}\n\n/**\n * Hook to retrieve booked time off data before and after a specific date for a specific employment.\n *\n * @param {Object} params - The parameters for the query.\n * @param {string} [params.employmentId] - The ID of the employment to fetch booked time off data for.\n * @param {string} [params.date] - The date to fetch booked time off data for.\n * @returns {BookedTimeoffBeforeDateResponse} - The booked time off data before and after the specific date.\n *\n * This hook accounts for partial days and multiple timeoff_days per request.\n */\nexport const useBookedTimeoffBeforeAndAfterTerminationQuery = ({\n employmentId,\n date,\n options,\n}: {\n employmentId: string;\n date: string;\n options?: { enabled: boolean };\n}) => {\n return useTimeOffQuery<BookedTimeoffBeforeDateResponse>({\n employmentId,\n timeoffType: 'paid_time_off',\n status: 'approved',\n options: {\n enabled: options?.enabled,\n select: (data) => {\n const { before, after } = getAllTimeoffHoursBeforeDate(\n data?.data?.timeoffs || [],\n new Date(date),\n );\n\n return {\n bookedDaysBeforeTermination: convertTotalHoursToDaysAndHours(before),\n bookedDaysAfterTermination: convertTotalHoursToDaysAndHours(after),\n };\n },\n },\n });\n};\n\nexport type SummaryTimeOffDataResponse = {\n /*\n * The number of days entitled to per year.\n */\n entitledDays: string;\n /*\n * The number of days booked.\n */\n bookedDays: string;\n /*\n * The number of days used.\n */\n usedDays: string;\n /*\n * The number of days current entitlement, better than entitledDays because it takes into account the accrued value.\n */\n currentEntitlementDays: string;\n /*\n * The number of days approved before termination.\n */\n approvedDaysBeforeTermination: string;\n /*\n * The number of days approved after termination.\n */\n approvedDaysAfterTermination: string;\n /*\n * The number of days remaining.\n */\n remainingDays: string;\n /*\n * Whether the PTO is unlimited or not.\n */\n isUnlimitedPto: boolean;\n};\n\n/**\n * Hook to retrieve summary time off data for a specific employment.\n *\n * @param {Object} params - The parameters for the query.\n * @param {string} [params.employmentId] - The ID of the employment to fetch summary time off data for.\n * @param {string} [params.proposedTerminationDate] - The proposed termination date to fetch summary time off data for.\n * @returns {SummaryTimeOffDataResponse} - The summary time off data.\n *\n * This hook doesn't take into account unlimited time off or half days yet.\n *\n */\nexport const useSummaryTimeOffDataQuery = ({\n employmentId,\n proposedTerminationDate,\n employment,\n}: {\n employmentId: string;\n proposedTerminationDate: string;\n employment?: Employment;\n}) => {\n const { value: minimumStatutoryDays = 0 } =\n getMinimumStatutoryDays(employment);\n const leavePoliciesSummaryQuery = useTimeOffLeavePoliciesSummaryQuery({\n employmentId,\n });\n const bookedTimeQuery = useBookedTimeoffBeforeAndAfterTerminationQuery({\n employmentId,\n date: proposedTerminationDate,\n });\n\n const entitledDays =\n leavePoliciesSummaryQuery.data?.data?.[0].annual_entitlement.type ===\n 'limited'\n ? {\n days: leavePoliciesSummaryQuery.data?.data?.[0].annual_entitlement\n .days,\n hours:\n leavePoliciesSummaryQuery.data?.data?.[0].annual_entitlement.hours,\n }\n : { days: minimumStatutoryDays, hours: 0 };\n\n const bookedDays = {\n days: leavePoliciesSummaryQuery.data?.data?.[0].booked.days || 0,\n hours: leavePoliciesSummaryQuery.data?.data?.[0].booked.hours || 0,\n };\n\n const currentEntitlementDays =\n leavePoliciesSummaryQuery.data?.data?.[0].current_entitlement.type ===\n 'limited'\n ? {\n days:\n leavePoliciesSummaryQuery.data?.data?.[0].current_entitlement\n .days || 0,\n hours:\n leavePoliciesSummaryQuery.data?.data?.[0].current_entitlement\n .hours || 0,\n }\n : { days: minimumStatutoryDays, hours: 0 };\n\n const usedDays = {\n days: leavePoliciesSummaryQuery.data?.data?.[0].used.days || 0,\n hours: leavePoliciesSummaryQuery.data?.data?.[0].used.hours || 0,\n };\n\n const approvedDaysBeforeTermination = bookedTimeQuery.data\n ?.bookedDaysBeforeTermination || { days: 0, hours: 0 };\n\n const approvedDaysAfterTermination = bookedTimeQuery.data\n ?.bookedDaysAfterTermination || { days: 0, hours: 0 };\n\n const totalCurrentEntitlementHours = convertToTotalHours(\n currentEntitlementDays.days,\n currentEntitlementDays.hours,\n );\n const totalUsedHours = convertToTotalHours(usedDays.days, usedDays.hours);\n const totalBookedHours = convertToTotalHours(\n bookedDays.days,\n bookedDays.hours,\n );\n\n const remainingHours =\n totalCurrentEntitlementHours - totalUsedHours - totalBookedHours;\n\n const remainingDays = clampNegativeValuesIfApplicable(\n convertTotalHoursToDaysAndHours(remainingHours),\n );\n\n const formattedValues = formatTimeoffValues({\n entitledDays,\n bookedDays,\n usedDays,\n approvedDaysBeforeTermination,\n approvedDaysAfterTermination,\n remainingDays,\n currentEntitlementDays,\n }) as Omit<SummaryTimeOffDataResponse, 'isUnlimitedPto'>;\n\n return {\n data: {\n ...formattedValues,\n isUnlimitedPto:\n employment?.contract_details?.available_pto_type === 'unlimited',\n },\n isLoading: leavePoliciesSummaryQuery.isLoading || bookedTimeQuery.isLoading,\n isError: leavePoliciesSummaryQuery.isError || bookedTimeQuery.isError,\n error: leavePoliciesSummaryQuery.error || bookedTimeQuery.error,\n };\n};\n\nexport const useCreateTermination = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: (payload: CreateOffboardingParams) => {\n return postV1Offboardings({\n client: client as Client,\n body: payload,\n });\n },\n });\n};\n\nexport const useTerminationSchema = ({\n formValues,\n jsfModify,\n step,\n}: {\n formValues?: TerminationFormValues;\n jsfModify?: JSFModify;\n step?: string;\n}) => {\n return useQuery({\n queryKey: ['rmt-flows-termination-schema', step],\n queryFn: () => {\n return schema[step as keyof typeof schema] ?? defaultSchema;\n },\n select: ({ data }) => {\n const jsfSchema = data?.schema || {};\n return createHeadlessForm(jsfSchema, formValues || {}, {\n jsfModify,\n });\n },\n });\n};\n"],"mappings":"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","names":["useQuery","useTimeOffQuery","__name","employmentId","status","timeoffType","options","client","useClient","useQuery","getV1Timeoff","data","formatDateRange","startDate","endDate","start","parseLocalDate","end","usePaidTimeoffBreakdownQuery","acc","timeoff","day","duration","useTimeOffLeavePoliciesSummaryQuery","getV1LeavePoliciesSummaryEmploymentId","useMutation","useQuery","formatTimeoffValues","values","acc","key","value","formatAsDecimal","__name","getMinimumStatutoryDays","employment","availablePto","ptoType","getAllTimeoffHoursBeforeDate","timeoffs","terminationDate","before","after","timeoff","day","useBookedTimeoffBeforeAndAfterTerminationQuery","employmentId","date","options","useTimeOffQuery","data","convertTotalHoursToDaysAndHours","useSummaryTimeOffDataQuery","proposedTerminationDate","minimumStatutoryDays","leavePoliciesSummaryQuery","useTimeOffLeavePoliciesSummaryQuery","bookedTimeQuery","entitledDays","bookedDays","currentEntitlementDays","usedDays","approvedDaysBeforeTermination","approvedDaysAfterTermination","totalCurrentEntitlementHours","convertToTotalHours","totalUsedHours","totalBookedHours","remainingHours","remainingDays","clampNegativeValuesIfApplicable","useCreateTermination","client","useClient","useMutation","payload","postV1Offboardings","useTerminationSchema","formValues","jsfModify","step","useQuery","schema","defaultSchema","jsfSchema","createHeadlessForm"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as D,b as k,c as j,e as L}from"./chunk-ZE37CBDF.js";import{f as G}from"./chunk-MCXUBLTV.js";import{a as le}from"./chunk-MKUSE7JK.js";import{a as ae}from"./chunk-N57H62CC.js";import{a as E,c as P,d as I,e as J,f as _}from"./chunk-ED7I5OM2.js";import{f as X,g as A,h as ee}from"./chunk-5BU3CD2P.js";import{n as T}from"./chunk-JXAAON7I.js";import{e as Q}from"./chunk-H2O4CVKF.js";import{a as v}from"./chunk-P37U34EQ.js";import*as O from"@radix-ui/react-collapsible";var ce=O.Root,be=O.CollapsibleTrigger,fe=O.CollapsibleContent;import*as w from"@radix-ui/react-tabs";import{jsx as U}from"react/jsx-runtime";function Y({className:e,...a}){return U(w.Root,{"data-slot":"tabs",className:T("flex flex-col gap-2",e),...a})}v(Y,"Tabs");function W({className:e,...a}){return U(w.List,{"data-slot":"tabs-list",className:T("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-1",e),...a})}v(W,"TabsList");function K({className:e,...a}){return U(w.Trigger,{"data-slot":"tabs-trigger",className:T("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),...a})}v(K,"TabsTrigger");function ge({className:e,...a}){return U(w.Content,{"data-slot":"tabs-content",className:T("flex-1 outline-none",e),...a})}v(ge,"TabsContent");import*as z from"react";import*as N from"@radix-ui/react-scroll-area";import{jsx as H,jsxs as ye}from"react/jsx-runtime";var te=z.forwardRef(({className:e,children:a,...l},n)=>ye(N.Root,{ref:n,className:T("relative overflow-hidden",e),...l,children:[H(N.Viewport,{className:"h-full w-full rounded-[inherit]",children:a}),H(se,{}),H(N.Corner,{})]}));te.displayName=N.Root.displayName;var se=z.forwardRef(({className:e,orientation:a="vertical",...l},n)=>H(N.ScrollAreaScrollbar,{ref:n,orientation:a,className:T("flex touch-none select-none transition-colors",a==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",a==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",e),...l,children:H(N.ScrollAreaThumb,{className:"relative flex-1 rounded-full bg-border"})}));se.displayName=N.ScrollAreaScrollbar.displayName;import{useState as B,useEffect as Ce,useMemo as we}from"react";import{useQuery as Re}from"@tanstack/react-query";import M from"fast-deep-equal";var oe=v(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"),he=v((e,a)=>{if(M(e,a))return;let l=new Map((e||[]).map(t=>[t.value,t])),n=new Map((a||[]).map(t=>[t.value,t])),d=[],m=[],p=[];if(n.forEach((t,c)=>{l.has(c)||d.push({value:t.value,label:t.label})}),l.forEach((t,c)=>{if(!n.has(c))m.push({value:t.value,label:t.label});else{let g=n.get(c);if(!M(t,g)){let b={};t.label!==g.label&&(b.label={old:t.label,new:g.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"),Ne=v((e,a)=>{let l=e.fields,n=a.fields;if(!l&&!n)return;let d=q(l||[],n||[]);if(d.added.length>0||d.removed.length>0||d.modified.length>0)return Array.from(d.fieldDiffs.values())},"compareNestedFields"),Se=v((e,a)=>{let l={label:e.label!==a.label,required:e.required!==a.required,inputType:e.inputType!==a.inputType,type:e.type!==a.type,jsonType:!M(e.jsonType,a.jsonType),name:e.name!==a.name,defaultValue:e.defaultValue!==a.defaultValue,minDate:e.minDate!==a.minDate,maxDate:e.maxDate!==a.maxDate,maxLength:e.maxLength!==a.maxLength,multiple:e.multiple!==a.multiple,isVisible:e.isVisible!==a.isVisible,options:!M(e.options,a.options)},n=(()=>{let m=e.fields,p=a.fields;if(!m&&!p)return!1;if(!m||!p)return!0;let t=q(m,p);return t.added.length>0||t.removed.length>0||t.modified.length>0})();return Object.values(l).some(m=>m)||n},"isFieldModified"),Te=v((e,a)=>{let l={};e.label!==a.label&&(l.label={old:e.label,new:a.label}),e.required!==a.required&&(l.required={old:e.required,new:a.required}),e.type!==a.type&&(l.type={old:e.type,new:a.type}),e.inputType!==a.inputType&&(l.inputType={old:e.inputType,new:a.inputType}),M(e.jsonType,a.jsonType)||(l.jsonType={old:e.jsonType,new:a.jsonType}),M(e.defaultValue,a.defaultValue)||(l.defaultValue={old:e.defaultValue,new:a.defaultValue}),e.minDate!==a.minDate&&(l.minDate={old:e.minDate||"",new:a.minDate||""}),e.maxDate!==a.maxDate&&(l.maxDate={old:e.maxDate||"",new:a.maxDate||""}),e.maxLength!==a.maxLength&&(l.maxLength={old:e.maxLength||0,new:a.maxLength||0}),e.multiple!==a.multiple&&(l.multiple={old:e.multiple||!1,new:a.multiple||!1}),e.isVisible!==a.isVisible&&(l.isVisible={old:e.isVisible,new:a.isVisible});let n=he(e.options,a.options);n&&(l.options=n);let d=Ne(e,a);return d&&(l.nestedFields=d),Object.keys(l).length>0?l:void 0},"getFieldChanges"),q=v((e=[],a=[])=>{let l=e.filter(oe),n=a.filter(oe),d=new Map(l.map(f=>[f.name,{field:f}])),m=new Map(n.map(f=>[f.name,{field:f}])),p=[],t=[],c=[],g=[],b=new Map;return m.forEach((f,i)=>{d.has(i)||(p.push(i),b.set(i,{fieldName:i,diffType:"added"}))}),d.forEach(({field:f},i)=>{if(!m.has(i))t.push(i),b.set(i,{fieldName:i,diffType:"removed"});else{let{field:h}=m.get(i);Se(f,h)?(c.push(i),b.set(i,{fieldName:i,diffType:"modified",changes:Te(f,h)})):(g.push(i),b.set(i,{fieldName:i,diffType:"unchanged"}))}}),{added:p,removed:t,modified:c,unchanged:g,fieldDiffs:b}},"compareFormFields"),ne=v(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 ie,useRef as $,useEffect as xe}from"react";import{jsx as s,jsxs as u}from"react/jsx-runtime";var Fe=v(({children:e,diffType:a,changes:l})=>{let n=ne(a);if(a==="unchanged")return s("div",{children:e});let m={added:s("span",{className:"text-xs font-semibold text-green-700 bg-green-100 px-2 py-1 rounded",children:"NEW"}),removed:s("span",{className:"text-xs font-semibold text-red-700 bg-red-100 px-2 py-1 rounded",children:"REMOVED"}),modified:s("span",{className:"text-xs font-semibold text-yellow-700 bg-yellow-100 px-2 py-1 rounded",children:"MODIFIED"})}[a],p=v(()=>{if(!l||a!=="modified")return null;let t=[];if(l.label&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold",children:"Label:"})," ",s("span",{className:"line-through text-red-600",children:l.label.old})," ","\u2192 ",s("span",{className:"text-green-600",children:l.label.new})]},"label")),l.required&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold",children:"Required:"})," ",s("span",{className:"line-through text-red-600",children:l.required.old?"Yes":"No"})," ","\u2192"," ",s("span",{className:"text-green-600",children:l.required.new?"Yes":"No"})]},"required")),l.type&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold",children:"Type:"})," ",s("span",{className:"line-through text-red-600",children:l.type.old})," ","\u2192 ",s("span",{className:"text-green-600",children:l.type.new})]},"type")),l.inputType&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold",children:"Input Type:"})," ",s("span",{className:"line-through text-red-600",children:l.inputType.old})," ","\u2192 ",s("span",{className:"text-green-600",children:l.inputType.new})]},"inputType")),l.jsonType){let c=Array.isArray(l.jsonType.old)?l.jsonType.old.join(" | "):l.jsonType.old,g=Array.isArray(l.jsonType.new)?l.jsonType.new.join(" | "):l.jsonType.new;t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold",children:"JSON Type:"})," ",s("span",{className:"line-through text-red-600",children:c})," \u2192"," ",s("span",{className:"text-green-600",children:g})]},"jsonType"))}return l.defaultValue!==void 0&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold",children:"Default Value:"})," ",s("span",{className:"line-through text-red-600",children:JSON.stringify(l.defaultValue.old)})," ","\u2192"," ",s("span",{className:"text-green-600",children:JSON.stringify(l.defaultValue.new)})]},"defaultValue")),l.options&&(l.options.added.length>0&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold text-green-700",children:"Options Added:"})," ",l.options.added.map(c=>c.label).join(", ")]},"options-added")),l.options.removed.length>0&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold text-red-700",children:"Options Removed:"})," ",l.options.removed.map(c=>c.label).join(", ")]},"options-removed")),l.options.modified.length>0&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold",children:"Options Modified:"})," ",l.options.modified.length," option(s)"]},"options-modified"))),l.nestedFields&&l.nestedFields.length>0&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold",children:"Nested Fields:"})," ",l.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:[s("div",{className:"text-xs font-semibold text-yellow-800 mb-1",children:"Changes:"}),t]})},"renderChanges");return u("div",{className:`p-3 mb-2 rounded ${n} relative`,children:[s("div",{className:"absolute top-2 right-2",children:m}),e,p()]})},"FieldWrapper"),re=v(({version:e,fields:a,fieldsets:l,diffMap:n,title:d,scrollRef:m})=>{let p=X({mode:"onBlur"}),t=ie(()=>{let c=v((g,b)=>g.map(f=>{let i=b.get(f.name),h=i?.diffType||"unchanged",S=i?.changes,x=f.fields,R=f;if(x&&Array.isArray(x)){let V=new Map;S&&typeof S=="object"&&"nestedFields"in S&&Array.isArray(S.nestedFields)&&S.nestedFields.forEach(o=>{V.set(o.fieldName,{diffType:o.diffType,changes:o.changes})});let F=c(x,V);R={...f,fields:F}}return{...R,WrapperComponent:v(({children:V})=>s(Fe,{diffType:h,fieldName:f.name,changes:S,children:V}),"WrapperComponent")}}),"applyWrappers");return c(a,n)},[a,n]);return u(D,{className:"h-full",children:[s(k,{children:u(j,{children:[d," - Version ",e]})}),s(L,{ref:m,className:"overflow-y-auto max-h-[600px]",children:s(ee,{...p,children:s("form",{className:"space-y-4",children:s(ae,{fields:t,fieldsets:l,fieldValues:{}})})})})]})},"FormPanel"),de=v(({topVersion:e,bottomVersion:a,topFields:l,bottomFields:n,topFieldsets:d,bottomFieldsets:m,isLoading:p})=>{let t=ie(()=>q(l,n),[l,n]),c=$(null),g=$(null),b=$(!1);if(xe(()=>{let i=c.current,h=g.current;if(!i||!h)return;let S=v(()=>{b.current||(b.current=!0,h.scrollTop=i.scrollTop,requestAnimationFrame(()=>{b.current=!1}))},"handleLeftScroll"),x=v(()=>{b.current||(b.current=!0,i.scrollTop=h.scrollTop,requestAnimationFrame(()=>{b.current=!1}))},"handleRightScroll");return i.addEventListener("scroll",S),h.addEventListener("scroll",x),()=>{i.removeEventListener("scroll",S),h.removeEventListener("scroll",x)}},[l,n]),p)return s("div",{className:"flex items-center justify-center h-96",children:u("div",{className:"text-center",children:[s("div",{className:"animate-spin rounded-full h-12 w-12 border-b-2 border-gray-900 mx-auto"}),s("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:[s(D,{children:s(L,{className:"pt-6",children:f?s("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:[s("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:[s("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:[s("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:[s(re,{version:e,fields:l,fieldsets:d,diffMap:t.fieldDiffs,title:"Left",scrollRef:c}),s(re,{version:a,fields:n,fieldsets:m,diffMap:t.fieldDiffs,title:"Right",scrollRef:g})]})]})},"SchemaFormComparison");var ve=[{value:1,label:"v1 (Legacy)"},{value:3,label:"v3 (Recommended)"}],Z={ALB:[{value:1,label:"v1"}],ARE:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],ARG:[{value:1,label:"v1"}],ARM:[{value:1,label:"v1"}],AUS:[{value:1,label:"v1"}],AUT:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],BEL:[{value:1,label:"v1"},{value:2,label:"v2"}],BGD:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],BGR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],BIH:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],BLR:[{value:1,label:"v1"},{value:2,label:"v2"}],BOL:[{value:1,label:"v1"}],BRA:[{value:1,label:"v1"}],CAN:[{value:1,label:"v1"},{value:2,label:"v2"}],CHE:[{value:1,label:"v1"},{value:2,label:"v2"}],CHL:[{value:1,label:"v1"}],CHN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],COL:[{value:1,label:"v1"}],CRI:[{value:1,label:"v1"}],CYP:[{value:1,label:"v1"}],CZE:[{value:1,label:"v1"},{value:2,label:"v2"}],DEU:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],DNK:[{value:1,label:"v1"}],DOM:[{value:1,label:"v1"}],ECU:[{value:1,label:"v1"}],EGY:[{value:1,label:"v1"},{value:2,label:"v2"}],ESP:[{value:1,label:"v1"},{value:2,label:"v2"}],EST:[{value:1,label:"v1"}],FIN:[{value:1,label:"v1"}],FRA:[{value:1,label:"v1"},{value:2,label:"v2"}],GBR:[{value:1,label:"v1"},{value:2,label:"v2"}],GEO:[{value:1,label:"v1"}],GRC:[{value:1,label:"v1"}],GTM:[{value:1,label:"v1"}],HKG:[{value:1,label:"v1"},{value:2,label:"v2"}],HND:[{value:1,label:"v1"}],HRV:[{value:1,label:"v1"},{value:2,label:"v2"}],HUN:[{value:1,label:"v1"}],IDN:[{value:1,label:"v1"}],IND:[{value:1,label:"v1"},{value:2,label:"v2"}],IRL:[{value:1,label:"v1"}],ISL:[{value:1,label:"v1"},{value:2,label:"v2"}],ISR:[{value:1,label:"v1"}],ITA:[{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"}],KGZ:[{value:1,label:"v1"}],KHM:[{value:1,label:"v1"}],KOR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],LBN:[{value:1,label:"v1"},{value:2,label:"v2"}],LKA:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],LTU:[{value:1,label:"v1"}],LUX:[{value:1,label:"v1"}],LVA:[{value:1,label:"v1"},{value:2,label:"v2"}],MAR:[{value:1,label:"v1"}],MDA:[{value:1,label:"v1"}],MEX:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],MKD:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],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"}],NOR:[{value:1,label:"v1"},{value:2,label:"v2"}],NZL:[{value:1,label:"v1"},{value:2,label:"v2"}],PAK:[{value:1,label:"v1"},{value:2,label:"v2"}],PAN:[{value:1,label:"v1"}],PER:[{value:1,label:"v1"}],PHL:[{value:1,label:"v1"}],POL:[{value:1,label:"v1"}],PRI:[{value:1,label:"v1"}],PRT:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],PRY:[{value:1,label:"v1"}],ROU:[{value:1,label:"v1"}],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"}],SVK:[{value:1,label:"v1"}],SVN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],SWE:[{value:1,label:"v1"},{value:2,label:"v2"}],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"}],TWN:[{value:1,label:"v1"}],UGA:[{value:1,label:"v1"}],UKR:[{value:1,label:"v1"}],URY:[{value:1,label:"v1"}],USA:[{value:1,label:"v1"}],VNM:[{value:1,label:"v1"},{value:2,label:"v2"}],XKX:[{value:1,label:"v1"}],ZAF:[{value:1,label:"v1"}],ZWE:[{value:1,label:"v1"}]},ue=Object.fromEntries(Object.entries(Z).filter(([,e])=>e.length>1)),me=[{value:"employment_basic_information",label:"Basic Information"},{value:"contract_details",label:"Contract Details"}];import{jsx as r,jsxs as y}from"react/jsx-runtime";var pe=v(()=>{let[e,a]=B("employment_basic_information"),[l,n]=B(1),[d,m]=B(1),[p,t]=B("ARE"),{client:c}=Q(),{data:g}=Re({...le(c,"schema-comparison"),select:v(o=>o.data?.data?.filter(C=>C.eor_onboarding).filter(C=>Object.keys(ue).includes(C.code)).map(C=>({label:C.name,value:C.code}))||[],"select")}),b=e==="contract_details",{data:f,isLoading:i}=G({countryCode:p,form:e,fieldValues:{},jsonSchemaVersion:l,options:{queryOptions:{enabled:!0}}}),{data:h,isLoading:S}=G({countryCode:p,form:e,fieldValues:{},jsonSchemaVersion:d,options:{queryOptions:{enabled:!0}}}),x=i||S,R=Z[p],V=R!==void 0,F=we(()=>e==="employment_basic_information"?ve:R||[{value:"latest",label:"Latest"}],[e,R]);return Ce(()=>{let o=F.map(C=>C.value);o.includes(l)||n(F[0].value),o.includes(d)||m(F[0].value)},[e,p,F,l,d]),y("div",{className:"space-y-6",children:[y(D,{children:[r(k,{children:r(j,{children:"Configuration"})}),y(L,{className:"space-y-4",children:[y("div",{children:[r(A,{className:"mb-2 block",children:"Form Type"}),r(Y,{value:e,onValueChange:o=>a(o),children:r(W,{className:"grid w-full grid-cols-2",children:me.map(o=>r(K,{value:o.value,children:o.label},o.value))})})]}),b&&!V&&r("div",{className:"rounded-md bg-yellow-50 p-4 border border-yellow-200",children:y("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"})})}),y("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:y("p",{children:["Country"," ",r("span",{className:"font-semibold",children:p})," is not configured in COUNTRY_CONTRACT_VERSIONS. Using default (latest only)."]})})]})]})}),b&&y("div",{children:[r(A,{htmlFor:"country-select",className:"mb-2 block",children:"Country"}),y(E,{value:p,onValueChange:t,children:[r(I,{id:"country-select",children:r(P,{placeholder:"Select a country"})}),r(J,{children:g?.map(o=>r(_,{value:o.value,children:o.label},o.value))})]})]}),y("div",{className:"grid grid-cols-2 gap-4",children:[y("div",{children:[r(A,{htmlFor:"top-version",className:"mb-2 block",children:"Left Version"}),y(E,{value:String(l),onValueChange:o=>n(o==="latest"?"latest":Number(o)),children:[r(I,{id:"top-version",children:r(P,{placeholder:"Select version"})}),r(J,{children:F.map(o=>r(_,{value:String(o.value),children:o.label},String(o.value)))})]})]}),y("div",{children:[r(A,{htmlFor:"bottom-version",className:"mb-2 block",children:"Right Version"}),y(E,{value:String(d),onValueChange:o=>m(o==="latest"?"latest":Number(o)),children:[r(I,{id:"bottom-version",children:r(P,{placeholder:"Select version"})}),r(J,{children:F.map(o=>r(_,{value:String(o.value),children:o.label},String(o.value)))})]})]})]})]})]}),r(de,{topVersion:l,bottomVersion:d,topFields:f?.fields||[],bottomFields:h?.fields||[],topFieldsets:f?.meta?.["x-jsf-fieldsets"],bottomFieldsets:h?.meta?.["x-jsf-fieldsets"],isLoading:x})]})},"JsonSchemaComparison");export{ce as a,be as b,fe as c,Y as d,W as e,K as f,ge as g,te as h,pe as i};
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as D,b as k,c as j,e as L}from"./chunk-ZE37CBDF.js";import{f as G}from"./chunk-YHQYBVLS.js";import{a as le}from"./chunk-F2ENM2JE.js";import{a as ae}from"./chunk-OBF27DKO.js";import{a as E,c as P,d as I,e as J,f as _}from"./chunk-ED7I5OM2.js";import{f as X,g as A,h as ee}from"./chunk-5BU3CD2P.js";import{n as T}from"./chunk-JXAAON7I.js";import{e as Q}from"./chunk-H2O4CVKF.js";import{a as v}from"./chunk-P37U34EQ.js";import*as O from"@radix-ui/react-collapsible";var ce=O.Root,be=O.CollapsibleTrigger,fe=O.CollapsibleContent;import*as w from"@radix-ui/react-tabs";import{jsx as U}from"react/jsx-runtime";function Y({className:e,...a}){return U(w.Root,{"data-slot":"tabs",className:T("flex flex-col gap-2",e),...a})}v(Y,"Tabs");function W({className:e,...a}){return U(w.List,{"data-slot":"tabs-list",className:T("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-1",e),...a})}v(W,"TabsList");function K({className:e,...a}){return U(w.Trigger,{"data-slot":"tabs-trigger",className:T("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),...a})}v(K,"TabsTrigger");function ge({className:e,...a}){return U(w.Content,{"data-slot":"tabs-content",className:T("flex-1 outline-none",e),...a})}v(ge,"TabsContent");import*as z from"react";import*as N from"@radix-ui/react-scroll-area";import{jsx as H,jsxs as ye}from"react/jsx-runtime";var te=z.forwardRef(({className:e,children:a,...l},n)=>ye(N.Root,{ref:n,className:T("relative overflow-hidden",e),...l,children:[H(N.Viewport,{className:"h-full w-full rounded-[inherit]",children:a}),H(se,{}),H(N.Corner,{})]}));te.displayName=N.Root.displayName;var se=z.forwardRef(({className:e,orientation:a="vertical",...l},n)=>H(N.ScrollAreaScrollbar,{ref:n,orientation:a,className:T("flex touch-none select-none transition-colors",a==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",a==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",e),...l,children:H(N.ScrollAreaThumb,{className:"relative flex-1 rounded-full bg-border"})}));se.displayName=N.ScrollAreaScrollbar.displayName;import{useState as B,useEffect as Ce,useMemo as we}from"react";import{useQuery as Re}from"@tanstack/react-query";import M from"fast-deep-equal";var oe=v(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"),he=v((e,a)=>{if(M(e,a))return;let l=new Map((e||[]).map(t=>[t.value,t])),n=new Map((a||[]).map(t=>[t.value,t])),d=[],m=[],p=[];if(n.forEach((t,c)=>{l.has(c)||d.push({value:t.value,label:t.label})}),l.forEach((t,c)=>{if(!n.has(c))m.push({value:t.value,label:t.label});else{let g=n.get(c);if(!M(t,g)){let b={};t.label!==g.label&&(b.label={old:t.label,new:g.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"),Ne=v((e,a)=>{let l=e.fields,n=a.fields;if(!l&&!n)return;let d=q(l||[],n||[]);if(d.added.length>0||d.removed.length>0||d.modified.length>0)return Array.from(d.fieldDiffs.values())},"compareNestedFields"),Se=v((e,a)=>{let l={label:e.label!==a.label,required:e.required!==a.required,inputType:e.inputType!==a.inputType,type:e.type!==a.type,jsonType:!M(e.jsonType,a.jsonType),name:e.name!==a.name,defaultValue:e.defaultValue!==a.defaultValue,minDate:e.minDate!==a.minDate,maxDate:e.maxDate!==a.maxDate,maxLength:e.maxLength!==a.maxLength,multiple:e.multiple!==a.multiple,isVisible:e.isVisible!==a.isVisible,options:!M(e.options,a.options)},n=(()=>{let m=e.fields,p=a.fields;if(!m&&!p)return!1;if(!m||!p)return!0;let t=q(m,p);return t.added.length>0||t.removed.length>0||t.modified.length>0})();return Object.values(l).some(m=>m)||n},"isFieldModified"),Te=v((e,a)=>{let l={};e.label!==a.label&&(l.label={old:e.label,new:a.label}),e.required!==a.required&&(l.required={old:e.required,new:a.required}),e.type!==a.type&&(l.type={old:e.type,new:a.type}),e.inputType!==a.inputType&&(l.inputType={old:e.inputType,new:a.inputType}),M(e.jsonType,a.jsonType)||(l.jsonType={old:e.jsonType,new:a.jsonType}),M(e.defaultValue,a.defaultValue)||(l.defaultValue={old:e.defaultValue,new:a.defaultValue}),e.minDate!==a.minDate&&(l.minDate={old:e.minDate||"",new:a.minDate||""}),e.maxDate!==a.maxDate&&(l.maxDate={old:e.maxDate||"",new:a.maxDate||""}),e.maxLength!==a.maxLength&&(l.maxLength={old:e.maxLength||0,new:a.maxLength||0}),e.multiple!==a.multiple&&(l.multiple={old:e.multiple||!1,new:a.multiple||!1}),e.isVisible!==a.isVisible&&(l.isVisible={old:e.isVisible,new:a.isVisible});let n=he(e.options,a.options);n&&(l.options=n);let d=Ne(e,a);return d&&(l.nestedFields=d),Object.keys(l).length>0?l:void 0},"getFieldChanges"),q=v((e=[],a=[])=>{let l=e.filter(oe),n=a.filter(oe),d=new Map(l.map(f=>[f.name,{field:f}])),m=new Map(n.map(f=>[f.name,{field:f}])),p=[],t=[],c=[],g=[],b=new Map;return m.forEach((f,i)=>{d.has(i)||(p.push(i),b.set(i,{fieldName:i,diffType:"added"}))}),d.forEach(({field:f},i)=>{if(!m.has(i))t.push(i),b.set(i,{fieldName:i,diffType:"removed"});else{let{field:h}=m.get(i);Se(f,h)?(c.push(i),b.set(i,{fieldName:i,diffType:"modified",changes:Te(f,h)})):(g.push(i),b.set(i,{fieldName:i,diffType:"unchanged"}))}}),{added:p,removed:t,modified:c,unchanged:g,fieldDiffs:b}},"compareFormFields"),ne=v(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 ie,useRef as $,useEffect as xe}from"react";import{jsx as s,jsxs as u}from"react/jsx-runtime";var Fe=v(({children:e,diffType:a,changes:l})=>{let n=ne(a);if(a==="unchanged")return s("div",{children:e});let m={added:s("span",{className:"text-xs font-semibold text-green-700 bg-green-100 px-2 py-1 rounded",children:"NEW"}),removed:s("span",{className:"text-xs font-semibold text-red-700 bg-red-100 px-2 py-1 rounded",children:"REMOVED"}),modified:s("span",{className:"text-xs font-semibold text-yellow-700 bg-yellow-100 px-2 py-1 rounded",children:"MODIFIED"})}[a],p=v(()=>{if(!l||a!=="modified")return null;let t=[];if(l.label&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold",children:"Label:"})," ",s("span",{className:"line-through text-red-600",children:l.label.old})," ","\u2192 ",s("span",{className:"text-green-600",children:l.label.new})]},"label")),l.required&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold",children:"Required:"})," ",s("span",{className:"line-through text-red-600",children:l.required.old?"Yes":"No"})," ","\u2192"," ",s("span",{className:"text-green-600",children:l.required.new?"Yes":"No"})]},"required")),l.type&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold",children:"Type:"})," ",s("span",{className:"line-through text-red-600",children:l.type.old})," ","\u2192 ",s("span",{className:"text-green-600",children:l.type.new})]},"type")),l.inputType&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold",children:"Input Type:"})," ",s("span",{className:"line-through text-red-600",children:l.inputType.old})," ","\u2192 ",s("span",{className:"text-green-600",children:l.inputType.new})]},"inputType")),l.jsonType){let c=Array.isArray(l.jsonType.old)?l.jsonType.old.join(" | "):l.jsonType.old,g=Array.isArray(l.jsonType.new)?l.jsonType.new.join(" | "):l.jsonType.new;t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold",children:"JSON Type:"})," ",s("span",{className:"line-through text-red-600",children:c})," \u2192"," ",s("span",{className:"text-green-600",children:g})]},"jsonType"))}return l.defaultValue!==void 0&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold",children:"Default Value:"})," ",s("span",{className:"line-through text-red-600",children:JSON.stringify(l.defaultValue.old)})," ","\u2192"," ",s("span",{className:"text-green-600",children:JSON.stringify(l.defaultValue.new)})]},"defaultValue")),l.options&&(l.options.added.length>0&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold text-green-700",children:"Options Added:"})," ",l.options.added.map(c=>c.label).join(", ")]},"options-added")),l.options.removed.length>0&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold text-red-700",children:"Options Removed:"})," ",l.options.removed.map(c=>c.label).join(", ")]},"options-removed")),l.options.modified.length>0&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold",children:"Options Modified:"})," ",l.options.modified.length," option(s)"]},"options-modified"))),l.nestedFields&&l.nestedFields.length>0&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold",children:"Nested Fields:"})," ",l.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:[s("div",{className:"text-xs font-semibold text-yellow-800 mb-1",children:"Changes:"}),t]})},"renderChanges");return u("div",{className:`p-3 mb-2 rounded ${n} relative`,children:[s("div",{className:"absolute top-2 right-2",children:m}),e,p()]})},"FieldWrapper"),re=v(({version:e,fields:a,fieldsets:l,diffMap:n,title:d,scrollRef:m})=>{let p=X({mode:"onBlur"}),t=ie(()=>{let c=v((g,b)=>g.map(f=>{let i=b.get(f.name),h=i?.diffType||"unchanged",S=i?.changes,x=f.fields,R=f;if(x&&Array.isArray(x)){let V=new Map;S&&typeof S=="object"&&"nestedFields"in S&&Array.isArray(S.nestedFields)&&S.nestedFields.forEach(o=>{V.set(o.fieldName,{diffType:o.diffType,changes:o.changes})});let F=c(x,V);R={...f,fields:F}}return{...R,WrapperComponent:v(({children:V})=>s(Fe,{diffType:h,fieldName:f.name,changes:S,children:V}),"WrapperComponent")}}),"applyWrappers");return c(a,n)},[a,n]);return u(D,{className:"h-full",children:[s(k,{children:u(j,{children:[d," - Version ",e]})}),s(L,{ref:m,className:"overflow-y-auto max-h-[600px]",children:s(ee,{...p,children:s("form",{className:"space-y-4",children:s(ae,{fields:t,fieldsets:l,fieldValues:{}})})})})]})},"FormPanel"),de=v(({topVersion:e,bottomVersion:a,topFields:l,bottomFields:n,topFieldsets:d,bottomFieldsets:m,isLoading:p})=>{let t=ie(()=>q(l,n),[l,n]),c=$(null),g=$(null),b=$(!1);if(xe(()=>{let i=c.current,h=g.current;if(!i||!h)return;let S=v(()=>{b.current||(b.current=!0,h.scrollTop=i.scrollTop,requestAnimationFrame(()=>{b.current=!1}))},"handleLeftScroll"),x=v(()=>{b.current||(b.current=!0,i.scrollTop=h.scrollTop,requestAnimationFrame(()=>{b.current=!1}))},"handleRightScroll");return i.addEventListener("scroll",S),h.addEventListener("scroll",x),()=>{i.removeEventListener("scroll",S),h.removeEventListener("scroll",x)}},[l,n]),p)return s("div",{className:"flex items-center justify-center h-96",children:u("div",{className:"text-center",children:[s("div",{className:"animate-spin rounded-full h-12 w-12 border-b-2 border-gray-900 mx-auto"}),s("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:[s(D,{children:s(L,{className:"pt-6",children:f?s("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:[s("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:[s("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:[s("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:[s(re,{version:e,fields:l,fieldsets:d,diffMap:t.fieldDiffs,title:"Left",scrollRef:c}),s(re,{version:a,fields:n,fieldsets:m,diffMap:t.fieldDiffs,title:"Right",scrollRef:g})]})]})},"SchemaFormComparison");var ve=[{value:1,label:"v1 (Legacy)"},{value:3,label:"v3 (Recommended)"}],Z={ALB:[{value:1,label:"v1"}],ARE:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],ARG:[{value:1,label:"v1"}],ARM:[{value:1,label:"v1"}],AUS:[{value:1,label:"v1"}],AUT:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],BEL:[{value:1,label:"v1"},{value:2,label:"v2"}],BGD:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],BGR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],BIH:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],BLR:[{value:1,label:"v1"},{value:2,label:"v2"}],BOL:[{value:1,label:"v1"}],BRA:[{value:1,label:"v1"}],CAN:[{value:1,label:"v1"},{value:2,label:"v2"}],CHE:[{value:1,label:"v1"},{value:2,label:"v2"}],CHL:[{value:1,label:"v1"}],CHN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],COL:[{value:1,label:"v1"}],CRI:[{value:1,label:"v1"}],CYP:[{value:1,label:"v1"}],CZE:[{value:1,label:"v1"},{value:2,label:"v2"}],DEU:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],DNK:[{value:1,label:"v1"}],DOM:[{value:1,label:"v1"}],ECU:[{value:1,label:"v1"}],EGY:[{value:1,label:"v1"},{value:2,label:"v2"}],ESP:[{value:1,label:"v1"},{value:2,label:"v2"}],EST:[{value:1,label:"v1"}],FIN:[{value:1,label:"v1"}],FRA:[{value:1,label:"v1"},{value:2,label:"v2"}],GBR:[{value:1,label:"v1"},{value:2,label:"v2"}],GEO:[{value:1,label:"v1"}],GRC:[{value:1,label:"v1"}],GTM:[{value:1,label:"v1"}],HKG:[{value:1,label:"v1"},{value:2,label:"v2"}],HND:[{value:1,label:"v1"}],HRV:[{value:1,label:"v1"},{value:2,label:"v2"}],HUN:[{value:1,label:"v1"}],IDN:[{value:1,label:"v1"}],IND:[{value:1,label:"v1"},{value:2,label:"v2"}],IRL:[{value:1,label:"v1"}],ISL:[{value:1,label:"v1"},{value:2,label:"v2"}],ISR:[{value:1,label:"v1"}],ITA:[{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"}],KGZ:[{value:1,label:"v1"}],KHM:[{value:1,label:"v1"}],KOR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],LBN:[{value:1,label:"v1"},{value:2,label:"v2"}],LKA:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],LTU:[{value:1,label:"v1"}],LUX:[{value:1,label:"v1"}],LVA:[{value:1,label:"v1"},{value:2,label:"v2"}],MAR:[{value:1,label:"v1"}],MDA:[{value:1,label:"v1"}],MEX:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],MKD:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],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"}],NOR:[{value:1,label:"v1"},{value:2,label:"v2"}],NZL:[{value:1,label:"v1"},{value:2,label:"v2"}],PAK:[{value:1,label:"v1"},{value:2,label:"v2"}],PAN:[{value:1,label:"v1"}],PER:[{value:1,label:"v1"}],PHL:[{value:1,label:"v1"}],POL:[{value:1,label:"v1"}],PRI:[{value:1,label:"v1"}],PRT:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],PRY:[{value:1,label:"v1"}],ROU:[{value:1,label:"v1"}],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"}],SVK:[{value:1,label:"v1"}],SVN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],SWE:[{value:1,label:"v1"},{value:2,label:"v2"}],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"}],TWN:[{value:1,label:"v1"}],UGA:[{value:1,label:"v1"}],UKR:[{value:1,label:"v1"}],URY:[{value:1,label:"v1"}],USA:[{value:1,label:"v1"}],VNM:[{value:1,label:"v1"},{value:2,label:"v2"}],XKX:[{value:1,label:"v1"}],ZAF:[{value:1,label:"v1"}],ZWE:[{value:1,label:"v1"}]},ue=Object.fromEntries(Object.entries(Z).filter(([,e])=>e.length>1)),me=[{value:"employment_basic_information",label:"Basic Information"},{value:"contract_details",label:"Contract Details"}];import{jsx as r,jsxs as y}from"react/jsx-runtime";var pe=v(()=>{let[e,a]=B("employment_basic_information"),[l,n]=B(1),[d,m]=B(1),[p,t]=B("ARE"),{client:c}=Q(),{data:g}=Re({...le(c,"schema-comparison"),select:v(o=>o.data?.data?.filter(C=>C.eor_onboarding).filter(C=>Object.keys(ue).includes(C.code)).map(C=>({label:C.name,value:C.code}))||[],"select")}),b=e==="contract_details",{data:f,isLoading:i}=G({countryCode:p,form:e,fieldValues:{},jsonSchemaVersion:l,options:{queryOptions:{enabled:!0}}}),{data:h,isLoading:S}=G({countryCode:p,form:e,fieldValues:{},jsonSchemaVersion:d,options:{queryOptions:{enabled:!0}}}),x=i||S,R=Z[p],V=R!==void 0,F=we(()=>e==="employment_basic_information"?ve:R||[{value:"latest",label:"Latest"}],[e,R]);return Ce(()=>{let o=F.map(C=>C.value);o.includes(l)||n(F[0].value),o.includes(d)||m(F[0].value)},[e,p,F,l,d]),y("div",{className:"space-y-6",children:[y(D,{children:[r(k,{children:r(j,{children:"Configuration"})}),y(L,{className:"space-y-4",children:[y("div",{children:[r(A,{className:"mb-2 block",children:"Form Type"}),r(Y,{value:e,onValueChange:o=>a(o),children:r(W,{className:"grid w-full grid-cols-2",children:me.map(o=>r(K,{value:o.value,children:o.label},o.value))})})]}),b&&!V&&r("div",{className:"rounded-md bg-yellow-50 p-4 border border-yellow-200",children:y("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"})})}),y("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:y("p",{children:["Country"," ",r("span",{className:"font-semibold",children:p})," is not configured in COUNTRY_CONTRACT_VERSIONS. Using default (latest only)."]})})]})]})}),b&&y("div",{children:[r(A,{htmlFor:"country-select",className:"mb-2 block",children:"Country"}),y(E,{value:p,onValueChange:t,children:[r(I,{id:"country-select",children:r(P,{placeholder:"Select a country"})}),r(J,{children:g?.map(o=>r(_,{value:o.value,children:o.label},o.value))})]})]}),y("div",{className:"grid grid-cols-2 gap-4",children:[y("div",{children:[r(A,{htmlFor:"top-version",className:"mb-2 block",children:"Left Version"}),y(E,{value:String(l),onValueChange:o=>n(o==="latest"?"latest":Number(o)),children:[r(I,{id:"top-version",children:r(P,{placeholder:"Select version"})}),r(J,{children:F.map(o=>r(_,{value:String(o.value),children:o.label},String(o.value)))})]})]}),y("div",{children:[r(A,{htmlFor:"bottom-version",className:"mb-2 block",children:"Right Version"}),y(E,{value:String(d),onValueChange:o=>m(o==="latest"?"latest":Number(o)),children:[r(I,{id:"bottom-version",children:r(P,{placeholder:"Select version"})}),r(J,{children:F.map(o=>r(_,{value:String(o.value),children:o.label},String(o.value)))})]})]})]})]})]}),r(de,{topVersion:l,bottomVersion:d,topFields:f?.fields||[],bottomFields:h?.fields||[],topFieldsets:f?.meta?.["x-jsf-fieldsets"],bottomFieldsets:h?.meta?.["x-jsf-fieldsets"],isLoading:x})]})},"JsonSchemaComparison");export{ce as a,be as b,fe as c,Y as d,W as e,K as f,ge as g,te as h,pe as i};
|
|
2
|
+
//# sourceMappingURL=chunk-GIO4RGLD.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as l}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as l}from"./chunk-DILDN6DN.js";import{b as s}from"./chunk-PGWKJ6FK.js";import{c as n}from"./chunk-JXAAON7I.js";import{a as t}from"./chunk-P37U34EQ.js";import{jsx as E}from"react/jsx-runtime";function S({onSubmit:d,onError:a,onSuccess:m}){let{onboardingBag:r}=s(),c=t(async i=>{try{let e=await r.parseFormValues(i);await d?.(e);let o=await r.onSubmit(i);if(o?.data){await m?.(o.data),r?.next();return}if(o?.error){let p=n(o?.fieldErrors||[],r.meta?.fields?.contract_details);a?.({error:o.error,rawError:o.rawError,fieldErrors:p})}}catch(e){a?.({error:e,rawError:e,fieldErrors:[]})}},"handleSubmit");return E(l,{defaultValues:r.stepState.values?.contract_details||r.initialValues.contract_details,onSubmit:c})}t(S,"ContractDetailsStep");export{S as a};
|
|
2
|
+
//# sourceMappingURL=chunk-HPO77UMT.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as s}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as s}from"./chunk-YLAJZTKB.js";import{b as a}from"./chunk-Q3ALCPJN.js";import{x as n}from"./chunk-JXAAON7I.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as E}from"react/jsx-runtime";function S({onSubmit:l,onSuccess:u,onError:m}){let{contractorOnboardingBag:i}=a(),d=e(async(t,b)=>{try{let o=await i.parseFormValues(t);await l?.(o);let r=await i.onSubmit(t);if(r?.data){await u?.(r?.data),r?._skipNextStep||i?.next();return}}catch(o){let r=n(o,i.meta?.fields?.eligibility_questionnaire,b);m?.(r)}},"handleSubmit"),p=i.stepState.values?.eligibility_questionnaire||i.initialValues.eligibility_questionnaire;return E(s,{defaultValues:p,onSubmit:d})}e(S,"EligibilityQuestionnaireStep");export{S as a};
|
|
2
|
+
//# sourceMappingURL=chunk-IPLCBEJI.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as Z}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as Z}from"./chunk-5TAAGXI6.js";import{a as I}from"./chunk-VFRHMNLJ.js";import{a as Q,b as W,c as X,f as Y}from"./chunk-2HREQZP4.js";import{a as C}from"./chunk-HN5HLFTB.js";import{a as G}from"./chunk-KFYWUBRS.js";import{c as ee}from"./chunk-X5ZZPJII.js";import{a as z}from"./chunk-QHZPSH52.js";import{b as K,h as M}from"./chunk-JXAAON7I.js";import{a as o}from"./chunk-P37U34EQ.js";import{number as Be,object as se}from"yup";import{useCallback as je,useEffect as te,useMemo as we,useRef as Re,useState as j}from"react";import{string as ne,ValidationError as re}from"yup";import{jsx as ie}from"react/jsx-runtime";var O={title:"Estimation",includeBenefits:!1,includeCostBreakdowns:!1,includePremiumBenefits:!1,enableCurrencyConversion:!1,includeEstimationTitle:!1,includeManagementFee:!1},Pe=o(t=>z(I.data.schema,void 0,t),"useStaticSchema");function xe(t,i){if(typeof t=="object"&&t!==null&&"title"in t){let l=t.title;if(l)return l}return i==="my_hiring_budget"?"Hiring budget":"Employee's annual salary"}o(xe,"getSalaryTitle");var ze=o(({defaultRegion:t,defaultCurrency:i,defaultSalary:l,estimationOptions:s,options:n,version:a}={estimationOptions:O})=>{let u=Re({fields:{}}),[k,h]=j(t),[w,R]=j(),[m,q]=j(),[H,le]=j(),{data:_,isLoading:ue}=Q({includePremiumBenefits:s.includePremiumBenefits}),{data:d,isLoading:ce}=W(),me=k||w?.value,{data:P,isLoading:de}=Y(me,{includePremiumBenefits:s.includePremiumBenefits,options:n}),U=X(),{mutateAsync:fe}=K(U),b=w?.currency,p=n?.jsfModify?.fields?.salary,F=p&&typeof p=="object"&&"presentation"in p?p.presentation:void 0,L=je(()=>{let e=b&&m?b!==m:!1;return b!==m?{from:m,to:b,shouldSwapOrder:e}:{from:b,to:m,shouldSwapOrder:e}},[b,m]),J=s.showManagementFee,$=s.includeEstimationTitle,ge=we(()=>{let{from:e,to:r,shouldSwapOrder:c}=L(),g=xe(p,H);return{fields:{salary:{...p,title:g,presentation:{salary_conversion_properties:{label:F?.salary_conversion_properties?.label,description:F?.salary_conversion_properties?.description},currencies:{from:e,to:r},Component:o(y=>ie(Z,{...y,shouldSwapOrder:c,conversionType:a==="marketing"?"no_spread":"spread",defaultValue:l}),"Component")}},hiring_budget:{...n?.jsfModify?.fields?.hiring_budget,presentation:{hidden:a=="marketing"}},management:{...n?.jsfModify?.fields?.management,properties:{...n?.jsfModify?.fields?.management?.properties,management_fee:{...n?.jsfModify?.fields?.management?.properties?.management_fee,"x-jsf-presentation":{inputType:"money",additionalProps:{currency:m||"USD"}}}},presentation:{...typeof n?.jsfModify?.fields?.management=="object"?(n?.jsfModify?.fields?.management)["x-jsf-presentation"]:{},hidden:!J,Component:o(y=>ie(ee,{...y,variant:"inset",features:{toggle:{enabled:!0,stateField:"management._expanded",labels:{expand:"Define",collapse:"Remove"}}}}),"Component")}},estimation_title:{...n?.jsfModify?.fields?.estimation_title,"x-jsf-presentation":{hidden:!$}}}}},[L,p,H,F?.salary_conversion_properties?.label,F?.salary_conversion_properties?.description,n?.jsfModify?.fields?.hiring_budget,n?.jsfModify?.fields?.management,n?.jsfModify?.fields?.estimation_title,a,m,J,$,l]),f=Pe({jsfModify:{fields:{...n?.jsfModify?.fields,...ge?.fields}}});te(()=>{if(t&&_){let e=_.find(({value:r})=>r===t);e&&R(e)}},[t,_]),te(()=>{if(i&&d){let e=d.find(({value:r})=>r===i);e&&q(e.label)}},[i,d]);async function ye(e){return fe(oe(e,s,a))}o(ye,"onSubmit");function pe(e){let r=_?.find(({value:c})=>c===e);r&&r.childRegions.length===0&&r.hasAdditionalFields?h(r.regionSlug):h(void 0),R(r)}o(pe,"onCountryChange");function Ce(e){h(e)}o(Ce,"onRegionChange");function _e(e){le(e.target.value)}o(_e,"onHiringBudgetChange");function be(e){let r=d?.find(c=>c.value===e)?.label;q(r),n?.onCurrencyChange?.(r||"")}o(be,"onChangeCurrency");let E=f.fields.find(e=>e.name==="region");if(E){let e=w?.childRegions.map(r=>({value:r.slug,label:r.name}))??[];E.options=e,E.isVisible=e.length>0,E.required=e.length>0,E.onChange=Ce,E.schema=e.length>0?ne().transform(r=>typeof r=="string"?r:"").required("Region is required"):ne()}if(d){let e=f.fields.find(r=>r.name==="currency");e&&(e.options=d,e.onChange=be)}let v=f.fields.find(e=>e.name==="hiring_budget");if(v&&(v.onChange=_e),_){let e=f.fields.find(r=>r.name==="country");e&&(e.options=_,e.onChange=pe)}let Ee=o(()=>{R(void 0),h(t)},"resetForm"),D=[...f.fields.filter(e=>e.name!=="management"),...P?.fields||[],...f.fields.filter(e=>e.name==="management")],N=ae(f.fields,m||"USD",s.includeEstimationTitle);async function Se(e){let r=null;n?.onValidation?.(e);let c=await M(e,D);try{await N.validate(c,{abortEarly:!1}),r={formErrors:{},yupError:new re([],e)}}catch(S){let B=G(S);r={formErrors:Object.entries(B).reduce((T,[A,V])=>({...T,[A]:V.message}),{}),yupError:S}}let g=P?.handleValidation(c),y=[...r?.yupError.inner||[],...g?.yupError?.inner||[]],x={...r?.yupError?.value||{},...g?.yupError?.value||{}};return{formErrors:{...r?.formErrors||{},...g?.formErrors||{}},yupError:new re(y,x)}}return o(Se,"handleValidation"),{stepState:{current:0,total:1,isLastStep:!0},fields:D,validationSchema:N,parseFormValues:o(async e=>{let{country:r,region:c,currency:g,salary_converted:y,hiring_budget:x,salary_conversion:S,management:B,estimation_title:T,...A}=e,V=e.salary;y==="salary_conversion"&&(V=S);let he=await M({country:r,region:c,salary:V,salary_converted:y,salary_conversion:S,hiring_budget:x,currency:g,management:B,estimation_title:T},f.fields),Fe=await M(A,P?.fields||[]),Ve={currency_code:d?.find(Me=>Me.value===g)?.label};return{...he,...Fe,...Ve}},"parseFormValues"),handleValidation:Se,isSubmitting:U.isPending,isLoading:ue&&ce&&de,onSubmit:ye,resetForm:Ee,currencies:d,meta:{fields:u.current?.fields}}},"useCostCalculator");function ae(t,i,l){let s=t.reduce((n,a)=>(a.name==="salary"||a.name==="salary_conversion"?n[a.name]=a.schema.when("salary_converted",{is:o(u=>u===a.name,"is"),then:o(u=>u.required("Required field"),"then"),otherwise:o(u=>u.optional(),"otherwise")}):a.name==="management"?n[a.name]=se({management_fee:Be().transform(u=>isNaN(u)?void 0:u).min(0,"Management fee must be greater than or equal to 0").max(i?C[i]:C.USD,()=>`Management fee cannot exceed ${(i?C[i]:C.USD)/100} ${i}`)}):a.name==="estimation_title"&&l?n[a.name]=a.schema.required("Required field"):n[a.name]=a.schema,n),{});return se(s)}o(ae,"buildValidationSchema");function Te(t){let i="benefit-";return Object.keys(t).reduce((l,s)=>{let n=t[s];if(n==="none")return l;let u={benefit_group_slug:s.replace(i,""),benefit_tier_slug:n};return[...l,u]},[])}o(Te,"formatBenefits");function Ae(t,i,l){let s=Number(t.management?.management_fee),n=t.currency_code;return{...{region_slug:t.region||t.country,employment_term:t.contract_duration_type??"fixed",title:t.estimation_title||i.title,age:t.age??void 0,...t.benefits&&{benefits:Te(t.benefits)},...i.includeManagementFee&&s&&{discount:{quoted_amount:i.showManagementFee?s:C[n]||C.USD,text:""}}},...Oe(t,l)}}o(Ae,"mapValueToEmployment");function Oe(t,i){let l=i==="marketing"||t.salary_converted==="salary_conversion",s=i==="standard"&&t.salary_converted==="salary",n=t.hiring_budget==="my_hiring_budget";if(l){let a=t.salary_converted==="salary_conversion";return n?{annual_total_cost_in_employer_currency:t.salary}:{[a?"annual_gross_salary_in_employer_currency":"annual_gross_salary"]:t.salary}}return s?n?{annual_total_cost:t.salary}:{annual_gross_salary:t.salary}:{}}o(Oe,"getSalaryFields");function oe(t,i=O,l="standard"){let s=Array.isArray(t)?t:[t];if(s.length===0)throw new Error("At least one employment value is required");return s.length>1&&new Set(s.map(a=>a.currency)).size>1&&console.warn("Multiple currencies detected in array. Using currency from first employment."),{employer_currency_slug:s[0].currency,include_benefits:i.includeBenefits,include_cost_breakdowns:i.includeCostBreakdowns,include_premium_benefits:i.includePremiumBenefits,include_management_fee:i.includeManagementFee,employments:s.map(n=>Ae(n,i,l))}}o(oe,"buildPayload");export{ae as a,oe as b,O as c,ze as d};
|
|
2
|
+
//# sourceMappingURL=chunk-JBX6GAPY.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a}from"./chunk-AZSD5MTJ.js";import{a as r}from"./chunk-SLEK47CR.js";import{a as t}from"./chunk-R63ZJMJA.js";import{a as f}from"./chunk-KXGHVCV2.js";import{a as e}from"./chunk-35LCD6VA.js";import{a as p}from"./chunk-YGK26YJ2.js";import{a as n}from"./chunk-YUNA3QKT.js";import{a as m}from"./chunk-MRYRNB7Y.js";import{a as i}from"./chunk-P37U34EQ.js";import{useId as c}from"react";import{jsx as F}from"react/jsx-runtime";var k=i(({employmentId:l,render:T,options:d,initialValues:s})=>{let u=c(),o=t({employmentId:l,options:d,initialValues:s});return F(m.Provider,{value:{formId:u,terminationBag:o},children:T({terminationBag:o,components:{SubmitButton:r,Back:n,EmployeeComunicationStep:e,TerminationDetailsStep:a,PaidTimeOffStep:p,AdditionalDetailsStep:f}})})},"TerminationFlow");export{k as a};
|
|
2
|
+
//# sourceMappingURL=chunk-KE5UI2WF.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{b as f}from"./chunk-76ZDXC2T.js";import{b as p}from"./chunk-KFYWUBRS.js";import{a as c}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{b as f}from"./chunk-76ZDXC2T.js";import{b as p}from"./chunk-KFYWUBRS.js";import{a as c}from"./chunk-OBF27DKO.js";import{f as a,h as d}from"./chunk-5BU3CD2P.js";import{a as t}from"./chunk-P37U34EQ.js";import{useEffect as y,useRef as b}from"react";import{jsx as l}from"react/jsx-runtime";import{createElement as g}from"react";function B({defaultValues:s,onSubmit:u,components:F}){let{formId:C,createCompanyBag:o}=f(),m=b(s),h=p(o.handleValidation),r=a({resolver:h,defaultValues:s,shouldUnregister:!1,mode:"onBlur"});y(()=>{let n=r?.watch(e=>{Object.keys(e).some(i=>e[i]!==m.current[i])&&(o?.checkFieldUpdates(e),m.current={...e})});return()=>n?.unsubscribe()},[]);let S=t(async n=>{await u(n)},"handleSubmit");return g(d,{...r,key:`form-${o.stepState.currentStep.name}`},l("form",{id:C,onSubmit:r.handleSubmit(S),className:"space-y-4 RemoteFlows__OnboardingForm",children:l(c,{components:F,fields:o.fields,fieldsets:o.meta.fieldsets,fieldValues:o.fieldValues})}))}t(B,"CreateCompanyForm");export{B as a};
|
|
2
|
+
//# sourceMappingURL=chunk-KEMKRC6N.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a}from"./chunk-YLAJZTKB.js";import{b as i}from"./chunk-Q3ALCPJN.js";import{x as n}from"./chunk-JXAAON7I.js";import{a as t}from"./chunk-P37U34EQ.js";import{jsx as y}from"react/jsx-runtime";function E({onSubmit:c,onSuccess:s,onError:u}){let{contractorOnboardingBag:r}=i(),l=t(async(e,d)=>{try{await c?.({countryCode:e.country});let o=await r.onSubmit(e);if(o?.data){await s?.(o?.data),r?.next();return}}catch(o){let S=n(o,r.meta?.fields?.select_country,d);u?.(S)}},"handleSubmit"),m=r.stepState.values?.select_country||r.initialValues.select_country;return y(a,{defaultValues:m,onSubmit:l})}t(E,"SelectCountryStep");export{E as a};
|
|
2
|
+
//# sourceMappingURL=chunk-KV7CBYSI.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as n}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as n}from"./chunk-DZJDM6PM.js";import{b as e}from"./chunk-MRYRNB7Y.js";import{a as r}from"./chunk-P37U34EQ.js";import{jsx as u}from"react/jsx-runtime";function F({onSubmit:t,onSuccess:s,onError:m}){let{terminationBag:o}=e(),d=r(async a=>{let l=await o?.parseFormValues(a,!0);await t?.(l);let i=await o?.onSubmit(a);i?.error?m?.(i.rawError):i?.data&&await s?.(i.data)},"handleSubmit");return u(n,{defaultValues:o.fieldValues,fields:o?.fields,onSubmit:d})}r(F,"AdditionalDetailsForm");export{F as a};
|
|
2
|
+
//# sourceMappingURL=chunk-KXGHVCV2.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as s}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as s}from"./chunk-YLAJZTKB.js";import{b as e}from"./chunk-Q3ALCPJN.js";import{x as n}from"./chunk-JXAAON7I.js";import{a as t}from"./chunk-P37U34EQ.js";import{jsx as u}from"react/jsx-runtime";function b({onSubmit:m,onSuccess:d,onError:c}){let{contractorOnboardingBag:o}=e(),p=t(async(i,f)=>{try{let a=await o.parseFormValues(i);await m?.(a);let r=await o.onSubmit(i);if(r?.data){await d?.(r?.data),o?.next();return}}catch(a){let r=n(a,o.meta?.fields?.basic_information,f);c?.(r)}},"handleSubmit"),l=o.stepState.values?.basic_information||o.initialValues.basic_information;return u(s,{defaultValues:l,onSubmit:p})}t(b,"BasicInformationStep");export{b as a};
|
|
2
|
+
//# sourceMappingURL=chunk-KYQIUVYP.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as f,b as g}from"./chunk-XWBNZAGY.js";import{b as R}from"./chunk-4ZMRPH3M.js";import{a as u}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as f,b as g}from"./chunk-XWBNZAGY.js";import{b as R}from"./chunk-4ZMRPH3M.js";import{a as u}from"./chunk-C7GJUNNC.js";import{j as l,k as F,l as t,n as s,o as _}from"./chunk-5BU3CD2P.js";import{n as a}from"./chunk-JXAAON7I.js";import{a as c}from"./chunk-P37U34EQ.js";import{Fragment as v}from"react";import{jsx as e,jsxs as r}from"react/jsx-runtime";var y=c(({field:d,fieldData:i,fieldState:C})=>{let{name:m,label:n,description:p,options:b}=i;return e("fieldset",{className:a("space-y-3",`RemoteFlows__RadioGroupField__Item__${m}`),"data-field":m,children:r(l,{children:[e("legend",{children:n}),p&&e(s,{helpCenter:e(u,{helpCenter:i.meta?.helpCenter}),children:p}),e(t,{children:e(f,{"aria-label":n||m,onValueChange:o=>{d.onChange(o)},value:d.value,className:"flex flex-col",children:b?.map(o=>e(v,{children:r(l,{"data-field":m,className:"flex items-start space-x-3 space-y-0 gap-0 min-h-[24px] RemoteFlows__RadioField__Item",children:[e(t,{children:e(g,{value:o.value,className:a("RemoteFlows__RadioField__Input",o.recommended&&"mt-1"),disabled:o.disabled})}),r("div",{children:[r(F,{className:"font-normal mb-0 RemoteFlows__RadioField__Label",children:[o.label," ",o.recommended&&e(R,{variant:"secondary",className:"ml-2",children:"Recommended"})]}),o.description&&e(s,{className:"mt-2",children:o.description})]})]})},o.value))})}),C.error&&e(_,{})]})})},"RadioGroupFieldDefault");export{y as a};
|
|
2
|
+
//# sourceMappingURL=chunk-LKFGJU72.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as n}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as n}from"./chunk-KEMKRC6N.js";import{b as i}from"./chunk-76ZDXC2T.js";import{x as a}from"./chunk-JXAAON7I.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-LPXJW7UB.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{b as p}from"./chunk-KSHK3ZPX.js";import{a as F}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{b as p}from"./chunk-KSHK3ZPX.js";import{a as F}from"./chunk-OBF27DKO.js";import{h as C}from"./chunk-5BU3CD2P.js";import{c as f,u as E}from"./chunk-JXAAON7I.js";import{a as m}from"./chunk-P37U34EQ.js";import{useEffect as R}from"react";import{jsx as n}from"react/jsx-runtime";function T({onSubmit:S,onError:w,onSuccess:y,onErrorWithFields:u,shouldResetForm:c,resetFields:a}){let{form:e,formId:V,costCalculatorBag:o}=p(),{formState:{isSubmitSuccessful:s}}=e;R(()=>{if(s&&c){o?.resetForm(),e.reset();return}if(s&&a){let t={...e.getValues()};a.forEach(r=>{t[r]=""}),o?.resetForm(),e.reset(t)}},[s,e,c,o,a]);let b=m(async d=>{try{let t=await o?.parseFormValues(d);o?.meta?.fields&&(o.meta.fields=E(t,o.fields),o.meta.fields.employer_currency_slug=o.meta.fields.currency);let r=await o?.onSubmit(t);if(await S?.(t),r?.data&&!r.error){let i={data:{...r.data.data,employments:r.data.data.employments?.map(l=>({...l,title:t.estimation_title}))}};await y?.(i)}else throw{data:null,error:r?.error,fieldErrors:r?.fieldErrors,rawError:r?.rawError}}catch(t){let r=t,i=r.fieldErrors;if(u){let l=o?.meta?.fields,h=f(i,l);u({error:r.error,rawError:r.rawError,fieldErrors:h})}else w?.(r.error)}},"handleSubmit");return n(C,{...e,children:n("form",{id:V,onSubmit:e.handleSubmit(b),className:"space-y-4 RemoteFlows__CostCalculatorForm",children:n(F,{fields:o?.fields??[]})})})}m(T,"CostCalculatorForm");export{T as a};
|
|
2
|
+
//# sourceMappingURL=chunk-MKI4IWX6.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{b as v}from"./chunk-TXSUZLOI.js";import{a as I}from"./chunk-A3LRPGV3.js";import{a as N,b as j,c as D,d as O}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{b as v}from"./chunk-TXSUZLOI.js";import{a as I}from"./chunk-A3LRPGV3.js";import{a as N,b as j,c as D,d as O}from"./chunk-ZAZ24JS2.js";import{b as C,h as p,i as b,u as R,v as F}from"./chunk-JXAAON7I.js";import{a as k}from"./chunk-JDIKYCN6.js";import{a as c}from"./chunk-P37U34EQ.js";import{useMemo as S,useRef as ee,useState as A}from"react";var pe=c(({countryCode:L,options:u,initialValues:l})=>{let P=N(),g=j(),{mutateAsync:q}=C(P),{mutateAsync:J}=C(g),[y,U]=A(L||null),[f,B]=A(null),w=ee({company_basic_information:{},address_details:{}}),{fieldValues:V,stepState:a,setFieldValues:W,previousStep:z,nextStep:G,goToStep:H}=k(I),{companyBasicInformationForm:d,isLoading:K}=D({jsfModify:u?.jsfModify?.company_basic_information,queryOptions:{enabled:a.currentStep.name==="company_basic_information"}}),{data:s,isLoading:Q}=O({countryCode:y,fieldValues:a.currentStep.name==="address_details"?{...a.values?.address_details||{},...V}:a.values?.address_details||{},options:{...u,jsfModify:u?.jsfModify?.address_details,queryOptions:{enabled:a.currentStep.name==="address_details"&&!!y&&!!f}}}),i=S(()=>({company_basic_information:d?.fields||[],address_details:s?.fields||[]}),[d?.fields,s?.fields]),X={company_basic_information:null,address_details:s?.meta?.["x-jsf-fieldsets"]||null},h=S(()=>b(i.company_basic_information,{...l,country_code:y||l?.country_code||""}),[i.company_basic_information,y,l]),E=S(()=>b(i.address_details,l||{}),[i.address_details,l]),Y=S(()=>({company_basic_information:h,address_details:E}),[h,E]),Z=c(o=>{H(o)},"goTo"),M=c(async o=>{let r=a.currentStep.name,e=i[r];return d&&r==="company_basic_information"?await p(o,e,{isPartialValidation:!1}):s&&r==="address_details"?await p(o,e,{isPartialValidation:!1}):{}},"parseFormValues");async function $(o){let r=a.currentStep.name,e=await M(o);switch(r in w.current&&(w.current[r]=R(e,i[r])),a.currentStep.name){case"company_basic_information":{if(U(e.country_code),f)return Promise.resolve({data:{countryCode:e.country_code??"",companyOwnerEmail:e.company_owner_email??"",companyOwnerName:e.company_owner_name??"",desiredCurrency:e.desired_currency??"",name:e.name??"",phoneNumber:e.phone_number??"",taxNumber:e.tax_number??""}});let x={country_code:e.country_code,company_owner_email:e.company_owner_email,company_owner_name:e.company_owner_name,desired_currency:e.desired_currency,name:e.name,phone_number:e.phone_number,tax_number:e.tax_number,terms_of_service_accepted_at:v()},n=await q(x);if(n.error)return Promise.resolve({data:null,error:n.error,rawError:n.rawError,fieldErrors:n.fieldErrors});let m=n.data?.data,_,t;if(m)if("data"in m&&m.data){let T=m.data.company;t=T,_=T?.id}else"company"in m&&(t=m.company,_=t?.id);return _&&B(_),Promise.resolve({data:{countryCode:t?.country_code??e.country_code??"",companyOwnerEmail:t?.company_owner_email??e.company_owner_email??"",companyOwnerName:t?.company_owner_name??e.company_owner_name??"",desiredCurrency:t?.desired_currency??e.desired_currency??"",name:t?.name??e.name??"",phoneNumber:t?.phone_number??e.phone_number??"",taxNumber:t?.tax_number??e.tax_number??""}})}case"address_details":{if(!f)throw F("Company ID is required to update address details");let n=await J({companyId:f,payload:{address_details:e},jsonSchemaVersion:u?.jsonSchemaVersion?.form_schema?.address_details});return n.error?Promise.resolve({data:null,error:n.error,rawError:n.rawError,fieldErrors:n.fieldErrors}):Promise.resolve({data:n.data})}default:throw F("Invalid step state")}}return c($,"onSubmit"),{isLoading:K||Q,isSubmitting:P.isPending||g.isPending,fieldValues:V,stepState:a,checkFieldUpdates:W,back:z,next:G,goTo:Z,onSubmit:$,fields:i[a.currentStep.name],meta:{fields:w.current,fieldsets:X[a.currentStep.name]},parseFormValues:M,handleValidation:c(async o=>{if(a.currentStep.name==="company_basic_information"&&d){let r=await p(o,d.fields,{isPartialValidation:!1});return d.handleValidation(r)}if(a.currentStep.name==="address_details"&&s){let r=await p(o,s.fields,{isPartialValidation:!1});return s.handleValidation(r)}return null},"handleValidation"),initialValues:Y}},"useCreateCompany");export{pe as a};
|
|
2
|
+
//# sourceMappingURL=chunk-N5DHVRQR.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{b as w}from"./chunk-PGWKJ6FK.js";import{d as v,e as y}from"./chunk-YHQYBVLS.js";import{b as i}from"./chunk-JXAAON7I.js";import{b as p}from"./chunk-H2O4CVKF.js";import{a as s}from"./chunk-P37U34EQ.js";import{jsx as C}from"react/jsx-runtime";function A({onSubmit:f,onSuccess:a,onError:t,render:E,...o}){let{components:R}=p(),{onboardingBag:r,setCreditScore:m}=w(),d=v(),u=y(),{mutateAsync:g}=i(d),{mutateAsync:I}=i(u),c=r.creditRiskStatus==="deposit_required"||r.onboardingReservesStatus==="deposit_required",S=s(async()=>{try{if(await f?.(),c&&r.employmentId&&r.employment?.status&&!r.isEmploymentReadOnly){let e=await I({employment_slug:r.employmentId});if(e.data){await a?.({data:e.data,employmentStatus:"created_awaiting_reserve"}),m?.(n=>({...n,showReserveInvoice:!0})),r.refetchEmployment();return}e.error&&t?.({error:e.error,rawError:e.rawError,fieldErrors:[]})}else if(r.employmentId){let e=await g({employment_id:r.employmentId});if(e.data){await a?.({data:e.data,employmentStatus:"invited"}),m?.(n=>({...n,showInviteSuccessful:!0})),r.refetchEmployment();return}e.error&&t?.({error:e.error,rawError:e.rawError,fieldErrors:[]})}}catch(e){t?.({error:e,rawError:e,fieldErrors:[]})}},"handleSubmit"),b=c&&r.employment?.status&&!r.isEmploymentReadOnly,l=R?.button;if(!l)throw new Error("Button component not found");let _=!r.canInvite||d.isPending||u.isPending||o.disabled;return C(l,{...o,disabled:_,onClick:e=>{S(),o.onClick?.(e)},children:E({employmentStatus:b?"created_awaiting_reserve":"invited"})})}s(A,"OnboardingInvite");export{A as a};
|
|
2
|
+
//# sourceMappingURL=chunk-NFI74GKN.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/flows/Onboarding/components/OnboardingInvite.tsx"],"sourcesContent":["import { ButtonHTMLAttributes, ReactNode } from 'react';\nimport { useEmploymentInvite } from '@/src/flows/Onboarding/api';\nimport { useCreateReserveInvoice } from '@/src/flows/Onboarding/api';\nimport { FieldError, mutationToPromise } from '@/src/lib/mutations';\nimport { SuccessResponse } from '@/src/client';\nimport { useOnboardingContext } from '@/src/flows/Onboarding/context';\nimport { useFormFields } from '@/src/context';\n\nexport type OnboardingInviteProps = Omit<\n ButtonHTMLAttributes<HTMLButtonElement>,\n 'onError'\n> & {\n onSuccess?: ({\n data,\n employmentStatus,\n }: {\n data: SuccessResponse;\n employmentStatus: 'invited' | 'created_awaiting_reserve';\n }) => void | Promise<void>;\n onError?: ({\n error,\n rawError,\n fieldErrors,\n }: {\n error: Error;\n rawError: Record<string, unknown>;\n fieldErrors: FieldError[];\n }) => void;\n onSubmit?: () => void | Promise<void>;\n render: (props: {\n employmentStatus: 'invited' | 'created_awaiting_reserve';\n }) => ReactNode;\n} & Record<string, unknown>;\n\nexport function OnboardingInvite({\n onSubmit,\n onSuccess,\n onError,\n render,\n ...props\n}: OnboardingInviteProps) {\n const { components } = useFormFields();\n const { onboardingBag, setCreditScore } = useOnboardingContext();\n const employmentInviteMutation = useEmploymentInvite();\n const useCreateReserveInvoiceMutation = useCreateReserveInvoice();\n\n const { mutateAsync: employmentInviteMutationAsync } = mutationToPromise(\n employmentInviteMutation,\n );\n\n const { mutateAsync: createReserveInvoiceMutationAsync } = mutationToPromise(\n useCreateReserveInvoiceMutation,\n );\n\n const isDepositRequired =\n onboardingBag.creditRiskStatus === 'deposit_required' ||\n onboardingBag.onboardingReservesStatus === 'deposit_required';\n\n const handleSubmit = async () => {\n try {\n await onSubmit?.();\n if (\n isDepositRequired &&\n onboardingBag.employmentId &&\n onboardingBag.employment?.status &&\n !onboardingBag.isEmploymentReadOnly\n ) {\n const response = await createReserveInvoiceMutationAsync({\n employment_slug: onboardingBag.employmentId,\n });\n if (response.data) {\n await onSuccess?.({\n data: response.data as SuccessResponse,\n employmentStatus: 'created_awaiting_reserve',\n });\n setCreditScore?.((prev) => ({\n ...prev,\n showReserveInvoice: true,\n }));\n onboardingBag.refetchEmployment();\n return;\n }\n\n if (response.error) {\n onError?.({\n error: response.error,\n rawError: response.rawError,\n fieldErrors: [],\n });\n }\n } else if (onboardingBag.employmentId) {\n const response = await employmentInviteMutationAsync({\n employment_id: onboardingBag.employmentId,\n });\n if (response.data) {\n await onSuccess?.({\n data: response.data as SuccessResponse,\n employmentStatus: 'invited',\n });\n setCreditScore?.((prev) => ({\n ...prev,\n showInviteSuccessful: true,\n }));\n onboardingBag.refetchEmployment();\n return;\n }\n if (response.error) {\n onError?.({\n error: response.error,\n rawError: response.rawError,\n fieldErrors: [],\n });\n }\n }\n } catch (error: unknown) {\n onError?.({\n error: error as Error,\n rawError: error as Record<string, unknown>,\n fieldErrors: [],\n });\n }\n };\n\n const isReserveFlow =\n isDepositRequired &&\n onboardingBag.employment?.status &&\n !onboardingBag.isEmploymentReadOnly;\n\n const CustomButton = components?.button;\n if (!CustomButton) {\n throw new Error(`Button component not found`);\n }\n\n
|
|
1
|
+
{"version":3,"sources":["../src/flows/Onboarding/components/OnboardingInvite.tsx"],"sourcesContent":["import { ButtonHTMLAttributes, ReactNode } from 'react';\nimport { useEmploymentInvite } from '@/src/flows/Onboarding/api';\nimport { useCreateReserveInvoice } from '@/src/flows/Onboarding/api';\nimport { FieldError, mutationToPromise } from '@/src/lib/mutations';\nimport { SuccessResponse } from '@/src/client';\nimport { useOnboardingContext } from '@/src/flows/Onboarding/context';\nimport { useFormFields } from '@/src/context';\n\nexport type OnboardingInviteProps = Omit<\n ButtonHTMLAttributes<HTMLButtonElement>,\n 'onError'\n> & {\n onSuccess?: ({\n data,\n employmentStatus,\n }: {\n data: SuccessResponse;\n employmentStatus: 'invited' | 'created_awaiting_reserve';\n }) => void | Promise<void>;\n onError?: ({\n error,\n rawError,\n fieldErrors,\n }: {\n error: Error;\n rawError: Record<string, unknown>;\n fieldErrors: FieldError[];\n }) => void;\n onSubmit?: () => void | Promise<void>;\n render: (props: {\n employmentStatus: 'invited' | 'created_awaiting_reserve';\n }) => ReactNode;\n} & Record<string, unknown>;\n\nexport function OnboardingInvite({\n onSubmit,\n onSuccess,\n onError,\n render,\n ...props\n}: OnboardingInviteProps) {\n const { components } = useFormFields();\n const { onboardingBag, setCreditScore } = useOnboardingContext();\n const employmentInviteMutation = useEmploymentInvite();\n const useCreateReserveInvoiceMutation = useCreateReserveInvoice();\n\n const { mutateAsync: employmentInviteMutationAsync } = mutationToPromise(\n employmentInviteMutation,\n );\n\n const { mutateAsync: createReserveInvoiceMutationAsync } = mutationToPromise(\n useCreateReserveInvoiceMutation,\n );\n\n const isDepositRequired =\n onboardingBag.creditRiskStatus === 'deposit_required' ||\n onboardingBag.onboardingReservesStatus === 'deposit_required';\n\n const handleSubmit = async () => {\n try {\n await onSubmit?.();\n if (\n isDepositRequired &&\n onboardingBag.employmentId &&\n onboardingBag.employment?.status &&\n !onboardingBag.isEmploymentReadOnly\n ) {\n const response = await createReserveInvoiceMutationAsync({\n employment_slug: onboardingBag.employmentId,\n });\n if (response.data) {\n await onSuccess?.({\n data: response.data as SuccessResponse,\n employmentStatus: 'created_awaiting_reserve',\n });\n setCreditScore?.((prev) => ({\n ...prev,\n showReserveInvoice: true,\n }));\n onboardingBag.refetchEmployment();\n return;\n }\n\n if (response.error) {\n onError?.({\n error: response.error,\n rawError: response.rawError,\n fieldErrors: [],\n });\n }\n } else if (onboardingBag.employmentId) {\n const response = await employmentInviteMutationAsync({\n employment_id: onboardingBag.employmentId,\n });\n if (response.data) {\n await onSuccess?.({\n data: response.data as SuccessResponse,\n employmentStatus: 'invited',\n });\n setCreditScore?.((prev) => ({\n ...prev,\n showInviteSuccessful: true,\n }));\n onboardingBag.refetchEmployment();\n return;\n }\n if (response.error) {\n onError?.({\n error: response.error,\n rawError: response.rawError,\n fieldErrors: [],\n });\n }\n }\n } catch (error: unknown) {\n onError?.({\n error: error as Error,\n rawError: error as Record<string, unknown>,\n fieldErrors: [],\n });\n }\n };\n\n const isReserveFlow =\n isDepositRequired &&\n onboardingBag.employment?.status &&\n !onboardingBag.isEmploymentReadOnly;\n\n const CustomButton = components?.button;\n if (!CustomButton) {\n throw new Error(`Button component not found`);\n }\n\n const disabled =\n !onboardingBag.canInvite ||\n employmentInviteMutation.isPending ||\n useCreateReserveInvoiceMutation.isPending ||\n props.disabled;\n\n return (\n <CustomButton\n {...props}\n disabled={disabled}\n onClick={(evt) => {\n handleSubmit();\n props.onClick?.(evt);\n }}\n >\n {render({\n employmentStatus: isReserveFlow\n ? 'created_awaiting_reserve'\n : 'invited',\n })}\n </CustomButton>\n );\n}\n"],"mappings":"+MA4II,cAAAA,MAAA,oBA1GG,SAASC,EAAiB,CAC/B,SAAAC,EACA,UAAAC,EACA,QAAAC,EACA,OAAAC,EACA,GAAGC,CACL,EAA0B,CACxB,GAAM,CAAE,WAAAC,CAAW,EAAIC,EAAc,EAC/B,CAAE,cAAAC,EAAe,eAAAC,CAAe,EAAIC,EAAqB,EACzDC,EAA2BC,EAAoB,EAC/CC,EAAkCC,EAAwB,EAE1D,CAAE,YAAaC,CAA8B,EAAIC,EACrDL,CACF,EAEM,CAAE,YAAaM,CAAkC,EAAID,EACzDH,CACF,EAEMK,EACJV,EAAc,mBAAqB,oBACnCA,EAAc,2BAA6B,mBAEvCW,EAAeC,EAAA,SAAY,CAC/B,GAAI,CAEF,GADA,MAAMnB,IAAW,EAEfiB,GACAV,EAAc,cACdA,EAAc,YAAY,QAC1B,CAACA,EAAc,qBACf,CACA,IAAMa,EAAW,MAAMJ,EAAkC,CACvD,gBAAiBT,EAAc,YACjC,CAAC,EACD,GAAIa,EAAS,KAAM,CACjB,MAAMnB,IAAY,CAChB,KAAMmB,EAAS,KACf,iBAAkB,0BACpB,CAAC,EACDZ,IAAkBa,IAAU,CAC1B,GAAGA,EACH,mBAAoB,EACtB,EAAE,EACFd,EAAc,kBAAkB,EAChC,MACF,CAEIa,EAAS,OACXlB,IAAU,CACR,MAAOkB,EAAS,MAChB,SAAUA,EAAS,SACnB,YAAa,CAAC,CAChB,CAAC,CAEL,SAAWb,EAAc,aAAc,CACrC,IAAMa,EAAW,MAAMN,EAA8B,CACnD,cAAeP,EAAc,YAC/B,CAAC,EACD,GAAIa,EAAS,KAAM,CACjB,MAAMnB,IAAY,CAChB,KAAMmB,EAAS,KACf,iBAAkB,SACpB,CAAC,EACDZ,IAAkBa,IAAU,CAC1B,GAAGA,EACH,qBAAsB,EACxB,EAAE,EACFd,EAAc,kBAAkB,EAChC,MACF,CACIa,EAAS,OACXlB,IAAU,CACR,MAAOkB,EAAS,MAChB,SAAUA,EAAS,SACnB,YAAa,CAAC,CAChB,CAAC,CAEL,CACF,OAASE,EAAgB,CACvBpB,IAAU,CACR,MAAOoB,EACP,SAAUA,EACV,YAAa,CAAC,CAChB,CAAC,CACH,CACF,EA/DqB,gBAiEfC,EACJN,GACAV,EAAc,YAAY,QAC1B,CAACA,EAAc,qBAEXiB,EAAenB,GAAY,OACjC,GAAI,CAACmB,EACH,MAAM,IAAI,MAAM,4BAA4B,EAG9C,IAAMC,EACJ,CAAClB,EAAc,WACfG,EAAyB,WACzBE,EAAgC,WAChCR,EAAM,SAER,OACEN,EAAC0B,EAAA,CACE,GAAGpB,EACJ,SAAUqB,EACV,QAAUC,GAAQ,CAChBR,EAAa,EACbd,EAAM,UAAUsB,CAAG,CACrB,EAEC,SAAAvB,EAAO,CACN,iBAAkBoB,EACd,2BACA,SACN,CAAC,EACH,CAEJ,CAzHgBJ,EAAApB,EAAA","names":["jsx","OnboardingInvite","onSubmit","onSuccess","onError","render","props","components","useFormFields","onboardingBag","setCreditScore","useOnboardingContext","employmentInviteMutation","useEmploymentInvite","useCreateReserveInvoiceMutation","useCreateReserveInvoice","employmentInviteMutationAsync","mutationToPromise","createReserveInvoiceMutationAsync","isDepositRequired","handleSubmit","__name","response","prev","error","isReserveFlow","CustomButton","disabled","evt"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as P,b as W,c as u}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as P,b as W,c as u}from"./chunk-X5ZZPJII.js";import{a as l}from"./chunk-XX25MIBS.js";import{c as y}from"./chunk-5BU3CD2P.js";import{j as h,m as x}from"./chunk-JXAAON7I.js";import{a as c}from"./chunk-P37U34EQ.js";import{Fragment as $}from"react";import a from"lodash.omit";var C={...P,fieldset:u,"fieldset-flat":u};import{Fragment as S,jsx as n,jsxs as g}from"react/jsx-runtime";var B=c(({fields:p,fieldsets:d,fieldValues:i,components:m})=>{let{setValue:T,watch:M}=y();if(!p||p.length===0)return null;let J=d&&i?h({fields:p,fieldsets:d,values:i}):p,r=c((e,F,o)=>F.WrapperComponent?n(F.WrapperComponent,{children:e},o):n($,{children:e},o),"wrapWithCustomWrapper");return n(S,{children:J.map(e=>{if(e.calculateDynamicProperties&&(e={...e,...e.calculateDynamicProperties(i,e)||{}}),e.isVisible===!1||e.deprecated||e.hidden)return null;if(x(e)){let t=a(e,"WrapperComponent");return r(n(W,{name:t.name,description:t.description,value:t.const,statement:t.statement,label:t.label,helpCenter:t.meta?.helpCenter}),e,e.name)}if(e.Component){let{Component:t}=e,R=a(e,["Component","WrapperComponent"]);return r(g(S,{children:[n(t,{...R,value:M(e.name),setValue:V=>T(e.name,V)}),e.statement?n(l,{...e.statement}):null,e.extra?e.extra:null]}),e,e.name)}let o=e.type,s=C[o];if(!s)return g("p",{className:"error",children:["Field type ",o," not supported"]});if(o==="fieldset"){let t=a(e,"WrapperComponent");return r(n(s,{...t,components:m}),e,e.name)}if(o==="fieldset-flat"){let t=a(e,"WrapperComponent");return r(n(s,{...t,components:m,isFlatFieldset:!0}),e,e.name)}o==="select"&&e.multiple&&(s=C["multi-select"]);let k=a(e,"WrapperComponent");return r(g(S,{children:[n(s,{...k,component:m&&m[o]}),e.statement?n(l,{...e.statement}):null,e.extra?e.extra:null]}),e,e.name)})})},"JSONSchemaFormFields");export{B as a};
|
|
2
|
+
//# sourceMappingURL=chunk-OBF27DKO.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a,b as s,e as l,h as c,i as d}from"./chunk-PX5PE6GX.js";import{a as i}from"./chunk-P37U34EQ.js";function _(e={}){let o=[{name:"select_country",label:"Select Country",visible:!!e?.includeSelectCountry},{name:"basic_information",label:"Basic Information",visible:!0},{name:"pricing_plan",label:"Pricing Plan",visible:!0},{name:"eligibility_questionnaire",label:"Eligibility Questionnaire",visible:!!e?.includeEligibilityQuestionnaire},{name:"contract_details",label:"Contract Details",visible:!0},{name:"contract_preview",label:"Contract Preview",visible:!!e?.includeContractPreview},{name:"review",label:"Review",visible:!0}].map((n,r)=>({name:n.name,index:r,label:n.label,visible:n.visible}));return{steps:o.reduce((n,r)=>(n[r.name]={index:r.index,name:r.name,visible:r.visible},n),{}),stepsArray:o}}i(_,"buildSteps");var E=i((e,t)=>{if(e&&t&&e!==t)return`When the contractor will start providing service to your company. ${`This date does not match the date you provided in the Basic Information step - ${e} - and will override it only when both parties have signed the contract.`}`},"calculateProvisionalStartDateDescription"),v=i(e=>e===a||e===s,"isCMOrCMPlus"),p=["SAU","KWT","OMN","QAT","BHR"],g=i(e=>p.includes(e),"isNationalityCountryCode"),y=i((e,t)=>!t||t.length===0?!0:!t.some(o=>l[o]===e),"shouldIncludeProduct"),S=["initiated","invited","created_awaiting_reserve","created_reserve_paid"],f=["initiated","created_awaiting_reserve","invited"];function R(e){return e?d:c}i(R,"transformAiErrorResponse");export{_ as a,E as b,v as c,g as d,y as e,S as f,f as g,R as h};
|
|
2
|
+
//# sourceMappingURL=chunk-OJMB3357.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/flows/ContractorOnboarding/utils.ts"],"sourcesContent":["import { Step } from '@/src/flows/useStepState';\nimport {\n contractorStandardProductIdentifier,\n contractorPlusProductIdentifier,\n ProductType,\n PRODUCT_IDENTIFIER_MAP,\n REMOTE_AI_SERVICES_AND_DELIVERABLES_ERROR_MESSAGE,\n REMOTE_AI_SERVICES_AND_DELIVERABLES_COR_ERROR_MESSAGE,\n} from '@/src/flows/ContractorOnboarding/constants';\nimport { Employment } from '@/src/flows/Onboarding/types';\n\nexport type StepKeys =\n | 'select_country'\n | 'basic_information'\n | 'contract_details'\n | 'eligibility_questionnaire'\n | 'contract_preview'\n | 'pricing_plan'\n | 'review';\n\ntype StepConfig = {\n includeSelectCountry?: boolean;\n includeEligibilityQuestionnaire?: boolean;\n includeContractPreview?: boolean;\n};\n\nexport function buildSteps(config: StepConfig = {}) {\n const stepDefinitions: Array<{\n name: StepKeys;\n label: string;\n visible: boolean;\n }> = [\n {\n name: 'select_country',\n label: 'Select Country',\n visible: Boolean(config?.includeSelectCountry),\n },\n {\n name: 'basic_information',\n label: 'Basic Information',\n visible: true,\n },\n {\n name: 'pricing_plan',\n label: 'Pricing Plan',\n visible: true,\n },\n {\n name: 'eligibility_questionnaire',\n label: 'Eligibility Questionnaire',\n visible: Boolean(config?.includeEligibilityQuestionnaire),\n },\n {\n name: 'contract_details',\n label: 'Contract Details',\n visible: true,\n },\n {\n name: 'contract_preview',\n label: 'Contract Preview',\n visible: Boolean(config?.includeContractPreview),\n },\n {\n name: 'review',\n label: 'Review',\n visible: true,\n },\n ];\n\n const stepsArray = stepDefinitions.map((step, index) => ({\n name: step.name,\n index,\n label: step.label,\n visible: step.visible,\n }));\n\n const steps = stepsArray.reduce(\n (acc, step) => {\n acc[step.name] = {\n index: step.index,\n name: step.name,\n visible: step.visible,\n };\n return acc;\n },\n {} as Record<string, Step<StepKeys>>,\n );\n\n return { steps, stepsArray };\n}\n\n/**\n * Calculates the description for the provisional start date field\n * based on whether the dates match between basic information and contract details steps\n */\nexport const calculateProvisionalStartDateDescription = (\n employmentProvisionalStartDate: string | undefined,\n fieldProvisionalStartDate: string | undefined,\n): string | undefined => {\n const datesNotMatching =\n employmentProvisionalStartDate &&\n fieldProvisionalStartDate &&\n employmentProvisionalStartDate !== fieldProvisionalStartDate;\n\n if (datesNotMatching) {\n const datesDontMatchWarning = `This date does not match the date you provided in the Basic Information step - ${\n employmentProvisionalStartDate\n } - and will override it only when both parties have signed the contract.`;\n return `When the contractor will start providing service to your company. ${datesDontMatchWarning}`;\n }\n return undefined;\n};\n\n/**\n * Checks if the selected pricing plan is CM (standard) or CM+ (plus)\n */\nexport const isCMOrCMPlus = (subscription: string | undefined): boolean => {\n return (\n subscription === contractorStandardProductIdentifier ||\n subscription === contractorPlusProductIdentifier\n );\n};\n\nconst NATIONALITY_COUNTRY_CODES = ['SAU', 'KWT', 'OMN', 'QAT', 'BHR'];\n\n/**\n * Checks if the country code is a country code that requires nationality status field\n */\nexport const isNationalityCountryCode = (countryCode: string) => {\n return NATIONALITY_COUNTRY_CODES.includes(countryCode);\n};\n\n/**\n * Checks if a product should be included based on the excludeProducts list\n * @param productIdentifier - The product identifier to check\n * @param excludeProducts - Array of products to exclude\n * @returns true if the product should be included, false otherwise\n */\nexport const shouldIncludeProduct = (\n productIdentifier: string,\n excludeProducts?: ProductType[],\n): boolean => {\n if (!excludeProducts || excludeProducts.length === 0) {\n return true;\n }\n\n return !excludeProducts.some(\n (excluded) => PRODUCT_IDENTIFIER_MAP[excluded] === productIdentifier,\n );\n};\n\n/**\n * Array of employment statuses that are allowed to proceed to the review step.\n * These statuses indicate that the employment is in a final state and the employment cannot be modified further.\n * @type {Employment['status'][]}\n * @constant\n */\nexport const reviewStepAllowedEmploymentStatus: Employment['status'][] = [\n 'invited',\n 'created_awaiting_reserve',\n 'created_reserve_paid',\n];\n\nexport const disabledInviteButtonEmploymentStatus: Employment['status'][] = [\n 'created_awaiting_reserve',\n 'invited',\n];\n\n/**\n * Transforms AI error messages to use default localized messages\n * @param isContractorOfRecord - Whether the contractor is a Contractor of Record\n * @param errors - Array of error messages from the API\n * @returns Array containing the appropriate default error message\n */\nexport function transformAiErrorResponse(\n isContractorOfRecord: boolean,\n): string {\n const remoteAiErrorMessage = isContractorOfRecord\n ? REMOTE_AI_SERVICES_AND_DELIVERABLES_COR_ERROR_MESSAGE\n : REMOTE_AI_SERVICES_AND_DELIVERABLES_ERROR_MESSAGE;\n return remoteAiErrorMessage;\n}\n"],"mappings":"uGA0BO,SAASA,EAAWC,EAAqB,CAAC,EAAG,CA2ClD,IAAMC,EAtCD,CACH,CACE,KAAM,iBACN,MAAO,iBACP,QAAS,EAAQD,GAAQ,oBAC3B,EACA,CACE,KAAM,oBACN,MAAO,oBACP,QAAS,EACX,EACA,CACE,KAAM,eACN,MAAO,eACP,QAAS,EACX,EACA,CACE,KAAM,4BACN,MAAO,4BACP,QAAS,EAAQA,GAAQ,+BAC3B,EACA,CACE,KAAM,mBACN,MAAO,mBACP,QAAS,EACX,EACA,CACE,KAAM,mBACN,MAAO,mBACP,QAAS,EAAQA,GAAQ,sBAC3B,EACA,CACE,KAAM,SACN,MAAO,SACP,QAAS,EACX,CACF,EAEmC,IAAI,CAACE,EAAMC,KAAW,CACvD,KAAMD,EAAK,KACX,MAAAC,EACA,MAAOD,EAAK,MACZ,QAASA,EAAK,OAChB,EAAE,EAcF,MAAO,CAAE,MAZKD,EAAW,OACvB,CAACG,EAAKF,KACJE,EAAIF,EAAK,IAAI,EAAI,CACf,MAAOA,EAAK,MACZ,KAAMA,EAAK,KACX,QAASA,EAAK,OAChB,EACOE,GAET,CAAC,CACH,EAEgB,WAAAH,CAAW,CAC7B,CA/DgBI,EAAAN,EAAA,cAqET,IAAMO,EAA2CD,EAAA,CACtDE,EACAC,IACuB,CAMvB,GAJED,GACAC,GACAD,IAAmCC,EAMnC,MAAO,qEAHuB,kFAC5BD,CACF,0EACiG,EAGrG,EAhBwD,4CAqB3CE,EAAeJ,EAACK,GAEzBA,IAAiBC,GACjBD,IAAiBE,EAHO,gBAOtBC,EAA4B,CAAC,MAAO,MAAO,MAAO,MAAO,KAAK,EAKvDC,EAA2BT,EAACU,GAChCF,EAA0B,SAASE,CAAW,EADf,4BAU3BC,EAAuBX,EAAA,CAClCY,EACAC,IAEI,CAACA,GAAmBA,EAAgB,SAAW,EAC1C,GAGF,CAACA,EAAgB,KACrBC,GAAaC,EAAuBD,CAAQ,IAAMF,CACrD,EAVkC,wBAmBvBI,EAA4D,CACvE,UACA,2BACA,sBACF,EAEaC,EAA+D,CAC1E,2BACA,SACF,EAQO,SAASC,EACdC,EACQ,CAIR,OAH6BA,EACzBC,EACAC,CAEN,CAPgBrB,EAAAkB,EAAA","names":["buildSteps","config","stepsArray","step","index","acc","__name","calculateProvisionalStartDateDescription","employmentProvisionalStartDate","fieldProvisionalStartDate","isCMOrCMPlus","subscription","contractorStandardProductIdentifier","contractorPlusProductIdentifier","NATIONALITY_COUNTRY_CODES","isNationalityCountryCode","countryCode","shouldIncludeProduct","productIdentifier","excludeProducts","excluded","PRODUCT_IDENTIFIER_MAP","reviewStepAllowedEmploymentStatus","disabledInviteButtonEmploymentStatus","transformAiErrorResponse","isContractorOfRecord","REMOTE_AI_SERVICES_AND_DELIVERABLES_COR_ERROR_MESSAGE","REMOTE_AI_SERVICES_AND_DELIVERABLES_ERROR_MESSAGE"]}
|
|
1
|
+
{"version":3,"sources":["../src/flows/ContractorOnboarding/utils.ts"],"sourcesContent":["import { Step } from '@/src/flows/useStepState';\nimport {\n contractorStandardProductIdentifier,\n contractorPlusProductIdentifier,\n ProductType,\n PRODUCT_IDENTIFIER_MAP,\n REMOTE_AI_SERVICES_AND_DELIVERABLES_ERROR_MESSAGE,\n REMOTE_AI_SERVICES_AND_DELIVERABLES_COR_ERROR_MESSAGE,\n} from '@/src/flows/ContractorOnboarding/constants';\nimport { Employment } from '@/src/flows/Onboarding/types';\n\nexport type StepKeys =\n | 'select_country'\n | 'basic_information'\n | 'contract_details'\n | 'eligibility_questionnaire'\n | 'contract_preview'\n | 'pricing_plan'\n | 'review';\n\ntype StepConfig = {\n includeSelectCountry?: boolean;\n includeEligibilityQuestionnaire?: boolean;\n includeContractPreview?: boolean;\n};\n\nexport function buildSteps(config: StepConfig = {}) {\n const stepDefinitions: Array<{\n name: StepKeys;\n label: string;\n visible: boolean;\n }> = [\n {\n name: 'select_country',\n label: 'Select Country',\n visible: Boolean(config?.includeSelectCountry),\n },\n {\n name: 'basic_information',\n label: 'Basic Information',\n visible: true,\n },\n {\n name: 'pricing_plan',\n label: 'Pricing Plan',\n visible: true,\n },\n {\n name: 'eligibility_questionnaire',\n label: 'Eligibility Questionnaire',\n visible: Boolean(config?.includeEligibilityQuestionnaire),\n },\n {\n name: 'contract_details',\n label: 'Contract Details',\n visible: true,\n },\n {\n name: 'contract_preview',\n label: 'Contract Preview',\n visible: Boolean(config?.includeContractPreview),\n },\n {\n name: 'review',\n label: 'Review',\n visible: true,\n },\n ];\n\n const stepsArray = stepDefinitions.map((step, index) => ({\n name: step.name,\n index,\n label: step.label,\n visible: step.visible,\n }));\n\n const steps = stepsArray.reduce(\n (acc, step) => {\n acc[step.name] = {\n index: step.index,\n name: step.name,\n visible: step.visible,\n };\n return acc;\n },\n {} as Record<string, Step<StepKeys>>,\n );\n\n return { steps, stepsArray };\n}\n\n/**\n * Calculates the description for the provisional start date field\n * based on whether the dates match between basic information and contract details steps\n */\nexport const calculateProvisionalStartDateDescription = (\n employmentProvisionalStartDate: string | undefined,\n fieldProvisionalStartDate: string | undefined,\n): string | undefined => {\n const datesNotMatching =\n employmentProvisionalStartDate &&\n fieldProvisionalStartDate &&\n employmentProvisionalStartDate !== fieldProvisionalStartDate;\n\n if (datesNotMatching) {\n const datesDontMatchWarning = `This date does not match the date you provided in the Basic Information step - ${\n employmentProvisionalStartDate\n } - and will override it only when both parties have signed the contract.`;\n return `When the contractor will start providing service to your company. ${datesDontMatchWarning}`;\n }\n return undefined;\n};\n\n/**\n * Checks if the selected pricing plan is CM (standard) or CM+ (plus)\n */\nexport const isCMOrCMPlus = (subscription: string | undefined): boolean => {\n return (\n subscription === contractorStandardProductIdentifier ||\n subscription === contractorPlusProductIdentifier\n );\n};\n\nconst NATIONALITY_COUNTRY_CODES = ['SAU', 'KWT', 'OMN', 'QAT', 'BHR'];\n\n/**\n * Checks if the country code is a country code that requires nationality status field\n */\nexport const isNationalityCountryCode = (countryCode: string) => {\n return NATIONALITY_COUNTRY_CODES.includes(countryCode);\n};\n\n/**\n * Checks if a product should be included based on the excludeProducts list\n * @param productIdentifier - The product identifier to check\n * @param excludeProducts - Array of products to exclude\n * @returns true if the product should be included, false otherwise\n */\nexport const shouldIncludeProduct = (\n productIdentifier: string,\n excludeProducts?: ProductType[],\n): boolean => {\n if (!excludeProducts || excludeProducts.length === 0) {\n return true;\n }\n\n return !excludeProducts.some(\n (excluded) => PRODUCT_IDENTIFIER_MAP[excluded] === productIdentifier,\n );\n};\n\n/**\n * Array of employment statuses that are allowed to proceed to the review step.\n * These statuses indicate that the employment is in a final state and the employment cannot be modified further.\n * @type {Employment['status'][]}\n * @constant\n */\nexport const reviewStepAllowedEmploymentStatus: Employment['status'][] = [\n 'initiated',\n 'invited',\n 'created_awaiting_reserve',\n 'created_reserve_paid',\n];\n\nexport const disabledInviteButtonEmploymentStatus: Employment['status'][] = [\n 'initiated',\n 'created_awaiting_reserve',\n 'invited',\n];\n\n/**\n * Transforms AI error messages to use default localized messages\n * @param isContractorOfRecord - Whether the contractor is a Contractor of Record\n * @param errors - Array of error messages from the API\n * @returns Array containing the appropriate default error message\n */\nexport function transformAiErrorResponse(\n isContractorOfRecord: boolean,\n): string {\n const remoteAiErrorMessage = isContractorOfRecord\n ? REMOTE_AI_SERVICES_AND_DELIVERABLES_COR_ERROR_MESSAGE\n : REMOTE_AI_SERVICES_AND_DELIVERABLES_ERROR_MESSAGE;\n return remoteAiErrorMessage;\n}\n"],"mappings":"uGA0BO,SAASA,EAAWC,EAAqB,CAAC,EAAG,CA2ClD,IAAMC,EAtCD,CACH,CACE,KAAM,iBACN,MAAO,iBACP,QAAS,EAAQD,GAAQ,oBAC3B,EACA,CACE,KAAM,oBACN,MAAO,oBACP,QAAS,EACX,EACA,CACE,KAAM,eACN,MAAO,eACP,QAAS,EACX,EACA,CACE,KAAM,4BACN,MAAO,4BACP,QAAS,EAAQA,GAAQ,+BAC3B,EACA,CACE,KAAM,mBACN,MAAO,mBACP,QAAS,EACX,EACA,CACE,KAAM,mBACN,MAAO,mBACP,QAAS,EAAQA,GAAQ,sBAC3B,EACA,CACE,KAAM,SACN,MAAO,SACP,QAAS,EACX,CACF,EAEmC,IAAI,CAACE,EAAMC,KAAW,CACvD,KAAMD,EAAK,KACX,MAAAC,EACA,MAAOD,EAAK,MACZ,QAASA,EAAK,OAChB,EAAE,EAcF,MAAO,CAAE,MAZKD,EAAW,OACvB,CAACG,EAAKF,KACJE,EAAIF,EAAK,IAAI,EAAI,CACf,MAAOA,EAAK,MACZ,KAAMA,EAAK,KACX,QAASA,EAAK,OAChB,EACOE,GAET,CAAC,CACH,EAEgB,WAAAH,CAAW,CAC7B,CA/DgBI,EAAAN,EAAA,cAqET,IAAMO,EAA2CD,EAAA,CACtDE,EACAC,IACuB,CAMvB,GAJED,GACAC,GACAD,IAAmCC,EAMnC,MAAO,qEAHuB,kFAC5BD,CACF,0EACiG,EAGrG,EAhBwD,4CAqB3CE,EAAeJ,EAACK,GAEzBA,IAAiBC,GACjBD,IAAiBE,EAHO,gBAOtBC,EAA4B,CAAC,MAAO,MAAO,MAAO,MAAO,KAAK,EAKvDC,EAA2BT,EAACU,GAChCF,EAA0B,SAASE,CAAW,EADf,4BAU3BC,EAAuBX,EAAA,CAClCY,EACAC,IAEI,CAACA,GAAmBA,EAAgB,SAAW,EAC1C,GAGF,CAACA,EAAgB,KACrBC,GAAaC,EAAuBD,CAAQ,IAAMF,CACrD,EAVkC,wBAmBvBI,EAA4D,CACvE,YACA,UACA,2BACA,sBACF,EAEaC,EAA+D,CAC1E,YACA,2BACA,SACF,EAQO,SAASC,EACdC,EACQ,CAIR,OAH6BA,EACzBC,EACAC,CAEN,CAPgBrB,EAAAkB,EAAA","names":["buildSteps","config","stepsArray","step","index","acc","__name","calculateProvisionalStartDateDescription","employmentProvisionalStartDate","fieldProvisionalStartDate","isCMOrCMPlus","subscription","contractorStandardProductIdentifier","contractorPlusProductIdentifier","NATIONALITY_COUNTRY_CODES","isNationalityCountryCode","countryCode","shouldIncludeProduct","productIdentifier","excludeProducts","excluded","PRODUCT_IDENTIFIER_MAP","reviewStepAllowedEmploymentStatus","disabledInviteButtonEmploymentStatus","transformAiErrorResponse","isContractorOfRecord","REMOTE_AI_SERVICES_AND_DELIVERABLES_COR_ERROR_MESSAGE","REMOTE_AI_SERVICES_AND_DELIVERABLES_ERROR_MESSAGE"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as b}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as b}from"./chunk-C7GJUNNC.js";import{j as _,k as d,l as x,n as u,o as f}from"./chunk-5BU3CD2P.js";import{n as a}from"./chunk-JXAAON7I.js";import{a as c}from"./chunk-P37U34EQ.js";import*as g from"react";import{jsx as h}from"react/jsx-runtime";var s=g.forwardRef(({className:e,...r},t)=>h("textarea",{className:a("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:t,...r}));s.displayName="Textarea";import{jsx as o,jsxs as l}from"react/jsx-runtime";function y({field:e,fieldState:r,fieldData:t}){let{name:i,label:p,description:n,maxLength:m}=t,F=e.value?.length??0;return l(_,{"data-field":i,className:`RemoteFlows__TextArea__Item__${i}`,children:[o(d,{className:"RemoteFlows__TextArea__Label",children:p}),o(x,{children:o(s,{...e,value:e.value??"",onChange:T=>{e.onChange(T)},className:a(r.error&&"border-red-500 focus-visible:ring-red-500","RemoteFlows__TextArea__Input"),placeholder:p})}),(n||m)&&l("div",{className:"flex items-center justify-between",children:[n&&o(u,{className:"RemoteFlows__TextArea__Description",helpCenter:o(b,{helpCenter:t.meta?.helpCenter}),children:n}),m&&l("span",{className:"text-sm ml-auto RemoteFlows__TextArea__MaxLength",children:[F,"/",m]})]}),r.error&&o(f,{className:"RemoteFlows__TextArea__Error"})]})}c(y,"TextAreaFieldDefault");export{y as a};
|
|
2
|
+
//# sourceMappingURL=chunk-OSHTXKLJ.js.map
|