@remoteoss/remote-flows 0.30.0 → 0.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (305) hide show
  1. package/dist/{chunk-CHDWFMD3.js → chunk-26ZOPH2I.js} +2 -2
  2. package/dist/{chunk-56LJAMZC.js → chunk-2L3ISQJL.js} +2 -2
  3. package/dist/chunk-2MG7YOPU.js +2 -0
  4. package/dist/chunk-2MG7YOPU.js.map +1 -0
  5. package/dist/chunk-3ZWDIEEM.js +2 -0
  6. package/dist/chunk-3ZWDIEEM.js.map +1 -0
  7. package/dist/{chunk-6GQZCUUR.js → chunk-4OAWZYH7.js} +2 -2
  8. package/dist/chunk-4X77DTSW.js +2 -0
  9. package/dist/chunk-4X77DTSW.js.map +1 -0
  10. package/dist/{chunk-67V3DFV4.js → chunk-5ENAY65Y.js} +2 -2
  11. package/dist/{chunk-DYXTJBSK.js → chunk-5KHLOGTR.js} +2 -2
  12. package/dist/{chunk-ZF4BLPXL.js → chunk-5PPUPDYP.js} +2 -2
  13. package/dist/{chunk-K2L2NSOM.js → chunk-5ZR7EFPY.js} +2 -2
  14. package/dist/{chunk-YP2JBYAK.js → chunk-6TY7IKSG.js} +2 -2
  15. package/dist/{chunk-LLM6MDNY.js → chunk-6VRUYYUV.js} +2 -2
  16. package/dist/{chunk-QRD43QJA.js → chunk-7FAT6WCC.js} +2 -2
  17. package/dist/{chunk-QGWCUGLN.js → chunk-7WDO47KQ.js} +2 -2
  18. package/dist/chunk-7WDO47KQ.js.map +1 -0
  19. package/dist/chunk-7XDJV7LA.js +2 -0
  20. package/dist/chunk-7XDJV7LA.js.map +1 -0
  21. package/dist/{chunk-D64MAPTD.js → chunk-A2KMKSSC.js} +2 -2
  22. package/dist/{chunk-WMICWLC3.js → chunk-ACQ3OEOE.js} +2 -2
  23. package/dist/{chunk-HYOJP6J5.js → chunk-ANGJCT4I.js} +2 -2
  24. package/dist/{chunk-JK5K2S7N.js → chunk-ANHUECRI.js} +2 -2
  25. package/dist/{chunk-YBB6BOW7.js → chunk-AVX6IOGC.js} +2 -2
  26. package/dist/{chunk-RYXRWMF4.js → chunk-BV3PGYSH.js} +2 -2
  27. package/dist/{chunk-7RFJWDXS.js → chunk-BWJAHRV6.js} +2 -2
  28. package/dist/{chunk-FDBUFHR3.js → chunk-CYDWBHAA.js} +2 -2
  29. package/dist/chunk-DFJNVGK4.js +2 -0
  30. package/dist/chunk-DFJNVGK4.js.map +1 -0
  31. package/dist/{chunk-OHAAAVNB.js → chunk-DPY77ASH.js} +2 -2
  32. package/dist/{chunk-6GUXV7XA.js → chunk-E76DWINZ.js} +2 -2
  33. package/dist/{chunk-ZZWX3C6V.js → chunk-EGSRN2CQ.js} +2 -2
  34. package/dist/{chunk-5NARH23N.js → chunk-EKKRQI6B.js} +2 -2
  35. package/dist/{chunk-7JUP5JEY.js → chunk-FJPQPOK3.js} +2 -2
  36. package/dist/{chunk-SOYN4LOZ.js → chunk-FPJLWY23.js} +2 -2
  37. package/dist/{chunk-DXTLNOCG.js → chunk-FQYK5BJV.js} +2 -2
  38. package/dist/{chunk-YP7Q47E2.js → chunk-GD425MMM.js} +2 -2
  39. package/dist/{chunk-OIIALEVF.js → chunk-GHV4Q4MB.js} +2 -2
  40. package/dist/{chunk-PEHALKVU.js → chunk-GWICTLVR.js} +2 -2
  41. package/dist/{chunk-4CIYPTKM.js → chunk-H3ZR4EW5.js} +2 -2
  42. package/dist/{chunk-5ORIDYIK.js → chunk-H7L735T7.js} +2 -2
  43. package/dist/{chunk-QAOGIYQL.js → chunk-HS4VEURD.js} +2 -2
  44. package/dist/chunk-HWEJIPSK.js +2 -0
  45. package/dist/{chunk-2CDCTUVY.js.map → chunk-HWEJIPSK.js.map} +1 -1
  46. package/dist/{chunk-HMUIT2NU.js → chunk-ID3ZF7QT.js} +2 -2
  47. package/dist/{chunk-QIVDIOJG.js → chunk-IJR44ISO.js} +2 -2
  48. package/dist/chunk-JCKQQFA4.js +2 -0
  49. package/dist/{chunk-7OL54VKA.js → chunk-LGJYIUSH.js} +2 -2
  50. package/dist/{chunk-PEOWIEYM.js → chunk-LYK6PNAY.js} +2 -2
  51. package/dist/{chunk-664GOQG3.js → chunk-NBFJOIV2.js} +2 -2
  52. package/dist/chunk-NCNXUNBB.js +2 -0
  53. package/dist/chunk-NCNXUNBB.js.map +1 -0
  54. package/dist/{chunk-GTWY3JK3.js → chunk-OIN3HGOQ.js} +2 -2
  55. package/dist/{chunk-TW7Z6G37.js → chunk-OIVWGY5Z.js} +2 -2
  56. package/dist/{chunk-U24UNO6X.js → chunk-OLRZ3U4A.js} +2 -2
  57. package/dist/{chunk-EL5QIDYZ.js → chunk-OOCCLRPH.js} +2 -2
  58. package/dist/{chunk-UOOM7V2D.js → chunk-OQJWLV7V.js} +2 -2
  59. package/dist/{chunk-7TX2YY4K.js → chunk-OUSDXTNH.js} +2 -2
  60. package/dist/{chunk-Z47JQN3R.js → chunk-OW5QGJD4.js} +2 -2
  61. package/dist/{chunk-HBRO74FQ.js → chunk-P5WUODPR.js} +2 -2
  62. package/dist/chunk-PEHK6NHL.js +2 -0
  63. package/dist/chunk-PEHK6NHL.js.map +1 -0
  64. package/dist/{chunk-KFJJXMAH.js → chunk-PNAZ6US5.js} +2 -2
  65. package/dist/chunk-Q2N5SOKO.js +2 -0
  66. package/dist/chunk-Q2N5SOKO.js.map +1 -0
  67. package/dist/{chunk-XLAKJHGV.js → chunk-QFOYD5Q4.js} +2 -2
  68. package/dist/{chunk-BKWNJMNJ.js → chunk-QW322WRX.js} +2 -2
  69. package/dist/{chunk-HTJZUAVS.js → chunk-R7W3BT6P.js} +2 -2
  70. package/dist/{chunk-RCWBOOZF.js → chunk-SQENUVY5.js} +2 -2
  71. package/dist/{chunk-ZF6MZYBK.js → chunk-SXN63FPH.js} +2 -2
  72. package/dist/{chunk-KVAGMBSU.js → chunk-T2FGDQSU.js} +2 -2
  73. package/dist/{chunk-WNGPZXEX.js → chunk-UBN6O7B5.js} +2 -2
  74. package/dist/{chunk-2N5A6EGD.js → chunk-UPXJJBXZ.js} +2 -2
  75. package/dist/{chunk-HX34JCPL.js → chunk-UZXTPQ47.js} +2 -2
  76. package/dist/{chunk-RGGU6BNB.js → chunk-VSMVVIBA.js} +2 -2
  77. package/dist/{chunk-DTZ23AE6.js → chunk-WBN4ZSGC.js} +2 -2
  78. package/dist/{chunk-D7WCSZGW.js → chunk-XDNUJY3V.js} +2 -2
  79. package/dist/chunk-XNOLBKZC.js +2 -0
  80. package/dist/chunk-XNOLBKZC.js.map +1 -0
  81. package/dist/{chunk-PFKNQGOD.js → chunk-YXXCHMX3.js} +2 -2
  82. package/dist/{chunk-EVSDVI2G.js → chunk-ZQ6MG635.js} +2 -2
  83. package/dist/flows/ContractAmendment/ContractAmendmentBack.js +1 -1
  84. package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.d.ts +1 -1
  85. package/dist/flows/ContractAmendment/ContractAmendmentFlow.d.ts +3 -3
  86. package/dist/flows/ContractAmendment/ContractAmendmentFlow.js +1 -1
  87. package/dist/flows/ContractAmendment/ContractAmendmentForm.d.ts +1 -1
  88. package/dist/flows/ContractAmendment/ContractAmendmentForm.js +1 -1
  89. package/dist/flows/ContractAmendment/ContractAmendmentSubmit.js +1 -1
  90. package/dist/flows/ContractAmendment/context.d.ts +3 -3
  91. package/dist/flows/ContractAmendment/hooks.d.ts +3 -3
  92. package/dist/flows/ContractAmendment/hooks.js +1 -1
  93. package/dist/flows/ContractAmendment/index.d.ts +3 -3
  94. package/dist/flows/ContractAmendment/index.js +1 -1
  95. package/dist/flows/ContractAmendment/utils.d.ts +1 -1
  96. package/dist/flows/ContractorOnboarding/ContractorOnboarding.d.ts +5 -5
  97. package/dist/flows/ContractorOnboarding/ContractorOnboarding.js +1 -1
  98. package/dist/flows/ContractorOnboarding/api.d.ts +2 -2
  99. package/dist/flows/ContractorOnboarding/api.js +1 -1
  100. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.d.ts +4 -4
  101. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.js +1 -1
  102. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.d.ts +5 -5
  103. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.js +1 -1
  104. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.d.ts +5 -5
  105. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.js +1 -1
  106. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.d.ts +5 -5
  107. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.js +1 -1
  108. package/dist/flows/ContractorOnboarding/components/OnboardingBack.js +1 -1
  109. package/dist/flows/ContractorOnboarding/components/OnboardingInvite.d.ts +3 -3
  110. package/dist/flows/ContractorOnboarding/components/OnboardingInvite.js +1 -1
  111. package/dist/flows/ContractorOnboarding/components/OnboardingSubmit.js +1 -1
  112. package/dist/flows/ContractorOnboarding/components/PricingPlan.d.ts +5 -5
  113. package/dist/flows/ContractorOnboarding/components/PricingPlan.js +1 -1
  114. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.d.ts +4 -4
  115. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.js +1 -1
  116. package/dist/flows/ContractorOnboarding/context.d.ts +5 -5
  117. package/dist/flows/ContractorOnboarding/hooks.d.ts +5 -5
  118. package/dist/flows/ContractorOnboarding/hooks.js +1 -1
  119. package/dist/flows/ContractorOnboarding/index.d.ts +5 -5
  120. package/dist/flows/ContractorOnboarding/index.js +1 -1
  121. package/dist/flows/ContractorOnboarding/types.d.ts +5 -5
  122. package/dist/flows/CostCalculator/CostCalculatorFlow.d.ts +3 -3
  123. package/dist/flows/CostCalculator/CostCalculatorFlow.js +1 -1
  124. package/dist/flows/CostCalculator/CostCalculatorForm.d.ts +3 -3
  125. package/dist/flows/CostCalculator/CostCalculatorForm.js +1 -1
  126. package/dist/flows/CostCalculator/CostCalculatorResetButton.js +1 -1
  127. package/dist/flows/CostCalculator/CostCalculatorSubmitButton.js +1 -1
  128. package/dist/flows/CostCalculator/EstimationResults/EstimationResults.d.ts +1 -1
  129. package/dist/flows/CostCalculator/EstimationResults/EstimationResults.js +1 -1
  130. package/dist/flows/CostCalculator/Results/CostCalculatorBenefitsBreakdown.js +1 -1
  131. package/dist/flows/CostCalculator/Results/CostCalculatorContributionsBreakdown.js +1 -1
  132. package/dist/flows/CostCalculator/Results/CostCalculatorExtraStatutoryPaymentsBreakdown.js +1 -1
  133. package/dist/flows/CostCalculator/Results/CostCalculatorGrossSalary.js +1 -1
  134. package/dist/flows/CostCalculator/Results/CostCalculatorResults.d.ts +1 -1
  135. package/dist/flows/CostCalculator/Results/CostCalculatorResults.js +1 -1
  136. package/dist/flows/CostCalculator/SummaryResults/SummaryResults.d.ts +1 -1
  137. package/dist/flows/CostCalculator/api.d.ts +1 -1
  138. package/dist/flows/CostCalculator/api.js +1 -1
  139. package/dist/flows/CostCalculator/components/SalaryField.d.ts +2 -2
  140. package/dist/flows/CostCalculator/components/SalaryField.js +1 -1
  141. package/dist/flows/CostCalculator/context.d.ts +3 -3
  142. package/dist/flows/CostCalculator/hooks.d.ts +3 -3
  143. package/dist/flows/CostCalculator/hooks.js +1 -1
  144. package/dist/flows/CostCalculator/index.d.ts +3 -3
  145. package/dist/flows/CostCalculator/index.js +1 -1
  146. package/dist/flows/CostCalculator/types.d.ts +1 -1
  147. package/dist/flows/CostCalculator/utils.d.ts +3 -3
  148. package/dist/flows/CostCalculator/utils.js +1 -1
  149. package/dist/flows/Onboarding/OnboardingFlow.d.ts +4 -4
  150. package/dist/flows/Onboarding/OnboardingFlow.js +1 -1
  151. package/dist/flows/Onboarding/api.d.ts +6 -6
  152. package/dist/flows/Onboarding/api.js +1 -1
  153. package/dist/flows/Onboarding/components/AnnualGrossSalary.d.ts +2 -2
  154. package/dist/flows/Onboarding/components/AnnualGrossSalary.js +1 -1
  155. package/dist/flows/Onboarding/components/BasicInformationStep.d.ts +4 -4
  156. package/dist/flows/Onboarding/components/BasicInformationStep.js +1 -1
  157. package/dist/flows/Onboarding/components/BenefitsStep.d.ts +4 -4
  158. package/dist/flows/Onboarding/components/BenefitsStep.js +1 -1
  159. package/dist/flows/Onboarding/components/ContractDetailsStep.d.ts +4 -4
  160. package/dist/flows/Onboarding/components/ContractDetailsStep.js +1 -1
  161. package/dist/flows/Onboarding/components/OnboardingBack.js +1 -1
  162. package/dist/flows/Onboarding/components/OnboardingForm.d.ts +4 -4
  163. package/dist/flows/Onboarding/components/OnboardingForm.js +1 -1
  164. package/dist/flows/Onboarding/components/OnboardingInvite.d.ts +3 -3
  165. package/dist/flows/Onboarding/components/OnboardingInvite.js +1 -1
  166. package/dist/flows/Onboarding/components/OnboardingSubmit.js +1 -1
  167. package/dist/flows/Onboarding/components/ReviewStep.d.ts +4 -4
  168. package/dist/flows/Onboarding/components/SaveDraftButton.d.ts +3 -3
  169. package/dist/flows/Onboarding/components/SaveDraftButton.js +1 -1
  170. package/dist/flows/Onboarding/components/SelectCountryStep.d.ts +4 -4
  171. package/dist/flows/Onboarding/components/SelectCountryStep.js +1 -1
  172. package/dist/flows/Onboarding/context.d.ts +4 -4
  173. package/dist/flows/Onboarding/hooks.d.ts +4 -4
  174. package/dist/flows/Onboarding/hooks.js +1 -1
  175. package/dist/flows/Onboarding/index.d.ts +4 -4
  176. package/dist/flows/Onboarding/index.js +1 -1
  177. package/dist/flows/Onboarding/types.d.ts +4 -4
  178. package/dist/flows/Onboarding/utils.d.ts +4 -4
  179. package/dist/flows/Onboarding/utils.js +1 -1
  180. package/dist/flows/Termination/AdditionalDetailsForm.d.ts +4 -5
  181. package/dist/flows/Termination/AdditionalDetailsForm.js +1 -1
  182. package/dist/flows/Termination/EmployeeComunicationForm.d.ts +4 -5
  183. package/dist/flows/Termination/EmployeeComunicationForm.js +1 -1
  184. package/dist/flows/Termination/PaidTimeOffForm.d.ts +4 -5
  185. package/dist/flows/Termination/PaidTimeOffForm.js +1 -1
  186. package/dist/flows/Termination/TerminationBack.js +1 -1
  187. package/dist/flows/Termination/TerminationDetailsForm.d.ts +4 -5
  188. package/dist/flows/Termination/TerminationDetailsForm.js +1 -1
  189. package/dist/flows/Termination/TerminationFlow.d.ts +4 -5
  190. package/dist/flows/Termination/TerminationFlow.js +1 -1
  191. package/dist/flows/Termination/TerminationForm.d.ts +4 -5
  192. package/dist/flows/Termination/TerminationForm.js +1 -1
  193. package/dist/flows/Termination/TerminationSubmit.js +1 -1
  194. package/dist/flows/Termination/api.d.ts +87 -0
  195. package/dist/flows/Termination/api.js +2 -0
  196. package/dist/flows/Termination/api.js.map +1 -0
  197. package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformationFees.js +1 -1
  198. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.d.ts +6 -5
  199. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.js +1 -1
  200. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.d.ts +6 -5
  201. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.js +1 -1
  202. package/dist/flows/Termination/components/PaidTimeOff/types.d.ts +6 -5
  203. package/dist/flows/Termination/components/TerminationDialogInfoContent/TerminationDialogInfoContent.js +1 -1
  204. package/dist/flows/Termination/context.d.ts +24 -5
  205. package/dist/flows/Termination/hooks.d.ts +4 -5
  206. package/dist/flows/Termination/hooks.js +1 -1
  207. package/dist/flows/Termination/index.d.ts +7 -7
  208. package/dist/flows/Termination/index.js +1 -1
  209. package/dist/flows/Termination/json-schemas/jsonSchema.js +1 -1
  210. package/dist/flows/Termination/json-schemas/schema.d.ts +13 -3
  211. package/dist/flows/Termination/json-schemas/schema.js +1 -1
  212. package/dist/flows/Termination/types.d.ts +4 -5
  213. package/dist/flows/Termination/utils.d.ts +12 -6
  214. package/dist/flows/Termination/utils.js +1 -1
  215. package/dist/flows/api.d.ts +4 -5
  216. package/dist/flows/api.js +1 -1
  217. package/dist/index.d.ts +10 -16
  218. package/dist/index.js +1 -1
  219. package/dist/index.js.map +1 -1
  220. package/dist/internals.js +1 -1
  221. package/dist/{mutations-BdkQ8BEQ.d.ts → mutations-poZZkLvk.d.ts} +1 -1
  222. package/dist/{remoteFlows-nNmmcD-T.d.ts → remoteFlows-DzRZRhQq.d.ts} +1 -2
  223. package/dist/{types-omiJJgNz.d.ts → types-6uSA0-an.d.ts} +4 -4
  224. package/dist/{types-CNHUaKN_.d.ts → types-BNjv7eD0.d.ts} +3 -74
  225. package/dist/{types-5wwUT05a.d.ts → types-CTSYWNx-.d.ts} +46 -5
  226. package/dist/{types-BOXcQDia.d.ts → types-CpgnTLWW.d.ts} +4 -4
  227. package/dist/{types.gen-BS9UfhS-.d.ts → types.gen-B2u-cOXI.d.ts} +18 -1
  228. package/package.json +1 -1
  229. package/dist/chunk-2CDCTUVY.js +0 -2
  230. package/dist/chunk-A6GJNXUZ.js +0 -2
  231. package/dist/chunk-A6GJNXUZ.js.map +0 -1
  232. package/dist/chunk-BB3WWKGA.js +0 -2
  233. package/dist/chunk-BB3WWKGA.js.map +0 -1
  234. package/dist/chunk-EHS4ERDW.js +0 -2
  235. package/dist/chunk-EHS4ERDW.js.map +0 -1
  236. package/dist/chunk-HJYHCWGX.js +0 -2
  237. package/dist/chunk-HJYHCWGX.js.map +0 -1
  238. package/dist/chunk-LJYCBMDS.js +0 -2
  239. package/dist/chunk-LJYCBMDS.js.map +0 -1
  240. package/dist/chunk-OKM7DRCF.js +0 -2
  241. package/dist/chunk-QGWCUGLN.js.map +0 -1
  242. package/dist/chunk-S4XU4SE7.js +0 -2
  243. package/dist/chunk-S4XU4SE7.js.map +0 -1
  244. package/dist/chunk-XFJPUKYR.js +0 -2
  245. package/dist/chunk-XFJPUKYR.js.map +0 -1
  246. /package/dist/{chunk-CHDWFMD3.js.map → chunk-26ZOPH2I.js.map} +0 -0
  247. /package/dist/{chunk-56LJAMZC.js.map → chunk-2L3ISQJL.js.map} +0 -0
  248. /package/dist/{chunk-6GQZCUUR.js.map → chunk-4OAWZYH7.js.map} +0 -0
  249. /package/dist/{chunk-67V3DFV4.js.map → chunk-5ENAY65Y.js.map} +0 -0
  250. /package/dist/{chunk-DYXTJBSK.js.map → chunk-5KHLOGTR.js.map} +0 -0
  251. /package/dist/{chunk-ZF4BLPXL.js.map → chunk-5PPUPDYP.js.map} +0 -0
  252. /package/dist/{chunk-K2L2NSOM.js.map → chunk-5ZR7EFPY.js.map} +0 -0
  253. /package/dist/{chunk-YP2JBYAK.js.map → chunk-6TY7IKSG.js.map} +0 -0
  254. /package/dist/{chunk-LLM6MDNY.js.map → chunk-6VRUYYUV.js.map} +0 -0
  255. /package/dist/{chunk-QRD43QJA.js.map → chunk-7FAT6WCC.js.map} +0 -0
  256. /package/dist/{chunk-D64MAPTD.js.map → chunk-A2KMKSSC.js.map} +0 -0
  257. /package/dist/{chunk-WMICWLC3.js.map → chunk-ACQ3OEOE.js.map} +0 -0
  258. /package/dist/{chunk-HYOJP6J5.js.map → chunk-ANGJCT4I.js.map} +0 -0
  259. /package/dist/{chunk-JK5K2S7N.js.map → chunk-ANHUECRI.js.map} +0 -0
  260. /package/dist/{chunk-YBB6BOW7.js.map → chunk-AVX6IOGC.js.map} +0 -0
  261. /package/dist/{chunk-RYXRWMF4.js.map → chunk-BV3PGYSH.js.map} +0 -0
  262. /package/dist/{chunk-7RFJWDXS.js.map → chunk-BWJAHRV6.js.map} +0 -0
  263. /package/dist/{chunk-FDBUFHR3.js.map → chunk-CYDWBHAA.js.map} +0 -0
  264. /package/dist/{chunk-OHAAAVNB.js.map → chunk-DPY77ASH.js.map} +0 -0
  265. /package/dist/{chunk-6GUXV7XA.js.map → chunk-E76DWINZ.js.map} +0 -0
  266. /package/dist/{chunk-ZZWX3C6V.js.map → chunk-EGSRN2CQ.js.map} +0 -0
  267. /package/dist/{chunk-5NARH23N.js.map → chunk-EKKRQI6B.js.map} +0 -0
  268. /package/dist/{chunk-7JUP5JEY.js.map → chunk-FJPQPOK3.js.map} +0 -0
  269. /package/dist/{chunk-SOYN4LOZ.js.map → chunk-FPJLWY23.js.map} +0 -0
  270. /package/dist/{chunk-DXTLNOCG.js.map → chunk-FQYK5BJV.js.map} +0 -0
  271. /package/dist/{chunk-YP7Q47E2.js.map → chunk-GD425MMM.js.map} +0 -0
  272. /package/dist/{chunk-OIIALEVF.js.map → chunk-GHV4Q4MB.js.map} +0 -0
  273. /package/dist/{chunk-PEHALKVU.js.map → chunk-GWICTLVR.js.map} +0 -0
  274. /package/dist/{chunk-4CIYPTKM.js.map → chunk-H3ZR4EW5.js.map} +0 -0
  275. /package/dist/{chunk-5ORIDYIK.js.map → chunk-H7L735T7.js.map} +0 -0
  276. /package/dist/{chunk-QAOGIYQL.js.map → chunk-HS4VEURD.js.map} +0 -0
  277. /package/dist/{chunk-HMUIT2NU.js.map → chunk-ID3ZF7QT.js.map} +0 -0
  278. /package/dist/{chunk-QIVDIOJG.js.map → chunk-IJR44ISO.js.map} +0 -0
  279. /package/dist/{chunk-OKM7DRCF.js.map → chunk-JCKQQFA4.js.map} +0 -0
  280. /package/dist/{chunk-7OL54VKA.js.map → chunk-LGJYIUSH.js.map} +0 -0
  281. /package/dist/{chunk-PEOWIEYM.js.map → chunk-LYK6PNAY.js.map} +0 -0
  282. /package/dist/{chunk-664GOQG3.js.map → chunk-NBFJOIV2.js.map} +0 -0
  283. /package/dist/{chunk-GTWY3JK3.js.map → chunk-OIN3HGOQ.js.map} +0 -0
  284. /package/dist/{chunk-TW7Z6G37.js.map → chunk-OIVWGY5Z.js.map} +0 -0
  285. /package/dist/{chunk-U24UNO6X.js.map → chunk-OLRZ3U4A.js.map} +0 -0
  286. /package/dist/{chunk-EL5QIDYZ.js.map → chunk-OOCCLRPH.js.map} +0 -0
  287. /package/dist/{chunk-UOOM7V2D.js.map → chunk-OQJWLV7V.js.map} +0 -0
  288. /package/dist/{chunk-7TX2YY4K.js.map → chunk-OUSDXTNH.js.map} +0 -0
  289. /package/dist/{chunk-Z47JQN3R.js.map → chunk-OW5QGJD4.js.map} +0 -0
  290. /package/dist/{chunk-HBRO74FQ.js.map → chunk-P5WUODPR.js.map} +0 -0
  291. /package/dist/{chunk-KFJJXMAH.js.map → chunk-PNAZ6US5.js.map} +0 -0
  292. /package/dist/{chunk-XLAKJHGV.js.map → chunk-QFOYD5Q4.js.map} +0 -0
  293. /package/dist/{chunk-BKWNJMNJ.js.map → chunk-QW322WRX.js.map} +0 -0
  294. /package/dist/{chunk-HTJZUAVS.js.map → chunk-R7W3BT6P.js.map} +0 -0
  295. /package/dist/{chunk-RCWBOOZF.js.map → chunk-SQENUVY5.js.map} +0 -0
  296. /package/dist/{chunk-ZF6MZYBK.js.map → chunk-SXN63FPH.js.map} +0 -0
  297. /package/dist/{chunk-KVAGMBSU.js.map → chunk-T2FGDQSU.js.map} +0 -0
  298. /package/dist/{chunk-WNGPZXEX.js.map → chunk-UBN6O7B5.js.map} +0 -0
  299. /package/dist/{chunk-2N5A6EGD.js.map → chunk-UPXJJBXZ.js.map} +0 -0
  300. /package/dist/{chunk-HX34JCPL.js.map → chunk-UZXTPQ47.js.map} +0 -0
  301. /package/dist/{chunk-RGGU6BNB.js.map → chunk-VSMVVIBA.js.map} +0 -0
  302. /package/dist/{chunk-DTZ23AE6.js.map → chunk-WBN4ZSGC.js.map} +0 -0
  303. /package/dist/{chunk-D7WCSZGW.js.map → chunk-XDNUJY3V.js.map} +0 -0
  304. /package/dist/{chunk-PFKNQGOD.js.map → chunk-YXXCHMX3.js.map} +0 -0
  305. /package/dist/{chunk-EVSDVI2G.js.map → chunk-ZQ6MG635.js.map} +0 -0
