@remoteoss/remote-flows 0.32.0 → 1.0.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 (359) hide show
  1. package/README.md +8 -9
  2. package/dist/chunk-2CBUBDUV.js +2 -0
  3. package/dist/chunk-2CBUBDUV.js.map +1 -0
  4. package/dist/chunk-2EJ4BAUK.js +2 -0
  5. package/dist/chunk-2EJ4BAUK.js.map +1 -0
  6. package/dist/{chunk-ENW4DCDU.js → chunk-2Q4L4WH7.js} +2 -2
  7. package/dist/chunk-2QOLV5T5.js +2 -0
  8. package/dist/chunk-2QOLV5T5.js.map +1 -0
  9. package/dist/{chunk-5KZXFQLZ.js → chunk-2S376WY7.js} +2 -2
  10. package/dist/{chunk-COBQ4WSJ.js → chunk-34TXLVDI.js} +2 -2
  11. package/dist/{chunk-5P7INAU2.js → chunk-3UM34N4C.js} +1 -1
  12. package/dist/chunk-3UM34N4C.js.map +1 -0
  13. package/dist/{chunk-5CVD5WZZ.js → chunk-3XOHQ7Y7.js} +2 -2
  14. package/dist/chunk-4A2UD4KX.js +2 -0
  15. package/dist/chunk-4A2UD4KX.js.map +1 -0
  16. package/dist/{chunk-2W2XD7ZY.js → chunk-5BY7HOJB.js} +2 -2
  17. package/dist/{chunk-ID3ZF7QT.js → chunk-62HGJVHQ.js} +2 -2
  18. package/dist/{chunk-P5WUODPR.js → chunk-65H2G43I.js} +2 -2
  19. package/dist/{chunk-DPY77ASH.js → chunk-66L7BKYM.js} +2 -2
  20. package/dist/{chunk-OIN3HGOQ.js → chunk-677KTHPH.js} +2 -2
  21. package/dist/{chunk-K2BWF2HC.js → chunk-6PT55OGW.js} +2 -2
  22. package/dist/chunk-6PT55OGW.js.map +1 -0
  23. package/dist/{chunk-HBHVB56P.js → chunk-7CLHPFPZ.js} +2 -2
  24. package/dist/{chunk-HO2TIG7R.js → chunk-7HSSHSYK.js} +2 -2
  25. package/dist/chunk-7JQFGVWI.js +2 -0
  26. package/dist/chunk-7JQFGVWI.js.map +1 -0
  27. package/dist/{chunk-LQAHRGU4.js → chunk-7LRY5QTK.js} +2 -2
  28. package/dist/{chunk-EM5UYWUQ.js → chunk-A7BBVCMY.js} +2 -2
  29. package/dist/chunk-BTUON37L.js +2 -0
  30. package/dist/chunk-BTUON37L.js.map +1 -0
  31. package/dist/chunk-CN3GXYLK.js +2 -0
  32. package/dist/{chunk-DZ2R72O5.js.map → chunk-CN3GXYLK.js.map} +1 -1
  33. package/dist/chunk-D3ZE5TO6.js +2 -0
  34. package/dist/chunk-D3ZE5TO6.js.map +1 -0
  35. package/dist/{chunk-UJKTTTGB.js → chunk-DBGYYVFL.js} +2 -2
  36. package/dist/{chunk-WW5UCMQZ.js → chunk-EAJ7JLBL.js} +2 -2
  37. package/dist/chunk-EAJ7JLBL.js.map +1 -0
  38. package/dist/{chunk-UPXJJBXZ.js → chunk-ED6E3V2E.js} +2 -2
  39. package/dist/{chunk-ZQ6MG635.js → chunk-FEB3W622.js} +2 -2
  40. package/dist/chunk-FGBEOUQK.js +1 -0
  41. package/dist/{chunk-MZB24YJP.js → chunk-FIXHXJGN.js} +2 -2
  42. package/dist/{chunk-EKKRQI6B.js → chunk-GGQFBP37.js} +2 -2
  43. package/dist/{chunk-WJ6YJFD4.js → chunk-HBYHRMST.js} +2 -2
  44. package/dist/{chunk-FRTJ4KWA.js → chunk-HKCDMC3H.js} +2 -2
  45. package/dist/{chunk-QIVDIOJG.js → chunk-I4XJ764Y.js} +2 -2
  46. package/dist/{chunk-SHP4ULHS.js → chunk-IHYMZJ4W.js} +2 -2
  47. package/dist/{chunk-6FWFRVQE.js → chunk-ISQ6I4HJ.js} +2 -2
  48. package/dist/chunk-KSNOQWVU.js +2 -0
  49. package/dist/{chunk-7YQAVDVX.js.map → chunk-KSNOQWVU.js.map} +1 -1
  50. package/dist/chunk-L2GTD44Y.js +2 -0
  51. package/dist/chunk-L2GTD44Y.js.map +1 -0
  52. package/dist/{chunk-L3D2AK3X.js → chunk-LDZWM4VX.js} +2 -2
  53. package/dist/{chunk-HZDCZFR5.js → chunk-LIF7X2AH.js} +2 -2
  54. package/dist/{chunk-5AG4K2EA.js → chunk-LLJWEHDJ.js} +2 -2
  55. package/dist/{chunk-TWVFLXVF.js → chunk-M37LWACT.js} +2 -2
  56. package/dist/{chunk-TWVFLXVF.js.map → chunk-M37LWACT.js.map} +1 -1
  57. package/dist/{chunk-IUEXOXFA.js → chunk-M3EBUSNT.js} +2 -2
  58. package/dist/chunk-M5WQNNAT.js +2 -0
  59. package/dist/{chunk-LV5R6H3D.js.map → chunk-M5WQNNAT.js.map} +1 -1
  60. package/dist/{chunk-TWIUL2P3.js → chunk-MOG7GUQB.js} +2 -2
  61. package/dist/{chunk-ANGJCT4I.js → chunk-MPV22ALR.js} +2 -2
  62. package/dist/{chunk-U4JVXNOG.js → chunk-ORIJ6E2J.js} +2 -2
  63. package/dist/chunk-OVTCRVTZ.js +2 -0
  64. package/dist/{chunk-76DHIEN7.js.map → chunk-OVTCRVTZ.js.map} +1 -1
  65. package/dist/{chunk-XPL5XOQ4.js → chunk-PABPITPH.js} +2 -2
  66. package/dist/{chunk-DPWL4KNA.js → chunk-RD27ZSYF.js} +2 -2
  67. package/dist/chunk-RD27ZSYF.js.map +1 -0
  68. package/dist/chunk-RIA5Z6I3.js +2 -0
  69. package/dist/{chunk-IHNYOUXP.js.map → chunk-RIA5Z6I3.js.map} +1 -1
  70. package/dist/{chunk-CW3MAP5L.js → chunk-RSH5MZY3.js} +2 -2
  71. package/dist/{chunk-OW5QGJD4.js → chunk-S2BJGON2.js} +2 -2
  72. package/dist/{chunk-5ZR7EFPY.js → chunk-SHK2UKLD.js} +2 -2
  73. package/dist/chunk-SS6RX52D.js +2 -0
  74. package/dist/chunk-SS6RX52D.js.map +1 -0
  75. package/dist/chunk-STSTF3AT.js +2 -0
  76. package/dist/chunk-STSTF3AT.js.map +1 -0
  77. package/dist/{chunk-6VRUYYUV.js → chunk-U5WVXSGT.js} +2 -2
  78. package/dist/chunk-UK5HHMPM.js +2 -0
  79. package/dist/chunk-UK5HHMPM.js.map +1 -0
  80. package/dist/chunk-UQMGBXCI.js +2 -0
  81. package/dist/chunk-UQMGBXCI.js.map +1 -0
  82. package/dist/chunk-W5M5HLWF.js +2 -0
  83. package/dist/chunk-W5M5HLWF.js.map +1 -0
  84. package/dist/{chunk-SO3YQ4WT.js → chunk-WRNHET4F.js} +2 -2
  85. package/dist/chunk-XOA7GG4P.js +2 -0
  86. package/dist/{chunk-X6CD3FMG.js → chunk-YCILXVJU.js} +2 -2
  87. package/dist/chunk-YHR7BPYU.js +2 -0
  88. package/dist/chunk-YHR7BPYU.js.map +1 -0
  89. package/dist/chunk-ZJSWK3Y7.js +2 -0
  90. package/dist/chunk-ZJSWK3Y7.js.map +1 -0
  91. package/dist/flows/ContractAmendment/ContractAmendmentBack.js +1 -1
  92. package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.js +1 -1
  93. package/dist/flows/ContractAmendment/ContractAmendmentFlow.d.ts +2 -2
  94. package/dist/flows/ContractAmendment/ContractAmendmentFlow.js +1 -1
  95. package/dist/flows/ContractAmendment/ContractAmendmentForm.js +1 -1
  96. package/dist/flows/ContractAmendment/ContractAmendmentSubmit.js +1 -1
  97. package/dist/flows/ContractAmendment/context.d.ts +4 -4
  98. package/dist/flows/ContractAmendment/hooks.d.ts +4 -4
  99. package/dist/flows/ContractAmendment/hooks.js +1 -1
  100. package/dist/flows/ContractAmendment/index.d.ts +2 -2
  101. package/dist/flows/ContractAmendment/index.js +1 -1
  102. package/dist/flows/ContractAmendment/utils.js +1 -1
  103. package/dist/flows/ContractorOnboarding/ContractorOnboarding.d.ts +4 -4
  104. package/dist/flows/ContractorOnboarding/ContractorOnboarding.js +1 -1
  105. package/dist/flows/ContractorOnboarding/api.d.ts +1 -1
  106. package/dist/flows/ContractorOnboarding/api.js +1 -1
  107. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.d.ts +3 -3
  108. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.js +1 -1
  109. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.d.ts +4 -4
  110. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.js +1 -1
  111. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.d.ts +4 -4
  112. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.js +1 -1
  113. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.d.ts +4 -4
  114. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.js +1 -1
  115. package/dist/flows/ContractorOnboarding/components/OnboardingBack.js +1 -1
  116. package/dist/flows/ContractorOnboarding/components/OnboardingInvite.d.ts +2 -2
  117. package/dist/flows/ContractorOnboarding/components/OnboardingInvite.js +1 -1
  118. package/dist/flows/ContractorOnboarding/components/OnboardingSubmit.js +1 -1
  119. package/dist/flows/ContractorOnboarding/components/PricingPlan.d.ts +4 -4
  120. package/dist/flows/ContractorOnboarding/components/PricingPlan.js +1 -1
  121. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.d.ts +3 -3
  122. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.js +1 -1
  123. package/dist/flows/ContractorOnboarding/context.d.ts +7 -7
  124. package/dist/flows/ContractorOnboarding/hooks.d.ts +4 -4
  125. package/dist/flows/ContractorOnboarding/hooks.js +1 -1
  126. package/dist/flows/ContractorOnboarding/index.d.ts +4 -4
  127. package/dist/flows/ContractorOnboarding/index.js +1 -1
  128. package/dist/flows/ContractorOnboarding/types.d.ts +4 -4
  129. package/dist/flows/CostCalculator/CostCalculatorFlow.d.ts +2 -2
  130. package/dist/flows/CostCalculator/CostCalculatorFlow.js +1 -1
  131. package/dist/flows/CostCalculator/CostCalculatorForm.d.ts +2 -2
  132. package/dist/flows/CostCalculator/CostCalculatorForm.js +1 -1
  133. package/dist/flows/CostCalculator/CostCalculatorResetButton.js +1 -1
  134. package/dist/flows/CostCalculator/CostCalculatorSubmitButton.js +1 -1
  135. package/dist/flows/CostCalculator/EstimationResults/EstimationResults.js +1 -1
  136. package/dist/flows/CostCalculator/components/SalaryField.d.ts +1 -1
  137. package/dist/flows/CostCalculator/components/SalaryField.js +1 -1
  138. package/dist/flows/CostCalculator/context.d.ts +3 -3
  139. package/dist/flows/CostCalculator/hooks.d.ts +3 -3
  140. package/dist/flows/CostCalculator/hooks.js +1 -1
  141. package/dist/flows/CostCalculator/index.d.ts +2 -5
  142. package/dist/flows/CostCalculator/index.js +1 -1
  143. package/dist/flows/CostCalculator/utils.d.ts +2 -2
  144. package/dist/flows/CostCalculator/utils.js +1 -1
  145. package/dist/flows/Onboarding/OnboardingFlow.d.ts +3 -3
  146. package/dist/flows/Onboarding/OnboardingFlow.js +1 -1
  147. package/dist/flows/Onboarding/api.d.ts +3 -3
  148. package/dist/flows/Onboarding/api.js +1 -1
  149. package/dist/flows/Onboarding/components/AnnualGrossSalary.d.ts +1 -1
  150. package/dist/flows/Onboarding/components/AnnualGrossSalary.js +1 -1
  151. package/dist/flows/Onboarding/components/BasicInformationStep.d.ts +3 -3
  152. package/dist/flows/Onboarding/components/BasicInformationStep.js +1 -1
  153. package/dist/flows/Onboarding/components/BenefitsStep.d.ts +3 -3
  154. package/dist/flows/Onboarding/components/BenefitsStep.js +1 -1
  155. package/dist/flows/Onboarding/components/ContractDetailsStep.d.ts +3 -3
  156. package/dist/flows/Onboarding/components/ContractDetailsStep.js +1 -1
  157. package/dist/flows/Onboarding/components/OnboardingBack.js +1 -1
  158. package/dist/flows/Onboarding/components/OnboardingForm.d.ts +3 -3
  159. package/dist/flows/Onboarding/components/OnboardingForm.js +1 -1
  160. package/dist/flows/Onboarding/components/OnboardingInvite.d.ts +2 -2
  161. package/dist/flows/Onboarding/components/OnboardingInvite.js +1 -1
  162. package/dist/flows/Onboarding/components/OnboardingSubmit.js +1 -1
  163. package/dist/flows/Onboarding/components/ReviewStep.d.ts +3 -3
  164. package/dist/flows/Onboarding/components/SaveDraftButton.d.ts +2 -2
  165. package/dist/flows/Onboarding/components/SelectCountryStep.d.ts +3 -3
  166. package/dist/flows/Onboarding/components/SelectCountryStep.js +1 -1
  167. package/dist/flows/Onboarding/context.d.ts +6 -6
  168. package/dist/flows/Onboarding/hooks.d.ts +3 -3
  169. package/dist/flows/Onboarding/hooks.js +1 -1
  170. package/dist/flows/Onboarding/index.d.ts +3 -3
  171. package/dist/flows/Onboarding/index.js +1 -1
  172. package/dist/flows/Onboarding/types.d.ts +3 -3
  173. package/dist/flows/Onboarding/utils.d.ts +3 -3
  174. package/dist/flows/Termination/AdditionalDetailsForm.d.ts +3 -3
  175. package/dist/flows/Termination/AdditionalDetailsForm.js +1 -1
  176. package/dist/flows/Termination/EmployeeComunicationForm.d.ts +3 -3
  177. package/dist/flows/Termination/EmployeeComunicationForm.js +1 -1
  178. package/dist/flows/Termination/PaidTimeOffForm.d.ts +3 -3
  179. package/dist/flows/Termination/PaidTimeOffForm.js +1 -1
  180. package/dist/flows/Termination/TerminationBack.js +1 -1
  181. package/dist/flows/Termination/TerminationDetailsForm.d.ts +3 -3
  182. package/dist/flows/Termination/TerminationDetailsForm.js +1 -1
  183. package/dist/flows/Termination/TerminationFlow.d.ts +3 -3
  184. package/dist/flows/Termination/TerminationFlow.js +1 -1
  185. package/dist/flows/Termination/TerminationForm.d.ts +3 -3
  186. package/dist/flows/Termination/TerminationForm.js +1 -1
  187. package/dist/flows/Termination/TerminationSubmit.js +1 -1
  188. package/dist/flows/Termination/api.d.ts +4 -4
  189. package/dist/flows/Termination/api.js +1 -1
  190. package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformationFees.js +1 -1
  191. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.d.ts +4 -4
  192. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.js +1 -1
  193. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.d.ts +4 -4
  194. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.js +1 -1
  195. package/dist/flows/Termination/components/PaidTimeOff/types.d.ts +4 -4
  196. package/dist/flows/Termination/components/TerminationDialogInfoContent/TerminationDialogInfoContent.js +1 -1
  197. package/dist/flows/Termination/context.d.ts +6 -6
  198. package/dist/flows/Termination/hooks.d.ts +3 -3
  199. package/dist/flows/Termination/hooks.js +1 -1
  200. package/dist/flows/Termination/index.d.ts +4 -4
  201. package/dist/flows/Termination/index.js +1 -1
  202. package/dist/flows/Termination/json-schemas/jsonSchema.js +1 -1
  203. package/dist/flows/Termination/json-schemas/schema.d.ts +3 -3
  204. package/dist/flows/Termination/json-schemas/schema.js +1 -1
  205. package/dist/flows/Termination/types.d.ts +3 -3
  206. package/dist/flows/Termination/utils.d.ts +3 -3
  207. package/dist/index.css +1 -1
  208. package/dist/index.css.map +1 -1
  209. package/dist/index.d.ts +32 -11
  210. package/dist/index.js +1 -1
  211. package/dist/index.js.map +1 -1
  212. package/dist/internals.d.ts +1 -1
  213. package/dist/internals.js +1 -1
  214. package/dist/{mutations-Cdk0PM78.d.ts → mutations-Dj5OTaG_.d.ts} +1 -1
  215. package/dist/{remoteFlows-DUivEPPh.d.ts → remoteFlows-CJkEwDeI.d.ts} +0 -7
  216. package/dist/{types-BZBdCzER.d.ts → types-CrBx80W2.d.ts} +5 -5
  217. package/dist/{types-C-X7siUr.d.ts → types-CzuydJIU.d.ts} +4 -4
  218. package/dist/{types-pohqJTkr.d.ts → types-o2Z9IpsO.d.ts} +6 -6
  219. package/dist/utils-CjDMg_Yr.d.ts +22 -0
  220. package/package.json +1 -2
  221. package/dist/ZendeskTriggerButton-Dditzyfj.d.ts +0 -47
  222. package/dist/chunk-3A47R5RQ.js +0 -2
  223. package/dist/chunk-3A47R5RQ.js.map +0 -1
  224. package/dist/chunk-5OZPBBXS.js +0 -2
  225. package/dist/chunk-5OZPBBXS.js.map +0 -1
  226. package/dist/chunk-5P7INAU2.js.map +0 -1
  227. package/dist/chunk-76DHIEN7.js +0 -2
  228. package/dist/chunk-7CJX7I3M.js +0 -2
  229. package/dist/chunk-7CJX7I3M.js.map +0 -1
  230. package/dist/chunk-7R347KBY.js +0 -2
  231. package/dist/chunk-7R347KBY.js.map +0 -1
  232. package/dist/chunk-7YQAVDVX.js +0 -2
  233. package/dist/chunk-AM2IRFHQ.js +0 -2
  234. package/dist/chunk-AM2IRFHQ.js.map +0 -1
  235. package/dist/chunk-B6IVJUEH.js +0 -2
  236. package/dist/chunk-B6IVJUEH.js.map +0 -1
  237. package/dist/chunk-BCXRPHWY.js +0 -2
  238. package/dist/chunk-BCXRPHWY.js.map +0 -1
  239. package/dist/chunk-DPWL4KNA.js.map +0 -1
  240. package/dist/chunk-DXFA52BU.js +0 -2
  241. package/dist/chunk-DXFA52BU.js.map +0 -1
  242. package/dist/chunk-DXIO72S4.js +0 -2
  243. package/dist/chunk-DXIO72S4.js.map +0 -1
  244. package/dist/chunk-DYB3RWP7.js +0 -20
  245. package/dist/chunk-DYB3RWP7.js.map +0 -1
  246. package/dist/chunk-DZ2R72O5.js +0 -2
  247. package/dist/chunk-E4CABUTS.js +0 -2
  248. package/dist/chunk-E4CABUTS.js.map +0 -1
  249. package/dist/chunk-GCJCNDJ3.js +0 -2
  250. package/dist/chunk-GCJCNDJ3.js.map +0 -1
  251. package/dist/chunk-GKD2WI2W.js +0 -2
  252. package/dist/chunk-GKD2WI2W.js.map +0 -1
  253. package/dist/chunk-GOGPCCBS.js +0 -2
  254. package/dist/chunk-GOGPCCBS.js.map +0 -1
  255. package/dist/chunk-HPHWQU34.js +0 -2
  256. package/dist/chunk-HPHWQU34.js.map +0 -1
  257. package/dist/chunk-IHNYOUXP.js +0 -2
  258. package/dist/chunk-K2BWF2HC.js.map +0 -1
  259. package/dist/chunk-LV5R6H3D.js +0 -2
  260. package/dist/chunk-M2CI2UDK.js +0 -2
  261. package/dist/chunk-M2CI2UDK.js.map +0 -1
  262. package/dist/chunk-MQWVZSGH.js +0 -2
  263. package/dist/chunk-MQWVZSGH.js.map +0 -1
  264. package/dist/chunk-OKM7DRCF.js +0 -2
  265. package/dist/chunk-P7JZC65P.js +0 -2
  266. package/dist/chunk-P7JZC65P.js.map +0 -1
  267. package/dist/chunk-Q4BKFSTW.js +0 -2
  268. package/dist/chunk-Q4BKFSTW.js.map +0 -1
  269. package/dist/chunk-QWJFYQK3.js +0 -2
  270. package/dist/chunk-QWJFYQK3.js.map +0 -1
  271. package/dist/chunk-SPQO42TA.js +0 -2
  272. package/dist/chunk-SPQO42TA.js.map +0 -1
  273. package/dist/chunk-SRRY72CZ.js +0 -2
  274. package/dist/chunk-SRRY72CZ.js.map +0 -1
  275. package/dist/chunk-THMWKOHC.js +0 -2
  276. package/dist/chunk-THMWKOHC.js.map +0 -1
  277. package/dist/chunk-WBRWVTZK.js +0 -2
  278. package/dist/chunk-WBRWVTZK.js.map +0 -1
  279. package/dist/chunk-WMPKW7HC.js +0 -2
  280. package/dist/chunk-WMPKW7HC.js.map +0 -1
  281. package/dist/chunk-WW5UCMQZ.js.map +0 -1
  282. package/dist/chunk-WXUIXZ7P.js +0 -2
  283. package/dist/chunk-WXUIXZ7P.js.map +0 -1
  284. package/dist/chunk-YDJVQRND.js +0 -2
  285. package/dist/chunk-YDJVQRND.js.map +0 -1
  286. package/dist/chunk-Z3BMF4BO.js +0 -1
  287. package/dist/chunk-ZE3YT3Q6.js +0 -2
  288. package/dist/chunk-ZE3YT3Q6.js.map +0 -1
  289. package/dist/chunk-ZSCKSEAA.js +0 -2
  290. package/dist/chunk-ZSCKSEAA.js.map +0 -1
  291. package/dist/flows/CostCalculator/CostCalculatorDisclaimer.d.ts +0 -8
  292. package/dist/flows/CostCalculator/CostCalculatorDisclaimer.js +0 -2
  293. package/dist/flows/CostCalculator/CostCalculatorDisclaimer.js.map +0 -1
  294. package/dist/flows/CostCalculator/Results/CostCalculatorBenefitsBreakdown.d.ts +0 -16
  295. package/dist/flows/CostCalculator/Results/CostCalculatorBenefitsBreakdown.js +0 -2
  296. package/dist/flows/CostCalculator/Results/CostCalculatorBenefitsBreakdown.js.map +0 -1
  297. package/dist/flows/CostCalculator/Results/CostCalculatorContributionsBreakdown.d.ts +0 -16
  298. package/dist/flows/CostCalculator/Results/CostCalculatorContributionsBreakdown.js +0 -2
  299. package/dist/flows/CostCalculator/Results/CostCalculatorContributionsBreakdown.js.map +0 -1
  300. package/dist/flows/CostCalculator/Results/CostCalculatorExtraStatutoryPaymentsBreakdown.d.ts +0 -16
  301. package/dist/flows/CostCalculator/Results/CostCalculatorExtraStatutoryPaymentsBreakdown.js +0 -2
  302. package/dist/flows/CostCalculator/Results/CostCalculatorExtraStatutoryPaymentsBreakdown.js.map +0 -1
  303. package/dist/flows/CostCalculator/Results/CostCalculatorGrossSalary.d.ts +0 -10
  304. package/dist/flows/CostCalculator/Results/CostCalculatorGrossSalary.js +0 -2
  305. package/dist/flows/CostCalculator/Results/CostCalculatorGrossSalary.js.map +0 -1
  306. package/dist/flows/CostCalculator/Results/CostCalculatorIndirectTax.d.ts +0 -9
  307. package/dist/flows/CostCalculator/Results/CostCalculatorIndirectTax.js +0 -2
  308. package/dist/flows/CostCalculator/Results/CostCalculatorIndirectTax.js.map +0 -1
  309. package/dist/flows/CostCalculator/Results/CostCalculatorResults.d.ts +0 -19
  310. package/dist/flows/CostCalculator/Results/CostCalculatorResults.js +0 -2
  311. package/dist/flows/CostCalculator/Results/CostCalculatorResults.js.map +0 -1
  312. package/dist/flows/CostCalculator/Results/CostCalculatorResultsChart.d.ts +0 -13
  313. package/dist/flows/CostCalculator/Results/CostCalculatorResultsChart.js +0 -2
  314. package/dist/flows/CostCalculator/Results/CostCalculatorResultsChart.js.map +0 -1
  315. package/dist/flows/CostCalculator/Results/CostCalculatorTotalCost.d.ts +0 -9
  316. package/dist/flows/CostCalculator/Results/CostCalculatorTotalCost.js +0 -2
  317. package/dist/flows/CostCalculator/Results/CostCalculatorTotalCost.js.map +0 -1
  318. package/dist/flows/CostCalculator/disclaimerUtils.d.ts +0 -10
  319. package/dist/flows/CostCalculator/disclaimerUtils.js +0 -2
  320. package/dist/flows/CostCalculator/disclaimerUtils.js.map +0 -1
  321. /package/dist/{chunk-ENW4DCDU.js.map → chunk-2Q4L4WH7.js.map} +0 -0
  322. /package/dist/{chunk-5KZXFQLZ.js.map → chunk-2S376WY7.js.map} +0 -0
  323. /package/dist/{chunk-COBQ4WSJ.js.map → chunk-34TXLVDI.js.map} +0 -0
  324. /package/dist/{chunk-5CVD5WZZ.js.map → chunk-3XOHQ7Y7.js.map} +0 -0
  325. /package/dist/{chunk-2W2XD7ZY.js.map → chunk-5BY7HOJB.js.map} +0 -0
  326. /package/dist/{chunk-ID3ZF7QT.js.map → chunk-62HGJVHQ.js.map} +0 -0
  327. /package/dist/{chunk-P5WUODPR.js.map → chunk-65H2G43I.js.map} +0 -0
  328. /package/dist/{chunk-DPY77ASH.js.map → chunk-66L7BKYM.js.map} +0 -0
  329. /package/dist/{chunk-OIN3HGOQ.js.map → chunk-677KTHPH.js.map} +0 -0
  330. /package/dist/{chunk-HBHVB56P.js.map → chunk-7CLHPFPZ.js.map} +0 -0
  331. /package/dist/{chunk-HO2TIG7R.js.map → chunk-7HSSHSYK.js.map} +0 -0
  332. /package/dist/{chunk-LQAHRGU4.js.map → chunk-7LRY5QTK.js.map} +0 -0
  333. /package/dist/{chunk-EM5UYWUQ.js.map → chunk-A7BBVCMY.js.map} +0 -0
  334. /package/dist/{chunk-UJKTTTGB.js.map → chunk-DBGYYVFL.js.map} +0 -0
  335. /package/dist/{chunk-UPXJJBXZ.js.map → chunk-ED6E3V2E.js.map} +0 -0
  336. /package/dist/{chunk-ZQ6MG635.js.map → chunk-FEB3W622.js.map} +0 -0
  337. /package/dist/{chunk-Z3BMF4BO.js.map → chunk-FGBEOUQK.js.map} +0 -0
  338. /package/dist/{chunk-MZB24YJP.js.map → chunk-FIXHXJGN.js.map} +0 -0
  339. /package/dist/{chunk-EKKRQI6B.js.map → chunk-GGQFBP37.js.map} +0 -0
  340. /package/dist/{chunk-WJ6YJFD4.js.map → chunk-HBYHRMST.js.map} +0 -0
  341. /package/dist/{chunk-FRTJ4KWA.js.map → chunk-HKCDMC3H.js.map} +0 -0
  342. /package/dist/{chunk-QIVDIOJG.js.map → chunk-I4XJ764Y.js.map} +0 -0
  343. /package/dist/{chunk-SHP4ULHS.js.map → chunk-IHYMZJ4W.js.map} +0 -0
  344. /package/dist/{chunk-6FWFRVQE.js.map → chunk-ISQ6I4HJ.js.map} +0 -0
  345. /package/dist/{chunk-L3D2AK3X.js.map → chunk-LDZWM4VX.js.map} +0 -0
  346. /package/dist/{chunk-HZDCZFR5.js.map → chunk-LIF7X2AH.js.map} +0 -0
  347. /package/dist/{chunk-5AG4K2EA.js.map → chunk-LLJWEHDJ.js.map} +0 -0
  348. /package/dist/{chunk-IUEXOXFA.js.map → chunk-M3EBUSNT.js.map} +0 -0
  349. /package/dist/{chunk-TWIUL2P3.js.map → chunk-MOG7GUQB.js.map} +0 -0
  350. /package/dist/{chunk-ANGJCT4I.js.map → chunk-MPV22ALR.js.map} +0 -0
  351. /package/dist/{chunk-U4JVXNOG.js.map → chunk-ORIJ6E2J.js.map} +0 -0
  352. /package/dist/{chunk-XPL5XOQ4.js.map → chunk-PABPITPH.js.map} +0 -0
  353. /package/dist/{chunk-CW3MAP5L.js.map → chunk-RSH5MZY3.js.map} +0 -0
  354. /package/dist/{chunk-OW5QGJD4.js.map → chunk-S2BJGON2.js.map} +0 -0
  355. /package/dist/{chunk-5ZR7EFPY.js.map → chunk-SHK2UKLD.js.map} +0 -0
  356. /package/dist/{chunk-6VRUYYUV.js.map → chunk-U5WVXSGT.js.map} +0 -0
  357. /package/dist/{chunk-SO3YQ4WT.js.map → chunk-WRNHET4F.js.map} +0 -0
  358. /package/dist/{chunk-OKM7DRCF.js.map → chunk-XOA7GG4P.js.map} +0 -0
  359. /package/dist/{chunk-X6CD3FMG.js.map → chunk-YCILXVJU.js.map} +0 -0
