@remoteoss/remote-flows 1.1.0 → 1.1.1

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.
Files changed (96) hide show
  1. package/dist/chunk-33DCBJQD.js +2 -0
  2. package/dist/chunk-33DCBJQD.js.map +1 -0
  3. package/dist/chunk-34HAEN6X.js +2 -0
  4. package/dist/{chunk-SQESDLUU.js.map → chunk-34HAEN6X.js.map} +1 -1
  5. package/dist/chunk-4QQMF6QQ.js +2 -0
  6. package/dist/{chunk-OHOCZB6S.js.map → chunk-4QQMF6QQ.js.map} +1 -1
  7. package/dist/{chunk-7IFYJQW7.js → chunk-6623EJIS.js} +2 -2
  8. package/dist/chunk-67MPL47V.js +2 -0
  9. package/dist/chunk-67MPL47V.js.map +1 -0
  10. package/dist/{chunk-B77KFSEU.js → chunk-6EYHZKFV.js} +2 -2
  11. package/dist/{chunk-LOZIGR3Z.js → chunk-A45DSZA7.js} +2 -2
  12. package/dist/{chunk-MZKA5DYP.js → chunk-AUY7BT3K.js} +2 -2
  13. package/dist/{chunk-4C5N57R7.js → chunk-CE4VVNUZ.js} +2 -2
  14. package/dist/{chunk-CFN3Z76T.js → chunk-FF3CQXEL.js} +2 -2
  15. package/dist/{chunk-G7N277WY.js → chunk-HGL5ACFL.js} +2 -2
  16. package/dist/{chunk-QKJNMYIA.js → chunk-IIZDTABX.js} +2 -2
  17. package/dist/{chunk-V6X6F6LC.js → chunk-JOQBCGW5.js} +2 -2
  18. package/dist/{chunk-YSOGGVBO.js → chunk-KFDCTVJC.js} +2 -2
  19. package/dist/{chunk-VHW6XBMG.js → chunk-L23UIJDU.js} +2 -2
  20. package/dist/{chunk-VHW6XBMG.js.map → chunk-L23UIJDU.js.map} +1 -1
  21. package/dist/chunk-LSOPZ4VQ.js +2 -0
  22. package/dist/{chunk-MJ3QHSQ2.js.map → chunk-LSOPZ4VQ.js.map} +1 -1
  23. package/dist/{chunk-JCYNAEWF.js → chunk-NORA242K.js} +2 -2
  24. package/dist/{chunk-LCJSVSZ5.js → chunk-OAQK6CYO.js} +2 -2
  25. package/dist/chunk-R6RDV7FH.js +2 -0
  26. package/dist/{chunk-3VOTCJWD.js.map → chunk-R6RDV7FH.js.map} +1 -1
  27. package/dist/{chunk-W57XSVXY.js → chunk-RYUDHXQ6.js} +2 -2
  28. package/dist/{chunk-N2VHZLA3.js → chunk-S2OEFLVC.js} +2 -2
  29. package/dist/{chunk-YR666AEH.js → chunk-SQTK4MAQ.js} +2 -2
  30. package/dist/{chunk-KRMKWQVS.js → chunk-TWDYIXF6.js} +2 -2
  31. package/dist/{chunk-ZVA3C5TB.js → chunk-UTYOP6NP.js} +2 -2
  32. package/dist/{chunk-BHE7NDIR.js → chunk-VGP4HT4V.js} +2 -2
  33. package/dist/{chunk-5RPTKYPJ.js → chunk-VOBHJI4Q.js} +2 -2
  34. package/dist/{chunk-Y47XYRGE.js → chunk-ZMJV6QZZ.js} +2 -2
  35. package/dist/flows/ContractAmendment/ContractAmendmentFlow.js +1 -1
  36. package/dist/flows/ContractAmendment/ContractAmendmentForm.js +1 -1
  37. package/dist/flows/ContractAmendment/index.js +1 -1
  38. package/dist/flows/ContractorOnboarding/ContractorOnboarding.js +1 -1
  39. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.js +1 -1
  40. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.js +1 -1
  41. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.js +1 -1
  42. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.js +1 -1
  43. package/dist/flows/ContractorOnboarding/components/PricingPlan.js +1 -1
  44. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.js +1 -1
  45. package/dist/flows/ContractorOnboarding/index.js +1 -1
  46. package/dist/flows/CostCalculator/CostCalculatorFlow.js +1 -1
  47. package/dist/flows/CostCalculator/CostCalculatorForm.js +1 -1
  48. package/dist/flows/CostCalculator/hooks.js +1 -1
  49. package/dist/flows/CostCalculator/index.js +1 -1
  50. package/dist/flows/CostCalculator/utils.js +1 -1
  51. package/dist/flows/Onboarding/OnboardingFlow.js +1 -1
  52. package/dist/flows/Onboarding/components/BasicInformationStep.js +1 -1
  53. package/dist/flows/Onboarding/components/BenefitsStep.js +1 -1
  54. package/dist/flows/Onboarding/components/ContractDetailsStep.js +1 -1
  55. package/dist/flows/Onboarding/components/OnboardingForm.js +1 -1
  56. package/dist/flows/Onboarding/components/SelectCountryStep.js +1 -1
  57. package/dist/flows/Onboarding/index.js +1 -1
  58. package/dist/flows/Termination/AdditionalDetailsForm.js +1 -1
  59. package/dist/flows/Termination/EmployeeComunicationForm.js +1 -1
  60. package/dist/flows/Termination/PaidTimeOffForm.js +1 -1
  61. package/dist/flows/Termination/TerminationDetailsForm.js +1 -1
  62. package/dist/flows/Termination/TerminationFlow.js +1 -1
  63. package/dist/flows/Termination/TerminationForm.d.ts +2 -1
  64. package/dist/flows/Termination/TerminationForm.js +1 -1
  65. package/dist/flows/Termination/hooks.js +1 -1
  66. package/dist/flows/Termination/index.js +1 -1
  67. package/dist/index.js +1 -1
  68. package/package.json +1 -1
  69. package/dist/chunk-3VOTCJWD.js +0 -2
  70. package/dist/chunk-KYCI2BCF.js +0 -2
  71. package/dist/chunk-KYCI2BCF.js.map +0 -1
  72. package/dist/chunk-MJ3QHSQ2.js +0 -2
  73. package/dist/chunk-OHOCZB6S.js +0 -2
  74. package/dist/chunk-SQESDLUU.js +0 -2
  75. package/dist/chunk-UBWBBXKT.js +0 -2
  76. package/dist/chunk-UBWBBXKT.js.map +0 -1
  77. /package/dist/{chunk-7IFYJQW7.js.map → chunk-6623EJIS.js.map} +0 -0
  78. /package/dist/{chunk-B77KFSEU.js.map → chunk-6EYHZKFV.js.map} +0 -0
  79. /package/dist/{chunk-LOZIGR3Z.js.map → chunk-A45DSZA7.js.map} +0 -0
  80. /package/dist/{chunk-MZKA5DYP.js.map → chunk-AUY7BT3K.js.map} +0 -0
  81. /package/dist/{chunk-4C5N57R7.js.map → chunk-CE4VVNUZ.js.map} +0 -0
  82. /package/dist/{chunk-CFN3Z76T.js.map → chunk-FF3CQXEL.js.map} +0 -0
  83. /package/dist/{chunk-G7N277WY.js.map → chunk-HGL5ACFL.js.map} +0 -0
  84. /package/dist/{chunk-QKJNMYIA.js.map → chunk-IIZDTABX.js.map} +0 -0
  85. /package/dist/{chunk-V6X6F6LC.js.map → chunk-JOQBCGW5.js.map} +0 -0
  86. /package/dist/{chunk-YSOGGVBO.js.map → chunk-KFDCTVJC.js.map} +0 -0
  87. /package/dist/{chunk-JCYNAEWF.js.map → chunk-NORA242K.js.map} +0 -0
  88. /package/dist/{chunk-LCJSVSZ5.js.map → chunk-OAQK6CYO.js.map} +0 -0
  89. /package/dist/{chunk-W57XSVXY.js.map → chunk-RYUDHXQ6.js.map} +0 -0
  90. /package/dist/{chunk-N2VHZLA3.js.map → chunk-S2OEFLVC.js.map} +0 -0
  91. /package/dist/{chunk-YR666AEH.js.map → chunk-SQTK4MAQ.js.map} +0 -0
  92. /package/dist/{chunk-KRMKWQVS.js.map → chunk-TWDYIXF6.js.map} +0 -0
  93. /package/dist/{chunk-ZVA3C5TB.js.map → chunk-UTYOP6NP.js.map} +0 -0
  94. /package/dist/{chunk-BHE7NDIR.js.map → chunk-VGP4HT4V.js.map} +0 -0
  95. /package/dist/{chunk-5RPTKYPJ.js.map → chunk-VOBHJI4Q.js.map} +0 -0
  96. /package/dist/{chunk-Y47XYRGE.js.map → chunk-ZMJV6QZZ.js.map} +0 -0
