@remoteoss/remote-flows 1.4.0 → 1.4.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 (178) hide show
  1. package/dist/{chunk-4FW2VTO4.js → chunk-22HZVTR7.js} +2 -2
  2. package/dist/{chunk-HUJ3AUIS.js → chunk-2ZCOC6FB.js} +2 -2
  3. package/dist/{chunk-3CRC4NDD.js → chunk-3DGBLO6M.js} +2 -2
  4. package/dist/{chunk-OXOK5PM3.js → chunk-3OX2LLXL.js} +2 -2
  5. package/dist/{chunk-CTAWDJ2D.js → chunk-457SZDZQ.js} +2 -2
  6. package/dist/{chunk-KRDAGWDH.js → chunk-5PB3CLBH.js} +2 -2
  7. package/dist/chunk-6LQ6BSOS.js +2 -0
  8. package/dist/chunk-6LQ6BSOS.js.map +1 -0
  9. package/dist/{chunk-2FDEMDWJ.js → chunk-7X3WUOTU.js} +2 -2
  10. package/dist/{chunk-W3OQNZW6.js → chunk-AGE76E7O.js} +2 -2
  11. package/dist/{chunk-NPKIEWF4.js → chunk-ALC6W3PW.js} +2 -2
  12. package/dist/{chunk-PU3WPIEK.js → chunk-BBOEK4Q5.js} +2 -2
  13. package/dist/{chunk-T5OFLN36.js → chunk-CD6F3YL4.js} +2 -2
  14. package/dist/{chunk-VCEQ5E2O.js → chunk-CZ7DTX5L.js} +2 -2
  15. package/dist/{chunk-D6Y7GLBT.js → chunk-DDAMD7E7.js} +2 -2
  16. package/dist/{chunk-7XKEJ5Y6.js → chunk-EMJ266VJ.js} +2 -2
  17. package/dist/{chunk-K62H3A5T.js → chunk-H327JOTI.js} +2 -2
  18. package/dist/{chunk-WLN6G3TE.js → chunk-J3BK2DEH.js} +2 -2
  19. package/dist/{chunk-SKQWZNKT.js → chunk-JWDXZLGS.js} +2 -2
  20. package/dist/{chunk-LJ6FHPXW.js → chunk-KLKPBGKL.js} +2 -2
  21. package/dist/{chunk-UD4GEI4B.js → chunk-NGYAG3LB.js} +2 -2
  22. package/dist/chunk-NHZTYFOJ.js +2 -0
  23. package/dist/{chunk-TMBD35L4.js.map → chunk-NHZTYFOJ.js.map} +1 -1
  24. package/dist/{chunk-QDSRG735.js → chunk-R5GUJ3IC.js} +2 -2
  25. package/dist/{chunk-NHREKNSV.js → chunk-SPMEMAK5.js} +2 -2
  26. package/dist/chunk-TC3CLBCD.js +2 -0
  27. package/dist/chunk-TC3CLBCD.js.map +1 -0
  28. package/dist/{chunk-PSHPB65F.js → chunk-UEEJS7TB.js} +2 -2
  29. package/dist/{chunk-VYHITQHG.js → chunk-UHWPRDRD.js} +2 -2
  30. package/dist/{chunk-FEIYAZ7Q.js → chunk-UIEXB3GW.js} +2 -2
  31. package/dist/{chunk-6AQLDTMK.js → chunk-WUSZWDKK.js} +2 -2
  32. package/dist/{chunk-G2X5F5YR.js → chunk-Z2AKDJE5.js} +2 -2
  33. package/dist/{chunk-AJ5SXKFO.js → chunk-ZJAFMNUN.js} +2 -2
  34. package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.d.ts +1 -1
  35. package/dist/flows/ContractAmendment/ContractAmendmentFlow.d.ts +3 -3
  36. package/dist/flows/ContractAmendment/ContractAmendmentFlow.js +1 -1
  37. package/dist/flows/ContractAmendment/ContractAmendmentForm.d.ts +1 -1
  38. package/dist/flows/ContractAmendment/ContractAmendmentForm.js +1 -1
  39. package/dist/flows/ContractAmendment/context.d.ts +3 -3
  40. package/dist/flows/ContractAmendment/hooks.d.ts +3 -3
  41. package/dist/flows/ContractAmendment/index.d.ts +3 -3
  42. package/dist/flows/ContractAmendment/index.js +1 -1
  43. package/dist/flows/ContractAmendment/types.d.ts +2 -2
  44. package/dist/flows/ContractAmendment/utils.d.ts +2 -2
  45. package/dist/flows/ContractorOnboarding/ContractorOnboarding.d.ts +5 -5
  46. package/dist/flows/ContractorOnboarding/ContractorOnboarding.js +1 -1
  47. package/dist/flows/ContractorOnboarding/api.d.ts +2 -2
  48. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.d.ts +4 -4
  49. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.js +1 -1
  50. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.d.ts +5 -5
  51. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.js +1 -1
  52. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.d.ts +5 -5
  53. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.js +1 -1
  54. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.d.ts +5 -5
  55. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.js +1 -1
  56. package/dist/flows/ContractorOnboarding/components/OnboardingInvite.d.ts +3 -3
  57. package/dist/flows/ContractorOnboarding/components/PricingPlan.d.ts +5 -5
  58. package/dist/flows/ContractorOnboarding/components/PricingPlan.js +1 -1
  59. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.d.ts +4 -4
  60. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.js +1 -1
  61. package/dist/flows/ContractorOnboarding/context.d.ts +5 -5
  62. package/dist/flows/ContractorOnboarding/hooks.d.ts +5 -5
  63. package/dist/flows/ContractorOnboarding/hooks.js +1 -1
  64. package/dist/flows/ContractorOnboarding/index.d.ts +5 -5
  65. package/dist/flows/ContractorOnboarding/index.js +1 -1
  66. package/dist/flows/ContractorOnboarding/types.d.ts +5 -5
  67. package/dist/flows/ContractorOnboarding/utils.d.ts +2 -2
  68. package/dist/flows/CostCalculator/CostCalculatorFlow.d.ts +3 -3
  69. package/dist/flows/CostCalculator/CostCalculatorFlow.js +1 -1
  70. package/dist/flows/CostCalculator/CostCalculatorForm.d.ts +3 -3
  71. package/dist/flows/CostCalculator/CostCalculatorForm.js +1 -1
  72. package/dist/flows/CostCalculator/EstimationResults/EstimationResults.d.ts +2 -2
  73. package/dist/flows/CostCalculator/SummaryResults/SummaryResults.d.ts +2 -2
  74. package/dist/flows/CostCalculator/api.d.ts +2 -2
  75. package/dist/flows/CostCalculator/components/SalaryField.d.ts +2 -2
  76. package/dist/flows/CostCalculator/context.d.ts +3 -3
  77. package/dist/flows/CostCalculator/hooks.d.ts +3 -3
  78. package/dist/flows/CostCalculator/hooks.js +1 -1
  79. package/dist/flows/CostCalculator/index.d.ts +3 -3
  80. package/dist/flows/CostCalculator/index.js +1 -1
  81. package/dist/flows/CostCalculator/types.d.ts +2 -2
  82. package/dist/flows/CostCalculator/utils.d.ts +3 -3
  83. package/dist/flows/CostCalculator/utils.js +1 -1
  84. package/dist/flows/Onboarding/OnboardingFlow.d.ts +4 -4
  85. package/dist/flows/Onboarding/OnboardingFlow.js +1 -1
  86. package/dist/flows/Onboarding/api.d.ts +4 -4
  87. package/dist/flows/Onboarding/components/AnnualGrossSalary.d.ts +2 -2
  88. package/dist/flows/Onboarding/components/BasicInformationStep.d.ts +4 -4
  89. package/dist/flows/Onboarding/components/BasicInformationStep.js +1 -1
  90. package/dist/flows/Onboarding/components/BenefitsStep.d.ts +4 -4
  91. package/dist/flows/Onboarding/components/BenefitsStep.js +1 -1
  92. package/dist/flows/Onboarding/components/ContractDetailsStep.d.ts +4 -4
  93. package/dist/flows/Onboarding/components/ContractDetailsStep.js +1 -1
  94. package/dist/flows/Onboarding/components/OnboardingForm.d.ts +4 -4
  95. package/dist/flows/Onboarding/components/OnboardingForm.js +1 -1
  96. package/dist/flows/Onboarding/components/OnboardingInvite.d.ts +3 -3
  97. package/dist/flows/Onboarding/components/ReviewStep.d.ts +4 -4
  98. package/dist/flows/Onboarding/components/SaveDraftButton.d.ts +3 -3
  99. package/dist/flows/Onboarding/components/SelectCountryStep.d.ts +4 -4
  100. package/dist/flows/Onboarding/components/SelectCountryStep.js +1 -1
  101. package/dist/flows/Onboarding/context.d.ts +4 -4
  102. package/dist/flows/Onboarding/hooks.d.ts +4 -4
  103. package/dist/flows/Onboarding/hooks.js +1 -1
  104. package/dist/flows/Onboarding/index.d.ts +4 -4
  105. package/dist/flows/Onboarding/index.js +1 -1
  106. package/dist/flows/Onboarding/types.d.ts +4 -4
  107. package/dist/flows/Onboarding/utils.d.ts +4 -4
  108. package/dist/flows/Termination/AdditionalDetailsForm.d.ts +4 -4
  109. package/dist/flows/Termination/AdditionalDetailsForm.js +1 -1
  110. package/dist/flows/Termination/EmployeeComunicationForm.d.ts +4 -4
  111. package/dist/flows/Termination/EmployeeComunicationForm.js +1 -1
  112. package/dist/flows/Termination/PaidTimeOffForm.d.ts +4 -4
  113. package/dist/flows/Termination/PaidTimeOffForm.js +1 -1
  114. package/dist/flows/Termination/TerminationDetailsForm.d.ts +4 -4
  115. package/dist/flows/Termination/TerminationDetailsForm.js +1 -1
  116. package/dist/flows/Termination/TerminationFlow.d.ts +4 -4
  117. package/dist/flows/Termination/TerminationFlow.js +1 -1
  118. package/dist/flows/Termination/TerminationForm.d.ts +4 -4
  119. package/dist/flows/Termination/TerminationForm.js +1 -1
  120. package/dist/flows/Termination/api.d.ts +5 -5
  121. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.d.ts +6 -6
  122. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.d.ts +6 -6
  123. package/dist/flows/Termination/components/PaidTimeOff/types.d.ts +6 -6
  124. package/dist/flows/Termination/components/TerminationDialogInfoContent/TerminationDialogInfoContent.js +1 -1
  125. package/dist/flows/Termination/context.d.ts +4 -4
  126. package/dist/flows/Termination/hooks.d.ts +4 -4
  127. package/dist/flows/Termination/hooks.js +1 -1
  128. package/dist/flows/Termination/index.d.ts +6 -6
  129. package/dist/flows/Termination/index.js +1 -1
  130. package/dist/flows/Termination/json-schemas/schema.d.ts +4 -4
  131. package/dist/flows/Termination/types.d.ts +4 -4
  132. package/dist/flows/Termination/utils.d.ts +4 -4
  133. package/dist/flows/types.d.ts +2 -2
  134. package/dist/index.d.ts +9 -9
  135. package/dist/index.js +1 -1
  136. package/dist/internals.d.ts +5 -4
  137. package/dist/internals.js +1 -1
  138. package/dist/{mutations-DodnkAWj.d.ts → mutations-DRSXskcC.d.ts} +1 -1
  139. package/dist/{remoteFlows-xvD84Bor.d.ts → remoteFlows-C1t2xwls.d.ts} +1 -1
  140. package/dist/{types-B5wlUr-S.d.ts → types-BKLre2R6.d.ts} +3 -3
  141. package/dist/{types-BukQasy8.d.ts → types-C2LcMRHy.d.ts} +4 -4
  142. package/dist/{types-Ct_LPoSR.d.ts → types-C6psw625.d.ts} +2 -2
  143. package/dist/{types-Ckh2r3F3.d.ts → types-CQoX--YI.d.ts} +1 -1
  144. package/dist/{types.gen-D2nbxMA0.d.ts → types.gen-D7WEgMDJ.d.ts} +1 -1
  145. package/dist/{utils-arqMz3zD.d.ts → utils-CiZrW4Ac.d.ts} +1 -1
  146. package/package.json +1 -1
  147. package/dist/chunk-LAXQMTDQ.js +0 -2
  148. package/dist/chunk-LAXQMTDQ.js.map +0 -1
  149. package/dist/chunk-OFWEEY3Y.js +0 -2
  150. package/dist/chunk-OFWEEY3Y.js.map +0 -1
  151. package/dist/chunk-TMBD35L4.js +0 -2
  152. /package/dist/{chunk-4FW2VTO4.js.map → chunk-22HZVTR7.js.map} +0 -0
  153. /package/dist/{chunk-HUJ3AUIS.js.map → chunk-2ZCOC6FB.js.map} +0 -0
  154. /package/dist/{chunk-3CRC4NDD.js.map → chunk-3DGBLO6M.js.map} +0 -0
  155. /package/dist/{chunk-OXOK5PM3.js.map → chunk-3OX2LLXL.js.map} +0 -0
  156. /package/dist/{chunk-CTAWDJ2D.js.map → chunk-457SZDZQ.js.map} +0 -0
  157. /package/dist/{chunk-KRDAGWDH.js.map → chunk-5PB3CLBH.js.map} +0 -0
  158. /package/dist/{chunk-2FDEMDWJ.js.map → chunk-7X3WUOTU.js.map} +0 -0
  159. /package/dist/{chunk-W3OQNZW6.js.map → chunk-AGE76E7O.js.map} +0 -0
  160. /package/dist/{chunk-NPKIEWF4.js.map → chunk-ALC6W3PW.js.map} +0 -0
  161. /package/dist/{chunk-PU3WPIEK.js.map → chunk-BBOEK4Q5.js.map} +0 -0
  162. /package/dist/{chunk-T5OFLN36.js.map → chunk-CD6F3YL4.js.map} +0 -0
  163. /package/dist/{chunk-VCEQ5E2O.js.map → chunk-CZ7DTX5L.js.map} +0 -0
  164. /package/dist/{chunk-D6Y7GLBT.js.map → chunk-DDAMD7E7.js.map} +0 -0
  165. /package/dist/{chunk-7XKEJ5Y6.js.map → chunk-EMJ266VJ.js.map} +0 -0
  166. /package/dist/{chunk-K62H3A5T.js.map → chunk-H327JOTI.js.map} +0 -0
  167. /package/dist/{chunk-WLN6G3TE.js.map → chunk-J3BK2DEH.js.map} +0 -0
  168. /package/dist/{chunk-SKQWZNKT.js.map → chunk-JWDXZLGS.js.map} +0 -0
  169. /package/dist/{chunk-LJ6FHPXW.js.map → chunk-KLKPBGKL.js.map} +0 -0
  170. /package/dist/{chunk-UD4GEI4B.js.map → chunk-NGYAG3LB.js.map} +0 -0
  171. /package/dist/{chunk-QDSRG735.js.map → chunk-R5GUJ3IC.js.map} +0 -0
  172. /package/dist/{chunk-NHREKNSV.js.map → chunk-SPMEMAK5.js.map} +0 -0
  173. /package/dist/{chunk-PSHPB65F.js.map → chunk-UEEJS7TB.js.map} +0 -0
  174. /package/dist/{chunk-VYHITQHG.js.map → chunk-UHWPRDRD.js.map} +0 -0
  175. /package/dist/{chunk-FEIYAZ7Q.js.map → chunk-UIEXB3GW.js.map} +0 -0
  176. /package/dist/{chunk-6AQLDTMK.js.map → chunk-WUSZWDKK.js.map} +0 -0
  177. /package/dist/{chunk-G2X5F5YR.js.map → chunk-Z2AKDJE5.js.map} +0 -0
  178. /package/dist/{chunk-AJ5SXKFO.js.map → chunk-ZJAFMNUN.js.map} +0 -0