@@ -0,0 +1,2 @@
1
+ import{c as et,d as nt}from"./chunk-XNOLBKZC.js";import{a as at,b as it,c as ct,e as st,f as lt,g as mt,h as ut}from"./chunk-PABPITPH.js";import{a as ot,b as rt}from"./chunk-3UDG4IJO.js";import{a as dt,b as pt}from"./chunk-ZOTFS35J.js";import{a as z,f as Q,h as X,k as Z}from"./chunk-2S376WY7.js";import{a as v}from"./chunk-2YTBWEC7.js";import{a as tt}from"./chunk-PJBAQZ6G.js";import{c as f,d as C}from"./chunk-2EJ4BAUK.js";import{g as P}from"./chunk-43WMZDDH.js";import{a as p}from"./chunk-P37U34EQ.js";import{useEffect as Kt,useMemo as c,useRef as Yt,useState as k}from"react";var zt={select_country:null,basic_information:"employment_basic_information",contract_details:null,pricing_plan:null,contract_preview:null,review:null},Qt={employment_basic_information:"basic_information"},me=p(({countryCode:ft,externalId:yt,employmentId:y,skipSteps:_t,options:u,initialValues:i})=>{let[a,A]=k(ft||null),[o,St]=k(y),[T,gt]=k(void 0),O=Yt({select_country:{},basic_information:{},contract_details:{},contract_preview:{},pricing_plan:{}}),bt=_t?.includes("select_country")?pt:dt,{fieldValues:w,stepState:e,setFieldValues:Ct,previousStep:wt,nextStep:ht,goToStep:D,setStepValues:B}=tt(bt),{data:s,isLoading:I,refetch:Ft}=z(o),{status:_}=s||{},j=_&&et.includes(_),Vt=_&&!nt.includes(_),Et=c(()=>_==="invited"?"invited":"not_invited",[_]),J=X(u),q=lt(),N=it(),Pt=st(),{mutateAsync:vt}=v(J),{mutateAsync:Ot}=v(q),{mutateAsync:Mt}=v(N),{mutateAsync:x}=v(Pt);y&&s?.country?.code&&!a&&A(s.country.code);let{selectCountryForm:M,isLoading:Tt}=Z({jsfModify:u?.jsfModify?.select_country,queryOptions:{enabled:e.currentStep.name==="select_country"}}),{form:U,isLoading:Dt}=ut(o,{jsonSchemaVersion:u?.jsonSchemaVersion,queryOptions:{enabled:e.currentStep.name==="pricing_plan"}}),It=zt[e.currentStep.name]||"contractor_basic_information",jt=Qt[It],Lt=s?.[jt]||{},Rt=p(({form:t,options:r={},query:g={}})=>{let b=Object.keys(w).length>0?{...i,...e.values?.[e.currentStep.name],...w}:{...i,...Lt};return Q({countryCode:a,form:t,fieldValues:b,query:g,options:{...r,queryOptions:{enabled:r.queryOptions?.enabled??!0}}})},"useJSONSchema"),kt=!!(a&&(e.currentStep.name==="basic_information"||y)),At=!!(a&&(e.currentStep.name==="contract_details"||y)),{data:l,isLoading:Bt}=Rt({form:"contractor_basic_information",options:{jsfModify:u?.jsfModify?.basic_information,queryOptions:{enabled:kt},jsonSchemaVersion:u?.jsonSchemaVersion}}),{data:m,isLoading:Jt}=mt({countryCode:a,fieldValues:w,options:{queryOptions:{enabled:At},jsfModify:u?.jsfModify?.contract_details,jsonSchemaVersion:u?.jsonSchemaVersion}}),{data:d}=at({fieldValues:w,options:{queryOptions:{enabled:e.currentStep.name==="contract_preview"}}}),{data:qt,isLoading:Nt}=ct({employmentId:o,contractDocumentId:T,options:{queryOptions:{enabled:!!T}}}),n=c(()=>({select_country:M?.fields||[],basic_information:l?.fields||[],pricing_plan:U?.fields||[],contract_details:m?.fields||[],contract_preview:d?.fields||[],review:[]}),[M?.fields,l?.fields,U?.fields,m?.fields,d?.fields]),xt={select_country:null,basic_information:l?.meta["x-jsf-fieldsets"],pricing_plan:null,contract_details:m?.meta["x-jsf-fieldsets"],contract_preview:null,review:null},{country:Ut,basic_information:H={},contract_details:S={}}=s||{},G=Ut?.code,h=c(()=>C(n.select_country,{country:a||G||""}),[n.select_country,a,G]),F=c(()=>{let t={...i,...H};return C(n.basic_information,t)},[n.basic_information,H,i]),V=c(()=>{let t={...i,...S};return C(n.contract_details,t)},[n.contract_details,S,i]),W=c(()=>{let t={...i,...S};return C(n.contract_preview,t)},[n.contract_preview,S,i]),$=c(()=>{let t={...i,...S};return C(n.pricing_plan,t?.pricing_plan??{})},[n.pricing_plan,S,i]),Ht=c(()=>({select_country:h,basic_information:F,contract_details:V,contract_preview:W,pricing_plan:$}),[h,F,V,W,$]),K=c(()=>!!(!!(y&&j&&e.currentStep.name!=="review")&&!I&&n.basic_information.length>0&&n.contract_details.length>0),[y,j,I,n.basic_information.length,n.contract_details.length,e.currentStep.name]);Kt(()=>{K&&(O.current={select_country:P(h,n.select_country),basic_information:P(F,n.basic_information),contract_details:P(V,n.contract_details),contract_preview:{},pricing_plan:{}},B({select_country:h,basic_information:F,contract_details:V,contract_preview:{},pricing_plan:{},review:{}}),D("review"))},[K,D,h,F,V,B,n.select_country,n.basic_information,n.contract_details]);let Gt=p(t=>{D(t)},"goTo"),Y=p(async t=>M&&e.currentStep.name==="select_country"?t:l&&e.currentStep.name==="basic_information"?await f(t,l?.fields,{isPartialValidation:!1}):m&&e.currentStep.name==="contract_details"?await f(t,m?.fields,{isPartialValidation:!1}):d&&e.currentStep.name==="contract_preview"?await f(t,d?.fields,{isPartialValidation:!1}):e.currentStep.name==="pricing_plan"?t:{},"parseFormValues");async function Wt(t){let r=e.currentStep.name;r in O.current&&(O.current[r]=P(t,n[r]));let g=await Y(t);switch(e.currentStep.name){case"select_country":return A(g.country),Promise.resolve({data:{countryCode:g.country}});case"basic_information":{let L=!o&&a,b=o&&a&&s?.country&&s?.country.code!==a;if(L||b){let R={basic_information:g,type:"contractor",country_code:a,external_id:yt};try{let E=await vt(R),$t=E.data?.data?.employment?.id;return St($t),E}catch(E){throw console.error("Error creating onboarding:",E),E}}else if(o)return Promise.resolve({data:{employmentId:o}});return}case"contract_details":{let b=await Ot({employmentId:o,payload:{contract_document:g}}),R=b.data?.data?.contract_document?.id;return gt(R),b}case"contract_preview":return Mt({employmentId:o,contractDocumentId:T,payload:{signature:t.signature}});case"pricing_plan":return t.subscription==ot?x({employmentId:o,payload:{operation:"downgrade"}}):t.subscription==rt?x({employmentId:o,payload:{operation:"upgrade"}}):Promise.reject({error:"invalid selection"});default:throw new Error("Invalid step state")}}return p(Wt,"onSubmit"),{isLoading:Tt||Bt||I||Jt||Dt||Nt,fieldValues:w,stepState:e,checkFieldUpdates:Ct,back:wt,next:ht,goTo:Gt,onSubmit:Wt,fields:n[e.currentStep.name],meta:{fields:O.current,fieldsets:xt[e.currentStep.name]},parseFormValues:Y,handleValidation:p(async t=>{if(e.currentStep.name==="select_country")return M.handleValidation(t);if(l&&e.currentStep.name==="basic_information"){let r=await f(t,l?.fields,{isPartialValidation:!1});return l?.handleValidation(r)}if(m&&e.currentStep.name==="contract_details"){let r=await f(t,m?.fields,{isPartialValidation:!1});return m?.handleValidation(r)}if(d&&e.currentStep.name==="contract_preview"){let r=await f(t,d?.fields,{isPartialValidation:!1});return d?.handleValidation(r)}return e.currentStep.name==="pricing_plan"?{formErrors:{},yupError:null}:null},"handleValidation"),initialValues:Ht,employmentId:o,refetchEmployment:Ft,isSubmitting:J.isPending||q.isPending||N.isPending,documentPreviewPdf:qt,canInvite:Vt,isEmploymentReadOnly:j,invitedStatus:Et,employment:s}},"useContractorOnboarding");export{me as a};
2
+ //# sourceMappingURL=chunk-7JQFGVWI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/ContractorOnboarding/hooks.tsx"],"sourcesContent":["import {\n CreateContractDocument,\n Employment,\n EmploymentCreateParams,\n} from '@/src/client/types.gen';\nimport {\n getInitialValues,\n parseJSFToValidate,\n} from '@/src/components/form/utils';\nimport {\n useContractorOnboardingDetailsSchema,\n useCreateContractorContractDocument,\n useGetContractDocumentSignatureSchema,\n usePostManageContractorSubscriptions,\n useContractorSubscriptionSchemaField,\n useGetShowContractDocument,\n useSignContractDocument,\n} from '@/src/flows/ContractorOnboarding/api';\nimport { ContractorOnboardingFlowProps } from '@/src/flows/ContractorOnboarding/types';\nimport {\n STEPS,\n STEPS_WITHOUT_SELECT_COUNTRY,\n} from '@/src/flows/ContractorOnboarding/utils';\nimport {\n useCountriesSchemaField,\n useCreateEmployment,\n useEmployment,\n useJSONSchemaForm,\n} from '@/src/flows/Onboarding/api';\nimport {\n disabledInviteButtonEmploymentStatus,\n reviewStepAllowedEmploymentStatus,\n} from '@/src/flows/Onboarding/utils';\nimport { FlowOptions, JSFModify, JSONSchemaFormType } from '@/src/flows/types';\nimport { Step, useStepState } from '@/src/flows/useStepState';\nimport { mutationToPromise } from '@/src/lib/mutations';\nimport { prettifyFormValues } from '@/src/lib/utils';\nimport { $TSFixMe, JSFFieldset, Meta } from '@/src/types/remoteFlows';\nimport { Fields } from '@remoteoss/json-schema-form';\nimport { useEffect, useMemo, useRef, useState } from 'react';\nimport { FieldValues } from 'react-hook-form';\n\ntype useContractorOnboardingProps = Omit<\n ContractorOnboardingFlowProps,\n 'render'\n>;\n\nconst stepToFormSchemaMap: Record<\n keyof typeof STEPS,\n JSONSchemaFormType | null\n> = {\n select_country: null,\n basic_information: 'employment_basic_information',\n contract_details: null,\n pricing_plan: null,\n contract_preview: null,\n review: null,\n};\n\nimport {\n contractorStandardProductIdentifier,\n contractorPlusProductIdentifier,\n} from '@/src/flows/ContractorOnboarding/constants';\n\nconst jsonSchemaToEmployment: Partial<\n Record<JSONSchemaFormType, keyof Employment>\n> = {\n employment_basic_information: 'basic_information',\n};\n\nexport const useContractorOnboarding = ({\n countryCode,\n externalId,\n employmentId,\n skipSteps,\n options,\n initialValues: onboardingInitialValues,\n}: useContractorOnboardingProps) => {\n const [internalCountryCode, setInternalCountryCode] = useState<string | null>(\n countryCode || null,\n );\n const [internalEmploymentId, setInternalEmploymentId] = useState<\n string | undefined\n >(employmentId);\n const [internalContractDocumentId, setInternalContractDocumentId] = useState<\n string | undefined\n >(undefined);\n const fieldsMetaRef = useRef<{\n select_country: Meta;\n basic_information: Meta;\n contract_details: Meta;\n contract_preview: Meta;\n pricing_plan: Meta;\n }>({\n select_country: {},\n basic_information: {},\n contract_details: {},\n contract_preview: {},\n pricing_plan: {},\n });\n\n const stepsToUse = skipSteps?.includes('select_country')\n ? STEPS_WITHOUT_SELECT_COUNTRY\n : STEPS;\n\n const {\n fieldValues,\n stepState,\n setFieldValues,\n previousStep,\n nextStep,\n goToStep,\n setStepValues,\n } = useStepState(\n stepsToUse as Record<keyof typeof STEPS, Step<keyof typeof STEPS>>,\n );\n\n const {\n data: employment,\n isLoading: isLoadingEmployment,\n refetch: refetchEmployment,\n } = useEmployment(internalEmploymentId);\n\n const { status: employmentStatus } = employment || {};\n\n const isEmploymentReadOnly =\n employmentStatus &&\n reviewStepAllowedEmploymentStatus.includes(employmentStatus);\n\n const canInvite =\n employmentStatus &&\n !disabledInviteButtonEmploymentStatus.includes(employmentStatus);\n\n const invitedStatus: 'invited' | 'not_invited' = useMemo(() => {\n const isInvited = employmentStatus === 'invited';\n\n return isInvited ? 'invited' : 'not_invited';\n }, [employmentStatus]);\n\n const createEmploymentMutation = useCreateEmployment(options);\n const createContractorContractDocumentMutation =\n useCreateContractorContractDocument();\n const signContractDocumentMutation = useSignContractDocument();\n const manageContractorSubscriptionMutation =\n usePostManageContractorSubscriptions();\n\n const { mutateAsync: createEmploymentMutationAsync } = mutationToPromise(\n createEmploymentMutation,\n );\n\n const { mutateAsync: createContractorContractDocumentMutationAsync } =\n mutationToPromise(createContractorContractDocumentMutation);\n\n const { mutateAsync: signContractDocumentMutationAsync } = mutationToPromise(\n signContractDocumentMutation,\n );\n\n const { mutateAsync: manageContractorSubscriptionMutationAsync } =\n mutationToPromise(manageContractorSubscriptionMutation);\n\n // if the employment is loaded, country code has not been set yet\n // we set the internal country code with the employment country code\n if (employmentId && employment?.country?.code && !internalCountryCode) {\n setInternalCountryCode(employment.country.code);\n }\n\n const { selectCountryForm, isLoading: isLoadingCountries } =\n useCountriesSchemaField({\n jsfModify: options?.jsfModify?.select_country,\n queryOptions: {\n enabled: stepState.currentStep.name === 'select_country',\n },\n });\n\n const {\n form: selectContractorSubscriptionForm,\n isLoading: isLoadingContractorSubscriptions,\n } = useContractorSubscriptionSchemaField(internalEmploymentId as string, {\n jsonSchemaVersion: options?.jsonSchemaVersion,\n queryOptions: {\n enabled: stepState.currentStep.name === 'pricing_plan',\n },\n });\n\n const formType =\n stepToFormSchemaMap[stepState.currentStep.name] ||\n 'contractor_basic_information';\n const employmentKey = jsonSchemaToEmployment[formType] as keyof Employment;\n const serverEmploymentData = (employment?.[employmentKey] || {}) as Record<\n string,\n unknown\n >;\n\n const useJSONSchema = ({\n form,\n options: jsonSchemaOptions = {},\n query = {},\n }: {\n form: JSONSchemaFormType;\n options?: {\n jsfModify?: JSFModify;\n queryOptions?: { enabled?: boolean };\n jsonSchemaVersion?: FlowOptions['jsonSchemaVersion'];\n };\n query?: Record<string, string>;\n }) => {\n const hasUserEnteredAnyValues = Object.keys(fieldValues).length > 0;\n // when you write on the fields, the values are stored in the fieldValues state\n // when values are stored in the stepState is when the user has navigated to the step\n // and then we have the values from the server and the onboardingInitialValues that the user can inject,\n const mergedFormValues = hasUserEnteredAnyValues\n ? {\n ...onboardingInitialValues,\n ...stepState.values?.[stepState.currentStep.name], // Restore values for the current step\n ...fieldValues,\n }\n : {\n ...onboardingInitialValues,\n ...serverEmploymentData,\n };\n\n return useJSONSchemaForm({\n countryCode: internalCountryCode as string,\n form: form,\n fieldValues: mergedFormValues,\n query,\n options: {\n ...jsonSchemaOptions,\n queryOptions: {\n enabled: jsonSchemaOptions.queryOptions?.enabled ?? true,\n },\n },\n });\n };\n\n const isBasicInformationDetailsEnabled = Boolean(\n internalCountryCode &&\n (stepState.currentStep.name === 'basic_information' ||\n Boolean(employmentId)),\n );\n\n const isContractorOnboardingDetailsEnabled = Boolean(\n internalCountryCode &&\n (stepState.currentStep.name === 'contract_details' ||\n Boolean(employmentId)),\n );\n\n const {\n data: basicInformationForm,\n isLoading: isLoadingBasicInformationForm,\n } = useJSONSchema({\n form: 'contractor_basic_information',\n options: {\n jsfModify: options?.jsfModify?.basic_information,\n queryOptions: {\n enabled: isBasicInformationDetailsEnabled,\n },\n jsonSchemaVersion: options?.jsonSchemaVersion,\n },\n });\n\n const {\n data: contractorOnboardingDetailsForm,\n isLoading: isLoadingContractorOnboardingDetailsForm,\n } = useContractorOnboardingDetailsSchema({\n countryCode: internalCountryCode as string,\n fieldValues: fieldValues,\n options: {\n queryOptions: {\n enabled: isContractorOnboardingDetailsEnabled,\n },\n jsfModify: options?.jsfModify?.contract_details,\n jsonSchemaVersion: options?.jsonSchemaVersion,\n },\n });\n\n const { data: signatureSchemaForm } = useGetContractDocumentSignatureSchema({\n fieldValues: fieldValues,\n options: {\n queryOptions: {\n enabled: stepState.currentStep.name === 'contract_preview',\n },\n },\n });\n const { data: documentPreviewPdf, isLoading: isLoadingDocumentPreviewForm } =\n useGetShowContractDocument({\n employmentId: internalEmploymentId as string,\n contractDocumentId: internalContractDocumentId as string,\n options: {\n queryOptions: {\n enabled: Boolean(internalContractDocumentId),\n },\n },\n });\n\n const stepFields: Record<keyof typeof STEPS, Fields> = useMemo(\n () => ({\n select_country: selectCountryForm?.fields || [],\n basic_information: basicInformationForm?.fields || [],\n pricing_plan: selectContractorSubscriptionForm?.fields || [],\n contract_details: contractorOnboardingDetailsForm?.fields || [],\n contract_preview: signatureSchemaForm?.fields || [],\n review: [],\n }),\n [\n selectCountryForm?.fields,\n basicInformationForm?.fields,\n selectContractorSubscriptionForm?.fields,\n contractorOnboardingDetailsForm?.fields,\n signatureSchemaForm?.fields,\n ],\n );\n\n const stepFieldsWithFlatFieldsets: Record<\n keyof typeof STEPS,\n JSFFieldset | null | undefined\n > = {\n select_country: null,\n basic_information: basicInformationForm?.meta['x-jsf-fieldsets'],\n pricing_plan: null,\n contract_details: contractorOnboardingDetailsForm?.meta['x-jsf-fieldsets'],\n contract_preview: null,\n review: null,\n };\n\n const {\n country,\n basic_information: employmentBasicInformation = {},\n contract_details: employmentContractDetails = {},\n } = employment || {};\n\n const employmentCountryCode = country?.code;\n\n const selectCountryInitialValues = useMemo(\n () =>\n getInitialValues(stepFields.select_country, {\n country: internalCountryCode || employmentCountryCode || '',\n }),\n [stepFields.select_country, internalCountryCode, employmentCountryCode],\n );\n\n const basicInformationInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...employmentBasicInformation,\n };\n\n return getInitialValues(stepFields.basic_information, initialValues);\n }, [\n stepFields.basic_information,\n employmentBasicInformation,\n onboardingInitialValues,\n ]);\n\n const contractDetailsInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...employmentContractDetails,\n };\n\n return getInitialValues(stepFields.contract_details, initialValues);\n }, [\n stepFields.contract_details,\n employmentContractDetails,\n onboardingInitialValues,\n ]);\n\n const contractPreviewInitialValues = useMemo(() => {\n // TODO: TBD not sure if contract preview needs to be populated with anything\n const initialValues = {\n ...onboardingInitialValues,\n ...employmentContractDetails,\n };\n\n return getInitialValues(stepFields.contract_preview, initialValues);\n }, [\n stepFields.contract_preview,\n employmentContractDetails,\n onboardingInitialValues,\n ]);\n\n const pricingPlanInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...employmentContractDetails,\n };\n\n return getInitialValues(\n stepFields.pricing_plan,\n (initialValues?.pricing_plan ?? {}) as Record<string, unknown>,\n );\n }, [\n stepFields.pricing_plan,\n employmentContractDetails,\n onboardingInitialValues,\n ]);\n\n const initialValues = useMemo(() => {\n return {\n select_country: selectCountryInitialValues,\n basic_information: basicInformationInitialValues,\n contract_details: contractDetailsInitialValues,\n contract_preview: contractPreviewInitialValues,\n pricing_plan: pricingPlanInitialValues,\n };\n }, [\n selectCountryInitialValues,\n basicInformationInitialValues,\n contractDetailsInitialValues,\n contractPreviewInitialValues,\n pricingPlanInitialValues,\n ]);\n\n const isNavigatingToReview = useMemo(() => {\n const shouldHandleReadOnlyEmployment = Boolean(\n employmentId &&\n isEmploymentReadOnly &&\n stepState.currentStep.name !== 'review',\n );\n\n return Boolean(\n shouldHandleReadOnlyEmployment &&\n !isLoadingEmployment &&\n stepFields.basic_information.length > 0 &&\n stepFields.contract_details.length > 0,\n );\n }, [\n employmentId,\n isEmploymentReadOnly,\n isLoadingEmployment,\n stepFields.basic_information.length,\n stepFields.contract_details.length,\n stepState.currentStep.name,\n ]);\n\n useEffect(() => {\n if (isNavigatingToReview) {\n fieldsMetaRef.current = {\n select_country: prettifyFormValues(\n selectCountryInitialValues,\n stepFields.select_country,\n ),\n basic_information: prettifyFormValues(\n basicInformationInitialValues,\n stepFields.basic_information,\n ),\n contract_details: prettifyFormValues(\n contractDetailsInitialValues,\n stepFields.contract_details,\n ),\n // TODO: TBD\n contract_preview: {},\n // TODO: TBD\n pricing_plan: {},\n };\n\n setStepValues({\n select_country: selectCountryInitialValues,\n basic_information: basicInformationInitialValues,\n contract_details: contractDetailsInitialValues,\n contract_preview: {},\n pricing_plan: {},\n review: {},\n });\n goToStep('review');\n }\n }, [\n isNavigatingToReview,\n goToStep,\n selectCountryInitialValues,\n basicInformationInitialValues,\n contractDetailsInitialValues,\n setStepValues,\n stepFields.select_country,\n stepFields.basic_information,\n stepFields.contract_details,\n ]);\n\n const goTo = (step: keyof typeof STEPS) => {\n goToStep(step);\n };\n\n const parseFormValues = async (values: FieldValues) => {\n if (selectCountryForm && stepState.currentStep.name === 'select_country') {\n return values;\n }\n\n if (\n basicInformationForm &&\n stepState.currentStep.name === 'basic_information'\n ) {\n return await parseJSFToValidate(values, basicInformationForm?.fields, {\n isPartialValidation: false,\n });\n }\n\n if (\n contractorOnboardingDetailsForm &&\n stepState.currentStep.name === 'contract_details'\n ) {\n return await parseJSFToValidate(\n values,\n contractorOnboardingDetailsForm?.fields,\n {\n isPartialValidation: false,\n },\n );\n }\n\n if (\n signatureSchemaForm &&\n stepState.currentStep.name === 'contract_preview'\n ) {\n return await parseJSFToValidate(values, signatureSchemaForm?.fields, {\n isPartialValidation: false,\n });\n }\n\n if (stepState.currentStep.name === 'pricing_plan') {\n return values;\n }\n\n return {};\n };\n\n async function onSubmit(values: FieldValues) {\n const currentStepName = stepState.currentStep.name;\n if (currentStepName in fieldsMetaRef.current) {\n fieldsMetaRef.current[\n currentStepName as keyof typeof fieldsMetaRef.current\n ] = prettifyFormValues(values, stepFields[currentStepName]);\n }\n const parsedValues = await parseFormValues(values);\n switch (stepState.currentStep.name) {\n case 'select_country': {\n setInternalCountryCode(parsedValues.country);\n return Promise.resolve({ data: { countryCode: parsedValues.country } });\n }\n case 'basic_information': {\n const isEmploymentNotLoaded =\n !internalEmploymentId && internalCountryCode;\n const hasChangedCountry =\n internalEmploymentId &&\n internalCountryCode &&\n employment?.country &&\n employment?.country.code !== internalCountryCode;\n\n if (isEmploymentNotLoaded || hasChangedCountry) {\n const payload: EmploymentCreateParams = {\n basic_information: parsedValues,\n type: 'contractor',\n country_code: internalCountryCode,\n external_id: externalId,\n };\n try {\n const response = await createEmploymentMutationAsync(payload);\n // @ts-expect-error the types from the response are not matching\n const employmentId = response.data?.data?.employment?.id;\n setInternalEmploymentId(employmentId);\n\n return response;\n } catch (error) {\n console.error('Error creating onboarding:', error);\n throw error;\n }\n } else if (internalEmploymentId) {\n // TODO: Provisional it seems you cannot update a contractor employment\n return Promise.resolve({\n data: { employmentId: internalEmploymentId },\n });\n }\n\n return;\n }\n case 'contract_details': {\n const payload: CreateContractDocument = {\n contract_document: parsedValues,\n };\n const response: $TSFixMe =\n await createContractorContractDocumentMutationAsync({\n employmentId: internalEmploymentId as string,\n payload,\n });\n\n const contractDocumentId = response.data?.data?.contract_document?.id;\n setInternalContractDocumentId(contractDocumentId);\n return response;\n }\n\n case 'contract_preview': {\n return signContractDocumentMutationAsync({\n employmentId: internalEmploymentId as string,\n contractDocumentId: internalContractDocumentId as string,\n payload: {\n signature: values.signature,\n },\n });\n }\n case 'pricing_plan': {\n if (values.subscription == contractorStandardProductIdentifier) {\n return manageContractorSubscriptionMutationAsync({\n employmentId: internalEmploymentId as string,\n payload: {\n operation: 'downgrade',\n },\n });\n } else if (values.subscription == contractorPlusProductIdentifier) {\n return manageContractorSubscriptionMutationAsync({\n employmentId: internalEmploymentId as string,\n payload: {\n operation: 'upgrade',\n },\n });\n }\n return Promise.reject({ error: 'invalid selection' });\n }\n\n default: {\n throw new Error('Invalid step state');\n }\n }\n }\n\n const isLoading =\n isLoadingCountries ||\n isLoadingBasicInformationForm ||\n isLoadingEmployment ||\n isLoadingContractorOnboardingDetailsForm ||\n isLoadingContractorSubscriptions ||\n isLoadingDocumentPreviewForm;\n\n return {\n /**\n * Loading state indicating if the flow is loading data\n */\n isLoading,\n\n /**\n * Current state of the form fields for the current step.\n */\n fieldValues,\n\n /**\n * Current step state containing the current step and total number of steps\n */\n stepState,\n\n /**\n * Function to update the current form field values\n * @param values - New form values to set\n */\n checkFieldUpdates: setFieldValues,\n\n /**\n * Function to handle going back to the previous step\n * @returns {void}\n */\n back: previousStep,\n\n /**\n * Function to handle going to the next step\n * @returns {void}\n */\n next: nextStep,\n\n /**\n * Function to handle going to a specific step\n * @param step The step to go to.\n * @returns {void}\n */\n goTo: goTo,\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 * Array of form fields from the onboarding schema\n */\n fields: stepFields[stepState.currentStep.name],\n\n /**\n * Fields metadata for each step\n */\n meta: {\n fields: fieldsMetaRef.current,\n fieldsets: stepFieldsWithFlatFieldsets[stepState.currentStep.name],\n },\n\n /**\n * Function to parse form values before submission\n * @param values - Form values to parse\n * @returns Parsed form values\n */\n parseFormValues,\n\n /**\n * Function to validate form values against the onboarding schema\n * @param values - Form values to validate\n * @returns Validation result or null if no schema is available\n */\n handleValidation: async (values: FieldValues) => {\n if (stepState.currentStep.name === 'select_country') {\n return selectCountryForm.handleValidation(values);\n }\n\n if (\n basicInformationForm &&\n stepState.currentStep.name === 'basic_information'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n basicInformationForm?.fields,\n { isPartialValidation: false },\n );\n return basicInformationForm?.handleValidation(parsedValues);\n }\n\n if (\n contractorOnboardingDetailsForm &&\n stepState.currentStep.name === 'contract_details'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n contractorOnboardingDetailsForm?.fields,\n { isPartialValidation: false },\n );\n return contractorOnboardingDetailsForm?.handleValidation(parsedValues);\n }\n\n if (\n signatureSchemaForm &&\n stepState.currentStep.name === 'contract_preview'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n signatureSchemaForm?.fields,\n { isPartialValidation: false },\n );\n return signatureSchemaForm?.handleValidation(parsedValues);\n }\n\n if (stepState.currentStep.name === 'pricing_plan') {\n // TODO: TBD\n return {\n formErrors: {},\n yupError: null,\n };\n }\n\n return null;\n },\n\n /**\n * Initial form values\n */\n initialValues,\n\n /**\n * Employment id\n */\n employmentId: internalEmploymentId,\n\n /**\n * Function to refetch the employment data\n * @returns {void}\n */\n refetchEmployment: refetchEmployment,\n\n /**\n * Loading state indicating if the onboarding mutation is in progress\n */\n isSubmitting:\n createEmploymentMutation.isPending ||\n createContractorContractDocumentMutation.isPending ||\n signContractDocumentMutation.isPending,\n\n /**\n * Document preview PDF data\n */\n documentPreviewPdf,\n\n /**\n * let's the user know if the company can invite employees\n * @returns {boolean}\n */\n canInvite,\n\n /**\n * let's the user know that the employment cannot be edited, happens when employment.status is invited\n * @returns {boolean}\n */\n isEmploymentReadOnly,\n /**\n * let's the user know if the employment is invited or not\n * @returns {'invited' | 'not_invited'}\n */\n invitedStatus,\n\n /**\n * Employment data\n * @returns {Employment}\n */\n employment,\n };\n};\n"],"mappings":"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","names":["useEffect","useMemo","useRef","useState","stepToFormSchemaMap","jsonSchemaToEmployment","useContractorOnboarding","__name","countryCode","externalId","employmentId","skipSteps","options","onboardingInitialValues","internalCountryCode","setInternalCountryCode","useState","internalEmploymentId","setInternalEmploymentId","internalContractDocumentId","setInternalContractDocumentId","fieldsMetaRef","useRef","stepsToUse","STEPS_WITHOUT_SELECT_COUNTRY","STEPS","fieldValues","stepState","setFieldValues","previousStep","nextStep","goToStep","setStepValues","useStepState","employment","isLoadingEmployment","refetchEmployment","useEmployment","employmentStatus","isEmploymentReadOnly","reviewStepAllowedEmploymentStatus","canInvite","disabledInviteButtonEmploymentStatus","invitedStatus","useMemo","createEmploymentMutation","useCreateEmployment","createContractorContractDocumentMutation","useCreateContractorContractDocument","signContractDocumentMutation","useSignContractDocument","manageContractorSubscriptionMutation","usePostManageContractorSubscriptions","createEmploymentMutationAsync","mutationToPromise","createContractorContractDocumentMutationAsync","signContractDocumentMutationAsync","manageContractorSubscriptionMutationAsync","selectCountryForm","isLoadingCountries","useCountriesSchemaField","selectContractorSubscriptionForm","isLoadingContractorSubscriptions","useContractorSubscriptionSchemaField","formType","employmentKey","serverEmploymentData","useJSONSchema","form","jsonSchemaOptions","query","mergedFormValues","useJSONSchemaForm","isBasicInformationDetailsEnabled","isContractorOnboardingDetailsEnabled","basicInformationForm","isLoadingBasicInformationForm","contractorOnboardingDetailsForm","isLoadingContractorOnboardingDetailsForm","useContractorOnboardingDetailsSchema","signatureSchemaForm","useGetContractDocumentSignatureSchema","documentPreviewPdf","isLoadingDocumentPreviewForm","useGetShowContractDocument","stepFields","stepFieldsWithFlatFieldsets","country","employmentBasicInformation","employmentContractDetails","employmentCountryCode","selectCountryInitialValues","getInitialValues","basicInformationInitialValues","initialValues","contractDetailsInitialValues","contractPreviewInitialValues","pricingPlanInitialValues","isNavigatingToReview","useEffect","prettifyFormValues","goTo","step","parseFormValues","values","parseJSFToValidate","onSubmit","currentStepName","parsedValues","isEmploymentNotLoaded","hasChangedCountry","payload","response","error","contractDocumentId","contractorStandardProductIdentifier","contractorPlusProductIdentifier"]}
@@ -1,2 +1,2 @@
1
- import{a}from"./chunk-HZDCZFR5.js";import{b as i}from"./chunk-PGWKJ6FK.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as d}from"react/jsx-runtime";function y({onSubmit:s,onSuccess:c,onError:t}){let{onboardingBag:o}=i(),u=e(async n=>{try{await s?.({countryCode:n.country});let r=await o.onSubmit(n);if(r?.data){await c?.(r?.data),o?.next();return}r?.error&&t?.({error:r.error,rawError:r.rawError,fieldErrors:[]})}catch(r){t?.({error:r,rawError:r,fieldErrors:[]})}},"handleSubmit"),l=o.stepState.values?.select_country||o.initialValues.select_country;return d(a,{defaultValues:l,onSubmit:u})}e(y,"SelectCountryStep");export{y as a};
2
- //# sourceMappingURL=chunk-LQAHRGU4.js.map
1
+ import{a}from"./chunk-LIF7X2AH.js";import{b as i}from"./chunk-PGWKJ6FK.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as d}from"react/jsx-runtime";function y({onSubmit:s,onSuccess:c,onError:t}){let{onboardingBag:o}=i(),u=e(async n=>{try{await s?.({countryCode:n.country});let r=await o.onSubmit(n);if(r?.data){await c?.(r?.data),o?.next();return}r?.error&&t?.({error:r.error,rawError:r.rawError,fieldErrors:[]})}catch(r){t?.({error:r,rawError:r,fieldErrors:[]})}},"handleSubmit"),l=o.stepState.values?.select_country||o.initialValues.select_country;return d(a,{defaultValues:l,onSubmit:u})}e(y,"SelectCountryStep");export{y as a};
2
+ //# sourceMappingURL=chunk-7LRY5QTK.js.map
@@ -1,2 +1,2 @@
1
- import{a as s}from"./chunk-HO2TIG7R.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as i}from"react/jsx-runtime";var l=e(({currency:n,desiredCurrency:o,annual_gross_salary_conversion_properties:r,...a})=>i(s,{...a,sourceCurrency:n,targetCurrency:o,conversionFieldName:"annual_gross_salary_conversion",conversionProperties:{...r,description:r?.description||"Estimated amount. This is an estimation. We calculate conversions based on spot rates that are subject to fluctuation over time."},classNamePrefix:"RemoteFlows-AnnualGrossSalary",conversionType:"no_spread"}),"AnnualGrossSalary");export{l as a};
2
- //# sourceMappingURL=chunk-EM5UYWUQ.js.map
1
+ import{a as s}from"./chunk-7HSSHSYK.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as i}from"react/jsx-runtime";var l=e(({currency:n,desiredCurrency:o,annual_gross_salary_conversion_properties:r,...a})=>i(s,{...a,sourceCurrency:n,targetCurrency:o,conversionFieldName:"annual_gross_salary_conversion",conversionProperties:{...r,description:r?.description||"Estimated amount. This is an estimation. We calculate conversions based on spot rates that are subject to fluctuation over time."},classNamePrefix:"RemoteFlows-AnnualGrossSalary",conversionType:"no_spread"}),"AnnualGrossSalary");export{l as a};
2
+ //# sourceMappingURL=chunk-A7BBVCMY.js.map
@@ -0,0 +1,2 @@
1
+ import{a as l}from"./chunk-LIF7X2AH.js";import{b as s}from"./chunk-PGWKJ6FK.js";import{b as n}from"./chunk-2YTBWEC7.js";import{a as t}from"./chunk-P37U34EQ.js";import{jsx as E}from"react/jsx-runtime";function S({onSubmit:d,onError:a,onSuccess:m}){let{onboardingBag:r}=s(),c=t(async i=>{try{let e=await r.parseFormValues(i);await d?.(e);let o=await r.onSubmit(i);if(o?.data){await m?.(o.data),r?.next();return}if(o?.error){let p=n(o?.fieldErrors||[],r.meta?.fields?.contract_details);a?.({error:o.error,rawError:o.rawError,fieldErrors:p})}}catch(e){a?.({error:e,rawError:e,fieldErrors:[]})}},"handleSubmit");return E(l,{defaultValues:r.stepState.values?.contract_details||r.initialValues.contract_details,onSubmit:c})}t(S,"ContractDetailsStep");export{S as a};
2
+ //# sourceMappingURL=chunk-BTUON37L.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/Onboarding/components/ContractDetailsStep.tsx"],"sourcesContent":["import { useOnboardingContext } from '@/src/flows/Onboarding/context';\nimport { OnboardingForm } from '@/src/flows/Onboarding/components/OnboardingForm';\nimport { EmploymentResponse } from '@/src/client';\nimport { ContractDetailsFormPayload } from '@/src/flows/Onboarding/types';\nimport { $TSFixMe } from '@/src/types/remoteFlows';\nimport {\n NormalizedFieldError,\n normalizeFieldErrors,\n} from '@/src/lib/mutations';\n\ntype ContractDetailsStepProps = {\n /*\n * The function is called when the form is submitted. It receives the form values as an argument.\n */\n onSubmit?: (payload: ContractDetailsFormPayload) => void | Promise<void>;\n /*\n * The function is called when the form submission is successful.\n */\n onSuccess?: (response: EmploymentResponse) => void | Promise<void>;\n /*\n * The function is called when an error occurs during form submission.\n */\n onError?: ({\n error,\n rawError,\n fieldErrors,\n }: {\n error: Error;\n rawError: Record<string, unknown>;\n fieldErrors: NormalizedFieldError[];\n }) => void;\n};\n\nexport function ContractDetailsStep({\n onSubmit,\n onError,\n onSuccess,\n}: ContractDetailsStepProps) {\n const { onboardingBag } = useOnboardingContext();\n const handleSubmit = async (payload: $TSFixMe) => {\n try {\n const parsedValues = await onboardingBag.parseFormValues(payload);\n await onSubmit?.(parsedValues as ContractDetailsFormPayload);\n const response = await onboardingBag.onSubmit(payload);\n if (response?.data) {\n await onSuccess?.(response.data as EmploymentResponse);\n onboardingBag?.next();\n return;\n }\n if (response?.error) {\n const normalizedFieldErrors = normalizeFieldErrors(\n response?.fieldErrors || [],\n onboardingBag.meta?.fields?.contract_details,\n );\n onError?.({\n error: response.error,\n rawError: response.rawError,\n fieldErrors: normalizedFieldErrors,\n });\n }\n } catch (error: unknown) {\n onError?.({\n error: error as Error,\n rawError: error as Record<string, unknown>,\n fieldErrors: [],\n });\n }\n };\n\n return (\n <OnboardingForm\n defaultValues={\n onboardingBag.stepState.values?.contract_details ||\n onboardingBag.initialValues.contract_details\n }\n onSubmit={handleSubmit}\n />\n );\n}\n"],"mappings":"gKAsEI,cAAAA,MAAA,oBArCG,SAASC,EAAoB,CAClC,SAAAC,EACA,QAAAC,EACA,UAAAC,CACF,EAA6B,CAC3B,GAAM,CAAE,cAAAC,CAAc,EAAIC,EAAqB,EACzCC,EAAeC,EAAA,MAAOC,GAAsB,CAChD,GAAI,CACF,IAAMC,EAAe,MAAML,EAAc,gBAAgBI,CAAO,EAChE,MAAMP,IAAWQ,CAA0C,EAC3D,IAAMC,EAAW,MAAMN,EAAc,SAASI,CAAO,EACrD,GAAIE,GAAU,KAAM,CAClB,MAAMP,IAAYO,EAAS,IAA0B,EACrDN,GAAe,KAAK,EACpB,MACF,CACA,GAAIM,GAAU,MAAO,CACnB,IAAMC,EAAwBC,EAC5BF,GAAU,aAAe,CAAC,EAC1BN,EAAc,MAAM,QAAQ,gBAC9B,EACAF,IAAU,CACR,MAAOQ,EAAS,MAChB,SAAUA,EAAS,SACnB,YAAaC,CACf,CAAC,CACH,CACF,OAASE,EAAgB,CACvBX,IAAU,CACR,MAAOW,EACP,SAAUA,EACV,YAAa,CAAC,CAChB,CAAC,CACH,CACF,EA5BqB,gBA8BrB,OACEd,EAACe,EAAA,CACC,cACEV,EAAc,UAAU,QAAQ,kBAChCA,EAAc,cAAc,iBAE9B,SAAUE,EACZ,CAEJ,CA7CgBC,EAAAP,EAAA","names":["jsx","ContractDetailsStep","onSubmit","onError","onSuccess","onboardingBag","useOnboardingContext","handleSubmit","__name","payload","parsedValues","response","normalizedFieldErrors","normalizeFieldErrors","error","OnboardingForm"]}
@@ -0,0 +1,2 @@
1
+ import{a}from"./chunk-3XOHQ7Y7.js";import{b as m}from"./chunk-MRYRNB7Y.js";import{a as o}from"./chunk-P37U34EQ.js";import{jsx as n}from"react/jsx-runtime";function d({onSubmit:e}){let{terminationBag:i}=m();return n(a,{onSubmit:o(async r=>{let t=await i?.parseFormValues(r);await e?.(t),i?.next()},"handleSubmit")})}o(d,"PaidTimeOffForm");export{d as a};
2
+ //# sourceMappingURL=chunk-CN3GXYLK.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/flows/Termination/PaidTimeOffForm.tsx"],"sourcesContent":["import { useTerminationContext } from './context';\nimport {\n PaidTimeOffFormValues,\n TerminationFormValues,\n} from '@/src/flows/Termination/types';\nimport { TerminationForm } from '@/src/flows/Termination/TerminationForm';\n\ntype PaidTimeOffFormProps = {\n /*\n * The function is called when the form is submitted. It receives the form values as an argument.\n */\n onSubmit?: (payload: PaidTimeOffFormValues) => void | Promise<void>;\n};\n\nexport function PaidTimeOffForm({ onSubmit }: PaidTimeOffFormProps) {\n const { terminationBag } = useTerminationContext();\n const handleSubmit = async (values: TerminationFormValues) => {\n await onSubmit?.(\n terminationBag?.parseFormValues(values) as PaidTimeOffFormValues,\n );\n terminationBag?.next();\n };\n\n return <TerminationForm onSubmit={handleSubmit} />;\n}\n"],"mappings":"mHAuBS,cAAAA,MAAA,oBATF,SAASC,EAAgB,CAAE,SAAAC,CAAS,EAAyB,CAClE,GAAM,CAAE,eAAAC,CAAe,EAAIC,EAAsB,EAQjD,OAAOJ,EAACK,EAAA,CAAgB,SAPHC,EAAA,MAAOC,GAAkC,CAC5D,MAAML,IACJC,GAAgB,gBAAgBI,CAAM,CACxC,EACAJ,GAAgB,KAAK,CACvB,EALqB,gBAO2B,CAClD,CAVgBG,EAAAL,EAAA","names":["jsx","PaidTimeOffForm","onSubmit","terminationBag","useTerminationContext","TerminationForm","__name","values"]}
1
+ {"version":3,"sources":["../src/flows/Termination/PaidTimeOffForm.tsx"],"sourcesContent":["import { useTerminationContext } from './context';\nimport {\n PaidTimeOffFormValues,\n TerminationFormValues,\n} from '@/src/flows/Termination/types';\nimport { TerminationForm } from '@/src/flows/Termination/TerminationForm';\n\ntype PaidTimeOffFormProps = {\n /*\n * The function is called when the form is submitted. It receives the form values as an argument.\n */\n onSubmit?: (payload: PaidTimeOffFormValues) => void | Promise<void>;\n};\n\nexport function PaidTimeOffForm({ onSubmit }: PaidTimeOffFormProps) {\n const { terminationBag } = useTerminationContext();\n const handleSubmit = async (values: TerminationFormValues) => {\n const parsedValues = await terminationBag?.parseFormValues(values);\n await onSubmit?.(parsedValues as PaidTimeOffFormValues);\n terminationBag?.next();\n };\n\n return <TerminationForm onSubmit={handleSubmit} />;\n}\n"],"mappings":"mHAsBS,cAAAA,MAAA,oBARF,SAASC,EAAgB,CAAE,SAAAC,CAAS,EAAyB,CAClE,GAAM,CAAE,eAAAC,CAAe,EAAIC,EAAsB,EAOjD,OAAOJ,EAACK,EAAA,CAAgB,SANHC,EAAA,MAAOC,GAAkC,CAC5D,IAAMC,EAAe,MAAML,GAAgB,gBAAgBI,CAAM,EACjE,MAAML,IAAWM,CAAqC,EACtDL,GAAgB,KAAK,CACvB,EAJqB,gBAM2B,CAClD,CATgBG,EAAAL,EAAA","names":["jsx","PaidTimeOffForm","onSubmit","terminationBag","useTerminationContext","TerminationForm","__name","values","parsedValues"]}
@@ -0,0 +1,2 @@
1
+ import{b as f}from"./chunk-KSHK3ZPX.js";import{a as F}from"./chunk-HBYHRMST.js";import{b as p}from"./chunk-2YTBWEC7.js";import{g as C}from"./chunk-CNDSIADP.js";import{g as E}from"./chunk-43WMZDDH.js";import{a as n}from"./chunk-P37U34EQ.js";import{useEffect as R}from"react";import{jsx as u}from"react/jsx-runtime";function T({onSubmit:S,onError:w,onSuccess:y,onErrorWithFields:c,shouldResetForm:d,resetFields:a}){let{form:e,formId:V,costCalculatorBag:o}=f(),{formState:{isSubmitSuccessful:s}}=e;R(()=>{if(s&&d){o?.resetForm(),e.reset();return}if(s&&a){let t={...e.getValues()};a.forEach(r=>{t[r]=""}),o?.resetForm(),e.reset(t)}},[s,e,d,o,a]);let b=n(async i=>{try{let t=await o?.parseFormValues(i);o?.meta?.fields&&(o.meta.fields=E(i,o.fields),o.meta.fields.employer_currency_slug=o.meta.fields.currency);let r=await o?.onSubmit(t);if(await S?.(t),r?.data&&!r.error){let l={data:{...r.data.data,employments:r.data.data.employments?.map(m=>({...m,title:t.estimation_title}))}};await y?.(l)}else throw{data:null,error:r?.error,fieldErrors:r?.fieldErrors,rawError:r?.rawError}}catch(t){let r=t,l=r.fieldErrors;if(c){let m=o?.meta?.fields,h=p(l,m);c({error:r.error,rawError:r.rawError,fieldErrors:h})}else w?.(r.error)}},"handleSubmit");return u(C,{...e,children:u("form",{id:V,onSubmit:e.handleSubmit(b),className:"space-y-4 RemoteFlows__CostCalculatorForm",children:u(F,{fields:o?.fields??[]})})})}n(T,"CostCalculatorForm");export{T as a};
2
+ //# sourceMappingURL=chunk-D3ZE5TO6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/CostCalculator/CostCalculatorForm.tsx"],"sourcesContent":["import { useEffect } from 'react';\nimport { JSONSchemaFormFields } from '@/src/components/form/JSONSchemaForm';\nimport { Form } from '@/src/components/ui/form';\nimport { useCostCalculatorContext } from '@/src/flows/CostCalculator/context';\nimport {\n CostCalculatorEstimationResponse,\n CostCalculatorEstimationFormValues,\n CostCalculatorEstimationSubmitValues,\n EstimationError,\n} from '@/src/flows/CostCalculator/types';\nimport {\n FieldError,\n NormalizedFieldError,\n normalizeFieldErrors,\n} from '@/src/lib/mutations';\nimport { prettifyFormValues } from '@/src/lib/utils';\nimport { $TSFixMe } from '@/src/types/remoteFlows';\n\ntype CostCalculatorFormProps = Partial<{\n /**\n * Callback function that handles form submission. When form is submit, the form values are sent to the consumer app before behind submitted to Remote.\n * @param data - The payload sent to the /cost-calculator/estimation endpoint.\n */\n onSubmit: (\n data: CostCalculatorEstimationSubmitValues,\n ) => Promise<void> | void;\n /**\n * Callback function to handle the success when the estimation succeeds. The CostCalculatorEstimateResponse is sent back to you.\n * @param data - The response data from the /cost-calculator/estimation endpoint.\n */\n onSuccess: (data: CostCalculatorEstimationResponse) => Promise<void> | void;\n /**\n * Callback function to handle the error when the estimation fails.\n * @param error - The error object.\n */\n onError: (error: EstimationError) => void;\n /**\n * Enhanced callback function to handle errors with field-level details.\n * @param error - The error object with field errors.\n */\n onErrorWithFields?: ({\n error,\n fieldErrors,\n }: {\n error: Error;\n fieldErrors: NormalizedFieldError[];\n rawError: Record<string, unknown>;\n }) => void;\n /**\n * Whether to reset the form when the form is successfully submitted.\n */\n shouldResetForm?: boolean;\n\n /**\n * Fields to reset when the form is successfully submitted.\n */\n resetFields?: ('country' | 'currency' | 'salary')[];\n}>;\n\nexport function CostCalculatorForm({\n onSubmit,\n onError,\n onSuccess,\n onErrorWithFields,\n shouldResetForm,\n resetFields,\n}: CostCalculatorFormProps) {\n const { form, formId, costCalculatorBag } = useCostCalculatorContext();\n\n const {\n formState: { isSubmitSuccessful },\n } = form;\n\n useEffect(() => {\n // resets the entire form if the form is successfully submitted and the shouldResetForm prop is true\n if (isSubmitSuccessful && shouldResetForm) {\n costCalculatorBag?.resetForm();\n form.reset();\n return;\n }\n\n // resets the specified fields if the form is successfully submitted and the resetFields prop is provided\n if (isSubmitSuccessful && resetFields) {\n // Reset only the specified fields\n const currentValues = form.getValues();\n const resetValues = { ...currentValues };\n resetFields.forEach((field) => {\n resetValues[field] = '';\n });\n\n costCalculatorBag?.resetForm();\n form.reset(resetValues);\n }\n }, [\n isSubmitSuccessful,\n form,\n shouldResetForm,\n costCalculatorBag,\n resetFields,\n ]);\n\n const handleSubmit = async (values: CostCalculatorEstimationFormValues) => {\n try {\n const parsedValues = (await costCalculatorBag?.parseFormValues(\n values,\n )) as CostCalculatorEstimationSubmitValues;\n\n if (costCalculatorBag?.meta?.fields) {\n costCalculatorBag.meta.fields = prettifyFormValues(\n values,\n costCalculatorBag.fields,\n );\n costCalculatorBag.meta.fields['employer_currency_slug'] =\n costCalculatorBag.meta.fields['currency'];\n }\n\n const costCalculatorResults =\n await costCalculatorBag?.onSubmit(parsedValues);\n\n // if this rejects, catch will handle it\n await onSubmit?.(parsedValues);\n\n if (costCalculatorResults?.data && !costCalculatorResults.error) {\n const responseWithTitle = {\n data: {\n ...costCalculatorResults.data.data,\n employments: (\n costCalculatorResults as $TSFixMe\n ).data.data.employments?.map((employment: $TSFixMe) => ({\n ...employment,\n title: parsedValues.estimation_title,\n })),\n },\n };\n await onSuccess?.(responseWithTitle);\n } else {\n throw {\n data: null,\n error: costCalculatorResults?.error,\n fieldErrors: costCalculatorResults?.fieldErrors,\n rawError: costCalculatorResults?.rawError,\n };\n }\n } catch (err) {\n // Handles here the errors caused by the API\n const error = err as {\n data: null;\n error: EstimationError;\n fieldErrors: FieldError[];\n rawError: Record<string, unknown>;\n };\n\n const fieldErrors = error.fieldErrors;\n\n if (onErrorWithFields) {\n // Create field metadata for better error messages\n const fieldsMeta = costCalculatorBag?.meta?.fields;\n\n // Normalize field errors with user-friendly labels\n const normalizedFieldErrors = normalizeFieldErrors(\n fieldErrors,\n fieldsMeta,\n );\n\n onErrorWithFields({\n error: error.error as Error,\n rawError: error.rawError as Record<string, unknown>,\n fieldErrors: normalizedFieldErrors,\n });\n } else {\n // Fall back to the original error handler\n onError?.(error.error);\n }\n }\n };\n\n return (\n <Form {...form}>\n <form\n id={formId}\n onSubmit={form.handleSubmit(handleSubmit)}\n className='space-y-4 RemoteFlows__CostCalculatorForm'\n >\n <JSONSchemaFormFields fields={costCalculatorBag?.fields ?? []} />\n </form>\n </Form>\n );\n}\n"],"mappings":"gPAAA,OAAS,aAAAA,MAAiB,QAuLlB,cAAAC,MAAA,oBA5HD,SAASC,EAAmB,CACjC,SAAAC,EACA,QAAAC,EACA,UAAAC,EACA,kBAAAC,EACA,gBAAAC,EACA,YAAAC,CACF,EAA4B,CAC1B,GAAM,CAAE,KAAAC,EAAM,OAAAC,EAAQ,kBAAAC,CAAkB,EAAIC,EAAyB,EAE/D,CACJ,UAAW,CAAE,mBAAAC,CAAmB,CAClC,EAAIJ,EAEJK,EAAU,IAAM,CAEd,GAAID,GAAsBN,EAAiB,CACzCI,GAAmB,UAAU,EAC7BF,EAAK,MAAM,EACX,MACF,CAGA,GAAII,GAAsBL,EAAa,CAGrC,IAAMO,EAAc,CAAE,GADAN,EAAK,UAAU,CACE,EACvCD,EAAY,QAASQ,GAAU,CAC7BD,EAAYC,CAAK,EAAI,EACvB,CAAC,EAEDL,GAAmB,UAAU,EAC7BF,EAAK,MAAMM,CAAW,CACxB,CACF,EAAG,CACDF,EACAJ,EACAF,EACAI,EACAH,CACF,CAAC,EAED,IAAMS,EAAeC,EAAA,MAAOC,GAA+C,CACzE,GAAI,CACF,IAAMC,EAAgB,MAAMT,GAAmB,gBAC7CQ,CACF,EAEIR,GAAmB,MAAM,SAC3BA,EAAkB,KAAK,OAASU,EAC9BF,EACAR,EAAkB,MACpB,EACAA,EAAkB,KAAK,OAAO,uBAC5BA,EAAkB,KAAK,OAAO,UAGlC,IAAMW,EACJ,MAAMX,GAAmB,SAASS,CAAY,EAKhD,GAFA,MAAMjB,IAAWiB,CAAY,EAEzBE,GAAuB,MAAQ,CAACA,EAAsB,MAAO,CAC/D,IAAMC,EAAoB,CACxB,KAAM,CACJ,GAAGD,EAAsB,KAAK,KAC9B,YACEA,EACA,KAAK,KAAK,aAAa,IAAKE,IAA0B,CACtD,GAAGA,EACH,MAAOJ,EAAa,gBACtB,EAAE,CACJ,CACF,EACA,MAAMf,IAAYkB,CAAiB,CACrC,KACE,MAAM,CACJ,KAAM,KACN,MAAOD,GAAuB,MAC9B,YAAaA,GAAuB,YACpC,SAAUA,GAAuB,QACnC,CAEJ,OAASG,EAAK,CAEZ,IAAMC,EAAQD,EAORE,EAAcD,EAAM,YAE1B,GAAIpB,EAAmB,CAErB,IAAMsB,EAAajB,GAAmB,MAAM,OAGtCkB,EAAwBC,EAC5BH,EACAC,CACF,EAEAtB,EAAkB,CAChB,MAAOoB,EAAM,MACb,SAAUA,EAAM,SAChB,YAAaG,CACf,CAAC,CACH,MAEEzB,IAAUsB,EAAM,KAAK,CAEzB,CACF,EAzEqB,gBA2ErB,OACEzB,EAAC8B,EAAA,CAAM,GAAGtB,EACR,SAAAR,EAAC,QACC,GAAIS,EACJ,SAAUD,EAAK,aAAaQ,CAAY,EACxC,UAAU,4CAEV,SAAAhB,EAAC+B,EAAA,CAAqB,OAAQrB,GAAmB,QAAU,CAAC,EAAG,EACjE,EACF,CAEJ,CAhIgBO,EAAAhB,EAAA","names":["useEffect","jsx","CostCalculatorForm","onSubmit","onError","onSuccess","onErrorWithFields","shouldResetForm","resetFields","form","formId","costCalculatorBag","useCostCalculatorContext","isSubmitSuccessful","useEffect","resetValues","field","handleSubmit","__name","values","parsedValues","prettifyFormValues","costCalculatorResults","responseWithTitle","employment","err","error","fieldErrors","fieldsMeta","normalizedFieldErrors","normalizeFieldErrors","Form","JSONSchemaFormFields"]}
@@ -1,2 +1,2 @@
1
- import{a as r}from"./chunk-IHNYOUXP.js";import{a}from"./chunk-OW5QGJD4.js";import{a as c}from"./chunk-K2BWF2HC.js";import{a as e}from"./chunk-EKKRQI6B.js";import{a as m}from"./chunk-5OZPBBXS.js";import{a as o}from"./chunk-TVZAFTPT.js";import{a as n}from"./chunk-P37U34EQ.js";import{useId as f}from"react";import{jsx as s}from"react/jsx-runtime";function k({employmentId:d,countryCode:C,options:p,render:A}){let t=c({employmentId:d,countryCode:C,options:p}),i=f();return s(o.Provider,{value:{formId:i,contractAmendmentBag:t},children:A({contractAmendmentBag:t,components:{Form:r,SubmitButton:a,ConfirmationForm:m,BackButton:e}})})}n(k,"ContractAmendmentFlow");export{k as a};
2
- //# sourceMappingURL=chunk-UJKTTTGB.js.map
1
+ import{a as r}from"./chunk-RIA5Z6I3.js";import{a}from"./chunk-S2BJGON2.js";import{a as c}from"./chunk-6PT55OGW.js";import{a as e}from"./chunk-GGQFBP37.js";import{a as m}from"./chunk-L2GTD44Y.js";import{a as o}from"./chunk-TVZAFTPT.js";import{a as n}from"./chunk-P37U34EQ.js";import{useId as f}from"react";import{jsx as s}from"react/jsx-runtime";function k({employmentId:d,countryCode:C,options:p,render:A}){let t=c({employmentId:d,countryCode:C,options:p}),i=f();return s(o.Provider,{value:{formId:i,contractAmendmentBag:t},children:A({contractAmendmentBag:t,components:{Form:r,SubmitButton:a,ConfirmationForm:m,BackButton:e}})})}n(k,"ContractAmendmentFlow");export{k as a};
2
+ //# sourceMappingURL=chunk-DBGYYVFL.js.map
@@ -1,2 +1,2 @@
1
- import{a as R}from"./chunk-ID3ZF7QT.js";import{a as Z}from"./chunk-IUEXOXFA.js";import{a as z}from"./chunk-QIVDIOJG.js";import{a as K}from"./chunk-IWA5B4U6.js";import{a as Q}from"./chunk-7VOQAVM4.js";import{a as J}from"./chunk-5AG4K2EA.js";import{a as S,b as E,c as N,d as B,e as q}from"./chunk-Q2N5SOKO.js";import{c as H,d as L}from"./chunk-U4JVXNOG.js";import{a as A}from"./chunk-ZXGAFQXW.js";import{a as D}from"./chunk-Z5WMKCRJ.js";import{a as O}from"./chunk-A477TZFC.js";import{a as v}from"./chunk-2YTBWEC7.js";import{a as u,b as $}from"./chunk-MZB24YJP.js";import{l as b}from"./chunk-AA7QB3QQ.js";import{a as I}from"./chunk-PJBAQZ6G.js";import{d as h}from"./chunk-3ZWDIEEM.js";import{c as p}from"./chunk-WXUIXZ7P.js";import{a as w}from"./chunk-43WMZDDH.js";import{a as o}from"./chunk-P37U34EQ.js";import{createHeadlessForm as _e}from"@remoteoss/json-schema-form";import ye from"lodash.omitby";import Te from"lodash.isnull";import{format as g,isFuture as Fe,parseISO as x,subDays as Me}from"date-fns";import{useMemo as j}from"react";import Se from"lodash.omit";import{useQuery as le}from"@tanstack/react-query";var U=o(({query:t,options:e})=>{let{client:_}=h();return le({queryKey:["payroll-calendars"],queryFn:o(()=>b({client:_,query:{year:t?.year,country_code:t?.countryCode}}),"queryFn"),enabled:e?.enabled,select:o(c=>c.data?.data?.payroll_calendars?.[0],"select")})},"usePayrollCalendars");import{isFuture as ce,isToday as pe,parseISO as ue}from"date-fns";var W=o(t=>{if(!t)return!1;let e=ue(t);return ce(e)||pe(e)},"isInProbationPeriod");import{Fragment as ge,jsx as d,jsxs as xe}from"react/jsx-runtime";var ao=o(({employmentId:t,options:e,initialValues:_})=>{let{fieldValues:c,setFieldValues:Y,stepState:a,previousStep:G,nextStep:X}=I(E),{data:n}=O({employmentId:t}),{data:ee}=U({query:{year:new Date().getFullYear().toString(),countryCode:n?.country?.code},options:{enabled:!!n?.country?.code}}),y=W(n?.probation_period_end_date),T=N(ee),P=j(()=>y?g(new Date,"yyyy-MM-dd"):g(T,"yyyy-MM-dd"),[y,T]),F=!!(n?.provisional_start_date&&Fe(x(n.provisional_start_date))),M=q({...a.values?.employee_communication,...a.values?.termination_details,...a.values?.paid_time_off,...a.values?.additional_information,..._},F),f=j(()=>({...a.values?.[a.currentStep.name],...M,...c}),[a.values,a.currentStep.name,c,M]),V=B({minTerminationDate:T,isEmployeeInProbationPeriod:y,selectedDate:x(f.proposed_termination_date)}),oe=j(()=>{let m=A.data.schema.properties.termination_reason.oneOf,r=F?m.filter(i=>i.const==="cancellation_before_start_date"):m.filter(i=>i.const!=="cancellation_before_start_date");return{fields:{risk_assesment_info:S("Offboarding risk assessment","Employees may be protected from termination if they fall into certain categories. To help avoid claims from employees, let us know if the employee is part of one or more of these categories. Select all that apply.",{className:e?.jsfModify?.fields?.risk_assesment_info?.["x-jsf-presentation"]?.className}),termination_reason:{...e?.jsfModify?.fields?.termination_reason,oneOf:r},proposed_termination_date_info:S("Proposed termination date",xe(ge,{children:["In most cases, we must provide notice to the employee before termination. The required notice period depends on local labor laws, the employment agreement, and other factors. We'll use those factors to determine the required notice period.",d($,{external:!0,zendeskId:u.terminationNoticePeriods,className:w("text-sm",e?.jsfModify?.fields?.proposed_termination_date_info?.["x-jsf-presentation"]?.zendeskTriggerButtonClassName),children:"Learn about notice periods"})]}),{className:e?.jsfModify?.fields?.proposed_termination_date_info?.["x-jsf-presentation"]?.className}),proposed_termination_date:{...e?.jsfModify?.fields?.proposed_termination_date,"x-jsf-presentation":{...e?.jsfModify?.fields?.proposed_termination_date?.["x-jsf-presentation"],minDate:P,...f.termination_reason==="cancellation_before_start_date"&&n?.provisional_start_date?{maxDate:g(Me(x(n.provisional_start_date),1),"yyyy-MM-dd")}:{},...V},...f.termination_reason==="cancellation_before_start_date"?{"x-jsf-errorMessage":{maximum:"The proposed termination date must be before the employee's start date."}}:{}},paid_time_off_info:{...e?.jsfModify?.fields?.paid_time_off_info,"x-jsf-presentation":{...e?.jsfModify?.fields?.paid_time_off_info?.["x-jsf-presentation"],Component:o(()=>{let i=e?.jsfModify?.fields?.paid_time_off_info?.["x-jsf-presentation"]?.Component;return d(Z,{employeeName:n?.basic_information?.name,proposedTerminationDate:f.proposed_termination_date,employmentId:t,employment:n,render:s=>i?d(i,{...s}):d(R,{...s})})},"Component")}},acknowledge_termination_procedure_info:{...e?.jsfModify?.fields?.acknowledge_termination_procedure_info,"x-jsf-presentation":{...e?.jsfModify?.fields?.acknowledge_termination_procedure_info?.["x-jsf-presentation"],Component:o(()=>{let i=e?.jsfModify?.fields?.acknowledge_termination_procedure_info?.["x-jsf-presentation"]?.Component;return d(K,{render:s=>i?d(i,{...s}):d(Q,{...s})})},"Component")}},acknowledge_termination_procedure_fees_info:{...e?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info,"x-jsf-presentation":{...e?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info?.["x-jsf-presentation"],Component:o(()=>{let i={involuntaryOffboardingServiceChargeZendeskId:u.involuntaryOffboardingServiceCharge,reconciliationInvoiceZendeskId:u.reconciliationInvoice},s=e?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info?.["x-jsf-presentation"]?.Component;return s?d(s,{...i}):d(J,{...i})},"Component")}}}}},[n,t,f.proposed_termination_date,f.termination_reason,F,P,e?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info,e?.jsfModify?.fields?.acknowledge_termination_procedure_info,e?.jsfModify?.fields?.paid_time_off_info,e?.jsfModify?.fields?.proposed_termination_date,e?.jsfModify?.fields?.proposed_termination_date_info,e?.jsfModify?.fields?.risk_assesment_info,e?.jsfModify?.fields?.termination_reason,V]),{data:l,isLoading:ie}=L({formValues:f,jsfModify:{...e?.jsfModify,fields:{...e?.jsfModify?.fields,...oe?.fields}},step:a.currentStep.name}),k=_e(z.data.schema),C=H(),{mutateAsync:te}=v(C);async function ne(m){if(!t)throw new Error("Employment id is missing");if(l){let r=p(m,k.fields,{isPartialValidation:!0}),{customer_informed_employee:i}=r,s=i==="yes"?{employee_awareness:{date:r.customer_informed_employee_date,note:r.customer_informed_employee_description}}:void 0,me=D(r,["agrees_to_pto_amount","confidential","customer_informed_employee","will_challenge_termination"]),de=Se(me,"customer_informed_employee_date","customer_informed_employee_description"),fe=ye({...de,...s},Te);return te({employment_id:t,termination_details:fe,type:"termination"})}}o(ne,"onSubmit");function ae(){G()}o(ae,"back");function re(){X()}o(re,"next");let se=Object.keys(c).length>0;return{employmentId:t,employment:n,fieldValues:f,isDirty:se,stepState:a,fields:l?.fields||[],isLoading:ie,isSubmitting:C.isPending,initialValues:M,handleValidation:o(m=>{if(l){let r=p(m,l?.fields);return l?.handleValidation(r)}return null},"handleValidation"),checkFieldUpdates:Y,parseFormValues:o((m,r=!1)=>r?p(m,k.fields,{isPartialValidation:!0}):l?p(m,l?.fields,{isPartialValidation:!0}):{},"parseFormValues"),onSubmit:ne,back:ae,next:re}},"useTermination");export{ao as a};
2
- //# sourceMappingURL=chunk-WW5UCMQZ.js.map
1
+ import{a as Z}from"./chunk-M3EBUSNT.js";import{a as K}from"./chunk-IWA5B4U6.js";import{a as Q}from"./chunk-7VOQAVM4.js";import{a as J}from"./chunk-LLJWEHDJ.js";import{a as R}from"./chunk-62HGJVHQ.js";import{a as z}from"./chunk-I4XJ764Y.js";import{c as H,d as L}from"./chunk-ORIJ6E2J.js";import{a as A}from"./chunk-ZXGAFQXW.js";import{a as S,b as E,c as N,d as B,e as q}from"./chunk-Q2N5SOKO.js";import{a as D}from"./chunk-Z5WMKCRJ.js";import{a as O}from"./chunk-A477TZFC.js";import{a as u,b as $}from"./chunk-FIXHXJGN.js";import{a as v}from"./chunk-2YTBWEC7.js";import{l as b}from"./chunk-AA7QB3QQ.js";import{a as I}from"./chunk-PJBAQZ6G.js";import{d as w}from"./chunk-3ZWDIEEM.js";import{c as p}from"./chunk-2EJ4BAUK.js";import{a as h}from"./chunk-43WMZDDH.js";import{a as o}from"./chunk-P37U34EQ.js";import{createHeadlessForm as ye}from"@remoteoss/json-schema-form";import Te from"lodash.omitby";import Fe from"lodash.isnull";import{format as g,isFuture as Me,parseISO as x,subDays as Se}from"date-fns";import{useMemo as j}from"react";import ge from"lodash.omit";import{useQuery as ce}from"@tanstack/react-query";var U=o(({query:t,options:e})=>{let{client:_}=w();return ce({queryKey:["payroll-calendars"],queryFn:o(()=>b({client:_,query:{year:t?.year,country_code:t?.countryCode}}),"queryFn"),enabled:e?.enabled,select:o(c=>c.data?.data?.payroll_calendars?.[0],"select")})},"usePayrollCalendars");import{isFuture as pe,isToday as ue,parseISO as _e}from"date-fns";var W=o(t=>{if(!t)return!1;let e=_e(t);return pe(e)||ue(e)},"isInProbationPeriod");import{Fragment as xe,jsx as d,jsxs as je}from"react/jsx-runtime";var so=o(({employmentId:t,options:e,initialValues:_})=>{let{fieldValues:c,setFieldValues:Y,stepState:a,previousStep:G,nextStep:X}=I(E),{data:n}=O({employmentId:t}),{data:ee}=U({query:{year:new Date().getFullYear().toString(),countryCode:n?.country?.code},options:{enabled:!!n?.country?.code}}),y=W(n?.probation_period_end_date),T=N(ee),P=j(()=>y?g(new Date,"yyyy-MM-dd"):g(T,"yyyy-MM-dd"),[y,T]),F=!!(n?.provisional_start_date&&Me(x(n.provisional_start_date))),M=q({...a.values?.employee_communication,...a.values?.termination_details,...a.values?.paid_time_off,...a.values?.additional_information,..._},F),f=j(()=>({...a.values?.[a.currentStep.name],...M,...c}),[a.values,a.currentStep.name,c,M]),V=B({minTerminationDate:T,isEmployeeInProbationPeriod:y,selectedDate:x(f.proposed_termination_date)}),oe=j(()=>{let m=A.data.schema.properties.termination_reason.oneOf,r=F?m.filter(i=>i.const==="cancellation_before_start_date"):m.filter(i=>i.const!=="cancellation_before_start_date");return{fields:{risk_assesment_info:S("Offboarding risk assessment","Employees may be protected from termination if they fall into certain categories. To help avoid claims from employees, let us know if the employee is part of one or more of these categories. Select all that apply.",{className:e?.jsfModify?.fields?.risk_assesment_info?.["x-jsf-presentation"]?.className}),termination_reason:{...e?.jsfModify?.fields?.termination_reason,oneOf:r},proposed_termination_date_info:S("Proposed termination date",je(xe,{children:["In most cases, we must provide notice to the employee before termination. The required notice period depends on local labor laws, the employment agreement, and other factors. We'll use those factors to determine the required notice period.",d($,{external:!0,zendeskId:u.terminationNoticePeriods,className:h("text-sm",e?.jsfModify?.fields?.proposed_termination_date_info?.["x-jsf-presentation"]?.zendeskTriggerButtonClassName),children:"Learn about notice periods"})]}),{className:e?.jsfModify?.fields?.proposed_termination_date_info?.["x-jsf-presentation"]?.className}),proposed_termination_date:{...e?.jsfModify?.fields?.proposed_termination_date,"x-jsf-presentation":{...e?.jsfModify?.fields?.proposed_termination_date?.["x-jsf-presentation"],minDate:P,...f.termination_reason==="cancellation_before_start_date"&&n?.provisional_start_date?{maxDate:g(Se(x(n.provisional_start_date),1),"yyyy-MM-dd")}:{},...V},...f.termination_reason==="cancellation_before_start_date"?{"x-jsf-errorMessage":{maximum:"The proposed termination date must be before the employee's start date."}}:{}},paid_time_off_info:{...e?.jsfModify?.fields?.paid_time_off_info,"x-jsf-presentation":{...e?.jsfModify?.fields?.paid_time_off_info?.["x-jsf-presentation"],Component:o(()=>{let i=e?.jsfModify?.fields?.paid_time_off_info?.["x-jsf-presentation"]?.Component;return d(Z,{employeeName:n?.basic_information?.name,proposedTerminationDate:f.proposed_termination_date,employmentId:t,employment:n,render:s=>i?d(i,{...s}):d(R,{...s})})},"Component")}},acknowledge_termination_procedure_info:{...e?.jsfModify?.fields?.acknowledge_termination_procedure_info,"x-jsf-presentation":{...e?.jsfModify?.fields?.acknowledge_termination_procedure_info?.["x-jsf-presentation"],Component:o(()=>{let i=e?.jsfModify?.fields?.acknowledge_termination_procedure_info?.["x-jsf-presentation"]?.Component;return d(K,{render:s=>i?d(i,{...s}):d(Q,{...s})})},"Component")}},acknowledge_termination_procedure_fees_info:{...e?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info,"x-jsf-presentation":{...e?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info?.["x-jsf-presentation"],Component:o(()=>{let i={involuntaryOffboardingServiceChargeZendeskId:u.involuntaryOffboardingServiceCharge,reconciliationInvoiceZendeskId:u.reconciliationInvoice},s=e?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info?.["x-jsf-presentation"]?.Component;return s?d(s,{...i}):d(J,{...i})},"Component")}}}}},[n,t,f.proposed_termination_date,f.termination_reason,F,P,e?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info,e?.jsfModify?.fields?.acknowledge_termination_procedure_info,e?.jsfModify?.fields?.paid_time_off_info,e?.jsfModify?.fields?.proposed_termination_date,e?.jsfModify?.fields?.proposed_termination_date_info,e?.jsfModify?.fields?.risk_assesment_info,e?.jsfModify?.fields?.termination_reason,V]),{data:l,isLoading:ie}=L({formValues:f,jsfModify:{...e?.jsfModify,fields:{...e?.jsfModify?.fields,...oe?.fields}},step:a.currentStep.name}),te=ye(z.data.schema),k=H(),{mutateAsync:ne}=v(k);async function ae(m){if(!t)throw new Error("Employment id is missing");if(l){let r=await C(m,!0),{customer_informed_employee:i}=r,s=i==="yes"?{employee_awareness:{date:r.customer_informed_employee_date,note:r.customer_informed_employee_description}}:void 0,de=await D(r,["agrees_to_pto_amount","confidential","customer_informed_employee","will_challenge_termination"]),fe=ge(de,"customer_informed_employee_date","customer_informed_employee_description"),le=Te({...fe,...s},Fe);return ne({employment_id:t,termination_details:le,type:"termination"})}}o(ae,"onSubmit");function re(){G()}o(re,"back");function se(){X()}o(se,"next");let me=Object.keys(c).length>0,C=o(async(m,r=!1)=>r?await p(m,te.fields,{isPartialValidation:!0}):l?await p(m,l?.fields,{isPartialValidation:!0}):{},"parseFormValues");return{employmentId:t,employment:n,fieldValues:f,isDirty:me,stepState:a,fields:l?.fields||[],isLoading:ie,isSubmitting:k.isPending,initialValues:M,handleValidation:o(async m=>{if(l){let r=await p(m,l?.fields);return l?.handleValidation(r)}return null},"handleValidation"),checkFieldUpdates:Y,parseFormValues:C,onSubmit:ae,back:re,next:se}},"useTermination");export{so as a};
2
+ //# sourceMappingURL=chunk-EAJ7JLBL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/Termination/hooks.tsx","../src/common/api/payroll-calendars.ts","../src/common/employment.ts"],"sourcesContent":["import { $TSFixMe, createHeadlessForm } from '@remoteoss/json-schema-form';\nimport omitBy from 'lodash.omitby';\nimport isNull from 'lodash.isnull';\nimport { format, isFuture, parseISO, subDays } from 'date-fns';\nimport { useMemo } from 'react';\nimport {\n CreateOffboardingParams,\n TerminationDetailsParams,\n} from '@/src/client';\nimport { mutationToPromise } from '@/src/lib/mutations';\nimport { parseJSFToValidate } from '@/src/components/form/utils';\nimport {\n EmployeeCommunicationFormValues,\n PaidTimeOffFormValues,\n TerminationDetailsFormValues,\n TerminationFlowProps,\n TerminationFormValues,\n} from '@/src/flows/Termination/types';\nimport omit from 'lodash.omit';\nimport { parseFormRadioValues } from '@/src/flows/utils';\nimport { useStepState } from '@/src/flows/useStepState';\nimport {\n buildInitialValues,\n calculateMinTerminationDate,\n calculateProposedTerminationDateStatement,\n STEPS,\n} from '@/src/flows/Termination/utils';\nimport { jsonSchema } from '@/src/flows/Termination/json-schemas/jsonSchema';\nimport { terminationDetailsSchema } from '@/src/flows/Termination/json-schemas/terminationDetails';\nimport {\n useCreateTermination,\n useTerminationSchema,\n} from '@/src/flows/Termination/api';\nimport { createInformationField } from '@/src/components/form/jsf-utils/createFields';\nimport { cn } from '@/src/internals';\nimport { zendeskArticles } from '@/src/components/shared/zendesk-drawer/utils';\nimport { PaidTimeOff } from '@/src/flows/Termination/components/PaidTimeOff/PaidTimeOff';\nimport { PaidTimeOffContainer } from '@/src/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer';\nimport { useEmploymentQuery } from '@/src/common/api';\nimport { AcknowledgeInformationContainer } from '@/src/flows/Termination/components/AcknowledgeInformation/AcknowledgeInfomationContainer';\nimport { AcknowledgeInformation } from '@/src/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformation';\nimport { AcknowledgeInformationFees } from '@/src/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformationFees';\nimport { usePayrollCalendars } from '@/src/common/api/payroll-calendars';\nimport { isInProbationPeriod } from '@/src/common/employment';\nimport { ZendeskTriggerButton } from '@/src/components/shared/zendesk-drawer/ZendeskTriggerButton';\n\ntype TerminationHookProps = Omit<TerminationFlowProps, 'render'>;\n\nexport const useTermination = ({\n employmentId,\n options,\n initialValues: terminationInitialValues,\n}: TerminationHookProps) => {\n const { fieldValues, setFieldValues, stepState, previousStep, nextStep } =\n useStepState<keyof typeof STEPS, TerminationFormValues>(STEPS);\n\n const { data: employment } = useEmploymentQuery({ employmentId });\n\n const { data: payrollCalendars } = usePayrollCalendars({\n query: {\n year: new Date().getFullYear().toString(),\n countryCode: employment?.country?.code,\n },\n options: {\n enabled: Boolean(employment?.country?.code),\n },\n });\n\n const isEmployeeInProbationPeriod = isInProbationPeriod(\n employment?.probation_period_end_date,\n );\n\n const minTerminationDate = calculateMinTerminationDate(payrollCalendars);\n const minDate = useMemo(\n () =>\n isEmployeeInProbationPeriod\n ? format(new Date(), 'yyyy-MM-dd')\n : format(minTerminationDate, 'yyyy-MM-dd'),\n [isEmployeeInProbationPeriod, minTerminationDate],\n );\n\n const hasFutureStartDate = Boolean(\n employment?.provisional_start_date &&\n isFuture(parseISO(employment.provisional_start_date)),\n );\n\n const initialValues = buildInitialValues(\n {\n ...stepState.values?.employee_communication,\n ...stepState.values?.termination_details,\n ...stepState.values?.paid_time_off,\n ...stepState.values?.additional_information,\n ...terminationInitialValues,\n },\n hasFutureStartDate,\n );\n\n const formValues = useMemo(\n () => ({\n ...stepState.values?.[stepState.currentStep.name as keyof typeof STEPS], // Restore values for the current step\n ...initialValues,\n ...fieldValues,\n }),\n [stepState.values, stepState.currentStep.name, fieldValues, initialValues],\n );\n\n const proposedTerminationDateStatement =\n calculateProposedTerminationDateStatement({\n minTerminationDate,\n isEmployeeInProbationPeriod,\n selectedDate: parseISO(formValues.proposed_termination_date),\n });\n\n const customFields = useMemo(() => {\n const originalTerminationReasonOptions =\n terminationDetailsSchema.data.schema.properties.termination_reason.oneOf;\n\n const terminationReasonOptions = hasFutureStartDate\n ? originalTerminationReasonOptions.filter(\n (option: $TSFixMe) =>\n option.const === 'cancellation_before_start_date',\n )\n : originalTerminationReasonOptions.filter(\n (option: $TSFixMe) =>\n option.const !== 'cancellation_before_start_date',\n );\n\n return {\n fields: {\n risk_assesment_info: createInformationField(\n 'Offboarding risk assessment',\n 'Employees may be protected from termination if they fall into certain categories. To help avoid claims from employees, let us know if the employee is part of one or more of these categories. Select all that apply.',\n {\n className: (\n options?.jsfModify?.fields?.risk_assesment_info as $TSFixMe\n )?.['x-jsf-presentation']?.className,\n },\n ),\n termination_reason: {\n ...(options?.jsfModify?.fields?.termination_reason as $TSFixMe),\n oneOf: terminationReasonOptions,\n },\n proposed_termination_date_info: createInformationField(\n 'Proposed termination date',\n <>\n In most cases, we must provide notice to the employee before\n termination. The required notice period depends on local labor laws,\n the employment agreement, and other factors. We'll use those factors\n to determine the required notice period.\n <ZendeskTriggerButton\n external\n zendeskId={zendeskArticles.terminationNoticePeriods}\n className={cn(\n 'text-sm',\n (\n options?.jsfModify?.fields\n ?.proposed_termination_date_info as $TSFixMe\n )?.['x-jsf-presentation']?.zendeskTriggerButtonClassName,\n )}\n >\n Learn about notice periods\n </ZendeskTriggerButton>\n </>,\n {\n className: (\n options?.jsfModify?.fields\n ?.proposed_termination_date_info as $TSFixMe\n )?.['x-jsf-presentation']?.className,\n },\n ),\n proposed_termination_date: {\n ...(options?.jsfModify?.fields\n ?.proposed_termination_date as $TSFixMe),\n 'x-jsf-presentation': {\n ...(\n options?.jsfModify?.fields?.proposed_termination_date as $TSFixMe\n )?.['x-jsf-presentation'],\n minDate: minDate,\n ...(formValues.termination_reason ===\n 'cancellation_before_start_date' &&\n employment?.provisional_start_date\n ? {\n maxDate: format(\n subDays(parseISO(employment.provisional_start_date), 1),\n 'yyyy-MM-dd',\n ),\n }\n : {}),\n ...proposedTerminationDateStatement,\n },\n ...(formValues.termination_reason === 'cancellation_before_start_date'\n ? {\n 'x-jsf-errorMessage': {\n maximum:\n \"The proposed termination date must be before the employee's start date.\",\n },\n }\n : {}),\n },\n paid_time_off_info: {\n ...(options?.jsfModify?.fields?.paid_time_off_info as $TSFixMe),\n 'x-jsf-presentation': {\n ...(options?.jsfModify?.fields?.paid_time_off_info as $TSFixMe)?.[\n 'x-jsf-presentation'\n ],\n Component: () => {\n const CustomComponent = (\n options?.jsfModify?.fields?.paid_time_off_info as $TSFixMe\n )?.['x-jsf-presentation']?.Component;\n\n return (\n <PaidTimeOffContainer\n employeeName={employment?.basic_information?.name as string}\n proposedTerminationDate={formValues.proposed_termination_date}\n employmentId={employmentId}\n employment={employment}\n render={(props) => {\n if (CustomComponent) {\n return <CustomComponent {...props} />;\n }\n return <PaidTimeOff {...props} />;\n }}\n />\n );\n },\n },\n },\n acknowledge_termination_procedure_info: {\n ...(options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_info as $TSFixMe),\n 'x-jsf-presentation': {\n ...(\n options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_info as $TSFixMe\n )?.['x-jsf-presentation'],\n Component: () => {\n const CustomComponent = (\n options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_info as $TSFixMe\n )?.['x-jsf-presentation']?.Component;\n\n return (\n <AcknowledgeInformationContainer\n render={(props) => {\n if (CustomComponent) {\n return <CustomComponent {...props} />;\n }\n return <AcknowledgeInformation {...props} />;\n }}\n />\n );\n },\n },\n },\n acknowledge_termination_procedure_fees_info: {\n ...(options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_fees_info as $TSFixMe),\n 'x-jsf-presentation': {\n ...(\n options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_fees_info as $TSFixMe\n )?.['x-jsf-presentation'],\n Component: () => {\n const zendeskIds = {\n involuntaryOffboardingServiceChargeZendeskId:\n zendeskArticles.involuntaryOffboardingServiceCharge,\n reconciliationInvoiceZendeskId:\n zendeskArticles.reconciliationInvoice,\n };\n\n const CustomComponent = (\n options?.jsfModify?.fields\n ?.acknowledge_termination_procedure_fees_info as $TSFixMe\n )?.['x-jsf-presentation']?.Component;\n\n if (CustomComponent) {\n return <CustomComponent {...zendeskIds} />;\n }\n\n return <AcknowledgeInformationFees {...zendeskIds} />;\n },\n },\n },\n },\n };\n }, [\n employment,\n employmentId,\n formValues.proposed_termination_date,\n formValues.termination_reason,\n hasFutureStartDate,\n minDate,\n options?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info,\n options?.jsfModify?.fields?.acknowledge_termination_procedure_info,\n options?.jsfModify?.fields?.paid_time_off_info,\n options?.jsfModify?.fields?.proposed_termination_date,\n options?.jsfModify?.fields?.proposed_termination_date_info,\n options?.jsfModify?.fields?.risk_assesment_info,\n options?.jsfModify?.fields?.termination_reason,\n proposedTerminationDateStatement,\n ]);\n\n const { data: terminationHeadlessForm, isLoading: isLoadingTermination } =\n useTerminationSchema({\n formValues: formValues,\n jsfModify: {\n ...options?.jsfModify,\n fields: {\n ...options?.jsfModify?.fields,\n ...customFields?.fields,\n },\n },\n step: stepState.currentStep.name,\n });\n\n const entireTerminationSchema = createHeadlessForm(jsonSchema.data.schema);\n\n const createTermination = useCreateTermination();\n const { mutateAsync } = mutationToPromise(createTermination);\n\n async function onSubmit(values: TerminationFormValues) {\n if (!employmentId) {\n throw new Error('Employment id is missing');\n }\n\n if (terminationHeadlessForm) {\n const parsedValues = (await parseFormValues(\n values,\n true,\n )) as TerminationFormValues;\n\n const { customer_informed_employee: customerInformedEmployee } =\n parsedValues;\n\n const employeeAwareness =\n customerInformedEmployee === 'yes'\n ? {\n employee_awareness: {\n date: parsedValues.customer_informed_employee_date,\n note: parsedValues.customer_informed_employee_description,\n },\n }\n : undefined;\n\n const radioFieldKeys = [\n 'agrees_to_pto_amount',\n 'confidential',\n 'customer_informed_employee',\n 'will_challenge_termination',\n ];\n\n const parsedRadioValues = await parseFormRadioValues(\n parsedValues,\n radioFieldKeys,\n );\n\n const normalizedValues = omit(\n parsedRadioValues,\n 'customer_informed_employee_date',\n 'customer_informed_employee_description',\n );\n\n const terminationDetails: TerminationDetailsParams = omitBy(\n {\n ...normalizedValues,\n ...employeeAwareness,\n },\n isNull,\n ) as unknown as TerminationDetailsParams;\n\n const terminationPayload: CreateOffboardingParams = {\n employment_id: employmentId,\n termination_details: terminationDetails,\n type: 'termination',\n };\n\n return mutateAsync(terminationPayload);\n }\n\n return;\n }\n\n function back() {\n previousStep();\n }\n\n function next() {\n nextStep();\n }\n\n const isDirty = Boolean(Object.keys(fieldValues).length > 0);\n\n const parseFormValues = async (\n values: TerminationFormValues,\n includeAllFields: boolean = false,\n ): Promise<\n | EmployeeCommunicationFormValues\n | TerminationDetailsFormValues\n | PaidTimeOffFormValues\n | TerminationFormValues\n > => {\n if (includeAllFields) {\n return (await parseJSFToValidate(values, entireTerminationSchema.fields, {\n isPartialValidation: true,\n })) as TerminationFormValues;\n }\n\n if (terminationHeadlessForm) {\n return (await parseJSFToValidate(\n values,\n terminationHeadlessForm?.fields,\n {\n isPartialValidation: true,\n },\n )) as\n | EmployeeCommunicationFormValues\n | TerminationDetailsFormValues\n | PaidTimeOffFormValues;\n }\n return {} as $TSFixMe;\n };\n\n return {\n /**\n * Employment id passed useful to be used between components\n */\n employmentId,\n /**\n * Employment data\n */\n employment,\n\n /**\n * Current form field values, we use formValues to let the user know about all the current form values\n */\n fieldValues: formValues,\n\n /**\n * Indicates if the form is dirty\n */\n isDirty,\n /**\n * Current step state containing the current step and total number of steps\n */\n stepState,\n /**\n * Array of form fields from the contract amendment schema\n */\n fields: terminationHeadlessForm?.fields || [],\n /**\n * Loading state indicating if the termination schema is being fetched\n */\n isLoading: isLoadingTermination,\n /**\n * Loading state indicating if a contract amendment mutation is in progress\n */\n isSubmitting: createTermination.isPending,\n /**\n * Initial form values\n */\n initialValues: initialValues,\n /**\n * Function to validate form values against the contract amendment schema\n * @param values - Form values to validate\n * @returns Validation result or null if no schema is available\n */\n handleValidation: async (values: TerminationFormValues) => {\n if (terminationHeadlessForm) {\n const parsedValues = await parseJSFToValidate(\n values,\n terminationHeadlessForm?.fields,\n );\n return terminationHeadlessForm?.handleValidation(parsedValues);\n }\n return null;\n },\n /**\n * Function to update the current form field values\n * @param values - New form values to set\n */\n checkFieldUpdates: setFieldValues,\n /**\n * Function to parse form values before submission\n * @param values - Form values to parse\n * @returns Parsed form values\n */\n parseFormValues,\n /**\n * Function to handle form submission\n * @param values - Form values to submit\n * @returns Promise resolving to the mutation result\n */\n onSubmit,\n\n /**\n * Function to handle going back to the previous step\n * @returns {void}\n */\n back,\n\n /**\n * Function to handle going to the next step\n * @returns {void}\n */\n next,\n };\n};\n","import { useQuery } from '@tanstack/react-query';\nimport { getIndexEorPayrollCalendar } from '@/src/client';\nimport { useClient } from '@/src/context';\nimport { Client } from '@hey-api/client-fetch';\n\nexport const usePayrollCalendars = ({\n query,\n options,\n}: {\n query?: {\n year?: string;\n countryCode?: string;\n };\n options?: {\n enabled?: boolean;\n };\n}) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['payroll-calendars'],\n queryFn: () =>\n getIndexEorPayrollCalendar({\n client: client as Client,\n query: {\n year: query?.year,\n country_code: query?.countryCode,\n },\n }),\n enabled: options?.enabled,\n select: (data) => data.data?.data?.payroll_calendars?.[0],\n });\n};\n","import { isFuture, isToday, parseISO } from 'date-fns';\n\nexport const isInProbationPeriod = (probationEndDate: string | undefined) => {\n if (!probationEndDate) return false;\n\n const parsedProbationEndDate = parseISO(probationEndDate);\n\n return isFuture(parsedProbationEndDate) || isToday(parsedProbationEndDate);\n};\n"],"mappings":"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","names":["createHeadlessForm","omitBy","isNull","format","isFuture","parseISO","subDays","useMemo","omit","useQuery","usePayrollCalendars","__name","query","options","client","useClient","useQuery","getIndexEorPayrollCalendar","data","isFuture","isToday","parseISO","isInProbationPeriod","__name","probationEndDate","parsedProbationEndDate","parseISO","isFuture","isToday","Fragment","jsx","jsxs","useTermination","__name","employmentId","options","terminationInitialValues","fieldValues","setFieldValues","stepState","previousStep","nextStep","useStepState","STEPS","employment","useEmploymentQuery","payrollCalendars","usePayrollCalendars","isEmployeeInProbationPeriod","isInProbationPeriod","minTerminationDate","calculateMinTerminationDate","minDate","useMemo","format","hasFutureStartDate","isFuture","parseISO","initialValues","buildInitialValues","formValues","proposedTerminationDateStatement","calculateProposedTerminationDateStatement","customFields","originalTerminationReasonOptions","terminationDetailsSchema","terminationReasonOptions","option","createInformationField","ZendeskTriggerButton","zendeskArticles","cn","subDays","CustomComponent","PaidTimeOffContainer","props","PaidTimeOff","AcknowledgeInformationContainer","AcknowledgeInformation","zendeskIds","AcknowledgeInformationFees","terminationHeadlessForm","isLoadingTermination","useTerminationSchema","entireTerminationSchema","createHeadlessForm","jsonSchema","createTermination","useCreateTermination","mutateAsync","mutationToPromise","onSubmit","values","parsedValues","parseFormValues","customerInformedEmployee","employeeAwareness","parsedRadioValues","parseFormRadioValues","normalizedValues","omit","terminationDetails","omitBy","isNull","back","next","isDirty","includeAllFields","parseJSFToValidate"]}
@@ -1,2 +1,2 @@
1
- import{b as m}from"./chunk-KSHK3ZPX.js";import{b as i}from"./chunk-WVDTHFGS.js";import{b as s}from"./chunk-3ZWDIEEM.js";import{a as e}from"./chunk-43WMZDDH.js";import{a as u}from"./chunk-P37U34EQ.js";import{jsx as l}from"react/jsx-runtime";function b({children:o,...t}){let{formId:n}=m(),{components:C}=s(),r=C?.button;return r?l(r,{...t,form:n,children:o}):l(i,{...t,type:"submit",className:e("RemoteFlows__CostCalculatorForm__SubmitButton",t.className),form:n,children:o})}u(b,"CostCalculatorSubmitButton");export{b as a};
2
- //# sourceMappingURL=chunk-UPXJJBXZ.js.map
1
+ import{b as m}from"./chunk-KSHK3ZPX.js";import{b as s}from"./chunk-3ZWDIEEM.js";import{b as i}from"./chunk-WVDTHFGS.js";import{a as e}from"./chunk-43WMZDDH.js";import{a as u}from"./chunk-P37U34EQ.js";import{jsx as l}from"react/jsx-runtime";function b({children:o,...t}){let{formId:n}=m(),{components:C}=s(),r=C?.button;return r?l(r,{...t,form:n,children:o}):l(i,{...t,type:"submit",className:e("RemoteFlows__CostCalculatorForm__SubmitButton",t.className),form:n,children:o})}u(b,"CostCalculatorSubmitButton");export{b as a};
2
+ //# sourceMappingURL=chunk-ED6E3V2E.js.map
@@ -1,2 +1,2 @@
1
- import{b as s}from"./chunk-PGWKJ6FK.js";import{b as u}from"./chunk-WVDTHFGS.js";import{b as i}from"./chunk-3ZWDIEEM.js";import{a as t}from"./chunk-P37U34EQ.js";import{jsx as m}from"react/jsx-runtime";function f({children:o,onClick:a,...n}){let{onboardingBag:{back:c,isEmploymentReadOnly:B}}=s(),{components:d}=i(),r=t(p=>{B||c(),a?.(p)},"onBackHandler"),e=d?.button;return e?m(e,{...n,onClick:r,children:o}):m(u,{...n,onClick:r,children:o})}t(f,"OnboardingBack");export{f as a};
2
- //# sourceMappingURL=chunk-ZQ6MG635.js.map
1
+ import{b as s}from"./chunk-PGWKJ6FK.js";import{b as i}from"./chunk-3ZWDIEEM.js";import{b as u}from"./chunk-WVDTHFGS.js";import{a as t}from"./chunk-P37U34EQ.js";import{jsx as m}from"react/jsx-runtime";function f({children:o,onClick:a,...n}){let{onboardingBag:{back:c,isEmploymentReadOnly:B}}=s(),{components:d}=i(),r=t(p=>{B||c(),a?.(p)},"onBackHandler"),e=d?.button;return e?m(e,{...n,onClick:r,children:o}):m(u,{...n,onClick:r,children:o})}t(f,"OnboardingBack");export{f as a};
2
+ //# sourceMappingURL=chunk-FEB3W622.js.map
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=chunk-FGBEOUQK.js.map
@@ -1,2 +1,2 @@
1
- import{a as h,b as y,d as Z,e as v,f as x,g as R}from"./chunk-TWIUL2P3.js";import{g as b}from"./chunk-AA7QB3QQ.js";import{b as k,d as C}from"./chunk-3ZWDIEEM.js";import{a as p,f as D}from"./chunk-43WMZDDH.js";import{a as e}from"./chunk-P37U34EQ.js";var z={disclaimerCostCalculator:4668194326797,employeeOnboardingTimeline:4411262104589,extraPayments:4466822781709,internationalPricing:4410698586893,remoteFxRate:33271144977421,terminationEmployeeCommunication:4411585179661,terminationNoticePeriods:5831900985613,involuntaryOffboardingServiceCharge:4406932229133,reconciliationInvoice:17604014808589},c=e(r=>`https://support.remote.com/hc/en-us/articles/${r}`,"buildZendeskURL");import{useQuery as L}from"@tanstack/react-query";var T=e((r,i)=>{let{client:a}=C();return L({queryKey:["zendesk-article",r],queryFn:e(async()=>{let t=await b({client:a,path:{id:Number(r)}});if(t.error)throw new Error(t.error.message||"Failed to fetch article");return t},"queryFn"),select:e(t=>{let o=t.data?.data.help_center_article;return o&&{...o,body:D(o.body||"")}},"select"),retry:!1,...i})},"useZendeskArticle");import{jsx as n,jsxs as m}from"react/jsx-runtime";var _=e(({Trigger:r,zendeskId:i,open:a,onClose:t})=>{let{components:o}=k(),d=c(i),l=e(()=>{t?.()},"handleClose"),{data:s,isLoading:f,error:g}=T(i,{enabled:a}),w=o?.zendeskDrawer;return w?n(w,{open:a,onClose:l,data:s,isLoading:f,error:g,zendeskURL:d,Trigger:r}):m(h,{open:a,onOpenChange:F=>!F&&l(),direction:"right",children:[n(y,{asChild:!0,children:r}),n(Z,{className:"h-full w-[540px] mt-0 ml-auto RemoteFlows_ZendeskDrawer",children:m("div",{className:"h-full flex flex-col",children:[m(v,{children:[n(x,{children:s?.title}),m(R,{children:["For more details see our"," ",n("a",{href:d,target:"_blank",rel:"noopener noreferrer",children:"help article"})," "]})]}),f&&n("div",{children:"Loading..."}),g&&n("div",{className:"text-sm p-4 text-red-500",children:"Error loading article"}),n("div",{className:"flex-1 overflow-y-auto p-4 RemoteFlows_ZendeskDrawer__Content",dangerouslySetInnerHTML:{__html:s?.body||""}})]})})]})},"ZendeskDrawer");import{useState as P}from"react";import{jsx as u}from"react/jsx-runtime";var N="RemoteFlows__ZendeskTriggerButton text-blue-500 hover:underline inline-block text-xs bg-transparent border-none cursor-pointer p-0";function j({zendeskId:r,className:i,onClick:a,children:t,external:o=!1}){let[d,l]=P(!1),s=e(()=>{o||l(!0),a?.(r)},"handleClick");return o?u("a",{href:c(r),target:"_blank",rel:"noopener noreferrer",onClick:s,className:p(N,i),children:t}):u(_,{zendeskId:r,open:d,onClose:()=>l(!1),Trigger:u("button",{onClick:s,className:p(N,i),children:t})})}e(j,"ZendeskTriggerButton");export{z as a,j as b};
2
- //# sourceMappingURL=chunk-MZB24YJP.js.map
1
+ import{g as b}from"./chunk-AA7QB3QQ.js";import{a as h,b as y,c as Z,d as v,e as x,f as R}from"./chunk-MOG7GUQB.js";import{b as k,d as C}from"./chunk-3ZWDIEEM.js";import{a as p,f as D}from"./chunk-43WMZDDH.js";import{a as e}from"./chunk-P37U34EQ.js";var z={disclaimerCostCalculator:4668194326797,employeeOnboardingTimeline:4411262104589,extraPayments:4466822781709,internationalPricing:4410698586893,remoteFxRate:33271144977421,terminationEmployeeCommunication:4411585179661,terminationNoticePeriods:5831900985613,involuntaryOffboardingServiceCharge:4406932229133,reconciliationInvoice:17604014808589},c=e(r=>`https://support.remote.com/hc/en-us/articles/${r}`,"buildZendeskURL");import{useQuery as L}from"@tanstack/react-query";var T=e((r,i)=>{let{client:a}=C();return L({queryKey:["zendesk-article",r],queryFn:e(async()=>{let t=await b({client:a,path:{id:Number(r)}});if(t.error)throw new Error(t.error.message||"Failed to fetch article");return t},"queryFn"),select:e(t=>{let o=t.data?.data.help_center_article;return o&&{...o,body:D(o.body||"")}},"select"),retry:!1,...i})},"useZendeskArticle");import{jsx as n,jsxs as m}from"react/jsx-runtime";var _=e(({Trigger:r,zendeskId:i,open:a,onClose:t})=>{let{components:o}=k(),d=c(i),l=e(()=>{t?.()},"handleClose"),{data:s,isLoading:f,error:g}=T(i,{enabled:a}),w=o?.zendeskDrawer;return w?n(w,{open:a,onClose:l,data:s,isLoading:f,error:g,zendeskURL:d,Trigger:r}):m(h,{open:a,onOpenChange:F=>!F&&l(),direction:"right",children:[n(y,{asChild:!0,children:r}),n(Z,{className:"h-full w-[540px] mt-0 ml-auto RemoteFlows_ZendeskDrawer",children:m("div",{className:"h-full flex flex-col",children:[m(v,{children:[n(x,{children:s?.title}),m(R,{children:["For more details see our"," ",n("a",{href:d,target:"_blank",rel:"noopener noreferrer",children:"help article"})," "]})]}),f&&n("div",{children:"Loading..."}),g&&n("div",{className:"text-sm p-4 text-red-500",children:"Error loading article"}),n("div",{className:"flex-1 overflow-y-auto p-4 RemoteFlows_ZendeskDrawer__Content",dangerouslySetInnerHTML:{__html:s?.body||""}})]})})]})},"ZendeskDrawer");import{useState as P}from"react";import{jsx as u}from"react/jsx-runtime";var N="RemoteFlows__ZendeskTriggerButton text-blue-500 hover:underline inline-block text-xs bg-transparent border-none cursor-pointer p-0";function j({zendeskId:r,className:i,onClick:a,children:t,external:o=!1}){let[d,l]=P(!1),s=e(()=>{o||l(!0),a?.(r)},"handleClick");return o?u("a",{href:c(r),target:"_blank",rel:"noopener noreferrer",onClick:s,className:p(N,i),children:t}):u(_,{zendeskId:r,open:d,onClose:()=>l(!1),Trigger:u("button",{onClick:s,className:p(N,i),children:t})})}e(j,"ZendeskTriggerButton");export{z as a,j as b};
2
+ //# sourceMappingURL=chunk-FIXHXJGN.js.map
@@ -1,2 +1,2 @@
1
- import{b as i}from"./chunk-WVDTHFGS.js";import{b as u}from"./chunk-3ZWDIEEM.js";import{b as c}from"./chunk-TVZAFTPT.js";import{a as m}from"./chunk-P37U34EQ.js";import{jsx as C}from"react/jsx-runtime";function d({children:o,...t}){let{contractAmendment:{back:r}}=c(),{components:s}=u(),e=s?.button;return e?C(e,{...t,onClick:n=>{r(),t.onClick?.(n)},children:o}):C(i,{...t,onClick:n=>{r(),t.onClick?.(n)},children:o})}m(d,"ContractAmendmentBack");export{d as a};
2
- //# sourceMappingURL=chunk-EKKRQI6B.js.map
1
+ import{b as u}from"./chunk-3ZWDIEEM.js";import{b as i}from"./chunk-WVDTHFGS.js";import{b as c}from"./chunk-TVZAFTPT.js";import{a as m}from"./chunk-P37U34EQ.js";import{jsx as C}from"react/jsx-runtime";function d({children:o,...t}){let{contractAmendment:{back:r}}=c(),{components:s}=u(),e=s?.button;return e?C(e,{...t,onClick:n=>{r(),t.onClick?.(n)},children:o}):C(i,{...t,onClick:n=>{r(),t.onClick?.(n)},children:o})}m(d,"ContractAmendmentBack");export{d as a};
2
+ //# sourceMappingURL=chunk-GGQFBP37.js.map
@@ -1,2 +1,2 @@
1
- import{a as d,b as _,c as l}from"./chunk-THMWKOHC.js";import{c as F}from"./chunk-CNDSIADP.js";import{e as y}from"./chunk-WXUIXZ7P.js";import{e as m}from"./chunk-43WMZDDH.js";import{a as p}from"./chunk-P37U34EQ.js";import{Fragment as V}from"react";var c={...d,fieldset:l,"fieldset-flat":l};import{useEffect as h}from"react";import{Fragment as x,jsx as i,jsxs as C}from"react/jsx-runtime";function g({name:t,value:a,description:o,statement:r,label:u}){let{setValue:e}=F();return h(()=>{e(t,a)},[]),i("div",{children:r?C(x,{children:[i("p",{className:`text-sm RemoteFlows__ForcedValue__Title__${t}`,dangerouslySetInnerHTML:{__html:m(r?.title||u)}}),i("p",{className:`text-xs RemoteFlows__ForcedValue__Description__${t}`,dangerouslySetInnerHTML:{__html:m(r?.description||o)}})]}):i("p",{className:`text-xs RemoteFlows__ForcedValue__Description__${t}`,dangerouslySetInnerHTML:{__html:m(o)}})})}p(g,"ForcedValueField");import{Fragment as P,jsx as n,jsxs as S}from"react/jsx-runtime";function k(t){return t.const!==void 0&&t.const===t.default&&t.inputType!=="checkbox"&&t.inputType!=="hidden"}p(k,"checkFieldHasForcedValue");var f=p(({fields:t,fieldsets:a,fieldValues:o,components:r})=>{if(!t||t.length===0)return null;let u=a&&o?y({fields:t,fieldsets:a,values:o}):t;return n(P,{children:u.map(e=>{if(e.calculateDynamicProperties&&(e={...e,...e.calculateDynamicProperties(o,e)||{}}),e.isVisible===!1||e.deprecated||e.hidden)return null;if(k(e))return n(g,{name:e.name,description:e.description,value:e.const,statement:e.statement,label:e.label},e.name);if(e.Component){let{Component:T}=e;return n(T,{...e},e.name)}let s=c[e.inputType];return s?e.inputType==="fieldset"?n(s,{...e,components:r},e.name):e.inputType==="fieldset-flat"?n(s,{...e,components:r,isFlatFieldset:!0},e.name):(e.inputType==="select"&&e.multiple&&(s=c["multi-select"]),S(V,{children:[n(s,{...e,component:r&&r[e.inputType]}),e.statement?n(_,{...e.statement}):null,e.extra?e.extra:null]},e.name)):S("p",{className:"error",children:["Field type ",e.inputType," not supported"]})})})},"JSONSchemaFormFields");export{f as a};
2
- //# sourceMappingURL=chunk-WJ6YJFD4.js.map
1
+ import{a as d,b as _,c as l}from"./chunk-2CBUBDUV.js";import{c as F}from"./chunk-CNDSIADP.js";import{e as y}from"./chunk-2EJ4BAUK.js";import{e as m}from"./chunk-43WMZDDH.js";import{a as p}from"./chunk-P37U34EQ.js";import{Fragment as V}from"react";var c={...d,fieldset:l,"fieldset-flat":l};import{useEffect as h}from"react";import{Fragment as x,jsx as i,jsxs as C}from"react/jsx-runtime";function g({name:t,value:a,description:o,statement:r,label:u}){let{setValue:e}=F();return h(()=>{e(t,a)},[]),i("div",{children:r?C(x,{children:[i("p",{className:`text-sm RemoteFlows__ForcedValue__Title__${t}`,dangerouslySetInnerHTML:{__html:m(r?.title||u)}}),i("p",{className:`text-xs RemoteFlows__ForcedValue__Description__${t}`,dangerouslySetInnerHTML:{__html:m(r?.description||o)}})]}):i("p",{className:`text-xs RemoteFlows__ForcedValue__Description__${t}`,dangerouslySetInnerHTML:{__html:m(o)}})})}p(g,"ForcedValueField");import{Fragment as P,jsx as n,jsxs as S}from"react/jsx-runtime";function k(t){return t.const!==void 0&&t.const===t.default&&t.inputType!=="checkbox"&&t.inputType!=="hidden"}p(k,"checkFieldHasForcedValue");var f=p(({fields:t,fieldsets:a,fieldValues:o,components:r})=>{if(!t||t.length===0)return null;let u=a&&o?y({fields:t,fieldsets:a,values:o}):t;return n(P,{children:u.map(e=>{if(e.calculateDynamicProperties&&(e={...e,...e.calculateDynamicProperties(o,e)||{}}),e.isVisible===!1||e.deprecated||e.hidden)return null;if(k(e))return n(g,{name:e.name,description:e.description,value:e.const,statement:e.statement,label:e.label},e.name);if(e.Component){let{Component:T}=e;return n(T,{...e},e.name)}let s=c[e.inputType];return s?e.inputType==="fieldset"?n(s,{...e,components:r},e.name):e.inputType==="fieldset-flat"?n(s,{...e,components:r,isFlatFieldset:!0},e.name):(e.inputType==="select"&&e.multiple&&(s=c["multi-select"]),S(V,{children:[n(s,{...e,component:r&&r[e.inputType]}),e.statement?n(_,{...e.statement}):null,e.extra?e.extra:null]},e.name)):S("p",{className:"error",children:["Field type ",e.inputType," not supported"]})})})},"JSONSchemaFormFields");export{f as a};
2
+ //# sourceMappingURL=chunk-HBYHRMST.js.map
@@ -1,2 +1,2 @@
1
- import{b as o}from"./chunk-WXUIXZ7P.js";import{a as e}from"./chunk-P37U34EQ.js";var d={form:{index:0,name:"form"},confirmation_form:{index:1,name:"confirmation_form"}};function f(t,r){if(!t)return{};if(!r)return{...t.contract_details,effective_date:"",reason_for_change:"",job_title:t.job_title,additional_comments:"",annual_gross_salary:o(t.contract_details?.annual_gross_salary)};let s=r.map(n=>n.name),i=Object.keys(t?.contract_details||{});return{...s.reduce((n,a)=>{if(i.includes(a)){let c=t?.contract_details;n[a]=c[a]}return n},{}),effective_date:"",reason_for_change:"",job_title:t.job_title,additional_comments:"",annual_gross_salary:o(t.contract_details?.annual_gross_salary),additional_comments_toggle:!1}}e(f,"buildInitialValues");export{d as a,f as b};
2
- //# sourceMappingURL=chunk-FRTJ4KWA.js.map
1
+ import{b as o}from"./chunk-2EJ4BAUK.js";import{a as e}from"./chunk-P37U34EQ.js";var d={form:{index:0,name:"form"},confirmation_form:{index:1,name:"confirmation_form"}};function f(t,r){if(!t)return{};if(!r)return{...t.contract_details,effective_date:"",reason_for_change:"",job_title:t.job_title,additional_comments:"",annual_gross_salary:o(t.contract_details?.annual_gross_salary)};let s=r.map(n=>n.name),i=Object.keys(t?.contract_details||{});return{...s.reduce((n,a)=>{if(i.includes(a)){let c=t?.contract_details;n[a]=c[a]}return n},{}),effective_date:"",reason_for_change:"",job_title:t.job_title,additional_comments:"",annual_gross_salary:o(t.contract_details?.annual_gross_salary),additional_comments_toggle:!1}}e(f,"buildInitialValues");export{d as a,f as b};
2
+ //# sourceMappingURL=chunk-HKCDMC3H.js.map
@@ -1,2 +1,2 @@
1
- import{a as r}from"./chunk-NX7MM6XR.js";import{a as t}from"./chunk-ZXGAFQXW.js";import{a}from"./chunk-LMYJ6V44.js";import{a as e}from"./chunk-RR55GUDT.js";var i={data:{version:7,schema:{additionalProperties:!1,allOf:[...e.data.schema.allOf,...t.data.schema.allOf,...r.data.schema.allOf,...a.data.schema.allOf],properties:{...e.data.schema.properties,...t.data.schema.properties,...r.data.schema.properties,...a.data.schema.properties},required:[...e.data.schema.required,...t.data.schema.required,...r.data.schema.required,...a.data.schema.required],type:"object","x-jsf-order":[...e.data.schema["x-jsf-order"],...t.data.schema["x-jsf-order"],...r.data.schema["x-jsf-order"],...a.data.schema["x-jsf-order"]]}}};export{i as a};
2
- //# sourceMappingURL=chunk-QIVDIOJG.js.map
1
+ import{a as t}from"./chunk-ZXGAFQXW.js";import{a}from"./chunk-LMYJ6V44.js";import{a as e}from"./chunk-RR55GUDT.js";import{a as r}from"./chunk-NX7MM6XR.js";var i={data:{version:7,schema:{additionalProperties:!1,allOf:[...e.data.schema.allOf,...t.data.schema.allOf,...r.data.schema.allOf,...a.data.schema.allOf],properties:{...e.data.schema.properties,...t.data.schema.properties,...r.data.schema.properties,...a.data.schema.properties},required:[...e.data.schema.required,...t.data.schema.required,...r.data.schema.required,...a.data.schema.required],type:"object","x-jsf-order":[...e.data.schema["x-jsf-order"],...t.data.schema["x-jsf-order"],...r.data.schema["x-jsf-order"],...a.data.schema["x-jsf-order"]]}}};export{i as a};
2
+ //# sourceMappingURL=chunk-I4XJ764Y.js.map
@@ -1,2 +1,2 @@
1
- import{c as d,d as S}from"./chunk-7YQAVDVX.js";import{a as u}from"./chunk-HN5HLFTB.js";import{a as f}from"./chunk-KSHK3ZPX.js";import{b as C}from"./chunk-5P7INAU2.js";import{f as y}from"./chunk-CNDSIADP.js";import{a as o}from"./chunk-P37U34EQ.js";import{useEffect as T,useId as U,useState as I}from"react";import{jsx as k}from"react/jsx-runtime";var i=o((n,e,r)=>r&&r[e]?r[e]:n[e]?n[e]/100:0,"getDefaultManagementFee"),A=o((n,e,r,s)=>!e&&!r?.management_fee&&n?i(u,n,s):e&&!r?.management_fee?"":r?.management_fee,"getManagementFee"),W=o(({estimationOptions:n=d,defaultValues:e={countryRegionSlug:"",regionSlug:"",currencySlug:"",salary:"",benefits:{},management:{management_fee:""}},options:r,render:s,version:_="standard"})=>{let p=U(),[R,m]=I("USD"),F=o(g=>{m(g);let a=i(u,g,n.managementFees);a&&c.setValue("management.management_fee",a)},"onCurrencyChange"),t=S({defaultRegion:e.countryRegionSlug,defaultCurrency:e.currencySlug,defaultSalary:e.salary,estimationOptions:n,version:_,options:{...r,onCurrencyChange:F}}),K=C(t.handleValidation),b=A(R,e.currencySlug,e.management,n.managementFees),{countryRegionSlug:v,currencySlug:h,salary:D,benefits:P,hiringBudget:B,age:E,contractDurationType:M,regionSlug:w,...x}=e,c=y({resolver:K,defaultValues:{country:v,currency:h,region:w,salary:D,salary_conversion:"",salary_converted:"",hiring_budget:B||"employee_annual_salary",age:E,contract_duration_type:M,management:{management_fee:b},benefits:P,estimation_title:n.title,...x},shouldUnregister:!1,mode:"onBlur"});return T(()=>{if(e.currencySlug&&t.currencies&&n.includeManagementFee&&!e.management?.management_fee){let a=t.currencies.find(l=>l.value===e.currencySlug)?.label;if(a){m(a);let l=i(u,a,n.managementFees);c.setValue("management.management_fee",l)}}},[e.currencySlug,t.currencies,n.includeManagementFee,n.managementFees,e.management?.management_fee,c]),k(f.Provider,{value:{form:c,formId:p,costCalculatorBag:t},children:s(t)})},"CostCalculatorFlow");export{W as a};
2
- //# sourceMappingURL=chunk-SHP4ULHS.js.map
1
+ import{a as f}from"./chunk-KSHK3ZPX.js";import{c as d,d as S}from"./chunk-KSNOQWVU.js";import{a as u}from"./chunk-HN5HLFTB.js";import{b as C}from"./chunk-3UM34N4C.js";import{f as y}from"./chunk-CNDSIADP.js";import{a as o}from"./chunk-P37U34EQ.js";import{useEffect as T,useId as U,useState as I}from"react";import{jsx as k}from"react/jsx-runtime";var i=o((n,e,r)=>r&&r[e]?r[e]:n[e]?n[e]/100:0,"getDefaultManagementFee"),A=o((n,e,r,s)=>!e&&!r?.management_fee&&n?i(u,n,s):e&&!r?.management_fee?"":r?.management_fee,"getManagementFee"),W=o(({estimationOptions:n=d,defaultValues:e={countryRegionSlug:"",regionSlug:"",currencySlug:"",salary:"",benefits:{},management:{management_fee:""}},options:r,render:s,version:_="standard"})=>{let p=U(),[R,m]=I("USD"),F=o(g=>{m(g);let a=i(u,g,n.managementFees);a&&c.setValue("management.management_fee",a)},"onCurrencyChange"),t=S({defaultRegion:e.countryRegionSlug,defaultCurrency:e.currencySlug,defaultSalary:e.salary,estimationOptions:n,version:_,options:{...r,onCurrencyChange:F}}),K=C(t.handleValidation),b=A(R,e.currencySlug,e.management,n.managementFees),{countryRegionSlug:v,currencySlug:h,salary:D,benefits:P,hiringBudget:B,age:E,contractDurationType:M,regionSlug:w,...x}=e,c=y({resolver:K,defaultValues:{country:v,currency:h,region:w,salary:D,salary_conversion:"",salary_converted:"",hiring_budget:B||"employee_annual_salary",age:E,contract_duration_type:M,management:{management_fee:b},benefits:P,estimation_title:n.title,...x},shouldUnregister:!1,mode:"onBlur"});return T(()=>{if(e.currencySlug&&t.currencies&&n.includeManagementFee&&!e.management?.management_fee){let a=t.currencies.find(l=>l.value===e.currencySlug)?.label;if(a){m(a);let l=i(u,a,n.managementFees);c.setValue("management.management_fee",l)}}},[e.currencySlug,t.currencies,n.includeManagementFee,n.managementFees,e.management?.management_fee,c]),k(f.Provider,{value:{form:c,formId:p,costCalculatorBag:t},children:s(t)})},"CostCalculatorFlow");export{W as a};
2
+ //# sourceMappingURL=chunk-IHYMZJ4W.js.map
@@ -1,2 +1,2 @@
1
- import{a as m}from"./chunk-HZDCZFR5.js";import{b as a}from"./chunk-PGWKJ6FK.js";import{b as t}from"./chunk-2YTBWEC7.js";import{d as s}from"./chunk-WXUIXZ7P.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as E}from"react/jsx-runtime";function P({components:d,onSubmit:l,onError:i,onSuccess:f}){let{onboardingBag:o}=a(),p=o.fields??[],c=s(p,o.initialValues.benefits);return E(m,{defaultValues:c,components:d,onSubmit:e(async n=>{try{await l?.(n);let r=await o.onSubmit(n);if(r?.data){await f?.(r.data),o?.next();return}if(r?.error){let u=t(r?.fieldErrors||[],o.meta?.fields?.benefits);i?.({error:r.error,rawError:r.rawError,fieldErrors:u})}}catch(r){i?.({error:r,rawError:r,fieldErrors:[]})}},"handleSubmit")})}e(P,"BenefitsStep");export{P as a};
2
- //# sourceMappingURL=chunk-6FWFRVQE.js.map
1
+ import{a as m}from"./chunk-LIF7X2AH.js";import{b as a}from"./chunk-PGWKJ6FK.js";import{b as t}from"./chunk-2YTBWEC7.js";import{d as s}from"./chunk-2EJ4BAUK.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as E}from"react/jsx-runtime";function P({components:d,onSubmit:l,onError:i,onSuccess:f}){let{onboardingBag:o}=a(),p=o.fields??[],c=s(p,o.initialValues.benefits);return E(m,{defaultValues:c,components:d,onSubmit:e(async n=>{try{await l?.(n);let r=await o.onSubmit(n);if(r?.data){await f?.(r.data),o?.next();return}if(r?.error){let u=t(r?.fieldErrors||[],o.meta?.fields?.benefits);i?.({error:r.error,rawError:r.rawError,fieldErrors:u})}}catch(r){i?.({error:r,rawError:r,fieldErrors:[]})}},"handleSubmit")})}e(P,"BenefitsStep");export{P as a};
2
+ //# sourceMappingURL=chunk-ISQ6I4HJ.js.map
@@ -0,0 +1,2 @@
1
+ import{a as X}from"./chunk-RSH5MZY3.js";import{a as G}from"./chunk-VFRHMNLJ.js";import{a as I,b as z,c as Q,f as W}from"./chunk-XPOLXRYT.js";import{a as C}from"./chunk-HN5HLFTB.js";import{a as K}from"./chunk-3UM34N4C.js";import{c as Y}from"./chunk-2CBUBDUV.js";import{a as Z}from"./chunk-2YTBWEC7.js";import{c as V}from"./chunk-2EJ4BAUK.js";import{a as o}from"./chunk-P37U34EQ.js";import{number as Te,object as oe}from"yup";import{createHeadlessForm as Ve,modify as je}from"@remoteoss/json-schema-form";import{useCallback as we,useEffect as ee,useMemo as Re,useRef as Pe,useState as j}from"react";import{string as te,ValidationError as ne}from"yup";import{jsx as re}from"react/jsx-runtime";var O={title:"Estimation",includeBenefits:!1,includeCostBreakdowns:!1,includePremiumBenefits:!1,enableCurrencyConversion:!1,includeEstimationTitle:!1,includeManagementFee:!1},xe=o(t=>{let{schema:i}=je(G.data.schema,t?.jsfModify||{});return Ve(i)},"useStaticSchema");function Be(t,i){if(typeof t=="object"&&t!==null&&"title"in t){let l=t.title;if(l)return l}return i==="my_hiring_budget"?"Hiring budget":"Employee's annual salary"}o(Be,"getSalaryTitle");var Qe=o(({defaultRegion:t,defaultCurrency:i,defaultSalary:l,estimationOptions:s,options:n,version:a}={estimationOptions:O})=>{let c=Pe({fields:{}}),[k,E]=j(t),[w,R]=j(),[m,q]=j(),[H,se]=j(),{data:_,isLoading:le}=I({includePremiumBenefits:s.includePremiumBenefits}),{data:d,isLoading:ce}=z(),ue=k||w?.value,{data:P,isLoading:me}=W(ue,{includePremiumBenefits:s.includePremiumBenefits,options:n}),U=Q(),{mutateAsync:de}=Z(U),b=w?.currency,p=n?.jsfModify?.fields?.salary,F=p&&typeof p=="object"&&"presentation"in p?p.presentation:void 0,L=we(()=>{let e=b&&m?b!==m:!1;return b!==m?{from:m,to:b,shouldSwapOrder:e}:{from:b,to:m,shouldSwapOrder:e}},[b,m]),J=s.showManagementFee,$=s.includeEstimationTitle,fe=Re(()=>{let{from:e,to:r,shouldSwapOrder:u}=L(),g=Be(p,H);return{fields:{salary:{...p,title:g,presentation:{salary_conversion_properties:{label:F?.salary_conversion_properties?.label,description:F?.salary_conversion_properties?.description},currencies:{from:e,to:r},Component:o(y=>re(X,{...y,shouldSwapOrder:u,conversionType:a==="marketing"?"no_spread":"spread",defaultValue:l}),"Component")}},hiring_budget:{...n?.jsfModify?.fields?.hiring_budget,presentation:{hidden:a=="marketing"}},management:{...n?.jsfModify?.fields?.management,properties:{...n?.jsfModify?.fields?.management?.properties,management_fee:{...n?.jsfModify?.fields?.management?.properties?.management_fee,"x-jsf-presentation":{inputType:"money",additionalProps:{currency:m||"USD"}}}},presentation:{...typeof n?.jsfModify?.fields?.management=="object"?(n?.jsfModify?.fields?.management)["x-jsf-presentation"]:{},hidden:!J,Component:o(y=>re(Y,{...y,variant:"inset",features:{toggle:{enabled:!0,stateField:"management._expanded",labels:{expand:"Define",collapse:"Remove"}}}}),"Component")}},estimation_title:{...n?.jsfModify?.fields?.estimation_title,"x-jsf-presentation":{hidden:!$}}}}},[L,p,H,F?.salary_conversion_properties?.label,F?.salary_conversion_properties?.description,n?.jsfModify?.fields?.hiring_budget,n?.jsfModify?.fields?.management,n?.jsfModify?.fields?.estimation_title,a,m,J,$,l]),f=xe({jsfModify:{fields:{...n?.jsfModify?.fields,...fe?.fields}}});ee(()=>{if(t&&_){let e=_.find(({value:r})=>r===t);e&&R(e)}},[t,_]),ee(()=>{if(i&&d){let e=d.find(({value:r})=>r===i);e&&q(e.label)}},[i,d]);async function ge(e){return de(ae(e,s,a))}o(ge,"onSubmit");function ye(e){let r=_?.find(({value:u})=>u===e);r&&r.childRegions.length===0&&r.hasAdditionalFields?E(r.regionSlug):E(void 0),R(r)}o(ye,"onCountryChange");function pe(e){E(e)}o(pe,"onRegionChange");function Ce(e){se(e.target.value)}o(Ce,"onHiringBudgetChange");function _e(e){let r=d?.find(u=>u.value===e)?.label;q(r),n?.onCurrencyChange?.(r||"")}o(_e,"onChangeCurrency");let S=f.fields.find(e=>e.name==="region");if(S){let e=w?.childRegions.map(r=>({value:r.slug,label:r.name}))??[];S.options=e,S.isVisible=e.length>0,S.required=e.length>0,S.onChange=pe,S.schema=e.length>0?te().transform(r=>typeof r=="string"?r:"").required("Region is required"):te()}if(d){let e=f.fields.find(r=>r.name==="currency");e&&(e.options=d,e.onChange=_e)}let v=f.fields.find(e=>e.name==="hiring_budget");if(v&&(v.onChange=Ce),_){let e=f.fields.find(r=>r.name==="country");e&&(e.options=_,e.onChange=ye)}let be=o(()=>{R(void 0),E(t)},"resetForm"),D=[...f.fields.filter(e=>e.name!=="management"),...P?.fields||[],...f.fields.filter(e=>e.name==="management")],N=ie(f.fields,m||"USD",s.includeEstimationTitle);async function Se(e){let r=null;n?.onValidation?.(e);let u=await V(e,D);try{await N.validate(u,{abortEarly:!1}),r={formErrors:{},yupError:new ne([],e)}}catch(h){let B=K(h);r={formErrors:Object.entries(B).reduce((T,[A,M])=>({...T,[A]:M.message}),{}),yupError:h}}let g=P?.handleValidation(u),y=[...r?.yupError.inner||[],...g?.yupError?.inner||[]],x={...r?.yupError?.value||{},...g?.yupError?.value||{}};return{formErrors:{...r?.formErrors||{},...g?.formErrors||{}},yupError:new ne(y,x)}}return o(Se,"handleValidation"),{stepState:{current:0,total:1,isLastStep:!0},fields:D,validationSchema:N,parseFormValues:o(async e=>{let{country:r,region:u,currency:g,salary_converted:y,hiring_budget:x,salary_conversion:h,management:B,estimation_title:T,...A}=e,M=e.salary;y==="salary_conversion"&&(M=h);let he=await V({country:r,region:u,salary:M,salary_converted:y,salary_conversion:h,hiring_budget:x,currency:g,management:B,estimation_title:T},f.fields),Ee=await V(A,P?.fields||[]),Fe={currency_code:d?.find(Me=>Me.value===g)?.label};return{...he,...Ee,...Fe}},"parseFormValues"),handleValidation:Se,isSubmitting:U.isPending,isLoading:le&&ce&&me,onSubmit:ge,resetForm:be,currencies:d,meta:{fields:c.current?.fields}}},"useCostCalculator");function ie(t,i,l){let s=t.reduce((n,a)=>(a.name==="salary"||a.name==="salary_conversion"?n[a.name]=a.schema.when("salary_converted",{is:o(c=>c===a.name,"is"),then:o(c=>c.required("Required field"),"then"),otherwise:o(c=>c.optional(),"otherwise")}):a.name==="management"?n[a.name]=oe({management_fee:Te().transform(c=>isNaN(c)?void 0:c).min(0,"Management fee must be greater than or equal to 0").max(i?C[i]:C.USD,()=>`Management fee cannot exceed ${(i?C[i]:C.USD)/100} ${i}`)}):a.name==="estimation_title"&&l?n[a.name]=a.schema.required("Required field"):n[a.name]=a.schema,n),{});return oe(s)}o(ie,"buildValidationSchema");function Ae(t){let i="benefit-";return Object.keys(t).reduce((l,s)=>{let n=t[s];if(n==="none")return l;let c={benefit_group_slug:s.replace(i,""),benefit_tier_slug:n};return[...l,c]},[])}o(Ae,"formatBenefits");function Oe(t,i,l){let s=Number(t.management?.management_fee),n=t.currency_code;return{...{region_slug:t.region||t.country,employment_term:t.contract_duration_type??"fixed",title:t.estimation_title||i.title,age:t.age??void 0,...t.benefits&&{benefits:Ae(t.benefits)},...i.includeManagementFee&&s&&{discount:{quoted_amount:i.showManagementFee?s:C[n]||C.USD,text:""}}},...ke(t,l)}}o(Oe,"mapValueToEmployment");function ke(t,i){let l=i==="marketing"||t.salary_converted==="salary_conversion",s=i==="standard"&&t.salary_converted==="salary",n=t.hiring_budget==="my_hiring_budget";if(l){let a=t.salary_converted==="salary_conversion";return n?{annual_total_cost_in_employer_currency:t.salary}:{[a?"annual_gross_salary_in_employer_currency":"annual_gross_salary"]:t.salary}}return s?n?{annual_total_cost:t.salary}:{annual_gross_salary:t.salary}:{}}o(ke,"getSalaryFields");function ae(t,i=O,l="standard"){let s=Array.isArray(t)?t:[t];if(s.length===0)throw new Error("At least one employment value is required");return s.length>1&&new Set(s.map(a=>a.currency)).size>1&&console.warn("Multiple currencies detected in array. Using currency from first employment."),{employer_currency_slug:s[0].currency,include_benefits:i.includeBenefits,include_cost_breakdowns:i.includeCostBreakdowns,include_premium_benefits:i.includePremiumBenefits,include_management_fee:i.includeManagementFee,employments:s.map(n=>Oe(n,i,l))}}o(ae,"buildPayload");export{ie as a,ae as b,O as c,Qe as d};
2
+ //# sourceMappingURL=chunk-KSNOQWVU.js.map