@remoteoss/remote-flows 0.4.0-alpha.1 → 0.4.0-alpha.11

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 (374) hide show
  1. package/README.md +63 -1
  2. package/dist/chunk-32RYPLZK.js +2 -0
  3. package/dist/chunk-32RYPLZK.js.map +1 -0
  4. package/dist/chunk-3HPG2L62.js +2 -0
  5. package/dist/chunk-3HPG2L62.js.map +1 -0
  6. package/dist/chunk-3NZ6PO4D.js +2 -0
  7. package/dist/chunk-3NZ6PO4D.js.map +1 -0
  8. package/dist/chunk-3QTURBOX.js +2 -0
  9. package/dist/chunk-3QTURBOX.js.map +1 -0
  10. package/dist/{chunk-WRDKLT4N.js → chunk-3ZWDIEEM.js} +2 -2
  11. package/dist/chunk-4BOE6EEO.js +2 -0
  12. package/dist/chunk-4BOE6EEO.js.map +1 -0
  13. package/dist/{chunk-UECSVYQ5.js → chunk-5SMMQQXP.js} +2 -2
  14. package/dist/chunk-5SMMQQXP.js.map +1 -0
  15. package/dist/chunk-7JHIPWS7.js +2 -0
  16. package/dist/chunk-7JHIPWS7.js.map +1 -0
  17. package/dist/chunk-BF7QENCN.js +2 -0
  18. package/dist/chunk-BF7QENCN.js.map +1 -0
  19. package/dist/chunk-C3HJSV4T.js +2 -0
  20. package/dist/chunk-C3HJSV4T.js.map +1 -0
  21. package/dist/{chunk-A4RX3KRZ.js → chunk-CFIJKJXD.js} +2 -2
  22. package/dist/chunk-CSU6IQX3.js +2 -0
  23. package/dist/chunk-CSU6IQX3.js.map +1 -0
  24. package/dist/chunk-CTTXXEWI.js +2 -0
  25. package/dist/chunk-CTTXXEWI.js.map +1 -0
  26. package/dist/chunk-DKIWM2PT.js +2 -0
  27. package/dist/chunk-DKIWM2PT.js.map +1 -0
  28. package/dist/chunk-DR7VGNO2.js +2 -0
  29. package/dist/chunk-EEAMZPP6.js +2 -0
  30. package/dist/{chunk-GMGKIQLI.js.map → chunk-EEAMZPP6.js.map} +1 -1
  31. package/dist/chunk-EV5YPN4F.js +2 -0
  32. package/dist/chunk-EV5YPN4F.js.map +1 -0
  33. package/dist/chunk-FB5J7SRP.js +2 -0
  34. package/dist/chunk-FB5J7SRP.js.map +1 -0
  35. package/dist/chunk-GAXGAK4P.js +2 -0
  36. package/dist/chunk-GAXGAK4P.js.map +1 -0
  37. package/dist/chunk-GEYFQVQI.js +2 -0
  38. package/dist/{chunk-56BNVYTD.js.map → chunk-GEYFQVQI.js.map} +1 -1
  39. package/dist/chunk-GFMFGU7A.js +2 -0
  40. package/dist/chunk-GFMFGU7A.js.map +1 -0
  41. package/dist/chunk-GPAE53HO.js +2 -0
  42. package/dist/chunk-GPAE53HO.js.map +1 -0
  43. package/dist/chunk-H4BI3LJD.js +2 -0
  44. package/dist/chunk-H4BI3LJD.js.map +1 -0
  45. package/dist/chunk-HGHKZF7M.js +2 -0
  46. package/dist/chunk-HGHKZF7M.js.map +1 -0
  47. package/dist/chunk-IG3FJLDR.js +2 -0
  48. package/dist/chunk-IG3FJLDR.js.map +1 -0
  49. package/dist/chunk-INW2EQZR.js +2 -0
  50. package/dist/chunk-INW2EQZR.js.map +1 -0
  51. package/dist/chunk-JTP3LZ77.js +2 -0
  52. package/dist/chunk-JTP3LZ77.js.map +1 -0
  53. package/dist/{chunk-D3SD6MMV.js → chunk-JXCJLQRA.js} +2 -2
  54. package/dist/chunk-JXCJLQRA.js.map +1 -0
  55. package/dist/chunk-KGSIUWBI.js +2 -0
  56. package/dist/chunk-KGSIUWBI.js.map +1 -0
  57. package/dist/{chunk-JRQSZHUU.js → chunk-KHZ2ITFO.js} +2 -2
  58. package/dist/chunk-KM4XVL2X.js +2 -0
  59. package/dist/chunk-KM4XVL2X.js.map +1 -0
  60. package/dist/{chunk-5ETXP2QF.js → chunk-KPHSEIR3.js} +2 -2
  61. package/dist/{chunk-OLJ2S6A6.js → chunk-KSHK3ZPX.js} +2 -2
  62. package/dist/chunk-KSHK3ZPX.js.map +1 -0
  63. package/dist/chunk-L6LGRALQ.js +2 -0
  64. package/dist/chunk-L6LGRALQ.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-MH6KKP6K.js +2 -0
  70. package/dist/chunk-MH6KKP6K.js.map +1 -0
  71. package/dist/{chunk-DZYFSFZ7.js → chunk-MRYRNB7Y.js} +2 -2
  72. package/dist/chunk-O4PJ6GWS.js +2 -0
  73. package/dist/chunk-O4PJ6GWS.js.map +1 -0
  74. package/dist/chunk-OP4QGFLS.js +2 -0
  75. package/dist/chunk-OP4QGFLS.js.map +1 -0
  76. package/dist/chunk-P37U34EQ.js +2 -0
  77. package/dist/chunk-PGWKJ6FK.js +2 -0
  78. package/dist/chunk-PGWKJ6FK.js.map +1 -0
  79. package/dist/chunk-PJBAQZ6G.js +2 -0
  80. package/dist/chunk-PJBAQZ6G.js.map +1 -0
  81. package/dist/chunk-PJCUSCO4.js +2 -0
  82. package/dist/{chunk-MESREYTZ.js.map → chunk-PJCUSCO4.js.map} +1 -1
  83. package/dist/chunk-PWUYHFON.js +2 -0
  84. package/dist/chunk-PWUYHFON.js.map +1 -0
  85. package/dist/chunk-QKTDO33H.js +2 -0
  86. package/dist/chunk-QKTDO33H.js.map +1 -0
  87. package/dist/chunk-RC2UQDK7.js +2 -0
  88. package/dist/chunk-RC2UQDK7.js.map +1 -0
  89. package/dist/chunk-RFYJGH2X.js +2 -0
  90. package/dist/chunk-RFYJGH2X.js.map +1 -0
  91. package/dist/chunk-RIWPSA6V.js +2 -0
  92. package/dist/chunk-RIWPSA6V.js.map +1 -0
  93. package/dist/chunk-RWYOUDM5.js +2 -0
  94. package/dist/chunk-RWYOUDM5.js.map +1 -0
  95. package/dist/chunk-RXK4RLF6.js +2 -0
  96. package/dist/chunk-RXK4RLF6.js.map +1 -0
  97. package/dist/{chunk-FZ2HS6G7.js → chunk-S4XU4SE7.js} +1 -1
  98. package/dist/chunk-S4XU4SE7.js.map +1 -0
  99. package/dist/chunk-SUS7UBI5.js +2 -0
  100. package/dist/chunk-SUS7UBI5.js.map +1 -0
  101. package/dist/{chunk-6HGUGIYJ.js → chunk-TVZAFTPT.js} +2 -2
  102. package/dist/chunk-U6OPL6WG.js +2 -0
  103. package/dist/chunk-U6OPL6WG.js.map +1 -0
  104. package/dist/chunk-VEOGRXYK.js +2 -0
  105. package/dist/chunk-VEOGRXYK.js.map +1 -0
  106. package/dist/chunk-VJEJUUY2.js +2 -0
  107. package/dist/chunk-VJEJUUY2.js.map +1 -0
  108. package/dist/chunk-VJEL5MZJ.js +2 -0
  109. package/dist/chunk-VJEL5MZJ.js.map +1 -0
  110. package/dist/chunk-VN4HDCRB.js +2 -0
  111. package/dist/chunk-VN4HDCRB.js.map +1 -0
  112. package/dist/chunk-VNSF5IOL.js +2 -0
  113. package/dist/chunk-VNSF5IOL.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-XO3JWN33.js +2 -0
  121. package/dist/{chunk-GFBF55NR.js.map → chunk-XO3JWN33.js.map} +1 -1
  122. package/dist/chunk-YO4OQIFP.js +2 -0
  123. package/dist/{chunk-3FVI5JIC.js.map → chunk-YO4OQIFP.js.map} +1 -1
  124. package/dist/chunk-Z3HWTDRE.js +2 -0
  125. package/dist/chunk-Z3HWTDRE.js.map +1 -0
  126. package/dist/chunk-ZOG52VVG.js +2 -0
  127. package/dist/chunk-ZOG52VVG.js.map +1 -0
  128. package/dist/flows/ContractAmendment/ContractAmendmentBack.d.ts +3 -2
  129. package/dist/flows/ContractAmendment/ContractAmendmentBack.js +1 -1
  130. package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.d.ts +5 -5
  131. package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.js +1 -1
  132. package/dist/flows/ContractAmendment/ContractAmendmentFlow.d.ts +5 -5
  133. package/dist/flows/ContractAmendment/ContractAmendmentFlow.js +1 -1
  134. package/dist/flows/ContractAmendment/ContractAmendmentForm.d.ts +5 -5
  135. package/dist/flows/ContractAmendment/ContractAmendmentForm.js +1 -1
  136. package/dist/flows/ContractAmendment/ContractAmendmentSubmit.d.ts +3 -2
  137. package/dist/flows/ContractAmendment/ContractAmendmentSubmit.js +1 -1
  138. package/dist/flows/ContractAmendment/context.d.ts +5 -6
  139. package/dist/flows/ContractAmendment/context.js +1 -1
  140. package/dist/flows/ContractAmendment/hooks.d.ts +4 -5
  141. package/dist/flows/ContractAmendment/hooks.js +1 -1
  142. package/dist/flows/ContractAmendment/index.d.ts +3 -3
  143. package/dist/flows/ContractAmendment/index.js +1 -1
  144. package/dist/flows/ContractAmendment/types.d.ts +0 -2
  145. package/dist/flows/ContractAmendment/utils.d.ts +2 -2
  146. package/dist/flows/ContractAmendment/utils.js +1 -1
  147. package/dist/flows/CostCalculator/CostCalculatorDisclaimer.d.ts +2 -2
  148. package/dist/flows/CostCalculator/CostCalculatorDisclaimer.js +1 -1
  149. package/dist/flows/CostCalculator/CostCalculatorFlow.d.ts +7 -6
  150. package/dist/flows/CostCalculator/CostCalculatorFlow.js +1 -1
  151. package/dist/flows/CostCalculator/CostCalculatorForm.d.ts +9 -5
  152. package/dist/flows/CostCalculator/CostCalculatorForm.js +1 -1
  153. package/dist/flows/CostCalculator/CostCalculatorResetButton.d.ts +3 -2
  154. package/dist/flows/CostCalculator/CostCalculatorResetButton.js +1 -1
  155. package/dist/flows/CostCalculator/CostCalculatorSubmitButton.d.ts +3 -2
  156. package/dist/flows/CostCalculator/CostCalculatorSubmitButton.js +1 -1
  157. package/dist/flows/CostCalculator/Results/CostCalculatorBenefitsBreakdown.d.ts +2 -2
  158. package/dist/flows/CostCalculator/Results/CostCalculatorBenefitsBreakdown.js +1 -1
  159. package/dist/flows/CostCalculator/Results/CostCalculatorContributionsBreakdown.d.ts +2 -2
  160. package/dist/flows/CostCalculator/Results/CostCalculatorContributionsBreakdown.js +1 -1
  161. package/dist/flows/CostCalculator/Results/CostCalculatorGrossSalary.d.ts +2 -2
  162. package/dist/flows/CostCalculator/Results/CostCalculatorGrossSalary.js +1 -1
  163. package/dist/flows/CostCalculator/Results/CostCalculatorResults.d.ts +3 -3
  164. package/dist/flows/CostCalculator/Results/CostCalculatorResults.js +1 -1
  165. package/dist/flows/CostCalculator/Results/CostCalculatorResultsChart.d.ts +2 -2
  166. package/dist/flows/CostCalculator/Results/CostCalculatorResultsChart.js +1 -1
  167. package/dist/flows/CostCalculator/Results/CostCalculatorResultsChart.js.map +1 -1
  168. package/dist/flows/CostCalculator/Results/CostCalculatorTotalCost.d.ts +2 -2
  169. package/dist/flows/CostCalculator/Results/CostCalculatorTotalCost.js +1 -1
  170. package/dist/flows/CostCalculator/context.d.ts +9 -6
  171. package/dist/flows/CostCalculator/context.js +1 -1
  172. package/dist/flows/CostCalculator/disclaimerUtils.js +1 -1
  173. package/dist/flows/CostCalculator/hooks.d.ts +5 -4
  174. package/dist/flows/CostCalculator/hooks.js +1 -1
  175. package/dist/flows/CostCalculator/index.d.ts +6 -2
  176. package/dist/flows/CostCalculator/index.js +1 -1
  177. package/dist/flows/CostCalculator/jsonSchema.js +1 -1
  178. package/dist/flows/CostCalculator/types.d.ts +12 -4
  179. package/dist/flows/CostCalculator/utils.d.ts +7 -4
  180. package/dist/flows/CostCalculator/utils.js +1 -1
  181. package/dist/flows/Onboarding/AnnualGrossSalary.d.ts +18 -0
  182. package/dist/flows/Onboarding/AnnualGrossSalary.js +2 -0
  183. package/dist/flows/Onboarding/AnnualGrossSalary.js.map +1 -0
  184. package/dist/flows/Onboarding/BasicInformationStep.d.ts +4 -5
  185. package/dist/flows/Onboarding/BasicInformationStep.js +1 -1
  186. package/dist/flows/Onboarding/BenefitsStep.d.ts +8 -7
  187. package/dist/flows/Onboarding/BenefitsStep.js +1 -1
  188. package/dist/flows/Onboarding/ContractDetailsStep.d.ts +3 -4
  189. package/dist/flows/Onboarding/ContractDetailsStep.js +1 -1
  190. package/dist/flows/Onboarding/OnboardingBack.d.ts +4 -2
  191. package/dist/flows/Onboarding/OnboardingBack.js +1 -1
  192. package/dist/flows/Onboarding/OnboardingFlow.d.ts +17 -7
  193. package/dist/flows/Onboarding/OnboardingFlow.js +1 -1
  194. package/dist/flows/Onboarding/OnboardingForm.d.ts +6 -5
  195. package/dist/flows/Onboarding/OnboardingForm.js +1 -1
  196. package/dist/flows/Onboarding/OnboardingInvite.d.ts +15 -8
  197. package/dist/flows/Onboarding/OnboardingInvite.js +1 -1
  198. package/dist/flows/Onboarding/OnboardingSubmit.d.ts +3 -2
  199. package/dist/flows/Onboarding/OnboardingSubmit.js +1 -1
  200. package/dist/flows/Onboarding/ReviewStep.d.ts +37 -0
  201. package/dist/flows/Onboarding/ReviewStep.js +2 -0
  202. package/dist/flows/Onboarding/ReviewStep.js.map +1 -0
  203. package/dist/flows/Onboarding/SelectCountryStep.d.ts +14 -0
  204. package/dist/flows/Onboarding/SelectCountryStep.js +2 -0
  205. package/dist/flows/Onboarding/SelectCountryStep.js.map +1 -0
  206. package/dist/flows/Onboarding/api.d.ts +122 -0
  207. package/dist/flows/Onboarding/api.js +2 -0
  208. package/dist/flows/Onboarding/api.js.map +1 -0
  209. package/dist/flows/Onboarding/context.d.ts +44 -9
  210. package/dist/flows/Onboarding/context.js +1 -1
  211. package/dist/flows/Onboarding/hooks.d.ts +59 -26
  212. package/dist/flows/Onboarding/hooks.js +1 -1
  213. package/dist/flows/Onboarding/index.d.ts +10 -6
  214. package/dist/flows/Onboarding/index.js +1 -1
  215. package/dist/flows/Onboarding/json-schemas/selectCountryStep.d.ts +24 -0
  216. package/dist/flows/Onboarding/json-schemas/selectCountryStep.js +2 -0
  217. package/dist/flows/Onboarding/json-schemas/selectCountryStep.js.map +1 -0
  218. package/dist/flows/Onboarding/types.d.ts +27 -6
  219. package/dist/flows/Onboarding/utils.d.ts +22 -3
  220. package/dist/flows/Onboarding/utils.js +1 -1
  221. package/dist/flows/Termination/AdditionalDetailsForm.d.ts +4 -4
  222. package/dist/flows/Termination/AdditionalDetailsForm.js +1 -1
  223. package/dist/flows/Termination/EmployeeComunicationForm.d.ts +3 -3
  224. package/dist/flows/Termination/EmployeeComunicationForm.js +1 -1
  225. package/dist/flows/Termination/PaidTimeOffForm.d.ts +3 -3
  226. package/dist/flows/Termination/PaidTimeOffForm.js +1 -1
  227. package/dist/flows/Termination/TerminationBack.d.ts +3 -2
  228. package/dist/flows/Termination/TerminationBack.js +1 -1
  229. package/dist/flows/Termination/TerminationDetailsForm.d.ts +3 -3
  230. package/dist/flows/Termination/TerminationDetailsForm.js +1 -1
  231. package/dist/flows/Termination/TerminationFlow.d.ts +7 -5
  232. package/dist/flows/Termination/TerminationFlow.js +1 -1
  233. package/dist/flows/Termination/TerminationForm.d.ts +3 -3
  234. package/dist/flows/Termination/TerminationForm.js +1 -1
  235. package/dist/flows/Termination/TerminationSubmit.d.ts +3 -2
  236. package/dist/flows/Termination/TerminationSubmit.js +1 -1
  237. package/dist/flows/Termination/TimeOff.d.ts +4 -4
  238. package/dist/flows/Termination/TimeOff.js +1 -1
  239. package/dist/flows/Termination/context.d.ts +6 -5
  240. package/dist/flows/Termination/context.js +1 -1
  241. package/dist/flows/Termination/hooks.d.ts +4 -3
  242. package/dist/flows/Termination/hooks.js +1 -1
  243. package/dist/flows/Termination/index.d.ts +4 -2
  244. package/dist/flows/Termination/index.js +1 -1
  245. package/dist/flows/Termination/json-schemas/additionalInformation.js +1 -1
  246. package/dist/flows/Termination/json-schemas/defaultSchema.js +1 -1
  247. package/dist/flows/Termination/json-schemas/employeeComunication.js +1 -1
  248. package/dist/flows/Termination/json-schemas/jsonSchema.js +1 -1
  249. package/dist/flows/Termination/json-schemas/paidTimeOff.js +1 -1
  250. package/dist/flows/Termination/json-schemas/schema.js +1 -1
  251. package/dist/flows/Termination/json-schemas/terminationDetails.js +1 -1
  252. package/dist/flows/Termination/types.d.ts +1 -1
  253. package/dist/flows/Termination/utils.d.ts +1 -1
  254. package/dist/flows/Termination/utils.js +1 -1
  255. package/dist/flows/types.d.ts +3 -4
  256. package/dist/flows/useStepState.d.ts +19 -6
  257. package/dist/flows/useStepState.js +1 -1
  258. package/dist/flows/utils.d.ts +3 -11
  259. package/dist/flows/utils.js +1 -1
  260. package/dist/index.css +1 -1
  261. package/dist/index.css.map +1 -1
  262. package/dist/index.d.ts +16 -8
  263. package/dist/index.js +1 -1
  264. package/dist/index.js.map +1 -1
  265. package/dist/{remoteFlows-CswYencu.d.ts → remoteFlows-lYAFzyXi.d.ts} +51 -27
  266. package/dist/types-CxSFjQw5.d.ts +3 -0
  267. package/dist/{types.gen-CsMdyQkb.d.ts → types.gen-D_v539E_.d.ts} +335 -2
  268. package/package.json +18 -3
  269. package/dist/chunk-2PXGLWCY.js +0 -2
  270. package/dist/chunk-2PXGLWCY.js.map +0 -1
  271. package/dist/chunk-36UPHOJS.js +0 -2
  272. package/dist/chunk-36UPHOJS.js.map +0 -1
  273. package/dist/chunk-3FVI5JIC.js +0 -2
  274. package/dist/chunk-56BNVYTD.js +0 -2
  275. package/dist/chunk-6A3F6JG6.js +0 -2
  276. package/dist/chunk-6A3F6JG6.js.map +0 -1
  277. package/dist/chunk-6TYJC6YS.js +0 -2
  278. package/dist/chunk-6TYJC6YS.js.map +0 -1
  279. package/dist/chunk-7CYG2RHP.js +0 -2
  280. package/dist/chunk-7CYG2RHP.js.map +0 -1
  281. package/dist/chunk-ABR3B66K.js +0 -2
  282. package/dist/chunk-ABR3B66K.js.map +0 -1
  283. package/dist/chunk-ALRU77S5.js +0 -2
  284. package/dist/chunk-ALRU77S5.js.map +0 -1
  285. package/dist/chunk-AYDF3IFZ.js +0 -2
  286. package/dist/chunk-CFRYIKSR.js +0 -2
  287. package/dist/chunk-CFRYIKSR.js.map +0 -1
  288. package/dist/chunk-CKEVRQRG.js +0 -2
  289. package/dist/chunk-CKEVRQRG.js.map +0 -1
  290. package/dist/chunk-D3SD6MMV.js.map +0 -1
  291. package/dist/chunk-DE5FSFYL.js +0 -2
  292. package/dist/chunk-DE5FSFYL.js.map +0 -1
  293. package/dist/chunk-DGPRFQYK.js +0 -2
  294. package/dist/chunk-DGPRFQYK.js.map +0 -1
  295. package/dist/chunk-DHRIURRT.js +0 -2
  296. package/dist/chunk-DHRIURRT.js.map +0 -1
  297. package/dist/chunk-DZSZOC2G.js +0 -2
  298. package/dist/chunk-DZSZOC2G.js.map +0 -1
  299. package/dist/chunk-EAAIAMTY.js +0 -2
  300. package/dist/chunk-EAAIAMTY.js.map +0 -1
  301. package/dist/chunk-ED3CBUQL.js +0 -2
  302. package/dist/chunk-ED3CBUQL.js.map +0 -1
  303. package/dist/chunk-FMT2OTOL.js +0 -2
  304. package/dist/chunk-FMT2OTOL.js.map +0 -1
  305. package/dist/chunk-FZ2HS6G7.js.map +0 -1
  306. package/dist/chunk-GFBF55NR.js +0 -2
  307. package/dist/chunk-GGAS4ZNQ.js +0 -2
  308. package/dist/chunk-GGAS4ZNQ.js.map +0 -1
  309. package/dist/chunk-GMGKIQLI.js +0 -2
  310. package/dist/chunk-GOLOL2V6.js +0 -2
  311. package/dist/chunk-GOLOL2V6.js.map +0 -1
  312. package/dist/chunk-GRYAM4FZ.js +0 -2
  313. package/dist/chunk-GRYAM4FZ.js.map +0 -1
  314. package/dist/chunk-HEPL5WDF.js +0 -2
  315. package/dist/chunk-HEPL5WDF.js.map +0 -1
  316. package/dist/chunk-HSW5HMHH.js +0 -2
  317. package/dist/chunk-IDSJI7KQ.js +0 -2
  318. package/dist/chunk-IDSJI7KQ.js.map +0 -1
  319. package/dist/chunk-J55S4SEH.js +0 -2
  320. package/dist/chunk-J55S4SEH.js.map +0 -1
  321. package/dist/chunk-JBG4RVXQ.js +0 -2
  322. package/dist/chunk-JBG4RVXQ.js.map +0 -1
  323. package/dist/chunk-KH6QS5OU.js +0 -2
  324. package/dist/chunk-KH6QS5OU.js.map +0 -1
  325. package/dist/chunk-KQH5HLN5.js +0 -2
  326. package/dist/chunk-KQH5HLN5.js.map +0 -1
  327. package/dist/chunk-KSGPQCSG.js +0 -2
  328. package/dist/chunk-KSGPQCSG.js.map +0 -1
  329. package/dist/chunk-LNKYOAKF.js +0 -2
  330. package/dist/chunk-LNKYOAKF.js.map +0 -1
  331. package/dist/chunk-M7WCW7WD.js +0 -2
  332. package/dist/chunk-M7WCW7WD.js.map +0 -1
  333. package/dist/chunk-MESREYTZ.js +0 -2
  334. package/dist/chunk-MHKNAQLP.js +0 -2
  335. package/dist/chunk-MHKNAQLP.js.map +0 -1
  336. package/dist/chunk-MIHU6CEZ.js +0 -2
  337. package/dist/chunk-MIHU6CEZ.js.map +0 -1
  338. package/dist/chunk-NE547PW4.js +0 -2
  339. package/dist/chunk-NE547PW4.js.map +0 -1
  340. package/dist/chunk-OLJ2S6A6.js.map +0 -1
  341. package/dist/chunk-PNXZHV6W.js +0 -2
  342. package/dist/chunk-PNXZHV6W.js.map +0 -1
  343. package/dist/chunk-PWKM2R6V.js +0 -2
  344. package/dist/chunk-PWKM2R6V.js.map +0 -1
  345. package/dist/chunk-Q64URAIN.js +0 -2
  346. package/dist/chunk-Q64URAIN.js.map +0 -1
  347. package/dist/chunk-QOMUXX6W.js.map +0 -1
  348. package/dist/chunk-QSHYMFMY.js +0 -2
  349. package/dist/chunk-QSHYMFMY.js.map +0 -1
  350. package/dist/chunk-S4FKLPBB.js +0 -2
  351. package/dist/chunk-S4FKLPBB.js.map +0 -1
  352. package/dist/chunk-S56EWAS4.js +0 -2
  353. package/dist/chunk-S56EWAS4.js.map +0 -1
  354. package/dist/chunk-SLD7DFLW.js +0 -2
  355. package/dist/chunk-SLD7DFLW.js.map +0 -1
  356. package/dist/chunk-UECSVYQ5.js.map +0 -1
  357. package/dist/chunk-VRQXHCFR.js +0 -2
  358. package/dist/chunk-VRQXHCFR.js.map +0 -1
  359. package/dist/chunk-WQHKB5T7.js +0 -2
  360. package/dist/chunk-WQHKB5T7.js.map +0 -1
  361. package/dist/chunk-WS3C3WIJ.js +0 -2
  362. package/dist/chunk-WS3C3WIJ.js.map +0 -1
  363. package/dist/chunk-XLFHHYVS.js +0 -2
  364. package/dist/chunk-XLFHHYVS.js.map +0 -1
  365. package/dist/chunk-YOC3VDC7.js +0 -2
  366. package/dist/chunk-YOC3VDC7.js.map +0 -1
  367. /package/dist/{chunk-WRDKLT4N.js.map → chunk-3ZWDIEEM.js.map} +0 -0
  368. /package/dist/{chunk-A4RX3KRZ.js.map → chunk-CFIJKJXD.js.map} +0 -0
  369. /package/dist/{chunk-HSW5HMHH.js.map → chunk-DR7VGNO2.js.map} +0 -0
  370. /package/dist/{chunk-JRQSZHUU.js.map → chunk-KHZ2ITFO.js.map} +0 -0
  371. /package/dist/{chunk-5ETXP2QF.js.map → chunk-KPHSEIR3.js.map} +0 -0
  372. /package/dist/{chunk-DZYFSFZ7.js.map → chunk-MRYRNB7Y.js.map} +0 -0
  373. /package/dist/{chunk-AYDF3IFZ.js.map → chunk-P37U34EQ.js.map} +0 -0
  374. /package/dist/{chunk-6HGUGIYJ.js.map → chunk-TVZAFTPT.js.map} +0 -0
