@remoteoss/remote-flows 0.4.0-alpha.0 → 0.4.0-alpha.10

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 (336) hide show
  1. package/README.md +63 -1
  2. package/dist/chunk-2Y22JKVE.js +2 -0
  3. package/dist/{chunk-NFEY2YL6.js → chunk-3PH5E6CZ.js} +2 -2
  4. package/dist/chunk-4A6ZQNMB.js +2 -0
  5. package/dist/chunk-4A6ZQNMB.js.map +1 -0
  6. package/dist/chunk-4YNOSVYQ.js +2 -0
  7. package/dist/chunk-4YNOSVYQ.js.map +1 -0
  8. package/dist/chunk-55SA3TEF.js +2 -0
  9. package/dist/chunk-55SA3TEF.js.map +1 -0
  10. package/dist/chunk-6I6RMJXC.js +2 -0
  11. package/dist/chunk-6I6RMJXC.js.map +1 -0
  12. package/dist/chunk-6T3A6GWH.js +2 -0
  13. package/dist/chunk-6T3A6GWH.js.map +1 -0
  14. package/dist/chunk-7KUKFRKC.js +2 -0
  15. package/dist/chunk-7KUKFRKC.js.map +1 -0
  16. package/dist/chunk-B4SVITZI.js +2 -0
  17. package/dist/chunk-B4SVITZI.js.map +1 -0
  18. package/dist/chunk-DBIPVIBO.js +2 -0
  19. package/dist/{chunk-M5VZBMLC.js.map → chunk-DBIPVIBO.js.map} +1 -1
  20. package/dist/chunk-DP4SIYAC.js +2 -0
  21. package/dist/chunk-DP4SIYAC.js.map +1 -0
  22. package/dist/chunk-EGDD73PU.js +2 -0
  23. package/dist/chunk-EGDD73PU.js.map +1 -0
  24. package/dist/chunk-EMVYCKDC.js +2 -0
  25. package/dist/{chunk-56BNVYTD.js.map → chunk-EMVYCKDC.js.map} +1 -1
  26. package/dist/chunk-FB4QOGWE.js +2 -0
  27. package/dist/chunk-FB4QOGWE.js.map +1 -0
  28. package/dist/chunk-G7BISHWK.js +2 -0
  29. package/dist/chunk-G7BISHWK.js.map +1 -0
  30. package/dist/chunk-GFWQG4ZT.js +2 -0
  31. package/dist/chunk-GFWQG4ZT.js.map +1 -0
  32. package/dist/chunk-GMU3QGAR.js +2 -0
  33. package/dist/chunk-GMU3QGAR.js.map +1 -0
  34. package/dist/chunk-HBH2PSYQ.js +2 -0
  35. package/dist/chunk-HBH2PSYQ.js.map +1 -0
  36. package/dist/chunk-HJBXUPHM.js +2 -0
  37. package/dist/chunk-HJBXUPHM.js.map +1 -0
  38. package/dist/chunk-HSY5OO7D.js +2 -0
  39. package/dist/chunk-HSY5OO7D.js.map +1 -0
  40. package/dist/chunk-IAHI4OUM.js +2 -0
  41. package/dist/chunk-IAHI4OUM.js.map +1 -0
  42. package/dist/chunk-IKQ25VV5.js +2 -0
  43. package/dist/chunk-IKQ25VV5.js.map +1 -0
  44. package/dist/chunk-INAXCFVC.js +2 -0
  45. package/dist/chunk-INAXCFVC.js.map +1 -0
  46. package/dist/chunk-JJPI2YDM.js +2 -0
  47. package/dist/chunk-JJPI2YDM.js.map +1 -0
  48. package/dist/chunk-L5OIK2ZJ.js +2 -0
  49. package/dist/chunk-L5OIK2ZJ.js.map +1 -0
  50. package/dist/chunk-LJRUD43L.js +2 -0
  51. package/dist/chunk-LJRUD43L.js.map +1 -0
  52. package/dist/chunk-LTDDSH45.js +2 -0
  53. package/dist/chunk-LTDDSH45.js.map +1 -0
  54. package/dist/chunk-MGUDZTTV.js +2 -0
  55. package/dist/chunk-MGUDZTTV.js.map +1 -0
  56. package/dist/chunk-NEFNFYRS.js +2 -0
  57. package/dist/{chunk-GFBF55NR.js.map → chunk-NEFNFYRS.js.map} +1 -1
  58. package/dist/chunk-NF5IMQEW.js +2 -0
  59. package/dist/chunk-NF5IMQEW.js.map +1 -0
  60. package/dist/{chunk-D3XENMEM.js → chunk-O3QLBSMV.js} +2 -2
  61. package/dist/chunk-O3QLBSMV.js.map +1 -0
  62. package/dist/chunk-O562EWKG.js +2 -0
  63. package/dist/chunk-O562EWKG.js.map +1 -0
  64. package/dist/chunk-OIXUBXFU.js +2 -0
  65. package/dist/{chunk-GMGKIQLI.js.map → chunk-OIXUBXFU.js.map} +1 -1
  66. package/dist/chunk-OKAOH4ER.js +2 -0
  67. package/dist/chunk-OKAOH4ER.js.map +1 -0
  68. package/dist/chunk-ONZPO4GN.js +2 -0
  69. package/dist/{chunk-IDSJI7KQ.js.map → chunk-ONZPO4GN.js.map} +1 -1
  70. package/dist/chunk-P5VTRXW3.js +2 -0
  71. package/dist/chunk-P5VTRXW3.js.map +1 -0
  72. package/dist/chunk-PH5CQN7X.js +2 -0
  73. package/dist/{chunk-MESREYTZ.js.map → chunk-PH5CQN7X.js.map} +1 -1
  74. package/dist/chunk-PJMKZ3HR.js +2 -0
  75. package/dist/chunk-PJMKZ3HR.js.map +1 -0
  76. package/dist/chunk-PMLMQNSO.js +2 -0
  77. package/dist/chunk-PMLMQNSO.js.map +1 -0
  78. package/dist/chunk-QHN4PPHD.js +2 -0
  79. package/dist/{chunk-3FVI5JIC.js.map → chunk-QHN4PPHD.js.map} +1 -1
  80. package/dist/chunk-RYEOLQIL.js +2 -0
  81. package/dist/chunk-RYEOLQIL.js.map +1 -0
  82. package/dist/{chunk-FZ2HS6G7.js → chunk-S4XU4SE7.js} +1 -1
  83. package/dist/chunk-S4XU4SE7.js.map +1 -0
  84. package/dist/chunk-SIJ5SUY6.js +2 -0
  85. package/dist/chunk-SIJ5SUY6.js.map +1 -0
  86. package/dist/chunk-SJPBIRXM.js +2 -0
  87. package/dist/chunk-SJPBIRXM.js.map +1 -0
  88. package/dist/chunk-T5NPHXFC.js +2 -0
  89. package/dist/chunk-T5NPHXFC.js.map +1 -0
  90. package/dist/chunk-TPRGCMIZ.js +2 -0
  91. package/dist/chunk-TPRGCMIZ.js.map +1 -0
  92. package/dist/chunk-TZFGLE7X.js +2 -0
  93. package/dist/chunk-TZFGLE7X.js.map +1 -0
  94. package/dist/chunk-U4M5QBBG.js +2 -0
  95. package/dist/chunk-U4M5QBBG.js.map +1 -0
  96. package/dist/chunk-UEKXODGJ.js +2 -0
  97. package/dist/chunk-UEKXODGJ.js.map +1 -0
  98. package/dist/chunk-V2NCE4LO.js +2 -0
  99. package/dist/chunk-V2NCE4LO.js.map +1 -0
  100. package/dist/chunk-VI7WS34A.js +2 -0
  101. package/dist/chunk-VI7WS34A.js.map +1 -0
  102. package/dist/chunk-W5DS5Q4J.js +2 -0
  103. package/dist/chunk-W5DS5Q4J.js.map +1 -0
  104. package/dist/{chunk-2KK5HDYP.js → chunk-WEIRXEXU.js} +2 -2
  105. package/dist/chunk-WU77JQYU.js +2 -0
  106. package/dist/chunk-WU77JQYU.js.map +1 -0
  107. package/dist/chunk-WVJDCDGZ.js +2 -0
  108. package/dist/chunk-WVJDCDGZ.js.map +1 -0
  109. package/dist/{chunk-OLJ2S6A6.js → chunk-YG5FFTC4.js} +1 -1
  110. package/dist/chunk-YG5FFTC4.js.map +1 -0
  111. package/dist/{chunk-SSIHUUZY.js → chunk-YSIEXMDD.js} +2 -2
  112. package/dist/chunk-YSIEXMDD.js.map +1 -0
  113. package/dist/chunk-YXVLPPO2.js +2 -0
  114. package/dist/{chunk-XQ6WWP6K.js.map → chunk-YXVLPPO2.js.map} +1 -1
  115. package/dist/flows/ContractAmendment/ContractAmendmentBack.d.ts +3 -2
  116. package/dist/flows/ContractAmendment/ContractAmendmentBack.js +1 -1
  117. package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.d.ts +5 -5
  118. package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.js +1 -1
  119. package/dist/flows/ContractAmendment/ContractAmendmentFlow.d.ts +5 -4
  120. package/dist/flows/ContractAmendment/ContractAmendmentFlow.js +1 -1
  121. package/dist/flows/ContractAmendment/ContractAmendmentForm.d.ts +5 -5
  122. package/dist/flows/ContractAmendment/ContractAmendmentForm.js +1 -1
  123. package/dist/flows/ContractAmendment/ContractAmendmentSubmit.d.ts +3 -2
  124. package/dist/flows/ContractAmendment/ContractAmendmentSubmit.js +1 -1
  125. package/dist/flows/ContractAmendment/context.d.ts +5 -5
  126. package/dist/flows/ContractAmendment/hooks.d.ts +4 -4
  127. package/dist/flows/ContractAmendment/hooks.js +1 -1
  128. package/dist/flows/ContractAmendment/index.d.ts +3 -2
  129. package/dist/flows/ContractAmendment/index.js +1 -1
  130. package/dist/flows/ContractAmendment/types.d.ts +1 -1
  131. package/dist/flows/ContractAmendment/utils.d.ts +2 -2
  132. package/dist/flows/ContractAmendment/utils.js +1 -1
  133. package/dist/flows/CostCalculator/CostCalculatorDisclaimer.d.ts +2 -2
  134. package/dist/flows/CostCalculator/CostCalculatorDisclaimer.js +1 -1
  135. package/dist/flows/CostCalculator/CostCalculatorFlow.d.ts +5 -4
  136. package/dist/flows/CostCalculator/CostCalculatorFlow.js +1 -1
  137. package/dist/flows/CostCalculator/CostCalculatorForm.d.ts +9 -5
  138. package/dist/flows/CostCalculator/CostCalculatorForm.js +1 -1
  139. package/dist/flows/CostCalculator/CostCalculatorResetButton.d.ts +3 -2
  140. package/dist/flows/CostCalculator/CostCalculatorResetButton.js +1 -1
  141. package/dist/flows/CostCalculator/CostCalculatorSubmitButton.d.ts +3 -2
  142. package/dist/flows/CostCalculator/CostCalculatorSubmitButton.js +1 -1
  143. package/dist/flows/CostCalculator/Results/CostCalculatorBenefitsBreakdown.d.ts +2 -2
  144. package/dist/flows/CostCalculator/Results/CostCalculatorBenefitsBreakdown.js +1 -1
  145. package/dist/flows/CostCalculator/Results/CostCalculatorContributionsBreakdown.d.ts +2 -2
  146. package/dist/flows/CostCalculator/Results/CostCalculatorContributionsBreakdown.js +1 -1
  147. package/dist/flows/CostCalculator/Results/CostCalculatorGrossSalary.d.ts +2 -2
  148. package/dist/flows/CostCalculator/Results/CostCalculatorGrossSalary.js +1 -1
  149. package/dist/flows/CostCalculator/Results/CostCalculatorResults.d.ts +3 -3
  150. package/dist/flows/CostCalculator/Results/CostCalculatorResults.js +1 -1
  151. package/dist/flows/CostCalculator/Results/CostCalculatorResultsChart.d.ts +2 -2
  152. package/dist/flows/CostCalculator/Results/CostCalculatorResultsChart.js +1 -1
  153. package/dist/flows/CostCalculator/Results/CostCalculatorResultsChart.js.map +1 -1
  154. package/dist/flows/CostCalculator/Results/CostCalculatorTotalCost.d.ts +2 -2
  155. package/dist/flows/CostCalculator/Results/CostCalculatorTotalCost.js +1 -1
  156. package/dist/flows/CostCalculator/context.d.ts +9 -6
  157. package/dist/flows/CostCalculator/context.js +1 -1
  158. package/dist/flows/CostCalculator/hooks.d.ts +4 -3
  159. package/dist/flows/CostCalculator/hooks.js +1 -1
  160. package/dist/flows/CostCalculator/index.d.ts +5 -1
  161. package/dist/flows/CostCalculator/index.js +1 -1
  162. package/dist/flows/CostCalculator/types.d.ts +12 -2
  163. package/dist/flows/CostCalculator/utils.d.ts +8 -4
  164. package/dist/flows/CostCalculator/utils.js +1 -1
  165. package/dist/flows/Onboarding/BasicInformationStep.d.ts +5 -5
  166. package/dist/flows/Onboarding/BasicInformationStep.js +1 -1
  167. package/dist/flows/Onboarding/BenefitsStep.d.ts +14 -9
  168. package/dist/flows/Onboarding/BenefitsStep.js +1 -1
  169. package/dist/flows/Onboarding/ContractDetailsStep.d.ts +9 -6
  170. package/dist/flows/Onboarding/ContractDetailsStep.js +1 -1
  171. package/dist/flows/Onboarding/OnboardingBack.d.ts +4 -2
  172. package/dist/flows/Onboarding/OnboardingBack.js +1 -1
  173. package/dist/flows/Onboarding/OnboardingFlow.d.ts +17 -6
  174. package/dist/flows/Onboarding/OnboardingFlow.js +1 -1
  175. package/dist/flows/Onboarding/OnboardingForm.d.ts +8 -6
  176. package/dist/flows/Onboarding/OnboardingForm.js +1 -1
  177. package/dist/flows/Onboarding/OnboardingInvite.d.ts +15 -8
  178. package/dist/flows/Onboarding/OnboardingInvite.js +1 -1
  179. package/dist/flows/Onboarding/OnboardingSubmit.d.ts +3 -2
  180. package/dist/flows/Onboarding/OnboardingSubmit.js +1 -1
  181. package/dist/flows/Onboarding/ReviewStep.d.ts +38 -0
  182. package/dist/flows/Onboarding/ReviewStep.js +2 -0
  183. package/dist/flows/Onboarding/ReviewStep.js.map +1 -0
  184. package/dist/flows/Onboarding/SelectCountryStep.d.ts +15 -0
  185. package/dist/flows/Onboarding/SelectCountryStep.js +2 -0
  186. package/dist/flows/Onboarding/SelectCountryStep.js.map +1 -0
  187. package/dist/flows/Onboarding/api.d.ts +113 -0
  188. package/dist/flows/Onboarding/api.js +2 -0
  189. package/dist/flows/Onboarding/api.js.map +1 -0
  190. package/dist/flows/Onboarding/context.d.ts +48 -15
  191. package/dist/flows/Onboarding/context.js +1 -1
  192. package/dist/flows/Onboarding/hooks.d.ts +62 -31
  193. package/dist/flows/Onboarding/hooks.js +1 -1
  194. package/dist/flows/Onboarding/index.d.ts +10 -5
  195. package/dist/flows/Onboarding/index.js +1 -1
  196. package/dist/flows/Onboarding/json-schemas/selectCountryStep.d.ts +24 -0
  197. package/dist/flows/Onboarding/json-schemas/selectCountryStep.js +2 -0
  198. package/dist/flows/Onboarding/json-schemas/selectCountryStep.js.map +1 -0
  199. package/dist/flows/Onboarding/types.d.ts +23 -3
  200. package/dist/flows/Onboarding/utils.d.ts +23 -3
  201. package/dist/flows/Onboarding/utils.js +1 -1
  202. package/dist/flows/Termination/AdditionalDetailsForm.d.ts +4 -4
  203. package/dist/flows/Termination/AdditionalDetailsForm.js +1 -1
  204. package/dist/flows/Termination/EmployeeComunicationForm.d.ts +3 -3
  205. package/dist/flows/Termination/EmployeeComunicationForm.js +1 -1
  206. package/dist/flows/Termination/PaidTimeOffForm.d.ts +3 -3
  207. package/dist/flows/Termination/PaidTimeOffForm.js +1 -1
  208. package/dist/flows/Termination/TerminationBack.d.ts +3 -2
  209. package/dist/flows/Termination/TerminationBack.js +1 -1
  210. package/dist/flows/Termination/TerminationDetailsForm.d.ts +3 -3
  211. package/dist/flows/Termination/TerminationDetailsForm.js +1 -1
  212. package/dist/flows/Termination/TerminationFlow.d.ts +6 -4
  213. package/dist/flows/Termination/TerminationFlow.js +1 -1
  214. package/dist/flows/Termination/TerminationForm.d.ts +3 -3
  215. package/dist/flows/Termination/TerminationForm.js +1 -1
  216. package/dist/flows/Termination/TerminationSubmit.d.ts +3 -2
  217. package/dist/flows/Termination/TerminationSubmit.js +1 -1
  218. package/dist/flows/Termination/TimeOff.d.ts +4 -4
  219. package/dist/flows/Termination/TimeOff.js +1 -1
  220. package/dist/flows/Termination/context.d.ts +5 -4
  221. package/dist/flows/Termination/hooks.d.ts +3 -2
  222. package/dist/flows/Termination/hooks.js +1 -1
  223. package/dist/flows/Termination/index.d.ts +3 -1
  224. package/dist/flows/Termination/index.js +1 -1
  225. package/dist/flows/Termination/json-schemas/schema.js +1 -1
  226. package/dist/flows/Termination/types.d.ts +1 -1
  227. package/dist/flows/Termination/utils.d.ts +1 -1
  228. package/dist/flows/Termination/utils.js +1 -1
  229. package/dist/flows/types.d.ts +1 -1
  230. package/dist/flows/useStepState.d.ts +19 -6
  231. package/dist/flows/useStepState.js +1 -1
  232. package/dist/flows/utils.d.ts +3 -11
  233. package/dist/flows/utils.js +1 -1
  234. package/dist/index.css +1 -1
  235. package/dist/index.css.map +1 -1
  236. package/dist/index.d.ts +16 -8
  237. package/dist/index.js +1 -1
  238. package/dist/index.js.map +1 -1
  239. package/dist/{remoteFlows-CswYencu.d.ts → remoteFlows-D0i6pVe5.d.ts} +49 -25
  240. package/dist/types-CxSFjQw5.d.ts +3 -0
  241. package/dist/{types.gen-HC04kr7n.d.ts → types.gen-Ctv2nomK.d.ts} +268 -2
  242. package/package.json +18 -3
  243. package/dist/chunk-2PXGLWCY.js +0 -2
  244. package/dist/chunk-2PXGLWCY.js.map +0 -1
  245. package/dist/chunk-344TN4EG.js +0 -2
  246. package/dist/chunk-344TN4EG.js.map +0 -1
  247. package/dist/chunk-36UPHOJS.js +0 -2
  248. package/dist/chunk-36UPHOJS.js.map +0 -1
  249. package/dist/chunk-3FVI5JIC.js +0 -2
  250. package/dist/chunk-4HAR3Z2C.js +0 -2
  251. package/dist/chunk-4HAR3Z2C.js.map +0 -1
  252. package/dist/chunk-56BNVYTD.js +0 -2
  253. package/dist/chunk-6A3F6JG6.js +0 -2
  254. package/dist/chunk-6A3F6JG6.js.map +0 -1
  255. package/dist/chunk-6CT35VQR.js +0 -2
  256. package/dist/chunk-6CT35VQR.js.map +0 -1
  257. package/dist/chunk-7CYG2RHP.js +0 -2
  258. package/dist/chunk-7CYG2RHP.js.map +0 -1
  259. package/dist/chunk-BKBIALOU.js +0 -2
  260. package/dist/chunk-BKBIALOU.js.map +0 -1
  261. package/dist/chunk-BKROCZRD.js +0 -2
  262. package/dist/chunk-BKROCZRD.js.map +0 -1
  263. package/dist/chunk-BL2HRBUQ.js +0 -2
  264. package/dist/chunk-BL2HRBUQ.js.map +0 -1
  265. package/dist/chunk-D3XENMEM.js.map +0 -1
  266. package/dist/chunk-DGPRFQYK.js +0 -2
  267. package/dist/chunk-DGPRFQYK.js.map +0 -1
  268. package/dist/chunk-DPKJX4NS.js +0 -2
  269. package/dist/chunk-DPKJX4NS.js.map +0 -1
  270. package/dist/chunk-EAAIAMTY.js +0 -2
  271. package/dist/chunk-EAAIAMTY.js.map +0 -1
  272. package/dist/chunk-FMT2OTOL.js +0 -2
  273. package/dist/chunk-FMT2OTOL.js.map +0 -1
  274. package/dist/chunk-FNMWKUNJ.js +0 -2
  275. package/dist/chunk-FNMWKUNJ.js.map +0 -1
  276. package/dist/chunk-FZ2HS6G7.js.map +0 -1
  277. package/dist/chunk-GFBF55NR.js +0 -2
  278. package/dist/chunk-GMGKIQLI.js +0 -2
  279. package/dist/chunk-GPICG72A.js +0 -2
  280. package/dist/chunk-GPICG72A.js.map +0 -1
  281. package/dist/chunk-GYSK6CY5.js +0 -2
  282. package/dist/chunk-GYSK6CY5.js.map +0 -1
  283. package/dist/chunk-HSW5HMHH.js +0 -2
  284. package/dist/chunk-IDSJI7KQ.js +0 -2
  285. package/dist/chunk-J55S4SEH.js +0 -2
  286. package/dist/chunk-J55S4SEH.js.map +0 -1
  287. package/dist/chunk-J6LUE5K7.js +0 -2
  288. package/dist/chunk-J6LUE5K7.js.map +0 -1
  289. package/dist/chunk-JIBRNWD2.js +0 -2
  290. package/dist/chunk-JIBRNWD2.js.map +0 -1
  291. package/dist/chunk-JWIYUQ5X.js +0 -2
  292. package/dist/chunk-JWIYUQ5X.js.map +0 -1
  293. package/dist/chunk-KH6QS5OU.js +0 -2
  294. package/dist/chunk-KH6QS5OU.js.map +0 -1
  295. package/dist/chunk-KSGPQCSG.js +0 -2
  296. package/dist/chunk-KSGPQCSG.js.map +0 -1
  297. package/dist/chunk-M5VZBMLC.js +0 -2
  298. package/dist/chunk-M7WCW7WD.js +0 -2
  299. package/dist/chunk-M7WCW7WD.js.map +0 -1
  300. package/dist/chunk-MESREYTZ.js +0 -2
  301. package/dist/chunk-MHKNAQLP.js +0 -2
  302. package/dist/chunk-MHKNAQLP.js.map +0 -1
  303. package/dist/chunk-OLJ2S6A6.js.map +0 -1
  304. package/dist/chunk-QEMICBEY.js +0 -2
  305. package/dist/chunk-QEMICBEY.js.map +0 -1
  306. package/dist/chunk-RIAYBN32.js +0 -2
  307. package/dist/chunk-RIAYBN32.js.map +0 -1
  308. package/dist/chunk-RLS4PMWA.js +0 -2
  309. package/dist/chunk-RLS4PMWA.js.map +0 -1
  310. package/dist/chunk-RRFSGYAC.js +0 -2
  311. package/dist/chunk-RRFSGYAC.js.map +0 -1
  312. package/dist/chunk-S4FKLPBB.js +0 -2
  313. package/dist/chunk-S4FKLPBB.js.map +0 -1
  314. package/dist/chunk-S56EWAS4.js +0 -2
  315. package/dist/chunk-S56EWAS4.js.map +0 -1
  316. package/dist/chunk-SSIHUUZY.js.map +0 -1
  317. package/dist/chunk-WQHKB5T7.js +0 -2
  318. package/dist/chunk-WQHKB5T7.js.map +0 -1
  319. package/dist/chunk-WS3C3WIJ.js +0 -2
  320. package/dist/chunk-WS3C3WIJ.js.map +0 -1
  321. package/dist/chunk-XJMVWJZ4.js +0 -2
  322. package/dist/chunk-XJMVWJZ4.js.map +0 -1
  323. package/dist/chunk-XLFHHYVS.js +0 -2
  324. package/dist/chunk-XLFHHYVS.js.map +0 -1
  325. package/dist/chunk-XQ6WWP6K.js +0 -2
  326. package/dist/chunk-XVOJ4RMC.js +0 -2
  327. package/dist/chunk-XVOJ4RMC.js.map +0 -1
  328. package/dist/chunk-YDUUQU4R.js +0 -2
  329. package/dist/chunk-YDUUQU4R.js.map +0 -1
  330. package/dist/chunk-YH5F6MGK.js +0 -2
  331. package/dist/chunk-YH5F6MGK.js.map +0 -1
  332. package/dist/chunk-YOC3VDC7.js +0 -2
  333. package/dist/chunk-YOC3VDC7.js.map +0 -1
  334. /package/dist/{chunk-HSW5HMHH.js.map → chunk-2Y22JKVE.js.map} +0 -0
  335. /package/dist/{chunk-NFEY2YL6.js.map → chunk-3PH5E6CZ.js.map} +0 -0
  336. /package/dist/{chunk-2KK5HDYP.js.map → chunk-WEIRXEXU.js.map} +0 -0
