@remoteoss/remote-flows 0.25.0 → 0.27.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/{ZendeskTriggerButton-FSCvhzTG.d.ts → ZendeskTriggerButton-DIV8pCPo.d.ts} +2 -1
- package/dist/{chunk-I3PGODII.js → chunk-4ZGIL6OE.js} +2 -2
- package/dist/{chunk-22JG4IMF.js → chunk-5NPET4ZO.js} +2 -2
- package/dist/chunk-6IL4TB7S.js +2 -0
- package/dist/chunk-6IL4TB7S.js.map +1 -0
- package/dist/chunk-746ELT2W.js +2 -0
- package/dist/chunk-746ELT2W.js.map +1 -0
- package/dist/chunk-7VOQAVM4.js +2 -0
- package/dist/chunk-7VOQAVM4.js.map +1 -0
- package/dist/{chunk-VVF4IZES.js → chunk-7Y46DL2U.js} +2 -2
- package/dist/{chunk-NWEXPORY.js → chunk-A2SWQS2N.js} +2 -2
- package/dist/chunk-ANQ4HVVK.js +2 -0
- package/dist/chunk-ANQ4HVVK.js.map +1 -0
- package/dist/{chunk-I52UTPHD.js → chunk-AYLYOLVG.js} +2 -2
- package/dist/{chunk-YU3JIZ7J.js → chunk-BO6OKTIG.js} +2 -2
- package/dist/{chunk-PHBQMNG3.js → chunk-CVIWZYO3.js} +2 -2
- package/dist/chunk-CYPGWEOO.js +2 -0
- package/dist/chunk-CYPGWEOO.js.map +1 -0
- package/dist/{chunk-2M7EBC4K.js → chunk-DZ67OJVF.js} +2 -2
- package/dist/{chunk-VUP76ZMQ.js → chunk-E3JFQ7PH.js} +2 -2
- package/dist/{chunk-W5BJQRNM.js → chunk-E6OBNWMU.js} +2 -2
- package/dist/chunk-EHAZWZ3O.js +2 -0
- package/dist/chunk-EHAZWZ3O.js.map +1 -0
- package/dist/{chunk-M6G27EJN.js → chunk-FEHSJUZJ.js} +2 -2
- package/dist/{chunk-4JVXDB5G.js → chunk-GD5556B2.js} +2 -2
- package/dist/chunk-IWA5B4U6.js +2 -0
- package/dist/chunk-IWA5B4U6.js.map +1 -0
- package/dist/chunk-JTOLQCOG.js +2 -0
- package/dist/chunk-JTOLQCOG.js.map +1 -0
- package/dist/chunk-KDUM4EZJ.js +2 -0
- package/dist/chunk-KDUM4EZJ.js.map +1 -0
- package/dist/{chunk-Q3A4A2HL.js → chunk-KOIHMAAP.js} +2 -2
- package/dist/{chunk-EJ4COVQQ.js → chunk-L6FZRTSN.js} +2 -2
- package/dist/{chunk-4IXRU67S.js → chunk-LDJT7TII.js} +2 -2
- package/dist/chunk-LMYJ6V44.js +2 -0
- package/dist/chunk-LMYJ6V44.js.map +1 -0
- package/dist/{chunk-S2KE2JLJ.js → chunk-LRNSFLHR.js} +2 -2
- package/dist/{chunk-AU6AILO2.js → chunk-N3EIN72T.js} +2 -2
- package/dist/{chunk-CT2ROVBF.js → chunk-NRW33IP5.js} +2 -2
- package/dist/{chunk-QEWB24WT.js → chunk-OXCEJQFC.js} +2 -2
- package/dist/{chunk-OCNL6L4L.js → chunk-PFT7KJ65.js} +2 -2
- package/dist/{chunk-RNJWBKLA.js → chunk-QLNFHOLH.js} +2 -2
- package/dist/{chunk-RDGF4PBB.js → chunk-R3LY6TV5.js} +2 -2
- package/dist/chunk-R645TMO5.js +2 -0
- package/dist/{chunk-2TADRH4W.js.map → chunk-R645TMO5.js.map} +1 -1
- package/dist/{chunk-BGXVK7HL.js → chunk-R64X3EJF.js} +2 -2
- package/dist/{chunk-JHPCP2ZX.js → chunk-RAHCZTQ3.js} +2 -2
- package/dist/{chunk-BLZW25OE.js → chunk-SA74WAVS.js} +2 -2
- package/dist/{chunk-P4ZSYIA4.js → chunk-SB3IYODL.js} +2 -2
- package/dist/chunk-SGE4DLC3.js +2 -0
- package/dist/chunk-SGE4DLC3.js.map +1 -0
- package/dist/chunk-SLMJEZJ7.js +2 -0
- package/dist/chunk-SLMJEZJ7.js.map +1 -0
- package/dist/{chunk-7KNNJBO6.js → chunk-TUFTB5UD.js} +2 -2
- package/dist/chunk-UFBTCHEI.js +2 -0
- package/dist/{chunk-IUZ7DEXC.js.map → chunk-UFBTCHEI.js.map} +1 -1
- package/dist/{chunk-UUZ353RX.js → chunk-VLLLNIMN.js} +2 -2
- package/dist/chunk-VM2DQCZO.js +2 -0
- package/dist/chunk-VM2DQCZO.js.map +1 -0
- package/dist/chunk-W55MUSAS.js +2 -0
- package/dist/{chunk-NVYMAOQ7.js.map → chunk-W55MUSAS.js.map} +1 -1
- package/dist/chunk-WLBRCGTG.js +2 -0
- package/dist/{chunk-QKLIYOMA.js.map → chunk-WLBRCGTG.js.map} +1 -1
- package/dist/{chunk-HCZWP44I.js → chunk-WNTOQYRY.js} +2 -2
- package/dist/{chunk-T5LZSTW3.js → chunk-WZAWPSKS.js} +2 -2
- package/dist/{chunk-46JFDBPC.js → chunk-XP7UEI56.js} +2 -2
- package/dist/{chunk-LHSNAVGR.js → chunk-YXWBSRKS.js} +2 -2
- package/dist/{chunk-KH5SAWNH.js → chunk-ZIPHLBX4.js} +2 -2
- package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.d.ts +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentFlow.d.ts +3 -3
- package/dist/flows/ContractAmendment/ContractAmendmentFlow.js +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentForm.d.ts +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentForm.js +1 -1
- package/dist/flows/ContractAmendment/context.d.ts +3 -3
- package/dist/flows/ContractAmendment/hooks.d.ts +3 -3
- package/dist/flows/ContractAmendment/hooks.js +1 -1
- package/dist/flows/ContractAmendment/index.d.ts +3 -3
- package/dist/flows/ContractAmendment/index.js +1 -1
- package/dist/flows/ContractAmendment/utils.d.ts +2 -2
- package/dist/flows/ContractAmendment/utils.js +1 -1
- package/dist/flows/ContractorOnboarding/ContractorOnboarding.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/ContractorOnboarding.js +1 -1
- package/dist/flows/ContractorOnboarding/api.d.ts +2 -2
- package/dist/flows/ContractorOnboarding/components/BasicInformationStep.d.ts +4 -4
- package/dist/flows/ContractorOnboarding/components/BasicInformationStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.js +1 -1
- package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.js +1 -1
- package/dist/flows/ContractorOnboarding/components/OnboardingInvite.d.ts +3 -3
- package/dist/flows/ContractorOnboarding/components/PricingPlan.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/components/PricingPlan.js +1 -1
- package/dist/flows/ContractorOnboarding/components/SelectCountryStep.d.ts +4 -4
- package/dist/flows/ContractorOnboarding/components/SelectCountryStep.js +1 -1
- package/dist/flows/ContractorOnboarding/context.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/hooks.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/index.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/index.js +1 -1
- package/dist/flows/ContractorOnboarding/types.d.ts +5 -5
- 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 +1 -1
- package/dist/flows/CostCalculator/EstimationResults/EstimationResults.js +1 -1
- package/dist/flows/CostCalculator/Results/CostCalculatorBenefitsBreakdown.js +1 -1
- package/dist/flows/CostCalculator/Results/CostCalculatorContributionsBreakdown.js +1 -1
- package/dist/flows/CostCalculator/Results/CostCalculatorExtraStatutoryPaymentsBreakdown.js +1 -1
- package/dist/flows/CostCalculator/Results/CostCalculatorGrossSalary.js +1 -1
- package/dist/flows/CostCalculator/Results/CostCalculatorResults.d.ts +1 -1
- package/dist/flows/CostCalculator/Results/CostCalculatorResults.js +1 -1
- package/dist/flows/CostCalculator/SummaryResults/SummaryResults.d.ts +1 -1
- package/dist/flows/CostCalculator/api.d.ts +1 -1
- package/dist/flows/CostCalculator/components/SalaryField.d.ts +2 -2
- package/dist/flows/CostCalculator/components/SalaryField.js +1 -1
- package/dist/flows/CostCalculator/context.d.ts +3 -3
- package/dist/flows/CostCalculator/hooks.d.ts +3 -3
- package/dist/flows/CostCalculator/hooks.js +1 -1
- package/dist/flows/CostCalculator/index.d.ts +3 -3
- package/dist/flows/CostCalculator/index.js +1 -1
- package/dist/flows/CostCalculator/types.d.ts +1 -1
- package/dist/flows/CostCalculator/utils.d.ts +3 -3
- package/dist/flows/CostCalculator/utils.js +1 -1
- package/dist/flows/Onboarding/OnboardingFlow.d.ts +4 -4
- package/dist/flows/Onboarding/OnboardingFlow.js +1 -1
- package/dist/flows/Onboarding/api.d.ts +4 -4
- package/dist/flows/Onboarding/components/AnnualGrossSalary.d.ts +2 -2
- package/dist/flows/Onboarding/components/BasicInformationStep.d.ts +4 -4
- package/dist/flows/Onboarding/components/BasicInformationStep.js +1 -1
- package/dist/flows/Onboarding/components/BenefitsStep.d.ts +4 -4
- package/dist/flows/Onboarding/components/BenefitsStep.js +1 -1
- package/dist/flows/Onboarding/components/ContractDetailsStep.d.ts +4 -4
- package/dist/flows/Onboarding/components/ContractDetailsStep.js +1 -1
- package/dist/flows/Onboarding/components/OnboardingForm.d.ts +4 -4
- package/dist/flows/Onboarding/components/OnboardingForm.js +1 -1
- package/dist/flows/Onboarding/components/OnboardingInvite.d.ts +3 -3
- package/dist/flows/Onboarding/components/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/index.d.ts +4 -4
- package/dist/flows/Onboarding/index.js +1 -1
- package/dist/flows/Onboarding/types.d.ts +4 -4
- package/dist/flows/Onboarding/utils.d.ts +4 -4
- package/dist/flows/Termination/AdditionalDetailsForm.d.ts +4 -4
- package/dist/flows/Termination/AdditionalDetailsForm.js +1 -1
- package/dist/flows/Termination/EmployeeComunicationForm.d.ts +4 -4
- package/dist/flows/Termination/EmployeeComunicationForm.js +1 -1
- package/dist/flows/Termination/PaidTimeOffForm.d.ts +4 -4
- package/dist/flows/Termination/PaidTimeOffForm.js +1 -1
- package/dist/flows/Termination/TerminationDetailsForm.d.ts +4 -4
- package/dist/flows/Termination/TerminationDetailsForm.js +1 -1
- package/dist/flows/Termination/TerminationFlow.d.ts +4 -4
- package/dist/flows/Termination/TerminationFlow.js +1 -1
- package/dist/flows/Termination/TerminationForm.d.ts +4 -4
- package/dist/flows/Termination/TerminationForm.js +1 -1
- package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInfomationContainer.d.ts +10 -0
- package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInfomationContainer.js +2 -0
- package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInfomationContainer.js.map +1 -0
- package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformation.d.ts +11 -0
- package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformation.js +2 -0
- package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformation.js.map +1 -0
- package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformationFees.d.ts +18 -0
- package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformationFees.js +2 -0
- package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformationFees.js.map +1 -0
- package/dist/flows/Termination/components/AcknowledgeInformation/constants.d.ts +12 -0
- package/dist/flows/Termination/components/AcknowledgeInformation/constants.js +2 -0
- package/dist/flows/Termination/components/AcknowledgeInformation/constants.js.map +1 -0
- package/dist/flows/Termination/components/AcknowledgeInformation/types.d.ts +11 -0
- package/dist/flows/Termination/components/AcknowledgeInformation/types.js +1 -0
- package/dist/flows/Termination/components/AcknowledgeInformation/types.js.map +1 -0
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.d.ts +16 -3
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.js +1 -1
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.d.ts +16 -3
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.js +1 -1
- package/dist/flows/Termination/components/PaidTimeOff/types.d.ts +16 -2
- 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 +15 -5
- package/dist/flows/Termination/index.js +1 -1
- package/dist/flows/Termination/json-schemas/additionalInformation.d.ts +17 -0
- package/dist/flows/Termination/json-schemas/additionalInformation.js +1 -1
- package/dist/flows/Termination/json-schemas/jsonSchema.d.ts +17 -0
- package/dist/flows/Termination/json-schemas/jsonSchema.js +1 -1
- package/dist/flows/Termination/json-schemas/schema.js +1 -1
- package/dist/flows/Termination/types.d.ts +4 -4
- package/dist/flows/api.d.ts +4 -4
- package/dist/flows/api.js +1 -1
- package/dist/index.css +1 -1
- package/dist/index.css.map +1 -1
- package/dist/index.d.ts +60 -9
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/internals.d.ts +1 -1
- package/dist/internals.js +1 -1
- package/dist/{mutations-DaNL3KJH.d.ts → mutations-C0KsEf83.d.ts} +1 -1
- package/dist/{remoteFlows-R6i-5uxZ.d.ts → remoteFlows-DJcvCgN2.d.ts} +19 -2
- package/dist/{types-CUuFeuNj.d.ts → types-1tGveWWg.d.ts} +3 -3
- package/dist/{types-ClV6M7ry.d.ts → types-CwUhT-vz.d.ts} +37 -18
- package/dist/{types-D_DohAP5.d.ts → types-Dad_rgYV.d.ts} +2 -2
- package/dist/{types-BSmXaqyP.d.ts → types-DegHPy8Q.d.ts} +4 -4
- package/dist/{types.gen-BMxrLsCq.d.ts → types.gen-B73oMrmZ.d.ts} +1 -14
- package/package.json +1 -1
- package/dist/chunk-2TADRH4W.js +0 -2
- package/dist/chunk-32GSS4UM.js +0 -2
- package/dist/chunk-32GSS4UM.js.map +0 -1
- package/dist/chunk-347YWDTK.js +0 -2
- package/dist/chunk-347YWDTK.js.map +0 -1
- package/dist/chunk-3AEKPMIN.js +0 -2
- package/dist/chunk-3AEKPMIN.js.map +0 -1
- package/dist/chunk-4O4VBGMD.js +0 -2
- package/dist/chunk-4O4VBGMD.js.map +0 -1
- package/dist/chunk-EZWZMPD2.js +0 -2
- package/dist/chunk-EZWZMPD2.js.map +0 -1
- package/dist/chunk-IUZ7DEXC.js +0 -2
- package/dist/chunk-MP2T74PU.js +0 -2
- package/dist/chunk-MP2T74PU.js.map +0 -1
- package/dist/chunk-NVYMAOQ7.js +0 -2
- package/dist/chunk-O7REUCKR.js +0 -2
- package/dist/chunk-O7REUCKR.js.map +0 -1
- package/dist/chunk-QKLIYOMA.js +0 -2
- package/dist/chunk-REDYWUCC.js +0 -2
- package/dist/chunk-REDYWUCC.js.map +0 -1
- package/dist/chunk-XSHHMBMT.js +0 -2
- package/dist/chunk-XSHHMBMT.js.map +0 -1
- /package/dist/{chunk-I3PGODII.js.map → chunk-4ZGIL6OE.js.map} +0 -0
- /package/dist/{chunk-22JG4IMF.js.map → chunk-5NPET4ZO.js.map} +0 -0
- /package/dist/{chunk-VVF4IZES.js.map → chunk-7Y46DL2U.js.map} +0 -0
- /package/dist/{chunk-NWEXPORY.js.map → chunk-A2SWQS2N.js.map} +0 -0
- /package/dist/{chunk-I52UTPHD.js.map → chunk-AYLYOLVG.js.map} +0 -0
- /package/dist/{chunk-YU3JIZ7J.js.map → chunk-BO6OKTIG.js.map} +0 -0
- /package/dist/{chunk-PHBQMNG3.js.map → chunk-CVIWZYO3.js.map} +0 -0
- /package/dist/{chunk-2M7EBC4K.js.map → chunk-DZ67OJVF.js.map} +0 -0
- /package/dist/{chunk-VUP76ZMQ.js.map → chunk-E3JFQ7PH.js.map} +0 -0
- /package/dist/{chunk-W5BJQRNM.js.map → chunk-E6OBNWMU.js.map} +0 -0
- /package/dist/{chunk-M6G27EJN.js.map → chunk-FEHSJUZJ.js.map} +0 -0
- /package/dist/{chunk-4JVXDB5G.js.map → chunk-GD5556B2.js.map} +0 -0
- /package/dist/{chunk-Q3A4A2HL.js.map → chunk-KOIHMAAP.js.map} +0 -0
- /package/dist/{chunk-EJ4COVQQ.js.map → chunk-L6FZRTSN.js.map} +0 -0
- /package/dist/{chunk-4IXRU67S.js.map → chunk-LDJT7TII.js.map} +0 -0
- /package/dist/{chunk-S2KE2JLJ.js.map → chunk-LRNSFLHR.js.map} +0 -0
- /package/dist/{chunk-AU6AILO2.js.map → chunk-N3EIN72T.js.map} +0 -0
- /package/dist/{chunk-CT2ROVBF.js.map → chunk-NRW33IP5.js.map} +0 -0
- /package/dist/{chunk-QEWB24WT.js.map → chunk-OXCEJQFC.js.map} +0 -0
- /package/dist/{chunk-OCNL6L4L.js.map → chunk-PFT7KJ65.js.map} +0 -0
- /package/dist/{chunk-RNJWBKLA.js.map → chunk-QLNFHOLH.js.map} +0 -0
- /package/dist/{chunk-RDGF4PBB.js.map → chunk-R3LY6TV5.js.map} +0 -0
- /package/dist/{chunk-BGXVK7HL.js.map → chunk-R64X3EJF.js.map} +0 -0
- /package/dist/{chunk-JHPCP2ZX.js.map → chunk-RAHCZTQ3.js.map} +0 -0
- /package/dist/{chunk-BLZW25OE.js.map → chunk-SA74WAVS.js.map} +0 -0
- /package/dist/{chunk-P4ZSYIA4.js.map → chunk-SB3IYODL.js.map} +0 -0
- /package/dist/{chunk-7KNNJBO6.js.map → chunk-TUFTB5UD.js.map} +0 -0
- /package/dist/{chunk-UUZ353RX.js.map → chunk-VLLLNIMN.js.map} +0 -0
- /package/dist/{chunk-HCZWP44I.js.map → chunk-WNTOQYRY.js.map} +0 -0
- /package/dist/{chunk-T5LZSTW3.js.map → chunk-WZAWPSKS.js.map} +0 -0
- /package/dist/{chunk-46JFDBPC.js.map → chunk-XP7UEI56.js.map} +0 -0
- /package/dist/{chunk-LHSNAVGR.js.map → chunk-YXWBSRKS.js.map} +0 -0
- /package/dist/{chunk-KH5SAWNH.js.map → chunk-ZIPHLBX4.js.map} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as B}from"./chunk-BV3PGYSH.js";import{a as ye,b as Ge,c as Je,d as qe,e as Ke,f as Ye,g as je,h as Ze,i as Xe,j as Ce,k as et,l as xe,m as be,o as Se,q as tt,r as ot,s as rt}from"./chunk-D6X2WCEG.js";import{b as Qe}from"./chunk-HPHWQU34.js";import{a as _e}from"./chunk-MP2T74PU.js";import{a as ve,b as $}from"./chunk-WVDTHFGS.js";import{b as S}from"./chunk-3ZWDIEEM.js";import{a as ne,b as ae,c as b,d as Ae,e as Oe,f as Ue,g as ze,h as k,i as w,j as N,k as R,l as P,m as D}from"./chunk-CNDSIADP.js";import{g as Ve}from"./chunk-PAQW5BFW.js";import{a as h,e as oe}from"./chunk-43WMZDDH.js";import{a as r}from"./chunk-P37U34EQ.js";import{Fragment as wo,useEffect as Ro,useRef as Ht}from"react";import{Fragment as Ot,jsx as A,jsxs as se}from"react/jsx-runtime";function le({name:e,defaultValue:t,description:n,label:o,onChange:s,multiple:d,options:c,component:F,...f}){let{components:l}=S(),{control:a}=b(),u=r((m,i,g)=>{let p=g.value?[...g.value]:[];i?p.includes(m)||g.onChange([...p,m]):g.onChange(p.filter(y=>y!==m))},"handleCheckboxChange");return A(k,{control:a,name:e,defaultValue:t,render:({field:m,fieldState:i})=>{let g=F||l?.checkbox;if(g){let p={name:e,description:n,label:o,defaultValue:t,multiple:d,options:c,...f};return A(g,{field:{...m,onChange:r(y=>{if(d){let{checked:x,value:v}=y.target;u(v,x,m),s?.(x);return}m.onChange(y),s?.(y)},"onChange")},fieldState:i,fieldData:p})}return se(w,{"data-field":e,className:h(`RemoteFlows__CheckBoxField__Item__${e}`),children:[A(R,{children:se(Ot,{children:[c&&d?A(N,{children:o}):null,c&&d?c.map(p=>se("div",{className:"flex space-x-2",children:[A(ye,{id:p.value,onCheckedChange:y=>{u(p.value,y===!0,m),s?.(y,p.value)},checked:m.value?.includes(p.value),className:"RemoteFlows__CheckBox__Input"}),A(N,{htmlFor:p.value,className:"mb-0 RemoteFlows__CheckBox__Label",children:p.label})]},p.value)):se("div",{className:"flex space-x-2",children:[A(ye,{id:e,onCheckedChange:p=>{m.onChange(p),s?.(p)},checked:m.value,className:"RemoteFlows__CheckBox__Input"}),A(N,{htmlFor:e,className:"mb-0 RemoteFlows__CheckBox__Label",children:o})]})]})}),n&&A(P,{children:n}),i.error&&A(D,{})]})}})}r(le,"CheckBoxField");import{CalendarIcon as Gt}from"lucide-react";import{PopoverClose as Jt}from"@radix-ui/react-popover";import{ChevronLeft as Ut,ChevronRight as Vt}from"lucide-react";import{DayPicker as zt}from"react-day-picker";import{jsx as ke}from"react/jsx-runtime";function nt({className:e,classNames:t,showOutsideDays:n=!0,...o}){return ke(zt,{showOutsideDays:n,className:h("p-3",e),classNames:{months:"flex flex-col sm:flex-row gap-2",month:"flex flex-col gap-4",caption:"flex justify-center pt-1 relative items-center w-full",caption_label:"text-sm font-medium",nav:"flex items-center gap-1",nav_button:h(ve({variant:"outline"}),"size-7 bg-transparent p-0 opacity-50 hover:opacity-100"),nav_button_previous:"absolute left-1",nav_button_next:"absolute right-1",table:"w-full border-collapse space-x-1",head_row:"flex",head_cell:"text-muted-foreground rounded-md w-8 font-normal text-[0.8rem]",row:"flex w-full mt-2",cell:h("relative p-0 text-center text-sm focus-within:relative focus-within:z-20 [&:has([aria-selected])]:bg-accent [&:has([aria-selected].day-range-end)]:rounded-r-md",o.mode==="range"?"[&:has(>.day-range-end)]:rounded-r-md [&:has(>.day-range-start)]:rounded-l-md first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md":"[&:has([aria-selected])]:rounded-md"),day:h(ve({variant:"ghost"}),"size-8 p-0 font-normal aria-selected:opacity-100"),day_range_start:"day-range-start aria-selected:bg-primary aria-selected:text-primary-foreground",day_range_end:"day-range-end aria-selected:bg-primary aria-selected:text-primary-foreground",day_selected:"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground",day_today:"bg-accent text-accent-foreground",day_outside:"day-outside text-muted-foreground aria-selected:text-muted-foreground",day_disabled:"text-muted-foreground opacity-50",day_range_middle:"aria-selected:bg-accent aria-selected:text-accent-foreground",day_hidden:"invisible",...t},components:{IconLeft:r(({className:s,...d})=>ke(Ut,{className:h("size-4",s),...d}),"IconLeft"),IconRight:r(({className:s,...d})=>ke(Vt,{className:h("size-4",s),...d}),"IconRight")},...o})}r(nt,"Calendar");import*as U from"@radix-ui/react-popover";import{jsx as ie}from"react/jsx-runtime";function me({...e}){return ie(U.Root,{"data-slot":"popover",...e})}r(me,"Popover");function de({...e}){return ie(U.Trigger,{"data-slot":"popover-trigger",...e})}r(de,"PopoverTrigger");function ce({className:e,align:t="center",sideOffset:n=4,...o}){return ie(U.Portal,{children:ie(U.Content,{"data-slot":"popover-content",align:t,sideOffset:n,className:h("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",e),...o})})}r(ce,"PopoverContent");import{format as at,parse as qt}from"date-fns";import{Fragment as Kt,jsx as M,jsxs as Ne}from"react/jsx-runtime";function st({description:e,label:t,name:n,minDate:o,onChange:s,component:d,...c}){let{components:F}=S(),{control:f}=b(),l;return c.meta?.mot&&typeof c.meta.mot=="number"?l=Ve(c.meta.mot):o&&(l=qt(o,"yyyy-MM-dd",new Date)),M(k,{control:f,name:n,render:({field:a,fieldState:u})=>{let m=d||F?.date;if(m){let i={description:e,label:t,name:n,onChange:s,...l&&{minDate:l.toISOString()},...c};return M(m,{field:{...a,onChange:r(g=>{a.onChange(g),s?.(g)},"onChange")},fieldState:u,fieldData:i})}return Ne(w,{"data-field":n,className:`flex flex-col RemoteFlows__DatePickerField__Item__${n}`,children:[M(N,{className:"RemoteFlows__DatePickerField__Label",children:t}),Ne(me,{children:[M(de,{asChild:!0,children:M(R,{children:M("div",{children:Ne($,{type:"button",variant:"outline",className:h("w-full pl-3 text-left font-normal",!a.value&&"text-muted-foreground"),"data-testid":`date-picker-button-${n}`,children:[a.value&&M(Kt,{children:at(a.value,"yyyy-MM-dd")}),M(Gt,{className:"ml-auto h-4 w-4 opacity-50"})]})})})}),M(ce,{className:"w-auto p-0 RemoteFlows__DatepickerField__PopoverContent",align:"start",children:M(nt,{mode:"single",className:"RemoteFlows__DatepickerField__Calendar",selected:a.value?new Date(a.value):void 0,onSelect:i=>{a.onChange(i?at(i,"yyyy-MM-dd"):null),s?.(i)},defaultMonth:l,components:{DayContent:r(i=>M(Jt,{children:i.date.getDate()}),"DayContent")},...l&&{disabled:r(i=>i<l,"disabled")}})})]}),e?M(P,{children:e}):null,u.error&&M(D,{className:"RemoteFlows__DatePickerField__Error"})]})}})}r(st,"DatePickerField");import{useState as Yt,useRef as jt}from"react";import{Upload as Zt,X as Xt}from"lucide-react";import{jsx as V,jsxs as we}from"react/jsx-runtime";function lt({onChange:e,className:t,multiple:n}){let[o,s]=Yt([]),d=jt(null),c=r(l=>{l.preventDefault(),d.current?.click()},"handleClick"),F=r(l=>{if(l.target.files&&l.target.files.length>0){let a=Array.from(l.target.files);s(a),e(l)}},"handleChange"),f=r(l=>{s(a=>a.filter(u=>u!==l))},"onRemoveFile");return we("div",{className:h("flex flex-col items-start gap-4",t),children:[V("input",{type:"file",ref:d,onChange:F,className:"hidden","aria-label":"File upload",multiple:n}),we($,{type:"button",onClick:c,className:"gap-2",children:[V(Zt,{className:"h-4 w-4"}),"Choose File"]}),o.length===0&&V("div",{className:"text-sm",children:n?V("span",{className:"font-medium",children:"No files selected. You can select multiple files"}):V("span",{className:"font-medium",children:"No file selected."})}),o.length>0&&o.map((l,a)=>we("div",{className:"text-sm flex items-center gap-2",children:["Selected file: ",V("span",{className:"font-medium",children:l.name})," (",Math.round(l.size/1024)," KB)",V($,{variant:"ghost",onClick:()=>f(l),children:V(Xt,{})})]},a))]})}r(lt,"FileUploader");import{jsx as z,jsxs as eo}from"react/jsx-runtime";var Qt=r(e=>new Promise((t,n)=>{let o=new FileReader;o.readAsDataURL(e),o.onload=()=>t(o.result),o.onerror=s=>n(s)}),"toBase64"),it=r(async e=>{let t=e.target.files?Array.from(e.target.files):[];return await Promise.all(t.map(async o=>{let s=await Qt(o);return{name:o.name,content:s.split(",")[1]}}))},"convertFilesToBase64");function mt({name:e,description:t,label:n,multiple:o,onChange:s,component:d,...c}){let{components:F}=S(),{control:f}=b();return z(k,{control:f,name:e,render:({field:l,fieldState:a})=>{let u=d||F?.file;if(u){let m={name:e,description:t,label:n,multiple:o,...c};return z(u,{field:{...l,value:null,onChange:r(async i=>{let g=await it(i);l.onChange(g),s?.(g)},"onChange")},fieldState:a,fieldData:m})}return eo(w,{"data-field":e,className:`RemoteFlows__FileUpload__Item__${e}`,children:[z(N,{className:"RemoteFlows__FileUpload__Label",children:n}),z(R,{children:z(lt,{onChange:async m=>{let i=await it(m);l.onChange(i),s?.(i)},multiple:o,className:h("RemoteFlows__FileUpload__Input")})}),t&&z("div",{className:"flex items-center justify-between",children:z(P,{className:"RemoteFlows__FileUpload__Description",children:t})}),a.error&&z(D,{className:"RemoteFlows__FileUpload__Error"})]})}})}r(mt,"FileUploadField");import{jsx as Re}from"react/jsx-runtime";function ue(e){let{components:t}=S(),{control:n}=b(),o=e.component||t?.number;return o?Re(k,{control:n,name:e.name,render:({field:s,fieldState:d})=>Re(o,{field:{...s,onChange:r(c=>{s.onChange(c),e.onChange?.(c)},"onChange")},fieldState:d,fieldData:e})}):Re(B,{...e,type:"text",inputMode:"decimal",pattern:"^[0-9.]*$"})}r(ue,"NumberField");import{Fragment as to}from"react";import{jsx as W,jsxs as Pe}from"react/jsx-runtime";function dt({name:e,defaultValue:t,description:n,label:o,options:s,onChange:d,component:c,...F}){let{components:f}=S(),{control:l}=b();return W(k,{control:l,name:e,defaultValue:t,render:({field:a,fieldState:u})=>{let m=c||f?.radio;if(m){let i={name:e,defaultValue:t,description:n,label:o,options:s,...F};return W(m,{field:{...a,onChange:r(g=>{a.onChange(g),d?.(g)},"onChange")},fieldState:u,fieldData:i})}return Pe(w,{className:h("space-y-3",`RemoteFlows__RadioGroupField__Item__${e}`),"data-field":e,children:[W(N,{children:o}),W(R,{children:W(Ge,{"aria-label":o||e,onValueChange:i=>{a.onChange(i),d?.(i)},value:a.value,className:"flex flex-col space-y-3",children:s?.map(i=>W(to,{children:Pe(w,{"data-field":e,className:"flex items-start space-x-3 space-y-0 gap-0 RemoteFlows__RadioField__Item",children:[W(R,{children:W(Je,{value:i.value,className:"RemoteFlows__RadioField__Input",disabled:i.disabled})}),Pe("div",{children:[W(N,{className:"font-normal mb-0 RemoteFlows__RadioField__Label",children:i.label}),i.description&&W(P,{className:"mt-2",children:i.description})]})]})},i.value))})}),n&&W(P,{children:n}),u.error&&W(D,{})]})}})}r(dt,"RadioGroupField");import{jsx as E,jsxs as ct}from"react/jsx-runtime";function ut({label:e,name:t,options:n,defaultValue:o,description:s,onChange:d,component:c,...F}){let{control:f}=b(),{components:l}=S();return E(k,{defaultValue:o,control:f,name:t,render:({field:a,fieldState:u})=>{let m=c||l?.select;if(m){let i={label:e,name:t,options:n,defaultValue:o,description:s,onChange:d,...F};return E(m,{field:{...a,onChange:r(g=>{let p=F.jsonType==="number"?Number(g):g;a.onChange(p),d?.(p)},"onChange")},fieldState:u,fieldData:i})}return ct(w,{"data-field":t,className:`RemoteFlows__SelectField__Item__${t}`,children:[E(N,{className:"RemoteFlows__SelectField__Label",children:e}),E(R,{children:E("div",{className:"relative",children:ct(qe,{value:a.value||"",onValueChange:i=>{let g=F.jsonType==="number"?Number(i):i;a.onChange(g),d?.(g)},children:[E(je,{className:"RemoteFlows__SelectField__Trigger","aria-invalid":!!u.error,"aria-label":e,children:E("span",{className:"absolute",children:E(Ye,{placeholder:e})})}),E(Ze,{className:"RemoteFlows__SelectField__Content",children:E(Ke,{className:"RemoteFlows__SelectField__Group",children:n.map(i=>E(Xe,{value:i.value,className:"RemoteFlows__SelectField__SelectItem",disabled:i.disabled,children:i.label},i.value))})})]})})}),s&&E(P,{children:s}),u.error&&E(D,{})]})}})}r(ut,"SelectField");import{useState as lo}from"react";import{Fragment as oo,useState as ro}from"react";import{Check as no,ChevronDownIcon as ao,X as so}from"lucide-react";import{Command as Y}from"cmdk";import{SearchIcon as tn}from"lucide-react";import{jsx as j,jsxs as an}from"react/jsx-runtime";function pt({className:e,...t}){return j(Y,{"data-slot":"command",className:h("bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",e),...t})}r(pt,"Command");function ft({className:e,...t}){return j(Y.List,{"data-slot":"command-list",className:h("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",e),...t})}r(ft,"CommandList");function Ft({...e}){return j(Y.Empty,{"data-slot":"command-empty",className:"py-6 text-center text-sm",...e})}r(Ft,"CommandEmpty");function gt({className:e,...t}){return j(Y.Group,{"data-slot":"command-group",className:h("text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium",e),...t})}r(gt,"CommandGroup");function ht({className:e,...t}){return j(Y.Separator,{"data-slot":"command-separator",className:h("bg-border -mx-1 h-px",e),...t})}r(ht,"CommandSeparator");function _t({className:e,...t}){return j(Y.Item,{"data-slot":"command-item",className:h("data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...t})}r(_t,"CommandItem");import{jsx as L,jsxs as Z}from"react/jsx-runtime";function pe({options:e,selected:t,onChange:n,placeholder:o,...s}){let[d,c]=ro(!1),F=r(a=>{n(t.filter(u=>u.value!==a.value))},"handleUnselect"),f=e.some(a=>a.category),l=e.reduce((a,u)=>{let m=u.category||"Uncategorized";return a[m]||(a[m]=[]),a[m].push(u),a},{});return Z(me,{open:d,onOpenChange:c,...s,children:[L(de,{children:Z($,{variant:"outline",role:"combobox","aria-expanded":d,className:"w-full justify-between font-normal",type:"button",children:[L("div",{className:"flex gap-1 flex-wrap overflow-x-auto max-h-[2.5rem] items-center",children:t.length>0?t.map(a=>Z(Qe,{variant:"secondary",className:"mr-1 mb-1",children:[a.label,L("div",{role:"button",tabIndex:0,"aria-label":`remove ${a.label}`,className:"ml-1 ring-offset-background rounded-full outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 cursor-pointer",onKeyDown:u=>{u.key==="Enter"&&F(a)},onMouseDown:u=>{u.preventDefault(),u.stopPropagation()},onClick:()=>F(a),children:L(so,{className:"h-3 w-3 text-muted-foreground hover:text-foreground"})})]},a.label)):L("span",{className:"text-foreground",children:o})}),L(ao,{className:"size-4"})]})}),L(ce,{align:"start",className:"w-full p-0",children:L(pt,{children:Z(ft,{children:[L(Ft,{children:"No item found."}),Object.entries(l).map(([a,u],m)=>Z(oo,{children:[m>0&&L(ht,{}),L(gt,{heading:f?a:void 0,children:u.map(i=>{let g=t.some(p=>p.value===i.value);return Z(_t,{onSelect:()=>{n(g?t.filter(p=>p.value!==i.value):[...t,i])},children:[L(no,{className:h("mr-2 h-4 w-4",g?"opacity-100":"opacity-0")}),i.label]},i.label)})})]},a))]})})})]})}r(pe,"MultiSelect");import{jsx as G,jsxs as io}from"react/jsx-runtime";function yt({label:e,name:t,options:n,defaultValue:o,description:s,onChange:d,$meta:c,component:F,...f}){let{control:l}=b(),{components:a}=S(),[u,m]=lo([]);return G(k,{defaultValue:o,control:l,name:t,render:({field:i,fieldState:g})=>{let p=F||a?.countries;if(p){let v={label:e,name:t,options:n,defaultValue:o,description:s,onChange:d,$meta:c,...f};return G(p,{field:{...i,onChange:r(T=>{i.onChange(T),d?.(T)},"onChange")},fieldState:g,fieldData:v})}let y=[...Object.entries(c?.regions||{}).map(([v,T])=>({value:T,label:v,category:"Regions"})),...Object.entries(c?.subregions||{}).map(([v,T])=>({value:T,label:v,category:"Subregions"})),...n.map(v=>({...v,value:v.value,label:v.label,category:"Countries"}))],x=r(v=>{let T=v.map(({value:K})=>K);i.onChange(T),d?.(T),m(v)},"handleChange");return io(w,{"data-field":t,className:`RemoteFlows__CountryField__Item__${t}`,children:[G(N,{className:"RemoteFlows__CountryField__Label",children:e}),G(R,{children:G(pe,{options:y,selected:u,onChange:x,...f})}),s&&G(P,{children:s}),g.error&&G(D,{})]})}})}r(yt,"CountryField");import*as vt from"react";import{jsx as mo}from"react/jsx-runtime";var De=vt.forwardRef(({className:e,...t},n)=>mo("textarea",{className:h("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:n,...t}));De.displayName="Textarea";import{jsx as J,jsxs as Te}from"react/jsx-runtime";function Ct({name:e,description:t,label:n,onChange:o,maxLength:s,component:d,...c}){let{components:F}=S(),{control:f}=b();return J(k,{control:f,name:e,render:({field:l,fieldState:a})=>{let u=d||F?.textarea;if(u){let i={name:e,description:t,label:n,maxLength:s,...c};return J(u,{field:{...l,onChange:r(g=>{l.onChange(g),o?.(g)},"onChange")},fieldState:a,fieldData:i})}let m=l.value?.length??0;return Te(w,{"data-field":e,className:`RemoteFlows__TextArea__Item__${e}`,children:[J(N,{className:"RemoteFlows__TextArea__Label",children:n}),J(R,{children:J(De,{...l,value:l.value??"",onChange:i=>{l.onChange(i),o?.(i)},className:h(a.error&&"border-red-500 focus-visible:ring-red-500","RemoteFlows__TextArea__Input"),placeholder:n})}),(t||s)&&Te("div",{className:"flex items-center justify-between",children:[t&&J(P,{className:"RemoteFlows__TextArea__Description",children:t}),s&&Te("span",{className:"text-sm ml-auto RemoteFlows__TextArea__MaxLength",children:[m,"/",s]})]}),a.error&&J(D,{className:"RemoteFlows__TextArea__Error"})]})}})}r(Ct,"TextAreaField");import{jsx as Ie}from"react/jsx-runtime";function xt(e){let{components:t}=S(),{control:n}=b(),o=e.component||t?.email;return o?Ie(k,{control:n,name:e.name,render:({field:s,fieldState:d})=>Ie(o,{field:{...s,onChange:r(c=>{s.onChange(c),e.onChange?.(c)},"onChange")},fieldState:d,fieldData:e})}):Ie(B,{...e,type:"email"})}r(xt,"EmailField");import{jsx as bt}from"react/jsx-runtime";function St(e){let{control:t}=b();return bt(k,{control:t,name:e.name,render:({field:n})=>bt("input",{...n,type:"hidden"})})}r(St,"HiddenField");import ho,{useEffect as _o,useState as $t}from"react";var kt=r((e,t,n)=>{if(e&&"reportValidity"in e){let o=ne(n,t);e.setCustomValidity(o&&o.message||""),e.reportValidity()}},"r"),$e=r((e,t)=>{for(let n in t.fields){let o=t.fields[n];o&&o.ref&&"reportValidity"in o.ref?kt(o.ref,n,e):o&&o.refs&&o.refs.forEach(s=>kt(s,n,e))}},"o"),wt=r((e,t)=>{t.shouldUseNativeValidation&&$e(e,t);let n={};for(let o in e){let s=ne(t.fields,o),d=Object.assign(e[o]||{},{ref:s&&s.ref});if(co(t.names||Object.keys(e),o)){let c=Object.assign({},ne(n,o));ae(c,"root",d),ae(n,o,c)}else ae(n,o,d)}return n},"s"),co=r((e,t)=>{let n=Nt(t);return e.some(o=>Nt(o).match(`^${n}\\.\\d+`))},"i");function Nt(e){return e.replace(/\]|\[/g,"")}r(Nt,"n");function Rt(e,t,n){return t===void 0&&(t={}),n===void 0&&(n={}),function(o,s,d){try{return Promise.resolve(function(c,F){try{var f=(t.context&&process.env.NODE_ENV==="development"&&console.warn("You should not used the yup options context. Please, use the 'useForm' context object instead"),Promise.resolve(e[n.mode==="sync"?"validateSync":"validate"](o,Object.assign({abortEarly:!1},t,{context:s}))).then(function(l){return d.shouldUseNativeValidation&&$e({},d),{values:n.raw?Object.assign({},o):l,errors:{}}}))}catch(l){return F(l)}return f&&f.then?f.then(void 0,F):f}(0,function(c){if(!c.inner)throw c;return{values:{},errors:wt((F=c,f=!d.shouldUseNativeValidation&&d.criteriaMode==="all",(F.inner||[]).reduce(function(l,a){if(l[a.path]||(l[a.path]={message:a.message,type:a.type}),f){var u=l[a.path].types,m=u&&u[a.type];l[a.path]=Ae(a.path,f,l,a.type,m?[].concat(m,a.message):a.message)}return l},{})),d)};var F,f}))}catch(c){return Promise.reject(c)}}}r(Rt,"o");import*as I from"yup";import Pt from"lodash.groupby";import X from"lodash.capitalize";var Dt=60,fe=["monday","tuesday","wednesday","thursday","friday","saturday","sunday"];function uo(e){if(e<60)return`${e}m`;let t=Math.floor(e/Dt),n=e%Dt;return n>0?`${t}h${n}m`:`${t}h`}r(uo,"convertBreakDurationToHours");function Tt(e){let t=e.reduce((n,o)=>o.hours+n,0);return Number(t.toFixed(2))}r(Tt,"calculateTotalWorkHours");function po(e,t){let n=t.map(({day:d})=>d.toLowerCase()),o=n.indexOf(e),s=null;for(;o<n.length&&!s;){let d=n[o],c=n[o+1],F=fe.indexOf(d)+1;fe[F]===c||(s=d),o+=1}return s}r(po,"findLastConsecutiveDay");function fo(e){return e.start_time&&e.end_time&&(typeof e.hours=="number"?e.hours:Number.parseInt(e.hours))>0}r(fo,"shouldSummarizeSchedule");function Fo(e){return Number.parseInt(e.break_duration_minutes)>0}r(Fo,"shouldSummarizeBreaks");function It(e){let t=e.filter(fo),n=Pt(t,F=>`${F.start_time}|${F.end_time}`),o=e.filter(Fo),s=Pt(o,"break_duration_minutes"),d=Object.keys(n).map(F=>{let f=n[F],l=f[0].day,[a,u]=F.split("|"),m=`from <span>${a.replace(":","h")}</span> to <span>${u.replace(":","h")}</span>`,i=po(l,f),p=(i?f.findIndex(y=>y.day===i):-1)===f.length-1;return f.length===1?`${X(l)}, ${m}`:!p||!i?f.reduce((y,x,v)=>{let T=X(x.day);return v===f.length-1?`${y}and ${T}, ${m}`:`${y}<span>${T}</span>, `},""):`<span>${X(l)}</span> to <span>${X(i)}</span>, ${m}`}),c=Object.keys(s).reverse().map((F,f)=>{let l=f===0,a=s[F],u=uo(parseInt(F,10));if(Object.keys(s).length===1)return`With ${u} daily breaks`;if(a.length===1){let m=`${u} break on ${X(a[0].day)}.`;return l?`With ${m}`:m}return a.reduce((m,i,g)=>{let p=X(i.day);return g===0?`${m} ${p}`:g===a.length-1?`${m}, and ${p}.`:`${m}, ${p}`},l?`With ${u} break on`:`${u} break on`)});return{workHoursSummary:d,breakSummary:c}}r(It,"buildWorkScheduleSummary");function Me(e){let{checked:t,start_time:n,end_time:o,break_duration_minutes:s}=e;if(!t)return 0;let[d,c]=n.split(":").map(Number),[F,f]=o.split(":").map(Number),l=d*60+c,m=(F*60+f-l-Number.parseInt(s||"0"))/60;return m===Math.floor(m)?m:Number(m.toFixed(2))}r(Me,"calculateHours");var go={monday:"Mon",tuesday:"Tue",wednesday:"Wed",thursday:"Thu",friday:"Fri",saturday:"Sat",sunday:"Sun"};function Fe(e){return go[e]}r(Fe,"getShortWeekday");import{jsx as _,jsxs as H}from"react/jsx-runtime";var yo=I.object({day:I.string().required(),checked:I.boolean().required(),start_time:I.string().matches(/^([01]\d|2[0-3]):([0-5]\d)$/,"Invalid time format (HH:mm)").when("checked",{is:!0,then:r(e=>e.required("Required"),"then"),otherwise:r(e=>e.optional().nullable(),"otherwise")}),end_time:I.string().matches(/^([01]\d|2[0-3]):([0-5]\d)$/,"Invalid time format (HH:mm)").when("checked",{is:!0,then:r(e=>e.required("Required"),"then"),otherwise:r(e=>e.optional().nullable(),"otherwise")}),hours:I.number().default(0),break_duration_minutes:I.string().default("0")}),vo=I.object({schedule:I.array(yo)});function Co({defaultSchedule:e,onSubmit:t}){let[n,o]=$t(!1),s=fe.map(p=>{let y=e.find(x=>x.day.toLowerCase()===Fe(p).toLowerCase()||x.day.toLowerCase()===p.toLowerCase());return y?{...y,day:Fe(p),checked:!0}:{...e[0],checked:!1,day:Fe(p)}}),d=Ue({defaultValues:{schedule:s},resolver:Rt(vo)}),{handleSubmit:c,watch:F,reset:f,control:l,formState:a}=d,{fields:u}=Oe({name:"schedule",control:l}),m=F("schedule");function i(p){let y=p.schedule.filter(({checked:x})=>x).map(x=>({...x,hours:Me(x)}));t(y),o(!1)}r(i,"handleSubmitWorkingHours");function g(){f(),o(!1)}return r(g,"handleCancel"),_("div",{className:"flex items-center justify-between",children:H(Ce,{open:n,onOpenChange:o,children:[_(et,{asChild:!0,children:_($,{variant:"link",className:"flex items-center p-0 RemoteFlows__WorkScheduleSelectionForm__Trigger",children:"Edit Schedule"})}),H(xe,{className:"max-w-5xl max-h-[90vh] overflow-y-auto px-8 py-4 RemoteFlows__WorkScheduleSelectionForm__Content",children:[_(be,{children:_(Se,{className:"RemoteFlows__WorkScheduleSelectionForm__Title",children:"Edit employee working hours"})}),_(ze,{...d,children:H("form",{className:"space-y-4 RemoteFlows__WorkScheduleSelectionForm__Form",children:[H("div",{className:"rounded-lg",children:[_("p",{className:"text-gray-600 text-sm mb-4 RemoteFlows__WorkScheduleSelectionForm__Description",children:"The times displayed are in the employee's time zone in the 24-hour format."}),H("div",{className:"grid grid-cols-12 gap-4 text-sm font-medium text-gray-500 uppercase tracking-wide RemoteFlows__WorkScheduleSelectionForm__Header",children:[_("div",{className:"col-span-2"}),_("div",{className:"col-span-3 text-center",children:"START"}),_("div",{className:"col-span-1 text-center"}),_("div",{className:"col-span-3 text-center",children:"END"}),_("div",{className:"col-span-2 text-center",children:"HOURS"})]}),_("div",{className:"RemoteFlows__WorkScheduleSelectionForm__Rows",children:u.map((p,y)=>{let x=m[y],v=Me(x);return H(ho.Fragment,{children:[H("div",{className:"grid grid-cols-12 gap-4 items-center py-2 RemoteFlows__WorkScheduleSelectionForm__Row-Hours",children:[_("div",{className:"col-span-2 flex items-center gap-3",children:_(le,{label:p.day,name:`schedule.${y}.checked`})}),_("div",{className:"col-span-3",children:_(B,{name:`schedule.${y}.start_time`,includeErrorMessage:!1})}),_("div",{className:"col-span-1 text-center text-gray-500",children:"to"}),_("div",{className:"col-span-3",children:_(B,{name:`schedule.${y}.end_time`,includeErrorMessage:!1})}),_("div",{className:"col-span-2 text-center text-gray-600",children:isNaN(v)?"-":`${v} hours`})]}),H("div",{className:"grid grid-cols-12 gap-4 items-center py-2 RemoteFlows__WorkScheduleSelectionForm__Row-Break",children:[_("div",{className:"col-span-2 text-gray-500",children:"Break"}),_("div",{className:"col-span-2",children:_(B,{name:`schedule.${y}.break_duration_minutes`,includeErrorMessage:!1})}),_("div",{className:"col-span-2 text-gray-500",children:"minutes"}),_("div",{className:"col-span-4"})]})]},p.id)})})]}),Object.keys(a.errors).length>0&&_("p",{className:"text-destructive text-sm mb-0",children:"Invalid time format (HH:mm)"}),H("div",{className:"flex gap-4 pt-4",children:[_($,{type:"button",className:"reset-button",variant:"outline",onClick:g,children:"Cancel"}),_($,{type:"button",className:"submit-button",onClick:c(i),children:"Save Schedule"})]})]})})]})]})})}r(Co,"WorkScheduleSelectionForm");function Mt(e){let{components:t}=S(),{setValue:n,control:o,watch:s}=b(),d=s(e.name),[c,F]=$t(d),{workHoursSummary:f,breakSummary:l}=It(c),a=Tt(c);_o(()=>{n(e.name,c)},[c,e.name,n]);function u(i){F(i)}r(u,"onSubmit");let m=e.component||t?.["work-schedule"];return m?_(k,{control:o,name:e.name,render:({field:i,fieldState:g})=>_(m,{field:{...i,onChange:r(p=>{i.onChange(p),e.onChange?.(p)},"onChange")},fieldState:g,fieldData:{...e,defaultFormattedValue:{workHoursSummary:f,breakSummary:l,totalWorkHours:a}}})}):H("div",{className:"flex flex-col gap-3 RemoteFlows__WorkScheduleField",children:[_("p",{className:"text-sm RemoteFlows__WorkScheduleField__Title",children:"Work hours"}),H("div",{className:"flex flex-col gap-1 RemoteFlows__WorkScheduleField__Summary",children:[_("p",{className:"text-sm text-gray-500 RemoteFlows__WorkScheduleField__Summary__WorkHours",dangerouslySetInnerHTML:{__html:f.join(", ")}}),_("p",{className:"text-sm text-gray-500 RemoteFlows__WorkScheduleField__Summary__Break",children:l.join()}),H("p",{className:"text-sm text-gray-500 RemoteFlows__WorkScheduleField__Summary__Total",children:["Total of ",_("span",{children:a})," hours per week"]}),_(Co,{defaultSchedule:c,onSubmit:u})]})]})}r(Mt,"WorkScheduleField");import{useState as xo}from"react";import{jsx as q,jsxs as bo}from"react/jsx-runtime";function Et({label:e,name:t,options:n,defaultValue:o,description:s,onChange:d,component:c,...F}){let{control:f}=b(),{components:l}=S(),[a,u]=xo();return q(k,{defaultValue:o,control:f,name:t,render:({field:m,fieldState:i})=>{let g=c||l?.["multi-select"];if(g){let y={label:e,name:t,options:n,defaultValue:o,description:s,onChange:d,...F};return q(g,{field:{...m,onChange:r(x=>{m.onChange(x),d?.(x)},"onChange")},fieldState:i,fieldData:y})}let p=a||n.filter(y=>m.value.includes(y.value));return bo(w,{"data-field":t,className:`RemoteFlows__SelectField__Item__${t}`,children:[q(N,{className:"RemoteFlows__SelectField__Label",children:e}),q(R,{children:q(pe,{options:n,selected:p,onChange:y=>{let x=y.map(({value:v})=>v);m.onChange(x),d?.(x),u(y)},...F})}),s&&q(P,{children:s}),i.error&&q(D,{})]})}})}r(Et,"MultiSelectField");import{jsx as So}from"react/jsx-runtime";var Wt=r(e=>So(ue,{maxLength:15,...e}),"MoneyField");var Ee={checkbox:le,text:B,email:xt,money:Wt,select:ut,"multi-select":Et,radio:dt,number:ue,file:mt,date:st,textarea:Ct,countries:yt,hidden:St,"work-schedule":Mt};import{AlertCircle as ko}from"lucide-react";import{jsx as ge,jsxs as No}from"react/jsx-runtime";function Lt({title:e,description:t,severity:n}){let{components:o}=S();if(o?.statement){let s=o?.statement;return ge(s,{data:{title:e,description:oe(t),severity:n}})}return No(tt,{variant:"warning",children:[ge(ko,{className:"h-4 w-4"}),e&&ge(ot,{children:e}),t&&ge(rt,{dangerouslySetInnerHTML:{__html:oe(t)}})]})}r(Lt,"Statement");import{Fragment as Do,jsx as O,jsxs as Q}from"react/jsx-runtime";var Po=r(({isExpanded:e,onToggle:t,className:n,...o})=>O($,{type:"button",className:h("RemoteFlows__Button RemoteFlows__FieldSetField__ToggleButton",n),variant:"default",onClick:t,...o,children:e?"Remove":"Define"}),"DefaultToggleButton");function us({label:e,name:t,fields:n,description:o,components:s,statement:d,isFlatFieldset:c,extra:F,variant:f="outset",features:l,meta:a}){let{helpCenter:u}=a||{},{watch:m,setValue:i,trigger:g,formState:p}=b(),{components:y}=S(),x=l?.toggle?.stateField,v=x?m(x):l?.toggle?.defaultExpanded??!0,T=n.map(({name:C})=>`${t}.${C}`),K=m(T),We=Ht(K),ee=Ht(null),Bt=r(()=>{x&&i(x,!v)},"toggleExpanded");Ro(()=>{let C=K,re=We.current,he=p.isSubmitted||p.submitCount>0,Be=!1;for(let te=0;te<C.length;te++)if(C[te]!==void 0&&re[te]!==C[te]){Be=!0;break}return Be&&he&&(ee.current&&clearTimeout(ee.current),ee.current=setTimeout(()=>{g()},50)),We.current=[...C],()=>{ee.current&&clearTimeout(ee.current)}},[K,g,p.isSubmitted,p.submitCount]);let At=y?.fieldsetToggle||Po,Le=`${t}-content`,He=`${t}-header`;return Q("fieldset",{className:h("border-1 border-input p-4 rounded-xl","RemoteFlows__FieldSetField",`RemoteFlows__FieldSetField__${t}`),children:[O("legend",{className:h("text-sm font-semibold px-2",f==="inset"&&"hidden"),children:e}),u?.callToAction&&u?.id&&f==="outset"&&O(_e,{className:"RemoteFlows__FieldSetField__HelpCenterLink mb-3",zendeskId:u.id,children:u.callToAction}),f==="inset"&&Q(Do,{children:[Q("div",{className:"RemoteFlows__FieldSetField__Header",id:He,"data-state":v?"expanded":"collapsed","aria-expanded":v,children:[O("h3",{className:h("RemoteFlows__FieldSetField__Title"),children:e}),l?.toggle?.enabled&&O(At,{isExpanded:v,onToggle:Bt,"aria-expanded":v,"aria-controls":Le,"aria-label":`${v?"Hide":"Show"} ${e}`,className:h("RemoteFlows__FieldSetField__Toggle",l.toggle?.className),children:v?l.toggle.labels?.collapse??"Remove":l.toggle.labels?.expand??"Define"})]}),u?.callToAction&&u?.id&&O(_e,{className:"RemoteFlows__FieldSetField__HelpCenterLink mb-3",zendeskId:u.id,children:u.callToAction})]}),v&&Q("div",{id:Le,"aria-labelledby":He,role:"region",children:[o?O("div",{className:"mb-5 RemoteFlows__FieldSetField__Description",dangerouslySetInnerHTML:{__html:oe(o)}}):null,Q("div",{className:"grid gap-4",children:[n.map(C=>{C.calculateDynamicProperties&&(C={...C,...C.calculateDynamicProperties(K,C)||{}});let re=Ee[C.type];if(C.isVisible===!1||C.deprecated)return null;if(C.Component){let{Component:he}=C;return O(he,{...C},C.name)}return C.type==="select"&&C.multiple&&(re=Ee["multi-select"]),Q(wo,{children:[O(re,{...C,name:`${c?C.name:`${t}.${C.name}`}`,component:s?.[C.type]}),C.extra?C.extra:null]},`${c?C.name:`${t}.${C.name}`}`)}),F||null,d?O(Lt,{...d}):null]})]})]})}r(us,"FieldSetField");export{Ee as a,Lt as b,us as c};
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as B}from"./chunk-BV3PGYSH.js";import{a as ye,b as Ge,c as Je,d as qe,e as Ke,f as Ye,g as je,h as Ze,i as Xe,j as Ce,k as et,l as xe,m as be,o as Se,q as tt,r as ot,s as rt}from"./chunk-D6X2WCEG.js";import{b as Qe}from"./chunk-HPHWQU34.js";import{b as _e}from"./chunk-ANQ4HVVK.js";import{a as ve,b as $}from"./chunk-WVDTHFGS.js";import{b as S}from"./chunk-3ZWDIEEM.js";import{a as ne,b as ae,c as b,d as Ae,e as Oe,f as Ue,g as ze,h as k,i as w,j as N,k as R,l as P,m as D}from"./chunk-CNDSIADP.js";import{g as Ve}from"./chunk-PAQW5BFW.js";import{a as h,e as oe}from"./chunk-43WMZDDH.js";import{a as r}from"./chunk-P37U34EQ.js";import{Fragment as wo,useEffect as Ro,useRef as Ht}from"react";import{Fragment as Ot,jsx as A,jsxs as se}from"react/jsx-runtime";function le({name:e,defaultValue:t,description:n,label:o,onChange:s,multiple:d,options:c,component:F,...f}){let{components:l}=S(),{control:a}=b(),u=r((m,i,g)=>{let p=g.value?[...g.value]:[];i?p.includes(m)||g.onChange([...p,m]):g.onChange(p.filter(y=>y!==m))},"handleCheckboxChange");return A(k,{control:a,name:e,defaultValue:t,render:({field:m,fieldState:i})=>{let g=F||l?.checkbox;if(g){let p={name:e,description:n,label:o,defaultValue:t,multiple:d,options:c,...f};return A(g,{field:{...m,onChange:r(y=>{if(d){let{checked:x,value:v}=y.target;u(v,x,m),s?.(x);return}m.onChange(y),s?.(y)},"onChange")},fieldState:i,fieldData:p})}return se(w,{"data-field":e,className:h(`RemoteFlows__CheckBoxField__Item__${e}`),children:[A(R,{children:se(Ot,{children:[c&&d?A(N,{children:o}):null,c&&d?c.map(p=>se("div",{className:"flex space-x-2",children:[A(ye,{id:p.value,onCheckedChange:y=>{u(p.value,y===!0,m),s?.(y,p.value)},checked:m.value?.includes(p.value),className:"RemoteFlows__CheckBox__Input"}),A(N,{htmlFor:p.value,className:"mb-0 RemoteFlows__CheckBox__Label",children:p.label})]},p.value)):se("div",{className:"flex space-x-2",children:[A(ye,{id:e,onCheckedChange:p=>{m.onChange(p),s?.(p)},checked:m.value,className:"RemoteFlows__CheckBox__Input"}),A(N,{htmlFor:e,className:"mb-0 RemoteFlows__CheckBox__Label",children:o})]})]})}),n&&A(P,{children:n}),i.error&&A(D,{})]})}})}r(le,"CheckBoxField");import{CalendarIcon as Gt}from"lucide-react";import{PopoverClose as Jt}from"@radix-ui/react-popover";import{ChevronLeft as Ut,ChevronRight as Vt}from"lucide-react";import{DayPicker as zt}from"react-day-picker";import{jsx as ke}from"react/jsx-runtime";function nt({className:e,classNames:t,showOutsideDays:n=!0,...o}){return ke(zt,{showOutsideDays:n,className:h("p-3",e),classNames:{months:"flex flex-col sm:flex-row gap-2",month:"flex flex-col gap-4",caption:"flex justify-center pt-1 relative items-center w-full",caption_label:"text-sm font-medium",nav:"flex items-center gap-1",nav_button:h(ve({variant:"outline"}),"size-7 bg-transparent p-0 opacity-50 hover:opacity-100"),nav_button_previous:"absolute left-1",nav_button_next:"absolute right-1",table:"w-full border-collapse space-x-1",head_row:"flex",head_cell:"text-muted-foreground rounded-md w-8 font-normal text-[0.8rem]",row:"flex w-full mt-2",cell:h("relative p-0 text-center text-sm focus-within:relative focus-within:z-20 [&:has([aria-selected])]:bg-accent [&:has([aria-selected].day-range-end)]:rounded-r-md",o.mode==="range"?"[&:has(>.day-range-end)]:rounded-r-md [&:has(>.day-range-start)]:rounded-l-md first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md":"[&:has([aria-selected])]:rounded-md"),day:h(ve({variant:"ghost"}),"size-8 p-0 font-normal aria-selected:opacity-100"),day_range_start:"day-range-start aria-selected:bg-primary aria-selected:text-primary-foreground",day_range_end:"day-range-end aria-selected:bg-primary aria-selected:text-primary-foreground",day_selected:"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground",day_today:"bg-accent text-accent-foreground",day_outside:"day-outside text-muted-foreground aria-selected:text-muted-foreground",day_disabled:"text-muted-foreground opacity-50",day_range_middle:"aria-selected:bg-accent aria-selected:text-accent-foreground",day_hidden:"invisible",...t},components:{IconLeft:r(({className:s,...d})=>ke(Ut,{className:h("size-4",s),...d}),"IconLeft"),IconRight:r(({className:s,...d})=>ke(Vt,{className:h("size-4",s),...d}),"IconRight")},...o})}r(nt,"Calendar");import*as U from"@radix-ui/react-popover";import{jsx as ie}from"react/jsx-runtime";function me({...e}){return ie(U.Root,{"data-slot":"popover",...e})}r(me,"Popover");function de({...e}){return ie(U.Trigger,{"data-slot":"popover-trigger",...e})}r(de,"PopoverTrigger");function ce({className:e,align:t="center",sideOffset:n=4,...o}){return ie(U.Portal,{children:ie(U.Content,{"data-slot":"popover-content",align:t,sideOffset:n,className:h("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",e),...o})})}r(ce,"PopoverContent");import{format as at,parse as qt}from"date-fns";import{Fragment as Kt,jsx as M,jsxs as Ne}from"react/jsx-runtime";function st({description:e,label:t,name:n,minDate:o,onChange:s,component:d,...c}){let{components:F}=S(),{control:f}=b(),l;return c.meta?.mot&&typeof c.meta.mot=="number"?l=Ve(c.meta.mot):o&&(l=qt(o,"yyyy-MM-dd",new Date)),M(k,{control:f,name:n,render:({field:a,fieldState:u})=>{let m=d||F?.date;if(m){let i={description:e,label:t,name:n,onChange:s,...l&&{minDate:l.toISOString()},...c};return M(m,{field:{...a,onChange:r(g=>{a.onChange(g),s?.(g)},"onChange")},fieldState:u,fieldData:i})}return Ne(w,{"data-field":n,className:`flex flex-col RemoteFlows__DatePickerField__Item__${n}`,children:[M(N,{className:"RemoteFlows__DatePickerField__Label",children:t}),Ne(me,{children:[M(de,{asChild:!0,children:M(R,{children:M("div",{children:Ne($,{type:"button",variant:"outline",className:h("w-full pl-3 text-left font-normal",!a.value&&"text-muted-foreground"),"data-testid":`date-picker-button-${n}`,children:[a.value&&M(Kt,{children:at(a.value,"yyyy-MM-dd")}),M(Gt,{className:"ml-auto h-4 w-4 opacity-50"})]})})})}),M(ce,{className:"w-auto p-0 RemoteFlows__DatepickerField__PopoverContent",align:"start",children:M(nt,{mode:"single",className:"RemoteFlows__DatepickerField__Calendar",selected:a.value?new Date(a.value):void 0,onSelect:i=>{a.onChange(i?at(i,"yyyy-MM-dd"):null),s?.(i)},defaultMonth:l,components:{DayContent:r(i=>M(Jt,{children:i.date.getDate()}),"DayContent")},...l&&{disabled:r(i=>i<l,"disabled")}})})]}),e?M(P,{children:e}):null,u.error&&M(D,{className:"RemoteFlows__DatePickerField__Error"})]})}})}r(st,"DatePickerField");import{useState as Yt,useRef as jt}from"react";import{Upload as Zt,X as Xt}from"lucide-react";import{jsx as V,jsxs as we}from"react/jsx-runtime";function lt({onChange:e,className:t,multiple:n}){let[o,s]=Yt([]),d=jt(null),c=r(l=>{l.preventDefault(),d.current?.click()},"handleClick"),F=r(l=>{if(l.target.files&&l.target.files.length>0){let a=Array.from(l.target.files);s(a),e(l)}},"handleChange"),f=r(l=>{s(a=>a.filter(u=>u!==l))},"onRemoveFile");return we("div",{className:h("flex flex-col items-start gap-4",t),children:[V("input",{type:"file",ref:d,onChange:F,className:"hidden","aria-label":"File upload",multiple:n}),we($,{type:"button",onClick:c,className:"gap-2",children:[V(Zt,{className:"h-4 w-4"}),"Choose File"]}),o.length===0&&V("div",{className:"text-sm",children:n?V("span",{className:"font-medium",children:"No files selected. You can select multiple files"}):V("span",{className:"font-medium",children:"No file selected."})}),o.length>0&&o.map((l,a)=>we("div",{className:"text-sm flex items-center gap-2",children:["Selected file: ",V("span",{className:"font-medium",children:l.name})," (",Math.round(l.size/1024)," KB)",V($,{variant:"ghost",onClick:()=>f(l),children:V(Xt,{})})]},a))]})}r(lt,"FileUploader");import{jsx as z,jsxs as eo}from"react/jsx-runtime";var Qt=r(e=>new Promise((t,n)=>{let o=new FileReader;o.readAsDataURL(e),o.onload=()=>t(o.result),o.onerror=s=>n(s)}),"toBase64"),it=r(async e=>{let t=e.target.files?Array.from(e.target.files):[];return await Promise.all(t.map(async o=>{let s=await Qt(o);return{name:o.name,content:s.split(",")[1]}}))},"convertFilesToBase64");function mt({name:e,description:t,label:n,multiple:o,onChange:s,component:d,...c}){let{components:F}=S(),{control:f}=b();return z(k,{control:f,name:e,render:({field:l,fieldState:a})=>{let u=d||F?.file;if(u){let m={name:e,description:t,label:n,multiple:o,...c};return z(u,{field:{...l,value:null,onChange:r(async i=>{let g=await it(i);l.onChange(g),s?.(g)},"onChange")},fieldState:a,fieldData:m})}return eo(w,{"data-field":e,className:`RemoteFlows__FileUpload__Item__${e}`,children:[z(N,{className:"RemoteFlows__FileUpload__Label",children:n}),z(R,{children:z(lt,{onChange:async m=>{let i=await it(m);l.onChange(i),s?.(i)},multiple:o,className:h("RemoteFlows__FileUpload__Input")})}),t&&z("div",{className:"flex items-center justify-between",children:z(P,{className:"RemoteFlows__FileUpload__Description",children:t})}),a.error&&z(D,{className:"RemoteFlows__FileUpload__Error"})]})}})}r(mt,"FileUploadField");import{jsx as Re}from"react/jsx-runtime";function ue(e){let{components:t}=S(),{control:n}=b(),o=e.component||t?.number;return o?Re(k,{control:n,name:e.name,render:({field:s,fieldState:d})=>Re(o,{field:{...s,onChange:r(c=>{s.onChange(c),e.onChange?.(c)},"onChange")},fieldState:d,fieldData:e})}):Re(B,{...e,type:"text",inputMode:"decimal",pattern:"^[0-9.]*$"})}r(ue,"NumberField");import{Fragment as to}from"react";import{jsx as W,jsxs as Pe}from"react/jsx-runtime";function dt({name:e,defaultValue:t,description:n,label:o,options:s,onChange:d,component:c,...F}){let{components:f}=S(),{control:l}=b();return W(k,{control:l,name:e,defaultValue:t,render:({field:a,fieldState:u})=>{let m=c||f?.radio;if(m){let i={name:e,defaultValue:t,description:n,label:o,options:s,...F};return W(m,{field:{...a,onChange:r(g=>{a.onChange(g),d?.(g)},"onChange")},fieldState:u,fieldData:i})}return Pe(w,{className:h("space-y-3",`RemoteFlows__RadioGroupField__Item__${e}`),"data-field":e,children:[W(N,{children:o}),W(R,{children:W(Ge,{"aria-label":o||e,onValueChange:i=>{a.onChange(i),d?.(i)},value:a.value,className:"flex flex-col space-y-3",children:s?.map(i=>W(to,{children:Pe(w,{"data-field":e,className:"flex items-start space-x-3 space-y-0 gap-0 RemoteFlows__RadioField__Item",children:[W(R,{children:W(Je,{value:i.value,className:"RemoteFlows__RadioField__Input",disabled:i.disabled})}),Pe("div",{children:[W(N,{className:"font-normal mb-0 RemoteFlows__RadioField__Label",children:i.label}),i.description&&W(P,{className:"mt-2",children:i.description})]})]})},i.value))})}),n&&W(P,{children:n}),u.error&&W(D,{})]})}})}r(dt,"RadioGroupField");import{jsx as E,jsxs as ct}from"react/jsx-runtime";function ut({label:e,name:t,options:n,defaultValue:o,description:s,onChange:d,component:c,...F}){let{control:f}=b(),{components:l}=S();return E(k,{defaultValue:o,control:f,name:t,render:({field:a,fieldState:u})=>{let m=c||l?.select;if(m){let i={label:e,name:t,options:n,defaultValue:o,description:s,onChange:d,...F};return E(m,{field:{...a,onChange:r(g=>{let p=F.jsonType==="number"?Number(g):g;a.onChange(p),d?.(p)},"onChange")},fieldState:u,fieldData:i})}return ct(w,{"data-field":t,className:`RemoteFlows__SelectField__Item__${t}`,children:[E(N,{className:"RemoteFlows__SelectField__Label",children:e}),E(R,{children:E("div",{className:"relative",children:ct(qe,{value:a.value||"",onValueChange:i=>{let g=F.jsonType==="number"?Number(i):i;a.onChange(g),d?.(g)},children:[E(je,{className:"RemoteFlows__SelectField__Trigger","aria-invalid":!!u.error,"aria-label":e,children:E("span",{className:"absolute",children:E(Ye,{placeholder:e})})}),E(Ze,{className:"RemoteFlows__SelectField__Content",children:E(Ke,{className:"RemoteFlows__SelectField__Group",children:n.map(i=>E(Xe,{value:i.value,className:"RemoteFlows__SelectField__SelectItem",disabled:i.disabled,children:i.label},i.value))})})]})})}),s&&E(P,{children:s}),u.error&&E(D,{})]})}})}r(ut,"SelectField");import{useState as lo}from"react";import{Fragment as oo,useState as ro}from"react";import{Check as no,ChevronDownIcon as ao,X as so}from"lucide-react";import{Command as Y}from"cmdk";import{SearchIcon as tn}from"lucide-react";import{jsx as j,jsxs as an}from"react/jsx-runtime";function pt({className:e,...t}){return j(Y,{"data-slot":"command",className:h("bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",e),...t})}r(pt,"Command");function ft({className:e,...t}){return j(Y.List,{"data-slot":"command-list",className:h("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",e),...t})}r(ft,"CommandList");function Ft({...e}){return j(Y.Empty,{"data-slot":"command-empty",className:"py-6 text-center text-sm",...e})}r(Ft,"CommandEmpty");function gt({className:e,...t}){return j(Y.Group,{"data-slot":"command-group",className:h("text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium",e),...t})}r(gt,"CommandGroup");function ht({className:e,...t}){return j(Y.Separator,{"data-slot":"command-separator",className:h("bg-border -mx-1 h-px",e),...t})}r(ht,"CommandSeparator");function _t({className:e,...t}){return j(Y.Item,{"data-slot":"command-item",className:h("data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...t})}r(_t,"CommandItem");import{jsx as L,jsxs as Z}from"react/jsx-runtime";function pe({options:e,selected:t,onChange:n,placeholder:o,...s}){let[d,c]=ro(!1),F=r(a=>{n(t.filter(u=>u.value!==a.value))},"handleUnselect"),f=e.some(a=>a.category),l=e.reduce((a,u)=>{let m=u.category||"Uncategorized";return a[m]||(a[m]=[]),a[m].push(u),a},{});return Z(me,{open:d,onOpenChange:c,...s,children:[L(de,{children:Z($,{variant:"outline",role:"combobox","aria-expanded":d,className:"w-full justify-between font-normal",type:"button",children:[L("div",{className:"flex gap-1 flex-wrap overflow-x-auto max-h-[2.5rem] items-center",children:t.length>0?t.map(a=>Z(Qe,{variant:"secondary",className:"mr-1 mb-1",children:[a.label,L("div",{role:"button",tabIndex:0,"aria-label":`remove ${a.label}`,className:"ml-1 ring-offset-background rounded-full outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 cursor-pointer",onKeyDown:u=>{u.key==="Enter"&&F(a)},onMouseDown:u=>{u.preventDefault(),u.stopPropagation()},onClick:()=>F(a),children:L(so,{className:"h-3 w-3 text-muted-foreground hover:text-foreground"})})]},a.label)):L("span",{className:"text-foreground",children:o})}),L(ao,{className:"size-4"})]})}),L(ce,{align:"start",className:"w-full p-0",children:L(pt,{children:Z(ft,{children:[L(Ft,{children:"No item found."}),Object.entries(l).map(([a,u],m)=>Z(oo,{children:[m>0&&L(ht,{}),L(gt,{heading:f?a:void 0,children:u.map(i=>{let g=t.some(p=>p.value===i.value);return Z(_t,{onSelect:()=>{n(g?t.filter(p=>p.value!==i.value):[...t,i])},children:[L(no,{className:h("mr-2 h-4 w-4",g?"opacity-100":"opacity-0")}),i.label]},i.label)})})]},a))]})})})]})}r(pe,"MultiSelect");import{jsx as G,jsxs as io}from"react/jsx-runtime";function yt({label:e,name:t,options:n,defaultValue:o,description:s,onChange:d,$meta:c,component:F,...f}){let{control:l}=b(),{components:a}=S(),[u,m]=lo([]);return G(k,{defaultValue:o,control:l,name:t,render:({field:i,fieldState:g})=>{let p=F||a?.countries;if(p){let v={label:e,name:t,options:n,defaultValue:o,description:s,onChange:d,$meta:c,...f};return G(p,{field:{...i,onChange:r(T=>{i.onChange(T),d?.(T)},"onChange")},fieldState:g,fieldData:v})}let y=[...Object.entries(c?.regions||{}).map(([v,T])=>({value:T,label:v,category:"Regions"})),...Object.entries(c?.subregions||{}).map(([v,T])=>({value:T,label:v,category:"Subregions"})),...n.map(v=>({...v,value:v.value,label:v.label,category:"Countries"}))],x=r(v=>{let T=v.map(({value:K})=>K);i.onChange(T),d?.(T),m(v)},"handleChange");return io(w,{"data-field":t,className:`RemoteFlows__CountryField__Item__${t}`,children:[G(N,{className:"RemoteFlows__CountryField__Label",children:e}),G(R,{children:G(pe,{options:y,selected:u,onChange:x,...f})}),s&&G(P,{children:s}),g.error&&G(D,{})]})}})}r(yt,"CountryField");import*as vt from"react";import{jsx as mo}from"react/jsx-runtime";var De=vt.forwardRef(({className:e,...t},n)=>mo("textarea",{className:h("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:n,...t}));De.displayName="Textarea";import{jsx as J,jsxs as Te}from"react/jsx-runtime";function Ct({name:e,description:t,label:n,onChange:o,maxLength:s,component:d,...c}){let{components:F}=S(),{control:f}=b();return J(k,{control:f,name:e,render:({field:l,fieldState:a})=>{let u=d||F?.textarea;if(u){let i={name:e,description:t,label:n,maxLength:s,...c};return J(u,{field:{...l,onChange:r(g=>{l.onChange(g),o?.(g)},"onChange")},fieldState:a,fieldData:i})}let m=l.value?.length??0;return Te(w,{"data-field":e,className:`RemoteFlows__TextArea__Item__${e}`,children:[J(N,{className:"RemoteFlows__TextArea__Label",children:n}),J(R,{children:J(De,{...l,value:l.value??"",onChange:i=>{l.onChange(i),o?.(i)},className:h(a.error&&"border-red-500 focus-visible:ring-red-500","RemoteFlows__TextArea__Input"),placeholder:n})}),(t||s)&&Te("div",{className:"flex items-center justify-between",children:[t&&J(P,{className:"RemoteFlows__TextArea__Description",children:t}),s&&Te("span",{className:"text-sm ml-auto RemoteFlows__TextArea__MaxLength",children:[m,"/",s]})]}),a.error&&J(D,{className:"RemoteFlows__TextArea__Error"})]})}})}r(Ct,"TextAreaField");import{jsx as Ie}from"react/jsx-runtime";function xt(e){let{components:t}=S(),{control:n}=b(),o=e.component||t?.email;return o?Ie(k,{control:n,name:e.name,render:({field:s,fieldState:d})=>Ie(o,{field:{...s,onChange:r(c=>{s.onChange(c),e.onChange?.(c)},"onChange")},fieldState:d,fieldData:e})}):Ie(B,{...e,type:"email"})}r(xt,"EmailField");import{jsx as bt}from"react/jsx-runtime";function St(e){let{control:t}=b();return bt(k,{control:t,name:e.name,render:({field:n})=>bt("input",{...n,type:"hidden"})})}r(St,"HiddenField");import ho,{useEffect as _o,useState as $t}from"react";var kt=r((e,t,n)=>{if(e&&"reportValidity"in e){let o=ne(n,t);e.setCustomValidity(o&&o.message||""),e.reportValidity()}},"r"),$e=r((e,t)=>{for(let n in t.fields){let o=t.fields[n];o&&o.ref&&"reportValidity"in o.ref?kt(o.ref,n,e):o&&o.refs&&o.refs.forEach(s=>kt(s,n,e))}},"o"),wt=r((e,t)=>{t.shouldUseNativeValidation&&$e(e,t);let n={};for(let o in e){let s=ne(t.fields,o),d=Object.assign(e[o]||{},{ref:s&&s.ref});if(co(t.names||Object.keys(e),o)){let c=Object.assign({},ne(n,o));ae(c,"root",d),ae(n,o,c)}else ae(n,o,d)}return n},"s"),co=r((e,t)=>{let n=Nt(t);return e.some(o=>Nt(o).match(`^${n}\\.\\d+`))},"i");function Nt(e){return e.replace(/\]|\[/g,"")}r(Nt,"n");function Rt(e,t,n){return t===void 0&&(t={}),n===void 0&&(n={}),function(o,s,d){try{return Promise.resolve(function(c,F){try{var f=(t.context&&process.env.NODE_ENV==="development"&&console.warn("You should not used the yup options context. Please, use the 'useForm' context object instead"),Promise.resolve(e[n.mode==="sync"?"validateSync":"validate"](o,Object.assign({abortEarly:!1},t,{context:s}))).then(function(l){return d.shouldUseNativeValidation&&$e({},d),{values:n.raw?Object.assign({},o):l,errors:{}}}))}catch(l){return F(l)}return f&&f.then?f.then(void 0,F):f}(0,function(c){if(!c.inner)throw c;return{values:{},errors:wt((F=c,f=!d.shouldUseNativeValidation&&d.criteriaMode==="all",(F.inner||[]).reduce(function(l,a){if(l[a.path]||(l[a.path]={message:a.message,type:a.type}),f){var u=l[a.path].types,m=u&&u[a.type];l[a.path]=Ae(a.path,f,l,a.type,m?[].concat(m,a.message):a.message)}return l},{})),d)};var F,f}))}catch(c){return Promise.reject(c)}}}r(Rt,"o");import*as I from"yup";import Pt from"lodash.groupby";import X from"lodash.capitalize";var Dt=60,fe=["monday","tuesday","wednesday","thursday","friday","saturday","sunday"];function uo(e){if(e<60)return`${e}m`;let t=Math.floor(e/Dt),n=e%Dt;return n>0?`${t}h${n}m`:`${t}h`}r(uo,"convertBreakDurationToHours");function Tt(e){let t=e.reduce((n,o)=>o.hours+n,0);return Number(t.toFixed(2))}r(Tt,"calculateTotalWorkHours");function po(e,t){let n=t.map(({day:d})=>d.toLowerCase()),o=n.indexOf(e),s=null;for(;o<n.length&&!s;){let d=n[o],c=n[o+1],F=fe.indexOf(d)+1;fe[F]===c||(s=d),o+=1}return s}r(po,"findLastConsecutiveDay");function fo(e){return e.start_time&&e.end_time&&(typeof e.hours=="number"?e.hours:Number.parseInt(e.hours))>0}r(fo,"shouldSummarizeSchedule");function Fo(e){return Number.parseInt(e.break_duration_minutes)>0}r(Fo,"shouldSummarizeBreaks");function It(e){let t=e.filter(fo),n=Pt(t,F=>`${F.start_time}|${F.end_time}`),o=e.filter(Fo),s=Pt(o,"break_duration_minutes"),d=Object.keys(n).map(F=>{let f=n[F],l=f[0].day,[a,u]=F.split("|"),m=`from <span>${a.replace(":","h")}</span> to <span>${u.replace(":","h")}</span>`,i=po(l,f),p=(i?f.findIndex(y=>y.day===i):-1)===f.length-1;return f.length===1?`${X(l)}, ${m}`:!p||!i?f.reduce((y,x,v)=>{let T=X(x.day);return v===f.length-1?`${y}and ${T}, ${m}`:`${y}<span>${T}</span>, `},""):`<span>${X(l)}</span> to <span>${X(i)}</span>, ${m}`}),c=Object.keys(s).reverse().map((F,f)=>{let l=f===0,a=s[F],u=uo(parseInt(F,10));if(Object.keys(s).length===1)return`With ${u} daily breaks`;if(a.length===1){let m=`${u} break on ${X(a[0].day)}.`;return l?`With ${m}`:m}return a.reduce((m,i,g)=>{let p=X(i.day);return g===0?`${m} ${p}`:g===a.length-1?`${m}, and ${p}.`:`${m}, ${p}`},l?`With ${u} break on`:`${u} break on`)});return{workHoursSummary:d,breakSummary:c}}r(It,"buildWorkScheduleSummary");function Me(e){let{checked:t,start_time:n,end_time:o,break_duration_minutes:s}=e;if(!t)return 0;let[d,c]=n.split(":").map(Number),[F,f]=o.split(":").map(Number),l=d*60+c,m=(F*60+f-l-Number.parseInt(s||"0"))/60;return m===Math.floor(m)?m:Number(m.toFixed(2))}r(Me,"calculateHours");var go={monday:"Mon",tuesday:"Tue",wednesday:"Wed",thursday:"Thu",friday:"Fri",saturday:"Sat",sunday:"Sun"};function Fe(e){return go[e]}r(Fe,"getShortWeekday");import{jsx as _,jsxs as H}from"react/jsx-runtime";var yo=I.object({day:I.string().required(),checked:I.boolean().required(),start_time:I.string().matches(/^([01]\d|2[0-3]):([0-5]\d)$/,"Invalid time format (HH:mm)").when("checked",{is:!0,then:r(e=>e.required("Required"),"then"),otherwise:r(e=>e.optional().nullable(),"otherwise")}),end_time:I.string().matches(/^([01]\d|2[0-3]):([0-5]\d)$/,"Invalid time format (HH:mm)").when("checked",{is:!0,then:r(e=>e.required("Required"),"then"),otherwise:r(e=>e.optional().nullable(),"otherwise")}),hours:I.number().default(0),break_duration_minutes:I.string().default("0")}),vo=I.object({schedule:I.array(yo)});function Co({defaultSchedule:e,onSubmit:t}){let[n,o]=$t(!1),s=fe.map(p=>{let y=e.find(x=>x.day.toLowerCase()===Fe(p).toLowerCase()||x.day.toLowerCase()===p.toLowerCase());return y?{...y,day:Fe(p),checked:!0}:{...e[0],checked:!1,day:Fe(p)}}),d=Ue({defaultValues:{schedule:s},resolver:Rt(vo)}),{handleSubmit:c,watch:F,reset:f,control:l,formState:a}=d,{fields:u}=Oe({name:"schedule",control:l}),m=F("schedule");function i(p){let y=p.schedule.filter(({checked:x})=>x).map(x=>({...x,hours:Me(x)}));t(y),o(!1)}r(i,"handleSubmitWorkingHours");function g(){f(),o(!1)}return r(g,"handleCancel"),_("div",{className:"flex items-center justify-between",children:H(Ce,{open:n,onOpenChange:o,children:[_(et,{asChild:!0,children:_($,{variant:"link",className:"flex items-center p-0 RemoteFlows__WorkScheduleSelectionForm__Trigger",children:"Edit Schedule"})}),H(xe,{className:"max-w-5xl max-h-[90vh] overflow-y-auto px-8 py-4 RemoteFlows__WorkScheduleSelectionForm__Content",children:[_(be,{children:_(Se,{className:"RemoteFlows__WorkScheduleSelectionForm__Title",children:"Edit employee working hours"})}),_(ze,{...d,children:H("form",{className:"space-y-4 RemoteFlows__WorkScheduleSelectionForm__Form",children:[H("div",{className:"rounded-lg",children:[_("p",{className:"text-gray-600 text-sm mb-4 RemoteFlows__WorkScheduleSelectionForm__Description",children:"The times displayed are in the employee's time zone in the 24-hour format."}),H("div",{className:"grid grid-cols-12 gap-4 text-sm font-medium text-gray-500 uppercase tracking-wide RemoteFlows__WorkScheduleSelectionForm__Header",children:[_("div",{className:"col-span-2"}),_("div",{className:"col-span-3 text-center",children:"START"}),_("div",{className:"col-span-1 text-center"}),_("div",{className:"col-span-3 text-center",children:"END"}),_("div",{className:"col-span-2 text-center",children:"HOURS"})]}),_("div",{className:"RemoteFlows__WorkScheduleSelectionForm__Rows",children:u.map((p,y)=>{let x=m[y],v=Me(x);return H(ho.Fragment,{children:[H("div",{className:"grid grid-cols-12 gap-4 items-center py-2 RemoteFlows__WorkScheduleSelectionForm__Row-Hours",children:[_("div",{className:"col-span-2 flex items-center gap-3",children:_(le,{label:p.day,name:`schedule.${y}.checked`})}),_("div",{className:"col-span-3",children:_(B,{name:`schedule.${y}.start_time`,includeErrorMessage:!1})}),_("div",{className:"col-span-1 text-center text-gray-500",children:"to"}),_("div",{className:"col-span-3",children:_(B,{name:`schedule.${y}.end_time`,includeErrorMessage:!1})}),_("div",{className:"col-span-2 text-center text-gray-600",children:isNaN(v)?"-":`${v} hours`})]}),H("div",{className:"grid grid-cols-12 gap-4 items-center py-2 RemoteFlows__WorkScheduleSelectionForm__Row-Break",children:[_("div",{className:"col-span-2 text-gray-500",children:"Break"}),_("div",{className:"col-span-2",children:_(B,{name:`schedule.${y}.break_duration_minutes`,includeErrorMessage:!1})}),_("div",{className:"col-span-2 text-gray-500",children:"minutes"}),_("div",{className:"col-span-4"})]})]},p.id)})})]}),Object.keys(a.errors).length>0&&_("p",{className:"text-destructive text-sm mb-0",children:"Invalid time format (HH:mm)"}),H("div",{className:"flex gap-4 pt-4",children:[_($,{type:"button",className:"reset-button",variant:"outline",onClick:g,children:"Cancel"}),_($,{type:"button",className:"submit-button",onClick:c(i),children:"Save Schedule"})]})]})})]})]})})}r(Co,"WorkScheduleSelectionForm");function Mt(e){let{components:t}=S(),{setValue:n,control:o,watch:s}=b(),d=s(e.name),[c,F]=$t(d),{workHoursSummary:f,breakSummary:l}=It(c),a=Tt(c);_o(()=>{n(e.name,c)},[c,e.name,n]);function u(i){F(i)}r(u,"onSubmit");let m=e.component||t?.["work-schedule"];return m?_(k,{control:o,name:e.name,render:({field:i,fieldState:g})=>_(m,{field:{...i,onChange:r(p=>{i.onChange(p),e.onChange?.(p)},"onChange")},fieldState:g,fieldData:{...e,defaultFormattedValue:{workHoursSummary:f,breakSummary:l,totalWorkHours:a}}})}):H("div",{className:"flex flex-col gap-3 RemoteFlows__WorkScheduleField",children:[_("p",{className:"text-sm RemoteFlows__WorkScheduleField__Title",children:"Work hours"}),H("div",{className:"flex flex-col gap-1 RemoteFlows__WorkScheduleField__Summary",children:[_("p",{className:"text-sm text-gray-500 RemoteFlows__WorkScheduleField__Summary__WorkHours",dangerouslySetInnerHTML:{__html:f.join(", ")}}),_("p",{className:"text-sm text-gray-500 RemoteFlows__WorkScheduleField__Summary__Break",children:l.join()}),H("p",{className:"text-sm text-gray-500 RemoteFlows__WorkScheduleField__Summary__Total",children:["Total of ",_("span",{children:a})," hours per week"]}),_(Co,{defaultSchedule:c,onSubmit:u})]})]})}r(Mt,"WorkScheduleField");import{useState as xo}from"react";import{jsx as q,jsxs as bo}from"react/jsx-runtime";function Et({label:e,name:t,options:n,defaultValue:o,description:s,onChange:d,component:c,...F}){let{control:f}=b(),{components:l}=S(),[a,u]=xo();return q(k,{defaultValue:o,control:f,name:t,render:({field:m,fieldState:i})=>{let g=c||l?.["multi-select"];if(g){let y={label:e,name:t,options:n,defaultValue:o,description:s,onChange:d,...F};return q(g,{field:{...m,onChange:r(x=>{m.onChange(x),d?.(x)},"onChange")},fieldState:i,fieldData:y})}let p=a||n.filter(y=>m.value.includes(y.value));return bo(w,{"data-field":t,className:`RemoteFlows__SelectField__Item__${t}`,children:[q(N,{className:"RemoteFlows__SelectField__Label",children:e}),q(R,{children:q(pe,{options:n,selected:p,onChange:y=>{let x=y.map(({value:v})=>v);m.onChange(x),d?.(x),u(y)},...F})}),s&&q(P,{children:s}),i.error&&q(D,{})]})}})}r(Et,"MultiSelectField");import{jsx as So}from"react/jsx-runtime";var Wt=r(e=>So(ue,{maxLength:15,...e}),"MoneyField");var Ee={checkbox:le,text:B,email:xt,money:Wt,select:ut,"multi-select":Et,radio:dt,number:ue,file:mt,date:st,textarea:Ct,countries:yt,hidden:St,"work-schedule":Mt};import{AlertCircle as ko}from"lucide-react";import{jsx as ge,jsxs as No}from"react/jsx-runtime";function Lt({title:e,description:t,severity:n}){let{components:o}=S();if(o?.statement){let s=o?.statement;return ge(s,{data:{title:e,description:oe(t),severity:n}})}return No(tt,{variant:"warning",children:[ge(ko,{className:"h-4 w-4"}),e&&ge(ot,{children:e}),t&&ge(rt,{dangerouslySetInnerHTML:{__html:oe(t)}})]})}r(Lt,"Statement");import{Fragment as Do,jsx as O,jsxs as Q}from"react/jsx-runtime";var Po=r(({isExpanded:e,onToggle:t,className:n,...o})=>O($,{type:"button",className:h("RemoteFlows__Button RemoteFlows__FieldSetField__ToggleButton",n),variant:"default",onClick:t,...o,children:e?"Remove":"Define"}),"DefaultToggleButton");function us({label:e,name:t,fields:n,description:o,components:s,statement:d,isFlatFieldset:c,extra:F,variant:f="outset",features:l,meta:a}){let{helpCenter:u}=a||{},{watch:m,setValue:i,trigger:g,formState:p}=b(),{components:y}=S(),x=l?.toggle?.stateField,v=x?m(x):l?.toggle?.defaultExpanded??!0,T=n.map(({name:C})=>`${t}.${C}`),K=m(T),We=Ht(K),ee=Ht(null),Bt=r(()=>{x&&i(x,!v)},"toggleExpanded");Ro(()=>{let C=K,re=We.current,he=p.isSubmitted||p.submitCount>0,Be=!1;for(let te=0;te<C.length;te++)if(C[te]!==void 0&&re[te]!==C[te]){Be=!0;break}return Be&&he&&(ee.current&&clearTimeout(ee.current),ee.current=setTimeout(()=>{g()},50)),We.current=[...C],()=>{ee.current&&clearTimeout(ee.current)}},[K,g,p.isSubmitted,p.submitCount]);let At=y?.fieldsetToggle||Po,Le=`${t}-content`,He=`${t}-header`;return Q("fieldset",{className:h("border-1 border-input p-4 rounded-xl","RemoteFlows__FieldSetField",`RemoteFlows__FieldSetField__${t}`),children:[O("legend",{className:h("text-sm font-semibold px-2",f==="inset"&&"hidden"),children:e}),u?.callToAction&&u?.id&&f==="outset"&&O(_e,{className:"RemoteFlows__FieldSetField__HelpCenterLink mb-3",zendeskId:u.id,children:u.callToAction}),f==="inset"&&Q(Do,{children:[Q("div",{className:"RemoteFlows__FieldSetField__Header",id:He,"data-state":v?"expanded":"collapsed","aria-expanded":v,children:[O("h3",{className:h("RemoteFlows__FieldSetField__Title"),children:e}),l?.toggle?.enabled&&O(At,{isExpanded:v,onToggle:Bt,"aria-expanded":v,"aria-controls":Le,"aria-label":`${v?"Hide":"Show"} ${e}`,className:h("RemoteFlows__FieldSetField__Toggle",l.toggle?.className),children:v?l.toggle.labels?.collapse??"Remove":l.toggle.labels?.expand??"Define"})]}),u?.callToAction&&u?.id&&O(_e,{className:"RemoteFlows__FieldSetField__HelpCenterLink mb-3",zendeskId:u.id,children:u.callToAction})]}),v&&Q("div",{id:Le,"aria-labelledby":He,role:"region",children:[o?O("div",{className:"mb-5 RemoteFlows__FieldSetField__Description",dangerouslySetInnerHTML:{__html:oe(o)}}):null,Q("div",{className:"grid gap-4",children:[n.map(C=>{C.calculateDynamicProperties&&(C={...C,...C.calculateDynamicProperties(K,C)||{}});let re=Ee[C.type];if(C.isVisible===!1||C.deprecated)return null;if(C.Component){let{Component:he}=C;return O(he,{...C},C.name)}return C.type==="select"&&C.multiple&&(re=Ee["multi-select"]),Q(wo,{children:[O(re,{...C,name:`${c?C.name:`${t}.${C.name}`}`,component:s?.[C.type]}),C.extra?C.extra:null]},`${c?C.name:`${t}.${C.name}`}`)}),F||null,d?O(Lt,{...d}):null]})]})]})}r(us,"FieldSetField");export{Ee as a,Lt as b,us as c};
|
|
2
|
+
//# sourceMappingURL=chunk-OXCEJQFC.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{c as d,d as S}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{c as d,d as S}from"./chunk-WNTOQYRY.js";import{a as u}from"./chunk-HN5HLFTB.js";import{a as f}from"./chunk-KSHK3ZPX.js";import{b as C}from"./chunk-CFIJKJXD.js";import{f as y}from"./chunk-CNDSIADP.js";import{a as o}from"./chunk-P37U34EQ.js";import{useEffect as T,useId as U,useState as I}from"react";import{jsx as k}from"react/jsx-runtime";var i=o((n,e,r)=>r&&r[e]?r[e]:n[e]?n[e]/100:0,"getDefaultManagementFee"),A=o((n,e,r,s)=>!e&&!r?.management_fee&&n?i(u,n,s):e&&!r?.management_fee?"":r?.management_fee,"getManagementFee"),W=o(({estimationOptions:n=d,defaultValues:e={countryRegionSlug:"",regionSlug:"",currencySlug:"",salary:"",benefits:{},management:{management_fee:""}},options:r,render:s,version:_="standard"})=>{let p=U(),[R,m]=I("USD"),F=o(g=>{m(g);let a=i(u,g,n.managementFees);a&&c.setValue("management.management_fee",a)},"onCurrencyChange"),t=S({defaultRegion:e.countryRegionSlug,defaultCurrency:e.currencySlug,defaultSalary:e.salary,estimationOptions:n,version:_,options:{...r,onCurrencyChange:F}}),K=C(t.handleValidation),b=A(R,e.currencySlug,e.management,n.managementFees),{countryRegionSlug:v,currencySlug:h,salary:D,benefits:P,hiringBudget:B,age:E,contractDurationType:M,regionSlug:w,...x}=e,c=y({resolver:K,defaultValues:{country:v,currency:h,region:w,salary:D,salary_conversion:"",salary_converted:"",hiring_budget:B||"employee_annual_salary",age:E,contract_duration_type:M,management:{management_fee:b},benefits:P,estimation_title:n.title,...x},shouldUnregister:!1,mode:"onBlur"});return T(()=>{if(e.currencySlug&&t.currencies&&n.includeManagementFee&&!e.management?.management_fee){let a=t.currencies.find(l=>l.value===e.currencySlug)?.label;if(a){m(a);let l=i(u,a,n.managementFees);c.setValue("management.management_fee",l)}}},[e.currencySlug,t.currencies,n.includeManagementFee,n.managementFees,e.management?.management_fee,c]),k(f.Provider,{value:{form:c,formId:p,costCalculatorBag:t},children:s(t)})},"CostCalculatorFlow");export{W as a};
|
|
2
|
+
//# sourceMappingURL=chunk-PFT7KJ65.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as d,b as _,c}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as d,b as _,c}from"./chunk-OXCEJQFC.js";import{c as F}from"./chunk-CNDSIADP.js";import{e as y}from"./chunk-PAQW5BFW.js";import{e as m}from"./chunk-43WMZDDH.js";import{a as p}from"./chunk-P37U34EQ.js";import{Fragment as V}from"react";var u={...d,fieldset:c,"fieldset-flat":c};import{useEffect as h}from"react";import{Fragment as x,jsx as i,jsxs as C}from"react/jsx-runtime";function g({name:t,value:a,description:s,statement:r,label:l}){let{setValue:e}=F();return h(()=>{e(t,a)},[]),i("div",{children:r?C(x,{children:[i("p",{className:`text-sm RemoteFlows__ForcedValue__Title__${t}`,dangerouslySetInnerHTML:{__html:m(r?.title||l)}}),i("p",{className:`text-xs RemoteFlows__ForcedValue__Description__${t}`,dangerouslySetInnerHTML:{__html:m(r?.description||s)}})]}):i("p",{className:`text-xs RemoteFlows__ForcedValue__Description__${t}`,dangerouslySetInnerHTML:{__html:m(s)}})})}p(g,"ForcedValueField");import{Fragment as P,jsx as o,jsxs as S}from"react/jsx-runtime";function k(t){return t.const!==void 0&&t.const===t.default&&t.inputType!=="checkbox"&&t.inputType!=="hidden"}p(k,"checkFieldHasForcedValue");var q=p(({fields:t,fieldsets:a,fieldValues:s,components:r})=>{if(!t||t.length===0)return null;let l=a&&s?y({fields:t,fieldsets:a,values:s}):t;return o(P,{children:l.map(e=>{if(e.calculateDynamicProperties&&(e={...e,...e.calculateDynamicProperties(s,e)||{}}),e.isVisible===!1||e.deprecated||e.hidden)return null;if(k(e))return o(g,{name:e.name,description:e.description,value:e.const,statement:e.statement,label:e.label},e.name);if(e.Component){let{Component:T}=e;return o(T,{...e},e.name)}let n=u[e.type];return e.type==="select"&&e.multiple&&(n=u["multi-select"]),e.type==="fieldset"?o(n,{...e,components:r},e.name):e.type==="fieldset-flat"?o(n,{...e,components:r,isFlatFieldset:!0},e.name):n?S(V,{children:[o(n,{...e,component:r&&r[e.type]}),e.statement?o(_,{...e.statement}):null,e.extra?e.extra:null]},e.name):S("p",{className:"error",children:["Field type ",e.type," not supported"]})})})},"JSONSchemaFormFields");export{q as a};
|
|
2
|
+
//# sourceMappingURL=chunk-QLNFHOLH.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as r}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as r}from"./chunk-7Y46DL2U.js";import{b as n}from"./chunk-MRYRNB7Y.js";import{a as o}from"./chunk-P37U34EQ.js";import{jsx as a}from"react/jsx-runtime";function u({onSubmit:m}){let{terminationBag:i}=n();return a(r,{onSubmit:o(async t=>{await m?.(i?.parseFormValues(t)),i?.next()},"handleSubmit")})}o(u,"TerminationDetailsForm");export{u as a};
|
|
2
|
+
//# sourceMappingURL=chunk-R3LY6TV5.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as i}from"./chunk-ZSCKSEAA.js";import{a as m}from"./chunk-ZE3YT3Q6.js";import{a,b as e}from"./chunk-ANQ4HVVK.js";import{b as n}from"./chunk-WVDTHFGS.js";import{b as s}from"./chunk-43WMZDDH.js";import{a as o}from"./chunk-P37U34EQ.js";import{Info as f}from"lucide-react";import{Fragment as y,jsx as r,jsxs as t}from"react/jsx-runtime";function N({grossSalary:l,currency:p,hasExtraStatutoryPayment:c=!1}){return t("div",{children:[t("div",{className:"flex justify-between items-center mb-2",children:[t("div",{className:"flex items-center gap-2",children:[r("h3",{className:"font-medium text-primary-foreground",children:"Gross Salary"}),c&&r(m,{content:t(y,{children:[r("span",{children:"This country respects extra payments on top of the gross salary."})," ",r(e,{zendeskId:a.extraPayments,children:"Learn more"})]}),children:t(n,{variant:"ghost",size:"icon",className:"h-4 w-4 p-0 mt-2",children:[r(f,{className:"h-3 w-3 text-gray-400"}),r("span",{className:"sr-only",children:"Info"})]})})]}),r("span",{className:"font-semibold text-lg",children:s(l,p)})]}),r(i,{})]})}o(N,"CostCalculatorGrossSalary");export{N as a};
|
|
2
|
+
//# sourceMappingURL=chunk-R645TMO5.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/flows/CostCalculator/Results/CostCalculatorGrossSalary.tsx"],"sourcesContent":["import { Separator } from '@/src/components/ui/separator';\nimport { formatCurrency } from '@/src/lib/utils';\nimport { BasicTooltip } from '@/src/components/ui/basic-tooltip';\nimport { Button } from '@/src/components/ui/button';\nimport { Info } from 'lucide-react';\nimport { zendeskArticles } from '@/src/components/shared/zendesk-drawer/utils';\nimport { ZendeskTriggerButton } from '@/src/components/shared/zendesk-drawer/ZendeskTriggerButton';\n\ntype CostCalculatorGrossSalaryProps = {\n grossSalary: number;\n currency: string;\n hasExtraStatutoryPayment?: boolean;\n};\n\nexport function CostCalculatorGrossSalary({\n grossSalary,\n currency,\n hasExtraStatutoryPayment = false,\n}: CostCalculatorGrossSalaryProps) {\n return (\n <div>\n <div className='flex justify-between items-center mb-2'>\n <div className='flex items-center gap-2'>\n <h3 className='font-medium text-primary-foreground'>Gross Salary</h3>\n {hasExtraStatutoryPayment && (\n <BasicTooltip\n content={\n <>\n <span>\n This country respects extra payments on top of the gross\n salary.\n </span>{' '}\n <ZendeskTriggerButton\n zendeskId={zendeskArticles.extraPayments}\n >\n Learn more\n </ZendeskTriggerButton>\n </>\n }\n >\n <Button variant='ghost' size='icon' className='h-4 w-4 p-0 mt-2'>\n <Info className='h-3 w-3 text-gray-400' />\n <span className='sr-only'>Info</span>\n </Button>\n </BasicTooltip>\n )}\n </div>\n <span className='font-semibold text-lg'>\n {formatCurrency(grossSalary, currency)}\n </span>\n </div>\n <Separator />\n </div>\n );\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/flows/CostCalculator/Results/CostCalculatorGrossSalary.tsx"],"sourcesContent":["import { Separator } from '@/src/components/ui/separator';\nimport { formatCurrency } from '@/src/lib/utils';\nimport { BasicTooltip } from '@/src/components/ui/basic-tooltip';\nimport { Button } from '@/src/components/ui/button';\nimport { Info } from 'lucide-react';\nimport { zendeskArticles } from '@/src/components/shared/zendesk-drawer/utils';\nimport { ZendeskTriggerButton } from '@/src/components/shared/zendesk-drawer/ZendeskTriggerButton';\n\ntype CostCalculatorGrossSalaryProps = {\n grossSalary: number;\n currency: string;\n hasExtraStatutoryPayment?: boolean;\n};\n\nexport function CostCalculatorGrossSalary({\n grossSalary,\n currency,\n hasExtraStatutoryPayment = false,\n}: CostCalculatorGrossSalaryProps) {\n return (\n <div>\n <div className='flex justify-between items-center mb-2'>\n <div className='flex items-center gap-2'>\n <h3 className='font-medium text-primary-foreground'>Gross Salary</h3>\n {hasExtraStatutoryPayment && (\n <BasicTooltip\n content={\n <>\n <span>\n This country respects extra payments on top of the gross\n salary.\n </span>{' '}\n <ZendeskTriggerButton\n zendeskId={zendeskArticles.extraPayments}\n >\n Learn more\n </ZendeskTriggerButton>\n </>\n }\n >\n <Button variant='ghost' size='icon' className='h-4 w-4 p-0 mt-2'>\n <Info className='h-3 w-3 text-gray-400' />\n <span className='sr-only'>Info</span>\n </Button>\n </BasicTooltip>\n )}\n </div>\n <span className='font-semibold text-lg'>\n {formatCurrency(grossSalary, currency)}\n </span>\n </div>\n <Separator />\n </div>\n );\n}\n"],"mappings":"kPAIA,OAAS,QAAAA,MAAY,eAmBX,OAIM,YAAAC,EAJN,OAAAC,EAIM,QAAAC,MAJN,oBATH,SAASC,EAA0B,CACxC,YAAAC,EACA,SAAAC,EACA,yBAAAC,EAA2B,EAC7B,EAAmC,CACjC,OACEJ,EAAC,OACC,UAAAA,EAAC,OAAI,UAAU,yCACb,UAAAA,EAAC,OAAI,UAAU,0BACb,UAAAD,EAAC,MAAG,UAAU,sCAAsC,wBAAY,EAC/DK,GACCL,EAACM,EAAA,CACC,QACEL,EAAAF,EAAA,CACE,UAAAC,EAAC,QAAK,4EAGN,EAAQ,IACRA,EAACO,EAAA,CACC,UAAWC,EAAgB,cAC5B,sBAED,GACF,EAGF,SAAAP,EAACQ,EAAA,CAAO,QAAQ,QAAQ,KAAK,OAAO,UAAU,mBAC5C,UAAAT,EAACU,EAAA,CAAK,UAAU,wBAAwB,EACxCV,EAAC,QAAK,UAAU,UAAU,gBAAI,GAChC,EACF,GAEJ,EACAA,EAAC,QAAK,UAAU,wBACb,SAAAW,EAAeR,EAAaC,CAAQ,EACvC,GACF,EACAJ,EAACY,EAAA,EAAU,GACb,CAEJ,CAxCgBC,EAAAX,EAAA","names":["Info","Fragment","jsx","jsxs","CostCalculatorGrossSalary","grossSalary","currency","hasExtraStatutoryPayment","BasicTooltip","ZendeskTriggerButton","zendeskArticles","Button","Info","formatCurrency","Separator","__name"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as b}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as b}from"./chunk-NRW33IP5.js";import{b as P}from"./chunk-TOA3JILU.js";import{b as g}from"./chunk-2YTBWEC7.js";import{b as m}from"./chunk-WVDTHFGS.js";import{a}from"./chunk-P37U34EQ.js";import{useState as f,useMemo as S}from"react";import{Document as k,Page as C,pdfjs as x}from"react-pdf";import{jsx as r,jsxs as i}from"react/jsx-runtime";x.GlobalWorkerOptions.workerSrc=`//unpkg.com/pdfjs-dist@${x.version}/build/pdf.worker.min.mjs`;function N({base64Data:c,fileName:l="document.pdf"}){let[n,t]=f(0),[s,u]=f(1),[p,o]=f(!0),[d,w]=f(""),v=S(()=>{if(!c)return"";let e=c.trim();return e.startsWith("data:application/pdf;base64,")||e.startsWith("data:")?e:`data:application/pdf;base64,${e}`},[c]),h=a(({numPages:e})=>{t(e),o(!1),w("")},"onDocumentLoadSuccess"),y=a(e=>{console.error("Error loading PDF:",e),w("Failed to load PDF document"),o(!1)},"onDocumentLoadError"),E=a(()=>{u(e=>Math.max(1,e-1))},"goToPrevPage"),D=a(()=>{u(e=>Math.min(n,e+1))},"goToNextPage");return v?i("div",{className:"w-full space-y-4",children:[i("div",{children:[i("div",{className:"flex justify-center items-center min-h-[600px] p-4 bg-gray-50",children:[p&&i("div",{className:"text-center",children:[r("div",{className:"animate-spin rounded-full h-12 w-12 border-b-2 border-gray-900 mx-auto mb-4"}),r("p",{className:"text-gray-600",children:"Loading PDF..."})]}),d&&i("div",{className:"text-center space-y-4",children:[r("p",{className:"text-red-600",children:d}),r(m,{asChild:!0,children:r("a",{href:v,download:l,children:"Download PDF Instead"})})]}),!d&&r(k,{file:v,onLoadSuccess:h,onLoadError:y,loading:"",className:"flex flex-col items-center",children:r(C,{pageNumber:s,renderTextLayer:!0,renderAnnotationLayer:!0,className:"shadow-lg",width:Math.min(window.innerWidth-100,800)})})]}),n>0&&!d&&r("div",{className:"border-t bg-white px-4 py-3",children:i("div",{className:"flex items-center justify-between",children:[r(m,{onClick:E,disabled:s<=1,variant:"outline",size:"sm",children:"\u2190 Previous"}),i("div",{className:"text-sm text-gray-600",children:["Page ",s," of ",n]}),r(m,{onClick:D,disabled:s>=n,variant:"outline",size:"sm",children:"Next \u2192"})]})})]}),i("div",{className:"flex justify-between items-center text-sm",children:[r("p",{className:"text-gray-600",children:l}),r(m,{variant:"link",size:"link",asChild:!0,children:i("a",{href:v,download:l,className:"flex items-center gap-1",children:[r("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:r("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"})}),"Download PDF"]})})]})]}):r("div",{className:"w-full border rounded p-8 text-center bg-gray-50",children:r("p",{className:"text-gray-500",children:"No PDF data available"})})}a(N,"PDFPreview");import{jsx as F,jsxs as L}from"react/jsx-runtime";function I({onSubmit:c,onSuccess:l,onError:n}){let{contractorOnboardingBag:t}=P(),s=a(async p=>{try{await c?.(t.parseFormValues(p));let o=await t.onSubmit(p);if(o?.data){await l?.(o?.data),t?.next();return}if(o?.error){let d=g(o?.fieldErrors||[],t.meta?.fields?.contract_preview);n?.({error:o?.error,rawError:o?.rawError,fieldErrors:d})}}catch(o){n?.({error:o,rawError:o,fieldErrors:[]})}},"handleSubmit"),u=t.stepState.values?.contract_preview||t.initialValues.contract_preview;return L("div",{className:"space-y-4",children:[F(N,{base64Data:t.documentPreviewPdf?.contract_document.content}),F(b,{defaultValues:u,onSubmit:s})]})}a(I,"ContractPreviewStep");export{I as a};
|
|
2
|
+
//# sourceMappingURL=chunk-R64X3EJF.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as P}from"./chunk-BCXRPHWY.js";import{a as S}from"./chunk-MQWVZSGH.js";import{a as v}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as P}from"./chunk-BCXRPHWY.js";import{a as S}from"./chunk-MQWVZSGH.js";import{a as v}from"./chunk-CVIWZYO3.js";import{a as B}from"./chunk-E6OBNWMU.js";import{a as N}from"./chunk-5NPET4ZO.js";import{a as R}from"./chunk-R645TMO5.js";import{a as x,b as k,c as i}from"./chunk-7R347KBY.js";import{a as h,b as p,c as g,d as w,e as T}from"./chunk-AFRA4BIW.js";import{b as f}from"./chunk-HPHWQU34.js";import{a as b}from"./chunk-43WMZDDH.js";import{a as _}from"./chunk-P37U34EQ.js";import{lazy as L,useState as V}from"react";import{Fragment as I,jsx as a,jsxs as r}from"react/jsx-runtime";var z=L(()=>import("./flows/CostCalculator/Results/CostCalculatorResultsChart.js"));function Y({employmentData:D,options:e}){let[o,E]=V("monthly"),n=D.employments?.[0];if(!n)return null;let t=n.employer_currency_costs,s=t.currency.symbol,m=o==="monthly"?t.monthly_gross_salary:t.annual_gross_salary,u=o==="monthly"?t.monthly_benefits_total:t.annual_benefits_total,y=o==="monthly"?t.monthly_contributions_total:t.annual_contributions_total,F=o==="monthly"?t.monthly_total:t.annual_total,l=o==="monthly"?null:t.extra_statutory_payments_breakdown,A=o==="monthly"?null:t.extra_statutory_payments_total,d=o==="monthly"?t.monthly_indirect_tax:t.annual_indirect_tax,c=o==="monthly"?t.monthly_benefits_breakdown:t.annual_benefits_breakdown,H=o==="monthly"?t.monthly_contributions_breakdown:t.annual_contributions_breakdown,C=[{name:"Gross Salary",value:m,color:e?.chartColors?.grossSalary??"#3b82f6"},{name:"Contributions",value:y,color:e?.chartColors?.contributions??"#f59e0b"}];return c&&C.push({name:"Benefits",value:u??0,color:e?.chartColors?.benefits??"#10b981"}),r(I,{children:[r("div",{className:"flex flex-col md:flex-row gap-4 md:items-center justify-between mb-6 RemoteFlows__CostCalculatorResults",children:[r("div",{className:"RemoteFlows__CostCalculatorResults__Header",children:[r("h2",{className:"text-xl font-semibold flex items-center gap-2",children:[a("span",{className:"flex items-center gap-1",children:e?.title??"Cost Calculator"}),a(f,{className:"ml-2",children:n.country.name})]}),a("p",{className:"text-primary-foreground font-medium mt-1",children:e?.description??`Total cost of employment in ${n.country.name}`})]}),a(x,{value:o,onValueChange:G=>E(G),className:"w-full md:w-auto RemoteFlows__CostCalculatorResults__Tabs",children:r(k,{className:"grid w-full md:w-[200px] grid-cols-2",children:[a(i,{value:"monthly",children:"Monthly"}),a(i,{value:"annual",children:"Annual"})]})})]}),r("div",{className:b("grid grid-cols-1 gap-6",e?.showChart?"md:grid-cols-3":"","RemoteFlows__CostCalculatorResults_CostBreakdown"),children:[r(h,{className:"md:col-span-2 rounded-lg",children:[r(p,{className:"pb-2",children:[a(g,{children:"Cost Breakdown"}),a(w,{children:"Detailed breakdown of all employer costs"})]}),a(T,{children:r("div",{className:"space-y-6",children:[a(R,{grossSalary:m,currency:s,hasExtraStatutoryPayment:n.has_extra_statutory_payment}),c?a(v,{benefitsBreakdown:c,benefitsTotal:u,currency:s}):null,a(B,{contributionsBreakdown:H,contributionsTotal:y,currency:s}),Array.isArray(l)&&l.length>0?a(N,{extraStatutoryPaymentsBreakdown:l,extraStatutoryPaymentsTotal:A,currency:s}):null,d?a(P,{indirectTax:d,currency:s}):null,a(S,{totalCost:F,currency:s})]})})]}),e?.showChart&&a(z,{chartData:C,currency:s})]})]})}_(Y,"CostCalculatorResults");export{Y as a};
|
|
2
|
+
//# sourceMappingURL=chunk-RAHCZTQ3.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{b as f}from"./chunk-KSHK3ZPX.js";import{a as F}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{b as f}from"./chunk-KSHK3ZPX.js";import{a as F}from"./chunk-QLNFHOLH.js";import{b as p}from"./chunk-2YTBWEC7.js";import{g as C}from"./chunk-CNDSIADP.js";import{g as E}from"./chunk-43WMZDDH.js";import{a as n}from"./chunk-P37U34EQ.js";import{useEffect as R}from"react";import{jsx as u}from"react/jsx-runtime";function T({onSubmit:S,onError:w,onSuccess:y,onErrorWithFields:c,shouldResetForm:d,resetFields:a}){let{form:e,formId:V,costCalculatorBag:o}=f(),{formState:{isSubmitSuccessful:s}}=e;R(()=>{if(s&&d){o?.resetForm(),e.reset();return}if(s&&a){let t={...e.getValues()};a.forEach(r=>{t[r]=""}),o?.resetForm(),e.reset(t)}},[s,e,d,o,a]);let b=n(async i=>{try{let t=o?.parseFormValues(i);o?.meta?.fields&&(o.meta.fields=E(i,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 l={data:{...r.data.data,employments:r.data.data.employments?.map(m=>({...m,title:t.estimation_title}))}};await y?.(l)}else throw{data:null,error:r?.error,fieldErrors:r?.fieldErrors,rawError:r?.rawError}}catch(t){let r=t,l=r.fieldErrors;if(c){let m=o?.meta?.fields,h=p(l,m);c({error:r.error,rawError:r.rawError,fieldErrors:h})}else w?.(r.error)}},"handleSubmit");return u(C,{...e,children:u("form",{id:V,onSubmit:e.handleSubmit(b),className:"space-y-4 RemoteFlows__CostCalculatorForm",children:u(F,{fields:o?.fields??[]})})})}n(T,"CostCalculatorForm");export{T as a};
|
|
2
|
+
//# sourceMappingURL=chunk-SA74WAVS.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as s}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as s}from"./chunk-XP7UEI56.js";import{b as t}from"./chunk-PGWKJ6FK.js";import{b as e}from"./chunk-2YTBWEC7.js";import{a as i}from"./chunk-P37U34EQ.js";import{jsx as c}from"react/jsx-runtime";function S({onSubmit:m,onSuccess:d,onError:a}){let{onboardingBag:o}=t(),l=i(async n=>{try{await m?.(o.parseFormValues(n));let r=await o.onSubmit(n);if(r?.data){await d?.(r?.data),o?.next();return}if(r?.error){let p=e(r?.fieldErrors||[],o.meta?.fields?.basic_information);a?.({error:r?.error,rawError:r?.rawError,fieldErrors:p})}}catch(r){a?.({error:r,rawError:r,fieldErrors:[]})}},"handleSubmit"),f=o.stepState.values?.basic_information||o.initialValues.basic_information;return c(s,{defaultValues:f,onSubmit:l})}i(S,"BasicInformationStep");export{S as a};
|
|
2
|
+
//# sourceMappingURL=chunk-SB3IYODL.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as o,b as p,c as f}from"./chunk-P37U34EQ.js";var u=p((b,i)=>{"use strict";function y(e){return e==null}o(y,"isNil");i.exports=y});var l=f(u(),1);var c="en",N={en:["one","two","three","four","five","six","seven","eight","nine","ten"]};function A(e,n=c){let t=N[n],r=Object.keys(t).length;return Number.isInteger(e)&&e>0&&e<=r?t[e-1]:e.toString()}o(A,"getCopyAdjustedNumber");function L({number:e,singular:n,plural:t,followCopyGuidelines:r=!0,showNumber:g=!0,locale:a=c}){if((0,l.default)(e)||!n||!t)return"";let d=r?A(e,a):e.toString(),s=e===1||e===-1?n:t;return g?`${d} ${s}`:s}o(L,"getSingularPluralUnit");export{L as a};
|
|
2
|
+
//# sourceMappingURL=chunk-SGE4DLC3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../node_modules/lodash/isNil.js","../src/lib/i18n.ts"],"sourcesContent":["/**\n * Checks if `value` is `null` or `undefined`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is nullish, else `false`.\n * @example\n *\n * _.isNil(null);\n * // => true\n *\n * _.isNil(void 0);\n * // => true\n *\n * _.isNil(NaN);\n * // => false\n */\nfunction isNil(value) {\n return value == null;\n}\n\nmodule.exports = isNil;\n","import isNil from 'lodash/isNil';\n\ntype Locale = keyof typeof copyAdjustedNumbers;\n\nconst LOCALE_DEFAULT = 'en';\n\n/**\n * Copy adjusted numbers for the default locale\n */\nconst copyAdjustedNumbers: Record<string, string[]> = {\n en: [\n 'one',\n 'two',\n 'three',\n 'four',\n 'five',\n 'six',\n 'seven',\n 'eight',\n 'nine',\n 'ten',\n ],\n};\n\n/**\n * Get text for a number in accordance with our copywriting guidelines\n * @param {number} number The number\n * @param {string} [locale=en] The locale\n * @returns {string} The text for the number\n */\nfunction getCopyAdjustedNumber(\n number: number,\n locale = LOCALE_DEFAULT,\n): string {\n const localeCopyAdjustedNumbers = copyAdjustedNumbers[locale];\n const totalLocaleCopyAdjustedNumbers = Object.keys(\n localeCopyAdjustedNumbers,\n ).length;\n\n return Number.isInteger(number) &&\n number > 0 &&\n number <= totalLocaleCopyAdjustedNumbers\n ? localeCopyAdjustedNumbers[number - 1]\n : number.toString();\n}\n\n/**\n * Get the singular/plural variant for a given number\n */\nexport function getSingularPluralUnit({\n number,\n singular,\n plural,\n followCopyGuidelines = true,\n showNumber = true,\n locale = LOCALE_DEFAULT,\n}: {\n /**\n * The number\n */\n number?: number | null;\n /**\n * The singular variant of the unit\n * */\n singular?: string;\n /**\n * The plural variant of the unit\n * */\n plural?: string;\n /**\n * Should numbers be transformed according to copywriting guidelines\n * @default true\n */\n followCopyGuidelines?: boolean;\n /**\n * Should final text display the number or just the singular/plural variant\n * @default true\n */\n showNumber?: boolean;\n /**\n * The locale\n * @default \"en\"\n */\n locale?: Locale;\n}) {\n if (isNil(number) || !singular || !plural) {\n return '';\n }\n\n const currentNumber = followCopyGuidelines\n ? getCopyAdjustedNumber(number, locale)\n : number.toString();\n const currentVariant = number === 1 || number === -1 ? singular : plural;\n\n return showNumber ? `${currentNumber} ${currentVariant}` : currentVariant;\n}\n"],"mappings":"sDAAA,IAAAA,EAAAC,EAAA,CAAAC,EAAAC,IAAA,cAoBA,SAASC,EAAMC,EAAO,CACpB,OAAOA,GAAS,IAClB,CAFSC,EAAAF,EAAA,SAITD,EAAO,QAAUC,ICxBjB,IAAAG,EAAkB,SAIlB,IAAMC,EAAiB,KAKjBC,EAAgD,CACpD,GAAI,CACF,MACA,MACA,QACA,OACA,OACA,MACA,QACA,QACA,OACA,KACF,CACF,EAQA,SAASC,EACPC,EACAC,EAASJ,EACD,CACR,IAAMK,EAA4BJ,EAAoBG,CAAM,EACtDE,EAAiC,OAAO,KAC5CD,CACF,EAAE,OAEF,OAAO,OAAO,UAAUF,CAAM,GAC5BA,EAAS,GACTA,GAAUG,EACRD,EAA0BF,EAAS,CAAC,EACpCA,EAAO,SAAS,CACtB,CAdSI,EAAAL,EAAA,yBAmBF,SAASM,EAAsB,CACpC,OAAAL,EACA,SAAAM,EACA,OAAAC,EACA,qBAAAC,EAAuB,GACvB,WAAAC,EAAa,GACb,OAAAR,EAASJ,CACX,EA4BG,CACD,MAAI,EAAAa,SAAMV,CAAM,GAAK,CAACM,GAAY,CAACC,EACjC,MAAO,GAGT,IAAMI,EAAgBH,EAClBT,EAAsBC,EAAQC,CAAM,EACpCD,EAAO,SAAS,EACdY,EAAiBZ,IAAW,GAAKA,IAAW,GAAKM,EAAWC,EAElE,OAAOE,EAAa,GAAGE,CAAa,IAAIC,CAAc,GAAKA,CAC7D,CA9CgBR,EAAAC,EAAA","names":["require_isNil","__commonJSMin","exports","module","isNil","value","__name","import_isNil","LOCALE_DEFAULT","copyAdjustedNumbers","getCopyAdjustedNumber","number","locale","localeCopyAdjustedNumbers","totalLocaleCopyAdjustedNumbers","__name","getSingularPluralUnit","singular","plural","followCopyGuidelines","showNumber","isNil","currentNumber","currentVariant"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as D}from"./chunk-SGE4DLC3.js";import{a as S,b as E,d as L,e as _,f as F}from"./chunk-TWIUL2P3.js";import{b as k}from"./chunk-WVDTHFGS.js";import{b as w}from"./chunk-3ZWDIEEM.js";import{a as l}from"./chunk-43WMZDDH.js";import{a as p}from"./chunk-P37U34EQ.js";import{jsx as y,jsxs as B}from"react/jsx-runtime";var A=p(({open:e,onOpenChange:a,title:t,trigger:n,children:m,className:d="",direction:i="right"})=>{let{components:f}=w(),r=f?.drawer;return r?y(r,{open:e,onOpenChange:a,title:t,trigger:n,children:m}):B(S,{open:e,onOpenChange:a,direction:i,children:[y(E,{asChild:!0,children:n}),y(L,{className:l(d,"RemoteFlows__Drawer h-full w-[540px] mt-0 ml-auto px-4"),children:B("div",{className:"h-full flex flex-col",children:[y(_,{children:y(F,{children:t})}),y("div",{className:"flex-1 overflow-y-auto",children:m})]})})]})},"Drawer");import*as T from"react";import{jsx as b}from"react/jsx-runtime";var g=T.forwardRef(({className:e,...a},t)=>b("div",{className:"relative w-full overflow-auto",children:b("table",{ref:t,className:l("w-full caption-bottom text-sm",e),...a})}));g.displayName="Table";var x=T.forwardRef(({className:e,...a},t)=>b("thead",{ref:t,className:l("[&_tr]:border-b",e),...a}));x.displayName="TableHeader";var h=T.forwardRef(({className:e,...a},t)=>b("tbody",{ref:t,className:l("[&_tr:last-child]:border-0",e),...a}));h.displayName="TableBody";var K=T.forwardRef(({className:e,...a},t)=>b("tfoot",{ref:t,className:l("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",e),...a}));K.displayName="TableFooter";var R=T.forwardRef(({className:e,...a},t)=>b("tr",{ref:t,className:l("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",e),...a}));R.displayName="TableRow";var v=T.forwardRef(({className:e,...a},t)=>b("th",{ref:t,className:l("h-10 px-2 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...a}));v.displayName="TableHead";var C=T.forwardRef(({className:e,...a},t)=>b("td",{ref:t,className:l("p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...a}));C.displayName="TableCell";var Y=T.forwardRef(({className:e,...a},t)=>b("caption",{ref:t,className:l("mt-4 text-sm text-muted-foreground",e),...a}));Y.displayName="TableCaption";import q from"react";import{jsx as c,jsxs as I}from"react/jsx-runtime";var H=q.forwardRef(({data:e=[],columns:a,className:t=""},n)=>{let{components:m}=w(),d=m?.table;return d?c(d,{data:e,columns:a,className:t}):I(g,{ref:n,className:l("RemoteFlows__Table",t),children:[c(x,{children:c(R,{children:a.map(i=>c(v,{className:l("RemoteFlows__TableHead",i.className),children:i.label},String(i.id)))})}),c(h,{children:e?.map((i,f)=>c(R,{children:a.map(r=>c(C,{className:l("RemoteFlows__TableCell",r.className,r.cellClassName),children:r.render?r.render(i[r.id],i,f):i[r.id]},String(r.id)))},z(i,f)))})]})});H.displayName="Table";function z(e,a){return String(e.id??a)}p(z,"getRowKey");import{Fragment as M,jsx as o,jsxs as s}from"react/jsx-runtime";var J="RemoteFlows__SummaryRow flex justify-between items-center py-2 text-xs",V="RemoteFlows__SummaryRowBorder border-b border-b-1 border-b-[#E4E4E7]",u=p(({children:e,withBorder:a=!1,className:t=""})=>o("div",{className:l(J,a&&V,t),children:e}),"SummaryRow"),W=p(({usedDays:e,bookedDays:a,approvedDaysBeforeTermination:t,approvedDaysAfterTermination:n,remainingDays:m,proposedTerminationDate:d,isUnlimitedPto:i,currentEntitlementDays:f})=>{let r=new Date(d).toLocaleDateString("en-US",{month:"long",day:"numeric",year:"numeric"});return s("div",{children:[s(u,{withBorder:!0,children:[o("label",{children:"Number of days entitled to per year"}),o("p",{"data-testid":"entitled-days",className:"font-bold",children:i?"Unlimited":f})]}),s(u,{children:[o("label",{children:"Total days booked"}),o("p",{"data-testid":"booked-days",className:"font-bold",children:a})]}),s(u,{children:[o("label",{children:"Number of days already used"}),o("p",{"data-testid":"used-days",className:"font-bold",children:e})]}),s(u,{children:[s("label",{children:["Approved for use before ",r]}),o("p",{"data-testid":"approved-days-before-termination",className:"font-bold",children:t})]}),s(u,{withBorder:!0,children:[s("label",{children:["Approved for use after ",r]}),o("p",{"data-testid":"approved-days-after-termination",className:"font-bold",children:n})]}),s(u,{children:[o("label",{children:"Total days remaining unused"}),o("p",{"data-testid":"remaining-days",className:"font-bold",children:m})]}),o(u,{className:"mb-2 py-0",children:s("p",{className:"text-xs text-[#222E39]",children:["Expiration date of unused days: ",r]})})]})},"SummaryTimeOff"),X=[{id:"formattedDate",label:"Dates",className:"w-[250px]",cellClassName:"font-medium"},{id:"duration",label:"Duration",render:p(e=>D({number:e,singular:"day",plural:"days",followCopyGuidelines:!1,showNumber:!0}),"render")},{id:"status",label:"Status"}],Z=p(({employeeName:e,timeoffQuery:a,entitledDays:t,countryName:n,currentEntitlementDays:m,formattedProposedTerminationDate:d,onOpenChange:i,open:f})=>{let{data:r,isLoading:N}=a;return o(A,{open:f,onOpenChange:i,title:`${e} paid time off breakdown`,trigger:o(k,{variant:"link",className:"text-xs text-[#3B82F6] font-bold p-0",children:"See detailed time off breakdown \u2197"}),className:"h-full w-[540px] mt-0 ml-auto px-4 RemoteFlows_DrawerTimeOff",children:!N&&o(M,{children:Array.isArray(r?.timeoffs)&&r?.timeoffs?.length>0?s(M,{children:[o("p",{className:"text-[#09090B] font-medium mb-4",children:"This list is for your information only."}),s("p",{className:"text-xs text-[#09090B] mb-1 flex items-center justify-between gap-2",children:[s("span",{children:["Annual entitlement for ",n]}),o("span",{className:"font-bold",children:t})]}),s("p",{className:"text-xs text-[#09090B] mb-6 flex items-center justify-between gap-2",children:[s("span",{children:["Entitlement up to ",d]}),o("span",{className:"font-bold",children:m})]}),o("div",{className:"mb-2",children:o(H,{data:r?.timeoffs,columns:X})}),s("p",{className:"text-xs",children:["Total of"," ",D({number:r?.bookedDays,singular:"day",plural:"days",followCopyGuidelines:!1,showNumber:!0})," ","booked"]})]}):s(M,{children:[o("p",{className:"font-medium mb-1 text-[#09090B]",children:"No recorded time off"}),s("p",{className:"text-sm text-[#09090B]",children:["According to our records, ",e," has not taken any time off this year."]})]})})})},"DrawerTimeOff"),Ne=p(({employeeName:e,proposedTerminationDate:a,summaryData:t,formattedProposedTerminationDate:n,timeoffQuery:m,employment:d,onOpenChange:i,open:f})=>{let{entitledDays:r,bookedDays:N,usedDays:O,approvedDaysBeforeTermination:U,approvedDaysAfterTermination:$,remainingDays:Q,currentEntitlementDays:P,isUnlimitedPto:G}=t.data;return s("div",{className:"RemoteFlows__PaidTimeOff__Container py-3",children:[o("h3",{className:"RemoteFlows__PaidTimeOff__Title mb-2",children:"Paid time off"}),s("p",{className:"RemoteFlows__PaidTimeOff__Description text-sm mb-2",children:["The proposed termination date for ",e," is"," ",n,". You will need to pay them for any unused accrued days. Below is a breakdown of their time off entitlement and usage for the current annual leave period:"]}),s("div",{className:"mb-2",children:[!t?.isLoading&&!t?.isError&&t?.data&&o(W,{usedDays:O,bookedDays:N,currentEntitlementDays:P,approvedDaysBeforeTermination:U,approvedDaysAfterTermination:$,remainingDays:Q,proposedTerminationDate:a,isUnlimitedPto:G}),o(Z,{employeeName:e,timeoffQuery:m,entitledDays:r,currentEntitlementDays:P,countryName:d?.country?.name??"Unknown",onOpenChange:i,formattedProposedTerminationDate:n,open:f})]})]})},"PaidTimeOff");export{Ne as a};
|
|
2
|
+
//# sourceMappingURL=chunk-SLMJEZJ7.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/shared/drawer/Drawer.tsx","../src/components/ui/table.tsx","../src/components/shared/table/Table.tsx","../src/flows/Termination/components/PaidTimeOff/PaidTimeOff.tsx"],"sourcesContent":["import { useFormFields } from '@/src/context';\nimport { DrawerComponentProps } from '@/src/types/remoteFlows';\nimport {\n Drawer as DrawerPrimitive,\n DrawerTrigger,\n DrawerContent,\n DrawerHeader,\n DrawerTitle,\n} from '@/src/components/ui/drawer';\nimport { cn } from '@/src/lib/utils';\n\nexport type DrawerProps = DrawerComponentProps & {\n className?: string;\n direction?: 'left' | 'right';\n};\n\nexport const Drawer = ({\n open,\n onOpenChange,\n title,\n trigger,\n children,\n className = '',\n direction = 'right',\n}: DrawerProps) => {\n const { components } = useFormFields();\n const CustomDrawer = components?.drawer;\n\n if (CustomDrawer) {\n return (\n <CustomDrawer\n open={open}\n onOpenChange={onOpenChange}\n title={title}\n trigger={trigger}\n >\n {children}\n </CustomDrawer>\n );\n }\n\n return (\n <DrawerPrimitive\n open={open}\n onOpenChange={onOpenChange}\n direction={direction}\n >\n <DrawerTrigger asChild>{trigger}</DrawerTrigger>\n <DrawerContent\n className={cn(\n className,\n 'RemoteFlows__Drawer h-full w-[540px] mt-0 ml-auto px-4',\n )}\n >\n <div className='h-full flex flex-col'>\n <DrawerHeader>\n <DrawerTitle>{title}</DrawerTitle>\n </DrawerHeader>\n <div className='flex-1 overflow-y-auto'>{children}</div>\n </div>\n </DrawerContent>\n </DrawerPrimitive>\n );\n};\n","import * as React from 'react';\n\nimport { cn } from '@/src/lib/utils';\n\nconst Table = React.forwardRef<\n HTMLTableElement,\n React.HTMLAttributes<HTMLTableElement>\n>(({ className, ...props }, ref) => (\n <div className='relative w-full overflow-auto'>\n <table\n ref={ref}\n className={cn('w-full caption-bottom text-sm', className)}\n {...props}\n />\n </div>\n));\nTable.displayName = 'Table';\n\nconst TableHeader = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <thead ref={ref} className={cn('[&_tr]:border-b', className)} {...props} />\n));\nTableHeader.displayName = 'TableHeader';\n\nconst TableBody = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tbody\n ref={ref}\n className={cn('[&_tr:last-child]:border-0', className)}\n {...props}\n />\n));\nTableBody.displayName = 'TableBody';\n\nconst TableFooter = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tfoot\n ref={ref}\n className={cn(\n 'border-t bg-muted/50 font-medium [&>tr]:last:border-b-0',\n className,\n )}\n {...props}\n />\n));\nTableFooter.displayName = 'TableFooter';\n\nconst TableRow = React.forwardRef<\n HTMLTableRowElement,\n React.HTMLAttributes<HTMLTableRowElement>\n>(({ className, ...props }, ref) => (\n <tr\n ref={ref}\n className={cn(\n 'border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted',\n className,\n )}\n {...props}\n />\n));\nTableRow.displayName = 'TableRow';\n\nconst TableHead = React.forwardRef<\n HTMLTableCellElement,\n React.ThHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <th\n ref={ref}\n className={cn(\n 'h-10 px-2 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]',\n className,\n )}\n {...props}\n />\n));\nTableHead.displayName = 'TableHead';\n\nconst TableCell = React.forwardRef<\n HTMLTableCellElement,\n React.TdHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <td\n ref={ref}\n className={cn(\n 'p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]',\n className,\n )}\n {...props}\n />\n));\nTableCell.displayName = 'TableCell';\n\nconst TableCaption = React.forwardRef<\n HTMLTableCaptionElement,\n React.HTMLAttributes<HTMLTableCaptionElement>\n>(({ className, ...props }, ref) => (\n <caption\n ref={ref}\n className={cn('mt-4 text-sm text-muted-foreground', className)}\n {...props}\n />\n));\nTableCaption.displayName = 'TableCaption';\n\nexport {\n Table,\n TableHeader,\n TableBody,\n TableFooter,\n TableHead,\n TableRow,\n TableCell,\n TableCaption,\n};\n","import { useFormFields } from '@/src/context';\nimport { $TSFixMe } from '@/src/types/remoteFlows';\nimport {\n Table as TablePrimitive,\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n} from '@/src/components/ui/table';\nimport { cn } from '@/src/lib/utils';\nimport React from 'react';\n\nexport type ColumnDef<T = $TSFixMe> = {\n id: keyof T;\n label: React.ReactNode;\n className?: string;\n cellClassName?: string;\n render?: (value: $TSFixMe, row: T, index: number) => React.ReactNode;\n};\n\nexport type TableDataProps<T = $TSFixMe> = {\n data: T[] | undefined;\n columns: ColumnDef<T>[];\n className?: string;\n};\n\nexport type TableComponentProps<T = $TSFixMe> = TableDataProps<T>;\n\nexport const Table = React.forwardRef<\n HTMLTableElement,\n TableDataProps<$TSFixMe>\n>(({ data = [], columns, className = '' }, ref) => {\n const { components } = useFormFields();\n const CustomTable = components?.table as\n | React.ComponentType<TableDataProps<$TSFixMe>>\n | undefined;\n\n // Pass the same structured data to custom components\n if (CustomTable) {\n return <CustomTable data={data} columns={columns} className={className} />;\n }\n\n return (\n <TablePrimitive ref={ref} className={cn('RemoteFlows__Table', className)}>\n <TableHeader>\n <TableRow>\n {columns.map((column) => (\n <TableHead\n key={String(column.id)}\n className={cn('RemoteFlows__TableHead', column.className)}\n >\n {column.label}\n </TableHead>\n ))}\n </TableRow>\n </TableHeader>\n <TableBody>\n {data?.map((row, rowIndex) => (\n <TableRow key={getRowKey(row, rowIndex)}>\n {columns.map((column) => (\n <TableCell\n key={String(column.id)}\n className={cn(\n 'RemoteFlows__TableCell',\n column.className,\n column.cellClassName,\n )}\n >\n {column.render\n ? column.render(\n row[column.id as keyof typeof row],\n row,\n rowIndex,\n )\n : row[column.id as keyof typeof row]}\n </TableCell>\n ))}\n </TableRow>\n ))}\n </TableBody>\n </TablePrimitive>\n );\n});\n\nTable.displayName = 'Table';\n\nfunction getRowKey(row: $TSFixMe, index: number): string {\n return String(row.id ?? index);\n}\n","import { PaidTimeoffBreakdownResponse } from '@/src/common/api';\nimport { Button } from '@/src/components/ui/button';\nimport { cn } from '@/src/lib/utils';\nimport { Drawer } from '@/src/components/shared/drawer/Drawer';\nimport { Table } from '@/src/components/shared/table/Table';\nimport { UseQueryResult } from '@tanstack/react-query';\nimport { PaidTimeOffRenderProps } from '@/src/flows/Termination/components/PaidTimeOff/types';\nimport { getSingularPluralUnit } from '@/src/lib/i18n';\nimport { ColumnDef } from '@/src/components/shared/table/Table';\n\nconst rowBase =\n 'RemoteFlows__SummaryRow flex justify-between items-center py-2 text-xs';\nconst rowBorder =\n 'RemoteFlows__SummaryRowBorder border-b border-b-1 border-b-[#E4E4E7]';\n\nconst SummaryRow = ({\n children,\n withBorder = false,\n className = '',\n}: {\n children: React.ReactNode;\n withBorder?: boolean;\n className?: string;\n}) => {\n return (\n <div className={cn(rowBase, withBorder && rowBorder, className)}>\n {children}\n </div>\n );\n};\n\nconst SummaryTimeOff = ({\n usedDays,\n bookedDays,\n approvedDaysBeforeTermination,\n approvedDaysAfterTermination,\n remainingDays,\n proposedTerminationDate,\n isUnlimitedPto,\n currentEntitlementDays,\n}: {\n usedDays: string;\n bookedDays: string;\n approvedDaysBeforeTermination: string;\n approvedDaysAfterTermination: string;\n remainingDays: string;\n proposedTerminationDate: string;\n isUnlimitedPto: boolean;\n currentEntitlementDays: string;\n}) => {\n const formattedProposedTerminationDate = new Date(\n proposedTerminationDate,\n ).toLocaleDateString('en-US', {\n month: 'long',\n day: 'numeric',\n year: 'numeric',\n });\n return (\n <div>\n <SummaryRow withBorder>\n <label>Number of days entitled to per year</label>\n <p data-testid='entitled-days' className='font-bold'>\n {isUnlimitedPto ? 'Unlimited' : currentEntitlementDays}\n </p>\n </SummaryRow>\n <SummaryRow>\n <label>Total days booked</label>\n <p data-testid='booked-days' className='font-bold'>\n {bookedDays}\n </p>\n </SummaryRow>\n <SummaryRow>\n <label>Number of days already used</label>\n <p data-testid='used-days' className='font-bold'>\n {usedDays}\n </p>\n </SummaryRow>\n <SummaryRow>\n <label>\n Approved for use before {formattedProposedTerminationDate}\n </label>\n <p data-testid='approved-days-before-termination' className='font-bold'>\n {approvedDaysBeforeTermination}\n </p>\n </SummaryRow>\n <SummaryRow withBorder>\n <label>Approved for use after {formattedProposedTerminationDate}</label>\n <p data-testid='approved-days-after-termination' className='font-bold'>\n {approvedDaysAfterTermination}\n </p>\n </SummaryRow>\n <SummaryRow>\n <label>Total days remaining unused</label>\n <p data-testid='remaining-days' className='font-bold'>\n {remainingDays}\n </p>\n </SummaryRow>\n <SummaryRow className='mb-2 py-0'>\n <p className='text-xs text-[#222E39]'>\n Expiration date of unused days: {formattedProposedTerminationDate}\n </p>\n </SummaryRow>\n </div>\n );\n};\n\ntype TimeoffRow = {\n formattedDate: string;\n duration: number;\n status: string;\n};\n\nconst TIMEOFF_COLUMNS: ColumnDef<TimeoffRow>[] = [\n {\n id: 'formattedDate',\n label: 'Dates',\n className: 'w-[250px]',\n cellClassName: 'font-medium',\n },\n {\n id: 'duration',\n label: 'Duration',\n render: (value: number) =>\n getSingularPluralUnit({\n number: value,\n singular: 'day',\n plural: 'days',\n followCopyGuidelines: false,\n showNumber: true,\n }),\n },\n {\n id: 'status',\n label: 'Status',\n },\n];\n\nconst DrawerTimeOff = ({\n employeeName,\n timeoffQuery,\n entitledDays,\n countryName,\n currentEntitlementDays,\n formattedProposedTerminationDate,\n onOpenChange,\n open,\n}: {\n employeeName: string;\n timeoffQuery: UseQueryResult<PaidTimeoffBreakdownResponse | undefined, Error>;\n entitledDays: string;\n countryName: string;\n currentEntitlementDays: string;\n onOpenChange: () => void;\n open: boolean;\n formattedProposedTerminationDate: string;\n}) => {\n const { data: timeoff, isLoading } = timeoffQuery;\n\n return (\n <Drawer\n open={open}\n onOpenChange={onOpenChange}\n title={`${employeeName} paid time off breakdown`}\n trigger={\n <Button variant='link' className='text-xs text-[#3B82F6] font-bold p-0'>\n See detailed time off breakdown ↗\n </Button>\n }\n className='h-full w-[540px] mt-0 ml-auto px-4 RemoteFlows_DrawerTimeOff'\n >\n {!isLoading && (\n <>\n {Array.isArray(timeoff?.timeoffs) && timeoff?.timeoffs?.length > 0 ? (\n <>\n <p className='text-[#09090B] font-medium mb-4'>\n This list is for your information only.\n </p>\n <p className='text-xs text-[#09090B] mb-1 flex items-center justify-between gap-2'>\n <span>Annual entitlement for {countryName}</span>\n <span className='font-bold'>{entitledDays}</span>\n </p>\n <p className='text-xs text-[#09090B] mb-6 flex items-center justify-between gap-2'>\n <span>\n Entitlement up to {formattedProposedTerminationDate}\n </span>\n <span className='font-bold'>{currentEntitlementDays}</span>\n </p>\n <div className='mb-2'>\n <Table data={timeoff?.timeoffs} columns={TIMEOFF_COLUMNS} />\n </div>\n <p className='text-xs'>\n Total of{' '}\n {getSingularPluralUnit({\n number: timeoff?.bookedDays,\n singular: 'day',\n plural: 'days',\n followCopyGuidelines: false,\n showNumber: true,\n })}{' '}\n booked\n </p>\n </>\n ) : (\n <>\n <p className='font-medium mb-1 text-[#09090B]'>\n No recorded time off\n </p>\n <p className='text-sm text-[#09090B]'>\n According to our records, {employeeName} has not taken any time\n off this year.\n </p>\n </>\n )}\n </>\n )}\n </Drawer>\n );\n};\n\nexport type PaidTimeOffProps = PaidTimeOffRenderProps;\n\n/**\n * PaidTimeOff component\n *\n * This component is used to display the paid time off summary and details.\n * It displays the summary data and a button to open the details drawer.\n * When the details drawer is open, it displays the paid time off breakdown.\n */\nexport const PaidTimeOff = ({\n employeeName,\n proposedTerminationDate,\n summaryData,\n formattedProposedTerminationDate,\n timeoffQuery,\n employment,\n onOpenChange,\n open,\n}: PaidTimeOffProps) => {\n const {\n entitledDays,\n bookedDays,\n usedDays,\n approvedDaysBeforeTermination,\n approvedDaysAfterTermination,\n remainingDays,\n currentEntitlementDays,\n isUnlimitedPto,\n } = summaryData.data;\n return (\n <div className='RemoteFlows__PaidTimeOff__Container py-3'>\n <h3 className='RemoteFlows__PaidTimeOff__Title mb-2'>Paid time off</h3>\n <p className='RemoteFlows__PaidTimeOff__Description text-sm mb-2'>\n The proposed termination date for {employeeName} is{' '}\n {formattedProposedTerminationDate}. You will need to pay them for any\n unused accrued days. Below is a breakdown of their time off entitlement\n and usage for the current annual leave period:\n </p>\n <div className='mb-2'>\n {!summaryData?.isLoading &&\n !summaryData?.isError &&\n summaryData?.data && (\n <SummaryTimeOff\n usedDays={usedDays}\n bookedDays={bookedDays}\n currentEntitlementDays={currentEntitlementDays}\n approvedDaysBeforeTermination={approvedDaysBeforeTermination}\n approvedDaysAfterTermination={approvedDaysAfterTermination}\n remainingDays={remainingDays}\n proposedTerminationDate={proposedTerminationDate}\n isUnlimitedPto={isUnlimitedPto}\n />\n )}\n <DrawerTimeOff\n employeeName={employeeName}\n timeoffQuery={timeoffQuery}\n entitledDays={entitledDays}\n currentEntitlementDays={currentEntitlementDays}\n countryName={employment?.country?.name ?? 'Unknown'}\n onOpenChange={onOpenChange}\n formattedProposedTerminationDate={formattedProposedTerminationDate}\n open={open}\n />\n </div>\n </div>\n );\n};\n"],"mappings":"4QA8BM,cAAAA,EAwBE,QAAAC,MAxBF,oBAdC,IAAMC,EAASC,EAAA,CAAC,CACrB,KAAAC,EACA,aAAAC,EACA,MAAAC,EACA,QAAAC,EACA,SAAAC,EACA,UAAAC,EAAY,GACZ,UAAAC,EAAY,OACd,IAAmB,CACjB,GAAM,CAAE,WAAAC,CAAW,EAAIC,EAAc,EAC/BC,EAAeF,GAAY,OAEjC,OAAIE,EAEAb,EAACa,EAAA,CACC,KAAMT,EACN,aAAcC,EACd,MAAOC,EACP,QAASC,EAER,SAAAC,EACH,EAKFP,EAACC,EAAA,CACC,KAAME,EACN,aAAcC,EACd,UAAWK,EAEX,UAAAV,EAACc,EAAA,CAAc,QAAO,GAAE,SAAAP,EAAQ,EAChCP,EAACe,EAAA,CACC,UAAWC,EACTP,EACA,wDACF,EAEA,SAAAR,EAAC,OAAI,UAAU,uBACb,UAAAD,EAACiB,EAAA,CACC,SAAAjB,EAACkB,EAAA,CAAa,SAAAZ,EAAM,EACtB,EACAN,EAAC,OAAI,UAAU,yBAA0B,SAAAQ,EAAS,GACpD,EACF,GACF,CAEJ,EA/CsB,UChBtB,UAAYW,MAAW,QASnB,cAAAC,MAAA,oBALJ,IAAMC,EAAc,aAGlB,CAAC,CAAE,UAAAC,EAAW,GAAGC,CAAM,EAAGC,IAC1BJ,EAAC,OAAI,UAAU,gCACb,SAAAA,EAAC,SACC,IAAKI,EACL,UAAWC,EAAG,gCAAiCH,CAAS,EACvD,GAAGC,EACN,EACF,CACD,EACDF,EAAM,YAAc,QAEpB,IAAMK,EAAoB,aAGxB,CAAC,CAAE,UAAAJ,EAAW,GAAGC,CAAM,EAAGC,IAC1BJ,EAAC,SAAM,IAAKI,EAAK,UAAWC,EAAG,kBAAmBH,CAAS,EAAI,GAAGC,EAAO,CAC1E,EACDG,EAAY,YAAc,cAE1B,IAAMC,EAAkB,aAGtB,CAAC,CAAE,UAAAL,EAAW,GAAGC,CAAM,EAAGC,IAC1BJ,EAAC,SACC,IAAKI,EACL,UAAWC,EAAG,6BAA8BH,CAAS,EACpD,GAAGC,EACN,CACD,EACDI,EAAU,YAAc,YAExB,IAAMC,EAAoB,aAGxB,CAAC,CAAE,UAAAN,EAAW,GAAGC,CAAM,EAAGC,IAC1BJ,EAAC,SACC,IAAKI,EACL,UAAWC,EACT,0DACAH,CACF,EACC,GAAGC,EACN,CACD,EACDK,EAAY,YAAc,cAE1B,IAAMC,EAAiB,aAGrB,CAAC,CAAE,UAAAP,EAAW,GAAGC,CAAM,EAAGC,IAC1BJ,EAAC,MACC,IAAKI,EACL,UAAWC,EACT,8EACAH,CACF,EACC,GAAGC,EACN,CACD,EACDM,EAAS,YAAc,WAEvB,IAAMC,EAAkB,aAGtB,CAAC,CAAE,UAAAR,EAAW,GAAGC,CAAM,EAAGC,IAC1BJ,EAAC,MACC,IAAKI,EACL,UAAWC,EACT,yIACAH,CACF,EACC,GAAGC,EACN,CACD,EACDO,EAAU,YAAc,YAExB,IAAMC,EAAkB,aAGtB,CAAC,CAAE,UAAAT,EAAW,GAAGC,CAAM,EAAGC,IAC1BJ,EAAC,MACC,IAAKI,EACL,UAAWC,EACT,uFACAH,CACF,EACC,GAAGC,EACN,CACD,EACDQ,EAAU,YAAc,YAExB,IAAMC,EAAqB,aAGzB,CAAC,CAAE,UAAAV,EAAW,GAAGC,CAAM,EAAGC,IAC1BJ,EAAC,WACC,IAAKI,EACL,UAAWC,EAAG,qCAAsCH,CAAS,EAC5D,GAAGC,EACN,CACD,EACDS,EAAa,YAAc,eCjG3B,OAAOC,MAAW,QA6BP,cAAAC,EAIP,QAAAC,MAJO,oBAXJ,IAAMC,EAAQC,EAAM,WAGzB,CAAC,CAAE,KAAAC,EAAO,CAAC,EAAG,QAAAC,EAAS,UAAAC,EAAY,EAAG,EAAGC,IAAQ,CACjD,GAAM,CAAE,WAAAC,CAAW,EAAIC,EAAc,EAC/BC,EAAcF,GAAY,MAKhC,OAAIE,EACKV,EAACU,EAAA,CAAY,KAAMN,EAAM,QAASC,EAAS,UAAWC,EAAW,EAIxEL,EAACC,EAAA,CAAe,IAAKK,EAAK,UAAWI,EAAG,qBAAsBL,CAAS,EACrE,UAAAN,EAACY,EAAA,CACC,SAAAZ,EAACa,EAAA,CACE,SAAAR,EAAQ,IAAKS,GACZd,EAACe,EAAA,CAEC,UAAWJ,EAAG,yBAA0BG,EAAO,SAAS,EAEvD,SAAAA,EAAO,OAHH,OAAOA,EAAO,EAAE,CAIvB,CACD,EACH,EACF,EACAd,EAACgB,EAAA,CACE,SAAAZ,GAAM,IAAI,CAACa,EAAKC,IACflB,EAACa,EAAA,CACE,SAAAR,EAAQ,IAAKS,GACZd,EAACmB,EAAA,CAEC,UAAWR,EACT,yBACAG,EAAO,UACPA,EAAO,aACT,EAEC,SAAAA,EAAO,OACJA,EAAO,OACLG,EAAIH,EAAO,EAAsB,EACjCG,EACAC,CACF,EACAD,EAAIH,EAAO,EAAsB,GAbhC,OAAOA,EAAO,EAAE,CAcvB,CACD,GAlBYM,EAAUH,EAAKC,CAAQ,CAmBtC,CACD,EACH,GACF,CAEJ,CAAC,EAEDhB,EAAM,YAAc,QAEpB,SAASkB,EAAUH,EAAeI,EAAuB,CACvD,OAAO,OAAOJ,EAAI,IAAMI,CAAK,CAC/B,CAFSC,EAAAF,EAAA,aC9DL,OAoJQ,YAAAG,EApJR,OAAAC,EAkCE,QAAAC,MAlCF,oBAfJ,IAAMC,EACJ,yEACIC,EACJ,uEAEIC,EAAaC,EAAA,CAAC,CAClB,SAAAC,EACA,WAAAC,EAAa,GACb,UAAAC,EAAY,EACd,IAMIR,EAAC,OAAI,UAAWS,EAAGP,EAASK,GAAcJ,EAAWK,CAAS,EAC3D,SAAAF,EACH,EAZe,cAgBbI,EAAiBL,EAAA,CAAC,CACtB,SAAAM,EACA,WAAAC,EACA,8BAAAC,EACA,6BAAAC,EACA,cAAAC,EACA,wBAAAC,EACA,eAAAC,EACA,uBAAAC,CACF,IASM,CACJ,IAAMC,EAAmC,IAAI,KAC3CH,CACF,EAAE,mBAAmB,QAAS,CAC5B,MAAO,OACP,IAAK,UACL,KAAM,SACR,CAAC,EACD,OACEf,EAAC,OACC,UAAAA,EAACG,EAAA,CAAW,WAAU,GACpB,UAAAJ,EAAC,SAAM,+CAAmC,EAC1CA,EAAC,KAAE,cAAY,gBAAgB,UAAU,YACtC,SAAAiB,EAAiB,YAAcC,EAClC,GACF,EACAjB,EAACG,EAAA,CACC,UAAAJ,EAAC,SAAM,6BAAiB,EACxBA,EAAC,KAAE,cAAY,cAAc,UAAU,YACpC,SAAAY,EACH,GACF,EACAX,EAACG,EAAA,CACC,UAAAJ,EAAC,SAAM,uCAA2B,EAClCA,EAAC,KAAE,cAAY,YAAY,UAAU,YAClC,SAAAW,EACH,GACF,EACAV,EAACG,EAAA,CACC,UAAAH,EAAC,SAAM,qCACoBkB,GAC3B,EACAnB,EAAC,KAAE,cAAY,mCAAmC,UAAU,YACzD,SAAAa,EACH,GACF,EACAZ,EAACG,EAAA,CAAW,WAAU,GACpB,UAAAH,EAAC,SAAM,oCAAwBkB,GAAiC,EAChEnB,EAAC,KAAE,cAAY,kCAAkC,UAAU,YACxD,SAAAc,EACH,GACF,EACAb,EAACG,EAAA,CACC,UAAAJ,EAAC,SAAM,uCAA2B,EAClCA,EAAC,KAAE,cAAY,iBAAiB,UAAU,YACvC,SAAAe,EACH,GACF,EACAf,EAACI,EAAA,CAAW,UAAU,YACpB,SAAAH,EAAC,KAAE,UAAU,yBAAyB,6CACHkB,GACnC,EACF,GACF,CAEJ,EAzEuB,kBAiFjBC,EAA2C,CAC/C,CACE,GAAI,gBACJ,MAAO,QACP,UAAW,YACX,cAAe,aACjB,EACA,CACE,GAAI,WACJ,MAAO,WACP,OAAQf,EAACgB,GACPC,EAAsB,CACpB,OAAQD,EACR,SAAU,MACV,OAAQ,OACR,qBAAsB,GACtB,WAAY,EACd,CAAC,EAPK,SAQV,EACA,CACE,GAAI,SACJ,MAAO,QACT,CACF,EAEME,EAAgBlB,EAAA,CAAC,CACrB,aAAAmB,EACA,aAAAC,EACA,aAAAC,EACA,YAAAC,EACA,uBAAAT,EACA,iCAAAC,EACA,aAAAS,EACA,KAAAC,CACF,IASM,CACJ,GAAM,CAAE,KAAMC,EAAS,UAAAC,CAAU,EAAIN,EAErC,OACEzB,EAACgC,EAAA,CACC,KAAMH,EACN,aAAcD,EACd,MAAO,GAAGJ,CAAY,2BACtB,QACExB,EAACiC,EAAA,CAAO,QAAQ,OAAO,UAAU,uCAAuC,kDAExE,EAEF,UAAU,+DAET,UAACF,GACA/B,EAAAD,EAAA,CACG,eAAM,QAAQ+B,GAAS,QAAQ,GAAKA,GAAS,UAAU,OAAS,EAC/D7B,EAAAF,EAAA,CACE,UAAAC,EAAC,KAAE,UAAU,kCAAkC,mDAE/C,EACAC,EAAC,KAAE,UAAU,sEACX,UAAAA,EAAC,QAAK,oCAAwB0B,GAAY,EAC1C3B,EAAC,QAAK,UAAU,YAAa,SAAA0B,EAAa,GAC5C,EACAzB,EAAC,KAAE,UAAU,sEACX,UAAAA,EAAC,QAAK,+BACekB,GACrB,EACAnB,EAAC,QAAK,UAAU,YAAa,SAAAkB,EAAuB,GACtD,EACAlB,EAAC,OAAI,UAAU,OACb,SAAAA,EAACkC,EAAA,CAAM,KAAMJ,GAAS,SAAU,QAASV,EAAiB,EAC5D,EACAnB,EAAC,KAAE,UAAU,UAAU,qBACZ,IACRqB,EAAsB,CACrB,OAAQQ,GAAS,WACjB,SAAU,MACV,OAAQ,OACR,qBAAsB,GACtB,WAAY,EACd,CAAC,EAAG,IAAI,UAEV,GACF,EAEA7B,EAAAF,EAAA,CACE,UAAAC,EAAC,KAAE,UAAU,kCAAkC,gCAE/C,EACAC,EAAC,KAAE,UAAU,yBAAyB,uCACTuB,EAAa,0CAE1C,GACF,EAEJ,EAEJ,CAEJ,EAhFsB,iBA2FTW,GAAc9B,EAAA,CAAC,CAC1B,aAAAmB,EACA,wBAAAR,EACA,YAAAoB,EACA,iCAAAjB,EACA,aAAAM,EACA,WAAAY,EACA,aAAAT,EACA,KAAAC,CACF,IAAwB,CACtB,GAAM,CACJ,aAAAH,EACA,WAAAd,EACA,SAAAD,EACA,8BAAAE,EACA,6BAAAC,EACA,cAAAC,EACA,uBAAAG,EACA,eAAAD,CACF,EAAImB,EAAY,KAChB,OACEnC,EAAC,OAAI,UAAU,2CACb,UAAAD,EAAC,MAAG,UAAU,uCAAuC,yBAAa,EAClEC,EAAC,KAAE,UAAU,qDAAqD,+CAC7BuB,EAAa,MAAI,IACnDL,EAAiC,8JAGpC,EACAlB,EAAC,OAAI,UAAU,OACZ,WAACmC,GAAa,WACb,CAACA,GAAa,SACdA,GAAa,MACXpC,EAACU,EAAA,CACC,SAAUC,EACV,WAAYC,EACZ,uBAAwBM,EACxB,8BAA+BL,EAC/B,6BAA8BC,EAC9B,cAAeC,EACf,wBAAyBC,EACzB,eAAgBC,EAClB,EAEJjB,EAACuB,EAAA,CACC,aAAcC,EACd,aAAcC,EACd,aAAcC,EACd,uBAAwBR,EACxB,YAAamB,GAAY,SAAS,MAAQ,UAC1C,aAAcT,EACd,iCAAkCT,EAClC,KAAMU,EACR,GACF,GACF,CAEJ,EAzD2B","names":["jsx","jsxs","Drawer","__name","open","onOpenChange","title","trigger","children","className","direction","components","useFormFields","CustomDrawer","DrawerTrigger","DrawerContent","cn","DrawerHeader","DrawerTitle","React","jsx","Table","className","props","ref","cn","TableHeader","TableBody","TableFooter","TableRow","TableHead","TableCell","TableCaption","React","jsx","jsxs","Table","React","data","columns","className","ref","components","useFormFields","CustomTable","cn","TableHeader","TableRow","column","TableHead","TableBody","row","rowIndex","TableCell","getRowKey","index","__name","Fragment","jsx","jsxs","rowBase","rowBorder","SummaryRow","__name","children","withBorder","className","cn","SummaryTimeOff","usedDays","bookedDays","approvedDaysBeforeTermination","approvedDaysAfterTermination","remainingDays","proposedTerminationDate","isUnlimitedPto","currentEntitlementDays","formattedProposedTerminationDate","TIMEOFF_COLUMNS","value","getSingularPluralUnit","DrawerTimeOff","employeeName","timeoffQuery","entitledDays","countryName","onOpenChange","open","timeoff","isLoading","Drawer","Button","Table","PaidTimeOff","summaryData","employment"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a}from"./chunk-XP7UEI56.js";import{b as i}from"./chunk-PGWKJ6FK.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as d}from"react/jsx-runtime";function y({onSubmit:s,onSuccess:c,onError:t}){let{onboardingBag:o}=i(),u=e(async n=>{try{await s?.({countryCode:n.country});let r=await o.onSubmit(n);if(r?.data){await c?.(r?.data),o?.next();return}r?.error&&t?.({error:r.error,rawError:r.rawError,fieldErrors:[]})}catch(r){t?.({error:r,rawError:r,fieldErrors:[]})}},"handleSubmit"),l=o.stepState.values?.select_country||o.initialValues.select_country;return d(a,{defaultValues:l,onSubmit:u})}e(y,"SelectCountryStep");export{y as a};
|
|
2
|
+
//# sourceMappingURL=chunk-TUFTB5UD.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as l}from"./chunk-HFI2MD3H.js";import{a as m,b as y}from"./chunk-ANQ4HVVK.js";import{c}from"./chunk-CNDSIADP.js";import{a as t}from"./chunk-P37U34EQ.js";import{useEffect as N}from"react";import{Fragment as b,jsx as v,jsxs as C}from"react/jsx-runtime";var R=t(({currencies:{from:d,to:F},shouldSwapOrder:s,salary_conversion_properties:a,conversionType:_="no_spread",defaultValue:r,...e})=>{let{setValue:n,getValues:i}=c(),f={label:a?.label||"Salary conversion",description:a?.description||C(b,{children:["The conversion is based on the Remote FX rate."," ",v(y,{className:"text-sm",zendeskId:m.remoteFxRate,children:"Learn more \u2197"})]})},g=s?"salary_conversion":e.name,u=s?e.name:"salary_conversion";return N(()=>{if(s){let o=i(e.name);o?(n("salary_conversion",o),n("salary_converted","salary_conversion")):r&&(n("salary_conversion",r),n("salary_converted","salary_conversion"))}else{let o=i("salary_conversion");o?(n(e.name,o),n("salary_converted",e.name)):r&&(n(e.name,r),n("salary_converted",e.name))}},[s,r,n,i,e.name]),v(l,{...e,sourceCurrency:d,targetCurrency:F,mainFieldName:g,conversionFieldName:u,conversionProperties:f,classNamePrefix:"RemoteFlows-Salary",conversionType:_})},"SalaryField");export{R as a};
|
|
2
|
+
//# sourceMappingURL=chunk-UFBTCHEI.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/flows/CostCalculator/components/SalaryField.tsx"],"sourcesContent":["import { CurrencyConversionField } from '@/src/components/form/fields/CurrencyConversionField';\nimport { ZendeskTriggerButton } from '@/src/components/shared/zendesk-drawer/ZendeskTriggerButton';\nimport { zendeskArticles } from '@/src/components/shared/zendesk-drawer/utils';\nimport { JSFField } from '@/src/types/remoteFlows';\nimport { useEffect } from 'react';\nimport { useFormContext } from 'react-hook-form';\n\ntype SalaryFieldProps = JSFField & {\n currencies: {\n from: string;\n to: string;\n };\n salary_conversion_properties?: {\n label?: string;\n description?: string;\n };\n conversionType?: 'spread' | 'no_spread';\n shouldSwapOrder: boolean;\n defaultValue?: string;\n};\n\nexport const SalaryField = ({\n currencies: { from, to },\n shouldSwapOrder,\n salary_conversion_properties,\n conversionType = 'no_spread',\n defaultValue,\n ...props\n}: SalaryFieldProps) => {\n const { setValue, getValues } = useFormContext();\n\n const conversionProperties = {\n label: salary_conversion_properties?.label || 'Salary conversion',\n description: salary_conversion_properties?.description || (\n <>\n The conversion is based on the Remote FX rate.{' '}\n <ZendeskTriggerButton\n className='text-sm'\n zendeskId={zendeskArticles.remoteFxRate}\n >\n Learn more ↗\n </ZendeskTriggerButton>\n </>\n ),\n };\n\n const mainFieldName = shouldSwapOrder ? 'salary_conversion' : props.name;\n const conversionFieldName = shouldSwapOrder\n ? props.name\n : 'salary_conversion';\n\n useEffect(() => {\n if (shouldSwapOrder) {\n const currentValue = getValues(props.name);\n\n if (currentValue) {\n setValue('salary_conversion', currentValue);\n setValue('salary_converted', 'salary_conversion');\n } else if (defaultValue) {\n // Fallback to defaultValue if no current value\n setValue('salary_conversion', defaultValue);\n setValue('salary_converted', 'salary_conversion');\n }\n } else {\n const conversionValue = getValues('salary_conversion');\n\n if (conversionValue) {\n setValue(props.name, conversionValue);\n setValue('salary_converted', props.name);\n } else if (defaultValue) {\n // Fallback to defaultValue if no conversion value\n setValue(props.name, defaultValue);\n setValue('salary_converted', props.name);\n }\n }\n }, [shouldSwapOrder, defaultValue, setValue, getValues, props.name]);\n return (\n <CurrencyConversionField\n {...props}\n sourceCurrency={from}\n targetCurrency={to}\n mainFieldName={mainFieldName}\n conversionFieldName={conversionFieldName}\n conversionProperties={conversionProperties}\n classNamePrefix='RemoteFlows-Salary'\n conversionType={conversionType}\n />\n );\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/flows/CostCalculator/components/SalaryField.tsx"],"sourcesContent":["import { CurrencyConversionField } from '@/src/components/form/fields/CurrencyConversionField';\nimport { ZendeskTriggerButton } from '@/src/components/shared/zendesk-drawer/ZendeskTriggerButton';\nimport { zendeskArticles } from '@/src/components/shared/zendesk-drawer/utils';\nimport { JSFField } from '@/src/types/remoteFlows';\nimport { useEffect } from 'react';\nimport { useFormContext } from 'react-hook-form';\n\ntype SalaryFieldProps = JSFField & {\n currencies: {\n from: string;\n to: string;\n };\n salary_conversion_properties?: {\n label?: string;\n description?: string;\n };\n conversionType?: 'spread' | 'no_spread';\n shouldSwapOrder: boolean;\n defaultValue?: string;\n};\n\nexport const SalaryField = ({\n currencies: { from, to },\n shouldSwapOrder,\n salary_conversion_properties,\n conversionType = 'no_spread',\n defaultValue,\n ...props\n}: SalaryFieldProps) => {\n const { setValue, getValues } = useFormContext();\n\n const conversionProperties = {\n label: salary_conversion_properties?.label || 'Salary conversion',\n description: salary_conversion_properties?.description || (\n <>\n The conversion is based on the Remote FX rate.{' '}\n <ZendeskTriggerButton\n className='text-sm'\n zendeskId={zendeskArticles.remoteFxRate}\n >\n Learn more ↗\n </ZendeskTriggerButton>\n </>\n ),\n };\n\n const mainFieldName = shouldSwapOrder ? 'salary_conversion' : props.name;\n const conversionFieldName = shouldSwapOrder\n ? props.name\n : 'salary_conversion';\n\n useEffect(() => {\n if (shouldSwapOrder) {\n const currentValue = getValues(props.name);\n\n if (currentValue) {\n setValue('salary_conversion', currentValue);\n setValue('salary_converted', 'salary_conversion');\n } else if (defaultValue) {\n // Fallback to defaultValue if no current value\n setValue('salary_conversion', defaultValue);\n setValue('salary_converted', 'salary_conversion');\n }\n } else {\n const conversionValue = getValues('salary_conversion');\n\n if (conversionValue) {\n setValue(props.name, conversionValue);\n setValue('salary_converted', props.name);\n } else if (defaultValue) {\n // Fallback to defaultValue if no conversion value\n setValue(props.name, defaultValue);\n setValue('salary_converted', props.name);\n }\n }\n }, [shouldSwapOrder, defaultValue, setValue, getValues, props.name]);\n return (\n <CurrencyConversionField\n {...props}\n sourceCurrency={from}\n targetCurrency={to}\n mainFieldName={mainFieldName}\n conversionFieldName={conversionFieldName}\n conversionProperties={conversionProperties}\n classNamePrefix='RemoteFlows-Salary'\n conversionType={conversionType}\n />\n );\n};\n"],"mappings":"kKAIA,OAAS,aAAAA,MAAiB,QA8BpB,mBAAAC,EAEE,OAAAC,EAFF,QAAAC,MAAA,oBAbC,IAAMC,EAAcC,EAAA,CAAC,CAC1B,WAAY,CAAE,KAAAC,EAAM,GAAAC,CAAG,EACvB,gBAAAC,EACA,6BAAAC,EACA,eAAAC,EAAiB,YACjB,aAAAC,EACA,GAAGC,CACL,IAAwB,CACtB,GAAM,CAAE,SAAAC,EAAU,UAAAC,CAAU,EAAIC,EAAe,EAEzCC,EAAuB,CAC3B,MAAOP,GAA8B,OAAS,oBAC9C,YAAaA,GAA8B,aACzCN,EAAAF,EAAA,CAAE,2DAC+C,IAC/CC,EAACe,EAAA,CACC,UAAU,UACV,UAAWC,EAAgB,aAC5B,6BAED,GACF,CAEJ,EAEMC,EAAgBX,EAAkB,oBAAsBI,EAAM,KAC9DQ,EAAsBZ,EACxBI,EAAM,KACN,oBAEJ,OAAAS,EAAU,IAAM,CACd,GAAIb,EAAiB,CACnB,IAAMc,EAAeR,EAAUF,EAAM,IAAI,EAErCU,GACFT,EAAS,oBAAqBS,CAAY,EAC1CT,EAAS,mBAAoB,mBAAmB,GACvCF,IAETE,EAAS,oBAAqBF,CAAY,EAC1CE,EAAS,mBAAoB,mBAAmB,EAEpD,KAAO,CACL,IAAMU,EAAkBT,EAAU,mBAAmB,EAEjDS,GACFV,EAASD,EAAM,KAAMW,CAAe,EACpCV,EAAS,mBAAoBD,EAAM,IAAI,GAC9BD,IAETE,EAASD,EAAM,KAAMD,CAAY,EACjCE,EAAS,mBAAoBD,EAAM,IAAI,EAE3C,CACF,EAAG,CAACJ,EAAiBG,EAAcE,EAAUC,EAAWF,EAAM,IAAI,CAAC,EAEjEV,EAACsB,EAAA,CACE,GAAGZ,EACJ,eAAgBN,EAChB,eAAgBC,EAChB,cAAeY,EACf,oBAAqBC,EACrB,qBAAsBJ,EACtB,gBAAgB,qBAChB,eAAgBN,EAClB,CAEJ,EAnE2B","names":["useEffect","Fragment","jsx","jsxs","SalaryField","__name","from","to","shouldSwapOrder","salary_conversion_properties","conversionType","defaultValue","props","setValue","getValues","useFormContext","conversionProperties","ZendeskTriggerButton","zendeskArticles","mainFieldName","conversionFieldName","useEffect","currentValue","conversionValue","CurrencyConversionField"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as r}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as r}from"./chunk-4ZGIL6OE.js";import{a}from"./chunk-OW5QGJD4.js";import{a as c}from"./chunk-CYPGWEOO.js";import{a as e}from"./chunk-EKKRQI6B.js";import{a as m}from"./chunk-LWGVLLBH.js";import{a as o}from"./chunk-TVZAFTPT.js";import{a as n}from"./chunk-P37U34EQ.js";import{useId as f}from"react";import{jsx as s}from"react/jsx-runtime";function k({employmentId:d,countryCode:C,options:p,render:A}){let t=c({employmentId:d,countryCode:C,options:p}),i=f();return s(o.Provider,{value:{formId:i,contractAmendmentBag:t},children:A({contractAmendmentBag:t,components:{Form:r,SubmitButton:a,ConfirmationForm:m,BackButton:e}})})}n(k,"ContractAmendmentFlow");export{k as a};
|
|
2
|
+
//# sourceMappingURL=chunk-VLLLNIMN.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{b as e}from"./chunk-ANQ4HVVK.js";import{a as n}from"./chunk-P37U34EQ.js";import{jsx as o,jsxs as t}from"react/jsx-runtime";var a=n(({involuntaryOffboardingServiceChargeZendeskId:r,reconciliationInvoiceZendeskId:i})=>t("p",{className:"RemoteFlows__AcknowledgeInformationFees text-xs text-[#71717A]",children:["You'll receive an"," ",o(e,{zendeskId:r,className:"align-baseline",children:"involuntary offboarding service charge \u2197"})," ","on your"," ",o(e,{zendeskId:i,children:"reconciliation invoice \u2197"})]}),"AcknowledgeInformationFees");export{a};
|
|
2
|
+
//# sourceMappingURL=chunk-VM2DQCZO.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformationFees.tsx"],"sourcesContent":["import { ZendeskTriggerButton } from '@/src/components/shared/zendesk-drawer/ZendeskTriggerButton';\n\n/**\n * The acknowledge information fees component props\n */\nexport type AcknowledgeInformationFeesProps = {\n /**\n * The Zendesk ID for the involuntary offboarding service charge\n */\n involuntaryOffboardingServiceChargeZendeskId: number;\n /**\n * The Zendesk ID for the reconciliation invoice\n */\n reconciliationInvoiceZendeskId: number;\n};\n\nexport const AcknowledgeInformationFees = ({\n involuntaryOffboardingServiceChargeZendeskId,\n reconciliationInvoiceZendeskId,\n}: AcknowledgeInformationFeesProps) => {\n return (\n <p className='RemoteFlows__AcknowledgeInformationFees text-xs text-[#71717A]'>\n You'll receive an{' '}\n <ZendeskTriggerButton\n zendeskId={involuntaryOffboardingServiceChargeZendeskId}\n className='align-baseline'\n >\n involuntary offboarding service charge ↗\n </ZendeskTriggerButton>{' '}\n on your{' '}\n <ZendeskTriggerButton zendeskId={reconciliationInvoiceZendeskId}>\n reconciliation invoice ↗\n </ZendeskTriggerButton>\n </p>\n );\n};\n"],"mappings":"gFAqBI,OAEE,OAAAA,EAFF,QAAAC,MAAA,oBALG,IAAMC,EAA6BC,EAAA,CAAC,CACzC,6CAAAC,EACA,+BAAAC,CACF,IAEIJ,EAAC,KAAE,UAAU,iEAAiE,8BAC1D,IAClBD,EAACM,EAAA,CACC,UAAWF,EACX,UAAU,iBACX,yDAED,EAAwB,IAAI,UACpB,IACRJ,EAACM,EAAA,CAAqB,UAAWD,EAAgC,yCAEjE,GACF,EAjBsC","names":["jsx","jsxs","AcknowledgeInformationFees","__name","involuntaryOffboardingServiceChargeZendeskId","reconciliationInvoiceZendeskId","ZendeskTriggerButton"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as R,b as x,c as N,d as A}from"./chunk-DTHBG6BD.js";import{a as T}from"./chunk-ZE3YT3Q6.js";import{a as C}from"./chunk-AFRA4BIW.js";import{a as w,b as f}from"./chunk-ANQ4HVVK.js";import{b as B}from"./chunk-WVDTHFGS.js";import{a as i,b as n,e as F}from"./chunk-43WMZDDH.js";import{a as d}from"./chunk-P37U34EQ.js";import{MoreHorizontal as G}from"lucide-react";import{useState as P}from"react";import{Fragment as U,jsx as g,jsxs as E}from"react/jsx-runtime";function L({actions:e=[],className:r,label:l,"data-testid":a}){let[_,m]=P(!1);return E("div",{className:i("relative",r),children:[g(B,{"data-testid":a,variant:"ghost","aria-label":l,className:"h-8 w-8 p-0",onClick:()=>m(!_),children:g(G,{className:"h-4 w-4"})}),_&&E(U,{children:[g("div",{className:"fixed inset-0 z-40",onClick:()=>m(!1)}),g("div",{className:"absolute right-0 top-1/2 mt-1 bg-white border border-gray-200 rounded-md shadow-lg z-50 min-w-[120px]",children:e.map((c,u)=>g("button",{"data-testid":`${a}-${c.label.toLowerCase().replace(" ","-")}`,className:i("w-full text-left px-2 py-1.5 text-sm hover:bg-gray-100",c.disabled&&"opacity-50 cursor-not-allowed"),onClick:()=>{c.onClick(),m(!1)},disabled:c.disabled,children:c.label},u))})]})]})}d(L,"ActionsDropdown");import{ChevronDown as S,Info as $}from"lucide-react";import j from"react-flagpack";import{useState as O}from"react";import{Fragment as b,jsx as o,jsxs as t}from"react/jsx-runtime";var Z={GB:"GB-UKM"},K=d(({title:e,country:r,region:l,annualGrossSalary:a,onDelete:_,onExportPdf:m,onEdit:c})=>{let u=[{label:"Edit",onClick:c},{label:"Export",onClick:m},{label:"Delete",onClick:_}];return t("div",{className:"RemoteFlows__EstimationResults__Header flex justify-between",children:[t("div",{className:"flex flex-row items-center gap-6",children:[o("div",{className:"RemoteFlows__EstimationResultsHeader__FlagContainer flex h-16 w-16 items-center justify-center rounded-lg bg-[#F4F4F5]",children:o(j,{code:Z[r.alpha_2_code]||r.alpha_2_code})}),t("div",{className:"space-y-1",children:[o("h2",{"data-testid":"estimation-results-header-title",className:"RemoteFlows__EstimationResultsHeader__Title text-lg font-medium leading-none text-[#181818]",children:e}),t("p",{className:"RemoteFlows__EstimationResultsHeader__Country text-xs text-[#71717A]",children:[r.name," ",l?` (${l.name})`:""]}),t("p",{"data-testid":"estimation-results-header-annual-gross-salary",className:"RemoteFlows__EstimationResultsHeader__AnnualGrossSalary text-xs text-[#71717A]",children:[o("span",{className:"text-[#181818]",children:"Employee annual gross salary:"})," ",a]})]})]}),o(L,{label:"Actions",className:"RemoteFlows__EstimationResults__ActionsDropdown",actions:u})]})},"EstimationResultsHeader"),V=d(()=>({steps:[{id:"add-employment-details",title:"Add employment details",description:"You add employee employments details."},{id:"invite-employee",title:"Invite employee",description:"Hire receives an email invitation from Remote to start the self-enrollment process."},{id:"verify-information",title:"Verify information",description:"Remote prepares the Employment Agreement and verifies all the information."},{id:"sign-contract",title:"Sign contract",description:"All parties sign the Employment Agreement and are ready to start. \u{1F389}"}],helpText:"For customers who accept Remote's Terms of Service (ToS), the employee onboarding timeline starts once the employee has been invited to the platform and completed self enrollment.",zendeskArticleId:w.employeeOnboardingTimeline}),"getOnboardingTimelineData");function Y({minimumOnboardingDays:e,data:r,className:l}){return o(R,{type:"single",collapsible:!0,className:i("RemoteFlows__EstimationResults__OnboardingTimeline w-full",l),children:t(x,{value:"timeline",className:"RemoteFlows__OnboardingTimeline__AccordionItem border-border",children:[o(N,{className:"RemoteFlows__OnboardingTimeline__AccordionTrigger hover:no-underline px-0 py-4",children:t("div",{className:"flex items-center justify-between w-full",children:[o("span",{className:"RemoteFlows__OnboardingTimeline__Title text-base font-medium text-[#0F172A]",children:"Onboarding timeline"}),e!=null&&t("span",{className:"RemoteFlows__OnboardingTimeline__Description text-base text-muted-foreground mr-4",children:[e," days"]})]})}),t(A,{className:"px-0 pb-4",children:[o("ul",{className:"RemoteFlows__OnboardingTimeline__List list-disc list-inside space-y-2",children:r.steps.map(a=>t("li",{children:[o("strong",{className:"font-medium text-[#09090B]",children:a.title})," ","- ",a.description]},a.id))}),t("p",{className:"RemoteFlows__OnboardingTimeline__HelpText text-xs text-muted-foreground mt-4",children:[r.helpText,r.zendeskArticleId&&o(f,{zendeskId:r.zendeskArticleId,children:"Learn more"})]})]})]})})}d(Y,"OnboardingTimeline");function q({className:e,countryBenefitsUrl:r,countryGuideUrl:l,country:a}){return o(R,{type:"single",collapsible:!0,className:i("RemoteFlows__EstimationResults__HiringSection w-full",e),children:t(x,{value:"timeline",className:"RemoteFlows__HiringSection__AccordionItem border-border",children:[o(N,{className:"RemoteFlows__HiringSection__AccordionTrigger hover:no-underline px-0 py-4",children:o("div",{className:"flex items-center justify-between w-full",children:t("span",{className:"text-base font-medium text-[#0F172A]",children:["Hiring in ",a.name]})})}),o(A,{children:t("div",{className:"flex flex-col gap-1",children:[l&&o("a",{href:l,target:"_blank",className:"RemoteFlows__Link",children:"Explore our complete guide \u2197"}),r&&o("a",{href:r,target:"_blank",className:"RemoteFlows__Link",children:"Explore our available benefits \u2197"})]})})]})})}d(q,"HiringSection");function J({isMultipleCurrency:e,className:r}){return t("div",{className:i("RemoteFlows__EstimationResults__Headers grid grid-cols-3 items-center",r),children:[o("span",{"aria-hidden":!0}),e?t(b,{children:[o("span",{className:"RemoteFlows__EstimationResults__Headers__Label",children:"Employee currency"}),o("span",{className:"RemoteFlows__EstimationResults__Headers__Label",children:"Employer currency"})]}):t(b,{children:[o("span",{}),o("span",{className:"RemoteFlows__EstimationResults__Headers__Label",children:"Amount"})]})]})}d(J,"EstimationHeaders");function I({label:e,amounts:r,className:l,children:a}){let[_,m]=O(!0);return t("div",{className:i("RemoteFlows__EstimationResults__Row",l),children:[t("div",{className:"RemoteFlows__EstimationRow__Grid grid grid-cols-3 items-center",children:[t("div",{className:"RemoteFlows__EstimationRow__LabelContainer flex items-center gap-2",children:[o("span",{className:i("RemoteFlows__EstimationRow__Title min-w-[140px] font-medium text-[#09090B]"),children:e}),o("button",{onClick:()=>m(!_),className:"RemoteFlows__EstimationRow__CollapseButton p-1 hover:bg-gray-100 rounded",children:o(S,{className:`h-4 w-4 text-muted-foreground transition-transform ${_?"rotate-180":""}`})})]}),Array.isArray(r)?r.map((c,u)=>o("span",{className:i("RemoteFlows__EstimationRow__RegionalAmount text-right font-medium text-[#09090B]"),children:c},u)):t(b,{children:[o("span",{}),o("span",{className:i("RemoteFlows__EstimationRow__EmployerAmount text-right font-medium text-[#09090B]"),children:r})]})]}),_&&a&&o("div",{className:"RemoteFlows__EstimationRow__CollapsibleContent mt-4",children:a})]})}d(I,"EstimationRow");function Q({item:e,isMultipleCurrency:r,level:l=0}){let[a,_]=O(!1),m=e.children&&e.children.length>0,c=l>0,u=e.isCollapsible||m;return t("li",{className:i("RemoteFlows__BreakdownList__Item pb-3",c&&"pb-1"),children:[t("div",{className:i(r?"RemoteFlows__BreakdownList__Grid grid grid-cols-3 items-center justify-between":"RemoteFlows__BreakdownList__Grid grid grid-cols-2 items-center justify-between"),children:[t("div",{className:i("RemoteFlows__BreakdownList__LabelContainer flex items-center gap-2",c&&"pl-3"),children:[!c&&o("span",{className:"RemoteFlows__BreakdownList__Bullet w-1 h-1 bg-[#09090B] rounded-full flex-shrink-0","aria-hidden":"true"}),u?t("button",{onClick:()=>_(!a),className:"RemoteFlows__BreakdownList__CollapseButton flex items-center gap-2 hover:bg-gray-100 rounded p-1",children:[o("span",{className:i(c?"RemoteFlows__BreakdownList__Text--Nested text-xs text-[#71717A]":"RemoteFlows__BreakdownList__Text--NotNested text-sm text-[#09090B]"),children:e.label}),o(S,{className:`RemoteFlows__BreakdownList__ChevronDown h-3 w-3 text-muted-foreground transition-transform ${a?"rotate-180":""}`})]}):o("span",{className:i(c?"RemoteFlows__BreakdownList__Text--Nested text-xs text-[#71717A]":"RemoteFlows__BreakdownList__Text--NotNested text-sm text-[#09090B] p-1"),children:e.label}),e.tooltip&&o(T,{content:t(b,{children:[o("span",{dangerouslySetInnerHTML:{__html:F(e.tooltip)}})," ",e.zendeskId&&o(f,{zendeskId:Number(e.zendeskId),children:"Learn more"})]}),children:o("button",{className:"RemoteFlows__BreakdownList__InfoButton p-1 hover:bg-gray-100 rounded",children:o($,{className:i("RemoteFlows__BreakdownList__InfoButton__Icon text-muted-foreground",c?"h-3 w-3":"h-4 w-4")})})})]}),r?t(b,{children:[o("span",{"data-testid":e.dataSelector&&e.dataSelector+"-employee-amount",className:i("RemoteFlows__BreakdownList__RegionalAmountText text-sm text-right",c?"RemoteFlows__BreakdownList__RegionalAmountText--Nested text-[#71717A]":"RemoteFlows__BreakdownList__RegionalAmountText--NotNested text-[#09090B]"),children:e.regionalAmount||"\u2014"}),o("span",{"data-testid":e.dataSelector&&e.dataSelector+"-employer-amount",className:i("RemoteFlows__BreakdownList__EmployerAmountText text-sm text-right",c?"RemoteFlows__BreakdownList__EmployerAmountText--Nested text-[#71717A]":"RemoteFlows__BreakdownList__EmployerAmountText--NotNested text-[#09090B]"),children:e.employerAmount||"\u2014"})]}):o("span",{"data-testid":e.dataSelector,className:i("RemoteFlows__BreakdownList__RegionalAmountText text-sm text-right",c?"RemoteFlows__BreakdownList__RegionalAmountText--Nested text-[#71717A]":"RemoteFlows__BreakdownList__RegionalAmountText--NotNested text-[#09090B]"),children:e.regionalAmount||"\u2014"})]}),m&&a&&o("div",{className:"mt-1",children:o(k,{items:e.children,isMultipleCurrency:r,level:l+1})})]})}d(Q,"BreakdownListItem");function k({items:e,isMultipleCurrency:r,className:l,level:a}){return o("ul",{className:i("RemoteFlows__BreakdownList list-none",l),children:e.map((_,m)=>o(Q,{item:_,isMultipleCurrency:r,level:a},m))})}d(k,"BreakdownList");var pe=d(({estimation:e,title:r,components:l,onDelete:a,onExportPdf:_,onEdit:m})=>{let c=l?.HiringSection||q,u=l?.OnboardingTimeline||Y,z=l?.Header||K,h=l?.Footer,H=V(),p=e.employer_currency_costs.currency.code!==e.regional_currency_costs.currency.code,v=e.employer_currency_costs.monthly_management_fee,D=e.region.code!==e.country.code,M=n(e.regional_currency_costs.annual_gross_salary,e.regional_currency_costs.currency.symbol);return t(C,{className:"RemoteFlows__EstimationResults__Card p-10",children:[o("div",{className:"RemoteFlows__Separator",children:o(z,{title:r,annualGrossSalary:M,region:D?e.region:void 0,country:e.country,onDelete:a,onExportPdf:_,onEdit:m})}),t("div",{className:"RemoteFlows__Separator",children:[o(J,{isMultipleCurrency:p,className:"mb-3"}),o(I,{label:"Monthly total cost",amounts:p?[n(e.regional_currency_costs.monthly_total,e.regional_currency_costs.currency.symbol),n(e.employer_currency_costs.monthly_total,e.employer_currency_costs.currency.symbol)]:n(e.regional_currency_costs.monthly_total,e.regional_currency_costs.currency.symbol),children:o(k,{items:[{label:"Gross monthly salary",regionalAmount:n(e.regional_currency_costs.monthly_gross_salary,e.regional_currency_costs.currency.symbol),employerAmount:n(e.employer_currency_costs.monthly_gross_salary,e.employer_currency_costs.currency.symbol),zendeskId:w.extraPayments.toString(),tooltip:"This country respects extra payments on top of the gross salary."},{label:"Mandatory employer costs",regionalAmount:n(e.regional_currency_costs.monthly_contributions_total,e.regional_currency_costs.currency.symbol),employerAmount:n(e.employer_currency_costs.monthly_contributions_total,e.employer_currency_costs.currency.symbol),children:e.employer_currency_costs.monthly_contributions_breakdown?.map((s,y)=>({label:s.name,regionalAmount:n(e.regional_currency_costs.monthly_contributions_breakdown?.[y]?.amount,e.regional_currency_costs.currency.symbol),employerAmount:n(s.amount,e.employer_currency_costs.currency.symbol),zendeskId:s.zendesk_article_id||void 0,tooltip:s.description||void 0}))||[]},{label:"Benefits",regionalAmount:n(e.regional_currency_costs.monthly_benefits_total,e.regional_currency_costs.currency.symbol),employerAmount:n(e.employer_currency_costs.monthly_benefits_total,e.employer_currency_costs.currency.symbol),children:e.employer_currency_costs.monthly_benefits_breakdown?.map((s,y)=>({label:s.name,regionalAmount:n(e.regional_currency_costs.monthly_benefits_breakdown?.[y]?.amount,e.regional_currency_costs.currency.symbol),employerAmount:n(s.amount,e.employer_currency_costs.currency.symbol),zendeskId:s.zendesk_article_id||void 0,tooltip:s.description||void 0}))||[]},...v?[{label:"Monthly fee",regionalAmount:n(e.regional_currency_costs.monthly_management_fee,e.regional_currency_costs.currency.symbol),employerAmount:n(e.employer_currency_costs.monthly_management_fee,e.employer_currency_costs.currency.symbol),tooltip:"Discounts may be available based on your commitment and team size. Speak to your account or customer success manager to learn more."}]:[]],isMultipleCurrency:p})})]}),o("div",{className:"RemoteFlows__Separator",children:o(I,{label:"Annual total cost",amounts:p?[n(e.regional_currency_costs.annual_total,e.regional_currency_costs.currency.symbol),n(e.employer_currency_costs.annual_total,e.employer_currency_costs.currency.symbol)]:n(e.regional_currency_costs.annual_total,e.regional_currency_costs.currency.symbol),children:o(k,{items:[{label:"Gross annual salary",dataSelector:"annual-gross-salary",regionalAmount:n(e.regional_currency_costs.annual_gross_salary,e.regional_currency_costs.currency.symbol),employerAmount:n(e.employer_currency_costs.annual_gross_salary,e.employer_currency_costs.currency.symbol)},{label:"Mandatory employer costs",regionalAmount:n(e.regional_currency_costs.annual_contributions_total,e.regional_currency_costs.currency.symbol),employerAmount:n(e.employer_currency_costs.annual_contributions_total,e.employer_currency_costs.currency.symbol),children:e.employer_currency_costs.annual_contributions_breakdown?.map((s,y)=>({label:s.name,regionalAmount:n(e.regional_currency_costs.annual_contributions_breakdown?.[y]?.amount,e.regional_currency_costs.currency.symbol),employerAmount:n(s.amount,e.employer_currency_costs.currency.symbol),zendeskId:s.zendesk_article_id||void 0,tooltip:s.description||void 0}))||[]},{label:"Benefits",regionalAmount:n(e.regional_currency_costs.annual_benefits_total,e.regional_currency_costs.currency.symbol),employerAmount:n(e.employer_currency_costs.annual_benefits_total,e.employer_currency_costs.currency.symbol),children:e.employer_currency_costs.annual_benefits_breakdown?.map((s,y)=>({label:s.name,regionalAmount:n(e.regional_currency_costs.annual_benefits_breakdown?.[y]?.amount,e.regional_currency_costs.currency.symbol),employerAmount:n(s.amount,e.employer_currency_costs.currency.symbol),zendeskId:s.zendesk_article_id||void 0,tooltip:s.description||void 0}))||[]},{label:"Extra statutory payments",regionalAmount:n(e.regional_currency_costs.extra_statutory_payments_total,e.regional_currency_costs.currency.symbol),employerAmount:n(e.employer_currency_costs.extra_statutory_payments_total,e.employer_currency_costs.currency.symbol),children:e.employer_currency_costs.extra_statutory_payments_breakdown?.map((s,y)=>({label:s.name,regionalAmount:n(e.regional_currency_costs.extra_statutory_payments_breakdown?.[y]?.amount,e.regional_currency_costs.currency.symbol),employerAmount:n(s.amount,e.employer_currency_costs.currency.symbol),zendeskId:s.zendesk_article_id||void 0,tooltip:s.description||void 0}))||[]},...v?[{label:"Annual fee",regionalAmount:n(e.regional_currency_costs.annual_management_fee,e.regional_currency_costs.currency.symbol),employerAmount:n(e.employer_currency_costs.annual_management_fee,e.employer_currency_costs.currency.symbol),tooltip:"Discounts may be available based on your commitment and team size. Speak to your account or customer success manager to learn more."}]:[]],isMultipleCurrency:p})})}),o("div",{className:"RemoteFlows__Separator",children:o(u,{minimumOnboardingDays:e.minimum_onboarding_time,data:H})}),o(c,{countryBenefitsUrl:e.country_benefits_details_url,countryGuideUrl:e.country_guide_url,country:e.country}),h&&o(h,{})]})},"EstimationResults");export{pe as a};
|
|
2
|
+
//# sourceMappingURL=chunk-W55MUSAS.js.map
|