package/README.md CHANGED
@@ -26,6 +26,37 @@ Welcome to the `@remoteoss/remote-flows` package, a React library that provides
26
26
  npm install @remoteoss/remote-flows
27
27
  ```
28
28
 
29
+ ## Development
30
+
31
+ To run the SDK locally for development:
32
+
33
+ 1. Clone the repository and install dependencies:
34
+
35
+ ```sh
36
+ git clone https://github.com/remoteoss/remote-flows.git
37
+ cd remote-flows
38
+ npm install
39
+ ```
40
+
41
+ 2. Create a `.env` file in the example directory with your Remote credentials:
42
+
43
+ ```env
44
+ CLIENT_ID=your_client_id
45
+ CLIENT_SECRET=your_client_secret
46
+ REFRESH_TOKEN=your_refresh_token
47
+ REMOTE_GATEWAY=https://gateway.partners.remote-sandbox.com # for sandbox
48
+ # REMOTE_GATEWAY=https://gateway.remote.com # for production
49
+ ```
50
+
51
+ 3. Start the development server:
52
+
53
+ ```sh
54
+ cd example
55
+ npm run dev
56
+ ```
57
+
58
+ The example app will be available at `http://localhost:3001`. The server handles authentication and proxies API requests to Remote's gateway.
59
+
29
60
  ## Components API
