@remoteoss/remote-flows 0.4.0-alpha.2 → 0.4.0-alpha.20

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 (412) hide show
  1. package/README.md +82 -8
  2. package/dist/chunk-26PHG6H2.js +2 -0
  3. package/dist/chunk-26PHG6H2.js.map +1 -0
  4. package/dist/chunk-2NLOH7NZ.js +2 -0
  5. package/dist/chunk-2NLOH7NZ.js.map +1 -0
  6. package/dist/chunk-32RYPLZK.js +2 -0
  7. package/dist/chunk-32RYPLZK.js.map +1 -0
  8. package/dist/chunk-3HPG2L62.js +2 -0
  9. package/dist/chunk-3HPG2L62.js.map +1 -0
  10. package/dist/chunk-3NZ6PO4D.js +2 -0
  11. package/dist/chunk-3NZ6PO4D.js.map +1 -0
  12. package/dist/{chunk-WRDKLT4N.js → chunk-3ZWDIEEM.js} +2 -2
  13. package/dist/{chunk-KQ6TGZJS.js → chunk-5SMMQQXP.js} +2 -2
  14. package/dist/chunk-5SMMQQXP.js.map +1 -0
  15. package/dist/chunk-6SWZH7KI.js +2 -0
  16. package/dist/chunk-6SWZH7KI.js.map +1 -0
  17. package/dist/chunk-76CE6Z77.js +2 -0
  18. package/dist/chunk-76CE6Z77.js.map +1 -0
  19. package/dist/chunk-7TOZZQQJ.js +2 -0
  20. package/dist/chunk-7TOZZQQJ.js.map +1 -0
  21. package/dist/chunk-7ZH23EMZ.js +2 -0
  22. package/dist/chunk-7ZH23EMZ.js.map +1 -0
  23. package/dist/chunk-AIEAUPO6.js +2 -0
  24. package/dist/chunk-AIEAUPO6.js.map +1 -0
  25. package/dist/chunk-BF7QENCN.js +2 -0
  26. package/dist/chunk-BF7QENCN.js.map +1 -0
  27. package/dist/{chunk-A4RX3KRZ.js → chunk-CFIJKJXD.js} +2 -2
  28. package/dist/chunk-CSU6IQX3.js +2 -0
  29. package/dist/chunk-CSU6IQX3.js.map +1 -0
  30. package/dist/chunk-CTTXXEWI.js +2 -0
  31. package/dist/chunk-CTTXXEWI.js.map +1 -0
  32. package/dist/chunk-CU75S5F2.js +2 -0
  33. package/dist/chunk-CU75S5F2.js.map +1 -0
  34. package/dist/chunk-DKJZB2TO.js +2 -0
  35. package/dist/chunk-DKJZB2TO.js.map +1 -0
  36. package/dist/chunk-EAORGT7Z.js +2 -0
  37. package/dist/chunk-EAORGT7Z.js.map +1 -0
  38. package/dist/chunk-EEAMZPP6.js +2 -0
  39. package/dist/{chunk-GMGKIQLI.js.map → chunk-EEAMZPP6.js.map} +1 -1
  40. package/dist/chunk-EV5YPN4F.js +2 -0
  41. package/dist/chunk-EV5YPN4F.js.map +1 -0
  42. package/dist/chunk-FB5J7SRP.js +2 -0
  43. package/dist/chunk-FB5J7SRP.js.map +1 -0
  44. package/dist/chunk-FF6SE4JF.js +2 -0
  45. package/dist/chunk-FF6SE4JF.js.map +1 -0
  46. package/dist/chunk-FJ2XPRKU.js +2 -0
  47. package/dist/chunk-FJ2XPRKU.js.map +1 -0
  48. package/dist/chunk-FUIQ7D6L.js +2 -0
  49. package/dist/chunk-FUIQ7D6L.js.map +1 -0
  50. package/dist/chunk-G3OSPYB5.js +2 -0
  51. package/dist/chunk-G3OSPYB5.js.map +1 -0
  52. package/dist/chunk-GEYFQVQI.js +2 -0
  53. package/dist/{chunk-56BNVYTD.js.map → chunk-GEYFQVQI.js.map} +1 -1
  54. package/dist/chunk-IXINXLDO.js +2 -0
  55. package/dist/chunk-IXINXLDO.js.map +1 -0
  56. package/dist/{chunk-D3SD6MMV.js → chunk-JXCJLQRA.js} +2 -2
  57. package/dist/chunk-JXCJLQRA.js.map +1 -0
  58. package/dist/chunk-KFVOK5X5.js +2 -0
  59. package/dist/chunk-KFVOK5X5.js.map +1 -0
  60. package/dist/chunk-KM4XVL2X.js +2 -0
  61. package/dist/chunk-KM4XVL2X.js.map +1 -0
  62. package/dist/{chunk-5ETXP2QF.js → chunk-KPHSEIR3.js} +2 -2
  63. package/dist/{chunk-OLJ2S6A6.js → chunk-KSHK3ZPX.js} +2 -2
  64. package/dist/chunk-KSHK3ZPX.js.map +1 -0
  65. package/dist/chunk-LLIGZSYY.js +2 -0
  66. package/dist/chunk-LLIGZSYY.js.map +1 -0
  67. package/dist/{chunk-QOMUXX6W.js → chunk-LX7QBDSF.js} +2 -2
  68. package/dist/chunk-LX7QBDSF.js.map +1 -0
  69. package/dist/chunk-LZ3R4ZK2.js +2 -0
  70. package/dist/chunk-LZ3R4ZK2.js.map +1 -0
  71. package/dist/chunk-MA4IML3T.js +2 -0
  72. package/dist/chunk-MA4IML3T.js.map +1 -0
  73. package/dist/{chunk-N25EBX6R.js → chunk-MH6KKP6K.js} +2 -2
  74. package/dist/{chunk-N25EBX6R.js.map → chunk-MH6KKP6K.js.map} +1 -1
  75. package/dist/chunk-MNO47WC2.js +2 -0
  76. package/dist/chunk-MNO47WC2.js.map +1 -0
  77. package/dist/{chunk-DZYFSFZ7.js → chunk-MRYRNB7Y.js} +2 -2
  78. package/dist/chunk-MSBG52WO.js +2 -0
  79. package/dist/chunk-MSBG52WO.js.map +1 -0
  80. package/dist/chunk-MYGO6KUI.js +2 -0
  81. package/dist/chunk-MYGO6KUI.js.map +1 -0
  82. package/dist/chunk-P37U34EQ.js +2 -0
  83. package/dist/chunk-PGWKJ6FK.js +2 -0
  84. package/dist/chunk-PGWKJ6FK.js.map +1 -0
  85. package/dist/chunk-PJBAQZ6G.js +2 -0
  86. package/dist/chunk-PJBAQZ6G.js.map +1 -0
  87. package/dist/chunk-PJCUSCO4.js +2 -0
  88. package/dist/{chunk-MESREYTZ.js.map → chunk-PJCUSCO4.js.map} +1 -1
  89. package/dist/chunk-PWUYHFON.js +2 -0
  90. package/dist/chunk-PWUYHFON.js.map +1 -0
  91. package/dist/chunk-Q23DM4O3.js +2 -0
  92. package/dist/chunk-Q23DM4O3.js.map +1 -0
  93. package/dist/chunk-QW4JPW6J.js +2 -0
  94. package/dist/chunk-QW4JPW6J.js.map +1 -0
  95. package/dist/chunk-QXMSFJVB.js +2 -0
  96. package/dist/chunk-QXMSFJVB.js.map +1 -0
  97. package/dist/chunk-RDLTU3FE.js +2 -0
  98. package/dist/chunk-RDLTU3FE.js.map +1 -0
  99. package/dist/chunk-RLETCEUU.js +2 -0
  100. package/dist/chunk-RLETCEUU.js.map +1 -0
  101. package/dist/chunk-RXK4RLF6.js +2 -0
  102. package/dist/chunk-RXK4RLF6.js.map +1 -0
  103. package/dist/{chunk-FZ2HS6G7.js → chunk-S4XU4SE7.js} +1 -1
  104. package/dist/chunk-S4XU4SE7.js.map +1 -0
  105. package/dist/chunk-T6LHPVKN.js +2 -0
  106. package/dist/chunk-T6LHPVKN.js.map +1 -0
  107. package/dist/{chunk-6HGUGIYJ.js → chunk-TVZAFTPT.js} +2 -2
  108. package/dist/chunk-U6PYTUGP.js +2 -0
  109. package/dist/chunk-U6PYTUGP.js.map +1 -0
  110. package/dist/chunk-VNSF5IOL.js +2 -0
  111. package/dist/chunk-VNSF5IOL.js.map +1 -0
  112. package/dist/{chunk-UIAP5KT2.js → chunk-WASEFJAE.js} +2 -2
  113. package/dist/chunk-WASEFJAE.js.map +1 -0
  114. package/dist/chunk-WIRFNWEU.js +2 -0
  115. package/dist/chunk-WIRFNWEU.js.map +1 -0
  116. package/dist/chunk-WKK63LAY.js +2 -0
  117. package/dist/chunk-WKK63LAY.js.map +1 -0
  118. package/dist/chunk-WVJDCDGZ.js +2 -0
  119. package/dist/chunk-WVJDCDGZ.js.map +1 -0
  120. package/dist/chunk-X3YONWNH.js +2 -0
  121. package/dist/chunk-X3YONWNH.js.map +1 -0
  122. package/dist/chunk-XIPPSRO6.js +2 -0
  123. package/dist/chunk-XIPPSRO6.js.map +1 -0
  124. package/dist/chunk-XKSOWDLS.js +2 -0
  125. package/dist/chunk-XKSOWDLS.js.map +1 -0
  126. package/dist/chunk-XO3JWN33.js +2 -0
  127. package/dist/{chunk-GFBF55NR.js.map → chunk-XO3JWN33.js.map} +1 -1
  128. package/dist/chunk-Y56L3QKM.js +2 -0
  129. package/dist/chunk-Y56L3QKM.js.map +1 -0
  130. package/dist/chunk-YJXRJTOH.js +1 -0
  131. package/dist/chunk-YO4OQIFP.js +2 -0
  132. package/dist/{chunk-3FVI5JIC.js.map → chunk-YO4OQIFP.js.map} +1 -1
  133. package/dist/chunk-ZEUIOZB6.js +2 -0
  134. package/dist/chunk-ZEUIOZB6.js.map +1 -0
  135. package/dist/chunk-ZUNKCQBT.js +2 -0
  136. package/dist/chunk-ZUNKCQBT.js.map +1 -0
  137. package/dist/flows/ContractAmendment/ContractAmendmentBack.d.ts +3 -2
  138. package/dist/flows/ContractAmendment/ContractAmendmentBack.js +1 -1
  139. package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.d.ts +3 -3
  140. package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.js +1 -1
  141. package/dist/flows/ContractAmendment/ContractAmendmentFlow.d.ts +6 -6
  142. package/dist/flows/ContractAmendment/ContractAmendmentFlow.js +1 -1
  143. package/dist/flows/ContractAmendment/ContractAmendmentForm.d.ts +3 -3
  144. package/dist/flows/ContractAmendment/ContractAmendmentForm.js +1 -1
  145. package/dist/flows/ContractAmendment/ContractAmendmentSubmit.d.ts +3 -2
  146. package/dist/flows/ContractAmendment/ContractAmendmentSubmit.js +1 -1
  147. package/dist/flows/ContractAmendment/context.d.ts +6 -7
  148. package/dist/flows/ContractAmendment/context.js +1 -1
  149. package/dist/flows/ContractAmendment/hooks.d.ts +5 -6
  150. package/dist/flows/ContractAmendment/hooks.js +1 -1
  151. package/dist/flows/ContractAmendment/index.d.ts +4 -4
  152. package/dist/flows/ContractAmendment/index.js +1 -1
  153. package/dist/flows/ContractAmendment/types.d.ts +0 -2
  154. package/dist/flows/ContractAmendment/utils.d.ts +2 -2
  155. package/dist/flows/ContractAmendment/utils.js +1 -1
  156. package/dist/flows/CostCalculator/CostCalculatorDisclaimer.d.ts +2 -2
  157. package/dist/flows/CostCalculator/CostCalculatorDisclaimer.js +1 -1
  158. package/dist/flows/CostCalculator/CostCalculatorFlow.d.ts +7 -7
  159. package/dist/flows/CostCalculator/CostCalculatorFlow.js +1 -1
  160. package/dist/flows/CostCalculator/CostCalculatorForm.d.ts +9 -6
  161. package/dist/flows/CostCalculator/CostCalculatorForm.js +1 -1
  162. package/dist/flows/CostCalculator/CostCalculatorResetButton.d.ts +3 -2
  163. package/dist/flows/CostCalculator/CostCalculatorResetButton.js +1 -1
  164. package/dist/flows/CostCalculator/CostCalculatorSubmitButton.d.ts +3 -2
  165. package/dist/flows/CostCalculator/CostCalculatorSubmitButton.js +1 -1
  166. package/dist/flows/CostCalculator/Results/CostCalculatorBenefitsBreakdown.d.ts +2 -2
  167. package/dist/flows/CostCalculator/Results/CostCalculatorBenefitsBreakdown.js +1 -1
  168. package/dist/flows/CostCalculator/Results/CostCalculatorContributionsBreakdown.d.ts +2 -2
  169. package/dist/flows/CostCalculator/Results/CostCalculatorContributionsBreakdown.js +1 -1
  170. package/dist/flows/CostCalculator/Results/CostCalculatorGrossSalary.d.ts +2 -2
  171. package/dist/flows/CostCalculator/Results/CostCalculatorGrossSalary.js +1 -1
  172. package/dist/flows/CostCalculator/Results/CostCalculatorResults.d.ts +3 -3
  173. package/dist/flows/CostCalculator/Results/CostCalculatorResults.js +1 -1
  174. package/dist/flows/CostCalculator/Results/CostCalculatorResultsChart.d.ts +2 -2
  175. package/dist/flows/CostCalculator/Results/CostCalculatorResultsChart.js +1 -1
  176. package/dist/flows/CostCalculator/Results/CostCalculatorResultsChart.js.map +1 -1
  177. package/dist/flows/CostCalculator/Results/CostCalculatorTotalCost.d.ts +2 -2
  178. package/dist/flows/CostCalculator/Results/CostCalculatorTotalCost.js +1 -1
  179. package/dist/flows/CostCalculator/api.d.ts +70 -0
  180. package/dist/flows/CostCalculator/api.js +2 -0
  181. package/dist/flows/CostCalculator/components/SalaryField.d.ts +20 -0
  182. package/dist/flows/CostCalculator/components/SalaryField.js +2 -0
  183. package/dist/flows/CostCalculator/context.d.ts +9 -7
  184. package/dist/flows/CostCalculator/context.js +1 -1
  185. package/dist/flows/CostCalculator/disclaimerUtils.js +1 -1
  186. package/dist/flows/CostCalculator/hooks.d.ts +6 -21
  187. package/dist/flows/CostCalculator/hooks.js +1 -1
  188. package/dist/flows/CostCalculator/index.d.ts +8 -3
  189. package/dist/flows/CostCalculator/index.js +1 -1
  190. package/dist/flows/CostCalculator/jsonSchema.js +1 -1
  191. package/dist/flows/CostCalculator/types.d.ts +16 -4
  192. package/dist/flows/CostCalculator/utils.d.ts +7 -4
  193. package/dist/flows/CostCalculator/utils.js +1 -1
  194. package/dist/flows/Onboarding/OnboardingFlow.d.ts +27 -14
  195. package/dist/flows/Onboarding/OnboardingFlow.js +1 -1
  196. package/dist/flows/Onboarding/api.d.ts +126 -0
  197. package/dist/flows/Onboarding/api.js +2 -0
  198. package/dist/flows/Onboarding/components/AnnualGrossSalary.d.ts +18 -0
  199. package/dist/flows/Onboarding/components/AnnualGrossSalary.js +2 -0
  200. package/dist/flows/Onboarding/components/BasicInformationStep.d.ts +19 -0
  201. package/dist/flows/Onboarding/components/BasicInformationStep.js +2 -0
  202. package/dist/flows/Onboarding/{BenefitsStep.d.ts → components/BenefitsStep.d.ts} +14 -8
  203. package/dist/flows/Onboarding/components/BenefitsStep.js +2 -0
  204. package/dist/flows/Onboarding/components/ContractDetailsStep.d.ts +19 -0
  205. package/dist/flows/Onboarding/components/ContractDetailsStep.js +2 -0
  206. package/dist/flows/Onboarding/components/OnboardingBack.d.ts +7 -0
  207. package/dist/flows/Onboarding/components/OnboardingBack.js +2 -0
  208. package/dist/flows/Onboarding/components/OnboardingBack.js.map +1 -0
  209. package/dist/flows/Onboarding/{OnboardingForm.d.ts → components/OnboardingForm.d.ts} +8 -7
  210. package/dist/flows/Onboarding/components/OnboardingForm.js +2 -0
  211. package/dist/flows/Onboarding/components/OnboardingForm.js.map +1 -0
  212. package/dist/flows/Onboarding/components/OnboardingInvite.d.ts +23 -0
  213. package/dist/flows/Onboarding/components/OnboardingInvite.js +2 -0
  214. package/dist/flows/Onboarding/components/OnboardingInvite.js.map +1 -0
  215. package/dist/flows/Onboarding/components/OnboardingSubmit.d.ts +6 -0
  216. package/dist/flows/Onboarding/components/OnboardingSubmit.js +2 -0
  217. package/dist/flows/Onboarding/components/OnboardingSubmit.js.map +1 -0
  218. package/dist/flows/Onboarding/components/ReviewStep.d.ts +37 -0
  219. package/dist/flows/Onboarding/components/ReviewStep.js +2 -0
  220. package/dist/flows/Onboarding/components/ReviewStep.js.map +1 -0
  221. package/dist/flows/Onboarding/components/SaveDraftButton.d.ts +15 -0
  222. package/dist/flows/Onboarding/components/SaveDraftButton.js +2 -0
  223. package/dist/flows/Onboarding/components/SaveDraftButton.js.map +1 -0
  224. package/dist/flows/Onboarding/components/SelectCountryStep.d.ts +19 -0
  225. package/dist/flows/Onboarding/components/SelectCountryStep.js +2 -0
  226. package/dist/flows/Onboarding/components/SelectCountryStep.js.map +1 -0
  227. package/dist/flows/Onboarding/context.d.ts +52 -12
  228. package/dist/flows/Onboarding/context.js +1 -1
  229. package/dist/flows/Onboarding/hooks.d.ts +70 -29
  230. package/dist/flows/Onboarding/hooks.js +1 -1
  231. package/dist/flows/Onboarding/index.d.ts +17 -12
  232. package/dist/flows/Onboarding/index.js +1 -1
  233. package/dist/flows/Onboarding/json-schemas/selectCountryStep.d.ts +24 -0
  234. package/dist/flows/Onboarding/json-schemas/selectCountryStep.js +2 -0
  235. package/dist/flows/Onboarding/json-schemas/selectCountryStep.js.map +1 -0
  236. package/dist/flows/Onboarding/types.d.ts +53 -6
  237. package/dist/flows/Onboarding/utils.d.ts +22 -3
  238. package/dist/flows/Onboarding/utils.js +1 -1
  239. package/dist/flows/Termination/AdditionalDetailsForm.d.ts +3 -3
  240. package/dist/flows/Termination/AdditionalDetailsForm.js +1 -1
  241. package/dist/flows/Termination/EmployeeComunicationForm.d.ts +3 -3
  242. package/dist/flows/Termination/EmployeeComunicationForm.js +1 -1
  243. package/dist/flows/Termination/PaidTimeOffForm.d.ts +3 -3
  244. package/dist/flows/Termination/PaidTimeOffForm.js +1 -1
  245. package/dist/flows/Termination/TerminationBack.d.ts +3 -2
  246. package/dist/flows/Termination/TerminationBack.js +1 -1
  247. package/dist/flows/Termination/TerminationDetailsForm.d.ts +3 -3
  248. package/dist/flows/Termination/TerminationDetailsForm.js +1 -1
  249. package/dist/flows/Termination/TerminationFlow.d.ts +8 -6
  250. package/dist/flows/Termination/TerminationFlow.js +1 -1
  251. package/dist/flows/Termination/TerminationForm.d.ts +3 -3
  252. package/dist/flows/Termination/TerminationForm.js +1 -1
  253. package/dist/flows/Termination/TerminationSubmit.d.ts +3 -2
  254. package/dist/flows/Termination/TerminationSubmit.js +1 -1
  255. package/dist/flows/Termination/TimeOff.d.ts +4 -4
  256. package/dist/flows/Termination/TimeOff.js +1 -1
  257. package/dist/flows/Termination/context.d.ts +7 -6
  258. package/dist/flows/Termination/context.js +1 -1
  259. package/dist/flows/Termination/hooks.d.ts +5 -4
  260. package/dist/flows/Termination/hooks.js +1 -1
  261. package/dist/flows/Termination/index.d.ts +5 -3
  262. package/dist/flows/Termination/index.js +1 -1
  263. package/dist/flows/Termination/json-schemas/additionalInformation.js +1 -1
  264. package/dist/flows/Termination/json-schemas/defaultSchema.js +1 -1
  265. package/dist/flows/Termination/json-schemas/employeeComunication.js +1 -1
  266. package/dist/flows/Termination/json-schemas/jsonSchema.js +1 -1
  267. package/dist/flows/Termination/json-schemas/paidTimeOff.js +1 -1
  268. package/dist/flows/Termination/json-schemas/schema.js +1 -1
  269. package/dist/flows/Termination/json-schemas/terminationDetails.js +1 -1
  270. package/dist/flows/Termination/types.d.ts +1 -1
  271. package/dist/flows/Termination/utils.d.ts +1 -1
  272. package/dist/flows/Termination/utils.js +1 -1
  273. package/dist/flows/types.d.ts +3 -4
  274. package/dist/flows/useStepState.d.ts +19 -6
  275. package/dist/flows/useStepState.js +1 -1
  276. package/dist/flows/utils.d.ts +3 -11
  277. package/dist/flows/utils.js +1 -1
  278. package/dist/index.css +1 -1
  279. package/dist/index.css.map +1 -1
  280. package/dist/index.d.ts +26 -17
  281. package/dist/index.js +1 -1
  282. package/dist/index.js.map +1 -1
  283. package/dist/mutations-B6HWH-rZ.d.ts +22 -0
  284. package/dist/remoteFlows--lO1UtNJ.d.ts +147 -0
  285. package/dist/types-CxSFjQw5.d.ts +3 -0
  286. package/dist/{types.gen-D5alruJJ.d.ts → types.gen-DL1ycXOS.d.ts} +335 -2
  287. package/package.json +18 -3
  288. package/dist/chunk-2PXGLWCY.js +0 -2
  289. package/dist/chunk-2PXGLWCY.js.map +0 -1
  290. package/dist/chunk-2YWRQJ7P.js +0 -2
  291. package/dist/chunk-2YWRQJ7P.js.map +0 -1
  292. package/dist/chunk-36UPHOJS.js +0 -2
  293. package/dist/chunk-36UPHOJS.js.map +0 -1
  294. package/dist/chunk-3FVI5JIC.js +0 -2
  295. package/dist/chunk-56BNVYTD.js +0 -2
  296. package/dist/chunk-5CJPGBXJ.js +0 -2
  297. package/dist/chunk-5CJPGBXJ.js.map +0 -1
  298. package/dist/chunk-5OXN2O6C.js +0 -2
  299. package/dist/chunk-5OXN2O6C.js.map +0 -1
  300. package/dist/chunk-6A3F6JG6.js +0 -2
  301. package/dist/chunk-6A3F6JG6.js.map +0 -1
  302. package/dist/chunk-7CYG2RHP.js +0 -2
  303. package/dist/chunk-7CYG2RHP.js.map +0 -1
  304. package/dist/chunk-7OMSCFTM.js +0 -2
  305. package/dist/chunk-7OMSCFTM.js.map +0 -1
  306. package/dist/chunk-AYDF3IFZ.js +0 -2
  307. package/dist/chunk-BLPOQIGB.js +0 -2
  308. package/dist/chunk-BLPOQIGB.js.map +0 -1
  309. package/dist/chunk-CRHTUOZT.js +0 -2
  310. package/dist/chunk-CRHTUOZT.js.map +0 -1
  311. package/dist/chunk-D3SD6MMV.js.map +0 -1
  312. package/dist/chunk-DGPRFQYK.js +0 -2
  313. package/dist/chunk-DGPRFQYK.js.map +0 -1
  314. package/dist/chunk-DHRIURRT.js +0 -2
  315. package/dist/chunk-DHRIURRT.js.map +0 -1
  316. package/dist/chunk-EAAIAMTY.js +0 -2
  317. package/dist/chunk-EAAIAMTY.js.map +0 -1
  318. package/dist/chunk-EDNELJVE.js +0 -2
  319. package/dist/chunk-EDNELJVE.js.map +0 -1
  320. package/dist/chunk-FGBEOUQK.js +0 -1
  321. package/dist/chunk-FMT2OTOL.js +0 -2
  322. package/dist/chunk-FMT2OTOL.js.map +0 -1
  323. package/dist/chunk-FZ2HS6G7.js.map +0 -1
  324. package/dist/chunk-GFBF55NR.js +0 -2
  325. package/dist/chunk-GMGKIQLI.js +0 -2
  326. package/dist/chunk-GQD6NNYO.js +0 -2
  327. package/dist/chunk-GQD6NNYO.js.map +0 -1
  328. package/dist/chunk-GR6EY46K.js +0 -2
  329. package/dist/chunk-GR6EY46K.js.map +0 -1
  330. package/dist/chunk-HDQGO453.js +0 -2
  331. package/dist/chunk-HDQGO453.js.map +0 -1
  332. package/dist/chunk-I6NVZI7W.js +0 -2
  333. package/dist/chunk-I6NVZI7W.js.map +0 -1
  334. package/dist/chunk-IDSJI7KQ.js +0 -2
  335. package/dist/chunk-IDSJI7KQ.js.map +0 -1
  336. package/dist/chunk-J55S4SEH.js +0 -2
  337. package/dist/chunk-J55S4SEH.js.map +0 -1
  338. package/dist/chunk-JFOOILST.js +0 -2
  339. package/dist/chunk-JFOOILST.js.map +0 -1
  340. package/dist/chunk-JRQSZHUU.js +0 -2
  341. package/dist/chunk-JRQSZHUU.js.map +0 -1
  342. package/dist/chunk-KH6QS5OU.js +0 -2
  343. package/dist/chunk-KH6QS5OU.js.map +0 -1
  344. package/dist/chunk-KQ6TGZJS.js.map +0 -1
  345. package/dist/chunk-KSGPQCSG.js +0 -2
  346. package/dist/chunk-KSGPQCSG.js.map +0 -1
  347. package/dist/chunk-LCZQVL4U.js +0 -2
  348. package/dist/chunk-LCZQVL4U.js.map +0 -1
  349. package/dist/chunk-LM5GAAUB.js +0 -2
  350. package/dist/chunk-LM5GAAUB.js.map +0 -1
  351. package/dist/chunk-LMDX5IAX.js +0 -2
  352. package/dist/chunk-LMDX5IAX.js.map +0 -1
  353. package/dist/chunk-M7WCW7WD.js +0 -2
  354. package/dist/chunk-M7WCW7WD.js.map +0 -1
  355. package/dist/chunk-MESREYTZ.js +0 -2
  356. package/dist/chunk-MHKNAQLP.js +0 -2
  357. package/dist/chunk-MHKNAQLP.js.map +0 -1
  358. package/dist/chunk-OLJ2S6A6.js.map +0 -1
  359. package/dist/chunk-P2COURSU.js +0 -2
  360. package/dist/chunk-P2COURSU.js.map +0 -1
  361. package/dist/chunk-PKX5K2UY.js +0 -2
  362. package/dist/chunk-PKX5K2UY.js.map +0 -1
  363. package/dist/chunk-QOMUXX6W.js.map +0 -1
  364. package/dist/chunk-S4FKLPBB.js +0 -2
  365. package/dist/chunk-S4FKLPBB.js.map +0 -1
  366. package/dist/chunk-S56EWAS4.js +0 -2
  367. package/dist/chunk-S56EWAS4.js.map +0 -1
  368. package/dist/chunk-SMHHCUP4.js +0 -2
  369. package/dist/chunk-SMHHCUP4.js.map +0 -1
  370. package/dist/chunk-TPPGI73P.js +0 -2
  371. package/dist/chunk-TPPGI73P.js.map +0 -1
  372. package/dist/chunk-U25ZZ3LM.js +0 -2
  373. package/dist/chunk-U25ZZ3LM.js.map +0 -1
  374. package/dist/chunk-UIAP5KT2.js.map +0 -1
  375. package/dist/chunk-WQHKB5T7.js +0 -2
  376. package/dist/chunk-WQHKB5T7.js.map +0 -1
  377. package/dist/chunk-WS3C3WIJ.js +0 -2
  378. package/dist/chunk-WS3C3WIJ.js.map +0 -1
  379. package/dist/chunk-XLFHHYVS.js +0 -2
  380. package/dist/chunk-XLFHHYVS.js.map +0 -1
  381. package/dist/chunk-Y477IGTZ.js +0 -2
  382. package/dist/chunk-Y477IGTZ.js.map +0 -1
  383. package/dist/chunk-YOC3VDC7.js +0 -2
  384. package/dist/chunk-YOC3VDC7.js.map +0 -1
  385. package/dist/flows/Onboarding/BasicInformationStep.d.ts +0 -15
  386. package/dist/flows/Onboarding/BasicInformationStep.js +0 -2
  387. package/dist/flows/Onboarding/BenefitsStep.js +0 -2
  388. package/dist/flows/Onboarding/ContractDetailsStep.d.ts +0 -15
  389. package/dist/flows/Onboarding/ContractDetailsStep.js +0 -2
  390. package/dist/flows/Onboarding/OnboardingBack.d.ts +0 -5
  391. package/dist/flows/Onboarding/OnboardingBack.js +0 -2
  392. package/dist/flows/Onboarding/OnboardingForm.js +0 -2
  393. package/dist/flows/Onboarding/OnboardingInvite.d.ts +0 -11
  394. package/dist/flows/Onboarding/OnboardingInvite.js +0 -2
  395. package/dist/flows/Onboarding/OnboardingSubmit.d.ts +0 -5
  396. package/dist/flows/Onboarding/OnboardingSubmit.js +0 -2
  397. package/dist/mutations-v9H353tz.d.ts +0 -10
  398. package/dist/remoteFlows-CswYencu.d.ts +0 -116
  399. /package/dist/{chunk-WRDKLT4N.js.map → chunk-3ZWDIEEM.js.map} +0 -0
  400. /package/dist/{chunk-A4RX3KRZ.js.map → chunk-CFIJKJXD.js.map} +0 -0
  401. /package/dist/{chunk-5ETXP2QF.js.map → chunk-KPHSEIR3.js.map} +0 -0
  402. /package/dist/{chunk-DZYFSFZ7.js.map → chunk-MRYRNB7Y.js.map} +0 -0
  403. /package/dist/{chunk-AYDF3IFZ.js.map → chunk-P37U34EQ.js.map} +0 -0
  404. /package/dist/{chunk-6HGUGIYJ.js.map → chunk-TVZAFTPT.js.map} +0 -0
  405. /package/dist/{chunk-FGBEOUQK.js.map → chunk-YJXRJTOH.js.map} +0 -0
  406. /package/dist/flows/{Onboarding/BasicInformationStep.js.map → CostCalculator/api.js.map} +0 -0
  407. /package/dist/flows/{Onboarding/BenefitsStep.js.map → CostCalculator/components/SalaryField.js.map} +0 -0
  408. /package/dist/flows/Onboarding/{ContractDetailsStep.js.map → api.js.map} +0 -0
  409. /package/dist/flows/Onboarding/{OnboardingBack.js.map → components/AnnualGrossSalary.js.map} +0 -0
  410. /package/dist/flows/Onboarding/{OnboardingForm.js.map → components/BasicInformationStep.js.map} +0 -0
  411. /package/dist/flows/Onboarding/{OnboardingInvite.js.map → components/BenefitsStep.js.map} +0 -0
  412. /package/dist/flows/Onboarding/{OnboardingSubmit.js.map → components/ContractDetailsStep.js.map} +0 -0
