@remoteoss/remote-flows 1.4.0 → 1.4.2

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 (224) hide show
  1. package/dist/{chunk-4FW2VTO4.js → chunk-22HZVTR7.js} +2 -2
  2. package/dist/{chunk-W3OQNZW6.js → chunk-25M7VGZT.js} +2 -2
  3. package/dist/chunk-2BW2VK5F.js +2 -0
  4. package/dist/chunk-2BW2VK5F.js.map +1 -0
  5. package/dist/{chunk-X6325UGJ.js → chunk-2XVUZH4T.js} +2 -2
  6. package/dist/{chunk-HUJ3AUIS.js → chunk-2ZCOC6FB.js} +2 -2
  7. package/dist/{chunk-3CRC4NDD.js → chunk-3DGBLO6M.js} +2 -2
  8. package/dist/{chunk-OXOK5PM3.js → chunk-3OX2LLXL.js} +2 -2
  9. package/dist/chunk-42R2H2DW.js +2 -0
  10. package/dist/{chunk-QDSRG735.js → chunk-5HXPBCU6.js} +2 -2
  11. package/dist/{chunk-QKKAJK3A.js → chunk-6YRMHTAZ.js} +2 -2
  12. package/dist/{chunk-D6Y7GLBT.js → chunk-73BVEZJ6.js} +2 -2
  13. package/dist/chunk-7JL3BFOU.js +2 -0
  14. package/dist/chunk-7JL3BFOU.js.map +1 -0
  15. package/dist/{chunk-2FDEMDWJ.js → chunk-7X3WUOTU.js} +2 -2
  16. package/dist/{chunk-SKQWZNKT.js → chunk-AOQ5FJGP.js} +2 -2
  17. package/dist/{chunk-NPKIEWF4.js → chunk-B3TRTHW4.js} +2 -2
  18. package/dist/{chunk-6AQLDTMK.js → chunk-BF3P3CMA.js} +2 -2
  19. package/dist/{chunk-PSHPB65F.js → chunk-BZBPPV5B.js} +2 -2
  20. package/dist/{chunk-VCEQ5E2O.js → chunk-CZ7DTX5L.js} +2 -2
  21. package/dist/chunk-DJ2OL5GS.js +2 -0
  22. package/dist/chunk-DJ2OL5GS.js.map +1 -0
  23. package/dist/chunk-EAV5VOMZ.js +2 -0
  24. package/dist/chunk-EAV5VOMZ.js.map +1 -0
  25. package/dist/{chunk-XGECMN4V.js → chunk-IF42CZJH.js} +2 -2
  26. package/dist/{chunk-WLN6G3TE.js → chunk-J3BK2DEH.js} +2 -2
  27. package/dist/{chunk-LJ6FHPXW.js → chunk-JDNBIL6Z.js} +2 -2
  28. package/dist/{chunk-G2X5F5YR.js → chunk-JHSQWGEK.js} +2 -2
  29. package/dist/{chunk-7XKEJ5Y6.js → chunk-KABFJTE2.js} +2 -2
  30. package/dist/chunk-LEVFKYRL.js +2 -0
  31. package/dist/chunk-LEVFKYRL.js.map +1 -0
  32. package/dist/{chunk-VYHITQHG.js → chunk-MWMX5KTM.js} +2 -2
  33. package/dist/{chunk-T5OFLN36.js → chunk-OF66TZF4.js} +2 -2
  34. package/dist/{chunk-CTAWDJ2D.js → chunk-QLX4J76Z.js} +2 -2
  35. package/dist/chunk-QZ6XHIMS.js +2 -0
  36. package/dist/chunk-QZ6XHIMS.js.map +1 -0
  37. package/dist/{chunk-6E5GX7W3.js → chunk-RWYXH6CE.js} +1 -1
  38. package/dist/chunk-RWYXH6CE.js.map +1 -0
  39. package/dist/{chunk-K62H3A5T.js → chunk-SCIX6XLQ.js} +2 -2
  40. package/dist/{chunk-NHREKNSV.js → chunk-SPMEMAK5.js} +2 -2
  41. package/dist/chunk-TC3CLBCD.js +2 -0
  42. package/dist/chunk-TC3CLBCD.js.map +1 -0
  43. package/dist/{chunk-KRDAGWDH.js → chunk-TKSW7MGC.js} +2 -2
  44. package/dist/{chunk-FEIYAZ7Q.js → chunk-VTX5YWRU.js} +2 -2
  45. package/dist/{chunk-7JDWTTYE.js → chunk-WMB752CR.js} +2 -2
  46. package/dist/{chunk-UD4GEI4B.js → chunk-Y75E2FOC.js} +2 -2
  47. package/dist/{chunk-AJ5SXKFO.js → chunk-ZJAFMNUN.js} +2 -2
  48. package/dist/chunk-ZK27BWOZ.js +2 -0
  49. package/dist/chunk-ZK27BWOZ.js.map +1 -0
  50. package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.d.ts +1 -1
  51. package/dist/flows/ContractAmendment/ContractAmendmentFlow.d.ts +3 -3
  52. package/dist/flows/ContractAmendment/ContractAmendmentFlow.js +1 -1
  53. package/dist/flows/ContractAmendment/ContractAmendmentForm.d.ts +1 -1
  54. package/dist/flows/ContractAmendment/ContractAmendmentForm.js +1 -1
  55. package/dist/flows/ContractAmendment/context.d.ts +3 -3
  56. package/dist/flows/ContractAmendment/hooks.d.ts +3 -3
  57. package/dist/flows/ContractAmendment/hooks.js +1 -1
  58. package/dist/flows/ContractAmendment/index.d.ts +3 -3
  59. package/dist/flows/ContractAmendment/index.js +1 -1
  60. package/dist/flows/ContractAmendment/types.d.ts +2 -2
  61. package/dist/flows/ContractAmendment/utils.d.ts +2 -2
  62. package/dist/flows/ContractorOnboarding/ContractorOnboarding.d.ts +5 -5
  63. package/dist/flows/ContractorOnboarding/ContractorOnboarding.js +1 -1
  64. package/dist/flows/ContractorOnboarding/api.d.ts +2 -2
  65. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.d.ts +4 -4
  66. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.js +1 -1
  67. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.d.ts +5 -5
  68. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.js +1 -1
  69. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.d.ts +5 -5
  70. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.js +1 -1
  71. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.d.ts +5 -5
  72. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.js +1 -1
  73. package/dist/flows/ContractorOnboarding/components/OnboardingInvite.d.ts +3 -3
  74. package/dist/flows/ContractorOnboarding/components/OnboardingInvite.js +1 -1
  75. package/dist/flows/ContractorOnboarding/components/PricingPlan.d.ts +5 -5
  76. package/dist/flows/ContractorOnboarding/components/PricingPlan.js +1 -1
  77. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.d.ts +4 -4
  78. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.js +1 -1
  79. package/dist/flows/ContractorOnboarding/context.d.ts +5 -5
  80. package/dist/flows/ContractorOnboarding/hooks.d.ts +5 -5
  81. package/dist/flows/ContractorOnboarding/hooks.js +1 -1
  82. package/dist/flows/ContractorOnboarding/index.d.ts +5 -5
  83. package/dist/flows/ContractorOnboarding/index.js +1 -1
  84. package/dist/flows/ContractorOnboarding/types.d.ts +5 -5
  85. package/dist/flows/ContractorOnboarding/utils.d.ts +2 -2
  86. package/dist/flows/CostCalculator/CostCalculatorFlow.d.ts +3 -3
  87. package/dist/flows/CostCalculator/CostCalculatorFlow.js +1 -1
  88. package/dist/flows/CostCalculator/CostCalculatorForm.d.ts +3 -3
  89. package/dist/flows/CostCalculator/CostCalculatorForm.js +1 -1
  90. package/dist/flows/CostCalculator/EstimationResults/EstimationResults.d.ts +2 -2
  91. package/dist/flows/CostCalculator/SummaryResults/SummaryResults.d.ts +2 -2
  92. package/dist/flows/CostCalculator/api.d.ts +2 -2
  93. package/dist/flows/CostCalculator/components/SalaryField.d.ts +2 -2
  94. package/dist/flows/CostCalculator/context.d.ts +3 -3
  95. package/dist/flows/CostCalculator/hooks.d.ts +3 -3
  96. package/dist/flows/CostCalculator/hooks.js +1 -1
  97. package/dist/flows/CostCalculator/index.d.ts +3 -3
  98. package/dist/flows/CostCalculator/index.js +1 -1
  99. package/dist/flows/CostCalculator/types.d.ts +2 -2
  100. package/dist/flows/CostCalculator/utils.d.ts +3 -3
  101. package/dist/flows/CostCalculator/utils.js +1 -1
  102. package/dist/flows/Onboarding/OnboardingFlow.d.ts +4 -4
  103. package/dist/flows/Onboarding/OnboardingFlow.js +1 -1
  104. package/dist/flows/Onboarding/api.d.ts +4 -4
  105. package/dist/flows/Onboarding/components/AnnualGrossSalary.d.ts +2 -2
  106. package/dist/flows/Onboarding/components/BasicInformationStep.d.ts +4 -4
  107. package/dist/flows/Onboarding/components/BasicInformationStep.js +1 -1
  108. package/dist/flows/Onboarding/components/BenefitsStep.d.ts +4 -4
  109. package/dist/flows/Onboarding/components/BenefitsStep.js +1 -1
  110. package/dist/flows/Onboarding/components/ContractDetailsStep.d.ts +4 -4
  111. package/dist/flows/Onboarding/components/ContractDetailsStep.js +1 -1
  112. package/dist/flows/Onboarding/components/OnboardingForm.d.ts +4 -4
  113. package/dist/flows/Onboarding/components/OnboardingForm.js +1 -1
  114. package/dist/flows/Onboarding/components/OnboardingInvite.d.ts +3 -3
  115. package/dist/flows/Onboarding/components/OnboardingInvite.js +1 -1
  116. package/dist/flows/Onboarding/components/ReviewStep.d.ts +4 -4
  117. package/dist/flows/Onboarding/components/SaveDraftButton.d.ts +3 -3
  118. package/dist/flows/Onboarding/components/SelectCountryStep.d.ts +4 -4
  119. package/dist/flows/Onboarding/components/SelectCountryStep.js +1 -1
  120. package/dist/flows/Onboarding/context.d.ts +6 -6
  121. package/dist/flows/Onboarding/hooks.d.ts +4 -4
  122. package/dist/flows/Onboarding/hooks.js +1 -1
  123. package/dist/flows/Onboarding/index.d.ts +4 -4
  124. package/dist/flows/Onboarding/index.js +1 -1
  125. package/dist/flows/Onboarding/types.d.ts +4 -4
  126. package/dist/flows/Onboarding/utils.d.ts +4 -4
  127. package/dist/flows/Termination/AdditionalDetailsForm.d.ts +4 -4
  128. package/dist/flows/Termination/AdditionalDetailsForm.js +1 -1
  129. package/dist/flows/Termination/EmployeeComunicationForm.d.ts +4 -4
  130. package/dist/flows/Termination/EmployeeComunicationForm.js +1 -1
  131. package/dist/flows/Termination/PaidTimeOffForm.d.ts +4 -4
  132. package/dist/flows/Termination/PaidTimeOffForm.js +1 -1
  133. package/dist/flows/Termination/TerminationDetailsForm.d.ts +4 -4
  134. package/dist/flows/Termination/TerminationDetailsForm.js +1 -1
  135. package/dist/flows/Termination/TerminationFlow.d.ts +4 -4
  136. package/dist/flows/Termination/TerminationFlow.js +1 -1
  137. package/dist/flows/Termination/TerminationForm.d.ts +4 -4
  138. package/dist/flows/Termination/TerminationForm.js +1 -1
  139. package/dist/flows/Termination/api.d.ts +5 -5
  140. package/dist/flows/Termination/api.js +1 -1
  141. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.d.ts +9 -10
  142. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.js +1 -1
  143. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.d.ts +9 -10
  144. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.js +1 -1
  145. package/dist/flows/Termination/components/PaidTimeOff/types.d.ts +7 -8
  146. package/dist/flows/Termination/components/TerminationDialogInfoContent/TerminationDialogInfoContent.js +1 -1
  147. package/dist/flows/Termination/context.d.ts +4 -4
  148. package/dist/flows/Termination/hooks.d.ts +4 -4
  149. package/dist/flows/Termination/hooks.js +1 -1
  150. package/dist/flows/Termination/index.d.ts +7 -8
  151. package/dist/flows/Termination/index.js +1 -1
  152. package/dist/flows/Termination/json-schemas/jsonSchema.js +1 -1
  153. package/dist/flows/Termination/json-schemas/schema.d.ts +4 -4
  154. package/dist/flows/Termination/json-schemas/schema.js +1 -1
  155. package/dist/flows/Termination/types.d.ts +4 -4
  156. package/dist/flows/Termination/utils.d.ts +4 -4
  157. package/dist/flows/types.d.ts +2 -2
  158. package/dist/index.css +1 -1
  159. package/dist/index.css.map +1 -1
  160. package/dist/index.d.ts +35 -12
  161. package/dist/index.js +2 -2
  162. package/dist/index.js.map +1 -1
  163. package/dist/internals.d.ts +5 -4
  164. package/dist/internals.js +1 -1
  165. package/dist/{mutations-DodnkAWj.d.ts → mutations-BC52jdwm.d.ts} +1 -1
  166. package/dist/{remoteFlows-xvD84Bor.d.ts → remoteFlows-BO4472Up.d.ts} +1 -1
  167. package/dist/styles.css +1 -1
  168. package/dist/styles.css.map +1 -1
  169. package/dist/{types-BukQasy8.d.ts → types-B42GAkGo.d.ts} +4 -4
  170. package/dist/{types-Ckh2r3F3.d.ts → types-CBp9UlbO.d.ts} +3 -25
  171. package/dist/{types-Ct_LPoSR.d.ts → types-CINXtJqR.d.ts} +3 -3
  172. package/dist/{types-B5wlUr-S.d.ts → types-CqM53tgV.d.ts} +4 -4
  173. package/dist/{types.gen-D2nbxMA0.d.ts → types.gen-BBpr3-TL.d.ts} +1 -1
  174. package/dist/{utils-arqMz3zD.d.ts → utils-DHJl95Wn.d.ts} +1 -1
  175. package/package.json +1 -1
  176. package/dist/chunk-2YTBWEC7.js +0 -2
  177. package/dist/chunk-2YTBWEC7.js.map +0 -1
  178. package/dist/chunk-6CASSN2Z.js +0 -2
  179. package/dist/chunk-6E5GX7W3.js.map +0 -1
  180. package/dist/chunk-LAXQMTDQ.js +0 -2
  181. package/dist/chunk-LAXQMTDQ.js.map +0 -1
  182. package/dist/chunk-LGUGZN57.js +0 -2
  183. package/dist/chunk-LGUGZN57.js.map +0 -1
  184. package/dist/chunk-OFWEEY3Y.js +0 -2
  185. package/dist/chunk-OFWEEY3Y.js.map +0 -1
  186. package/dist/chunk-PU3WPIEK.js +0 -2
  187. package/dist/chunk-PU3WPIEK.js.map +0 -1
  188. package/dist/chunk-RTQ4GKPG.js +0 -2
  189. package/dist/chunk-RTQ4GKPG.js.map +0 -1
  190. package/dist/chunk-TMBD35L4.js +0 -2
  191. package/dist/chunk-TMBD35L4.js.map +0 -1
  192. package/dist/chunk-V334GIML.js +0 -2
  193. package/dist/chunk-V334GIML.js.map +0 -1
  194. /package/dist/{chunk-4FW2VTO4.js.map → chunk-22HZVTR7.js.map} +0 -0
  195. /package/dist/{chunk-W3OQNZW6.js.map → chunk-25M7VGZT.js.map} +0 -0
  196. /package/dist/{chunk-X6325UGJ.js.map → chunk-2XVUZH4T.js.map} +0 -0
  197. /package/dist/{chunk-HUJ3AUIS.js.map → chunk-2ZCOC6FB.js.map} +0 -0
  198. /package/dist/{chunk-3CRC4NDD.js.map → chunk-3DGBLO6M.js.map} +0 -0
  199. /package/dist/{chunk-OXOK5PM3.js.map → chunk-3OX2LLXL.js.map} +0 -0
  200. /package/dist/{chunk-6CASSN2Z.js.map → chunk-42R2H2DW.js.map} +0 -0
  201. /package/dist/{chunk-QDSRG735.js.map → chunk-5HXPBCU6.js.map} +0 -0
  202. /package/dist/{chunk-QKKAJK3A.js.map → chunk-6YRMHTAZ.js.map} +0 -0
  203. /package/dist/{chunk-D6Y7GLBT.js.map → chunk-73BVEZJ6.js.map} +0 -0
  204. /package/dist/{chunk-2FDEMDWJ.js.map → chunk-7X3WUOTU.js.map} +0 -0
  205. /package/dist/{chunk-SKQWZNKT.js.map → chunk-AOQ5FJGP.js.map} +0 -0
  206. /package/dist/{chunk-NPKIEWF4.js.map → chunk-B3TRTHW4.js.map} +0 -0
  207. /package/dist/{chunk-6AQLDTMK.js.map → chunk-BF3P3CMA.js.map} +0 -0
  208. /package/dist/{chunk-PSHPB65F.js.map → chunk-BZBPPV5B.js.map} +0 -0
  209. /package/dist/{chunk-VCEQ5E2O.js.map → chunk-CZ7DTX5L.js.map} +0 -0
  210. /package/dist/{chunk-XGECMN4V.js.map → chunk-IF42CZJH.js.map} +0 -0
  211. /package/dist/{chunk-WLN6G3TE.js.map → chunk-J3BK2DEH.js.map} +0 -0
  212. /package/dist/{chunk-LJ6FHPXW.js.map → chunk-JDNBIL6Z.js.map} +0 -0
  213. /package/dist/{chunk-G2X5F5YR.js.map → chunk-JHSQWGEK.js.map} +0 -0
  214. /package/dist/{chunk-7XKEJ5Y6.js.map → chunk-KABFJTE2.js.map} +0 -0
  215. /package/dist/{chunk-VYHITQHG.js.map → chunk-MWMX5KTM.js.map} +0 -0
  216. /package/dist/{chunk-T5OFLN36.js.map → chunk-OF66TZF4.js.map} +0 -0
  217. /package/dist/{chunk-CTAWDJ2D.js.map → chunk-QLX4J76Z.js.map} +0 -0
  218. /package/dist/{chunk-K62H3A5T.js.map → chunk-SCIX6XLQ.js.map} +0 -0
  219. /package/dist/{chunk-NHREKNSV.js.map → chunk-SPMEMAK5.js.map} +0 -0
  220. /package/dist/{chunk-KRDAGWDH.js.map → chunk-TKSW7MGC.js.map} +0 -0
  221. /package/dist/{chunk-FEIYAZ7Q.js.map → chunk-VTX5YWRU.js.map} +0 -0
  222. /package/dist/{chunk-7JDWTTYE.js.map → chunk-WMB752CR.js.map} +0 -0
  223. /package/dist/{chunk-UD4GEI4B.js.map → chunk-Y75E2FOC.js.map} +0 -0
  224. /package/dist/{chunk-AJ5SXKFO.js.map → chunk-ZJAFMNUN.js.map} +0 -0