@@ -1,2 +1,2 @@
1
- import{a as T,b as S,c as F}from"./chunk-NHREKNSV.js";import{b as y}from"./chunk-EGSUF7OD.js";import{c}from"./chunk-CR7AIZKA.js";import{f as g}from"./chunk-HRG5MSVG.js";import{e as m}from"./chunk-UQCSN47K.js";import{a}from"./chunk-P37U34EQ.js";import{Fragment as R}from"react";var d={...T,fieldset:F,"fieldset-flat":F};import{useEffect as V}from"react";import{Fragment as P,jsx as p,jsxs as k}from"react/jsx-runtime";var _=a(({name:t,description:i,helpCenter:n})=>k("span",{children:[p("span",{className:`text-xs RemoteFlows__ForcedValue__Description__${t}`,dangerouslySetInnerHTML:{__html:m(i)}}),n?.callToAction&&n?.id&&p(y,{className:"RemoteFlows__ForcedValue__HelpCenterLink",zendeskId:n.id,children:n.callToAction})]}),"Description");function C({name:t,value:i,description:n,statement:r,label:u,helpCenter:l}){let{setValue:e}=c(),o=m(r?.description||n);return V(()=>{e(t,i)},[]),p("div",{children:r?k(P,{children:[p("p",{className:`text-sm RemoteFlows__ForcedValue__Title__${t}`,dangerouslySetInnerHTML:{__html:m(r?.title||u)}}),p(_,{name:t,description:m(r?.description||n),helpCenter:l})]}):p(_,{name:t,description:o,helpCenter:l})})}a(C,"ForcedValueField");import{Fragment as M,jsx as s,jsxs as h}from"react/jsx-runtime";function J(t){return t.const!==void 0&&t.const===t.default&&t.inputType!=="checkbox"&&t.inputType!=="hidden"}a(J,"checkFieldHasForcedValue");var G=a(({fields:t,fieldsets:i,fieldValues:n,components:r})=>{let{setValue:u}=c();if(!t||t.length===0)return null;let l=i&&n?g({fields:t,fieldsets:i,values:n}):t;return s(M,{children:l.map(e=>{if(e.calculateDynamicProperties&&(e={...e,...e.calculateDynamicProperties(n,e)||{}}),e.isVisible===!1||e.deprecated||e.hidden)return null;if(J(e))return s(C,{name:e.name,description:e.description,value:e.const,statement:e.statement,label:e.label,helpCenter:e.meta?.helpCenter},e.name);if(e.Component){let{Component:x}=e;return s(x,{setValue:b=>u(e.name,b),...e},e.name)}let o=d[e.inputType];return o?e.inputType==="fieldset"?s(o,{...e,components:r},e.name):e.inputType==="fieldset-flat"?s(o,{...e,components:r,isFlatFieldset:!0},e.name):(e.inputType==="select"&&e.multiple&&(o=d["multi-select"]),h(R,{children:[s(o,{...e,component:r&&r[e.inputType]}),e.statement?s(S,{...e.statement}):null,e.extra?e.extra:null]},e.name)):h("p",{className:"error",children:["Field type ",e.inputType," not supported"]})})})},"JSONSchemaFormFields");export{G as a};
2
- //# sourceMappingURL=chunk-4FW2VTO4.js.map
1
+ import{a as T,b as S,c as F}from"./chunk-SPMEMAK5.js";import{b as y}from"./chunk-EGSUF7OD.js";import{c}from"./chunk-CR7AIZKA.js";import{f as g}from"./chunk-HRG5MSVG.js";import{e as m}from"./chunk-UQCSN47K.js";import{a}from"./chunk-P37U34EQ.js";import{Fragment as R}from"react";var d={...T,fieldset:F,"fieldset-flat":F};import{useEffect as V}from"react";import{Fragment as P,jsx as p,jsxs as k}from"react/jsx-runtime";var _=a(({name:t,description:i,helpCenter:n})=>k("span",{children:[p("span",{className:`text-xs RemoteFlows__ForcedValue__Description__${t}`,dangerouslySetInnerHTML:{__html:m(i)}}),n?.callToAction&&n?.id&&p(y,{className:"RemoteFlows__ForcedValue__HelpCenterLink",zendeskId:n.id,children:n.callToAction})]}),"Description");function C({name:t,value:i,description:n,statement:r,label:u,helpCenter:l}){let{setValue:e}=c(),o=m(r?.description||n);return V(()=>{e(t,i)},[]),p("div",{children:r?k(P,{children:[p("p",{className:`text-sm RemoteFlows__ForcedValue__Title__${t}`,dangerouslySetInnerHTML:{__html:m(r?.title||u)}}),p(_,{name:t,description:m(r?.description||n),helpCenter:l})]}):p(_,{name:t,description:o,helpCenter:l})})}a(C,"ForcedValueField");import{Fragment as M,jsx as s,jsxs as h}from"react/jsx-runtime";function J(t){return t.const!==void 0&&t.const===t.default&&t.inputType!=="checkbox"&&t.inputType!=="hidden"}a(J,"checkFieldHasForcedValue");var G=a(({fields:t,fieldsets:i,fieldValues:n,components:r})=>{let{setValue:u}=c();if(!t||t.length===0)return null;let l=i&&n?g({fields:t,fieldsets:i,values:n}):t;return s(M,{children:l.map(e=>{if(e.calculateDynamicProperties&&(e={...e,...e.calculateDynamicProperties(n,e)||{}}),e.isVisible===!1||e.deprecated||e.hidden)return null;if(J(e))return s(C,{name:e.name,description:e.description,value:e.const,statement:e.statement,label:e.label,helpCenter:e.meta?.helpCenter},e.name);if(e.Component){let{Component:x}=e;return s(x,{setValue:b=>u(e.name,b),...e},e.name)}let o=d[e.inputType];return o?e.inputType==="fieldset"?s(o,{...e,components:r},e.name):e.inputType==="fieldset-flat"?s(o,{...e,components:r,isFlatFieldset:!0},e.name):(e.inputType==="select"&&e.multiple&&(o=d["multi-select"]),h(R,{children:[s(o,{...e,component:r&&r[e.inputType]}),e.statement?s(S,{...e.statement}):null,e.extra?e.extra:null]},e.name)):h("p",{className:"error",children:["Field type ",e.inputType," not supported"]})})})},"JSONSchemaFormFields");export{G as a};
2
+ //# sourceMappingURL=chunk-22HZVTR7.js.map
@@ -1,2 +1,2 @@
1
- import{a as i}from"./chunk-AJ5SXKFO.js";import{b as a}from"./chunk-TOA3JILU.js";import{a as t}from"./chunk-P37U34EQ.js";import{jsx as d}from"react/jsx-runtime";function y({onSubmit:c,onSuccess:s,onError:e}){let{contractorOnboardingBag:o}=a(),u=t(async n=>{try{await c?.({countryCode:n.country});let r=await o.onSubmit(n);if(r?.data){await s?.(r?.data),o?.next();return}r?.error&&e?.({error:r.error,rawError:r.rawError,fieldErrors:[]})}catch(r){e?.({error:r,rawError:r,fieldErrors:[]})}},"handleSubmit"),l=o.stepState.values?.select_country||o.initialValues.select_country;return d(i,{defaultValues:l,onSubmit:u})}t(y,"SelectCountryStep");export{y as a};
2
- //# sourceMappingURL=chunk-HUJ3AUIS.js.map
1
+ import{a as i}from"./chunk-ZJAFMNUN.js";import{b as a}from"./chunk-TOA3JILU.js";import{a as t}from"./chunk-P37U34EQ.js";import{jsx as d}from"react/jsx-runtime";function y({onSubmit:c,onSuccess:s,onError:e}){let{contractorOnboardingBag:o}=a(),u=t(async n=>{try{await c?.({countryCode:n.country});let r=await o.onSubmit(n);if(r?.data){await s?.(r?.data),o?.next();return}r?.error&&e?.({error:r.error,rawError:r.rawError,fieldErrors:[]})}catch(r){e?.({error:r,rawError:r,fieldErrors:[]})}},"handleSubmit"),l=o.stepState.values?.select_country||o.initialValues.select_country;return d(i,{defaultValues:l,onSubmit:u})}t(y,"SelectCountryStep");export{y as a};
2
+ //# sourceMappingURL=chunk-2ZCOC6FB.js.map
@@ -1,2 +1,2 @@
1
- import{a as i}from"./chunk-OXOK5PM3.js";import{b as e}from"./chunk-MRYRNB7Y.js";import{a as m}from"./chunk-P37U34EQ.js";import{jsx as u}from"react/jsx-runtime";function p({onSubmit:n}){let{terminationBag:o}=e(),a=m(async t=>{let r=await o?.parseFormValues(t);await n?.(r),o?.next()},"handleSubmit");return u(i,{defaultValues:o.fieldValues,onSubmit:a})}m(p,"EmployeeCommunicationForm");export{p as a};
2
- //# sourceMappingURL=chunk-3CRC4NDD.js.map
1
+ import{a as i}from"./chunk-3OX2LLXL.js";import{b as e}from"./chunk-MRYRNB7Y.js";import{a as m}from"./chunk-P37U34EQ.js";import{jsx as u}from"react/jsx-runtime";function p({onSubmit:n}){let{terminationBag:o}=e(),a=m(async t=>{let r=await o?.parseFormValues(t);await n?.(r),o?.next()},"handleSubmit");return u(i,{defaultValues:o.fieldValues,onSubmit:a})}m(p,"EmployeeCommunicationForm");export{p as a};
2
+ //# sourceMappingURL=chunk-3DGBLO6M.js.map
@@ -1,2 +1,2 @@
1
- import{b as f}from"./chunk-MRYRNB7Y.js";import{a as F}from"./chunk-4FW2VTO4.js";import{b as a}from"./chunk-LNV36S6D.js";import{f as s,g as l}from"./chunk-CR7AIZKA.js";import{a as t}from"./chunk-P37U34EQ.js";import{useEffect as y}from"react";import{jsx as r}from"react/jsx-runtime";function A({defaultValues:u,fields:m,onSubmit:d}){let{formId:c,terminationBag:o}=f(),p=a(o.handleValidation),e=s({resolver:p,defaultValues:u,shouldUnregister:!1,mode:"onBlur"});y(()=>{let V=e?.watch(i=>{Object.keys(i).some(n=>i[n]!==o?.initialValues?.[n])&&o?.checkFieldUpdates(i)});return()=>V?.unsubscribe()},[]);let T=m||(o?.fields??[]);return r(l,{...e,children:r("form",{id:c,onSubmit:e.handleSubmit(d),className:"space-y-4 RemoteFlows__TerminationForm",children:r(F,{fields:T})})})}t(A,"TerminationForm");export{A as a};
2
- //# sourceMappingURL=chunk-OXOK5PM3.js.map
1
+ import{b as f}from"./chunk-MRYRNB7Y.js";import{a as F}from"./chunk-22HZVTR7.js";import{b as a}from"./chunk-LNV36S6D.js";import{f as s,g as l}from"./chunk-CR7AIZKA.js";import{a as t}from"./chunk-P37U34EQ.js";import{useEffect as y}from"react";import{jsx as r}from"react/jsx-runtime";function A({defaultValues:u,fields:m,onSubmit:d}){let{formId:c,terminationBag:o}=f(),p=a(o.handleValidation),e=s({resolver:p,defaultValues:u,shouldUnregister:!1,mode:"onBlur"});y(()=>{let V=e?.watch(i=>{Object.keys(i).some(n=>i[n]!==o?.initialValues?.[n])&&o?.checkFieldUpdates(i)});return()=>V?.unsubscribe()},[]);let T=m||(o?.fields??[]);return r(l,{...e,children:r("form",{id:c,onSubmit:e.handleSubmit(d),className:"space-y-4 RemoteFlows__TerminationForm",children:r(F,{fields:T})})})}t(A,"TerminationForm");export{A as a};
2
+ //# sourceMappingURL=chunk-3OX2LLXL.js.map
@@ -1,2 +1,2 @@
1
- import{a as Y}from"./chunk-YXVNCPUI.js";import{a as G}from"./chunk-VFRHMNLJ.js";import{a as z,b as Q,c as W,f as X}from"./chunk-ARQ2PTEA.js";import{a as C}from"./chunk-HN5HLFTB.js";import{a as K}from"./chunk-LNV36S6D.js";import{c as Z}from"./chunk-NHREKNSV.js";import{a as ee}from"./chunk-2YTBWEC7.js";import{a as I}from"./chunk-P5QKSFOE.js";import{d as M}from"./chunk-HRG5MSVG.js";import{a as o}from"./chunk-P37U34EQ.js";import{number as Be,object as se}from"yup";import{useCallback as je,useEffect as te,useMemo as we,useRef as Re,useState as j}from"react";import{string as ne,ValidationError as re}from"yup";import{jsx as ie}from"react/jsx-runtime";var O={title:"Estimation",includeBenefits:!1,includeCostBreakdowns:!1,includePremiumBenefits:!1,enableCurrencyConversion:!1,includeEstimationTitle:!1,includeManagementFee:!1},Pe=o(t=>I(G.data.schema,void 0,t),"useStaticSchema");function xe(t,i){if(typeof t=="object"&&t!==null&&"title"in t){let l=t.title;if(l)return l}return i==="my_hiring_budget"?"Hiring budget":"Employee's annual salary"}o(xe,"getSalaryTitle");var ze=o(({defaultRegion:t,defaultCurrency:i,defaultSalary:l,estimationOptions:s,options:n,version:a}={estimationOptions:O})=>{let u=Re({fields:{}}),[k,h]=j(t),[w,R]=j(),[m,q]=j(),[H,le]=j(),{data:_,isLoading:ue}=z({includePremiumBenefits:s.includePremiumBenefits}),{data:d,isLoading:ce}=Q(),me=k||w?.value,{data:P,isLoading:de}=X(me,{includePremiumBenefits:s.includePremiumBenefits,options:n}),U=W(),{mutateAsync:fe}=ee(U),b=w?.currency,p=n?.jsfModify?.fields?.salary,F=p&&typeof p=="object"&&"presentation"in p?p.presentation:void 0,L=je(()=>{let e=b&&m?b!==m:!1;return b!==m?{from:m,to:b,shouldSwapOrder:e}:{from:b,to:m,shouldSwapOrder:e}},[b,m]),J=s.showManagementFee,$=s.includeEstimationTitle,ge=we(()=>{let{from:e,to:r,shouldSwapOrder:c}=L(),g=xe(p,H);return{fields:{salary:{...p,title:g,presentation:{salary_conversion_properties:{label:F?.salary_conversion_properties?.label,description:F?.salary_conversion_properties?.description},currencies:{from:e,to:r},Component:o(y=>ie(Y,{...y,shouldSwapOrder:c,conversionType:a==="marketing"?"no_spread":"spread",defaultValue:l}),"Component")}},hiring_budget:{...n?.jsfModify?.fields?.hiring_budget,presentation:{hidden:a=="marketing"}},management:{...n?.jsfModify?.fields?.management,properties:{...n?.jsfModify?.fields?.management?.properties,management_fee:{...n?.jsfModify?.fields?.management?.properties?.management_fee,"x-jsf-presentation":{inputType:"money",additionalProps:{currency:m||"USD"}}}},presentation:{...typeof n?.jsfModify?.fields?.management=="object"?(n?.jsfModify?.fields?.management)["x-jsf-presentation"]:{},hidden:!J,Component:o(y=>ie(Z,{...y,variant:"inset",features:{toggle:{enabled:!0,stateField:"management._expanded",labels:{expand:"Define",collapse:"Remove"}}}}),"Component")}},estimation_title:{...n?.jsfModify?.fields?.estimation_title,"x-jsf-presentation":{hidden:!$}}}}},[L,p,H,F?.salary_conversion_properties?.label,F?.salary_conversion_properties?.description,n?.jsfModify?.fields?.hiring_budget,n?.jsfModify?.fields?.management,n?.jsfModify?.fields?.estimation_title,a,m,J,$,l]),f=Pe({jsfModify:{fields:{...n?.jsfModify?.fields,...ge?.fields}}});te(()=>{if(t&&_){let e=_.find(({value:r})=>r===t);e&&R(e)}},[t,_]),te(()=>{if(i&&d){let e=d.find(({value:r})=>r===i);e&&q(e.label)}},[i,d]);async function ye(e){return fe(oe(e,s,a))}o(ye,"onSubmit");function pe(e){let r=_?.find(({value:c})=>c===e);r&&r.childRegions.length===0&&r.hasAdditionalFields?h(r.regionSlug):h(void 0),R(r)}o(pe,"onCountryChange");function Ce(e){h(e)}o(Ce,"onRegionChange");function _e(e){le(e.target.value)}o(_e,"onHiringBudgetChange");function be(e){let r=d?.find(c=>c.value===e)?.label;q(r),n?.onCurrencyChange?.(r||"")}o(be,"onChangeCurrency");let E=f.fields.find(e=>e.name==="region");if(E){let e=w?.childRegions.map(r=>({value:r.slug,label:r.name}))??[];E.options=e,E.isVisible=e.length>0,E.required=e.length>0,E.onChange=Ce,E.schema=e.length>0?ne().transform(r=>typeof r=="string"?r:"").required("Region is required"):ne()}if(d){let e=f.fields.find(r=>r.name==="currency");e&&(e.options=d,e.onChange=be)}let v=f.fields.find(e=>e.name==="hiring_budget");if(v&&(v.onChange=_e),_){let e=f.fields.find(r=>r.name==="country");e&&(e.options=_,e.onChange=pe)}let Ee=o(()=>{R(void 0),h(t)},"resetForm"),D=[...f.fields.filter(e=>e.name!=="management"),...P?.fields||[],...f.fields.filter(e=>e.name==="management")],N=ae(f.fields,m||"USD",s.includeEstimationTitle);async function Se(e){let r=null;n?.onValidation?.(e);let c=await M(e,D);try{await N.validate(c,{abortEarly:!1}),r={formErrors:{},yupError:new re([],e)}}catch(S){let B=K(S);r={formErrors:Object.entries(B).reduce((T,[A,V])=>({...T,[A]:V.message}),{}),yupError:S}}let g=P?.handleValidation(c),y=[...r?.yupError.inner||[],...g?.yupError?.inner||[]],x={...r?.yupError?.value||{},...g?.yupError?.value||{}};return{formErrors:{...r?.formErrors||{},...g?.formErrors||{}},yupError:new re(y,x)}}return o(Se,"handleValidation"),{stepState:{current:0,total:1,isLastStep:!0},fields:D,validationSchema:N,parseFormValues:o(async e=>{let{country:r,region:c,currency:g,salary_converted:y,hiring_budget:x,salary_conversion:S,management:B,estimation_title:T,...A}=e,V=e.salary;y==="salary_conversion"&&(V=S);let he=await M({country:r,region:c,salary:V,salary_converted:y,salary_conversion:S,hiring_budget:x,currency:g,management:B,estimation_title:T},f.fields),Fe=await M(A,P?.fields||[]),Ve={currency_code:d?.find(Me=>Me.value===g)?.label};return{...he,...Fe,...Ve}},"parseFormValues"),handleValidation:Se,isSubmitting:U.isPending,isLoading:ue&&ce&&de,onSubmit:ye,resetForm:Ee,currencies:d,meta:{fields:u.current?.fields}}},"useCostCalculator");function ae(t,i,l){let s=t.reduce((n,a)=>(a.name==="salary"||a.name==="salary_conversion"?n[a.name]=a.schema.when("salary_converted",{is:o(u=>u===a.name,"is"),then:o(u=>u.required("Required field"),"then"),otherwise:o(u=>u.optional(),"otherwise")}):a.name==="management"?n[a.name]=se({management_fee:Be().transform(u=>isNaN(u)?void 0:u).min(0,"Management fee must be greater than or equal to 0").max(i?C[i]:C.USD,()=>`Management fee cannot exceed ${(i?C[i]:C.USD)/100} ${i}`)}):a.name==="estimation_title"&&l?n[a.name]=a.schema.required("Required field"):n[a.name]=a.schema,n),{});return se(s)}o(ae,"buildValidationSchema");function Te(t){let i="benefit-";return Object.keys(t).reduce((l,s)=>{let n=t[s];if(n==="none")return l;let u={benefit_group_slug:s.replace(i,""),benefit_tier_slug:n};return[...l,u]},[])}o(Te,"formatBenefits");function Ae(t,i,l){let s=Number(t.management?.management_fee),n=t.currency_code;return{...{region_slug:t.region||t.country,employment_term:t.contract_duration_type??"fixed",title:t.estimation_title||i.title,age:t.age??void 0,...t.benefits&&{benefits:Te(t.benefits)},...i.includeManagementFee&&s&&{discount:{quoted_amount:i.showManagementFee?s:C[n]||C.USD,text:""}}},...Oe(t,l)}}o(Ae,"mapValueToEmployment");function Oe(t,i){let l=i==="marketing"||t.salary_converted==="salary_conversion",s=i==="standard"&&t.salary_converted==="salary",n=t.hiring_budget==="my_hiring_budget";if(l){let a=t.salary_converted==="salary_conversion";return n?{annual_total_cost_in_employer_currency:t.salary}:{[a?"annual_gross_salary_in_employer_currency":"annual_gross_salary"]:t.salary}}return s?n?{annual_total_cost:t.salary}:{annual_gross_salary:t.salary}:{}}o(Oe,"getSalaryFields");function oe(t,i=O,l="standard"){let s=Array.isArray(t)?t:[t];if(s.length===0)throw new Error("At least one employment value is required");return s.length>1&&new Set(s.map(a=>a.currency)).size>1&&console.warn("Multiple currencies detected in array. Using currency from first employment."),{employer_currency_slug:s[0].currency,include_benefits:i.includeBenefits,include_cost_breakdowns:i.includeCostBreakdowns,include_premium_benefits:i.includePremiumBenefits,include_management_fee:i.includeManagementFee,employments:s.map(n=>Ae(n,i,l))}}o(oe,"buildPayload");export{ae as a,oe as b,O as c,ze as d};
2
- //# sourceMappingURL=chunk-CTAWDJ2D.js.map
1
+ import{a as Y}from"./chunk-YXVNCPUI.js";import{a as G}from"./chunk-VFRHMNLJ.js";import{a as z,b as Q,c as W,f as X}from"./chunk-ARQ2PTEA.js";import{a as C}from"./chunk-HN5HLFTB.js";import{a as K}from"./chunk-LNV36S6D.js";import{c as Z}from"./chunk-SPMEMAK5.js";import{a as ee}from"./chunk-2YTBWEC7.js";import{a as I}from"./chunk-P5QKSFOE.js";import{d as M}from"./chunk-HRG5MSVG.js";import{a as o}from"./chunk-P37U34EQ.js";import{number as Be,object as se}from"yup";import{useCallback as je,useEffect as te,useMemo as we,useRef as Re,useState as j}from"react";import{string as ne,ValidationError as re}from"yup";import{jsx as ie}from"react/jsx-runtime";var O={title:"Estimation",includeBenefits:!1,includeCostBreakdowns:!1,includePremiumBenefits:!1,enableCurrencyConversion:!1,includeEstimationTitle:!1,includeManagementFee:!1},Pe=o(t=>I(G.data.schema,void 0,t),"useStaticSchema");function xe(t,i){if(typeof t=="object"&&t!==null&&"title"in t){let l=t.title;if(l)return l}return i==="my_hiring_budget"?"Hiring budget":"Employee's annual salary"}o(xe,"getSalaryTitle");var ze=o(({defaultRegion:t,defaultCurrency:i,defaultSalary:l,estimationOptions:s,options:n,version:a}={estimationOptions:O})=>{let u=Re({fields:{}}),[k,h]=j(t),[w,R]=j(),[m,q]=j(),[H,le]=j(),{data:_,isLoading:ue}=z({includePremiumBenefits:s.includePremiumBenefits}),{data:d,isLoading:ce}=Q(),me=k||w?.value,{data:P,isLoading:de}=X(me,{includePremiumBenefits:s.includePremiumBenefits,options:n}),U=W(),{mutateAsync:fe}=ee(U),b=w?.currency,p=n?.jsfModify?.fields?.salary,F=p&&typeof p=="object"&&"presentation"in p?p.presentation:void 0,L=je(()=>{let e=b&&m?b!==m:!1;return b!==m?{from:m,to:b,shouldSwapOrder:e}:{from:b,to:m,shouldSwapOrder:e}},[b,m]),J=s.showManagementFee,$=s.includeEstimationTitle,ge=we(()=>{let{from:e,to:r,shouldSwapOrder:c}=L(),g=xe(p,H);return{fields:{salary:{...p,title:g,presentation:{salary_conversion_properties:{label:F?.salary_conversion_properties?.label,description:F?.salary_conversion_properties?.description},currencies:{from:e,to:r},Component:o(y=>ie(Y,{...y,shouldSwapOrder:c,conversionType:a==="marketing"?"no_spread":"spread",defaultValue:l}),"Component")}},hiring_budget:{...n?.jsfModify?.fields?.hiring_budget,presentation:{hidden:a=="marketing"}},management:{...n?.jsfModify?.fields?.management,properties:{...n?.jsfModify?.fields?.management?.properties,management_fee:{...n?.jsfModify?.fields?.management?.properties?.management_fee,"x-jsf-presentation":{inputType:"money",additionalProps:{currency:m||"USD"}}}},presentation:{...typeof n?.jsfModify?.fields?.management=="object"?(n?.jsfModify?.fields?.management)["x-jsf-presentation"]:{},hidden:!J,Component:o(y=>ie(Z,{...y,variant:"inset",features:{toggle:{enabled:!0,stateField:"management._expanded",labels:{expand:"Define",collapse:"Remove"}}}}),"Component")}},estimation_title:{...n?.jsfModify?.fields?.estimation_title,"x-jsf-presentation":{hidden:!$}}}}},[L,p,H,F?.salary_conversion_properties?.label,F?.salary_conversion_properties?.description,n?.jsfModify?.fields?.hiring_budget,n?.jsfModify?.fields?.management,n?.jsfModify?.fields?.estimation_title,a,m,J,$,l]),f=Pe({jsfModify:{fields:{...n?.jsfModify?.fields,...ge?.fields}}});te(()=>{if(t&&_){let e=_.find(({value:r})=>r===t);e&&R(e)}},[t,_]),te(()=>{if(i&&d){let e=d.find(({value:r})=>r===i);e&&q(e.label)}},[i,d]);async function ye(e){return fe(oe(e,s,a))}o(ye,"onSubmit");function pe(e){let r=_?.find(({value:c})=>c===e);r&&r.childRegions.length===0&&r.hasAdditionalFields?h(r.regionSlug):h(void 0),R(r)}o(pe,"onCountryChange");function Ce(e){h(e)}o(Ce,"onRegionChange");function _e(e){le(e.target.value)}o(_e,"onHiringBudgetChange");function be(e){let r=d?.find(c=>c.value===e)?.label;q(r),n?.onCurrencyChange?.(r||"")}o(be,"onChangeCurrency");let E=f.fields.find(e=>e.name==="region");if(E){let e=w?.childRegions.map(r=>({value:r.slug,label:r.name}))??[];E.options=e,E.isVisible=e.length>0,E.required=e.length>0,E.onChange=Ce,E.schema=e.length>0?ne().transform(r=>typeof r=="string"?r:"").required("Region is required"):ne()}if(d){let e=f.fields.find(r=>r.name==="currency");e&&(e.options=d,e.onChange=be)}let v=f.fields.find(e=>e.name==="hiring_budget");if(v&&(v.onChange=_e),_){let e=f.fields.find(r=>r.name==="country");e&&(e.options=_,e.onChange=pe)}let Ee=o(()=>{R(void 0),h(t)},"resetForm"),D=[...f.fields.filter(e=>e.name!=="management"),...P?.fields||[],...f.fields.filter(e=>e.name==="management")],N=ae(f.fields,m||"USD",s.includeEstimationTitle);async function Se(e){let r=null;n?.onValidation?.(e);let c=await M(e,D);try{await N.validate(c,{abortEarly:!1}),r={formErrors:{},yupError:new re([],e)}}catch(S){let B=K(S);r={formErrors:Object.entries(B).reduce((T,[A,V])=>({...T,[A]:V.message}),{}),yupError:S}}let g=P?.handleValidation(c),y=[...r?.yupError.inner||[],...g?.yupError?.inner||[]],x={...r?.yupError?.value||{},...g?.yupError?.value||{}};return{formErrors:{...r?.formErrors||{},...g?.formErrors||{}},yupError:new re(y,x)}}return o(Se,"handleValidation"),{stepState:{current:0,total:1,isLastStep:!0},fields:D,validationSchema:N,parseFormValues:o(async e=>{let{country:r,region:c,currency:g,salary_converted:y,hiring_budget:x,salary_conversion:S,management:B,estimation_title:T,...A}=e,V=e.salary;y==="salary_conversion"&&(V=S);let he=await M({country:r,region:c,salary:V,salary_converted:y,salary_conversion:S,hiring_budget:x,currency:g,management:B,estimation_title:T},f.fields),Fe=await M(A,P?.fields||[]),Ve={currency_code:d?.find(Me=>Me.value===g)?.label};return{...he,...Fe,...Ve}},"parseFormValues"),handleValidation:Se,isSubmitting:U.isPending,isLoading:ue&&ce&&de,onSubmit:ye,resetForm:Ee,currencies:d,meta:{fields:u.current?.fields}}},"useCostCalculator");function ae(t,i,l){let s=t.reduce((n,a)=>(a.name==="salary"||a.name==="salary_conversion"?n[a.name]=a.schema.when("salary_converted",{is:o(u=>u===a.name,"is"),then:o(u=>u.required("Required field"),"then"),otherwise:o(u=>u.optional(),"otherwise")}):a.name==="management"?n[a.name]=se({management_fee:Be().transform(u=>isNaN(u)?void 0:u).min(0,"Management fee must be greater than or equal to 0").max(i?C[i]:C.USD,()=>`Management fee cannot exceed ${(i?C[i]:C.USD)/100} ${i}`)}):a.name==="estimation_title"&&l?n[a.name]=a.schema.required("Required field"):n[a.name]=a.schema,n),{});return se(s)}o(ae,"buildValidationSchema");function Te(t){let i="benefit-";return Object.keys(t).reduce((l,s)=>{let n=t[s];if(n==="none")return l;let u={benefit_group_slug:s.replace(i,""),benefit_tier_slug:n};return[...l,u]},[])}o(Te,"formatBenefits");function Ae(t,i,l){let s=Number(t.management?.management_fee),n=t.currency_code;return{...{region_slug:t.region||t.country,employment_term:t.contract_duration_type??"fixed",title:t.estimation_title||i.title,age:t.age??void 0,...t.benefits&&{benefits:Te(t.benefits)},...i.includeManagementFee&&s&&{discount:{quoted_amount:i.showManagementFee?s:C[n]||C.USD,text:""}}},...Oe(t,l)}}o(Ae,"mapValueToEmployment");function Oe(t,i){let l=i==="marketing"||t.salary_converted==="salary_conversion",s=i==="standard"&&t.salary_converted==="salary",n=t.hiring_budget==="my_hiring_budget";if(l){let a=t.salary_converted==="salary_conversion";return n?{annual_total_cost_in_employer_currency:t.salary}:{[a?"annual_gross_salary_in_employer_currency":"annual_gross_salary"]:t.salary}}return s?n?{annual_total_cost:t.salary}:{annual_gross_salary:t.salary}:{}}o(Oe,"getSalaryFields");function oe(t,i=O,l="standard"){let s=Array.isArray(t)?t:[t];if(s.length===0)throw new Error("At least one employment value is required");return s.length>1&&new Set(s.map(a=>a.currency)).size>1&&console.warn("Multiple currencies detected in array. Using currency from first employment."),{employer_currency_slug:s[0].currency,include_benefits:i.includeBenefits,include_cost_breakdowns:i.includeCostBreakdowns,include_premium_benefits:i.includePremiumBenefits,include_management_fee:i.includeManagementFee,employments:s.map(n=>Ae(n,i,l))}}o(oe,"buildPayload");export{ae as a,oe as b,O as c,ze as d};
2
+ //# sourceMappingURL=chunk-457SZDZQ.js.map
@@ -1,2 +1,2 @@
1
- import{a as c}from"./chunk-Z7WBY27D.js";import{a as S}from"./chunk-765OB2K5.js";import{a as f}from"./chunk-PSHPB65F.js";import{a as n}from"./chunk-D6Y7GLBT.js";import{a as p}from"./chunk-G2X5F5YR.js";import{a as s}from"./chunk-UD4GEI4B.js";import{a as m}from"./chunk-BPIGB72P.js";import{a}from"./chunk-7JDWTTYE.js";import{a as i}from"./chunk-FUBLGAPH.js";import{a as r}from"./chunk-PGWKJ6FK.js";import{c as e}from"./chunk-OFWEEY3Y.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-KRDAGWDH.js.map
1
+ import{a as c}from"./chunk-Z7WBY27D.js";import{a as S}from"./chunk-765OB2K5.js";import{a as f}from"./chunk-UEEJS7TB.js";import{a as n}from"./chunk-DDAMD7E7.js";import{a as p}from"./chunk-Z2AKDJE5.js";import{a as s}from"./chunk-NGYAG3LB.js";import{a as m}from"./chunk-BPIGB72P.js";import{a}from"./chunk-7JDWTTYE.js";import{a as i}from"./chunk-FUBLGAPH.js";import{a as r}from"./chunk-PGWKJ6FK.js";import{c as e}from"./chunk-6LQ6BSOS.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-5PB3CLBH.js.map
@@ -0,0 +1,2 @@
1
+ import{a as Be}from"./chunk-VAIBLWOY.js";import{a as De}from"./chunk-WO33FKK4.js";import{a as Ve,b as xe,c as Pe,f as Oe,g as Me,h as Te,i as we,j as Re,k as Le,m as ve}from"./chunk-N3X274GT.js";import{a as ge,b as Ee,c as Ce,d as Fe,f as he}from"./chunk-H6YNMT4M.js";import{a as L}from"./chunk-2YTBWEC7.js";import{a as ke}from"./chunk-5BRMLRS7.js";import{d as P,e as R,g as $}from"./chunk-HRG5MSVG.js";import{g as O}from"./chunk-UQCSN47K.js";import{a as o}from"./chunk-P37U34EQ.js";import{useCallback as gt,useEffect as Et,useMemo as p,useRef as Ct,useState as Ae}from"react";import Ft from"lodash.mergewith";import{createContext as mt,useContext as ft,useMemo as pt,useCallback as yt,useRef as _t}from"react";import{jsx as St}from"react/jsx-runtime";var qe=mt(void 0);function Tt({children:r}){let u=_t({}),c=yt(i=>{u.current={...u.current,...i}},[]),E=pt(()=>({errorContextRef:u,updateContext:c}),[c]);return St(qe.Provider,{value:E,children:r})}o(Tt,"ErrorContextProvider");var Je=o(()=>{let r=ft(qe);if(!r)throw new Error("useErrorContext must be used within ErrorContextProvider");return r},"useErrorContext");import{useEffect as je,useMemo as bt}from"react";function Ne(r){let{updateContext:u,errorContextRef:c}=Je();return je(()=>{r&&(c.current=r)},[]),je(()=>()=>{c.current={}},[c]),{...bt(()=>({updateErrorContext:o(i=>{u(i)},"updateErrorContext"),clearErrorContext:o(()=>{c.current={}},"clearErrorContext")}),[]),errorContext:c}}o(Ne,"useErrorReporting");import{jsx as Ie}from"react/jsx-runtime";var ht={employment_basic_information:"basic_information",contract_details:"contract_details"},Vt={select_country:null,basic_information:"employment_basic_information",contract_details:"contract_details",benefits:null,review:null},xt=o(({isLoadingBasicInformationForm:r,isLoadingContractDetailsForm:u,isLoadingEmployment:c,isLoadingBenefitsOffersSchema:E,isLoadingBenefitOffers:i,isLoadingCompany:N,isLoadingCountries:M,employmentStatus:s,employmentId:v,currentStepName:A,basicInformationFields:I,contractDetailsFields:y})=>{let t=r||u||c||E||i||N||M,k=s&&Ce.includes(s),U=s&&!Fe.includes(s),D=!!(v&&k&&A!=="review"),T=t||D,B=!!(D&&!t&&I.length>0&&y.length>0);return{isLoading:T,isNavigatingToReview:B,isEmploymentReadOnly:k,canInvite:U}},"getLoadingStates"),Kt=o(({employmentId:r,companyId:u,countryCode:c,type:E,options:i,skipSteps:N,externalId:M,initialValues:s})=>{let{updateErrorContext:v}=Ne({flow:"onboarding",metadata:{employmentId:r,companyId:u,isUpdating:!!r}}),A=N?.includes("select_country")?Ee:ge,I=gt(e=>{v({step:e.name})},[v]),{fieldValues:y,stepState:t,setFieldValues:k,previousStep:U,nextStep:D,goToStep:T,setStepValues:B}=ke(A,I),q=Ct({select_country:{},basic_information:{},contract_details:{},benefits:{}}),[d,Ue]=Ae(r),[l,z]=Ae(c||null),{data:m,isLoading:K,refetch:He}=Ve(d);r&&m?.country?.code&&!l&&z(m.country.code);let{data:Y,isLoading:Q}=Pe(d),{data:J,isLoading:X,refetch:We}=xe(u),{selectCountryForm:j,isLoading:Z}=Le({jsfModify:i?.jsfModify?.select_country,queryOptions:{enabled:t.currentStep.name==="select_country"}}),ee=Te(),te=we(l,i),ne=Re(i),oe=ve(),{mutateAsync:Ge}=L(ee),{mutateAsync:re}=L(te),{mutateAsync:$e}=L(ne),{mutateAsync:ze}=L(oe),Ke=Vt[t.currentStep.name]||"employment_basic_information",Ye=ht[Ke],Qe=m?.[Ye]||{},ie=o(({form:e,options:a={},query:f={},jsonSchemaVersion:x})=>{let W=Object.keys(y).length>0?{...s,...t.values?.[t.currentStep.name],...y}:{...s,...Qe};return Oe({countryCode:l,form:e,fieldValues:W,query:f,options:{...a,queryOptions:{enabled:a.queryOptions?.enabled??!0}},jsonSchemaVersion:x})},"useJSONSchema"),Xe=!!(l&&(t.currentStep.name==="basic_information"||r)),Ze=!!(l&&(t.currentStep.name==="contract_details"||r)),{data:_,isLoading:ae}=ie({form:"employment_basic_information",options:{jsfModify:i?.jsfModify?.basic_information,queryOptions:{enabled:Xe}},jsonSchemaVersion:1}),C=i?.jsfModify?.contract_details?.fields?.annual_gross_salary,H=C&&typeof C=="object"&&"presentation"in C?C.presentation:void 0,se=i?.jsfModify?.contract_details?.fields?.equity_compensation,et=p(()=>({fields:{annual_gross_salary:{...C,presentation:{annual_gross_salary_conversion_properties:{label:H?.annual_gross_salary_conversion_properties?.label,description:H?.annual_gross_salary_conversion_properties?.description},desiredCurrency:J?.desired_currency,Component:o(e=>Ie(De,{desiredCurrency:J?.desired_currency||"",...e}),"Component")}},equity_compensation:{...se,presentation:{calculateDynamicProperties:o((e,a)=>{let f=e.equity_compensation?.offer_equity_compensation,x=a?.meta?.cost;return{extra:Ie(Be,{offerEquity:f,equityCost:x})}},"calculateDynamicProperties")}}}}),[C,H,J?.desired_currency,se]),tt=he(i,l),{data:S,isLoading:ce}=ie({form:"contract_details",query:{employment_id:d},options:{jsfModify:{...i?.jsfModify?.contract_details,fields:{...i?.jsfModify?.contract_details?.fields,...et.fields}},queryOptions:{enabled:Ze}},jsonSchemaVersion:tt}),{data:w,isLoading:le}=Me(d,y,i),de=p(()=>{if(t.currentStep.name==="benefits"){let e={...t.values?.[t.currentStep.name],...y};return Ft({},Y,e)}return{}},[t.currentStep.name,Y,t.values,y]),n=p(()=>({select_country:j?.fields||[],basic_information:_?.fields||[],contract_details:S?.fields||[],benefits:w?.fields||[],review:[]}),[j?.fields,_?.fields,S?.fields,w?.fields]),nt={select_country:null,basic_information:_?.meta["x-jsf-fieldsets"],contract_details:S?.meta["x-jsf-fieldsets"],benefits:null,review:null},{country:ot,basic_information:ue={},contract_details:me={},status:fe}=m||{},pe=ot?.code,ye=t.currentStep.name,F=p(()=>R(n.select_country,{country:l||pe||""}),[n.select_country,l,pe]),h=p(()=>{let e={...s,...ue};return R(n.basic_information,e)},[n.basic_information,ue,s]),g=p(()=>{let e={...s,...me};return R(n.contract_details,e)},[n.contract_details,me,s]),V=p(()=>{let e={...s,...de};return R(n.benefits,e)},[n.benefits,de,s]),rt=p(()=>m?{select_country:F,basic_information:$(n.basic_information,h),contract_details:m?.contract_details!==null?$(n.contract_details,g):g,benefits:V}:{select_country:F,basic_information:h,contract_details:g,benefits:V},[F,h,g,V,m,n]),{isLoading:it,isNavigatingToReview:_e,isEmploymentReadOnly:at,canInvite:st}=p(()=>xt({isLoadingBasicInformationForm:ae,isLoadingContractDetailsForm:ce,isLoadingEmployment:K,isLoadingBenefitsOffersSchema:le,isLoadingBenefitOffers:Q,isLoadingCompany:X,isLoadingCountries:Z,employmentId:r,employmentStatus:fe,basicInformationFields:n.basic_information,contractDetailsFields:n.contract_details,currentStepName:ye}),[ae,ce,K,le,Q,X,Z,r,fe,n.basic_information,n.contract_details,ye]);Et(()=>{_e&&(q.current={select_country:O(F,n.select_country),basic_information:O(h,n.basic_information),contract_details:O(g,n.contract_details),benefits:O(V,n.benefits)},B({select_country:F,basic_information:h,contract_details:g,benefits:V,review:{}}),T("review"))},[h,V,g,T,_e,F,B,n.basic_information,n.benefits,n.contract_details,n.select_country]);let Se=o(async e=>j&&t.currentStep.name==="select_country"?e:_&&t.currentStep.name==="basic_information"?await P(e,_?.fields,{isPartialValidation:!1}):S&&t.currentStep.name==="contract_details"?await P(e,S?.fields,{isPartialValidation:!1}):{},"parseFormValues");async function ct(e){let a=t.currentStep.name;a in q.current&&(q.current[a]=O(e,n[a]));let f=await Se(e);switch(We(),t.currentStep.name){case"select_country":return z(f.country),Promise.resolve({data:{countryCode:f.country}});case"basic_information":{let x=!d&&l,be=d&&l&&m?.country&&m?.country.code!==l;if(x||be){let W={basic_information:f,type:E,country_code:l,external_id:M};try{let b=await Ge(W);if(b.error)return b;if(b.data){let G=b.data?.data?.employment?.id;return G&&(Ue(G),await ze({employmentId:G,eligible_to_work_in_residing_country:"citizen",employer_or_work_restrictions:!1})),b}}catch(b){throw console.error("Error creating onboarding:",b),b}}else if(d)return re({employmentId:d,basic_information:f,pricing_plan_details:{frequency:"monthly"},external_id:M});return}case"contract_details":return re({employmentId:d,external_id:M,...{contract_details:f,pricing_plan_details:{frequency:"monthly"}}});case"benefits":return $e({employmentId:d,...e})}}o(ct,"onSubmit");function lt(){U()}o(lt,"back");function dt(){D()}o(dt,"next");function ut(e){T(e)}return o(ut,"goTo"),{employmentId:d,creditRiskStatus:J?.default_legal_entity_credit_risk_status,fieldValues:y,stepState:t,fields:n[t.currentStep.name],isLoading:it,isSubmitting:ee.isPending||te.isPending||ne.isPending||oe.isPending,initialValues:rt,handleValidation:o(async e=>{if(t.currentStep.name==="select_country")return j.handleValidation(e);if(t.currentStep.name==="benefits"&&w){let a=await P(e,w?.fields,{isPartialValidation:!1});return w?.handleValidation(a)}if(_&&t.currentStep.name==="basic_information"){let a=await P(e,_?.fields,{isPartialValidation:!1});return _?.handleValidation(a)}if(S&&t.currentStep.name==="contract_details"){let a=await P(e,S?.fields,{isPartialValidation:!1});return S?.handleValidation(a)}return null},"handleValidation"),checkFieldUpdates:k,parseFormValues:Se,onSubmit:ct,back:lt,next:dt,goTo:ut,meta:{fields:q.current,fieldsets:nt[t.currentStep.name]},refetchEmployment:He,employment:m,isEmploymentReadOnly:at,canInvite:st}},"useOnboarding");export{qe as a,Tt as b,Kt as c};
2
+ //# sourceMappingURL=chunk-6LQ6BSOS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/Onboarding/hooks.tsx","../src/components/error-handling/ErrorContext.tsx","../src/components/error-handling/useErrorReporting.ts"],"sourcesContent":["import { ValidationResult } from '@remoteoss/remote-json-schema-form-kit';\nimport {\n Employment,\n EmploymentCreateParams,\n EmploymentFullParams,\n} from '@/src/client';\nimport { JSFFields } from '@/src/types/remoteFlows';\nimport { useStepState, Step } from '@/src/flows/useStepState';\nimport {\n disabledInviteButtonEmploymentStatus,\n getContractDetailsSchemaVersion,\n reviewStepAllowedEmploymentStatus,\n STEPS,\n STEPS_WITHOUT_SELECT_COUNTRY,\n} from '@/src/flows/Onboarding/utils';\nimport { prettifyFormValues } from '@/src/lib/utils';\nimport {\n getInitialValues,\n enableAckFields,\n parseJSFToValidate,\n} from '@/src/components/form/utils';\nimport { mutationToPromise } from '@/src/lib/mutations';\nimport { FieldValues } from 'react-hook-form';\nimport { OnboardingFlowProps } from '@/src/flows/Onboarding/types';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport mergeWith from 'lodash.mergewith';\nimport {\n useBenefitOffers,\n useBenefitOffersSchema,\n useCompany,\n useCountriesSchemaField,\n useCreateEmployment,\n useEmployment,\n useJSONSchemaForm,\n useUpdateBenefitsOffers,\n useUpdateEmployment,\n useUpsertContractEligibility,\n} from '@/src/flows/Onboarding/api';\nimport { JSFModify, JSONSchemaFormType } from '@/src/flows/types';\nimport { AnnualGrossSalary } from '@/src/flows/Onboarding/components/AnnualGrossSalary';\nimport { $TSFixMe, JSFField, JSFFieldset, Meta } from '@/src/types/remoteFlows';\nimport { EquityPriceDetails } from '@/src/flows/Onboarding/components/EquityPriceDetails';\nimport { useErrorReporting } from '@/src/components/error-handling/useErrorReporting';\n\ntype OnboardingHookProps = Omit<OnboardingFlowProps, 'render'>;\n\nconst jsonSchemaToEmployment: Partial<\n Record<JSONSchemaFormType, keyof Employment>\n> = {\n employment_basic_information: 'basic_information',\n contract_details: 'contract_details',\n};\n\nconst stepToFormSchemaMap: Record<\n keyof typeof STEPS,\n JSONSchemaFormType | null\n> = {\n select_country: null,\n basic_information: 'employment_basic_information',\n contract_details: 'contract_details',\n benefits: null,\n review: null,\n};\n\nconst getLoadingStates = ({\n isLoadingBasicInformationForm,\n isLoadingContractDetailsForm,\n isLoadingEmployment,\n isLoadingBenefitsOffersSchema,\n isLoadingBenefitOffers,\n isLoadingCompany,\n isLoadingCountries,\n employmentStatus,\n employmentId,\n currentStepName,\n basicInformationFields,\n contractDetailsFields,\n}: {\n isLoadingBasicInformationForm: boolean;\n isLoadingContractDetailsForm: boolean;\n isLoadingEmployment: boolean;\n isLoadingBenefitsOffersSchema: boolean;\n isLoadingBenefitOffers: boolean;\n isLoadingCompany: boolean;\n isLoadingCountries: boolean;\n employmentStatus?: Employment['status'];\n employmentId?: string;\n currentStepName: string;\n basicInformationFields: JSFFields;\n contractDetailsFields: JSFFields;\n}) => {\n const initialLoading =\n isLoadingBasicInformationForm ||\n isLoadingContractDetailsForm ||\n isLoadingEmployment ||\n isLoadingBenefitsOffersSchema ||\n isLoadingBenefitOffers ||\n isLoadingCompany ||\n isLoadingCountries;\n\n const isEmploymentReadOnly =\n employmentStatus &&\n reviewStepAllowedEmploymentStatus.includes(employmentStatus);\n\n const canInvite =\n employmentStatus &&\n !disabledInviteButtonEmploymentStatus.includes(employmentStatus);\n\n const shouldHandleReadOnlyEmployment = Boolean(\n employmentId && isEmploymentReadOnly && currentStepName !== 'review',\n );\n\n const isLoading = initialLoading || shouldHandleReadOnlyEmployment;\n\n const isNavigatingToReview = Boolean(\n shouldHandleReadOnlyEmployment &&\n !initialLoading &&\n basicInformationFields.length > 0 &&\n contractDetailsFields.length > 0,\n );\n\n return {\n isLoading,\n isNavigatingToReview,\n isEmploymentReadOnly,\n canInvite,\n };\n};\n\nexport const useOnboarding = ({\n employmentId,\n companyId,\n countryCode,\n type,\n options,\n skipSteps,\n externalId,\n initialValues: onboardingInitialValues,\n}: OnboardingHookProps) => {\n const { updateErrorContext } = useErrorReporting({\n flow: 'onboarding',\n metadata: {\n employmentId,\n companyId,\n isUpdating: Boolean(employmentId),\n },\n });\n const stepsToUse = skipSteps?.includes('select_country')\n ? STEPS_WITHOUT_SELECT_COUNTRY\n : STEPS;\n\n const onStepChange = useCallback(\n (step: Step<keyof typeof STEPS>) => {\n updateErrorContext({\n step: step.name,\n });\n },\n [updateErrorContext],\n );\n\n const {\n fieldValues,\n stepState,\n setFieldValues,\n previousStep,\n nextStep,\n goToStep,\n setStepValues,\n } = useStepState(\n stepsToUse as Record<keyof typeof STEPS, Step<keyof typeof STEPS>>,\n onStepChange,\n );\n\n const fieldsMetaRef = useRef<{\n select_country: Meta;\n basic_information: Meta;\n contract_details: Meta;\n benefits: Meta;\n }>({\n select_country: {},\n basic_information: {},\n contract_details: {},\n benefits: {},\n });\n const [internalEmploymentId, setInternalEmploymentId] = useState<\n string | undefined\n >(employmentId);\n const [internalCountryCode, setInternalCountryCode] = useState<string | null>(\n countryCode || null,\n );\n const {\n data: employment,\n isLoading: isLoadingEmployment,\n refetch: refetchEmployment,\n } = useEmployment(internalEmploymentId);\n\n // if the employment is loaded, country code has not been set yet\n // we set the internal country code with the employment country code\n if (employmentId && employment?.country?.code && !internalCountryCode) {\n setInternalCountryCode(employment.country.code);\n }\n\n const { data: benefitOffers, isLoading: isLoadingBenefitOffers } =\n useBenefitOffers(internalEmploymentId);\n\n const {\n data: company,\n isLoading: isLoadingCompany,\n refetch: refetchCompany,\n } = useCompany(companyId);\n\n const { selectCountryForm, isLoading: isLoadingCountries } =\n useCountriesSchemaField({\n jsfModify: options?.jsfModify?.select_country,\n queryOptions: {\n enabled: stepState.currentStep.name === 'select_country',\n },\n });\n\n const createEmploymentMutation = useCreateEmployment();\n const updateEmploymentMutation = useUpdateEmployment(\n internalCountryCode as string,\n options,\n );\n const updateBenefitsOffersMutation = useUpdateBenefitsOffers(options);\n const updateContractEligibilityMutation = useUpsertContractEligibility();\n const { mutateAsync: createEmploymentMutationAsync } = mutationToPromise(\n createEmploymentMutation,\n );\n const { mutateAsync: updateEmploymentMutationAsync } = mutationToPromise(\n updateEmploymentMutation,\n );\n const { mutateAsync: updateBenefitsOffersMutationAsync } = mutationToPromise(\n updateBenefitsOffersMutation,\n );\n const { mutateAsync: updateContractEligibilityMutationAsync } =\n mutationToPromise(updateContractEligibilityMutation);\n\n const formType =\n stepToFormSchemaMap[stepState.currentStep.name] ||\n 'employment_basic_information';\n const employmentKey = jsonSchemaToEmployment[formType] as keyof Employment;\n const serverEmploymentData = (employment?.[employmentKey] || {}) as Record<\n string,\n unknown\n >;\n\n const useJSONSchema = ({\n form,\n options: jsonSchemaOptions = {},\n query = {},\n jsonSchemaVersion,\n }: {\n form: JSONSchemaFormType;\n options?: {\n jsfModify?: JSFModify;\n queryOptions?: { enabled?: boolean };\n };\n query?: Record<string, string>;\n jsonSchemaVersion?: number;\n }) => {\n const hasUserEnteredAnyValues = Object.keys(fieldValues).length > 0;\n // when you write on the fields, the values are stored in the fieldValues state\n // when values are stored in the stepState is when the user has navigated to the step\n // and then we have the values from the server and the onboardingInitialValues that the user can inject,\n const mergedFormValues = hasUserEnteredAnyValues\n ? {\n ...onboardingInitialValues,\n ...stepState.values?.[stepState.currentStep.name], // Restore values for the current step\n ...fieldValues,\n }\n : {\n ...onboardingInitialValues,\n ...serverEmploymentData,\n };\n\n return useJSONSchemaForm({\n countryCode: internalCountryCode as string,\n form: form,\n fieldValues: mergedFormValues,\n query,\n options: {\n ...jsonSchemaOptions,\n queryOptions: {\n enabled: jsonSchemaOptions.queryOptions?.enabled ?? true,\n },\n },\n jsonSchemaVersion,\n });\n };\n\n const isBasicInformationDetailsEnabled = Boolean(\n internalCountryCode &&\n (stepState.currentStep.name === 'basic_information' ||\n Boolean(employmentId)),\n );\n\n const isContractDetailsEnabled = Boolean(\n internalCountryCode &&\n (stepState.currentStep.name === 'contract_details' ||\n Boolean(employmentId)),\n );\n\n const {\n data: basicInformationForm,\n isLoading: isLoadingBasicInformationForm,\n } = useJSONSchema({\n form: 'employment_basic_information',\n options: {\n jsfModify: options?.jsfModify?.basic_information,\n queryOptions: {\n enabled: isBasicInformationDetailsEnabled,\n },\n },\n jsonSchemaVersion: 1,\n });\n\n const annualGrossSalaryField =\n options?.jsfModify?.contract_details?.fields?.annual_gross_salary;\n const annualSalaryFieldPresentation =\n annualGrossSalaryField &&\n typeof annualGrossSalaryField === 'object' &&\n 'presentation' in annualGrossSalaryField\n ? (\n annualGrossSalaryField as {\n presentation?: {\n annual_gross_salary_conversion_properties?: {\n label?: string;\n description?: string;\n };\n };\n }\n ).presentation\n : undefined;\n\n const equityCompensationField =\n options?.jsfModify?.contract_details?.fields?.equity_compensation;\n\n const contractDetailsCustomFields = useMemo(\n () => ({\n fields: {\n annual_gross_salary: {\n ...annualGrossSalaryField,\n presentation: {\n annual_gross_salary_conversion_properties: {\n label:\n annualSalaryFieldPresentation\n ?.annual_gross_salary_conversion_properties?.label,\n description:\n annualSalaryFieldPresentation\n ?.annual_gross_salary_conversion_properties?.description,\n },\n desiredCurrency: company?.desired_currency,\n Component: (props: JSFField & { currency: string }) => {\n return (\n <AnnualGrossSalary\n desiredCurrency={company?.desired_currency || ''}\n {...props}\n />\n );\n },\n },\n },\n equity_compensation: {\n ...equityCompensationField,\n presentation: {\n calculateDynamicProperties: (\n values: FieldValues,\n field: JSFField,\n ) => {\n const offerEquity =\n values.equity_compensation?.offer_equity_compensation;\n const equityCost = field?.meta?.cost;\n\n return {\n extra: (\n <EquityPriceDetails\n offerEquity={offerEquity}\n equityCost={equityCost as $TSFixMe}\n />\n ),\n };\n },\n },\n },\n },\n }),\n [\n annualGrossSalaryField,\n annualSalaryFieldPresentation,\n company?.desired_currency,\n equityCompensationField,\n ],\n );\n\n const effectiveContractDetailsJsonSchemaVersion =\n getContractDetailsSchemaVersion(options, internalCountryCode);\n\n const { data: contractDetailsForm, isLoading: isLoadingContractDetailsForm } =\n useJSONSchema({\n form: 'contract_details',\n query: {\n employment_id: internalEmploymentId as string,\n },\n options: {\n jsfModify: {\n ...options?.jsfModify?.contract_details,\n fields: {\n ...options?.jsfModify?.contract_details?.fields,\n ...contractDetailsCustomFields.fields,\n },\n },\n queryOptions: {\n enabled: isContractDetailsEnabled,\n },\n },\n jsonSchemaVersion: effectiveContractDetailsJsonSchemaVersion,\n });\n\n const {\n data: benefitOffersSchema,\n isLoading: isLoadingBenefitsOffersSchema,\n } = useBenefitOffersSchema(\n internalEmploymentId as string,\n fieldValues,\n options,\n );\n\n const initialValuesBenefitOffers = useMemo(() => {\n if (stepState.currentStep.name === 'benefits') {\n const benefitsFormValues = {\n ...stepState.values?.[stepState.currentStep.name as keyof typeof STEPS], // Restore values for the current step\n ...fieldValues,\n };\n return mergeWith({}, benefitOffers, benefitsFormValues);\n }\n return {};\n }, [\n stepState.currentStep.name,\n benefitOffers,\n stepState.values,\n fieldValues,\n ]);\n\n const stepFields: Record<keyof typeof STEPS, JSFFields> = useMemo(\n () => ({\n select_country: selectCountryForm?.fields || [],\n basic_information: basicInformationForm?.fields || [],\n contract_details: contractDetailsForm?.fields || [],\n benefits: benefitOffersSchema?.fields || [],\n review: [],\n }),\n [\n selectCountryForm?.fields,\n basicInformationForm?.fields,\n contractDetailsForm?.fields,\n benefitOffersSchema?.fields,\n ],\n );\n\n const stepFieldsWithFlatFieldsets: Record<\n keyof typeof STEPS,\n JSFFieldset | null | undefined\n > = {\n select_country: null,\n basic_information: basicInformationForm?.meta['x-jsf-fieldsets'],\n contract_details: contractDetailsForm?.meta['x-jsf-fieldsets'],\n benefits: null,\n review: null,\n };\n\n const {\n country,\n basic_information: employmentBasicInformation = {},\n contract_details: employmentContractDetails = {},\n status: employmentStatus,\n } = employment || {};\n\n const employmentCountryCode = country?.code;\n const currentStepName = stepState.currentStep.name;\n\n const selectCountryInitialValues = useMemo(\n () =>\n getInitialValues(stepFields.select_country, {\n country: internalCountryCode || employmentCountryCode || '',\n }),\n [stepFields.select_country, internalCountryCode, employmentCountryCode],\n );\n\n const basicInformationInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...employmentBasicInformation,\n };\n\n return getInitialValues(stepFields.basic_information, initialValues);\n }, [\n stepFields.basic_information,\n employmentBasicInformation,\n onboardingInitialValues,\n ]);\n\n const contractDetailsInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...employmentContractDetails,\n };\n\n return getInitialValues(stepFields.contract_details, initialValues);\n }, [\n stepFields.contract_details,\n employmentContractDetails,\n onboardingInitialValues,\n ]);\n\n const benefitsInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...initialValuesBenefitOffers,\n };\n\n return getInitialValues(stepFields.benefits, initialValues);\n }, [\n stepFields.benefits,\n initialValuesBenefitOffers,\n onboardingInitialValues,\n ]);\n\n const initialValues = useMemo(() => {\n if (employment) {\n return {\n select_country: selectCountryInitialValues,\n // We don't store ack fields in the db, eg \"ack_start_date_ammendment\" for Argentina, and therefore is not returned in the employment response\n // So when an employmentId exists, it means that the user has already started the onboarding process, and we need to enable the ack fields\n basic_information: enableAckFields(\n stepFields['basic_information'],\n basicInformationInitialValues,\n ),\n contract_details:\n // if contract details is null, it means it has not been filled yet, so we can't enable the ack fields\n employment?.contract_details !== null\n ? enableAckFields(\n stepFields['contract_details'],\n contractDetailsInitialValues,\n )\n : contractDetailsInitialValues,\n benefits: benefitsInitialValues,\n };\n }\n return {\n select_country: selectCountryInitialValues,\n basic_information: basicInformationInitialValues,\n contract_details: contractDetailsInitialValues,\n benefits: benefitsInitialValues,\n };\n }, [\n selectCountryInitialValues,\n basicInformationInitialValues,\n contractDetailsInitialValues,\n benefitsInitialValues,\n employment,\n stepFields,\n ]);\n\n const { isLoading, isNavigatingToReview, isEmploymentReadOnly, canInvite } =\n useMemo(\n () =>\n getLoadingStates({\n isLoadingBasicInformationForm,\n isLoadingContractDetailsForm,\n isLoadingEmployment,\n isLoadingBenefitsOffersSchema,\n isLoadingBenefitOffers,\n isLoadingCompany,\n isLoadingCountries,\n employmentId,\n employmentStatus: employmentStatus,\n basicInformationFields: stepFields.basic_information,\n contractDetailsFields: stepFields.contract_details,\n currentStepName: currentStepName,\n }),\n [\n isLoadingBasicInformationForm,\n isLoadingContractDetailsForm,\n isLoadingEmployment,\n isLoadingBenefitsOffersSchema,\n isLoadingBenefitOffers,\n isLoadingCompany,\n isLoadingCountries,\n employmentId,\n employmentStatus,\n stepFields.basic_information,\n stepFields.contract_details,\n currentStepName,\n ],\n );\n\n useEffect(() => {\n if (isNavigatingToReview) {\n fieldsMetaRef.current = {\n select_country: prettifyFormValues(\n selectCountryInitialValues,\n stepFields.select_country,\n ),\n basic_information: prettifyFormValues(\n basicInformationInitialValues,\n stepFields.basic_information,\n ),\n contract_details: prettifyFormValues(\n contractDetailsInitialValues,\n stepFields.contract_details,\n ),\n benefits: prettifyFormValues(\n benefitsInitialValues,\n stepFields.benefits,\n ),\n };\n\n setStepValues({\n select_country: selectCountryInitialValues,\n basic_information: basicInformationInitialValues,\n contract_details: contractDetailsInitialValues,\n benefits: benefitsInitialValues,\n review: {},\n });\n\n goToStep('review');\n }\n }, [\n basicInformationInitialValues,\n benefitsInitialValues,\n contractDetailsInitialValues,\n goToStep,\n isNavigatingToReview,\n selectCountryInitialValues,\n setStepValues,\n stepFields.basic_information,\n stepFields.benefits,\n stepFields.contract_details,\n stepFields.select_country,\n ]);\n\n const parseFormValues = async (values: FieldValues) => {\n if (selectCountryForm && stepState.currentStep.name === 'select_country') {\n return values;\n }\n if (\n basicInformationForm &&\n stepState.currentStep.name === 'basic_information'\n ) {\n return await parseJSFToValidate(values, basicInformationForm?.fields, {\n isPartialValidation: false,\n });\n }\n\n if (\n contractDetailsForm &&\n stepState.currentStep.name === 'contract_details'\n ) {\n return await parseJSFToValidate(values, contractDetailsForm?.fields, {\n isPartialValidation: false,\n });\n }\n\n return {};\n };\n\n async function onSubmit(values: FieldValues) {\n // Prettify values for the current step\n const currentStepName = stepState.currentStep.name;\n if (currentStepName in fieldsMetaRef.current) {\n fieldsMetaRef.current[\n currentStepName as keyof typeof fieldsMetaRef.current\n ] = prettifyFormValues(values, stepFields[currentStepName]);\n }\n\n const parsedValues = await parseFormValues(values);\n refetchCompany();\n switch (stepState.currentStep.name) {\n case 'select_country': {\n setInternalCountryCode(parsedValues.country);\n return Promise.resolve({ data: { countryCode: parsedValues.country } });\n }\n case 'basic_information': {\n const isEmploymentNotLoaded =\n !internalEmploymentId && internalCountryCode;\n const hasChangedCountry =\n internalEmploymentId &&\n internalCountryCode &&\n employment?.country &&\n employment?.country.code !== internalCountryCode;\n if (isEmploymentNotLoaded || hasChangedCountry) {\n const payload: EmploymentCreateParams = {\n basic_information: parsedValues,\n type: type,\n country_code: internalCountryCode,\n external_id: externalId,\n };\n try {\n const response = await createEmploymentMutationAsync(payload);\n\n if (response.error) {\n return response;\n }\n\n if (response.data) {\n // @ts-expect-error the types from the response are not matching\n const employmentId = response.data?.data?.employment?.id;\n if (employmentId) {\n setInternalEmploymentId(employmentId);\n await updateContractEligibilityMutationAsync({\n employmentId: employmentId,\n eligible_to_work_in_residing_country: 'citizen',\n employer_or_work_restrictions: false,\n });\n }\n\n return response;\n }\n } catch (error) {\n console.error('Error creating onboarding:', error);\n throw error;\n }\n } else if (internalEmploymentId) {\n return updateEmploymentMutationAsync({\n employmentId: internalEmploymentId,\n basic_information: parsedValues,\n pricing_plan_details: {\n frequency: 'monthly',\n },\n external_id: externalId,\n });\n }\n\n return;\n }\n case 'contract_details': {\n const payload: EmploymentFullParams = {\n contract_details: parsedValues,\n pricing_plan_details: {\n frequency: 'monthly',\n },\n };\n return updateEmploymentMutationAsync({\n employmentId: internalEmploymentId as string,\n external_id: externalId,\n ...payload,\n });\n }\n\n case 'benefits': {\n return updateBenefitsOffersMutationAsync({\n employmentId: internalEmploymentId as string,\n ...values,\n });\n }\n }\n return;\n }\n\n function back() {\n previousStep();\n }\n\n function next() {\n nextStep();\n }\n\n function goTo(step: keyof typeof STEPS) {\n goToStep(step);\n }\n\n return {\n /**\n * Employment id passed useful to be used between components\n */\n employmentId: internalEmploymentId,\n\n /**\n * Credit risk status of the company, useful to know what to to show in the review step\n * The possible values are:\n * - not_started\n * - ready\n * - in_progress\n * - referred\n * - fail\n * - deposit_required\n * - no_deposit_required\n */\n\n creditRiskStatus: company?.default_legal_entity_credit_risk_status,\n /**\n * Current state of the form fields for the current step.\n */\n fieldValues,\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 onboarding schema\n */\n fields: stepFields[stepState.currentStep.name],\n /**\n * Loading state indicating if the onboarding schema is being fetched\n */\n isLoading: isLoading,\n /**\n * Loading state indicating if the onboarding mutation is in progress\n */\n isSubmitting:\n createEmploymentMutation.isPending ||\n updateEmploymentMutation.isPending ||\n updateBenefitsOffersMutation.isPending ||\n updateContractEligibilityMutation.isPending,\n /**\n * Initial form values\n */\n initialValues,\n /**\n * Function to validate form values against the onboarding schema\n * @param values - Form values to validate\n * @returns Validation result or null if no schema is available\n */\n handleValidation: async (\n values: FieldValues,\n ): Promise<ValidationResult | null> => {\n if (stepState.currentStep.name === 'select_country') {\n return selectCountryForm.handleValidation(values);\n }\n if (stepState.currentStep.name === 'benefits' && benefitOffersSchema) {\n const parsedValues = await parseJSFToValidate(\n values,\n benefitOffersSchema?.fields,\n { isPartialValidation: false },\n );\n\n return benefitOffersSchema?.handleValidation(parsedValues);\n }\n if (\n basicInformationForm &&\n stepState.currentStep.name === 'basic_information'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n basicInformationForm?.fields,\n { isPartialValidation: false },\n );\n return basicInformationForm?.handleValidation(parsedValues);\n }\n\n if (\n contractDetailsForm &&\n stepState.currentStep.name === 'contract_details'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n contractDetailsForm?.fields,\n { isPartialValidation: false },\n );\n return contractDetailsForm?.handleValidation(parsedValues);\n }\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 /**\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 /**\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 * Function to handle going to a specific step\n * @param step The step to go to.\n * @returns {void}\n */\n goTo,\n\n /**\n * Fields metadata for each step\n */\n meta: {\n fields: fieldsMetaRef.current,\n fieldsets: stepFieldsWithFlatFieldsets[stepState.currentStep.name],\n },\n\n /**\n * Function to refetch the employment data\n * @returns {void}\n */\n refetchEmployment,\n /**\n * Employment data\n */\n employment,\n\n /**\n * let's the user know that the employment cannot be edited, happens when employment.status is invited, created_awaiting_reserve or created_reserve_paid\n * @returns {boolean}\n */\n isEmploymentReadOnly,\n\n /**\n * let's the user know if the company can invite employees\n * @returns {boolean}\n */\n canInvite,\n };\n};\n","import {\n createContext,\n useContext,\n ReactNode,\n useMemo,\n useCallback,\n useRef,\n RefObject,\n} from 'react';\nimport type { ErrorContextData } from './types';\n\nexport type ErrorContextValue = {\n errorContextRef: RefObject<ErrorContextData>;\n updateContext: (updates: Partial<ErrorContextData>) => void;\n};\n\nexport const ErrorContext = createContext<ErrorContextValue | undefined>(\n undefined,\n);\n\nexport function ErrorContextProvider({ children }: { children: ReactNode }) {\n const errorContextRef = useRef<ErrorContextData>({});\n\n const updateContext = useCallback((updates: Partial<ErrorContextData>) => {\n errorContextRef.current = { ...errorContextRef.current, ...updates };\n }, []);\n\n // Memoize the value object to prevent unnecessary re-renders\n // Note: setContext is stable from useState and doesn't need to be in deps\n const value = useMemo(\n () => ({\n errorContextRef,\n updateContext,\n }),\n [updateContext],\n );\n\n return (\n <ErrorContext.Provider value={value}>{children}</ErrorContext.Provider>\n );\n}\n\nexport const useErrorContext = () => {\n const ctx = useContext(ErrorContext);\n if (!ctx) {\n throw new Error('useErrorContext must be used within ErrorContextProvider');\n }\n return ctx;\n};\n","import { useErrorContext } from '@/src/components/error-handling/ErrorContext';\nimport { ErrorContextData } from '@/src/components/error-handling/types';\nimport { useEffect, useMemo } from 'react';\n\nexport function useErrorReporting(initialContext: ErrorContextData) {\n const { updateContext, errorContextRef } = useErrorContext();\n\n // Set initial context on mount\n useEffect(() => {\n if (initialContext) {\n errorContextRef.current = initialContext;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // Clear context on unmount\n useEffect(() => {\n return () => {\n errorContextRef.current = {};\n };\n }, [errorContextRef]);\n\n // Note: setContext and updateContext are stable, don't need to be in deps\n const handlers = useMemo(\n () => ({\n updateErrorContext: (updates: Partial<ErrorContextData>) => {\n updateContext(updates);\n },\n\n clearErrorContext: () => {\n errorContextRef.current = {};\n },\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n\n return {\n ...handlers,\n /**\n * @internal For unit testing only - we access the errorContext in the error boundary directly\n * Use updateErrorContext() and clearErrorContext() handlers instead.\n */\n errorContext: errorContextRef,\n };\n}\n"],"mappings":"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","names":["useCallback","useEffect","useMemo","useRef","useState","mergeWith","createContext","useContext","useMemo","useCallback","useRef","jsx","ErrorContext","createContext","ErrorContextProvider","children","errorContextRef","useRef","updateContext","useCallback","updates","value","useMemo","__name","useErrorContext","ctx","useContext","useEffect","useMemo","useErrorReporting","initialContext","updateContext","errorContextRef","useErrorContext","useEffect","useMemo","__name","updates","jsx","jsonSchemaToEmployment","stepToFormSchemaMap","getLoadingStates","__name","isLoadingBasicInformationForm","isLoadingContractDetailsForm","isLoadingEmployment","isLoadingBenefitsOffersSchema","isLoadingBenefitOffers","isLoadingCompany","isLoadingCountries","employmentStatus","employmentId","currentStepName","basicInformationFields","contractDetailsFields","initialLoading","isEmploymentReadOnly","reviewStepAllowedEmploymentStatus","canInvite","disabledInviteButtonEmploymentStatus","shouldHandleReadOnlyEmployment","isLoading","isNavigatingToReview","useOnboarding","companyId","countryCode","type","options","skipSteps","externalId","onboardingInitialValues","updateErrorContext","useErrorReporting","stepsToUse","STEPS_WITHOUT_SELECT_COUNTRY","STEPS","onStepChange","useCallback","step","fieldValues","stepState","setFieldValues","previousStep","nextStep","goToStep","setStepValues","useStepState","fieldsMetaRef","useRef","internalEmploymentId","setInternalEmploymentId","useState","internalCountryCode","setInternalCountryCode","employment","refetchEmployment","useEmployment","benefitOffers","useBenefitOffers","company","refetchCompany","useCompany","selectCountryForm","useCountriesSchemaField","createEmploymentMutation","useCreateEmployment","updateEmploymentMutation","useUpdateEmployment","updateBenefitsOffersMutation","useUpdateBenefitsOffers","updateContractEligibilityMutation","useUpsertContractEligibility","createEmploymentMutationAsync","mutationToPromise","updateEmploymentMutationAsync","updateBenefitsOffersMutationAsync","updateContractEligibilityMutationAsync","formType","employmentKey","serverEmploymentData","useJSONSchema","form","jsonSchemaOptions","query","jsonSchemaVersion","mergedFormValues","useJSONSchemaForm","isBasicInformationDetailsEnabled","isContractDetailsEnabled","basicInformationForm","annualGrossSalaryField","annualSalaryFieldPresentation","equityCompensationField","contractDetailsCustomFields","useMemo","props","AnnualGrossSalary","values","field","offerEquity","equityCost","EquityPriceDetails","effectiveContractDetailsJsonSchemaVersion","getContractDetailsSchemaVersion","contractDetailsForm","benefitOffersSchema","useBenefitOffersSchema","initialValuesBenefitOffers","benefitsFormValues","mergeWith","stepFields","stepFieldsWithFlatFieldsets","country","employmentBasicInformation","employmentContractDetails","employmentCountryCode","selectCountryInitialValues","getInitialValues","basicInformationInitialValues","initialValues","contractDetailsInitialValues","benefitsInitialValues","enableAckFields","useEffect","prettifyFormValues","parseFormValues","parseJSFToValidate","onSubmit","parsedValues","isEmploymentNotLoaded","hasChangedCountry","payload","response","error","back","next","goTo"]}
@@ -1,2 +1,2 @@
1
- import{a as e}from"./chunk-OXOK5PM3.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 d({onSubmit:m}){let{terminationBag:o}=a(),r=i(async t=>{let n=await o?.parseFormValues(t);await m?.(n),o?.next()},"handleSubmit");return s(e,{defaultValues:o.fieldValues,onSubmit:r})}i(d,"PaidTimeOffForm");export{d as a};
2
- //# sourceMappingURL=chunk-2FDEMDWJ.js.map
1
+ import{a as e}from"./chunk-3OX2LLXL.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 d({onSubmit:m}){let{terminationBag:o}=a(),r=i(async t=>{let n=await o?.parseFormValues(t);await m?.(n),o?.next()},"handleSubmit");return s(e,{defaultValues:o.fieldValues,onSubmit:r})}i(d,"PaidTimeOffForm");export{d as a};
2
+ //# sourceMappingURL=chunk-7X3WUOTU.js.map
@@ -1,2 +1,2 @@
1
- import{a as l}from"./chunk-AJ5SXKFO.js";import{b as s}from"./chunk-TOA3JILU.js";import{b as t}from"./chunk-2YTBWEC7.js";import{a as n}from"./chunk-P37U34EQ.js";import{jsx as u}from"react/jsx-runtime";function w({onSubmit:d,onSuccess:c,onError:a}){let{contractorOnboardingBag:r}=s(),m=n(async e=>{try{let i=await r.parseFormValues(e);await d?.(i);let o=await r.onSubmit(e);if(o?.data){await c?.(o?.data),r?.next();return}if(o?.error){let P=t(o?.fieldErrors||[],r.meta?.fields?.pricing_plan);a?.({error:o?.error,rawError:o?.rawError,fieldErrors:P})}}catch(i){a?.({error:i,rawError:i,fieldErrors:[]})}},"handleSubmit"),p=r.stepState.values?.pricing_plan||r.initialValues.pricing_plan;return u(l,{defaultValues:p,onSubmit:m})}n(w,"PricingPlanStep");export{w as a};
2
- //# sourceMappingURL=chunk-W3OQNZW6.js.map
1
+ import{a as l}from"./chunk-ZJAFMNUN.js";import{b as s}from"./chunk-TOA3JILU.js";import{b as t}from"./chunk-2YTBWEC7.js";import{a as n}from"./chunk-P37U34EQ.js";import{jsx as u}from"react/jsx-runtime";function w({onSubmit:d,onSuccess:c,onError:a}){let{contractorOnboardingBag:r}=s(),m=n(async e=>{try{let i=await r.parseFormValues(e);await d?.(i);let o=await r.onSubmit(e);if(o?.data){await c?.(o?.data),r?.next();return}if(o?.error){let P=t(o?.fieldErrors||[],r.meta?.fields?.pricing_plan);a?.({error:o?.error,rawError:o?.rawError,fieldErrors:P})}}catch(i){a?.({error:i,rawError:i,fieldErrors:[]})}},"handleSubmit"),p=r.stepState.values?.pricing_plan||r.initialValues.pricing_plan;return u(l,{defaultValues:p,onSubmit:m})}n(w,"PricingPlanStep");export{w as a};
2
+ //# sourceMappingURL=chunk-AGE76E7O.js.map
@@ -1,2 +1,2 @@
1
- import{b as y}from"./chunk-PGWKJ6FK.js";import{a as u}from"./chunk-4FW2VTO4.js";import{b as c}from"./chunk-LNV36S6D.js";import{b as F}from"./chunk-2YTBWEC7.js";import{f,g as p}from"./chunk-CR7AIZKA.js";import{a as m}from"./chunk-P37U34EQ.js";import{useEffect as S}from"react";import{jsx as b}from"react/jsx-runtime";import{createElement as V}from"react";function N({defaultValues:d,onSubmit:g,components:E}){let{formId:w,onboardingBag:o}=y(),k=c(o.handleValidation),r=f({resolver:k,defaultValues:d,shouldUnregister:!1,mode:"onBlur"});S(()=>{o.employmentId&&o?.checkFieldUpdates(r.getValues())},[]),S(()=>{let t=r?.watch(e=>{Object.keys(e).some(i=>e[i]!==d[i])&&o?.checkFieldUpdates(e)});return()=>t?.unsubscribe()},[]);let h=m(async(t,e)=>{let s=e?.nativeEvent;if(s?.isDraftSubmission){let{onSuccess:i,onError:l}=s.draftCallbacks;try{if(!await r.trigger())return;let n=await o.onSubmit(t);if(n?.data)i?.();else if(n?.error){let P=o.stepState.currentStep.name,B=o.meta?.fields?.[P],O=F(n?.fieldErrors||[],B);l?.({error:n.error,rawError:n.rawError,fieldErrors:O})}}catch(a){l?.({error:a,rawError:a,fieldErrors:[]})}}else await g(t)},"handleSubmit");return V(p,{...r,key:`form-${o.stepState.currentStep.name}`},b("form",{id:w,onSubmit:r.handleSubmit(h),className:"space-y-4 RemoteFlows__OnboardingForm",children:b(u,{components:E,fields:o.fields,fieldsets:o.meta.fieldsets,fieldValues:o.fieldValues})}))}m(N,"OnboardingForm");export{N as a};
2
- //# sourceMappingURL=chunk-NPKIEWF4.js.map
1
+ import{b as y}from"./chunk-PGWKJ6FK.js";import{a as u}from"./chunk-22HZVTR7.js";import{b as c}from"./chunk-LNV36S6D.js";import{b as F}from"./chunk-2YTBWEC7.js";import{f,g as p}from"./chunk-CR7AIZKA.js";import{a as m}from"./chunk-P37U34EQ.js";import{useEffect as S}from"react";import{jsx as b}from"react/jsx-runtime";import{createElement as V}from"react";function N({defaultValues:d,onSubmit:g,components:E}){let{formId:w,onboardingBag:o}=y(),k=c(o.handleValidation),r=f({resolver:k,defaultValues:d,shouldUnregister:!1,mode:"onBlur"});S(()=>{o.employmentId&&o?.checkFieldUpdates(r.getValues())},[]),S(()=>{let t=r?.watch(e=>{Object.keys(e).some(i=>e[i]!==d[i])&&o?.checkFieldUpdates(e)});return()=>t?.unsubscribe()},[]);let h=m(async(t,e)=>{let s=e?.nativeEvent;if(s?.isDraftSubmission){let{onSuccess:i,onError:l}=s.draftCallbacks;try{if(!await r.trigger())return;let n=await o.onSubmit(t);if(n?.data)i?.();else if(n?.error){let P=o.stepState.currentStep.name,B=o.meta?.fields?.[P],O=F(n?.fieldErrors||[],B);l?.({error:n.error,rawError:n.rawError,fieldErrors:O})}}catch(a){l?.({error:a,rawError:a,fieldErrors:[]})}}else await g(t)},"handleSubmit");return V(p,{...r,key:`form-${o.stepState.currentStep.name}`},b("form",{id:w,onSubmit:r.handleSubmit(h),className:"space-y-4 RemoteFlows__OnboardingForm",children:b(u,{components:E,fields:o.fields,fieldsets:o.meta.fieldsets,fieldValues:o.fieldValues})}))}m(N,"OnboardingForm");export{N as a};
2
+ //# sourceMappingURL=chunk-ALC6W3PW.js.map
@@ -1,2 +1,2 @@
1
- import{a as t}from"./chunk-OXOK5PM3.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-PU3WPIEK.js.map
1
+ import{a as t}from"./chunk-3OX2LLXL.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-BBOEK4Q5.js.map
@@ -1,2 +1,2 @@
1
- import{a as d}from"./chunk-AJ5SXKFO.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-T5OFLN36.js.map
1
+ import{a as d}from"./chunk-ZJAFMNUN.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-CD6F3YL4.js.map
@@ -1,2 +1,2 @@
1
- import{a as e}from"./chunk-OXOK5PM3.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-VCEQ5E2O.js.map
1
+ import{a as e}from"./chunk-3OX2LLXL.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-CZ7DTX5L.js.map
@@ -1,2 +1,2 @@
1
- import{a as m}from"./chunk-NPKIEWF4.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-D6Y7GLBT.js.map
1
+ import{a as m}from"./chunk-ALC6W3PW.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-DDAMD7E7.js.map
@@ -1,2 +1,2 @@
1
- import{a as r}from"./chunk-WLN6G3TE.js";import{a}from"./chunk-OKMERBJL.js";import{a as c}from"./chunk-QKKAJK3A.js";import{a as e}from"./chunk-PC5JG4TT.js";import{a as m}from"./chunk-K3XVYHGV.js";import{a as o}from"./chunk-TVZAFTPT.js";import{a as n}from"./chunk-P37U34EQ.js";import{useId as f}from"react";import{jsx as s}from"react/jsx-runtime";function k({employmentId:d,countryCode:C,options:p,render:A}){let t=c({employmentId:d,countryCode:C,options:p}),i=f();return s(o.Provider,{value:{formId:i,contractAmendmentBag:t},children:A({contractAmendmentBag:t,components:{Form:r,SubmitButton:a,ConfirmationForm:m,BackButton:e}})})}n(k,"ContractAmendmentFlow");export{k as a};
2
- //# sourceMappingURL=chunk-7XKEJ5Y6.js.map
1
+ import{a as r}from"./chunk-J3BK2DEH.js";import{a}from"./chunk-OKMERBJL.js";import{a as c}from"./chunk-QKKAJK3A.js";import{a as e}from"./chunk-PC5JG4TT.js";import{a as m}from"./chunk-K3XVYHGV.js";import{a as o}from"./chunk-TVZAFTPT.js";import{a as n}from"./chunk-P37U34EQ.js";import{useId as f}from"react";import{jsx as s}from"react/jsx-runtime";function k({employmentId:d,countryCode:C,options:p,render:A}){let t=c({employmentId:d,countryCode:C,options:p}),i=f();return s(o.Provider,{value:{formId:i,contractAmendmentBag:t},children:A({contractAmendmentBag:t,components:{Form:r,SubmitButton:a,ConfirmationForm:m,BackButton:e}})})}n(k,"ContractAmendmentFlow");export{k as a};
2
+ //# sourceMappingURL=chunk-EMJ266VJ.js.map
@@ -1,2 +1,2 @@
1
- import{a as n}from"./chunk-U2HWB5HI.js";import{a as f}from"./chunk-X6325UGJ.js";import{a as m}from"./chunk-IJ6325YO.js";import{a as p}from"./chunk-W3OQNZW6.js";import{a as i}from"./chunk-HUJ3AUIS.js";import{a as e}from"./chunk-QDSRG735.js";import{a as c}from"./chunk-T5OFLN36.js";import{a as d}from"./chunk-VYHITQHG.js";import{a}from"./chunk-FEIYAZ7Q.js";import{a as t}from"./chunk-TOA3JILU.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-K62H3A5T.js.map
1
+ import{a as p}from"./chunk-AGE76E7O.js";import{a as i}from"./chunk-2ZCOC6FB.js";import{a as e}from"./chunk-R5GUJ3IC.js";import{a as c}from"./chunk-CD6F3YL4.js";import{a as d}from"./chunk-UHWPRDRD.js";import{a as n}from"./chunk-U2HWB5HI.js";import{a as f}from"./chunk-X6325UGJ.js";import{a as m}from"./chunk-IJ6325YO.js";import{a as t}from"./chunk-TOA3JILU.js";import{a}from"./chunk-UIEXB3GW.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-H327JOTI.js.map
@@ -1,2 +1,2 @@
1
- import{a as F}from"./chunk-4FW2VTO4.js";import{b as u}from"./chunk-LNV36S6D.js";import{f as l,g as p}from"./chunk-CR7AIZKA.js";import{d as f}from"./chunk-HRG5MSVG.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-WLN6G3TE.js.map
1
+ import{a as F}from"./chunk-22HZVTR7.js";import{b as u}from"./chunk-LNV36S6D.js";import{f as l,g as p}from"./chunk-CR7AIZKA.js";import{d as f}from"./chunk-HRG5MSVG.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-J3BK2DEH.js.map
@@ -1,2 +1,2 @@
1
- import{a as r}from"./chunk-WINYXC33.js";import{a as t}from"./chunk-TMBD35L4.js";import{a as f}from"./chunk-PU3WPIEK.js";import{a as e}from"./chunk-3CRC4NDD.js";import{a as p}from"./chunk-2FDEMDWJ.js";import{a as n}from"./chunk-4OVFMUUJ.js";import{a}from"./chunk-VCEQ5E2O.js";import{a as m}from"./chunk-MRYRNB7Y.js";import{a as i}from"./chunk-P37U34EQ.js";import{useId as c}from"react";import{jsx as F}from"react/jsx-runtime";var k=i(({employmentId:l,render:T,options:d,initialValues:s})=>{let u=c(),o=t({employmentId:l,options:d,initialValues:s});return F(m.Provider,{value:{formId:u,terminationBag:o},children:T({terminationBag:o,components:{SubmitButton:r,Back:n,EmployeeComunicationStep:e,TerminationDetailsStep:a,PaidTimeOffStep:p,AdditionalDetailsStep:f}})})},"TerminationFlow");export{k as a};
2
- //# sourceMappingURL=chunk-SKQWZNKT.js.map
1
+ import{a as r}from"./chunk-WINYXC33.js";import{a as t}from"./chunk-NHZTYFOJ.js";import{a as f}from"./chunk-BBOEK4Q5.js";import{a as e}from"./chunk-3DGBLO6M.js";import{a as p}from"./chunk-7X3WUOTU.js";import{a as n}from"./chunk-4OVFMUUJ.js";import{a}from"./chunk-CZ7DTX5L.js";import{a as m}from"./chunk-MRYRNB7Y.js";import{a as i}from"./chunk-P37U34EQ.js";import{useId as c}from"react";import{jsx as F}from"react/jsx-runtime";var k=i(({employmentId:l,render:T,options:d,initialValues:s})=>{let u=c(),o=t({employmentId:l,options:d,initialValues:s});return F(m.Provider,{value:{formId:u,terminationBag:o},children:T({terminationBag:o,components:{SubmitButton:r,Back:n,EmployeeComunicationStep:e,TerminationDetailsStep:a,PaidTimeOffStep:p,AdditionalDetailsStep:f}})})},"TerminationFlow");export{k as a};
2
+ //# sourceMappingURL=chunk-JWDXZLGS.js.map
@@ -1,2 +1,2 @@
1
- import{a as f}from"./chunk-KSHK3ZPX.js";import{c as d,d as S}from"./chunk-CTAWDJ2D.js";import{a as u}from"./chunk-HN5HLFTB.js";import{b as C}from"./chunk-LNV36S6D.js";import{f as y}from"./chunk-CR7AIZKA.js";import{a as o}from"./chunk-P37U34EQ.js";import{useEffect as T,useId as U,useState as I}from"react";import{jsx as k}from"react/jsx-runtime";var l=o((n,e,r)=>r&&r[e]?r[e]:n[e]?n[e]/100:0,"getDefaultManagementFee"),A=o((n,e,r,g)=>!e&&!r?.management_fee&&n?l(u,n,g):e&&!r?.management_fee?"":r?.management_fee,"getManagementFee"),W=o(({estimationOptions:n=d,defaultValues:e={countryRegionSlug:"",regionSlug:"",currencySlug:"",salary:"",benefits:{},management:{management_fee:""}},options:r,render:g,version:_="standard"})=>{let p=U(),[R,m]=I("USD"),F=o(s=>{m(s);let a=l(u,s,n.managementFees);a&&c.setValue("management.management_fee",a.toString())},"onCurrencyChange"),t=S({defaultRegion:e.countryRegionSlug,defaultCurrency:e.currencySlug,defaultSalary:e.salary,estimationOptions:n,version:_,options:{...r,onCurrencyChange:F}}),K=C(t.handleValidation),b=A(R,e.currencySlug,e.management,n.managementFees),{countryRegionSlug:v,currencySlug:h,salary:D,benefits:P,hiringBudget:B,age:E,contractDurationType:M,regionSlug:w,...x}=e,c=y({resolver:K,defaultValues:{country:v,currency:h,region:w,salary:D,salary_conversion:"",salary_converted:void 0,hiring_budget:B||"employee_annual_salary",age:E,contract_duration_type:M,management:{management_fee:b?.toString()||""},benefits:P,estimation_title:n.title,...x},shouldUnregister:!1,mode:"onBlur"});return T(()=>{if(e.currencySlug&&t.currencies&&n.includeManagementFee&&!e.management?.management_fee){let a=t.currencies.find(i=>i.value===e.currencySlug)?.label;if(a){m(a);let i=l(u,a,n.managementFees);c.setValue("management.management_fee",i?.toString()||"")}}},[e.currencySlug,t.currencies,n.includeManagementFee,n.managementFees,e.management?.management_fee,c]),k(f.Provider,{value:{form:c,formId:p,costCalculatorBag:t},children:g(t)})},"CostCalculatorFlow");export{W as a};
2
- //# sourceMappingURL=chunk-LJ6FHPXW.js.map
1
+ import{a as f}from"./chunk-KSHK3ZPX.js";import{c as d,d as S}from"./chunk-457SZDZQ.js";import{a as u}from"./chunk-HN5HLFTB.js";import{b as C}from"./chunk-LNV36S6D.js";import{f as y}from"./chunk-CR7AIZKA.js";import{a as o}from"./chunk-P37U34EQ.js";import{useEffect as T,useId as U,useState as I}from"react";import{jsx as k}from"react/jsx-runtime";var l=o((n,e,r)=>r&&r[e]?r[e]:n[e]?n[e]/100:0,"getDefaultManagementFee"),A=o((n,e,r,g)=>!e&&!r?.management_fee&&n?l(u,n,g):e&&!r?.management_fee?"":r?.management_fee,"getManagementFee"),W=o(({estimationOptions:n=d,defaultValues:e={countryRegionSlug:"",regionSlug:"",currencySlug:"",salary:"",benefits:{},management:{management_fee:""}},options:r,render:g,version:_="standard"})=>{let p=U(),[R,m]=I("USD"),F=o(s=>{m(s);let a=l(u,s,n.managementFees);a&&c.setValue("management.management_fee",a.toString())},"onCurrencyChange"),t=S({defaultRegion:e.countryRegionSlug,defaultCurrency:e.currencySlug,defaultSalary:e.salary,estimationOptions:n,version:_,options:{...r,onCurrencyChange:F}}),K=C(t.handleValidation),b=A(R,e.currencySlug,e.management,n.managementFees),{countryRegionSlug:v,currencySlug:h,salary:D,benefits:P,hiringBudget:B,age:E,contractDurationType:M,regionSlug:w,...x}=e,c=y({resolver:K,defaultValues:{country:v,currency:h,region:w,salary:D,salary_conversion:"",salary_converted:void 0,hiring_budget:B||"employee_annual_salary",age:E,contract_duration_type:M,management:{management_fee:b?.toString()||""},benefits:P,estimation_title:n.title,...x},shouldUnregister:!1,mode:"onBlur"});return T(()=>{if(e.currencySlug&&t.currencies&&n.includeManagementFee&&!e.management?.management_fee){let a=t.currencies.find(i=>i.value===e.currencySlug)?.label;if(a){m(a);let i=l(u,a,n.managementFees);c.setValue("management.management_fee",i?.toString()||"")}}},[e.currencySlug,t.currencies,n.includeManagementFee,n.managementFees,e.management?.management_fee,c]),k(f.Provider,{value:{form:c,formId:p,costCalculatorBag:t},children:g(t)})},"CostCalculatorFlow");export{W as a};
2
+ //# sourceMappingURL=chunk-KLKPBGKL.js.map
@@ -1,2 +1,2 @@
1
- import{a as l}from"./chunk-NPKIEWF4.js";import{b as s}from"./chunk-PGWKJ6FK.js";import{b as n}from"./chunk-2YTBWEC7.js";import{a as t}from"./chunk-P37U34EQ.js";import{jsx as E}from"react/jsx-runtime";function S({onSubmit:d,onError:a,onSuccess:m}){let{onboardingBag:r}=s(),c=t(async i=>{try{let e=await r.parseFormValues(i);await d?.(e);let o=await r.onSubmit(i);if(o?.data){await m?.(o.data),r?.next();return}if(o?.error){let p=n(o?.fieldErrors||[],r.meta?.fields?.contract_details);a?.({error:o.error,rawError:o.rawError,fieldErrors:p})}}catch(e){a?.({error:e,rawError:e,fieldErrors:[]})}},"handleSubmit");return E(l,{defaultValues:r.stepState.values?.contract_details||r.initialValues.contract_details,onSubmit:c})}t(S,"ContractDetailsStep");export{S as a};
2
- //# sourceMappingURL=chunk-UD4GEI4B.js.map
1
+ import{a as l}from"./chunk-ALC6W3PW.js";import{b as s}from"./chunk-PGWKJ6FK.js";import{b as n}from"./chunk-2YTBWEC7.js";import{a as t}from"./chunk-P37U34EQ.js";import{jsx as E}from"react/jsx-runtime";function S({onSubmit:d,onError:a,onSuccess:m}){let{onboardingBag:r}=s(),c=t(async i=>{try{let e=await r.parseFormValues(i);await d?.(e);let o=await r.onSubmit(i);if(o?.data){await m?.(o.data),r?.next();return}if(o?.error){let p=n(o?.fieldErrors||[],r.meta?.fields?.contract_details);a?.({error:o.error,rawError:o.rawError,fieldErrors:p})}}catch(e){a?.({error:e,rawError:e,fieldErrors:[]})}},"handleSubmit");return E(l,{defaultValues:r.stepState.values?.contract_details||r.initialValues.contract_details,onSubmit:c})}t(S,"ContractDetailsStep");export{S as a};
2
+ //# sourceMappingURL=chunk-NGYAG3LB.js.map
@@ -0,0 +1,2 @@
1
+ import{a as Q}from"./chunk-6E5GX7W3.js";import{a as J}from"./chunk-LGUGZN57.js";import{a as U}from"./chunk-6DHV4GT6.js";import{a as W}from"./chunk-3DRSYLBM.js";import{a as Y}from"./chunk-A5NDO6CQ.js";import{a as L}from"./chunk-XGECMN4V.js";import{a as S,b as B,c as q,d as z,e as R}from"./chunk-5JQMTMHR.js";import{c as Z,d as K}from"./chunk-RTQ4GKPG.js";import{a as H}from"./chunk-ZXGAFQXW.js";import{a as u,b as I}from"./chunk-EGSUF7OD.js";import{a as N}from"./chunk-V334GIML.js";import{a as E}from"./chunk-2YTBWEC7.js";import{a as D}from"./chunk-P5QKSFOE.js";import{n as $}from"./chunk-T6Q7IALZ.js";import{a as A}from"./chunk-5BRMLRS7.js";import{a as w}from"./chunk-Z5WMKCRJ.js";import{d as O}from"./chunk-KQPDXXG3.js";import{d as _}from"./chunk-HRG5MSVG.js";import{a as v}from"./chunk-UQCSN47K.js";import{a as o}from"./chunk-P37U34EQ.js";import ge from"lodash.omitby";import Se from"lodash.isnull";import{format as x,isFuture as xe,parseISO as j,subDays as je}from"date-fns";import{useMemo as V}from"react";import Ve from"lodash.omit";import{useQuery as ye}from"@tanstack/react-query";var G=o(({query:t,options:e})=>{let{client:y}=O();return ye({queryKey:["payroll-calendars"],queryFn:o(()=>$({client:y,query:{year:t?.year,country_code:t?.countryCode}}),"queryFn"),enabled:e?.enabled,select:o(c=>c.data?.data?.payroll_calendars?.[0],"select")})},"usePayrollCalendars");import{isFuture as Te,isToday as Fe,parseISO as Me}from"date-fns";var X=o(t=>{if(!t)return!1;let e=Me(t);return Te(e)||Fe(e)},"isInProbationPeriod");import{Fragment as Pe,jsx as m,jsxs as ke}from"react/jsx-runtime";var mo=o(({employmentId:t,options:e,initialValues:y})=>{let{fieldValues:c,setFieldValues:ee,stepState:l,previousStep:oe,nextStep:ie}=A(B),{data:n}=N({employmentId:t}),{data:te}=G({query:{year:new Date().getFullYear().toString(),countryCode:n?.country?.code},options:{enabled:!!n?.country?.code}}),T=X(n?.probation_period_end_date),F=q(te),P=V(()=>T?x(new Date,"yyyy-MM-dd"):x(F,"yyyy-MM-dd"),[T,F]),M=!!(n?.provisional_start_date&&xe(j(n.provisional_start_date))),g=R({...y,...l.values?.employee_communication,...l.values?.termination_details,...l.values?.paid_time_off,...l.values?.additional_information},M),d=V(()=>({...g,...c}),[c,g]),k=z({minTerminationDate:F,isEmployeeInProbationPeriod:T,selectedDate:j(d.proposed_termination_date)}),ne=V(()=>{let s=H.data.schema.properties.termination_reason.oneOf,a=M?s.filter(i=>i.const==="cancellation_before_start_date"):s.filter(i=>i.const!=="cancellation_before_start_date");return{fields:{risk_assesment_info:S("Offboarding risk assessment","Employees may be protected from termination if they fall into certain categories. To help avoid claims from employees, let us know if the employee is part of one or more of these categories. Select all that apply.",{className:e?.jsfModify?.fields?.risk_assesment_info?.["x-jsf-presentation"]?.className}),termination_reason:{...e?.jsfModify?.fields?.termination_reason,oneOf:a},proposed_termination_date_info:S("Proposed termination date",ke(Pe,{children:["In most cases, Remote must provide notice to the employee before termination. The required notice period depends on local labor laws, the employment agreement, and other factors. We'll use those factors to determine the required notice period.",m(I,{external:!0,zendeskId:u.terminationNoticePeriods,className:v("text-sm",e?.jsfModify?.fields?.proposed_termination_date_info?.["x-jsf-presentation"]?.zendeskTriggerButtonClassName),children:"Learn about notice periods"})]}),{className:e?.jsfModify?.fields?.proposed_termination_date_info?.["x-jsf-presentation"]?.className}),proposed_termination_date:{...e?.jsfModify?.fields?.proposed_termination_date,"x-jsf-presentation":{...e?.jsfModify?.fields?.proposed_termination_date?.["x-jsf-presentation"],minDate:P,...d.termination_reason==="cancellation_before_start_date"&&n?.provisional_start_date?{maxDate:x(je(j(n.provisional_start_date),1),"yyyy-MM-dd")}:{},...k},...d.termination_reason==="cancellation_before_start_date"?{"x-jsf-errorMessage":{maximum:"The proposed termination date must be before the employee's start date."}}:{}},paid_time_off_info:{...e?.jsfModify?.fields?.paid_time_off_info,"x-jsf-presentation":{...e?.jsfModify?.fields?.paid_time_off_info?.["x-jsf-presentation"],Component:o(()=>{let i=e?.jsfModify?.fields?.paid_time_off_info?.["x-jsf-presentation"]?.Component;return m(J,{employeeName:n?.basic_information?.name,proposedTerminationDate:d.proposed_termination_date,employmentId:t,employment:n,render:r=>i?m(i,{...r}):m(Q,{...r})})},"Component")}},acknowledge_termination_procedure_info:{...e?.jsfModify?.fields?.acknowledge_termination_procedure_info,"x-jsf-presentation":{...e?.jsfModify?.fields?.acknowledge_termination_procedure_info?.["x-jsf-presentation"],Component:o(()=>{let i=e?.jsfModify?.fields?.acknowledge_termination_procedure_info?.["x-jsf-presentation"]?.Component;return m(U,{render:r=>i?m(i,{...r}):m(W,{...r})})},"Component")}},acknowledge_termination_procedure_fees_info:{...e?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info,"x-jsf-presentation":{...e?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info?.["x-jsf-presentation"],Component:o(()=>{let i={involuntaryOffboardingServiceChargeZendeskId:u.involuntaryOffboardingServiceCharge,reconciliationInvoiceZendeskId:u.reconciliationInvoice},r=e?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info?.["x-jsf-presentation"]?.Component;return r?m(r,{...i}):m(Y,{...i})},"Component")}}}}},[n,t,d.proposed_termination_date,d.termination_reason,M,P,e?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info,e?.jsfModify?.fields?.acknowledge_termination_procedure_info,e?.jsfModify?.fields?.paid_time_off_info,e?.jsfModify?.fields?.proposed_termination_date,e?.jsfModify?.fields?.proposed_termination_date_info,e?.jsfModify?.fields?.risk_assesment_info,e?.jsfModify?.fields?.termination_reason,k]),{data:f,isLoading:ae}=K({formValues:d,jsfModify:{...e?.jsfModify,fields:{...e?.jsfModify?.fields,...ne?.fields}},step:l.currentStep.name}),re=D(L.data.schema),C=Z(),{mutateAsync:se}=E(C);async function me(s){if(!t)throw new Error("Employment id is missing");if(f){let a=await b(s,!0),{customer_informed_employee:i}=a,r=i==="yes"?{employee_awareness:{date:a.customer_informed_employee_date,note:a.customer_informed_employee_description}}:void 0,ce=await w(a,["agrees_to_pto_amount","confidential","customer_informed_employee","will_challenge_termination"]),pe=Ve(ce,"customer_informed_employee_date","customer_informed_employee_description"),_e=ge({...pe,...r},Se),p=a.timesheet_file??[],h=Array.isArray(p)&&p.length>0?{content:p[0].content,name:p[0].name}:void 0,ue={employment_id:t,termination_details:{..._e,timesheet_file:h||void 0},type:"termination"};return se(ue)}}o(me,"onSubmit");function de(){oe()}o(de,"back");function fe(){ie()}o(fe,"next");let le=Object.keys(c).length>0,b=o(async(s,a=!1)=>a?await _(s,re.fields,{isPartialValidation:!0}):f?await _(s,f?.fields,{isPartialValidation:!0}):{},"parseFormValues");return{employmentId:t,employment:n,fieldValues:d,isDirty:le,stepState:l,fields:f?.fields||[],isLoading:ae,isSubmitting:C.isPending,initialValues:g,handleValidation:o(async s=>{if(f){let a=await _(s,f?.fields);return f?.handleValidation(a)}return null},"handleValidation"),checkFieldUpdates:ee,parseFormValues:b,onSubmit:me,back:de,next:fe}},"useTermination");export{mo as a};
2
+ //# sourceMappingURL=chunk-NHZTYFOJ.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/flows/Termination/hooks.tsx","../src/common/api/payroll-calendars.ts","../src/common/employment.ts"],"sourcesContent":["import { $TSFixMe } from '@/src/types/remoteFlows';\nimport { createHeadlessForm } from '@/src/common/createHeadlessForm';\nimport omitBy from 'lodash.omitby';\nimport isNull from 'lodash.isnull';\nimport { format, isFuture, parseISO, subDays } from 'date-fns';\nimport { useMemo } from 'react';\nimport {\n CreateOffboardingParams,\n TerminationDetailsParams,\n} from '@/src/client';\nimport { mutationToPromise } from '@/src/lib/mutations';\nimport { parseJSFToValidate } from '@/src/components/form/utils';\nimport {\n EmployeeCommunicationFormValues,\n PaidTimeOffFormValues,\n TerminationDetailsFormValues,\n TerminationFlowProps,\n TerminationFormValues,\n} from '@/src/flows/Termination/types';\nimport omit from 'lodash.omit';\nimport { parseFormRadioValues } from '@/src/flows/utils';\nimport { useStepState } from '@/src/flows/useStepState';\nimport {\n buildInitialValues,\n calculateMinTerminationDate,\n calculateProposedTerminationDateStatement,\n STEPS,\n} from '@/src/flows/Termination/utils';\nimport { jsonSchema } from '@/src/flows/Termination/json-schemas/jsonSchema';\nimport { terminationDetailsSchema } from '@/src/flows/Termination/json-schemas/terminationDetails';\nimport {\n useCreateTermination,\n useTerminationSchema,\n} from '@/src/flows/Termination/api';\nimport { createInformationField } from '@/src/components/form/jsf-utils/createFields';\nimport { cn } from '@/src/internals';\nimport { zendeskArticles } from '@/src/components/shared/zendesk-drawer/utils';\nimport { PaidTimeOff } from '@/src/flows/Termination/components/PaidTimeOff/PaidTimeOff';\nimport { PaidTimeOffContainer } from '@/src/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer';\nimport { useEmploymentQuery } from '@/src/common/api';\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 ...terminationInitialValues,\n ...stepState.values?.employee_communication,\n ...stepState.values?.termination_details,\n ...stepState.values?.paid_time_off,\n ...stepState.values?.additional_information,\n },\n hasFutureStartDate,\n );\n\n const formValues = useMemo(\n () => ({\n ...initialValues,\n ...fieldValues,\n }),\n [fieldValues, initialValues],\n );\n\n const proposedTerminationDateStatement =\n calculateProposedTerminationDateStatement({\n minTerminationDate,\n isEmployeeInProbationPeriod,\n selectedDate: parseISO(formValues.proposed_termination_date),\n });\n\n const customFields = useMemo(() => {\n const originalTerminationReasonOptions =\n terminationDetailsSchema.data.schema.properties.termination_reason.oneOf;\n\n const terminationReasonOptions = hasFutureStartDate\n ? originalTerminationReasonOptions.filter(\n (option: $TSFixMe) =>\n option.const === 'cancellation_before_start_date',\n )\n : originalTerminationReasonOptions.filter(\n (option: $TSFixMe) =>\n option.const !== 'cancellation_before_start_date',\n );\n\n return {\n fields: {\n risk_assesment_info: createInformationField(\n 'Offboarding risk assessment',\n 'Employees may be protected from termination if they fall into certain categories. To help avoid claims from employees, let us know if the employee is part of one or more of these categories. Select all that apply.',\n {\n className: (\n options?.jsfModify?.fields?.risk_assesment_info as $TSFixMe\n )?.['x-jsf-presentation']?.className,\n },\n ),\n termination_reason: {\n ...(options?.jsfModify?.fields?.termination_reason as $TSFixMe),\n oneOf: terminationReasonOptions,\n },\n proposed_termination_date_info: createInformationField(\n 'Proposed termination date',\n <>\n In most cases, Remote must provide notice to the employee before\n termination. The required notice period depends on local labor laws,\n the employment agreement, and other factors. We'll use those factors\n to determine the required notice period.\n <ZendeskTriggerButton\n external\n zendeskId={zendeskArticles.terminationNoticePeriods}\n className={cn(\n 'text-sm',\n (\n options?.jsfModify?.fields\n ?.proposed_termination_date_info as $TSFixMe\n )?.['x-jsf-presentation']?.zendeskTriggerButtonClassName,\n )}\n >\n Learn about notice periods\n </ZendeskTriggerButton>\n </>,\n {\n className: (\n options?.jsfModify?.fields\n ?.proposed_termination_date_info as $TSFixMe\n )?.['x-jsf-presentation']?.className,\n },\n ),\n proposed_termination_date: {\n ...(options?.jsfModify?.fields\n ?.proposed_termination_date as $TSFixMe),\n 'x-jsf-presentation': {\n ...(\n options?.jsfModify?.fields?.proposed_termination_date as $TSFixMe\n )?.['x-jsf-presentation'],\n minDate: minDate,\n ...(formValues.termination_reason ===\n 'cancellation_before_start_date' &&\n employment?.provisional_start_date\n ? {\n maxDate: format(\n subDays(parseISO(employment.provisional_start_date), 1),\n 'yyyy-MM-dd',\n ),\n }\n : {}),\n ...proposedTerminationDateStatement,\n },\n ...(formValues.termination_reason === 'cancellation_before_start_date'\n ? {\n 'x-jsf-errorMessage': {\n maximum:\n \"The proposed termination date must be before the employee's start date.\",\n },\n }\n : {}),\n },\n paid_time_off_info: {\n ...(options?.jsfModify?.fields?.paid_time_off_info as $TSFixMe),\n 'x-jsf-presentation': {\n ...(options?.jsfModify?.fields?.paid_time_off_info as $TSFixMe)?.[\n 'x-jsf-presentation'\n ],\n Component: () => {\n const CustomComponent = (\n options?.jsfModify?.fields?.paid_time_off_info as $TSFixMe\n )?.['x-jsf-presentation']?.Component;\n\n return (\n <PaidTimeOffContainer\n employeeName={employment?.basic_information?.name as string}\n proposedTerminationDate={formValues.proposed_termination_date}\n employmentId={employmentId}\n employment={employment}\n render={(props) => {\n if (CustomComponent) {\n return <CustomComponent {...props} />;\n }\n return <PaidTimeOff {...props} />;\n }}\n />\n );\n },\n },\n },\n acknowledge_termination_procedure_info: {\n ...(options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_info as $TSFixMe),\n 'x-jsf-presentation': {\n ...(\n options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_info as $TSFixMe\n )?.['x-jsf-presentation'],\n Component: () => {\n const CustomComponent = (\n options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_info as $TSFixMe\n )?.['x-jsf-presentation']?.Component;\n\n return (\n <AcknowledgeInformationContainer\n render={(props) => {\n if (CustomComponent) {\n return <CustomComponent {...props} />;\n }\n return <AcknowledgeInformation {...props} />;\n }}\n />\n );\n },\n },\n },\n acknowledge_termination_procedure_fees_info: {\n ...(options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_fees_info as $TSFixMe),\n 'x-jsf-presentation': {\n ...(\n options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_fees_info as $TSFixMe\n )?.['x-jsf-presentation'],\n Component: () => {\n const zendeskIds = {\n involuntaryOffboardingServiceChargeZendeskId:\n zendeskArticles.involuntaryOffboardingServiceCharge,\n reconciliationInvoiceZendeskId:\n zendeskArticles.reconciliationInvoice,\n };\n\n const CustomComponent = (\n options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_fees_info as $TSFixMe\n )?.['x-jsf-presentation']?.Component;\n\n if (CustomComponent) {\n return <CustomComponent {...zendeskIds} />;\n }\n\n return <AcknowledgeInformationFees {...zendeskIds} />;\n },\n },\n },\n },\n };\n }, [\n employment,\n employmentId,\n formValues.proposed_termination_date,\n formValues.termination_reason,\n hasFutureStartDate,\n minDate,\n options?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info,\n options?.jsfModify?.fields?.acknowledge_termination_procedure_info,\n options?.jsfModify?.fields?.paid_time_off_info,\n options?.jsfModify?.fields?.proposed_termination_date,\n options?.jsfModify?.fields?.proposed_termination_date_info,\n options?.jsfModify?.fields?.risk_assesment_info,\n options?.jsfModify?.fields?.termination_reason,\n proposedTerminationDateStatement,\n ]);\n\n const { data: terminationHeadlessForm, isLoading: isLoadingTermination } =\n useTerminationSchema({\n formValues: formValues,\n jsfModify: {\n ...options?.jsfModify,\n fields: {\n ...options?.jsfModify?.fields,\n ...customFields?.fields,\n },\n },\n step: stepState.currentStep.name,\n });\n\n const entireTerminationSchema = createHeadlessForm(jsonSchema.data.schema);\n\n const createTermination = useCreateTermination();\n const { mutateAsync } = mutationToPromise(createTermination);\n\n async function onSubmit(values: TerminationFormValues) {\n if (!employmentId) {\n throw new Error('Employment id is missing');\n }\n\n if (terminationHeadlessForm) {\n const parsedValues = (await parseFormValues(\n values,\n true,\n )) as TerminationFormValues;\n\n const { customer_informed_employee: customerInformedEmployee } =\n parsedValues;\n\n const employeeAwareness =\n customerInformedEmployee === 'yes'\n ? {\n employee_awareness: {\n date: parsedValues.customer_informed_employee_date,\n note: parsedValues.customer_informed_employee_description,\n },\n }\n : undefined;\n\n const radioFieldKeys = [\n 'agrees_to_pto_amount',\n 'confidential',\n 'customer_informed_employee',\n 'will_challenge_termination',\n ];\n\n const parsedRadioValues = await parseFormRadioValues(\n parsedValues,\n radioFieldKeys,\n );\n\n const normalizedValues = omit(\n parsedRadioValues,\n 'customer_informed_employee_date',\n 'customer_informed_employee_description',\n );\n\n const terminationDetails: TerminationDetailsParams = omitBy(\n {\n ...normalizedValues,\n ...employeeAwareness,\n },\n isNull,\n ) as unknown as TerminationDetailsParams;\n\n const 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":["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 } from '@/src/types/remoteFlows';\nimport { createHeadlessForm } from '@/src/common/createHeadlessForm';\nimport omitBy from 'lodash.omitby';\nimport isNull from 'lodash.isnull';\nimport { format, isFuture, parseISO, subDays } from 'date-fns';\nimport { useMemo } from 'react';\nimport {\n CreateOffboardingParams,\n TerminationDetailsParams,\n} from '@/src/client';\nimport { mutationToPromise } from '@/src/lib/mutations';\nimport { parseJSFToValidate } from '@/src/components/form/utils';\nimport {\n EmployeeCommunicationFormValues,\n PaidTimeOffFormValues,\n TerminationDetailsFormValues,\n TerminationFlowProps,\n TerminationFormValues,\n} from '@/src/flows/Termination/types';\nimport omit from 'lodash.omit';\nimport { parseFormRadioValues } from '@/src/flows/utils';\nimport { useStepState } from '@/src/flows/useStepState';\nimport {\n buildInitialValues,\n calculateMinTerminationDate,\n calculateProposedTerminationDateStatement,\n STEPS,\n} from '@/src/flows/Termination/utils';\nimport { jsonSchema } from '@/src/flows/Termination/json-schemas/jsonSchema';\nimport { terminationDetailsSchema } from '@/src/flows/Termination/json-schemas/terminationDetails';\nimport {\n useCreateTermination,\n useTerminationSchema,\n} from '@/src/flows/Termination/api';\nimport { createInformationField } from '@/src/components/form/jsf-utils/createFields';\nimport { cn } from '@/src/internals';\nimport { zendeskArticles } from '@/src/components/shared/zendesk-drawer/utils';\nimport { PaidTimeOff } from '@/src/flows/Termination/components/PaidTimeOff/PaidTimeOff';\nimport { PaidTimeOffContainer } from '@/src/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer';\nimport { useEmploymentQuery } from '@/src/common/api';\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 ...terminationInitialValues,\n ...stepState.values?.employee_communication,\n ...stepState.values?.termination_details,\n ...stepState.values?.paid_time_off,\n ...stepState.values?.additional_information,\n },\n hasFutureStartDate,\n );\n\n const formValues = useMemo(\n () => ({\n ...initialValues,\n ...fieldValues,\n }),\n [fieldValues, initialValues],\n );\n\n const proposedTerminationDateStatement =\n calculateProposedTerminationDateStatement({\n minTerminationDate,\n isEmployeeInProbationPeriod,\n selectedDate: parseISO(formValues.proposed_termination_date),\n });\n\n const customFields = useMemo(() => {\n const originalTerminationReasonOptions =\n terminationDetailsSchema.data.schema.properties.termination_reason.oneOf;\n\n const terminationReasonOptions = hasFutureStartDate\n ? originalTerminationReasonOptions.filter(\n (option: $TSFixMe) =>\n option.const === 'cancellation_before_start_date',\n )\n : originalTerminationReasonOptions.filter(\n (option: $TSFixMe) =>\n option.const !== 'cancellation_before_start_date',\n );\n\n return {\n fields: {\n risk_assesment_info: createInformationField(\n 'Offboarding risk assessment',\n 'Employees may be protected from termination if they fall into certain categories. To help avoid claims from employees, let us know if the employee is part of one or more of these categories. Select all that apply.',\n {\n className: (\n options?.jsfModify?.fields?.risk_assesment_info as $TSFixMe\n )?.['x-jsf-presentation']?.className,\n },\n ),\n termination_reason: {\n ...(options?.jsfModify?.fields?.termination_reason as $TSFixMe),\n oneOf: terminationReasonOptions,\n },\n proposed_termination_date_info: createInformationField(\n 'Proposed termination date',\n <>\n In most cases, Remote must provide notice to the employee before\n termination. The required notice period depends on local labor laws,\n the employment agreement, and other factors. We'll use those factors\n to determine the required notice period.\n <ZendeskTriggerButton\n external\n zendeskId={zendeskArticles.terminationNoticePeriods}\n className={cn(\n 'text-sm',\n (\n options?.jsfModify?.fields\n ?.proposed_termination_date_info as $TSFixMe\n )?.['x-jsf-presentation']?.zendeskTriggerButtonClassName,\n )}\n >\n Learn about notice periods\n </ZendeskTriggerButton>\n </>,\n {\n className: (\n options?.jsfModify?.fields\n ?.proposed_termination_date_info as $TSFixMe\n )?.['x-jsf-presentation']?.className,\n },\n ),\n proposed_termination_date: {\n ...(options?.jsfModify?.fields\n ?.proposed_termination_date as $TSFixMe),\n 'x-jsf-presentation': {\n ...(\n options?.jsfModify?.fields?.proposed_termination_date as $TSFixMe\n )?.['x-jsf-presentation'],\n minDate: minDate,\n ...(formValues.termination_reason ===\n 'cancellation_before_start_date' &&\n employment?.provisional_start_date\n ? {\n maxDate: format(\n subDays(parseISO(employment.provisional_start_date), 1),\n 'yyyy-MM-dd',\n ),\n }\n : {}),\n ...proposedTerminationDateStatement,\n },\n ...(formValues.termination_reason === 'cancellation_before_start_date'\n ? {\n 'x-jsf-errorMessage': {\n maximum:\n \"The proposed termination date must be before the employee's start date.\",\n },\n }\n : {}),\n },\n paid_time_off_info: {\n ...(options?.jsfModify?.fields?.paid_time_off_info as $TSFixMe),\n 'x-jsf-presentation': {\n ...(options?.jsfModify?.fields?.paid_time_off_info as $TSFixMe)?.[\n 'x-jsf-presentation'\n ],\n Component: () => {\n const CustomComponent = (\n options?.jsfModify?.fields?.paid_time_off_info as $TSFixMe\n )?.['x-jsf-presentation']?.Component;\n\n return (\n <PaidTimeOffContainer\n employeeName={employment?.basic_information?.name as string}\n proposedTerminationDate={formValues.proposed_termination_date}\n employmentId={employmentId}\n employment={employment}\n render={(props) => {\n if (CustomComponent) {\n return <CustomComponent {...props} />;\n }\n return <PaidTimeOff {...props} />;\n }}\n />\n );\n },\n },\n },\n acknowledge_termination_procedure_info: {\n ...(options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_info as $TSFixMe),\n 'x-jsf-presentation': {\n ...(\n options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_info as $TSFixMe\n )?.['x-jsf-presentation'],\n Component: () => {\n const CustomComponent = (\n options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_info as $TSFixMe\n )?.['x-jsf-presentation']?.Component;\n\n return (\n <AcknowledgeInformationContainer\n render={(props) => {\n if (CustomComponent) {\n return <CustomComponent {...props} />;\n }\n return <AcknowledgeInformation {...props} />;\n }}\n />\n );\n },\n },\n },\n acknowledge_termination_procedure_fees_info: {\n ...(options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_fees_info as $TSFixMe),\n 'x-jsf-presentation': {\n ...(\n options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_fees_info as $TSFixMe\n )?.['x-jsf-presentation'],\n Component: () => {\n const zendeskIds = {\n involuntaryOffboardingServiceChargeZendeskId:\n zendeskArticles.involuntaryOffboardingServiceCharge,\n reconciliationInvoiceZendeskId:\n zendeskArticles.reconciliationInvoice,\n };\n\n const CustomComponent = (\n options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_fees_info as $TSFixMe\n )?.['x-jsf-presentation']?.Component;\n\n if (CustomComponent) {\n return <CustomComponent {...zendeskIds} />;\n }\n\n return <AcknowledgeInformationFees {...zendeskIds} />;\n },\n },\n },\n },\n };\n }, [\n employment,\n employmentId,\n formValues.proposed_termination_date,\n formValues.termination_reason,\n hasFutureStartDate,\n minDate,\n options?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info,\n options?.jsfModify?.fields?.acknowledge_termination_procedure_info,\n options?.jsfModify?.fields?.paid_time_off_info,\n options?.jsfModify?.fields?.proposed_termination_date,\n options?.jsfModify?.fields?.proposed_termination_date_info,\n options?.jsfModify?.fields?.risk_assesment_info,\n options?.jsfModify?.fields?.termination_reason,\n proposedTerminationDateStatement,\n ]);\n\n const { data: terminationHeadlessForm, isLoading: isLoadingTermination } =\n useTerminationSchema({\n formValues: formValues,\n jsfModify: {\n ...options?.jsfModify,\n fields: {\n ...options?.jsfModify?.fields,\n ...customFields?.fields,\n },\n },\n step: stepState.currentStep.name,\n });\n\n const entireTerminationSchema = createHeadlessForm(jsonSchema.data.schema);\n\n const createTermination = useCreateTermination();\n const { mutateAsync } = mutationToPromise(createTermination);\n\n async function onSubmit(values: TerminationFormValues) {\n if (!employmentId) {\n throw new Error('Employment id is missing');\n }\n\n if (terminationHeadlessForm) {\n const parsedValues = (await parseFormValues(\n values,\n true,\n )) as TerminationFormValues;\n\n const { customer_informed_employee: customerInformedEmployee } =\n parsedValues;\n\n const employeeAwareness =\n customerInformedEmployee === 'yes'\n ? {\n employee_awareness: {\n date: parsedValues.customer_informed_employee_date,\n note: parsedValues.customer_informed_employee_description,\n },\n }\n : undefined;\n\n const radioFieldKeys = [\n 'agrees_to_pto_amount',\n 'confidential',\n 'customer_informed_employee',\n 'will_challenge_termination',\n ];\n\n const parsedRadioValues = await parseFormRadioValues(\n parsedValues,\n radioFieldKeys,\n );\n\n const normalizedValues = omit(\n parsedRadioValues,\n 'customer_informed_employee_date',\n 'customer_informed_employee_description',\n );\n\n const terminationDetails: TerminationDetailsParams = omitBy(\n {\n ...normalizedValues,\n ...employeeAwareness,\n },\n isNull,\n ) as unknown as TerminationDetailsParams;\n\n const files = (parsedValues.timesheet_file as $TSFixMe) ?? [];\n const timesheetFile =\n Array.isArray(files) && files.length > 0\n ? { content: files[0].content, name: files[0].name }\n : undefined;\n\n const terminationPayload: CreateOffboardingParams = {\n employment_id: employmentId,\n termination_details: {\n ...terminationDetails,\n timesheet_file: timesheetFile ? timesheetFile : undefined,\n },\n type: 'termination',\n };\n\n return mutateAsync(terminationPayload);\n }\n\n return;\n }\n\n function back() {\n previousStep();\n }\n\n function next() {\n nextStep();\n }\n\n const isDirty = Boolean(Object.keys(fieldValues).length > 0);\n\n const parseFormValues = async (\n values: TerminationFormValues,\n includeAllFields: boolean = false,\n ): Promise<\n | EmployeeCommunicationFormValues\n | TerminationDetailsFormValues\n | PaidTimeOffFormValues\n | TerminationFormValues\n > => {\n if (includeAllFields) {\n return (await parseJSFToValidate(values, entireTerminationSchema.fields, {\n isPartialValidation: true,\n })) as TerminationFormValues;\n }\n\n if (terminationHeadlessForm) {\n return (await parseJSFToValidate(\n values,\n terminationHeadlessForm?.fields,\n {\n isPartialValidation: true,\n },\n )) as\n | EmployeeCommunicationFormValues\n | TerminationDetailsFormValues\n | PaidTimeOffFormValues;\n }\n return {} as $TSFixMe;\n };\n\n return {\n /**\n * Employment id passed useful to be used between components\n */\n employmentId,\n /**\n * Employment data\n */\n employment,\n\n /**\n * Current form field values, we use formValues to let the user know about all the current form values\n */\n fieldValues: formValues,\n\n /**\n * Indicates if the form is dirty\n */\n isDirty,\n /**\n * Current step state containing the current step and total number of steps\n */\n stepState,\n /**\n * Array of form fields from the contract amendment schema\n */\n fields: terminationHeadlessForm?.fields || [],\n /**\n * Loading state indicating if the termination schema is being fetched\n */\n isLoading: isLoadingTermination,\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":["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","files","timesheetFile","terminationPayload","back","next","isDirty","includeAllFields","parseJSFToValidate"]}
@@ -1,2 +1,2 @@
1
- import{a as m}from"./chunk-AJ5SXKFO.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-QDSRG735.js.map
1
+ import{a as m}from"./chunk-ZJAFMNUN.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-R5GUJ3IC.js.map