30
61
 
31
62
  ### RemoteFlows
@@ -50,15 +81,40 @@ The `components` prop allows you to override the default form field components w
50
81
 
51
82
  > **Important**: All custom components are wrapped with React Hook Form's `Controller` component. You must bind the `field` props to your HTML elements to ensure proper form state management and validation.
52
83
 
84
+ For TypeScript users, we export component prop types to make it easier to create properly typed custom components:
85
+
86
+ ```tsx
87
+ import {
88
+ FieldComponentProps,
89
+ ButtonComponentProps,
90
+ } from '@remoteoss/remote-flows';
91
+
92
+ const CustomInput = ({ field, fieldData, fieldState }: FieldComponentProps) => {
93
+ return (
94
+ <div>
95
+ <label htmlFor={field.name}>{fieldData.label}</label>
96
+ <input {...field} />
97
+ {fieldState.error && <p>{fieldState.error.message}</p>}
98
+ </div>
99
+ );
100
+ };
101
+
102
+ const CustomButton = ({ children, ...props }: ButtonComponentProps) => {
103
+ return <button {...props}>{children}</button>;
104
+ };
105
+ ```
106
+
53
107
  Here's an example of custom field components implementation:
54
108
 
55
109
  ```tsx
56
110
  <RemoteFlows
57
111
  components={{
112
+ text: CustomInput,
113
+ button: CustomButton,
58
114
  number: ({ field, fieldState, fieldData }) => (
59
115
  <div>
60
116
  <label>{fieldData.label}</label>
61
- <input {...field} />
117
+ <input {...field} type="number" />
62
118
  {fieldState.error && (
63
119
  <span className="text-red-500">{fieldState.error.message}</span>
64
120
  )}
@@ -85,6 +141,12 @@ Here's an example of custom field components implementation:
85
141
  </RemoteFlows>
86
142
  ```
87
143
 
144
+ ### Available Component Prop Types
145
+
146
+ - `FieldComponentProps`: For all form field components (text, number, select, etc.)
147
+ - `ButtonComponentProps`: For custom button components
148
+ - `StatementComponentProps`: For custom statement components
149
+
88
150
  Supported field types:
89
151
 
90
152
  - `text`: Text input fields