@@ -1,2 +0,0 @@
1
- import{a as Z}from"./chunk-6E5GX7W3.js";import{a as K}from"./chunk-LGUGZN57.js";import{a as Q}from"./chunk-6DHV4GT6.js";import{a as J}from"./chunk-3DRSYLBM.js";import{a as U}from"./chunk-A5NDO6CQ.js";import{a as R}from"./chunk-XGECMN4V.js";import{a as g,b as N,c as B,d as q,e as A}from"./chunk-5JQMTMHR.js";import{c as H,d as L}from"./chunk-RTQ4GKPG.js";import{a as z}from"./chunk-ZXGAFQXW.js";import{a as _,b as O}from"./chunk-EGSUF7OD.js";import{a as I}from"./chunk-V334GIML.js";import{a as v}from"./chunk-2YTBWEC7.js";import{a as w}from"./chunk-P5QKSFOE.js";import{n as h}from"./chunk-T6Q7IALZ.js";import{a as E}from"./chunk-5BRMLRS7.js";import{a as b}from"./chunk-Z5WMKCRJ.js";import{d as D}from"./chunk-KQPDXXG3.js";import{d as p}from"./chunk-HRG5MSVG.js";import{a as $}from"./chunk-UQCSN47K.js";import{a as o}from"./chunk-P37U34EQ.js";import Te from"lodash.omitby";import Fe from"lodash.isnull";import{format as S,isFuture as Me,parseISO as x,subDays as ge}from"date-fns";import{useMemo as j}from"react";import Se from"lodash.omit";import{useQuery as pe}from"@tanstack/react-query";var W=o(({query:t,options:e})=>{let{client:u}=D();return pe({queryKey:["payroll-calendars"],queryFn:o(()=>h({client:u,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 _e,isToday as ue,parseISO as ye}from"date-fns";var Y=o(t=>{if(!t)return!1;let e=ye(t);return _e(e)||ue(e)},"isInProbationPeriod");import{Fragment as xe,jsx as m,jsxs as je}from"react/jsx-runtime";var ro=o(({employmentId:t,options:e,initialValues:u})=>{let{fieldValues:c,setFieldValues:G,stepState:l,previousStep:X,nextStep:ee}=E(N),{data:n}=I({employmentId:t}),{data:oe}=W({query:{year:new Date().getFullYear().toString(),countryCode:n?.country?.code},options:{enabled:!!n?.country?.code}}),y=Y(n?.probation_period_end_date),T=B(oe),V=j(()=>y?S(new Date,"yyyy-MM-dd"):S(T,"yyyy-MM-dd"),[y,T]),F=!!(n?.provisional_start_date&&Me(x(n.provisional_start_date))),M=A({...u,...l.values?.employee_communication,...l.values?.termination_details,...l.values?.paid_time_off,...l.values?.additional_information},F),d=j(()=>({...M,...c}),[c,M]),P=q({minTerminationDate:T,isEmployeeInProbationPeriod:y,selectedDate:x(d.proposed_termination_date)}),ie=j(()=>{let s=z.data.schema.properties.termination_reason.oneOf,a=F?s.filter(i=>i.const==="cancellation_before_start_date"):s.filter(i=>i.const!=="cancellation_before_start_date");return{fields:{risk_assesment_info:g("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:g("Proposed termination date",je(xe,{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(O,{external:!0,zendeskId:_.terminationNoticePeriods,className:$("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:V,...d.termination_reason==="cancellation_before_start_date"&&n?.provisional_start_date?{maxDate:S(ge(x(n.provisional_start_date),1),"yyyy-MM-dd")}:{},...P},...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(K,{employeeName:n?.basic_information?.name,proposedTerminationDate:d.proposed_termination_date,employmentId:t,employment:n,render:r=>i?m(i,{...r}):m(Z,{...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(Q,{render:r=>i?m(i,{...r}):m(J,{...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:_.involuntaryOffboardingServiceCharge,reconciliationInvoiceZendeskId:_.reconciliationInvoice},r=e?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info?.["x-jsf-presentation"]?.Component;return r?m(r,{...i}):m(U,{...i})},"Component")}}}}},[n,t,d.proposed_termination_date,d.termination_reason,F,V,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,P]),{data:f,isLoading:te}=L({formValues:d,jsfModify:{...e?.jsfModify,fields:{...e?.jsfModify?.fields,...ie?.fields}},step:l.currentStep.name}),ne=w(R.data.schema),k=H(),{mutateAsync:ae}=v(k);async function re(s){if(!t)throw new Error("Employment id is missing");if(f){let a=await C(s,!0),{customer_informed_employee:i}=a,r=i==="yes"?{employee_awareness:{date:a.customer_informed_employee_date,note:a.customer_informed_employee_description}}:void 0,fe=await b(a,["agrees_to_pto_amount","confidential","customer_informed_employee","will_challenge_termination"]),le=Se(fe,"customer_informed_employee_date","customer_informed_employee_description"),ce=Te({...le,...r},Fe);return ae({employment_id:t,termination_details:ce,type:"termination"})}}o(re,"onSubmit");function se(){X()}o(se,"back");function me(){ee()}o(me,"next");let de=Object.keys(c).length>0,C=o(async(s,a=!1)=>a?await p(s,ne.fields,{isPartialValidation:!0}):f?await p(s,f?.fields,{isPartialValidation:!0}):{},"parseFormValues");return{employmentId:t,employment:n,fieldValues:d,isDirty:de,stepState:l,fields:f?.fields||[],isLoading:te,isSubmitting:k.isPending,initialValues:M,handleValidation:o(async s=>{if(f){let a=await p(s,f?.fields);return f?.handleValidation(a)}return null},"handleValidation"),checkFieldUpdates:G,parseFormValues:C,onSubmit:re,back:se,next:me}},"useTermination");export{ro as a};
2
- //# sourceMappingURL=chunk-TMBD35L4.js.map
@@ -1 +0,0 @@
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,2 +0,0 @@
1
- import{L as l,p as u,w as f,y as d}from"./chunk-T6Q7IALZ.js";import{d as o}from"./chunk-KQPDXXG3.js";import{a as t}from"./chunk-P37U34EQ.js";import{useMutation as y,useQuery as i}from"@tanstack/react-query";var k=t(({employmentId:e})=>{let{client:a}=o();return i({queryKey:["employment",e],retry:!1,queryFn:t(()=>d({client:a,headers:{Authorization:""},path:{employment_id:e}}),"queryFn"),enabled:!!e,select:t(({data:r})=>r?.data?.employment,"select")})},"useEmploymentQuery"),c=t(({employmentId:e,status:a,timeoffType:r,options:n})=>{let{client:s}=o();return i({queryKey:["timeoff",e,a],retry:!1,queryFn:t(()=>l({client:s,headers:{Authorization:""},query:{employment_id:e,status:a,timeoff_type:r}}),"queryFn"),select:t(({data:m})=>n?.select?.(m)??m,"select"),enabled:n?.enabled})},"useTimeOffQuery"),p=t((e,a)=>{let r=new Date(e).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"}),n=new Date(a).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"});return`${r} \u2192 ${n}`},"formatDateRange"),P=t(({employmentId:e,options:a})=>c({employmentId:e,timeoffType:"paid_time_off",options:{enabled:a?.enabled,select:t(r=>({bookedDays:r?.data?.timeoffs?.reduce((n,s)=>n+(s?.timeoff_days?.length||0),0)||0,timeoffs:r?.data?.timeoffs?.map(n=>({status:n?.status,duration:n?.timeoff_days.length,startDate:n?.start_date,endDate:n?.end_date,formattedDate:p(n?.start_date,n?.end_date)}))||[]}),"select")}}),"usePaidTimeoffBreakdownQuery"),S=t(({employmentId:e})=>{let{client:a}=o();return i({queryKey:["timeoff-balance",e],retry:!1,queryFn:t(()=>f({client:a,headers:{Authorization:""},path:{employment_id:e}}),"queryFn"),select:t(({data:r})=>r,"select")})},"useTimeOffLeavePoliciesSummaryQuery"),x=t(()=>{let{client:e}=o();return y({mutationFn:t(a=>u({client:e,headers:{Authorization:""},body:a}),"mutationFn")})},"useMagicLink");export{k as a,c as b,P as c,S as d,x as e};
2
- //# sourceMappingURL=chunk-V334GIML.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/common/api/index.ts"],"sourcesContent":["import {\n getIndexLeavePoliciesSummary,\n getIndexTimeoff,\n getShowEmployment,\n ListTimeoffResponse,\n MagicLinkParams,\n postGenerateMagicLink,\n TimeoffStatus,\n TimeoffType,\n} from '@/src/client';\nimport { useClient } from '@/src/context';\nimport { ContractAmendmentParams } from '@/src/flows/ContractAmendment/types';\n\nimport { Client } from '@/src/client/client';\nimport { useMutation, useQuery } from '@tanstack/react-query';\n\ntype UseEmployment = Pick<ContractAmendmentParams, 'employmentId'>;\n\n/**\n * Hook to retrieve employment details for a specific employment ID.\n *\n * @param {Object} params - The parameters for the query.\n * @param {string} params.employmentId - The ID of the employment to fetch details for.\n * @returns {UseQueryResult<any, unknown>} - The result of the query, including the employment details.\n */\nexport const useEmploymentQuery = ({ employmentId }: UseEmployment) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['employment', employmentId],\n retry: false,\n queryFn: () => {\n return getShowEmployment({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n path: { employment_id: employmentId },\n });\n },\n enabled: !!employmentId,\n select: ({ data }) => data?.data?.employment,\n });\n};\n\n/**\n * Hook to retrieve time off data for a specific employment.\n *\n * @param {Object} params - The parameters for the query.\n * @param {string} [params.employmentId] - The ID of the employment to fetch time off data for.\n * @param {TimeoffStatus} [params.status] - The status of the time off requests to filter by (e.g., 'approved', 'pending').\n * @returns {UseQueryResult<any, unknown>} - The result of the query, including the time off data.\n *\n */\nexport const useTimeOffQuery = <TData = ListTimeoffResponse>({\n employmentId,\n status,\n timeoffType,\n options,\n}: {\n employmentId?: string;\n status?: TimeoffStatus;\n timeoffType?: TimeoffType;\n options?: {\n enabled?: boolean;\n select?: (data: ListTimeoffResponse | undefined) => TData;\n };\n}) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['timeoff', employmentId, status],\n retry: false,\n queryFn: () => {\n return getIndexTimeoff({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n query: {\n employment_id: employmentId,\n status: status,\n timeoff_type: timeoffType,\n },\n });\n },\n select: ({ data }) => (options?.select?.(data) ?? data) as TData,\n enabled: options?.enabled,\n });\n};\n\nconst formatDateRange = (startDate: string, endDate: string) => {\n const start = new Date(startDate).toLocaleDateString('en-US', {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n });\n const end = new Date(endDate).toLocaleDateString('en-US', {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n });\n return `${start} → ${end}`;\n};\n\nexport type PaidTimeoffBreakdownResponse = {\n bookedDays: number;\n timeoffs: {\n status: string;\n duration: number;\n startDate: string;\n endDate: string;\n formattedDate: string;\n }[];\n};\n\n/**\n * Hook to retrieve paid time off breakdown for a specific employment.\n *\n * @param {Object} params - The parameters for the query.\n * @param {string} [params.employmentId] - The ID of the employment to fetch paid time off breakdown for.\n * @returns {UseQueryResult<any, unknown>} - The result of the query, including the paid time off breakdown.\n *\n */\nexport const usePaidTimeoffBreakdownQuery = ({\n employmentId,\n options,\n}: {\n employmentId?: string;\n options?: {\n enabled?: boolean;\n };\n}) => {\n return useTimeOffQuery<PaidTimeoffBreakdownResponse>({\n employmentId,\n timeoffType: 'paid_time_off',\n options: {\n enabled: options?.enabled,\n select: (data) => {\n return {\n bookedDays:\n data?.data?.timeoffs?.reduce(\n (acc, timeoff) => acc + (timeoff?.timeoff_days?.length || 0),\n 0,\n ) || 0,\n timeoffs:\n data?.data?.timeoffs?.map((timeoff) => {\n return {\n status: timeoff?.status,\n duration: timeoff?.timeoff_days.length,\n startDate: timeoff?.start_date,\n endDate: timeoff?.end_date,\n formattedDate: formatDateRange(\n timeoff?.start_date,\n timeoff?.end_date,\n ),\n };\n }) || [],\n };\n },\n },\n });\n};\n\n/**\n * Hook to retrieve time off balance for a specific employment.\n *\n * @param {Object} params - The parameters for the query.\n * @param {string} [params.employmentId] - The ID of the employment to fetch time off balance for.\n * @returns {UseQueryResult<any, unknown>} - The result of the query, including the time off balance.\n *\n */\nexport const useTimeOffLeavePoliciesSummaryQuery = ({\n employmentId,\n}: {\n employmentId?: string;\n}) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['timeoff-balance', employmentId],\n retry: false,\n queryFn: () => {\n return getIndexLeavePoliciesSummary({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n path: { employment_id: employmentId as string },\n });\n },\n select: ({ data }) => data,\n });\n};\n\nexport const useMagicLink = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: (params: MagicLinkParams) => {\n return postGenerateMagicLink({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n body: params,\n });\n },\n });\n};\n"],"mappings":"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","names":["useMutation","useQuery","useEmploymentQuery","__name","employmentId","client","useClient","useQuery","getShowEmployment","data","useTimeOffQuery","status","timeoffType","options","getIndexTimeoff","formatDateRange","startDate","endDate","start","end","usePaidTimeoffBreakdownQuery","acc","timeoff","useTimeOffLeavePoliciesSummaryQuery","getIndexLeavePoliciesSummary","useMagicLink","useMutation","params","postGenerateMagicLink"]}