@@ -1,13 +1,8 @@
1
- import { E as Employment, R as ListTimeoffResponse, T as TimeoffStatus, W as TimeoffType, X as ListLeavePoliciesSummaryResponse, Y as MagicLinkResponse, Z as UnprocessableEntityResponse, _ as MagicLinkParams } from './types.gen-BS9UfhS-.js';
1
+ import { E as Employment, R as ListTimeoffResponse, W as TimeoffStatus, X as TimeoffType, Y as ListLeavePoliciesSummaryResponse, Z as MagicLinkResponse, _ as UnprocessableEntityResponse, $ as MagicLinkParams } from './types.gen-B2u-cOXI.js';
2
2
  import * as _tanstack_react_query from '@tanstack/react-query';
3
3
  import { UseQueryResult } from '@tanstack/react-query';
4
4
  import { ContractAmendmentParams } from './flows/ContractAmendment/types.js';
5
- import { E as Employment$1 } from './types-BOXcQDia.js';
6
-
7
- type DaysAndHours = {
8
- hours: number;
9
- days: number;
10
- };
5
+ import { BookedTimeoffBeforeDateResponse, SummaryTimeOffDataResponse } from './flows/Termination/api.js';
11
6
 
12
7
  type UseEmployment = Pick<ContractAmendmentParams, 'employmentId'>;