@@ -0,0 +1,2 @@
1
+ import{a as s}from"./chunk-PJCUSCO4.js";import{b as o}from"./chunk-KPHSEIR3.js";import{a}from"./chunk-P37U34EQ.js";import{jsx as r,jsxs as t}from"react/jsx-runtime";function i({grossSalary:e,currency:l}){return t("div",{children:[t("div",{className:"flex justify-between items-center mb-2",children:[r("h3",{className:"font-medium text-primary-foreground",children:"Gross Salary"}),r("span",{className:"font-semibold text-lg",children:o(e,l)})]}),r(s,{})]})}a(i,"CostCalculatorGrossSalary");export{i as a};
2
+ //# sourceMappingURL=chunk-32RYPLZK.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/CostCalculator/Results/CostCalculatorGrossSalary.tsx"],"sourcesContent":["import { Separator } from '@/src/components/ui/separator';\nimport { formatCurrency } from '@/src/lib/utils';\n\ntype CostCalculatorGrossSalaryProps = {\n grossSalary: number;\n currency: string;\n};\n\nexport function CostCalculatorGrossSalary({\n grossSalary,\n currency,\n}: CostCalculatorGrossSalaryProps) {\n return (\n <div>\n <div className=\"flex justify-between items-center mb-2\">\n <h3 className=\"font-medium text-primary-foreground\">Gross Salary</h3>\n <span className=\"font-semibold text-lg\">\n {formatCurrency(grossSalary, currency)}\n </span>\n </div>\n <Separator />\n </div>\n );\n}\n"],"mappings":"mHAcM,OACE,OAAAA,EADF,QAAAC,MAAA,oBANC,SAASC,EAA0B,CACxC,YAAAC,EACA,SAAAC,CACF,EAAmC,CACjC,OACEH,EAAC,OACC,UAAAA,EAAC,OAAI,UAAU,yCACb,UAAAD,EAAC,MAAG,UAAU,sCAAsC,wBAAY,EAChEA,EAAC,QAAK,UAAU,wBACb,SAAAK,EAAeF,EAAaC,CAAQ,EACvC,GACF,EACAJ,EAACM,EAAA,EAAU,GACb,CAEJ,CAfgBC,EAAAL,EAAA","names":["jsx","jsxs","CostCalculatorGrossSalary","grossSalary","currency","formatCurrency","Separator","__name"]}
@@ -0,0 +1,2 @@
1
+ import{b as l}from"./chunk-KSHK3ZPX.js";import{b as C}from"./chunk-GEYFQVQI.js";import{b as i}from"./chunk-3ZWDIEEM.js";import{a as c}from"./chunk-KPHSEIR3.js";import{a as u}from"./chunk-P37U34EQ.js";import{jsx as a}from"react/jsx-runtime";function R({children:e,...t}){let{form:r,formId:n,costCalculatorBag:s}=l(),{components:f}=i(),m=f?.button;return m?a(m,{...t,type:"reset",form:n,onClick:o=>{s?.resetForm(),r.reset(),t.onClick?.(o)},children:e}):a(C,{...t,type:"reset",className:c("RemoteFlows__CostCalculatorForm__ResetButton",t.className),form:n,onClick:o=>{s?.resetForm(),r.reset(),t.onClick?.(o)},children:e})}u(R,"CostCalculatorResetButton");export{R as a};
2
+ //# sourceMappingURL=chunk-3HPG2L62.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/CostCalculator/CostCalculatorResetButton.tsx"],"sourcesContent":["import { Button } from '@/src/components/ui/button';\nimport { ButtonHTMLAttributes, PropsWithChildren } from 'react';\nimport { useCostCalculatorContext } from './context';\nimport { cn } from '@/src/lib/utils';\nimport { useFormFields } from '@/src/context';\n\nexport function CostCalculatorResetButton({\n children,\n ...props\n}: PropsWithChildren<ButtonHTMLAttributes<HTMLButtonElement>> &\n Record<string, unknown>) {\n const { form, formId, costCalculatorBag } = useCostCalculatorContext();\n const { components } = useFormFields();\n\n const CustomButton = components?.button;\n if (CustomButton) {\n return (\n <CustomButton\n {...props}\n type=\"reset\"\n form={formId}\n onClick={(evt) => {\n costCalculatorBag?.resetForm();\n form.reset();\n props.onClick?.(evt);\n }}\n >\n {children}\n </CustomButton>\n );\n }\n\n return (\n <Button\n {...props}\n type=\"reset\"\n className={cn(\n 'RemoteFlows__CostCalculatorForm__ResetButton',\n props.className,\n )}\n form={formId}\n onClick={(evt) => {\n costCalculatorBag?.resetForm();\n form.reset();\n props.onClick?.(evt);\n }}\n >\n {children}\n </Button>\n );\n}\n"],"mappings":"wMAiBM,cAAAA,MAAA,oBAXC,SAASC,EAA0B,CACxC,SAAAC,EACA,GAAGC,CACL,EAC2B,CACzB,GAAM,CAAE,KAAAC,EAAM,OAAAC,EAAQ,kBAAAC,CAAkB,EAAIC,EAAyB,EAC/D,CAAE,WAAAC,CAAW,EAAIC,EAAc,EAE/BC,EAAeF,GAAY,OACjC,OAAIE,EAEAV,EAACU,EAAA,CACE,GAAGP,EACJ,KAAK,QACL,KAAME,EACN,QAAUM,GAAQ,CAChBL,GAAmB,UAAU,EAC7BF,EAAK,MAAM,EACXD,EAAM,UAAUQ,CAAG,CACrB,EAEC,SAAAT,EACH,EAKFF,EAACY,EAAA,CACE,GAAGT,EACJ,KAAK,QACL,UAAWU,EACT,+CACAV,EAAM,SACR,EACA,KAAME,EACN,QAAUM,GAAQ,CAChBL,GAAmB,UAAU,EAC7BF,EAAK,MAAM,EACXD,EAAM,UAAUQ,CAAG,CACrB,EAEC,SAAAT,EACH,CAEJ,CA5CgBY,EAAAb,EAAA","names":["jsx","CostCalculatorResetButton","children","props","form","formId","costCalculatorBag","useCostCalculatorContext","components","useFormFields","CustomButton","evt","Button","cn","__name"]}
@@ -0,0 +1,2 @@
1
+ import{a as m,b as p,c as d,d as u}from"./chunk-YO4OQIFP.js";import{a as l}from"./chunk-PJCUSCO4.js";import{b as i}from"./chunk-GEYFQVQI.js";import{b as r}from"./chunk-KPHSEIR3.js";import{a as n}from"./chunk-P37U34EQ.js";import{Info as g}from"lucide-react";import{Fragment as v,jsx as e,jsxs as t}from"react/jsx-runtime";function y({contributionsTotal:c,currency:a,contributionsBreakdown:s}){return t("div",{children:[t("div",{className:"flex justify-between items-center mb-2",children:[e("h3",{className:"font-medium text-primary-foreground",children:"Employer Contributions"}),e("span",{className:"font-semibold text-lg",children:r(c,a)})]}),s?t(v,{children:[e(l,{className:"mb-3"}),e("div",{className:"space-y-3 pl-2",children:s.map((o,f)=>t("div",{className:"flex justify-between items-start text-sm",children:[t("div",{className:"flex items-start gap-2",children:[e("span",{children:o.name}),e(m,{children:t(p,{children:[e(d,{asChild:!0,children:t(i,{variant:"ghost",size:"icon",className:"h-4 w-4 p-0",children:[e(g,{className:"h-3 w-3 text-gray-400"}),e("span",{className:"sr-only",children:"Info"})]})}),t(u,{children:[e("p",{className:"max-w-xs",children:o.description}),o.zendesk_article_url&&e("a",{href:o.zendesk_article_url,target:"_blank",rel:"noopener noreferrer",className:"text-blue-500 hover:underline block mt-1 text-xs",children:"Learn more"})]})]})})]}),e("span",{children:r(o.amount,a)})]},f))})]}):null]})}n(y,"CostCalculatorContributionsBreakdown");export{y as a};
2
+ //# sourceMappingURL=chunk-3NZ6PO4D.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/CostCalculator/Results/CostCalculatorContributionsBreakdown.tsx"],"sourcesContent":["import { Info } from 'lucide-react';\n\nimport {\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n Tooltip as UITooltip,\n} from '@/src/components/ui/tooltip';\n\nimport { Button } from '@/src/components/ui/button';\nimport { Separator } from '@/src/components/ui/separator';\nimport { formatCurrency } from '@/src/lib/utils';\n\ntype CostCalculatorContributionsBreakdownProps = {\n contributionsTotal: number;\n currency: string;\n contributionsBreakdown:\n | {\n name: string;\n description: string | null;\n amount: number;\n zendesk_article_url: string | null;\n }[]\n | undefined;\n};\n\nexport function CostCalculatorContributionsBreakdown({\n contributionsTotal,\n currency,\n contributionsBreakdown,\n}: CostCalculatorContributionsBreakdownProps) {\n return (\n <div>\n <div className=\"flex justify-between items-center mb-2\">\n <h3 className=\"font-medium text-primary-foreground\">\n Employer Contributions\n </h3>\n <span className=\"font-semibold text-lg\">\n {formatCurrency(contributionsTotal, currency)}\n </span>\n </div>\n {contributionsBreakdown ? (\n <>\n <Separator className=\"mb-3\" />\n <div className=\"space-y-3 pl-2\">\n {contributionsBreakdown.map((contribution, index) => (\n <div\n key={index}\n className=\"flex justify-between items-start text-sm\"\n >\n <div className=\"flex items-start gap-2\">\n <span>{contribution.name}</span>\n <TooltipProvider>\n <UITooltip>\n <TooltipTrigger asChild>\n <Button\n variant=\"ghost\"\n size=\"icon\"\n className=\"h-4 w-4 p-0\"\n >\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\">{contribution.description}</p>\n {contribution.zendesk_article_url && (\n <a\n href={contribution.zendesk_article_url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"text-blue-500 hover:underline block mt-1 text-xs\"\n >\n Learn more\n </a>\n )}\n </TooltipContent>\n </UITooltip>\n </TooltipProvider>\n </div>\n <span>{formatCurrency(contribution.amount, currency)}</span>\n </div>\n ))}\n </div>\n </>\n ) : null}\n </div>\n );\n}\n"],"mappings":"6NAAA,OAAS,QAAAA,MAAY,eAiCf,OASE,YAAAC,EARA,OAAAC,EADF,QAAAC,MAAA,oBAPC,SAASC,EAAqC,CACnD,mBAAAC,EACA,SAAAC,EACA,uBAAAC,CACF,EAA8C,CAC5C,OACEJ,EAAC,OACC,UAAAA,EAAC,OAAI,UAAU,yCACb,UAAAD,EAAC,MAAG,UAAU,sCAAsC,kCAEpD,EACAA,EAAC,QAAK,UAAU,wBACb,SAAAM,EAAeH,EAAoBC,CAAQ,EAC9C,GACF,EACCC,EACCJ,EAAAF,EAAA,CACE,UAAAC,EAACO,EAAA,CAAU,UAAU,OAAO,EAC5BP,EAAC,OAAI,UAAU,iBACZ,SAAAK,EAAuB,IAAI,CAACG,EAAcC,IACzCR,EAAC,OAEC,UAAU,2CAEV,UAAAA,EAAC,OAAI,UAAU,yBACb,UAAAD,EAAC,QAAM,SAAAQ,EAAa,KAAK,EACzBR,EAACU,EAAA,CACC,SAAAT,EAACU,EAAA,CACC,UAAAX,EAACY,EAAA,CAAe,QAAO,GACrB,SAAAX,EAACY,EAAA,CACC,QAAQ,QACR,KAAK,OACL,UAAU,cAEV,UAAAb,EAACc,EAAA,CAAK,UAAU,wBAAwB,EACxCd,EAAC,QAAK,UAAU,UAAU,gBAAI,GAChC,EACF,EACAC,EAACc,EAAA,CACC,UAAAf,EAAC,KAAE,UAAU,WAAY,SAAAQ,EAAa,YAAY,EACjDA,EAAa,qBACZR,EAAC,KACC,KAAMQ,EAAa,oBACnB,OAAO,SACP,IAAI,sBACJ,UAAU,mDACX,sBAED,GAEJ,GACF,EACF,GACF,EACAR,EAAC,QAAM,SAAAM,EAAeE,EAAa,OAAQJ,CAAQ,EAAE,IAjChDK,CAkCP,CACD,EACH,GACF,EACE,MACN,CAEJ,CA9DgBO,EAAAd,EAAA","names":["Info","Fragment","jsx","jsxs","CostCalculatorContributionsBreakdown","contributionsTotal","currency","contributionsBreakdown","formatCurrency","Separator","contribution","index","TooltipProvider","Tooltip","TooltipTrigger","Button","Info","TooltipContent","__name"]}
@@ -1,2 +1,2 @@
1
- import{a as o}from"./chunk-AYDF3IFZ.js";import{createContext as e,useContext as n}from"react";var r=e(null),m=o(()=>{let t=n(r);if(!t?.components)throw new Error("useFormFields must be used within a FormFieldsProvider");return{components:t.components}},"useFormFields"),s=e({client:null}),i=o(()=>n(s),"useClient");export{r as a,m as b,s as c,i as d};
2
- //# sourceMappingURL=chunk-WRDKLT4N.js.map
1
+ import{a as o}from"./chunk-P37U34EQ.js";import{createContext as e,useContext as n}from"react";var r=e(null),m=o(()=>{let t=n(r);if(!t?.components)throw new Error("useFormFields must be used within a FormFieldsProvider");return{components:t.components}},"useFormFields"),s=e({client:null}),i=o(()=>n(s),"useClient");export{r as a,m as b,s as c,i as d};
2
+ //# sourceMappingURL=chunk-3ZWDIEEM.js.map
@@ -1,2 +1,2 @@
1
- import{b as e}from"./chunk-N25EBX6R.js";import{a as r}from"./chunk-AYDF3IFZ.js";var m={form:{index:0,name:"form"},confirmation_form:{index:1,name:"confirmation_form"}};function _(t,o){if(!t)return{};if(!o)return{...t.data.employment?.contract_details,effective_date:"",reason_for_change:"",job_title:t.data.employment?.job_title,additional_comments:"",annual_gross_salary:e(t.data.employment?.contract_details?.annual_gross_salary)};let s=o.map(n=>n.name),i=Object.keys(t?.data?.employment?.contract_details||{});return{...s.reduce((n,a)=>{if(i.includes(a)){let c=t?.data?.employment?.contract_details;n[a]=c[a]}return n},{}),effective_date:"",reason_for_change:"",job_title:t.data.employment?.job_title,additional_comments:"",annual_gross_salary:e(t.data.employment?.contract_details?.annual_gross_salary),additional_comments_toggle:!1}}r(_,"buildInitialValues");export{m as a,_ as b};
2
- //# sourceMappingURL=chunk-KQ6TGZJS.js.map
1
+ import{b as a}from"./chunk-MH6KKP6K.js";import{a as r}from"./chunk-P37U34EQ.js";var m={form:{index:0,name:"form"},confirmation_form:{index:1,name:"confirmation_form"}};function _(t,o){if(!t)return{};if(!o)return{...t.data.employment?.contract_details,effective_date:"",reason_for_change:"",job_title:t.data.employment?.job_title,additional_comments:"",annual_gross_salary:a(t.data.employment?.contract_details?.annual_gross_salary)};let s=o.map(n=>n.name),i=Object.keys(t?.data?.employment?.contract_details||{});return{...s.reduce((n,e)=>{if(i.includes(e)){let c=t?.data?.employment?.contract_details;n[e]=c[e]}return n},{}),effective_date:"",reason_for_change:"",job_title:t.data.employment?.job_title,additional_comments:"",annual_gross_salary:a(t.data.employment?.contract_details?.annual_gross_salary),additional_comments_toggle:!1}}r(_,"buildInitialValues");export{m as a,_ as b};
2
+ //# sourceMappingURL=chunk-5SMMQQXP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/ContractAmendment/utils.ts"],"sourcesContent":["import { EmploymentShowResponse } from '@/src/client';\nimport { convertFromCents } from '@/src/components/form/utils';\nimport { Fields } from '@remoteoss/json-schema-form';\nimport { Step } from '../useStepState';\n\ntype StepKeys = 'form' | 'confirmation_form';\n\nexport const STEPS: Record<StepKeys, Step<StepKeys>> = {\n form: { index: 0, name: 'form' },\n confirmation_form: { index: 1, name: 'confirmation_form' },\n} as const;\n\nexport function buildInitialValues(\n employment: EmploymentShowResponse | undefined,\n fields?: Fields | undefined,\n) {\n if (!employment) {\n return {};\n }\n\n if (!fields) {\n return {\n ...employment.data.employment?.contract_details,\n effective_date: '',\n reason_for_change: '',\n job_title: employment.data.employment?.job_title,\n additional_comments: '',\n annual_gross_salary: convertFromCents(\n employment.data.employment?.contract_details\n ?.annual_gross_salary as string,\n ),\n };\n }\n\n const allFields = fields.map((field) => field.name);\n const employmentFields = Object.keys(\n employment?.data?.employment?.contract_details || {},\n );\n const initialValues = allFields.reduce<Record<string, unknown>>(\n (initialValuesAcc, field) => {\n // @ts-expect-error error\n if (employmentFields.includes(field)) {\n const contractDetails = employment?.data?.employment\n ?.contract_details as Record<string, unknown>;\n // @ts-expect-error error\n initialValuesAcc[field] = contractDetails[field];\n }\n return initialValuesAcc;\n },\n {} as Record<string, unknown>,\n );\n\n return {\n ...initialValues,\n effective_date: '',\n reason_for_change: '',\n job_title: employment.data.employment?.job_title,\n additional_comments: '',\n annual_gross_salary: convertFromCents(\n employment.data.employment?.contract_details\n ?.annual_gross_salary as string,\n ),\n additional_comments_toggle: false,\n };\n}\n"],"mappings":"gFAOO,IAAMA,EAA0C,CACrD,KAAM,CAAE,MAAO,EAAG,KAAM,MAAO,EAC/B,kBAAmB,CAAE,MAAO,EAAG,KAAM,mBAAoB,CAC3D,EAEO,SAASC,EACdC,EACAC,EACA,CACA,GAAI,CAACD,EACH,MAAO,CAAC,EAGV,GAAI,CAACC,EACH,MAAO,CACL,GAAGD,EAAW,KAAK,YAAY,iBAC/B,eAAgB,GAChB,kBAAmB,GACnB,UAAWA,EAAW,KAAK,YAAY,UACvC,oBAAqB,GACrB,oBAAqBE,EACnBF,EAAW,KAAK,YAAY,kBACxB,mBACN,CACF,EAGF,IAAMG,EAAYF,EAAO,IAAKG,GAAUA,EAAM,IAAI,EAC5CC,EAAmB,OAAO,KAC9BL,GAAY,MAAM,YAAY,kBAAoB,CAAC,CACrD,EAeA,MAAO,CACL,GAfoBG,EAAU,OAC9B,CAACG,EAAkBF,IAAU,CAE3B,GAAIC,EAAiB,SAASD,CAAK,EAAG,CACpC,IAAMG,EAAkBP,GAAY,MAAM,YACtC,iBAEJM,EAAiBF,CAAK,EAAIG,EAAgBH,CAAK,CACjD,CACA,OAAOE,CACT,EACA,CAAC,CACH,EAIE,eAAgB,GAChB,kBAAmB,GACnB,UAAWN,EAAW,KAAK,YAAY,UACvC,oBAAqB,GACrB,oBAAqBE,EACnBF,EAAW,KAAK,YAAY,kBACxB,mBACN,EACA,2BAA4B,EAC9B,CACF,CApDgBQ,EAAAT,EAAA","names":["STEPS","buildInitialValues","employment","fields","convertFromCents","allFields","field","employmentFields","initialValuesAcc","contractDetails","__name"]}
@@ -0,0 +1,2 @@
1
+ import{b as f}from"./chunk-MRYRNB7Y.js";import{a as l}from"./chunk-2NLOH7NZ.js";import{b as s}from"./chunk-CFIJKJXD.js";import{a}from"./chunk-VNSF5IOL.js";import{a as n}from"./chunk-P37U34EQ.js";import{useEffect as y}from"react";import{useForm as T}from"react-hook-form";import{jsx as e}from"react/jsx-runtime";function A({fields:m,onSubmit:d}){let{formId:F,terminationBag:o}=f(),u=s(o.handleValidation),i=T({resolver:u,defaultValues:o?.initialValues,shouldUnregister:!1,mode:"onBlur"});y(()=>{let p=i?.watch(r=>{Object.keys(r).some(t=>r[t]!==o?.initialValues?.[t])&&o?.checkFieldUpdates(r)});return()=>p?.unsubscribe()},[]);let c=m||(o?.fields??[]);return e(a,{...i,children:e("form",{id:F,onSubmit:i.handleSubmit(d),className:"space-y-4 RemoteFlows__TerminationForm",children:e(l,{fields:c})})})}n(A,"TerminationForm");export{A as a};
2
+ //# sourceMappingURL=chunk-6SWZH7KI.js.map
@@ -0,0 +1 @@
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 { 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,OAAS,aAAAA,MAAiB,QAG1B,OAAS,WAAAC,MAAe,kBAgDhB,cAAAC,MAAA,oBAvCD,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,OACEL,EAACgB,EAAA,CAAM,GAAGP,EACR,SAAAT,EAAC,QACC,GAAII,EACJ,SAAUK,EAAK,aAAaN,CAAQ,EACpC,UAAU,yCAEV,SAAAH,EAACiB,EAAA,CAAqB,OAAQF,EAAkB,EAClD,EACF,CAEJ,CA3CgBG,EAAAjB,EAAA","names":["useEffect","useForm","jsx","TerminationForm","fields","onSubmit","formId","terminationBag","useTerminationContext","resolver","useJsonSchemasValidationFormResolver","form","useForm","useEffect","subscription","values","key","jsonSchemaFields","Form","JSONSchemaFormFields","__name"]}
@@ -0,0 +1,2 @@
1
+ import{a as s}from"./chunk-DKJZB2TO.js";import{b as t}from"./chunk-PGWKJ6FK.js";import{b as e}from"./chunk-QW4JPW6J.js";import{a as i}from"./chunk-P37U34EQ.js";import{jsx as c}from"react/jsx-runtime";function S({onSubmit:m,onSuccess:d,onError:a}){let{onboardingBag:o}=t(),l=i(async n=>{try{await m?.(o.parseFormValues(n));let r=await o.onSubmit(n);if(r?.data){await d?.(r?.data),o?.next();return}if(r?.error){let p=e(r?.fieldErrors||[],o.meta?.fields?.basic_information);a?.({error:r?.error,rawError:r?.rawError,fieldErrors:p})}}catch(r){a?.({error:r,rawError:r,fieldErrors:[]})}},"handleSubmit"),f=o.stepState.values?.basic_information||o.initialValues.basic_information;return c(s,{defaultValues:f,onSubmit:l})}i(S,"BasicInformationStep");export{S as a};
2
+ //# sourceMappingURL=chunk-76CE6Z77.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/Onboarding/components/BasicInformationStep.tsx"],"sourcesContent":["import { useOnboardingContext } from '@/src/flows/Onboarding/context';\nimport { OnboardingForm } from '@/src/flows/Onboarding/components/OnboardingForm';\nimport { BasicInformationFormPayload } from '@/src/flows/Onboarding/types';\nimport { EmploymentCreationResponse } from '@/src/client';\nimport { $TSFixMe } from '@/src/types/remoteFlows';\nimport {\n normalizeFieldErrors,\n NormalizedFieldError,\n} from '@/src/lib/mutations';\n\ntype BasicInformationStepProps = {\n /*\n * The function is called when the form is submitted. It receives the form values as an argument.\n */\n onSubmit?: (payload: BasicInformationFormPayload) => void | Promise<void>;\n /*\n * The function is called when the form submission is successful.\n */\n onSuccess?: (data: EmploymentCreationResponse) => void | Promise<void>;\n /*\n * The function is called when an error occurs during form submission.\n */\n onError?: ({\n error,\n rawError,\n fieldErrors,\n }: {\n error: Error;\n rawError: Record<string, unknown>;\n fieldErrors: NormalizedFieldError[];\n }) => void;\n};\n\nexport function BasicInformationStep({\n onSubmit,\n onSuccess,\n onError,\n}: BasicInformationStepProps) {\n const { onboardingBag } = useOnboardingContext();\n\n const handleSubmit = async (payload: $TSFixMe) => {\n try {\n await onSubmit?.(\n onboardingBag.parseFormValues(payload) as BasicInformationFormPayload,\n );\n const response = await onboardingBag.onSubmit(payload);\n if (response?.data) {\n await onSuccess?.(response?.data as EmploymentCreationResponse);\n onboardingBag?.next();\n return;\n }\n if (response?.error) {\n const normalizedFieldErrors = normalizeFieldErrors(\n response?.fieldErrors || [],\n onboardingBag.meta?.fields?.basic_information,\n );\n\n onError?.({\n error: response?.error,\n rawError: response?.rawError,\n fieldErrors: normalizedFieldErrors,\n });\n }\n } catch (error: unknown) {\n onError?.({\n error: error as Error,\n rawError: error as Record<string, unknown>,\n fieldErrors: [],\n });\n }\n };\n\n const initialValues =\n onboardingBag.stepState.values?.basic_information ||\n onboardingBag.initialValues.basic_information;\n\n return (\n <OnboardingForm defaultValues={initialValues} onSubmit={handleSubmit} />\n );\n}\n"],"mappings":"gKA6EI,cAAAA,MAAA,oBA5CG,SAASC,EAAqB,CACnC,SAAAC,EACA,UAAAC,EACA,QAAAC,CACF,EAA8B,CAC5B,GAAM,CAAE,cAAAC,CAAc,EAAIC,EAAqB,EAEzCC,EAAeC,EAAA,MAAOC,GAAsB,CAChD,GAAI,CACF,MAAMP,IACJG,EAAc,gBAAgBI,CAAO,CACvC,EACA,IAAMC,EAAW,MAAML,EAAc,SAASI,CAAO,EACrD,GAAIC,GAAU,KAAM,CAClB,MAAMP,IAAYO,GAAU,IAAkC,EAC9DL,GAAe,KAAK,EACpB,MACF,CACA,GAAIK,GAAU,MAAO,CACnB,IAAMC,EAAwBC,EAC5BF,GAAU,aAAe,CAAC,EAC1BL,EAAc,MAAM,QAAQ,iBAC9B,EAEAD,IAAU,CACR,MAAOM,GAAU,MACjB,SAAUA,GAAU,SACpB,YAAaC,CACf,CAAC,CACH,CACF,OAASE,EAAgB,CACvBT,IAAU,CACR,MAAOS,EACP,SAAUA,EACV,YAAa,CAAC,CAChB,CAAC,CACH,CACF,EA9BqB,gBAgCfC,EACJT,EAAc,UAAU,QAAQ,mBAChCA,EAAc,cAAc,kBAE9B,OACEL,EAACe,EAAA,CAAe,cAAeD,EAAe,SAAUP,EAAc,CAE1E,CA9CgBC,EAAAP,EAAA","names":["jsx","BasicInformationStep","onSubmit","onSuccess","onError","onboardingBag","useOnboardingContext","handleSubmit","__name","payload","response","normalizedFieldErrors","normalizeFieldErrors","error","initialValues","OnboardingForm"]}
@@ -0,0 +1,2 @@
1
+ import{b as d}from"./chunk-PGWKJ6FK.js";import{b as m}from"./chunk-3ZWDIEEM.js";import{a as r}from"./chunk-P37U34EQ.js";import{jsx as b}from"react/jsx-runtime";var B=r(({onSuccess:l,onError:c,className:o,children:n,disabled:e=!1,...f})=>{let{onboardingBag:i,formId:E}=d(),{components:p}=m(),s=r(async()=>{let a=document.getElementById(E);if(a){let t=new Event("submit",{bubbles:!0,cancelable:!0});t.isDraftSubmission=!0,t.draftCallbacks={onSuccess:l,onError:c},a.dispatchEvent(t)}},"handleSaveDraft"),u=p?.button;return u?b(u,{...f,onClick:s,disabled:e||i.isSubmitting,className:o,children:n}):b("button",{type:"button",onClick:s,disabled:e||i.isSubmitting,className:o,children:n})},"SaveDraftButton");export{B as a};
2
+ //# sourceMappingURL=chunk-7TOZZQQJ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/Onboarding/components/SaveDraftButton.tsx"],"sourcesContent":["import { useFormFields } from '@/src/context';\nimport { useOnboardingContext } from '@/src/flows/Onboarding/context';\nimport { ButtonHTMLAttributes } from 'react';\nimport { NormalizedFieldError } from '@/src/lib/mutations';\nimport { $TSFixMe } from '@/src/types/remoteFlows';\n\ntype SaveDraftButtonProps = Omit<\n ButtonHTMLAttributes<HTMLButtonElement>,\n 'onError'\n> & {\n onSuccess?: () => void | Promise<void>;\n onError?: ({\n error,\n rawError,\n fieldErrors,\n }: {\n error: Error;\n rawError: Record<string, unknown>;\n fieldErrors: NormalizedFieldError[];\n }) => void;\n};\n\nexport const SaveDraftButton = ({\n onSuccess,\n onError,\n className,\n children,\n disabled = false,\n ...props\n}: SaveDraftButtonProps) => {\n const { onboardingBag, formId } = useOnboardingContext();\n\n const { components } = useFormFields();\n\n const handleSaveDraft = async () => {\n const form = document.getElementById(formId);\n if (form) {\n const submitEvent = new Event('submit', {\n bubbles: true,\n cancelable: true,\n });\n (submitEvent as $TSFixMe).isDraftSubmission = true;\n (submitEvent as $TSFixMe).draftCallbacks = { onSuccess, onError };\n form.dispatchEvent(submitEvent);\n }\n };\n\n const CustomButton = components?.button;\n if (CustomButton) {\n return (\n <CustomButton\n {...props}\n onClick={handleSaveDraft}\n disabled={disabled || onboardingBag.isSubmitting}\n className={className}\n >\n {children}\n </CustomButton>\n );\n }\n\n return (\n <button\n type=\"button\"\n onClick={handleSaveDraft}\n disabled={disabled || onboardingBag.isSubmitting}\n className={className}\n >\n {children}\n </button>\n );\n};\n"],"mappings":"wHAkDM,cAAAA,MAAA,oBA5BC,IAAMC,EAAkBC,EAAA,CAAC,CAC9B,UAAAC,EACA,QAAAC,EACA,UAAAC,EACA,SAAAC,EACA,SAAAC,EAAW,GACX,GAAGC,CACL,IAA4B,CAC1B,GAAM,CAAE,cAAAC,EAAe,OAAAC,CAAO,EAAIC,EAAqB,EAEjD,CAAE,WAAAC,CAAW,EAAIC,EAAc,EAE/BC,EAAkBZ,EAAA,SAAY,CAClC,IAAMa,EAAO,SAAS,eAAeL,CAAM,EAC3C,GAAIK,EAAM,CACR,IAAMC,EAAc,IAAI,MAAM,SAAU,CACtC,QAAS,GACT,WAAY,EACd,CAAC,EACAA,EAAyB,kBAAoB,GAC7CA,EAAyB,eAAiB,CAAE,UAAAb,EAAW,QAAAC,CAAQ,EAChEW,EAAK,cAAcC,CAAW,CAChC,CACF,EAXwB,mBAalBC,EAAeL,GAAY,OACjC,OAAIK,EAEAjB,EAACiB,EAAA,CACE,GAAGT,EACJ,QAASM,EACT,SAAUP,GAAYE,EAAc,aACpC,UAAWJ,EAEV,SAAAC,EACH,EAKFN,EAAC,UACC,KAAK,SACL,QAASc,EACT,SAAUP,GAAYE,EAAc,aACpC,UAAWJ,EAEV,SAAAC,EACH,CAEJ,EAjD+B","names":["jsx","SaveDraftButton","__name","onSuccess","onError","className","children","disabled","props","onboardingBag","formId","useOnboardingContext","components","useFormFields","handleSaveDraft","form","submitEvent","CustomButton"]}
@@ -0,0 +1,2 @@
1
+ import{b as g}from"./chunk-PGWKJ6FK.js";import{d as f,e as w}from"./chunk-XKSOWDLS.js";import{a as m}from"./chunk-QW4JPW6J.js";import{b as E}from"./chunk-GEYFQVQI.js";import{b as y}from"./chunk-3ZWDIEEM.js";import{a}from"./chunk-P37U34EQ.js";import{jsx as R}from"react/jsx-runtime";function A({onSubmit:S,onSuccess:d,onError:o,render:u,...r}){let{components:I}=y(),{onboardingBag:t,setCreditScore:c}=g(),n=f(),i=w(),{mutateAsync:b}=m(n),{mutateAsync:_}=m(i),l=a(async()=>{try{if(await S?.(),t.creditRiskStatus==="deposit_required"&&t.employmentId&&t.employment?.status&&!t.isEmploymentReadOnly){let e=await _({employment_slug:t.employmentId});if(e.data){await d?.({data:e.data,employmentStatus:"created_awaiting_reserve"}),c?.(s=>({...s,showReserveInvoice:!0})),t.refetchEmployment();return}e.error&&o?.({error:e.error,rawError:e.rawError,fieldErrors:[]})}else if(t.employmentId){let e=await b({employment_id:t.employmentId});if(e.data){await d?.({data:e.data,employmentStatus:"invited"}),c?.(s=>({...s,showInviteSuccessful:!0})),t.refetchEmployment();return}e.error&&o?.({error:e.error,rawError:e.rawError,fieldErrors:[]})}}catch(e){o?.({error:e,rawError:e,fieldErrors:[]})}},"handleSubmit"),p=t.creditRiskStatus==="deposit_required"&&t.employment?.status&&!t.isEmploymentReadOnly,v=I?.button;return v?R(v,{...r,disabled:n.isPending||i.isPending||r.disabled,onClick:e=>{l(),r.onClick?.(e)},children:u({employmentStatus:p?"created_awaiting_reserve":"invited"})}):R(E,{...r,disabled:n.isPending||i.isPending||r.disabled,onClick:()=>{l()},children:u({employmentStatus:p?"created_awaiting_reserve":"invited"})})}a(A,"OnboardingInvite");export{A as a};
2
+ //# sourceMappingURL=chunk-7ZH23EMZ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/Onboarding/components/OnboardingInvite.tsx"],"sourcesContent":["import { ButtonHTMLAttributes, ReactNode } from 'react';\nimport { useEmploymentInvite } from '@/src/flows/Onboarding/api';\nimport { Button } from '@/src/components/ui/button';\nimport { useCreateReserveInvoice } from '@/src/flows/Onboarding/api';\nimport { FieldError, mutationToPromise } from '@/src/lib/mutations';\nimport { SuccessResponse } from '@/src/client';\nimport { useOnboardingContext } from '@/src/flows/Onboarding/context';\nimport { useFormFields } from '@/src/context';\n\nexport type OnboardingInviteProps = Omit<\n ButtonHTMLAttributes<HTMLButtonElement>,\n 'onError'\n> & {\n onSuccess?: ({\n data,\n employmentStatus,\n }: {\n data: SuccessResponse;\n employmentStatus: 'invited' | 'created_awaiting_reserve';\n }) => void | Promise<void>;\n onError?: ({\n error,\n rawError,\n fieldErrors,\n }: {\n error: Error;\n rawError: Record<string, unknown>;\n fieldErrors: FieldError[];\n }) => void;\n onSubmit?: () => void | Promise<void>;\n render: (props: {\n employmentStatus: 'invited' | 'created_awaiting_reserve';\n }) => ReactNode;\n} & Record<string, unknown>;\n\nexport function OnboardingInvite({\n onSubmit,\n onSuccess,\n onError,\n render,\n ...props\n}: OnboardingInviteProps) {\n const { components } = useFormFields();\n const { onboardingBag, setCreditScore } = useOnboardingContext();\n const employmentInviteMutation = useEmploymentInvite();\n const useCreateReserveInvoiceMutation = useCreateReserveInvoice();\n\n const { mutateAsync: employmentInviteMutationAsync } = mutationToPromise(\n employmentInviteMutation,\n );\n\n const { mutateAsync: createReserveInvoiceMutationAsync } = mutationToPromise(\n useCreateReserveInvoiceMutation,\n );\n\n const handleSubmit = async () => {\n try {\n await onSubmit?.();\n if (\n onboardingBag.creditRiskStatus === 'deposit_required' &&\n onboardingBag.employmentId &&\n onboardingBag.employment?.status &&\n !onboardingBag.isEmploymentReadOnly\n ) {\n const response = await createReserveInvoiceMutationAsync({\n employment_slug: onboardingBag.employmentId,\n });\n if (response.data) {\n await onSuccess?.({\n data: response.data as SuccessResponse,\n employmentStatus: 'created_awaiting_reserve',\n });\n setCreditScore?.((prev) => ({\n ...prev,\n showReserveInvoice: true,\n }));\n onboardingBag.refetchEmployment();\n return;\n }\n\n if (response.error) {\n onError?.({\n error: response.error,\n rawError: response.rawError,\n fieldErrors: [],\n });\n }\n } else if (onboardingBag.employmentId) {\n const response = await employmentInviteMutationAsync({\n employment_id: onboardingBag.employmentId,\n });\n if (response.data) {\n await onSuccess?.({\n data: response.data as SuccessResponse,\n employmentStatus: 'invited',\n });\n setCreditScore?.((prev) => ({\n ...prev,\n showInviteSuccessful: true,\n }));\n onboardingBag.refetchEmployment();\n return;\n }\n if (response.error) {\n onError?.({\n error: response.error,\n rawError: response.rawError,\n fieldErrors: [],\n });\n }\n }\n } catch (error: unknown) {\n onError?.({\n error: error as Error,\n rawError: error as Record<string, unknown>,\n fieldErrors: [],\n });\n }\n };\n\n const isReserveFlow =\n onboardingBag.creditRiskStatus === 'deposit_required' &&\n onboardingBag.employment?.status &&\n !onboardingBag.isEmploymentReadOnly;\n\n const CustomButton = components?.button;\n if (CustomButton) {\n return (\n <CustomButton\n {...props}\n disabled={\n employmentInviteMutation.isPending ||\n useCreateReserveInvoiceMutation.isPending ||\n props.disabled\n }\n onClick={(evt) => {\n handleSubmit();\n props.onClick?.(evt);\n }}\n >\n {render({\n employmentStatus: isReserveFlow\n ? 'created_awaiting_reserve'\n : 'invited',\n })}\n </CustomButton>\n );\n }\n\n return (\n <Button\n {...props}\n disabled={\n employmentInviteMutation.isPending ||\n useCreateReserveInvoiceMutation.isPending ||\n props.disabled\n }\n onClick={() => {\n handleSubmit();\n }}\n >\n {render({\n employmentStatus: isReserveFlow\n ? 'created_awaiting_reserve'\n : 'invited',\n })}\n </Button>\n );\n}\n"],"mappings":"kPAgIM,cAAAA,MAAA,oBA7FC,SAASC,EAAiB,CAC/B,SAAAC,EACA,UAAAC,EACA,QAAAC,EACA,OAAAC,EACA,GAAGC,CACL,EAA0B,CACxB,GAAM,CAAE,WAAAC,CAAW,EAAIC,EAAc,EAC/B,CAAE,cAAAC,EAAe,eAAAC,CAAe,EAAIC,EAAqB,EACzDC,EAA2BC,EAAoB,EAC/CC,EAAkCC,EAAwB,EAE1D,CAAE,YAAaC,CAA8B,EAAIC,EACrDL,CACF,EAEM,CAAE,YAAaM,CAAkC,EAAID,EACzDH,CACF,EAEMK,EAAeC,EAAA,SAAY,CAC/B,GAAI,CAEF,GADA,MAAMlB,IAAW,EAEfO,EAAc,mBAAqB,oBACnCA,EAAc,cACdA,EAAc,YAAY,QAC1B,CAACA,EAAc,qBACf,CACA,IAAMY,EAAW,MAAMH,EAAkC,CACvD,gBAAiBT,EAAc,YACjC,CAAC,EACD,GAAIY,EAAS,KAAM,CACjB,MAAMlB,IAAY,CAChB,KAAMkB,EAAS,KACf,iBAAkB,0BACpB,CAAC,EACDX,IAAkBY,IAAU,CAC1B,GAAGA,EACH,mBAAoB,EACtB,EAAE,EACFb,EAAc,kBAAkB,EAChC,MACF,CAEIY,EAAS,OACXjB,IAAU,CACR,MAAOiB,EAAS,MAChB,SAAUA,EAAS,SACnB,YAAa,CAAC,CAChB,CAAC,CAEL,SAAWZ,EAAc,aAAc,CACrC,IAAMY,EAAW,MAAML,EAA8B,CACnD,cAAeP,EAAc,YAC/B,CAAC,EACD,GAAIY,EAAS,KAAM,CACjB,MAAMlB,IAAY,CAChB,KAAMkB,EAAS,KACf,iBAAkB,SACpB,CAAC,EACDX,IAAkBY,IAAU,CAC1B,GAAGA,EACH,qBAAsB,EACxB,EAAE,EACFb,EAAc,kBAAkB,EAChC,MACF,CACIY,EAAS,OACXjB,IAAU,CACR,MAAOiB,EAAS,MAChB,SAAUA,EAAS,SACnB,YAAa,CAAC,CAChB,CAAC,CAEL,CACF,OAASE,EAAgB,CACvBnB,IAAU,CACR,MAAOmB,EACP,SAAUA,EACV,YAAa,CAAC,CAChB,CAAC,CACH,CACF,EA/DqB,gBAiEfC,EACJf,EAAc,mBAAqB,oBACnCA,EAAc,YAAY,QAC1B,CAACA,EAAc,qBAEXgB,EAAelB,GAAY,OACjC,OAAIkB,EAEAzB,EAACyB,EAAA,CACE,GAAGnB,EACJ,SACEM,EAAyB,WACzBE,EAAgC,WAChCR,EAAM,SAER,QAAUoB,GAAQ,CAChBP,EAAa,EACbb,EAAM,UAAUoB,CAAG,CACrB,EAEC,SAAArB,EAAO,CACN,iBAAkBmB,EACd,2BACA,SACN,CAAC,EACH,EAKFxB,EAAC2B,EAAA,CACE,GAAGrB,EACJ,SACEM,EAAyB,WACzBE,EAAgC,WAChCR,EAAM,SAER,QAAS,IAAM,CACba,EAAa,CACf,EAEC,SAAAd,EAAO,CACN,iBAAkBmB,EACd,2BACA,SACN,CAAC,EACH,CAEJ,CArIgBJ,EAAAnB,EAAA","names":["jsx","OnboardingInvite","onSubmit","onSuccess","onError","render","props","components","useFormFields","onboardingBag","setCreditScore","useOnboardingContext","employmentInviteMutation","useEmploymentInvite","useCreateReserveInvoiceMutation","useCreateReserveInvoice","employmentInviteMutationAsync","mutationToPromise","createReserveInvoiceMutationAsync","handleSubmit","__name","response","prev","error","isReserveFlow","CustomButton","evt","Button"]}
@@ -0,0 +1,2 @@
1
+ import{a as v}from"./chunk-LX7QBDSF.js";import{a as A}from"./chunk-QW4JPW6J.js";import{a as l,b as _}from"./chunk-5SMMQQXP.js";import{c as E,l as w,t as b}from"./chunk-WKK63LAY.js";import{a as M}from"./chunk-PJBAQZ6G.js";import{d}from"./chunk-3ZWDIEEM.js";import{a as j,c as S}from"./chunk-MH6KKP6K.js";import{a as t}from"./chunk-P37U34EQ.js";import{createHeadlessForm as I,modify as R}from"@remoteoss/json-schema-form";import{useMutation as Q,useQuery as B}from"@tanstack/react-query";var J=t(({countryCode:a,employment:r,fieldValues:n,options:e})=>{let{client:u}=d(),m=e?.jsonSchemaVersion?.contract_amendments?{json_schema_version:e.jsonSchemaVersion.contract_amendments}:{};return B({queryKey:["contract-amendment-schema"],retry:!1,queryFn:t(async()=>{let o=await E({client:u,headers:{Authorization:""},query:{employment_id:r?.data?.employment?.id,country_code:a,...m}});if(o.error||!o.data)throw new Error("Failed to fetch contract amendment schema");return o},"queryFn"),enabled:!!r,select:t(({data:o})=>{let c=o?.data||{};if(e&&e.jsfModify){let{schema:f}=R(c,e.jsfModify);c=f}let s={...n,annual_gross_salary:n?.annual_gross_salary?j(n?.annual_gross_salary):void 0},y=Object.keys(s).length>0;return I(c,{initialValues:y?s:_(r)})},"select")})},"useContractAmendmentSchemaQuery"),K=t(a=>{let{client:r}=d(),n=a?.jsonSchemaVersion?.contract_amendments?{json_schema_version:a.jsonSchemaVersion.contract_amendments}:{};return Q({mutationFn:t(e=>w({client:r,headers:{Authorization:""},body:e,query:{...n}}),"mutationFn")})},"useCreateContractAmendmentMutation"),U=t(a=>{let{client:r}=d(),n=a?.jsonSchemaVersion?.contract_amendments?{json_schema_version:a.jsonSchemaVersion.contract_amendments}:{};return Q({mutationFn:t(e=>b({client:r,headers:{Authorization:""},body:e,query:{...n}}),"mutationFn")})},"useAutomatableContractAmendmentMutation"),ae=t(({employmentId:a,countryCode:r,options:n})=>{let{fieldValues:e,setFieldValues:u,stepState:m,nextStep:o,previousStep:c}=M(l),{data:s,isLoading:y,isError:V,error:f}=v({employmentId:a}),{data:i,isLoading:q,isError:L,error:T}=J({employment:s,countryCode:r,fieldValues:{...m.values?.[m.currentStep.name],...e},options:n}),k=_(s,i?.fields),F=K(n),g=U(n);async function O(p){let h=S(p,i?.fields||[],{isPartialValidation:!1}),P={employment_id:s?.data.employment?.id,amendment_contract_id:s?.data.employment?.active_contract_id,contract_amendment:{...h}};switch(m.currentStep.name){case l.form.name:{let{mutateAsync:C}=A(g),H=await C(P);return o(),H}case l.confirmation_form.name:{let{mutateAsync:C}=A(F);return C(P)}default:throw new Error("Invalid step state")}}t(O,"onSubmit");function z(p){if(i){let h=S(p,i?.fields);return i?.handleValidation(h)}return null}t(z,"handleValidation");function x(){c()}return t(x,"back"),{stepState:m,fields:i?.fields||[],isLoading:y||q,isError:V||L,error:f||T,isSubmitting:g.isPending||F.isPending,initialValues:k,values:e,handleValidation:z,checkFieldUpdates:u,onSubmit:O,back:x}},"useContractAmendment");export{ae as a};
2
+ //# sourceMappingURL=chunk-AIEAUPO6.js.map
@@ -0,0 +1 @@
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/api';\nimport { useClient } from '@/src/context';\nimport { FieldValues } from 'react-hook-form';\nimport { useStepState } from '../useStepState';\nimport { buildInitialValues, STEPS } from './utils';\nimport { FlowOptions } from '@/src/flows/types';\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 = (options?: FlowOptions) => {\n const { client } = useClient();\n const jsonSchemaQueryParam = options?.jsonSchemaVersion?.contract_amendments\n ? {\n json_schema_version: options.jsonSchemaVersion.contract_amendments,\n }\n : {};\n return useMutation({\n mutationFn: (payload: CreateContractAmendmentParams) => {\n return postCreateContractAmendment({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n body: payload,\n query: {\n ...jsonSchemaQueryParam,\n },\n });\n },\n });\n};\n\nconst useAutomatableContractAmendmentMutation = (options?: FlowOptions) => {\n const { client } = useClient();\n const jsonSchemaQueryParam = options?.jsonSchemaVersion?.contract_amendments\n ? {\n json_schema_version: options.jsonSchemaVersion.contract_amendments,\n }\n : {};\n return useMutation({\n mutationFn: (payload: CreateContractAmendmentParams) => {\n return postAutomatableContractAmendment({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n body: payload,\n query: {\n ...jsonSchemaQueryParam,\n },\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], // 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 =\n useCreateContractAmendmentMutation(options);\n const automatableContractAmendmentMutation =\n useAutomatableContractAmendmentMutation(options);\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"]}
@@ -0,0 +1,2 @@
1
+ import{b as c}from"./chunk-MRYRNB7Y.js";import{b as m}from"./chunk-GEYFQVQI.js";import{b as e}from"./chunk-3ZWDIEEM.js";import{a as u}from"./chunk-P37U34EQ.js";import{jsx as s}from"react/jsx-runtime";function f({children:n,...t}){let{terminationBag:{back:i}}=c(),{components:B}=e(),r=B?.button;return r?s(r,{...t,onClick:o=>{i(),t.onClick?.(o)},children:n}):s(m,{...t,onClick:o=>{i(),t.onClick?.(o)},children:n})}u(f,"TerminationBack");export{f as a};
2
+ //# sourceMappingURL=chunk-BF7QENCN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/Termination/TerminationBack.tsx"],"sourcesContent":["import { Button } from '@/src/components/ui/button';\nimport { ButtonHTMLAttributes, PropsWithChildren } from 'react';\nimport { useTerminationContext } from '@/src/flows/Termination/context';\nimport { useFormFields } from '@/src/context';\n\nexport function TerminationBack({\n children,\n ...props\n}: PropsWithChildren<ButtonHTMLAttributes<HTMLButtonElement>> &\n Record<string, unknown>) {\n const {\n terminationBag: { back },\n } = useTerminationContext();\n\n const { components } = useFormFields();\n\n const CustomButton = components?.button;\n if (CustomButton) {\n return (\n <CustomButton\n {...props}\n onClick={(evt) => {\n back();\n props.onClick?.(evt);\n }}\n >\n {children}\n </CustomButton>\n );\n }\n\n return (\n <Button\n {...props}\n onClick={(evt) => {\n back();\n props.onClick?.(evt);\n }}\n >\n {children}\n </Button>\n );\n}\n"],"mappings":"gKAmBM,cAAAA,MAAA,oBAdC,SAASC,EAAgB,CAC9B,SAAAC,EACA,GAAGC,CACL,EAC2B,CACzB,GAAM,CACJ,eAAgB,CAAE,KAAAC,CAAK,CACzB,EAAIC,EAAsB,EAEpB,CAAE,WAAAC,CAAW,EAAIC,EAAc,EAE/BC,EAAeF,GAAY,OACjC,OAAIE,EAEAR,EAACQ,EAAA,CACE,GAAGL,EACJ,QAAUM,GAAQ,CAChBL,EAAK,EACLD,EAAM,UAAUM,CAAG,CACrB,EAEC,SAAAP,EACH,EAKFF,EAACU,EAAA,CACE,GAAGP,EACJ,QAAUM,GAAQ,CAChBL,EAAK,EACLD,EAAM,UAAUM,CAAG,CACrB,EAEC,SAAAP,EACH,CAEJ,CArCgBS,EAAAV,EAAA","names":["jsx","TerminationBack","children","props","back","useTerminationContext","components","useFormFields","CustomButton","evt","Button","__name"]}
@@ -1,2 +1,2 @@
1
- import{a as o}from"./chunk-AYDF3IFZ.js";function a(e){return e.inner.reduce((t,r)=>({...t,[r.path]:{type:r.type??"validation",message:r.message}}),{})}o(a,"iterateErrors");var i=o(e=>async s=>{let{yupError:t,formErrors:r}=await e(s);return Object.keys(r||{}).length>0?{values:{},errors:a(t)}:{values:s,errors:{}}},"useJsonSchemasValidationFormResolver");export{a,i as b};
2
- //# sourceMappingURL=chunk-A4RX3KRZ.js.map
1
+ import{a as o}from"./chunk-P37U34EQ.js";function a(e){return e.inner.reduce((t,r)=>({...t,[r.path]:{type:r.type??"validation",message:r.message}}),{})}o(a,"iterateErrors");var i=o(e=>async s=>{let{yupError:t,formErrors:r}=await e(s);return Object.keys(r||{}).length>0?{values:{},errors:a(t)}:{values:s,errors:{}}},"useJsonSchemasValidationFormResolver");export{a,i as b};
2
+ //# sourceMappingURL=chunk-CFIJKJXD.js.map
@@ -0,0 +1,2 @@
1
+ import{a as m}from"./chunk-VNSF5IOL.js";import{c as n}from"./chunk-MH6KKP6K.js";import{b as a}from"./chunk-TVZAFTPT.js";import{a as o}from"./chunk-P37U34EQ.js";import{useForm as S}from"react-hook-form";import{jsx as i}from"react/jsx-runtime";function w({onSubmit:s,onError:d,onSuccess:c}){let{contractAmendment:{stepState:l,isSubmitting:u,onSubmit:f,fields:C},formId:p}=a(),e=S({defaultValues:l.values?.form}),A=o(async r=>{let F=n(r,C,{isPartialValidation:!1});await s?.(F);let t=await f(r);t.error?d?.(t.error):await c?.(t.data)},"handleSubmit");return u?null:i(m,{...e,children:i("form",{id:p,onSubmit:e.handleSubmit(A),className:"RemoteFlows__ContractAmendmentConfirmationForm"})})}o(w,"ContractAmendmentConfirmationForm");export{w as a};
2
+ //# sourceMappingURL=chunk-CSU6IQX3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/ContractAmendment/ContractAmendmentConfirmationForm.tsx"],"sourcesContent":["import {\n ContractAmendmentResponse,\n PostCreateContractAmendmentError,\n} from '@/src/client';\nimport { parseJSFToValidate } from '@/src/components/form/utils';\nimport { Form } from '@/src/components/ui/form';\nimport { FieldValues, useForm } from 'react-hook-form';\nimport { useContractAmendmentContext } from './context';\n\ntype ContractAmendmentConfirmationFormProps = {\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) => void | Promise<void>;\n /**\n * Callback function to be called when the contract amendment fails.\n * @param error\n * @returns\n */\n onError?: (error: PostCreateContractAmendmentError) => void;\n /**\n * Callback function to be called when the contract amendment is successfully submitted.\n * @param data\n * @returns\n */\n onSuccess?: (data: ContractAmendmentResponse) => void | Promise<void>;\n};\n\nexport function ContractAmendmentConfirmationForm({\n onSubmit,\n onError,\n onSuccess,\n}: ContractAmendmentConfirmationFormProps) {\n const {\n contractAmendment: {\n stepState,\n isSubmitting,\n onSubmit: submitContractAmendment,\n fields,\n },\n formId,\n } = useContractAmendmentContext();\n const form = useForm({\n defaultValues: stepState.values?.form,\n });\n\n const handleSubmit = async (values: FieldValues) => {\n const parsedValues = parseJSFToValidate(values, fields, {\n isPartialValidation: false,\n });\n await onSubmit?.(parsedValues);\n\n const contractAmendmentResult = await submitContractAmendment(values);\n\n if (contractAmendmentResult.error) {\n onError?.(\n contractAmendmentResult.error as PostCreateContractAmendmentError,\n );\n } else {\n await onSuccess?.(\n contractAmendmentResult.data as ContractAmendmentResponse,\n );\n }\n };\n\n // Ensure that step\n if (isSubmitting) {\n return null;\n }\n\n return (\n <Form {...form}>\n <form\n id={formId}\n onSubmit={form.handleSubmit(handleSubmit)}\n className=\"RemoteFlows__ContractAmendmentConfirmationForm\"\n ></form>\n </Form>\n );\n}\n"],"mappings":"gKAMA,OAAsB,WAAAA,MAAe,kBAuE/B,cAAAC,MAAA,oBA5CC,SAASC,EAAkC,CAChD,SAAAC,EACA,QAAAC,EACA,UAAAC,CACF,EAA2C,CACzC,GAAM,CACJ,kBAAmB,CACjB,UAAAC,EACA,aAAAC,EACA,SAAUC,EACV,OAAAC,CACF,EACA,OAAAC,CACF,EAAIC,EAA4B,EAC1BC,EAAOC,EAAQ,CACnB,cAAeP,EAAU,QAAQ,IACnC,CAAC,EAEKQ,EAAeC,EAAA,MAAOC,GAAwB,CAClD,IAAMC,EAAeC,EAAmBF,EAAQP,EAAQ,CACtD,oBAAqB,EACvB,CAAC,EACD,MAAMN,IAAWc,CAAY,EAE7B,IAAME,EAA0B,MAAMX,EAAwBQ,CAAM,EAEhEG,EAAwB,MAC1Bf,IACEe,EAAwB,KAC1B,EAEA,MAAMd,IACJc,EAAwB,IAC1B,CAEJ,EAjBqB,gBAoBrB,OAAIZ,EACK,KAIPN,EAACmB,EAAA,CAAM,GAAGR,EACR,SAAAX,EAAC,QACC,GAAIS,EACJ,SAAUE,EAAK,aAAaE,CAAY,EACxC,UAAU,iDACX,EACH,CAEJ,CAnDgBC,EAAAb,EAAA","names":["useForm","jsx","ContractAmendmentConfirmationForm","onSubmit","onError","onSuccess","stepState","isSubmitting","submitContractAmendment","fields","formId","useContractAmendmentContext","form","useForm","handleSubmit","__name","values","parsedValues","parseJSFToValidate","contractAmendmentResult","Form"]}
@@ -0,0 +1,2 @@
1
+ import{b as i}from"./chunk-GEYFQVQI.js";import{b as u}from"./chunk-3ZWDIEEM.js";import{b as c}from"./chunk-TVZAFTPT.js";import{a as m}from"./chunk-P37U34EQ.js";import{jsx as C}from"react/jsx-runtime";function d({children:o,...t}){let{contractAmendment:{back:r}}=c(),{components:s}=u(),e=s?.button;return e?C(e,{...t,onClick:n=>{r(),t.onClick?.(n)},children:o}):C(i,{...t,onClick:n=>{r(),t.onClick?.(n)},children:o})}m(d,"ContractAmendmentBack");export{d as a};
2
+ //# sourceMappingURL=chunk-CTTXXEWI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/ContractAmendment/ContractAmendmentBack.tsx"],"sourcesContent":["import { Button } from '@/src/components/ui/button';\nimport { ButtonHTMLAttributes, PropsWithChildren } from 'react';\nimport { useContractAmendmentContext } from './context';\nimport { useFormFields } from '@/src/context';\n\nexport function ContractAmendmentBack({\n children,\n ...props\n}: PropsWithChildren<ButtonHTMLAttributes<HTMLButtonElement>> &\n Record<string, unknown>) {\n const {\n contractAmendment: { back },\n } = useContractAmendmentContext();\n\n const { components } = useFormFields();\n\n const CustomButton = components?.button;\n if (CustomButton) {\n return (\n <CustomButton\n {...props}\n onClick={(evt) => {\n back();\n props.onClick?.(evt);\n }}\n >\n {children}\n </CustomButton>\n );\n }\n\n return (\n <Button\n {...props}\n onClick={(evt) => {\n back();\n props.onClick?.(evt);\n }}\n >\n {children}\n </Button>\n );\n}\n"],"mappings":"gKAmBM,cAAAA,MAAA,oBAdC,SAASC,EAAsB,CACpC,SAAAC,EACA,GAAGC,CACL,EAC2B,CACzB,GAAM,CACJ,kBAAmB,CAAE,KAAAC,CAAK,CAC5B,EAAIC,EAA4B,EAE1B,CAAE,WAAAC,CAAW,EAAIC,EAAc,EAE/BC,EAAeF,GAAY,OACjC,OAAIE,EAEAR,EAACQ,EAAA,CACE,GAAGL,EACJ,QAAUM,GAAQ,CAChBL,EAAK,EACLD,EAAM,UAAUM,CAAG,CACrB,EAEC,SAAAP,EACH,EAKFF,EAACU,EAAA,CACE,GAAGP,EACJ,QAAUM,GAAQ,CAChBL,EAAK,EACLD,EAAM,UAAUM,CAAG,CACrB,EAEC,SAAAP,EACH,CAEJ,CArCgBS,EAAAV,EAAA","names":["jsx","ContractAmendmentBack","children","props","back","useContractAmendmentContext","components","useFormFields","CustomButton","evt","Button","__name"]}
@@ -0,0 +1,2 @@
1
+ import{a as Fe}from"./chunk-ZEUIOZB6.js";import{a as Se,b as be,c as b,d as ge}from"./chunk-XIPPSRO6.js";import{a as re,b as ce,c as le,f as me,g as de,h as fe,i as ue,j as ye,l as pe}from"./chunk-XKSOWDLS.js";import{a as w}from"./chunk-QW4JPW6J.js";import{a as _e}from"./chunk-PJBAQZ6G.js";import{c as S,d as T}from"./chunk-MH6KKP6K.js";import{a as r}from"./chunk-P37U34EQ.js";import{useEffect as xe,useMemo as l,useRef as Ge,useState as Ee}from"react";import We from"lodash.mergewith";import{jsx as Qe}from"react/jsx-runtime";var Ke={employment_basic_information:"basic_information",contract_details:"contract_details"},Ye={select_country:null,basic_information:"employment_basic_information",contract_details:"contract_details",benefits:null,review:null},ze=r(({isLoadingBasicInformationForm:m,isLoadingContractDetailsForm:R,isLoadingEmployment:N,isLoadingBenefitsOffersSchema:v,isLoadingBenefitOffers:a,isLoadingCompany:j,isLoadingCountries:u,employmentStatus:o,employmentId:J,currentStepName:i,basicInformationFields:P,contractDetailsFields:c})=>{let g=m||R||N||v||a||j||u,B=o&&ge.includes(o),F=!!(J&&B&&i!=="review"),I=g||F,y=!!(F&&!g&&P.length>0&&c.length>0);return{isLoading:I,isNavigatingToReview:y,isEmploymentReadOnly:B}},"getLoadingStates"),st=r(({employmentId:m,companyId:R,countryCode:N,type:v,options:a,skipSteps:j})=>{let u=Ge({select_country:{},basic_information:{},contract_details:{},benefits:{}}),[o,J]=Ee(m),[i,P]=Ee(N||null),{data:c,isLoading:g,refetch:B}=re(o);c?.country?.code&&i!==c.country.code&&P(c.country.code);let{data:F,isLoading:I}=le(o),{data:y,isLoading:A,refetch:he}=ce(R),Oe=j?.includes("select_country")?be:Se,{fieldValues:p,stepState:e,setFieldValues:Ve,previousStep:Ce,nextStep:Le,goToStep:D,setStepValues:U}=_e(Oe),{selectCountryForm:k,isLoading:H}=pe({jsfModify:a?.jsfModify?.select_country,jsonSchemaVersion:a?.jsonSchemaVersion,queryOptions:{enabled:e.currentStep.name==="select_country"}}),x=fe(a),G=ue(a),W=ye(a),{mutateAsync:Me}=w(x),{mutateAsync:K}=w(G),{mutateAsync:Te}=w(W),Pe=Ye[e.currentStep.name]||"employment_basic_information",Be=Ke[Pe],Ie=c?.[Be]||{},Y=r(({form:n,options:s={}})=>me({countryCode:i,form:n,fieldValues:Object.keys(p).length>0?{...e.values?.[e.currentStep.name],...p}:Ie,options:{...s,queryOptions:{enabled:s.queryOptions?.enabled??!0}}}),"useJSONSchema"),ke=!!(i&&(e.currentStep.name==="basic_information"||m)),we=!!(i&&(e.currentStep.name==="contract_details"||m)),{data:d,isLoading:z}=Y({form:"employment_basic_information",options:{jsfModify:a?.jsfModify?.basic_information,queryOptions:{enabled:ke}}}),_=a?.jsfModify?.contract_details?.fields?.annual_gross_salary,q=_&&typeof _=="object"&&"presentation"in _?_.presentation:void 0,Re=l(()=>({fields:{annual_gross_salary:{..._,presentation:{annual_gross_salary_conversion_properties:{label:q?.annual_gross_salary_conversion_properties?.label,description:q?.annual_gross_salary_conversion_properties?.description},desiredCurrency:y?.desired_currency,Component:r(n=>Qe(Fe,{desiredCurrency:y?.desired_currency||"",...n}),"Component")}}}}),[y?.desired_currency,q,_]),{data:f,isLoading:Q}=Y({form:"contract_details",options:{jsfModify:{...a?.jsfModify?.contract_details,fields:{...a?.jsfModify?.contract_details?.fields,...Re.fields}},queryOptions:{enabled:we}}}),{data:E,isLoading:X}=de(o,p,a),Z=l(()=>{if(e.currentStep.name==="benefits"){let n={...e.values?.[e.currentStep.name],...p};return We({},F,n)}return{}},[e.currentStep.name,F,e.values,p]),t=l(()=>({select_country:k?.fields||[],basic_information:d?.fields||[],contract_details:f?.fields||[],benefits:E?.fields||[],review:[]}),[k?.fields,d?.fields,f?.fields,E?.fields]),{country:{code:$}={},basic_information:ee={},contract_details:te={},status:ne}=c||{},oe=e.currentStep.name,h=l(()=>T(t.select_country,{country:i||$||""}),[t.select_country,i,$]),O=l(()=>T(t.basic_information,ee||{}),[t.basic_information,ee]),V=l(()=>T(t.contract_details,te||{}),[t.contract_details,te]),C=l(()=>T(t.benefits,Z),[t.benefits,Z]),Ne=l(()=>({select_country:h,basic_information:O,contract_details:V,benefits:C}),[h,O,V,C]),{isLoading:ve,isNavigatingToReview:ae,isEmploymentReadOnly:je}=l(()=>ze({isLoadingBasicInformationForm:z,isLoadingContractDetailsForm:Q,isLoadingEmployment:g,isLoadingBenefitsOffersSchema:X,isLoadingBenefitOffers:I,isLoadingCompany:A,isLoadingCountries:H,employmentId:m,employmentStatus:ne,basicInformationFields:t.basic_information,contractDetailsFields:t.contract_details,currentStepName:oe}),[z,Q,g,X,I,A,H,m,ne,t.basic_information,t.contract_details,oe]);xe(()=>{ae&&(u.current={select_country:b(h,t.select_country),basic_information:b(O,t.basic_information),contract_details:b(V,t.contract_details),benefits:b(C,t.benefits)},U({select_country:h,basic_information:O,contract_details:V,benefits:C,review:{}}),D("review"))},[O,C,V,D,ae,h,U,t.basic_information,t.benefits,t.contract_details,t.select_country]);let ie=r(n=>k&&e.currentStep.name==="select_country"?n:d&&e.currentStep.name==="basic_information"?S(n,d?.fields,{isPartialValidation:!0}):f&&e.currentStep.name==="contract_details"?S(n,f?.fields,{isPartialValidation:!0}):{},"parseFormValues");async function Je(n){let s=e.currentStep.name;s in u.current&&(u.current[s]=b(n,t[s]));let L=ie(n);switch(he(),e.currentStep.name){case"select_country":return P(L.country),Promise.resolve({data:{countryCode:L.country}});case"basic_information":{let se=!o&&i,Ue=o&&i&&c?.country&&c?.country.code!==i;if(se||Ue){let He={basic_information:L,type:v,country_code:i};try{let M=await Me(He);return J(M.data?.data?.employment?.id),M}catch(M){throw console.error("Error creating onboarding:",M),M}}else if(o)return K({employmentId:o,basic_information:L,pricing_plan_details:{frequency:"monthly"}});return}case"contract_details":return K({employmentId:o,...{contract_details:L,pricing_plan_details:{frequency:"monthly"}}});case"benefits":return Te({employmentId:o,...n})}}r(Je,"onSubmit");function De(){Ce()}r(De,"back");function qe(){Le()}r(qe,"next");function Ae(n){D(n)}return r(Ae,"goTo"),{employmentId:o,creditRiskStatus:y?.default_legal_entity_credit_risk_status,fieldValues:p,stepState:e,fields:t[e.currentStep.name],isLoading:ve,isSubmitting:x.isPending||G.isPending||W.isPending,initialValues:Ne,handleValidation:r(n=>{if(e.currentStep.name==="select_country")return k.handleValidation(n);if(e.currentStep.name==="benefits"&&E){let s=S(n,E?.fields);return E?.handleValidation(s)}if(d&&e.currentStep.name==="basic_information"){let s=S(n,d?.fields);return d?.handleValidation(s)}if(f&&e.currentStep.name==="contract_details"){let s=S(n,f?.fields);return f?.handleValidation(s)}return null},"handleValidation"),checkFieldUpdates:Ve,parseFormValues:ie,onSubmit:Je,back:De,next:qe,goTo:Ae,meta:{fields:u.current},refetchEmployment:B,employment:c,isEmploymentReadOnly:je}},"useOnboarding");export{st as a};
2
+ //# sourceMappingURL=chunk-CU75S5F2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/Onboarding/hooks.tsx"],"sourcesContent":["import {\n Employment,\n EmploymentCreateParams,\n EmploymentFullParams,\n} from '@/src/client';\nimport { Fields } from '@remoteoss/json-schema-form';\n\nimport { useStepState, Step } from '@/src/flows/useStepState';\nimport {\n prettifyFormValues,\n reviewStepAllowedEmploymentStatus,\n STEPS,\n STEPS_WITHOUT_SELECT_COUNTRY,\n} from '@/src/flows/Onboarding/utils';\nimport {\n getInitialValues,\n parseJSFToValidate,\n} from '@/src/components/form/utils';\nimport { mutationToPromise } from '@/src/lib/mutations';\nimport { FieldValues } from 'react-hook-form';\nimport { Meta, OnboardingFlowParams } from '@/src/flows/Onboarding/types';\nimport { useEffect, useMemo, useRef, useState } from 'react';\nimport mergeWith from 'lodash.mergewith';\nimport {\n useBenefitOffers,\n useBenefitOffersSchema,\n useCompany,\n useCountriesSchemaField,\n useCreateEmployment,\n useEmployment,\n useJSONSchemaForm,\n useUpdateBenefitsOffers,\n useUpdateEmployment,\n} from '@/src/flows/Onboarding/api';\nimport { JSFModify, JSONSchemaFormType } from '@/src/flows/types';\nimport { AnnualGrossSalary } from '@/src/flows/Onboarding/components/AnnualGrossSalary';\nimport { JSFField } from '@/src/types/remoteFlows';\n\ntype OnboardingHookProps = OnboardingFlowParams;\n\nconst jsonSchemaToEmployment: Partial<\n Record<JSONSchemaFormType, keyof Employment>\n> = {\n employment_basic_information: 'basic_information',\n contract_details: 'contract_details',\n};\n\nconst stepToFormSchemaMap: Record<\n keyof typeof STEPS,\n JSONSchemaFormType | null\n> = {\n select_country: null,\n basic_information: 'employment_basic_information',\n contract_details: 'contract_details',\n benefits: null,\n review: null,\n};\n\nconst getLoadingStates = ({\n isLoadingBasicInformationForm,\n isLoadingContractDetailsForm,\n isLoadingEmployment,\n isLoadingBenefitsOffersSchema,\n isLoadingBenefitOffers,\n isLoadingCompany,\n isLoadingCountries,\n employmentStatus,\n employmentId,\n currentStepName,\n basicInformationFields,\n contractDetailsFields,\n}: {\n isLoadingBasicInformationForm: boolean;\n isLoadingContractDetailsForm: boolean;\n isLoadingEmployment: boolean;\n isLoadingBenefitsOffersSchema: boolean;\n isLoadingBenefitOffers: boolean;\n isLoadingCompany: boolean;\n isLoadingCountries: boolean;\n employmentStatus?: Employment['status'];\n employmentId?: string;\n currentStepName: string;\n basicInformationFields: Fields;\n contractDetailsFields: Fields;\n}) => {\n const initialLoading =\n isLoadingBasicInformationForm ||\n isLoadingContractDetailsForm ||\n isLoadingEmployment ||\n isLoadingBenefitsOffersSchema ||\n isLoadingBenefitOffers ||\n isLoadingCompany ||\n isLoadingCountries;\n\n const isEmploymentReadOnly =\n employmentStatus &&\n reviewStepAllowedEmploymentStatus.includes(employmentStatus);\n\n const shouldHandleReadOnlyEmployment = Boolean(\n employmentId && isEmploymentReadOnly && currentStepName !== 'review',\n );\n\n const isLoading = initialLoading || shouldHandleReadOnlyEmployment;\n\n const isNavigatingToReview = Boolean(\n shouldHandleReadOnlyEmployment &&\n !initialLoading &&\n basicInformationFields.length > 0 &&\n contractDetailsFields.length > 0,\n );\n\n return { isLoading, isNavigatingToReview, isEmploymentReadOnly };\n};\n\nexport const useOnboarding = ({\n employmentId,\n companyId,\n countryCode,\n type,\n options,\n skipSteps,\n}: OnboardingHookProps) => {\n const fieldsMetaRef = useRef<{\n select_country: Meta;\n basic_information: Meta;\n contract_details: Meta;\n benefits: Meta;\n }>({\n select_country: {},\n basic_information: {},\n contract_details: {},\n benefits: {},\n });\n const [internalEmploymentId, setInternalEmploymentId] = useState<\n string | undefined\n >(employmentId);\n const [internalCountryCode, setInternalCountryCode] = useState<string | null>(\n countryCode || null,\n );\n const {\n data: employment,\n isLoading: isLoadingEmployment,\n refetch: refetchEmployment,\n } = useEmployment(internalEmploymentId);\n\n // if the employment is loaded, country code has not been set yet\n // we set the internal country code with the employment country code\n if (\n employment?.country?.code &&\n internalCountryCode !== employment.country.code\n ) {\n setInternalCountryCode(employment.country.code);\n }\n\n const { data: benefitOffers, isLoading: isLoadingBenefitOffers } =\n useBenefitOffers(internalEmploymentId);\n const {\n data: company,\n isLoading: isLoadingCompany,\n refetch: refetchCompany,\n } = useCompany(companyId);\n const stepsToUse = skipSteps?.includes('select_country')\n ? STEPS_WITHOUT_SELECT_COUNTRY\n : STEPS;\n\n const {\n fieldValues,\n stepState,\n setFieldValues,\n previousStep,\n nextStep,\n goToStep,\n setStepValues,\n } = useStepState(\n stepsToUse as Record<keyof typeof STEPS, Step<keyof typeof STEPS>>,\n );\n\n const { selectCountryForm, isLoading: isLoadingCountries } =\n useCountriesSchemaField({\n jsfModify: options?.jsfModify?.select_country,\n jsonSchemaVersion: options?.jsonSchemaVersion,\n queryOptions: {\n enabled: stepState.currentStep.name === 'select_country',\n },\n });\n\n const createEmploymentMutation = useCreateEmployment(options);\n const updateEmploymentMutation = useUpdateEmployment(options);\n const updateBenefitsOffersMutation = useUpdateBenefitsOffers(options);\n const { mutateAsync: createEmploymentMutationAsync } = mutationToPromise(\n createEmploymentMutation,\n );\n const { mutateAsync: updateEmploymentMutationAsync } = mutationToPromise(\n updateEmploymentMutation,\n );\n const { mutateAsync: updateBenefitsOffersMutationAsync } = mutationToPromise(\n updateBenefitsOffersMutation,\n );\n\n const formType =\n stepToFormSchemaMap[stepState.currentStep.name] ||\n 'employment_basic_information';\n const employmentKey = jsonSchemaToEmployment[formType] as keyof Employment;\n const serverEmploymentData = (employment?.[employmentKey] || {}) as Record<\n string,\n unknown\n >;\n\n const useJSONSchema = ({\n form,\n options: jsonSchemaOptions = {},\n }: {\n form: JSONSchemaFormType;\n options?: {\n jsfModify?: JSFModify;\n queryOptions?: { enabled?: boolean };\n };\n }) => {\n return useJSONSchemaForm({\n countryCode: internalCountryCode as string,\n form: form,\n fieldValues:\n Object.keys(fieldValues).length > 0\n ? {\n ...stepState.values?.[stepState.currentStep.name], // Restore values for the current step\n ...fieldValues,\n }\n : serverEmploymentData,\n options: {\n ...jsonSchemaOptions,\n queryOptions: {\n enabled: jsonSchemaOptions.queryOptions?.enabled ?? true,\n },\n },\n });\n };\n\n const isBasicInformationDetailsEnabled = Boolean(\n internalCountryCode &&\n (stepState.currentStep.name === 'basic_information' ||\n Boolean(employmentId)),\n );\n\n const isContractDetailsEnabled = Boolean(\n internalCountryCode &&\n (stepState.currentStep.name === 'contract_details' ||\n Boolean(employmentId)),\n );\n\n const {\n data: basicInformationForm,\n isLoading: isLoadingBasicInformationForm,\n } = useJSONSchema({\n form: 'employment_basic_information',\n options: {\n jsfModify: options?.jsfModify?.basic_information,\n queryOptions: {\n enabled: isBasicInformationDetailsEnabled,\n },\n },\n });\n\n const annualGrossSalaryField =\n options?.jsfModify?.contract_details?.fields?.annual_gross_salary;\n const annualSalaryFieldPresentation =\n annualGrossSalaryField &&\n typeof annualGrossSalaryField === 'object' &&\n 'presentation' in annualGrossSalaryField\n ? (\n annualGrossSalaryField as {\n presentation?: {\n annual_gross_salary_conversion_properties?: {\n label?: string;\n description?: string;\n };\n };\n }\n ).presentation\n : undefined;\n\n const customFields = useMemo(\n () => ({\n fields: {\n annual_gross_salary: {\n ...annualGrossSalaryField,\n presentation: {\n annual_gross_salary_conversion_properties: {\n label:\n annualSalaryFieldPresentation\n ?.annual_gross_salary_conversion_properties?.label,\n description:\n annualSalaryFieldPresentation\n ?.annual_gross_salary_conversion_properties?.description,\n },\n desiredCurrency: company?.desired_currency,\n Component: (props: JSFField & { currency: string }) => (\n <AnnualGrossSalary\n desiredCurrency={company?.desired_currency || ''}\n {...props}\n />\n ),\n },\n },\n },\n }),\n [\n company?.desired_currency,\n annualSalaryFieldPresentation,\n annualGrossSalaryField,\n ],\n );\n\n const { data: contractDetailsForm, isLoading: isLoadingContractDetailsForm } =\n useJSONSchema({\n form: 'contract_details',\n options: {\n jsfModify: {\n ...options?.jsfModify?.contract_details,\n fields: {\n ...options?.jsfModify?.contract_details?.fields,\n ...customFields.fields,\n },\n },\n queryOptions: {\n enabled: isContractDetailsEnabled,\n },\n },\n });\n\n const {\n data: benefitOffersSchema,\n isLoading: isLoadingBenefitsOffersSchema,\n } = useBenefitOffersSchema(\n internalEmploymentId as string,\n fieldValues,\n options,\n );\n\n const initialValuesBenefitOffers = useMemo(() => {\n if (stepState.currentStep.name === 'benefits') {\n const benefitsFormValues = {\n ...stepState.values?.[stepState.currentStep.name as keyof typeof STEPS], // Restore values for the current step\n ...fieldValues,\n };\n return mergeWith({}, benefitOffers, benefitsFormValues);\n }\n return {};\n }, [\n stepState.currentStep.name,\n benefitOffers,\n stepState.values,\n fieldValues,\n ]);\n\n const stepFields: Record<keyof typeof STEPS, Fields> = useMemo(\n () => ({\n select_country: selectCountryForm?.fields || [],\n basic_information: basicInformationForm?.fields || [],\n contract_details: contractDetailsForm?.fields || [],\n benefits: benefitOffersSchema?.fields || [],\n review: [],\n }),\n [\n selectCountryForm?.fields,\n basicInformationForm?.fields,\n contractDetailsForm?.fields,\n benefitOffersSchema?.fields,\n ],\n );\n\n const {\n country: { code: employmentCountryCode } = {},\n basic_information: employmentBasicInformation = {},\n contract_details: employmentContractDetails = {},\n status: employmentStatus,\n } = employment || {};\n const currentStepName = stepState.currentStep.name;\n\n const selectCountryInitialValues = useMemo(\n () =>\n getInitialValues(stepFields.select_country, {\n country: internalCountryCode || employmentCountryCode || '',\n }),\n [stepFields.select_country, internalCountryCode, employmentCountryCode],\n );\n\n const basicInformationInitialValues = useMemo(\n () =>\n getInitialValues(\n stepFields.basic_information,\n employmentBasicInformation || {},\n ),\n [stepFields.basic_information, employmentBasicInformation],\n );\n\n const contractDetailsInitialValues = useMemo(\n () =>\n getInitialValues(\n stepFields.contract_details,\n employmentContractDetails || {},\n ),\n [stepFields.contract_details, employmentContractDetails],\n );\n\n const benefitsInitialValues = useMemo(\n () => getInitialValues(stepFields.benefits, initialValuesBenefitOffers),\n [stepFields.benefits, initialValuesBenefitOffers],\n );\n\n const initialValues = useMemo(\n () => ({\n select_country: selectCountryInitialValues,\n basic_information: basicInformationInitialValues,\n contract_details: contractDetailsInitialValues,\n benefits: benefitsInitialValues,\n }),\n [\n selectCountryInitialValues,\n basicInformationInitialValues,\n contractDetailsInitialValues,\n benefitsInitialValues,\n ],\n );\n\n const { isLoading, isNavigatingToReview, isEmploymentReadOnly } = useMemo(\n () =>\n getLoadingStates({\n isLoadingBasicInformationForm,\n isLoadingContractDetailsForm,\n isLoadingEmployment,\n isLoadingBenefitsOffersSchema,\n isLoadingBenefitOffers,\n isLoadingCompany,\n isLoadingCountries,\n employmentId,\n employmentStatus: employmentStatus,\n basicInformationFields: stepFields.basic_information,\n contractDetailsFields: stepFields.contract_details,\n currentStepName: currentStepName,\n }),\n [\n isLoadingBasicInformationForm,\n isLoadingContractDetailsForm,\n isLoadingEmployment,\n isLoadingBenefitsOffersSchema,\n isLoadingBenefitOffers,\n isLoadingCompany,\n isLoadingCountries,\n employmentId,\n employmentStatus,\n stepFields.basic_information,\n stepFields.contract_details,\n currentStepName,\n ],\n );\n\n useEffect(() => {\n if (isNavigatingToReview) {\n fieldsMetaRef.current = {\n select_country: prettifyFormValues(\n selectCountryInitialValues,\n stepFields.select_country,\n ),\n basic_information: prettifyFormValues(\n basicInformationInitialValues,\n stepFields.basic_information,\n ),\n contract_details: prettifyFormValues(\n contractDetailsInitialValues,\n stepFields.contract_details,\n ),\n benefits: prettifyFormValues(\n benefitsInitialValues,\n stepFields.benefits,\n ),\n };\n\n setStepValues({\n select_country: selectCountryInitialValues,\n basic_information: basicInformationInitialValues,\n contract_details: contractDetailsInitialValues,\n benefits: benefitsInitialValues,\n review: {},\n });\n\n goToStep('review');\n }\n }, [\n basicInformationInitialValues,\n benefitsInitialValues,\n contractDetailsInitialValues,\n goToStep,\n isNavigatingToReview,\n selectCountryInitialValues,\n setStepValues,\n stepFields.basic_information,\n stepFields.benefits,\n stepFields.contract_details,\n stepFields.select_country,\n ]);\n\n const parseFormValues = (values: FieldValues) => {\n if (selectCountryForm && stepState.currentStep.name === 'select_country') {\n return values;\n }\n if (\n basicInformationForm &&\n stepState.currentStep.name === 'basic_information'\n ) {\n return parseJSFToValidate(values, basicInformationForm?.fields, {\n isPartialValidation: true,\n });\n }\n\n if (\n contractDetailsForm &&\n stepState.currentStep.name === 'contract_details'\n ) {\n return parseJSFToValidate(values, contractDetailsForm?.fields, {\n isPartialValidation: true,\n });\n }\n\n return {};\n };\n\n async function onSubmit(values: FieldValues) {\n // Prettify values for the current step\n const currentStepName = stepState.currentStep.name;\n if (currentStepName in fieldsMetaRef.current) {\n fieldsMetaRef.current[\n currentStepName as keyof typeof fieldsMetaRef.current\n ] = prettifyFormValues(values, stepFields[currentStepName]);\n }\n\n const parsedValues = parseFormValues(values);\n refetchCompany();\n switch (stepState.currentStep.name) {\n case 'select_country': {\n setInternalCountryCode(parsedValues.country);\n return Promise.resolve({ data: { countryCode: parsedValues.country } });\n }\n case 'basic_information': {\n const isEmploymentNotLoaded =\n !internalEmploymentId && internalCountryCode;\n const hasChangedCountry =\n internalEmploymentId &&\n internalCountryCode &&\n employment?.country &&\n employment?.country.code !== internalCountryCode;\n if (isEmploymentNotLoaded || hasChangedCountry) {\n const payload: EmploymentCreateParams = {\n basic_information: parsedValues,\n type: type,\n country_code: internalCountryCode,\n };\n try {\n const response = await createEmploymentMutationAsync(payload);\n setInternalEmploymentId(\n // @ts-expect-error the types from the response are not matching\n response.data?.data?.employment?.id,\n );\n return response;\n } catch (error) {\n console.error('Error creating onboarding:', error);\n throw error;\n }\n } else if (internalEmploymentId) {\n return updateEmploymentMutationAsync({\n employmentId: internalEmploymentId,\n basic_information: parsedValues,\n pricing_plan_details: {\n frequency: 'monthly',\n },\n });\n }\n\n return;\n }\n case 'contract_details': {\n const payload: EmploymentFullParams = {\n contract_details: parsedValues,\n pricing_plan_details: {\n frequency: 'monthly',\n },\n };\n return updateEmploymentMutationAsync({\n employmentId: internalEmploymentId as string,\n ...payload,\n });\n }\n\n case 'benefits': {\n return updateBenefitsOffersMutationAsync({\n employmentId: internalEmploymentId as string,\n ...values,\n });\n }\n }\n return;\n }\n\n function back() {\n previousStep();\n }\n\n function next() {\n nextStep();\n }\n\n function goTo(step: keyof typeof STEPS) {\n goToStep(step);\n }\n\n return {\n /**\n * Employment id passed useful to be used between components\n */\n employmentId: internalEmploymentId,\n\n /**\n * Credit risk status of the company, useful to know what to to show in the review step\n * The possible values are:\n * - not_started\n * - ready\n * - in_progress\n * - referred\n * - fail\n * - deposit_required\n * - no_deposit_required\n */\n\n creditRiskStatus: company?.default_legal_entity_credit_risk_status,\n /**\n * Current state of the form fields for the current step.\n */\n fieldValues,\n /**\n * Current step state containing the current step and total number of steps\n */\n stepState,\n /**\n * Array of form fields from the onboarding schema\n */\n fields: stepFields[stepState.currentStep.name],\n /**\n * Loading state indicating if the onboarding schema is being fetched\n */\n isLoading: isLoading,\n /**\n * Loading state indicating if the onboarding mutation is in progress\n */\n isSubmitting:\n createEmploymentMutation.isPending ||\n updateEmploymentMutation.isPending ||\n updateBenefitsOffersMutation.isPending,\n /**\n * Initial form values\n */\n initialValues,\n /**\n * Function to validate form values against the onboarding schema\n * @param values - Form values to validate\n * @returns Validation result or null if no schema is available\n */\n handleValidation: (values: FieldValues) => {\n if (stepState.currentStep.name === 'select_country') {\n return selectCountryForm.handleValidation(values);\n }\n if (stepState.currentStep.name === 'benefits' && benefitOffersSchema) {\n const parsedValues = parseJSFToValidate(\n values,\n benefitOffersSchema?.fields,\n );\n\n return benefitOffersSchema?.handleValidation(parsedValues);\n }\n if (\n basicInformationForm &&\n stepState.currentStep.name === 'basic_information'\n ) {\n const parsedValues = parseJSFToValidate(\n values,\n basicInformationForm?.fields,\n );\n return basicInformationForm?.handleValidation(parsedValues);\n }\n\n if (\n contractDetailsForm &&\n stepState.currentStep.name === 'contract_details'\n ) {\n const parsedValues = parseJSFToValidate(\n values,\n contractDetailsForm?.fields,\n );\n return contractDetailsForm?.handleValidation(parsedValues);\n }\n\n return null;\n },\n /**\n * Function to update the current form field values\n * @param values - New form values to set\n */\n checkFieldUpdates: setFieldValues,\n\n /**\n * Function to parse form values before submission\n * @param values - Form values to parse\n * @returns Parsed form values\n */\n parseFormValues,\n\n /**\n * Function to handle form submission\n * @param values - Form values to submit\n * @returns Promise resolving to the mutation result\n */\n onSubmit,\n\n /**\n * Function to handle going back to the previous step\n * @returns {void}\n */\n back,\n\n /**\n * Function to handle going to the next step\n * @returns {void}\n */\n next,\n\n /**\n * Function to handle going to a specific step\n * @param step The step to go to.\n * @returns {void}\n */\n goTo,\n\n /**\n * Fields metadata for each step\n */\n meta: {\n fields: fieldsMetaRef.current,\n },\n\n /**\n * Function to refetch the employment data\n * @returns {void}\n */\n refetchEmployment,\n /**\n * Employment data\n */\n employment,\n\n /**\n * let's the user know that the employment cannot be edited, happens when employment.status is invited, created_awaiting_reserve or created_reserve_paid\n * @returns {boolean}\n */\n isEmploymentReadOnly,\n };\n};\n"],"mappings":"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","names":["useEffect","useMemo","useRef","useState","mergeWith","jsx","jsonSchemaToEmployment","stepToFormSchemaMap","getLoadingStates","__name","isLoadingBasicInformationForm","isLoadingContractDetailsForm","isLoadingEmployment","isLoadingBenefitsOffersSchema","isLoadingBenefitOffers","isLoadingCompany","isLoadingCountries","employmentStatus","employmentId","currentStepName","basicInformationFields","contractDetailsFields","initialLoading","isEmploymentReadOnly","reviewStepAllowedEmploymentStatus","shouldHandleReadOnlyEmployment","isLoading","isNavigatingToReview","useOnboarding","companyId","countryCode","type","options","skipSteps","fieldsMetaRef","useRef","internalEmploymentId","setInternalEmploymentId","useState","internalCountryCode","setInternalCountryCode","employment","refetchEmployment","useEmployment","benefitOffers","useBenefitOffers","company","refetchCompany","useCompany","stepsToUse","STEPS_WITHOUT_SELECT_COUNTRY","STEPS","fieldValues","stepState","setFieldValues","previousStep","nextStep","goToStep","setStepValues","useStepState","selectCountryForm","useCountriesSchemaField","createEmploymentMutation","useCreateEmployment","updateEmploymentMutation","useUpdateEmployment","updateBenefitsOffersMutation","useUpdateBenefitsOffers","createEmploymentMutationAsync","mutationToPromise","updateEmploymentMutationAsync","updateBenefitsOffersMutationAsync","formType","employmentKey","serverEmploymentData","useJSONSchema","form","jsonSchemaOptions","useJSONSchemaForm","isBasicInformationDetailsEnabled","isContractDetailsEnabled","basicInformationForm","annualGrossSalaryField","annualSalaryFieldPresentation","customFields","useMemo","props","AnnualGrossSalary","contractDetailsForm","benefitOffersSchema","useBenefitOffersSchema","initialValuesBenefitOffers","benefitsFormValues","mergeWith","stepFields","employmentCountryCode","employmentBasicInformation","employmentContractDetails","selectCountryInitialValues","getInitialValues","basicInformationInitialValues","contractDetailsInitialValues","benefitsInitialValues","initialValues","useEffect","prettifyFormValues","parseFormValues","values","parseJSFToValidate","onSubmit","parsedValues","isEmploymentNotLoaded","hasChangedCountry","payload","response","error","back","next","goTo","step"]}
@@ -0,0 +1,2 @@
1
+ import{b as y}from"./chunk-PGWKJ6FK.js";import{b as u}from"./chunk-QW4JPW6J.js";import{a as F}from"./chunk-2NLOH7NZ.js";import{b as f}from"./chunk-CFIJKJXD.js";import{a as p}from"./chunk-VNSF5IOL.js";import{a as m}from"./chunk-P37U34EQ.js";import{useEffect as b}from"react";import{useForm as O}from"react-hook-form";import{jsx as d}from"react/jsx-runtime";function N({defaultValues:c,onSubmit:S,components:g}){let{formId:E,onboardingBag:o}=y(),w=f(o.handleValidation),r=O({resolver:w,defaultValues:c,shouldUnregister:!1,mode:"onBlur"});b(()=>{o.employmentId&&o?.checkFieldUpdates(r.getValues())},[]),b(()=>{let t=r?.watch(e=>{Object.keys(e).some(i=>e[i]!==c[i])&&o?.checkFieldUpdates(e)});return()=>t?.unsubscribe()},[]);let h=m(async(t,e)=>{let s=e?.nativeEvent;if(s?.isDraftSubmission){let{onSuccess:i,onError:l}=s.draftCallbacks;try{if(!await r.trigger())return;let n=await o.onSubmit(t);if(n?.data)i?.();else if(n?.error){let k=o.stepState.currentStep.name,B=o.meta?.fields?.[k],P=u(n?.fieldErrors||[],B);l?.({error:n.error,rawError:n.rawError,fieldErrors:P})}}catch(a){l?.({error:a,rawError:a,fieldErrors:[]})}}else S(t)},"handleSubmit");return d(p,{...r,children:d("form",{id:E,onSubmit:r.handleSubmit(h),className:"space-y-4 RemoteFlows__OnboardingForm",children:d(F,{components:g,fields:o.fields})})})}m(N,"OnboardingForm");export{N as a};
2
+ //# sourceMappingURL=chunk-DKJZB2TO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/Onboarding/components/OnboardingForm.tsx"],"sourcesContent":["import { JSONSchemaFormFields } from '@/src/components/form/JSONSchemaForm';\nimport { Form } from '@/src/components/ui/form';\nimport { useEffect } from 'react';\nimport { useOnboardingContext } from '@/src/flows/Onboarding/context';\nimport { useForm } from 'react-hook-form';\nimport { useJsonSchemasValidationFormResolver } from '@/src/components/form/yupValidationResolver';\nimport { Fields } from '@remoteoss/json-schema-form';\nimport {\n BasicInformationFormPayload,\n BenefitsFormPayload,\n ContractDetailsFormPayload,\n} from '@/src/flows/Onboarding/types';\nimport { $TSFixMe, Components } from '@/src/types/remoteFlows';\nimport { normalizeFieldErrors } from '@/src/lib/mutations';\n\ntype OnboardingFormProps = {\n onSubmit: (\n payload:\n | BasicInformationFormPayload\n | BenefitsFormPayload\n | ContractDetailsFormPayload,\n ) => 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] !== defaultValues[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 const handleSubmit = async (\n values: Record<string, unknown>,\n event?: React.BaseSyntheticEvent,\n ) => {\n const nativeEvent = event?.nativeEvent as $TSFixMe;\n\n if (nativeEvent?.isDraftSubmission) {\n // Handle draft submission\n const { onSuccess, onError } = nativeEvent.draftCallbacks;\n\n try {\n // Trigger validation\n const isValid = await form.trigger();\n if (!isValid) {\n return; // Don't submit if validation fails\n }\n\n // Submit the form\n const response = await onboardingBag.onSubmit(values);\n\n if (response?.data) {\n onSuccess?.();\n } else if (response?.error) {\n const currentStepName = onboardingBag.stepState.currentStep.name;\n\n // Get the appropriate fields based on current step\n const currentStepFields =\n onboardingBag.meta?.fields?.[\n currentStepName as keyof typeof onboardingBag.meta.fields\n ];\n\n const normalizedFieldErrors = normalizeFieldErrors(\n response?.fieldErrors || [],\n currentStepFields,\n );\n onError?.({\n error: response.error,\n rawError: response.rawError,\n fieldErrors: normalizedFieldErrors,\n });\n }\n } catch (error) {\n onError?.({\n error: error as Error,\n rawError: error as Record<string, unknown>,\n fieldErrors: [],\n });\n }\n } else {\n // Handle normal form submission\n onSubmit(values);\n }\n };\n\n return (\n <Form {...form}>\n <form\n id={formId}\n onSubmit={form.handleSubmit(handleSubmit)}\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":"gPAEA,OAAS,aAAAA,MAAiB,QAE1B,OAAS,WAAAC,MAAe,kBA8HhB,cAAAC,MAAA,oBAvGD,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,EAEDU,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,IAAMb,EAAca,CAAoB,CACvE,GAEET,GAAe,kBAAkBQ,CAAM,CAE3C,CAAC,EACD,MAAO,IAAMD,GAAc,YAAY,CAEzC,EAAG,CAAC,CAAC,EAEL,IAAMG,EAAeC,EAAA,MACnBH,EACAI,IACG,CACH,IAAMC,EAAcD,GAAO,YAE3B,GAAIC,GAAa,kBAAmB,CAElC,GAAM,CAAE,UAAAC,EAAW,QAAAC,CAAQ,EAAIF,EAAY,eAE3C,GAAI,CAGF,GAAI,CADY,MAAMT,EAAK,QAAQ,EAEjC,OAIF,IAAMY,EAAW,MAAMhB,EAAc,SAASQ,CAAM,EAEpD,GAAIQ,GAAU,KACZF,IAAY,UACHE,GAAU,MAAO,CAC1B,IAAMC,EAAkBjB,EAAc,UAAU,YAAY,KAGtDkB,EACJlB,EAAc,MAAM,SAClBiB,CACF,EAEIE,EAAwBC,EAC5BJ,GAAU,aAAe,CAAC,EAC1BE,CACF,EACAH,IAAU,CACR,MAAOC,EAAS,MAChB,SAAUA,EAAS,SACnB,YAAaG,CACf,CAAC,CACH,CACF,OAASE,EAAO,CACdN,IAAU,CACR,MAAOM,EACP,SAAUA,EACV,YAAa,CAAC,CAChB,CAAC,CACH,CACF,MAEExB,EAASW,CAAM,CAEnB,EApDqB,gBAsDrB,OACEd,EAAC4B,EAAA,CAAM,GAAGlB,EACR,SAAAV,EAAC,QACC,GAAIK,EACJ,SAAUK,EAAK,aAAaM,CAAY,EACxC,UAAU,wCAEV,SAAAhB,EAAC6B,EAAA,CACC,WAAYzB,EACZ,OAAQE,EAAc,OACxB,EACF,EACF,CAEJ,CA9GgBW,EAAAhB,EAAA","names":["useEffect","useForm","jsx","OnboardingForm","defaultValues","onSubmit","components","formId","onboardingBag","useOnboardingContext","resolver","useJsonSchemasValidationFormResolver","form","useForm","useEffect","subscription","values","key","handleSubmit","__name","event","nativeEvent","onSuccess","onError","response","currentStepName","currentStepFields","normalizedFieldErrors","normalizeFieldErrors","error","Form","JSONSchemaFormFields"]}
@@ -0,0 +1,2 @@
1
+ import{a as s}from"./chunk-DKJZB2TO.js";import{b as n}from"./chunk-PGWKJ6FK.js";import{b as i}from"./chunk-QW4JPW6J.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as p}from"react/jsx-runtime";function F({onSubmit:l,onError:t,onSuccess:d}){let{onboardingBag:o}=n(),m=e(async a=>{try{await l?.(o.parseFormValues(a));let r=await o.onSubmit(a);if(r?.data){await d?.(r.data),o?.next();return}if(r?.error){let c=i(r?.fieldErrors||[],o.meta?.fields?.contract_details);t?.({error:r.error,rawError:r.rawError,fieldErrors:c})}}catch(r){t?.({error:r,rawError:r,fieldErrors:[]})}},"handleSubmit");return p(s,{defaultValues:o.stepState.values?.contract_details||o.initialValues.contract_details,onSubmit:m})}e(F,"ContractDetailsStep");export{F as a};
2
+ //# sourceMappingURL=chunk-EAORGT7Z.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/Onboarding/components/ContractDetailsStep.tsx"],"sourcesContent":["import { useOnboardingContext } from '@/src/flows/Onboarding/context';\nimport { OnboardingForm } from '@/src/flows/Onboarding/components/OnboardingForm';\nimport { EmploymentResponse } from '@/src/client';\nimport { ContractDetailsFormPayload } from '@/src/flows/Onboarding/types';\nimport { $TSFixMe } from '@/src/types/remoteFlows';\nimport {\n NormalizedFieldError,\n normalizeFieldErrors,\n} from '@/src/lib/mutations';\n\ntype ContractDetailsStepProps = {\n /*\n * The function is called when the form is submitted. It receives the form values as an argument.\n */\n onSubmit?: (payload: ContractDetailsFormPayload) => void | Promise<void>;\n /*\n * The function is called when the form submission is successful.\n */\n onSuccess?: (response: EmploymentResponse) => void | Promise<void>;\n /*\n * The function is called when an error occurs during form submission.\n */\n onError?: ({\n error,\n rawError,\n fieldErrors,\n }: {\n error: Error;\n rawError: Record<string, unknown>;\n fieldErrors: NormalizedFieldError[];\n }) => void;\n};\n\nexport function ContractDetailsStep({\n onSubmit,\n onError,\n onSuccess,\n}: ContractDetailsStepProps) {\n const { onboardingBag } = useOnboardingContext();\n const handleSubmit = async (payload: $TSFixMe) => {\n try {\n await onSubmit?.(\n onboardingBag.parseFormValues(payload) as ContractDetailsFormPayload,\n );\n const response = await onboardingBag.onSubmit(payload);\n if (response?.data) {\n await onSuccess?.(response.data as EmploymentResponse);\n onboardingBag?.next();\n return;\n }\n if (response?.error) {\n const normalizedFieldErrors = normalizeFieldErrors(\n response?.fieldErrors || [],\n onboardingBag.meta?.fields?.contract_details,\n );\n onError?.({\n error: response.error,\n rawError: response.rawError,\n fieldErrors: normalizedFieldErrors,\n });\n }\n } catch (error: unknown) {\n onError?.({\n error: error as Error,\n rawError: error as Record<string, unknown>,\n fieldErrors: [],\n });\n }\n };\n\n return (\n <OnboardingForm\n defaultValues={\n onboardingBag.stepState.values?.contract_details ||\n onboardingBag.initialValues.contract_details\n }\n onSubmit={handleSubmit}\n />\n );\n}\n"],"mappings":"gKAuEI,cAAAA,MAAA,oBAtCG,SAASC,EAAoB,CAClC,SAAAC,EACA,QAAAC,EACA,UAAAC,CACF,EAA6B,CAC3B,GAAM,CAAE,cAAAC,CAAc,EAAIC,EAAqB,EACzCC,EAAeC,EAAA,MAAOC,GAAsB,CAChD,GAAI,CACF,MAAMP,IACJG,EAAc,gBAAgBI,CAAO,CACvC,EACA,IAAMC,EAAW,MAAML,EAAc,SAASI,CAAO,EACrD,GAAIC,GAAU,KAAM,CAClB,MAAMN,IAAYM,EAAS,IAA0B,EACrDL,GAAe,KAAK,EACpB,MACF,CACA,GAAIK,GAAU,MAAO,CACnB,IAAMC,EAAwBC,EAC5BF,GAAU,aAAe,CAAC,EAC1BL,EAAc,MAAM,QAAQ,gBAC9B,EACAF,IAAU,CACR,MAAOO,EAAS,MAChB,SAAUA,EAAS,SACnB,YAAaC,CACf,CAAC,CACH,CACF,OAASE,EAAgB,CACvBV,IAAU,CACR,MAAOU,EACP,SAAUA,EACV,YAAa,CAAC,CAChB,CAAC,CACH,CACF,EA7BqB,gBA+BrB,OACEb,EAACc,EAAA,CACC,cACET,EAAc,UAAU,QAAQ,kBAChCA,EAAc,cAAc,iBAE9B,SAAUE,EACZ,CAEJ,CA9CgBC,EAAAP,EAAA","names":["jsx","ContractDetailsStep","onSubmit","onError","onSuccess","onboardingBag","useOnboardingContext","handleSubmit","__name","payload","response","normalizedFieldErrors","normalizeFieldErrors","error","OnboardingForm"]}
@@ -0,0 +1,2 @@
1
+ import{a}from"./chunk-KPHSEIR3.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as r}from"react/jsx-runtime";function d({className:t,...o}){return r("div",{"data-slot":"card",className:a("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",t),...o})}e(d,"Card");function c({className:t,...o}){return r("div",{"data-slot":"card-header",className:a("flex flex-col gap-1.5 px-6",t),...o})}e(c,"CardHeader");function s({className:t,...o}){return r("div",{"data-slot":"card-title",className:a("leading-none font-semibold",t),...o})}e(s,"CardTitle");function i({className:t,...o}){return r("div",{"data-slot":"card-description",className:a("text-sm",t),...o})}e(i,"CardDescription");function l({className:t,...o}){return r("div",{"data-slot":"card-content",className:a("px-6",t),...o})}e(l,"CardContent");export{d as a,c as b,s as c,i as d,l as e};
2
+ //# sourceMappingURL=chunk-EEAMZPP6.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/ui/card.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { cn } from '@/src/lib/utils';\n\nfunction Card({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card\"\n className={cn(\n 'bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CardHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-header\"\n className={cn('flex flex-col gap-1.5 px-6', className)}\n {...props}\n />\n );\n}\n\nfunction CardTitle({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-title\"\n className={cn('leading-none font-semibold', className)}\n {...props}\n />\n );\n}\n\nfunction CardDescription({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-description\"\n className={cn('text-sm', className)}\n {...props}\n />\n );\n}\n\nfunction CardContent({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-content\"\n className={cn('px-6', className)}\n {...props}\n />\n );\n}\n\nfunction CardFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-footer\"\n className={cn('flex items-center px-6', className)}\n {...props}\n />\n );\n}\n\nexport {\n Card,\n CardHeader,\n CardFooter,\n CardTitle,\n CardDescription,\n CardContent,\n};\n"],"mappings":"2EAAA,UAAYA,MAAW,QAIvB,SAASC,EAAK,CAAE,UAAAC,EAAW,GAAGC,CAAM,EAAgC,CAClE,OACE,gBAAC,OACC,YAAU,OACV,UAAWC,EACT,oFACAF,CACF,EACC,GAAGC,EACN,CAEJ,CAXSE,EAAAJ,EAAA,QAaT,SAASK,EAAW,CAAE,UAAAJ,EAAW,GAAGC,CAAM,EAAgC,CACxE,OACE,gBAAC,OACC,YAAU,cACV,UAAWC,EAAG,6BAA8BF,CAAS,EACpD,GAAGC,EACN,CAEJ,CARSE,EAAAC,EAAA,cAUT,SAASC,EAAU,CAAE,UAAAL,EAAW,GAAGC,CAAM,EAAgC,CACvE,OACE,gBAAC,OACC,YAAU,aACV,UAAWC,EAAG,6BAA8BF,CAAS,EACpD,GAAGC,EACN,CAEJ,CARSE,EAAAE,EAAA,aAUT,SAASC,EAAgB,CAAE,UAAAN,EAAW,GAAGC,CAAM,EAAgC,CAC7E,OACE,gBAAC,OACC,YAAU,mBACV,UAAWC,EAAG,UAAWF,CAAS,EACjC,GAAGC,EACN,CAEJ,CARSE,EAAAG,EAAA,mBAUT,SAASC,EAAY,CAAE,UAAAP,EAAW,GAAGC,CAAM,EAAgC,CACzE,OACE,gBAAC,OACC,YAAU,eACV,UAAWC,EAAG,OAAQF,CAAS,EAC9B,GAAGC,EACN,CAEJ,CARSE,EAAAI,EAAA","names":["React","Card","className","props","cn","__name","CardHeader","CardTitle","CardDescription","CardContent"]}
1
+ {"version":3,"sources":["../src/components/ui/card.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { cn } from '@/src/lib/utils';\n\nfunction Card({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card\"\n className={cn(\n 'bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CardHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-header\"\n className={cn('flex flex-col gap-1.5 px-6', className)}\n {...props}\n />\n );\n}\n\nfunction CardTitle({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-title\"\n className={cn('leading-none font-semibold', className)}\n {...props}\n />\n );\n}\n\nfunction CardDescription({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-description\"\n className={cn('text-sm', className)}\n {...props}\n />\n );\n}\n\nfunction CardContent({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-content\"\n className={cn('px-6', className)}\n {...props}\n />\n );\n}\n\nfunction CardFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-footer\"\n className={cn('flex items-center px-6', className)}\n {...props}\n />\n );\n}\n\nexport {\n Card,\n CardHeader,\n CardFooter,\n CardTitle,\n CardDescription,\n CardContent,\n};\n"],"mappings":"2EAMI,cAAAA,MAAA,oBAFJ,SAASC,EAAK,CAAE,UAAAC,EAAW,GAAGC,CAAM,EAAgC,CAClE,OACEH,EAAC,OACC,YAAU,OACV,UAAWI,EACT,oFACAF,CACF,EACC,GAAGC,EACN,CAEJ,CAXSE,EAAAJ,EAAA,QAaT,SAASK,EAAW,CAAE,UAAAJ,EAAW,GAAGC,CAAM,EAAgC,CACxE,OACEH,EAAC,OACC,YAAU,cACV,UAAWI,EAAG,6BAA8BF,CAAS,EACpD,GAAGC,EACN,CAEJ,CARSE,EAAAC,EAAA,cAUT,SAASC,EAAU,CAAE,UAAAL,EAAW,GAAGC,CAAM,EAAgC,CACvE,OACEH,EAAC,OACC,YAAU,aACV,UAAWI,EAAG,6BAA8BF,CAAS,EACpD,GAAGC,EACN,CAEJ,CARSE,EAAAE,EAAA,aAUT,SAASC,EAAgB,CAAE,UAAAN,EAAW,GAAGC,CAAM,EAAgC,CAC7E,OACEH,EAAC,OACC,YAAU,mBACV,UAAWI,EAAG,UAAWF,CAAS,EACjC,GAAGC,EACN,CAEJ,CARSE,EAAAG,EAAA,mBAUT,SAASC,EAAY,CAAE,UAAAP,EAAW,GAAGC,CAAM,EAAgC,CACzE,OACEH,EAAC,OACC,YAAU,eACV,UAAWI,EAAG,OAAQF,CAAS,EAC9B,GAAGC,EACN,CAEJ,CARSE,EAAAI,EAAA","names":["jsx","Card","className","props","cn","__name","CardHeader","CardTitle","CardDescription","CardContent"]}
@@ -0,0 +1,2 @@
1
+ import{a as f}from"./chunk-DYB3RWP7.js";import{b as D}from"./chunk-GEYFQVQI.js";import{a as l}from"./chunk-KPHSEIR3.js";import{a as c}from"./chunk-P37U34EQ.js";import*as m from"react";import{Drawer as o}from"vaul";import{jsx as s,jsxs as N}from"react/jsx-runtime";var w=c(({shouldScaleBackground:e=!0,...r})=>s(o.Root,{shouldScaleBackground:e,...r}),"Drawer");w.displayName="Drawer";var b=o.Trigger,x=o.Portal,h=o.Close,C=m.forwardRef(({className:e,...r},t)=>s(o.Overlay,{ref:t,className:l("fixed inset-0 z-50 bg-black/80",e),...r}));C.displayName=o.Overlay.displayName;var u=m.forwardRef(({className:e,children:r,...t},n)=>N(x,{children:[s(C,{}),N(o.Content,{ref:n,className:l("fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border bg-background",e),...t,children:[s("div",{className:"mx-auto mt-4 h-2 w-[100px] rounded-full bg-muted"}),r]})]}));u.displayName="DrawerContent";var v=c(({className:e,...r})=>s("div",{className:l("grid gap-1.5 p-4 text-center sm:text-left",e),...r}),"DrawerHeader");v.displayName="DrawerHeader";var A=c(({className:e,...r})=>s("div",{className:l("mt-auto flex flex-col gap-2 p-4",e),...r}),"DrawerFooter");A.displayName="DrawerFooter";var R=m.forwardRef(({className:e,...r},t)=>s(o.Title,{ref:t,className:l("text-lg font-semibold leading-none tracking-tight",e),...r}));R.displayName=o.Title.displayName;var g=m.forwardRef(({className:e,...r},t)=>s(o.Description,{ref:t,className:l("text-sm text-muted-foreground",e),...r}));g.displayName=o.Description.displayName;import*as y from"react";import*as a from"@radix-ui/react-scroll-area";import{jsx as p,jsxs as T}from"react/jsx-runtime";var P=y.forwardRef(({className:e,children:r,...t},n)=>T(a.Root,{ref:n,className:l("relative overflow-hidden",e),...t,children:[p(a.Viewport,{className:"h-full w-full rounded-[inherit]",children:r}),p(S,{}),p(a.Corner,{})]}));P.displayName=a.Root.displayName;var S=y.forwardRef(({className:e,orientation:r="vertical",...t},n)=>p(a.ScrollAreaScrollbar,{ref:n,orientation:r,className:l("flex touch-none select-none transition-colors",r==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",r==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",e),...t,children:p(a.ScrollAreaThumb,{className:"relative flex-1 rounded-full bg-border"})}));S.displayName=a.ScrollAreaScrollbar.displayName;import{X as H}from"lucide-react";import{jsx as i,jsxs as d}from"react/jsx-runtime";var q=c(({label:e="Disclaimer"})=>d(w,{children:[i(b,{asChild:!0,children:i(D,{variant:"link",size:"link",children:e})}),d(u,{children:[d(v,{children:[d(h,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none",children:[i(H,{className:"h-4 w-4"}),i("span",{className:"sr-only",children:"Close"})]}),i(R,{children:f?.data.title}),d(g,{children:["For more details read our"," ",i(D,{variant:"link",size:"link",asChild:!0,children:i("a",{href:f?.data.html_url,target:"_blank",rel:"noopener noreferrer",children:"Disclaimer"})})]})]}),i(P,{className:"px-4 pb-4 overflow-y-auto max-h-[calc(80vh-120px)] cost-calculator-disclaimer-drawer-scroll-area",children:i("div",{className:"cost-calculator-disclaimer-drawer-body",dangerouslySetInnerHTML:{__html:f?.data.body??""}})})]})]}),"CostCalculatorDisclaimer");export{q as a};
2
+ //# sourceMappingURL=chunk-EV5YPN4F.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/ui/drawer.tsx","../src/components/ui/scroll-area.tsx","../src/flows/CostCalculator/CostCalculatorDisclaimer.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Drawer as DrawerPrimitive } from 'vaul';\n\nimport { cn } from '@/src/lib/utils';\n\nconst Drawer = ({\n shouldScaleBackground = true,\n ...props\n}: React.ComponentProps<typeof DrawerPrimitive.Root>) => (\n <DrawerPrimitive.Root\n shouldScaleBackground={shouldScaleBackground}\n {...props}\n />\n);\nDrawer.displayName = 'Drawer';\n\nconst DrawerTrigger = DrawerPrimitive.Trigger;\n\nconst DrawerPortal = DrawerPrimitive.Portal;\n\nconst DrawerClose = DrawerPrimitive.Close;\n\nconst DrawerOverlay = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DrawerPrimitive.Overlay\n ref={ref}\n className={cn('fixed inset-0 z-50 bg-black/80', className)}\n {...props}\n />\n));\nDrawerOverlay.displayName = DrawerPrimitive.Overlay.displayName;\n\nconst DrawerContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <DrawerPortal>\n <DrawerOverlay />\n <DrawerPrimitive.Content\n ref={ref}\n className={cn(\n 'fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border bg-background',\n className,\n )}\n {...props}\n >\n <div className=\"mx-auto mt-4 h-2 w-[100px] rounded-full bg-muted\" />\n {children}\n </DrawerPrimitive.Content>\n </DrawerPortal>\n));\nDrawerContent.displayName = 'DrawerContent';\n\nconst DrawerHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn('grid gap-1.5 p-4 text-center sm:text-left', className)}\n {...props}\n />\n);\nDrawerHeader.displayName = 'DrawerHeader';\n\nconst DrawerFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn('mt-auto flex flex-col gap-2 p-4', className)}\n {...props}\n />\n);\nDrawerFooter.displayName = 'DrawerFooter';\n\nconst DrawerTitle = React.forwardRef<\n HTMLHeadingElement,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DrawerPrimitive.Title\n ref={ref}\n className={cn(\n 'text-lg font-semibold leading-none tracking-tight',\n className,\n )}\n {...props}\n />\n));\nDrawerTitle.displayName = DrawerPrimitive.Title.displayName;\n\nconst DrawerDescription = React.forwardRef<\n HTMLParagraphElement,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DrawerPrimitive.Description\n ref={ref}\n className={cn('text-sm text-muted-foreground', className)}\n {...props}\n />\n));\nDrawerDescription.displayName = DrawerPrimitive.Description.displayName;\n\nexport {\n Drawer,\n DrawerPortal,\n DrawerOverlay,\n DrawerTrigger,\n DrawerClose,\n DrawerContent,\n DrawerHeader,\n DrawerFooter,\n DrawerTitle,\n DrawerDescription,\n};\n","import * as React from 'react';\nimport * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';\n\nimport { cn } from '@/src/lib/utils';\n\nconst ScrollArea = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>\n>(({ className, children, ...props }, ref) => (\n <ScrollAreaPrimitive.Root\n ref={ref}\n className={cn('relative overflow-hidden', className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport className=\"h-full w-full rounded-[inherit]\">\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n));\nScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;\n\nconst ScrollBar = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>\n>(({ className, orientation = 'vertical', ...props }, ref) => (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n ref={ref}\n orientation={orientation}\n className={cn(\n 'flex touch-none select-none transition-colors',\n orientation === 'vertical' &&\n 'h-full w-2.5 border-l border-l-transparent p-[1px]',\n orientation === 'horizontal' &&\n 'h-2.5 flex-col border-t border-t-transparent p-[1px]',\n className,\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb className=\"relative flex-1 rounded-full bg-border\" />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n));\nScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;\n\nexport { ScrollArea, ScrollBar };\n","import {\n Drawer,\n DrawerClose,\n DrawerContent,\n DrawerDescription,\n DrawerHeader,\n DrawerTitle,\n DrawerTrigger,\n} from '@/src/components/ui/drawer';\nimport { ScrollArea } from '@/src/components/ui/scroll-area';\nimport { X } from 'lucide-react';\nimport { Button } from '@/src/components/ui/button';\nimport { disclaimerData } from '@/src/flows/CostCalculator/disclaimerUtils';\n\ntype CostCalculatorDisclaimerProps = {\n label?: string;\n};\n\nexport const CostCalculatorDisclaimer = ({\n label = 'Disclaimer',\n}: CostCalculatorDisclaimerProps) => {\n return (\n <Drawer>\n <DrawerTrigger asChild>\n <Button variant=\"link\" size=\"link\">\n {label}\n </Button>\n </DrawerTrigger>\n <DrawerContent>\n <DrawerHeader>\n <DrawerClose className=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none\">\n <X className=\"h-4 w-4\" />\n <span className=\"sr-only\">Close</span>\n </DrawerClose>\n <DrawerTitle>{disclaimerData?.data.title}</DrawerTitle>\n <DrawerDescription>\n For more details read our{' '}\n <Button variant=\"link\" size=\"link\" asChild>\n <a\n href={disclaimerData?.data.html_url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n Disclaimer\n </a>\n </Button>\n </DrawerDescription>\n </DrawerHeader>\n <ScrollArea className=\"px-4 pb-4 overflow-y-auto max-h-[calc(80vh-120px)] cost-calculator-disclaimer-drawer-scroll-area\">\n <div\n className=\"cost-calculator-disclaimer-drawer-body\"\n dangerouslySetInnerHTML={{\n __html: disclaimerData?.data.body ?? '',\n }}\n ></div>\n </ScrollArea>\n </DrawerContent>\n </Drawer>\n );\n};\n"],"mappings":"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","names":["React","DrawerPrimitive","jsx","jsxs","Drawer","__name","shouldScaleBackground","props","DrawerPrimitive","DrawerTrigger","DrawerPortal","DrawerClose","DrawerOverlay","className","ref","cn","DrawerContent","children","DrawerHeader","DrawerFooter","DrawerTitle","DrawerDescription","React","ScrollAreaPrimitive","jsx","jsxs","ScrollArea","className","children","props","ref","cn","ScrollBar","orientation","X","jsx","jsxs","CostCalculatorDisclaimer","__name","label","Drawer","DrawerTrigger","Button","DrawerContent","DrawerHeader","DrawerClose","X","DrawerTitle","disclaimerData","DrawerDescription","ScrollArea"]}
@@ -0,0 +1,2 @@
1
+ import{b as r}from"./chunk-KPHSEIR3.js";import{a as o}from"./chunk-P37U34EQ.js";import{jsx as t,jsxs as e}from"react/jsx-runtime";function n({totalCost:a,currency:s}){return t("div",{className:"pt-2 mt-4 border-t-2 border-gray-200",children:e("div",{className:"flex justify-between items-center",children:[t("h3",{className:"font-bold text-primary-foreground-800",children:"Total Cost"}),t("span",{className:"font-bold text-xl",children:r(a,s)})]})})}o(n,"CostCalculatorTotalCost");export{n as a};
2
+ //# sourceMappingURL=chunk-FB5J7SRP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/CostCalculator/Results/CostCalculatorTotalCost.tsx"],"sourcesContent":["import { 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":"gFAaM,OACE,OAAAA,EADF,QAAAC,MAAA,oBANC,SAASC,EAAwB,CACtC,UAAAC,EACA,SAAAC,CACF,EAAiC,CAC/B,OACEJ,EAAC,OAAI,UAAU,uCACb,SAAAC,EAAC,OAAI,UAAU,oCACb,UAAAD,EAAC,MAAG,UAAU,wCAAwC,sBAAU,EAChEA,EAAC,QAAK,UAAU,oBACb,SAAAK,EAAeF,EAAWC,CAAQ,EACrC,GACF,EACF,CAEJ,CAdgBE,EAAAJ,EAAA","names":["jsx","jsxs","CostCalculatorTotalCost","totalCost","currency","formatCurrency","__name"]}
@@ -0,0 +1,2 @@
1
+ import{a as l}from"./chunk-KSHK3ZPX.js";import{c as s,d as e}from"./chunk-IXINXLDO.js";import{b as a}from"./chunk-CFIJKJXD.js";import{a as r}from"./chunk-P37U34EQ.js";import{useId as g}from"react";import{useForm as p}from"react-hook-form";import{jsx as y}from"react/jsx-runtime";var P=r(({estimationOptions:n=s,defaultValues:o={countryRegionSlug:"",currencySlug:"",salary:""},options:i,render:u})=>{let c=g(),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:!1,mode:"onBlur"});return y(l.Provider,{value:{form:C,formId:c,costCalculatorBag:t},children:u(t)})},"CostCalculatorFlow");export{P as a};
2
+ //# sourceMappingURL=chunk-FF6SE4JF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/CostCalculator/CostCalculatorFlow.tsx"],"sourcesContent":["import { useJsonSchemasValidationFormResolver } from '@/src/components/form/yupValidationResolver';\nimport { CostCalculatorContext } from '@/src/flows/CostCalculator/context';\nimport {\n defaultEstimationOptions,\n useCostCalculator,\n} from '@/src/flows/CostCalculator/hooks';\nimport { CostCalculatorEstimationOptions } from '@/src/flows/CostCalculator/types';\nimport { JSFModify } from '@/src/flows/types';\nimport React, { useId } from 'react';\nimport { useForm } from 'react-hook-form';\n\nexport type CostCalculatorFlowProps = {\n /**\n * Estimation params allows you to customize the parameters sent to the /cost-calculator/estimation endpoint.\n */\n estimationOptions?: CostCalculatorEstimationOptions;\n /**\n * Default values for the form fields.\n */\n defaultValues?: Partial<{\n /**\n * Default value for the country field.\n */\n countryRegionSlug: string;\n /**\n * Default value for the currency field.\n */\n currencySlug: string;\n /**\n * Default value for the salary field.\n */\n salary: string;\n }>;\n options?: {\n jsfModify?: JSFModify;\n };\n render: (\n costCalculatorBag: ReturnType<typeof useCostCalculator>,\n ) => React.ReactNode;\n};\n\nexport const CostCalculatorFlow = ({\n estimationOptions = defaultEstimationOptions,\n defaultValues = {\n countryRegionSlug: '',\n currencySlug: '',\n salary: '',\n },\n options,\n render,\n}: CostCalculatorFlowProps) => {\n const formId = useId();\n const costCalculatorBag = useCostCalculator({\n defaultRegion: defaultValues.countryRegionSlug,\n estimationOptions,\n options,\n });\n const resolver = useJsonSchemasValidationFormResolver(\n // @ts-expect-error no matching type\n costCalculatorBag.handleValidation,\n );\n\n const form = useForm({\n resolver,\n defaultValues: {\n country: defaultValues?.countryRegionSlug,\n currency: defaultValues?.currencySlug,\n region: '',\n salary: defaultValues?.salary,\n },\n shouldUnregister: false,\n mode: 'onBlur',\n });\n\n return (\n <CostCalculatorContext.Provider\n value={{\n form,\n formId: formId,\n costCalculatorBag,\n }}\n >\n {render(costCalculatorBag)}\n </CostCalculatorContext.Provider>\n );\n};\n"],"mappings":"uKAQA,OAAgB,SAAAA,MAAa,QAC7B,OAAS,WAAAC,MAAe,kBAkEpB,cAAAC,MAAA,oBAlCG,IAAMC,EAAqBC,EAAA,CAAC,CACjC,kBAAAC,EAAoBC,EACpB,cAAAC,EAAgB,CACd,kBAAmB,GACnB,aAAc,GACd,OAAQ,EACV,EACA,QAAAC,EACA,OAAAC,CACF,IAA+B,CAC7B,IAAMC,EAASC,EAAM,EACfC,EAAoBC,EAAkB,CAC1C,cAAeN,EAAc,kBAC7B,kBAAAF,EACA,QAAAG,CACF,CAAC,EACKM,EAAWC,EAEfH,EAAkB,gBACpB,EAEMI,EAAOC,EAAQ,CACnB,SAAAH,EACA,cAAe,CACb,QAASP,GAAe,kBACxB,SAAUA,GAAe,aACzB,OAAQ,GACR,OAAQA,GAAe,MACzB,EACA,iBAAkB,GAClB,KAAM,QACR,CAAC,EAED,OACEL,EAACgB,EAAsB,SAAtB,CACC,MAAO,CACL,KAAAF,EACA,OAAQN,EACR,kBAAAE,CACF,EAEC,SAAAH,EAAOG,CAAiB,EAC3B,CAEJ,EA5CkC","names":["useId","useForm","jsx","CostCalculatorFlow","__name","estimationOptions","defaultEstimationOptions","defaultValues","options","render","formId","useId","costCalculatorBag","useCostCalculator","resolver","useJsonSchemasValidationFormResolver","form","useForm","CostCalculatorContext"]}
@@ -0,0 +1,2 @@
1
+ import{a}from"./chunk-RXK4RLF6.js";import{a as c}from"./chunk-AIEAUPO6.js";import{a as e}from"./chunk-CTTXXEWI.js";import{a as m}from"./chunk-CSU6IQX3.js";import{a as r}from"./chunk-MA4IML3T.js";import{a as o}from"./chunk-TVZAFTPT.js";import{a as n}from"./chunk-P37U34EQ.js";import{useId as f}from"react";import{jsx as s}from"react/jsx-runtime";function k({employmentId:d,countryCode:C,options:p,render:A}){let t=c({employmentId:d,countryCode:C,options:p}),i=f();return s(o.Provider,{value:{formId:i,contractAmendmentBag:t},children:A({contractAmendmentBag:t,components:{Form:r,SubmitButton:a,ConfirmationForm:m,BackButton:e}})})}n(k,"ContractAmendmentFlow");export{k as a};
2
+ //# sourceMappingURL=chunk-FJ2XPRKU.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/ContractAmendment/ContractAmendmentFlow.tsx"],"sourcesContent":["import { useId } from 'react';\nimport { ContractAmendmentContext } from './context';\nimport { ContractAmendmentBack } from './ContractAmendmentBack';\nimport { ContractAmendmentConfirmationForm } from './ContractAmendmentConfirmationForm';\nimport { ContractAmendmentForm } from './ContractAmendmentForm';\nimport { ContractAmendmentSubmit } from './ContractAmendmentSubmit';\nimport { useContractAmendment } from './hooks';\nimport { ContractAmendmentParams } from './types';\n\ntype TUseContractAmendment = ReturnType<typeof useContractAmendment>;\n\nexport type ContractAmendmentRenderProps = {\n /**\n * The contract amendment bag returned by the useContractAmendment hook.\n * This bag contains all the methods and properties needed to handle the contract amendment flow.\n * @see {@link useContractAmendment}\n */\n contractAmendmentBag: TUseContractAmendment;\n /**\n * The components used in the contract amendment flow.\n * This includes the form, submit button, and confirmation form.\n * @see {@link ContractAmendmentForm}\n * @see {@link ContractAmendmentSubmit}\n * @see {@link ContractAmendmentConfirmationForm}\n */\n components: {\n Form: typeof ContractAmendmentForm;\n SubmitButton: typeof ContractAmendmentSubmit;\n ConfirmationForm: typeof ContractAmendmentConfirmationForm;\n BackButton: typeof ContractAmendmentBack;\n };\n};\n\ntype ContractAmendmentFlowProps = ContractAmendmentParams & {\n render: ({\n contractAmendmentBag,\n components,\n }: ContractAmendmentRenderProps) => React.ReactNode;\n};\n\nexport function ContractAmendmentFlow({\n employmentId,\n countryCode,\n options,\n render,\n}: ContractAmendmentFlowProps) {\n const contractAmendmentBag = useContractAmendment({\n employmentId,\n countryCode,\n options,\n });\n const formId = useId();\n\n return (\n <ContractAmendmentContext.Provider\n value={{\n formId: formId,\n contractAmendmentBag,\n }}\n >\n {render({\n contractAmendmentBag,\n components: {\n Form: ContractAmendmentForm,\n SubmitButton: ContractAmendmentSubmit,\n ConfirmationForm: ContractAmendmentConfirmationForm,\n BackButton: ContractAmendmentBack,\n },\n })}\n </ContractAmendmentContext.Provider>\n );\n}\n"],"mappings":"mRAAA,OAAS,SAAAA,MAAa,QAsDlB,cAAAC,MAAA,oBAdG,SAASC,EAAsB,CACpC,aAAAC,EACA,YAAAC,EACA,QAAAC,EACA,OAAAC,CACF,EAA+B,CAC7B,IAAMC,EAAuBC,EAAqB,CAChD,aAAAL,EACA,YAAAC,EACA,QAAAC,CACF,CAAC,EACKI,EAASC,EAAM,EAErB,OACET,EAACU,EAAyB,SAAzB,CACC,MAAO,CACL,OAAQF,EACR,qBAAAF,CACF,EAEC,SAAAD,EAAO,CACN,qBAAAC,EACA,WAAY,CACV,KAAMK,EACN,aAAcC,EACd,iBAAkBC,EAClB,WAAYC,CACd,CACF,CAAC,EACH,CAEJ,CA/BgBC,EAAAd,EAAA","names":["useId","jsx","ContractAmendmentFlow","employmentId","countryCode","options","render","contractAmendmentBag","useContractAmendment","formId","useId","ContractAmendmentContext","ContractAmendmentForm","ContractAmendmentSubmit","ContractAmendmentConfirmationForm","ContractAmendmentBack","__name"]}
@@ -0,0 +1,2 @@
1
+ import{b as e}from"./chunk-PGWKJ6FK.js";import{b as i}from"./chunk-GEYFQVQI.js";import{b as m}from"./chunk-3ZWDIEEM.js";import{a as u}from"./chunk-P37U34EQ.js";import{jsx as s}from"react/jsx-runtime";function p({children:t,...o}){let{formId:n}=e(),{components:f}=m(),r=f?.button;return r?s(r,{...o,form:n,children:t}):s(i,{...o,form:n,children:t})}u(p,"OnboardingSubmit");export{p as a};
2
+ //# sourceMappingURL=chunk-FUIQ7D6L.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/Onboarding/components/OnboardingSubmit.tsx"],"sourcesContent":["import { ButtonHTMLAttributes, PropsWithChildren } from 'react';\nimport { Button } from '@/src/components/ui/button';\nimport { useOnboardingContext } from '@/src/flows/Onboarding/context';\nimport { useFormFields } from '@/src/context';\n\nexport function OnboardingSubmit({\n children,\n ...props\n}: PropsWithChildren<\n ButtonHTMLAttributes<HTMLButtonElement> & Record<string, unknown>\n>) {\n const { formId } = useOnboardingContext();\n const { components } = useFormFields();\n\n const CustomButton = components?.button;\n if (CustomButton) {\n return (\n <CustomButton {...props} form={formId}>\n {children}\n </CustomButton>\n );\n }\n\n return (\n <Button {...props} form={formId}>\n {children}\n </Button>\n );\n}\n"],"mappings":"gKAiBM,cAAAA,MAAA,oBAZC,SAASC,EAAiB,CAC/B,SAAAC,EACA,GAAGC,CACL,EAEG,CACD,GAAM,CAAE,OAAAC,CAAO,EAAIC,EAAqB,EAClC,CAAE,WAAAC,CAAW,EAAIC,EAAc,EAE/BC,EAAeF,GAAY,OACjC,OAAIE,EAEAR,EAACQ,EAAA,CAAc,GAAGL,EAAO,KAAMC,EAC5B,SAAAF,EACH,EAKFF,EAACS,EAAA,CAAQ,GAAGN,EAAO,KAAMC,EACtB,SAAAF,EACH,CAEJ,CAvBgBQ,EAAAT,EAAA","names":["jsx","OnboardingSubmit","children","props","formId","useOnboardingContext","components","useFormFields","CustomButton","Button","__name"]}
@@ -0,0 +1,2 @@
1
+ import{m as W}from"./chunk-XKSOWDLS.js";import{a as P}from"./chunk-RLETCEUU.js";import{b as $}from"./chunk-3ZWDIEEM.js";import{a as t,b as u,c as Te}from"./chunk-P37U34EQ.js";var R=u((bt,D)=>{"use strict";function xe(e){var n=typeof e;return e!=null&&(n=="object"||n=="function")}t(xe,"isObject");D.exports=xe});var B=u((yt,_)=>{"use strict";var he=typeof global=="object"&&global&&global.Object===Object&&global;_.exports=he});var k=u((Ct,H)=>{"use strict";var Se=B(),je=typeof self=="object"&&self&&self.Object===Object&&self,Oe=Se||je||Function("return this")();H.exports=Oe});var G=u((Tt,A)=>{"use strict";var Ee=k(),Fe=t(function(){return Ee.Date.now()},"now");A.exports=Fe});var U=u((ht,J)=>{"use strict";var qe=/\s/;function Ie(e){for(var n=e.length;n--&&qe.test(e.charAt(n)););return n}t(Ie,"trimmedEndIndex");J.exports=Ie});var X=u((jt,V)=>{"use strict";var Pe=U(),Re=/^\s+/;function ke(e){return e&&e.slice(0,Pe(e)+1).replace(Re,"")}t(ke,"baseTrim");V.exports=ke});var M=u((Et,z)=>{"use strict";var Me=k(),Ne=Me.Symbol;z.exports=Ne});var Z=u((Ft,Y)=>{"use strict";var K=M(),Q=Object.prototype,we=Q.hasOwnProperty,Le=Q.toString,x=K?K.toStringTag:void 0;function $e(e){var n=we.call(e,x),o=e[x];try{e[x]=void 0;var s=!0}catch{}var a=Le.call(e);return s&&(n?e[x]=o:delete e[x]),a}t($e,"getRawTag");Y.exports=$e});var te=u((It,ee)=>{"use strict";var We=Object.prototype,De=We.toString;function _e(e){return De.call(e)}t(_e,"objectToString");ee.exports=_e});var ie=u((Rt,oe)=>{"use strict";var ne=M(),Be=Z(),He=te(),Ae="[object Null]",Ge="[object Undefined]",re=ne?ne.toStringTag:void 0;function Je(e){return e==null?e===void 0?Ge:Ae:re&&re in Object(e)?Be(e):He(e)}t(Je,"baseGetTag");oe.exports=Je});var ae=u((Mt,se)=>{"use strict";function Ue(e){return e!=null&&typeof e=="object"}t(Ue,"isObjectLike");se.exports=Ue});var ue=u((wt,ce)=>{"use strict";var Ve=ie(),Xe=ae(),ze="[object Symbol]";function Ke(e){return typeof e=="symbol"||Xe(e)&&Ve(e)==ze}t(Ke,"isSymbol");ce.exports=Ke});var me=u(($t,de)=>{"use strict";var Qe=X(),fe=R(),Ye=ue(),le=NaN,Ze=/^[-+]0x[0-9a-f]+$/i,et=/^0b[01]+$/i,tt=/^0o[0-7]+$/i,nt=parseInt;function rt(e){if(typeof e=="number")return e;if(Ye(e))return le;if(fe(e)){var n=typeof e.valueOf=="function"?e.valueOf():e;e=fe(n)?n+"":n}if(typeof e!="string")return e===0?e:+e;e=Qe(e);var o=et.test(e);return o||tt.test(e)?nt(e.slice(2),o?2:8):Ze.test(e)?le:+e}t(rt,"toNumber");de.exports=rt});var be=u((Dt,ge)=>{"use strict";var ot=R(),N=G(),pe=me(),it="Expected a function",st=Math.max,at=Math.min;function ct(e,n,o){var s,a,l,f,i,m,p=0,S=!1,g=!1,T=!0;if(typeof e!="function")throw new TypeError(it);n=pe(n)||0,ot(o)&&(S=!!o.leading,g="maxWait"in o,l=g?st(pe(o.maxWait)||0,n):l,T="trailing"in o?!!o.trailing:T);function y(r){var d=s,b=a;return s=a=void 0,p=r,f=e.apply(b,d),f}t(y,"invokeFunc");function j(r){return p=r,i=setTimeout(C,n),S?y(r):f}t(j,"leadingEdge");function O(r){var d=r-m,b=r-p,v=n-d;return g?at(v,l-b):v}t(O,"remainingWait");function E(r){var d=r-m,b=r-p;return m===void 0||d>=n||d<0||g&&b>=l}t(E,"shouldInvoke");function C(){var r=N();if(E(r))return F(r);i=setTimeout(C,O(r))}t(C,"timerExpired");function F(r){return i=void 0,T&&s?y(r):(s=a=void 0,f)}t(F,"trailingEdge");function q(){i!==void 0&&clearTimeout(i),p=0,s=m=a=i=void 0}t(q,"cancel");function I(){return i===void 0?f:F(N())}t(I,"flush");function c(){var r=N(),d=E(r);if(s=arguments,a=this,m=r,d){if(i===void 0)return j(m);if(g)return clearTimeout(i),i=setTimeout(C,n),y(m)}return i===void 0&&(i=setTimeout(C,n)),f}return t(c,"debounced"),c.cancel=q,c.flush=I,c}t(ct,"debounce");ge.exports=ct});import{useState as lt,useCallback as dt}from"react";import{useFormContext as mt}from"react-hook-form";var ye=Te(be(),1);import{useCallback as ut,useEffect as ft,useRef as ve}from"react";function w(e,n){let o=ve(e);ft(()=>{o.current=e},[e]);let s=ve((0,ye.default)(a=>{o.current(a)},n)).current;return ut(a=>{s(a)},[s])}t(w,"useDebounce");import{Fragment as gt,jsx as h,jsxs as Ce}from"react/jsx-runtime";var pt=t(({description:e,showConversion:n,targetCurrency:o,className:s,onClick:a})=>{let{components:l}=$(),f=n?`Hide ${o} conversion`:`Show ${o} conversion`,i=l?.button;return Ce("span",{className:s,children:[e," ",i?h(i,{className:`${s.replace("-description","-button")}`,"data-type":"inline",onClick:a,children:f}):h("button",{className:`${s.replace("-description","-button")}`,onClick:a,children:f})]})},"DescriptionWithConversion"),Qt=t(({sourceCurrency:e,targetCurrency:n,conversionFieldName:o,conversionProperties:s,classNamePrefix:a,description:l,...f})=>{let[i,m]=lt(!1),{setValue:p,watch:S}=mt(),g=S(f.name),T=e&&n&&e!==n,{mutateAsync:y}=W(),j=dt(async(c,r,d,b)=>{if(c)try{let v=await y({source_currency:r,target_currency:d,amount:Number(c)});if(v.data?.data?.conversion_data?.target_amount){let L=v.data.data.conversion_data.target_amount;L&&p(b,L?.toString())}}catch(v){console.error("Error converting currency:",v)}},[y,p]),O=w(c=>j(c,e,n,o),500),E=w(c=>j(c,n,e,f.name),500),C=t(c=>{i&&O(c.target.value)},"handleMainFieldChange"),F=t(c=>{E(c.target.value)},"handleConversionFieldChange"),q=t(c=>{c.preventDefault(),m(r=>!r),!i&&g&&O(g)},"toggleConversion"),I=T?h(pt,{targetCurrency:n,description:l,showConversion:i,className:`${a}-description`,onClick:q}):l;return Ce(gt,{children:[h(P,{...f,additionalProps:{currency:e},description:I,type:"text",inputMode:"decimal",pattern:"^[0-9.]*$",onChange:C}),i&&h(P,{additionalProps:{currency:n},name:o,label:s?.label||"Conversion",description:s?.description,type:"text",inputMode:"decimal",pattern:"^[0-9.]*$",onChange:F})]})},"CurrencyConversionField");export{Qt as a};
2
+ //# sourceMappingURL=chunk-G3OSPYB5.js.map