@@ -1,2 +0,0 @@
1
- import{a as p}from"./chunk-BKROCZRD.js";import{b as l}from"./chunk-A4RX3KRZ.js";import{a as f}from"./chunk-IDSJI7KQ.js";import{c as u}from"./chunk-XVOJ4RMC.js";import{b as F}from"./chunk-6HGUGIYJ.js";import{a as r}from"./chunk-AYDF3IFZ.js";import a,{useEffect as P}from"react";import{useForm as k}from"react-hook-form";var w=["effective_date","reason_for_change","reason_for_change_description","additional_comments","additional_comments_toggle"];function U({onSubmit:_,onError:m,onSuccess:b}){let{formId:A,contractAmendment:{checkFieldUpdates:C,fields:s,onSubmit:h,stepState:S,initialValues:i,handleValidation:g}}=F(),y=l(g),e=k({resolver:y,defaultValues:S.values?.form||i,shouldUnregister:!0,mode:"onBlur"});P(()=>{let t=e?.watch(o=>{(Object.keys(e.formState.dirtyFields).length>0||e.formState.isDirty)&&C(o)});return()=>t?.unsubscribe()},[]);let V=r(async t=>{let o=!1;for(let[c,v]of Object.entries(t))if(!w.includes(c)&&i[c]!==v){o=!0;break}if(!o)return m?.({message:"no_changes_detected_contract_details"});let d=u(t,s,{isPartialValidation:!1});await _?.(d);let n=await h(t);n.error?m?.(n.error):b?.(n.data)},"handleSubmit");return a.createElement(f,{...e},a.createElement("form",{id:A,"data-testid":"contract-amendment-form",onSubmit:e.handleSubmit(V),className:"space-y-4 RemoteFlows__ContractAmendmentForm"},a.createElement(p,{fields:s})))}r(U,"ContractAmendmentForm");export{U as a};
2
- //# sourceMappingURL=chunk-J6LUE5K7.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/ContractAmendment/ContractAmendmentForm.tsx"],"sourcesContent":["import {\n ContractAmendmentAutomatableResponse,\n PostAutomatableContractAmendmentError,\n} from '@/src/client';\nimport { JSONSchemaFormFields } from '@/src/components/form/JSONSchemaForm';\nimport { parseJSFToValidate } from '@/src/components/form/utils';\nimport { useJsonSchemasValidationFormResolver } from '@/src/components/form/yupValidationResolver';\nimport { Form } from '@/src/components/ui/form';\nimport React, { useEffect } from 'react';\nimport { FieldValues, useForm } from 'react-hook-form';\nimport { useContractAmendmentContext } from './context';\n\ntype ContractAmendmentFormProps = {\n /**\n * Callback function to be called when the contract amendment form is submitted.\n * This function is called before the contract amendment is submitted.\n * It can be used to perform any additional validation or processing before\n * the contract amendment is submitted.\n * @param values\n * @returns\n */\n onSubmit?: (values: FieldValues) => Promise<void>;\n /**\n * Callback function to be called when the contract amendment fails.\n * @param error\n * @returns\n */\n onError?: (\n error:\n | PostAutomatableContractAmendmentError\n | { message: 'no_changes_detected_contract_details' },\n ) => void;\n /**\n * Callback function to be called when the contract amendment is successfully submitted.\n * This function is called after the contract amendment is submitted.\n * @param data\n * @returns\n */\n onSuccess?: (data: ContractAmendmentAutomatableResponse) => void;\n};\n\nconst commonFields = [\n 'effective_date',\n 'reason_for_change',\n 'reason_for_change_description',\n 'additional_comments',\n 'additional_comments_toggle',\n] as const;\n\ntype CommonFields = (typeof commonFields)[number];\n\nexport function ContractAmendmentForm({\n onSubmit,\n onError,\n onSuccess,\n}: ContractAmendmentFormProps) {\n const {\n formId,\n contractAmendment: {\n checkFieldUpdates,\n fields,\n onSubmit: submitContractAmendment,\n stepState,\n initialValues,\n handleValidation,\n },\n } = useContractAmendmentContext();\n\n const resolver = useJsonSchemasValidationFormResolver(\n // @ts-expect-error no matching type\n handleValidation,\n );\n\n const form = useForm({\n resolver,\n defaultValues:\n // stepState.values is used as defaultValues for the form when the form is\n // rendered when clicking on the back button after the user has submitted the form\n // and the confirmation form is displayed.\n // This is because the form is unmounted when the user submits the form.\n stepState.values?.form || initialValues,\n shouldUnregister: true,\n mode: 'onBlur',\n });\n\n useEffect(() => {\n const subscription = form?.watch((values) => {\n const isFormDirty =\n Object.keys(form.formState.dirtyFields).length > 0 ||\n form.formState.isDirty;\n if (isFormDirty) {\n checkFieldUpdates(values);\n }\n });\n return () => subscription?.unsubscribe();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const handleSubmit = async (values: FieldValues) => {\n let hasContractDetailsChanges = false;\n for (const [key, value] of Object.entries(values)) {\n if (\n !commonFields.includes(key as CommonFields) &&\n // @ts-expect-error error\n initialValues[key] !== value\n ) {\n hasContractDetailsChanges = true;\n break;\n }\n }\n\n if (!hasContractDetailsChanges) {\n return onError?.({\n message: 'no_changes_detected_contract_details',\n });\n }\n\n const parsedValues = parseJSFToValidate(values, fields, {\n isPartialValidation: false,\n });\n\n await onSubmit?.(parsedValues);\n\n const contractAmendmentResult = await submitContractAmendment(values);\n\n if (contractAmendmentResult.error) {\n onError?.(contractAmendmentResult.error);\n } else {\n onSuccess?.(\n contractAmendmentResult.data as ContractAmendmentAutomatableResponse,\n );\n }\n };\n\n return (\n <Form {...form}>\n <form\n id={formId}\n data-testid=\"contract-amendment-form\"\n onSubmit={form.handleSubmit(handleSubmit)}\n className=\"space-y-4 RemoteFlows__ContractAmendmentForm\"\n >\n <JSONSchemaFormFields fields={fields} />\n </form>\n </Form>\n );\n}\n"],"mappings":"gPAQA,OAAOA,GAAS,aAAAC,MAAiB,QACjC,OAAsB,WAAAC,MAAe,kBAgCrC,IAAMC,EAAe,CACnB,iBACA,oBACA,gCACA,sBACA,4BACF,EAIO,SAASC,EAAsB,CACpC,SAAAC,EACA,QAAAC,EACA,UAAAC,CACF,EAA+B,CAC7B,GAAM,CACJ,OAAAC,EACA,kBAAmB,CACjB,kBAAAC,EACA,OAAAC,EACA,SAAUC,EACV,UAAAC,EACA,cAAAC,EACA,iBAAAC,CACF,CACF,EAAIC,EAA4B,EAE1BC,EAAWC,EAEfH,CACF,EAEMI,EAAOC,EAAQ,CACnB,SAAAH,EACA,cAKEJ,EAAU,QAAQ,MAAQC,EAC5B,iBAAkB,GAClB,KAAM,QACR,CAAC,EAEDO,EAAU,IAAM,CACd,IAAMC,EAAeH,GAAM,MAAOI,GAAW,EAEzC,OAAO,KAAKJ,EAAK,UAAU,WAAW,EAAE,OAAS,GACjDA,EAAK,UAAU,UAEfT,EAAkBa,CAAM,CAE5B,CAAC,EACD,MAAO,IAAMD,GAAc,YAAY,CAEzC,EAAG,CAAC,CAAC,EAEL,IAAME,EAAeC,EAAA,MAAOF,GAAwB,CAClD,IAAIG,EAA4B,GAChC,OAAW,CAACC,EAAKC,CAAK,IAAK,OAAO,QAAQL,CAAM,EAC9C,GACE,CAACnB,EAAa,SAASuB,CAAmB,GAE1Cb,EAAca,CAAG,IAAMC,EACvB,CACAF,EAA4B,GAC5B,KACF,CAGF,GAAI,CAACA,EACH,OAAOnB,IAAU,CACf,QAAS,sCACX,CAAC,EAGH,IAAMsB,EAAeC,EAAmBP,EAAQZ,EAAQ,CACtD,oBAAqB,EACvB,CAAC,EAED,MAAML,IAAWuB,CAAY,EAE7B,IAAME,EAA0B,MAAMnB,EAAwBW,CAAM,EAEhEQ,EAAwB,MAC1BxB,IAAUwB,EAAwB,KAAK,EAEvCvB,IACEuB,EAAwB,IAC1B,CAEJ,EAlCqB,gBAoCrB,OACEC,EAAA,cAACC,EAAA,CAAM,GAAGd,GACRa,EAAA,cAAC,QACC,GAAIvB,EACJ,cAAY,0BACZ,SAAUU,EAAK,aAAaK,CAAY,EACxC,UAAU,gDAEVQ,EAAA,cAACE,EAAA,CAAqB,OAAQvB,EAAQ,CACxC,CACF,CAEJ,CA/FgBc,EAAApB,EAAA","names":["React","useEffect","useForm","commonFields","ContractAmendmentForm","onSubmit","onError","onSuccess","formId","checkFieldUpdates","fields","submitContractAmendment","stepState","initialValues","handleValidation","useContractAmendmentContext","resolver","useJsonSchemasValidationFormResolver","form","useForm","useEffect","subscription","values","handleSubmit","__name","hasContractDetailsChanges","key","value","parsedValues","parseJSFToValidate","contractAmendmentResult","React","Form","JSONSchemaFormFields"]}
@@ -1,2 +0,0 @@
1
- import{a as p}from"./chunk-DPKJX4NS.js";import{a as i}from"./chunk-MHKNAQLP.js";import{b as t}from"./chunk-BL2HRBUQ.js";import{a as e}from"./chunk-6CT35VQR.js";import{a as d}from"./chunk-RIAYBN32.js";import{a as m}from"./chunk-BKBIALOU.js";import{a}from"./chunk-M7WCW7WD.js";import{a as r}from"./chunk-WS3C3WIJ.js";import{a as n}from"./chunk-AYDF3IFZ.js";import O,{useId as S}from"react";var R=n(({employmentId:f,countryCode:s,type:b="employee",render:g,options:c})=>{let B=S(),o=t({employmentId:f,countryCode:s,type:b,options:c});return O.createElement(r.Provider,{value:{formId:B,onboardingBag:o}},g({onboardingBag:o,components:{BasicInformationStep:e,ContractDetailsStep:m,BenefitsStep:d,SubmitButton:i,BackButton:a,OnboardingInvite:p}}))},"OnboardingFlow");export{R as a};
2
- //# sourceMappingURL=chunk-JIBRNWD2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/Onboarding/OnboardingFlow.tsx"],"sourcesContent":["import React, { useId } from 'react';\nimport { useOnboarding } from '@/src/flows/Onboarding/hooks';\nimport { BasicInformationStep } from '@/src/flows/Onboarding/BasicInformationStep';\nimport { OnboardingContext } from '@/src/flows/Onboarding/context';\nimport { OnboardingSubmit } from '@/src/flows/Onboarding/OnboardingSubmit';\nimport { OnboardingBack } from '@/src/flows/Onboarding/OnboardingBack';\nimport { OnboardingFlowParams } from '@/src/flows/Onboarding/types';\nimport { OnboardingInvite } from '@/src/flows/Onboarding/OnboardingInvite';\nimport { ContractDetailsStep } from '@/src/flows/Onboarding/ContractDetailsStep';\nimport { BenefitsStep } from '@/src/flows/Onboarding/BenefitsStep';\n\nexport type OnboardingRenderProps = {\n /**\n * The onboarding bag returned by the useOnboarding hook.\n * This bag contains all the methods and properties needed to handle the onboarding flow.\n * @see {@link useOnboarding}\n */\n onboardingBag: ReturnType<typeof useOnboarding>;\n /**\n * The components used in the onboarding flow.\n * This includes different steps, submit button, back button.\n * @see {@link BasicInformationStep}\n * @see {@link ContractDetailsStep}\n * @see {@link OnboardingSubmit}\n * @see {@link OnboardingBack}\n * @see {@link OnboardingInvite}\n * @see {@link BenefitsStep}\n */\n components: {\n SubmitButton: typeof OnboardingSubmit;\n BackButton: typeof OnboardingBack;\n BasicInformationStep: typeof BasicInformationStep;\n OnboardingInvite: typeof OnboardingInvite;\n ContractDetailsStep: typeof ContractDetailsStep;\n BenefitsStep: typeof BenefitsStep;\n };\n};\n\ntype OnboardingFlowProps = OnboardingFlowParams & {\n render: ({\n onboardingBag,\n components,\n }: OnboardingRenderProps) => React.ReactNode;\n};\n\nexport const OnboardingFlow = ({\n employmentId,\n countryCode,\n type = 'employee',\n render,\n options,\n}: OnboardingFlowProps) => {\n const formId = useId();\n const onboardingBag = useOnboarding({\n employmentId,\n countryCode,\n type,\n options,\n });\n\n return (\n <OnboardingContext.Provider\n value={{\n formId: formId,\n onboardingBag,\n }}\n >\n {render({\n onboardingBag,\n components: {\n BasicInformationStep: BasicInformationStep,\n ContractDetailsStep: ContractDetailsStep,\n BenefitsStep: BenefitsStep,\n SubmitButton: OnboardingSubmit,\n BackButton: OnboardingBack,\n OnboardingInvite: OnboardingInvite,\n },\n })}\n </OnboardingContext.Provider>\n );\n};\n"],"mappings":"mWAAA,OAAOA,GAAS,SAAAC,MAAa,QA6CtB,IAAMC,EAAiBC,EAAA,CAAC,CAC7B,aAAAC,EACA,YAAAC,EACA,KAAAC,EAAO,WACP,OAAAC,EACA,QAAAC,CACF,IAA2B,CACzB,IAAMC,EAASC,EAAM,EACfC,EAAgBC,EAAc,CAClC,aAAAR,EACA,YAAAC,EACA,KAAAC,EACA,QAAAE,CACF,CAAC,EAED,OACEK,EAAA,cAACC,EAAkB,SAAlB,CACC,MAAO,CACL,OAAQL,EACR,cAAAE,CACF,GAECJ,EAAO,CACN,cAAAI,EACA,WAAY,CACV,qBAAsBI,EACtB,oBAAqBC,EACrB,aAAcC,EACd,aAAcC,EACd,WAAYC,EACZ,iBAAkBC,CACpB,CACF,CAAC,CACH,CAEJ,EAnC8B","names":["React","useId","OnboardingFlow","__name","employmentId","countryCode","type","render","options","formId","useId","onboardingBag","useOnboarding","React","OnboardingContext","BasicInformationStep","ContractDetailsStep","BenefitsStep","OnboardingSubmit","OnboardingBack","OnboardingInvite"]}
@@ -1,2 +0,0 @@
1
- import{a as t}from"./chunk-YH5F6MGK.js";import{b as a}from"./chunk-DZYFSFZ7.js";import{a as i}from"./chunk-AYDF3IFZ.js";import p from"react";function b({requesterName:n,onSubmit:m,onSuccess:s,onError:d}){let{terminationBag:e}=a(),l=i(async r=>{await m?.(e?.parseFormValues(r));let o=await e?.onSubmit(r);o?.error?d?.(o.error):o?.data&&s?.(o.data)},"handleSubmit"),u=e?.fields.map(r=>r.name==="acknowledge_termination_procedure"?{...r,label:r.label.replace("{{requesterName}}",n)}:r);return p.createElement(t,{fields:u,onSubmit:l})}i(b,"AdditionalDetailsForm");export{b as a};
2
- //# sourceMappingURL=chunk-JWIYUQ5X.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/Termination/AdditionalDetailsForm.tsx"],"sourcesContent":["import React from 'react';\nimport { useTerminationContext } from './context';\nimport { TerminationFormValues } from '@/src/flows/Termination/types';\nimport { OffboardingResponse } from '@/src/client';\nimport { TerminationForm } from '@/src/flows/Termination/TerminationForm';\n\ntype AdditionalDetailsFormProps = {\n /*\n * The name of the person who initiates the termination, used to personalize the label of the\n * acknowledge_termination_procedure field.\n */\n requesterName: string;\n /*\n * The function is called when the form is submitted. It receives the form values as an argument.\n */\n onSubmit?: (payload: TerminationFormValues) => void | Promise<void>;\n /*\n * The function is called when the form submission has failed.\n */\n onError?: (error: Error) => void;\n /*\n * The function is called when the form submission is successful. It receives the response data as\n * an argument.\n */\n onSuccess?: (data: OffboardingResponse) => void;\n};\n\nexport function AdditionalDetailsForm({\n requesterName,\n onSubmit,\n onSuccess,\n onError,\n}: AdditionalDetailsFormProps) {\n const { terminationBag } = useTerminationContext();\n\n const handleSubmit = async (values: TerminationFormValues) => {\n await onSubmit?.(\n terminationBag?.parseFormValues(values) as TerminationFormValues,\n );\n const terminationResult = await terminationBag?.onSubmit(values);\n\n if (terminationResult?.error) {\n onError?.(terminationResult.error);\n } else {\n if (terminationResult?.data) {\n onSuccess?.(terminationResult.data as OffboardingResponse);\n }\n }\n };\n\n const updatedFields = terminationBag?.fields.map((field) => {\n if (field.name === 'acknowledge_termination_procedure') {\n return {\n ...field,\n label: (field.label as string).replace(\n '{{requesterName}}',\n requesterName,\n ),\n };\n }\n return field;\n });\n\n return <TerminationForm fields={updatedFields} onSubmit={handleSubmit} />;\n}\n"],"mappings":"wHAAA,OAAOA,MAAW,QA2BX,SAASC,EAAsB,CACpC,cAAAC,EACA,SAAAC,EACA,UAAAC,EACA,QAAAC,CACF,EAA+B,CAC7B,GAAM,CAAE,eAAAC,CAAe,EAAIC,EAAsB,EAE3CC,EAAeC,EAAA,MAAOC,GAAkC,CAC5D,MAAMP,IACJG,GAAgB,gBAAgBI,CAAM,CACxC,EACA,IAAMC,EAAoB,MAAML,GAAgB,SAASI,CAAM,EAE3DC,GAAmB,MACrBN,IAAUM,EAAkB,KAAK,EAE7BA,GAAmB,MACrBP,IAAYO,EAAkB,IAA2B,CAG/D,EAbqB,gBAefC,EAAgBN,GAAgB,OAAO,IAAKO,GAC5CA,EAAM,OAAS,oCACV,CACL,GAAGA,EACH,MAAQA,EAAM,MAAiB,QAC7B,oBACAX,CACF,CACF,EAEKW,CACR,EAED,OAAOC,EAAA,cAACC,EAAA,CAAgB,OAAQH,EAAe,SAAUJ,EAAc,CACzE,CArCgBC,EAAAR,EAAA","names":["React","AdditionalDetailsForm","requesterName","onSubmit","onSuccess","onError","terminationBag","useTerminationContext","handleSubmit","__name","values","terminationResult","updatedFields","field","React","TerminationForm"]}
@@ -1,2 +0,0 @@
1
- import{a,b as m,c as p,d as l}from"./chunk-3FVI5JIC.js";import{a as e}from"./chunk-MESREYTZ.js";import{b as n}from"./chunk-56BNVYTD.js";import{b as i}from"./chunk-5ETXP2QF.js";import{a as t}from"./chunk-AYDF3IFZ.js";import{Info as v}from"lucide-react";import o from"react";function w({benefitsTotal:d,benefitsBreakdown:f,currency:r}){return o.createElement("div",null,o.createElement("div",{className:"flex justify-between items-center mb-2"},o.createElement("h3",{className:"font-medium text-primary-foreground-800"},"Benefits"),o.createElement("span",{className:"font-semibold text-lg"},i(d,r))),o.createElement(e,{className:"mb-3"}),o.createElement("div",{className:"space-y-3 pl-2"},f.map((s,u)=>o.createElement("div",{key:u,className:"flex justify-between items-start text-sm"},o.createElement("div",{className:"flex items-start gap-2"},o.createElement("span",null,s.name),o.createElement(a,null,o.createElement(m,null,o.createElement(p,{asChild:!0},o.createElement(n,{variant:"ghost",size:"icon",className:"h-4 w-4 p-0"},o.createElement(v,{className:"h-3 w-3 text-gray-400"}),o.createElement("span",{className:"sr-only"},"Info"))),o.createElement(l,null,o.createElement("p",{className:"max-w-xs"},s.description))))),o.createElement("span",null,i(s.amount,r))))))}t(w,"CostCalculatorBenefitsBreakdown");export{w as a};
2
- //# sourceMappingURL=chunk-KH6QS5OU.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/CostCalculator/Results/CostCalculatorBenefitsBreakdown.tsx"],"sourcesContent":["import { Info } from 'lucide-react';\nimport React from 'react';\n\nimport { Button } from '@/src/components/ui/button';\nimport { Separator } from '@/src/components/ui/separator';\nimport {\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n Tooltip as UITooltip,\n} from '@/src/components/ui/tooltip';\nimport { formatCurrency } from '@/src/lib/utils';\n\ntype CostCalculatorBenefitsBreakdownProps = {\n benefitsTotal: number | undefined;\n benefitsBreakdown: {\n name: string;\n description: string | null;\n amount: number;\n }[];\n currency: string;\n};\n\nexport function CostCalculatorBenefitsBreakdown({\n benefitsTotal,\n benefitsBreakdown,\n currency,\n}: CostCalculatorBenefitsBreakdownProps) {\n return (\n <div>\n <div className=\"flex justify-between items-center mb-2\">\n <h3 className=\"font-medium text-primary-foreground-800\">Benefits</h3>\n <span className=\"font-semibold text-lg\">\n {formatCurrency(benefitsTotal, currency)}\n </span>\n </div>\n <Separator className=\"mb-3\" />\n\n <div className=\"space-y-3 pl-2\">\n {benefitsBreakdown.map((benefit, index) => (\n <div key={index} className=\"flex justify-between items-start text-sm\">\n <div className=\"flex items-start gap-2\">\n <span>{benefit.name}</span>\n <TooltipProvider>\n <UITooltip>\n <TooltipTrigger asChild>\n <Button variant=\"ghost\" size=\"icon\" className=\"h-4 w-4 p-0\">\n <Info className=\"h-3 w-3 text-gray-400\" />\n <span className=\"sr-only\">Info</span>\n </Button>\n </TooltipTrigger>\n <TooltipContent>\n <p className=\"max-w-xs\">{benefit.description}</p>\n </TooltipContent>\n </UITooltip>\n </TooltipProvider>\n </div>\n <span>{formatCurrency(benefit.amount, currency)}</span>\n </div>\n ))}\n </div>\n </div>\n );\n}\n"],"mappings":"wNAAA,OAAS,QAAAA,MAAY,eACrB,OAAOC,MAAW,QAsBX,SAASC,EAAgC,CAC9C,cAAAC,EACA,kBAAAC,EACA,SAAAC,CACF,EAAyC,CACvC,OACEC,EAAA,cAAC,WACCA,EAAA,cAAC,OAAI,UAAU,0CACbA,EAAA,cAAC,MAAG,UAAU,2CAA0C,UAAQ,EAChEA,EAAA,cAAC,QAAK,UAAU,yBACbC,EAAeJ,EAAeE,CAAQ,CACzC,CACF,EACAC,EAAA,cAACE,EAAA,CAAU,UAAU,OAAO,EAE5BF,EAAA,cAAC,OAAI,UAAU,kBACZF,EAAkB,IAAI,CAACK,EAASC,IAC/BJ,EAAA,cAAC,OAAI,IAAKI,EAAO,UAAU,4CACzBJ,EAAA,cAAC,OAAI,UAAU,0BACbA,EAAA,cAAC,YAAMG,EAAQ,IAAK,EACpBH,EAAA,cAACK,EAAA,KACCL,EAAA,cAACM,EAAA,KACCN,EAAA,cAACO,EAAA,CAAe,QAAO,IACrBP,EAAA,cAACQ,EAAA,CAAO,QAAQ,QAAQ,KAAK,OAAO,UAAU,eAC5CR,EAAA,cAACS,EAAA,CAAK,UAAU,wBAAwB,EACxCT,EAAA,cAAC,QAAK,UAAU,WAAU,MAAI,CAChC,CACF,EACAA,EAAA,cAACU,EAAA,KACCV,EAAA,cAAC,KAAE,UAAU,YAAYG,EAAQ,WAAY,CAC/C,CACF,CACF,CACF,EACAH,EAAA,cAAC,YAAMC,EAAeE,EAAQ,OAAQJ,CAAQ,CAAE,CAClD,CACD,CACH,CACF,CAEJ,CAxCgBY,EAAAf,EAAA","names":["Info","React","CostCalculatorBenefitsBreakdown","benefitsTotal","benefitsBreakdown","currency","React","formatCurrency","Separator","benefit","index","TooltipProvider","Tooltip","TooltipTrigger","Button","Info","TooltipContent","__name"]}
@@ -1,2 +0,0 @@
1
- import{b as n}from"./chunk-DZYFSFZ7.js";import{b as r}from"./chunk-56BNVYTD.js";import{a as o}from"./chunk-AYDF3IFZ.js";import e from"react";function B(t){let{formId:i}=n();return e.createElement(r,{...t,form:i},t.children)}o(B,"TerminationSubmit");export{B as a};
2
- //# sourceMappingURL=chunk-KSGPQCSG.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/Termination/TerminationSubmit.tsx"],"sourcesContent":["import { Button } from '@/src/components/ui/button';\nimport React, { ButtonHTMLAttributes, PropsWithChildren } from 'react';\nimport { useTerminationContext } from './context';\n\nexport function TerminationSubmit(\n props: PropsWithChildren<ButtonHTMLAttributes<HTMLButtonElement>>,\n) {\n const { formId } = useTerminationContext();\n\n return (\n <Button {...props} form={formId}>\n {props.children}\n </Button>\n );\n}\n"],"mappings":"wHACA,OAAOA,MAAwD,QAGxD,SAASC,EACdC,EACA,CACA,GAAM,CAAE,OAAAC,CAAO,EAAIC,EAAsB,EAEzC,OACEC,EAAA,cAACC,EAAA,CAAQ,GAAGJ,EAAO,KAAMC,GACtBD,EAAM,QACT,CAEJ,CAVgBK,EAAAN,EAAA","names":["React","TerminationSubmit","props","formId","useTerminationContext","React","Button","__name"]}
@@ -1,2 +0,0 @@
1
- import{a as l}from"./chunk-OLJ2S6A6.js";import{d as s,e}from"./chunk-344TN4EG.js";import{b as a}from"./chunk-A4RX3KRZ.js";import{a as r}from"./chunk-AYDF3IFZ.js";import g,{useId as y}from"react";import{useForm as p}from"react-hook-form";var v=r(({estimationOptions:n=s,defaultValues:o={countryRegionSlug:"",currencySlug:"",salary:""},options:i,render:u})=>{let c=y(),t=e({defaultRegion:o.countryRegionSlug,estimationOptions:n,options:i}),m=a(t.handleValidation),C=p({resolver:m,defaultValues:{country:o?.countryRegionSlug,currency:o?.currencySlug,region:"",salary:o?.salary},shouldUnregister:!0,mode:"onBlur"});return g.createElement(l.Provider,{value:{form:C,formId:c,costCalculatorBag:t}},u(t))},"CostCalculatorFlow");export{v as a};
2
- //# sourceMappingURL=chunk-M5VZBMLC.js.map
@@ -1,2 +0,0 @@
1
- import{b as n}from"./chunk-WS3C3WIJ.js";import{b as o}from"./chunk-56BNVYTD.js";import{a as t}from"./chunk-AYDF3IFZ.js";import u from"react";function s({children:r,...i}){let{onboardingBag:{back:e}}=n();return u.createElement(o,{...i,onClick:()=>{e()}},r)}t(s,"OnboardingBack");export{s as a};
2
- //# sourceMappingURL=chunk-M7WCW7WD.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/Onboarding/OnboardingBack.tsx"],"sourcesContent":["import { Button } from '@/src/components/ui/button';\nimport React, { ButtonHTMLAttributes, PropsWithChildren } from 'react';\nimport { useOnboardingContext } from '@/src/flows/Onboarding/context';\n\nexport function OnboardingBack({\n children,\n ...props\n}: PropsWithChildren<ButtonHTMLAttributes<HTMLButtonElement>>) {\n const {\n onboardingBag: { back },\n } = useOnboardingContext();\n\n return (\n <Button\n {...props}\n onClick={() => {\n back();\n }}\n >\n {children}\n </Button>\n );\n}\n"],"mappings":"wHACA,OAAOA,MAAwD,QAGxD,SAASC,EAAe,CAC7B,SAAAC,EACA,GAAGC,CACL,EAA+D,CAC7D,GAAM,CACJ,cAAe,CAAE,KAAAC,CAAK,CACxB,EAAIC,EAAqB,EAEzB,OACEC,EAAA,cAACC,EAAA,CACE,GAAGJ,EACJ,QAAS,IAAM,CACbC,EAAK,CACP,GAECF,CACH,CAEJ,CAlBgBM,EAAAP,EAAA","names":["React","OnboardingBack","children","props","back","useOnboardingContext","React","Button","__name"]}
@@ -1,2 +0,0 @@
1
- import{a as o}from"./chunk-5ETXP2QF.js";import{a as t}from"./chunk-AYDF3IFZ.js";import*as r from"react";import*as a from"@radix-ui/react-separator";function m({className:i,orientation:e="horizontal",decorative:n=!0,...p}){return r.createElement(a.Root,{"data-slot":"separator-root",decorative:n,orientation:e,className:o("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",i),...p})}t(m,"Separator");export{m as a};
2
- //# sourceMappingURL=chunk-MESREYTZ.js.map
@@ -1,2 +0,0 @@
1
- import{b as r}from"./chunk-WS3C3WIJ.js";import{b as o}from"./chunk-56BNVYTD.js";import{a as t}from"./chunk-AYDF3IFZ.js";import e from"react";function d({children:n,...i}){let{formId:u}=r();return e.createElement(o,{...i,form:u},n)}t(d,"OnboardingSubmit");export{d as a};
2
- //# sourceMappingURL=chunk-MHKNAQLP.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/Onboarding/OnboardingSubmit.tsx"],"sourcesContent":["import React, { ButtonHTMLAttributes, PropsWithChildren } from 'react';\nimport { Button } from '@/src/components/ui/button';\nimport { useOnboardingContext } from '@/src/flows/Onboarding/context';\n\nexport function OnboardingSubmit({\n children,\n ...props\n}: PropsWithChildren<ButtonHTMLAttributes<HTMLButtonElement>>) {\n const { formId } = useOnboardingContext();\n\n return (\n <Button {...props} form={formId}>\n {children}\n </Button>\n );\n}\n"],"mappings":"wHAAA,OAAOA,MAAwD,QAIxD,SAASC,EAAiB,CAC/B,SAAAC,EACA,GAAGC,CACL,EAA+D,CAC7D,GAAM,CAAE,OAAAC,CAAO,EAAIC,EAAqB,EAExC,OACEC,EAAA,cAACC,EAAA,CAAQ,GAAGJ,EAAO,KAAMC,GACtBF,CACH,CAEJ,CAXgBM,EAAAP,EAAA","names":["React","OnboardingSubmit","children","props","formId","useOnboardingContext","React","Button","__name"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/CostCalculator/context.ts"],"sourcesContent":["import { useCostCalculator } from '@/src/flows/CostCalculator/hooks';\nimport { $TSFixMe } from '@remoteoss/json-schema-form';\nimport { createContext, useContext } from 'react';\nimport { UseFormReturn } from 'react-hook-form';\n\nexport const CostCalculatorContext = createContext<{\n form: UseFormReturn<$TSFixMe> | null;\n formId: string | undefined;\n costCalculatorBag?: ReturnType<typeof useCostCalculator>;\n}>({\n form: null,\n formId: undefined,\n costCalculatorBag: undefined,\n});\n\nexport const useCostCalculatorContext = () => {\n const context = useContext(CostCalculatorContext);\n if (!context.form) {\n throw new Error(\n 'useCostCalculatorContext must be used within a CostCalculatorProvider',\n );\n }\n\n return {\n form: context.form,\n formId: context.formId,\n costCalculatorBag: context.costCalculatorBag,\n } as const;\n};\n"],"mappings":"wCAEA,OAAS,iBAAAA,EAAe,cAAAC,MAAkB,QAGnC,IAAMC,EAAwBC,EAIlC,CACD,KAAM,KACN,OAAQ,OACR,kBAAmB,MACrB,CAAC,EAEYC,EAA2BC,EAAA,IAAM,CAC5C,IAAMC,EAAUC,EAAWL,CAAqB,EAChD,GAAI,CAACI,EAAQ,KACX,MAAM,IAAI,MACR,uEACF,EAGF,MAAO,CACL,KAAMA,EAAQ,KACd,OAAQA,EAAQ,OAChB,kBAAmBA,EAAQ,iBAC7B,CACF,EAbwC","names":["createContext","useContext","CostCalculatorContext","createContext","useCostCalculatorContext","__name","context","useContext"]}
@@ -1,2 +0,0 @@
1
- import{b as i}from"./chunk-OLJ2S6A6.js";import{a as e}from"./chunk-BKROCZRD.js";import{a as l}from"./chunk-IDSJI7KQ.js";import{a as r}from"./chunk-AYDF3IFZ.js";import t from"react";function S({onSubmit:u,onError:C,onSuccess:c}){let{form:a,formId:n,costCalculatorBag:s}=i(),d=r(async m=>{let o=await s?.onSubmit(m);await u?.(m),o?.error?C?.(o.error):o?.data&&c?.(o?.data)},"handleSubmit");return t.createElement(l,{...a},t.createElement("form",{id:n,onSubmit:a.handleSubmit(d),className:"space-y-4 RemoteFlows__CostCalculatorForm"},t.createElement(e,{fields:s?.fields??[]})))}r(S,"CostCalculatorForm");export{S as a};
2
- //# sourceMappingURL=chunk-QEMICBEY.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/CostCalculator/CostCalculatorForm.tsx"],"sourcesContent":["import { CostCalculatorEstimateResponse } from '@/src/client';\nimport { JSONSchemaFormFields } from '@/src/components/form/JSONSchemaForm';\nimport { Form } from '@/src/components/ui/form';\nimport { useCostCalculatorContext } from '@/src/flows/CostCalculator/context';\nimport { EstimationError } from '@/src/flows/CostCalculator/hooks';\nimport { CostCalculatorEstimationFormValues } from '@/src/flows/CostCalculator/types';\nimport React from 'react';\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: (data: CostCalculatorEstimationFormValues) => 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: CostCalculatorEstimateResponse) => 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\nexport function CostCalculatorForm({\n onSubmit,\n onError,\n onSuccess,\n}: CostCalculatorFormProps) {\n const { form, formId, costCalculatorBag } = useCostCalculatorContext();\n\n const handleSubmit = async (values: CostCalculatorEstimationFormValues) => {\n const costCalculatorResults = await costCalculatorBag?.onSubmit(values);\n\n await onSubmit?.(values);\n\n if (costCalculatorResults?.error) {\n onError?.(costCalculatorResults.error);\n } else {\n if (costCalculatorResults?.data) {\n onSuccess?.(costCalculatorResults?.data);\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":"gKAMA,OAAOA,MAAW,QAoBX,SAASC,EAAmB,CACjC,SAAAC,EACA,QAAAC,EACA,UAAAC,CACF,EAA4B,CAC1B,GAAM,CAAE,KAAAC,EAAM,OAAAC,EAAQ,kBAAAC,CAAkB,EAAIC,EAAyB,EAE/DC,EAAeC,EAAA,MAAOC,GAA+C,CACzE,IAAMC,EAAwB,MAAML,GAAmB,SAASI,CAAM,EAEtE,MAAMT,IAAWS,CAAM,EAEnBC,GAAuB,MACzBT,IAAUS,EAAsB,KAAK,EAEjCA,GAAuB,MACzBR,IAAYQ,GAAuB,IAAI,CAG7C,EAZqB,gBAcrB,OACEC,EAAA,cAACC,EAAA,CAAM,GAAGT,GACRQ,EAAA,cAAC,QACC,GAAIP,EACJ,SAAUD,EAAK,aAAaI,CAAY,EACxC,UAAU,6CAEVI,EAAA,cAACE,EAAA,CAAqB,OAAQR,GAAmB,QAAU,CAAC,EAAG,CACjE,CACF,CAEJ,CAhCgBG,EAAAT,EAAA","names":["React","CostCalculatorForm","onSubmit","onError","onSuccess","form","formId","costCalculatorBag","useCostCalculatorContext","handleSubmit","__name","values","costCalculatorResults","React","Form","JSONSchemaFormFields"]}
@@ -1,2 +0,0 @@
1
- import{a as s}from"./chunk-RLS4PMWA.js";import{b as t}from"./chunk-WS3C3WIJ.js";import{d as e}from"./chunk-XVOJ4RMC.js";import{a as o}from"./chunk-AYDF3IFZ.js";import a from"react";function l({components:i}){let{onboardingBag:n}=t(),r=n.fields??[],m=e(r,{});return a.createElement(s,{defaultValues:m,components:i,onSubmit:o(async()=>{n?.next()},"handleSubmit")})}o(l,"BenefitsStep");export{l as a};
2
- //# sourceMappingURL=chunk-RIAYBN32.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/Onboarding/BenefitsStep.tsx"],"sourcesContent":["import React from 'react';\nimport { Components } from '@/src/types/remoteFlows';\nimport { OnboardingForm } from '@/src/flows/Onboarding/OnboardingForm';\nimport { useOnboardingContext } from '@/src/flows/Onboarding/context';\nimport { SuccessResponse } from '@/src/client';\nimport { getInitialValues } from '@/src/components/form/utils';\n\ntype BenefitsPayload = Record<string, unknown>;\n\ntype BenefitsStepProps = {\n components: Components;\n /**\n * Callback function to be called when the benefits form is submitted.\n * It can be used to perform any additional validation or processing before\n * the onboarding moves to the last step.\n * @param values\n * @returns\n */\n onSubmit?: (values: BenefitsPayload) => Promise<void>;\n /**\n * Callback function to be called when the submitting benefits form fails.\n * @param error\n * @returns\n */\n onError?: (error: unknown) => void;\n /**\n * Callback function to be called when benefits form is successfully submitted.\n * This function is called after the submitting benefits form is submitted.\n * @param data\n * @returns\n */\n onSuccess?: (data: SuccessResponse) => void;\n};\n\nexport function BenefitsStep({ components }: BenefitsStepProps) {\n const { onboardingBag } = useOnboardingContext();\n const fields = onboardingBag.fields ?? [];\n const initialValues = getInitialValues(fields, {});\n\n const handleSubmit = async () => {\n onboardingBag?.next();\n };\n\n return (\n <OnboardingForm\n defaultValues={initialValues}\n components={components}\n onSubmit={handleSubmit}\n />\n );\n}\n"],"mappings":"gKAAA,OAAOA,MAAW,QAkCX,SAASC,EAAa,CAAE,WAAAC,CAAW,EAAsB,CAC9D,GAAM,CAAE,cAAAC,CAAc,EAAIC,EAAqB,EACzCC,EAASF,EAAc,QAAU,CAAC,EAClCG,EAAgBC,EAAiBF,EAAQ,CAAC,CAAC,EAMjD,OACEG,EAAA,cAACC,EAAA,CACC,cAAeH,EACf,WAAYJ,EACZ,SARiBQ,EAAA,SAAY,CAC/BP,GAAe,KAAK,CACtB,EAFqB,gBASnB,CAEJ,CAhBgBO,EAAAT,EAAA","names":["React","BenefitsStep","components","onboardingBag","useOnboardingContext","fields","initialValues","getInitialValues","React","OnboardingForm","__name"]}
@@ -1,2 +0,0 @@
1
- import{b as d}from"./chunk-WS3C3WIJ.js";import{a}from"./chunk-BKROCZRD.js";import{b as s}from"./chunk-A4RX3KRZ.js";import{a as t}from"./chunk-IDSJI7KQ.js";import{a as m}from"./chunk-AYDF3IFZ.js";import e,{useEffect as l}from"react";import{useForm as y}from"react-hook-form";function B({defaultValues:f,onSubmit:p,components:c}){let{formId:u,onboardingBag:o}=d(),F=s(o.handleValidation),r=y({resolver:F,defaultValues:f,shouldUnregister:!1,mode:"onBlur"});return l(()=>{o.employmentId&&o?.checkFieldUpdates(r.getValues())},[]),l(()=>{let b=r?.watch(n=>{Object.keys(n).some(i=>n[i]!==o?.initialValues?.[i])&&o?.checkFieldUpdates(n)});return()=>b?.unsubscribe()},[]),e.createElement(t,{...r},e.createElement("form",{id:u,onSubmit:r.handleSubmit(p),className:"space-y-4 RemoteFlows__OnboardingForm"},e.createElement(a,{components:c,fields:o.fields})))}m(B,"OnboardingForm");export{B as a};
2
- //# sourceMappingURL=chunk-RLS4PMWA.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/Onboarding/OnboardingForm.tsx"],"sourcesContent":["import { JSONSchemaFormFields } from '@/src/components/form/JSONSchemaForm';\nimport { Form } from '@/src/components/ui/form';\nimport React, { useEffect } from 'react';\nimport { useOnboardingContext } from './context';\nimport { useForm } from 'react-hook-form';\nimport { useJsonSchemasValidationFormResolver } from '@/src/components/form/yupValidationResolver';\nimport { Fields } from '@remoteoss/json-schema-form';\nimport { BasicInformationFormPayload } from '@/src/flows/Onboarding/types';\nimport { Components } from '@/src/types/remoteFlows';\n\ntype OnboardingFormProps = {\n onSubmit: (payload: BasicInformationFormPayload) => void;\n components?: Components;\n fields?: Fields;\n defaultValues: Record<string, unknown>;\n};\n\nexport function OnboardingForm({\n defaultValues,\n onSubmit,\n components,\n}: OnboardingFormProps) {\n const { formId, onboardingBag } = useOnboardingContext();\n\n const resolver = useJsonSchemasValidationFormResolver(\n // @ts-expect-error no matching type\n onboardingBag.handleValidation,\n );\n\n const form = useForm({\n resolver,\n defaultValues,\n shouldUnregister: false,\n mode: 'onBlur',\n });\n\n useEffect(() => {\n // When the employmentId is set,\n // we need to run the checkFieldUpdates to update fieldValues in useStepState\n if (onboardingBag.employmentId) {\n onboardingBag?.checkFieldUpdates(form.getValues());\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n const subscription = form?.watch((values) => {\n const isAnyFieldDirty = Object.keys(values).some(\n (key) =>\n values[key as keyof unknown] !==\n onboardingBag?.initialValues?.[key as keyof unknown],\n );\n if (isAnyFieldDirty) {\n onboardingBag?.checkFieldUpdates(values);\n }\n });\n return () => subscription?.unsubscribe();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <Form {...form}>\n <form\n id={formId}\n onSubmit={form.handleSubmit(onSubmit)}\n className=\"space-y-4 RemoteFlows__OnboardingForm\"\n >\n <JSONSchemaFormFields\n components={components}\n fields={onboardingBag.fields}\n />\n </form>\n </Form>\n );\n}\n"],"mappings":"mMAEA,OAAOA,GAAS,aAAAC,MAAiB,QAEjC,OAAS,WAAAC,MAAe,kBAajB,SAASC,EAAe,CAC7B,cAAAC,EACA,SAAAC,EACA,WAAAC,CACF,EAAwB,CACtB,GAAM,CAAE,OAAAC,EAAQ,cAAAC,CAAc,EAAIC,EAAqB,EAEjDC,EAAWC,EAEfH,EAAc,gBAChB,EAEMI,EAAOC,EAAQ,CACnB,SAAAH,EACA,cAAAN,EACA,iBAAkB,GAClB,KAAM,QACR,CAAC,EAED,OAAAU,EAAU,IAAM,CAGVN,EAAc,cAChBA,GAAe,kBAAkBI,EAAK,UAAU,CAAC,CAGrD,EAAG,CAAC,CAAC,EAELE,EAAU,IAAM,CACd,IAAMC,EAAeH,GAAM,MAAOI,GAAW,CACnB,OAAO,KAAKA,CAAM,EAAE,KACzCC,GACCD,EAAOC,CAAoB,IAC3BT,GAAe,gBAAgBS,CAAoB,CACvD,GAEET,GAAe,kBAAkBQ,CAAM,CAE3C,CAAC,EACD,MAAO,IAAMD,GAAc,YAAY,CAEzC,EAAG,CAAC,CAAC,EAGHG,EAAA,cAACC,EAAA,CAAM,GAAGP,GACRM,EAAA,cAAC,QACC,GAAIX,EACJ,SAAUK,EAAK,aAAaP,CAAQ,EACpC,UAAU,yCAEVa,EAAA,cAACE,EAAA,CACC,WAAYd,EACZ,OAAQE,EAAc,OACxB,CACF,CACF,CAEJ,CAzDgBa,EAAAlB,EAAA","names":["React","useEffect","useForm","OnboardingForm","defaultValues","onSubmit","components","formId","onboardingBag","useOnboardingContext","resolver","useJsonSchemasValidationFormResolver","form","useForm","useEffect","subscription","values","key","React","Form","JSONSchemaFormFields","__name"]}
@@ -1,2 +0,0 @@
1
- import{a as m}from"./chunk-YH5F6MGK.js";import{b as r}from"./chunk-DZYFSFZ7.js";import{a as o}from"./chunk-AYDF3IFZ.js";import a from"react";function p({onSubmit:n}){let{terminationBag:i}=r();return a.createElement(m,{onSubmit:o(async t=>{await n?.(i?.parseFormValues(t)),i?.next()},"handleSubmit")})}o(p,"TerminationDetailsForm");export{p as a};
2
- //# sourceMappingURL=chunk-RRFSGYAC.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/Termination/TerminationDetailsForm.tsx"],"sourcesContent":["import React from 'react';\nimport { useTerminationContext } from './context';\nimport { TerminationFormValues } from '@/src/flows/Termination/types';\nimport { TerminationForm } from '@/src/flows/Termination/TerminationForm';\n\ntype TerminationDetailsFormProps = {\n /*\n * The function is called when the form is submitted. It receives the form values as an argument.\n */\n onSubmit?: (payload: TerminationFormValues) => void | Promise<void>;\n};\n\nexport function TerminationDetailsForm({\n onSubmit,\n}: TerminationDetailsFormProps) {\n const { terminationBag } = useTerminationContext();\n const handleSubmit = async (values: TerminationFormValues) => {\n await onSubmit?.(\n terminationBag?.parseFormValues(values) as TerminationFormValues,\n );\n terminationBag?.next();\n };\n\n return <TerminationForm onSubmit={handleSubmit} />;\n}\n"],"mappings":"wHAAA,OAAOA,MAAW,QAYX,SAASC,EAAuB,CACrC,SAAAC,CACF,EAAgC,CAC9B,GAAM,CAAE,eAAAC,CAAe,EAAIC,EAAsB,EAQjD,OAAOC,EAAA,cAACC,EAAA,CAAgB,SAPHC,EAAA,MAAOC,GAAkC,CAC5D,MAAMN,IACJC,GAAgB,gBAAgBK,CAAM,CACxC,EACAL,GAAgB,KAAK,CACvB,EALqB,gBAO2B,CAClD,CAZgBI,EAAAN,EAAA","names":["React","TerminationDetailsForm","onSubmit","terminationBag","useTerminationContext","React","TerminationForm","__name","values"]}
@@ -1,2 +0,0 @@
1
- import{a as g,b as _,c as h,d as v,e as T}from"./chunk-GMGKIQLI.js";import{a as P}from"./chunk-WQHKB5T7.js";import{a as w}from"./chunk-KH6QS5OU.js";import{a as x}from"./chunk-J55S4SEH.js";import{a as N}from"./chunk-6A3F6JG6.js";import{a as y}from"./chunk-GFBF55NR.js";import{a as l}from"./chunk-5ETXP2QF.js";import{a as n}from"./chunk-AYDF3IFZ.js";import{Euro as j}from"lucide-react";import t,{lazy as z,useState as E}from"react";import*as c from"react";import*as r from"@radix-ui/react-tabs";function k({className:a,...o}){return c.createElement(r.Root,{"data-slot":"tabs",className:l("flex flex-col gap-2",a),...o})}n(k,"Tabs");function B({className:a,...o}){return c.createElement(r.List,{"data-slot":"tabs-list",className:l("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-1",a),...o})}n(B,"TabsList");function d({className:a,...o}){return c.createElement(r.Trigger,{"data-slot":"tabs-trigger",className:l("data-[state=active]:bg-background data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring inline-flex flex-1 items-center justify-center gap-1.5 rounded-md px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",a),...o})}n(d,"TabsTrigger");var H=z(()=>import("./flows/CostCalculator/Results/CostCalculatorResultsChart.js"));function X({employmentData:a,options:o}){let[e,S]=E("monthly"),i=a.employments?.[0];if(!i)return null;let s=i.employer_currency_costs,m=s.currency.symbol,b=e==="monthly"?s.monthly_gross_salary:s.annual_gross_salary,f=e==="monthly"?s.monthly_benefits_total:s.annual_benefits_total,C=e==="monthly"?s.monthly_contributions_total:s.annual_contributions_total,D=e==="monthly"?s.monthly_total:s.annual_total,u=e==="monthly"?s.monthly_benefits_breakdown:s.annual_benefits_breakdown,L=e==="monthly"?s.monthly_contributions_breakdown:s.annual_contributions_breakdown,p=[{name:"Gross Salary",value:b,color:o?.chartColors?.grossSalary??"#3b82f6"},{name:"Contributions",value:C,color:o?.chartColors?.contributions??"#f59e0b"}];return u&&p.push({name:"Benefits",value:f??0,color:o?.chartColors?.benefits??"#10b981"}),t.createElement(t.Fragment,null,t.createElement("div",{className:"flex flex-col md:flex-row gap-4 md:items-center justify-between mb-6 RemoteFlows__CostCalculatorResults"},t.createElement("div",{className:"RemoteFlows__CostCalculatorResults__Header"},t.createElement("h2",{className:"text-xl font-semibold flex items-center gap-2"},t.createElement("span",{className:"flex items-center gap-1"},t.createElement(j,{className:"h-5 w-5 text-gray-600"}),o?.title??"Cost Calculator"),t.createElement(y,{className:"ml-2"},i.country.name)),t.createElement("p",{className:"text-primary-foreground font-medium mt-1"},o?.description??`Total cost of employment in ${i.country.name}`)),t.createElement(k,{value:e,onValueChange:F=>S(F),className:"w-full md:w-auto RemoteFlows__CostCalculatorResults__Tabs"},t.createElement(B,{className:"grid w-full md:w-[200px] grid-cols-2"},t.createElement(d,{value:"monthly"},"Monthly"),t.createElement(d,{value:"annual"},"Annual")))),t.createElement("div",{className:l("grid grid-cols-1 gap-6",o?.showChart?"md:grid-cols-3":"","RemoteFlows__CostCalculatorResults_CostBreakdown")},t.createElement(g,{className:"md:col-span-2 rounded-lg"},t.createElement(_,{className:"pb-2"},t.createElement(h,null,"Cost Breakdown"),t.createElement(v,null,"Detailed breakdown of all employer costs")),t.createElement(T,null,t.createElement("div",{className:"space-y-6"},t.createElement(N,{grossSalary:b,currency:m}),u?t.createElement(w,{benefitsBreakdown:u,benefitsTotal:f,currency:m}):null,t.createElement(x,{contributionsBreakdown:L,contributionsTotal:C,currency:m}),t.createElement(P,{totalCost:D,currency:m})))),o?.showChart&&t.createElement(H,{chartData:p,currency:m})))}n(X,"CostCalculatorResults");export{X as a};
2
- //# sourceMappingURL=chunk-S4FKLPBB.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/CostCalculator/Results/CostCalculatorResults.tsx","../src/components/ui/tabs.tsx"],"sourcesContent":["import { Euro } from 'lucide-react';\nimport React, { lazy, useState } from 'react';\n\nimport { CostCalculatorEstimateResponse } from '@/src/client';\nimport { Badge } from '@/src/components/ui/badge';\nimport {\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n} from '@/src/components/ui/card';\nimport { Tabs, TabsList, TabsTrigger } from '@/src/components/ui/tabs';\nimport { cn } from '@/src/lib/utils';\nimport { CostCalculatorBenefitsBreakdown } from './CostCalculatorBenefitsBreakdown';\nimport { CostCalculatorContributionsBreakdown } from './CostCalculatorContributionsBreakdown';\nimport { CostCalculatorGrossSalary } from './CostCalculatorGrossSalary';\nimport { CostCalculatorTotalCost } from './CostCalculatorTotalCost';\n\nconst CostCalculatorResultsChart = lazy(\n () => import('./CostCalculatorResultsChart'),\n);\n\ninterface CostCalculatorResultProps {\n employmentData: CostCalculatorEstimateResponse['data'];\n options?: Partial<{\n title: string;\n description: string;\n showChart: boolean;\n chartColors: {\n grossSalary: string;\n contributions: string;\n benefits: string;\n };\n }>;\n}\n\nexport function CostCalculatorResults({\n employmentData,\n options,\n}: CostCalculatorResultProps) {\n const [view, setView] = useState<'monthly' | 'annual'>('monthly');\n const employment = employmentData.employments?.[0];\n\n if (!employment) {\n return null;\n }\n\n const costs =\n view === 'monthly'\n ? employment.employer_currency_costs\n : employment.employer_currency_costs;\n\n const currency = costs.currency.symbol;\n const grossSalary =\n view === 'monthly' ? costs.monthly_gross_salary : costs.annual_gross_salary;\n const benefitsTotal =\n view === 'monthly'\n ? costs.monthly_benefits_total\n : costs.annual_benefits_total;\n const contributionsTotal =\n view === 'monthly'\n ? costs.monthly_contributions_total\n : costs.annual_contributions_total;\n const totalCost =\n view === 'monthly' ? costs.monthly_total : costs.annual_total;\n\n const benefitsBreakdown =\n view === 'monthly'\n ? costs.monthly_benefits_breakdown\n : costs.annual_benefits_breakdown;\n const contributionsBreakdown =\n view === 'monthly'\n ? costs.monthly_contributions_breakdown\n : costs.annual_contributions_breakdown;\n\n const chartData = [\n {\n name: 'Gross Salary',\n value: grossSalary,\n color: options?.chartColors?.grossSalary ?? '#3b82f6',\n },\n {\n name: 'Contributions',\n value: contributionsTotal,\n color: options?.chartColors?.contributions ?? '#f59e0b',\n },\n ];\n\n if (benefitsBreakdown) {\n chartData.push({\n name: 'Benefits',\n value: benefitsTotal ?? 0,\n color: options?.chartColors?.benefits ?? '#10b981',\n });\n }\n\n return (\n <>\n <div className=\"flex flex-col md:flex-row gap-4 md:items-center justify-between mb-6 RemoteFlows__CostCalculatorResults\">\n <div className=\"RemoteFlows__CostCalculatorResults__Header\">\n <h2 className=\"text-xl font-semibold flex items-center gap-2\">\n <span className=\"flex items-center gap-1\">\n <Euro className=\"h-5 w-5 text-gray-600\" />\n {options?.title ?? 'Cost Calculator'}\n </span>\n <Badge className=\"ml-2\">{employment.country.name}</Badge>\n </h2>\n <p className=\"text-primary-foreground font-medium mt-1\">\n {options?.description ??\n `Total cost of employment in ${employment.country.name}`}\n </p>\n </div>\n\n <Tabs\n value={view}\n onValueChange={(v) => setView(v as 'monthly' | 'annual')}\n className=\"w-full md:w-auto RemoteFlows__CostCalculatorResults__Tabs\"\n >\n <TabsList className=\"grid w-full md:w-[200px] grid-cols-2\">\n <TabsTrigger value=\"monthly\">Monthly</TabsTrigger>\n <TabsTrigger value=\"annual\">Annual</TabsTrigger>\n </TabsList>\n </Tabs>\n </div>\n\n <div\n className={cn(\n 'grid grid-cols-1 gap-6',\n options?.showChart ? 'md:grid-cols-3' : '',\n 'RemoteFlows__CostCalculatorResults_CostBreakdown',\n )}\n >\n <Card className=\"md:col-span-2 rounded-lg\">\n <CardHeader className=\"pb-2\">\n <CardTitle>Cost Breakdown</CardTitle>\n <CardDescription>\n Detailed breakdown of all employer costs\n </CardDescription>\n </CardHeader>\n <CardContent>\n <div className=\"space-y-6\">\n {/* Salary Section */}\n <CostCalculatorGrossSalary\n grossSalary={grossSalary}\n currency={currency}\n />\n {/* Benefits Section */}\n {benefitsBreakdown ? (\n <CostCalculatorBenefitsBreakdown\n benefitsBreakdown={benefitsBreakdown}\n benefitsTotal={benefitsTotal}\n currency={currency}\n />\n ) : null}\n {/* Contributions Section */}\n <CostCalculatorContributionsBreakdown\n contributionsBreakdown={contributionsBreakdown}\n contributionsTotal={contributionsTotal}\n currency={currency}\n />\n {/* Total */}\n <CostCalculatorTotalCost\n totalCost={totalCost}\n currency={currency}\n />\n </div>\n </CardContent>\n </Card>\n\n {options?.showChart && (\n <CostCalculatorResultsChart\n chartData={chartData}\n currency={currency}\n />\n )}\n </div>\n </>\n );\n}\n","import * as React from 'react';\nimport * as TabsPrimitive from '@radix-ui/react-tabs';\n\nimport { cn } from '@/src/lib/utils';\n\nfunction Tabs({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Root>) {\n return (\n <TabsPrimitive.Root\n data-slot=\"tabs\"\n className={cn('flex flex-col gap-2', className)}\n {...props}\n />\n );\n}\n\nfunction TabsList({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.List>) {\n return (\n <TabsPrimitive.List\n data-slot=\"tabs-list\"\n className={cn(\n 'bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-1',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction TabsTrigger({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Trigger>) {\n return (\n <TabsPrimitive.Trigger\n data-slot=\"tabs-trigger\"\n className={cn(\n \"data-[state=active]:bg-background data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring inline-flex flex-1 items-center justify-center gap-1.5 rounded-md px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction TabsContent({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Content>) {\n return (\n <TabsPrimitive.Content\n data-slot=\"tabs-content\"\n className={cn('flex-1 outline-none', className)}\n {...props}\n />\n );\n}\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent };\n"],"mappings":"4VAAA,OAAS,QAAAA,MAAY,eACrB,OAAOC,GAAS,QAAAC,EAAM,YAAAC,MAAgB,QCDtC,UAAYC,MAAW,QACvB,UAAYC,MAAmB,uBAI/B,SAASC,EAAK,CACZ,UAAAC,EACA,GAAGC,CACL,EAAoD,CAClD,OACE,gBAAe,OAAd,CACC,YAAU,OACV,UAAWC,EAAG,sBAAuBF,CAAS,EAC7C,GAAGC,EACN,CAEJ,CAXSE,EAAAJ,EAAA,QAaT,SAASK,EAAS,CAChB,UAAAJ,EACA,GAAGC,CACL,EAAoD,CAClD,OACE,gBAAe,OAAd,CACC,YAAU,YACV,UAAWC,EACT,kGACAF,CACF,EACC,GAAGC,EACN,CAEJ,CAdSE,EAAAC,EAAA,YAgBT,SAASC,EAAY,CACnB,UAAAL,EACA,GAAGC,CACL,EAAuD,CACrD,OACE,gBAAe,UAAd,CACC,YAAU,eACV,UAAWC,EACT,0fACAF,CACF,EACC,GAAGC,EACN,CAEJ,CAdSE,EAAAE,EAAA,eDfT,IAAMC,EAA6BC,EACjC,IAAM,OAAO,8DAA8B,CAC7C,EAgBO,SAASC,EAAsB,CACpC,eAAAC,EACA,QAAAC,CACF,EAA8B,CAC5B,GAAM,CAACC,EAAMC,CAAO,EAAIC,EAA+B,SAAS,EAC1DC,EAAaL,EAAe,cAAc,CAAC,EAEjD,GAAI,CAACK,EACH,OAAO,KAGT,IAAMC,EAEAD,EAAW,wBAGXE,EAAWD,EAAM,SAAS,OAC1BE,EACJN,IAAS,UAAYI,EAAM,qBAAuBA,EAAM,oBACpDG,EACJP,IAAS,UACLI,EAAM,uBACNA,EAAM,sBACNI,EACJR,IAAS,UACLI,EAAM,4BACNA,EAAM,2BACNK,EACJT,IAAS,UAAYI,EAAM,cAAgBA,EAAM,aAE7CM,EACJV,IAAS,UACLI,EAAM,2BACNA,EAAM,0BACNO,EACJX,IAAS,UACLI,EAAM,gCACNA,EAAM,+BAENQ,EAAY,CAChB,CACE,KAAM,eACN,MAAON,EACP,MAAOP,GAAS,aAAa,aAAe,SAC9C,EACA,CACE,KAAM,gBACN,MAAOS,EACP,MAAOT,GAAS,aAAa,eAAiB,SAChD,CACF,EAEA,OAAIW,GACFE,EAAU,KAAK,CACb,KAAM,WACN,MAAOL,GAAiB,EACxB,MAAOR,GAAS,aAAa,UAAY,SAC3C,CAAC,EAIDc,EAAA,cAAAA,EAAA,cACEA,EAAA,cAAC,OAAI,UAAU,2GACbA,EAAA,cAAC,OAAI,UAAU,8CACbA,EAAA,cAAC,MAAG,UAAU,iDACZA,EAAA,cAAC,QAAK,UAAU,2BACdA,EAAA,cAACC,EAAA,CAAK,UAAU,wBAAwB,EACvCf,GAAS,OAAS,iBACrB,EACAc,EAAA,cAACE,EAAA,CAAM,UAAU,QAAQZ,EAAW,QAAQ,IAAK,CACnD,EACAU,EAAA,cAAC,KAAE,UAAU,4CACVd,GAAS,aACR,+BAA+BI,EAAW,QAAQ,IAAI,EAC1D,CACF,EAEAU,EAAA,cAACG,EAAA,CACC,MAAOhB,EACP,cAAgBiB,GAAMhB,EAAQgB,CAAyB,EACvD,UAAU,6DAEVJ,EAAA,cAACK,EAAA,CAAS,UAAU,wCAClBL,EAAA,cAACM,EAAA,CAAY,MAAM,WAAU,SAAO,EACpCN,EAAA,cAACM,EAAA,CAAY,MAAM,UAAS,QAAM,CACpC,CACF,CACF,EAEAN,EAAA,cAAC,OACC,UAAWO,EACT,yBACArB,GAAS,UAAY,iBAAmB,GACxC,kDACF,GAEAc,EAAA,cAACQ,EAAA,CAAK,UAAU,4BACdR,EAAA,cAACS,EAAA,CAAW,UAAU,QACpBT,EAAA,cAACU,EAAA,KAAU,gBAAc,EACzBV,EAAA,cAACW,EAAA,KAAgB,0CAEjB,CACF,EACAX,EAAA,cAACY,EAAA,KACCZ,EAAA,cAAC,OAAI,UAAU,aAEbA,EAAA,cAACa,EAAA,CACC,YAAapB,EACb,SAAUD,EACZ,EAECK,EACCG,EAAA,cAACc,EAAA,CACC,kBAAmBjB,EACnB,cAAeH,EACf,SAAUF,EACZ,EACE,KAEJQ,EAAA,cAACe,EAAA,CACC,uBAAwBjB,EACxB,mBAAoBH,EACpB,SAAUH,EACZ,EAEAQ,EAAA,cAACgB,EAAA,CACC,UAAWpB,EACX,SAAUJ,EACZ,CACF,CACF,CACF,EAECN,GAAS,WACRc,EAAA,cAAClB,EAAA,CACC,UAAWiB,EACX,SAAUP,EACZ,CAEJ,CACF,CAEJ,CA9IgByB,EAAAjC,EAAA","names":["Euro","React","lazy","useState","React","TabsPrimitive","Tabs","className","props","cn","__name","TabsList","TabsTrigger","CostCalculatorResultsChart","lazy","CostCalculatorResults","employmentData","options","view","setView","useState","employment","costs","currency","grossSalary","benefitsTotal","contributionsTotal","totalCost","benefitsBreakdown","contributionsBreakdown","chartData","React","Euro","Badge","Tabs","v","TabsList","TabsTrigger","cn","Card","CardHeader","CardTitle","CardDescription","CardContent","CostCalculatorGrossSalary","CostCalculatorBenefitsBreakdown","CostCalculatorContributionsBreakdown","CostCalculatorTotalCost","__name"]}
@@ -1,2 +0,0 @@
1
- import{a as n}from"./chunk-AYDF3IFZ.js";import{useState as d}from"react";var f=n(s=>{let l=Object.keys(s);if(l.length===0)throw new Error("No steps provided to useStepState");let[r,a]=d({}),[p,i]=d({currentStep:s[l[0]],totalSteps:l.length,values:null});function c(){let{index:u}=p.currentStep,t=Object.values(s).find(e=>e.index===u+1);t&&(i(e=>({...e,currentStep:t,values:{...e.values,[e.currentStep.name]:{...e.values?.[e.currentStep.name],...r}}})),a({}))}n(c,"nextStep");function S(){let{index:u}=p.currentStep,t=Object.values(s).find(e=>e.index===u-1);t&&(i(e=>({...e,currentStep:t,values:{...e.values,[e.currentStep.name]:{...e.values?.[e.currentStep.name],...r}}})),a({}))}return n(S,"previousStep"),{nextStep:c,previousStep:S,stepState:p,fieldValues:r,setFieldValues:a}},"useStepState");export{f as a};
2
- //# sourceMappingURL=chunk-S56EWAS4.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/useStepState.ts"],"sourcesContent":["import { useState } from 'react';\nimport { FieldValues } from 'react-hook-form';\n\nexport type Step = {\n index: number;\n name: string;\n};\n\ntype StepState<T extends string, Fields = FieldValues> = {\n currentStep: Step;\n totalSteps: number;\n values:\n | {\n [key in T]: Fields;\n }\n | null;\n};\n\nexport const useStepState = <T extends string, Fields = FieldValues>(\n steps: Record<T, Step>,\n) => {\n const stepKeys = Object.keys(steps) as Array<keyof typeof steps>;\n\n if (stepKeys.length === 0) {\n throw new Error('No steps provided to useStepState');\n }\n\n const [fieldValues, setFieldValues] = useState<Fields>({} as Fields);\n const [stepState, setStepState] = useState<StepState<T, Fields>>({\n currentStep: steps[stepKeys[0]],\n totalSteps: stepKeys.length,\n values: null,\n });\n\n function nextStep() {\n const { index } = stepState.currentStep;\n const stepValues = Object.values<Step>(steps);\n const nextStep = stepValues.find((step) => step.index === index + 1);\n\n if (nextStep) {\n setStepState((previousState) => ({\n ...previousState,\n currentStep: nextStep,\n values: {\n ...previousState.values,\n [previousState.currentStep.name]: {\n ...previousState.values?.[previousState.currentStep.name as T],\n ...fieldValues,\n },\n } as { [key in T]: Fields },\n }));\n setFieldValues({} as Fields); // Reset field values for the next step\n }\n }\n\n function previousStep() {\n const { index } = stepState.currentStep;\n const stepValues = Object.values<Step>(steps);\n const previousStep = stepValues.find((step) => step.index === index - 1);\n\n if (previousStep) {\n setStepState((previousState) => ({\n ...previousState,\n currentStep: previousStep,\n values: {\n ...previousState.values,\n [previousState.currentStep.name]: {\n ...previousState.values?.[previousState.currentStep.name as T],\n ...fieldValues,\n },\n } as { [key in T]: Fields },\n }));\n setFieldValues({} as Fields); // Reset field values for the previous step\n }\n }\n\n return {\n /**\n * Moves to the next step in the step state.\n * It updates the current step and resets the field values for the next step.\n * The field values for the current step are stored in the step state.\n * @returns {void}\n */\n nextStep,\n /**\n * Moves to the previous step in the step state.\n * It updates the current step and resets the field values for the previous step.\n * The field values for the current step are stored in the step state.\n * @returns {void}\n */\n previousStep,\n /**\n * The current step state containing the current step, total number of steps and\n * the form values for each step.\n * @returns {StepState<T>} The current step state.\n */\n stepState,\n /**\n * The field values for the current step.\n * @returns {FieldValues} The field values for the current step.\n */\n fieldValues,\n /**\n * Sets the field values for the current step.\n * @param values The field values to set.\n * @returns {void}\n */\n setFieldValues,\n };\n};\n"],"mappings":"wCAAA,OAAS,YAAAA,MAAgB,QAkBlB,IAAMC,EAAeC,EAC1BC,GACG,CACH,IAAMC,EAAW,OAAO,KAAKD,CAAK,EAElC,GAAIC,EAAS,SAAW,EACtB,MAAM,IAAI,MAAM,mCAAmC,EAGrD,GAAM,CAACC,EAAaC,CAAc,EAAIC,EAAiB,CAAC,CAAW,EAC7D,CAACC,EAAWC,CAAY,EAAIF,EAA+B,CAC/D,YAAaJ,EAAMC,EAAS,CAAC,CAAC,EAC9B,WAAYA,EAAS,OACrB,OAAQ,IACV,CAAC,EAED,SAASM,GAAW,CAClB,GAAM,CAAE,MAAAC,CAAM,EAAIH,EAAU,YAEtBE,EADa,OAAO,OAAaP,CAAK,EAChB,KAAMS,GAASA,EAAK,QAAUD,EAAQ,CAAC,EAE/DD,IACFD,EAAcI,IAAmB,CAC/B,GAAGA,EACH,YAAaH,EACb,OAAQ,CACN,GAAGG,EAAc,OACjB,CAACA,EAAc,YAAY,IAAI,EAAG,CAChC,GAAGA,EAAc,SAASA,EAAc,YAAY,IAAS,EAC7D,GAAGR,CACL,CACF,CACF,EAAE,EACFC,EAAe,CAAC,CAAW,EAE/B,CAnBSJ,EAAAQ,EAAA,YAqBT,SAASI,GAAe,CACtB,GAAM,CAAE,MAAAH,CAAM,EAAIH,EAAU,YAEtBM,EADa,OAAO,OAAaX,CAAK,EACZ,KAAMS,GAASA,EAAK,QAAUD,EAAQ,CAAC,EAEnEG,IACFL,EAAcI,IAAmB,CAC/B,GAAGA,EACH,YAAaC,EACb,OAAQ,CACN,GAAGD,EAAc,OACjB,CAACA,EAAc,YAAY,IAAI,EAAG,CAChC,GAAGA,EAAc,SAASA,EAAc,YAAY,IAAS,EAC7D,GAAGR,CACL,CACF,CACF,EAAE,EACFC,EAAe,CAAC,CAAW,EAE/B,CAnBS,OAAAJ,EAAAY,EAAA,gBAqBF,CAOL,SAAAJ,EAOA,aAAAI,EAMA,UAAAN,EAKA,YAAAH,EAMA,eAAAC,CACF,CACF,EA3F4B","names":["useState","useStepState","__name","steps","stepKeys","fieldValues","setFieldValues","useState","stepState","setStepState","nextStep","index","step","previousState","previousStep"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/ContractAmendment/hooks.ts"],"sourcesContent":["import {\n CreateContractAmendmentParams,\n EmploymentShowResponse,\n getShowContractAmendmentSchema,\n postAutomatableContractAmendment,\n postCreateContractAmendment,\n} from '@/src/client';\n\nimport {\n convertToCents,\n parseJSFToValidate,\n} from '@/src/components/form/utils';\nimport { mutationToPromise } from '@/src/lib/mutations';\n\nimport { Client } from '@hey-api/client-fetch';\nimport { createHeadlessForm, modify } from '@remoteoss/json-schema-form';\nimport { useMutation, useQuery } from '@tanstack/react-query';\nimport { ContractAmendmentParams } from './types';\n\nimport { useEmploymentQuery } from '@/src/common/hooks';\nimport { useClient } from '@/src/context';\nimport { FieldValues } from 'react-hook-form';\nimport { useStepState } from '../useStepState';\nimport { buildInitialValues, STEPS } from './utils';\n\ntype ContractAmendmentSchemaParams = {\n countryCode: string;\n employment: EmploymentShowResponse | undefined;\n fieldValues: FieldValues | undefined;\n options?: ContractAmendmentParams['options'];\n};\n\nconst useContractAmendmentSchemaQuery = ({\n countryCode,\n employment,\n fieldValues,\n options,\n}: ContractAmendmentSchemaParams) => {\n const { client } = useClient();\n const jsonSchemaQueryParam = options?.jsonSchemaVersion?.contract_amendments\n ? {\n json_schema_version: options.jsonSchemaVersion.contract_amendments,\n }\n : {};\n return useQuery({\n queryKey: ['contract-amendment-schema'],\n retry: false,\n queryFn: async () => {\n const response = await getShowContractAmendmentSchema({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n query: {\n employment_id: employment?.data?.employment?.id as string,\n country_code: countryCode,\n ...jsonSchemaQueryParam,\n },\n });\n\n // If response status is 404 or other error, throw an error to trigger isError\n if (response.error || !response.data) {\n throw new Error('Failed to fetch contract amendment schema');\n }\n\n return response;\n },\n enabled: Boolean(employment),\n select: ({ data }) => {\n let jsfSchema = data?.data || {};\n\n if (options && options.jsfModify) {\n const { schema } = modify(jsfSchema, options.jsfModify);\n jsfSchema = schema;\n }\n\n const copyFieldValues = {\n ...fieldValues,\n annual_gross_salary: fieldValues?.annual_gross_salary\n ? convertToCents(fieldValues?.annual_gross_salary)\n : undefined,\n };\n\n const hasFieldValues = Object.keys(copyFieldValues).length > 0;\n\n const result = createHeadlessForm(jsfSchema, {\n initialValues: hasFieldValues\n ? copyFieldValues\n : buildInitialValues(employment),\n });\n return result;\n },\n });\n};\n\nconst useCreateContractAmendmentMutation = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: (payload: CreateContractAmendmentParams) => {\n return postCreateContractAmendment({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n body: payload,\n });\n },\n });\n};\n\nconst useAutomatableContractAmendmentMutation = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: (payload: CreateContractAmendmentParams) => {\n return postAutomatableContractAmendment({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n body: payload,\n });\n },\n });\n};\n\nexport const useContractAmendment = ({\n employmentId,\n countryCode,\n options,\n}: ContractAmendmentParams) => {\n const { fieldValues, setFieldValues, stepState, nextStep, previousStep } =\n useStepState<keyof typeof STEPS>(STEPS);\n\n const {\n data: employment,\n isLoading: isLoadingEmployment,\n isError: isErrorEmployment,\n error: errorEmployment,\n } = useEmploymentQuery({\n employmentId,\n });\n\n const {\n data: contractAmendmentHeadlessForm,\n isLoading: isLoadingContractAmendments,\n isError: isErrorContractAmendmentSchema,\n error: errorContractAmendmentSchema,\n } = useContractAmendmentSchemaQuery({\n employment,\n countryCode,\n // In case the user is navigating back to the form step, we need to\n // pass the previous field values, so that the schema can be\n // generated with the correct values.\n fieldValues: {\n ...stepState.values?.[stepState.currentStep.name as keyof typeof STEPS], // Restore values for the current step\n ...fieldValues,\n },\n options,\n });\n\n const initialValues = buildInitialValues(\n employment,\n contractAmendmentHeadlessForm?.fields,\n );\n\n const createContractAmendmentMutation = useCreateContractAmendmentMutation();\n const automatableContractAmendmentMutation =\n useAutomatableContractAmendmentMutation();\n\n async function onSubmit(values: FieldValues) {\n const parsedValues = parseJSFToValidate(\n values,\n contractAmendmentHeadlessForm?.fields || [],\n {\n isPartialValidation: false,\n },\n );\n\n const payload = {\n employment_id: employment?.data.employment?.id as string,\n amendment_contract_id: employment?.data.employment\n ?.active_contract_id as string,\n contract_amendment: {\n ...parsedValues,\n },\n };\n\n switch (stepState.currentStep.name) {\n case STEPS.form.name: {\n const { mutateAsync } = mutationToPromise(\n automatableContractAmendmentMutation,\n );\n\n const automatableContractAmendment = await mutateAsync(payload);\n\n nextStep();\n\n return automatableContractAmendment;\n }\n case STEPS.confirmation_form.name: {\n const { mutateAsync } = mutationToPromise(\n createContractAmendmentMutation,\n );\n\n return mutateAsync(payload);\n }\n\n default:\n throw new Error('Invalid step state');\n }\n }\n\n function handleValidation(values: FieldValues) {\n if (contractAmendmentHeadlessForm) {\n const parsedValues = parseJSFToValidate(\n values,\n contractAmendmentHeadlessForm?.fields,\n );\n\n return contractAmendmentHeadlessForm?.handleValidation(parsedValues);\n }\n return null;\n }\n\n function back() {\n previousStep();\n }\n\n return {\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: contractAmendmentHeadlessForm?.fields || [],\n /**\n * Loading state indicating if either employment or contract amendment data is being fetched\n */\n isLoading: isLoadingEmployment || isLoadingContractAmendments,\n /**\n * Error state indicating if there was an error fetching either employment or contract amendment data\n */\n isError: isErrorEmployment || isErrorContractAmendmentSchema,\n /**\n * Error object containing details about any errors that occurred during data fetching\n */\n error: errorEmployment || errorContractAmendmentSchema,\n /**\n * Loading state indicating if a contract amendment mutation is in progress\n */\n isSubmitting:\n automatableContractAmendmentMutation.isPending ||\n createContractAmendmentMutation.isPending,\n /**\n * Initial form values built from employment data and contract amendment fields\n */\n initialValues,\n /**\n * Current form field values\n */\n values: fieldValues,\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,\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 handle form submission\n * @param values - Form values to submit\n * @returns Promise resolving to the mutation result\n */\n onSubmit,\n /**\n * Function to handle going back to the previous step\n * @returns {void}\n */\n back,\n };\n};\n"],"mappings":"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","names":["createHeadlessForm","modify","useMutation","useQuery","useContractAmendmentSchemaQuery","__name","countryCode","employment","fieldValues","options","client","useClient","jsonSchemaQueryParam","useQuery","response","getShowContractAmendmentSchema","data","jsfSchema","schema","modify","copyFieldValues","convertToCents","hasFieldValues","createHeadlessForm","buildInitialValues","useCreateContractAmendmentMutation","useMutation","payload","postCreateContractAmendment","useAutomatableContractAmendmentMutation","postAutomatableContractAmendment","useContractAmendment","employmentId","setFieldValues","stepState","nextStep","previousStep","useStepState","STEPS","isLoadingEmployment","isErrorEmployment","errorEmployment","useEmploymentQuery","contractAmendmentHeadlessForm","isLoadingContractAmendments","isErrorContractAmendmentSchema","errorContractAmendmentSchema","initialValues","createContractAmendmentMutation","automatableContractAmendmentMutation","onSubmit","values","parsedValues","parseJSFToValidate","mutateAsync","mutationToPromise","automatableContractAmendment","handleValidation","back"]}
@@ -1,2 +0,0 @@
1
- import{b as r}from"./chunk-5ETXP2QF.js";import{a as o}from"./chunk-AYDF3IFZ.js";import t from"react";function n({totalCost:s,currency:a}){return t.createElement("div",{className:"pt-2 mt-4 border-t-2 border-gray-200"},t.createElement("div",{className:"flex justify-between items-center"},t.createElement("h3",{className:"font-bold text-primary-foreground-800"},"Total Cost"),t.createElement("span",{className:"font-bold text-xl"},r(s,a))))}o(n,"CostCalculatorTotalCost");export{n as a};
2
- //# sourceMappingURL=chunk-WQHKB5T7.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/CostCalculator/Results/CostCalculatorTotalCost.tsx"],"sourcesContent":["import React from 'react';\n\nimport { formatCurrency } from '@/src/lib/utils';\n\ntype CostCalculatorTotalCostProps = {\n totalCost: number;\n currency: string;\n};\n\nexport function CostCalculatorTotalCost({\n totalCost,\n currency,\n}: CostCalculatorTotalCostProps) {\n return (\n <div className=\"pt-2 mt-4 border-t-2 border-gray-200\">\n <div className=\"flex justify-between items-center\">\n <h3 className=\"font-bold text-primary-foreground-800\">Total Cost</h3>\n <span className=\"font-bold text-xl\">\n {formatCurrency(totalCost, currency)}\n </span>\n </div>\n </div>\n );\n}\n"],"mappings":"gFAAA,OAAOA,MAAW,QASX,SAASC,EAAwB,CACtC,UAAAC,EACA,SAAAC,CACF,EAAiC,CAC/B,OACEC,EAAA,cAAC,OAAI,UAAU,wCACbA,EAAA,cAAC,OAAI,UAAU,qCACbA,EAAA,cAAC,MAAG,UAAU,yCAAwC,YAAU,EAChEA,EAAA,cAAC,QAAK,UAAU,qBACbC,EAAeH,EAAWC,CAAQ,CACrC,CACF,CACF,CAEJ,CAdgBG,EAAAL,EAAA","names":["React","CostCalculatorTotalCost","totalCost","currency","React","formatCurrency","__name"]}
@@ -1,2 +0,0 @@
1
- import{a as o}from"./chunk-AYDF3IFZ.js";import{createContext as r,useContext as t}from"react";var e=r({formId:void 0,onboardingBag:null}),i=o(()=>{let n=t(e);if(!n.formId||!n.onboardingBag)throw new Error("useOnboardingContext must be used within a OnboardingContextProvider");return{formId:n.formId,onboardingBag:n.onboardingBag}},"useOnboardingContext");export{e as a,i as b};
2
- //# sourceMappingURL=chunk-WS3C3WIJ.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/Onboarding/context.ts"],"sourcesContent":["import type { useOnboarding } from '@/src/flows/Onboarding/hooks';\nimport { createContext, useContext } from 'react';\n\nexport const OnboardingContext = createContext<{\n formId: string | undefined;\n onboardingBag: ReturnType<typeof useOnboarding> | null;\n}>({\n formId: undefined,\n onboardingBag: null,\n});\n\nexport const useOnboardingContext = () => {\n const context = useContext(OnboardingContext);\n if (!context.formId || !context.onboardingBag) {\n throw new Error(\n 'useOnboardingContext must be used within a OnboardingContextProvider',\n );\n }\n\n return {\n formId: context.formId,\n onboardingBag: context.onboardingBag,\n } as const;\n};\n"],"mappings":"wCACA,OAAS,iBAAAA,EAAe,cAAAC,MAAkB,QAEnC,IAAMC,EAAoBC,EAG9B,CACD,OAAQ,OACR,cAAe,IACjB,CAAC,EAEYC,EAAuBC,EAAA,IAAM,CACxC,IAAMC,EAAUC,EAAWL,CAAiB,EAC5C,GAAI,CAACI,EAAQ,QAAU,CAACA,EAAQ,cAC9B,MAAM,IAAI,MACR,sEACF,EAGF,MAAO,CACL,OAAQA,EAAQ,OAChB,cAAeA,EAAQ,aACzB,CACF,EAZoC","names":["createContext","useContext","OnboardingContext","createContext","useOnboardingContext","__name","context","useContext"]}
@@ -1,2 +0,0 @@
1
- import{a as S}from"./chunk-HSW5HMHH.js";import{a as F}from"./chunk-XFD3ULUF.js";import{a as h}from"./chunk-WWANHPT7.js";import{a as T}from"./chunk-FZ2HS6G7.js";import{b as V}from"./chunk-36UPHOJS.js";import{a as _}from"./chunk-JRQSZHUU.js";import{b as c}from"./chunk-FNMWKUNJ.js";import{a as y}from"./chunk-S56EWAS4.js";import{d as p}from"./chunk-WRDKLT4N.js";import{c as s}from"./chunk-XVOJ4RMC.js";import{a as e}from"./chunk-AYDF3IFZ.js";import{createHeadlessForm as P,modify as x}from"@remoteoss/json-schema-form";import{useMutation as A,useQuery as K}from"@tanstack/react-query";import L from"lodash/omitBy";import q from"lodash/isNull";import z from"lodash/omit";function R(o){return{confidential:"",customer_informed_employee:"",customer_informed_employee_date:"",customer_informed_employee_description:"",personal_email:"",termination_reason:void 0,reason_description:"",termination_reason_files:[],will_challenge_termination:"",will_challenge_termination_description:null,agrees_to_pto_amount:"",agrees_to_pto_amount_notes:null,acknowledge_termination_procedure:!1,additional_comments:"",proposed_termination_date:"",risk_assessment_reasons:[],timesheet_file:void 0,...o}}e(R,"buildInitialValues");var B=e(()=>{let{client:o}=p();return A({mutationFn:e(a=>c({client:o,headers:{Authorization:""},body:a}),"mutationFn")})},"useCreateTermination"),I=e(({formValues:o,jsfModify:a,step:m})=>K({queryKey:["rmt-flows-termination-schema",m],queryFn:e(()=>S[m]??F,"queryFn"),select:e(({data:u})=>{let{schema:i}=x(u.schema,a||{});return P(i||{},{initialValues:o||{}})},"select")}),"useTerminationSchema"),ue=e(({employmentId:o,options:a})=>{let{fieldValues:m,setFieldValues:u,stepState:i,previousStep:d,nextStep:g}=y(T),k={...i.values?.[i.currentStep.name],...m},{data:r,isLoading:w}=I({formValues:k,jsfModify:a?.jsfModify,step:i.currentStep.name}),l=P(h.data.schema),f=B(),{mutateAsync:b}=_(f);async function C(n){if(!o)throw new Error("Employment id is missing");if(r){let t=s(n,l.fields,{isPartialValidation:!0}),{customer_informed_employee:j}=t,D=j==="yes"?{employee_awareness:{date:t.customer_informed_employee_date,note:t.customer_informed_employee_description}}:void 0,H=V(t,["agrees_to_pto_amount","confidential","customer_informed_employee","will_challenge_termination"]),J=z(H,"customer_informed_employee_date","customer_informed_employee_description"),O=L({...J,...D},q);return b({employment_id:o,termination_details:O,type:"termination"})}}e(C,"onSubmit");function M(){d()}e(M,"back");function v(){g()}e(v,"next");let E=R({...i.values?.employee_communication,...i.values?.termination_details,...i.values?.paid_time_off,...i.values?.additional_information});return{employmentId:o,stepState:i,fields:r?.fields||[],isLoading:w,isSubmitting:f.isPending,initialValues:E,handleValidation:e(n=>{if(r){let t=s(n,r?.fields);return r?.handleValidation(t)}return null},"handleValidation"),checkFieldUpdates:e(n=>{if(l){let t=s(n,l?.fields,{isPartialValidation:!0});u(t)}},"checkFieldUpdates"),parseFormValues:e(n=>s(n,l.fields,{isPartialValidation:!0}),"parseFormValues"),onSubmit:C,back:M,next:v}},"useTermination");export{ue as a};
2
- //# sourceMappingURL=chunk-XJMVWJZ4.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/Termination/hooks.ts"],"sourcesContent":["import {\n CreateOffboardingParams,\n postCreateOffboarding,\n TerminationDetailsParams,\n} from '@/src/client';\nimport { mutationToPromise } from '@/src/lib/mutations';\nimport { Client } from '@hey-api/client-fetch';\nimport { createHeadlessForm, modify } from '@remoteoss/json-schema-form';\nimport { useMutation, useQuery } from '@tanstack/react-query';\nimport omitBy from 'lodash/omitBy';\nimport isNull from 'lodash/isNull';\nimport { parseJSFToValidate } from '@/src/components/form/utils';\nimport { JSFModify } from '@/src/flows/CostCalculator/types';\nimport { TerminationFormValues } from '@/src/flows/Termination/types';\nimport { useClient } from '@/src/context';\nimport omit from 'lodash/omit';\nimport { parseFormRadioValues } from '@/src/flows/utils';\nimport { useStepState } from '@/src/flows/useStepState';\nimport { STEPS } from '@/src/flows/Termination/utils';\nimport { defaultSchema } from '@/src/flows/Termination/json-schemas/defaultSchema';\nimport { schema } from '@/src/flows/Termination/json-schemas/schema';\nimport { jsonSchema } from '@/src/flows/Termination/json-schemas/jsonSchema';\n\nfunction buildInitialValues(\n stepsInitialValues: Partial<TerminationFormValues>,\n): TerminationFormValues {\n const initialValues: TerminationFormValues = {\n confidential: '',\n customer_informed_employee: '',\n customer_informed_employee_date: '',\n customer_informed_employee_description: '',\n personal_email: '',\n termination_reason: undefined,\n reason_description: '',\n termination_reason_files: [],\n will_challenge_termination: '',\n will_challenge_termination_description: null,\n agrees_to_pto_amount: '',\n agrees_to_pto_amount_notes: null,\n acknowledge_termination_procedure: false,\n additional_comments: '',\n proposed_termination_date: '',\n risk_assessment_reasons: [],\n timesheet_file: undefined,\n ...stepsInitialValues,\n };\n\n return initialValues;\n}\n\nconst useCreateTermination = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: (payload: CreateOffboardingParams) => {\n return postCreateOffboarding({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n body: payload,\n });\n },\n });\n};\n\nconst useTerminationSchema = ({\n formValues,\n jsfModify,\n step,\n}: {\n formValues?: TerminationFormValues;\n jsfModify?: JSFModify;\n step?: string;\n}) => {\n return useQuery({\n queryKey: ['rmt-flows-termination-schema', step],\n queryFn: () => {\n return schema[step as keyof typeof schema] ?? defaultSchema;\n },\n select: ({ data }) => {\n const { schema } = modify(data.schema, jsfModify || {});\n const form = createHeadlessForm(schema || {}, {\n initialValues: formValues || {},\n });\n return form;\n },\n });\n};\n\ntype TerminationHookProps = {\n employmentId: string;\n options?: {\n jsfModify?: JSFModify;\n };\n};\n\nexport const useTermination = ({\n employmentId,\n options,\n}: TerminationHookProps) => {\n const { fieldValues, setFieldValues, stepState, previousStep, nextStep } =\n useStepState<keyof typeof STEPS, TerminationFormValues>(STEPS);\n\n const formValues = {\n ...stepState.values?.[stepState.currentStep.name as keyof typeof STEPS], // Restore values for the current step\n ...fieldValues,\n };\n\n const { data: terminationHeadlessForm, isLoading: isLoadingTermination } =\n useTerminationSchema({\n formValues: formValues,\n jsfModify: options?.jsfModify,\n step: stepState.currentStep.name,\n });\n\n const entireTerminationSchema = createHeadlessForm(jsonSchema.data.schema);\n\n const createTermination = useCreateTermination();\n const { mutateAsync } = mutationToPromise(createTermination);\n\n async function onSubmit(values: TerminationFormValues) {\n if (!employmentId) {\n throw new Error('Employment id is missing');\n }\n\n if (terminationHeadlessForm) {\n // this is a hack because I need to validate all form values with the entire schema\n const parsedValues = parseJSFToValidate(\n values,\n entireTerminationSchema.fields,\n { isPartialValidation: true },\n );\n\n const { customer_informed_employee: customerInformedEmployee } =\n parsedValues;\n\n const employeeAwareness =\n customerInformedEmployee === 'yes'\n ? {\n employee_awareness: {\n date: parsedValues.customer_informed_employee_date,\n note: parsedValues.customer_informed_employee_description,\n },\n }\n : undefined;\n\n const radioFieldKeys = [\n 'agrees_to_pto_amount',\n 'confidential',\n 'customer_informed_employee',\n 'will_challenge_termination',\n ];\n\n const parsedRadioValues = parseFormRadioValues(\n parsedValues,\n radioFieldKeys,\n );\n\n const normalizedValues = omit(\n parsedRadioValues,\n 'customer_informed_employee_date',\n 'customer_informed_employee_description',\n );\n\n const terminationDetails: TerminationDetailsParams = omitBy(\n {\n ...normalizedValues,\n ...employeeAwareness,\n },\n isNull,\n ) as unknown as TerminationDetailsParams;\n\n const terminationPayload: CreateOffboardingParams = {\n employment_id: employmentId,\n termination_details: terminationDetails,\n type: 'termination',\n };\n\n return mutateAsync(terminationPayload);\n }\n\n return;\n }\n\n function back() {\n previousStep();\n }\n\n function next() {\n nextStep();\n }\n\n const initialValues = buildInitialValues({\n ...stepState.values?.employee_communication,\n ...stepState.values?.termination_details,\n ...stepState.values?.paid_time_off,\n ...stepState.values?.additional_information,\n });\n\n return {\n /**\n * Employment id passed useful to be used between components\n */\n employmentId,\n /**\n * Current step state containing the current step and total number of steps\n */\n stepState,\n /**\n * Array of form fields from the contract amendment schema\n */\n fields: terminationHeadlessForm?.fields || [],\n /**\n * Loading state indicating if the termination schema is being fetched\n */\n isLoading: isLoadingTermination,\n /**\n * Loading state indicating if a contract amendment mutation is in progress\n */\n isSubmitting: createTermination.isPending,\n /**\n * Initial form values\n */\n initialValues: initialValues,\n /**\n * Function to validate form values against the contract amendment schema\n * @param values - Form values to validate\n * @returns Validation result or null if no schema is available\n */\n handleValidation: (values: TerminationFormValues) => {\n if (terminationHeadlessForm) {\n const parsedValues = parseJSFToValidate(\n values,\n terminationHeadlessForm?.fields,\n );\n return terminationHeadlessForm?.handleValidation(parsedValues);\n }\n return null;\n },\n /**\n * Function to update the current form field values\n * @param values - New form values to set\n */\n checkFieldUpdates: (values: Partial<TerminationFormValues>) => {\n if (entireTerminationSchema) {\n const parsedValues = parseJSFToValidate(\n values,\n entireTerminationSchema?.fields,\n { isPartialValidation: true },\n );\n setFieldValues(parsedValues as TerminationFormValues);\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: (values: TerminationFormValues) => {\n return parseJSFToValidate(values, entireTerminationSchema.fields, {\n isPartialValidation: true,\n });\n },\n /**\n * Function to handle form submission\n * @param values - Form values to submit\n * @returns Promise resolving to the mutation result\n */\n onSubmit,\n\n /**\n * Function to handle going back to the previous step\n * @returns {void}\n */\n back,\n\n /**\n * Function to handle going to the next step\n * @returns {void}\n */\n next,\n };\n};\n"],"mappings":"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","names":["createHeadlessForm","modify","useMutation","useQuery","omitBy","isNull","omit","buildInitialValues","stepsInitialValues","__name","useCreateTermination","client","useClient","useMutation","payload","postCreateOffboarding","useTerminationSchema","formValues","jsfModify","step","useQuery","schema","defaultSchema","data","modify","createHeadlessForm","useTermination","employmentId","options","fieldValues","setFieldValues","stepState","previousStep","nextStep","useStepState","STEPS","terminationHeadlessForm","isLoadingTermination","entireTerminationSchema","jsonSchema","createTermination","mutateAsync","mutationToPromise","onSubmit","values","parsedValues","parseJSFToValidate","customerInformedEmployee","employeeAwareness","parsedRadioValues","parseFormRadioValues","normalizedValues","omit","terminationDetails","omitBy","isNull","back","next","initialValues"]}
@@ -1,2 +0,0 @@
1
- import{b as o}from"./chunk-56BNVYTD.js";import{b as n}from"./chunk-6HGUGIYJ.js";import{a as t}from"./chunk-AYDF3IFZ.js";import i from"react";function B({children:r,...e}){let{formId:m}=n();return i.createElement(o,{...e,form:m},r)}t(B,"ContractAmendmentSubmit");export{B as a};
2
- //# sourceMappingURL=chunk-XLFHHYVS.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/ContractAmendment/ContractAmendmentSubmit.tsx"],"sourcesContent":["import { Button } from '@/src/components/ui/button';\nimport React, { ButtonHTMLAttributes, PropsWithChildren } from 'react';\nimport { useContractAmendmentContext } from './context';\n\nexport function ContractAmendmentSubmit({\n children,\n ...props\n}: PropsWithChildren<ButtonHTMLAttributes<HTMLButtonElement>>) {\n const { formId } = useContractAmendmentContext();\n\n return (\n <Button {...props} form={formId}>\n {children}\n </Button>\n );\n}\n"],"mappings":"wHACA,OAAOA,MAAwD,QAGxD,SAASC,EAAwB,CACtC,SAAAC,EACA,GAAGC,CACL,EAA+D,CAC7D,GAAM,CAAE,OAAAC,CAAO,EAAIC,EAA4B,EAE/C,OACEC,EAAA,cAACC,EAAA,CAAQ,GAAGJ,EAAO,KAAMC,GACtBF,CACH,CAEJ,CAXgBM,EAAAP,EAAA","names":["React","ContractAmendmentSubmit","children","props","formId","useContractAmendmentContext","React","Button","__name"]}
@@ -1,2 +0,0 @@
1
- import{a as e}from"./chunk-XJMVWJZ4.js";import{a}from"./chunk-YDUUQU4R.js";import{a as f}from"./chunk-GPICG72A.js";import{a as r}from"./chunk-YOC3VDC7.js";import{a as p}from"./chunk-RRFSGYAC.js";import{a as m}from"./chunk-KSGPQCSG.js";import{a as n}from"./chunk-2KK5HDYP.js";import{a as T}from"./chunk-JWIYUQ5X.js";import{a as t}from"./chunk-DZYFSFZ7.js";import{a as i}from"./chunk-AYDF3IFZ.js";import c,{useId as u}from"react";var k=i(({employmentId:d,render:s,options:l})=>{let y=u(),o=e({employmentId:d,options:l});return c.createElement(t.Provider,{value:{formId:y,terminationBag:o}},s({terminationBag:o,components:{SubmitButton:m,TimeOff:n,Back:r,EmployeeComunicationStep:a,TerminationDetailsStep:p,PaidTimeOffStep:f,AdditionalDetailsStep:T}}))},"TerminationFlow");export{k as a};
2
- //# sourceMappingURL=chunk-XQ6WWP6K.js.map
@@ -1,2 +0,0 @@
1
- import{a as i}from"./chunk-AYDF3IFZ.js";import E from"lodash/get";var F={TEXT:"text",TEXTAREA:"textarea",NUMBER:"number",SELECT:"select",COUNTRIES:"countries",TEL:"tel",EMAIL:"email",MONEY:"money",DATE:"date",DATE_RANGE:"date-range",CURRENCIES:"currencies",TIME:"time"},I={CHECKBOX:"checkbox",ACK_CHECK:"ack-check"},l={FILE:"file",RADIO:"radio",RADIO_CARD:"radio-card",GROUP_ARRAY:"group-array",EXTRA:"extra",STATEMENT:"statement",HIDDEN:"hidden",FIELDSET:"fieldset",FIELDSET_FLAT:"fieldset-flat",WORK_SCHEDULE:"work-schedule",WORK_WEEK_SCHEDULE:"work-week-schedule",BENEFITS:"benefits",SIGNATURE:"signature",SELECT_MULTIPLE:"select-multiple",...F,...I};function b(e){return Math.round((e+Number.EPSILON)*100)/100}i(b,"round");function d(e){return parseFloat(e.replace(/,/g,""))}i(d,"convertToValidCost");function D(e){if(e==null||e===""||Number.isNaN(e)||Array.isArray(e)||typeof e=="boolean")return null;let n;return typeof e=="string"?n=d(e):n=e,b(n*100)}i(D,"convertToCents");function O(e){if(e==null||Number.isNaN(e))return null;let n;return typeof e=="string"?n=d(e||"0"):n=e,b(n/100)}i(O,"convertFromCents");var y=i(e=>Object.entries(e||{}).reduce((n,[a,t])=>(Array.isArray(t)?n[a]=t.map(r=>typeof r=="object"&&r!==null?y(r):typeof r=="string"?r.trim():r):typeof t=="object"&&t!==null?n[a]=y(t):n[a]=typeof t=="string"?t.trim():t,n),{}),"trimStringValues");function p(e){let n={};return Object.entries(e).forEach(([a,t])=>{Array.isArray(t)?n[a]=t.map(r=>typeof r=="object"&&r!==null?p(r):r===""?null:r):typeof t=="object"&&t!==null?n[a]=p(t):n[a]=t===""?null:t}),n}i(p,"convertEmptyStringsToNull");function T(e,n){let a={};return n.forEach(t=>{let r=t.name;if(!(!Object.prototype.hasOwnProperty.call(e,r)&&!(t.type===l.FIELDSET&&t.valueGroupingDisabled))){if(t.type===l.FIELDSET&&t.valueGroupingDisabled){Object.assign(a,T(e,t.fields));return}t.readOnly&&t.defaultValue?a[r]=t.defaultValue:a[r]=e[r]}}),a}i(T,"prefillReadOnlyFields");function V(e,n){return e.reduce((a,t)=>(t.type===l.FIELDSET&&t.valueGroupingDisabled?Object.assign(a,V(t.fields,n)):Object.prototype.hasOwnProperty.call(n,t.name)&&(a[t.name]=n[t.name]),a),{})}i(V,"extractFieldsetFieldsValues");var f={[l.COUNTRIES]:{transformValueFromAPI:i(e=>n=>{if(!e.multiple)return n??"";let a;return typeof n=="string"?a=n.split(","):a=n||[],a.map(r=>e.countries?.find?.(s=>"name"in s&&s.name===r)||{name:r})},"transformValueFromAPI"),transformValueToAPI:i(e=>n=>!e.multiple||typeof n=="string"?n:n.map(a=>typeof a=="string"?a:a.name),"transformValueToAPI"),transformValue:i(e=>{let n=i(a=>a?.name||a?.value||a?.label,"getCountryValue");return Array.isArray(e)?e.map(n):n(e)||""},"transformValue")},[l.NUMBER]:{transformValueToAPI:i(()=>e=>{let n=Number(e);return Number.isNaN(n)?e:n},"transformValueToAPI")},[l.MONEY]:{transformValueFromAPI:i(()=>e=>O(e)??"","transformValueFromAPI"),transformValueToAPI:i(()=>D,"transformValueToAPI")},[l.RADIO]:{transformValueToAPI:i(e=>n=>e.transformToBool?n==="yes":n,"transformValueToAPI")},[l.CHECKBOX]:{transformValueToAPI:i(e=>n=>n===void 0?!1:e.const&&n===!0?e.const:n,"transformValueToAPI")},[l.SELECT]:{transformValue:i(e=>Array.isArray(e)?e.map(n=>n.value):e?.value??"","transformValue")}};function m(e={},n){return n.filter(r=>e[r.name]||r.type===l.FIELDSET&&r.valueGroupingDisabled).reduce((r,s)=>{switch(s.type){case l.FIELDSET:{let o=s;if(o.valueGroupingDisabled){let u=V(o.fields,e);Object.assign(r,m(u,o.fields))}else r[s.name]=m(e[s.name],o.fields);break}case l.TEXTAREA:case l.TEXT:{r[s.name]=e[s.name].replace(/\0/g,"");break}case l.GROUP_ARRAY:{let o=s?.fields?.().map(c=>({...c,name:c.nameKey||""})),u=e[s.name]?.map(c=>m(c,o));r[s.name]=u;break}case l.EXTRA:{let o=s;if(o.includeValueToApi!==!1){let u=e[o.name],c=o?.transformValueToAPI||f[o.type]?.transformValueToAPI;if(c){r[o.name]=c(s)(u);break}r[o.name]=u;break}r[o.name]=void 0;break}default:{let o=e[s.name],u=s?.transformValueToAPI||f[s.type]?.transformValueToAPI;if(u){r[s.name]=u(s)(o);break}r[s.name]=o;break}}return s.forcedValue!==void 0&&(r[s.name]=s.forcedValue),r},{...e})}i(m,"parseFormValuesToAPI");function S(e,n){return e.visibilityCondition?e.visibilityCondition(n):typeof e.isVisible<"u"?!!e.isVisible:!0}i(S,"isFieldVisible");function A(e,n){return e.calculateDynamicProperties?{...e,...e.calculateDynamicProperties(n)||{}}:e}i(A,"applyFieldDynamicProperties");function g(e,n,a,t){let r={};return n.map(s=>A(s,e)).forEach(s=>{let o=s.name;t&&(o=o?`${t}.${s.name}`:t);let u=E(e,o);if(!(!S(s,e)&&!(a&&u))&&!s.meta?.ignoreValue)if(s.type==="fieldset"&&s.valueGroupingDisabled)Object.assign(r,g(e,s.fields,a,o));else if(Array.isArray(s.fields))r[s.name]=g(e,s.fields,a,o);else{if(u===void 0)return;r[s.name]=u}}),r}i(g,"excludeValuesInvisible");function P(e,n,a){let t=a?.keepInvisibleValues?e:g(e,n),r=m(t,n),s=y(r),o=p(s);return T(o,n)}i(P,"parseSubmitValues");function C(e,n,a={isPartialValidation:!1}){return P(e,n,{keepInvisibleValues:a?.isPartialValidation})}i(C,"parseJSFToValidate");function N(e){switch(e){case l.FILE:return;default:return""}}i(N,"getDefaultValueForType");function k(e,n){let a=E(e,n.name),t=n?.transformValueFromAPI||f[n.type]?.transformValueFromAPI;if(t)return t(n)(a);let r=typeof n.value=="function"?n.value(a,e):null,s=typeof n.value!="function"?n.value:null,o=n.checkboxValue===!0?a||!1:null,u=i(c=>c===""?void 0:c,"excludeString");return u(r)??u(a)??u(s)??u(n.default)??o??N(n.type)}i(k,"getInitialDefaultValue");function R(e,n,a){let t={},r=e.name;a&&(r=r?`${a}.${r}`:a);let s=e.fields;if(Array.isArray(s)){let o={};s.forEach(u=>{Object.assign(o,R(u,n,r))}),e.type===l.FIELDSET&&e.valueGroupingDisabled?Object.assign(t,o):t[e.name]=o}else t[e.name]=k(n,{...e,name:r});return t}i(R,"getInitialSubFieldValues");function x(e,n){let a={},t=n;return e.map(r=>A(r,t)).forEach(r=>{switch(r.type){case l.FIELDSET:{if(r.valueGroupingDisabled)Object.assign(a,x(r.fields,t));else{let s=R(r,t);Object.assign(a,s)}break}}}),a}i(x,"getInitialValues");export{D as a,O as b,C as c,x as d};
2
- //# sourceMappingURL=chunk-XVOJ4RMC.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/form/utils.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Field } from '@/src/flows/types';\nimport { $TSFixMe, Fields } from '@remoteoss/json-schema-form';\nimport get from 'lodash/get';\n\nconst textInputTypes = {\n TEXT: 'text',\n TEXTAREA: 'textarea',\n NUMBER: 'number',\n SELECT: 'select',\n COUNTRIES: 'countries',\n TEL: 'tel',\n EMAIL: 'email',\n MONEY: 'money',\n DATE: 'date',\n DATE_RANGE: 'date-range',\n CURRENCIES: 'currencies',\n TIME: 'time',\n} as const;\n\nconst checkboxTypes = {\n CHECKBOX: 'checkbox',\n ACK_CHECK: 'ack-check',\n} as const;\n\nconst supportedTypes = {\n FILE: 'file',\n RADIO: 'radio',\n /** @deprecated */\n RADIO_CARD: 'radio-card',\n GROUP_ARRAY: 'group-array',\n EXTRA: 'extra',\n STATEMENT: 'statement',\n HIDDEN: 'hidden',\n FIELDSET: 'fieldset',\n FIELDSET_FLAT: 'fieldset-flat',\n WORK_SCHEDULE: 'work-schedule',\n WORK_WEEK_SCHEDULE: 'work-week-schedule',\n /** @deprecated we still display benefits in read-only contract details view, but never in any form */\n BENEFITS: 'benefits',\n SIGNATURE: 'signature',\n SELECT_MULTIPLE: 'select-multiple',\n ...textInputTypes,\n ...checkboxTypes,\n} as const;\n\nfunction round(value: number): number {\n return Math.round((value + Number.EPSILON) * 100) / 100;\n}\n\nfunction convertToValidCost(value: string) {\n return parseFloat(value.replace(/,/g, ''));\n}\n\nexport function convertToCents(\n amount?: number | string | string[] | null | boolean,\n) {\n if (\n amount == null ||\n amount === '' ||\n Number.isNaN(amount) ||\n Array.isArray(amount) ||\n typeof amount === 'boolean'\n ) {\n return null;\n }\n\n let validAmount: number;\n\n if (typeof amount === 'string') {\n validAmount = convertToValidCost(amount);\n } else {\n validAmount = amount;\n }\n\n return round(validAmount * 100);\n}\n\nexport function convertFromCents(amount?: number | string | null) {\n if (amount == null || Number.isNaN(amount)) return null;\n\n let normalizedValue: number;\n\n if (typeof amount === 'string') {\n normalizedValue = convertToValidCost(amount || '0');\n } else {\n normalizedValue = amount;\n }\n\n return round(normalizedValue / 100);\n}\n\nconst trimStringValues = (values: Record<string, any>) =>\n Object.entries(values || {}).reduce<Record<string, any>>(\n (result, [key, value]) => {\n if (Array.isArray(value)) {\n // If the value is an array, recursively process each element\n result[key] = value.map((item) =>\n typeof item === 'object' && item !== null\n ? trimStringValues(item)\n : typeof item === 'string'\n ? item.trim()\n : item,\n );\n } else if (typeof value === 'object' && value !== null) {\n // If the value is an object, recursively process it\n result[key] = trimStringValues(value);\n } else {\n // Otherwise, trim the string or keep the value as is\n result[key] = typeof value === 'string' ? value.trim() : value;\n }\n return result;\n },\n {},\n );\n\nfunction convertEmptyStringsToNull(values: Record<string, any>) {\n const result: Record<string, any> = {};\n\n Object.entries(values).forEach(([key, value]) => {\n if (Array.isArray(value)) {\n // If the value is an array, recursively process each element\n result[key] = value.map((item) =>\n typeof item === 'object' && item !== null\n ? convertEmptyStringsToNull(item)\n : item === ''\n ? null\n : item,\n );\n } else if (typeof value === 'object' && value !== null) {\n // If the value is an object, recursively process it\n result[key] = convertEmptyStringsToNull(value);\n } else {\n // Otherwise, convert empty strings to null or keep the value as is\n result[key] = value === '' ? null : value;\n }\n });\n\n return result;\n}\n\n/**\n * Given a list of form values, modify the ones that are readOnly,\n * based on their field config, by adding its defaultValue.\n * This is needed to support readOnly fields that are also conditional\n * based on the \"pivotName\" workaround.\n * @param {Object} values - List with form values { name: value }.\n * @param {Array} fields - Respective form fields configuration.\n */\nfunction prefillReadOnlyFields(values: Record<string, any>, fields: any[]) {\n const newValues: Record<string, any> = {};\n\n fields.forEach((field) => {\n const fieldName = field.name;\n\n if (\n !Object.prototype.hasOwnProperty.call(values, fieldName!) &&\n !(field.type === supportedTypes.FIELDSET && field.valueGroupingDisabled)\n )\n return;\n\n if (field.type === supportedTypes.FIELDSET && field.valueGroupingDisabled) {\n Object.assign(newValues, prefillReadOnlyFields(values, field.fields));\n return;\n }\n\n if (field.readOnly && field.defaultValue) {\n newValues[fieldName!] = field.defaultValue;\n } else {\n newValues[fieldName!] = values[fieldName!];\n }\n });\n\n return newValues;\n}\n/**\n * Recursively extracts fieldsets' fields values and maps them to the field name\n * For nested fields that are fieldsets with valueGroupingDisabled, the values\n * are extracted one level up\n *\n * @param {Array} fields - Fieldset fields configuration.\n * @param {Object} formValues - List with form values { name: value }.\n * @return {Object} – Raw form values mapped to the field name\n */\nfunction extractFieldsetFieldsValues(\n fields: any[],\n formValues: Record<string, unknown>,\n) {\n return fields.reduce<Record<string, any>>((nestedAcc, subField) => {\n const isFieldsetValueGroupingDisabled =\n subField.type === supportedTypes.FIELDSET &&\n subField.valueGroupingDisabled;\n\n if (isFieldsetValueGroupingDisabled) {\n Object.assign(\n nestedAcc,\n extractFieldsetFieldsValues(subField.fields, formValues),\n );\n } else if (\n Object.prototype.hasOwnProperty.call(formValues, subField.name!)\n ) {\n nestedAcc[subField.name!] = formValues[subField.name!];\n }\n\n return nestedAcc;\n }, {});\n}\n\nexport const fieldTypesTransformations: Record<string, any> = {\n [supportedTypes.COUNTRIES]: {\n /**\n *\n * @param {Object} field - Field config that must contain field.countries\n * @param {String[]|String} value - Selected country\n * - Current data (multi): an array of country names - eg: ['Peru', 'Germany']\n * - Legacy data (multi): a string of country names - eg: \"Peru,Germany\"\n * @returns {String[]} Eg [{ label: 'PER', name: 'Peru' }]\n */\n transformValueFromAPI: (field: any) => (value: string) => {\n if (!field.multiple) {\n return value ?? '';\n }\n\n let countryNames;\n\n if (typeof value === 'string') {\n // support legacy data (when the fields were open text fields before)\n countryNames = value.split(',');\n } else {\n countryNames = value || [];\n }\n\n const countryValues = countryNames.map(\n // Return { name: countryName } as fallback to legacy data\n // The \"name\" is used at react-select, to connect to the country flag.\n (countryName) =>\n field.countries?.find?.(\n (country: any) => 'name' in country && country.name === countryName,\n ) || {\n name: countryName,\n },\n );\n\n return countryValues;\n },\n /**\n * @param {String[] | { name: String }[]} value\n * - Excepted: array of strings.\n * - Edge cases: array of objects. (when using dangerousTransformValue)\n * @returns {String[]} - List of countries\n * @example expected: ['Peru', 'Germany'] -> ['Peru', 'Germany']\n * @example edge cases: [{name: 'Peru'}, {name: 'Germany'}] -> ['Peru', 'Germany']\n */\n transformValueToAPI:\n (field: any) => (selectedCountries: string[] | { name: string }[]) => {\n if (!field.multiple || typeof selectedCountries === 'string') {\n return selectedCountries;\n }\n // NOTE: The value should be an array of strings, however legacy data can come as\n // an array of country objects. So, we always send an array of strings to normalize\n // the data (eg old form values being modified) until DB migration is done !5667\n return selectedCountries.map((option) =>\n typeof option === 'string' ? option : option.name,\n );\n },\n /**\n * Used for react-select, where the country selected is transformed\n * before saving on Formik state. Supports both solo and multi select\n * @param {Object|Object[]} selectedCountry[] - Current selected options\n * @param {String} selectedCountry[].value\n * @param {String} selectedCountry[].name\n * @param {String} selectedCountry[].label\n * @returns {String[]} - List of countries selected\n * @example\n * [{ value: 'Hungria' }] -> ['Hungria']\n */\n transformValue: (selectedCountry: any | any[]) => {\n // name or label are used in dragon. value is used in json-schema-form\n // TODO: it should be the same everywhere — read more at !5667\n const getCountryValue = (opt: any) =>\n opt?.name || opt?.value || opt?.label;\n return Array.isArray(selectedCountry)\n ? selectedCountry.map(getCountryValue) // support multi countries\n : getCountryValue(selectedCountry) || ''; // Fallback to '' in case user removes all countries\n },\n },\n [supportedTypes.NUMBER]: {\n transformValueToAPI: () => (value: string) => {\n // this prevents values with letters such as \"2r\" from being considered valid\n // if the input is invalid, number().cast will return NaN\n const castValue = Number(value);\n\n if (Number.isNaN(castValue)) {\n return value;\n }\n\n return castValue;\n },\n },\n [supportedTypes.MONEY]: {\n transformValueFromAPI: () => (value: string | number) =>\n convertFromCents(value) ?? '',\n transformValueToAPI: () => convertToCents,\n },\n [supportedTypes.RADIO]: {\n transformValueToAPI: (field: any) => (value: string) => {\n if (field.transformToBool) {\n return value === 'yes';\n }\n return value;\n },\n },\n [supportedTypes.CHECKBOX]: {\n transformValueToAPI: (field: any) => (value: string | boolean) => {\n if (value === undefined) {\n return false;\n }\n\n if (field.const && value === true) {\n return field.const;\n }\n return value;\n },\n },\n [supportedTypes.SELECT]: {\n /**\n * Used for react-select, where the value is transformed\n * before saving on Formik state.\n * @param {Object | Object[]} option - Object structure with options config\n * @param {String} option[].value - Key for the API\n * @param {Array} this.options[].label - Friendly label\n * @example\n * [{ value: '1', label: 'One' }, { value: '2', label: 'Two' }] -> [\"One\", \"Two\"]\n * { value: '1', label: 'One' } -> \"One\"\n * {} -> \"\"\n */\n transformValue: (option: any | any[]) =>\n Array.isArray(option)\n ? option.map((opt) => opt.value) // multi-options\n : (option?.value ?? ''), // Fallback to '' in case user removes all options,\n },\n};\n\nexport function parseFormValuesToAPI(\n formValues: Record<string, any> = {},\n fields: any[],\n) {\n const filteredFields = fields.filter(\n (field) =>\n formValues[field.name!] ||\n (field.type === supportedTypes.FIELDSET && field.valueGroupingDisabled),\n );\n\n const parsedFormValues = filteredFields.reduce(\n (acc, field) => {\n switch (field.type) {\n case supportedTypes.FIELDSET: {\n const fieldset = field;\n if (fieldset.valueGroupingDisabled) {\n const nestedFormValues = extractFieldsetFieldsValues(\n fieldset.fields,\n formValues,\n );\n\n Object.assign(\n acc,\n parseFormValuesToAPI(nestedFormValues, fieldset.fields),\n );\n } else {\n acc[field.name!] = parseFormValuesToAPI(\n formValues[field.name!],\n fieldset.fields,\n );\n }\n break;\n }\n\n case supportedTypes.TEXTAREA:\n case supportedTypes.TEXT: {\n // Attempt to remove null bytes from form values - https://gitlab.com/remote-com/employ-starbase/tracker/-/issues/10670\n acc[field.name] = formValues[field.name].replace(/\\0/g, '');\n break;\n }\n\n case supportedTypes.GROUP_ARRAY: {\n // NOTE: The field `name` in group arrays represents a path, but we only\n // need the last part of it which is represented by `nameKey`.\n\n const transformedFields = field?.fields?.().map((subField: any) => ({\n ...subField,\n name: subField.nameKey || '',\n }));\n\n // Null check necessary for case where no fields are set due to optional check\n const parsedFieldValues = formValues[field.name]?.map(\n (fieldValues: Record<string, any>) =>\n parseFormValuesToAPI(fieldValues, transformedFields),\n );\n\n acc[field.name] = parsedFieldValues;\n break;\n }\n case supportedTypes.EXTRA: {\n const extraField = field;\n if (extraField.includeValueToApi !== false) {\n const formValue = formValues[extraField.name];\n const fieldTransformValueToAPI =\n extraField?.transformValueToAPI ||\n fieldTypesTransformations[extraField.type]?.transformValueToAPI;\n\n // logErrorOnMissingComplimentaryParams(field);\n\n if (fieldTransformValueToAPI) {\n acc[extraField.name] = fieldTransformValueToAPI(field)(formValue);\n break;\n }\n\n acc[extraField.name] = formValue;\n break;\n }\n acc[extraField.name] = undefined;\n break;\n }\n default: {\n const formValue = formValues[field.name];\n const fieldTransformValueToAPI =\n field?.transformValueToAPI ||\n fieldTypesTransformations[field.type]?.transformValueToAPI;\n // logErrorOnMissingComplimentaryParams(field);\n if (fieldTransformValueToAPI) {\n acc[field.name] = fieldTransformValueToAPI(field)(formValue);\n break;\n }\n acc[field.name] = formValue;\n break;\n }\n }\n\n // this occurs when const === default in a JSON Schema for a given field.\n // without this, values such as money types won't use the correct value.\n if (field.forcedValue !== undefined) {\n acc[field.name!] = field.forcedValue;\n }\n\n return acc;\n },\n { ...formValues },\n );\n\n return parsedFormValues;\n}\n\nfunction isFieldVisible(field: any, formValues: Record<string, unknown>) {\n if (field.visibilityCondition) {\n return field.visibilityCondition(formValues);\n }\n\n if (typeof field.isVisible !== 'undefined') {\n return Boolean(field.isVisible);\n }\n\n return true;\n}\n\nfunction applyFieldDynamicProperties(\n field: any,\n values: Record<string, unknown> | Record<string, unknown>[],\n) {\n if (field.calculateDynamicProperties) {\n return {\n ...field,\n ...(field.calculateDynamicProperties(values) || {}),\n };\n }\n\n return field;\n}\n\nfunction excludeValuesInvisible(\n values: any,\n fields: any[],\n keepTruthyInvisibleValues?: boolean,\n parentFieldKeyPath?: string,\n) {\n const valuesAsked: Record<string, any> = {};\n\n fields\n .map((field) => applyFieldDynamicProperties(field, values))\n .forEach((field) => {\n let fieldKeyPath = field.name;\n if (parentFieldKeyPath) {\n fieldKeyPath = fieldKeyPath\n ? `${parentFieldKeyPath}.${field.name}`\n : parentFieldKeyPath;\n }\n\n const valueOfField = get(values, fieldKeyPath!);\n\n // keepTruthyInvisibleValues: false/undefined -> remove invisible field\n // keepTruthyInvisibleValues: true -> keep invisible field if it has a value\n if (\n !isFieldVisible(field, values) &&\n !(keepTruthyInvisibleValues && !!valueOfField)\n ) {\n return;\n }\n\n if (field.meta?.ignoreValue) {\n return;\n }\n\n if (field.type === 'fieldset' && field.valueGroupingDisabled) {\n Object.assign(\n valuesAsked,\n excludeValuesInvisible(\n values,\n field.fields,\n keepTruthyInvisibleValues,\n fieldKeyPath,\n ),\n );\n } else if (Array.isArray(field.fields)) {\n valuesAsked[field.name!] = excludeValuesInvisible(\n values,\n field.fields,\n keepTruthyInvisibleValues,\n fieldKeyPath,\n );\n } else {\n if (valueOfField === undefined) {\n return;\n }\n valuesAsked[field.name!] = valueOfField;\n }\n });\n\n return valuesAsked;\n}\n\nexport function parseSubmitValues(\n formValues: Record<string, any>,\n fields: any[],\n config?: { keepInvisibleValues?: boolean },\n) {\n const visibleFormValues = config?.keepInvisibleValues\n ? formValues\n : excludeValuesInvisible(formValues, fields);\n const convertedFormValues = parseFormValuesToAPI(visibleFormValues, fields);\n const formValuesWithTrimmedStrings = trimStringValues(convertedFormValues);\n const formValuesWithUndefined = convertEmptyStringsToNull(\n formValuesWithTrimmedStrings,\n );\n const valuesWithReadOnly = prefillReadOnlyFields(\n formValuesWithUndefined,\n fields,\n );\n return valuesWithReadOnly;\n}\n\nexport function parseJSFToValidate(\n formValues: Record<string, any>,\n fields: Fields,\n config: { isPartialValidation: boolean } = {\n isPartialValidation: false,\n },\n) {\n const valuesParsed = parseSubmitValues(formValues, fields, {\n /* We cannot exclude invisible fields (excludeValuesInvisible) because\n they are needed for conditional fields validations */\n keepInvisibleValues: config?.isPartialValidation,\n });\n return valuesParsed;\n}\n\nfunction castFieldTo<T>(field: Field) {\n return field as unknown as T;\n}\n\nfunction getDefaultValueForType(type: string) {\n switch (type) {\n case supportedTypes.FILE:\n return undefined; // Allows fallback values in function declarations to be used\n default:\n return '';\n }\n}\n\nfunction getInitialDefaultValue(\n defaultValues: Record<string, any>,\n field: Field,\n) {\n // lodash get is needed because some values could be nested object, like billing address\n // use camelCase to support forms with fields in snake_case or kebab_case.\n const defaultFieldValue = get(defaultValues, field.name);\n const fieldTransformValueFromAPI =\n field?.transformValueFromAPI ||\n fieldTypesTransformations[field.type]?.transformValueFromAPI;\n\n if (fieldTransformValueFromAPI) {\n return fieldTransformValueFromAPI(field)(defaultFieldValue);\n }\n\n // TODO: We need to get rid of value as fn for json-schema. Related !5560\n const generatedValue =\n typeof field.value === 'function'\n ? field.value(defaultFieldValue, defaultValues)\n : null;\n\n // field.value is deprecated. should use \"default\" instead.\n const defaultValueDeprecated =\n typeof field.value !== 'function' ? field.value : null;\n const initialValueForCheckboxAsBool =\n castFieldTo<$TSFixMe>(field).checkboxValue === true\n ? defaultFieldValue || false\n : null;\n\n // nullish coalescing but excluding empty strings. (to support 0 (zero) as valid numbers)\n const excludeString = (val: any) => (val === '' ? undefined : val);\n\n return (\n excludeString(generatedValue) ??\n excludeString(defaultFieldValue) ??\n excludeString(defaultValueDeprecated) ??\n excludeString(field.default) ??\n initialValueForCheckboxAsBool ??\n getDefaultValueForType(field.type)\n );\n}\n\n/**\n * Get initial values for sub fields within fieldsets\n * @param {Object} field The form field\n * @param {Object} defaultValues The form default values\n * @param {String=} parentFieldKeyPath The path to the parent field using dot-notation\n * @returns {Object} The initial values for a fieldset\n */\nfunction getInitialSubFieldValues(\n field: $TSFixMe,\n defaultValues: Record<string, unknown>,\n parentFieldKeyPath?: string,\n) {\n const initialValue: Record<string, Record<string, unknown>> = {};\n\n let fieldKeyPath = field.name;\n\n if (parentFieldKeyPath) {\n fieldKeyPath = fieldKeyPath\n ? `${parentFieldKeyPath}.${fieldKeyPath}`\n : parentFieldKeyPath;\n }\n\n const subFields = field.fields;\n\n if (Array.isArray(subFields)) {\n const subFieldValues = {};\n\n subFields.forEach((subField) => {\n Object.assign(\n subFieldValues,\n getInitialSubFieldValues(subField, defaultValues, fieldKeyPath),\n );\n });\n\n if (field.type === supportedTypes.FIELDSET && field.valueGroupingDisabled) {\n Object.assign(initialValue, subFieldValues);\n } else {\n initialValue[field.name!] = subFieldValues;\n }\n } else {\n initialValue[field.name!] = getInitialDefaultValue(defaultValues, {\n ...field,\n // NOTE: To utilize the `get` function from `lodash` in `getInitialDefaultValue` correctly\n // we need to use the field path instead of just its name.\n name: fieldKeyPath,\n });\n }\n\n return initialValue;\n}\n\nexport function getInitialValues(\n fields: Fields,\n defaultValues: Record<string, unknown>,\n) {\n const initialValues: Record<string, unknown> = {};\n const defaultFieldValues = defaultValues;\n\n // loop over fields array\n // if prop does not exit in the initialValues object,\n // pluck off the name and value props and add it to the initialValues object;\n fields\n .map((field) => applyFieldDynamicProperties(field, defaultFieldValues))\n .forEach((field) => {\n switch (field.type) {\n case supportedTypes.FIELDSET: {\n if (field.valueGroupingDisabled) {\n Object.assign(\n initialValues,\n getInitialValues(field.fields, defaultFieldValues),\n );\n } else {\n const subFieldValues = getInitialSubFieldValues(\n field,\n defaultFieldValues,\n );\n Object.assign(initialValues, subFieldValues);\n }\n break;\n }\n }\n });\n\n return initialValues;\n}\n"],"mappings":"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","names":["get","textInputTypes","checkboxTypes","supportedTypes","round","value","__name","convertToValidCost","convertToCents","amount","validAmount","convertFromCents","normalizedValue","trimStringValues","values","result","key","item","convertEmptyStringsToNull","prefillReadOnlyFields","fields","newValues","field","fieldName","extractFieldsetFieldsValues","formValues","nestedAcc","subField","fieldTypesTransformations","countryNames","countryName","country","selectedCountries","option","selectedCountry","getCountryValue","opt","castValue","parseFormValuesToAPI","acc","fieldset","nestedFormValues","transformedFields","parsedFieldValues","fieldValues","extraField","formValue","fieldTransformValueToAPI","isFieldVisible","applyFieldDynamicProperties","excludeValuesInvisible","keepTruthyInvisibleValues","parentFieldKeyPath","valuesAsked","fieldKeyPath","valueOfField","get","parseSubmitValues","config","visibleFormValues","convertedFormValues","formValuesWithTrimmedStrings","formValuesWithUndefined","parseJSFToValidate","getDefaultValueForType","type","supportedTypes","__name","getInitialDefaultValue","defaultValues","field","defaultFieldValue","get","fieldTransformValueFromAPI","fieldTypesTransformations","generatedValue","defaultValueDeprecated","initialValueForCheckboxAsBool","excludeString","val","getInitialSubFieldValues","parentFieldKeyPath","initialValue","fieldKeyPath","subFields","subFieldValues","subField","getInitialValues","fields","initialValues","defaultFieldValues","applyFieldDynamicProperties"]}
@@ -1,2 +0,0 @@
1
- import{a as n}from"./chunk-YH5F6MGK.js";import{b as i}from"./chunk-DZYFSFZ7.js";import{a as o}from"./chunk-AYDF3IFZ.js";import e from"react";function l({onSubmit:r}){let{terminationBag:m}=i();return e.createElement(n,{onSubmit:o(async t=>{await r?.(m?.parseFormValues(t)),m?.next()},"handleSubmit")})}o(l,"EmployeeCommunicationForm");export{l as a};
2
- //# sourceMappingURL=chunk-YDUUQU4R.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/Termination/EmployeeComunicationForm.tsx"],"sourcesContent":["import React from 'react';\nimport { useTerminationContext } from './context';\nimport { TerminationFormValues } from '@/src/flows/Termination/types';\nimport { TerminationForm } from '@/src/flows/Termination/TerminationForm';\n\ntype EmployeeComunicationProps = {\n /*\n * The function is called when the form is submitted. It receives the form values as an argument.\n */\n onSubmit?: (payload: TerminationFormValues) => void | Promise<void>;\n};\n\nexport function EmployeeCommunicationForm({\n onSubmit,\n}: EmployeeComunicationProps) {\n const { terminationBag } = useTerminationContext();\n const handleSubmit = async (values: TerminationFormValues) => {\n await onSubmit?.(\n terminationBag?.parseFormValues(values) as TerminationFormValues,\n );\n terminationBag?.next();\n };\n\n return <TerminationForm onSubmit={handleSubmit} />;\n}\n"],"mappings":"wHAAA,OAAOA,MAAW,QAYX,SAASC,EAA0B,CACxC,SAAAC,CACF,EAA8B,CAC5B,GAAM,CAAE,eAAAC,CAAe,EAAIC,EAAsB,EAQjD,OAAOC,EAAA,cAACC,EAAA,CAAgB,SAPHC,EAAA,MAAOC,GAAkC,CAC5D,MAAMN,IACJC,GAAgB,gBAAgBK,CAAM,CACxC,EACAL,GAAgB,KAAK,CACvB,EALqB,gBAO2B,CAClD,CAZgBI,EAAAN,EAAA","names":["React","EmployeeCommunicationForm","onSubmit","terminationBag","useTerminationContext","React","TerminationForm","__name","values"]}
@@ -1,2 +0,0 @@
1
- import{b as f}from"./chunk-DZYFSFZ7.js";import{a as l}from"./chunk-BKROCZRD.js";import{b as s}from"./chunk-A4RX3KRZ.js";import{a}from"./chunk-IDSJI7KQ.js";import{a as t}from"./chunk-AYDF3IFZ.js";import e,{useEffect as y}from"react";import{useForm as T}from"react-hook-form";function w({fields:m,onSubmit:d}){let{formId:u,terminationBag:o}=f(),F=s(o.handleValidation),i=T({resolver:F,defaultValues:o?.initialValues,shouldUnregister:!1,mode:"onBlur"});y(()=>{let p=i?.watch(r=>{Object.keys(r).some(n=>r[n]!==o?.initialValues?.[n])&&o?.checkFieldUpdates(r)});return()=>p?.unsubscribe()},[]);let c=m||(o?.fields??[]);return e.createElement(a,{...i},e.createElement("form",{id:u,onSubmit:i.handleSubmit(d),className:"space-y-4 RemoteFlows__TerminationForm"},e.createElement(l,{fields:c})))}t(w,"TerminationForm");export{w as a};
2
- //# sourceMappingURL=chunk-YH5F6MGK.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/Termination/TerminationForm.tsx"],"sourcesContent":["import { JSONSchemaFormFields } from '@/src/components/form/JSONSchemaForm';\nimport { Form } from '@/src/components/ui/form';\nimport React, { useEffect } from 'react';\nimport { useTerminationContext } from './context';\nimport { TerminationFormValues } from '@/src/flows/Termination/types';\nimport { useForm } from 'react-hook-form';\nimport { useJsonSchemasValidationFormResolver } from '@/src/components/form/yupValidationResolver';\nimport { Fields } from '@remoteoss/json-schema-form';\n\ntype TerminationFormProps = {\n onSubmit: (payload: TerminationFormValues) => void;\n fields?: Fields;\n};\n\nexport function TerminationForm({ fields, onSubmit }: TerminationFormProps) {\n const { formId, terminationBag } = useTerminationContext();\n\n const resolver = useJsonSchemasValidationFormResolver(\n // @ts-expect-error no matching type\n terminationBag.handleValidation,\n );\n\n const form = useForm({\n resolver,\n defaultValues: terminationBag?.initialValues,\n shouldUnregister: false,\n mode: 'onBlur',\n });\n\n useEffect(() => {\n const subscription = form?.watch((values) => {\n const isAnyFieldDirty = Object.keys(values).some(\n (key) =>\n values[key as keyof TerminationFormValues] !==\n terminationBag?.initialValues?.[key as keyof TerminationFormValues],\n );\n if (isAnyFieldDirty) {\n terminationBag?.checkFieldUpdates(values);\n }\n });\n return () => subscription?.unsubscribe();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const jsonSchemaFields = fields ? fields : (terminationBag?.fields ?? []);\n\n return (\n <Form {...form}>\n <form\n id={formId}\n onSubmit={form.handleSubmit(onSubmit)}\n className=\"space-y-4 RemoteFlows__TerminationForm\"\n >\n <JSONSchemaFormFields fields={jsonSchemaFields} />\n </form>\n </Form>\n );\n}\n"],"mappings":"mMAEA,OAAOA,GAAS,aAAAC,MAAiB,QAGjC,OAAS,WAAAC,MAAe,kBASjB,SAASC,EAAgB,CAAE,OAAAC,EAAQ,SAAAC,CAAS,EAAyB,CAC1E,GAAM,CAAE,OAAAC,EAAQ,eAAAC,CAAe,EAAIC,EAAsB,EAEnDC,EAAWC,EAEfH,EAAe,gBACjB,EAEMI,EAAOC,EAAQ,CACnB,SAAAH,EACA,cAAeF,GAAgB,cAC/B,iBAAkB,GAClB,KAAM,QACR,CAAC,EAEDM,EAAU,IAAM,CACd,IAAMC,EAAeH,GAAM,MAAOI,GAAW,CACnB,OAAO,KAAKA,CAAM,EAAE,KACzCC,GACCD,EAAOC,CAAkC,IACzCT,GAAgB,gBAAgBS,CAAkC,CACtE,GAEET,GAAgB,kBAAkBQ,CAAM,CAE5C,CAAC,EACD,MAAO,IAAMD,GAAc,YAAY,CAEzC,EAAG,CAAC,CAAC,EAEL,IAAMG,EAAmBb,IAAmBG,GAAgB,QAAU,CAAC,GAEvE,OACEW,EAAA,cAACC,EAAA,CAAM,GAAGR,GACRO,EAAA,cAAC,QACC,GAAIZ,EACJ,SAAUK,EAAK,aAAaN,CAAQ,EACpC,UAAU,0CAEVa,EAAA,cAACE,EAAA,CAAqB,OAAQH,EAAkB,CAClD,CACF,CAEJ,CA3CgBI,EAAAlB,EAAA","names":["React","useEffect","useForm","TerminationForm","fields","onSubmit","formId","terminationBag","useTerminationContext","resolver","useJsonSchemasValidationFormResolver","form","useForm","useEffect","subscription","values","key","jsonSchemaFields","React","Form","JSONSchemaFormFields","__name"]}
@@ -1,2 +0,0 @@
1
- import{b as n}from"./chunk-DZYFSFZ7.js";import{b as o}from"./chunk-56BNVYTD.js";import{a as t}from"./chunk-AYDF3IFZ.js";import m from"react";function c({children:r,...i}){let{terminationBag:{back:e}}=n();return m.createElement(o,{...i,onClick:()=>{e()}},r)}t(c,"TerminationBack");export{c as a};
2
- //# sourceMappingURL=chunk-YOC3VDC7.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/Termination/TerminationBack.tsx"],"sourcesContent":["import { Button } from '@/src/components/ui/button';\nimport React, { ButtonHTMLAttributes, PropsWithChildren } from 'react';\nimport { useTerminationContext } from '@/src/flows/Termination/context';\n\nexport function TerminationBack({\n children,\n ...props\n}: PropsWithChildren<ButtonHTMLAttributes<HTMLButtonElement>>) {\n const {\n terminationBag: { back },\n } = useTerminationContext();\n\n return (\n <Button\n {...props}\n onClick={() => {\n back();\n }}\n >\n {children}\n </Button>\n );\n}\n"],"mappings":"wHACA,OAAOA,MAAwD,QAGxD,SAASC,EAAgB,CAC9B,SAAAC,EACA,GAAGC,CACL,EAA+D,CAC7D,GAAM,CACJ,eAAgB,CAAE,KAAAC,CAAK,CACzB,EAAIC,EAAsB,EAE1B,OACEC,EAAA,cAACC,EAAA,CACE,GAAGJ,EACJ,QAAS,IAAM,CACbC,EAAK,CACP,GAECF,CACH,CAEJ,CAlBgBM,EAAAP,EAAA","names":["React","TerminationBack","children","props","back","useTerminationContext","React","Button","__name"]}