@@ -1,2 +1,2 @@
1
- import{b as y}from"./chunk-PGWKJ6FK.js";import{a as F}from"./chunk-CFN3Z76T.js";import{b as c}from"./chunk-H6Q65JLZ.js";import{b as u}from"./chunk-2YTBWEC7.js";import{f,g as p}from"./chunk-66N57DKF.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 U({defaultValues:d,onSubmit:g,components:E}){let{formId:k,onboardingBag:o}=y(),w=c(o.handleValidation),r=f({resolver:w,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 B=o.stepState.currentStep.name,P=o.meta?.fields?.[B],O=u(n?.fieldErrors||[],P);l?.({error:n.error,rawError:n.rawError,fieldErrors:O})}}catch(a){l?.({error:a,rawError:a,fieldErrors:[]})}}else g(t)},"handleSubmit");return V(p,{...r,key:`form-${o.stepState.currentStep.name}`},b("form",{id:k,onSubmit:r.handleSubmit(h),className:"space-y-4 RemoteFlows__OnboardingForm",children:b(F,{components:E,fields:o.fields,fieldsets:o.meta.fieldsets,fieldValues:o.fieldValues})}))}m(U,"OnboardingForm");export{U as a};
2
- //# sourceMappingURL=chunk-V6X6F6LC.js.map
1
+ import{b as y}from"./chunk-PGWKJ6FK.js";import{a as F}from"./chunk-FF3CQXEL.js";import{b as c}from"./chunk-H6Q65JLZ.js";import{b as u}from"./chunk-2YTBWEC7.js";import{f,g as p}from"./chunk-66N57DKF.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 U({defaultValues:d,onSubmit:g,components:E}){let{formId:k,onboardingBag:o}=y(),w=c(o.handleValidation),r=f({resolver:w,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 B=o.stepState.currentStep.name,P=o.meta?.fields?.[B],O=u(n?.fieldErrors||[],P);l?.({error:n.error,rawError:n.rawError,fieldErrors:O})}}catch(a){l?.({error:a,rawError:a,fieldErrors:[]})}}else g(t)},"handleSubmit");return V(p,{...r,key:`form-${o.stepState.currentStep.name}`},b("form",{id:k,onSubmit:r.handleSubmit(h),className:"space-y-4 RemoteFlows__OnboardingForm",children:b(F,{components:E,fields:o.fields,fieldsets:o.meta.fieldsets,fieldValues:o.fieldValues})}))}m(U,"OnboardingForm");export{U as a};
2
+ //# sourceMappingURL=chunk-JOQBCGW5.js.map
@@ -1,2 +1,2 @@
1
- import{a as r}from"./chunk-ZVA3C5TB.js";import{a}from"./chunk-QH4EGUER.js";import{a as c}from"./chunk-CDCKGIF5.js";import{a as e}from"./chunk-ZKINPHYU.js";import{a as m}from"./chunk-FUMA5UUB.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-YSOGGVBO.js.map
1
+ import{a as r}from"./chunk-UTYOP6NP.js";import{a}from"./chunk-QH4EGUER.js";import{a as c}from"./chunk-CDCKGIF5.js";import{a as e}from"./chunk-ZKINPHYU.js";import{a as m}from"./chunk-FUMA5UUB.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-KFDCTVJC.js.map
@@ -1,2 +1,2 @@
1
- import{a as Z}from"./chunk-NS4FRCEH.js";import{a as K}from"./chunk-IWA5B4U6.js";import{a as Q}from"./chunk-AT7VHJMW.js";import{a as J}from"./chunk-3SAV2OEE.js";import{a as R}from"./chunk-MKE27NUF.js";import{a as z}from"./chunk-I4XJ764Y.js";import{c as H,d as L}from"./chunk-2TILNBMK.js";import{a as A}from"./chunk-ZXGAFQXW.js";import{a as S,b as E,c as N,d as B,e as q}from"./chunk-QUQLW5YW.js";import{a as D}from"./chunk-Z5WMKCRJ.js";import{a as O}from"./chunk-JA7UP6GN.js";import{a as u,b as $}from"./chunk-7FMR3EIX.js";import{a as v}from"./chunk-2YTBWEC7.js";import{m as b}from"./chunk-NFUP6BFU.js";import{a as I}from"./chunk-PJBAQZ6G.js";import{d as w}from"./chunk-KQPDXXG3.js";import{c as p}from"./chunk-2SO4LW7V.js";import{a as h}from"./chunk-L3Z2G32A.js";import{a as o}from"./chunk-P37U34EQ.js";import{createHeadlessForm as ye}from"@remoteoss/json-schema-form-old";import Te from"lodash.omitby";import Fe from"lodash.isnull";import{format as g,isFuture as Me,parseISO as x,subDays as Se}from"date-fns";import{useMemo as j}from"react";import ge from"lodash.omit";import{useQuery as ce}from"@tanstack/react-query";var U=o(({query:t,options:e})=>{let{client:_}=w();return ce({queryKey:["payroll-calendars"],queryFn:o(()=>b({client:_,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 pe,isToday as ue,parseISO as _e}from"date-fns";var W=o(t=>{if(!t)return!1;let e=_e(t);return pe(e)||ue(e)},"isInProbationPeriod");import{Fragment as xe,jsx as d,jsxs as je}from"react/jsx-runtime";var so=o(({employmentId:t,options:e,initialValues:_})=>{let{fieldValues:c,setFieldValues:Y,stepState:a,previousStep:G,nextStep:X}=I(E),{data:n}=O({employmentId:t}),{data:ee}=U({query:{year:new Date().getFullYear().toString(),countryCode:n?.country?.code},options:{enabled:!!n?.country?.code}}),y=W(n?.probation_period_end_date),T=N(ee),P=j(()=>y?g(new Date,"yyyy-MM-dd"):g(T,"yyyy-MM-dd"),[y,T]),F=!!(n?.provisional_start_date&&Me(x(n.provisional_start_date))),M=q({...a.values?.employee_communication,...a.values?.termination_details,...a.values?.paid_time_off,...a.values?.additional_information,..._},F),f=j(()=>({...a.values?.[a.currentStep.name],...M,...c}),[a.values,a.currentStep.name,c,M]),V=B({minTerminationDate:T,isEmployeeInProbationPeriod:y,selectedDate:x(f.proposed_termination_date)}),oe=j(()=>{let m=A.data.schema.properties.termination_reason.oneOf,r=F?m.filter(i=>i.const==="cancellation_before_start_date"):m.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:r},proposed_termination_date_info:S("Proposed termination date",je(xe,{children:["In most cases, we 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.",d($,{external:!0,zendeskId:u.terminationNoticePeriods,className:h("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,...f.termination_reason==="cancellation_before_start_date"&&n?.provisional_start_date?{maxDate:g(Se(x(n.provisional_start_date),1),"yyyy-MM-dd")}:{},...V},...f.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 d(Z,{employeeName:n?.basic_information?.name,proposedTerminationDate:f.proposed_termination_date,employmentId:t,employment:n,render:s=>i?d(i,{...s}):d(R,{...s})})},"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 d(K,{render:s=>i?d(i,{...s}):d(Q,{...s})})},"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},s=e?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info?.["x-jsf-presentation"]?.Component;return s?d(s,{...i}):d(J,{...i})},"Component")}}}}},[n,t,f.proposed_termination_date,f.termination_reason,F,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,V]),{data:l,isLoading:ie}=L({formValues:f,jsfModify:{...e?.jsfModify,fields:{...e?.jsfModify?.fields,...oe?.fields}},step:a.currentStep.name}),te=ye(z.data.schema),k=H(),{mutateAsync:ne}=v(k);async function ae(m){if(!t)throw new Error("Employment id is missing");if(l){let r=await C(m,!0),{customer_informed_employee:i}=r,s=i==="yes"?{employee_awareness:{date:r.customer_informed_employee_date,note:r.customer_informed_employee_description}}:void 0,de=await D(r,["agrees_to_pto_amount","confidential","customer_informed_employee","will_challenge_termination"]),fe=ge(de,"customer_informed_employee_date","customer_informed_employee_description"),le=Te({...fe,...s},Fe);return ne({employment_id:t,termination_details:le,type:"termination"})}}o(ae,"onSubmit");function re(){G()}o(re,"back");function se(){X()}o(se,"next");let me=Object.keys(c).length>0,C=o(async(m,r=!1)=>r?await p(m,te.fields,{isPartialValidation:!0}):l?await p(m,l?.fields,{isPartialValidation:!0}):{},"parseFormValues");return{employmentId:t,employment:n,fieldValues:f,isDirty:me,stepState:a,fields:l?.fields||[],isLoading:ie,isSubmitting:k.isPending,initialValues:M,handleValidation:o(async m=>{if(l){let r=await p(m,l?.fields);return l?.handleValidation(r)}return null},"handleValidation"),checkFieldUpdates:Y,parseFormValues:C,onSubmit:ae,back:re,next:se}},"useTermination");export{so as a};
2
- //# sourceMappingURL=chunk-VHW6XBMG.js.map
1
+ import{a as Z}from"./chunk-NS4FRCEH.js";import{a as K}from"./chunk-IWA5B4U6.js";import{a as Q}from"./chunk-AT7VHJMW.js";import{a as J}from"./chunk-3SAV2OEE.js";import{a as R}from"./chunk-MKE27NUF.js";import{a as z}from"./chunk-I4XJ764Y.js";import{c as H,d as L}from"./chunk-2TILNBMK.js";import{a as A}from"./chunk-ZXGAFQXW.js";import{a as S,b as E,c as N,d as B,e as q}from"./chunk-QUQLW5YW.js";import{a as D}from"./chunk-Z5WMKCRJ.js";import{a as O}from"./chunk-JA7UP6GN.js";import{a as u,b as $}from"./chunk-7FMR3EIX.js";import{a as v}from"./chunk-2YTBWEC7.js";import{m as b}from"./chunk-NFUP6BFU.js";import{a as I}from"./chunk-PJBAQZ6G.js";import{d as w}from"./chunk-KQPDXXG3.js";import{c as p}from"./chunk-2SO4LW7V.js";import{a as h}from"./chunk-L3Z2G32A.js";import{a as o}from"./chunk-P37U34EQ.js";import{createHeadlessForm as ye}from"@remoteoss/json-schema-form-old";import Te from"lodash.omitby";import Fe from"lodash.isnull";import{format as g,isFuture as Me,parseISO as x,subDays as Se}from"date-fns";import{useMemo as j}from"react";import ge from"lodash.omit";import{useQuery as ce}from"@tanstack/react-query";var U=o(({query:t,options:e})=>{let{client:_}=w();return ce({queryKey:["payroll-calendars"],queryFn:o(()=>b({client:_,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 pe,isToday as ue,parseISO as _e}from"date-fns";var W=o(t=>{if(!t)return!1;let e=_e(t);return pe(e)||ue(e)},"isInProbationPeriod");import{Fragment as xe,jsx as d,jsxs as je}from"react/jsx-runtime";var so=o(({employmentId:t,options:e,initialValues:_})=>{let{fieldValues:c,setFieldValues:Y,stepState:a,previousStep:G,nextStep:X}=I(E),{data:n}=O({employmentId:t}),{data:ee}=U({query:{year:new Date().getFullYear().toString(),countryCode:n?.country?.code},options:{enabled:!!n?.country?.code}}),y=W(n?.probation_period_end_date),T=N(ee),P=j(()=>y?g(new Date,"yyyy-MM-dd"):g(T,"yyyy-MM-dd"),[y,T]),F=!!(n?.provisional_start_date&&Me(x(n.provisional_start_date))),M=q({...a.values?.employee_communication,...a.values?.termination_details,...a.values?.paid_time_off,...a.values?.additional_information,..._},F),f=j(()=>({...M,...a.values?.[a.currentStep.name],...c}),[a.values,a.currentStep.name,c,M]),V=B({minTerminationDate:T,isEmployeeInProbationPeriod:y,selectedDate:x(f.proposed_termination_date)}),oe=j(()=>{let m=A.data.schema.properties.termination_reason.oneOf,r=F?m.filter(i=>i.const==="cancellation_before_start_date"):m.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:r},proposed_termination_date_info:S("Proposed termination date",je(xe,{children:["In most cases, we 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.",d($,{external:!0,zendeskId:u.terminationNoticePeriods,className:h("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,...f.termination_reason==="cancellation_before_start_date"&&n?.provisional_start_date?{maxDate:g(Se(x(n.provisional_start_date),1),"yyyy-MM-dd")}:{},...V},...f.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 d(Z,{employeeName:n?.basic_information?.name,proposedTerminationDate:f.proposed_termination_date,employmentId:t,employment:n,render:s=>i?d(i,{...s}):d(R,{...s})})},"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 d(K,{render:s=>i?d(i,{...s}):d(Q,{...s})})},"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},s=e?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info?.["x-jsf-presentation"]?.Component;return s?d(s,{...i}):d(J,{...i})},"Component")}}}}},[n,t,f.proposed_termination_date,f.termination_reason,F,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,V]),{data:l,isLoading:ie}=L({formValues:f,jsfModify:{...e?.jsfModify,fields:{...e?.jsfModify?.fields,...oe?.fields}},step:a.currentStep.name}),te=ye(z.data.schema),k=H(),{mutateAsync:ne}=v(k);async function ae(m){if(!t)throw new Error("Employment id is missing");if(l){let r=await C(m,!0),{customer_informed_employee:i}=r,s=i==="yes"?{employee_awareness:{date:r.customer_informed_employee_date,note:r.customer_informed_employee_description}}:void 0,de=await D(r,["agrees_to_pto_amount","confidential","customer_informed_employee","will_challenge_termination"]),fe=ge(de,"customer_informed_employee_date","customer_informed_employee_description"),le=Te({...fe,...s},Fe);return ne({employment_id:t,termination_details:le,type:"termination"})}}o(ae,"onSubmit");function re(){G()}o(re,"back");function se(){X()}o(se,"next");let me=Object.keys(c).length>0,C=o(async(m,r=!1)=>r?await p(m,te.fields,{isPartialValidation:!0}):l?await p(m,l?.fields,{isPartialValidation:!0}):{},"parseFormValues");return{employmentId:t,employment:n,fieldValues:f,isDirty:me,stepState:a,fields:l?.fields||[],isLoading:ie,isSubmitting:k.isPending,initialValues:M,handleValidation:o(async m=>{if(l){let r=await p(m,l?.fields);return l?.handleValidation(r)}return null},"handleValidation"),checkFieldUpdates:Y,parseFormValues:C,onSubmit:ae,back:re,next:se}},"useTermination");export{so as a};
2
+ //# sourceMappingURL=chunk-L23UIJDU.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/flows/Termination/hooks.tsx","../src/common/api/payroll-calendars.ts","../src/common/employment.ts"],"sourcesContent":["import { $TSFixMe, createHeadlessForm } from '@remoteoss/json-schema-form-old';\nimport omitBy from 'lodash.omitby';\nimport isNull from 'lodash.isnull';\nimport { format, isFuture, parseISO, subDays } from 'date-fns';\nimport { useMemo } from 'react';\nimport {\n CreateOffboardingParams,\n TerminationDetailsParams,\n} from '@/src/client';\nimport { mutationToPromise } from '@/src/lib/mutations';\nimport { parseJSFToValidate } from '@/src/components/form/utils';\nimport {\n EmployeeCommunicationFormValues,\n PaidTimeOffFormValues,\n TerminationDetailsFormValues,\n TerminationFlowProps,\n TerminationFormValues,\n} from '@/src/flows/Termination/types';\nimport omit from 'lodash.omit';\nimport { parseFormRadioValues } from '@/src/flows/utils';\nimport { useStepState } from '@/src/flows/useStepState';\nimport {\n buildInitialValues,\n calculateMinTerminationDate,\n calculateProposedTerminationDateStatement,\n STEPS,\n} from '@/src/flows/Termination/utils';\nimport { jsonSchema } from '@/src/flows/Termination/json-schemas/jsonSchema';\nimport { terminationDetailsSchema } from '@/src/flows/Termination/json-schemas/terminationDetails';\nimport {\n useCreateTermination,\n useTerminationSchema,\n} from '@/src/flows/Termination/api';\nimport { createInformationField } from '@/src/components/form/jsf-utils/createFields';\nimport { cn } from '@/src/internals';\nimport { zendeskArticles } from '@/src/components/shared/zendesk-drawer/utils';\nimport { PaidTimeOff } from '@/src/flows/Termination/components/PaidTimeOff/PaidTimeOff';\nimport { PaidTimeOffContainer } from '@/src/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer';\nimport { useEmploymentQuery } from '@/src/common/api';\nimport { AcknowledgeInformationContainer } from '@/src/flows/Termination/components/AcknowledgeInformation/AcknowledgeInfomationContainer';\nimport { AcknowledgeInformation } from '@/src/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformation';\nimport { AcknowledgeInformationFees } from '@/src/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformationFees';\nimport { usePayrollCalendars } from '@/src/common/api/payroll-calendars';\nimport { isInProbationPeriod } from '@/src/common/employment';\nimport { ZendeskTriggerButton } from '@/src/components/shared/zendesk-drawer/ZendeskTriggerButton';\n\ntype TerminationHookProps = Omit<TerminationFlowProps, 'render'>;\n\nexport const useTermination = ({\n employmentId,\n options,\n initialValues: terminationInitialValues,\n}: TerminationHookProps) => {\n const { fieldValues, setFieldValues, stepState, previousStep, nextStep } =\n useStepState<keyof typeof STEPS, TerminationFormValues>(STEPS);\n\n const { data: employment } = useEmploymentQuery({ employmentId });\n\n const { data: payrollCalendars } = usePayrollCalendars({\n query: {\n year: new Date().getFullYear().toString(),\n countryCode: employment?.country?.code,\n },\n options: {\n enabled: Boolean(employment?.country?.code),\n },\n });\n\n const isEmployeeInProbationPeriod = isInProbationPeriod(\n employment?.probation_period_end_date,\n );\n\n const minTerminationDate = calculateMinTerminationDate(payrollCalendars);\n const minDate = useMemo(\n () =>\n isEmployeeInProbationPeriod\n ? format(new Date(), 'yyyy-MM-dd')\n : format(minTerminationDate, 'yyyy-MM-dd'),\n [isEmployeeInProbationPeriod, minTerminationDate],\n );\n\n const hasFutureStartDate = Boolean(\n employment?.provisional_start_date &&\n isFuture(parseISO(employment.provisional_start_date)),\n );\n\n const initialValues = buildInitialValues(\n {\n ...stepState.values?.employee_communication,\n ...stepState.values?.termination_details,\n ...stepState.values?.paid_time_off,\n ...stepState.values?.additional_information,\n ...terminationInitialValues,\n },\n hasFutureStartDate,\n );\n\n const formValues = useMemo(\n () => ({\n ...stepState.values?.[stepState.currentStep.name as keyof typeof STEPS], // Restore values for the current step\n ...initialValues,\n ...fieldValues,\n }),\n [stepState.values, stepState.currentStep.name, fieldValues, initialValues],\n );\n\n const proposedTerminationDateStatement =\n calculateProposedTerminationDateStatement({\n minTerminationDate,\n isEmployeeInProbationPeriod,\n selectedDate: parseISO(formValues.proposed_termination_date),\n });\n\n const customFields = useMemo(() => {\n const originalTerminationReasonOptions =\n terminationDetailsSchema.data.schema.properties.termination_reason.oneOf;\n\n const terminationReasonOptions = hasFutureStartDate\n ? originalTerminationReasonOptions.filter(\n (option: $TSFixMe) =>\n option.const === 'cancellation_before_start_date',\n )\n : originalTerminationReasonOptions.filter(\n (option: $TSFixMe) =>\n option.const !== 'cancellation_before_start_date',\n );\n\n return {\n fields: {\n risk_assesment_info: createInformationField(\n 'Offboarding risk assessment',\n 'Employees may be protected from termination if they fall into certain categories. To help avoid claims from employees, let us know if the employee is part of one or more of these categories. Select all that apply.',\n {\n className: (\n options?.jsfModify?.fields?.risk_assesment_info as $TSFixMe\n )?.['x-jsf-presentation']?.className,\n },\n ),\n termination_reason: {\n ...(options?.jsfModify?.fields?.termination_reason as $TSFixMe),\n oneOf: terminationReasonOptions,\n },\n proposed_termination_date_info: createInformationField(\n 'Proposed termination date',\n <>\n In most cases, we must provide notice to the employee before\n termination. The required notice period depends on local labor laws,\n the employment agreement, and other factors. We'll use those factors\n to determine the required notice period.\n <ZendeskTriggerButton\n external\n zendeskId={zendeskArticles.terminationNoticePeriods}\n className={cn(\n 'text-sm',\n (\n options?.jsfModify?.fields\n ?.proposed_termination_date_info as $TSFixMe\n )?.['x-jsf-presentation']?.zendeskTriggerButtonClassName,\n )}\n >\n Learn about notice periods\n </ZendeskTriggerButton>\n </>,\n {\n className: (\n options?.jsfModify?.fields\n ?.proposed_termination_date_info as $TSFixMe\n )?.['x-jsf-presentation']?.className,\n },\n ),\n proposed_termination_date: {\n ...(options?.jsfModify?.fields\n ?.proposed_termination_date as $TSFixMe),\n 'x-jsf-presentation': {\n ...(\n options?.jsfModify?.fields?.proposed_termination_date as $TSFixMe\n )?.['x-jsf-presentation'],\n minDate: minDate,\n ...(formValues.termination_reason ===\n 'cancellation_before_start_date' &&\n employment?.provisional_start_date\n ? {\n maxDate: format(\n subDays(parseISO(employment.provisional_start_date), 1),\n 'yyyy-MM-dd',\n ),\n }\n : {}),\n ...proposedTerminationDateStatement,\n },\n ...(formValues.termination_reason === 'cancellation_before_start_date'\n ? {\n 'x-jsf-errorMessage': {\n maximum:\n \"The proposed termination date must be before the employee's start date.\",\n },\n }\n : {}),\n },\n paid_time_off_info: {\n ...(options?.jsfModify?.fields?.paid_time_off_info as $TSFixMe),\n 'x-jsf-presentation': {\n ...(options?.jsfModify?.fields?.paid_time_off_info as $TSFixMe)?.[\n 'x-jsf-presentation'\n ],\n Component: () => {\n const CustomComponent = (\n options?.jsfModify?.fields?.paid_time_off_info as $TSFixMe\n )?.['x-jsf-presentation']?.Component;\n\n return (\n <PaidTimeOffContainer\n employeeName={employment?.basic_information?.name as string}\n proposedTerminationDate={formValues.proposed_termination_date}\n employmentId={employmentId}\n employment={employment}\n render={(props) => {\n if (CustomComponent) {\n return <CustomComponent {...props} />;\n }\n return <PaidTimeOff {...props} />;\n }}\n />\n );\n },\n },\n },\n acknowledge_termination_procedure_info: {\n ...(options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_info as $TSFixMe),\n 'x-jsf-presentation': {\n ...(\n options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_info as $TSFixMe\n )?.['x-jsf-presentation'],\n Component: () => {\n const CustomComponent = (\n options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_info as $TSFixMe\n )?.['x-jsf-presentation']?.Component;\n\n return (\n <AcknowledgeInformationContainer\n render={(props) => {\n if (CustomComponent) {\n return <CustomComponent {...props} />;\n }\n return <AcknowledgeInformation {...props} />;\n }}\n />\n );\n },\n },\n },\n acknowledge_termination_procedure_fees_info: {\n ...(options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_fees_info as $TSFixMe),\n 'x-jsf-presentation': {\n ...(\n options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_fees_info as $TSFixMe\n )?.['x-jsf-presentation'],\n Component: () => {\n const zendeskIds = {\n involuntaryOffboardingServiceChargeZendeskId:\n zendeskArticles.involuntaryOffboardingServiceCharge,\n reconciliationInvoiceZendeskId:\n zendeskArticles.reconciliationInvoice,\n };\n\n const CustomComponent = (\n options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_fees_info as $TSFixMe\n )?.['x-jsf-presentation']?.Component;\n\n if (CustomComponent) {\n return <CustomComponent {...zendeskIds} />;\n }\n\n return <AcknowledgeInformationFees {...zendeskIds} />;\n },\n },\n },\n },\n };\n }, [\n employment,\n employmentId,\n formValues.proposed_termination_date,\n formValues.termination_reason,\n hasFutureStartDate,\n minDate,\n options?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info,\n options?.jsfModify?.fields?.acknowledge_termination_procedure_info,\n options?.jsfModify?.fields?.paid_time_off_info,\n options?.jsfModify?.fields?.proposed_termination_date,\n options?.jsfModify?.fields?.proposed_termination_date_info,\n options?.jsfModify?.fields?.risk_assesment_info,\n options?.jsfModify?.fields?.termination_reason,\n proposedTerminationDateStatement,\n ]);\n\n const { data: terminationHeadlessForm, isLoading: isLoadingTermination } =\n useTerminationSchema({\n formValues: formValues,\n jsfModify: {\n ...options?.jsfModify,\n fields: {\n ...options?.jsfModify?.fields,\n ...customFields?.fields,\n },\n },\n step: stepState.currentStep.name,\n });\n\n const entireTerminationSchema = createHeadlessForm(jsonSchema.data.schema);\n\n const createTermination = useCreateTermination();\n const { mutateAsync } = mutationToPromise(createTermination);\n\n async function onSubmit(values: TerminationFormValues) {\n if (!employmentId) {\n throw new Error('Employment id is missing');\n }\n\n if (terminationHeadlessForm) {\n const parsedValues = (await parseFormValues(\n values,\n true,\n )) as TerminationFormValues;\n\n const { customer_informed_employee: customerInformedEmployee } =\n parsedValues;\n\n const employeeAwareness =\n customerInformedEmployee === 'yes'\n ? {\n employee_awareness: {\n date: parsedValues.customer_informed_employee_date,\n note: parsedValues.customer_informed_employee_description,\n },\n }\n : undefined;\n\n const radioFieldKeys = [\n 'agrees_to_pto_amount',\n 'confidential',\n 'customer_informed_employee',\n 'will_challenge_termination',\n ];\n\n const parsedRadioValues = await parseFormRadioValues(\n parsedValues,\n radioFieldKeys,\n );\n\n const normalizedValues = omit(\n parsedRadioValues,\n 'customer_informed_employee_date',\n 'customer_informed_employee_description',\n );\n\n const terminationDetails: TerminationDetailsParams = omitBy(\n {\n ...normalizedValues,\n ...employeeAwareness,\n },\n isNull,\n ) as unknown as TerminationDetailsParams;\n\n const terminationPayload: CreateOffboardingParams = {\n employment_id: employmentId,\n termination_details: terminationDetails,\n type: 'termination',\n };\n\n return mutateAsync(terminationPayload);\n }\n\n return;\n }\n\n function back() {\n previousStep();\n }\n\n function next() {\n nextStep();\n }\n\n const isDirty = Boolean(Object.keys(fieldValues).length > 0);\n\n const parseFormValues = async (\n values: TerminationFormValues,\n includeAllFields: boolean = false,\n ): Promise<\n | EmployeeCommunicationFormValues\n | TerminationDetailsFormValues\n | PaidTimeOffFormValues\n | TerminationFormValues\n > => {\n if (includeAllFields) {\n return (await parseJSFToValidate(values, entireTerminationSchema.fields, {\n isPartialValidation: true,\n })) as TerminationFormValues;\n }\n\n if (terminationHeadlessForm) {\n return (await parseJSFToValidate(\n values,\n terminationHeadlessForm?.fields,\n {\n isPartialValidation: true,\n },\n )) as\n | EmployeeCommunicationFormValues\n | TerminationDetailsFormValues\n | PaidTimeOffFormValues;\n }\n return {} as $TSFixMe;\n };\n\n return {\n /**\n * Employment id passed useful to be used between components\n */\n employmentId,\n /**\n * Employment data\n */\n employment,\n\n /**\n * Current form field values, we use formValues to let the user know about all the current form values\n */\n fieldValues: formValues,\n\n /**\n * Indicates if the form is dirty\n */\n isDirty,\n /**\n * Current step state containing the current step and total number of steps\n */\n stepState,\n /**\n * Array of form fields from the contract amendment schema\n */\n fields: terminationHeadlessForm?.fields || [],\n /**\n * Loading state indicating if the termination schema is being fetched\n */\n isLoading: isLoadingTermination,\n /**\n * Loading state indicating if a contract amendment mutation is in progress\n */\n isSubmitting: createTermination.isPending,\n /**\n * Initial form values\n */\n initialValues: initialValues,\n /**\n * Function to validate form values against the contract amendment schema\n * @param values - Form values to validate\n * @returns Validation result or null if no schema is available\n */\n handleValidation: async (values: TerminationFormValues) => {\n if (terminationHeadlessForm) {\n const parsedValues = await parseJSFToValidate(\n values,\n terminationHeadlessForm?.fields,\n );\n return terminationHeadlessForm?.handleValidation(parsedValues);\n }\n return null;\n },\n /**\n * Function to update the current form field values\n * @param values - New form values to set\n */\n checkFieldUpdates: setFieldValues,\n /**\n * Function to parse form values before submission\n * @param values - Form values to parse\n * @returns Parsed form values\n */\n parseFormValues,\n /**\n * Function to handle form submission\n * @param values - Form values to submit\n * @returns Promise resolving to the mutation result\n */\n onSubmit,\n\n /**\n * Function to handle going back to the previous step\n * @returns {void}\n */\n back,\n\n /**\n * Function to handle going to the next step\n * @returns {void}\n */\n next,\n };\n};\n","import { useQuery } from '@tanstack/react-query';\nimport { getIndexEorPayrollCalendar } from '@/src/client';\nimport { useClient } from '@/src/context';\nimport { Client } from '@/src/client/client';\n\nexport const usePayrollCalendars = ({\n query,\n options,\n}: {\n query?: {\n year?: string;\n countryCode?: string;\n };\n options?: {\n enabled?: boolean;\n };\n}) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['payroll-calendars'],\n queryFn: () =>\n getIndexEorPayrollCalendar({\n client: client as Client,\n query: {\n year: query?.year,\n country_code: query?.countryCode,\n },\n }),\n enabled: options?.enabled,\n select: (data) => data.data?.data?.payroll_calendars?.[0],\n });\n};\n","import { isFuture, isToday, parseISO } from 'date-fns';\n\nexport const isInProbationPeriod = (probationEndDate: string | undefined) => {\n if (!probationEndDate) return false;\n\n const parsedProbationEndDate = parseISO(probationEndDate);\n\n return isFuture(parsedProbationEndDate) || isToday(parsedProbationEndDate);\n};\n"],"mappings":"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","names":["createHeadlessForm","omitBy","isNull","format","isFuture","parseISO","subDays","useMemo","omit","useQuery","usePayrollCalendars","__name","query","options","client","useClient","useQuery","getIndexEorPayrollCalendar","data","isFuture","isToday","parseISO","isInProbationPeriod","__name","probationEndDate","parsedProbationEndDate","parseISO","isFuture","isToday","Fragment","jsx","jsxs","useTermination","__name","employmentId","options","terminationInitialValues","fieldValues","setFieldValues","stepState","previousStep","nextStep","useStepState","STEPS","employment","useEmploymentQuery","payrollCalendars","usePayrollCalendars","isEmployeeInProbationPeriod","isInProbationPeriod","minTerminationDate","calculateMinTerminationDate","minDate","useMemo","format","hasFutureStartDate","isFuture","parseISO","initialValues","buildInitialValues","formValues","proposedTerminationDateStatement","calculateProposedTerminationDateStatement","customFields","originalTerminationReasonOptions","terminationDetailsSchema","terminationReasonOptions","option","createInformationField","ZendeskTriggerButton","zendeskArticles","cn","subDays","CustomComponent","PaidTimeOffContainer","props","PaidTimeOff","AcknowledgeInformationContainer","AcknowledgeInformation","zendeskIds","AcknowledgeInformationFees","terminationHeadlessForm","isLoadingTermination","useTerminationSchema","entireTerminationSchema","createHeadlessForm","jsonSchema","createTermination","useCreateTermination","mutateAsync","mutationToPromise","onSubmit","values","parsedValues","parseFormValues","customerInformedEmployee","employeeAwareness","parsedRadioValues","parseFormRadioValues","normalizedValues","omit","terminationDetails","omitBy","isNull","back","next","isDirty","includeAllFields","parseJSFToValidate"]}
1
+ {"version":3,"sources":["../src/flows/Termination/hooks.tsx","../src/common/api/payroll-calendars.ts","../src/common/employment.ts"],"sourcesContent":["import { $TSFixMe, createHeadlessForm } from '@remoteoss/json-schema-form-old';\nimport omitBy from 'lodash.omitby';\nimport isNull from 'lodash.isnull';\nimport { format, isFuture, parseISO, subDays } from 'date-fns';\nimport { useMemo } from 'react';\nimport {\n CreateOffboardingParams,\n TerminationDetailsParams,\n} from '@/src/client';\nimport { mutationToPromise } from '@/src/lib/mutations';\nimport { parseJSFToValidate } from '@/src/components/form/utils';\nimport {\n EmployeeCommunicationFormValues,\n PaidTimeOffFormValues,\n TerminationDetailsFormValues,\n TerminationFlowProps,\n TerminationFormValues,\n} from '@/src/flows/Termination/types';\nimport omit from 'lodash.omit';\nimport { parseFormRadioValues } from '@/src/flows/utils';\nimport { useStepState } from '@/src/flows/useStepState';\nimport {\n buildInitialValues,\n calculateMinTerminationDate,\n calculateProposedTerminationDateStatement,\n STEPS,\n} from '@/src/flows/Termination/utils';\nimport { jsonSchema } from '@/src/flows/Termination/json-schemas/jsonSchema';\nimport { terminationDetailsSchema } from '@/src/flows/Termination/json-schemas/terminationDetails';\nimport {\n useCreateTermination,\n useTerminationSchema,\n} from '@/src/flows/Termination/api';\nimport { createInformationField } from '@/src/components/form/jsf-utils/createFields';\nimport { cn } from '@/src/internals';\nimport { zendeskArticles } from '@/src/components/shared/zendesk-drawer/utils';\nimport { PaidTimeOff } from '@/src/flows/Termination/components/PaidTimeOff/PaidTimeOff';\nimport { PaidTimeOffContainer } from '@/src/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer';\nimport { useEmploymentQuery } from '@/src/common/api';\nimport { AcknowledgeInformationContainer } from '@/src/flows/Termination/components/AcknowledgeInformation/AcknowledgeInfomationContainer';\nimport { AcknowledgeInformation } from '@/src/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformation';\nimport { AcknowledgeInformationFees } from '@/src/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformationFees';\nimport { usePayrollCalendars } from '@/src/common/api/payroll-calendars';\nimport { isInProbationPeriod } from '@/src/common/employment';\nimport { ZendeskTriggerButton } from '@/src/components/shared/zendesk-drawer/ZendeskTriggerButton';\n\ntype TerminationHookProps = Omit<TerminationFlowProps, 'render'>;\n\nexport const useTermination = ({\n employmentId,\n options,\n initialValues: terminationInitialValues,\n}: TerminationHookProps) => {\n const { fieldValues, setFieldValues, stepState, previousStep, nextStep } =\n useStepState<keyof typeof STEPS, TerminationFormValues>(STEPS);\n\n const { data: employment } = useEmploymentQuery({ employmentId });\n\n const { data: payrollCalendars } = usePayrollCalendars({\n query: {\n year: new Date().getFullYear().toString(),\n countryCode: employment?.country?.code,\n },\n options: {\n enabled: Boolean(employment?.country?.code),\n },\n });\n\n const isEmployeeInProbationPeriod = isInProbationPeriod(\n employment?.probation_period_end_date,\n );\n\n const minTerminationDate = calculateMinTerminationDate(payrollCalendars);\n const minDate = useMemo(\n () =>\n isEmployeeInProbationPeriod\n ? format(new Date(), 'yyyy-MM-dd')\n : format(minTerminationDate, 'yyyy-MM-dd'),\n [isEmployeeInProbationPeriod, minTerminationDate],\n );\n\n const hasFutureStartDate = Boolean(\n employment?.provisional_start_date &&\n isFuture(parseISO(employment.provisional_start_date)),\n );\n\n const initialValues = buildInitialValues(\n {\n ...stepState.values?.employee_communication,\n ...stepState.values?.termination_details,\n ...stepState.values?.paid_time_off,\n ...stepState.values?.additional_information,\n ...terminationInitialValues,\n },\n hasFutureStartDate,\n );\n\n const formValues = useMemo(\n () => ({\n ...initialValues,\n ...stepState.values?.[stepState.currentStep.name as keyof typeof STEPS], // Restore values for the current step\n ...fieldValues,\n }),\n [stepState.values, stepState.currentStep.name, fieldValues, initialValues],\n );\n\n const proposedTerminationDateStatement =\n calculateProposedTerminationDateStatement({\n minTerminationDate,\n isEmployeeInProbationPeriod,\n selectedDate: parseISO(formValues.proposed_termination_date),\n });\n\n const customFields = useMemo(() => {\n const originalTerminationReasonOptions =\n terminationDetailsSchema.data.schema.properties.termination_reason.oneOf;\n\n const terminationReasonOptions = hasFutureStartDate\n ? originalTerminationReasonOptions.filter(\n (option: $TSFixMe) =>\n option.const === 'cancellation_before_start_date',\n )\n : originalTerminationReasonOptions.filter(\n (option: $TSFixMe) =>\n option.const !== 'cancellation_before_start_date',\n );\n\n return {\n fields: {\n risk_assesment_info: createInformationField(\n 'Offboarding risk assessment',\n 'Employees may be protected from termination if they fall into certain categories. To help avoid claims from employees, let us know if the employee is part of one or more of these categories. Select all that apply.',\n {\n className: (\n options?.jsfModify?.fields?.risk_assesment_info as $TSFixMe\n )?.['x-jsf-presentation']?.className,\n },\n ),\n termination_reason: {\n ...(options?.jsfModify?.fields?.termination_reason as $TSFixMe),\n oneOf: terminationReasonOptions,\n },\n proposed_termination_date_info: createInformationField(\n 'Proposed termination date',\n <>\n In most cases, we must provide notice to the employee before\n termination. The required notice period depends on local labor laws,\n the employment agreement, and other factors. We'll use those factors\n to determine the required notice period.\n <ZendeskTriggerButton\n external\n zendeskId={zendeskArticles.terminationNoticePeriods}\n className={cn(\n 'text-sm',\n (\n options?.jsfModify?.fields\n ?.proposed_termination_date_info as $TSFixMe\n )?.['x-jsf-presentation']?.zendeskTriggerButtonClassName,\n )}\n >\n Learn about notice periods\n </ZendeskTriggerButton>\n </>,\n {\n className: (\n options?.jsfModify?.fields\n ?.proposed_termination_date_info as $TSFixMe\n )?.['x-jsf-presentation']?.className,\n },\n ),\n proposed_termination_date: {\n ...(options?.jsfModify?.fields\n ?.proposed_termination_date as $TSFixMe),\n 'x-jsf-presentation': {\n ...(\n options?.jsfModify?.fields?.proposed_termination_date as $TSFixMe\n )?.['x-jsf-presentation'],\n minDate: minDate,\n ...(formValues.termination_reason ===\n 'cancellation_before_start_date' &&\n employment?.provisional_start_date\n ? {\n maxDate: format(\n subDays(parseISO(employment.provisional_start_date), 1),\n 'yyyy-MM-dd',\n ),\n }\n : {}),\n ...proposedTerminationDateStatement,\n },\n ...(formValues.termination_reason === 'cancellation_before_start_date'\n ? {\n 'x-jsf-errorMessage': {\n maximum:\n \"The proposed termination date must be before the employee's start date.\",\n },\n }\n : {}),\n },\n paid_time_off_info: {\n ...(options?.jsfModify?.fields?.paid_time_off_info as $TSFixMe),\n 'x-jsf-presentation': {\n ...(options?.jsfModify?.fields?.paid_time_off_info as $TSFixMe)?.[\n 'x-jsf-presentation'\n ],\n Component: () => {\n const CustomComponent = (\n options?.jsfModify?.fields?.paid_time_off_info as $TSFixMe\n )?.['x-jsf-presentation']?.Component;\n\n return (\n <PaidTimeOffContainer\n employeeName={employment?.basic_information?.name as string}\n proposedTerminationDate={formValues.proposed_termination_date}\n employmentId={employmentId}\n employment={employment}\n render={(props) => {\n if (CustomComponent) {\n return <CustomComponent {...props} />;\n }\n return <PaidTimeOff {...props} />;\n }}\n />\n );\n },\n },\n },\n acknowledge_termination_procedure_info: {\n ...(options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_info as $TSFixMe),\n 'x-jsf-presentation': {\n ...(\n options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_info as $TSFixMe\n )?.['x-jsf-presentation'],\n Component: () => {\n const CustomComponent = (\n options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_info as $TSFixMe\n )?.['x-jsf-presentation']?.Component;\n\n return (\n <AcknowledgeInformationContainer\n render={(props) => {\n if (CustomComponent) {\n return <CustomComponent {...props} />;\n }\n return <AcknowledgeInformation {...props} />;\n }}\n />\n );\n },\n },\n },\n acknowledge_termination_procedure_fees_info: {\n ...(options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_fees_info as $TSFixMe),\n 'x-jsf-presentation': {\n ...(\n options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_fees_info as $TSFixMe\n )?.['x-jsf-presentation'],\n Component: () => {\n const zendeskIds = {\n involuntaryOffboardingServiceChargeZendeskId:\n zendeskArticles.involuntaryOffboardingServiceCharge,\n reconciliationInvoiceZendeskId:\n zendeskArticles.reconciliationInvoice,\n };\n\n const CustomComponent = (\n options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_fees_info as $TSFixMe\n )?.['x-jsf-presentation']?.Component;\n\n if (CustomComponent) {\n return <CustomComponent {...zendeskIds} />;\n }\n\n return <AcknowledgeInformationFees {...zendeskIds} />;\n },\n },\n },\n },\n };\n }, [\n employment,\n employmentId,\n formValues.proposed_termination_date,\n formValues.termination_reason,\n hasFutureStartDate,\n minDate,\n options?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info,\n options?.jsfModify?.fields?.acknowledge_termination_procedure_info,\n options?.jsfModify?.fields?.paid_time_off_info,\n options?.jsfModify?.fields?.proposed_termination_date,\n options?.jsfModify?.fields?.proposed_termination_date_info,\n options?.jsfModify?.fields?.risk_assesment_info,\n options?.jsfModify?.fields?.termination_reason,\n proposedTerminationDateStatement,\n ]);\n\n const { data: terminationHeadlessForm, isLoading: isLoadingTermination } =\n useTerminationSchema({\n formValues: formValues,\n jsfModify: {\n ...options?.jsfModify,\n fields: {\n ...options?.jsfModify?.fields,\n ...customFields?.fields,\n },\n },\n step: stepState.currentStep.name,\n });\n\n const entireTerminationSchema = createHeadlessForm(jsonSchema.data.schema);\n\n const createTermination = useCreateTermination();\n const { mutateAsync } = mutationToPromise(createTermination);\n\n async function onSubmit(values: TerminationFormValues) {\n if (!employmentId) {\n throw new Error('Employment id is missing');\n }\n\n if (terminationHeadlessForm) {\n const parsedValues = (await parseFormValues(\n values,\n true,\n )) as TerminationFormValues;\n\n const { customer_informed_employee: customerInformedEmployee } =\n parsedValues;\n\n const employeeAwareness =\n customerInformedEmployee === 'yes'\n ? {\n employee_awareness: {\n date: parsedValues.customer_informed_employee_date,\n note: parsedValues.customer_informed_employee_description,\n },\n }\n : undefined;\n\n const radioFieldKeys = [\n 'agrees_to_pto_amount',\n 'confidential',\n 'customer_informed_employee',\n 'will_challenge_termination',\n ];\n\n const parsedRadioValues = await parseFormRadioValues(\n parsedValues,\n radioFieldKeys,\n );\n\n const normalizedValues = omit(\n parsedRadioValues,\n 'customer_informed_employee_date',\n 'customer_informed_employee_description',\n );\n\n const terminationDetails: TerminationDetailsParams = omitBy(\n {\n ...normalizedValues,\n ...employeeAwareness,\n },\n isNull,\n ) as unknown as TerminationDetailsParams;\n\n const terminationPayload: CreateOffboardingParams = {\n employment_id: employmentId,\n termination_details: terminationDetails,\n type: 'termination',\n };\n\n return mutateAsync(terminationPayload);\n }\n\n return;\n }\n\n function back() {\n previousStep();\n }\n\n function next() {\n nextStep();\n }\n\n const isDirty = Boolean(Object.keys(fieldValues).length > 0);\n\n const parseFormValues = async (\n values: TerminationFormValues,\n includeAllFields: boolean = false,\n ): Promise<\n | EmployeeCommunicationFormValues\n | TerminationDetailsFormValues\n | PaidTimeOffFormValues\n | TerminationFormValues\n > => {\n if (includeAllFields) {\n return (await parseJSFToValidate(values, entireTerminationSchema.fields, {\n isPartialValidation: true,\n })) as TerminationFormValues;\n }\n\n if (terminationHeadlessForm) {\n return (await parseJSFToValidate(\n values,\n terminationHeadlessForm?.fields,\n {\n isPartialValidation: true,\n },\n )) as\n | EmployeeCommunicationFormValues\n | TerminationDetailsFormValues\n | PaidTimeOffFormValues;\n }\n return {} as $TSFixMe;\n };\n\n return {\n /**\n * Employment id passed useful to be used between components\n */\n employmentId,\n /**\n * Employment data\n */\n employment,\n\n /**\n * Current form field values, we use formValues to let the user know about all the current form values\n */\n fieldValues: formValues,\n\n /**\n * Indicates if the form is dirty\n */\n isDirty,\n /**\n * Current step state containing the current step and total number of steps\n */\n stepState,\n /**\n * Array of form fields from the contract amendment schema\n */\n fields: terminationHeadlessForm?.fields || [],\n /**\n * Loading state indicating if the termination schema is being fetched\n */\n isLoading: isLoadingTermination,\n /**\n * Loading state indicating if a contract amendment mutation is in progress\n */\n isSubmitting: createTermination.isPending,\n /**\n * Initial form values\n */\n initialValues: initialValues,\n /**\n * Function to validate form values against the contract amendment schema\n * @param values - Form values to validate\n * @returns Validation result or null if no schema is available\n */\n handleValidation: async (values: TerminationFormValues) => {\n if (terminationHeadlessForm) {\n const parsedValues = await parseJSFToValidate(\n values,\n terminationHeadlessForm?.fields,\n );\n return terminationHeadlessForm?.handleValidation(parsedValues);\n }\n return null;\n },\n /**\n * Function to update the current form field values\n * @param values - New form values to set\n */\n checkFieldUpdates: setFieldValues,\n /**\n * Function to parse form values before submission\n * @param values - Form values to parse\n * @returns Parsed form values\n */\n parseFormValues,\n /**\n * Function to handle form submission\n * @param values - Form values to submit\n * @returns Promise resolving to the mutation result\n */\n onSubmit,\n\n /**\n * Function to handle going back to the previous step\n * @returns {void}\n */\n back,\n\n /**\n * Function to handle going to the next step\n * @returns {void}\n */\n next,\n };\n};\n","import { useQuery } from '@tanstack/react-query';\nimport { getIndexEorPayrollCalendar } from '@/src/client';\nimport { useClient } from '@/src/context';\nimport { Client } from '@/src/client/client';\n\nexport const usePayrollCalendars = ({\n query,\n options,\n}: {\n query?: {\n year?: string;\n countryCode?: string;\n };\n options?: {\n enabled?: boolean;\n };\n}) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['payroll-calendars'],\n queryFn: () =>\n getIndexEorPayrollCalendar({\n client: client as Client,\n query: {\n year: query?.year,\n country_code: query?.countryCode,\n },\n }),\n enabled: options?.enabled,\n select: (data) => data.data?.data?.payroll_calendars?.[0],\n });\n};\n","import { isFuture, isToday, parseISO } from 'date-fns';\n\nexport const isInProbationPeriod = (probationEndDate: string | undefined) => {\n if (!probationEndDate) return false;\n\n const parsedProbationEndDate = parseISO(probationEndDate);\n\n return isFuture(parsedProbationEndDate) || isToday(parsedProbationEndDate);\n};\n"],"mappings":"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","names":["createHeadlessForm","omitBy","isNull","format","isFuture","parseISO","subDays","useMemo","omit","useQuery","usePayrollCalendars","__name","query","options","client","useClient","useQuery","getIndexEorPayrollCalendar","data","isFuture","isToday","parseISO","isInProbationPeriod","__name","probationEndDate","parsedProbationEndDate","parseISO","isFuture","isToday","Fragment","jsx","jsxs","useTermination","__name","employmentId","options","terminationInitialValues","fieldValues","setFieldValues","stepState","previousStep","nextStep","useStepState","STEPS","employment","useEmploymentQuery","payrollCalendars","usePayrollCalendars","isEmployeeInProbationPeriod","isInProbationPeriod","minTerminationDate","calculateMinTerminationDate","minDate","useMemo","format","hasFutureStartDate","isFuture","parseISO","initialValues","buildInitialValues","formValues","proposedTerminationDateStatement","calculateProposedTerminationDateStatement","customFields","originalTerminationReasonOptions","terminationDetailsSchema","terminationReasonOptions","option","createInformationField","ZendeskTriggerButton","zendeskArticles","cn","subDays","CustomComponent","PaidTimeOffContainer","props","PaidTimeOff","AcknowledgeInformationContainer","AcknowledgeInformation","zendeskIds","AcknowledgeInformationFees","terminationHeadlessForm","isLoadingTermination","useTerminationSchema","entireTerminationSchema","createHeadlessForm","jsonSchema","createTermination","useCreateTermination","mutateAsync","mutationToPromise","onSubmit","values","parsedValues","parseFormValues","customerInformedEmployee","employeeAwareness","parsedRadioValues","parseFormRadioValues","normalizedValues","omit","terminationDetails","omitBy","isNull","back","next","isDirty","includeAllFields","parseJSFToValidate"]}
@@ -0,0 +1,2 @@
1
+ import{a as t}from"./chunk-33DCBJQD.js";import{b as e}from"./chunk-MRYRNB7Y.js";import{a as r}from"./chunk-P37U34EQ.js";import{jsx as f}from"react/jsx-runtime";function F({onSubmit:n,onSuccess:s,onError:m}){let{terminationBag:o}=e(),d=r(async a=>{let l=await o?.parseFormValues(a,!0);await n?.(l);let i=await o?.onSubmit(a);i?.error?m?.(i.error):i?.data&&await s?.(i.data)},"handleSubmit");return f(t,{defaultValues:o.fieldValues,fields:o?.fields,onSubmit:d})}r(F,"AdditionalDetailsForm");export{F as a};
2
+ //# sourceMappingURL=chunk-LSOPZ4VQ.js.map
@@ -1 +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: Error) => 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.error);\n } else {\n if (terminationResult?.data) {\n await onSuccess?.(terminationResult.data as OffboardingResponse);\n }\n }\n };\n\n return (\n <TerminationForm fields={terminationBag?.fields} onSubmit={handleSubmit} />\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,KAAK,EAE7BA,GAAmB,MACrB,MAAMR,IAAYQ,EAAkB,IAA2B,CAGrE,EAfqB,gBAiBrB,OACEX,EAACY,EAAA,CAAgB,OAAQP,GAAgB,OAAQ,SAAUE,EAAc,CAE7E,CA3BgBC,EAAAP,EAAA","names":["jsx","AdditionalDetailsForm","onSubmit","onSuccess","onError","terminationBag","useTerminationContext","handleSubmit","__name","values","parsedValues","terminationResult","TerminationForm"]}
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: Error) => 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.error);\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,KAAK,EAE7BA,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 i}from"./chunk-G7N277WY.js";import{a as e}from"./chunk-YR666AEH.js";import{a as c}from"./chunk-LCJSVSZ5.js";import{a as d}from"./chunk-5RPTKYPJ.js";import{a as n}from"./chunk-QP5V46OP.js";import{a as f}from"./chunk-OMRLBAVD.js";import{a as m}from"./chunk-BFMUZP2O.js";import{a as p}from"./chunk-QKJNMYIA.js";import{a as t}from"./chunk-TOA3JILU.js";import{a}from"./chunk-VXZN2TCG.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-JCYNAEWF.js.map
1
+ import{a as i}from"./chunk-HGL5ACFL.js";import{a as e}from"./chunk-SQTK4MAQ.js";import{a as c}from"./chunk-OAQK6CYO.js";import{a as d}from"./chunk-VOBHJI4Q.js";import{a as n}from"./chunk-QP5V46OP.js";import{a as f}from"./chunk-OMRLBAVD.js";import{a as m}from"./chunk-BFMUZP2O.js";import{a as p}from"./chunk-IIZDTABX.js";import{a as t}from"./chunk-TOA3JILU.js";import{a}from"./chunk-VXZN2TCG.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-NORA242K.js.map
@@ -1,2 +1,2 @@
1
- import{a as d}from"./chunk-Y47XYRGE.js";import{b as s}from"./chunk-TOA3JILU.js";import{b as i}from"./chunk-2YTBWEC7.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-LCJSVSZ5.js.map
1
+ import{a as d}from"./chunk-ZMJV6QZZ.js";import{b as s}from"./chunk-TOA3JILU.js";import{b as i}from"./chunk-2YTBWEC7.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-OAQK6CYO.js.map
@@ -0,0 +1,2 @@
1
+ import{a as e}from"./chunk-33DCBJQD.js";import{b as a}from"./chunk-MRYRNB7Y.js";import{a as i}from"./chunk-P37U34EQ.js";import{jsx as s}from"react/jsx-runtime";function p({onSubmit:t}){let{terminationBag:o}=a(),n=i(async r=>{let m=await o?.parseFormValues(r);await t?.(m),o?.next()},"handleSubmit");return s(e,{defaultValues:o.fieldValues,onSubmit:n})}i(p,"TerminationDetailsForm");export{p as a};
2
+ //# sourceMappingURL=chunk-R6RDV7FH.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/flows/Termination/TerminationDetailsForm.tsx"],"sourcesContent":["import { useTerminationContext } from './context';\nimport {\n TerminationDetailsFormValues,\n TerminationFormValues,\n} from '@/src/flows/Termination/types';\nimport { TerminationForm } from '@/src/flows/Termination/TerminationForm';\n\ntype TerminationDetailsFormProps = {\n /*\n * The function is called when the form is submitted. It receives the form values as an argument.\n */\n onSubmit?: (payload: TerminationDetailsFormValues) => void | Promise<void>;\n};\n\nexport function TerminationDetailsForm({\n onSubmit,\n}: TerminationDetailsFormProps) {\n const { terminationBag } = useTerminationContext();\n const handleSubmit = async (values: TerminationFormValues) => {\n const parsedValues = await terminationBag?.parseFormValues(values);\n await onSubmit?.(parsedValues as TerminationDetailsFormValues);\n terminationBag?.next();\n };\n\n return <TerminationForm onSubmit={handleSubmit} />;\n}\n"],"mappings":"wHAwBS,cAAAA,MAAA,oBAVF,SAASC,EAAuB,CACrC,SAAAC,CACF,EAAgC,CAC9B,GAAM,CAAE,eAAAC,CAAe,EAAIC,EAAsB,EAOjD,OAAOJ,EAACK,EAAA,CAAgB,SANHC,EAAA,MAAOC,GAAkC,CAC5D,IAAMC,EAAe,MAAML,GAAgB,gBAAgBI,CAAM,EACjE,MAAML,IAAWM,CAA4C,EAC7DL,GAAgB,KAAK,CACvB,EAJqB,gBAM2B,CAClD,CAXgBG,EAAAL,EAAA","names":["jsx","TerminationDetailsForm","onSubmit","terminationBag","useTerminationContext","TerminationForm","__name","values","parsedValues"]}
1
+ {"version":3,"sources":["../src/flows/Termination/TerminationDetailsForm.tsx"],"sourcesContent":["import { useTerminationContext } from './context';\nimport {\n TerminationDetailsFormValues,\n TerminationFormValues,\n} from '@/src/flows/Termination/types';\nimport { TerminationForm } from '@/src/flows/Termination/TerminationForm';\n\ntype TerminationDetailsFormProps = {\n /*\n * The function is called when the form is submitted. It receives the form values as an argument.\n */\n onSubmit?: (payload: TerminationDetailsFormValues) => void | Promise<void>;\n};\n\nexport function TerminationDetailsForm({\n onSubmit,\n}: TerminationDetailsFormProps) {\n const { terminationBag } = useTerminationContext();\n const handleSubmit = async (values: TerminationFormValues) => {\n const parsedValues = await terminationBag?.parseFormValues(values);\n await onSubmit?.(parsedValues as TerminationDetailsFormValues);\n terminationBag?.next();\n };\n\n return (\n <TerminationForm\n defaultValues={terminationBag.fieldValues}\n onSubmit={handleSubmit}\n />\n );\n}\n"],"mappings":"wHAyBI,cAAAA,MAAA,oBAXG,SAASC,EAAuB,CACrC,SAAAC,CACF,EAAgC,CAC9B,GAAM,CAAE,eAAAC,CAAe,EAAIC,EAAsB,EAC3CC,EAAeC,EAAA,MAAOC,GAAkC,CAC5D,IAAMC,EAAe,MAAML,GAAgB,gBAAgBI,CAAM,EACjE,MAAML,IAAWM,CAA4C,EAC7DL,GAAgB,KAAK,CACvB,EAJqB,gBAMrB,OACEH,EAACS,EAAA,CACC,cAAeN,EAAe,YAC9B,SAAUE,EACZ,CAEJ,CAhBgBC,EAAAL,EAAA","names":["jsx","TerminationDetailsForm","onSubmit","terminationBag","useTerminationContext","handleSubmit","__name","values","parsedValues","TerminationForm"]}
@@ -1,2 +1,2 @@
1
- import{a as S}from"./chunk-RPTB2HUM.js";import{a as f}from"./chunk-MZKA5DYP.js";import{a as p}from"./chunk-BHE7NDIR.js";import{a as s}from"./chunk-B77KFSEU.js";import{a as m}from"./chunk-MDDI5GLL.js";import{a}from"./chunk-3JKQNLJQ.js";import{a as i}from"./chunk-YWZI5KJN.js";import{a as c}from"./chunk-Z7WBY27D.js";import{a as n}from"./chunk-KRMKWQVS.js";import{a as r}from"./chunk-PGWKJ6FK.js";import{a as e}from"./chunk-AFYLN24W.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-W57XSVXY.js.map
1
+ import{a as S}from"./chunk-RPTB2HUM.js";import{a as f}from"./chunk-AUY7BT3K.js";import{a as p}from"./chunk-VGP4HT4V.js";import{a as s}from"./chunk-6EYHZKFV.js";import{a as m}from"./chunk-MDDI5GLL.js";import{a}from"./chunk-3JKQNLJQ.js";import{a as i}from"./chunk-YWZI5KJN.js";import{a as c}from"./chunk-Z7WBY27D.js";import{a as n}from"./chunk-TWDYIXF6.js";import{a as r}from"./chunk-PGWKJ6FK.js";import{a as e}from"./chunk-AFYLN24W.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-RYUDHXQ6.js.map
@@ -1,2 +1,2 @@
1
- import{a as X}from"./chunk-QGGFY3DW.js";import{a as G}from"./chunk-VFRHMNLJ.js";import{a as I,b as z,c as Q,f as W}from"./chunk-XQL5I2GC.js";import{a as C}from"./chunk-HN5HLFTB.js";import{a as K}from"./chunk-H6Q65JLZ.js";import{c as Y}from"./chunk-KYCI2BCF.js";import{a as Z}from"./chunk-2YTBWEC7.js";import{c as V}from"./chunk-2SO4LW7V.js";import{a as o}from"./chunk-P37U34EQ.js";import{number as Te,object as oe}from"yup";import{createHeadlessForm as Ve,modify as je}from"@remoteoss/json-schema-form-old";import{useCallback as we,useEffect as ee,useMemo as Re,useRef as Pe,useState as j}from"react";import{string as te,ValidationError as ne}from"yup";import{jsx as re}from"react/jsx-runtime";var O={title:"Estimation",includeBenefits:!1,includeCostBreakdowns:!1,includePremiumBenefits:!1,enableCurrencyConversion:!1,includeEstimationTitle:!1,includeManagementFee:!1},xe=o(t=>{let{schema:i}=je(G.data.schema,t?.jsfModify||{});return Ve(i)},"useStaticSchema");function Be(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(Be,"getSalaryTitle");var Qe=o(({defaultRegion:t,defaultCurrency:i,defaultSalary:l,estimationOptions:s,options:n,version:a}={estimationOptions:O})=>{let c=Pe({fields:{}}),[k,E]=j(t),[w,R]=j(),[m,q]=j(),[H,se]=j(),{data:_,isLoading:le}=I({includePremiumBenefits:s.includePremiumBenefits}),{data:d,isLoading:ce}=z(),ue=k||w?.value,{data:P,isLoading:me}=W(ue,{includePremiumBenefits:s.includePremiumBenefits,options:n}),U=Q(),{mutateAsync:de}=Z(U),b=w?.currency,p=n?.jsfModify?.fields?.salary,F=p&&typeof p=="object"&&"presentation"in p?p.presentation:void 0,L=we(()=>{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,fe=Re(()=>{let{from:e,to:r,shouldSwapOrder:u}=L(),g=Be(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=>re(X,{...y,shouldSwapOrder:u,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=>re(Y,{...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=xe({jsfModify:{fields:{...n?.jsfModify?.fields,...fe?.fields}}});ee(()=>{if(t&&_){let e=_.find(({value:r})=>r===t);e&&R(e)}},[t,_]),ee(()=>{if(i&&d){let e=d.find(({value:r})=>r===i);e&&q(e.label)}},[i,d]);async function ge(e){return de(ae(e,s,a))}o(ge,"onSubmit");function ye(e){let r=_?.find(({value:u})=>u===e);r&&r.childRegions.length===0&&r.hasAdditionalFields?E(r.regionSlug):E(void 0),R(r)}o(ye,"onCountryChange");function pe(e){E(e)}o(pe,"onRegionChange");function Ce(e){se(e.target.value)}o(Ce,"onHiringBudgetChange");function _e(e){let r=d?.find(u=>u.value===e)?.label;q(r),n?.onCurrencyChange?.(r||"")}o(_e,"onChangeCurrency");let S=f.fields.find(e=>e.name==="region");if(S){let e=w?.childRegions.map(r=>({value:r.slug,label:r.name}))??[];S.options=e,S.isVisible=e.length>0,S.required=e.length>0,S.onChange=pe,S.schema=e.length>0?te().transform(r=>typeof r=="string"?r:"").required("Region is required"):te()}if(d){let e=f.fields.find(r=>r.name==="currency");e&&(e.options=d,e.onChange=_e)}let v=f.fields.find(e=>e.name==="hiring_budget");if(v&&(v.onChange=Ce),_){let e=f.fields.find(r=>r.name==="country");e&&(e.options=_,e.onChange=ye)}let be=o(()=>{R(void 0),E(t)},"resetForm"),D=[...f.fields.filter(e=>e.name!=="management"),...P?.fields||[],...f.fields.filter(e=>e.name==="management")],N=ie(f.fields,m||"USD",s.includeEstimationTitle);async function Se(e){let r=null;n?.onValidation?.(e);let u=await V(e,D);try{await N.validate(u,{abortEarly:!1}),r={formErrors:{},yupError:new ne([],e)}}catch(h){let B=K(h);r={formErrors:Object.entries(B).reduce((T,[A,M])=>({...T,[A]:M.message}),{}),yupError:h}}let g=P?.handleValidation(u),y=[...r?.yupError.inner||[],...g?.yupError?.inner||[]],x={...r?.yupError?.value||{},...g?.yupError?.value||{}};return{formErrors:{...r?.formErrors||{},...g?.formErrors||{}},yupError:new ne(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:u,currency:g,salary_converted:y,hiring_budget:x,salary_conversion:h,management:B,estimation_title:T,...A}=e,M=e.salary;y==="salary_conversion"&&(M=h);let he=await V({country:r,region:u,salary:M,salary_converted:y,salary_conversion:h,hiring_budget:x,currency:g,management:B,estimation_title:T},f.fields),Ee=await V(A,P?.fields||[]),Fe={currency_code:d?.find(Me=>Me.value===g)?.label};return{...he,...Ee,...Fe}},"parseFormValues"),handleValidation:Se,isSubmitting:U.isPending,isLoading:le&&ce&&me,onSubmit:ge,resetForm:be,currencies:d,meta:{fields:c.current?.fields}}},"useCostCalculator");function ie(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(c=>c===a.name,"is"),then:o(c=>c.required("Required field"),"then"),otherwise:o(c=>c.optional(),"otherwise")}):a.name==="management"?n[a.name]=oe({management_fee:Te().transform(c=>isNaN(c)?void 0:c).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 oe(s)}o(ie,"buildValidationSchema");function Ae(t){let i="benefit-";return Object.keys(t).reduce((l,s)=>{let n=t[s];if(n==="none")return l;let c={benefit_group_slug:s.replace(i,""),benefit_tier_slug:n};return[...l,c]},[])}o(Ae,"formatBenefits");function Oe(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:Ae(t.benefits)},...i.includeManagementFee&&s&&{discount:{quoted_amount:i.showManagementFee?s:C[n]||C.USD,text:""}}},...ke(t,l)}}o(Oe,"mapValueToEmployment");function ke(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(ke,"getSalaryFields");function ae(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=>Oe(n,i,l))}}o(ae,"buildPayload");export{ie as a,ae as b,O as c,Qe as d};
2
- //# sourceMappingURL=chunk-N2VHZLA3.js.map
1
+ import{a as X}from"./chunk-QGGFY3DW.js";import{a as G}from"./chunk-VFRHMNLJ.js";import{a as I,b as z,c as Q,f as W}from"./chunk-XQL5I2GC.js";import{a as C}from"./chunk-HN5HLFTB.js";import{a as K}from"./chunk-H6Q65JLZ.js";import{c as Y}from"./chunk-67MPL47V.js";import{a as Z}from"./chunk-2YTBWEC7.js";import{c as V}from"./chunk-2SO4LW7V.js";import{a as o}from"./chunk-P37U34EQ.js";import{number as Te,object as oe}from"yup";import{createHeadlessForm as Ve,modify as je}from"@remoteoss/json-schema-form-old";import{useCallback as we,useEffect as ee,useMemo as Re,useRef as Pe,useState as j}from"react";import{string as te,ValidationError as ne}from"yup";import{jsx as re}from"react/jsx-runtime";var O={title:"Estimation",includeBenefits:!1,includeCostBreakdowns:!1,includePremiumBenefits:!1,enableCurrencyConversion:!1,includeEstimationTitle:!1,includeManagementFee:!1},xe=o(t=>{let{schema:i}=je(G.data.schema,t?.jsfModify||{});return Ve(i)},"useStaticSchema");function Be(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(Be,"getSalaryTitle");var Qe=o(({defaultRegion:t,defaultCurrency:i,defaultSalary:l,estimationOptions:s,options:n,version:a}={estimationOptions:O})=>{let c=Pe({fields:{}}),[k,E]=j(t),[w,R]=j(),[m,q]=j(),[H,se]=j(),{data:_,isLoading:le}=I({includePremiumBenefits:s.includePremiumBenefits}),{data:d,isLoading:ce}=z(),ue=k||w?.value,{data:P,isLoading:me}=W(ue,{includePremiumBenefits:s.includePremiumBenefits,options:n}),U=Q(),{mutateAsync:de}=Z(U),b=w?.currency,p=n?.jsfModify?.fields?.salary,F=p&&typeof p=="object"&&"presentation"in p?p.presentation:void 0,L=we(()=>{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,fe=Re(()=>{let{from:e,to:r,shouldSwapOrder:u}=L(),g=Be(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=>re(X,{...y,shouldSwapOrder:u,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=>re(Y,{...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=xe({jsfModify:{fields:{...n?.jsfModify?.fields,...fe?.fields}}});ee(()=>{if(t&&_){let e=_.find(({value:r})=>r===t);e&&R(e)}},[t,_]),ee(()=>{if(i&&d){let e=d.find(({value:r})=>r===i);e&&q(e.label)}},[i,d]);async function ge(e){return de(ae(e,s,a))}o(ge,"onSubmit");function ye(e){let r=_?.find(({value:u})=>u===e);r&&r.childRegions.length===0&&r.hasAdditionalFields?E(r.regionSlug):E(void 0),R(r)}o(ye,"onCountryChange");function pe(e){E(e)}o(pe,"onRegionChange");function Ce(e){se(e.target.value)}o(Ce,"onHiringBudgetChange");function _e(e){let r=d?.find(u=>u.value===e)?.label;q(r),n?.onCurrencyChange?.(r||"")}o(_e,"onChangeCurrency");let S=f.fields.find(e=>e.name==="region");if(S){let e=w?.childRegions.map(r=>({value:r.slug,label:r.name}))??[];S.options=e,S.isVisible=e.length>0,S.required=e.length>0,S.onChange=pe,S.schema=e.length>0?te().transform(r=>typeof r=="string"?r:"").required("Region is required"):te()}if(d){let e=f.fields.find(r=>r.name==="currency");e&&(e.options=d,e.onChange=_e)}let v=f.fields.find(e=>e.name==="hiring_budget");if(v&&(v.onChange=Ce),_){let e=f.fields.find(r=>r.name==="country");e&&(e.options=_,e.onChange=ye)}let be=o(()=>{R(void 0),E(t)},"resetForm"),D=[...f.fields.filter(e=>e.name!=="management"),...P?.fields||[],...f.fields.filter(e=>e.name==="management")],N=ie(f.fields,m||"USD",s.includeEstimationTitle);async function Se(e){let r=null;n?.onValidation?.(e);let u=await V(e,D);try{await N.validate(u,{abortEarly:!1}),r={formErrors:{},yupError:new ne([],e)}}catch(h){let B=K(h);r={formErrors:Object.entries(B).reduce((T,[A,M])=>({...T,[A]:M.message}),{}),yupError:h}}let g=P?.handleValidation(u),y=[...r?.yupError.inner||[],...g?.yupError?.inner||[]],x={...r?.yupError?.value||{},...g?.yupError?.value||{}};return{formErrors:{...r?.formErrors||{},...g?.formErrors||{}},yupError:new ne(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:u,currency:g,salary_converted:y,hiring_budget:x,salary_conversion:h,management:B,estimation_title:T,...A}=e,M=e.salary;y==="salary_conversion"&&(M=h);let he=await V({country:r,region:u,salary:M,salary_converted:y,salary_conversion:h,hiring_budget:x,currency:g,management:B,estimation_title:T},f.fields),Ee=await V(A,P?.fields||[]),Fe={currency_code:d?.find(Me=>Me.value===g)?.label};return{...he,...Ee,...Fe}},"parseFormValues"),handleValidation:Se,isSubmitting:U.isPending,isLoading:le&&ce&&me,onSubmit:ge,resetForm:be,currencies:d,meta:{fields:c.current?.fields}}},"useCostCalculator");function ie(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(c=>c===a.name,"is"),then:o(c=>c.required("Required field"),"then"),otherwise:o(c=>c.optional(),"otherwise")}):a.name==="management"?n[a.name]=oe({management_fee:Te().transform(c=>isNaN(c)?void 0:c).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 oe(s)}o(ie,"buildValidationSchema");function Ae(t){let i="benefit-";return Object.keys(t).reduce((l,s)=>{let n=t[s];if(n==="none")return l;let c={benefit_group_slug:s.replace(i,""),benefit_tier_slug:n};return[...l,c]},[])}o(Ae,"formatBenefits");function Oe(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:Ae(t.benefits)},...i.includeManagementFee&&s&&{discount:{quoted_amount:i.showManagementFee?s:C[n]||C.USD,text:""}}},...ke(t,l)}}o(Oe,"mapValueToEmployment");function ke(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(ke,"getSalaryFields");function ae(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=>Oe(n,i,l))}}o(ae,"buildPayload");export{ie as a,ae as b,O as c,Qe as d};
2
+ //# sourceMappingURL=chunk-S2OEFLVC.js.map
@@ -1,2 +1,2 @@
1
- import{a as m}from"./chunk-Y47XYRGE.js";import{b as s}from"./chunk-TOA3JILU.js";import{b as e}from"./chunk-2YTBWEC7.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-YR666AEH.js.map
1
+ import{a as m}from"./chunk-ZMJV6QZZ.js";import{b as s}from"./chunk-TOA3JILU.js";import{b as e}from"./chunk-2YTBWEC7.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-SQTK4MAQ.js.map
@@ -1,2 +1,2 @@
1
- import{a as m}from"./chunk-V6X6F6LC.js";import{b as s}from"./chunk-PGWKJ6FK.js";import{b as t}from"./chunk-2YTBWEC7.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-KRMKWQVS.js.map
1
+ import{a as m}from"./chunk-JOQBCGW5.js";import{b as s}from"./chunk-PGWKJ6FK.js";import{b as t}from"./chunk-2YTBWEC7.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-TWDYIXF6.js.map
@@ -1,2 +1,2 @@
1
- import{a as F}from"./chunk-CFN3Z76T.js";import{b as u}from"./chunk-H6Q65JLZ.js";import{f as l,g as p}from"./chunk-66N57DKF.js";import{c as f}from"./chunk-2SO4LW7V.js";import{b as _}from"./chunk-TVZAFTPT.js";import{a}from"./chunk-P37U34EQ.js";import{useEffect as w}from"react";import{jsx as r}from"react/jsx-runtime";var R=["effective_date","reason_for_change","reason_for_change_description","additional_comments","additional_comments_toggle"];function x({onSubmit:b,onError:m,onSuccess:A}){let{formId:C,contractAmendment:{checkFieldUpdates:h,fields:s,onSubmit:y,stepState:S,initialValues:i,handleValidation:g}}=_(),V=u(g),e=l({resolver:V,defaultValues:S.values?.form||i,shouldUnregister:!0,mode:"onBlur"});w(()=>{let t=e?.watch(o=>{(Object.keys(e.formState.dirtyFields).length>0||e.formState.isDirty)&&h(o)});return()=>t?.unsubscribe()},[]);let v=a(async t=>{let o=!1;for(let[c,P]of Object.entries(t))if(!R.includes(c)&&i[c]!==P){o=!0;break}if(!o)return m?.({message:"no_changes_detected_contract_details"});let d=await f(t,s,{isPartialValidation:!1});await b?.(d);let n=await y(t);n.error?m?.(n.error):await A?.(n.data)},"handleSubmit");return r(p,{...e,children:r("form",{id:C,"data-testid":"contract-amendment-form",onSubmit:e.handleSubmit(v),className:"space-y-4 RemoteFlows__ContractAmendmentForm",children:r(F,{fields:s})})})}a(x,"ContractAmendmentForm");export{x as a};
2
- //# sourceMappingURL=chunk-ZVA3C5TB.js.map
1
+ import{a as F}from"./chunk-FF3CQXEL.js";import{b as u}from"./chunk-H6Q65JLZ.js";import{f as l,g as p}from"./chunk-66N57DKF.js";import{c as f}from"./chunk-2SO4LW7V.js";import{b as _}from"./chunk-TVZAFTPT.js";import{a}from"./chunk-P37U34EQ.js";import{useEffect as w}from"react";import{jsx as r}from"react/jsx-runtime";var R=["effective_date","reason_for_change","reason_for_change_description","additional_comments","additional_comments_toggle"];function x({onSubmit:b,onError:m,onSuccess:A}){let{formId:C,contractAmendment:{checkFieldUpdates:h,fields:s,onSubmit:y,stepState:S,initialValues:i,handleValidation:g}}=_(),V=u(g),e=l({resolver:V,defaultValues:S.values?.form||i,shouldUnregister:!0,mode:"onBlur"});w(()=>{let t=e?.watch(o=>{(Object.keys(e.formState.dirtyFields).length>0||e.formState.isDirty)&&h(o)});return()=>t?.unsubscribe()},[]);let v=a(async t=>{let o=!1;for(let[c,P]of Object.entries(t))if(!R.includes(c)&&i[c]!==P){o=!0;break}if(!o)return m?.({message:"no_changes_detected_contract_details"});let d=await f(t,s,{isPartialValidation:!1});await b?.(d);let n=await y(t);n.error?m?.(n.error):await A?.(n.data)},"handleSubmit");return r(p,{...e,children:r("form",{id:C,"data-testid":"contract-amendment-form",onSubmit:e.handleSubmit(v),className:"space-y-4 RemoteFlows__ContractAmendmentForm",children:r(F,{fields:s})})})}a(x,"ContractAmendmentForm");export{x as a};
2
+ //# sourceMappingURL=chunk-UTYOP6NP.js.map
@@ -1,2 +1,2 @@
1
- import{a as m}from"./chunk-V6X6F6LC.js";import{b as a}from"./chunk-PGWKJ6FK.js";import{b as t}from"./chunk-2YTBWEC7.js";import{d as s}from"./chunk-2SO4LW7V.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-BHE7NDIR.js.map
1
+ import{a as m}from"./chunk-JOQBCGW5.js";import{b as a}from"./chunk-PGWKJ6FK.js";import{b as t}from"./chunk-2YTBWEC7.js";import{d as s}from"./chunk-2SO4LW7V.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-VGP4HT4V.js.map
@@ -1,2 +1,2 @@
1
- import{a as b}from"./chunk-Y47XYRGE.js";import{b as P}from"./chunk-TOA3JILU.js";import{b as g}from"./chunk-2YTBWEC7.js";import{b as m}from"./chunk-LJGCFFAT.js";import{a}from"./chunk-P37U34EQ.js";import{useState as w,useMemo as S}from"react";import{Document as k,Page as C,pdfjs as x}from"react-pdf";import{jsx as r,jsxs as i}from"react/jsx-runtime";x.GlobalWorkerOptions.workerSrc=`//unpkg.com/pdfjs-dist@${x.version}/build/pdf.worker.min.mjs`;function N({base64Data:c,fileName:l="document.pdf"}){let[n,t]=w(0),[d,u]=w(1),[p,s]=w(!0),[o,v]=w(""),f=S(()=>{if(!c)return"";let e=c.trim();return e.startsWith("data:application/pdf;base64,")||e.startsWith("data:")?e:`data:application/pdf;base64,${e}`},[c]),h=a(({numPages:e})=>{t(e),s(!1),v("")},"onDocumentLoadSuccess"),y=a(e=>{console.error("Error loading PDF:",e),v("Failed to load PDF document"),s(!1)},"onDocumentLoadError"),E=a(()=>{u(e=>Math.max(1,e-1))},"goToPrevPage"),D=a(()=>{u(e=>Math.min(n,e+1))},"goToNextPage");return f?i("div",{className:"w-full space-y-4",children:[i("div",{children:[i("div",{className:"flex justify-center items-center min-h-[600px] p-4 bg-gray-50",children:[p&&i("div",{className:"text-center",children:[r("div",{className:"animate-spin rounded-full h-12 w-12 border-b-2 border-gray-900 mx-auto mb-4"}),r("p",{className:"text-gray-600",children:"Loading PDF..."})]}),o&&i("div",{className:"text-center space-y-4",children:[r("p",{className:"text-red-600",children:o}),r(m,{asChild:!0,children:r("a",{href:f,download:l,children:"Download PDF Instead"})})]}),!o&&r(k,{file:f,onLoadSuccess:h,onLoadError:y,loading:"",className:"flex flex-col items-center",children:r(C,{pageNumber:d,renderTextLayer:!0,renderAnnotationLayer:!0,className:"shadow-lg",width:Math.min(window.innerWidth-100,800)})})]}),n>0&&!o&&r("div",{className:"border-t bg-white px-4 py-3",children:i("div",{className:"flex items-center justify-between",children:[r(m,{onClick:E,disabled:d<=1,variant:"outline",size:"sm",children:"\u2190 Previous"}),i("div",{className:"text-sm text-gray-600",children:["Page ",d," of ",n]}),r(m,{onClick:D,disabled:d>=n,variant:"outline",size:"sm",children:"Next \u2192"})]})})]}),i("div",{className:"flex justify-between items-center text-sm",children:[r("p",{className:"text-gray-600",children:l}),r(m,{variant:"link",size:"link",asChild:!0,children:i("a",{href:f,download:l,className:"flex items-center gap-1",children:[r("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:r("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"})}),"Download PDF"]})})]})]}):r("div",{className:"w-full border rounded p-8 text-center bg-gray-50",children:r("p",{className:"text-gray-500",children:"No PDF data available"})})}a(N,"PDFPreview");import{jsx as F,jsxs as L}from"react/jsx-runtime";function I({onSubmit:c,onSuccess:l,onError:n}){let{contractorOnboardingBag:t}=P(),d=a(async p=>{try{let s=await t.parseFormValues(p);await c?.(s);let o=await t.onSubmit(p);if(o?.data){await l?.(o?.data),t?.next();return}if(o?.error){let v=g(o?.fieldErrors||[],t.meta?.fields?.contract_preview);n?.({error:o?.error,rawError:o?.rawError,fieldErrors:v})}}catch(s){n?.({error:s,rawError:s,fieldErrors:[]})}},"handleSubmit"),u=t.stepState.values?.contract_preview||t.initialValues.contract_preview;return L("div",{className:"space-y-4",children:[F(N,{base64Data:t.documentPreviewPdf?.contract_document.content}),F(b,{defaultValues:u,onSubmit:d})]})}a(I,"ContractPreviewStep");export{I as a};
2
- //# sourceMappingURL=chunk-5RPTKYPJ.js.map
1
+ import{a as b}from"./chunk-ZMJV6QZZ.js";import{b as P}from"./chunk-TOA3JILU.js";import{b as g}from"./chunk-2YTBWEC7.js";import{b as m}from"./chunk-LJGCFFAT.js";import{a}from"./chunk-P37U34EQ.js";import{useState as w,useMemo as S}from"react";import{Document as k,Page as C,pdfjs as x}from"react-pdf";import{jsx as r,jsxs as i}from"react/jsx-runtime";x.GlobalWorkerOptions.workerSrc=`//unpkg.com/pdfjs-dist@${x.version}/build/pdf.worker.min.mjs`;function N({base64Data:c,fileName:l="document.pdf"}){let[n,t]=w(0),[d,u]=w(1),[p,s]=w(!0),[o,v]=w(""),f=S(()=>{if(!c)return"";let e=c.trim();return e.startsWith("data:application/pdf;base64,")||e.startsWith("data:")?e:`data:application/pdf;base64,${e}`},[c]),h=a(({numPages:e})=>{t(e),s(!1),v("")},"onDocumentLoadSuccess"),y=a(e=>{console.error("Error loading PDF:",e),v("Failed to load PDF document"),s(!1)},"onDocumentLoadError"),E=a(()=>{u(e=>Math.max(1,e-1))},"goToPrevPage"),D=a(()=>{u(e=>Math.min(n,e+1))},"goToNextPage");return f?i("div",{className:"w-full space-y-4",children:[i("div",{children:[i("div",{className:"flex justify-center items-center min-h-[600px] p-4 bg-gray-50",children:[p&&i("div",{className:"text-center",children:[r("div",{className:"animate-spin rounded-full h-12 w-12 border-b-2 border-gray-900 mx-auto mb-4"}),r("p",{className:"text-gray-600",children:"Loading PDF..."})]}),o&&i("div",{className:"text-center space-y-4",children:[r("p",{className:"text-red-600",children:o}),r(m,{asChild:!0,children:r("a",{href:f,download:l,children:"Download PDF Instead"})})]}),!o&&r(k,{file:f,onLoadSuccess:h,onLoadError:y,loading:"",className:"flex flex-col items-center",children:r(C,{pageNumber:d,renderTextLayer:!0,renderAnnotationLayer:!0,className:"shadow-lg",width:Math.min(window.innerWidth-100,800)})})]}),n>0&&!o&&r("div",{className:"border-t bg-white px-4 py-3",children:i("div",{className:"flex items-center justify-between",children:[r(m,{onClick:E,disabled:d<=1,variant:"outline",size:"sm",children:"\u2190 Previous"}),i("div",{className:"text-sm text-gray-600",children:["Page ",d," of ",n]}),r(m,{onClick:D,disabled:d>=n,variant:"outline",size:"sm",children:"Next \u2192"})]})})]}),i("div",{className:"flex justify-between items-center text-sm",children:[r("p",{className:"text-gray-600",children:l}),r(m,{variant:"link",size:"link",asChild:!0,children:i("a",{href:f,download:l,className:"flex items-center gap-1",children:[r("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:r("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"})}),"Download PDF"]})})]})]}):r("div",{className:"w-full border rounded p-8 text-center bg-gray-50",children:r("p",{className:"text-gray-500",children:"No PDF data available"})})}a(N,"PDFPreview");import{jsx as F,jsxs as L}from"react/jsx-runtime";function I({onSubmit:c,onSuccess:l,onError:n}){let{contractorOnboardingBag:t}=P(),d=a(async p=>{try{let s=await t.parseFormValues(p);await c?.(s);let o=await t.onSubmit(p);if(o?.data){await l?.(o?.data),t?.next();return}if(o?.error){let v=g(o?.fieldErrors||[],t.meta?.fields?.contract_preview);n?.({error:o?.error,rawError:o?.rawError,fieldErrors:v})}}catch(s){n?.({error:s,rawError:s,fieldErrors:[]})}},"handleSubmit"),u=t.stepState.values?.contract_preview||t.initialValues.contract_preview;return L("div",{className:"space-y-4",children:[F(N,{base64Data:t.documentPreviewPdf?.contract_document.content}),F(b,{defaultValues:u,onSubmit:d})]})}a(I,"ContractPreviewStep");export{I as a};
2
+ //# sourceMappingURL=chunk-VOBHJI4Q.js.map
@@ -1,2 +1,2 @@
1
- import{b as c}from"./chunk-TOA3JILU.js";import{a as l}from"./chunk-CFN3Z76T.js";import{b as s}from"./chunk-H6Q65JLZ.js";import{f as m,g as d}from"./chunk-66N57DKF.js";import{a as e}from"./chunk-P37U34EQ.js";import{useEffect as f}from"react";import{jsx as p}from"react/jsx-runtime";import{createElement as P}from"react";function B({defaultValues:i,onSubmit:F,components:u}){let{formId:y,contractorOnboardingBag:o}=c(),b=s(o.handleValidation),r=m({resolver:b,defaultValues:i,shouldUnregister:!1,mode:"onBlur"});f(()=>{o.employmentId&&o?.checkFieldUpdates(r.getValues())},[]),f(()=>{let n=r?.watch(t=>{Object.keys(t).some(a=>t[a]!==i[a])&&o?.checkFieldUpdates(t)});return()=>n?.unsubscribe()},[]);let g=e(async n=>{F(n)},"handleSubmit");return P(d,{...r,key:`form-${o.stepState.currentStep.name}`},p("form",{id:y,onSubmit:r.handleSubmit(g),className:"space-y-4 RemoteFlows__OnboardingForm",children:p(l,{components:u,fields:o.fields,fieldsets:o.meta.fieldsets,fieldValues:o.fieldValues})}))}e(B,"ContractorOnboardingForm");export{B as a};
2
- //# sourceMappingURL=chunk-Y47XYRGE.js.map
1
+ import{b as c}from"./chunk-TOA3JILU.js";import{a as l}from"./chunk-FF3CQXEL.js";import{b as s}from"./chunk-H6Q65JLZ.js";import{f as m,g as d}from"./chunk-66N57DKF.js";import{a as e}from"./chunk-P37U34EQ.js";import{useEffect as f}from"react";import{jsx as p}from"react/jsx-runtime";import{createElement as P}from"react";function B({defaultValues:i,onSubmit:F,components:u}){let{formId:y,contractorOnboardingBag:o}=c(),b=s(o.handleValidation),r=m({resolver:b,defaultValues:i,shouldUnregister:!1,mode:"onBlur"});f(()=>{o.employmentId&&o?.checkFieldUpdates(r.getValues())},[]),f(()=>{let n=r?.watch(t=>{Object.keys(t).some(a=>t[a]!==i[a])&&o?.checkFieldUpdates(t)});return()=>n?.unsubscribe()},[]);let g=e(async n=>{F(n)},"handleSubmit");return P(d,{...r,key:`form-${o.stepState.currentStep.name}`},p("form",{id:y,onSubmit:r.handleSubmit(g),className:"space-y-4 RemoteFlows__OnboardingForm",children:p(l,{components:u,fields:o.fields,fieldsets:o.meta.fieldsets,fieldValues:o.fieldValues})}))}e(B,"ContractorOnboardingForm");export{B as a};
2
+ //# sourceMappingURL=chunk-ZMJV6QZZ.js.map
@@ -1,2 +1,2 @@
1
- import{a}from"../../chunk-YSOGGVBO.js";import"../../chunk-ZVA3C5TB.js";import"../../chunk-QH4EGUER.js";import"../../chunk-CDCKGIF5.js";import"../../chunk-JA7UP6GN.js";import"../../chunk-ZPN5N6BA.js";import"../../chunk-CFN3Z76T.js";import"../../chunk-H6Q65JLZ.js";import"../../chunk-KYCI2BCF.js";import"../../chunk-7FMR3EIX.js";import"../../chunk-ND4FAALX.js";import"../../chunk-2YTBWEC7.js";import"../../chunk-NFUP6BFU.js";import"../../chunk-ZIN2OWTH.js";import"../../chunk-UOOUV52J.js";import"../../chunk-72OH7PSF.js";import"../../chunk-PJBAQZ6G.js";import"../../chunk-ZKINPHYU.js";import"../../chunk-KQPDXXG3.js";import"../../chunk-LJGCFFAT.js";import"../../chunk-FUMA5UUB.js";import"../../chunk-66N57DKF.js";import"../../chunk-2SO4LW7V.js";import"../../chunk-PMTKQME6.js";import"../../chunk-TVZAFTPT.js";import"../../chunk-L3Z2G32A.js";import"../../chunk-P37U34EQ.js";export{a as ContractAmendmentFlow};
1
+ import{a}from"../../chunk-KFDCTVJC.js";import"../../chunk-UTYOP6NP.js";import"../../chunk-QH4EGUER.js";import"../../chunk-CDCKGIF5.js";import"../../chunk-JA7UP6GN.js";import"../../chunk-ZPN5N6BA.js";import"../../chunk-FF3CQXEL.js";import"../../chunk-H6Q65JLZ.js";import"../../chunk-67MPL47V.js";import"../../chunk-7FMR3EIX.js";import"../../chunk-ND4FAALX.js";import"../../chunk-2YTBWEC7.js";import"../../chunk-NFUP6BFU.js";import"../../chunk-ZIN2OWTH.js";import"../../chunk-UOOUV52J.js";import"../../chunk-72OH7PSF.js";import"../../chunk-PJBAQZ6G.js";import"../../chunk-ZKINPHYU.js";import"../../chunk-KQPDXXG3.js";import"../../chunk-LJGCFFAT.js";import"../../chunk-FUMA5UUB.js";import"../../chunk-66N57DKF.js";import"../../chunk-2SO4LW7V.js";import"../../chunk-PMTKQME6.js";import"../../chunk-TVZAFTPT.js";import"../../chunk-L3Z2G32A.js";import"../../chunk-P37U34EQ.js";export{a as ContractAmendmentFlow};
2
2
  //# sourceMappingURL=ContractAmendmentFlow.js.map
@@ -1,2 +1,2 @@
1
- import{a}from"../../chunk-ZVA3C5TB.js";import"../../chunk-CFN3Z76T.js";import"../../chunk-H6Q65JLZ.js";import"../../chunk-KYCI2BCF.js";import"../../chunk-7FMR3EIX.js";import"../../chunk-ND4FAALX.js";import"../../chunk-NFUP6BFU.js";import"../../chunk-ZIN2OWTH.js";import"../../chunk-UOOUV52J.js";import"../../chunk-72OH7PSF.js";import"../../chunk-KQPDXXG3.js";import"../../chunk-LJGCFFAT.js";import"../../chunk-66N57DKF.js";import"../../chunk-2SO4LW7V.js";import"../../chunk-PMTKQME6.js";import"../../chunk-TVZAFTPT.js";import"../../chunk-L3Z2G32A.js";import"../../chunk-P37U34EQ.js";export{a as ContractAmendmentForm};
1
+ import{a}from"../../chunk-UTYOP6NP.js";import"../../chunk-FF3CQXEL.js";import"../../chunk-H6Q65JLZ.js";import"../../chunk-67MPL47V.js";import"../../chunk-7FMR3EIX.js";import"../../chunk-ND4FAALX.js";import"../../chunk-NFUP6BFU.js";import"../../chunk-ZIN2OWTH.js";import"../../chunk-UOOUV52J.js";import"../../chunk-72OH7PSF.js";import"../../chunk-KQPDXXG3.js";import"../../chunk-LJGCFFAT.js";import"../../chunk-66N57DKF.js";import"../../chunk-2SO4LW7V.js";import"../../chunk-PMTKQME6.js";import"../../chunk-TVZAFTPT.js";import"../../chunk-L3Z2G32A.js";import"../../chunk-P37U34EQ.js";export{a as ContractAmendmentForm};
2
2
  //# sourceMappingURL=ContractAmendmentForm.js.map
@@ -1,2 +1,2 @@
1
- import"../../chunk-A7ZJQCNU.js";import{a as e}from"../../chunk-YSOGGVBO.js";import{a as b}from"../../chunk-ZVA3C5TB.js";import{a as c}from"../../chunk-QH4EGUER.js";import{a as d}from"../../chunk-CDCKGIF5.js";import"../../chunk-JA7UP6GN.js";import"../../chunk-ZPN5N6BA.js";import"../../chunk-CFN3Z76T.js";import"../../chunk-H6Q65JLZ.js";import"../../chunk-KYCI2BCF.js";import"../../chunk-7FMR3EIX.js";import"../../chunk-ND4FAALX.js";import"../../chunk-2YTBWEC7.js";import"../../chunk-NFUP6BFU.js";import"../../chunk-ZIN2OWTH.js";import"../../chunk-UOOUV52J.js";import"../../chunk-72OH7PSF.js";import"../../chunk-PJBAQZ6G.js";import"../../chunk-ZKINPHYU.js";import"../../chunk-KQPDXXG3.js";import"../../chunk-LJGCFFAT.js";import{a}from"../../chunk-FUMA5UUB.js";import"../../chunk-66N57DKF.js";import"../../chunk-2SO4LW7V.js";import"../../chunk-PMTKQME6.js";import"../../chunk-TVZAFTPT.js";import"../../chunk-L3Z2G32A.js";import"../../chunk-P37U34EQ.js";export{a as ContractAmendmentConfirmationForm,e as ContractAmendmentFlow,b as ContractAmendmentForm,c as ContractAmendmentSubmit,d as useContractAmendment};
1
+ import"../../chunk-A7ZJQCNU.js";import{a as e}from"../../chunk-KFDCTVJC.js";import{a as b}from"../../chunk-UTYOP6NP.js";import{a as c}from"../../chunk-QH4EGUER.js";import{a as d}from"../../chunk-CDCKGIF5.js";import"../../chunk-JA7UP6GN.js";import"../../chunk-ZPN5N6BA.js";import"../../chunk-FF3CQXEL.js";import"../../chunk-H6Q65JLZ.js";import"../../chunk-67MPL47V.js";import"../../chunk-7FMR3EIX.js";import"../../chunk-ND4FAALX.js";import"../../chunk-2YTBWEC7.js";import"../../chunk-NFUP6BFU.js";import"../../chunk-ZIN2OWTH.js";import"../../chunk-UOOUV52J.js";import"../../chunk-72OH7PSF.js";import"../../chunk-PJBAQZ6G.js";import"../../chunk-ZKINPHYU.js";import"../../chunk-KQPDXXG3.js";import"../../chunk-LJGCFFAT.js";import{a}from"../../chunk-FUMA5UUB.js";import"../../chunk-66N57DKF.js";import"../../chunk-2SO4LW7V.js";import"../../chunk-PMTKQME6.js";import"../../chunk-TVZAFTPT.js";import"../../chunk-L3Z2G32A.js";import"../../chunk-P37U34EQ.js";export{a as ContractAmendmentConfirmationForm,e as ContractAmendmentFlow,b as ContractAmendmentForm,c as ContractAmendmentSubmit,d as useContractAmendment};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- import{a}from"../../chunk-JCYNAEWF.js";import"../../chunk-G7N277WY.js";import"../../chunk-YR666AEH.js";import"../../chunk-LCJSVSZ5.js";import"../../chunk-5RPTKYPJ.js";import"../../chunk-QP5V46OP.js";import"../../chunk-OMRLBAVD.js";import"../../chunk-BFMUZP2O.js";import"../../chunk-QKJNMYIA.js";import"../../chunk-Y47XYRGE.js";import"../../chunk-TOA3JILU.js";import"../../chunk-VXZN2TCG.js";import"../../chunk-ELXVVBRD.js";import"../../chunk-OAPK6TR7.js";import"../../chunk-AP56UUME.js";import"../../chunk-R2MHAPWD.js";import"../../chunk-3UDG4IJO.js";import"../../chunk-ZOTFS35J.js";import"../../chunk-IKS3YZ7X.js";import"../../chunk-WVJDCDGZ.js";import"../../chunk-Z5WMKCRJ.js";import"../../chunk-CFN3Z76T.js";import"../../chunk-H6Q65JLZ.js";import"../../chunk-KYCI2BCF.js";import"../../chunk-7FMR3EIX.js";import"../../chunk-ND4FAALX.js";import"../../chunk-2YTBWEC7.js";import"../../chunk-NFUP6BFU.js";import"../../chunk-ZIN2OWTH.js";import"../../chunk-UOOUV52J.js";import"../../chunk-72OH7PSF.js";import"../../chunk-PJBAQZ6G.js";import"../../chunk-KQPDXXG3.js";import"../../chunk-LJGCFFAT.js";import"../../chunk-66N57DKF.js";import"../../chunk-2SO4LW7V.js";import"../../chunk-PMTKQME6.js";import"../../chunk-L3Z2G32A.js";import"../../chunk-P37U34EQ.js";export{a as ContractorOnboardingFlow};
1
+ import{a}from"../../chunk-NORA242K.js";import"../../chunk-HGL5ACFL.js";import"../../chunk-SQTK4MAQ.js";import"../../chunk-OAQK6CYO.js";import"../../chunk-VOBHJI4Q.js";import"../../chunk-QP5V46OP.js";import"../../chunk-OMRLBAVD.js";import"../../chunk-BFMUZP2O.js";import"../../chunk-IIZDTABX.js";import"../../chunk-ZMJV6QZZ.js";import"../../chunk-TOA3JILU.js";import"../../chunk-VXZN2TCG.js";import"../../chunk-ELXVVBRD.js";import"../../chunk-OAPK6TR7.js";import"../../chunk-AP56UUME.js";import"../../chunk-R2MHAPWD.js";import"../../chunk-3UDG4IJO.js";import"../../chunk-ZOTFS35J.js";import"../../chunk-IKS3YZ7X.js";import"../../chunk-WVJDCDGZ.js";import"../../chunk-Z5WMKCRJ.js";import"../../chunk-FF3CQXEL.js";import"../../chunk-H6Q65JLZ.js";import"../../chunk-67MPL47V.js";import"../../chunk-7FMR3EIX.js";import"../../chunk-ND4FAALX.js";import"../../chunk-2YTBWEC7.js";import"../../chunk-NFUP6BFU.js";import"../../chunk-ZIN2OWTH.js";import"../../chunk-UOOUV52J.js";import"../../chunk-72OH7PSF.js";import"../../chunk-PJBAQZ6G.js";import"../../chunk-KQPDXXG3.js";import"../../chunk-LJGCFFAT.js";import"../../chunk-66N57DKF.js";import"../../chunk-2SO4LW7V.js";import"../../chunk-PMTKQME6.js";import"../../chunk-L3Z2G32A.js";import"../../chunk-P37U34EQ.js";export{a as ContractorOnboardingFlow};
2
2
  //# sourceMappingURL=ContractorOnboarding.js.map
@@ -1,2 +1,2 @@
1
- import{a}from"../../../chunk-YR666AEH.js";import"../../../chunk-Y47XYRGE.js";import"../../../chunk-TOA3JILU.js";import"../../../chunk-CFN3Z76T.js";import"../../../chunk-H6Q65JLZ.js";import"../../../chunk-KYCI2BCF.js";import"../../../chunk-7FMR3EIX.js";import"../../../chunk-ND4FAALX.js";import"../../../chunk-2YTBWEC7.js";import"../../../chunk-NFUP6BFU.js";import"../../../chunk-ZIN2OWTH.js";import"../../../chunk-UOOUV52J.js";import"../../../chunk-72OH7PSF.js";import"../../../chunk-KQPDXXG3.js";import"../../../chunk-LJGCFFAT.js";import"../../../chunk-66N57DKF.js";import"../../../chunk-2SO4LW7V.js";import"../../../chunk-PMTKQME6.js";import"../../../chunk-L3Z2G32A.js";import"../../../chunk-P37U34EQ.js";export{a as BasicInformationStep};
1
+ import{a}from"../../../chunk-SQTK4MAQ.js";import"../../../chunk-ZMJV6QZZ.js";import"../../../chunk-TOA3JILU.js";import"../../../chunk-FF3CQXEL.js";import"../../../chunk-H6Q65JLZ.js";import"../../../chunk-67MPL47V.js";import"../../../chunk-7FMR3EIX.js";import"../../../chunk-ND4FAALX.js";import"../../../chunk-2YTBWEC7.js";import"../../../chunk-NFUP6BFU.js";import"../../../chunk-ZIN2OWTH.js";import"../../../chunk-UOOUV52J.js";import"../../../chunk-72OH7PSF.js";import"../../../chunk-KQPDXXG3.js";import"../../../chunk-LJGCFFAT.js";import"../../../chunk-66N57DKF.js";import"../../../chunk-2SO4LW7V.js";import"../../../chunk-PMTKQME6.js";import"../../../chunk-L3Z2G32A.js";import"../../../chunk-P37U34EQ.js";export{a as BasicInformationStep};
2
2
  //# sourceMappingURL=BasicInformationStep.js.map
@@ -1,2 +1,2 @@
1
- import{a}from"../../../chunk-LCJSVSZ5.js";import"../../../chunk-Y47XYRGE.js";import"../../../chunk-TOA3JILU.js";import"../../../chunk-CFN3Z76T.js";import"../../../chunk-H6Q65JLZ.js";import"../../../chunk-KYCI2BCF.js";import"../../../chunk-7FMR3EIX.js";import"../../../chunk-ND4FAALX.js";import"../../../chunk-2YTBWEC7.js";import"../../../chunk-NFUP6BFU.js";import"../../../chunk-ZIN2OWTH.js";import"../../../chunk-UOOUV52J.js";import"../../../chunk-72OH7PSF.js";import"../../../chunk-KQPDXXG3.js";import"../../../chunk-LJGCFFAT.js";import"../../../chunk-66N57DKF.js";import"../../../chunk-2SO4LW7V.js";import"../../../chunk-PMTKQME6.js";import"../../../chunk-L3Z2G32A.js";import"../../../chunk-P37U34EQ.js";export{a as ContractDetailsStep};
1
+ import{a}from"../../../chunk-OAQK6CYO.js";import"../../../chunk-ZMJV6QZZ.js";import"../../../chunk-TOA3JILU.js";import"../../../chunk-FF3CQXEL.js";import"../../../chunk-H6Q65JLZ.js";import"../../../chunk-67MPL47V.js";import"../../../chunk-7FMR3EIX.js";import"../../../chunk-ND4FAALX.js";import"../../../chunk-2YTBWEC7.js";import"../../../chunk-NFUP6BFU.js";import"../../../chunk-ZIN2OWTH.js";import"../../../chunk-UOOUV52J.js";import"../../../chunk-72OH7PSF.js";import"../../../chunk-KQPDXXG3.js";import"../../../chunk-LJGCFFAT.js";import"../../../chunk-66N57DKF.js";import"../../../chunk-2SO4LW7V.js";import"../../../chunk-PMTKQME6.js";import"../../../chunk-L3Z2G32A.js";import"../../../chunk-P37U34EQ.js";export{a as ContractDetailsStep};
2
2
  //# sourceMappingURL=ContractDetailsStep.js.map
@@ -1,2 +1,2 @@
1
- import{a}from"../../../chunk-5RPTKYPJ.js";import"../../../chunk-Y47XYRGE.js";import"../../../chunk-TOA3JILU.js";import"../../../chunk-CFN3Z76T.js";import"../../../chunk-H6Q65JLZ.js";import"../../../chunk-KYCI2BCF.js";import"../../../chunk-7FMR3EIX.js";import"../../../chunk-ND4FAALX.js";import"../../../chunk-2YTBWEC7.js";import"../../../chunk-NFUP6BFU.js";import"../../../chunk-ZIN2OWTH.js";import"../../../chunk-UOOUV52J.js";import"../../../chunk-72OH7PSF.js";import"../../../chunk-KQPDXXG3.js";import"../../../chunk-LJGCFFAT.js";import"../../../chunk-66N57DKF.js";import"../../../chunk-2SO4LW7V.js";import"../../../chunk-PMTKQME6.js";import"../../../chunk-L3Z2G32A.js";import"../../../chunk-P37U34EQ.js";export{a as ContractPreviewStep};
1
+ import{a}from"../../../chunk-VOBHJI4Q.js";import"../../../chunk-ZMJV6QZZ.js";import"../../../chunk-TOA3JILU.js";import"../../../chunk-FF3CQXEL.js";import"../../../chunk-H6Q65JLZ.js";import"../../../chunk-67MPL47V.js";import"../../../chunk-7FMR3EIX.js";import"../../../chunk-ND4FAALX.js";import"../../../chunk-2YTBWEC7.js";import"../../../chunk-NFUP6BFU.js";import"../../../chunk-ZIN2OWTH.js";import"../../../chunk-UOOUV52J.js";import"../../../chunk-72OH7PSF.js";import"../../../chunk-KQPDXXG3.js";import"../../../chunk-LJGCFFAT.js";import"../../../chunk-66N57DKF.js";import"../../../chunk-2SO4LW7V.js";import"../../../chunk-PMTKQME6.js";import"../../../chunk-L3Z2G32A.js";import"../../../chunk-P37U34EQ.js";export{a as ContractPreviewStep};
2
2
  //# sourceMappingURL=ContractPreviewStep.js.map
@@ -1,2 +1,2 @@
1
- import{a}from"../../../chunk-Y47XYRGE.js";import"../../../chunk-TOA3JILU.js";import"../../../chunk-CFN3Z76T.js";import"../../../chunk-H6Q65JLZ.js";import"../../../chunk-KYCI2BCF.js";import"../../../chunk-7FMR3EIX.js";import"../../../chunk-ND4FAALX.js";import"../../../chunk-NFUP6BFU.js";import"../../../chunk-ZIN2OWTH.js";import"../../../chunk-UOOUV52J.js";import"../../../chunk-72OH7PSF.js";import"../../../chunk-KQPDXXG3.js";import"../../../chunk-LJGCFFAT.js";import"../../../chunk-66N57DKF.js";import"../../../chunk-2SO4LW7V.js";import"../../../chunk-PMTKQME6.js";import"../../../chunk-L3Z2G32A.js";import"../../../chunk-P37U34EQ.js";export{a as ContractorOnboardingForm};
1
+ import{a}from"../../../chunk-ZMJV6QZZ.js";import"../../../chunk-TOA3JILU.js";import"../../../chunk-FF3CQXEL.js";import"../../../chunk-H6Q65JLZ.js";import"../../../chunk-67MPL47V.js";import"../../../chunk-7FMR3EIX.js";import"../../../chunk-ND4FAALX.js";import"../../../chunk-NFUP6BFU.js";import"../../../chunk-ZIN2OWTH.js";import"../../../chunk-UOOUV52J.js";import"../../../chunk-72OH7PSF.js";import"../../../chunk-KQPDXXG3.js";import"../../../chunk-LJGCFFAT.js";import"../../../chunk-66N57DKF.js";import"../../../chunk-2SO4LW7V.js";import"../../../chunk-PMTKQME6.js";import"../../../chunk-L3Z2G32A.js";import"../../../chunk-P37U34EQ.js";export{a as ContractorOnboardingForm};
2
2
  //# sourceMappingURL=ContractorOnboardingForm.js.map
@@ -1,2 +1,2 @@
1
- import{a}from"../../../chunk-QKJNMYIA.js";import"../../../chunk-Y47XYRGE.js";import"../../../chunk-TOA3JILU.js";import"../../../chunk-CFN3Z76T.js";import"../../../chunk-H6Q65JLZ.js";import"../../../chunk-KYCI2BCF.js";import"../../../chunk-7FMR3EIX.js";import"../../../chunk-ND4FAALX.js";import"../../../chunk-2YTBWEC7.js";import"../../../chunk-NFUP6BFU.js";import"../../../chunk-ZIN2OWTH.js";import"../../../chunk-UOOUV52J.js";import"../../../chunk-72OH7PSF.js";import"../../../chunk-KQPDXXG3.js";import"../../../chunk-LJGCFFAT.js";import"../../../chunk-66N57DKF.js";import"../../../chunk-2SO4LW7V.js";import"../../../chunk-PMTKQME6.js";import"../../../chunk-L3Z2G32A.js";import"../../../chunk-P37U34EQ.js";export{a as PricingPlanStep};
1
+ import{a}from"../../../chunk-IIZDTABX.js";import"../../../chunk-ZMJV6QZZ.js";import"../../../chunk-TOA3JILU.js";import"../../../chunk-FF3CQXEL.js";import"../../../chunk-H6Q65JLZ.js";import"../../../chunk-67MPL47V.js";import"../../../chunk-7FMR3EIX.js";import"../../../chunk-ND4FAALX.js";import"../../../chunk-2YTBWEC7.js";import"../../../chunk-NFUP6BFU.js";import"../../../chunk-ZIN2OWTH.js";import"../../../chunk-UOOUV52J.js";import"../../../chunk-72OH7PSF.js";import"../../../chunk-KQPDXXG3.js";import"../../../chunk-LJGCFFAT.js";import"../../../chunk-66N57DKF.js";import"../../../chunk-2SO4LW7V.js";import"../../../chunk-PMTKQME6.js";import"../../../chunk-L3Z2G32A.js";import"../../../chunk-P37U34EQ.js";export{a as PricingPlanStep};
2
2
  //# sourceMappingURL=PricingPlan.js.map
@@ -1,2 +1,2 @@
1
- import{a}from"../../../chunk-G7N277WY.js";import"../../../chunk-Y47XYRGE.js";import"../../../chunk-TOA3JILU.js";import"../../../chunk-CFN3Z76T.js";import"../../../chunk-H6Q65JLZ.js";import"../../../chunk-KYCI2BCF.js";import"../../../chunk-7FMR3EIX.js";import"../../../chunk-ND4FAALX.js";import"../../../chunk-NFUP6BFU.js";import"../../../chunk-ZIN2OWTH.js";import"../../../chunk-UOOUV52J.js";import"../../../chunk-72OH7PSF.js";import"../../../chunk-KQPDXXG3.js";import"../../../chunk-LJGCFFAT.js";import"../../../chunk-66N57DKF.js";import"../../../chunk-2SO4LW7V.js";import"../../../chunk-PMTKQME6.js";import"../../../chunk-L3Z2G32A.js";import"../../../chunk-P37U34EQ.js";export{a as SelectCountryStep};
1
+ import{a}from"../../../chunk-HGL5ACFL.js";import"../../../chunk-ZMJV6QZZ.js";import"../../../chunk-TOA3JILU.js";import"../../../chunk-FF3CQXEL.js";import"../../../chunk-H6Q65JLZ.js";import"../../../chunk-67MPL47V.js";import"../../../chunk-7FMR3EIX.js";import"../../../chunk-ND4FAALX.js";import"../../../chunk-NFUP6BFU.js";import"../../../chunk-ZIN2OWTH.js";import"../../../chunk-UOOUV52J.js";import"../../../chunk-72OH7PSF.js";import"../../../chunk-KQPDXXG3.js";import"../../../chunk-LJGCFFAT.js";import"../../../chunk-66N57DKF.js";import"../../../chunk-2SO4LW7V.js";import"../../../chunk-PMTKQME6.js";import"../../../chunk-L3Z2G32A.js";import"../../../chunk-P37U34EQ.js";export{a as SelectCountryStep};
2
2
  //# sourceMappingURL=SelectCountryStep.js.map
@@ -1,2 +1,2 @@
1
- import"../../chunk-DKFUZO5P.js";import{a}from"../../chunk-JCYNAEWF.js";import"../../chunk-G7N277WY.js";import"../../chunk-YR666AEH.js";import"../../chunk-LCJSVSZ5.js";import"../../chunk-5RPTKYPJ.js";import"../../chunk-QP5V46OP.js";import"../../chunk-OMRLBAVD.js";import"../../chunk-BFMUZP2O.js";import"../../chunk-QKJNMYIA.js";import"../../chunk-Y47XYRGE.js";import"../../chunk-TOA3JILU.js";import"../../chunk-VXZN2TCG.js";import"../../chunk-ELXVVBRD.js";import"../../chunk-OAPK6TR7.js";import"../../chunk-AP56UUME.js";import"../../chunk-R2MHAPWD.js";import"../../chunk-3UDG4IJO.js";import"../../chunk-ZOTFS35J.js";import"../../chunk-IKS3YZ7X.js";import"../../chunk-WVJDCDGZ.js";import"../../chunk-Z5WMKCRJ.js";import"../../chunk-CFN3Z76T.js";import"../../chunk-H6Q65JLZ.js";import"../../chunk-KYCI2BCF.js";import"../../chunk-7FMR3EIX.js";import"../../chunk-ND4FAALX.js";import"../../chunk-2YTBWEC7.js";import"../../chunk-NFUP6BFU.js";import"../../chunk-ZIN2OWTH.js";import"../../chunk-UOOUV52J.js";import"../../chunk-72OH7PSF.js";import"../../chunk-PJBAQZ6G.js";import"../../chunk-KQPDXXG3.js";import"../../chunk-LJGCFFAT.js";import"../../chunk-66N57DKF.js";import"../../chunk-2SO4LW7V.js";import"../../chunk-PMTKQME6.js";import"../../chunk-L3Z2G32A.js";import"../../chunk-P37U34EQ.js";export{a as ContractorOnboardingFlow};
1
+ import"../../chunk-DKFUZO5P.js";import{a}from"../../chunk-NORA242K.js";import"../../chunk-HGL5ACFL.js";import"../../chunk-SQTK4MAQ.js";import"../../chunk-OAQK6CYO.js";import"../../chunk-VOBHJI4Q.js";import"../../chunk-QP5V46OP.js";import"../../chunk-OMRLBAVD.js";import"../../chunk-BFMUZP2O.js";import"../../chunk-IIZDTABX.js";import"../../chunk-ZMJV6QZZ.js";import"../../chunk-TOA3JILU.js";import"../../chunk-VXZN2TCG.js";import"../../chunk-ELXVVBRD.js";import"../../chunk-OAPK6TR7.js";import"../../chunk-AP56UUME.js";import"../../chunk-R2MHAPWD.js";import"../../chunk-3UDG4IJO.js";import"../../chunk-ZOTFS35J.js";import"../../chunk-IKS3YZ7X.js";import"../../chunk-WVJDCDGZ.js";import"../../chunk-Z5WMKCRJ.js";import"../../chunk-FF3CQXEL.js";import"../../chunk-H6Q65JLZ.js";import"../../chunk-67MPL47V.js";import"../../chunk-7FMR3EIX.js";import"../../chunk-ND4FAALX.js";import"../../chunk-2YTBWEC7.js";import"../../chunk-NFUP6BFU.js";import"../../chunk-ZIN2OWTH.js";import"../../chunk-UOOUV52J.js";import"../../chunk-72OH7PSF.js";import"../../chunk-PJBAQZ6G.js";import"../../chunk-KQPDXXG3.js";import"../../chunk-LJGCFFAT.js";import"../../chunk-66N57DKF.js";import"../../chunk-2SO4LW7V.js";import"../../chunk-PMTKQME6.js";import"../../chunk-L3Z2G32A.js";import"../../chunk-P37U34EQ.js";export{a as ContractorOnboardingFlow};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- import{a}from"../../chunk-7IFYJQW7.js";import"../../chunk-KSHK3ZPX.js";import"../../chunk-N2VHZLA3.js";import"../../chunk-QGGFY3DW.js";import"../../chunk-VFRHMNLJ.js";import"../../chunk-2TCLBL2U.js";import"../../chunk-XQL5I2GC.js";import"../../chunk-HN5HLFTB.js";import"../../chunk-IKS3YZ7X.js";import"../../chunk-WVJDCDGZ.js";import"../../chunk-Z5WMKCRJ.js";import"../../chunk-H6Q65JLZ.js";import"../../chunk-KYCI2BCF.js";import"../../chunk-7FMR3EIX.js";import"../../chunk-ND4FAALX.js";import"../../chunk-2YTBWEC7.js";import"../../chunk-NFUP6BFU.js";import"../../chunk-ZIN2OWTH.js";import"../../chunk-UOOUV52J.js";import"../../chunk-72OH7PSF.js";import"../../chunk-KQPDXXG3.js";import"../../chunk-LJGCFFAT.js";import"../../chunk-66N57DKF.js";import"../../chunk-2SO4LW7V.js";import"../../chunk-PMTKQME6.js";import"../../chunk-L3Z2G32A.js";import"../../chunk-P37U34EQ.js";export{a as CostCalculatorFlow};
1
+ import{a}from"../../chunk-6623EJIS.js";import"../../chunk-KSHK3ZPX.js";import"../../chunk-S2OEFLVC.js";import"../../chunk-QGGFY3DW.js";import"../../chunk-VFRHMNLJ.js";import"../../chunk-2TCLBL2U.js";import"../../chunk-XQL5I2GC.js";import"../../chunk-HN5HLFTB.js";import"../../chunk-IKS3YZ7X.js";import"../../chunk-WVJDCDGZ.js";import"../../chunk-Z5WMKCRJ.js";import"../../chunk-H6Q65JLZ.js";import"../../chunk-67MPL47V.js";import"../../chunk-7FMR3EIX.js";import"../../chunk-ND4FAALX.js";import"../../chunk-2YTBWEC7.js";import"../../chunk-NFUP6BFU.js";import"../../chunk-ZIN2OWTH.js";import"../../chunk-UOOUV52J.js";import"../../chunk-72OH7PSF.js";import"../../chunk-KQPDXXG3.js";import"../../chunk-LJGCFFAT.js";import"../../chunk-66N57DKF.js";import"../../chunk-2SO4LW7V.js";import"../../chunk-PMTKQME6.js";import"../../chunk-L3Z2G32A.js";import"../../chunk-P37U34EQ.js";export{a as CostCalculatorFlow};
2
2
  //# sourceMappingURL=CostCalculatorFlow.js.map
@@ -1,2 +1,2 @@
1
- import{a}from"../../chunk-4C5N57R7.js";import"../../chunk-KSHK3ZPX.js";import"../../chunk-CFN3Z76T.js";import"../../chunk-KYCI2BCF.js";import"../../chunk-7FMR3EIX.js";import"../../chunk-ND4FAALX.js";import"../../chunk-2YTBWEC7.js";import"../../chunk-NFUP6BFU.js";import"../../chunk-ZIN2OWTH.js";import"../../chunk-UOOUV52J.js";import"../../chunk-72OH7PSF.js";import"../../chunk-KQPDXXG3.js";import"../../chunk-LJGCFFAT.js";import"../../chunk-66N57DKF.js";import"../../chunk-2SO4LW7V.js";import"../../chunk-PMTKQME6.js";import"../../chunk-L3Z2G32A.js";import"../../chunk-P37U34EQ.js";export{a as CostCalculatorForm};
1
+ import{a}from"../../chunk-CE4VVNUZ.js";import"../../chunk-KSHK3ZPX.js";import"../../chunk-FF3CQXEL.js";import"../../chunk-67MPL47V.js";import"../../chunk-7FMR3EIX.js";import"../../chunk-ND4FAALX.js";import"../../chunk-2YTBWEC7.js";import"../../chunk-NFUP6BFU.js";import"../../chunk-ZIN2OWTH.js";import"../../chunk-UOOUV52J.js";import"../../chunk-72OH7PSF.js";import"../../chunk-KQPDXXG3.js";import"../../chunk-LJGCFFAT.js";import"../../chunk-66N57DKF.js";import"../../chunk-2SO4LW7V.js";import"../../chunk-PMTKQME6.js";import"../../chunk-L3Z2G32A.js";import"../../chunk-P37U34EQ.js";export{a as CostCalculatorForm};
2
2
  //# sourceMappingURL=CostCalculatorForm.js.map
@@ -1,2 +1,2 @@
1
- import{c as a,d as b}from"../../chunk-N2VHZLA3.js";import"../../chunk-QGGFY3DW.js";import"../../chunk-VFRHMNLJ.js";import"../../chunk-2TCLBL2U.js";import"../../chunk-XQL5I2GC.js";import"../../chunk-HN5HLFTB.js";import"../../chunk-IKS3YZ7X.js";import"../../chunk-WVJDCDGZ.js";import"../../chunk-Z5WMKCRJ.js";import"../../chunk-H6Q65JLZ.js";import"../../chunk-KYCI2BCF.js";import"../../chunk-7FMR3EIX.js";import"../../chunk-ND4FAALX.js";import"../../chunk-2YTBWEC7.js";import"../../chunk-NFUP6BFU.js";import"../../chunk-ZIN2OWTH.js";import"../../chunk-UOOUV52J.js";import"../../chunk-72OH7PSF.js";import"../../chunk-KQPDXXG3.js";import"../../chunk-LJGCFFAT.js";import"../../chunk-66N57DKF.js";import"../../chunk-2SO4LW7V.js";import"../../chunk-PMTKQME6.js";import"../../chunk-L3Z2G32A.js";import"../../chunk-P37U34EQ.js";export{a as defaultEstimationOptions,b as useCostCalculator};
1
+ import{c as a,d as b}from"../../chunk-S2OEFLVC.js";import"../../chunk-QGGFY3DW.js";import"../../chunk-VFRHMNLJ.js";import"../../chunk-2TCLBL2U.js";import"../../chunk-XQL5I2GC.js";import"../../chunk-HN5HLFTB.js";import"../../chunk-IKS3YZ7X.js";import"../../chunk-WVJDCDGZ.js";import"../../chunk-Z5WMKCRJ.js";import"../../chunk-H6Q65JLZ.js";import"../../chunk-67MPL47V.js";import"../../chunk-7FMR3EIX.js";import"../../chunk-ND4FAALX.js";import"../../chunk-2YTBWEC7.js";import"../../chunk-NFUP6BFU.js";import"../../chunk-ZIN2OWTH.js";import"../../chunk-UOOUV52J.js";import"../../chunk-72OH7PSF.js";import"../../chunk-KQPDXXG3.js";import"../../chunk-LJGCFFAT.js";import"../../chunk-66N57DKF.js";import"../../chunk-2SO4LW7V.js";import"../../chunk-PMTKQME6.js";import"../../chunk-L3Z2G32A.js";import"../../chunk-P37U34EQ.js";export{a as defaultEstimationOptions,b as useCostCalculator};
2
2
  //# sourceMappingURL=hooks.js.map
@@ -1,2 +1,2 @@
1
- import"../../chunk-FGBEOUQK.js";import{a as i}from"../../chunk-NVZHJOA3.js";import{a as j}from"../../chunk-FZDQ7EEI.js";import"../../chunk-EC7QVRRX.js";import{a as f}from"../../chunk-4C5N57R7.js";import{a as h}from"../../chunk-K3PHODKN.js";import{a as g}from"../../chunk-6YXSWOKH.js";import{a as e}from"../../chunk-7IFYJQW7.js";import"../../chunk-KSHK3ZPX.js";import{b as a,d}from"../../chunk-N2VHZLA3.js";import"../../chunk-QGGFY3DW.js";import"../../chunk-VFRHMNLJ.js";import"../../chunk-2TCLBL2U.js";import{d as b,e as c}from"../../chunk-XQL5I2GC.js";import"../../chunk-HN5HLFTB.js";import"../../chunk-IKS3YZ7X.js";import"../../chunk-WVJDCDGZ.js";import"../../chunk-MXLQEDRJ.js";import"../../chunk-Z5WMKCRJ.js";import"../../chunk-CFN3Z76T.js";import"../../chunk-H6Q65JLZ.js";import"../../chunk-KYCI2BCF.js";import"../../chunk-7FMR3EIX.js";import"../../chunk-ND4FAALX.js";import"../../chunk-2YTBWEC7.js";import"../../chunk-NFUP6BFU.js";import"../../chunk-ZIN2OWTH.js";import"../../chunk-UOOUV52J.js";import"../../chunk-72OH7PSF.js";import"../../chunk-KQPDXXG3.js";import"../../chunk-LJGCFFAT.js";import"../../chunk-66N57DKF.js";import"../../chunk-2SO4LW7V.js";import"../../chunk-PMTKQME6.js";import"../../chunk-L3Z2G32A.js";import"../../chunk-P37U34EQ.js";export{e as CostCalculatorFlow,f as CostCalculatorForm,h as CostCalculatorResetButton,g as CostCalculatorSubmitButton,i as EstimationResults,j as SummaryResults,a as buildCostCalculatorEstimationPayload,d as useCostCalculator,c as useCostCalculatorEstimationCsv,b as useCostCalculatorEstimationPdf};
1
+ import"../../chunk-FGBEOUQK.js";import{a as i}from"../../chunk-NVZHJOA3.js";import{a as j}from"../../chunk-FZDQ7EEI.js";import"../../chunk-EC7QVRRX.js";import{a as f}from"../../chunk-CE4VVNUZ.js";import{a as h}from"../../chunk-K3PHODKN.js";import{a as g}from"../../chunk-6YXSWOKH.js";import{a as e}from"../../chunk-6623EJIS.js";import"../../chunk-KSHK3ZPX.js";import{b as a,d}from"../../chunk-S2OEFLVC.js";import"../../chunk-QGGFY3DW.js";import"../../chunk-VFRHMNLJ.js";import"../../chunk-2TCLBL2U.js";import{d as b,e as c}from"../../chunk-XQL5I2GC.js";import"../../chunk-HN5HLFTB.js";import"../../chunk-IKS3YZ7X.js";import"../../chunk-WVJDCDGZ.js";import"../../chunk-MXLQEDRJ.js";import"../../chunk-Z5WMKCRJ.js";import"../../chunk-FF3CQXEL.js";import"../../chunk-H6Q65JLZ.js";import"../../chunk-67MPL47V.js";import"../../chunk-7FMR3EIX.js";import"../../chunk-ND4FAALX.js";import"../../chunk-2YTBWEC7.js";import"../../chunk-NFUP6BFU.js";import"../../chunk-ZIN2OWTH.js";import"../../chunk-UOOUV52J.js";import"../../chunk-72OH7PSF.js";import"../../chunk-KQPDXXG3.js";import"../../chunk-LJGCFFAT.js";import"../../chunk-66N57DKF.js";import"../../chunk-2SO4LW7V.js";import"../../chunk-PMTKQME6.js";import"../../chunk-L3Z2G32A.js";import"../../chunk-P37U34EQ.js";export{e as CostCalculatorFlow,f as CostCalculatorForm,h as CostCalculatorResetButton,g as CostCalculatorSubmitButton,i as EstimationResults,j as SummaryResults,a as buildCostCalculatorEstimationPayload,d as useCostCalculator,c as useCostCalculatorEstimationCsv,b as useCostCalculatorEstimationPdf};
2
2
  //# sourceMappingURL=index.js.map