13
8
  /**
@@ -62,67 +57,6 @@ declare const usePaidTimeoffBreakdownQuery: ({ employmentId, options, }: {
62
57
  enabled?: boolean;
63
58
  };
64
59
  }) => _tanstack_react_query.UseQueryResult<PaidTimeoffBreakdownResponse, Error>;
65
- type BookedTimeoffBeforeDateResponse = {
66
- bookedDaysBeforeTermination: DaysAndHours;
67
- bookedDaysAfterTermination: DaysAndHours;
68
- };
69
- /**
70
- * Hook to retrieve booked time off data before and after a specific date for a specific employment.
71
- *
72
- * @param {Object} params - The parameters for the query.
73
- * @param {string} [params.employmentId] - The ID of the employment to fetch booked time off data for.
74
- * @param {string} [params.date] - The date to fetch booked time off data for.
75
- * @returns {BookedTimeoffBeforeDateResponse} - The booked time off data before and after the specific date.
76
- *
77
- * This hook accounts for partial days and multiple timeoff_days per request.
78
- */
79
- declare const useBookedTimeoffBeforeAndAfterTerminationQuery: ({ employmentId, date, options, }: {
80
- employmentId: string;
81
- date: string;
82
- options?: {
83
- enabled: boolean;
84
- };
85
- }) => _tanstack_react_query.UseQueryResult<BookedTimeoffBeforeDateResponse, Error>;
86
- type SummaryTimeOffDataResponse = {
87
- entitledDays: string;
88
- bookedDays: string;
89
- usedDays: string;
90
- currentEntitlementDays: string;
91
- approvedDaysBeforeTermination: string;
92
- approvedDaysAfterTermination: string;
93
- remainingDays: string;
94
- isUnlimitedPto: boolean;
95
- };
96
- /**
97
- * Hook to retrieve summary time off data for a specific employment.
98
- *
99
- * @param {Object} params - The parameters for the query.
100
- * @param {string} [params.employmentId] - The ID of the employment to fetch summary time off data for.
101
- * @param {string} [params.proposedTerminationDate] - The proposed termination date to fetch summary time off data for.
102
- * @returns {SummaryTimeOffDataResponse} - The summary time off data.
103
- *
104
- * This hook doesn't take into account unlimited time off or half days yet.
105
- *
106
- */
107
- declare const useSummaryTimeOffDataQuery: ({ employmentId, proposedTerminationDate, employment, }: {
108
- employmentId: string;
109
- proposedTerminationDate: string;
110
- employment?: Employment$1;
111
- }) => {
112
- data: {
113
- isUnlimitedPto: boolean;
114
- entitledDays: string;
115
- bookedDays: string;
116
- usedDays: string;
117
- currentEntitlementDays: string;
118
- approvedDaysBeforeTermination: string;
119
- approvedDaysAfterTermination: string;
120
- remainingDays: string;
121
- };
122
- isLoading: boolean;
123
- isError: boolean;
124
- error: Error | null;
125
- };
126
60
  /**
127
61
  * Hook to retrieve time off balance for a specific employment.
128
62
  *
@@ -134,11 +68,6 @@ declare const useSummaryTimeOffDataQuery: ({ employmentId, proposedTerminationDa
134
68
  declare const useTimeOffLeavePoliciesSummaryQuery: ({ employmentId, }: {
135
69
  employmentId?: string;
136
70
  }) => _tanstack_react_query.UseQueryResult<ListLeavePoliciesSummaryResponse | undefined, Error>;
137
- /**
138
- * Hook to generate a magic link for a specific employment.
139
- * @param {MagicLinkParams} params - The parameters for the magic link.
140
- * @returns {UseQueryResult<any, unknown>} - The result of the query, including the magic link.
141
- */
142
71
  declare const useMagicLink: () => _tanstack_react_query.UseMutationResult<({
143
72
  data: MagicLinkResponse;
144
73
  error: undefined;
@@ -210,4 +139,4 @@ type PaidTimeOffContainerProps = {
210
139
  render: (props: PaidTimeOffRenderProps) => React.ReactNode;
211
140
  };
212
141
 
213
- export { type BookedTimeoffBeforeDateResponse as B, type PaidTimeOffRenderProps as P, type SummaryTimeOffDataResponse as S, type PaidTimeOffContainerProps as a, useTimeOffQuery as b, type PaidTimeoffBreakdownResponse as c, usePaidTimeoffBreakdownQuery as d, useBookedTimeoffBeforeAndAfterTerminationQuery as e, useSummaryTimeOffDataQuery as f, useTimeOffLeavePoliciesSummaryQuery as g, useMagicLink as h, useEmploymentQuery as u };
142
+ export { type PaidTimeOffRenderProps as P, type PaidTimeOffContainerProps as a, useTimeOffQuery as b, type PaidTimeoffBreakdownResponse as c, usePaidTimeoffBreakdownQuery as d, useTimeOffLeavePoliciesSummaryQuery as e, useMagicLink as f, useEmploymentQuery as u };
@@ -1,11 +1,10 @@
1
- import { O as OffboardingResponse, E as Employment, P as PostCreateOffboardingError, a1 as TerminationDetailsParams } from './types.gen-BS9UfhS-.js';
1
+ import { O as OffboardingResponse, a2 as PayrollCalendarEor, E as Employment, T as TerminationDetailsParams, P as PostCreateOffboardingError } from './types.gen-B2u-cOXI.js';
2
2
  import * as react_jsx_runtime from 'react/jsx-runtime';
3
- import { E as ErrorResponse, S as SuccessResponse } from './mutations-BdkQ8BEQ.js';
3
+ import { E as ErrorResponse, S as SuccessResponse } from './mutations-poZZkLvk.js';
4
4
  import * as React$1 from 'react';
5
5
  import * as _remoteoss_json_schema_form from '@remoteoss/json-schema-form';
6
6
  import { $TSFixMe } from '@remoteoss/json-schema-form';
7
7
  import { Step } from './flows/useStepState.js';
8
- import { StepTerminationKeys } from './flows/Termination/utils.js';
9
8
  import { TerminationBack } from './flows/Termination/TerminationBack.js';
10
9
  import { TerminationSubmit } from './flows/Termination/TerminationSubmit.js';
11
10
  import { JSFModify } from './flows/types.js';
@@ -22,6 +21,22 @@ type EmployeeComunicationProps = {
22
21
  };
23
22
  declare function EmployeeCommunicationForm({ onSubmit, }: EmployeeComunicationProps): react_jsx_runtime.JSX.Element;
24
23
 
24
+ type StepTerminationKeys = 'employee_communication' | 'termination_details' | 'paid_time_off' | 'additional_information';
25
+ declare const STEPS: Record<StepTerminationKeys, Step<StepTerminationKeys>>;
26
+ declare const calculateMinTerminationDate: (payrollCalendars: PayrollCalendarEor | undefined) => Date;
27
+ declare const calculateProposedTerminationDateStatement: ({ minTerminationDate, isEmployeeInProbationPeriod, selectedDate, }: {
28
+ minTerminationDate: Date;
29
+ isEmployeeInProbationPeriod: boolean;
30
+ selectedDate?: Date;
31
+ }) => {
32
+ statement: {
33
+ title: React$1.ReactNode;
34
+ description: React$1.ReactNode;
35
+ severity: "error" | "warning" | "success" | "info" | undefined;
36
+ };
37
+ } | null;
38
+ declare function buildInitialValues(stepsInitialValues: Partial<TerminationFormValues>, hasFutureStartDate: boolean): TerminationFormValues;
39
+
25
40
  type TerminationHookProps = Omit<TerminationFlowProps, 'render'>;
26
41
  declare const useTermination: ({ employmentId, options, initialValues: terminationInitialValues, }: TerminationHookProps) => {
27
42
  /**
@@ -29,11 +44,37 @@ declare const useTermination: ({ employmentId, options, initialValues: terminati
29
44
  */
30
45
  employmentId: string;
31
46
  /**
32
- * Employment data passed useful to be used between components
47
+ * Employment data
33
48
  */
34
49
  employment: (Employment & {
35
50
  termination_date?: string | null;
36
51
  }) | undefined;
52
+ /**
53
+ * Current form field values, we use formValues to let the user know about all the current form values
54
+ */
55
+ fieldValues: {
56
+ confidential: string;
57
+ customer_informed_employee: string;
58
+ customer_informed_employee_date: string | null;
59
+ customer_informed_employee_description: string | null;
60
+ personal_email: string;
61
+ proposed_termination_date: string;
62
+ reason_description: string;
63
+ risk_assessment_reasons: TerminationDetailsParams["risk_assessment_reasons"];
64
+ termination_reason: TerminationDetailsParams["termination_reason"] | undefined;
65
+ termination_reason_files: TerminationDetailsParams["termination_reason_files"];
66
+ additional_comments: string | null;
67
+ will_challenge_termination: string;
68
+ will_challenge_termination_description: string | null;
69
+ agrees_to_pto_amount: string;
70
+ agrees_to_pto_amount_notes: string | null;
71
+ timesheet_file: TerminationDetailsParams["timesheet_file"];
72
+ acknowledge_termination_procedure: boolean;
73
+ };
74
+ /**
75
+ * Indicates if the form is dirty
76
+ */
77
+ isDirty: boolean;
37
78
  /**
38
79
  * Current step state containing the current step and total number of steps
39
80
  */
@@ -181,4 +222,4 @@ type TerminationFlowProps = {
181
222
  initialValues?: Record<string, unknown>;
182
223
  };
183
224
 
184
- export { type AdditionalDetailsFormValues as A, type EmployeeCommunicationFormValues as E, type PaidTimeOffFormValues as P, type TerminationFormValues as T, type TerminationFlowProps as a, type TerminationRenderProps as b, type TerminationDetailsFormValues as c, AdditionalDetailsForm as d, EmployeeCommunicationForm as e, PaidTimeOffForm as f, TerminationDetailsForm as g, useTermination as u };
225
+ export { type AdditionalDetailsFormValues as A, type EmployeeCommunicationFormValues as E, type PaidTimeOffFormValues as P, type StepTerminationKeys as S, type TerminationFormValues as T, type TerminationFlowProps as a, type TerminationRenderProps as b, type TerminationDetailsFormValues as c, AdditionalDetailsForm as d, EmployeeCommunicationForm as e, STEPS as f, calculateMinTerminationDate as g, calculateProposedTerminationDateStatement as h, buildInitialValues as i, PaidTimeOffForm as j, TerminationDetailsForm as k, useTermination as u };
@@ -1,10 +1,10 @@
1
- import { w as EmploymentCreationResponse, D as EmploymentResponse, S as SuccessResponse, A as PostCreateEmployment2Error, G as PatchUpdateEmployment2Error, I as PutUpdateBenefitOfferError, E as Employment$1, B as EmploymentCreateParams } from './types.gen-BS9UfhS-.js';
1
+ import { o as EmploymentCreationResponse, r as EmploymentResponse, S as SuccessResponse, p as PostCreateEmployment2Error, s as PatchUpdateEmployment2Error, u as PutUpdateBenefitOfferError, E as Employment$1, q as EmploymentCreateParams } from './types.gen-B2u-cOXI.js';
2
2
  import * as react_jsx_runtime from 'react/jsx-runtime';
3
3
  import { OnboardingBack } from './flows/Onboarding/components/OnboardingBack.js';
4
4
  import { OnboardingInvite } from './flows/Onboarding/components/OnboardingInvite.js';
5
- import { N as NormalizedFieldError, S as SuccessResponse$1, E as ErrorResponse } from './mutations-BdkQ8BEQ.js';
5
+ import { N as NormalizedFieldError, S as SuccessResponse$1, E as ErrorResponse } from './mutations-poZZkLvk.js';
6
6
  import { OnboardingSubmit } from './flows/Onboarding/components/OnboardingSubmit.js';
7
- import { C as Components, M as Meta, J as JSFFieldset } from './remoteFlows-nNmmcD-T.js';
7
+ import { C as Components, M as Meta, J as JSFFieldset } from './remoteFlows-DzRZRhQq.js';
8
8
  import * as _tanstack_query_core from '@tanstack/query-core';
9
9
  import * as React$1 from 'react';
10
10
  import * as _remoteoss_json_schema_form from '@remoteoss/json-schema-form';
@@ -77,7 +77,7 @@ declare const STEPS_WITHOUT_SELECT_COUNTRY: Record<Exclude<StepKeys, 'select_cou
77
77
  */
78
78
  declare const reviewStepAllowedEmploymentStatus: Employment['status'][];
79
79
  declare const disabledInviteButtonEmploymentStatus: Employment['status'][];
80
- declare const getContractDetailsSchemaVersion: (countryCode: string | null, jsonSchemaVersion: FlowOptions["jsonSchemaVersion"]) => FlowOptions["jsonSchemaVersion"] | undefined;
80
+ declare const getContractDetailsSchemaVersion: (jsonSchemaVersion: FlowOptions["jsonSchemaVersion"]) => FlowOptions["jsonSchemaVersion"] | undefined;
81
81
 
82
82
  type OnboardingHookProps = Omit<OnboardingFlowProps, 'render'>;
83
83
  declare const useOnboarding: ({ employmentId, companyId, countryCode, type, options, skipSteps, externalId, initialValues: onboardingInitialValues, }: OnboardingHookProps) => {
@@ -69,6 +69,10 @@ type ConvertCurrency = {
69
69
  target_currency: CurrencyDefinition;
70
70
  };
71
71
  type ResignationOrTerminationOffboarding = ResignationOffboarding | TerminationOffboarding;
72
+ /**
73
+ * The frequency at which the payroll calendar is run.
74
+ */
75
+ type CycleFrequency = 'monthly' | 'bi_monthly' | 'bi_weekly' | 'weekly';
72
76
  type MinimalCountry = {
73
77
  alpha_2_code: string;
74
78
  code: string;
@@ -504,6 +508,12 @@ type Currency = {
504
508
  slug: string;
505
509
  symbol: string;
506
510
  };
511
+ type PayrollCalendarEor = {
512
+ country: Country;
513
+ cycle_frequency: CycleFrequency;
514
+ cycles: Array<Cycle>;
515
+ id: string;
516
+ };
507
517
  /**
508
518
  * The date the employee first started working for your company. If you don’t include a seniority date,
509
519
  * the employee’s start date with Remote will be deemed as the start of the employee’s seniority.
@@ -1205,6 +1215,13 @@ type TerminationDetailsParams = {
1205
1215
  * UTC date in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format
1206
1216
  */
1207
1217
  type _Date = string;
1218
+ type Cycle = {
1219
+ employee_inclusion_cutoff_date?: string;
1220
+ end_date?: string;
1221
+ input_cutoff_date?: string;
1222
+ payment_date?: string;
1223
+ start_date?: string;
1224
+ };
1208
1225
  type ParameterError = {
1209
1226
  /**
1210
1227
  * An error code that describes the nature of the error.
@@ -1622,4 +1639,4 @@ type PostManageContractorPlusSubscriptionSubscriptionErrors = {
1622
1639
  };
1623
1640
  type PostManageContractorPlusSubscriptionSubscriptionError = PostManageContractorPlusSubscriptionSubscriptionErrors[keyof PostManageContractorPlusSubscriptionSubscriptionErrors];
1624
1641
 
1625
- export type { Currency as $, PostCreateEmployment2Error as A, EmploymentCreateParams as B, CreateOffboardingParams as C, EmploymentResponse as D, Employment as E, File as F, PatchUpdateEmployment2Error as G, EmploymentFullParams as H, PutUpdateBenefitOfferError as I, ConvertCurrencyResponse as J, PostConvertRawCurrencyConverterError as K, ConvertCurrencyParams as L, ManageContractorPlusSubscriptionOperationsParams as M, PostCreateContractEligibilityError as N, OffboardingResponse as O, PostCreateOffboardingError as P, CreateContractEligibilityParams as Q, ListTimeoffResponse as R, SuccessResponse as S, TimeoffStatus as T, UnifiedEmploymentUpsertBenefitOffersRequest as U, ValidationError as V, TimeoffType as W, ListLeavePoliciesSummaryResponse as X, MagicLinkResponse as Y, UnprocessableEntityResponse as Z, MagicLinkParams as _, ContractAmendmentAutomatableResponse as a, HelpCenterArticle as a0, TerminationDetailsParams as a1, PostAutomatableContractAmendmentError as b, ContractAmendmentResponse as c, PostCreateContractAmendmentError as d, PostSignContractDocumentError as e, SignContractDocument as f, ContractorSubscriptionsSummary as g, PostManageContractorPlusSubscriptionSubscriptionError as h, CreateContractDocumentResponse as i, PostCreateContractDocumentError as j, CreateContractDocument as k, CostCalculatorEstimateResponse as l, PostCreateEstimationError as m, CostCalculatorEstimatePdfResponse as n, PostCreateEstimationPdfError as o, CostCalculatorEstimateParams as p, CostCalculatorEstimateCsvResponse as q, PostCreateEstimationCsvError as r, MinimalRegion as s, MinimalCountry as t, EmploymentTermType as u, CostCalculatorEmployment as v, EmploymentCreationResponse as w, Company as x, PostInviteEmploymentInvitationError as y, PostCreateRiskReserveError as z };
1642
+ export type { MagicLinkParams as $, CostCalculatorEstimateResponse as A, PostCreateEstimationError as B, CreateOffboardingParams as C, CostCalculatorEstimatePdfResponse as D, Employment as E, File as F, PostCreateEstimationPdfError as G, CostCalculatorEstimateParams as H, CostCalculatorEstimateCsvResponse as I, PostCreateEstimationCsvError as J, MinimalRegion as K, MinimalCountry as L, ManageContractorPlusSubscriptionOperationsParams as M, EmploymentTermType as N, OffboardingResponse as O, PostCreateOffboardingError as P, CostCalculatorEmployment as Q, ListTimeoffResponse as R, SuccessResponse as S, TerminationDetailsParams as T, UnifiedEmploymentUpsertBenefitOffersRequest as U, ValidationError as V, TimeoffStatus as W, TimeoffType as X, ListLeavePoliciesSummaryResponse as Y, MagicLinkResponse as Z, UnprocessableEntityResponse as _, ContractAmendmentAutomatableResponse as a, Currency as a0, HelpCenterArticle as a1, PayrollCalendarEor as a2, PostAutomatableContractAmendmentError as b, ContractAmendmentResponse as c, PostCreateContractAmendmentError as d, PostSignContractDocumentError as e, SignContractDocument as f, ContractorSubscriptionsSummary as g, PostManageContractorPlusSubscriptionSubscriptionError as h, CreateContractDocumentResponse as i, PostCreateContractDocumentError as j, CreateContractDocument as k, Company as l, PostInviteEmploymentInvitationError as m, PostCreateRiskReserveError as n, EmploymentCreationResponse as o, PostCreateEmployment2Error as p, EmploymentCreateParams as q, EmploymentResponse as r, PatchUpdateEmployment2Error as s, EmploymentFullParams as t, PutUpdateBenefitOfferError as u, ConvertCurrencyResponse as v, PostConvertRawCurrencyConverterError as w, ConvertCurrencyParams as x, PostCreateContractEligibilityError as y, CreateContractEligibilityParams as z };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remoteoss/remote-flows",
3
- "version": "0.30.0",
3
+ "version": "0.31.0",
4
4
  "scripts": {
5
5
  "build": "NODE_ENV=production tsup",
6
6
  "ci": "npm run build && npm run check-format && npm run check-exports && npm run lint && npm run type-check && npm run test",
@@ -1,2 +0,0 @@
1
- import{a as t}from"./chunk-P37U34EQ.js";import{formDataBodySerializer as i}from"@hey-api/client-fetch";import{createClient as o,createConfig as n}from"@hey-api/client-fetch";var r=o(n({baseUrl:"https://gateway.remote.com/"}));var l=t(e=>(e?.client??r).post({security:[{scheme:"bearer",type:"http"}],url:"/v1/offboardings",...e,headers:{"Content-Type":"application/json",...e?.headers}}),"postCreateOffboarding");var h=t(e=>(e.client??r).get({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/contract-amendments/schema",...e}),"getShowContractAmendmentSchema");var m=t(e=>(e.client??r).post({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/currency-converter/raw",...e,headers:{"Content-Type":"application/json",...e?.headers}}),"postConvertRawCurrencyConverter"),d=t(e=>(e.client??r).get({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/countries/{country_code}/contractor-contract-details",...e}),"getShowContractorContractDetailsCountry");var y=t(e=>(e.client??r).post({security:[{scheme:"bearer",type:"http"}],url:"/v1/employments",...e,headers:{"Content-Type":"application/json",...e?.headers}}),"postCreateEmployment2"),u=t(e=>(e.client??r).get({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/help-center-articles/{id}",...e}),"getShowHelpCenterArticle");var E=t(e=>(e.client??r).post({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/cost-calculator/estimation",...e,headers:{"Content-Type":"application/json",...e?.headers}}),"postCreateEstimation");var C=t(e=>(e.client??r).get({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/employments/{employment_id}/benefit-offers",...e}),"getIndexBenefitOffer"),w=t(e=>(e.client??r).put({security:[{scheme:"bearer",type:"http"}],url:"/v1/employments/{employment_id}/benefit-offers",...e,headers:{"Content-Type":"application/json",...e?.headers}}),"putUpdateBenefitOffer");var T=t(e=>(e.client??r).get({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/contractors/employments/{employment_id}/contractor-subscriptions",...e}),"getIndexSubscription");var O=t(e=>(e.client??r).get({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/contractors/employments/{employment_id}/contract-documents/{id}",...e}),"getShowContractDocument");var x=t(e=>(e.client??r).post({security:[{scheme:"bearer",type:"http"}],url:"/v1/magic-link",...e,headers:{"Content-Type":"application/json",...e?.headers}}),"postGenerateMagicLink");var b=t(e=>(e?.client??r).post({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/cost-calculator/estimation-pdf",...e,headers:{"Content-Type":"application/json",...e?.headers}}),"postCreateEstimationPdf");var f=t(e=>(e.client??r).post({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/risk-reserve",...e,headers:{"Content-Type":"application/json",...e?.headers}}),"postCreateRiskReserve");var P=t(e=>(e.client??r).get({security:[{scheme:"bearer",type:"http"}],url:"/v1/companies/{company_id}",...e}),"getShowCompany");var R=t(e=>(e.client??r).post({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/contract-amendments",...e,headers:{"Content-Type":"application/json",...e?.headers}}),"postCreateContractAmendment");var D=t(e=>(e.client??r).get({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/countries/{country_code}/{form}",...e}),"getShowFormCountry");var G=t(e=>(e?.client??r).get({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/cost-calculator/countries",...e}),"getIndexCountry");var v=t(e=>(e.client??r).get({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/leave-policies/summary/{employment_id}",...e}),"getIndexLeavePoliciesSummary");var g=t(e=>(e.client??r).get({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/employments/{employment_id}/benefit-offers/schema",...e}),"getShowSchema");var I=t(e=>(e.client??r).get({security:[{scheme:"bearer",type:"http"}],url:"/v1/employments/{employment_id}",...e}),"getShowEmployment"),S=t(e=>(e.client??r).patch({security:[{scheme:"bearer",type:"http"}],url:"/v1/employments/{employment_id}",...e,headers:{"Content-Type":"application/json",...e?.headers}}),"patchUpdateEmployment2");var k=t(e=>(e.client??r).get({security:[{scheme:"bearer",type:"http"}],url:"/v1/cost-calculator/regions/{slug}/fields",...e}),"getShowRegionField");var U=t(e=>(e.client??r).post({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/employments/{employment_id}/contract-eligibility",...e,headers:{"Content-Type":"application/json",...e?.headers}}),"postCreateContractEligibility"),B=t(e=>(e.client??r).get({security:[{scheme:"bearer",type:"http"}],url:"/v1/countries",...e}),"getSupportedCountry");var q=t(e=>(e?.client??r).post({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/cost-calculator/estimation-csv",...e,headers:{"Content-Type":"application/json",...e?.headers}}),"postCreateEstimationCsv"),A=t(e=>(e.client??r).post({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/contractors/employments/{employment_id}/contract-documents",...e,headers:{"Content-Type":"application/json",...e?.headers}}),"postCreateContractDocument");var _=t(e=>(e.client??r).post({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/currency-converter/effective",...e,headers:{"Content-Type":"application/json",...e?.headers}}),"postConvertWithSpreadCurrencyConverter");var W=t(e=>(e.client??r).post({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/contract-amendments/automatable",...e,headers:{"Content-Type":"application/json",...e?.headers}}),"postAutomatableContractAmendment");var F=t(e=>(e?.client??r).get({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/company-currencies",...e}),"getIndexCompanyCurrency");var j=t(e=>(e.client??r).post({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/employments/{employment_id}/invite",...e}),"postInviteEmploymentInvitation");var L=t(e=>(e.client??r).post({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/contractors/employments/{employment_id}/contract-documents/{contract_document_id}/sign",...e,headers:{"Content-Type":"application/json",...e?.headers}}),"postSignContractDocument");var V=t(e=>(e.client??r).post({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/contractors/employments/{employment_id}/contractor-plus-subscription",...e,headers:{"Content-Type":"application/json",...e?.headers}}),"postManageContractorPlusSubscriptionSubscription"),M=t(e=>(e.client??r).get({security:[{scheme:"bearer",type:"http"},{scheme:"bearer",type:"http"}],url:"/v1/timeoff",...e}),"getIndexTimeoff");export{r as a,l as b,h as c,m as d,d as e,y as f,u as g,E as h,C as i,w as j,T as k,O as l,x as m,b as n,f as o,P as p,R as q,D as r,G as s,v as t,g as u,I as v,S as w,k as x,U as y,B as z,q as A,A as B,_ as C,W as D,F as E,j as F,L as G,V as H,M as I};
2
- //# sourceMappingURL=chunk-2CDCTUVY.js.map
@@ -1,2 +0,0 @@
1
- import{a as c}from"./chunk-SGE4DLC3.js";import{I as h,m as b,t as T,v as g}from"./chunk-2CDCTUVY.js";import{d as i}from"./chunk-XFJPUKYR.js";import{a as r}from"./chunk-P37U34EQ.js";var P="long",B=.01,m=8,C=3;function R(e){return Math.abs(e)<B&&e!==0}r(R,"shouldDisplayAsHours");function U({days:e,hours:t}){return e+t/m}r(U,"getDaysAndHoursAsDecimal");function A(e){let t=10**C,o=Math.round(Math.abs(e)*t)/t;return e<0?-o:o}r(A,"roundToDecimals");function M(e,t){let o=A(e);if(t==="short")return`${o}h`;let n=c({number:e,singular:"hour",plural:"hours",followCopyGuidelines:!1,showNumber:!1});return`${o} ${n}`}r(M,"formatAsHours");function u(e,t){return e*m+t}r(u,"convertToTotalHours");function d(e){return{days:Math.floor(e/m),hours:e%m}}r(d,"convertTotalHoursToDaysAndHours");function w(e,t){let o=A(e);if(t==="short")return`${o}d`;let n=c({number:e,singular:"day",plural:"days",followCopyGuidelines:!1,showNumber:!1});return`${o} ${n}`}r(w,"formatAsDays");function _(e,t=P){let o=U(e);return R(o)?M(u(e.days,e.hours),t):w(o,t)}r(_,"formatAsDecimal");import{useMutation as O,useQuery as p}from"@tanstack/react-query";var ae=r(({employmentId:e})=>{let{client:t}=i();return p({queryKey:["employment",e],retry:!1,queryFn:r(()=>g({client:t,headers:{Authorization:""},path:{employment_id:e}}),"queryFn"),enabled:!!e,select:r(({data:o})=>o?.data?.employment,"select")})},"useEmploymentQuery"),H=r(({employmentId:e,status:t,timeoffType:o,options:n})=>{let{client:a}=i();return p({queryKey:["timeoff",e,t],retry:!1,queryFn:r(()=>h({client:a,headers:{Authorization:""},query:{employment_id:e,status:t,timeoff_type:o}}),"queryFn"),select:r(({data:s})=>n?.select?.(s)??s,"select"),enabled:n?.enabled})},"useTimeOffQuery"),Q=r((e,t)=>{let o=new Date(e).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"}),n=new Date(t).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"});return`${o} \u2192 ${n}`},"formatDateRange"),se=r(({employmentId:e,options:t})=>H({employmentId:e,timeoffType:"paid_time_off",options:{enabled:t?.enabled,select:r(o=>({bookedDays:o?.data?.total_count||0,timeoffs:o?.data?.timeoffs?.map(n=>({status:n?.status,duration:n?.timeoff_days.length,startDate:n?.start_date,endDate:n?.end_date,formattedDate:Q(n?.start_date,n?.end_date)}))||[]}),"select")}}),"usePaidTimeoffBreakdownQuery");function $(e,t){let o=0,n=0;return e.forEach(a=>{a.timeoff_days?.forEach(s=>{new Date(s.day)<=t?o+=s.hours||0:n+=s.hours||0})}),{before:o,after:n}}r($,"getAllTimeoffHoursBeforeDate");var q=r(({employmentId:e,date:t,options:o})=>H({employmentId:e,timeoffType:"paid_time_off",status:"approved",options:{enabled:o?.enabled,select:r(n=>{let{before:a,after:s}=$(n?.data?.timeoffs||[],new Date(t));return{bookedDaysBeforeTermination:d(a),bookedDaysAfterTermination:d(s)}},"select")}}),"useBookedTimeoffBeforeAndAfterTerminationQuery");function I(e){return Object.entries(e).reduce((t,[o,n])=>({...t,[o]:_(n)}),{})}r(I,"formatTimeoffValues");function z(e){let t=e?.contract_details?.available_pto,o=e?.contract_details?.available_pto_type;return e?.country?.code==="USA"&&o==="unlimited"?{value:t===0?20:t}:o==="unlimited"&&t>0?{value:t}:{value:t}}r(z,"getMinimumStatutoryDays");var ie=r(({employmentId:e,proposedTerminationDate:t,employment:o})=>{let{value:n=0}=z(o),a=K({employmentId:e}),s=q({employmentId:e,date:t}),D=a.data?.data?.[0].annual_entitlement.type==="limited"?{days:a.data?.data?.[0].annual_entitlement.days,hours:a.data?.data?.[0].annual_entitlement.hours}:{days:n,hours:0},f={days:a.data?.data?.[0].booked.days||0,hours:a.data?.data?.[0].booked.hours||0},l=a.data?.data?.[0].current_entitlement.type==="limited"?{days:a.data?.data?.[0].current_entitlement.days||0,hours:a.data?.data?.[0].current_entitlement.hours||0}:{days:n,hours:0},y={days:a.data?.data?.[0].used.days||0,hours:a.data?.data?.[0].used.hours||0},S=s.data?.bookedDaysBeforeTermination||{days:0,hours:0},k=s.data?.bookedDaysAfterTermination||{days:0,hours:0},x=u(l.days,l.hours),E=u(y.days,y.hours),L=u(f.days,f.hours),v=x-E-L,F=d(v);return{data:{...I({entitledDays:D,bookedDays:f,usedDays:y,approvedDaysBeforeTermination:S,approvedDaysAfterTermination:k,remainingDays:F,currentEntitlementDays:l}),isUnlimitedPto:o?.contract_details?.available_pto_type==="unlimited"},isLoading:a.isLoading||s.isLoading,isError:a.isError||s.isError,error:a.error||s.error}},"useSummaryTimeOffDataQuery"),K=r(({employmentId:e})=>{let{client:t}=i();return p({queryKey:["timeoff-balance",e],retry:!1,queryFn:r(()=>T({client:t,headers:{Authorization:""},path:{employment_id:e}}),"queryFn"),select:r(({data:o})=>o,"select")})},"useTimeOffLeavePoliciesSummaryQuery"),ue=r(()=>{let{client:e}=i();return O({mutationFn:r(t=>b({client:e,headers:{Authorization:""},body:t}),"mutationFn")})},"useMagicLink");export{ae as a,H as b,se as c,q as d,ie as e,K as f,ue as g};
2
- //# sourceMappingURL=chunk-A6GJNXUZ.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/lib/time.ts","../src/common/api.ts"],"sourcesContent":["import { getSingularPluralUnit } from '@/src/lib/i18n';\n\nexport type DaysAndHours = {\n hours: number;\n days: number;\n};\ntype FormatDaysAndHoursSuffixFormat = 'short' | 'long';\n\nconst DEFAULT_SUFFIX_FORMAT: FormatDaysAndHoursSuffixFormat = 'long';\n\n/**\n * Threshold below which decimal day values should be displayed in hours instead\n * of days. Very small day values are more meaningful when shown as hours.\n */\nconst DECIMAL_DAYS_DISPLAY_THRESHOLD = 0.01;\n\n/**\n * Default number of hours in a work day.\n */\nconst DEFAULT_WORK_HOURS = 8;\n\n/**\n * Default number of decimal places to round to.\n */\nconst DEFAULT_DECIMAL_PLACES = 3;\n\n/**\n * Determines whether a decimal day value should be displayed as hours for\n * better readability.\n */\nfunction shouldDisplayAsHours(decimal: number): boolean {\n return Math.abs(decimal) < DECIMAL_DAYS_DISPLAY_THRESHOLD && decimal !== 0;\n}\n\n/**\n * Converts days and hours into a decimal representation.\n * Designed to handle integer hours (-7 to 7) and future integer minutes (-59 to 59).\n *\n * @example\n * getDaysAndHoursAsDecimal({ days: 1, hours: 4 }) // 1.5\n * getDaysAndHoursAsDecimal({ days: 0, hours: 3 }) // 0.375\n */\nfunction getDaysAndHoursAsDecimal({ days, hours }: DaysAndHours): number {\n return days + hours / DEFAULT_WORK_HOURS;\n}\n\n/**\n * Rounds a number to 2 decimal places using symmetric rounding (away from zero).\n */\nfunction roundToDecimals(value: number): number {\n const multiplier = 10 ** DEFAULT_DECIMAL_PLACES;\n\n // Math.round() uses \"Round half toward positive infinity\", so we round using\n // absolute value to achieve symmetric rounding\n const rounded = Math.round(Math.abs(value) * multiplier) / multiplier;\n // preserve original sign\n return value < 0 ? -rounded : rounded;\n}\n\n/**\n * Formats a time duration as hours with the specified suffix format.\n */\nfunction formatAsHours(\n hours: number,\n suffixFormat: FormatDaysAndHoursSuffixFormat,\n): string {\n const roundedHours = roundToDecimals(hours);\n\n if (suffixFormat === 'short') return `${roundedHours}h`;\n\n const hoursText = getSingularPluralUnit({\n number: hours,\n singular: 'hour',\n plural: 'hours',\n followCopyGuidelines: false,\n showNumber: false,\n });\n return `${roundedHours} ${hoursText}`;\n}\n\n/**\n * Converts days and hours into total hours based on standard work day\n */\nexport function convertToTotalHours(days: number, hours: number): number {\n return days * DEFAULT_WORK_HOURS + hours;\n}\n\nexport function convertTotalHoursToDaysAndHours(\n totalHours: number,\n): DaysAndHours {\n return {\n days: Math.floor(totalHours / DEFAULT_WORK_HOURS),\n hours: totalHours % DEFAULT_WORK_HOURS,\n };\n}\n\n/**\n * Formats a time duration as decimal days with the specified suffix format.\n */\nfunction formatAsDays(\n decimal: number,\n suffixFormat: FormatDaysAndHoursSuffixFormat,\n): string {\n const roundedDecimal = roundToDecimals(decimal);\n\n if (suffixFormat === 'short') return `${roundedDecimal}d`;\n\n const daysText = getSingularPluralUnit({\n number: decimal,\n singular: 'day',\n plural: 'days',\n followCopyGuidelines: false,\n showNumber: false,\n });\n return `${roundedDecimal} ${daysText}`;\n}\n\n/**\n * Converts time off quantities into decimal format for display.\n *\n * Always returns a formatted decimal string with appropriate units.\n * Useful when you need a precise decimal representation of any time duration.\n *\n * @example\n * formatAsDecimal({ days: 1, hours: 4 }) // \"1.5 days\"\n * formatAsDecimal({ days: 2, hours: 0 }) // \"2 days\"\n * formatAsDecimal({ days: 0, hours: -3 }) // \"-0.38 days\"\n */\nexport function formatAsDecimal(\n daysAndHours: DaysAndHours,\n suffixFormat: FormatDaysAndHoursSuffixFormat = DEFAULT_SUFFIX_FORMAT,\n): string {\n const decimal = getDaysAndHoursAsDecimal(daysAndHours);\n\n if (shouldDisplayAsHours(decimal)) {\n return formatAsHours(\n convertToTotalHours(daysAndHours.days, daysAndHours.hours),\n suffixFormat,\n );\n }\n\n return formatAsDays(decimal, suffixFormat);\n}\n","import {\n getIndexLeavePoliciesSummary,\n getIndexTimeoff,\n getShowEmployment,\n ListTimeoffResponse,\n MagicLinkParams,\n postGenerateMagicLink,\n Timeoff,\n TimeoffStatus,\n TimeoffType,\n} from '@/src/client';\nimport { useClient } from '@/src/context';\nimport { ContractAmendmentParams } from '@/src/flows/ContractAmendment/types';\nimport { Employment } from '@/src/flows/Onboarding/types';\nimport {\n convertTotalHoursToDaysAndHours,\n convertToTotalHours,\n DaysAndHours,\n formatAsDecimal,\n} from '@/src/lib/time';\nimport { Client } from '@hey-api/client-fetch';\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: data?.data?.total_count || 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\nexport type BookedTimeoffBeforeDateResponse = {\n /*\n * The number of days booked before termination.\n */\n bookedDaysBeforeTermination: DaysAndHours;\n /*\n * The number of days booked after termination.\n */\n bookedDaysAfterTermination: DaysAndHours;\n};\n\nfunction getAllTimeoffHoursBeforeDate(\n timeoffs: Timeoff[],\n terminationDate: Date,\n): { before: number; after: number } {\n let before = 0;\n let after = 0;\n\n timeoffs.forEach((timeoff) => {\n timeoff.timeoff_days?.forEach((day) => {\n const dayDate = new Date(day.day);\n if (dayDate <= terminationDate) {\n // Day is on or before termination\n before += day.hours || 0;\n } else {\n // Day is after termination\n after += day.hours || 0;\n }\n });\n });\n\n return { before, after };\n}\n\n/**\n * Hook to retrieve booked time off data before and after a specific date for a specific employment.\n *\n * @param {Object} params - The parameters for the query.\n * @param {string} [params.employmentId] - The ID of the employment to fetch booked time off data for.\n * @param {string} [params.date] - The date to fetch booked time off data for.\n * @returns {BookedTimeoffBeforeDateResponse} - The booked time off data before and after the specific date.\n *\n * This hook accounts for partial days and multiple timeoff_days per request.\n */\nexport const useBookedTimeoffBeforeAndAfterTerminationQuery = ({\n employmentId,\n date,\n options,\n}: {\n employmentId: string;\n date: string;\n options?: { enabled: boolean };\n}) => {\n return useTimeOffQuery<BookedTimeoffBeforeDateResponse>({\n employmentId,\n timeoffType: 'paid_time_off',\n status: 'approved',\n options: {\n enabled: options?.enabled,\n select: (data) => {\n const { before, after } = getAllTimeoffHoursBeforeDate(\n data?.data?.timeoffs || [],\n new Date(date),\n );\n\n return {\n bookedDaysBeforeTermination: convertTotalHoursToDaysAndHours(before),\n bookedDaysAfterTermination: convertTotalHoursToDaysAndHours(after),\n };\n },\n },\n });\n};\n\nfunction formatTimeoffValues(\n values: Record<string, DaysAndHours>,\n): Record<string, string> {\n return Object.entries(values).reduce(\n (acc, [key, value]) => ({\n ...acc,\n [key]: formatAsDecimal(value),\n }),\n {},\n );\n}\n\nexport type SummaryTimeOffDataResponse = {\n /*\n * The number of days entitled to per year.\n */\n entitledDays: string;\n /*\n * The number of days booked.\n */\n bookedDays: string;\n /*\n * The number of days used.\n */\n usedDays: string;\n /*\n * The number of days current entitlement, better than entitledDays because it takes into account the accrued value.\n */\n currentEntitlementDays: string;\n /*\n * The number of days approved before termination.\n */\n approvedDaysBeforeTermination: string;\n /*\n * The number of days approved after termination.\n */\n approvedDaysAfterTermination: string;\n /*\n * The number of days remaining.\n */\n remainingDays: string;\n /*\n * Whether the PTO is unlimited or not.\n */\n isUnlimitedPto: boolean;\n};\n\nfunction getMinimumStatutoryDays(employment?: Employment) {\n const availablePto = employment?.contract_details?.available_pto as number;\n const ptoType = employment?.contract_details?.available_pto_type as\n | 'unlimited'\n | 'fixed';\n const countryCode = employment?.country?.code;\n\n // Special handling for countries without statutory minimums\n if (countryCode === 'USA' && ptoType === 'unlimited') {\n // USA has no minimum, but Remote recommends 20\n return {\n value: availablePto === 0 ? 20 : availablePto,\n };\n }\n\n // For most countries with unlimited PTO, available_pto IS the statutory minimum\n if (ptoType === 'unlimited' && availablePto > 0) {\n return {\n value: availablePto,\n };\n }\n\n // For fixed PTO, it's just the entitlement\n return {\n value: availablePto,\n };\n}\n\n/**\n * Hook to retrieve summary time off data for a specific employment.\n *\n * @param {Object} params - The parameters for the query.\n * @param {string} [params.employmentId] - The ID of the employment to fetch summary time off data for.\n * @param {string} [params.proposedTerminationDate] - The proposed termination date to fetch summary time off data for.\n * @returns {SummaryTimeOffDataResponse} - The summary time off data.\n *\n * This hook doesn't take into account unlimited time off or half days yet.\n *\n */\nexport const useSummaryTimeOffDataQuery = ({\n employmentId,\n proposedTerminationDate,\n employment,\n}: {\n employmentId: string;\n proposedTerminationDate: string;\n employment?: Employment;\n}) => {\n const { value: minimumStatutoryDays = 0 } =\n getMinimumStatutoryDays(employment);\n const leavePoliciesSummaryQuery = useTimeOffLeavePoliciesSummaryQuery({\n employmentId,\n });\n const bookedTimeQuery = useBookedTimeoffBeforeAndAfterTerminationQuery({\n employmentId,\n date: proposedTerminationDate,\n });\n\n const entitledDays =\n leavePoliciesSummaryQuery.data?.data?.[0].annual_entitlement.type ===\n 'limited'\n ? {\n days: leavePoliciesSummaryQuery.data?.data?.[0].annual_entitlement\n .days,\n hours:\n leavePoliciesSummaryQuery.data?.data?.[0].annual_entitlement.hours,\n }\n : { days: minimumStatutoryDays, hours: 0 };\n\n const bookedDays = {\n days: leavePoliciesSummaryQuery.data?.data?.[0].booked.days || 0,\n hours: leavePoliciesSummaryQuery.data?.data?.[0].booked.hours || 0,\n };\n\n const currentEntitlementDays =\n leavePoliciesSummaryQuery.data?.data?.[0].current_entitlement.type ===\n 'limited'\n ? {\n days:\n leavePoliciesSummaryQuery.data?.data?.[0].current_entitlement\n .days || 0,\n hours:\n leavePoliciesSummaryQuery.data?.data?.[0].current_entitlement\n .hours || 0,\n }\n : { days: minimumStatutoryDays, hours: 0 };\n\n const usedDays = {\n days: leavePoliciesSummaryQuery.data?.data?.[0].used.days || 0,\n hours: leavePoliciesSummaryQuery.data?.data?.[0].used.hours || 0,\n };\n\n const approvedDaysBeforeTermination = bookedTimeQuery.data\n ?.bookedDaysBeforeTermination || { days: 0, hours: 0 };\n\n const approvedDaysAfterTermination = bookedTimeQuery.data\n ?.bookedDaysAfterTermination || { days: 0, hours: 0 };\n\n const totalCurrentEntitlementHours = convertToTotalHours(\n currentEntitlementDays.days,\n currentEntitlementDays.hours,\n );\n const totalUsedHours = convertToTotalHours(usedDays.days, usedDays.hours);\n const totalBookedHours = convertToTotalHours(\n bookedDays.days,\n bookedDays.hours,\n );\n\n const remainingHours =\n totalCurrentEntitlementHours - totalUsedHours - totalBookedHours;\n\n const remainingDays = convertTotalHoursToDaysAndHours(remainingHours);\n\n const formattedValues = formatTimeoffValues({\n entitledDays,\n bookedDays,\n usedDays,\n approvedDaysBeforeTermination,\n approvedDaysAfterTermination,\n remainingDays,\n currentEntitlementDays,\n }) as Omit<SummaryTimeOffDataResponse, 'isUnlimitedPto'>;\n\n return {\n data: {\n ...formattedValues,\n isUnlimitedPto:\n employment?.contract_details?.available_pto_type === 'unlimited',\n },\n isLoading: leavePoliciesSummaryQuery.isLoading || bookedTimeQuery.isLoading,\n isError: leavePoliciesSummaryQuery.isError || bookedTimeQuery.isError,\n error: leavePoliciesSummaryQuery.error || bookedTimeQuery.error,\n };\n};\n\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\n/**\n * Hook to generate a magic link for a specific employment.\n * @param {MagicLinkParams} params - The parameters for the magic link.\n * @returns {UseQueryResult<any, unknown>} - The result of the query, including the magic link.\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":["DEFAULT_SUFFIX_FORMAT","DECIMAL_DAYS_DISPLAY_THRESHOLD","DEFAULT_WORK_HOURS","DEFAULT_DECIMAL_PLACES","shouldDisplayAsHours","decimal","__name","getDaysAndHoursAsDecimal","days","hours","roundToDecimals","value","multiplier","rounded","formatAsHours","suffixFormat","roundedHours","hoursText","getSingularPluralUnit","convertToTotalHours","convertTotalHoursToDaysAndHours","totalHours","formatAsDays","roundedDecimal","daysText","formatAsDecimal","daysAndHours","useMutation","useQuery","useEmploymentQuery","__name","employmentId","client","useClient","useQuery","getShowEmployment","data","useTimeOffQuery","status","timeoffType","options","getIndexTimeoff","formatDateRange","startDate","endDate","start","end","usePaidTimeoffBreakdownQuery","timeoff","getAllTimeoffHoursBeforeDate","timeoffs","terminationDate","before","after","day","useBookedTimeoffBeforeAndAfterTerminationQuery","date","convertTotalHoursToDaysAndHours","formatTimeoffValues","values","acc","key","value","formatAsDecimal","getMinimumStatutoryDays","employment","availablePto","ptoType","useSummaryTimeOffDataQuery","proposedTerminationDate","minimumStatutoryDays","leavePoliciesSummaryQuery","useTimeOffLeavePoliciesSummaryQuery","bookedTimeQuery","entitledDays","bookedDays","currentEntitlementDays","usedDays","approvedDaysBeforeTermination","approvedDaysAfterTermination","totalCurrentEntitlementHours","convertToTotalHours","totalUsedHours","totalBookedHours","remainingHours","remainingDays","getIndexLeavePoliciesSummary","useMagicLink","useMutation","params","postGenerateMagicLink"]}
@@ -1,2 +0,0 @@
1
- import{c as t,d as i,e as s,f as m}from"./chunk-A6GJNXUZ.js";import{a as o}from"./chunk-P37U34EQ.js";import{useState as T}from"react";var S=o(({proposedTerminationDate:e,employeeName:f,employmentId:a,employment:r,render:y})=>{let[n,d]=T(!1),u=m({employmentId:a}),l=new Date(e).toLocaleDateString("en-US",{month:"long",day:"numeric",year:"numeric"}),c=t({employmentId:a,options:{enabled:n}}),p=i({employmentId:a,date:e}),D=s({employmentId:a,proposedTerminationDate:e,employment:r});return y({leavePoliciesSummaryQuery:u,timeoffQuery:c||{data:{bookedDays:0,timeoffs:[]}},bookedTimeBeforeAndAfterTerminationQuery:p,formattedProposedTerminationDate:l,employeeName:f,proposedTerminationDate:e,summaryData:D??{data:{entitledDays:"0 days",bookedDays:"0 days",usedDays:"0 days",approvedDaysBeforeTermination:"0 days",approvedDaysAfterTermination:"0 days",remainingDays:"0 days",isUnlimitedPto:!1},isLoading:!1,isError:!1,error:null},employment:r,open:n,onOpenChange:o(()=>{d(P=>!P)},"onOpenChange")})},"PaidTimeOffContainer");export{S as a};
2
- //# sourceMappingURL=chunk-BB3WWKGA.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.tsx"],"sourcesContent":["import {\n useBookedTimeoffBeforeAndAfterTerminationQuery,\n usePaidTimeoffBreakdownQuery,\n useSummaryTimeOffDataQuery,\n useTimeOffLeavePoliciesSummaryQuery,\n} from '@/src/common/api';\nimport { PaidTimeOffContainerProps } from '@/src/flows/Termination/components/PaidTimeOff/types';\nimport { useState } from 'react';\n\n/**\n * PaidTimeOffContainer component\n *\n * This is a container component that manages paid time off (PTO) data retrieval and state\n * for the termination flow. It aggregates multiple time off-related queries and formats\n * the termination date for display.\n *\n */\nexport const PaidTimeOffContainer = ({\n proposedTerminationDate,\n employeeName,\n employmentId,\n employment,\n render,\n}: PaidTimeOffContainerProps) => {\n const [open, setOpen] = useState(false);\n\n const leavePoliciesSummaryQuery = useTimeOffLeavePoliciesSummaryQuery({\n employmentId: employmentId,\n });\n\n const formattedProposedTerminationDate = new Date(\n proposedTerminationDate,\n ).toLocaleDateString('en-US', {\n month: 'long',\n day: 'numeric',\n year: 'numeric',\n });\n\n const timeoffQuery = usePaidTimeoffBreakdownQuery({\n employmentId: employmentId,\n options: {\n enabled: open,\n },\n });\n\n const bookedTimeBeforeAndAfterTerminationQuery =\n useBookedTimeoffBeforeAndAfterTerminationQuery({\n employmentId: employmentId,\n date: proposedTerminationDate,\n });\n\n // computed summary data\n const summaryData = useSummaryTimeOffDataQuery({\n employmentId: employmentId,\n proposedTerminationDate,\n employment: employment,\n });\n\n const onOpenChange = () => {\n setOpen((open) => !open);\n };\n\n return render({\n leavePoliciesSummaryQuery,\n timeoffQuery: timeoffQuery || {\n data: {\n bookedDays: 0,\n timeoffs: [],\n },\n },\n bookedTimeBeforeAndAfterTerminationQuery,\n formattedProposedTerminationDate,\n employeeName,\n proposedTerminationDate,\n summaryData: summaryData ?? {\n data: {\n entitledDays: '0 days',\n bookedDays: '0 days',\n usedDays: '0 days',\n approvedDaysBeforeTermination: '0 days',\n approvedDaysAfterTermination: '0 days',\n remainingDays: '0 days',\n isUnlimitedPto: false,\n },\n isLoading: false,\n isError: false,\n error: null,\n },\n employment: employment,\n open,\n onOpenChange,\n });\n};\n"],"mappings":"qGAOA,OAAS,YAAAA,MAAgB,QAUlB,IAAMC,EAAuBC,EAAA,CAAC,CACnC,wBAAAC,EACA,aAAAC,EACA,aAAAC,EACA,WAAAC,EACA,OAAAC,CACF,IAAiC,CAC/B,GAAM,CAACC,EAAMC,CAAO,EAAIC,EAAS,EAAK,EAEhCC,EAA4BC,EAAoC,CACpE,aAAcP,CAChB,CAAC,EAEKQ,EAAmC,IAAI,KAC3CV,CACF,EAAE,mBAAmB,QAAS,CAC5B,MAAO,OACP,IAAK,UACL,KAAM,SACR,CAAC,EAEKW,EAAeC,EAA6B,CAChD,aAAcV,EACd,QAAS,CACP,QAASG,CACX,CACF,CAAC,EAEKQ,EACJC,EAA+C,CAC7C,aAAcZ,EACd,KAAMF,CACR,CAAC,EAGGe,EAAcC,EAA2B,CAC7C,aAAcd,EACd,wBAAAF,EACA,WAAYG,CACd,CAAC,EAMD,OAAOC,EAAO,CACZ,0BAAAI,EACA,aAAcG,GAAgB,CAC5B,KAAM,CACJ,WAAY,EACZ,SAAU,CAAC,CACb,CACF,EACA,yCAAAE,EACA,iCAAAH,EACA,aAAAT,EACA,wBAAAD,EACA,YAAae,GAAe,CAC1B,KAAM,CACJ,aAAc,SACd,WAAY,SACZ,SAAU,SACV,8BAA+B,SAC/B,6BAA8B,SAC9B,cAAe,SACf,eAAgB,EAClB,EACA,UAAW,GACX,QAAS,GACT,MAAO,IACT,EACA,WAAYZ,EACZ,KAAAE,EACA,aAhCmBN,EAAA,IAAM,CACzBO,EAASD,GAAS,CAACA,CAAI,CACzB,EAFqB,eAiCrB,CAAC,CACH,EA3EoC","names":["useState","PaidTimeOffContainer","__name","proposedTerminationDate","employeeName","employmentId","employment","render","open","setOpen","useState","leavePoliciesSummaryQuery","useTimeOffLeavePoliciesSummaryQuery","formattedProposedTerminationDate","timeoffQuery","usePaidTimeoffBreakdownQuery","bookedTimeBeforeAndAfterTerminationQuery","useBookedTimeoffBeforeAndAfterTerminationQuery","summaryData","useSummaryTimeOffDataQuery"]}
@@ -1,2 +0,0 @@
1
- import{a as i}from"./chunk-P37U34EQ.js";var a={select_country:{index:0,name:"select_country"},basic_information:{index:1,name:"basic_information"},contract_details:{index:2,name:"contract_details"},benefits:{index:3,name:"benefits"},review:{index:4,name:"review"}},c={basic_information:{index:0,name:"basic_information"},contract_details:{index:1,name:"contract_details"},benefits:{index:2,name:"benefits"},review:{index:3,name:"review"}},m=["invited","created_awaiting_reserve","created_reserve_paid"],d=["created_awaiting_reserve","invited"],o={DEU:1},r=i(e=>{if(e)return o[e]},"getContractDetailsSchemaVersionByCountry"),_=i((e,t)=>{let n=r(e);return t?{...t,form_schema:{...t.form_schema,contract_details:n??t.form_schema?.contract_details}}:n?{form_schema:{contract_details:n}}:void 0},"getContractDetailsSchemaVersion");export{a,c as b,m as c,d,_ as e};
2
- //# sourceMappingURL=chunk-EHS4ERDW.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/Onboarding/utils.ts"],"sourcesContent":["import { Employment } from '@/src/flows/Onboarding/types';\nimport { FlowOptions } from '@/src/flows/types';\nimport { Step } from '@/src/flows/useStepState';\n\ntype StepKeys =\n | 'select_country'\n | 'basic_information'\n | 'contract_details'\n | 'benefits'\n | 'review';\n\nexport const STEPS: Record<StepKeys, Step<StepKeys>> = {\n select_country: {\n index: 0,\n name: 'select_country',\n },\n basic_information: { index: 1, name: 'basic_information' },\n contract_details: { index: 2, name: 'contract_details' },\n benefits: { index: 3, name: 'benefits' },\n review: { index: 4, name: 'review' },\n} as const;\n\nexport const STEPS_WITHOUT_SELECT_COUNTRY: Record<\n Exclude<StepKeys, 'select_country'>,\n Step<Exclude<StepKeys, 'select_country'>>\n> = {\n basic_information: { index: 0, name: 'basic_information' },\n contract_details: { index: 1, name: 'contract_details' },\n benefits: { index: 2, name: 'benefits' },\n review: { index: 3, name: 'review' },\n} as const;\n\n/**\n * Array of employment statuses that are allowed to proceed to the review step.\n * These statuses indicate that the employment is in a final state and the employment cannot be modified further.\n * @type {Employment['status'][]}\n * @constant\n */\nexport const reviewStepAllowedEmploymentStatus: Employment['status'][] = [\n 'invited',\n 'created_awaiting_reserve',\n 'created_reserve_paid',\n];\n\nexport const disabledInviteButtonEmploymentStatus: Employment['status'][] = [\n 'created_awaiting_reserve',\n 'invited',\n];\n\nconst COUNTRY_CONTRACT_DETAILS_SCHEMA_VERSION_MAP: Record<string, number> = {\n DEU: 1, // Germany\n};\n\nconst getContractDetailsSchemaVersionByCountry = (\n countryCode: string | null,\n): number | undefined => {\n if (!countryCode) return undefined;\n return COUNTRY_CONTRACT_DETAILS_SCHEMA_VERSION_MAP[countryCode];\n};\n\nexport const getContractDetailsSchemaVersion = (\n countryCode: string | null,\n jsonSchemaVersion: FlowOptions['jsonSchemaVersion'],\n): FlowOptions['jsonSchemaVersion'] | undefined => {\n const countrySpecificContractDetailsVersion =\n getContractDetailsSchemaVersionByCountry(countryCode);\n\n // TODO: We need to improve the options.jsonSchemaVersion, we need to be to pass different json_schema_versions for different countries\n const effectiveContractDetailsJsonSchemaVersion = jsonSchemaVersion\n ? {\n ...jsonSchemaVersion,\n form_schema: {\n ...jsonSchemaVersion.form_schema,\n contract_details:\n countrySpecificContractDetailsVersion ??\n jsonSchemaVersion.form_schema?.contract_details,\n },\n }\n : countrySpecificContractDetailsVersion\n ? {\n form_schema: {\n contract_details: countrySpecificContractDetailsVersion,\n },\n }\n : undefined;\n\n return effectiveContractDetailsJsonSchemaVersion;\n};\n"],"mappings":"wCAWO,IAAMA,EAA0C,CACrD,eAAgB,CACd,MAAO,EACP,KAAM,gBACR,EACA,kBAAmB,CAAE,MAAO,EAAG,KAAM,mBAAoB,EACzD,iBAAkB,CAAE,MAAO,EAAG,KAAM,kBAAmB,EACvD,SAAU,CAAE,MAAO,EAAG,KAAM,UAAW,EACvC,OAAQ,CAAE,MAAO,EAAG,KAAM,QAAS,CACrC,EAEaC,EAGT,CACF,kBAAmB,CAAE,MAAO,EAAG,KAAM,mBAAoB,EACzD,iBAAkB,CAAE,MAAO,EAAG,KAAM,kBAAmB,EACvD,SAAU,CAAE,MAAO,EAAG,KAAM,UAAW,EACvC,OAAQ,CAAE,MAAO,EAAG,KAAM,QAAS,CACrC,EAQaC,EAA4D,CACvE,UACA,2BACA,sBACF,EAEaC,EAA+D,CAC1E,2BACA,SACF,EAEMC,EAAsE,CAC1E,IAAK,CACP,EAEMC,EAA2CC,EAC/CC,GACuB,CACvB,GAAKA,EACL,OAAOH,EAA4CG,CAAW,CAChE,EALiD,4CAOpCC,EAAkCF,EAAA,CAC7CC,EACAE,IACiD,CACjD,IAAMC,EACJL,EAAyCE,CAAW,EAqBtD,OAlBkDE,EAC9C,CACE,GAAGA,EACH,YAAa,CACX,GAAGA,EAAkB,YACrB,iBACEC,GACAD,EAAkB,aAAa,gBACnC,CACF,EACAC,EACE,CACE,YAAa,CACX,iBAAkBA,CACpB,CACF,EACA,MAGR,EA3B+C","names":["STEPS","STEPS_WITHOUT_SELECT_COUNTRY","reviewStepAllowedEmploymentStatus","disabledInviteButtonEmploymentStatus","COUNTRY_CONTRACT_DETAILS_SCHEMA_VERSION_MAP","getContractDetailsSchemaVersionByCountry","__name","countryCode","getContractDetailsSchemaVersion","jsonSchemaVersion","countrySpecificContractDetailsVersion"]}
@@ -1,2 +0,0 @@
1
- import{a as v}from"./chunk-HMUIT2NU.js";import{a as N}from"./chunk-BB3WWKGA.js";import{a as P}from"./chunk-QIVDIOJG.js";import{a as O}from"./chunk-IWA5B4U6.js";import{a as D}from"./chunk-7VOQAVM4.js";import{a as I}from"./chunk-WMICWLC3.js";import{a as w}from"./chunk-S4XU4SE7.js";import{a as k}from"./chunk-A6GJNXUZ.js";import{a as V}from"./chunk-2YTBWEC7.js";import{a as u,b as j}from"./chunk-UOOM7V2D.js";import{a as b,b as $}from"./chunk-56LJAMZC.js";import{a as C}from"./chunk-ZXGAFQXW.js";import{a as h}from"./chunk-PJBAQZ6G.js";import{a as x}from"./chunk-Z5WMKCRJ.js";import{c as p}from"./chunk-PAQW5BFW.js";import{a as _}from"./chunk-43WMZDDH.js";import{a as i}from"./chunk-P37U34EQ.js";import{createHeadlessForm as ee}from"@remoteoss/json-schema-form";import oe from"lodash.omitby";import ie from"lodash.isnull";import{format as E,isFuture as te,parseISO as A,subDays as ne}from"date-fns";import{useMemo as z}from"react";import ae from"lodash.omit";import{jsx as R,jsxs as Y}from"react/jsx-runtime";function F(t,e,c){return{"x-jsf-presentation":{inputType:"hidden",Component:i(()=>Y("div",{className:_("RemoteFlows__InformationStatement",c?.className),children:[R("h3",{className:_("RemoteFlows__InformationStatement__Title"),children:t}),R("p",{className:_("RemoteFlows__InformationStatement__Description"),children:e})]}),"Component")}}}i(F,"createInformationField");import{Fragment as se,jsx as m,jsxs as me}from"react/jsx-runtime";function re(t,e){return{confidential:"",customer_informed_employee:"",customer_informed_employee_date:"",customer_informed_employee_description:"",personal_email:"",termination_reason:void 0,reason_description:"",termination_reason_files:[],will_challenge_termination:"",will_challenge_termination_description:null,agrees_to_pto_amount:"",agrees_to_pto_amount_notes:null,acknowledge_termination_procedure:!1,additional_comments:"",proposed_termination_date:"",risk_assessment_reasons:[],timesheet_file:void 0,...t,...e?{termination_reason:"cancellation_before_start_date"}:{}}}i(re,"buildInitialValues");var Ae=i(({employmentId:t,options:e,initialValues:c})=>{let{fieldValues:S,setFieldValues:B,stepState:n,previousStep:J,nextStep:H}=h(w),{data:f}=k({employmentId:t}),y=!!(f?.provisional_start_date&&te(A(f.provisional_start_date))),T=re({...n.values?.employee_communication,...n.values?.termination_details,...n.values?.paid_time_off,...n.values?.additional_information,...c},y),l=z(()=>({...n.values?.[n.currentStep.name],...T,...S}),[n.values,n.currentStep.name,S,T]),L=z(()=>{let s=C.data.schema.properties.termination_reason.oneOf,a=y?s.filter(o=>o.const==="cancellation_before_start_date"):s.filter(o=>o.const!=="cancellation_before_start_date");return{fields:{risk_assesment_info:F("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:F("Proposed termination date",me(se,{children:["In most cases, we must provide notice to the employee before termination. The required notice period depends on local labor laws, the employment agreement, and other factors. We'll use those factors to determine the required notice period.",m(j,{external:!0,zendeskId:u.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:E(new Date,"yyyy-MM-dd"),...l.termination_reason==="cancellation_before_start_date"&&f?.provisional_start_date?{maxDate:E(ne(A(f.provisional_start_date),1),"yyyy-MM-dd")}:{}},...l.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:i(()=>{let o=e?.jsfModify?.fields?.paid_time_off_info?.["x-jsf-presentation"]?.Component;return m(N,{employeeName:f?.basic_information?.name,proposedTerminationDate:l.proposed_termination_date,employmentId:t,employment:f,render:r=>o?m(o,{...r}):m(v,{...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:i(()=>{let o=e?.jsfModify?.fields?.acknowledge_termination_procedure_info?.["x-jsf-presentation"]?.Component;return m(O,{render:r=>o?m(o,{...r}):m(D,{...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:i(()=>{let o={involuntaryOffboardingServiceChargeZendeskId:u.involuntaryOffboardingServiceCharge,reconciliationInvoiceZendeskId:u.reconciliationInvoice},r=e?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info?.["x-jsf-presentation"]?.Component;return r?m(r,{...o}):m(I,{...o})},"Component")}}}}},[e?.jsfModify?.fields?.risk_assesment_info,e?.jsfModify?.fields?.termination_reason,e?.jsfModify?.fields?.proposed_termination_date_info,e?.jsfModify?.fields?.proposed_termination_date,e?.jsfModify?.fields?.paid_time_off_info,e?.jsfModify?.fields?.acknowledge_termination_procedure_info,e?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info,f,l.proposed_termination_date,l.termination_reason,y,t]),{data:d,isLoading:Z}=$({formValues:l,jsfModify:{...e?.jsfModify,fields:{...e?.jsfModify?.fields,...L?.fields}},step:n.currentStep.name}),g=ee(P.data.schema),M=b(),{mutateAsync:q}=V(M);async function K(s){if(!t)throw new Error("Employment id is missing");if(d){let a=p(s,g.fields,{isPartialValidation:!0}),{customer_informed_employee:o}=a,r=o==="yes"?{employee_awareness:{date:a.customer_informed_employee_date,note:a.customer_informed_employee_description}}:void 0,W=x(a,["agrees_to_pto_amount","confidential","customer_informed_employee","will_challenge_termination"]),G=ae(W,"customer_informed_employee_date","customer_informed_employee_description"),X=oe({...G,...r},ie);return q({employment_id:t,termination_details:X,type:"termination"})}}i(K,"onSubmit");function Q(){J()}i(Q,"back");function U(){H()}return i(U,"next"),{employmentId:t,employment:f,stepState:n,fields:d?.fields||[],isLoading:Z,isSubmitting:M.isPending,initialValues:T,handleValidation:i(s=>{if(d){let a=p(s,d?.fields);return d?.handleValidation(a)}return null},"handleValidation"),checkFieldUpdates:B,parseFormValues:i((s,a=!1)=>a?p(s,g.fields,{isPartialValidation:!0}):d?p(s,d?.fields,{isPartialValidation:!0}):{},"parseFormValues"),onSubmit:K,back:Q,next:U}},"useTermination");export{Ae as a};
2
- //# sourceMappingURL=chunk-HJYHCWGX.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/Termination/hooks.tsx","../src/components/form/jsf-utils/createFields.tsx"],"sourcesContent":["import { $TSFixMe, createHeadlessForm } from '@remoteoss/json-schema-form';\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 { STEPS } from '@/src/flows/Termination/utils';\nimport { jsonSchema } from '@/src/flows/Termination/json-schemas/jsonSchema';\nimport { terminationDetailsSchema } from '@/src/flows/Termination/json-schemas/terminationDetails';\nimport { useCreateTermination, useTerminationSchema } from '@/src/flows/api';\nimport { createInformationField } from '@/src/components/form/jsf-utils/createFields';\nimport { cn, ZendeskTriggerButton } 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';\n\nfunction buildInitialValues(\n stepsInitialValues: Partial<TerminationFormValues>,\n hasFutureStartDate: boolean,\n): TerminationFormValues {\n const initialValues: TerminationFormValues = {\n confidential: '',\n customer_informed_employee: '',\n customer_informed_employee_date: '',\n customer_informed_employee_description: '',\n personal_email: '',\n termination_reason: undefined,\n reason_description: '',\n termination_reason_files: [],\n will_challenge_termination: '',\n will_challenge_termination_description: null,\n agrees_to_pto_amount: '',\n agrees_to_pto_amount_notes: null,\n acknowledge_termination_procedure: false,\n additional_comments: '',\n proposed_termination_date: '',\n risk_assessment_reasons: [],\n timesheet_file: undefined,\n ...stepsInitialValues,\n ...(hasFutureStartDate\n ? { termination_reason: 'cancellation_before_start_date' }\n : {}),\n };\n\n return initialValues;\n}\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 hasFutureStartDate = Boolean(\n employment?.provisional_start_date &&\n isFuture(parseISO(employment.provisional_start_date)),\n );\n\n const initialValues = buildInitialValues(\n {\n ...stepState.values?.employee_communication,\n ...stepState.values?.termination_details,\n ...stepState.values?.paid_time_off,\n ...stepState.values?.additional_information,\n ...terminationInitialValues,\n },\n hasFutureStartDate,\n );\n\n const formValues = useMemo(\n () => ({\n ...stepState.values?.[stepState.currentStep.name as keyof typeof STEPS], // Restore values for the current step\n ...initialValues,\n ...fieldValues,\n }),\n [stepState.values, stepState.currentStep.name, fieldValues, initialValues],\n );\n\n const customFields = useMemo(() => {\n const originalTerminationReasonOptions =\n terminationDetailsSchema.data.schema.properties.termination_reason.oneOf;\n\n const terminationReasonOptions = hasFutureStartDate\n ? originalTerminationReasonOptions.filter(\n (option: $TSFixMe) =>\n option.const === 'cancellation_before_start_date',\n )\n : originalTerminationReasonOptions.filter(\n (option: $TSFixMe) =>\n option.const !== 'cancellation_before_start_date',\n );\n\n return {\n fields: {\n risk_assesment_info: createInformationField(\n 'Offboarding risk assessment',\n 'Employees may be protected from termination if they fall into certain categories. To help avoid claims from employees, let us know if the employee is part of one or more of these categories. Select all that apply.',\n {\n className: (\n options?.jsfModify?.fields?.risk_assesment_info as $TSFixMe\n )?.['x-jsf-presentation']?.className,\n },\n ),\n termination_reason: {\n ...(options?.jsfModify?.fields?.termination_reason as $TSFixMe),\n oneOf: terminationReasonOptions,\n },\n proposed_termination_date_info: createInformationField(\n 'Proposed termination date',\n <>\n In most cases, we must provide notice to the employee before\n termination. The required notice period depends on local labor laws,\n the employment agreement, and other factors. We'll use those factors\n to determine the required notice period.\n <ZendeskTriggerButton\n external\n zendeskId={zendeskArticles.terminationNoticePeriods}\n className={cn(\n 'text-sm',\n (\n options?.jsfModify?.fields\n ?.proposed_termination_date_info as $TSFixMe\n )?.['x-jsf-presentation']?.zendeskTriggerButtonClassName,\n )}\n >\n Learn about notice periods\n </ZendeskTriggerButton>\n </>,\n {\n className: (\n options?.jsfModify?.fields\n ?.proposed_termination_date_info as $TSFixMe\n )?.['x-jsf-presentation']?.className,\n },\n ),\n proposed_termination_date: {\n ...(options?.jsfModify?.fields\n ?.proposed_termination_date as $TSFixMe),\n 'x-jsf-presentation': {\n ...(\n options?.jsfModify?.fields?.proposed_termination_date as $TSFixMe\n )?.['x-jsf-presentation'],\n minDate: format(new Date(), 'yyyy-MM-dd'),\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 },\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 options?.jsfModify?.fields?.risk_assesment_info,\n options?.jsfModify?.fields?.termination_reason,\n options?.jsfModify?.fields?.proposed_termination_date_info,\n options?.jsfModify?.fields?.proposed_termination_date,\n options?.jsfModify?.fields?.paid_time_off_info,\n options?.jsfModify?.fields?.acknowledge_termination_procedure_info,\n options?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info,\n employment,\n formValues.proposed_termination_date,\n formValues.termination_reason,\n hasFutureStartDate,\n employmentId,\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 // this is a hack because I need to validate all form values with the entire schema\n const parsedValues = parseJSFToValidate(\n values,\n entireTerminationSchema.fields,\n { isPartialValidation: true },\n );\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 = 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 return {\n /**\n * Employment id passed useful to be used between components\n */\n employmentId,\n /**\n * Employment data passed useful to be used between components\n */\n employment: employment,\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: (values: TerminationFormValues) => {\n if (terminationHeadlessForm) {\n const parsedValues = 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 values: TerminationFormValues,\n includeAllFields: boolean = false,\n ):\n | EmployeeCommunicationFormValues\n | TerminationDetailsFormValues\n | PaidTimeOffFormValues\n | TerminationFormValues => {\n if (includeAllFields) {\n return parseJSFToValidate(values, entireTerminationSchema.fields, {\n isPartialValidation: true,\n }) as TerminationFormValues;\n }\n\n if (terminationHeadlessForm) {\n return parseJSFToValidate(values, terminationHeadlessForm?.fields, {\n isPartialValidation: true,\n }) as\n | EmployeeCommunicationFormValues\n | TerminationDetailsFormValues\n | PaidTimeOffFormValues;\n }\n return {} as $TSFixMe;\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","import { cn } from '@/src/lib/utils';\nimport { $TSFixMe } from '@/src/types/remoteFlows';\n\ntype JSFPresentationConfig = {\n inputType?: string;\n Component?: React.ComponentType<$TSFixMe>;\n hidden?: boolean;\n [key: string]: unknown;\n};\n\ntype JSFFieldConfig = {\n 'x-jsf-presentation'?: JSFPresentationConfig;\n [key: string]: unknown;\n};\n\n/**\n * Creates an information field with standard styling\n */\nexport function createInformationField(\n title: React.ReactNode,\n description: React.ReactNode,\n options?: {\n className?: string;\n },\n): JSFFieldConfig {\n return {\n 'x-jsf-presentation': {\n inputType: 'hidden',\n Component: () => (\n <div\n className={cn(\n 'RemoteFlows__InformationStatement',\n options?.className,\n )}\n >\n <h3 className={cn('RemoteFlows__InformationStatement__Title')}>\n {title}\n </h3>\n <p className={cn('RemoteFlows__InformationStatement__Description')}>\n {description}\n </p>\n </div>\n ),\n },\n };\n}\n"],"mappings":"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","names":["createHeadlessForm","omitBy","isNull","format","isFuture","parseISO","subDays","useMemo","omit","jsx","jsxs","createInformationField","title","description","options","__name","cn","Fragment","jsx","jsxs","buildInitialValues","stepsInitialValues","hasFutureStartDate","__name","useTermination","employmentId","options","terminationInitialValues","fieldValues","setFieldValues","stepState","previousStep","nextStep","useStepState","STEPS","employment","useEmploymentQuery","isFuture","parseISO","initialValues","formValues","useMemo","customFields","originalTerminationReasonOptions","terminationDetailsSchema","terminationReasonOptions","option","createInformationField","ZendeskTriggerButton","zendeskArticles","cn","format","subDays","CustomComponent","PaidTimeOffContainer","props","PaidTimeOff","AcknowledgeInformationContainer","AcknowledgeInformation","zendeskIds","AcknowledgeInformationFees","terminationHeadlessForm","isLoadingTermination","useTerminationSchema","entireTerminationSchema","createHeadlessForm","jsonSchema","createTermination","useCreateTermination","mutateAsync","mutationToPromise","onSubmit","values","parsedValues","parseJSFToValidate","customerInformedEmployee","employeeAwareness","parsedRadioValues","parseFormRadioValues","normalizedValues","omit","terminationDetails","omitBy","isNull","back","next","includeAllFields"]}
@@ -1,2 +0,0 @@
1
- import{a as Le}from"./chunk-PEHALKVU.js";import{a as ke}from"./chunk-VAIBLWOY.js";import{a as Ce,b as Oe,c as Pe,d as Me,e as Te}from"./chunk-EHS4ERDW.js";import{a as ue,b as ye,c as pe,f as _e,g as Se,h as be,i as ge,j as Fe,k as Ee,m as he}from"./chunk-7RFJWDXS.js";import{a as R}from"./chunk-2YTBWEC7.js";import{a as Ve}from"./chunk-PJBAQZ6G.js";import{c as h,d as L,f as W}from"./chunk-PAQW5BFW.js";import{g as V}from"./chunk-43WMZDDH.js";import{a as l}from"./chunk-P37U34EQ.js";import{useEffect as st,useMemo as d,useRef as at,useState as we}from"react";import rt from"lodash.mergewith";import{jsx as Be}from"react/jsx-runtime";var ct={employment_basic_information:"basic_information",contract_details:"contract_details"},lt={select_country:null,basic_information:"employment_basic_information",contract_details:"contract_details",benefits:null,review:null},mt=l(({isLoadingBasicInformationForm:f,isLoadingContractDetailsForm:J,isLoadingEmployment:D,isLoadingBenefitsOffersSchema:I,isLoadingBenefitOffers:i,isLoadingCompany:N,isLoadingCountries:C,employmentStatus:s,employmentId:_,currentStepName:a,basicInformationFields:A,contractDetailsFields:r})=>{let O=f||J||D||I||i||N||C,c=s&&Pe.includes(s),k=s&&!Me.includes(s),w=!!(_&&c&&a!=="review"),B=O||w,j=!!(w&&!O&&A.length>0&&r.length>0);return{isLoading:B,isNavigatingToReview:j,isEmploymentReadOnly:c,canInvite:k}},"getLoadingStates"),ht=l(({employmentId:f,companyId:J,countryCode:D,type:I,options:i,skipSteps:N,externalId:C,initialValues:s})=>{let _=at({select_country:{},basic_information:{},contract_details:{},benefits:{}}),[a,A]=we(f),[r,O]=we(D||null),{data:c,isLoading:k,refetch:w}=ue(a);f&&c?.country?.code&&!r&&O(c.country.code);let{data:B,isLoading:j}=pe(a),{data:q,isLoading:G,refetch:je}=ye(J),qe=N?.includes("select_country")?Oe:Ce,{fieldValues:S,stepState:n,setFieldValues:ve,previousStep:Re,nextStep:Je,goToStep:U,setStepValues:$}=Ve(qe),{selectCountryForm:v,isLoading:z}=Ee({jsfModify:i?.jsfModify?.select_country,queryOptions:{enabled:n.currentStep.name==="select_country"}}),K=be(i),Y=ge(i),Q=Fe(i),De=he(),{mutateAsync:Ie}=R(K),{mutateAsync:X}=R(Y),{mutateAsync:Ne}=R(Q),Ae=lt[n.currentStep.name]||"employment_basic_information",Ue=ct[Ae],xe=c?.[Ue]||{},Z=l(({form:e,options:o={},query:m={}})=>{let H=Object.keys(S).length>0?{...s,...n.values?.[n.currentStep.name],...S}:{...s,...xe};return _e({countryCode:r,form:e,fieldValues:H,query:m,options:{...o,queryOptions:{enabled:o.queryOptions?.enabled??!0},jsonSchemaVersion:o.jsonSchemaVersion}})},"useJSONSchema"),He=!!(r&&(n.currentStep.name==="basic_information"||f)),We=!!(r&&(n.currentStep.name==="contract_details"||f)),{data:u,isLoading:ee}=Z({form:"employment_basic_information",options:{jsfModify:i?.jsfModify?.basic_information,jsonSchemaVersion:i?.jsonSchemaVersion,queryOptions:{enabled:He}}}),b=i?.jsfModify?.contract_details?.fields?.annual_gross_salary,x=b&&typeof b=="object"&&"presentation"in b?b.presentation:void 0,te=i?.jsfModify?.contract_details?.fields?.equity_compensation,Ge=d(()=>({fields:{annual_gross_salary:{...b,presentation:{annual_gross_salary_conversion_properties:{label:x?.annual_gross_salary_conversion_properties?.label,description:x?.annual_gross_salary_conversion_properties?.description},desiredCurrency:q?.desired_currency,Component:l(e=>Be(Le,{desiredCurrency:q?.desired_currency||"",...e}),"Component")}},equity_compensation:{...te,presentation:{calculateDynamicProperties:l((e,o)=>{let m=e.equity_compensation?.offer_equity_compensation,M=o?.meta?.cost;return{extra:Be(ke,{offerEquity:m,equityCost:M})}},"calculateDynamicProperties")}}}}),[b,x,q?.desired_currency,te]),$e=Te(r,i?.jsonSchemaVersion),{data:y,isLoading:ne}=Z({form:"contract_details",query:{employment_id:a},options:{jsfModify:{...i?.jsfModify?.contract_details,fields:{...i?.jsfModify?.contract_details?.fields,...Ge.fields}},queryOptions:{enabled:We},jsonSchemaVersion:$e}}),{data:P,isLoading:oe}=Se(a,S,i),ie=d(()=>{if(n.currentStep.name==="benefits"){let e={...n.values?.[n.currentStep.name],...S};return rt({},B,e)}return{}},[n.currentStep.name,B,n.values,S]),t=d(()=>({select_country:v?.fields||[],basic_information:u?.fields||[],contract_details:y?.fields||[],benefits:P?.fields||[],review:[]}),[v?.fields,u?.fields,y?.fields,P?.fields]),ze={select_country:null,basic_information:u?.meta["x-jsf-fieldsets"],contract_details:y?.meta["x-jsf-fieldsets"],benefits:null,review:null},{country:Ke,basic_information:se={},contract_details:ae={},status:re}=c||{},ce=Ke?.code,le=n.currentStep.name,g=d(()=>L(t.select_country,{country:r||ce||""}),[t.select_country,r,ce]),F=d(()=>{let e={...s,...se};return L(t.basic_information,e)},[t.basic_information,se,s]),p=d(()=>{let e={...s,...ae};return L(t.contract_details,e)},[t.contract_details,ae,s]),E=d(()=>{let e={...s,...ie};return L(t.benefits,e)},[t.benefits,ie,s]),Ye=d(()=>c?{select_country:g,basic_information:W(t.basic_information,F),contract_details:c?.contract_details!==null?W(t.contract_details,p):p,benefits:E}:{select_country:g,basic_information:F,contract_details:p,benefits:E},[g,F,p,E,c,t]),{isLoading:Qe,isNavigatingToReview:me,isEmploymentReadOnly:Xe,canInvite:Ze}=d(()=>mt({isLoadingBasicInformationForm:ee,isLoadingContractDetailsForm:ne,isLoadingEmployment:k,isLoadingBenefitsOffersSchema:oe,isLoadingBenefitOffers:j,isLoadingCompany:G,isLoadingCountries:z,employmentId:f,employmentStatus:re,basicInformationFields:t.basic_information,contractDetailsFields:t.contract_details,currentStepName:le}),[ee,ne,k,oe,j,G,z,f,re,t.basic_information,t.contract_details,le]);st(()=>{me&&(_.current={select_country:V(g,t.select_country),basic_information:V(F,t.basic_information),contract_details:V(p,t.contract_details),benefits:V(E,t.benefits)},$({select_country:g,basic_information:F,contract_details:p,benefits:E,review:{}}),U("review"))},[F,E,p,U,me,g,$,t.basic_information,t.benefits,t.contract_details,t.select_country]);let de=l(e=>v&&n.currentStep.name==="select_country"?e:u&&n.currentStep.name==="basic_information"?h(e,u?.fields,{isPartialValidation:!1}):y&&n.currentStep.name==="contract_details"?h(e,y?.fields,{isPartialValidation:!1}):{},"parseFormValues");async function et(e){let o=n.currentStep.name;o in _.current&&(_.current[o]=V(e,t[o]));let m=de(e);switch(je(),n.currentStep.name){case"select_country":return O(m.country),Promise.resolve({data:{countryCode:m.country}});case"basic_information":{let M=!a&&r,H=a&&r&&c?.country&&c?.country.code!==r;if(M||H){let it={basic_information:m,type:I,country_code:r,external_id:C};try{let T=await Ie(it),fe=T.data?.data?.employment?.id;return A(fe),await De.mutateAsync({employmentId:fe,eligible_to_work_in_residing_country:"citizen",employer_or_work_restrictions:!1}),T}catch(T){throw console.error("Error creating onboarding:",T),T}}else if(a)return X({employmentId:a,basic_information:m,pricing_plan_details:{frequency:"monthly"},external_id:C});return}case"contract_details":return X({employmentId:a,external_id:C,...{contract_details:m,pricing_plan_details:{frequency:"monthly"}}});case"benefits":return Ne({employmentId:a,...e})}}l(et,"onSubmit");function tt(){Re()}l(tt,"back");function nt(){Je()}l(nt,"next");function ot(e){U(e)}return l(ot,"goTo"),{employmentId:a,creditRiskStatus:q?.default_legal_entity_credit_risk_status,fieldValues:S,stepState:n,fields:t[n.currentStep.name],isLoading:Qe,isSubmitting:K.isPending||Y.isPending||Q.isPending,initialValues:Ye,handleValidation:l(e=>{if(n.currentStep.name==="select_country")return v.handleValidation(e);if(n.currentStep.name==="benefits"&&P){let o=h(e,P?.fields,{isPartialValidation:!1});return P?.handleValidation(o)}if(u&&n.currentStep.name==="basic_information"){let o=h(e,u?.fields,{isPartialValidation:!1});return u?.handleValidation(o)}if(y&&n.currentStep.name==="contract_details"){let o=h(e,y?.fields,{isPartialValidation:!1});return y?.handleValidation(o)}return null},"handleValidation"),checkFieldUpdates:ve,parseFormValues:de,onSubmit:et,back:tt,next:nt,goTo:ot,meta:{fields:_.current,fieldsets:ze[n.currentStep.name]},refetchEmployment:w,employment:c,isEmploymentReadOnly:Xe,canInvite:Ze}},"useOnboarding");export{ht as a};
2
- //# sourceMappingURL=chunk-LJYCBMDS.js.map