@remoteoss/remote-flows 1.4.1 → 1.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-AGE76E7O.js → chunk-25M7VGZT.js} +2 -2
- package/dist/{chunk-X6325UGJ.js → chunk-2XVUZH4T.js} +2 -2
- package/dist/{chunk-R5GUJ3IC.js → chunk-5HXPBCU6.js} +2 -2
- package/dist/{chunk-QKKAJK3A.js → chunk-6YRMHTAZ.js} +2 -2
- package/dist/{chunk-DDAMD7E7.js → chunk-73BVEZJ6.js} +2 -2
- package/dist/chunk-AO2DMBDU.js +2 -0
- package/dist/chunk-AO2DMBDU.js.map +1 -0
- package/dist/{chunk-ALC6W3PW.js → chunk-B3TRTHW4.js} +2 -2
- package/dist/{chunk-WUSZWDKK.js → chunk-BF3P3CMA.js} +2 -2
- package/dist/{chunk-UIEXB3GW.js → chunk-BZAIUY5N.js} +2 -2
- package/dist/{chunk-UEEJS7TB.js → chunk-BZBPPV5B.js} +2 -2
- package/dist/chunk-CVRZA3VP.js +2 -0
- package/dist/chunk-CVRZA3VP.js.map +1 -0
- package/dist/chunk-DJ2OL5GS.js +2 -0
- package/dist/chunk-DJ2OL5GS.js.map +1 -0
- package/dist/chunk-EAV5VOMZ.js +2 -0
- package/dist/chunk-EAV5VOMZ.js.map +1 -0
- package/dist/{chunk-KLKPBGKL.js → chunk-JDNBIL6Z.js} +2 -2
- package/dist/{chunk-Z2AKDJE5.js → chunk-JHSQWGEK.js} +2 -2
- package/dist/{chunk-EMJ266VJ.js → chunk-KABFJTE2.js} +2 -2
- package/dist/{chunk-H327JOTI.js → chunk-KC6PLCTE.js} +2 -2
- package/dist/chunk-LEVFKYRL.js +2 -0
- package/dist/chunk-LEVFKYRL.js.map +1 -0
- package/dist/{chunk-UHWPRDRD.js → chunk-MWMX5KTM.js} +2 -2
- package/dist/{chunk-CD6F3YL4.js → chunk-OF66TZF4.js} +2 -2
- package/dist/{chunk-457SZDZQ.js → chunk-QLX4J76Z.js} +2 -2
- package/dist/{chunk-6E5GX7W3.js → chunk-RWYXH6CE.js} +1 -1
- package/dist/chunk-RWYXH6CE.js.map +1 -0
- package/dist/{chunk-5PB3CLBH.js → chunk-TKSW7MGC.js} +2 -2
- package/dist/{chunk-7JDWTTYE.js → chunk-WMB752CR.js} +2 -2
- package/dist/{chunk-JWDXZLGS.js → chunk-X5ZNVQAZ.js} +2 -2
- package/dist/chunk-XB4IEQ25.js +2 -0
- package/dist/chunk-XB4IEQ25.js.map +1 -0
- package/dist/{chunk-NGYAG3LB.js → chunk-Y75E2FOC.js} +2 -2
- package/dist/{chunk-6LQ6BSOS.js → chunk-ZK27BWOZ.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/context.d.ts +3 -3
- package/dist/flows/ContractAmendment/hooks.d.ts +3 -3
- package/dist/flows/ContractAmendment/hooks.js +1 -1
- package/dist/flows/ContractAmendment/index.d.ts +3 -3
- package/dist/flows/ContractAmendment/index.js +1 -1
- package/dist/flows/ContractAmendment/types.d.ts +2 -2
- package/dist/flows/ContractAmendment/utils.d.ts +2 -2
- package/dist/flows/ContractorOnboarding/ContractorOnboarding.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/ContractorOnboarding.js +1 -1
- package/dist/flows/ContractorOnboarding/api.d.ts +2 -2
- package/dist/flows/ContractorOnboarding/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/OnboardingInvite.d.ts +3 -3
- package/dist/flows/ContractorOnboarding/components/OnboardingInvite.js +1 -1
- package/dist/flows/ContractorOnboarding/components/PricingPlan.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/components/PricingPlan.js +1 -1
- package/dist/flows/ContractorOnboarding/components/SelectCountryStep.d.ts +4 -4
- package/dist/flows/ContractorOnboarding/context.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/hooks.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/hooks.js +1 -1
- package/dist/flows/ContractorOnboarding/index.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/index.js +1 -1
- package/dist/flows/ContractorOnboarding/types.d.ts +5 -5
- package/dist/flows/ContractorOnboarding/utils.d.ts +2 -2
- package/dist/flows/CostCalculator/CostCalculatorFlow.d.ts +3 -3
- package/dist/flows/CostCalculator/CostCalculatorFlow.js +1 -1
- package/dist/flows/CostCalculator/CostCalculatorForm.d.ts +3 -3
- package/dist/flows/CostCalculator/CostCalculatorForm.js +1 -1
- package/dist/flows/CostCalculator/EstimationResults/EstimationResults.d.ts +2 -2
- package/dist/flows/CostCalculator/SummaryResults/SummaryResults.d.ts +2 -2
- package/dist/flows/CostCalculator/api.d.ts +2 -2
- package/dist/flows/CostCalculator/components/SalaryField.d.ts +2 -2
- package/dist/flows/CostCalculator/context.d.ts +3 -3
- package/dist/flows/CostCalculator/hooks.d.ts +3 -3
- package/dist/flows/CostCalculator/hooks.js +1 -1
- package/dist/flows/CostCalculator/index.d.ts +3 -3
- package/dist/flows/CostCalculator/index.js +1 -1
- package/dist/flows/CostCalculator/types.d.ts +2 -2
- package/dist/flows/CostCalculator/utils.d.ts +3 -3
- package/dist/flows/CostCalculator/utils.js +1 -1
- package/dist/flows/Onboarding/OnboardingFlow.d.ts +4 -4
- package/dist/flows/Onboarding/OnboardingFlow.js +1 -1
- package/dist/flows/Onboarding/api.d.ts +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/OnboardingInvite.js +1 -1
- package/dist/flows/Onboarding/components/ReviewStep.d.ts +4 -4
- package/dist/flows/Onboarding/components/SaveDraftButton.d.ts +3 -3
- package/dist/flows/Onboarding/components/SelectCountryStep.d.ts +4 -4
- package/dist/flows/Onboarding/components/SelectCountryStep.js +1 -1
- package/dist/flows/Onboarding/context.d.ts +6 -6
- package/dist/flows/Onboarding/hooks.d.ts +4 -4
- package/dist/flows/Onboarding/hooks.js +1 -1
- package/dist/flows/Onboarding/index.d.ts +4 -4
- package/dist/flows/Onboarding/index.js +1 -1
- package/dist/flows/Onboarding/types.d.ts +4 -4
- package/dist/flows/Onboarding/utils.d.ts +4 -4
- package/dist/flows/Termination/AdditionalDetailsForm.d.ts +4 -4
- package/dist/flows/Termination/AdditionalDetailsForm.js +1 -1
- package/dist/flows/Termination/EmployeeComunicationForm.d.ts +4 -4
- package/dist/flows/Termination/PaidTimeOffForm.d.ts +4 -4
- package/dist/flows/Termination/TerminationDetailsForm.d.ts +4 -4
- 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/api.d.ts +5 -5
- package/dist/flows/Termination/api.js +1 -1
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.d.ts +9 -10
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.js +1 -1
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.d.ts +9 -10
- package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.js +1 -1
- package/dist/flows/Termination/components/PaidTimeOff/types.d.ts +7 -8
- 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 +7 -8
- package/dist/flows/Termination/index.js +1 -1
- package/dist/flows/Termination/json-schemas/schema.d.ts +4 -4
- package/dist/flows/Termination/types.d.ts +4 -4
- package/dist/flows/Termination/utils.d.ts +4 -4
- package/dist/flows/types.d.ts +2 -2
- package/dist/index.css +1 -1
- package/dist/index.css.map +1 -1
- package/dist/index.d.ts +35 -12
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/internals.d.ts +3 -3
- package/dist/{mutations-DRSXskcC.d.ts → mutations-CwV3FSZa.d.ts} +1 -1
- package/dist/{remoteFlows-C1t2xwls.d.ts → remoteFlows-DqQyrI2g.d.ts} +1 -1
- package/dist/styles.css +1 -1
- package/dist/styles.css.map +1 -1
- package/dist/{types-BKLre2R6.d.ts → types-0uSX2WDe.d.ts} +3 -3
- package/dist/{types-C2LcMRHy.d.ts → types-DIabyGgC.d.ts} +4 -4
- package/dist/{types-CQoX--YI.d.ts → types-DrSvvUa_.d.ts} +3 -25
- package/dist/{types-C6psw625.d.ts → types-LQvj5Mqu.d.ts} +3 -3
- package/dist/{types.gen-D7WEgMDJ.d.ts → types.gen-DJv5QUrm.d.ts} +1 -1
- package/dist/{utils-CiZrW4Ac.d.ts → utils-CS1AeAaj.d.ts} +1 -1
- package/package.json +1 -1
- package/dist/chunk-2YTBWEC7.js +0 -2
- package/dist/chunk-2YTBWEC7.js.map +0 -1
- package/dist/chunk-6E5GX7W3.js.map +0 -1
- package/dist/chunk-BBOEK4Q5.js +0 -2
- package/dist/chunk-BBOEK4Q5.js.map +0 -1
- package/dist/chunk-LGUGZN57.js +0 -2
- package/dist/chunk-LGUGZN57.js.map +0 -1
- package/dist/chunk-NHZTYFOJ.js +0 -2
- package/dist/chunk-NHZTYFOJ.js.map +0 -1
- package/dist/chunk-RTQ4GKPG.js +0 -2
- package/dist/chunk-RTQ4GKPG.js.map +0 -1
- package/dist/chunk-V334GIML.js +0 -2
- package/dist/chunk-V334GIML.js.map +0 -1
- /package/dist/{chunk-AGE76E7O.js.map → chunk-25M7VGZT.js.map} +0 -0
- /package/dist/{chunk-X6325UGJ.js.map → chunk-2XVUZH4T.js.map} +0 -0
- /package/dist/{chunk-R5GUJ3IC.js.map → chunk-5HXPBCU6.js.map} +0 -0
- /package/dist/{chunk-QKKAJK3A.js.map → chunk-6YRMHTAZ.js.map} +0 -0
- /package/dist/{chunk-DDAMD7E7.js.map → chunk-73BVEZJ6.js.map} +0 -0
- /package/dist/{chunk-ALC6W3PW.js.map → chunk-B3TRTHW4.js.map} +0 -0
- /package/dist/{chunk-WUSZWDKK.js.map → chunk-BF3P3CMA.js.map} +0 -0
- /package/dist/{chunk-UIEXB3GW.js.map → chunk-BZAIUY5N.js.map} +0 -0
- /package/dist/{chunk-UEEJS7TB.js.map → chunk-BZBPPV5B.js.map} +0 -0
- /package/dist/{chunk-KLKPBGKL.js.map → chunk-JDNBIL6Z.js.map} +0 -0
- /package/dist/{chunk-Z2AKDJE5.js.map → chunk-JHSQWGEK.js.map} +0 -0
- /package/dist/{chunk-EMJ266VJ.js.map → chunk-KABFJTE2.js.map} +0 -0
- /package/dist/{chunk-H327JOTI.js.map → chunk-KC6PLCTE.js.map} +0 -0
- /package/dist/{chunk-UHWPRDRD.js.map → chunk-MWMX5KTM.js.map} +0 -0
- /package/dist/{chunk-CD6F3YL4.js.map → chunk-OF66TZF4.js.map} +0 -0
- /package/dist/{chunk-457SZDZQ.js.map → chunk-QLX4J76Z.js.map} +0 -0
- /package/dist/{chunk-5PB3CLBH.js.map → chunk-TKSW7MGC.js.map} +0 -0
- /package/dist/{chunk-7JDWTTYE.js.map → chunk-WMB752CR.js.map} +0 -0
- /package/dist/{chunk-JWDXZLGS.js.map → chunk-X5ZNVQAZ.js.map} +0 -0
- /package/dist/{chunk-NGYAG3LB.js.map → chunk-Y75E2FOC.js.map} +0 -0
- /package/dist/{chunk-6LQ6BSOS.js.map → chunk-ZK27BWOZ.js.map} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as l}from"./chunk-ZJAFMNUN.js";import{b as s}from"./chunk-TOA3JILU.js";import{b as t}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as l}from"./chunk-ZJAFMNUN.js";import{b as s}from"./chunk-TOA3JILU.js";import{b as t}from"./chunk-EAV5VOMZ.js";import{a as n}from"./chunk-P37U34EQ.js";import{jsx as u}from"react/jsx-runtime";function w({onSubmit:d,onSuccess:c,onError:a}){let{contractorOnboardingBag:r}=s(),m=n(async e=>{try{let i=await r.parseFormValues(e);await d?.(i);let o=await r.onSubmit(e);if(o?.data){await c?.(o?.data),r?.next();return}if(o?.error){let P=t(o?.fieldErrors||[],r.meta?.fields?.pricing_plan);a?.({error:o?.error,rawError:o?.rawError,fieldErrors:P})}}catch(i){a?.({error:i,rawError:i,fieldErrors:[]})}},"handleSubmit"),p=r.stepState.values?.pricing_plan||r.initialValues.pricing_plan;return u(l,{defaultValues:p,onSubmit:m})}n(w,"PricingPlanStep");export{w as a};
|
|
2
|
+
//# sourceMappingURL=chunk-25M7VGZT.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{b as u}from"./chunk-TOA3JILU.js";import{d as m}from"./chunk-N3X274GT.js";import{a as d}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{b as u}from"./chunk-TOA3JILU.js";import{d as m}from"./chunk-N3X274GT.js";import{a as d}from"./chunk-EAV5VOMZ.js";import{a}from"./chunk-NFWNYW2E.js";import{b as s}from"./chunk-KQPDXXG3.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as b}from"react/jsx-runtime";function k({onSubmit:c,onSuccess:p,onError:n,render:l,...o}){let{components:f}=s(),{contractorOnboardingBag:t}=u(),i=m(),{mutateAsync:y}=d(i),E=e(async()=>{try{if(await c?.(),t.employmentId){let r=await y({employment_id:t.employmentId});if(r.data){await p?.({data:r.data,employmentStatus:"invited"}),t.refetchEmployment();return}r.error&&n?.({error:r.error,rawError:r.rawError,fieldErrors:[]})}}catch(r){n?.({error:r,rawError:r,fieldErrors:[]})}},"handleSubmit"),v=f?.button||a;return b(v,{...o,disabled:i.isPending||o.disabled,onClick:r=>{E(),o.onClick?.(r)},children:l({employmentStatus:"invited"})})}e(k,"OnboardingInvite");export{k as a};
|
|
2
|
+
//# sourceMappingURL=chunk-2XVUZH4T.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as m}from"./chunk-ZJAFMNUN.js";import{b as s}from"./chunk-TOA3JILU.js";import{b as e}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as m}from"./chunk-ZJAFMNUN.js";import{b as s}from"./chunk-TOA3JILU.js";import{b as e}from"./chunk-EAV5VOMZ.js";import{a as i}from"./chunk-P37U34EQ.js";import{jsx as E}from"react/jsx-runtime";function b({onSubmit:d,onSuccess:l,onError:n}){let{contractorOnboardingBag:r}=s(),c=i(async t=>{try{let a=await r.parseFormValues(t);await d?.(a);let o=await r.onSubmit(t);if(o?.data){await l?.(o?.data),r?.next();return}if(o?.error){let p=e(o?.fieldErrors||[],r.meta?.fields?.basic_information);n?.({error:o?.error,rawError:o?.rawError,fieldErrors:p})}}catch(a){n?.({error:a,rawError:a,fieldErrors:[]})}},"handleSubmit"),f=r.stepState.values?.basic_information||r.initialValues.basic_information;return E(m,{defaultValues:f,onSubmit:c})}i(b,"BasicInformationStep");export{b as a};
|
|
2
|
+
//# sourceMappingURL=chunk-5HXPBCU6.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as g}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as g}from"./chunk-DJ2OL5GS.js";import{a as C}from"./chunk-EAV5VOMZ.js";import{a as _}from"./chunk-P5QKSFOE.js";import{G as E,d as P,t as F}from"./chunk-T6Q7IALZ.js";import{a as d,b as w}from"./chunk-ZCXTTVGV.js";import{a as j}from"./chunk-5BRMLRS7.js";import{d as c}from"./chunk-KQPDXXG3.js";import{d as y}from"./chunk-HRG5MSVG.js";import{a as e}from"./chunk-P37U34EQ.js";import{useMutation as b,useQuery as I}from"@tanstack/react-query";var B=e(({countryCode:n,employment:r,fieldValues:a,options:t})=>{let{client:l}=c(),m=t?.jsonSchemaVersion?.contract_amendments?{json_schema_version:t.jsonSchemaVersion.contract_amendments}:{};return I({queryKey:["contract-amendment-schema"],retry:!1,queryFn:e(async()=>{let o=await P({client:l,headers:{Authorization:""},query:{employment_id:r?.id,country_code:n,...m}});if(o.error||!o.data)throw new Error("Failed to fetch contract amendment schema");return o},"queryFn"),enabled:!!r,select:e(({data:o})=>{let u=o?.data||{};return _(u,a,t)},"select")})},"useContractAmendmentSchemaQuery"),J=e(n=>{let{client:r}=c(),a=n?.jsonSchemaVersion?.contract_amendments?{json_schema_version:n.jsonSchemaVersion.contract_amendments}:{};return b({mutationFn:e(t=>F({client:r,headers:{Authorization:""},body:t,query:{...a}}),"mutationFn")})},"useCreateContractAmendmentMutation"),K=e(n=>{let{client:r}=c(),a=n?.jsonSchemaVersion?.contract_amendments?{json_schema_version:n.jsonSchemaVersion.contract_amendments}:{};return b({mutationFn:e(t=>E({client:r,headers:{Authorization:""},body:t,query:{...a}}),"mutationFn")})},"useAutomatableContractAmendmentMutation"),te=e(({employmentId:n,countryCode:r,options:a})=>{let{fieldValues:t,setFieldValues:l,stepState:m,nextStep:o,previousStep:u}=j(d),{data:i,isLoading:v,isError:Q,error:q}=g({employmentId:n}),{data:s,isLoading:L,isError:M,error:T}=B({employment:i,countryCode:r,fieldValues:{...m.values?.[m.currentStep.name],...t},options:a}),k=w(i,s?.fields),S=J(a),A=K(a);async function z(p){let f=await y(p,s?.fields||[],{isPartialValidation:!1}),V={employment_id:i?.id,amendment_contract_id:i?.active_contract_id,contract_amendment:{...f}};switch(m.currentStep.name){case d.form.name:{let{mutateAsync:h}=C(A),H=await h(V);return o(),H}case d.confirmation_form.name:{let{mutateAsync:h}=C(S);return h(V)}default:throw new Error("Invalid step state")}}e(z,"onSubmit");async function O(p){if(s){let f=await y(p,s?.fields);return s?.handleValidation(f)}return null}e(O,"handleValidation");function x(){u()}return e(x,"back"),{stepState:m,fields:s?.fields||[],isLoading:v||L,isError:Q||M,error:q||T,isSubmitting:A.isPending||S.isPending,initialValues:k,values:t,handleValidation:O,checkFieldUpdates:l,onSubmit:z,back:x}},"useContractAmendment");export{te as a};
|
|
2
|
+
//# sourceMappingURL=chunk-6YRMHTAZ.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as m}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as m}from"./chunk-B3TRTHW4.js";import{b as s}from"./chunk-PGWKJ6FK.js";import{b as t}from"./chunk-EAV5VOMZ.js";import{a}from"./chunk-P37U34EQ.js";import{jsx as E}from"react/jsx-runtime";function b({onSubmit:d,onSuccess:l,onError:n}){let{onboardingBag:r}=s(),f=a(async e=>{try{let i=await r.parseFormValues(e);await d?.(i);let o=await r.onSubmit(e);if(o?.data){await l?.(o?.data),r?.next();return}if(o?.error){let c=t(o?.fieldErrors||[],r.meta?.fields?.basic_information);n?.({error:o?.error,rawError:o?.rawError,fieldErrors:c})}}catch(i){n?.({error:i,rawError:i,fieldErrors:[]})}},"handleSubmit"),p=r.stepState.values?.basic_information||r.initialValues.basic_information;return E(m,{defaultValues:p,onSubmit:f})}a(b,"BasicInformationStep");export{b as a};
|
|
2
|
+
//# sourceMappingURL=chunk-73BVEZJ6.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as n,c as i,d as m,e as s,f}from"./chunk-CVRZA3VP.js";import{a}from"./chunk-P37U34EQ.js";import{useState as O}from"react";var B=a(({proposedTerminationDate:e,employeeName:y,employmentId:o,employment:r,render:d})=>{let[t,u]=O(!1),l=m({employmentId:o}),p=n(e).toLocaleDateString("en-US",{month:"long",day:"numeric",year:"numeric"}),c=i({employmentId:o,options:{enabled:t}}),D=s({employmentId:o,date:e}),P=f({employmentId:o,proposedTerminationDate:e,employment:r});return d({leavePoliciesSummaryQuery:l,timeoffQuery:c||{data:{bookedDays:0,timeoffs:[]}},bookedTimeBeforeAndAfterTerminationQuery:D,formattedProposedTerminationDate:p,employeeName:y,proposedTerminationDate:e,summaryData:P??{data:{entitledDays:"0 days",bookedDays:"0 days",usedDays:"0 days",approvedDaysBeforeTermination:"0 days",approvedDaysAfterTermination:"0 days",remainingDays:"0 days",isUnlimitedPto:!1},isLoading:!1,isError:!1,error:null},employment:r,open:t,onOpenChange:a(()=>{u(T=>!T)},"onOpenChange")})},"PaidTimeOffContainer");export{B as a};
|
|
2
|
+
//# sourceMappingURL=chunk-AO2DMBDU.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.tsx"],"sourcesContent":["import {\n usePaidTimeoffBreakdownQuery,\n useTimeOffLeavePoliciesSummaryQuery,\n} from '@/src/common/api/timeoff';\nimport { parseLocalDate } from '@/src/common/dates';\nimport {\n useBookedTimeoffBeforeAndAfterTerminationQuery,\n useSummaryTimeOffDataQuery,\n} from '@/src/flows/Termination/api';\nimport { PaidTimeOffContainerProps } from '@/src/flows/Termination/components/PaidTimeOff/types';\nimport { useState } from 'react';\n\n/**\n * PaidTimeOffContainer component\n *\n * This is a container component that manages paid time off (PTO) data retrieval and state\n * for the termination flow. It aggregates multiple time off-related queries and formats\n * the termination date for display.\n *\n */\nexport const PaidTimeOffContainer = ({\n proposedTerminationDate,\n employeeName,\n employmentId,\n employment,\n render,\n}: PaidTimeOffContainerProps) => {\n const [open, setOpen] = useState(false);\n\n const leavePoliciesSummaryQuery = useTimeOffLeavePoliciesSummaryQuery({\n employmentId: employmentId,\n });\n\n const formattedProposedTerminationDate = parseLocalDate(\n proposedTerminationDate,\n ).toLocaleDateString('en-US', {\n month: 'long',\n day: 'numeric',\n year: 'numeric',\n });\n\n const timeoffQuery = usePaidTimeoffBreakdownQuery({\n employmentId: employmentId,\n options: {\n enabled: open,\n },\n });\n\n const bookedTimeBeforeAndAfterTerminationQuery =\n useBookedTimeoffBeforeAndAfterTerminationQuery({\n employmentId: employmentId,\n date: proposedTerminationDate,\n });\n\n // computed summary data\n const summaryData = useSummaryTimeOffDataQuery({\n employmentId: employmentId,\n proposedTerminationDate,\n employment: employment,\n });\n\n const onOpenChange = () => {\n setOpen((open) => !open);\n };\n\n return render({\n leavePoliciesSummaryQuery,\n timeoffQuery: timeoffQuery || {\n data: {\n bookedDays: 0,\n timeoffs: [],\n },\n },\n bookedTimeBeforeAndAfterTerminationQuery,\n formattedProposedTerminationDate,\n employeeName,\n proposedTerminationDate,\n summaryData: summaryData ?? {\n data: {\n entitledDays: '0 days',\n bookedDays: '0 days',\n usedDays: '0 days',\n approvedDaysBeforeTermination: '0 days',\n approvedDaysAfterTermination: '0 days',\n remainingDays: '0 days',\n isUnlimitedPto: false,\n },\n isLoading: false,\n isError: false,\n error: null,\n },\n employment: employment,\n open,\n onOpenChange,\n });\n};\n"],"mappings":"kGAUA,OAAS,YAAAA,MAAgB,QAUlB,IAAMC,EAAuBC,EAAA,CAAC,CACnC,wBAAAC,EACA,aAAAC,EACA,aAAAC,EACA,WAAAC,EACA,OAAAC,CACF,IAAiC,CAC/B,GAAM,CAACC,EAAMC,CAAO,EAAIC,EAAS,EAAK,EAEhCC,EAA4BC,EAAoC,CACpE,aAAcP,CAChB,CAAC,EAEKQ,EAAmCC,EACvCX,CACF,EAAE,mBAAmB,QAAS,CAC5B,MAAO,OACP,IAAK,UACL,KAAM,SACR,CAAC,EAEKY,EAAeC,EAA6B,CAChD,aAAcX,EACd,QAAS,CACP,QAASG,CACX,CACF,CAAC,EAEKS,EACJC,EAA+C,CAC7C,aAAcb,EACd,KAAMF,CACR,CAAC,EAGGgB,EAAcC,EAA2B,CAC7C,aAAcf,EACd,wBAAAF,EACA,WAAYG,CACd,CAAC,EAMD,OAAOC,EAAO,CACZ,0BAAAI,EACA,aAAcI,GAAgB,CAC5B,KAAM,CACJ,WAAY,EACZ,SAAU,CAAC,CACb,CACF,EACA,yCAAAE,EACA,iCAAAJ,EACA,aAAAT,EACA,wBAAAD,EACA,YAAagB,GAAe,CAC1B,KAAM,CACJ,aAAc,SACd,WAAY,SACZ,SAAU,SACV,8BAA+B,SAC/B,6BAA8B,SAC9B,cAAe,SACf,eAAgB,EAClB,EACA,UAAW,GACX,QAAS,GACT,MAAO,IACT,EACA,WAAYb,EACZ,KAAAE,EACA,aAhCmBN,EAAA,IAAM,CACzBO,EAASD,GAAS,CAACA,CAAI,CACzB,EAFqB,eAiCrB,CAAC,CACH,EA3EoC","names":["useState","PaidTimeOffContainer","__name","proposedTerminationDate","employeeName","employmentId","employment","render","open","setOpen","useState","leavePoliciesSummaryQuery","useTimeOffLeavePoliciesSummaryQuery","formattedProposedTerminationDate","parseLocalDate","timeoffQuery","usePaidTimeoffBreakdownQuery","bookedTimeBeforeAndAfterTerminationQuery","useBookedTimeoffBeforeAndAfterTerminationQuery","summaryData","useSummaryTimeOffDataQuery"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{b as y}from"./chunk-PGWKJ6FK.js";import{a as u}from"./chunk-22HZVTR7.js";import{b as c}from"./chunk-LNV36S6D.js";import{b as F}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{b as y}from"./chunk-PGWKJ6FK.js";import{a as u}from"./chunk-22HZVTR7.js";import{b as c}from"./chunk-LNV36S6D.js";import{b as F}from"./chunk-EAV5VOMZ.js";import{f,g as p}from"./chunk-CR7AIZKA.js";import{a as m}from"./chunk-P37U34EQ.js";import{useEffect as S}from"react";import{jsx as b}from"react/jsx-runtime";import{createElement as V}from"react";function N({defaultValues:d,onSubmit:g,components:E}){let{formId:w,onboardingBag:o}=y(),k=c(o.handleValidation),r=f({resolver:k,defaultValues:d,shouldUnregister:!1,mode:"onBlur"});S(()=>{o.employmentId&&o?.checkFieldUpdates(r.getValues())},[]),S(()=>{let t=r?.watch(e=>{Object.keys(e).some(i=>e[i]!==d[i])&&o?.checkFieldUpdates(e)});return()=>t?.unsubscribe()},[]);let h=m(async(t,e)=>{let s=e?.nativeEvent;if(s?.isDraftSubmission){let{onSuccess:i,onError:l}=s.draftCallbacks;try{if(!await r.trigger())return;let n=await o.onSubmit(t);if(n?.data)i?.();else if(n?.error){let P=o.stepState.currentStep.name,B=o.meta?.fields?.[P],O=F(n?.fieldErrors||[],B);l?.({error:n.error,rawError:n.rawError,fieldErrors:O})}}catch(a){l?.({error:a,rawError:a,fieldErrors:[]})}}else await g(t)},"handleSubmit");return V(p,{...r,key:`form-${o.stepState.currentStep.name}`},b("form",{id:w,onSubmit:r.handleSubmit(h),className:"space-y-4 RemoteFlows__OnboardingForm",children:b(u,{components:E,fields:o.fields,fieldsets:o.meta.fieldsets,fieldValues:o.fieldValues})}))}m(N,"OnboardingForm");export{N as a};
|
|
2
|
+
//# sourceMappingURL=chunk-B3TRTHW4.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{b as f}from"./chunk-KSHK3ZPX.js";import{a as F}from"./chunk-22HZVTR7.js";import{b as p}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{b as f}from"./chunk-KSHK3ZPX.js";import{a as F}from"./chunk-22HZVTR7.js";import{b as p}from"./chunk-EAV5VOMZ.js";import{g as C}from"./chunk-CR7AIZKA.js";import{g as E}from"./chunk-UQCSN47K.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=await 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-BF3P3CMA.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as X,f as Z,h as tt,k as et}from"./chunk-N3X274GT.js";import{c as z,d as Q}from"./chunk-H6YNMT4M.js";import{a as at,b as it,c as st,e as ct,f as lt,g as dt,h as mt}from"./chunk-MD2QFLXC.js";import{a as ot,b as rt}from"./chunk-3UDG4IJO.js";import{a as ut,b as pt,c as ft,d as yt}from"./chunk-LOHRUY4J.js";import{a as E}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as X,f as Z,h as tt,k as et}from"./chunk-N3X274GT.js";import{c as z,d as Q}from"./chunk-H6YNMT4M.js";import{a as at,b as it,c as st,e as ct,f as lt,g as dt,h as mt}from"./chunk-MD2QFLXC.js";import{a as ot,b as rt}from"./chunk-3UDG4IJO.js";import{a as ut,b as pt,c as ft,d as yt}from"./chunk-LOHRUY4J.js";import{a as E}from"./chunk-EAV5VOMZ.js";import{a as nt}from"./chunk-5BRMLRS7.js";import{d as f,e as C}from"./chunk-HRG5MSVG.js";import{g as V}from"./chunk-UQCSN47K.js";import{a as p}from"./chunk-P37U34EQ.js";import{useEffect as Qt,useMemo as c,useRef as Xt,useState as J}from"react";var Zt={select_country:null,basic_information:"employment_basic_information",contract_details:null,pricing_plan:null,contract_preview:null,review:null},te={employment_basic_information:"basic_information"},ee=new Date().toISOString().split("T")[0],fe=p(({countryCode:_t,externalId:St,employmentId:y,skipSteps:gt,options:P,initialValues:i})=>{let[a,A]=J(_t||null),[r,bt]=J(y),[T,Ct]=J(void 0),O=Xt({select_country:{},basic_information:{},contract_details:{},contract_preview:{},pricing_plan:{}}),wt=gt?.includes("select_country")?pt:ut,{fieldValues:m,stepState:e,setFieldValues:Ft,previousStep:vt,nextStep:ht,goToStep:I,setStepValues:B}=nt(wt),{data:s,isLoading:R,refetch:Vt}=X(r),{status:_}=s||{},L=_&&z.includes(_),Et=_&&!Q.includes(_),Pt=c(()=>_==="invited"?"invited":"not_invited",[_]),q=tt(),N=lt(),x=it(),Ot=ct(),{mutateAsync:Mt}=E(q),{mutateAsync:Dt}=E(N),{mutateAsync:Tt}=E(x),{mutateAsync:U}=E(Ot);y&&s?.country?.code&&!a&&A(s.country.code);let{selectCountryForm:M,isLoading:It}=et({jsfModify:P?.jsfModify?.select_country,queryOptions:{enabled:e.currentStep.name==="select_country"}}),{form:H,isLoading:Rt}=mt(r,{jsonSchemaVersion:P?.jsonSchemaVersion,queryOptions:{enabled:e.currentStep.name==="pricing_plan"}}),Lt=Zt[e.currentStep.name]||"contractor_basic_information",jt=te[Lt],kt=s?.[jt]||{},Jt=p(({form:t,options:o={},query:g={}})=>{let b=Object.keys(m).length>0?{...i,...e.values?.[e.currentStep.name],...m}:{...i,...kt};return Z({countryCode:a,form:t,fieldValues:b,query:g,options:{...o,queryOptions:{enabled:o.queryOptions?.enabled??!0}}})},"useJSONSchema"),At=!!(a&&(e.currentStep.name==="basic_information"||y)),Bt=!!(a&&(e.currentStep.name==="contract_details"||y)),{data:l,isLoading:qt}=Jt({form:"contractor_basic_information",options:{jsfModify:P?.jsfModify?.basic_information,queryOptions:{enabled:At}}}),Nt=c(()=>ft(s?.basic_information?.provisional_start_date,m?.service_duration?.provisional_start_date),[s?.basic_information?.provisional_start_date,m?.service_duration?.provisional_start_date]),{data:d,isLoading:xt}=dt({countryCode:a,fieldValues:m,options:{queryOptions:{enabled:Bt},jsfModify:yt(P?.jsfModify?.contract_details,Nt)}}),{data:u}=at({fieldValues:m,options:{queryOptions:{enabled:e.currentStep.name==="contract_preview"}}}),{data:Ut,isLoading:Ht}=st({employmentId:r,contractDocumentId:T,options:{queryOptions:{enabled:!!T}}}),n=c(()=>({select_country:M?.fields||[],basic_information:l?.fields||[],pricing_plan:H?.fields||[],contract_details:d?.fields||[],contract_preview:u?.fields||[],review:[]}),[M?.fields,l?.fields,H?.fields,d?.fields,u?.fields]),Gt={select_country:null,basic_information:l?.meta["x-jsf-fieldsets"],pricing_plan:null,contract_details:d?.meta["x-jsf-fieldsets"],contract_preview:null,review:null},{country:Wt,basic_information:D={},contract_details:S={}}=s||{},G=Wt?.code,w=c(()=>C(n.select_country,{country:a||G||""}),[n.select_country,a,G]),F=c(()=>{let t={provisional_start_date:ee,...i,...D};return C(n.basic_information,t)},[n.basic_information,D,i]),v=c(()=>{let o={...{service_duration:{provisional_start_date:D.provisional_start_date}},...i,...S};return C(n.contract_details,o)},[n.contract_details,S,i,D]),W=c(()=>{let t={...i,...S};return C(n.contract_preview,t)},[n.contract_preview,S,i]),$=c(()=>{let t={...i,...S};return C(n.pricing_plan,t?.pricing_plan??{})},[n.pricing_plan,S,i]),$t=c(()=>({select_country:w,basic_information:F,contract_details:v,contract_preview:W,pricing_plan:$}),[w,F,v,W,$]),K=c(()=>!!(!!(y&&L&&e.currentStep.name!=="review")&&!R&&n.basic_information.length>0&&n.contract_details.length>0),[y,L,R,n.basic_information.length,n.contract_details.length,e.currentStep.name]);Qt(()=>{K&&(O.current={select_country:V(w,n.select_country),basic_information:V(F,n.basic_information),contract_details:V(v,n.contract_details),contract_preview:{},pricing_plan:{}},B({select_country:w,basic_information:F,contract_details:v,contract_preview:{},pricing_plan:{},review:{}}),I("review"))},[K,I,w,F,v,B,n.select_country,n.basic_information,n.contract_details]);let Kt=p(t=>{I(t)},"goTo"),Y=p(async t=>M&&e.currentStep.name==="select_country"?t:l&&e.currentStep.name==="basic_information"?await f(t,l?.fields,{isPartialValidation:!1}):d&&e.currentStep.name==="contract_details"?await f(t,d?.fields,{isPartialValidation:!1}):u&&e.currentStep.name==="contract_preview"?await f(t,u?.fields,{isPartialValidation:!1}):e.currentStep.name==="pricing_plan"?t:{},"parseFormValues");async function Yt(t){let o=e.currentStep.name;o in O.current&&(O.current[o]=V(t,n[o]));let g=await Y(t);switch(e.currentStep.name){case"select_country":return A(g.country),Promise.resolve({data:{countryCode:g.country}});case"basic_information":{let j=!r&&a,b=r&&a&&s?.country&&s?.country.code!==a;if(j||b){let k={basic_information:g,type:"contractor",country_code:a,external_id:St};try{let h=await Mt(k),zt=h.data?.data?.employment?.id;return bt(zt),h}catch(h){throw console.error("Error creating onboarding:",h),h}}else if(r)return Promise.resolve({data:{employmentId:r}});return}case"contract_details":{let b=await Dt({employmentId:r,payload:{contract_document:g}}),k=b.data?.data?.contract_document?.id;return Ct(k),b}case"contract_preview":return Tt({employmentId:r,contractDocumentId:T,payload:{signature:t.signature}});case"pricing_plan":return t.subscription==ot?U({employmentId:r,payload:{operation:"downgrade"}}):t.subscription==rt?U({employmentId:r,payload:{operation:"upgrade"}}):Promise.reject({error:"invalid selection"});default:throw new Error("Invalid step state")}}return p(Yt,"onSubmit"),{isLoading:It||qt||R||xt||Rt||Ht,fieldValues:m,stepState:e,checkFieldUpdates:Ft,back:vt,next:ht,goTo:Kt,onSubmit:Yt,fields:n[e.currentStep.name],meta:{fields:O.current,fieldsets:Gt[e.currentStep.name]},parseFormValues:Y,handleValidation:p(async t=>{if(e.currentStep.name==="select_country")return M.handleValidation(t);if(l&&e.currentStep.name==="basic_information"){let o=await f(t,l?.fields,{isPartialValidation:!1});return l?.handleValidation(o)}if(d&&e.currentStep.name==="contract_details"){let o=await f(t,d?.fields,{isPartialValidation:!1});return d?.handleValidation(o)}if(u&&e.currentStep.name==="contract_preview"){let o=await f(t,u?.fields,{isPartialValidation:!1});return u?.handleValidation(o)}return e.currentStep.name==="pricing_plan"?{formErrors:{}}:null},"handleValidation"),initialValues:$t,employmentId:r,refetchEmployment:Vt,isSubmitting:q.isPending||N.isPending||x.isPending,documentPreviewPdf:Ut,canInvite:Et,isEmploymentReadOnly:L,invitedStatus:Pt,employment:s}},"useContractorOnboarding");export{fe as a};
|
|
2
|
+
//# sourceMappingURL=chunk-BZAIUY5N.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a}from"./chunk-B3TRTHW4.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-BZBPPV5B.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as k}from"./chunk-6CASSN2Z.js";import{a as S}from"./chunk-XFD3ULUF.js";import{a as m,b as u,c as h,d as _}from"./chunk-DFJNVGK4.js";import{a as D}from"./chunk-P5QKSFOE.js";import{L as b,c as T,w as g}from"./chunk-T6Q7IALZ.js";import{d as i}from"./chunk-KQPDXXG3.js";import{a as n}from"./chunk-P37U34EQ.js";var y=n(e=>{let[t,r,o]=e.split("-").map(Number);return new Date(t,r-1,o)},"parseLocalDate");import{useQuery as v}from"@tanstack/react-query";var c=n(({employmentId:e,status:t,timeoffType:r,options:o})=>{let{client:a}=i();return v({queryKey:["timeoff",e,t],retry:!1,queryFn:n(()=>b({client:a,headers:{Authorization:""},query:{employment_id:e,status:t,timeoff_type:r}}),"queryFn"),select:n(({data:s})=>o?.select?.(s)??s,"select"),enabled:o?.enabled})},"useTimeOffQuery"),R=n((e,t)=>{let r=y(e).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"}),o=y(t).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"});return`${r} \u2192 ${o}`},"formatDateRange"),G=n(({employmentId:e,options:t})=>c({employmentId:e,timeoffType:"paid_time_off",options:{enabled:t?.enabled,select:n(r=>({bookedDays:r?.data?.timeoffs?.reduce((o,a)=>o+(a?.timeoff_days?.filter(s=>s.hours!=null&&s.hours>0).length||0),0)||0,timeoffs:r?.data?.timeoffs?.map(o=>{let a=o?.timeoff_days?.filter(s=>s.hours>0).length||0;return{status:o?.status,duration:a,startDate:o?.start_date,endDate:o?.end_date,formattedDate:R(o?.start_date,o?.end_date)}})||[]}),"select")}}),"usePaidTimeoffBreakdownQuery"),A=n(({employmentId:e})=>{let{client:t}=i();return v({queryKey:["timeoff-balance",e],retry:!1,queryFn:n(()=>g({client:t,headers:{Authorization:""},path:{employment_id:e}}),"queryFn"),select:n(({data:r})=>r,"select")})},"useTimeOffLeavePoliciesSummaryQuery");import{useMutation as E,useQuery as Q}from"@tanstack/react-query";function F(e){return Object.entries(e).reduce((t,[r,o])=>({...t,[r]:h(o)}),{})}n(F,"formatTimeoffValues");function q(e){let t=e?.contract_details?.available_pto,r=e?.contract_details?.available_pto_type;return e?.country?.code==="USA"&&r==="unlimited"?{value:t===0?20:t}:r==="unlimited"&&t>0?{value:t}:{value:t}}n(q,"getMinimumStatutoryDays");function w(e,t){let r=0,o=0;return e.forEach(a=>{a.timeoff_days?.forEach(s=>{new Date(s.day)<=t?r+=s.hours||0:o+=s.hours||0})}),{before:r,after:o}}n(w,"getAllTimeoffHoursBeforeDate");var M=n(({employmentId:e,date:t,options:r})=>c({employmentId:e,timeoffType:"paid_time_off",status:"approved",options:{enabled:r?.enabled,select:n(o=>{let{before:a,after:s}=w(o?.data?.timeoffs||[],new Date(t));return{bookedDaysBeforeTermination:u(a),bookedDaysAfterTermination:u(s)}},"select")}}),"useBookedTimeoffBeforeAndAfterTerminationQuery"),de=n(({employmentId:e,proposedTerminationDate:t,employment:r})=>{let{value:o=0}=q(r),a=A({employmentId:e}),s=M({employmentId:e,date:t}),p=a.data?.data?.[0].annual_entitlement.type==="limited"?{days:a.data?.data?.[0].annual_entitlement.days,hours:a.data?.data?.[0].annual_entitlement.hours}:{days:o,hours:0},d={days:a.data?.data?.[0].booked.days||0,hours:a.data?.data?.[0].booked.hours||0},f=a.data?.data?.[0].current_entitlement.type==="limited"?{days:a.data?.data?.[0].current_entitlement.days||0,hours:a.data?.data?.[0].current_entitlement.hours||0}:{days:o,hours:0},l={days:a.data?.data?.[0].used.days||0,hours:a.data?.data?.[0].used.hours||0},B=s.data?.bookedDaysBeforeTermination||{days:0,hours:0},x=s.data?.bookedDaysAfterTermination||{days:0,hours:0},C=m(f.days,f.hours),H=m(l.days,l.hours),L=m(d.days,d.hours),P=C-H-L,O=_(u(P));return{data:{...F({entitledDays:p,bookedDays:d,usedDays:l,approvedDaysBeforeTermination:B,approvedDaysAfterTermination:x,remainingDays:O,currentEntitlementDays:f}),isUnlimitedPto:r?.contract_details?.available_pto_type==="unlimited"},isLoading:a.isLoading||s.isLoading,isError:a.isError||s.isError,error:a.error||s.error}},"useSummaryTimeOffDataQuery"),fe=n(()=>{let{client:e}=i();return E({mutationFn:n(t=>T({client:e,body:t}),"mutationFn")})},"useCreateTermination"),le=n(({formValues:e,jsfModify:t,step:r})=>Q({queryKey:["rmt-flows-termination-schema",r],queryFn:n(()=>k[r]??S,"queryFn"),select:n(({data:o})=>{let a=o?.schema||{};return D(a,e||{},{jsfModify:t})},"select")}),"useTerminationSchema");export{y as a,c as b,G as c,A as d,M as e,de as f,fe as g,le as h};
|
|
2
|
+
//# sourceMappingURL=chunk-CVRZA3VP.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/common/dates.ts","../src/common/api/timeoff.ts","../src/flows/Termination/api.ts"],"sourcesContent":["export function getYearMonthDate(date: Date) {\n const year = date.getFullYear();\n const month = String(date.getMonth() + 1).padStart(2, '0');\n const day = String(date.getDate()).padStart(2, '0');\n\n return {\n year,\n month,\n day,\n };\n}\n\nexport const parseLocalDate = (dateString: string) => {\n const [year, month, day] = dateString.split('-').map(Number);\n return new Date(year, month - 1, day);\n};\n","import {\n getIndexLeavePoliciesSummary,\n getIndexTimeoff,\n ListTimeoffResponse,\n TimeoffStatus,\n TimeoffType,\n} from '@/src/client';\nimport { Client } from '@/src/client/client';\nimport { parseLocalDate } from '@/src/common/dates';\nimport { useClient } from '@/src/context';\nimport { useQuery } from '@tanstack/react-query';\n\n/**\n * Hook to retrieve time off data for a specific employment.\n *\n * @param {Object} params - The parameters for the query.\n * @param {string} [params.employmentId] - The ID of the employment to fetch time off data for.\n * @param {TimeoffStatus} [params.status] - The status of the time off requests to filter by (e.g., 'approved', 'pending').\n * @returns {UseQueryResult<any, unknown>} - The result of the query, including the time off data.\n *\n */\nexport const useTimeOffQuery = <TData = ListTimeoffResponse>({\n employmentId,\n status,\n timeoffType,\n options,\n}: {\n employmentId?: string;\n status?: TimeoffStatus;\n timeoffType?: TimeoffType;\n options?: {\n enabled?: boolean;\n select?: (data: ListTimeoffResponse | undefined) => TData;\n };\n}) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['timeoff', employmentId, status],\n retry: false,\n queryFn: () => {\n return getIndexTimeoff({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n query: {\n employment_id: employmentId,\n status: status,\n timeoff_type: timeoffType,\n },\n });\n },\n select: ({ data }) => (options?.select?.(data) ?? data) as TData,\n enabled: options?.enabled,\n });\n};\n\nconst formatDateRange = (startDate: string, endDate: string) => {\n const start = parseLocalDate(startDate).toLocaleDateString('en-US', {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n });\n const end = parseLocalDate(endDate).toLocaleDateString('en-US', {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n });\n return `${start} → ${end}`;\n};\n\nexport type PaidTimeoffBreakdownResponse = {\n bookedDays: number;\n timeoffs: {\n status: string;\n duration: number;\n startDate: string;\n endDate: string;\n formattedDate: string;\n }[];\n};\n\n/**\n * Hook to retrieve paid time off breakdown for a specific employment.\n *\n * @param {Object} params - The parameters for the query.\n * @param {string} [params.employmentId] - The ID of the employment to fetch paid time off breakdown for.\n * @returns {UseQueryResult<any, unknown>} - The result of the query, including the paid time off breakdown.\n *\n */\nexport const usePaidTimeoffBreakdownQuery = ({\n employmentId,\n options,\n}: {\n employmentId?: string;\n options?: {\n enabled?: boolean;\n };\n}) => {\n return useTimeOffQuery<PaidTimeoffBreakdownResponse>({\n employmentId,\n timeoffType: 'paid_time_off',\n options: {\n enabled: options?.enabled,\n select: (data) => {\n return {\n bookedDays:\n data?.data?.timeoffs?.reduce(\n (acc, timeoff) =>\n acc +\n (timeoff?.timeoff_days?.filter(\n (day) => day.hours != null && day.hours > 0,\n ).length || 0),\n 0,\n ) || 0,\n timeoffs:\n data?.data?.timeoffs?.map((timeoff) => {\n const duration =\n timeoff?.timeoff_days?.filter((day) => day.hours > 0).length ||\n 0;\n return {\n status: timeoff?.status,\n duration: duration,\n startDate: timeoff?.start_date,\n endDate: timeoff?.end_date,\n formattedDate: formatDateRange(\n timeoff?.start_date,\n timeoff?.end_date,\n ),\n };\n }) || [],\n };\n },\n },\n });\n};\n\n/**\n * Hook to retrieve time off balance for a specific employment.\n *\n * @param {Object} params - The parameters for the query.\n * @param {string} [params.employmentId] - The ID of the employment to fetch time off balance for.\n * @returns {UseQueryResult<any, unknown>} - The result of the query, including the time off balance.\n *\n */\nexport const useTimeOffLeavePoliciesSummaryQuery = ({\n employmentId,\n}: {\n employmentId?: string;\n}) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['timeoff-balance', employmentId],\n retry: false,\n queryFn: () => {\n return getIndexLeavePoliciesSummary({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n path: { employment_id: employmentId as string },\n });\n },\n select: ({ data }) => data,\n });\n};\n","import {\n CreateOffboardingParams,\n postCreateOffboarding,\n Timeoff,\n} from '@/src/client';\nimport {\n useTimeOffLeavePoliciesSummaryQuery,\n useTimeOffQuery,\n} from '@/src/common/api/timeoff';\nimport { useClient } from '@/src/context';\nimport { Employment } from '@/src/flows/Onboarding/types';\nimport { defaultSchema } from '@/src/flows/Termination/json-schemas/defaultSchema';\nimport { TerminationFormValues } from '@/src/flows/Termination/types';\nimport { JSFModify } from '@/src/flows/types';\nimport {\n clampNegativeValuesIfApplicable,\n convertTotalHoursToDaysAndHours,\n convertToTotalHours,\n DaysAndHours,\n formatAsDecimal,\n} from '@/src/lib/time';\nimport { Client } from '@/src/client/client';\nimport { createHeadlessForm } from '@/src/common/createHeadlessForm';\nimport { useMutation, useQuery } from '@tanstack/react-query';\nimport { schema } from '@/src/flows/Termination/json-schemas/schema';\n\nfunction formatTimeoffValues(\n values: Record<string, DaysAndHours>,\n): Record<string, string> {\n return Object.entries(values).reduce(\n (acc, [key, value]) => ({\n ...acc,\n [key]: formatAsDecimal(value),\n }),\n {},\n );\n}\n\nfunction getMinimumStatutoryDays(employment?: Employment) {\n const availablePto = employment?.contract_details?.available_pto as number;\n const ptoType = employment?.contract_details?.available_pto_type as\n | 'unlimited'\n | 'fixed';\n const countryCode = employment?.country?.code;\n\n // Special handling for countries without statutory minimums\n if (countryCode === 'USA' && ptoType === 'unlimited') {\n // USA has no minimum, but Remote recommends 20\n return {\n value: availablePto === 0 ? 20 : availablePto,\n };\n }\n\n // For most countries with unlimited PTO, available_pto IS the statutory minimum\n if (ptoType === 'unlimited' && availablePto > 0) {\n return {\n value: availablePto,\n };\n }\n\n // For fixed PTO, it's just the entitlement\n return {\n value: availablePto,\n };\n}\n\nexport type BookedTimeoffBeforeDateResponse = {\n /*\n * The number of days booked before termination.\n */\n bookedDaysBeforeTermination: DaysAndHours;\n /*\n * The number of days booked after termination.\n */\n bookedDaysAfterTermination: DaysAndHours;\n};\n\nfunction getAllTimeoffHoursBeforeDate(\n timeoffs: Timeoff[],\n terminationDate: Date,\n): { before: number; after: number } {\n let before = 0;\n let after = 0;\n\n timeoffs.forEach((timeoff) => {\n timeoff.timeoff_days?.forEach((day) => {\n const dayDate = new Date(day.day);\n if (dayDate <= terminationDate) {\n // Day is on or before termination\n before += day.hours || 0;\n } else {\n // Day is after termination\n after += day.hours || 0;\n }\n });\n });\n\n return { before, after };\n}\n\n/**\n * Hook to retrieve booked time off data before and after a specific date for a specific employment.\n *\n * @param {Object} params - The parameters for the query.\n * @param {string} [params.employmentId] - The ID of the employment to fetch booked time off data for.\n * @param {string} [params.date] - The date to fetch booked time off data for.\n * @returns {BookedTimeoffBeforeDateResponse} - The booked time off data before and after the specific date.\n *\n * This hook accounts for partial days and multiple timeoff_days per request.\n */\nexport const useBookedTimeoffBeforeAndAfterTerminationQuery = ({\n employmentId,\n date,\n options,\n}: {\n employmentId: string;\n date: string;\n options?: { enabled: boolean };\n}) => {\n return useTimeOffQuery<BookedTimeoffBeforeDateResponse>({\n employmentId,\n timeoffType: 'paid_time_off',\n status: 'approved',\n options: {\n enabled: options?.enabled,\n select: (data) => {\n const { before, after } = getAllTimeoffHoursBeforeDate(\n data?.data?.timeoffs || [],\n new Date(date),\n );\n\n return {\n bookedDaysBeforeTermination: convertTotalHoursToDaysAndHours(before),\n bookedDaysAfterTermination: convertTotalHoursToDaysAndHours(after),\n };\n },\n },\n });\n};\n\nexport type SummaryTimeOffDataResponse = {\n /*\n * The number of days entitled to per year.\n */\n entitledDays: string;\n /*\n * The number of days booked.\n */\n bookedDays: string;\n /*\n * The number of days used.\n */\n usedDays: string;\n /*\n * The number of days current entitlement, better than entitledDays because it takes into account the accrued value.\n */\n currentEntitlementDays: string;\n /*\n * The number of days approved before termination.\n */\n approvedDaysBeforeTermination: string;\n /*\n * The number of days approved after termination.\n */\n approvedDaysAfterTermination: string;\n /*\n * The number of days remaining.\n */\n remainingDays: string;\n /*\n * Whether the PTO is unlimited or not.\n */\n isUnlimitedPto: boolean;\n};\n\n/**\n * Hook to retrieve summary time off data for a specific employment.\n *\n * @param {Object} params - The parameters for the query.\n * @param {string} [params.employmentId] - The ID of the employment to fetch summary time off data for.\n * @param {string} [params.proposedTerminationDate] - The proposed termination date to fetch summary time off data for.\n * @returns {SummaryTimeOffDataResponse} - The summary time off data.\n *\n * This hook doesn't take into account unlimited time off or half days yet.\n *\n */\nexport const useSummaryTimeOffDataQuery = ({\n employmentId,\n proposedTerminationDate,\n employment,\n}: {\n employmentId: string;\n proposedTerminationDate: string;\n employment?: Employment;\n}) => {\n const { value: minimumStatutoryDays = 0 } =\n getMinimumStatutoryDays(employment);\n const leavePoliciesSummaryQuery = useTimeOffLeavePoliciesSummaryQuery({\n employmentId,\n });\n const bookedTimeQuery = useBookedTimeoffBeforeAndAfterTerminationQuery({\n employmentId,\n date: proposedTerminationDate,\n });\n\n const entitledDays =\n leavePoliciesSummaryQuery.data?.data?.[0].annual_entitlement.type ===\n 'limited'\n ? {\n days: leavePoliciesSummaryQuery.data?.data?.[0].annual_entitlement\n .days,\n hours:\n leavePoliciesSummaryQuery.data?.data?.[0].annual_entitlement.hours,\n }\n : { days: minimumStatutoryDays, hours: 0 };\n\n const bookedDays = {\n days: leavePoliciesSummaryQuery.data?.data?.[0].booked.days || 0,\n hours: leavePoliciesSummaryQuery.data?.data?.[0].booked.hours || 0,\n };\n\n const currentEntitlementDays =\n leavePoliciesSummaryQuery.data?.data?.[0].current_entitlement.type ===\n 'limited'\n ? {\n days:\n leavePoliciesSummaryQuery.data?.data?.[0].current_entitlement\n .days || 0,\n hours:\n leavePoliciesSummaryQuery.data?.data?.[0].current_entitlement\n .hours || 0,\n }\n : { days: minimumStatutoryDays, hours: 0 };\n\n const usedDays = {\n days: leavePoliciesSummaryQuery.data?.data?.[0].used.days || 0,\n hours: leavePoliciesSummaryQuery.data?.data?.[0].used.hours || 0,\n };\n\n const approvedDaysBeforeTermination = bookedTimeQuery.data\n ?.bookedDaysBeforeTermination || { days: 0, hours: 0 };\n\n const approvedDaysAfterTermination = bookedTimeQuery.data\n ?.bookedDaysAfterTermination || { days: 0, hours: 0 };\n\n const totalCurrentEntitlementHours = convertToTotalHours(\n currentEntitlementDays.days,\n currentEntitlementDays.hours,\n );\n const totalUsedHours = convertToTotalHours(usedDays.days, usedDays.hours);\n const totalBookedHours = convertToTotalHours(\n bookedDays.days,\n bookedDays.hours,\n );\n\n const remainingHours =\n totalCurrentEntitlementHours - totalUsedHours - totalBookedHours;\n\n const remainingDays = clampNegativeValuesIfApplicable(\n convertTotalHoursToDaysAndHours(remainingHours),\n );\n\n const formattedValues = formatTimeoffValues({\n entitledDays,\n bookedDays,\n usedDays,\n approvedDaysBeforeTermination,\n approvedDaysAfterTermination,\n remainingDays,\n currentEntitlementDays,\n }) as Omit<SummaryTimeOffDataResponse, 'isUnlimitedPto'>;\n\n return {\n data: {\n ...formattedValues,\n isUnlimitedPto:\n employment?.contract_details?.available_pto_type === 'unlimited',\n },\n isLoading: leavePoliciesSummaryQuery.isLoading || bookedTimeQuery.isLoading,\n isError: leavePoliciesSummaryQuery.isError || bookedTimeQuery.isError,\n error: leavePoliciesSummaryQuery.error || bookedTimeQuery.error,\n };\n};\n\nexport const useCreateTermination = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: (payload: CreateOffboardingParams) => {\n return postCreateOffboarding({\n client: client as Client,\n body: payload,\n });\n },\n });\n};\n\nexport const useTerminationSchema = ({\n formValues,\n jsfModify,\n step,\n}: {\n formValues?: TerminationFormValues;\n jsfModify?: JSFModify;\n step?: string;\n}) => {\n return useQuery({\n queryKey: ['rmt-flows-termination-schema', step],\n queryFn: () => {\n return schema[step as keyof typeof schema] ?? defaultSchema;\n },\n select: ({ data }) => {\n const jsfSchema = data?.schema || {};\n return createHeadlessForm(jsfSchema, formValues || {}, {\n jsfModify,\n });\n },\n });\n};\n"],"mappings":"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","names":["parseLocalDate","__name","dateString","year","month","day","useQuery","useTimeOffQuery","__name","employmentId","status","timeoffType","options","client","useClient","useQuery","getIndexTimeoff","data","formatDateRange","startDate","endDate","start","parseLocalDate","end","usePaidTimeoffBreakdownQuery","acc","timeoff","day","duration","useTimeOffLeavePoliciesSummaryQuery","getIndexLeavePoliciesSummary","useMutation","useQuery","formatTimeoffValues","values","acc","key","value","formatAsDecimal","__name","getMinimumStatutoryDays","employment","availablePto","ptoType","getAllTimeoffHoursBeforeDate","timeoffs","terminationDate","before","after","timeoff","day","useBookedTimeoffBeforeAndAfterTerminationQuery","employmentId","date","options","useTimeOffQuery","data","convertTotalHoursToDaysAndHours","useSummaryTimeOffDataQuery","proposedTerminationDate","minimumStatutoryDays","leavePoliciesSummaryQuery","useTimeOffLeavePoliciesSummaryQuery","bookedTimeQuery","entitledDays","bookedDays","currentEntitlementDays","usedDays","approvedDaysBeforeTermination","approvedDaysAfterTermination","totalCurrentEntitlementHours","convertToTotalHours","totalUsedHours","totalBookedHours","remainingHours","remainingDays","clampNegativeValuesIfApplicable","useCreateTermination","client","useClient","useMutation","payload","postCreateOffboarding","useTerminationSchema","formValues","jsfModify","step","useQuery","schema","defaultSchema","jsfSchema","createHeadlessForm"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{p as o,y as m}from"./chunk-T6Q7IALZ.js";import{d as r}from"./chunk-KQPDXXG3.js";import{a as e}from"./chunk-P37U34EQ.js";import{useMutation as a,useQuery as s}from"@tanstack/react-query";var y=e(({employmentId:t})=>{let{client:n}=r();return s({queryKey:["employment",t],retry:!1,queryFn:e(()=>m({client:n,headers:{Authorization:""},path:{employment_id:t}}),"queryFn"),enabled:!!t,select:e(({data:i})=>i?.data?.employment,"select")})},"useEmploymentQuery"),d=e(()=>{let{client:t}=r();return a({mutationFn:e(n=>o({client:t,headers:{Authorization:""},body:n}),"mutationFn")})},"useMagicLink");export{y as a,d as b};
|
|
2
|
+
//# sourceMappingURL=chunk-DJ2OL5GS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/common/api/index.ts"],"sourcesContent":["import {\n getShowEmployment,\n MagicLinkParams,\n postGenerateMagicLink,\n} from '@/src/client';\nimport { useClient } from '@/src/context';\nimport { ContractAmendmentParams } from '@/src/flows/ContractAmendment/types';\n\nimport { Client } from '@/src/client/client';\nimport { useMutation, useQuery } from '@tanstack/react-query';\n\ntype UseEmployment = Pick<ContractAmendmentParams, 'employmentId'>;\n\n/**\n * Hook to retrieve employment details for a specific employment ID.\n *\n * @param {Object} params - The parameters for the query.\n * @param {string} params.employmentId - The ID of the employment to fetch details for.\n * @returns {UseQueryResult<any, unknown>} - The result of the query, including the employment details.\n */\nexport const useEmploymentQuery = ({ employmentId }: UseEmployment) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['employment', employmentId],\n retry: false,\n queryFn: () => {\n return getShowEmployment({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n path: { employment_id: employmentId },\n });\n },\n enabled: !!employmentId,\n select: ({ data }) => data?.data?.employment,\n });\n};\n\nexport const useMagicLink = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: (params: MagicLinkParams) => {\n return postGenerateMagicLink({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n body: params,\n });\n },\n });\n};\n"],"mappings":"+HASA,OAAS,eAAAA,EAAa,YAAAC,MAAgB,wBAW/B,IAAMC,EAAqBC,EAAA,CAAC,CAAE,aAAAC,CAAa,IAAqB,CACrE,GAAM,CAAE,OAAAC,CAAO,EAAIC,EAAU,EAC7B,OAAOC,EAAS,CACd,SAAU,CAAC,aAAcH,CAAY,EACrC,MAAO,GACP,QAASD,EAAA,IACAK,EAAkB,CACvB,OAAQH,EACR,QAAS,CACP,cAAe,EACjB,EACA,KAAM,CAAE,cAAeD,CAAa,CACtC,CAAC,EAPM,WAST,QAAS,CAAC,CAACA,EACX,OAAQD,EAAA,CAAC,CAAE,KAAAM,CAAK,IAAMA,GAAM,MAAM,WAA1B,SACV,CAAC,CACH,EAjBkC,sBAmBrBC,EAAeP,EAAA,IAAM,CAChC,GAAM,CAAE,OAAAE,CAAO,EAAIC,EAAU,EAC7B,OAAOK,EAAY,CACjB,WAAYR,EAACS,GACJC,EAAsB,CAC3B,OAAQR,EACR,QAAS,CACP,cAAe,EACjB,EACA,KAAMO,CACR,CAAC,EAPS,aASd,CAAC,CACH,EAb4B","names":["useMutation","useQuery","useEmploymentQuery","__name","employmentId","client","useClient","useQuery","getShowEmployment","data","useMagicLink","useMutation","params","postGenerateMagicLink"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as o}from"./chunk-P37U34EQ.js";function l(t){let a=t.error||t;if(!a||!a.errors||typeof a.errors!="object")return[];let e=[];return Object.entries(a.errors).forEach(([s,r])=>{if(Array.isArray(r)){e.push({field:s,messages:r.map(n=>String(n))});return}r&&typeof r=="object"&&Object.entries(r).forEach(([n,i])=>{Array.isArray(i)&&e.push({field:n,messages:i.map(u=>String(u))})})}),e}o(l,"extractFieldErrors");function y(t){return{mutateAsync:o(a=>new Promise((e,s)=>{t.mutate(a,{onSuccess:o(r=>{if(r.data)e({data:r.data,error:null});else{let n=l(r.error);e({data:null,error:typeof r.error?.message=="string"?new Error(r.error.message):new Error("Something went wrong. Please try again later."),rawError:r.error,fieldErrors:n})}},"onSuccess"),onError:o(r=>{let n=l(r);s({data:null,error:r,rawError:r,fieldErrors:n})},"onError")})}),"mutateAsync")}}o(y,"mutationToPromise");function d(t,a){return!t||t.length===0?[]:t.map(e=>{let r=a?.[e.field]?.label||e.field;return{...e,userFriendlyLabel:r,field:e.field,messages:e.messages}})}o(d,"normalizeFieldErrors");export{y as a,d as b};
|
|
2
|
+
//# sourceMappingURL=chunk-EAV5VOMZ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/lib/mutations.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Meta } from '@/src/types/remoteFlows';\nimport { UseMutationResult } from '@tanstack/react-query';\n\ntype MutationData<T> =\n T extends UseMutationResult<infer R, any, any, any> ? R : never;\ntype MutationVariables<T> =\n T extends UseMutationResult<any, any, infer V, any> ? V : never;\ntype MutationError<T> =\n T extends UseMutationResult<any, infer E, any, any> ? E : never;\n\nexport interface SuccessResponse<D> {\n data: D;\n error: null;\n}\n\nexport interface FieldError {\n field: string;\n messages: string[];\n}\n\nexport interface ErrorResponse<E> {\n data: null;\n error: E;\n rawError: Record<string, unknown>;\n fieldErrors: FieldError[];\n}\n\ntype PromiseResult<D, E> = SuccessResponse<D> | ErrorResponse<E>;\n\n/**\n * Extracts field errors from error response into a structured format\n * @param error - The error response object\n * @returns Array of field errors with field name and messages\n */\nexport function extractFieldErrors(error: any): FieldError[] {\n const errors = error.error || error;\n if (!errors || !errors.errors || typeof errors.errors !== 'object') return [];\n\n const fieldErrors: FieldError[] = [];\n\n Object.entries(errors.errors).forEach(([key, value]) => {\n if (Array.isArray(value)) {\n fieldErrors.push({\n field: key,\n messages: value.map((msg: any) => String(msg)),\n });\n return;\n }\n if (value && typeof value === 'object') {\n Object.entries(value).forEach(([nestedKey, nestedValue]) => {\n if (Array.isArray(nestedValue)) {\n fieldErrors.push({\n field: nestedKey,\n messages: nestedValue.map((msg: any) => String(msg)),\n });\n }\n });\n }\n });\n return fieldErrors;\n}\n/**\n * Converts a mutation to a promise-based API. We avoid using the\n * `mutateAsync` method from react-query for 2 reasons:\n * 1. We lose the isPending state of the mutation\n * 2. We want to return the data and error in a consistent way\n * (either data or error is null)\n * @param mutation\n * @returns\n */\nexport function mutationToPromise<\n T extends UseMutationResult<any, any, any, any>,\n>(mutation: T) {\n type Data = MutationData<T>;\n type Variables = MutationVariables<T>;\n type Error = MutationError<T>;\n\n return {\n mutateAsync: (values: Variables): Promise<PromiseResult<Data, Error>> => {\n return new Promise((resolve, reject) => {\n mutation.mutate(values, {\n onSuccess: (response) => {\n if (response.data) {\n resolve({\n data: response.data as Data,\n error: null,\n });\n } else {\n const fieldErrors = extractFieldErrors(response.error);\n resolve({\n data: null,\n error:\n typeof response.error?.message === 'string'\n ? (new Error(response.error.message) as unknown as Error)\n : (new Error(\n 'Something went wrong. Please try again later.',\n ) as unknown as Error),\n rawError: response.error,\n fieldErrors,\n });\n }\n },\n onError: (error) => {\n const fieldErrors = extractFieldErrors(error);\n reject({\n data: null,\n error: error as Error,\n rawError: error,\n fieldErrors,\n });\n },\n });\n });\n },\n };\n}\n\n/**\n * Enhanced FieldError interface with user-friendly labels\n */\nexport interface NormalizedFieldError extends FieldError {\n userFriendlyLabel: string;\n}\n\n/**\n * Utility function to normalize field errors using field metadata\n * @param fieldErrors - Array of field errors from API response\n * @param meta - Field metadata containing field names and labels\n * @returns Normalized field errors with user-friendly labels\n */\nexport function normalizeFieldErrors(\n fieldErrors: FieldError[],\n meta?: Meta,\n): NormalizedFieldError[] {\n if (!fieldErrors || fieldErrors.length === 0) {\n return [];\n }\n\n return fieldErrors.map((fieldError) => {\n const fieldMeta = meta?.[fieldError.field];\n const userFriendlyLabel = fieldMeta?.label || fieldError.field;\n\n return {\n ...fieldError,\n userFriendlyLabel,\n // Keep the original field name for form integration\n field: fieldError.field,\n messages: fieldError.messages,\n };\n });\n}\n"],"mappings":"wCAmCO,SAASA,EAAmBC,EAA0B,CAC3D,IAAMC,EAASD,EAAM,OAASA,EAC9B,GAAI,CAACC,GAAU,CAACA,EAAO,QAAU,OAAOA,EAAO,QAAW,SAAU,MAAO,CAAC,EAE5E,IAAMC,EAA4B,CAAC,EAEnC,cAAO,QAAQD,EAAO,MAAM,EAAE,QAAQ,CAAC,CAACE,EAAKC,CAAK,IAAM,CACtD,GAAI,MAAM,QAAQA,CAAK,EAAG,CACxBF,EAAY,KAAK,CACf,MAAOC,EACP,SAAUC,EAAM,IAAKC,GAAa,OAAOA,CAAG,CAAC,CAC/C,CAAC,EACD,MACF,CACID,GAAS,OAAOA,GAAU,UAC5B,OAAO,QAAQA,CAAK,EAAE,QAAQ,CAAC,CAACE,EAAWC,CAAW,IAAM,CACtD,MAAM,QAAQA,CAAW,GAC3BL,EAAY,KAAK,CACf,MAAOI,EACP,SAAUC,EAAY,IAAKF,GAAa,OAAOA,CAAG,CAAC,CACrD,CAAC,CAEL,CAAC,CAEL,CAAC,EACMH,CACT,CA1BgBM,EAAAT,EAAA,sBAoCT,SAASU,EAEdC,EAAa,CAKb,MAAO,CACL,YAAaF,EAACG,GACL,IAAI,QAAQ,CAACC,EAASC,IAAW,CACtCH,EAAS,OAAOC,EAAQ,CACtB,UAAWH,EAACM,GAAa,CACvB,GAAIA,EAAS,KACXF,EAAQ,CACN,KAAME,EAAS,KACf,MAAO,IACT,CAAC,MACI,CACL,IAAMZ,EAAcH,EAAmBe,EAAS,KAAK,EACrDF,EAAQ,CACN,KAAM,KACN,MACE,OAAOE,EAAS,OAAO,SAAY,SAC9B,IAAI,MAAMA,EAAS,MAAM,OAAO,EAChC,IAAI,MACH,+CACF,EACN,SAAUA,EAAS,MACnB,YAAAZ,CACF,CAAC,CACH,CACF,EApBW,aAqBX,QAASM,EAACR,GAAU,CAClB,IAAME,EAAcH,EAAmBC,CAAK,EAC5Ca,EAAO,CACL,KAAM,KACN,MAAOb,EACP,SAAUA,EACV,YAAAE,CACF,CAAC,CACH,EARS,UASX,CAAC,CACH,CAAC,EAlCU,cAoCf,CACF,CA7CgBM,EAAAC,EAAA,qBA4DT,SAASM,EACdb,EACAc,EACwB,CACxB,MAAI,CAACd,GAAeA,EAAY,SAAW,EAClC,CAAC,EAGHA,EAAY,IAAKe,GAAe,CAErC,IAAMC,EADYF,IAAOC,EAAW,KAAK,GACJ,OAASA,EAAW,MAEzD,MAAO,CACL,GAAGA,EACH,kBAAAC,EAEA,MAAOD,EAAW,MAClB,SAAUA,EAAW,QACvB,CACF,CAAC,CACH,CApBgBT,EAAAO,EAAA","names":["extractFieldErrors","error","errors","fieldErrors","key","value","msg","nestedKey","nestedValue","__name","mutationToPromise","mutation","values","resolve","reject","response","normalizeFieldErrors","meta","fieldError","userFriendlyLabel"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as f}from"./chunk-KSHK3ZPX.js";import{c as d,d as S}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as f}from"./chunk-KSHK3ZPX.js";import{c as d,d as S}from"./chunk-QLX4J76Z.js";import{a as u}from"./chunk-HN5HLFTB.js";import{b as C}from"./chunk-LNV36S6D.js";import{f as y}from"./chunk-CR7AIZKA.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 l=o((n,e,r)=>r&&r[e]?r[e]:n[e]?n[e]/100:0,"getDefaultManagementFee"),A=o((n,e,r,g)=>!e&&!r?.management_fee&&n?l(u,n,g):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:g,version:_="standard"})=>{let p=U(),[R,m]=I("USD"),F=o(s=>{m(s);let a=l(u,s,n.managementFees);a&&c.setValue("management.management_fee",a.toString())},"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:void 0,hiring_budget:B||"employee_annual_salary",age:E,contract_duration_type:M,management:{management_fee:b?.toString()||""},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(i=>i.value===e.currencySlug)?.label;if(a){m(a);let i=l(u,a,n.managementFees);c.setValue("management.management_fee",i?.toString()||"")}}},[e.currencySlug,t.currencies,n.includeManagementFee,n.managementFees,e.management?.management_fee,c]),k(f.Provider,{value:{form:c,formId:p,costCalculatorBag:t},children:g(t)})},"CostCalculatorFlow");export{W as a};
|
|
2
|
+
//# sourceMappingURL=chunk-JDNBIL6Z.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as m}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as m}from"./chunk-B3TRTHW4.js";import{b as a}from"./chunk-PGWKJ6FK.js";import{b as t}from"./chunk-EAV5VOMZ.js";import{e as s}from"./chunk-HRG5MSVG.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as E}from"react/jsx-runtime";function P({components:d,onSubmit:l,onError:i,onSuccess:f}){let{onboardingBag:o}=a(),p=o.fields??[],c=s(p,o.initialValues.benefits);return E(m,{defaultValues:c,components:d,onSubmit:e(async n=>{try{await l?.(n);let r=await o.onSubmit(n);if(r?.data){await f?.(r.data),o?.next();return}if(r?.error){let u=t(r?.fieldErrors||[],o.meta?.fields?.benefits);i?.({error:r.error,rawError:r.rawError,fieldErrors:u})}}catch(r){i?.({error:r,rawError:r,fieldErrors:[]})}},"handleSubmit")})}e(P,"BenefitsStep");export{P as a};
|
|
2
|
+
//# sourceMappingURL=chunk-JHSQWGEK.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as r}from"./chunk-J3BK2DEH.js";import{a}from"./chunk-OKMERBJL.js";import{a as c}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as r}from"./chunk-J3BK2DEH.js";import{a}from"./chunk-OKMERBJL.js";import{a as c}from"./chunk-6YRMHTAZ.js";import{a as e}from"./chunk-PC5JG4TT.js";import{a as m}from"./chunk-K3XVYHGV.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-KABFJTE2.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as p}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as p}from"./chunk-25M7VGZT.js";import{a as i}from"./chunk-2ZCOC6FB.js";import{a as e}from"./chunk-5HXPBCU6.js";import{a as c}from"./chunk-OF66TZF4.js";import{a as d}from"./chunk-MWMX5KTM.js";import{a as n}from"./chunk-U2HWB5HI.js";import{a as f}from"./chunk-2XVUZH4T.js";import{a as m}from"./chunk-IJ6325YO.js";import{a as t}from"./chunk-TOA3JILU.js";import{a}from"./chunk-BZAIUY5N.js";import{a as r}from"./chunk-P37U34EQ.js";import{useId as u}from"react";import{jsx as v}from"react/jsx-runtime";var A=r(({render:g,employmentId:C,externalId:S,countryCode:b,skipSteps:s,initialValues:O,options:l})=>{let o=a({options:l,employmentId:C,externalId:S,countryCode:b,skipSteps:s,initialValues:O}),P=u();return v(t.Provider,{value:{contractorOnboardingBag:o,formId:P},children:g({contractorOnboardingBag:o,components:{BasicInformationStep:e,SelectCountryStep:i,BackButton:n,SubmitButton:m,PricingPlanStep:p,ContractDetailsStep:c,ContractPreviewStep:d,OnboardingInvite:f}})})},"ContractorOnboardingFlow");export{A as a};
|
|
2
|
+
//# sourceMappingURL=chunk-KC6PLCTE.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as n}from"./chunk-3OX2LLXL.js";import{b as e}from"./chunk-MRYRNB7Y.js";import{a as r}from"./chunk-P37U34EQ.js";import{jsx as u}from"react/jsx-runtime";function F({onSubmit:t,onSuccess:s,onError:m}){let{terminationBag:o}=e(),d=r(async a=>{let l=await o?.parseFormValues(a,!0);await t?.(l);let i=await o?.onSubmit(a);i?.error?m?.(i.rawError):i?.data&&await s?.(i.data)},"handleSubmit");return u(n,{defaultValues:o.fieldValues,fields:o?.fields,onSubmit:d})}r(F,"AdditionalDetailsForm");export{F as a};
|
|
2
|
+
//# sourceMappingURL=chunk-LEVFKYRL.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/flows/Termination/AdditionalDetailsForm.tsx"],"sourcesContent":["import { useTerminationContext } from './context';\nimport { TerminationFormValues } from '@/src/flows/Termination/types';\nimport { OffboardingResponse } from '@/src/client';\nimport { TerminationForm } from '@/src/flows/Termination/TerminationForm';\n\ntype AdditionalDetailsFormProps = {\n /*\n * The function is called when the form is submitted. It receives the form values as an argument.\n */\n onSubmit?: (payload: TerminationFormValues) => void | Promise<void>;\n /*\n * The function is called when the form submission has failed.\n */\n onError?: (error: Record<string, unknown>) => void;\n /*\n * The function is called when the form submission is successful. It receives the response data as\n * an argument.\n */\n onSuccess?: (data: OffboardingResponse) => void | Promise<void>;\n};\n\nexport function AdditionalDetailsForm({\n onSubmit,\n onSuccess,\n onError,\n}: AdditionalDetailsFormProps) {\n const { terminationBag } = useTerminationContext();\n\n const handleSubmit = async (values: TerminationFormValues) => {\n const parsedValues = (await terminationBag?.parseFormValues(\n values,\n true,\n )) as TerminationFormValues;\n await onSubmit?.(parsedValues);\n const terminationResult = await terminationBag?.onSubmit(values);\n\n if (terminationResult?.error) {\n onError?.(terminationResult.rawError);\n } else {\n if (terminationResult?.data) {\n await onSuccess?.(terminationResult.data as OffboardingResponse);\n }\n }\n };\n\n return (\n <TerminationForm\n defaultValues={terminationBag.fieldValues}\n fields={terminationBag?.fields}\n onSubmit={handleSubmit}\n />\n );\n}\n"],"mappings":"wHA8CI,cAAAA,MAAA,oBAzBG,SAASC,EAAsB,CACpC,SAAAC,EACA,UAAAC,EACA,QAAAC,CACF,EAA+B,CAC7B,GAAM,CAAE,eAAAC,CAAe,EAAIC,EAAsB,EAE3CC,EAAeC,EAAA,MAAOC,GAAkC,CAC5D,IAAMC,EAAgB,MAAML,GAAgB,gBAC1CI,EACA,EACF,EACA,MAAMP,IAAWQ,CAAY,EAC7B,IAAMC,EAAoB,MAAMN,GAAgB,SAASI,CAAM,EAE3DE,GAAmB,MACrBP,IAAUO,EAAkB,QAAQ,EAEhCA,GAAmB,MACrB,MAAMR,IAAYQ,EAAkB,IAA2B,CAGrE,EAfqB,gBAiBrB,OACEX,EAACY,EAAA,CACC,cAAeP,EAAe,YAC9B,OAAQA,GAAgB,OACxB,SAAUE,EACZ,CAEJ,CA/BgBC,EAAAP,EAAA","names":["jsx","AdditionalDetailsForm","onSubmit","onSuccess","onError","terminationBag","useTerminationContext","handleSubmit","__name","values","parsedValues","terminationResult","TerminationForm"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as m}from"./chunk-ZJAFMNUN.js";import{b as c}from"./chunk-TOA3JILU.js";import{b as d}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as m}from"./chunk-ZJAFMNUN.js";import{b as c}from"./chunk-TOA3JILU.js";import{b as d}from"./chunk-EAV5VOMZ.js";import{a as t}from"./chunk-P37U34EQ.js";import{Suspense as u,lazy as F}from"react";import{jsx as i}from"react/jsx-runtime";var E=F(()=>import("./PdfPreview-2VXVDUFP.js").then(o=>({default:o.PDFPreview}))),l=t(o=>i(u,{fallback:i("div",{className:"animate-pulse",children:"Loading PDF..."}),children:i(E,{...o})}),"LazyPdfPreview");import{jsx as p,jsxs as S}from"react/jsx-runtime";function M({onSubmit:o,onSuccess:P,onError:n}){let{contractorOnboardingBag:r}=c(),w=t(async s=>{try{let a=await r.parseFormValues(s);await o?.(a);let e=await r.onSubmit(s);if(e?.data){await P?.(e?.data),r?.next();return}if(e?.error){let f=d(e?.fieldErrors||[],r.meta?.fields?.contract_preview);n?.({error:e?.error,rawError:e?.rawError,fieldErrors:f})}}catch(a){n?.({error:a,rawError:a,fieldErrors:[]})}},"handleSubmit"),v=r.stepState.values?.contract_preview||r.initialValues.contract_preview;return S("div",{className:"space-y-4",children:[p(l,{base64Data:r.documentPreviewPdf?.contract_document.content}),p(m,{defaultValues:v,onSubmit:w})]})}t(M,"ContractPreviewStep");export{M as a};
|
|
2
|
+
//# sourceMappingURL=chunk-MWMX5KTM.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as d}from"./chunk-ZJAFMNUN.js";import{b as s}from"./chunk-TOA3JILU.js";import{b as i}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as d}from"./chunk-ZJAFMNUN.js";import{b as s}from"./chunk-TOA3JILU.js";import{b as i}from"./chunk-EAV5VOMZ.js";import{a}from"./chunk-P37U34EQ.js";import{jsx as E}from"react/jsx-runtime";function F({onSubmit:l,onSuccess:c,onError:e}){let{contractorOnboardingBag:r}=s(),m=a(async n=>{try{let t=await r.parseFormValues(n);await l?.(t);let o=await r.onSubmit(n);if(o?.data){await c?.(o?.data),r?.next();return}if(o?.error){let u=i(o?.fieldErrors||[],r.meta?.fields?.contract_details);e?.({error:o?.error,rawError:o?.rawError,fieldErrors:u})}}catch(t){e?.({error:t,rawError:t,fieldErrors:[]})}},"handleSubmit"),p=r.stepState.values?.contract_details||r.initialValues.contract_details;return E(d,{defaultValues:p,onSubmit:m})}a(F,"ContractDetailsStep");export{F as a};
|
|
2
|
+
//# sourceMappingURL=chunk-OF66TZF4.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as Y}from"./chunk-YXVNCPUI.js";import{a as G}from"./chunk-VFRHMNLJ.js";import{a as z,b as Q,c as W,f as X}from"./chunk-ARQ2PTEA.js";import{a as C}from"./chunk-HN5HLFTB.js";import{a as K}from"./chunk-LNV36S6D.js";import{c as Z}from"./chunk-SPMEMAK5.js";import{a as ee}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as Y}from"./chunk-YXVNCPUI.js";import{a as G}from"./chunk-VFRHMNLJ.js";import{a as z,b as Q,c as W,f as X}from"./chunk-ARQ2PTEA.js";import{a as C}from"./chunk-HN5HLFTB.js";import{a as K}from"./chunk-LNV36S6D.js";import{c as Z}from"./chunk-SPMEMAK5.js";import{a as ee}from"./chunk-EAV5VOMZ.js";import{a as I}from"./chunk-P5QKSFOE.js";import{d as M}from"./chunk-HRG5MSVG.js";import{a as o}from"./chunk-P37U34EQ.js";import{number as Be,object as se}from"yup";import{useCallback as je,useEffect as te,useMemo as we,useRef as Re,useState as j}from"react";import{string as ne,ValidationError as re}from"yup";import{jsx as ie}from"react/jsx-runtime";var O={title:"Estimation",includeBenefits:!1,includeCostBreakdowns:!1,includePremiumBenefits:!1,enableCurrencyConversion:!1,includeEstimationTitle:!1,includeManagementFee:!1},Pe=o(t=>I(G.data.schema,void 0,t),"useStaticSchema");function xe(t,i){if(typeof t=="object"&&t!==null&&"title"in t){let l=t.title;if(l)return l}return i==="my_hiring_budget"?"Hiring budget":"Employee's annual salary"}o(xe,"getSalaryTitle");var ze=o(({defaultRegion:t,defaultCurrency:i,defaultSalary:l,estimationOptions:s,options:n,version:a}={estimationOptions:O})=>{let u=Re({fields:{}}),[k,h]=j(t),[w,R]=j(),[m,q]=j(),[H,le]=j(),{data:_,isLoading:ue}=z({includePremiumBenefits:s.includePremiumBenefits}),{data:d,isLoading:ce}=Q(),me=k||w?.value,{data:P,isLoading:de}=X(me,{includePremiumBenefits:s.includePremiumBenefits,options:n}),U=W(),{mutateAsync:fe}=ee(U),b=w?.currency,p=n?.jsfModify?.fields?.salary,F=p&&typeof p=="object"&&"presentation"in p?p.presentation:void 0,L=je(()=>{let e=b&&m?b!==m:!1;return b!==m?{from:m,to:b,shouldSwapOrder:e}:{from:b,to:m,shouldSwapOrder:e}},[b,m]),J=s.showManagementFee,$=s.includeEstimationTitle,ge=we(()=>{let{from:e,to:r,shouldSwapOrder:c}=L(),g=xe(p,H);return{fields:{salary:{...p,title:g,presentation:{salary_conversion_properties:{label:F?.salary_conversion_properties?.label,description:F?.salary_conversion_properties?.description},currencies:{from:e,to:r},Component:o(y=>ie(Y,{...y,shouldSwapOrder:c,conversionType:a==="marketing"?"no_spread":"spread",defaultValue:l}),"Component")}},hiring_budget:{...n?.jsfModify?.fields?.hiring_budget,presentation:{hidden:a=="marketing"}},management:{...n?.jsfModify?.fields?.management,properties:{...n?.jsfModify?.fields?.management?.properties,management_fee:{...n?.jsfModify?.fields?.management?.properties?.management_fee,"x-jsf-presentation":{inputType:"money",additionalProps:{currency:m||"USD"}}}},presentation:{...typeof n?.jsfModify?.fields?.management=="object"?(n?.jsfModify?.fields?.management)["x-jsf-presentation"]:{},hidden:!J,Component:o(y=>ie(Z,{...y,variant:"inset",features:{toggle:{enabled:!0,stateField:"management._expanded",labels:{expand:"Define",collapse:"Remove"}}}}),"Component")}},estimation_title:{...n?.jsfModify?.fields?.estimation_title,"x-jsf-presentation":{hidden:!$}}}}},[L,p,H,F?.salary_conversion_properties?.label,F?.salary_conversion_properties?.description,n?.jsfModify?.fields?.hiring_budget,n?.jsfModify?.fields?.management,n?.jsfModify?.fields?.estimation_title,a,m,J,$,l]),f=Pe({jsfModify:{fields:{...n?.jsfModify?.fields,...ge?.fields}}});te(()=>{if(t&&_){let e=_.find(({value:r})=>r===t);e&&R(e)}},[t,_]),te(()=>{if(i&&d){let e=d.find(({value:r})=>r===i);e&&q(e.label)}},[i,d]);async function ye(e){return fe(oe(e,s,a))}o(ye,"onSubmit");function pe(e){let r=_?.find(({value:c})=>c===e);r&&r.childRegions.length===0&&r.hasAdditionalFields?h(r.regionSlug):h(void 0),R(r)}o(pe,"onCountryChange");function Ce(e){h(e)}o(Ce,"onRegionChange");function _e(e){le(e.target.value)}o(_e,"onHiringBudgetChange");function be(e){let r=d?.find(c=>c.value===e)?.label;q(r),n?.onCurrencyChange?.(r||"")}o(be,"onChangeCurrency");let E=f.fields.find(e=>e.name==="region");if(E){let e=w?.childRegions.map(r=>({value:r.slug,label:r.name}))??[];E.options=e,E.isVisible=e.length>0,E.required=e.length>0,E.onChange=Ce,E.schema=e.length>0?ne().transform(r=>typeof r=="string"?r:"").required("Region is required"):ne()}if(d){let e=f.fields.find(r=>r.name==="currency");e&&(e.options=d,e.onChange=be)}let v=f.fields.find(e=>e.name==="hiring_budget");if(v&&(v.onChange=_e),_){let e=f.fields.find(r=>r.name==="country");e&&(e.options=_,e.onChange=pe)}let Ee=o(()=>{R(void 0),h(t)},"resetForm"),D=[...f.fields.filter(e=>e.name!=="management"),...P?.fields||[],...f.fields.filter(e=>e.name==="management")],N=ae(f.fields,m||"USD",s.includeEstimationTitle);async function Se(e){let r=null;n?.onValidation?.(e);let c=await M(e,D);try{await N.validate(c,{abortEarly:!1}),r={formErrors:{},yupError:new re([],e)}}catch(S){let B=K(S);r={formErrors:Object.entries(B).reduce((T,[A,V])=>({...T,[A]:V.message}),{}),yupError:S}}let g=P?.handleValidation(c),y=[...r?.yupError.inner||[],...g?.yupError?.inner||[]],x={...r?.yupError?.value||{},...g?.yupError?.value||{}};return{formErrors:{...r?.formErrors||{},...g?.formErrors||{}},yupError:new re(y,x)}}return o(Se,"handleValidation"),{stepState:{current:0,total:1,isLastStep:!0},fields:D,validationSchema:N,parseFormValues:o(async e=>{let{country:r,region:c,currency:g,salary_converted:y,hiring_budget:x,salary_conversion:S,management:B,estimation_title:T,...A}=e,V=e.salary;y==="salary_conversion"&&(V=S);let he=await M({country:r,region:c,salary:V,salary_converted:y,salary_conversion:S,hiring_budget:x,currency:g,management:B,estimation_title:T},f.fields),Fe=await M(A,P?.fields||[]),Ve={currency_code:d?.find(Me=>Me.value===g)?.label};return{...he,...Fe,...Ve}},"parseFormValues"),handleValidation:Se,isSubmitting:U.isPending,isLoading:ue&&ce&&de,onSubmit:ye,resetForm:Ee,currencies:d,meta:{fields:u.current?.fields}}},"useCostCalculator");function ae(t,i,l){let s=t.reduce((n,a)=>(a.name==="salary"||a.name==="salary_conversion"?n[a.name]=a.schema.when("salary_converted",{is:o(u=>u===a.name,"is"),then:o(u=>u.required("Required field"),"then"),otherwise:o(u=>u.optional(),"otherwise")}):a.name==="management"?n[a.name]=se({management_fee:Be().transform(u=>isNaN(u)?void 0:u).min(0,"Management fee must be greater than or equal to 0").max(i?C[i]:C.USD,()=>`Management fee cannot exceed ${(i?C[i]:C.USD)/100} ${i}`)}):a.name==="estimation_title"&&l?n[a.name]=a.schema.required("Required field"):n[a.name]=a.schema,n),{});return se(s)}o(ae,"buildValidationSchema");function Te(t){let i="benefit-";return Object.keys(t).reduce((l,s)=>{let n=t[s];if(n==="none")return l;let u={benefit_group_slug:s.replace(i,""),benefit_tier_slug:n};return[...l,u]},[])}o(Te,"formatBenefits");function Ae(t,i,l){let s=Number(t.management?.management_fee),n=t.currency_code;return{...{region_slug:t.region||t.country,employment_term:t.contract_duration_type??"fixed",title:t.estimation_title||i.title,age:t.age??void 0,...t.benefits&&{benefits:Te(t.benefits)},...i.includeManagementFee&&s&&{discount:{quoted_amount:i.showManagementFee?s:C[n]||C.USD,text:""}}},...Oe(t,l)}}o(Ae,"mapValueToEmployment");function Oe(t,i){let l=i==="marketing"||t.salary_converted==="salary_conversion",s=i==="standard"&&t.salary_converted==="salary",n=t.hiring_budget==="my_hiring_budget";if(l){let a=t.salary_converted==="salary_conversion";return n?{annual_total_cost_in_employer_currency:t.salary}:{[a?"annual_gross_salary_in_employer_currency":"annual_gross_salary"]:t.salary}}return s?n?{annual_total_cost:t.salary}:{annual_gross_salary:t.salary}:{}}o(Oe,"getSalaryFields");function oe(t,i=O,l="standard"){let s=Array.isArray(t)?t:[t];if(s.length===0)throw new Error("At least one employment value is required");return s.length>1&&new Set(s.map(a=>a.currency)).size>1&&console.warn("Multiple currencies detected in array. Using currency from first employment."),{employer_currency_slug:s[0].currency,include_benefits:i.includeBenefits,include_cost_breakdowns:i.includeCostBreakdowns,include_premium_benefits:i.includePremiumBenefits,include_management_fee:i.includeManagementFee,employments:s.map(n=>Ae(n,i,l))}}o(oe,"buildPayload");export{ae as a,oe as b,O as c,ze as d};
|
|
2
|
+
//# sourceMappingURL=chunk-QLX4J76Z.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import{a as R}from"./chunk-SGE4DLC3.js";import{a as E,b as F,c as L,d as _,e as k}from"./chunk-GGPEKIIH.js";import{b as w}from"./chunk-KQPDXXG3.js";import{b as S}from"./chunk-PJN2YJO4.js";import{a as n}from"./chunk-UQCSN47K.js";import{a as d}from"./chunk-P37U34EQ.js";import{jsx as y,jsxs as B}from"react/jsx-runtime";function O({open:e,onOpenChange:a,direction:t,className:i,title:s,trigger:m,children:l}){return B(E,{open:e,onOpenChange:a,direction:t,children:[y(F,{asChild:!0,children:m}),y(L,{className:n(i,"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(k,{children:s})}),y("div",{className:"flex-1 overflow-y-auto",children:l})]})})]})}d(O,"DrawerDefault");import{jsx as q}from"react/jsx-runtime";var A=d(({open:e,onOpenChange:a,title:t,trigger:i,children:s,className:m="",direction:l="right"})=>{let{components:T}=w(),p=T?.drawer||O;return q(p,{open:e,onOpenChange:a,title:t,trigger:i,direction:l,className:m,children:s})},"Drawer");import{forwardRef as W}from"react";import*as b from"react";import{jsx as f}from"react/jsx-runtime";var g=b.forwardRef(({className:e,...a},t)=>f("div",{className:"relative w-full overflow-auto",children:f("table",{ref:t,className:n("w-full caption-bottom text-sm",e),...a})}));g.displayName="Table";var x=b.forwardRef(({className:e,...a},t)=>f("thead",{ref:t,className:n("[&_tr]:border-b",e),...a}));x.displayName="TableHeader";var C=b.forwardRef(({className:e,...a},t)=>f("tbody",{ref:t,className:n("[&_tr:last-child]:border-0",e),...a}));C.displayName="TableBody";var z=b.forwardRef(({className:e,...a},t)=>f("tfoot",{ref:t,className:n("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",e),...a}));z.displayName="TableFooter";var D=b.forwardRef(({className:e,...a},t)=>f("tr",{ref:t,className:n("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",e),...a}));D.displayName="TableRow";var h=b.forwardRef(({className:e,...a},t)=>f("th",{ref:t,className:n("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}));h.displayName="TableHead";var v=b.forwardRef(({className:e,...a},t)=>f("td",{ref:t,className:n("p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...a}));v.displayName="TableCell";var I=b.forwardRef(({className:e,...a},t)=>f("caption",{ref:t,className:n("mt-4 text-sm text-muted-foreground",e),...a}));I.displayName="TableCaption";import{jsx as u,jsxs as V}from"react/jsx-runtime";var U=d(({data:e,columns:a,className:t,ref:i})=>V(g,{ref:i,className:n("RemoteFlows__Table",t),children:[u(x,{children:u(D,{children:a.map(s=>u(h,{className:n("RemoteFlows__TableHead",s.className),children:s.label},String(s.id)))})}),u(C,{children:e?.map((s,m)=>u(D,{children:a.map(l=>u(v,{className:n("RemoteFlows__TableCell",l.className,l.cellClassName),children:l.render?l.render(s[l.id],s,m):s[l.id]},String(l.id)))},J(s,m)))})]}),"TableFieldDefault");function J(e,a){return String(e.id??a)}d(J,"getRowKey");import{jsx as X}from"react/jsx-runtime";var P=W(({data:e=[],columns:a,className:t=""},i)=>{let{components:s}=w(),m=s?.table||U;return X(m,{ref:i,data:e,columns:a,className:t})});P.displayName="Table";import{Fragment as H,jsx as o,jsxs as r}from"react/jsx-runtime";var Z="RemoteFlows__SummaryRow flex justify-between items-center py-2 text-xs",j="RemoteFlows__SummaryRowBorder border-b border-b-1 border-b-[#E4E4E7]",c=d(({children:e,withBorder:a=!1,className:t=""})=>o("div",{className:n(Z,a&&j,t),children:e}),"SummaryRow"),ee=d(({usedDays:e,bookedDays:a,approvedDaysBeforeTermination:t,approvedDaysAfterTermination:i,remainingDays:s,proposedTerminationDate:m,isUnlimitedPto:l,currentEntitlementDays:T})=>{let p=new Date(m).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"});return r("div",{children:[r(c,{withBorder:!0,children:[o("label",{children:"Number of days entitled to per year"}),o("p",{"data-testid":"entitled-days",className:"font-bold",children:l?"Unlimited":T})]}),r(c,{children:[o("label",{children:"Total days booked"}),o("p",{"data-testid":"booked-days",className:"font-bold",children:a})]}),r(c,{children:[o("label",{children:"Number of days already used"}),o("p",{"data-testid":"used-days",className:"font-bold",children:e})]}),r(c,{children:[r("label",{children:["Approved for use before ",p]}),o("p",{"data-testid":"approved-days-before-termination",className:"font-bold",children:t})]}),r(c,{withBorder:!0,children:[r("label",{children:["Approved for use after ",p]}),o("p",{"data-testid":"approved-days-after-termination",className:"font-bold",children:i})]}),r(c,{children:[o("label",{children:"Total days remaining unused"}),o("p",{"data-testid":"remaining-days",className:"font-bold",children:s})]}),o(c,{className:"mb-2 py-0",children:r("p",{className:"text-xs text-[#222E39]",children:["Unused days expire on ",p]})})]})},"SummaryTimeOff"),ae=[{id:"formattedDate",label:"Dates",className:"w-[250px]",cellClassName:"font-medium"},{id:"duration",label:"Duration",render:d(e=>R({number:e,singular:"day",plural:"days",followCopyGuidelines:!1,showNumber:!0}),"render")},{id:"status",label:"Status"}],te=d(({employeeName:e,timeoffQuery:a,entitledDays:t,countryName:i,currentEntitlementDays:s,formattedProposedTerminationDate:m,onOpenChange:l,open:T})=>{let{data:p,isLoading:N}=a;return o(A,{open:T,onOpenChange:l,title:`${e} paid time off breakdown`,trigger:o(S,{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(H,{children:Array.isArray(p?.timeoffs)&&p?.timeoffs?.length>0?r(H,{children:[o("p",{className:"text-[#09090B] font-medium mb-4",children:"This list is for your information only."}),r("p",{className:"text-xs text-[#09090B] mb-1 flex items-center justify-between gap-2",children:[r("span",{children:["Annual entitlement for ",i]}),o("span",{className:"font-bold",children:t})]}),r("p",{className:"text-xs text-[#09090B] mb-6 flex items-center justify-between gap-2",children:[r("span",{children:["Entitlement up to ",m]}),o("span",{className:"font-bold",children:s})]}),o("div",{className:"mb-2",children:o(P,{data:p?.timeoffs,columns:ae})}),r("p",{className:"text-xs",children:["Total of"," ",R({number:p?.bookedDays,singular:"day",plural:"days",followCopyGuidelines:!1,showNumber:!0})," ","booked"]})]}):r(H,{children:[o("p",{className:"font-medium mb-1 text-[#09090B]",children:"No recorded time off"}),r("p",{className:"text-sm text-[#09090B]",children:["According to our records, ",e," has not taken any time off this year."]})]})})})},"DrawerTimeOff"),Ee=d(({employeeName:e,proposedTerminationDate:a,summaryData:t,formattedProposedTerminationDate:i,timeoffQuery:s,employment:m,onOpenChange:l,open:T})=>{let{entitledDays:p,bookedDays:N,usedDays:$,approvedDaysBeforeTermination:Q,approvedDaysAfterTermination:G,remainingDays:K,currentEntitlementDays:M,isUnlimitedPto:Y}=t.data;return r("div",{className:"RemoteFlows__PaidTimeOff__Container py-3",children:[o("h3",{className:"RemoteFlows__PaidTimeOff__Title mb-2",children:"Paid time off"}),r("p",{className:"RemoteFlows__PaidTimeOff__Description text-sm mb-2",children:["The proposed termination date for ",e," is"," ",i,". 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:"]}),r("div",{className:"mb-2",children:[!t?.isLoading&&!t?.isError&&t?.data&&o(ee,{usedDays:$,bookedDays:N,currentEntitlementDays:M,approvedDaysBeforeTermination:Q,approvedDaysAfterTermination:G,remainingDays:K,proposedTerminationDate:a,isUnlimitedPto:Y}),o(te,{employeeName:e,timeoffQuery:s,entitledDays:p,currentEntitlementDays:M,countryName:m?.country?.name??"Unknown",onOpenChange:l,formattedProposedTerminationDate:i,open:T})]})]})},"PaidTimeOff");export{Ee as a};
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
2
|
+
//# sourceMappingURL=chunk-RWYXH6CE.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/shared/drawer/DrawerDefault.tsx","../src/components/shared/drawer/Drawer.tsx","../src/components/shared/table/Table.tsx","../src/components/ui/table.tsx","../src/components/shared/table/TableFieldDefault.tsx","../src/flows/Termination/components/PaidTimeOff/PaidTimeOff.tsx"],"sourcesContent":["import { 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 function DrawerDefault({\n open,\n onOpenChange,\n direction,\n className,\n title,\n trigger,\n children,\n}: DrawerComponentProps) {\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 { useFormFields } from '@/src/context';\nimport { DrawerComponentProps } from '@/src/types/remoteFlows';\nimport { DrawerDefault } from './DrawerDefault';\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 || DrawerDefault;\n\n return (\n <CustomDrawer\n open={open}\n onOpenChange={onOpenChange}\n title={title}\n trigger={trigger}\n direction={direction}\n className={className}\n >\n {children}\n </CustomDrawer>\n );\n};\n","import { forwardRef } from 'react';\nimport { useFormFields } from '@/src/context';\nimport { $TSFixMe } from '@/src/types/remoteFlows';\nimport { TableFieldDefault } from './TableFieldDefault';\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 = forwardRef<HTMLTableElement, TableDataProps<$TSFixMe>>(\n ({ data = [], columns, className = '' }, ref) => {\n const { components } = useFormFields();\n const CustomTable =\n (components?.table as\n | React.ComponentType<TableDataProps<$TSFixMe>>\n | undefined) || TableFieldDefault;\n\n // Pass the same structured data to custom components\n return (\n <CustomTable\n ref={ref}\n data={data}\n columns={columns}\n className={className}\n />\n );\n },\n);\n\nTable.displayName = 'Table';\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 {\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 { $TSFixMe, TableComponentProps } from '@/src/types/remoteFlows';\n\nexport const TableFieldDefault = ({\n data,\n columns,\n className,\n ref,\n}: TableComponentProps) => {\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\nfunction getRowKey(row: $TSFixMe, index: number): string {\n return String(row.id ?? index);\n}\n","import { PaidTimeoffBreakdownResponse } from '@/src/common/api/timeoff';\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: 'short',\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 Unused days expire on {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":"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","names":["jsx","jsxs","DrawerDefault","open","onOpenChange","direction","className","title","trigger","children","Drawer","DrawerTrigger","DrawerContent","cn","DrawerHeader","DrawerTitle","__name","jsx","Drawer","__name","open","onOpenChange","title","trigger","children","className","direction","components","useFormFields","CustomDrawer","DrawerDefault","forwardRef","React","jsx","Table","className","props","ref","cn","TableHeader","TableBody","TableFooter","TableRow","TableHead","TableCell","TableCaption","jsx","jsxs","TableFieldDefault","__name","data","columns","className","ref","Table","cn","TableHeader","TableRow","column","TableHead","TableBody","row","rowIndex","TableCell","getRowKey","index","jsx","Table","forwardRef","data","columns","className","ref","components","useFormFields","CustomTable","TableFieldDefault","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 as
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as m}from"./chunk-BPIGB72P.js";import{a}from"./chunk-WMB752CR.js";import{a as i}from"./chunk-FUBLGAPH.js";import{a as c}from"./chunk-Z7WBY27D.js";import{a as S}from"./chunk-765OB2K5.js";import{a as f}from"./chunk-BZBPPV5B.js";import{a as n}from"./chunk-73BVEZJ6.js";import{a as p}from"./chunk-JHSQWGEK.js";import{a as s}from"./chunk-Y75E2FOC.js";import{a as r}from"./chunk-PGWKJ6FK.js";import{c as e}from"./chunk-ZK27BWOZ.js";import{a as t}from"./chunk-P37U34EQ.js";import{useId as D,useState as P}from"react";import{jsx as R}from"react/jsx-runtime";var L=t(({employmentId:d,companyId:u,countryCode:b,type:l="employee",externalId:v,skipSteps:g,initialValues:B,render:I,options:O})=>{let w=D(),o=e({companyId:u,countryCode:b,employmentId:d,type:l,options:O,skipSteps:g,externalId:v,initialValues:B}),[C,h]=P({showReserveInvoice:!1,showInviteSuccessful:!1});return R(r.Provider,{value:{formId:w,onboardingBag:o,creditScore:C,setCreditScore:h},children:I({onboardingBag:o,components:{BasicInformationStep:n,ContractDetailsStep:s,BenefitsStep:p,SubmitButton:i,SaveDraftButton:S,BackButton:m,OnboardingInvite:a,SelectCountryStep:f,ReviewStep:c}})})},"OnboardingFlow");export{L as a};
|
|
2
|
+
//# sourceMappingURL=chunk-TKSW7MGC.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{b as v}from"./chunk-PGWKJ6FK.js";import{d as l,e as p}from"./chunk-N3X274GT.js";import{a as s}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{b as v}from"./chunk-PGWKJ6FK.js";import{d as l,e as p}from"./chunk-N3X274GT.js";import{a as s}from"./chunk-EAV5VOMZ.js";import{a as y}from"./chunk-NFWNYW2E.js";import{b as c}from"./chunk-KQPDXXG3.js";import{a as i}from"./chunk-P37U34EQ.js";import{jsx as _}from"react/jsx-runtime";function A({onSubmit:f,onSuccess:a,onError:t,render:w,...o}){let{components:E}=c(),{onboardingBag:r,setCreditScore:m}=v(),d=l(),u=p(),{mutateAsync:R}=s(d),{mutateAsync:g}=s(u),S=i(async()=>{try{if(await f?.(),r.creditRiskStatus==="deposit_required"&&r.employmentId&&r.employment?.status&&!r.isEmploymentReadOnly){let e=await g({employment_slug:r.employmentId});if(e.data){await a?.({data:e.data,employmentStatus:"created_awaiting_reserve"}),m?.(n=>({...n,showReserveInvoice:!0})),r.refetchEmployment();return}e.error&&t?.({error:e.error,rawError:e.rawError,fieldErrors:[]})}else if(r.employmentId){let e=await R({employment_id:r.employmentId});if(e.data){await a?.({data:e.data,employmentStatus:"invited"}),m?.(n=>({...n,showInviteSuccessful:!0})),r.refetchEmployment();return}e.error&&t?.({error:e.error,rawError:e.rawError,fieldErrors:[]})}}catch(e){t?.({error:e,rawError:e,fieldErrors:[]})}},"handleSubmit"),I=r.creditRiskStatus==="deposit_required"&&r.employment?.status&&!r.isEmploymentReadOnly,b=E?.button||y;return _(b,{...o,disabled:d.isPending||u.isPending||o.disabled,onClick:e=>{S(),o.onClick?.(e)},children:w({employmentStatus:I?"created_awaiting_reserve":"invited"})})}i(A,"OnboardingInvite");export{A as a};
|
|
2
|
+
//# sourceMappingURL=chunk-WMB752CR.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as r}from"./chunk-WINYXC33.js";import{a as t}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as r}from"./chunk-WINYXC33.js";import{a as t}from"./chunk-XB4IEQ25.js";import{a as f}from"./chunk-LEVFKYRL.js";import{a as e}from"./chunk-3DGBLO6M.js";import{a as p}from"./chunk-7X3WUOTU.js";import{a as n}from"./chunk-4OVFMUUJ.js";import{a}from"./chunk-CZ7DTX5L.js";import{a as m}from"./chunk-MRYRNB7Y.js";import{a as i}from"./chunk-P37U34EQ.js";import{useId as c}from"react";import{jsx as F}from"react/jsx-runtime";var k=i(({employmentId:l,render:T,options:d,initialValues:s})=>{let u=c(),o=t({employmentId:l,options:d,initialValues:s});return F(m.Provider,{value:{formId:u,terminationBag:o},children:T({terminationBag:o,components:{SubmitButton:r,Back:n,EmployeeComunicationStep:e,TerminationDetailsStep:a,PaidTimeOffStep:p,AdditionalDetailsStep:f}})})},"TerminationFlow");export{k as a};
|
|
2
|
+
//# sourceMappingURL=chunk-X5ZNVQAZ.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as Q}from"./chunk-RWYXH6CE.js";import{a as J}from"./chunk-AO2DMBDU.js";import{a as U}from"./chunk-6DHV4GT6.js";import{a as W}from"./chunk-3DRSYLBM.js";import{a as Y}from"./chunk-A5NDO6CQ.js";import{a as H}from"./chunk-XGECMN4V.js";import{a as S,b as B,c as q,d as L,e as z}from"./chunk-5JQMTMHR.js";import{g as Z,h as K}from"./chunk-CVRZA3VP.js";import{a as R}from"./chunk-ZXGAFQXW.js";import{a as u,b as I}from"./chunk-EGSUF7OD.js";import{a as N}from"./chunk-DJ2OL5GS.js";import{a as E}from"./chunk-EAV5VOMZ.js";import{a as D}from"./chunk-P5QKSFOE.js";import{n as $}from"./chunk-T6Q7IALZ.js";import{a as A}from"./chunk-5BRMLRS7.js";import{a as w}from"./chunk-Z5WMKCRJ.js";import{d as O}from"./chunk-KQPDXXG3.js";import{d as _}from"./chunk-HRG5MSVG.js";import{a as v}from"./chunk-UQCSN47K.js";import{a as o}from"./chunk-P37U34EQ.js";import xe from"lodash.omitby";import je from"lodash.isnull";import{format as x,isFuture as Ve,parseISO as j,subDays as Pe}from"date-fns";import{useMemo as V}from"react";import be from"lodash.omit";import{useQuery as Fe}from"@tanstack/react-query";var G=o(({query:t,options:e})=>{let{client:y}=O();return Fe({queryKey:["payroll-calendars"],queryFn:o(()=>$({client:y,query:{year:t?.year,country_code:t?.countryCode}}),"queryFn"),enabled:e?.enabled,select:o(c=>c.data?.data?.payroll_calendars?.[0],"select")})},"usePayrollCalendars");import{isFuture as Me,isToday as ge,parseISO as Se}from"date-fns";var X=o(t=>{if(!t)return!1;let e=Se(t);return Me(e)||ge(e)},"isInProbationPeriod");import{Fragment as ke,jsx as m,jsxs as Ce}from"react/jsx-runtime";var lo=o(({employmentId:t,options:e,initialValues:y})=>{let{fieldValues:c,setFieldValues:ee,stepState:l,previousStep:oe,nextStep:ie}=A(B),{data:n,isLoading:te}=N({employmentId:t}),{data:ne}=G({query:{year:new Date().getFullYear().toString(),countryCode:n?.country?.code},options:{enabled:!!n?.country?.code}}),T=X(n?.probation_period_end_date),F=q(ne),P=V(()=>T?x(new Date,"yyyy-MM-dd"):x(F,"yyyy-MM-dd"),[T,F]),M=!!(n?.provisional_start_date&&Ve(j(n.provisional_start_date))),ae={personal_email:n?.basic_information?.email},g=z({...ae,...y,...l.values?.employee_communication,...l.values?.termination_details,...l.values?.paid_time_off,...l.values?.additional_information},M),d=V(()=>({...g,...c}),[c,g]),b=L({minTerminationDate:F,isEmployeeInProbationPeriod:T,selectedDate:j(d.proposed_termination_date)}),re=V(()=>{let s=R.data.schema.properties.termination_reason.oneOf,a=M?s.filter(i=>i.const==="cancellation_before_start_date"):s.filter(i=>i.const!=="cancellation_before_start_date");return{fields:{risk_assesment_info:S("Offboarding risk assessment","Employees may be protected from termination if they fall into certain categories. To help avoid claims from employees, let us know if the employee is part of one or more of these categories. Select all that apply.",{className:e?.jsfModify?.fields?.risk_assesment_info?.["x-jsf-presentation"]?.className}),termination_reason:{...e?.jsfModify?.fields?.termination_reason,oneOf:a},proposed_termination_date_info:S("Proposed termination date",Ce(ke,{children:["In most cases, Remote must provide notice to the employee before termination. The required notice period depends on local labor laws, the employment agreement, and other factors. We'll use those factors to determine the required notice period.",m(I,{external:!0,zendeskId:u.terminationNoticePeriods,className:v("text-sm",e?.jsfModify?.fields?.proposed_termination_date_info?.["x-jsf-presentation"]?.zendeskTriggerButtonClassName),children:"Learn about notice periods"})]}),{className:e?.jsfModify?.fields?.proposed_termination_date_info?.["x-jsf-presentation"]?.className}),proposed_termination_date:{...e?.jsfModify?.fields?.proposed_termination_date,"x-jsf-presentation":{...e?.jsfModify?.fields?.proposed_termination_date?.["x-jsf-presentation"],minDate:P,...d.termination_reason==="cancellation_before_start_date"&&n?.provisional_start_date?{maxDate:x(Pe(j(n.provisional_start_date),1),"yyyy-MM-dd")}:{},...b},...d.termination_reason==="cancellation_before_start_date"?{"x-jsf-errorMessage":{maximum:"The proposed termination date must be before the employee's start date."}}:{}},paid_time_off_info:{...e?.jsfModify?.fields?.paid_time_off_info,"x-jsf-presentation":{...e?.jsfModify?.fields?.paid_time_off_info?.["x-jsf-presentation"],Component:o(()=>{let i=e?.jsfModify?.fields?.paid_time_off_info?.["x-jsf-presentation"]?.Component;return m(J,{employeeName:n?.basic_information?.name,proposedTerminationDate:d.proposed_termination_date,employmentId:t,employment:n,render:r=>i?m(i,{...r}):m(Q,{...r})})},"Component")}},acknowledge_termination_procedure_info:{...e?.jsfModify?.fields?.acknowledge_termination_procedure_info,"x-jsf-presentation":{...e?.jsfModify?.fields?.acknowledge_termination_procedure_info?.["x-jsf-presentation"],Component:o(()=>{let i=e?.jsfModify?.fields?.acknowledge_termination_procedure_info?.["x-jsf-presentation"]?.Component;return m(U,{render:r=>i?m(i,{...r}):m(W,{...r})})},"Component")}},acknowledge_termination_procedure_fees_info:{...e?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info,"x-jsf-presentation":{...e?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info?.["x-jsf-presentation"],Component:o(()=>{let i={involuntaryOffboardingServiceChargeZendeskId:u.involuntaryOffboardingServiceCharge,reconciliationInvoiceZendeskId:u.reconciliationInvoice},r=e?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info?.["x-jsf-presentation"]?.Component;return r?m(r,{...i}):m(Y,{...i})},"Component")}}}}},[n,t,d.proposed_termination_date,d.termination_reason,M,P,e?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info,e?.jsfModify?.fields?.acknowledge_termination_procedure_info,e?.jsfModify?.fields?.paid_time_off_info,e?.jsfModify?.fields?.proposed_termination_date,e?.jsfModify?.fields?.proposed_termination_date_info,e?.jsfModify?.fields?.risk_assesment_info,e?.jsfModify?.fields?.termination_reason,b]),{data:f,isLoading:se}=K({formValues:d,jsfModify:{...e?.jsfModify,fields:{...e?.jsfModify?.fields,...re?.fields}},step:l.currentStep.name}),me=D(H.data.schema),k=Z(),{mutateAsync:de}=E(k);async function fe(s){if(!t)throw new Error("Employment id is missing");if(f){let a=await C(s,!0),{customer_informed_employee:i}=a,r=i==="yes"?{employee_awareness:{date:a.customer_informed_employee_date,note:a.customer_informed_employee_description}}:void 0,_e=await w(a,["agrees_to_pto_amount","confidential","customer_informed_employee","will_challenge_termination"]),ue=be(_e,"customer_informed_employee_date","customer_informed_employee_description"),ye=xe({...ue,...r},je),p=a.timesheet_file??[],h=Array.isArray(p)&&p.length>0?{content:p[0].content,name:p[0].name}:void 0,Te={employment_id:t,termination_details:{...ye,timesheet_file:h||void 0},type:"termination"};return de(Te)}}o(fe,"onSubmit");function le(){oe()}o(le,"back");function ce(){ie()}o(ce,"next");let pe=Object.keys(c).length>0,C=o(async(s,a=!1)=>a?await _(s,me.fields,{isPartialValidation:!0}):f?await _(s,f?.fields,{isPartialValidation:!0}):{},"parseFormValues");return{employmentId:t,employment:n,fieldValues:d,isDirty:pe,stepState:l,fields:f?.fields||[],isLoading:se||te,isSubmitting:k.isPending,initialValues:g,handleValidation:o(async s=>{if(f){let a=await _(s,f?.fields);return f?.handleValidation(a)}return null},"handleValidation"),checkFieldUpdates:ee,parseFormValues:C,onSubmit:fe,back:le,next:ce}},"useTermination");export{lo as a};
|
|
2
|
+
//# sourceMappingURL=chunk-XB4IEQ25.js.map
|