@@ -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"]}
@@ -0,0 +1,2 @@
1
+ import{a as m}from"./chunk-LLIGZSYY.js";import{a as n}from"./chunk-JXCJLQRA.js";import{a as e}from"./chunk-INW2EQZR.js";import{a as T}from"./chunk-KGSIUWBI.js";import{a}from"./chunk-4BOE6EEO.js";import{a as f}from"./chunk-O4PJ6GWS.js";import{a as r}from"./chunk-BF7QENCN.js";import{a as p}from"./chunk-OP4QGFLS.js";import{a as t}from"./chunk-MRYRNB7Y.js";import{a as i}from"./chunk-P37U34EQ.js";import{useId as c}from"react";import{jsx as u}from"react/jsx-runtime";var A=i(({employmentId:d,render:s,options:l})=>{let y=c(),o=e({employmentId:d,options:l});return u(t.Provider,{value:{formId:y,terminationBag:o},children:s({terminationBag:o,components:{SubmitButton:m,TimeOff:n,Back:r,EmployeeComunicationStep:a,TerminationDetailsStep:p,PaidTimeOffStep:f,AdditionalDetailsStep:T}})})},"TerminationFlow");export{A as a};
2
+ //# sourceMappingURL=chunk-3QTURBOX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/Termination/TerminationFlow.tsx"],"sourcesContent":["import { TerminationContext } from '@/src/flows/Termination/context';\nimport React, { useId } from 'react';\nimport { useTermination } from '@/src/flows/Termination/hooks';\nimport { TerminationSubmit } from '@/src/flows/Termination/TerminationSubmit';\nimport { TimeOff } from '@/src/flows/Termination/TimeOff';\nimport { TerminationBack } from '@/src/flows/Termination/TerminationBack';\nimport { EmployeeCommunicationForm } from '@/src/flows/Termination/EmployeeComunicationForm';\nimport { TerminationDetailsForm } from '@/src/flows/Termination/TerminationDetailsForm';\nimport { PaidTimeOffForm } from '@/src/flows/Termination/PaidTimeOffForm';\nimport { AdditionalDetailsForm } from '@/src/flows/Termination/AdditionalDetailsForm';\nimport { JSFModify } from '@/src/flows/types';\n\nexport type TerminationRenderProps = {\n /**\n * The termination bag returned by the useTermination hook.\n * This bag contains all the methods and properties needed to handle the termination flow.\n * @see {@link useTermination}\n */\n terminationBag: ReturnType<typeof useTermination>;\n /**\n * The components used in the termination flow.\n * This includes different steps, submit button, back button and timeoff.\n * @see {@link TerminationSubmit}\n * @see {@link TimeOff}\n * @see {@link TerminationBack}\n * @see {@link EmployeeCommunicationForm}\n * @see {@link TerminationDetailsForm}\n * @see {@link PaidTimeOffForm}\n * @see {@link AdditionalDetailsForm}\n */\n components: {\n SubmitButton: typeof TerminationSubmit;\n TimeOff: typeof TimeOff;\n Back: typeof TerminationBack;\n EmployeeComunicationStep: typeof EmployeeCommunicationForm;\n TerminationDetailsStep: typeof TerminationDetailsForm;\n PaidTimeOffStep: typeof PaidTimeOffForm;\n AdditionalDetailsStep: typeof AdditionalDetailsForm;\n };\n};\n\ntype TerminationFlowProps = {\n employmentId: string;\n render: ({\n terminationBag,\n components,\n }: TerminationRenderProps) => React.ReactNode;\n options?: {\n jsfModify?: JSFModify;\n };\n};\n\nexport const TerminationFlow = ({\n employmentId,\n render,\n options,\n}: TerminationFlowProps) => {\n const formId = useId();\n const terminationBag = useTermination({ employmentId, options });\n\n return (\n <TerminationContext.Provider\n value={{\n formId: formId,\n terminationBag,\n }}\n >\n {render({\n terminationBag,\n components: {\n SubmitButton: TerminationSubmit,\n TimeOff: TimeOff,\n Back: TerminationBack,\n EmployeeComunicationStep: EmployeeCommunicationForm,\n TerminationDetailsStep: TerminationDetailsForm,\n PaidTimeOffStep: PaidTimeOffForm,\n AdditionalDetailsStep: AdditionalDetailsForm,\n },\n })}\n </TerminationContext.Provider>\n );\n};\n"],"mappings":"2YACA,OAAgB,SAAAA,MAAa,QA4DzB,cAAAC,MAAA,oBATG,IAAMC,EAAkBC,EAAA,CAAC,CAC9B,aAAAC,EACA,OAAAC,EACA,QAAAC,CACF,IAA4B,CAC1B,IAAMC,EAASC,EAAM,EACfC,EAAiBC,EAAe,CAAE,aAAAN,EAAc,QAAAE,CAAQ,CAAC,EAE/D,OACEL,EAACU,EAAmB,SAAnB,CACC,MAAO,CACL,OAAQJ,EACR,eAAAE,CACF,EAEC,SAAAJ,EAAO,CACN,eAAAI,EACA,WAAY,CACV,aAAcG,EACd,QAASC,EACT,KAAMC,EACN,yBAA0BC,EAC1B,uBAAwBC,EACxB,gBAAiBC,EACjB,sBAAuBC,CACzB,CACF,CAAC,EACH,CAEJ,EA7B+B","names":["useId","jsx","TerminationFlow","__name","employmentId","render","options","formId","useId","terminationBag","useTermination","TerminationContext","TerminationSubmit","TimeOff","TerminationBack","EmployeeCommunicationForm","TerminationDetailsForm","PaidTimeOffForm","AdditionalDetailsForm"]}
@@ -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
@@ -0,0 +1,2 @@
1
+ import{a as n}from"./chunk-U6OPL6WG.js";import{b as m}from"./chunk-MRYRNB7Y.js";import{a as o}from"./chunk-P37U34EQ.js";import{jsx as r}from"react/jsx-runtime";function p({onSubmit:e}){let{terminationBag:i}=m();return r(n,{onSubmit:o(async t=>{await e?.(i?.parseFormValues(t)),i?.next()},"handleSubmit")})}o(p,"EmployeeCommunicationForm");export{p as a};
2
+ //# sourceMappingURL=chunk-4BOE6EEO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/Termination/EmployeeComunicationForm.tsx"],"sourcesContent":["import { useTerminationContext } from './context';\nimport { TerminationFormValues } from '@/src/flows/Termination/types';\nimport { TerminationForm } from '@/src/flows/Termination/TerminationForm';\n\ntype EmployeeComunicationProps = {\n /*\n * The function is called when the form is submitted. It receives the form values as an argument.\n */\n onSubmit?: (payload: TerminationFormValues) => void | Promise<void>;\n};\n\nexport function EmployeeCommunicationForm({\n onSubmit,\n}: EmployeeComunicationProps) {\n const { terminationBag } = useTerminationContext();\n const handleSubmit = async (values: TerminationFormValues) => {\n await onSubmit?.(\n terminationBag?.parseFormValues(values) as TerminationFormValues,\n );\n terminationBag?.next();\n };\n\n return <TerminationForm onSubmit={handleSubmit} />;\n}\n"],"mappings":"wHAsBS,cAAAA,MAAA,oBAXF,SAASC,EAA0B,CACxC,SAAAC,CACF,EAA8B,CAC5B,GAAM,CAAE,eAAAC,CAAe,EAAIC,EAAsB,EAQjD,OAAOJ,EAACK,EAAA,CAAgB,SAPHC,EAAA,MAAOC,GAAkC,CAC5D,MAAML,IACJC,GAAgB,gBAAgBI,CAAM,CACxC,EACAJ,GAAgB,KAAK,CACvB,EALqB,gBAO2B,CAClD,CAZgBG,EAAAL,EAAA","names":["jsx","EmployeeCommunicationForm","onSubmit","terminationBag","useTerminationContext","TerminationForm","__name","values"]}
@@ -1,2 +1,2 @@
1
- import{b as e}from"./chunk-VRQXHCFR.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-UECSVYQ5.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{a as o}from"./chunk-P37U34EQ.js";var c={select_country:{index:0,name:"select_country"},basic_information:{index:1,name:"basic_information"},contract_details:{index:2,name:"contract_details"},benefits:{index:3,name:"benefits"},review:{index:4,name:"review"}},d={basic_information:{index:0,name:"basic_information"},contract_details:{index:1,name:"contract_details"},benefits:{index:2,name:"benefits"},review:{index:3,name:"review"}};function l(s,a){return a?Object.fromEntries(Object.entries(s).map(([t,r])=>{if(r===void 0)return[t,void 0];let e=a.find(n=>n.name===t);if(e?.isVisible===!1||e?.deprecated)return[t,void 0];if(e?.type==="radio"||e?.type==="select"){let n=e.options.find(i=>i.value===r);return n?[t,{prettyValue:n?.label,label:e?.label}]:void 0}if(e?.type==="checkbox"&&e?.const)return[t,{prettyValue:!0,label:e.label}];if(e?.type==="countries"&&Array.isArray(r))return[t,{prettyValue:r.join(),label:e.label}];if(e?.type==="fieldset"){let n=l(r,e.fields);if(!n.label&&n.value){let i={...n.value,label:e.label};return[t,i]}return[t,n]}if(e)return[t,{prettyValue:r,label:e.label}]}).filter(Boolean)):{}}o(l,"prettifyFormValues");var p=["invited","created_awaiting_reserve","created_reserve_paid"];export{c as a,d as b,l as c,p as d};
2
+ //# sourceMappingURL=chunk-7JHIPWS7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/Onboarding/utils.ts"],"sourcesContent":["import { Employment } from '@/src/flows/Onboarding/types';\nimport { Step } from '@/src/flows/useStepState';\nimport { Fields } from '@remoteoss/json-schema-form';\n\ntype StepKeys =\n | 'select_country'\n | 'basic_information'\n | 'contract_details'\n | 'benefits'\n | 'review';\n\nexport const STEPS: Record<StepKeys, Step<StepKeys>> = {\n select_country: {\n index: 0,\n name: 'select_country',\n },\n basic_information: { index: 1, name: 'basic_information' },\n contract_details: { index: 2, name: 'contract_details' },\n benefits: { index: 3, name: 'benefits' },\n review: { index: 4, name: 'review' },\n} as const;\n\nexport const STEPS_WITHOUT_SELECT_COUNTRY: Record<\n Exclude<StepKeys, 'select_country'>,\n Step<Exclude<StepKeys, 'select_country'>>\n> = {\n basic_information: { index: 0, name: 'basic_information' },\n contract_details: { index: 1, name: 'contract_details' },\n benefits: { index: 2, name: 'benefits' },\n review: { index: 3, name: 'review' },\n} as const;\n\n/**\n * Function to prettify form values. Returns a pretty value and label for each field.\n * @param values - Form values to prettify\n * @param fields - Form fields\n * @returns Prettified form values\n */\n// @ts-expect-error need to check function return type\nexport function prettifyFormValues(\n values: Record<string, unknown>,\n fields: Fields | undefined,\n) {\n if (!fields) {\n return {};\n }\n return Object.fromEntries(\n Object.entries(values)\n // @ts-expect-error need to check function return type\n .map(([key, value]) => {\n if (value === undefined) {\n return [key, undefined];\n }\n\n const field = fields.find((field) => field.name === key);\n\n if (field?.isVisible === false || field?.deprecated) {\n return [key, undefined];\n }\n\n if (field?.type === 'radio' || field?.type === 'select') {\n const option = (\n field.options as Array<{ value: string; label: string }>\n ).find((option) => option.value === value);\n\n if (option) {\n return [key, { prettyValue: option?.label, label: field?.label }];\n }\n return;\n }\n\n if (field?.type === 'checkbox' && field?.const) {\n return [key, { prettyValue: true, label: field.label }];\n }\n\n if (field?.type === 'countries' && Array.isArray(value)) {\n return [key, { prettyValue: value.join(), label: field.label }];\n }\n\n if (field?.type === 'fieldset') {\n // @ts-expect-error need to check function return type\n const prettiedFieldset = prettifyFormValues(\n value as Record<string, unknown>,\n field.fields as Fields,\n );\n\n // Handles benefits fieldset in specific\n if (!prettiedFieldset.label && prettiedFieldset.value) {\n const prettyValue: Record<string, unknown> = {\n ...prettiedFieldset.value,\n label: field.label,\n };\n return [key, prettyValue];\n }\n\n return [key, prettiedFieldset];\n }\n\n if (field) {\n return [key, { prettyValue: value, label: field.label }];\n }\n })\n .filter(Boolean),\n );\n}\n\n/**\n * Array of employment statuses that are allowed to proceed to the review step.\n * These statuses indicate that the employment is in a final state and the employment cannot be modified further.\n * @type {Employment['status'][]}\n * @constant\n */\nexport const reviewStepAllowedEmploymentStatus: Employment['status'][] = [\n 'invited',\n 'created_awaiting_reserve',\n 'created_reserve_paid',\n];\n"],"mappings":"wCAWO,IAAMA,EAA0C,CACrD,eAAgB,CACd,MAAO,EACP,KAAM,gBACR,EACA,kBAAmB,CAAE,MAAO,EAAG,KAAM,mBAAoB,EACzD,iBAAkB,CAAE,MAAO,EAAG,KAAM,kBAAmB,EACvD,SAAU,CAAE,MAAO,EAAG,KAAM,UAAW,EACvC,OAAQ,CAAE,MAAO,EAAG,KAAM,QAAS,CACrC,EAEaC,EAGT,CACF,kBAAmB,CAAE,MAAO,EAAG,KAAM,mBAAoB,EACzD,iBAAkB,CAAE,MAAO,EAAG,KAAM,kBAAmB,EACvD,SAAU,CAAE,MAAO,EAAG,KAAM,UAAW,EACvC,OAAQ,CAAE,MAAO,EAAG,KAAM,QAAS,CACrC,EASO,SAASC,EACdC,EACAC,EACA,CACA,OAAKA,EAGE,OAAO,YACZ,OAAO,QAAQD,CAAM,EAElB,IAAI,CAAC,CAACE,EAAKC,CAAK,IAAM,CACrB,GAAIA,IAAU,OACZ,MAAO,CAACD,EAAK,MAAS,EAGxB,IAAME,EAAQH,EAAO,KAAMG,GAAUA,EAAM,OAASF,CAAG,EAEvD,GAAIE,GAAO,YAAc,IAASA,GAAO,WACvC,MAAO,CAACF,EAAK,MAAS,EAGxB,GAAIE,GAAO,OAAS,SAAWA,GAAO,OAAS,SAAU,CACvD,IAAMC,EACJD,EAAM,QACN,KAAMC,GAAWA,EAAO,QAAUF,CAAK,EAEzC,OAAIE,EACK,CAACH,EAAK,CAAE,YAAaG,GAAQ,MAAO,MAAOD,GAAO,KAAM,CAAC,EAElE,MACF,CAEA,GAAIA,GAAO,OAAS,YAAcA,GAAO,MACvC,MAAO,CAACF,EAAK,CAAE,YAAa,GAAM,MAAOE,EAAM,KAAM,CAAC,EAGxD,GAAIA,GAAO,OAAS,aAAe,MAAM,QAAQD,CAAK,EACpD,MAAO,CAACD,EAAK,CAAE,YAAaC,EAAM,KAAK,EAAG,MAAOC,EAAM,KAAM,CAAC,EAGhE,GAAIA,GAAO,OAAS,WAAY,CAE9B,IAAME,EAAmBP,EACvBI,EACAC,EAAM,MACR,EAGA,GAAI,CAACE,EAAiB,OAASA,EAAiB,MAAO,CACrD,IAAMC,EAAuC,CAC3C,GAAGD,EAAiB,MACpB,MAAOF,EAAM,KACf,EACA,MAAO,CAACF,EAAKK,CAAW,CAC1B,CAEA,MAAO,CAACL,EAAKI,CAAgB,CAC/B,CAEA,GAAIF,EACF,MAAO,CAACF,EAAK,CAAE,YAAaC,EAAO,MAAOC,EAAM,KAAM,CAAC,CAE3D,CAAC,EACA,OAAO,OAAO,CACnB,EA3DS,CAAC,CA4DZ,CAjEgBI,EAAAT,EAAA,sBAyET,IAAMU,EAA4D,CACvE,UACA,2BACA,sBACF","names":["STEPS","STEPS_WITHOUT_SELECT_COUNTRY","prettifyFormValues","values","fields","key","value","field","option","prettiedFieldset","prettyValue","__name","reviewStepAllowedEmploymentStatus"]}
@@ -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"]}
@@ -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-C3HJSV4T.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/Onboarding/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"]}
@@ -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 x}from"./chunk-WIRFNWEU.js";import{a as R}from"./chunk-3NZ6PO4D.js";import{a as N}from"./chunk-32RYPLZK.js";import{a as _,b as h,c as v,d as T,e as w}from"./chunk-EEAMZPP6.js";import{a as P}from"./chunk-FB5J7SRP.js";import{a as g}from"./chunk-XO3JWN33.js";import{a as i}from"./chunk-KPHSEIR3.js";import{a as l}from"./chunk-P37U34EQ.js";import{Euro as z}from"lucide-react";import{lazy as E,useState as H}from"react";import*as n from"@radix-ui/react-tabs";import{jsx as b}from"react/jsx-runtime";function k({className:r,...o}){return b(n.Root,{"data-slot":"tabs",className:i("flex flex-col gap-2",r),...o})}l(k,"Tabs");function B({className:r,...o}){return b(n.List,{"data-slot":"tabs-list",className:i("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-1",r),...o})}l(B,"TabsList");function d({className:r,...o}){return b(n.Trigger,{"data-slot":"tabs-trigger",className:i("data-[state=active]:bg-background data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring inline-flex flex-1 items-center justify-center gap-1.5 rounded-md px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",r),...o})}l(d,"TabsTrigger");import{Fragment as V,jsx as t,jsxs as a}from"react/jsx-runtime";var G=E(()=>import("./flows/CostCalculator/Results/CostCalculatorResultsChart.js"));function Z({employmentData:r,options:o}){let[s,S]=H("monthly"),c=r.employments?.[0];if(!c)return null;let e=c.employer_currency_costs,m=e.currency.symbol,f=s==="monthly"?e.monthly_gross_salary:e.annual_gross_salary,C=s==="monthly"?e.monthly_benefits_total:e.annual_benefits_total,p=s==="monthly"?e.monthly_contributions_total:e.annual_contributions_total,D=s==="monthly"?e.monthly_total:e.annual_total,u=s==="monthly"?e.monthly_benefits_breakdown:e.annual_benefits_breakdown,L=s==="monthly"?e.monthly_contributions_breakdown:e.annual_contributions_breakdown,y=[{name:"Gross Salary",value:f,color:o?.chartColors?.grossSalary??"#3b82f6"},{name:"Contributions",value:p,color:o?.chartColors?.contributions??"#f59e0b"}];return u&&y.push({name:"Benefits",value:C??0,color:o?.chartColors?.benefits??"#10b981"}),a(V,{children:[a("div",{className:"flex flex-col md:flex-row gap-4 md:items-center justify-between mb-6 RemoteFlows__CostCalculatorResults",children:[a("div",{className:"RemoteFlows__CostCalculatorResults__Header",children:[a("h2",{className:"text-xl font-semibold flex items-center gap-2",children:[a("span",{className:"flex items-center gap-1",children:[t(z,{className:"h-5 w-5 text-gray-600"}),o?.title??"Cost Calculator"]}),t(g,{className:"ml-2",children:c.country.name})]}),t("p",{className:"text-primary-foreground font-medium mt-1",children:o?.description??`Total cost of employment in ${c.country.name}`})]}),t(k,{value:s,onValueChange:F=>S(F),className:"w-full md:w-auto RemoteFlows__CostCalculatorResults__Tabs",children:a(B,{className:"grid w-full md:w-[200px] grid-cols-2",children:[t(d,{value:"monthly",children:"Monthly"}),t(d,{value:"annual",children:"Annual"})]})})]}),a("div",{className:i("grid grid-cols-1 gap-6",o?.showChart?"md:grid-cols-3":"","RemoteFlows__CostCalculatorResults_CostBreakdown"),children:[a(_,{className:"md:col-span-2 rounded-lg",children:[a(h,{className:"pb-2",children:[t(v,{children:"Cost Breakdown"}),t(T,{children:"Detailed breakdown of all employer costs"})]}),t(w,{children:a("div",{className:"space-y-6",children:[t(N,{grossSalary:f,currency:m}),u?t(x,{benefitsBreakdown:u,benefitsTotal:C,currency:m}):null,t(R,{contributionsBreakdown:L,contributionsTotal:p,currency:m}),t(P,{totalCost:D,currency:m})]})})]}),o?.showChart&&t(G,{chartData:y,currency:m})]})]})}l(Z,"CostCalculatorResults");export{Z as a};
2
+ //# sourceMappingURL=chunk-DKIWM2PT.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/CostCalculator/Results/CostCalculatorResults.tsx","../src/components/ui/tabs.tsx"],"sourcesContent":["import { Euro } from 'lucide-react';\nimport { lazy, useState } from 'react';\n\nimport { CostCalculatorEstimateResponse } from '@/src/client';\nimport { Badge } from '@/src/components/ui/badge';\nimport {\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n} from '@/src/components/ui/card';\nimport { Tabs, TabsList, TabsTrigger } from '@/src/components/ui/tabs';\nimport { cn } from '@/src/lib/utils';\nimport { CostCalculatorBenefitsBreakdown } from './CostCalculatorBenefitsBreakdown';\nimport { CostCalculatorContributionsBreakdown } from './CostCalculatorContributionsBreakdown';\nimport { CostCalculatorGrossSalary } from './CostCalculatorGrossSalary';\nimport { CostCalculatorTotalCost } from './CostCalculatorTotalCost';\n\nconst CostCalculatorResultsChart = lazy(\n () => import('./CostCalculatorResultsChart'),\n);\n\ninterface CostCalculatorResultProps {\n employmentData: CostCalculatorEstimateResponse['data'];\n options?: Partial<{\n title: string;\n description: string;\n showChart: boolean;\n chartColors: {\n grossSalary: string;\n contributions: string;\n benefits: string;\n };\n }>;\n}\n\nexport function CostCalculatorResults({\n employmentData,\n options,\n}: CostCalculatorResultProps) {\n const [view, setView] = useState<'monthly' | 'annual'>('monthly');\n const employment = employmentData.employments?.[0];\n\n if (!employment) {\n return null;\n }\n\n const costs =\n view === 'monthly'\n ? employment.employer_currency_costs\n : employment.employer_currency_costs;\n\n const currency = costs.currency.symbol;\n const grossSalary =\n view === 'monthly' ? costs.monthly_gross_salary : costs.annual_gross_salary;\n const benefitsTotal =\n view === 'monthly'\n ? costs.monthly_benefits_total\n : costs.annual_benefits_total;\n const contributionsTotal =\n view === 'monthly'\n ? costs.monthly_contributions_total\n : costs.annual_contributions_total;\n const totalCost =\n view === 'monthly' ? costs.monthly_total : costs.annual_total;\n\n const benefitsBreakdown =\n view === 'monthly'\n ? costs.monthly_benefits_breakdown\n : costs.annual_benefits_breakdown;\n const contributionsBreakdown =\n view === 'monthly'\n ? costs.monthly_contributions_breakdown\n : costs.annual_contributions_breakdown;\n\n const chartData = [\n {\n name: 'Gross Salary',\n value: grossSalary,\n color: options?.chartColors?.grossSalary ?? '#3b82f6',\n },\n {\n name: 'Contributions',\n value: contributionsTotal,\n color: options?.chartColors?.contributions ?? '#f59e0b',\n },\n ];\n\n if (benefitsBreakdown) {\n chartData.push({\n name: 'Benefits',\n value: benefitsTotal ?? 0,\n color: options?.chartColors?.benefits ?? '#10b981',\n });\n }\n\n return (\n <>\n <div className=\"flex flex-col md:flex-row gap-4 md:items-center justify-between mb-6 RemoteFlows__CostCalculatorResults\">\n <div className=\"RemoteFlows__CostCalculatorResults__Header\">\n <h2 className=\"text-xl font-semibold flex items-center gap-2\">\n <span className=\"flex items-center gap-1\">\n <Euro className=\"h-5 w-5 text-gray-600\" />\n {options?.title ?? 'Cost Calculator'}\n </span>\n <Badge className=\"ml-2\">{employment.country.name}</Badge>\n </h2>\n <p className=\"text-primary-foreground font-medium mt-1\">\n {options?.description ??\n `Total cost of employment in ${employment.country.name}`}\n </p>\n </div>\n\n <Tabs\n value={view}\n onValueChange={(v) => setView(v as 'monthly' | 'annual')}\n className=\"w-full md:w-auto RemoteFlows__CostCalculatorResults__Tabs\"\n >\n <TabsList className=\"grid w-full md:w-[200px] grid-cols-2\">\n <TabsTrigger value=\"monthly\">Monthly</TabsTrigger>\n <TabsTrigger value=\"annual\">Annual</TabsTrigger>\n </TabsList>\n </Tabs>\n </div>\n\n <div\n className={cn(\n 'grid grid-cols-1 gap-6',\n options?.showChart ? 'md:grid-cols-3' : '',\n 'RemoteFlows__CostCalculatorResults_CostBreakdown',\n )}\n >\n <Card className=\"md:col-span-2 rounded-lg\">\n <CardHeader className=\"pb-2\">\n <CardTitle>Cost Breakdown</CardTitle>\n <CardDescription>\n Detailed breakdown of all employer costs\n </CardDescription>\n </CardHeader>\n <CardContent>\n <div className=\"space-y-6\">\n {/* Salary Section */}\n <CostCalculatorGrossSalary\n grossSalary={grossSalary}\n currency={currency}\n />\n {/* Benefits Section */}\n {benefitsBreakdown ? (\n <CostCalculatorBenefitsBreakdown\n benefitsBreakdown={benefitsBreakdown}\n benefitsTotal={benefitsTotal}\n currency={currency}\n />\n ) : null}\n {/* Contributions Section */}\n <CostCalculatorContributionsBreakdown\n contributionsBreakdown={contributionsBreakdown}\n contributionsTotal={contributionsTotal}\n currency={currency}\n />\n {/* Total */}\n <CostCalculatorTotalCost\n totalCost={totalCost}\n currency={currency}\n />\n </div>\n </CardContent>\n </Card>\n\n {options?.showChart && (\n <CostCalculatorResultsChart\n chartData={chartData}\n currency={currency}\n />\n )}\n </div>\n </>\n );\n}\n","import * as React from 'react';\nimport * as TabsPrimitive from '@radix-ui/react-tabs';\n\nimport { cn } from '@/src/lib/utils';\n\nfunction Tabs({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Root>) {\n return (\n <TabsPrimitive.Root\n data-slot=\"tabs\"\n className={cn('flex flex-col gap-2', className)}\n {...props}\n />\n );\n}\n\nfunction TabsList({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.List>) {\n return (\n <TabsPrimitive.List\n data-slot=\"tabs-list\"\n className={cn(\n 'bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-1',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction TabsTrigger({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Trigger>) {\n return (\n <TabsPrimitive.Trigger\n data-slot=\"tabs-trigger\"\n className={cn(\n \"data-[state=active]:bg-background data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring inline-flex flex-1 items-center justify-center gap-1.5 rounded-md px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction TabsContent({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Content>) {\n return (\n <TabsPrimitive.Content\n data-slot=\"tabs-content\"\n className={cn('flex-1 outline-none', className)}\n {...props}\n />\n );\n}\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent };\n"],"mappings":"4VAAA,OAAS,QAAAA,MAAY,eACrB,OAAS,QAAAC,EAAM,YAAAC,MAAgB,QCA/B,UAAYC,MAAmB,uBAS3B,cAAAC,MAAA,oBALJ,SAASC,EAAK,CACZ,UAAAC,EACA,GAAGC,CACL,EAAoD,CAClD,OACEH,EAAe,OAAd,CACC,YAAU,OACV,UAAWI,EAAG,sBAAuBF,CAAS,EAC7C,GAAGC,EACN,CAEJ,CAXSE,EAAAJ,EAAA,QAaT,SAASK,EAAS,CAChB,UAAAJ,EACA,GAAGC,CACL,EAAoD,CAClD,OACEH,EAAe,OAAd,CACC,YAAU,YACV,UAAWI,EACT,kGACAF,CACF,EACC,GAAGC,EACN,CAEJ,CAdSE,EAAAC,EAAA,YAgBT,SAASC,EAAY,CACnB,UAAAL,EACA,GAAGC,CACL,EAAuD,CACrD,OACEH,EAAe,UAAd,CACC,YAAU,eACV,UAAWI,EACT,0fACAF,CACF,EACC,GAAGC,EACN,CAEJ,CAdSE,EAAAE,EAAA,eDgEL,mBAAAC,EAKU,OAAAC,EADF,QAAAC,MAJR,oBA/EJ,IAAMC,EAA6BC,EACjC,IAAM,OAAO,8DAA8B,CAC7C,EAgBO,SAASC,EAAsB,CACpC,eAAAC,EACA,QAAAC,CACF,EAA8B,CAC5B,GAAM,CAACC,EAAMC,CAAO,EAAIC,EAA+B,SAAS,EAC1DC,EAAaL,EAAe,cAAc,CAAC,EAEjD,GAAI,CAACK,EACH,OAAO,KAGT,IAAMC,EAEAD,EAAW,wBAGXE,EAAWD,EAAM,SAAS,OAC1BE,EACJN,IAAS,UAAYI,EAAM,qBAAuBA,EAAM,oBACpDG,EACJP,IAAS,UACLI,EAAM,uBACNA,EAAM,sBACNI,EACJR,IAAS,UACLI,EAAM,4BACNA,EAAM,2BACNK,EACJT,IAAS,UAAYI,EAAM,cAAgBA,EAAM,aAE7CM,EACJV,IAAS,UACLI,EAAM,2BACNA,EAAM,0BACNO,EACJX,IAAS,UACLI,EAAM,gCACNA,EAAM,+BAENQ,EAAY,CAChB,CACE,KAAM,eACN,MAAON,EACP,MAAOP,GAAS,aAAa,aAAe,SAC9C,EACA,CACE,KAAM,gBACN,MAAOS,EACP,MAAOT,GAAS,aAAa,eAAiB,SAChD,CACF,EAEA,OAAIW,GACFE,EAAU,KAAK,CACb,KAAM,WACN,MAAOL,GAAiB,EACxB,MAAOR,GAAS,aAAa,UAAY,SAC3C,CAAC,EAIDL,EAAAF,EAAA,CACE,UAAAE,EAAC,OAAI,UAAU,0GACb,UAAAA,EAAC,OAAI,UAAU,6CACb,UAAAA,EAAC,MAAG,UAAU,gDACZ,UAAAA,EAAC,QAAK,UAAU,0BACd,UAAAD,EAACoB,EAAA,CAAK,UAAU,wBAAwB,EACvCd,GAAS,OAAS,mBACrB,EACAN,EAACqB,EAAA,CAAM,UAAU,OAAQ,SAAAX,EAAW,QAAQ,KAAK,GACnD,EACAV,EAAC,KAAE,UAAU,2CACV,SAAAM,GAAS,aACR,+BAA+BI,EAAW,QAAQ,IAAI,GAC1D,GACF,EAEAV,EAACsB,EAAA,CACC,MAAOf,EACP,cAAgBgB,GAAMf,EAAQe,CAAyB,EACvD,UAAU,4DAEV,SAAAtB,EAACuB,EAAA,CAAS,UAAU,uCAClB,UAAAxB,EAACyB,EAAA,CAAY,MAAM,UAAU,mBAAO,EACpCzB,EAACyB,EAAA,CAAY,MAAM,SAAS,kBAAM,GACpC,EACF,GACF,EAEAxB,EAAC,OACC,UAAWyB,EACT,yBACApB,GAAS,UAAY,iBAAmB,GACxC,kDACF,EAEA,UAAAL,EAAC0B,EAAA,CAAK,UAAU,2BACd,UAAA1B,EAAC2B,EAAA,CAAW,UAAU,OACpB,UAAA5B,EAAC6B,EAAA,CAAU,0BAAc,EACzB7B,EAAC8B,EAAA,CAAgB,oDAEjB,GACF,EACA9B,EAAC+B,EAAA,CACC,SAAA9B,EAAC,OAAI,UAAU,YAEb,UAAAD,EAACgC,EAAA,CACC,YAAanB,EACb,SAAUD,EACZ,EAECK,EACCjB,EAACiC,EAAA,CACC,kBAAmBhB,EACnB,cAAeH,EACf,SAAUF,EACZ,EACE,KAEJZ,EAACkC,EAAA,CACC,uBAAwBhB,EACxB,mBAAoBH,EACpB,SAAUH,EACZ,EAEAZ,EAACmC,EAAA,CACC,UAAWnB,EACX,SAAUJ,EACZ,GACF,EACF,GACF,EAECN,GAAS,WACRN,EAACE,EAAA,CACC,UAAWiB,EACX,SAAUP,EACZ,GAEJ,GACF,CAEJ,CA9IgBwB,EAAAhC,EAAA","names":["Euro","lazy","useState","TabsPrimitive","jsx","Tabs","className","props","cn","__name","TabsList","TabsTrigger","Fragment","jsx","jsxs","CostCalculatorResultsChart","lazy","CostCalculatorResults","employmentData","options","view","setView","useState","employment","costs","currency","grossSalary","benefitsTotal","contributionsTotal","totalCost","benefitsBreakdown","contributionsBreakdown","chartData","Euro","Badge","Tabs","v","TabsList","TabsTrigger","cn","Card","CardHeader","CardTitle","CardDescription","CardContent","CostCalculatorGrossSalary","CostCalculatorBenefitsBreakdown","CostCalculatorContributionsBreakdown","CostCalculatorTotalCost","__name"]}
@@ -0,0 +1,2 @@
1
+ import{a as i}from"./chunk-XSHHMBMT.js";import{a as o}from"./chunk-JODJFARP.js";import{a as m}from"./chunk-W5DG5WWJ.js";import{a as e}from"./chunk-VX2UC3HG.js";var p={employee_communication:o,termination_details:e,paid_time_off:m,additional_information:i};export{p as a};
2
+ //# sourceMappingURL=chunk-DR7VGNO2.js.map
@@ -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":"gKAEA,UAAYA,MAAW,QACvB,OAAS,UAAUC,MAAuB,OAQxC,cAAAC,EA+BE,QAAAC,MA/BF,oBAJF,IAAMC,EAASC,EAAA,CAAC,CACd,sBAAAC,EAAwB,GACxB,GAAGC,CACL,IACEL,EAACM,EAAgB,KAAhB,CACC,sBAAuBF,EACtB,GAAGC,EACN,EAPa,UASfH,EAAO,YAAc,SAErB,IAAMK,EAAgBD,EAAgB,QAEhCE,EAAeF,EAAgB,OAE/BG,EAAcH,EAAgB,MAE9BI,EAAsB,aAG1B,CAAC,CAAE,UAAAC,EAAW,GAAGN,CAAM,EAAGO,IAC1BZ,EAACM,EAAgB,QAAhB,CACC,IAAKM,EACL,UAAWC,EAAG,iCAAkCF,CAAS,EACxD,GAAGN,EACN,CACD,EACDK,EAAc,YAAcJ,EAAgB,QAAQ,YAEpD,IAAMQ,EAAsB,aAG1B,CAAC,CAAE,UAAAH,EAAW,SAAAI,EAAU,GAAGV,CAAM,EAAGO,IACpCX,EAACO,EAAA,CACC,UAAAR,EAACU,EAAA,EAAc,EACfT,EAACK,EAAgB,QAAhB,CACC,IAAKM,EACL,UAAWC,EACT,iGACAF,CACF,EACC,GAAGN,EAEJ,UAAAL,EAAC,OAAI,UAAU,mDAAmD,EACjEe,GACH,GACF,CACD,EACDD,EAAc,YAAc,gBAE5B,IAAME,EAAeb,EAAA,CAAC,CACpB,UAAAQ,EACA,GAAGN,CACL,IACEL,EAAC,OACC,UAAWa,EAAG,4CAA6CF,CAAS,EACnE,GAAGN,EACN,EAPmB,gBASrBW,EAAa,YAAc,eAE3B,IAAMC,EAAed,EAAA,CAAC,CACpB,UAAAQ,EACA,GAAGN,CACL,IACEL,EAAC,OACC,UAAWa,EAAG,kCAAmCF,CAAS,EACzD,GAAGN,EACN,EAPmB,gBASrBY,EAAa,YAAc,eAE3B,IAAMC,EAAoB,aAGxB,CAAC,CAAE,UAAAP,EAAW,GAAGN,CAAM,EAAGO,IAC1BZ,EAACM,EAAgB,MAAhB,CACC,IAAKM,EACL,UAAWC,EACT,oDACAF,CACF,EACC,GAAGN,EACN,CACD,EACDa,EAAY,YAAcZ,EAAgB,MAAM,YAEhD,IAAMa,EAA0B,aAG9B,CAAC,CAAE,UAAAR,EAAW,GAAGN,CAAM,EAAGO,IAC1BZ,EAACM,EAAgB,YAAhB,CACC,IAAKM,EACL,UAAWC,EAAG,gCAAiCF,CAAS,EACvD,GAAGN,EACN,CACD,EACDc,EAAkB,YAAcb,EAAgB,YAAY,YCxG5D,UAAYc,MAAW,QACvB,UAAYC,MAAyB,8BAQnC,OAKE,OAAAC,EALF,QAAAC,MAAA,oBAJF,IAAMC,EAAmB,aAGvB,CAAC,CAAE,UAAAC,EAAW,SAAAC,EAAU,GAAGC,CAAM,EAAGC,IACpCL,EAAqB,OAApB,CACC,IAAKK,EACL,UAAWC,EAAG,2BAA4BJ,CAAS,EAClD,GAAGE,EAEJ,UAAAL,EAAqB,WAApB,CAA6B,UAAU,kCACrC,SAAAI,EACH,EACAJ,EAACQ,EAAA,EAAU,EACXR,EAAqB,SAApB,EAA2B,GAC9B,CACD,EACDE,EAAW,YAAkC,OAAK,YAElD,IAAMM,EAAkB,aAGtB,CAAC,CAAE,UAAAL,EAAW,YAAAM,EAAc,WAAY,GAAGJ,CAAM,EAAGC,IACpDN,EAAqB,sBAApB,CACC,IAAKM,EACL,YAAaG,EACb,UAAWF,EACT,gDACAE,IAAgB,YACd,qDACFA,IAAgB,cACd,uDACFN,CACF,EACC,GAAGE,EAEJ,SAAAL,EAAqB,kBAApB,CAAoC,UAAU,yCAAyC,EAC1F,CACD,EACDQ,EAAU,YAAkC,sBAAoB,YCjChE,OAAS,KAAAE,MAAS,eAcV,cAAAC,EAME,QAAAC,MANF,oBAND,IAAMC,EAA2BC,EAAA,CAAC,CACvC,MAAAC,EAAQ,YACV,IAEIH,EAACI,EAAA,CACC,UAAAL,EAACM,EAAA,CAAc,QAAO,GACpB,SAAAN,EAACO,EAAA,CAAO,QAAQ,OAAO,KAAK,OACzB,SAAAH,EACH,EACF,EACAH,EAACO,EAAA,CACC,UAAAP,EAACQ,EAAA,CACC,UAAAR,EAACS,EAAA,CAAY,UAAU,4MACrB,UAAAV,EAACW,EAAA,CAAE,UAAU,UAAU,EACvBX,EAAC,QAAK,UAAU,UAAU,iBAAK,GACjC,EACAA,EAACY,EAAA,CAAa,SAAAC,GAAgB,KAAK,MAAM,EACzCZ,EAACa,EAAA,CAAkB,sCACS,IAC1Bd,EAACO,EAAA,CAAO,QAAQ,OAAO,KAAK,OAAO,QAAO,GACxC,SAAAP,EAAC,KACC,KAAMa,GAAgB,KAAK,SAC3B,OAAO,SACP,IAAI,sBACL,sBAED,EACF,GACF,GACF,EACAb,EAACe,EAAA,CAAW,UAAU,mGACpB,SAAAf,EAAC,OACC,UAAU,yCACV,wBAAyB,CACvB,OAAQa,GAAgB,KAAK,MAAQ,EACvC,EACD,EACH,GACF,GACF,EAvCoC","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 i}from"./chunk-QKTDO33H.js";import{b as a}from"./chunk-PGWKJ6FK.js";import{a as r}from"./chunk-P37U34EQ.js";import{jsx as l}from"react/jsx-runtime";function m({onSubmit:c,onSuccess:u,onError:e}){let{onboardingBag:t}=a(),s=r(async n=>{try{await c?.({countryCode:n.country});let o=await t.onSubmit(n);if(o?.data){await u?.(o?.data),t?.next();return}o?.error&&e?.(o?.error)}catch(o){e?.(o)}},"handleSubmit"),S=t.stepState.values?.select_country||t.initialValues.select_country;return l(i,{defaultValues:S,onSubmit:s})}r(m,"SelectCountryStep");export{m as a};
2
+ //# sourceMappingURL=chunk-GAXGAK4P.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/Onboarding/SelectCountryStep.tsx"],"sourcesContent":["import { useOnboardingContext } from './context';\nimport { OnboardingForm } from '@/src/flows/Onboarding/OnboardingForm';\nimport {\n SelectCountryFormPayload,\n SelectCountrySuccess,\n} from '@/src/flows/Onboarding/types';\nimport { $TSFixMe } from '@/src/types/remoteFlows';\n\ntype SelectCountryStepProps = {\n /*\n * The function is called when the form is submitted. It receives the form values as an argument.\n */\n onSubmit?: (payload: SelectCountryFormPayload) => void | Promise<void>;\n /*\n * The function is called when the form submission is successful.\n */\n onSuccess?: (data: SelectCountrySuccess) => void | Promise<void>;\n /*\n * The function is called when an error occurs during form submission.\n */\n onError?: (error: Error) => void;\n};\n\nexport function SelectCountryStep({\n onSubmit,\n onSuccess,\n onError,\n}: SelectCountryStepProps) {\n const { onboardingBag } = useOnboardingContext();\n const handleSubmit = async (payload: $TSFixMe) => {\n try {\n await onSubmit?.({ countryCode: payload.country });\n const response = await onboardingBag.onSubmit(payload);\n if (response?.data) {\n await onSuccess?.(response?.data as SelectCountrySuccess);\n onboardingBag?.next();\n return;\n }\n if (response?.error) {\n onError?.(response?.error);\n }\n } catch (error: unknown) {\n onError?.(error as Error);\n }\n };\n\n const initialValues =\n onboardingBag.stepState.values?.select_country ||\n onboardingBag.initialValues.select_country;\n\n return (\n <OnboardingForm defaultValues={initialValues} onSubmit={handleSubmit} />\n );\n}\n"],"mappings":"wHAmDI,cAAAA,MAAA,oBA5BG,SAASC,EAAkB,CAChC,SAAAC,EACA,UAAAC,EACA,QAAAC,CACF,EAA2B,CACzB,GAAM,CAAE,cAAAC,CAAc,EAAIC,EAAqB,EACzCC,EAAeC,EAAA,MAAOC,GAAsB,CAChD,GAAI,CACF,MAAMP,IAAW,CAAE,YAAaO,EAAQ,OAAQ,CAAC,EACjD,IAAMC,EAAW,MAAML,EAAc,SAASI,CAAO,EACrD,GAAIC,GAAU,KAAM,CAClB,MAAMP,IAAYO,GAAU,IAA4B,EACxDL,GAAe,KAAK,EACpB,MACF,CACIK,GAAU,OACZN,IAAUM,GAAU,KAAK,CAE7B,OAASC,EAAgB,CACvBP,IAAUO,CAAc,CAC1B,CACF,EAfqB,gBAiBfC,EACJP,EAAc,UAAU,QAAQ,gBAChCA,EAAc,cAAc,eAE9B,OACEL,EAACa,EAAA,CAAe,cAAeD,EAAe,SAAUL,EAAc,CAE1E,CA9BgBC,EAAAP,EAAA","names":["jsx","SelectCountryStep","onSubmit","onSuccess","onError","onboardingBag","useOnboardingContext","handleSubmit","__name","payload","response","error","initialValues","OnboardingForm"]}
@@ -0,0 +1,2 @@
1
+ import{a as e}from"./chunk-KPHSEIR3.js";import{a as t}from"./chunk-P37U34EQ.js";import{Slot as i}from"@radix-ui/react-slot";import{cva as d}from"class-variance-authority";import{jsx as p}from"react/jsx-runtime";var u=d("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-[color,box-shadow] disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none aria-invalid:ring-destructive/20 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",destructive:"bg-destructive text-white shadow-xs hover:bg-destructive/90",outline:"border border-input bg-background shadow-xs",secondary:"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-link-button-primary underline-offset-4 hover:underline button-link"},size:{default:"h-9 px-4 py-7 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9",link:"px-0"}},defaultVariants:{variant:"default",size:"default"}});function b({className:o,variant:n,size:r,asChild:a=!1,...s}){return p(a?i:"button",{"data-slot":"button",className:e(u({variant:n,size:r,className:o}),"RemoteFlows__Button"),...s})}t(b,"Button");export{u as a,b};
2
+ //# sourceMappingURL=chunk-GEYFQVQI.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/ui/button.tsx"],"sourcesContent":["import { Slot } from '@radix-ui/react-slot';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport * as React from 'react';\n\nimport { cn } from '@/src/lib/utils';\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-[color,box-shadow] disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none aria-invalid:ring-destructive/20 aria-invalid:border-destructive\",\n {\n variants: {\n variant: {\n default:\n 'bg-primary text-primary-foreground shadow-xs hover:bg-primary/90',\n destructive:\n 'bg-destructive text-white shadow-xs hover:bg-destructive/90',\n outline: 'border border-input bg-background shadow-xs',\n secondary:\n 'bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80',\n ghost: 'hover:bg-accent hover:text-accent-foreground',\n link: 'text-link-button-primary underline-offset-4 hover:underline button-link',\n },\n size: {\n default: 'h-9 px-4 py-7 has-[>svg]:px-3',\n sm: 'h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5',\n lg: 'h-10 rounded-md px-6 has-[>svg]:px-4',\n icon: 'size-9',\n link: 'px-0',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n);\n\nfunction Button({\n className,\n variant,\n size,\n asChild = false,\n ...props\n}: React.ComponentProps<'button'> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean;\n }) {\n const Comp = asChild ? Slot : 'button';\n\n return (\n <Comp\n data-slot=\"button\"\n className={cn(\n buttonVariants({ variant, size, className }),\n 'RemoteFlows__Button',\n )}\n {...props}\n />\n );\n}\n\nexport { Button, buttonVariants };\n"],"mappings":"gFAAA,OAAS,QAAAA,MAAY,uBACrB,OAAS,OAAAC,MAA8B,2BACvC,UAAYC,MAAW,QAIvB,IAAMC,EAAiBC,EACrB,yVACA,CACE,SAAU,CACR,QAAS,CACP,QACE,mEACF,YACE,8DACF,QAAS,8CACT,UACE,yEACF,MAAO,+CACP,KAAM,yEACR,EACA,KAAM,CACJ,QAAS,gCACT,GAAI,gDACJ,GAAI,uCACJ,KAAM,SACN,KAAM,MACR,CACF,EACA,gBAAiB,CACf,QAAS,UACT,KAAM,SACR,CACF,CACF,EAEA,SAASC,EAAO,CACd,UAAAC,EACA,QAAAC,EACA,KAAAC,EACA,QAAAC,EAAU,GACV,GAAGC,CACL,EAGK,CAGH,OACE,gBAHWD,EAAUE,EAAO,SAG3B,CACC,YAAU,SACV,UAAWC,EACTT,EAAe,CAAE,QAAAI,EAAS,KAAAC,EAAM,UAAAF,CAAU,CAAC,EAC3C,qBACF,EACC,GAAGI,EACN,CAEJ,CAtBSG,EAAAR,EAAA","names":["Slot","cva","React","buttonVariants","cva","Button","className","variant","size","asChild","props","Slot","cn","__name"]}
1
+ {"version":3,"sources":["../src/components/ui/button.tsx"],"sourcesContent":["import { Slot } from '@radix-ui/react-slot';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport * as React from 'react';\n\nimport { cn } from '@/src/lib/utils';\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-[color,box-shadow] disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none aria-invalid:ring-destructive/20 aria-invalid:border-destructive\",\n {\n variants: {\n variant: {\n default:\n 'bg-primary text-primary-foreground shadow-xs hover:bg-primary/90',\n destructive:\n 'bg-destructive text-white shadow-xs hover:bg-destructive/90',\n outline: 'border border-input bg-background shadow-xs',\n secondary:\n 'bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80',\n ghost: 'hover:bg-accent hover:text-accent-foreground',\n link: 'text-link-button-primary underline-offset-4 hover:underline button-link',\n },\n size: {\n default: 'h-9 px-4 py-7 has-[>svg]:px-3',\n sm: 'h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5',\n lg: 'h-10 rounded-md px-6 has-[>svg]:px-4',\n icon: 'size-9',\n link: 'px-0',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n);\n\nfunction Button({\n className,\n variant,\n size,\n asChild = false,\n ...props\n}: React.ComponentProps<'button'> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean;\n }) {\n const Comp = asChild ? Slot : 'button';\n\n return (\n <Comp\n data-slot=\"button\"\n className={cn(\n buttonVariants({ variant, size, className }),\n 'RemoteFlows__Button',\n )}\n {...props}\n />\n );\n}\n\nexport { Button, buttonVariants };\n"],"mappings":"gFAAA,OAAS,QAAAA,MAAY,uBACrB,OAAS,OAAAC,MAA8B,2BAgDnC,cAAAC,MAAA,oBA3CJ,IAAMC,EAAiBC,EACrB,yVACA,CACE,SAAU,CACR,QAAS,CACP,QACE,mEACF,YACE,8DACF,QAAS,8CACT,UACE,yEACF,MAAO,+CACP,KAAM,yEACR,EACA,KAAM,CACJ,QAAS,gCACT,GAAI,gDACJ,GAAI,uCACJ,KAAM,SACN,KAAM,MACR,CACF,EACA,gBAAiB,CACf,QAAS,UACT,KAAM,SACR,CACF,CACF,EAEA,SAASC,EAAO,CACd,UAAAC,EACA,QAAAC,EACA,KAAAC,EACA,QAAAC,EAAU,GACV,GAAGC,CACL,EAGK,CAGH,OACER,EAHWO,EAAUE,EAAO,SAG3B,CACC,YAAU,SACV,UAAWC,EACTT,EAAe,CAAE,QAAAI,EAAS,KAAAC,EAAM,UAAAF,CAAU,CAAC,EAC3C,qBACF,EACC,GAAGI,EACN,CAEJ,CAtBSG,EAAAR,EAAA","names":["Slot","cva","jsx","buttonVariants","cva","Button","className","variant","size","asChild","props","Slot","cn","__name"]}
@@ -0,0 +1,2 @@
1
+ import{b as p}from"./chunk-3ZWDIEEM.js";import{b as c,c as F,d as f,e as x,f as _,g}from"./chunk-VNSF5IOL.js";import{a as u}from"./chunk-KPHSEIR3.js";import{a as i}from"./chunk-P37U34EQ.js";import{useFormContext as y}from"react-hook-form";import{jsx as I}from"react/jsx-runtime";function b({className:o,type:r,...t}){return I("input",{type:r,"data-slot":"input",className:u("shadow-xs border-input file:text-foreground placeholder:text-muted-foreground flex h-9 w-full min-w-0 rounded-xl border bg-transparent px-4 py-7 text-sm transition-[color] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-focused","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",o),...t})}i(b,"Input");import{jsx as e,jsxs as N}from"react/jsx-runtime";function H({name:o,description:r,label:t,type:C,onChange:s,component:v,includeErrorMessage:T=!0,...R}){let{components:h}=p(),{control:w}=y();return e(c,{control:w,name:o,render:({field:n,fieldState:a})=>{let m=v||h?.text;if(m){let l={name:o,description:r,label:t,type:C,onChange:s,...R};return e(m,{field:{...n,onChange:i(d=>{n.onChange(d),s?.(d)},"onChange")},fieldState:a,fieldData:l})}return N(F,{"data-field":o,className:`RemoteFlows__TextField__Item__${o}`,children:[t&&e(f,{className:"RemoteFlows__TextField__Label",children:t}),e(x,{children:e(b,{...n,value:n.value??"",onChange:l=>{n.onChange(l),s?.(l)},className:"RemoteFlows__TextField__Input",placeholder:t})}),r&&e(_,{className:"RemoteFlows__TextField__Description",children:r}),T&&a.error&&e(g,{className:"RemoteFlows__TextField__Error"})]})}})}i(H,"TextField");export{H as a};
2
+ //# sourceMappingURL=chunk-GFMFGU7A.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/form/fields/TextField.tsx","../src/components/ui/input.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport * as React from 'react';\n\nimport { useFormFields } from '@/src/context';\nimport { Components, JSFField } from '@/src/types/remoteFlows';\nimport { useFormContext } from 'react-hook-form';\nimport {\n FormControl,\n FormDescription,\n FormField,\n FormItem,\n FormLabel,\n FormMessage,\n} from '../../ui/form';\nimport { Input } from '../../ui/input';\n\nexport type TextFieldProps = React.ComponentProps<'input'> & {\n name: string;\n} & Partial<\n JSFField & {\n onChange?: (value: any) => void;\n component?: Components['text'];\n includeErrorMessage?: boolean;\n }\n >;\n\nexport function TextField({\n name,\n description,\n label,\n type,\n onChange,\n component,\n includeErrorMessage = true,\n ...rest\n}: TextFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n\n return (\n <FormField\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const CustomTextField = component || components?.text;\n if (CustomTextField) {\n const customTextFieldProps = {\n name,\n description,\n label,\n type,\n onChange,\n ...rest,\n };\n return (\n <CustomTextField\n field={{\n ...field,\n onChange: (value: any) => {\n field.onChange(value);\n onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={customTextFieldProps}\n />\n );\n }\n\n return (\n <FormItem\n data-field={name}\n className={`RemoteFlows__TextField__Item__${name}`}\n >\n {label && (\n <FormLabel className=\"RemoteFlows__TextField__Label\">\n {label}\n </FormLabel>\n )}\n <FormControl>\n <Input\n {...field}\n value={field.value ?? ''}\n onChange={(event: React.ChangeEvent<HTMLInputElement>) => {\n field.onChange(event);\n onChange?.(event);\n }}\n className=\"RemoteFlows__TextField__Input\"\n placeholder={label}\n />\n </FormControl>\n {description && (\n <FormDescription className=\"RemoteFlows__TextField__Description\">\n {description}\n </FormDescription>\n )}\n {includeErrorMessage && fieldState.error && (\n <FormMessage className=\"RemoteFlows__TextField__Error\" />\n )}\n </FormItem>\n );\n }}\n />\n );\n}\n","import * as React from 'react';\n\nimport { cn } from '@/src/lib/utils';\n\nfunction Input({ className, type, ...props }: React.ComponentProps<'input'>) {\n return (\n <input\n type={type}\n data-slot=\"input\"\n className={cn(\n 'shadow-xs border-input file:text-foreground placeholder:text-muted-foreground flex h-9 w-full min-w-0 rounded-xl border bg-transparent px-4 py-7 text-sm transition-[color] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n 'focus-visible:border-focused',\n 'aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Input };\n"],"mappings":"8LAKA,OAAS,kBAAAA,MAAsB,kBCC3B,cAAAC,MAAA,oBAFJ,SAASC,EAAM,CAAE,UAAAC,EAAW,KAAAC,EAAM,GAAGC,CAAM,EAAkC,CAC3E,OACEJ,EAAC,SACC,KAAMG,EACN,YAAU,QACV,UAAWE,EACT,6WACA,+BACA,yGACAH,CACF,EACC,GAAGE,EACN,CAEJ,CAdSE,EAAAL,EAAA,SDmDG,cAAAM,EAeF,QAAAC,MAfE,oBA7BL,SAASC,EAAU,CACxB,KAAAC,EACA,YAAAC,EACA,MAAAC,EACA,KAAAC,EACA,SAAAC,EACA,UAAAC,EACA,oBAAAC,EAAsB,GACtB,GAAGC,CACL,EAAmB,CACjB,GAAM,CAAE,WAAAC,CAAW,EAAIC,EAAc,EAC/B,CAAE,QAAAC,CAAQ,EAAIC,EAAe,EAEnC,OACEd,EAACe,EAAA,CACC,QAASF,EACT,KAAMV,EACN,OAAQ,CAAC,CAAE,MAAAa,EAAO,WAAAC,CAAW,IAAM,CACjC,IAAMC,EAAkBV,GAAaG,GAAY,KACjD,GAAIO,EAAiB,CACnB,IAAMC,EAAuB,CAC3B,KAAAhB,EACA,YAAAC,EACA,MAAAC,EACA,KAAAC,EACA,SAAAC,EACA,GAAGG,CACL,EACA,OACEV,EAACkB,EAAA,CACC,MAAO,CACL,GAAGF,EACH,SAAUI,EAACC,GAAe,CACxBL,EAAM,SAASK,CAAK,EACpBd,IAAWc,CAAK,CAClB,EAHU,WAIZ,EACA,WAAYJ,EACZ,UAAWE,EACb,CAEJ,CAEA,OACElB,EAACqB,EAAA,CACC,aAAYnB,EACZ,UAAW,iCAAiCA,CAAI,GAE/C,UAAAE,GACCL,EAACuB,EAAA,CAAU,UAAU,gCAClB,SAAAlB,EACH,EAEFL,EAACwB,EAAA,CACC,SAAAxB,EAACyB,EAAA,CACE,GAAGT,EACJ,MAAOA,EAAM,OAAS,GACtB,SAAWU,GAA+C,CACxDV,EAAM,SAASU,CAAK,EACpBnB,IAAWmB,CAAK,CAClB,EACA,UAAU,gCACV,YAAarB,EACf,EACF,EACCD,GACCJ,EAAC2B,EAAA,CAAgB,UAAU,sCACxB,SAAAvB,EACH,EAEDK,GAAuBQ,EAAW,OACjCjB,EAAC4B,EAAA,CAAY,UAAU,gCAAgC,GAE3D,CAEJ,EACF,CAEJ,CA9EgBR,EAAAlB,EAAA","names":["useFormContext","jsx","Input","className","type","props","cn","__name","jsx","jsxs","TextField","name","description","label","type","onChange","component","includeErrorMessage","rest","components","useFormFields","control","useFormContext","FormField","field","fieldState","CustomTextField","customTextFieldProps","__name","value","FormItem","FormLabel","FormControl","Input","event","FormDescription","FormMessage"]}
@@ -0,0 +1,2 @@
1
+ import{b as r}from"./chunk-PGWKJ6FK.js";import{a as e}from"./chunk-P37U34EQ.js";var S=["invited","created_reserve_paid"],R=["deposit_required","referred"];function l({render:o}){let{onboardingBag:t,creditScore:s}=r(),d=t.creditRiskStatus==="deposit_required",i=t.employment?.status&&S.includes(t.employment.status),n=t.creditRiskStatus&&R.includes(t.creditRiskStatus),u=d&&t.employment?.status&&!i,c=t.creditRiskStatus&&!n||t.employment?.status&&i,a=e(()=>u?s.showReserveInvoice?"deposit_required_successful":"deposit_required":c?s.showInviteSuccessful?"invite_successful":"invite":null,"getCreditRiskState")();return o({creditRiskState:a,creditRiskStatus:t.creditRiskStatus})}e(l,"ReviewStep");export{l as a};
2
+ //# sourceMappingURL=chunk-GPAE53HO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/Onboarding/ReviewStep.tsx"],"sourcesContent":["import { useOnboardingContext } from '@/src/flows/Onboarding/context';\nimport {\n CreditRiskStatus,\n CreditRiskState,\n Employment,\n} from '@/src/flows/Onboarding/types';\n\ntype ReviewStepProps = {\n /**\n * Render prop function for customizing the review step credit risk flow UI\n *\n * @param props - Object containing credit risk information\n * @param props.creditRiskState - Current state of the credit risk flow\n * - 'deposit_required': Deposit payment is required but not yet paid\n * - 'deposit_required_successful': Deposit payment has been successfully processed\n * - 'invite': Regular invite flow is available (no deposit required)\n * - 'invite_successful': Invitation has been successfully sent\n * - null: No specific credit risk state applies\n *\n * @param props.creditRiskStatus - Credit risk status from the backend\n * - 'not_started': Credit risk assessment has not been initiated\n * - 'ready': Ready for credit risk assessment\n * - 'in_progress': Credit risk assessment is in progress\n * - 'referred': Company has been referred for manual review\n * - 'fail': Credit risk assessment failed\n * - 'deposit_required': Company requires a deposit payment\n * - 'no_deposit_required': No deposit is required for this company\n * - undefined: Credit risk status not yet determined\n * @returns React.ReactNode to render for the review step\n */\n render: (props: {\n creditRiskState: CreditRiskState;\n creditRiskStatus: CreditRiskStatus | undefined;\n }) => React.ReactNode;\n};\n\nconst statusesToNotShowDeposit: Employment['status'][] = [\n 'invited',\n 'created_reserve_paid',\n];\n\nconst CREDIT_RISK_STATUSES: CreditRiskStatus[] = [\n 'deposit_required',\n 'referred',\n];\n\nexport function ReviewStep({ render }: ReviewStepProps) {\n const { onboardingBag, creditScore } = useOnboardingContext();\n\n // Helper variables to make logic more readable\n const isDepositRequiredCreditRisk =\n onboardingBag.creditRiskStatus === 'deposit_required';\n\n const hasEmploymentStatusThatHidesDeposit =\n onboardingBag.employment?.status &&\n statusesToNotShowDeposit.includes(onboardingBag.employment.status);\n\n const isCreditRiskStatusInExclusionList =\n onboardingBag.creditRiskStatus &&\n CREDIT_RISK_STATUSES.includes(onboardingBag.creditRiskStatus);\n\n const shouldShowDepositFlow =\n isDepositRequiredCreditRisk &&\n onboardingBag.employment?.status &&\n !hasEmploymentStatusThatHidesDeposit;\n\n const shouldShowInviteFlow =\n (onboardingBag.creditRiskStatus && !isCreditRiskStatusInExclusionList) ||\n (onboardingBag.employment?.status && hasEmploymentStatusThatHidesDeposit);\n\n const getCreditRiskState = (): CreditRiskState => {\n // Priority 1: Deposit required flow\n if (shouldShowDepositFlow) {\n return creditScore.showReserveInvoice\n ? 'deposit_required_successful'\n : 'deposit_required';\n }\n\n // Priority 2: Invite flow\n if (shouldShowInviteFlow) {\n return creditScore.showInviteSuccessful ? 'invite_successful' : 'invite';\n }\n\n // Default case\n return null;\n };\n\n const creditRiskState = getCreditRiskState();\n\n return render({\n creditRiskState,\n creditRiskStatus: onboardingBag.creditRiskStatus,\n });\n}\n"],"mappings":"gFAoCA,IAAMA,EAAmD,CACvD,UACA,sBACF,EAEMC,EAA2C,CAC/C,mBACA,UACF,EAEO,SAASC,EAAW,CAAE,OAAAC,CAAO,EAAoB,CACtD,GAAM,CAAE,cAAAC,EAAe,YAAAC,CAAY,EAAIC,EAAqB,EAGtDC,EACJH,EAAc,mBAAqB,mBAE/BI,EACJJ,EAAc,YAAY,QAC1BJ,EAAyB,SAASI,EAAc,WAAW,MAAM,EAE7DK,EACJL,EAAc,kBACdH,EAAqB,SAASG,EAAc,gBAAgB,EAExDM,EACJH,GACAH,EAAc,YAAY,QAC1B,CAACI,EAEGG,EACHP,EAAc,kBAAoB,CAACK,GACnCL,EAAc,YAAY,QAAUI,EAmBjCI,EAjBqBC,EAAA,IAErBH,EACKL,EAAY,mBACf,8BACA,mBAIFM,EACKN,EAAY,qBAAuB,oBAAsB,SAI3D,KAdkB,sBAiBgB,EAE3C,OAAOF,EAAO,CACZ,gBAAAS,EACA,iBAAkBR,EAAc,gBAClC,CAAC,CACH,CA/CgBS,EAAAX,EAAA","names":["statusesToNotShowDeposit","CREDIT_RISK_STATUSES","ReviewStep","render","onboardingBag","creditScore","useOnboardingContext","isDepositRequiredCreditRisk","hasEmploymentStatusThatHidesDeposit","isCreditRiskStatusInExclusionList","shouldShowDepositFlow","shouldShowInviteFlow","creditRiskState","__name"]}
@@ -0,0 +1,2 @@
1
+ import{b as i}from"./chunk-KSHK3ZPX.js";import{a as e}from"./chunk-Z3HWTDRE.js";import{a as l}from"./chunk-VNSF5IOL.js";import{a as r}from"./chunk-P37U34EQ.js";import{jsx as s}from"react/jsx-runtime";function b({onSubmit:u,onError:c,onSuccess:C,shouldResetForm:n}){let{form:a,formId:d,costCalculatorBag:o}=i(),f=r(async p=>{let m=o?.parseFormValues(p),t=await o?.onSubmit(m);await u?.(m),t?.error?c?.(t.error):t?.data&&(await C?.(t?.data),n&&(o?.resetForm(),a.reset()))},"handleSubmit");return s(l,{...a,children:s("form",{id:d,onSubmit:a.handleSubmit(f),className:"space-y-4 RemoteFlows__CostCalculatorForm",children:s(e,{fields:o?.fields??[]})})})}r(b,"CostCalculatorForm");export{b as a};
2
+ //# sourceMappingURL=chunk-H4BI3LJD.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/CostCalculator/CostCalculatorForm.tsx"],"sourcesContent":["import { CostCalculatorEstimateResponse } from '@/src/client';\nimport { JSONSchemaFormFields } from '@/src/components/form/JSONSchemaForm';\nimport { Form } from '@/src/components/ui/form';\nimport { useCostCalculatorContext } from '@/src/flows/CostCalculator/context';\nimport { EstimationError } from '@/src/flows/CostCalculator/hooks';\nimport {\n CostCalculatorEstimationFormValues,\n CostCalculatorEstimationSubmitValues,\n} from '@/src/flows/CostCalculator/types';\n\ntype CostCalculatorFormProps = Partial<{\n /**\n * Callback function that handles form submission. When form is submit, the form values are sent to the consumer app before behind submitted to Remote.\n * @param data - The payload sent to the /cost-calculator/estimation endpoint.\n */\n onSubmit: (\n data: CostCalculatorEstimationSubmitValues,\n ) => Promise<void> | void;\n /**\n * Callback function to handle the success when the estimation succeeds. The CostCalculatorEstimateResponse is sent back to you.\n * @param data - The response data from the /cost-calculator/estimation endpoint.\n */\n onSuccess: (data: CostCalculatorEstimateResponse) => Promise<void> | void;\n /**\n * Callback function to handle the error when the estimation fails.\n * @param error - The error object.\n */\n onError: (error: EstimationError) => void;\n /**\n * Whether to reset the form when the form is successfully submitted.\n */\n shouldResetForm?: boolean;\n}>;\n\nexport function CostCalculatorForm({\n onSubmit,\n onError,\n onSuccess,\n shouldResetForm,\n}: CostCalculatorFormProps) {\n const { form, formId, costCalculatorBag } = useCostCalculatorContext();\n\n const handleSubmit = async (values: CostCalculatorEstimationFormValues) => {\n const cleanedValues = costCalculatorBag?.parseFormValues(\n values,\n ) as CostCalculatorEstimationSubmitValues;\n const costCalculatorResults =\n await costCalculatorBag?.onSubmit(cleanedValues);\n\n await onSubmit?.(cleanedValues);\n\n if (costCalculatorResults?.error) {\n onError?.(costCalculatorResults.error);\n } else {\n if (costCalculatorResults?.data) {\n await onSuccess?.(costCalculatorResults?.data);\n if (shouldResetForm) {\n costCalculatorBag?.resetForm();\n form.reset();\n }\n }\n }\n };\n\n return (\n <Form {...form}>\n <form\n id={formId}\n onSubmit={form.handleSubmit(handleSubmit)}\n className=\"space-y-4 RemoteFlows__CostCalculatorForm\"\n >\n <JSONSchemaFormFields fields={costCalculatorBag?.fields ?? []} />\n </form>\n </Form>\n );\n}\n"],"mappings":"gKAuEQ,cAAAA,MAAA,oBArCD,SAASC,EAAmB,CACjC,SAAAC,EACA,QAAAC,EACA,UAAAC,EACA,gBAAAC,CACF,EAA4B,CAC1B,GAAM,CAAE,KAAAC,EAAM,OAAAC,EAAQ,kBAAAC,CAAkB,EAAIC,EAAyB,EAE/DC,EAAeC,EAAA,MAAOC,GAA+C,CACzE,IAAMC,EAAgBL,GAAmB,gBACvCI,CACF,EACME,EACJ,MAAMN,GAAmB,SAASK,CAAa,EAEjD,MAAMX,IAAWW,CAAa,EAE1BC,GAAuB,MACzBX,IAAUW,EAAsB,KAAK,EAEjCA,GAAuB,OACzB,MAAMV,IAAYU,GAAuB,IAAI,EACzCT,IACFG,GAAmB,UAAU,EAC7BF,EAAK,MAAM,GAInB,EApBqB,gBAsBrB,OACEN,EAACe,EAAA,CAAM,GAAGT,EACR,SAAAN,EAAC,QACC,GAAIO,EACJ,SAAUD,EAAK,aAAaI,CAAY,EACxC,UAAU,4CAEV,SAAAV,EAACgB,EAAA,CAAqB,OAAQR,GAAmB,QAAU,CAAC,EAAG,EACjE,EACF,CAEJ,CAzCgBG,EAAAV,EAAA","names":["jsx","CostCalculatorForm","onSubmit","onError","onSuccess","shouldResetForm","form","formId","costCalculatorBag","useCostCalculatorContext","handleSubmit","__name","values","cleanedValues","costCalculatorResults","Form","JSONSchemaFormFields"]}
@@ -0,0 +1,2 @@
1
+ import{a as e}from"./chunk-QKTDO33H.js";import{b as t}from"./chunk-PGWKJ6FK.js";import{a}from"./chunk-P37U34EQ.js";import{jsx as f}from"react/jsx-runtime";function u({onSubmit:s,onSuccess:m,onError:i}){let{onboardingBag:r}=t(),p=a(async n=>{try{await s?.(r.parseFormValues(n));let o=await r.onSubmit(n);if(o?.data){await m?.(o?.data),r?.next();return}o?.error&&i?.(o?.error)}catch(o){i?.(o)}},"handleSubmit"),c=r.stepState.values?.basic_information||r.initialValues.basic_information;return f(e,{defaultValues:c,onSubmit:p})}a(u,"BasicInformationStep");export{u as a};
2
+ //# sourceMappingURL=chunk-HGHKZF7M.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/Onboarding/BasicInformationStep.tsx"],"sourcesContent":["import { useOnboardingContext } from './context';\nimport { OnboardingForm } from '@/src/flows/Onboarding/OnboardingForm';\nimport { BasicInformationFormPayload } from '@/src/flows/Onboarding/types';\nimport { EmploymentCreationResponse } from '@/src/client';\nimport { $TSFixMe } from '@/src/types/remoteFlows';\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?: (error: Error) => void;\n};\n\nexport function BasicInformationStep({\n onSubmit,\n onSuccess,\n onError,\n}: BasicInformationStepProps) {\n const { onboardingBag } = useOnboardingContext();\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 onError?.(response?.error);\n }\n } catch (error: unknown) {\n onError?.(error as Error);\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":"mHAmDI,cAAAA,MAAA,oBA9BG,SAASC,EAAqB,CACnC,SAAAC,EACA,UAAAC,EACA,QAAAC,CACF,EAA8B,CAC5B,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,MAAMP,IAAYO,GAAU,IAAkC,EAC9DL,GAAe,KAAK,EACpB,MACF,CACIK,GAAU,OACZN,IAAUM,GAAU,KAAK,CAE7B,OAASC,EAAgB,CACvBP,IAAUO,CAAc,CAC1B,CACF,EAjBqB,gBAmBfC,EACJP,EAAc,UAAU,QAAQ,mBAChCA,EAAc,cAAc,kBAE9B,OACEL,EAACa,EAAA,CAAe,cAAeD,EAAe,SAAUL,EAAc,CAE1E,CAhCgBC,EAAAP,EAAA","names":["jsx","BasicInformationStep","onSubmit","onSuccess","onError","onboardingBag","useOnboardingContext","handleSubmit","__name","payload","response","error","initialValues","OnboardingForm"]}
@@ -0,0 +1,2 @@
1
+ import{m as N}from"./chunk-RWYOUDM5.js";import{a as q}from"./chunk-GFMFGU7A.js";import{b as M}from"./chunk-3ZWDIEEM.js";import{a as t,b as u,c as Se}from"./chunk-P37U34EQ.js";var F=u((pt,L)=>{"use strict";function Te(e){var n=typeof e;return e!=null&&(n=="object"||n=="function")}t(Te,"isObject");L.exports=Te});var W=u((vt,P)=>{"use strict";var he=typeof global=="object"&&global&&global.Object===Object&&global;P.exports=he});var w=u((yt,D)=>{"use strict";var Ce=W(),xe=typeof self=="object"&&self&&self.Object===Object&&self,je=Ce||xe||Function("return this")();D.exports=je});var $=u((St,B)=>{"use strict";var _e=w(),Oe=t(function(){return _e.Date.now()},"now");B.exports=Oe});var J=u((ht,H)=>{"use strict";var Ee=/\s/;function Re(e){for(var n=e.length;n--&&Ee.test(e.charAt(n)););return n}t(Re,"trimmedEndIndex");H.exports=Re});var V=u((xt,U)=>{"use strict";var qe=J(),Fe=/^\s+/;function we(e){return e&&e.slice(0,qe(e)+1).replace(Fe,"")}t(we,"baseTrim");U.exports=we});var I=u((_t,X)=>{"use strict";var Ie=w(),ke=Ie.Symbol;X.exports=ke});var Y=u((Ot,Q)=>{"use strict";var z=I(),K=Object.prototype,Ae=K.hasOwnProperty,Ge=K.toString,j=z?z.toStringTag:void 0;function Me(e){var n=Ae.call(e,j),o=e[j];try{e[j]=void 0;var i=!0}catch{}var a=Ge.call(e);return i&&(n?e[j]=o:delete e[j]),a}t(Me,"getRawTag");Q.exports=Me});var ee=u((Rt,Z)=>{"use strict";var Ne=Object.prototype,Le=Ne.toString;function Pe(e){return Le.call(e)}t(Pe,"objectToString");Z.exports=Pe});var oe=u((Ft,re)=>{"use strict";var te=I(),We=Y(),De=ee(),Be="[object Null]",$e="[object Undefined]",ne=te?te.toStringTag:void 0;function He(e){return e==null?e===void 0?$e:Be:ne&&ne in Object(e)?We(e):De(e)}t(He,"baseGetTag");re.exports=He});var ae=u((It,ie)=>{"use strict";function Je(e){return e!=null&&typeof e=="object"}t(Je,"isObjectLike");ie.exports=Je});var ce=u((At,se)=>{"use strict";var Ue=oe(),Ve=ae(),Xe="[object Symbol]";function ze(e){return typeof e=="symbol"||Ve(e)&&Ue(e)==Xe}t(ze,"isSymbol");se.exports=ze});var me=u((Mt,fe)=>{"use strict";var Ke=V(),ue=F(),Qe=ce(),le=NaN,Ye=/^[-+]0x[0-9a-f]+$/i,Ze=/^0b[01]+$/i,et=/^0o[0-7]+$/i,tt=parseInt;function nt(e){if(typeof e=="number")return e;if(Qe(e))return le;if(ue(e)){var n=typeof e.valueOf=="function"?e.valueOf():e;e=ue(n)?n+"":n}if(typeof e!="string")return e===0?e:+e;e=Ke(e);var o=Ze.test(e);return o||et.test(e)?tt(e.slice(2),o?2:8):Ye.test(e)?le:+e}t(nt,"toNumber");fe.exports=nt});var pe=u((Lt,ge)=>{"use strict";var rt=F(),k=$(),de=me(),ot="Expected a function",it=Math.max,at=Math.min;function st(e,n,o){var i,a,m,f,s,d,b=0,S=!1,g=!1,v=!0;if(typeof e!="function")throw new TypeError(ot);n=de(n)||0,rt(o)&&(S=!!o.leading,g="maxWait"in o,m=g?it(de(o.maxWait)||0,n):m,v="trailing"in o?!!o.trailing:v);function T(r){var l=i,p=a;return i=a=void 0,b=r,f=e.apply(p,l),f}t(T,"invokeFunc");function O(r){return b=r,s=setTimeout(y,n),S?T(r):f}t(O,"leadingEdge");function E(r){var l=r-d,p=r-b,G=n-l;return g?at(G,m-p):G}t(E,"remainingWait");function R(r){var l=r-d,p=r-b;return d===void 0||l>=n||l<0||g&&p>=m}t(R,"shouldInvoke");function y(){var r=k();if(R(r))return h(r);s=setTimeout(y,E(r))}t(y,"timerExpired");function h(r){return s=void 0,v&&i?T(r):(i=a=void 0,f)}t(h,"trailingEdge");function c(){s!==void 0&&clearTimeout(s),b=0,i=d=a=s=void 0}t(c,"cancel");function C(){return s===void 0?f:h(k())}t(C,"flush");function x(){var r=k(),l=R(r);if(i=arguments,a=this,d=r,l){if(s===void 0)return O(d);if(g)return clearTimeout(s),s=setTimeout(y,n),T(d)}return s===void 0&&(s=setTimeout(y,n)),f}return t(x,"debounced"),x.cancel=c,x.flush=C,x}t(st,"debounce");ge.exports=st});import{useState as lt,useCallback as ft}from"react";import{useFormContext as mt}from"react-hook-form";var ve=Se(pe(),1);import{useCallback as ct,useEffect as ut,useRef as be}from"react";function A(e,n){let o=be(e);ut(()=>{o.current=e},[e]);let i=be((0,ve.default)(a=>{o.current(a)},n)).current;return ct(a=>{i(a)},[i])}t(A,"useDebounce");import{Fragment as gt,jsx as _,jsxs as ye}from"react/jsx-runtime";var dt=t(({description:e,showConversion:n,currency:o,onClick:i})=>{let{components:a}=M(),m=n?`Hide ${o} conversion`:`Show ${o} conversion`,f=a?.button;return ye("span",{className:"RemoteFlows-AnnualGrossSalary-description",children:[e," ",f?_(f,{className:"RemoteFlows-AnnualGrossSalary-button","data-type":"inline",onClick:i,children:m}):_("button",{className:"RemoteFlows-AnnualGrossSalary-button",onClick:i,children:m})]})},"DescriptionWithConversion"),Kt=t(({currency:e,desiredCurrency:n,description:o,...i})=>{let[a,m]=lt(!1),{setValue:f,watch:s}=mt(),d=s(i.name),b=e&&n&&e!==n,{mutateAsync:S}=N(),g=ft(async(c,C,x,r)=>{if(c)try{let l=await S({source_currency:C,target_currency:x,amount:Number(c)});if(l.data?.data?.conversion_data?.target_amount){let p=l.data.data.conversion_data.target_amount;p&&f(r,p?.toString())}}catch(l){console.error("Error converting currency:",l)}},[S,f]),v=A(c=>g(c,e,n,"annual_gross_salary_conversion"),500),T=A(c=>g(c,n,e,i.name),500),O=t(c=>{a&&v(c.target.value)},"handleAnnualGrossSalaryChange"),E=t(c=>{T(c.target.value)},"handleConversionChange"),y=b?_(dt,{currency:n,description:o,showConversion:a,onClick:t(c=>{c.preventDefault(),m(C=>!C),!a&&d&&v(d)},"toggleConversion")}):o,{annual_gross_salary_conversion_properties:h}=i;return ye(gt,{children:[_(q,{...i,description:y,type:"text",inputMode:"decimal",pattern:"^[0-9.]*$",onChange:O}),a&&_(q,{name:"annual_gross_salary_conversion",label:h?.label||"Conversion",description:h?.description||"Estimated amount. This is an estimation. We calculate conversions based on spot rates that are subject to fluctuation over time.",type:"text",inputMode:"decimal",pattern:"^[0-9.]*$",onChange:E})]})},"AnnualGrossSalary");export{Kt as a};
2
+ //# sourceMappingURL=chunk-IG3FJLDR.js.map