@remoteoss/remote-flows 0.4.0-alpha.6 → 0.4.0-alpha.8

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 (288) hide show
  1. package/dist/chunk-2CIPNPU5.js +2 -0
  2. package/dist/chunk-2CIPNPU5.js.map +1 -0
  3. package/dist/chunk-47DB6L3S.js +2 -0
  4. package/dist/chunk-47DB6L3S.js.map +1 -0
  5. package/dist/chunk-4YNOSVYQ.js +2 -0
  6. package/dist/chunk-4YNOSVYQ.js.map +1 -0
  7. package/dist/chunk-6I6RMJXC.js +2 -0
  8. package/dist/chunk-6I6RMJXC.js.map +1 -0
  9. package/dist/chunk-6T3A6GWH.js +2 -0
  10. package/dist/chunk-6T3A6GWH.js.map +1 -0
  11. package/dist/chunk-6W5KUXEP.js +2 -0
  12. package/dist/chunk-6W5KUXEP.js.map +1 -0
  13. package/dist/chunk-75YWGTNG.js +2 -0
  14. package/dist/chunk-75YWGTNG.js.map +1 -0
  15. package/dist/chunk-CLBAB4TV.js +2 -0
  16. package/dist/chunk-CLBAB4TV.js.map +1 -0
  17. package/dist/chunk-CX7YH3EY.js +2 -0
  18. package/dist/chunk-CX7YH3EY.js.map +1 -0
  19. package/dist/chunk-DBIPVIBO.js +2 -0
  20. package/dist/{chunk-HCAVC2KN.js.map → chunk-DBIPVIBO.js.map} +1 -1
  21. package/dist/chunk-EMVYCKDC.js +2 -0
  22. package/dist/{chunk-56BNVYTD.js.map → chunk-EMVYCKDC.js.map} +1 -1
  23. package/dist/{chunk-RJGJMVJP.js → chunk-ENBY6GBG.js} +2 -2
  24. package/dist/chunk-ENMJ56WK.js +2 -0
  25. package/dist/chunk-ENMJ56WK.js.map +1 -0
  26. package/dist/chunk-FBJNIQRT.js +2 -0
  27. package/dist/chunk-FBJNIQRT.js.map +1 -0
  28. package/dist/chunk-GFGXPHZP.js +2 -0
  29. package/dist/chunk-GFGXPHZP.js.map +1 -0
  30. package/dist/chunk-HBH2PSYQ.js +2 -0
  31. package/dist/chunk-HBH2PSYQ.js.map +1 -0
  32. package/dist/chunk-HSY5OO7D.js +2 -0
  33. package/dist/chunk-HSY5OO7D.js.map +1 -0
  34. package/dist/chunk-IAHI4OUM.js +2 -0
  35. package/dist/chunk-IAHI4OUM.js.map +1 -0
  36. package/dist/chunk-JGUJV45B.js +2 -0
  37. package/dist/chunk-JGUJV45B.js.map +1 -0
  38. package/dist/chunk-JI4NYTW4.js +2 -0
  39. package/dist/chunk-JI4NYTW4.js.map +1 -0
  40. package/dist/chunk-KFQTQ6MF.js +2 -0
  41. package/dist/chunk-KFQTQ6MF.js.map +1 -0
  42. package/dist/chunk-MCGIIIED.js +2 -0
  43. package/dist/chunk-MCGIIIED.js.map +1 -0
  44. package/dist/chunk-N6RPXNGN.js +2 -0
  45. package/dist/chunk-N6RPXNGN.js.map +1 -0
  46. package/dist/chunk-NEFNFYRS.js +2 -0
  47. package/dist/{chunk-GFBF55NR.js.map → chunk-NEFNFYRS.js.map} +1 -1
  48. package/dist/chunk-O562EWKG.js +2 -0
  49. package/dist/chunk-O562EWKG.js.map +1 -0
  50. package/dist/chunk-OIXUBXFU.js +2 -0
  51. package/dist/{chunk-GMGKIQLI.js.map → chunk-OIXUBXFU.js.map} +1 -1
  52. package/dist/chunk-ONZPO4GN.js +2 -0
  53. package/dist/{chunk-IDSJI7KQ.js.map → chunk-ONZPO4GN.js.map} +1 -1
  54. package/dist/chunk-P5VTRXW3.js +2 -0
  55. package/dist/chunk-P5VTRXW3.js.map +1 -0
  56. package/dist/chunk-PH5CQN7X.js +2 -0
  57. package/dist/{chunk-MESREYTZ.js.map → chunk-PH5CQN7X.js.map} +1 -1
  58. package/dist/chunk-PPRTHZVC.js +2 -0
  59. package/dist/chunk-PPRTHZVC.js.map +1 -0
  60. package/dist/chunk-Q6U6K2S6.js +2 -0
  61. package/dist/chunk-Q6U6K2S6.js.map +1 -0
  62. package/dist/chunk-QHN4PPHD.js +2 -0
  63. package/dist/{chunk-3FVI5JIC.js.map → chunk-QHN4PPHD.js.map} +1 -1
  64. package/dist/chunk-R7Z2AN42.js +2 -0
  65. package/dist/chunk-R7Z2AN42.js.map +1 -0
  66. package/dist/chunk-RS6OHJ7D.js +2 -0
  67. package/dist/chunk-RS6OHJ7D.js.map +1 -0
  68. package/dist/chunk-SQ73CU3B.js +2 -0
  69. package/dist/chunk-SQ73CU3B.js.map +1 -0
  70. package/dist/chunk-U4M5QBBG.js +2 -0
  71. package/dist/chunk-U4M5QBBG.js.map +1 -0
  72. package/dist/chunk-U5ZTX2JG.js +2 -0
  73. package/dist/chunk-U5ZTX2JG.js.map +1 -0
  74. package/dist/chunk-U6GTSXBM.js +2 -0
  75. package/dist/chunk-U6GTSXBM.js.map +1 -0
  76. package/dist/chunk-UFKVREEJ.js +2 -0
  77. package/dist/chunk-UFKVREEJ.js.map +1 -0
  78. package/dist/chunk-VYT6PSLL.js +2 -0
  79. package/dist/chunk-VYT6PSLL.js.map +1 -0
  80. package/dist/chunk-WF4FKBRR.js +2 -0
  81. package/dist/chunk-WF4FKBRR.js.map +1 -0
  82. package/dist/chunk-WU77JQYU.js +2 -0
  83. package/dist/chunk-WU77JQYU.js.map +1 -0
  84. package/dist/{chunk-VUCFEWCR.js → chunk-XQRRFXRN.js} +2 -2
  85. package/dist/chunk-XSS46DGP.js +2 -0
  86. package/dist/{chunk-4PNVFAMJ.js.map → chunk-XSS46DGP.js.map} +1 -1
  87. package/dist/chunk-XTE3FJRR.js +2 -0
  88. package/dist/chunk-XTE3FJRR.js.map +1 -0
  89. package/dist/{chunk-OLJ2S6A6.js → chunk-YG5FFTC4.js} +1 -1
  90. package/dist/chunk-YG5FFTC4.js.map +1 -0
  91. package/dist/chunk-YLWCN7R2.js +2 -0
  92. package/dist/chunk-YLWCN7R2.js.map +1 -0
  93. package/dist/chunk-ZJT4Y4TA.js +2 -0
  94. package/dist/chunk-ZJT4Y4TA.js.map +1 -0
  95. package/dist/flows/ContractAmendment/ContractAmendmentBack.d.ts +3 -2
  96. package/dist/flows/ContractAmendment/ContractAmendmentBack.js +1 -1
  97. package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.d.ts +3 -3
  98. package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.js +1 -1
  99. package/dist/flows/ContractAmendment/ContractAmendmentFlow.d.ts +5 -4
  100. package/dist/flows/ContractAmendment/ContractAmendmentFlow.js +1 -1
  101. package/dist/flows/ContractAmendment/ContractAmendmentForm.d.ts +3 -3
  102. package/dist/flows/ContractAmendment/ContractAmendmentForm.js +1 -1
  103. package/dist/flows/ContractAmendment/ContractAmendmentSubmit.d.ts +3 -2
  104. package/dist/flows/ContractAmendment/ContractAmendmentSubmit.js +1 -1
  105. package/dist/flows/ContractAmendment/context.d.ts +4 -4
  106. package/dist/flows/ContractAmendment/hooks.d.ts +3 -3
  107. package/dist/flows/ContractAmendment/hooks.js +1 -1
  108. package/dist/flows/ContractAmendment/index.d.ts +3 -2
  109. package/dist/flows/ContractAmendment/index.js +1 -1
  110. package/dist/flows/ContractAmendment/types.d.ts +1 -1
  111. package/dist/flows/ContractAmendment/utils.d.ts +1 -1
  112. package/dist/flows/CostCalculator/CostCalculatorDisclaimer.d.ts +2 -2
  113. package/dist/flows/CostCalculator/CostCalculatorDisclaimer.js +1 -1
  114. package/dist/flows/CostCalculator/CostCalculatorFlow.d.ts +5 -4
  115. package/dist/flows/CostCalculator/CostCalculatorFlow.js +1 -1
  116. package/dist/flows/CostCalculator/CostCalculatorForm.d.ts +5 -5
  117. package/dist/flows/CostCalculator/CostCalculatorForm.js +1 -1
  118. package/dist/flows/CostCalculator/CostCalculatorResetButton.d.ts +3 -2
  119. package/dist/flows/CostCalculator/CostCalculatorResetButton.js +1 -1
  120. package/dist/flows/CostCalculator/CostCalculatorSubmitButton.d.ts +3 -2
  121. package/dist/flows/CostCalculator/CostCalculatorSubmitButton.js +1 -1
  122. package/dist/flows/CostCalculator/Results/CostCalculatorBenefitsBreakdown.d.ts +2 -2
  123. package/dist/flows/CostCalculator/Results/CostCalculatorBenefitsBreakdown.js +1 -1
  124. package/dist/flows/CostCalculator/Results/CostCalculatorContributionsBreakdown.d.ts +2 -2
  125. package/dist/flows/CostCalculator/Results/CostCalculatorContributionsBreakdown.js +1 -1
  126. package/dist/flows/CostCalculator/Results/CostCalculatorGrossSalary.d.ts +2 -2
  127. package/dist/flows/CostCalculator/Results/CostCalculatorGrossSalary.js +1 -1
  128. package/dist/flows/CostCalculator/Results/CostCalculatorResults.d.ts +3 -3
  129. package/dist/flows/CostCalculator/Results/CostCalculatorResults.js +1 -1
  130. package/dist/flows/CostCalculator/Results/CostCalculatorResultsChart.d.ts +2 -2
  131. package/dist/flows/CostCalculator/Results/CostCalculatorResultsChart.js +1 -1
  132. package/dist/flows/CostCalculator/Results/CostCalculatorResultsChart.js.map +1 -1
  133. package/dist/flows/CostCalculator/Results/CostCalculatorTotalCost.d.ts +2 -2
  134. package/dist/flows/CostCalculator/Results/CostCalculatorTotalCost.js +1 -1
  135. package/dist/flows/CostCalculator/context.d.ts +9 -6
  136. package/dist/flows/CostCalculator/context.js +1 -1
  137. package/dist/flows/CostCalculator/hooks.d.ts +4 -3
  138. package/dist/flows/CostCalculator/hooks.js +1 -1
  139. package/dist/flows/CostCalculator/index.d.ts +5 -1
  140. package/dist/flows/CostCalculator/index.js +1 -1
  141. package/dist/flows/CostCalculator/types.d.ts +12 -2
  142. package/dist/flows/CostCalculator/utils.d.ts +8 -4
  143. package/dist/flows/CostCalculator/utils.js +1 -1
  144. package/dist/flows/Onboarding/BasicInformationStep.d.ts +3 -3
  145. package/dist/flows/Onboarding/BasicInformationStep.js +1 -1
  146. package/dist/flows/Onboarding/BenefitsStep.d.ts +5 -4
  147. package/dist/flows/Onboarding/BenefitsStep.js +1 -1
  148. package/dist/flows/Onboarding/ContractDetailsStep.d.ts +3 -3
  149. package/dist/flows/Onboarding/ContractDetailsStep.js +1 -1
  150. package/dist/flows/Onboarding/OnboardingBack.d.ts +3 -2
  151. package/dist/flows/Onboarding/OnboardingBack.js +1 -1
  152. package/dist/flows/Onboarding/OnboardingFlow.d.ts +11 -5
  153. package/dist/flows/Onboarding/OnboardingFlow.js +1 -1
  154. package/dist/flows/Onboarding/OnboardingForm.d.ts +5 -4
  155. package/dist/flows/Onboarding/OnboardingForm.js +1 -1
  156. package/dist/flows/Onboarding/OnboardingInvite.d.ts +14 -7
  157. package/dist/flows/Onboarding/OnboardingInvite.js +1 -1
  158. package/dist/flows/Onboarding/OnboardingSubmit.d.ts +3 -2
  159. package/dist/flows/Onboarding/OnboardingSubmit.js +1 -1
  160. package/dist/flows/Onboarding/ReviewStep.d.ts +38 -0
  161. package/dist/flows/Onboarding/ReviewStep.js +2 -0
  162. package/dist/flows/Onboarding/ReviewStep.js.map +1 -0
  163. package/dist/flows/Onboarding/SelectCountryStep.d.ts +3 -3
  164. package/dist/flows/Onboarding/SelectCountryStep.js +1 -1
  165. package/dist/flows/Onboarding/api.d.ts +4 -8
  166. package/dist/flows/Onboarding/api.js +1 -1
  167. package/dist/flows/Onboarding/context.d.ts +27 -4
  168. package/dist/flows/Onboarding/context.js +1 -1
  169. package/dist/flows/Onboarding/hooks.d.ts +17 -3
  170. package/dist/flows/Onboarding/hooks.js +1 -1
  171. package/dist/flows/Onboarding/index.d.ts +7 -4
  172. package/dist/flows/Onboarding/index.js +1 -1
  173. package/dist/flows/Onboarding/types.d.ts +10 -2
  174. package/dist/flows/Termination/AdditionalDetailsForm.d.ts +3 -3
  175. package/dist/flows/Termination/AdditionalDetailsForm.js +1 -1
  176. package/dist/flows/Termination/EmployeeComunicationForm.d.ts +3 -3
  177. package/dist/flows/Termination/EmployeeComunicationForm.js +1 -1
  178. package/dist/flows/Termination/PaidTimeOffForm.d.ts +3 -3
  179. package/dist/flows/Termination/PaidTimeOffForm.js +1 -1
  180. package/dist/flows/Termination/TerminationBack.d.ts +3 -2
  181. package/dist/flows/Termination/TerminationBack.js +1 -1
  182. package/dist/flows/Termination/TerminationDetailsForm.d.ts +3 -3
  183. package/dist/flows/Termination/TerminationDetailsForm.js +1 -1
  184. package/dist/flows/Termination/TerminationFlow.d.ts +5 -4
  185. package/dist/flows/Termination/TerminationFlow.js +1 -1
  186. package/dist/flows/Termination/TerminationForm.d.ts +3 -3
  187. package/dist/flows/Termination/TerminationForm.js +1 -1
  188. package/dist/flows/Termination/TerminationSubmit.d.ts +3 -2
  189. package/dist/flows/Termination/TerminationSubmit.js +1 -1
  190. package/dist/flows/Termination/TimeOff.d.ts +4 -4
  191. package/dist/flows/Termination/context.d.ts +3 -3
  192. package/dist/flows/Termination/hooks.d.ts +1 -1
  193. package/dist/flows/Termination/hooks.js +1 -1
  194. package/dist/flows/Termination/index.d.ts +2 -1
  195. package/dist/flows/Termination/index.js +1 -1
  196. package/dist/flows/Termination/types.d.ts +1 -1
  197. package/dist/flows/types.d.ts +1 -1
  198. package/dist/flows/useStepState.d.ts +9 -2
  199. package/dist/flows/useStepState.js +1 -1
  200. package/dist/index.d.ts +13 -10
  201. package/dist/index.js +1 -1
  202. package/dist/index.js.map +1 -1
  203. package/dist/{remoteFlows-DgAmG_TD.d.ts → remoteFlows-iMN5oBtU.d.ts} +2 -1
  204. package/dist/{types.gen-CAOUvsW-.d.ts → types.gen-Ctv2nomK.d.ts} +1 -1
  205. package/package.json +3 -2
  206. package/dist/chunk-2URGWNSM.js +0 -2
  207. package/dist/chunk-2URGWNSM.js.map +0 -1
  208. package/dist/chunk-3FVI5JIC.js +0 -2
  209. package/dist/chunk-3IOMT3AE.js +0 -2
  210. package/dist/chunk-3IOMT3AE.js.map +0 -1
  211. package/dist/chunk-43345OYS.js +0 -2
  212. package/dist/chunk-43345OYS.js.map +0 -1
  213. package/dist/chunk-4KIKAZNO.js +0 -2
  214. package/dist/chunk-4KIKAZNO.js.map +0 -1
  215. package/dist/chunk-4PNVFAMJ.js +0 -2
  216. package/dist/chunk-56BNVYTD.js +0 -2
  217. package/dist/chunk-6A3F6JG6.js +0 -2
  218. package/dist/chunk-6A3F6JG6.js.map +0 -1
  219. package/dist/chunk-76MP23BL.js +0 -2
  220. package/dist/chunk-76MP23BL.js.map +0 -1
  221. package/dist/chunk-7CYG2RHP.js +0 -2
  222. package/dist/chunk-7CYG2RHP.js.map +0 -1
  223. package/dist/chunk-AU36GYLZ.js +0 -2
  224. package/dist/chunk-AU36GYLZ.js.map +0 -1
  225. package/dist/chunk-DGPRFQYK.js +0 -2
  226. package/dist/chunk-DGPRFQYK.js.map +0 -1
  227. package/dist/chunk-EAAIAMTY.js +0 -2
  228. package/dist/chunk-EAAIAMTY.js.map +0 -1
  229. package/dist/chunk-EWUUVK2K.js +0 -2
  230. package/dist/chunk-EWUUVK2K.js.map +0 -1
  231. package/dist/chunk-FMT2OTOL.js +0 -2
  232. package/dist/chunk-FMT2OTOL.js.map +0 -1
  233. package/dist/chunk-GFBF55NR.js +0 -2
  234. package/dist/chunk-GHOJ3LWH.js +0 -2
  235. package/dist/chunk-GHOJ3LWH.js.map +0 -1
  236. package/dist/chunk-GMGKIQLI.js +0 -2
  237. package/dist/chunk-HCAVC2KN.js +0 -2
  238. package/dist/chunk-HS4YNYBH.js +0 -2
  239. package/dist/chunk-HS4YNYBH.js.map +0 -1
  240. package/dist/chunk-IDSJI7KQ.js +0 -2
  241. package/dist/chunk-J55S4SEH.js +0 -2
  242. package/dist/chunk-J55S4SEH.js.map +0 -1
  243. package/dist/chunk-JDDP3DHS.js +0 -2
  244. package/dist/chunk-JDDP3DHS.js.map +0 -1
  245. package/dist/chunk-KH6QS5OU.js +0 -2
  246. package/dist/chunk-KH6QS5OU.js.map +0 -1
  247. package/dist/chunk-KSGPQCSG.js +0 -2
  248. package/dist/chunk-KSGPQCSG.js.map +0 -1
  249. package/dist/chunk-M7WCW7WD.js +0 -2
  250. package/dist/chunk-M7WCW7WD.js.map +0 -1
  251. package/dist/chunk-MCGCUNZW.js +0 -2
  252. package/dist/chunk-MCGCUNZW.js.map +0 -1
  253. package/dist/chunk-MESREYTZ.js +0 -2
  254. package/dist/chunk-MHKNAQLP.js +0 -2
  255. package/dist/chunk-MHKNAQLP.js.map +0 -1
  256. package/dist/chunk-N4L6QFI4.js +0 -2
  257. package/dist/chunk-N4L6QFI4.js.map +0 -1
  258. package/dist/chunk-OLJ2S6A6.js.map +0 -1
  259. package/dist/chunk-PZTCP3TY.js +0 -2
  260. package/dist/chunk-PZTCP3TY.js.map +0 -1
  261. package/dist/chunk-QEMBR67V.js +0 -2
  262. package/dist/chunk-QEMBR67V.js.map +0 -1
  263. package/dist/chunk-SCMGXEPG.js +0 -2
  264. package/dist/chunk-SCMGXEPG.js.map +0 -1
  265. package/dist/chunk-T4GDGH4D.js +0 -2
  266. package/dist/chunk-T4GDGH4D.js.map +0 -1
  267. package/dist/chunk-T5UW2DG3.js +0 -2
  268. package/dist/chunk-T5UW2DG3.js.map +0 -1
  269. package/dist/chunk-TGYPE2O2.js +0 -2
  270. package/dist/chunk-TGYPE2O2.js.map +0 -1
  271. package/dist/chunk-TICIER55.js +0 -2
  272. package/dist/chunk-TICIER55.js.map +0 -1
  273. package/dist/chunk-VURWIX6S.js +0 -2
  274. package/dist/chunk-VURWIX6S.js.map +0 -1
  275. package/dist/chunk-WQHKB5T7.js +0 -2
  276. package/dist/chunk-WQHKB5T7.js.map +0 -1
  277. package/dist/chunk-WS3C3WIJ.js +0 -2
  278. package/dist/chunk-WS3C3WIJ.js.map +0 -1
  279. package/dist/chunk-X56KZDDQ.js +0 -2
  280. package/dist/chunk-X56KZDDQ.js.map +0 -1
  281. package/dist/chunk-XLFHHYVS.js +0 -2
  282. package/dist/chunk-XLFHHYVS.js.map +0 -1
  283. package/dist/chunk-YM5PKRUW.js +0 -2
  284. package/dist/chunk-YM5PKRUW.js.map +0 -1
  285. package/dist/chunk-YOC3VDC7.js +0 -2
  286. package/dist/chunk-YOC3VDC7.js.map +0 -1
  287. /package/dist/{chunk-RJGJMVJP.js.map → chunk-ENBY6GBG.js.map} +0 -0
  288. /package/dist/{chunk-VUCFEWCR.js.map → chunk-XQRRFXRN.js.map} +0 -0
@@ -1,2 +0,0 @@
1
- import{a as r}from"./chunk-PZTCP3TY.js";import{b as m}from"./chunk-DZYFSFZ7.js";import{a as o}from"./chunk-AYDF3IFZ.js";import a from"react";function p({onSubmit:n}){let{terminationBag:i}=m();return a.createElement(r,{onSubmit:o(async t=>{await n?.(i?.parseFormValues(t)),i?.next()},"handleSubmit")})}o(p,"PaidTimeOffForm");export{p as a};
2
- //# sourceMappingURL=chunk-43345OYS.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/Termination/PaidTimeOffForm.tsx"],"sourcesContent":["import React from 'react';\nimport { useTerminationContext } from './context';\nimport { TerminationFormValues } from '@/src/flows/Termination/types';\nimport { TerminationForm } from '@/src/flows/Termination/TerminationForm';\n\ntype PaidTimeOffFormProps = {\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 PaidTimeOffForm({ onSubmit }: PaidTimeOffFormProps) {\n const { terminationBag } = useTerminationContext();\n const handleSubmit = async (values: TerminationFormValues) => {\n await onSubmit?.(\n terminationBag?.parseFormValues(values) as TerminationFormValues,\n );\n terminationBag?.next();\n };\n\n return <TerminationForm onSubmit={handleSubmit} />;\n}\n"],"mappings":"wHAAA,OAAOA,MAAW,QAYX,SAASC,EAAgB,CAAE,SAAAC,CAAS,EAAyB,CAClE,GAAM,CAAE,eAAAC,CAAe,EAAIC,EAAsB,EAQjD,OAAOC,EAAA,cAACC,EAAA,CAAgB,SAPHC,EAAA,MAAOC,GAAkC,CAC5D,MAAMN,IACJC,GAAgB,gBAAgBK,CAAM,CACxC,EACAL,GAAgB,KAAK,CACvB,EALqB,gBAO2B,CAClD,CAVgBI,EAAAN,EAAA","names":["React","PaidTimeOffForm","onSubmit","terminationBag","useTerminationContext","React","TerminationForm","__name","values"]}
@@ -1,2 +0,0 @@
1
- import{a}from"./chunk-SCMGXEPG.js";import{b as s}from"./chunk-WS3C3WIJ.js";import{d as i}from"./chunk-TPRGCMIZ.js";import{a as t}from"./chunk-AYDF3IFZ.js";import d from"react";function v({components:m,onSubmit:p,onError:r,onSuccess:f}){let{onboardingBag:e}=s(),u=e.fields??[],c=i(u,e.initialValues.benefits);return d.createElement(a,{defaultValues:c,components:m,onSubmit:t(async n=>{try{await p?.(n);let o=await e.onSubmit(n);if(o?.data){await f?.(o.data),e?.next();return}o?.error&&r?.(o.error)}catch(o){r?.(o)}},"handleSubmit")})}t(v,"BenefitsStep");export{v as a};
2
- //# sourceMappingURL=chunk-4KIKAZNO.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/Onboarding/BenefitsStep.tsx"],"sourcesContent":["import React from 'react';\nimport { Components } from '@/src/types/remoteFlows';\nimport { OnboardingForm } from '@/src/flows/Onboarding/OnboardingForm';\nimport { useOnboardingContext } from '@/src/flows/Onboarding/context';\nimport { SuccessResponse } from '@/src/client';\nimport { getInitialValues } from '@/src/components/form/utils';\nimport { BenefitsFormPayload } from '@/src/flows/Onboarding/types';\nimport { $TSFixMe } from '@remoteoss/json-schema-form';\n\ntype BenefitsStepProps = {\n components?: Components;\n /**\n * Callback function to be called when the benefits form is submitted.\n * It can be used to perform any additional validation or processing before\n * the onboarding moves to the last step.\n * @param values\n * @returns\n */\n onSubmit?: (values: BenefitsFormPayload) => void | Promise<void>;\n /**\n * Callback function to be called when the submitting benefits form fails.\n * @param error\n * @returns\n */\n onError?: (error: Error) => void;\n /**\n * Callback function to be called when benefits form is successfully submitted.\n * This function is called after the submitting benefits form is submitted.\n * @param data\n * @returns\n */\n onSuccess?: (data: SuccessResponse) => void | Promise<void>;\n};\n\nexport function BenefitsStep({\n components,\n onSubmit,\n onError,\n onSuccess,\n}: BenefitsStepProps) {\n const { onboardingBag } = useOnboardingContext();\n const fields = onboardingBag.fields ?? [];\n const initialValues = getInitialValues(\n fields,\n onboardingBag.initialValues.benefits,\n );\n\n const handleSubmit = async (payload: $TSFixMe) => {\n try {\n await onSubmit?.(payload as BenefitsFormPayload);\n const response = await onboardingBag.onSubmit(payload);\n if (response?.data) {\n await onSuccess?.(response.data as SuccessResponse);\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 return (\n <OnboardingForm\n defaultValues={initialValues}\n components={components}\n onSubmit={handleSubmit}\n />\n );\n}\n"],"mappings":"2JAAA,OAAOA,MAAW,QAkCX,SAASC,EAAa,CAC3B,WAAAC,EACA,SAAAC,EACA,QAAAC,EACA,UAAAC,CACF,EAAsB,CACpB,GAAM,CAAE,cAAAC,CAAc,EAAIC,EAAqB,EACzCC,EAASF,EAAc,QAAU,CAAC,EAClCG,EAAgBC,EACpBF,EACAF,EAAc,cAAc,QAC9B,EAmBA,OACEK,EAAA,cAACC,EAAA,CACC,cAAeH,EACf,WAAYP,EACZ,SArBiBW,EAAA,MAAOC,GAAsB,CAChD,GAAI,CACF,MAAMX,IAAWW,CAA8B,EAC/C,IAAMC,EAAW,MAAMT,EAAc,SAASQ,CAAO,EACrD,GAAIC,GAAU,KAAM,CAClB,MAAMV,IAAYU,EAAS,IAAuB,EAClDT,GAAe,KAAK,EACpB,MACF,CACIS,GAAU,OACZX,IAAUW,EAAS,KAAK,CAE5B,OAASC,EAAgB,CACvBZ,IAAUY,CAAc,CAC1B,CACF,EAfqB,gBAsBnB,CAEJ,CArCgBH,EAAAZ,EAAA","names":["React","BenefitsStep","components","onSubmit","onError","onSuccess","onboardingBag","useOnboardingContext","fields","initialValues","getInitialValues","React","OnboardingForm","__name","payload","response","error"]}
@@ -1,2 +0,0 @@
1
- import{a as m}from"./chunk-KSGPQCSG.js";import{a as n}from"./chunk-WEIRXEXU.js";import{a as e}from"./chunk-VUCFEWCR.js";import{a as T}from"./chunk-TGYPE2O2.js";import{a}from"./chunk-MCGCUNZW.js";import{a as f}from"./chunk-43345OYS.js";import{a as r}from"./chunk-YOC3VDC7.js";import{a as p}from"./chunk-GHOJ3LWH.js";import{a as t}from"./chunk-DZYFSFZ7.js";import{a as i}from"./chunk-AYDF3IFZ.js";import c,{useId as u}from"react";var k=i(({employmentId:d,render:s,options:l})=>{let y=u(),o=e({employmentId:d,options:l});return c.createElement(t.Provider,{value:{formId:y,terminationBag:o}},s({terminationBag:o,components:{SubmitButton:m,TimeOff:n,Back:r,EmployeeComunicationStep:a,TerminationDetailsStep:p,PaidTimeOffStep:f,AdditionalDetailsStep:T}}))},"TerminationFlow");export{k as a};
2
- //# sourceMappingURL=chunk-4PNVFAMJ.js.map
@@ -1,2 +0,0 @@
1
- import{a as e}from"./chunk-5ETXP2QF.js";import{a as t}from"./chunk-AYDF3IFZ.js";import{Slot as d}from"@radix-ui/react-slot";import{cva as u}from"class-variance-authority";import*as o from"react";var p=u("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:n,variant:r,size:a,asChild:s=!1,...i}){return o.createElement(s?d:"button",{"data-slot":"button",className:e(p({variant:r,size:a,className:n}),"RemoteFlows__Button"),...i})}t(b,"Button");export{p as a,b};
2
- //# sourceMappingURL=chunk-56BNVYTD.js.map
@@ -1,2 +0,0 @@
1
- import{a}from"./chunk-MESREYTZ.js";import{b as s}from"./chunk-5ETXP2QF.js";import{a as o}from"./chunk-AYDF3IFZ.js";import r from"react";function n({grossSalary:t,currency:e}){return r.createElement("div",null,r.createElement("div",{className:"flex justify-between items-center mb-2"},r.createElement("h3",{className:"font-medium text-primary-foreground"},"Gross Salary"),r.createElement("span",{className:"font-semibold text-lg"},s(t,e))),r.createElement(a,null))}o(n,"CostCalculatorGrossSalary");export{n as a};
2
- //# sourceMappingURL=chunk-6A3F6JG6.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/CostCalculator/Results/CostCalculatorGrossSalary.tsx"],"sourcesContent":["import React from 'react';\n\nimport { 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":"mHAAA,OAAOA,MAAW,QAUX,SAASC,EAA0B,CACxC,YAAAC,EACA,SAAAC,CACF,EAAmC,CACjC,OACEC,EAAA,cAAC,WACCA,EAAA,cAAC,OAAI,UAAU,0CACbA,EAAA,cAAC,MAAG,UAAU,uCAAsC,cAAY,EAChEA,EAAA,cAAC,QAAK,UAAU,yBACbC,EAAeH,EAAaC,CAAQ,CACvC,CACF,EACAC,EAAA,cAACE,EAAA,IAAU,CACb,CAEJ,CAfgBC,EAAAN,EAAA","names":["React","CostCalculatorGrossSalary","grossSalary","currency","React","formatCurrency","Separator","__name"]}
@@ -1,2 +0,0 @@
1
- import{a as w,b as B,c as I}from"./chunk-CVGR3FDH.js";import{a as R,b as M,c as A,f as N,g as U,h as J,i as x,j as H,l as j}from"./chunk-YM5PKRUW.js";import{a as f}from"./chunk-JRQSZHUU.js";import{a as L}from"./chunk-2URGWNSM.js";import{c as u,d as p}from"./chunk-TPRGCMIZ.js";import{a}from"./chunk-AYDF3IFZ.js";import{useRef as _e,useState as v}from"react";import ge from"lodash.mergewith";var be={employment_basic_information:"basic_information",contract_details:"contract_details"},Ee={select_country:null,basic_information:"employment_basic_information",contract_details:"contract_details",benefits:null,review:null},Le=a(({employmentId:_,companyId:W,countryCode:g,type:q,options:y})=>{let b=_e({}),[n,D]=v(_),[r,K]=v(g||null),{data:i,isLoading:Y}=R(_),{data:z,isLoading:G}=A(n),{data:E,isLoading:Q}=M(W),X=g?B:w,{fieldValues:l,stepState:e,setFieldValues:Z,previousStep:$,nextStep:ee,goToStep:te}=L(X),{selectCountryForm:S,isLoading:ne}=j(y),F=J(),h=x(),P=H(),{mutateAsync:oe}=f(F),{mutateAsync:T}=f(h),{mutateAsync:ae}=f(P),O=Ee[e.currentStep.name]||"employment_basic_information",re=be[O],se=i?.data?.data?.employment?.[re]||{},{data:s,isLoading:ie}=N({countryCode:r,form:O,fieldValues:Object.keys(l).length>0?{...e.values?.[e.currentStep.name],...l}:se,options:y,enabled:!!(e.currentStep.name!=="select_country"&&r)}),{data:d,isLoading:me}=U(n,l,y),ce={...e.values?.[e.currentStep.name],...l},le=e.currentStep.name==="benefits"?ge({},z,ce):{},m={select_country:S?.fields||[],basic_information:s?.fields||[],contract_details:s?.fields||[],benefits:d?.fields||[],review:[]},de={select_country:p(m[e.currentStep.name],{country:r||i?.data.data.employment?.country.code||""}),basic_information:p(m[e.currentStep.name],i?.data?.data.employment?.basic_information||{}),contract_details:p(m[e.currentStep.name],i?.data?.data.employment?.contract_details||{}),benefits:le||{}};function V(t){return S&&e.currentStep.name==="select_country"?t:s&&e.currentStep.name!=="select_country"?u(t,s?.fields,{isPartialValidation:!0}):{}}a(V,"parseFormValues");async function ue(t){b.current[e.currentStep.name]=I(t,m[e.currentStep.name]);let o=V(t);switch(e.currentStep.name){case"select_country":return K(o.country),Promise.resolve({data:{countryCode:o.country}});case"basic_information":{let C=!n&&r,Se=n&&r&&i?.data?.data?.employment?.country&&i?.data?.data?.employment?.country.code!==r;if(C||Se){let k={basic_information:o,type:q,country_code:r};try{console.log("Creating employment with payload:",k);let c=await oe(k);return D(c.data?.data?.employment?.id),c}catch(c){throw console.error("Error creating onboarding:",c),c}}else if(n)return T({employmentId:n,basic_information:o,pricing_plan_details:{frequency:"monthly"}});return}case"contract_details":return T({employmentId:n,...{contract_details:o}});case"benefits":return ae({employmentId:n,...t})}}a(ue,"onSubmit");function pe(){$()}a(pe,"back");function fe(){ee()}a(fe,"next");function ye(t){te(t)}return a(ye,"goTo"),{employmentId:n,creditRiskStatus:E?.default_legal_entity_credit_risk_status,owner_id:E?.company_owner_user_id,stepState:e,fields:m[e.currentStep.name],isLoading:ie||Y||me||G||Q||ne,isSubmitting:F.isPending||h.isPending||P.isPending,initialValues:de,handleValidation:a(t=>{if(e.currentStep.name==="select_country")return S.handleValidation(t);if(e.currentStep.name==="benefits"&&d){let o=u(t,d?.fields);return d?.handleValidation(o)}if(s){let o=u(t,s?.fields);return s?.handleValidation(o)}return null},"handleValidation"),checkFieldUpdates:Z,parseFormValues:V,onSubmit:ue,back:pe,next:fe,goTo:ye,meta:{fields:b.current}}},"useOnboarding");export{Le as a};
2
- //# sourceMappingURL=chunk-76MP23BL.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/Onboarding/hooks.ts"],"sourcesContent":["import {\n Employment,\n EmploymentCreateParams,\n EmploymentFullParams,\n} from '@/src/client';\nimport { Fields } from '@remoteoss/json-schema-form';\n\nimport { useStepState, Step } from '@/src/flows/useStepState';\nimport {\n prettifyFormValues,\n STEPS,\n STEPS_WITHOUT_SELECT_COUNTRY,\n} from '@/src/flows/Onboarding/utils';\nimport {\n getInitialValues,\n parseJSFToValidate,\n} from '@/src/components/form/utils';\nimport { mutationToPromise } from '@/src/lib/mutations';\nimport { FieldValues } from 'react-hook-form';\nimport { OnboardingFlowParams } from '@/src/flows/Onboarding/types';\nimport { useRef, useState } from 'react';\nimport mergeWith from 'lodash.mergewith';\nimport {\n useBenefitOffers,\n useBenefitOffersSchema,\n useCompany,\n useCountriesSchemaField,\n useCreateEmployment,\n useEmployment,\n useJSONSchemaForm,\n useUpdateBenefitsOffers,\n useUpdateEmployment,\n} from '@/src/flows/Onboarding/api';\nimport { JSONSchemaFormType } from '@/src/flows/types';\n\ntype OnboardingHookProps = OnboardingFlowParams;\n\nconst jsonSchemaToEmployment: Partial<\n Record<JSONSchemaFormType, keyof Employment>\n> = {\n employment_basic_information: 'basic_information',\n contract_details: 'contract_details',\n};\n\nconst stepToFormSchemaMap: Record<\n keyof typeof STEPS,\n JSONSchemaFormType | null\n> = {\n select_country: null,\n basic_information: 'employment_basic_information',\n contract_details: 'contract_details',\n benefits: null,\n review: null,\n};\n\nexport const useOnboarding = ({\n employmentId,\n companyId,\n countryCode,\n type,\n options,\n}: OnboardingHookProps) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const fieldsMetaRef = useRef<Record<string, any>>({});\n const [internalEmploymentId, setInternalEmploymentId] = useState<\n string | undefined\n >(employmentId);\n const [internalCountryCode, setInternalCountryCode] = useState<string | null>(\n countryCode || null,\n );\n const { data: employment, isLoading: isLoadingEmployment } =\n useEmployment(employmentId);\n\n const { data: benefitOffers, isLoading: isLoadingBenefitOffers } =\n useBenefitOffers(internalEmploymentId);\n const { data: company, isLoading: isLoadingCompany } = useCompany(companyId);\n const stepsToUse = countryCode ? STEPS_WITHOUT_SELECT_COUNTRY : STEPS;\n\n const {\n fieldValues,\n stepState,\n setFieldValues,\n previousStep,\n nextStep,\n goToStep,\n } = useStepState(\n stepsToUse as Record<keyof typeof STEPS, Step<keyof typeof STEPS>>,\n );\n\n const { selectCountryForm, isLoading: isLoadingCountries } =\n useCountriesSchemaField(options);\n\n const createEmploymentMutation = useCreateEmployment();\n const updateEmploymentMutation = useUpdateEmployment();\n const updateBenefitsOffersMutation = useUpdateBenefitsOffers();\n const { mutateAsync: createEmploymentMutationAsync } = mutationToPromise(\n createEmploymentMutation,\n );\n const { mutateAsync: updateEmploymentMutationAsync } = mutationToPromise(\n updateEmploymentMutation,\n );\n const { mutateAsync: updateBenefitsOffersMutationAsync } = mutationToPromise(\n updateBenefitsOffersMutation,\n );\n\n const formType =\n stepToFormSchemaMap[stepState.currentStep.name] ||\n 'employment_basic_information';\n const employmentKey = jsonSchemaToEmployment[formType] as keyof Employment;\n const serverEmploymentData = (employment?.data?.data?.employment?.[\n employmentKey\n ] || {}) as Record<string, unknown>;\n\n const { data: onboardingForm, isLoading: isLoadingBasicInformation } =\n useJSONSchemaForm({\n countryCode: internalCountryCode as string,\n form: formType,\n fieldValues:\n Object.keys(fieldValues).length > 0\n ? {\n ...stepState.values?.[stepState.currentStep.name], // Restore values for the current step\n ...fieldValues,\n }\n : serverEmploymentData,\n options: options,\n enabled: Boolean(\n stepState.currentStep.name !== 'select_country' && internalCountryCode,\n ),\n });\n\n const {\n data: benefitOffersSchema,\n isLoading: isLoadingBenefitsOffersSchema,\n } = useBenefitOffersSchema(\n internalEmploymentId as string,\n fieldValues,\n options,\n );\n\n const benefitsFormValues = {\n ...stepState.values?.[stepState.currentStep.name as keyof typeof STEPS], // Restore values for the current step\n ...fieldValues,\n };\n\n const initialValuesBenefitOffers =\n stepState.currentStep.name === 'benefits'\n ? mergeWith({}, benefitOffers, benefitsFormValues)\n : {};\n\n const stepFields: Record<keyof typeof STEPS, Fields> = {\n select_country: selectCountryForm?.fields || [],\n basic_information: onboardingForm?.fields || [],\n contract_details: onboardingForm?.fields || [],\n benefits: benefitOffersSchema?.fields || [],\n review: [],\n };\n\n const initialValues = {\n select_country: getInitialValues(stepFields[stepState.currentStep.name], {\n country:\n internalCountryCode ||\n employment?.data.data.employment?.country.code ||\n '',\n }),\n basic_information: getInitialValues(\n stepFields[stepState.currentStep.name],\n employment?.data?.data.employment?.basic_information || {},\n ),\n contract_details: getInitialValues(\n stepFields[stepState.currentStep.name],\n employment?.data?.data.employment?.contract_details || {},\n ),\n benefits: initialValuesBenefitOffers || {},\n };\n\n function parseFormValues(values: FieldValues) {\n if (selectCountryForm && stepState.currentStep.name === 'select_country') {\n return values;\n }\n if (onboardingForm && stepState.currentStep.name !== 'select_country') {\n return parseJSFToValidate(values, onboardingForm?.fields, {\n isPartialValidation: true,\n });\n }\n return {};\n }\n\n async function onSubmit(values: FieldValues) {\n // Prettify values for the current step\n fieldsMetaRef.current[stepState.currentStep.name] = prettifyFormValues(\n values,\n stepFields[stepState.currentStep.name],\n );\n\n const parsedValues = parseFormValues(values);\n switch (stepState.currentStep.name) {\n case 'select_country': {\n setInternalCountryCode(parsedValues.country);\n return Promise.resolve({ data: { countryCode: parsedValues.country } });\n }\n case 'basic_information': {\n const isEmploymentNotLoaded =\n !internalEmploymentId && internalCountryCode;\n const hasChangedCountry =\n internalEmploymentId &&\n internalCountryCode &&\n employment?.data?.data?.employment?.country &&\n employment?.data?.data?.employment?.country.code !==\n internalCountryCode;\n if (isEmploymentNotLoaded || hasChangedCountry) {\n const payload: EmploymentCreateParams = {\n basic_information: parsedValues,\n type: type,\n country_code: internalCountryCode,\n };\n try {\n console.log('Creating employment with payload:', payload);\n const response = await createEmploymentMutationAsync(payload);\n setInternalEmploymentId(\n // @ts-expect-error the types from the response are not matching\n response.data?.data?.employment?.id,\n );\n return response;\n } catch (error) {\n console.error('Error creating onboarding:', error);\n throw error;\n }\n } else if (internalEmploymentId) {\n return updateEmploymentMutationAsync({\n employmentId: internalEmploymentId,\n basic_information: parsedValues,\n pricing_plan_details: {\n frequency: 'monthly',\n },\n });\n }\n\n return;\n }\n case 'contract_details': {\n const payload: EmploymentFullParams = {\n contract_details: parsedValues,\n };\n return updateEmploymentMutationAsync({\n employmentId: internalEmploymentId as string,\n ...payload,\n });\n }\n\n case 'benefits': {\n return updateBenefitsOffersMutationAsync({\n employmentId: internalEmploymentId as string,\n ...values,\n });\n }\n }\n return;\n }\n\n function back() {\n previousStep();\n }\n\n function next() {\n nextStep();\n }\n\n function goTo(step: keyof typeof STEPS) {\n goToStep(step);\n }\n\n return {\n /**\n * Employment id passed useful to be used between components\n */\n employmentId: internalEmploymentId,\n\n /**\n * Credit risk status of the company, useful to know what to to show in the review step\n * The possible values are:\n * - not_started\n * - ready\n * - in_progress\n * - referred\n * - fail\n * - deposit_required\n * - no_deposit_required\n */\n\n creditRiskStatus: company?.default_legal_entity_credit_risk_status,\n\n owner_id: company?.company_owner_user_id,\n /**\n * Current step state containing the current step and total number of steps\n */\n stepState,\n /**\n * Array of form fields from the onboarding schema\n */\n fields: stepFields[stepState.currentStep.name],\n /**\n * Loading state indicating if the onboarding schema is being fetched\n */\n isLoading:\n isLoadingBasicInformation ||\n isLoadingEmployment ||\n isLoadingBenefitsOffersSchema ||\n isLoadingBenefitOffers ||\n isLoadingCompany ||\n isLoadingCountries,\n /**\n * Loading state indicating if the onboarding mutation is in progress\n */\n isSubmitting:\n createEmploymentMutation.isPending ||\n updateEmploymentMutation.isPending ||\n updateBenefitsOffersMutation.isPending,\n /**\n * Initial form values\n */\n initialValues,\n /**\n * Function to validate form values against the onboarding schema\n * @param values - Form values to validate\n * @returns Validation result or null if no schema is available\n */\n handleValidation: (values: FieldValues) => {\n if (stepState.currentStep.name === 'select_country') {\n return selectCountryForm.handleValidation(values);\n }\n if (stepState.currentStep.name === 'benefits' && benefitOffersSchema) {\n const parsedValues = parseJSFToValidate(\n values,\n benefitOffersSchema?.fields,\n );\n\n return benefitOffersSchema?.handleValidation(parsedValues);\n }\n if (onboardingForm) {\n const parsedValues = parseJSFToValidate(values, onboardingForm?.fields);\n return onboardingForm?.handleValidation(parsedValues);\n }\n return null;\n },\n /**\n * Function to update the current form field values\n * @param values - New form values to set\n */\n checkFieldUpdates: setFieldValues,\n\n /**\n * Function to parse form values before submission\n * @param values - Form values to parse\n * @returns Parsed form values\n */\n parseFormValues,\n\n /**\n * Function to handle form submission\n * @param values - Form values to submit\n * @returns Promise resolving to the mutation result\n */\n onSubmit,\n\n /**\n * Function to handle going back to the previous step\n * @returns {void}\n */\n back,\n\n /**\n * Function to handle going to the next step\n * @returns {void}\n */\n next,\n\n /**\n * Function to handle going to a specific step\n * @param step The step to go to.\n * @returns {void}\n */\n goTo,\n\n /**\n * Fields metadata for each step\n */\n meta: {\n fields: fieldsMetaRef.current,\n },\n };\n};\n"],"mappings":"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","names":["useRef","useState","mergeWith","jsonSchemaToEmployment","stepToFormSchemaMap","useOnboarding","__name","employmentId","companyId","countryCode","type","options","fieldsMetaRef","useRef","internalEmploymentId","setInternalEmploymentId","useState","internalCountryCode","setInternalCountryCode","employment","isLoadingEmployment","useEmployment","benefitOffers","isLoadingBenefitOffers","useBenefitOffers","company","isLoadingCompany","useCompany","stepsToUse","STEPS_WITHOUT_SELECT_COUNTRY","STEPS","fieldValues","stepState","setFieldValues","previousStep","nextStep","goToStep","useStepState","selectCountryForm","isLoadingCountries","useCountriesSchemaField","createEmploymentMutation","useCreateEmployment","updateEmploymentMutation","useUpdateEmployment","updateBenefitsOffersMutation","useUpdateBenefitsOffers","createEmploymentMutationAsync","mutationToPromise","updateEmploymentMutationAsync","updateBenefitsOffersMutationAsync","formType","employmentKey","serverEmploymentData","onboardingForm","isLoadingBasicInformation","useJSONSchemaForm","benefitOffersSchema","isLoadingBenefitsOffersSchema","useBenefitOffersSchema","benefitsFormValues","initialValuesBenefitOffers","mergeWith","stepFields","initialValues","getInitialValues","parseFormValues","values","parseJSFToValidate","onSubmit","prettifyFormValues","parsedValues","isEmploymentNotLoaded","hasChangedCountry","payload","response","error","back","next","goTo","step"]}
@@ -1,2 +0,0 @@
1
- import{b as r}from"./chunk-OLJ2S6A6.js";import{b as n}from"./chunk-56BNVYTD.js";import{a as e}from"./chunk-5ETXP2QF.js";import{a as o}from"./chunk-AYDF3IFZ.js";import i from"react";function _({children:s,...t}){let{form:m,formId:l,costCalculatorBag:u}=r();return i.createElement(n,{...t,type:"reset",className:e("RemoteFlows__CostCalculatorForm__ResetButton",t.className),form:l,onClick:a=>{u?.resetForm(),m.reset(),t.onClick?.(a)}},s)}o(_,"CostCalculatorResetButton");export{_ as a};
2
- //# sourceMappingURL=chunk-7CYG2RHP.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/CostCalculator/CostCalculatorResetButton.tsx"],"sourcesContent":["import { Button } from '@/src/components/ui/button';\nimport React, { ButtonHTMLAttributes, PropsWithChildren } from 'react';\nimport { useCostCalculatorContext } from './context';\nimport { cn } from '@/src/lib/utils';\n\nexport function CostCalculatorResetButton({\n children,\n ...props\n}: PropsWithChildren<ButtonHTMLAttributes<HTMLButtonElement>>) {\n const { form, formId, costCalculatorBag } = useCostCalculatorContext();\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":"gKACA,OAAOA,MAAwD,QAIxD,SAASC,EAA0B,CACxC,SAAAC,EACA,GAAGC,CACL,EAA+D,CAC7D,GAAM,CAAE,KAAAC,EAAM,OAAAC,EAAQ,kBAAAC,CAAkB,EAAIC,EAAyB,EACrE,OACEC,EAAA,cAACC,EAAA,CACE,GAAGN,EACJ,KAAK,QACL,UAAWO,EACT,+CACAP,EAAM,SACR,EACA,KAAME,EACN,QAAUM,GAAQ,CAChBL,GAAmB,UAAU,EAC7BF,EAAK,MAAM,EACXD,EAAM,UAAUQ,CAAG,CACrB,GAECT,CACH,CAEJ,CAvBgBU,EAAAX,EAAA","names":["React","CostCalculatorResetButton","children","props","form","formId","costCalculatorBag","useCostCalculatorContext","React","Button","cn","evt","__name"]}
@@ -1,2 +0,0 @@
1
- import{a as p}from"./chunk-T4GDGH4D.js";import{a as i}from"./chunk-MHKNAQLP.js";import{a as f}from"./chunk-T5UW2DG3.js";import{a as n}from"./chunk-76MP23BL.js";import{a as r}from"./chunk-JDDP3DHS.js";import{a as d}from"./chunk-4KIKAZNO.js";import{a as m}from"./chunk-3IOMT3AE.js";import{a}from"./chunk-M7WCW7WD.js";import{a as e}from"./chunk-WS3C3WIJ.js";import{a as t}from"./chunk-AYDF3IFZ.js";import u,{useId as y}from"react";var D=t(({employmentId:s,companyId:b,countryCode:g,type:c="employee",render:S,options:B})=>{let O=y(),o=n({companyId:b,countryCode:g,employmentId:s,type:c,options:B});return u.createElement(e.Provider,{value:{formId:O,onboardingBag:o}},S({onboardingBag:o,components:{BasicInformationStep:r,ContractDetailsStep:m,BenefitsStep:d,SubmitButton:i,BackButton:a,OnboardingInvite:p,SelectCountryStep:f}}))},"OnboardingFlow");export{D as a};
2
- //# sourceMappingURL=chunk-AU36GYLZ.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/Onboarding/OnboardingFlow.tsx"],"sourcesContent":["import React, { useId } from 'react';\nimport { useOnboarding } from '@/src/flows/Onboarding/hooks';\nimport { BasicInformationStep } from '@/src/flows/Onboarding/BasicInformationStep';\nimport { OnboardingContext } from '@/src/flows/Onboarding/context';\nimport { OnboardingSubmit } from '@/src/flows/Onboarding/OnboardingSubmit';\nimport { OnboardingBack } from '@/src/flows/Onboarding/OnboardingBack';\nimport { OnboardingFlowParams } from '@/src/flows/Onboarding/types';\nimport { OnboardingInvite } from '@/src/flows/Onboarding/OnboardingInvite';\nimport { ContractDetailsStep } from '@/src/flows/Onboarding/ContractDetailsStep';\nimport { BenefitsStep } from '@/src/flows/Onboarding/BenefitsStep';\nimport { SelectCountryStep } from '@/src/flows/Onboarding/SelectCountryStep';\n\nexport type OnboardingRenderProps = {\n /**\n * The onboarding bag returned by the useOnboarding hook.\n * This bag contains all the methods and properties needed to handle the onboarding flow.\n * @see {@link useOnboarding}\n */\n onboardingBag: ReturnType<typeof useOnboarding>;\n /**\n * The components used in the onboarding flow.\n * This includes different steps, submit button, back button.\n * @see {@link BasicInformationStep}\n * @see {@link ContractDetailsStep}\n * @see {@link OnboardingSubmit}\n * @see {@link OnboardingBack}\n * @see {@link OnboardingInvite}\n * @see {@link BenefitsStep}\n * @see {@link OnboardingCreateReserve}\n * @see {@link InvitationSection}\n */\n components: {\n SubmitButton: typeof OnboardingSubmit;\n BackButton: typeof OnboardingBack;\n BasicInformationStep: typeof BasicInformationStep;\n OnboardingInvite: typeof OnboardingInvite;\n ContractDetailsStep: typeof ContractDetailsStep;\n BenefitsStep: typeof BenefitsStep;\n SelectCountryStep: typeof SelectCountryStep;\n };\n};\n\ntype OnboardingFlowProps = OnboardingFlowParams & {\n render: ({\n onboardingBag,\n components,\n }: OnboardingRenderProps) => React.ReactNode;\n};\n\nexport const OnboardingFlow = ({\n employmentId,\n companyId,\n countryCode,\n type = 'employee',\n render,\n options,\n}: OnboardingFlowProps) => {\n const formId = useId();\n const onboardingBag = useOnboarding({\n companyId,\n countryCode,\n employmentId,\n type,\n options,\n });\n\n return (\n <OnboardingContext.Provider\n value={{\n formId: formId,\n onboardingBag,\n }}\n >\n {render({\n onboardingBag,\n components: {\n BasicInformationStep: BasicInformationStep,\n ContractDetailsStep: ContractDetailsStep,\n BenefitsStep: BenefitsStep,\n SubmitButton: OnboardingSubmit,\n BackButton: OnboardingBack,\n OnboardingInvite: OnboardingInvite,\n SelectCountryStep: SelectCountryStep,\n },\n })}\n </OnboardingContext.Provider>\n );\n};\n"],"mappings":"2YAAA,OAAOA,GAAS,SAAAC,MAAa,QAiDtB,IAAMC,EAAiBC,EAAA,CAAC,CAC7B,aAAAC,EACA,UAAAC,EACA,YAAAC,EACA,KAAAC,EAAO,WACP,OAAAC,EACA,QAAAC,CACF,IAA2B,CACzB,IAAMC,EAASC,EAAM,EACfC,EAAgBC,EAAc,CAClC,UAAAR,EACA,YAAAC,EACA,aAAAF,EACA,KAAAG,EACA,QAAAE,CACF,CAAC,EAED,OACEK,EAAA,cAACC,EAAkB,SAAlB,CACC,MAAO,CACL,OAAQL,EACR,cAAAE,CACF,GAECJ,EAAO,CACN,cAAAI,EACA,WAAY,CACV,qBAAsBI,EACtB,oBAAqBC,EACrB,aAAcC,EACd,aAAcC,EACd,WAAYC,EACZ,iBAAkBC,EAClB,kBAAmBC,CACrB,CACF,CAAC,CACH,CAEJ,EAtC8B","names":["React","useId","OnboardingFlow","__name","employmentId","companyId","countryCode","type","render","options","formId","useId","onboardingBag","useOnboarding","React","OnboardingContext","BasicInformationStep","ContractDetailsStep","BenefitsStep","OnboardingSubmit","OnboardingBack","OnboardingInvite","SelectCountryStep"]}
@@ -1,2 +0,0 @@
1
- import{a as p}from"./chunk-DYB3RWP7.js";import{b as d}from"./chunk-56BNVYTD.js";import{a as s}from"./chunk-5ETXP2QF.js";import{a as m}from"./chunk-AYDF3IFZ.js";import o from"react";import*as a from"react";import{Drawer as l}from"vaul";var f=m(({shouldScaleBackground:r=!0,...e})=>a.createElement(l.Root,{shouldScaleBackground:r,...e}),"Drawer");f.displayName="Drawer";var y=l.Trigger,h=l.Portal,P=l.Close,N=a.forwardRef(({className:r,...e},i)=>a.createElement(l.Overlay,{ref:i,className:s("fixed inset-0 z-50 bg-black/80",r),...e}));N.displayName=l.Overlay.displayName;var D=a.forwardRef(({className:r,children:e,...i},c)=>a.createElement(h,null,a.createElement(N,null),a.createElement(l.Content,{ref:c,className:s("fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border bg-background",r),...i},a.createElement("div",{className:"mx-auto mt-4 h-2 w-[100px] rounded-full bg-muted"}),e)));D.displayName="DrawerContent";var w=m(({className:r,...e})=>a.createElement("div",{className:s("grid gap-1.5 p-4 text-center sm:text-left",r),...e}),"DrawerHeader");w.displayName="DrawerHeader";var C=m(({className:r,...e})=>a.createElement("div",{className:s("mt-auto flex flex-col gap-2 p-4",r),...e}),"DrawerFooter");C.displayName="DrawerFooter";var u=a.forwardRef(({className:r,...e},i)=>a.createElement(l.Title,{ref:i,className:s("text-lg font-semibold leading-none tracking-tight",r),...e}));u.displayName=l.Title.displayName;var v=a.forwardRef(({className:r,...e},i)=>a.createElement(l.Description,{ref:i,className:s("text-sm text-muted-foreground",r),...e}));v.displayName=l.Description.displayName;import*as n from"react";import*as t from"@radix-ui/react-scroll-area";var g=n.forwardRef(({className:r,children:e,...i},c)=>n.createElement(t.Root,{ref:c,className:s("relative overflow-hidden",r),...i},n.createElement(t.Viewport,{className:"h-full w-full rounded-[inherit]"},e),n.createElement(b,null),n.createElement(t.Corner,null)));g.displayName=t.Root.displayName;var b=n.forwardRef(({className:r,orientation:e="vertical",...i},c)=>n.createElement(t.ScrollAreaScrollbar,{ref:c,orientation:e,className:s("flex touch-none select-none transition-colors",e==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",e==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",r),...i},n.createElement(t.ScrollAreaThumb,{className:"relative flex-1 rounded-full bg-border"})));b.displayName=t.ScrollAreaScrollbar.displayName;import{X as S}from"lucide-react";var O=m(({label:r="Disclaimer"})=>o.createElement(f,null,o.createElement(y,{asChild:!0},o.createElement(d,{variant:"link",size:"link"},r)),o.createElement(D,null,o.createElement(w,null,o.createElement(P,{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"},o.createElement(S,{className:"h-4 w-4"}),o.createElement("span",{className:"sr-only"},"Close")),o.createElement(u,null,p?.data.title),o.createElement(v,null,"For more details read our"," ",o.createElement(d,{variant:"link",size:"link",asChild:!0},o.createElement("a",{href:p?.data.html_url,target:"_blank",rel:"noopener noreferrer"},"Disclaimer")))),o.createElement(g,{className:"px-4 pb-4 overflow-y-auto max-h-[calc(80vh-120px)] cost-calculator-disclaimer-drawer-scroll-area"},o.createElement("div",{className:"cost-calculator-disclaimer-drawer-body",dangerouslySetInnerHTML:{__html:p?.data.body??""}})))),"CostCalculatorDisclaimer");export{O as a};
2
- //# sourceMappingURL=chunk-DGPRFQYK.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/CostCalculator/CostCalculatorDisclaimer.tsx","../src/components/ui/drawer.tsx","../src/components/ui/scroll-area.tsx"],"sourcesContent":["import React from 'react';\nimport {\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","'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"],"mappings":"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","names":["React","React","DrawerPrimitive","Drawer","__name","shouldScaleBackground","props","DrawerPrimitive","DrawerTrigger","DrawerPortal","DrawerClose","DrawerOverlay","className","ref","cn","DrawerContent","children","DrawerHeader","DrawerFooter","DrawerTitle","DrawerDescription","React","ScrollAreaPrimitive","ScrollArea","className","children","props","ref","cn","ScrollBar","orientation","X","CostCalculatorDisclaimer","__name","label","React","Drawer","DrawerTrigger","Button","DrawerContent","DrawerHeader","DrawerClose","X","DrawerTitle","disclaimerData","DrawerDescription","ScrollArea"]}
@@ -1,2 +0,0 @@
1
- import{b as r}from"./chunk-OLJ2S6A6.js";import{b as u}from"./chunk-56BNVYTD.js";import{a as m}from"./chunk-5ETXP2QF.js";import{a as o}from"./chunk-AYDF3IFZ.js";import e from"react";function f(t){let{formId:n}=r();return e.createElement(u,{type:"submit",className:m("RemoteFlows__CostCalculatorForm__SubmitButton",t.className),form:n,...t},t.children)}o(f,"CostCalculatorSubmitButton");export{f as a};
2
- //# sourceMappingURL=chunk-EAAIAMTY.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/CostCalculator/CostCalculatorSubmitButton.tsx"],"sourcesContent":["import { Button } from '@/src/components/ui/button';\nimport React, { ButtonHTMLAttributes, PropsWithChildren } from 'react';\nimport { useCostCalculatorContext } from './context';\nimport { cn } from '@/src/lib/utils';\n\nexport function CostCalculatorSubmitButton(\n props: PropsWithChildren<ButtonHTMLAttributes<HTMLButtonElement>>,\n) {\n const { formId } = useCostCalculatorContext();\n\n return (\n <Button\n type=\"submit\"\n className={cn(\n 'RemoteFlows__CostCalculatorForm__SubmitButton',\n props.className,\n )}\n form={formId}\n {...props}\n >\n {props.children}\n </Button>\n );\n}\n"],"mappings":"gKACA,OAAOA,MAAwD,QAIxD,SAASC,EACdC,EACA,CACA,GAAM,CAAE,OAAAC,CAAO,EAAIC,EAAyB,EAE5C,OACEC,EAAA,cAACC,EAAA,CACC,KAAK,SACL,UAAWC,EACT,gDACAL,EAAM,SACR,EACA,KAAMC,EACL,GAAGD,GAEHA,EAAM,QACT,CAEJ,CAlBgBM,EAAAP,EAAA","names":["React","CostCalculatorSubmitButton","props","formId","useCostCalculatorContext","React","Button","cn","__name"]}
@@ -1,2 +0,0 @@
1
- import{a as p}from"./chunk-N4L6QFI4.js";import{b as l}from"./chunk-A4RX3KRZ.js";import{a as f}from"./chunk-IDSJI7KQ.js";import{c as u}from"./chunk-TPRGCMIZ.js";import{b as F}from"./chunk-6HGUGIYJ.js";import{a as r}from"./chunk-AYDF3IFZ.js";import a,{useEffect as P}from"react";import{useForm as w}from"react-hook-form";var k=["effective_date","reason_for_change","reason_for_change_description","additional_comments","additional_comments_toggle"];function U({onSubmit:_,onError:m,onSuccess:b}){let{formId:A,contractAmendment:{checkFieldUpdates:C,fields:s,onSubmit:h,stepState:S,initialValues:i,handleValidation:g}}=F(),y=l(g),e=w({resolver:y,defaultValues:S.values?.form||i,shouldUnregister:!0,mode:"onBlur"});P(()=>{let t=e?.watch(o=>{(Object.keys(e.formState.dirtyFields).length>0||e.formState.isDirty)&&C(o)});return()=>t?.unsubscribe()},[]);let V=r(async t=>{let o=!1;for(let[c,v]of Object.entries(t))if(!k.includes(c)&&i[c]!==v){o=!0;break}if(!o)return m?.({message:"no_changes_detected_contract_details"});let d=u(t,s,{isPartialValidation:!1});await _?.(d);let n=await h(t);n.error?m?.(n.error):await b?.(n.data)},"handleSubmit");return a.createElement(f,{...e},a.createElement("form",{id:A,"data-testid":"contract-amendment-form",onSubmit:e.handleSubmit(V),className:"space-y-4 RemoteFlows__ContractAmendmentForm"},a.createElement(p,{fields:s})))}r(U,"ContractAmendmentForm");export{U as a};
2
- //# sourceMappingURL=chunk-EWUUVK2K.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/ContractAmendment/ContractAmendmentForm.tsx"],"sourcesContent":["import {\n ContractAmendmentAutomatableResponse,\n PostAutomatableContractAmendmentError,\n} from '@/src/client';\nimport { JSONSchemaFormFields } from '@/src/components/form/JSONSchemaForm';\nimport { parseJSFToValidate } from '@/src/components/form/utils';\nimport { useJsonSchemasValidationFormResolver } from '@/src/components/form/yupValidationResolver';\nimport { Form } from '@/src/components/ui/form';\nimport React, { useEffect } from 'react';\nimport { FieldValues, useForm } from 'react-hook-form';\nimport { useContractAmendmentContext } from './context';\n\ntype ContractAmendmentFormProps = {\n /**\n * Callback function to be called when the contract amendment form is submitted.\n * This function is called before the contract amendment is submitted.\n * It can be used to perform any additional validation or processing before\n * the contract amendment is submitted.\n * @param values\n * @returns\n */\n onSubmit?: (values: FieldValues) => void | Promise<void>;\n /**\n * Callback function to be called when the contract amendment fails.\n * @param error\n * @returns\n */\n onError?: (\n error:\n | PostAutomatableContractAmendmentError\n | { message: 'no_changes_detected_contract_details' },\n ) => void;\n /**\n * Callback function to be called when the contract amendment is successfully submitted.\n * This function is called after the contract amendment is submitted.\n * @param data\n * @returns\n */\n onSuccess?: (\n data: ContractAmendmentAutomatableResponse,\n ) => void | Promise<void>;\n};\n\nconst commonFields = [\n 'effective_date',\n 'reason_for_change',\n 'reason_for_change_description',\n 'additional_comments',\n 'additional_comments_toggle',\n] as const;\n\ntype CommonFields = (typeof commonFields)[number];\n\nexport function ContractAmendmentForm({\n onSubmit,\n onError,\n onSuccess,\n}: ContractAmendmentFormProps) {\n const {\n formId,\n contractAmendment: {\n checkFieldUpdates,\n fields,\n onSubmit: submitContractAmendment,\n stepState,\n initialValues,\n handleValidation,\n },\n } = useContractAmendmentContext();\n\n const resolver = useJsonSchemasValidationFormResolver(\n // @ts-expect-error no matching type\n handleValidation,\n );\n\n const form = useForm({\n resolver,\n defaultValues:\n // stepState.values is used as defaultValues for the form when the form is\n // rendered when clicking on the back button after the user has submitted the form\n // and the confirmation form is displayed.\n // This is because the form is unmounted when the user submits the form.\n stepState.values?.form || initialValues,\n shouldUnregister: true,\n mode: 'onBlur',\n });\n\n useEffect(() => {\n const subscription = form?.watch((values) => {\n const isFormDirty =\n Object.keys(form.formState.dirtyFields).length > 0 ||\n form.formState.isDirty;\n if (isFormDirty) {\n checkFieldUpdates(values);\n }\n });\n return () => subscription?.unsubscribe();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const handleSubmit = async (values: FieldValues) => {\n let hasContractDetailsChanges = false;\n for (const [key, value] of Object.entries(values)) {\n if (\n !commonFields.includes(key as CommonFields) &&\n // @ts-expect-error error\n initialValues[key] !== value\n ) {\n hasContractDetailsChanges = true;\n break;\n }\n }\n\n if (!hasContractDetailsChanges) {\n return onError?.({\n message: 'no_changes_detected_contract_details',\n });\n }\n\n const parsedValues = parseJSFToValidate(values, fields, {\n isPartialValidation: false,\n });\n\n await onSubmit?.(parsedValues);\n\n const contractAmendmentResult = await submitContractAmendment(values);\n\n if (contractAmendmentResult.error) {\n onError?.(contractAmendmentResult.error);\n } else {\n await onSuccess?.(\n contractAmendmentResult.data as ContractAmendmentAutomatableResponse,\n );\n }\n };\n\n return (\n <Form {...form}>\n <form\n id={formId}\n data-testid=\"contract-amendment-form\"\n onSubmit={form.handleSubmit(handleSubmit)}\n className=\"space-y-4 RemoteFlows__ContractAmendmentForm\"\n >\n <JSONSchemaFormFields fields={fields} />\n </form>\n </Form>\n );\n}\n"],"mappings":"gPAQA,OAAOA,GAAS,aAAAC,MAAiB,QACjC,OAAsB,WAAAC,MAAe,kBAkCrC,IAAMC,EAAe,CACnB,iBACA,oBACA,gCACA,sBACA,4BACF,EAIO,SAASC,EAAsB,CACpC,SAAAC,EACA,QAAAC,EACA,UAAAC,CACF,EAA+B,CAC7B,GAAM,CACJ,OAAAC,EACA,kBAAmB,CACjB,kBAAAC,EACA,OAAAC,EACA,SAAUC,EACV,UAAAC,EACA,cAAAC,EACA,iBAAAC,CACF,CACF,EAAIC,EAA4B,EAE1BC,EAAWC,EAEfH,CACF,EAEMI,EAAOC,EAAQ,CACnB,SAAAH,EACA,cAKEJ,EAAU,QAAQ,MAAQC,EAC5B,iBAAkB,GAClB,KAAM,QACR,CAAC,EAEDO,EAAU,IAAM,CACd,IAAMC,EAAeH,GAAM,MAAOI,GAAW,EAEzC,OAAO,KAAKJ,EAAK,UAAU,WAAW,EAAE,OAAS,GACjDA,EAAK,UAAU,UAEfT,EAAkBa,CAAM,CAE5B,CAAC,EACD,MAAO,IAAMD,GAAc,YAAY,CAEzC,EAAG,CAAC,CAAC,EAEL,IAAME,EAAeC,EAAA,MAAOF,GAAwB,CAClD,IAAIG,EAA4B,GAChC,OAAW,CAACC,EAAKC,CAAK,IAAK,OAAO,QAAQL,CAAM,EAC9C,GACE,CAACnB,EAAa,SAASuB,CAAmB,GAE1Cb,EAAca,CAAG,IAAMC,EACvB,CACAF,EAA4B,GAC5B,KACF,CAGF,GAAI,CAACA,EACH,OAAOnB,IAAU,CACf,QAAS,sCACX,CAAC,EAGH,IAAMsB,EAAeC,EAAmBP,EAAQZ,EAAQ,CACtD,oBAAqB,EACvB,CAAC,EAED,MAAML,IAAWuB,CAAY,EAE7B,IAAME,EAA0B,MAAMnB,EAAwBW,CAAM,EAEhEQ,EAAwB,MAC1BxB,IAAUwB,EAAwB,KAAK,EAEvC,MAAMvB,IACJuB,EAAwB,IAC1B,CAEJ,EAlCqB,gBAoCrB,OACEC,EAAA,cAACC,EAAA,CAAM,GAAGd,GACRa,EAAA,cAAC,QACC,GAAIvB,EACJ,cAAY,0BACZ,SAAUU,EAAK,aAAaK,CAAY,EACxC,UAAU,gDAEVQ,EAAA,cAACE,EAAA,CAAqB,OAAQvB,EAAQ,CACxC,CACF,CAEJ,CA/FgBc,EAAApB,EAAA","names":["React","useEffect","useForm","commonFields","ContractAmendmentForm","onSubmit","onError","onSuccess","formId","checkFieldUpdates","fields","submitContractAmendment","stepState","initialValues","handleValidation","useContractAmendmentContext","resolver","useJsonSchemasValidationFormResolver","form","useForm","useEffect","subscription","values","handleSubmit","__name","hasContractDetailsChanges","key","value","parsedValues","parseJSFToValidate","contractAmendmentResult","React","Form","JSONSchemaFormFields"]}
@@ -1,2 +0,0 @@
1
- import{b as n}from"./chunk-56BNVYTD.js";import{b as o}from"./chunk-6HGUGIYJ.js";import{a as t}from"./chunk-AYDF3IFZ.js";import i from"react";function C({children:r,...e}){let{contractAmendment:{back:m}}=o();return i.createElement(n,{...e,onClick:()=>{m()}},r)}t(C,"ContractAmendmentBack");export{C as a};
2
- //# sourceMappingURL=chunk-FMT2OTOL.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/ContractAmendment/ContractAmendmentBack.tsx"],"sourcesContent":["import { Button } from '@/src/components/ui/button';\nimport React, { ButtonHTMLAttributes, PropsWithChildren } from 'react';\nimport { useContractAmendmentContext } from './context';\n\nexport function ContractAmendmentBack({\n children,\n ...props\n}: PropsWithChildren<ButtonHTMLAttributes<HTMLButtonElement>>) {\n const {\n contractAmendment: { back },\n } = useContractAmendmentContext();\n\n return (\n <Button\n {...props}\n onClick={() => {\n back();\n }}\n >\n {children}\n </Button>\n );\n}\n"],"mappings":"wHACA,OAAOA,MAAwD,QAGxD,SAASC,EAAsB,CACpC,SAAAC,EACA,GAAGC,CACL,EAA+D,CAC7D,GAAM,CACJ,kBAAmB,CAAE,KAAAC,CAAK,CAC5B,EAAIC,EAA4B,EAEhC,OACEC,EAAA,cAACC,EAAA,CACE,GAAGJ,EACJ,QAAS,IAAM,CACbC,EAAK,CACP,GAECF,CACH,CAEJ,CAlBgBM,EAAAP,EAAA","names":["React","ContractAmendmentBack","children","props","back","useContractAmendmentContext","React","Button","__name"]}
@@ -1,2 +0,0 @@
1
- import{a as r}from"./chunk-5ETXP2QF.js";import{a as e}from"./chunk-AYDF3IFZ.js";import*as t from"react";import{Slot as d}from"@radix-ui/react-slot";import{cva as s}from"class-variance-authority";var u=s("inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"border-transparent bg-badge text-badge-foreground rounded-full [a&]:hover:bg-primary/90",secondary:"border-transparent bg-secondary text-secondary-foreground rounded-full [a&]:hover:bg-secondary/90",destructive:"border-transparent bg-destructive text-white rounded-full [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40",outline:"text-foreground rounded-full [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"}},defaultVariants:{variant:"default"}});function g({className:a,variant:o,asChild:n=!1,...i}){return t.createElement(n?d:"span",{"data-slot":"badge",className:r(u({variant:o}),a),...i})}e(g,"Badge");export{g as a};
2
- //# sourceMappingURL=chunk-GFBF55NR.js.map
@@ -1,2 +0,0 @@
1
- import{a as m}from"./chunk-PZTCP3TY.js";import{b as r}from"./chunk-DZYFSFZ7.js";import{a as o}from"./chunk-AYDF3IFZ.js";import a from"react";function p({onSubmit:n}){let{terminationBag:i}=r();return a.createElement(m,{onSubmit:o(async t=>{await n?.(i?.parseFormValues(t)),i?.next()},"handleSubmit")})}o(p,"TerminationDetailsForm");export{p as a};
2
- //# sourceMappingURL=chunk-GHOJ3LWH.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/Termination/TerminationDetailsForm.tsx"],"sourcesContent":["import React from 'react';\nimport { useTerminationContext } from './context';\nimport { TerminationFormValues } from '@/src/flows/Termination/types';\nimport { TerminationForm } from '@/src/flows/Termination/TerminationForm';\n\ntype TerminationDetailsFormProps = {\n /*\n * The function is called when the form is submitted. It receives the form values as an argument.\n */\n onSubmit?: (payload: TerminationFormValues) => void | Promise<void>;\n};\n\nexport function TerminationDetailsForm({\n onSubmit,\n}: TerminationDetailsFormProps) {\n const { terminationBag } = useTerminationContext();\n const handleSubmit = async (values: TerminationFormValues) => {\n await onSubmit?.(\n terminationBag?.parseFormValues(values) as TerminationFormValues,\n );\n terminationBag?.next();\n };\n\n return <TerminationForm onSubmit={handleSubmit} />;\n}\n"],"mappings":"wHAAA,OAAOA,MAAW,QAYX,SAASC,EAAuB,CACrC,SAAAC,CACF,EAAgC,CAC9B,GAAM,CAAE,eAAAC,CAAe,EAAIC,EAAsB,EAQjD,OAAOC,EAAA,cAACC,EAAA,CAAgB,SAPHC,EAAA,MAAOC,GAAkC,CAC5D,MAAMN,IACJC,GAAgB,gBAAgBK,CAAM,CACxC,EACAL,GAAgB,KAAK,CACvB,EALqB,gBAO2B,CAClD,CAZgBI,EAAAN,EAAA","names":["React","TerminationDetailsForm","onSubmit","terminationBag","useTerminationContext","React","TerminationForm","__name","values"]}
@@ -1,2 +0,0 @@
1
- import{a}from"./chunk-5ETXP2QF.js";import{a as o}from"./chunk-AYDF3IFZ.js";import*as r from"react";function d({className:t,...e}){return r.createElement("div",{"data-slot":"card",className:a("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",t),...e})}o(d,"Card");function c({className:t,...e}){return r.createElement("div",{"data-slot":"card-header",className:a("flex flex-col gap-1.5 px-6",t),...e})}o(c,"CardHeader");function s({className:t,...e}){return r.createElement("div",{"data-slot":"card-title",className:a("leading-none font-semibold",t),...e})}o(s,"CardTitle");function i({className:t,...e}){return r.createElement("div",{"data-slot":"card-description",className:a("text-sm",t),...e})}o(i,"CardDescription");function l({className:t,...e}){return r.createElement("div",{"data-slot":"card-content",className:a("px-6",t),...e})}o(l,"CardContent");export{d as a,c as b,s as c,i as d,l as e};
2
- //# sourceMappingURL=chunk-GMGKIQLI.js.map
@@ -1,2 +0,0 @@
1
- import{a as l}from"./chunk-OLJ2S6A6.js";import{d as s,e}from"./chunk-VURWIX6S.js";import{b as a}from"./chunk-A4RX3KRZ.js";import{a as r}from"./chunk-AYDF3IFZ.js";import g,{useId as y}from"react";import{useForm as p}from"react-hook-form";var v=r(({estimationOptions:n=s,defaultValues:o={countryRegionSlug:"",currencySlug:"",salary:""},options:i,render:u})=>{let c=y(),t=e({defaultRegion:o.countryRegionSlug,estimationOptions:n,options:i}),m=a(t.handleValidation),C=p({resolver:m,defaultValues:{country:o?.countryRegionSlug,currency:o?.currencySlug,region:"",salary:o?.salary},shouldUnregister:!1,mode:"onBlur"});return g.createElement(l.Provider,{value:{form:C,formId:c,costCalculatorBag:t}},u(t))},"CostCalculatorFlow");export{v as a};
2
- //# sourceMappingURL=chunk-HCAVC2KN.js.map
@@ -1,2 +0,0 @@
1
- import{a as m}from"./chunk-IDSJI7KQ.js";import{c as n}from"./chunk-TPRGCMIZ.js";import{b as a}from"./chunk-6HGUGIYJ.js";import{a as o}from"./chunk-AYDF3IFZ.js";import i from"react";import{useForm as S}from"react-hook-form";function R({onSubmit:s,onError:d,onSuccess:c}){let{contractAmendment:{stepState:l,isSubmitting:u,onSubmit:f,fields:C},formId:p}=a(),r=S({defaultValues:l.values?.form}),A=o(async e=>{let F=n(e,C,{isPartialValidation:!1});await s?.(F);let t=await f(e);t.error?d?.(t.error):await c?.(t.data)},"handleSubmit");return u?null:i.createElement(m,{...r},i.createElement("form",{id:p,onSubmit:r.handleSubmit(A),className:"RemoteFlows__ContractAmendmentConfirmationForm"}))}o(R,"ContractAmendmentConfirmationForm");export{R as a};
2
- //# sourceMappingURL=chunk-HS4YNYBH.js.map
@@ -1 +0,0 @@
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 React from 'react';\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,OAAOA,MAAW,QAClB,OAAsB,WAAAC,MAAe,kBA2B9B,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,KAIPa,EAAA,cAACC,EAAA,CAAM,GAAGT,GACRQ,EAAA,cAAC,QACC,GAAIV,EACJ,SAAUE,EAAK,aAAaE,CAAY,EACxC,UAAU,iDACX,CACH,CAEJ,CAnDgBC,EAAAb,EAAA","names":["React","useForm","ContractAmendmentConfirmationForm","onSubmit","onError","onSuccess","stepState","isSubmitting","submitContractAmendment","fields","formId","useContractAmendmentContext","form","useForm","handleSubmit","__name","values","parsedValues","parseJSFToValidate","contractAmendmentResult","React","Form"]}
@@ -1,2 +0,0 @@
1
- import{a as s}from"./chunk-5ETXP2QF.js";import{a}from"./chunk-AYDF3IFZ.js";import{Slot as x}from"@radix-ui/react-slot";import*as o from"react";import d from"dompurify";import{Controller as C,FormProvider as g,useFormContext as R,useFormState as b}from"react-hook-form";import*as c from"react";import*as u from"@radix-ui/react-label";function f({className:e,...t}){return c.createElement(u.Root,{"data-slot":"label",className:s("flex items-center gap-2 text-sm leading-none select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50",e),...t})}a(f,"Label");var M=g,p=o.createContext({}),$=a(({...e})=>o.createElement(p.Provider,{value:{name:e.name}},o.createElement(C,{...e})),"FormField"),l=a(()=>{let e=o.useContext(p),t=o.useContext(F),{getFieldState:r}=R(),n=b({name:e.name}),i=r(e.name,n);if(!e)throw new Error("useFormField should be used within <FormField>");let{id:m}=t;return{id:m,name:e.name,formItemId:`${m}-form-item`,formDescriptionId:`${m}-form-item-description`,formMessageId:`${m}-form-item-message`,...i}},"useFormField"),F=o.createContext({});function _({className:e,...t}){let r=o.useId();return o.createElement(F.Provider,{value:{id:r}},o.createElement("div",{"data-slot":"form-item",...t,className:s("grid gap-2",e)}))}a(_,"FormItem");function H({className:e,...t}){let{error:r,formItemId:n}=l();return o.createElement(f,{"data-slot":"form-label","data-error":!!r,className:s("text-base-color mb-1 data-[error=true]:text-destructive",e),htmlFor:n,...t})}a(H,"FormLabel");var P=o.forwardRef(({...e},t)=>{let{error:r,formItemId:n,formDescriptionId:i,formMessageId:m}=l();return o.createElement(x,{"data-slot":"form-control",ref:t,id:n,"aria-describedby":r?`${i} ${m}`:`${i}`,"aria-invalid":!!r,...e})});P.displayName="FormControl";var I=a(e=>{let t=new Set(e?e.toLowerCase().split(" "):[]);return t.add("noopener"),t.add("noreferrer"),Array.from(t).join(" ")},"appendSecureRelValue");d.isSupported&&d.addHook("afterSanitizeAttributes",e=>{let t=e.getAttribute("target");if(e.tagName==="A"&&(!t||t!=="_self")){e.setAttribute("target","_blank");let r=e.getAttribute("rel");e.setAttribute("rel",I(r))}});function k({className:e,children:t,...r}){let{formDescriptionId:n}=l();return o.createElement("p",{"data-slot":"form-description",id:n,className:s("text-base-color text-xs",e),...typeof t=="string"?{dangerouslySetInnerHTML:{__html:d.sanitize(t,{ADD_ATTR:["target"]})}}:{},...r},typeof t=="function"?t():null)}a(k,"FormDescription");function z({className:e,...t}){let{error:r,formMessageId:n}=l(),i=r?String(r?.message??""):t.children;return i?o.createElement("p",{"data-slot":"form-message",id:n,className:s("text-destructive text-sm",e),...t},i):null}a(z,"FormMessage");export{M as a,$ as b,_ as c,H as d,P as e,k as f,z as g};
2
- //# sourceMappingURL=chunk-IDSJI7KQ.js.map
@@ -1,2 +0,0 @@
1
- import{a,b as m,c as p,d}from"./chunk-3FVI5JIC.js";import{a as l}from"./chunk-MESREYTZ.js";import{b as i}from"./chunk-56BNVYTD.js";import{b as s}from"./chunk-5ETXP2QF.js";import{a as t}from"./chunk-AYDF3IFZ.js";import{Info as g}from"lucide-react";import o from"react";function y({contributionsTotal:u,currency:e,contributionsBreakdown:n}){return o.createElement("div",null,o.createElement("div",{className:"flex justify-between items-center mb-2"},o.createElement("h3",{className:"font-medium text-primary-foreground"},"Employer Contributions"),o.createElement("span",{className:"font-semibold text-lg"},s(u,e))),n?o.createElement(o.Fragment,null,o.createElement(l,{className:"mb-3"}),o.createElement("div",{className:"space-y-3 pl-2"},n.map((r,f)=>o.createElement("div",{key:f,className:"flex justify-between items-start text-sm"},o.createElement("div",{className:"flex items-start gap-2"},o.createElement("span",null,r.name),o.createElement(a,null,o.createElement(m,null,o.createElement(p,{asChild:!0},o.createElement(i,{variant:"ghost",size:"icon",className:"h-4 w-4 p-0"},o.createElement(g,{className:"h-3 w-3 text-gray-400"}),o.createElement("span",{className:"sr-only"},"Info"))),o.createElement(d,null,o.createElement("p",{className:"max-w-xs"},r.description),r.zendesk_article_url&&o.createElement("a",{href:r.zendesk_article_url,target:"_blank",rel:"noopener noreferrer",className:"text-blue-500 hover:underline block mt-1 text-xs"},"Learn more"))))),o.createElement("span",null,s(r.amount,e)))))):null)}t(y,"CostCalculatorContributionsBreakdown");export{y as a};
2
- //# sourceMappingURL=chunk-J55S4SEH.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/CostCalculator/Results/CostCalculatorContributionsBreakdown.tsx"],"sourcesContent":["import { Info } from 'lucide-react';\nimport React from '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":"mNAAA,OAAS,QAAAA,MAAY,eACrB,OAAOC,MAAW,QA0BX,SAASC,EAAqC,CACnD,mBAAAC,EACA,SAAAC,EACA,uBAAAC,CACF,EAA8C,CAC5C,OACEC,EAAA,cAAC,WACCA,EAAA,cAAC,OAAI,UAAU,0CACbA,EAAA,cAAC,MAAG,UAAU,uCAAsC,wBAEpD,EACAA,EAAA,cAAC,QAAK,UAAU,yBACbC,EAAeJ,EAAoBC,CAAQ,CAC9C,CACF,EACCC,EACCC,EAAA,cAAAA,EAAA,cACEA,EAAA,cAACE,EAAA,CAAU,UAAU,OAAO,EAC5BF,EAAA,cAAC,OAAI,UAAU,kBACZD,EAAuB,IAAI,CAACI,EAAcC,IACzCJ,EAAA,cAAC,OACC,IAAKI,EACL,UAAU,4CAEVJ,EAAA,cAAC,OAAI,UAAU,0BACbA,EAAA,cAAC,YAAMG,EAAa,IAAK,EACzBH,EAAA,cAACK,EAAA,KACCL,EAAA,cAACM,EAAA,KACCN,EAAA,cAACO,EAAA,CAAe,QAAO,IACrBP,EAAA,cAACQ,EAAA,CACC,QAAQ,QACR,KAAK,OACL,UAAU,eAEVR,EAAA,cAACS,EAAA,CAAK,UAAU,wBAAwB,EACxCT,EAAA,cAAC,QAAK,UAAU,WAAU,MAAI,CAChC,CACF,EACAA,EAAA,cAACU,EAAA,KACCV,EAAA,cAAC,KAAE,UAAU,YAAYG,EAAa,WAAY,EACjDA,EAAa,qBACZH,EAAA,cAAC,KACC,KAAMG,EAAa,oBACnB,OAAO,SACP,IAAI,sBACJ,UAAU,oDACX,YAED,CAEJ,CACF,CACF,CACF,EACAH,EAAA,cAAC,YAAMC,EAAeE,EAAa,OAAQL,CAAQ,CAAE,CACvD,CACD,CACH,CACF,EACE,IACN,CAEJ,CA9DgBa,EAAAf,EAAA","names":["Info","React","CostCalculatorContributionsBreakdown","contributionsTotal","currency","contributionsBreakdown","React","formatCurrency","Separator","contribution","index","TooltipProvider","Tooltip","TooltipTrigger","Button","Info","TooltipContent","__name"]}
@@ -1,2 +0,0 @@
1
- import{a as e}from"./chunk-SCMGXEPG.js";import{b as t}from"./chunk-WS3C3WIJ.js";import{a}from"./chunk-AYDF3IFZ.js";import f from"react";function S({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.createElement(e,{defaultValues:c,onSubmit:p})}a(S,"BasicInformationStep");export{S as a};
2
- //# sourceMappingURL=chunk-JDDP3DHS.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/Onboarding/BasicInformationStep.tsx"],"sourcesContent":["import React from 'react';\nimport { 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 '@remoteoss/json-schema-form';\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":"mHAAA,OAAOA,MAAW,QAsBX,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,OACEQ,EAAA,cAACC,EAAA,CAAe,cAAeF,EAAe,SAAUL,EAAc,CAE1E,CAhCgBC,EAAAP,EAAA","names":["React","BasicInformationStep","onSubmit","onSuccess","onError","onboardingBag","useOnboardingContext","handleSubmit","__name","payload","response","error","initialValues","React","OnboardingForm"]}
@@ -1,2 +0,0 @@
1
- import{a,b as m,c as p,d as l}from"./chunk-3FVI5JIC.js";import{a as e}from"./chunk-MESREYTZ.js";import{b as n}from"./chunk-56BNVYTD.js";import{b as i}from"./chunk-5ETXP2QF.js";import{a as t}from"./chunk-AYDF3IFZ.js";import{Info as v}from"lucide-react";import o from"react";function w({benefitsTotal:d,benefitsBreakdown:f,currency:r}){return o.createElement("div",null,o.createElement("div",{className:"flex justify-between items-center mb-2"},o.createElement("h3",{className:"font-medium text-primary-foreground-800"},"Benefits"),o.createElement("span",{className:"font-semibold text-lg"},i(d,r))),o.createElement(e,{className:"mb-3"}),o.createElement("div",{className:"space-y-3 pl-2"},f.map((s,u)=>o.createElement("div",{key:u,className:"flex justify-between items-start text-sm"},o.createElement("div",{className:"flex items-start gap-2"},o.createElement("span",null,s.name),o.createElement(a,null,o.createElement(m,null,o.createElement(p,{asChild:!0},o.createElement(n,{variant:"ghost",size:"icon",className:"h-4 w-4 p-0"},o.createElement(v,{className:"h-3 w-3 text-gray-400"}),o.createElement("span",{className:"sr-only"},"Info"))),o.createElement(l,null,o.createElement("p",{className:"max-w-xs"},s.description))))),o.createElement("span",null,i(s.amount,r))))))}t(w,"CostCalculatorBenefitsBreakdown");export{w as a};
2
- //# sourceMappingURL=chunk-KH6QS5OU.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/CostCalculator/Results/CostCalculatorBenefitsBreakdown.tsx"],"sourcesContent":["import { Info } from 'lucide-react';\nimport React from 'react';\n\nimport { Button } from '@/src/components/ui/button';\nimport { Separator } from '@/src/components/ui/separator';\nimport {\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n Tooltip as UITooltip,\n} from '@/src/components/ui/tooltip';\nimport { formatCurrency } from '@/src/lib/utils';\n\ntype CostCalculatorBenefitsBreakdownProps = {\n benefitsTotal: number | undefined;\n benefitsBreakdown: {\n name: string;\n description: string | null;\n amount: number;\n }[];\n currency: string;\n};\n\nexport function CostCalculatorBenefitsBreakdown({\n benefitsTotal,\n benefitsBreakdown,\n currency,\n}: CostCalculatorBenefitsBreakdownProps) {\n return (\n <div>\n <div className=\"flex justify-between items-center mb-2\">\n <h3 className=\"font-medium text-primary-foreground-800\">Benefits</h3>\n <span className=\"font-semibold text-lg\">\n {formatCurrency(benefitsTotal, currency)}\n </span>\n </div>\n <Separator className=\"mb-3\" />\n\n <div className=\"space-y-3 pl-2\">\n {benefitsBreakdown.map((benefit, index) => (\n <div key={index} className=\"flex justify-between items-start text-sm\">\n <div className=\"flex items-start gap-2\">\n <span>{benefit.name}</span>\n <TooltipProvider>\n <UITooltip>\n <TooltipTrigger asChild>\n <Button variant=\"ghost\" size=\"icon\" className=\"h-4 w-4 p-0\">\n <Info className=\"h-3 w-3 text-gray-400\" />\n <span className=\"sr-only\">Info</span>\n </Button>\n </TooltipTrigger>\n <TooltipContent>\n <p className=\"max-w-xs\">{benefit.description}</p>\n </TooltipContent>\n </UITooltip>\n </TooltipProvider>\n </div>\n <span>{formatCurrency(benefit.amount, currency)}</span>\n </div>\n ))}\n </div>\n </div>\n );\n}\n"],"mappings":"wNAAA,OAAS,QAAAA,MAAY,eACrB,OAAOC,MAAW,QAsBX,SAASC,EAAgC,CAC9C,cAAAC,EACA,kBAAAC,EACA,SAAAC,CACF,EAAyC,CACvC,OACEC,EAAA,cAAC,WACCA,EAAA,cAAC,OAAI,UAAU,0CACbA,EAAA,cAAC,MAAG,UAAU,2CAA0C,UAAQ,EAChEA,EAAA,cAAC,QAAK,UAAU,yBACbC,EAAeJ,EAAeE,CAAQ,CACzC,CACF,EACAC,EAAA,cAACE,EAAA,CAAU,UAAU,OAAO,EAE5BF,EAAA,cAAC,OAAI,UAAU,kBACZF,EAAkB,IAAI,CAACK,EAASC,IAC/BJ,EAAA,cAAC,OAAI,IAAKI,EAAO,UAAU,4CACzBJ,EAAA,cAAC,OAAI,UAAU,0BACbA,EAAA,cAAC,YAAMG,EAAQ,IAAK,EACpBH,EAAA,cAACK,EAAA,KACCL,EAAA,cAACM,EAAA,KACCN,EAAA,cAACO,EAAA,CAAe,QAAO,IACrBP,EAAA,cAACQ,EAAA,CAAO,QAAQ,QAAQ,KAAK,OAAO,UAAU,eAC5CR,EAAA,cAACS,EAAA,CAAK,UAAU,wBAAwB,EACxCT,EAAA,cAAC,QAAK,UAAU,WAAU,MAAI,CAChC,CACF,EACAA,EAAA,cAACU,EAAA,KACCV,EAAA,cAAC,KAAE,UAAU,YAAYG,EAAQ,WAAY,CAC/C,CACF,CACF,CACF,EACAH,EAAA,cAAC,YAAMC,EAAeE,EAAQ,OAAQJ,CAAQ,CAAE,CAClD,CACD,CACH,CACF,CAEJ,CAxCgBY,EAAAf,EAAA","names":["Info","React","CostCalculatorBenefitsBreakdown","benefitsTotal","benefitsBreakdown","currency","React","formatCurrency","Separator","benefit","index","TooltipProvider","Tooltip","TooltipTrigger","Button","Info","TooltipContent","__name"]}
@@ -1,2 +0,0 @@
1
- import{b as n}from"./chunk-DZYFSFZ7.js";import{b as r}from"./chunk-56BNVYTD.js";import{a as o}from"./chunk-AYDF3IFZ.js";import e from"react";function B(t){let{formId:i}=n();return e.createElement(r,{...t,form:i},t.children)}o(B,"TerminationSubmit");export{B as a};
2
- //# sourceMappingURL=chunk-KSGPQCSG.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/Termination/TerminationSubmit.tsx"],"sourcesContent":["import { Button } from '@/src/components/ui/button';\nimport React, { ButtonHTMLAttributes, PropsWithChildren } from 'react';\nimport { useTerminationContext } from './context';\n\nexport function TerminationSubmit(\n props: PropsWithChildren<ButtonHTMLAttributes<HTMLButtonElement>>,\n) {\n const { formId } = useTerminationContext();\n\n return (\n <Button {...props} form={formId}>\n {props.children}\n </Button>\n );\n}\n"],"mappings":"wHACA,OAAOA,MAAwD,QAGxD,SAASC,EACdC,EACA,CACA,GAAM,CAAE,OAAAC,CAAO,EAAIC,EAAsB,EAEzC,OACEC,EAAA,cAACC,EAAA,CAAQ,GAAGJ,EAAO,KAAMC,GACtBD,EAAM,QACT,CAEJ,CAVgBK,EAAAN,EAAA","names":["React","TerminationSubmit","props","formId","useTerminationContext","React","Button","__name"]}
@@ -1,2 +0,0 @@
1
- import{b as n}from"./chunk-WS3C3WIJ.js";import{b as o}from"./chunk-56BNVYTD.js";import{a as t}from"./chunk-AYDF3IFZ.js";import u from"react";function s({children:r,...i}){let{onboardingBag:{back:e}}=n();return u.createElement(o,{...i,onClick:()=>{e()}},r)}t(s,"OnboardingBack");export{s as a};
2
- //# sourceMappingURL=chunk-M7WCW7WD.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/Onboarding/OnboardingBack.tsx"],"sourcesContent":["import { Button } from '@/src/components/ui/button';\nimport React, { ButtonHTMLAttributes, PropsWithChildren } from 'react';\nimport { useOnboardingContext } from '@/src/flows/Onboarding/context';\n\nexport function OnboardingBack({\n children,\n ...props\n}: PropsWithChildren<ButtonHTMLAttributes<HTMLButtonElement>>) {\n const {\n onboardingBag: { back },\n } = useOnboardingContext();\n\n return (\n <Button\n {...props}\n onClick={() => {\n back();\n }}\n >\n {children}\n </Button>\n );\n}\n"],"mappings":"wHACA,OAAOA,MAAwD,QAGxD,SAASC,EAAe,CAC7B,SAAAC,EACA,GAAGC,CACL,EAA+D,CAC7D,GAAM,CACJ,cAAe,CAAE,KAAAC,CAAK,CACxB,EAAIC,EAAqB,EAEzB,OACEC,EAAA,cAACC,EAAA,CACE,GAAGJ,EACJ,QAAS,IAAM,CACbC,EAAK,CACP,GAECF,CACH,CAEJ,CAlBgBM,EAAAP,EAAA","names":["React","OnboardingBack","children","props","back","useOnboardingContext","React","Button","__name"]}
@@ -1,2 +0,0 @@
1
- import{a as n}from"./chunk-PZTCP3TY.js";import{b as i}from"./chunk-DZYFSFZ7.js";import{a as o}from"./chunk-AYDF3IFZ.js";import e from"react";function l({onSubmit:r}){let{terminationBag:m}=i();return e.createElement(n,{onSubmit:o(async t=>{await r?.(m?.parseFormValues(t)),m?.next()},"handleSubmit")})}o(l,"EmployeeCommunicationForm");export{l as a};
2
- //# sourceMappingURL=chunk-MCGCUNZW.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/Termination/EmployeeComunicationForm.tsx"],"sourcesContent":["import React from 'react';\nimport { useTerminationContext } from './context';\nimport { TerminationFormValues } from '@/src/flows/Termination/types';\nimport { TerminationForm } from '@/src/flows/Termination/TerminationForm';\n\ntype EmployeeComunicationProps = {\n /*\n * The function is called when the form is submitted. It receives the form values as an argument.\n */\n onSubmit?: (payload: TerminationFormValues) => void | Promise<void>;\n};\n\nexport function EmployeeCommunicationForm({\n onSubmit,\n}: EmployeeComunicationProps) {\n const { terminationBag } = useTerminationContext();\n const handleSubmit = async (values: TerminationFormValues) => {\n await onSubmit?.(\n terminationBag?.parseFormValues(values) as TerminationFormValues,\n );\n terminationBag?.next();\n };\n\n return <TerminationForm onSubmit={handleSubmit} />;\n}\n"],"mappings":"wHAAA,OAAOA,MAAW,QAYX,SAASC,EAA0B,CACxC,SAAAC,CACF,EAA8B,CAC5B,GAAM,CAAE,eAAAC,CAAe,EAAIC,EAAsB,EAQjD,OAAOC,EAAA,cAACC,EAAA,CAAgB,SAPHC,EAAA,MAAOC,GAAkC,CAC5D,MAAMN,IACJC,GAAgB,gBAAgBK,CAAM,CACxC,EACAL,GAAgB,KAAK,CACvB,EALqB,gBAO2B,CAClD,CAZgBI,EAAAN,EAAA","names":["React","EmployeeCommunicationForm","onSubmit","terminationBag","useTerminationContext","React","TerminationForm","__name","values"]}
@@ -1,2 +0,0 @@
1
- import{a as o}from"./chunk-5ETXP2QF.js";import{a as t}from"./chunk-AYDF3IFZ.js";import*as r from"react";import*as a from"@radix-ui/react-separator";function m({className:i,orientation:e="horizontal",decorative:n=!0,...p}){return r.createElement(a.Root,{"data-slot":"separator-root",decorative:n,orientation:e,className:o("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",i),...p})}t(m,"Separator");export{m as a};
2
- //# sourceMappingURL=chunk-MESREYTZ.js.map
@@ -1,2 +0,0 @@
1
- import{b as r}from"./chunk-WS3C3WIJ.js";import{b as o}from"./chunk-56BNVYTD.js";import{a as t}from"./chunk-AYDF3IFZ.js";import e from"react";function d({children:n,...i}){let{formId:u}=r();return e.createElement(o,{...i,form:u},n)}t(d,"OnboardingSubmit");export{d as a};
2
- //# sourceMappingURL=chunk-MHKNAQLP.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/Onboarding/OnboardingSubmit.tsx"],"sourcesContent":["import React, { ButtonHTMLAttributes, PropsWithChildren } from 'react';\nimport { Button } from '@/src/components/ui/button';\nimport { useOnboardingContext } from '@/src/flows/Onboarding/context';\n\nexport function OnboardingSubmit({\n children,\n ...props\n}: PropsWithChildren<ButtonHTMLAttributes<HTMLButtonElement>>) {\n const { formId } = useOnboardingContext();\n\n return (\n <Button {...props} form={formId}>\n {children}\n </Button>\n );\n}\n"],"mappings":"wHAAA,OAAOA,MAAwD,QAIxD,SAASC,EAAiB,CAC/B,SAAAC,EACA,GAAGC,CACL,EAA+D,CAC7D,GAAM,CAAE,OAAAC,CAAO,EAAIC,EAAqB,EAExC,OACEC,EAAA,cAACC,EAAA,CAAQ,GAAGJ,EAAO,KAAMC,GACtBF,CACH,CAEJ,CAXgBM,EAAAP,EAAA","names":["React","OnboardingSubmit","children","props","formId","useOnboardingContext","React","Button","__name"]}
@@ -1,2 +0,0 @@
1
- import{a as De}from"./chunk-GFBF55NR.js";import{b as x}from"./chunk-WRDKLT4N.js";import{a as he,b as A}from"./chunk-56BNVYTD.js";import{a as we,b as C,c as D,d as P,e as T,f as I,g as W}from"./chunk-IDSJI7KQ.js";import{a as d}from"./chunk-5ETXP2QF.js";import{a as o}from"./chunk-AYDF3IFZ.js";import q,{Fragment as xo}from"react";import*as X from"react";import*as oe from"@radix-ui/react-checkbox";import{Check as _t}from"lucide-react";var ie=X.forwardRef(({className:e,...t},r)=>X.createElement(oe.Root,{ref:r,className:d("peer h-4 w-4 shrink-0 rounded-sm border border-input ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-checkbox data-[state=checked]:text-primary",e),...t},X.createElement(oe.Indicator,{className:d("flex items-center justify-center text-current")},X.createElement(_t,{className:"h-4 w-4"}))));ie.displayName=oe.Root.displayName;import*as R from"react";import{useFormContext as xt}from"react-hook-form";function se({name:e,defaultValue:t,description:r,label:a,onChange:i,multiple:c,options:p,component:g,...F}){let{components:n}=x(),{control:m}=xt(),f=o((s,l,h)=>{let v=h.value?[...h.value]:[];l?v.includes(s)||h.onChange([...v,s]):h.onChange(v.filter(_=>_!==s))},"handleCheckboxChange");return R.createElement(C,{control:m,name:e,defaultValue:t,render:({field:s,fieldState:l})=>{let h=g||n?.checkbox;if(h){let v={name:e,description:r,label:a,defaultValue:t,multiple:c,options:p,...F};return R.createElement(h,{field:{...s,onChange:o(_=>{if(c){let{checked:L,value:S}=_.target;f(S,L,s),i?.(L);return}s.onChange(_),i?.(_)},"onChange")},fieldState:l,fieldData:v})}return R.createElement(D,{"data-field":e,className:d(`RemoteFlows__CheckBoxField__Item__${e}`)},R.createElement(T,null,R.createElement(R.Fragment,null,p&&c?R.createElement(P,null,a):null,p&&c?p.map(v=>R.createElement("div",{key:v.value,className:"flex space-x-2"},R.createElement(ie,{id:v.value,onCheckedChange:_=>{f(v.value,_===!0,s),i?.(_,v.value)},checked:s.value?.includes(v.value),className:"RemoteFlows__CheckBox__Input"}),R.createElement(P,{htmlFor:v.value,className:"mb-0 RemoteFlows__CheckBox__Label"},v.label))):R.createElement("div",{className:"flex space-x-2"},R.createElement(ie,{id:e,onCheckedChange:v=>{s.onChange(v),i?.(v)},checked:s.value,className:"RemoteFlows__CheckBox__Input"}),R.createElement(P,{htmlFor:e,className:"mb-0 RemoteFlows__CheckBox__Label"},a)))),r&&R.createElement(I,null,r),l.error&&R.createElement(W,null))}})}o(se,"CheckBoxField");import{CalendarIcon as Pt}from"lucide-react";import*as k from"react";import{useFormContext as kt}from"react-hook-form";import*as le from"react";import{ChevronLeft as Ct,ChevronRight as bt}from"lucide-react";import{DayPicker as St}from"react-day-picker";function Te({className:e,classNames:t,showOutsideDays:r=!0,...a}){return le.createElement(St,{showOutsideDays:r,className:d("p-3",e),classNames:{months:"flex flex-col sm:flex-row gap-2",month:"flex flex-col gap-4",caption:"flex justify-center pt-1 relative items-center w-full",caption_label:"text-sm font-medium",nav:"flex items-center gap-1",nav_button:d(he({variant:"outline"}),"size-7 bg-transparent p-0 opacity-50 hover:opacity-100"),nav_button_previous:"absolute left-1",nav_button_next:"absolute right-1",table:"w-full border-collapse space-x-1",head_row:"flex",head_cell:"text-muted-foreground rounded-md w-8 font-normal text-[0.8rem]",row:"flex w-full mt-2",cell:d("relative p-0 text-center text-sm focus-within:relative focus-within:z-20 [&:has([aria-selected])]:bg-accent [&:has([aria-selected].day-range-end)]:rounded-r-md",a.mode==="range"?"[&:has(>.day-range-end)]:rounded-r-md [&:has(>.day-range-start)]:rounded-l-md first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md":"[&:has([aria-selected])]:rounded-md"),day:d(he({variant:"ghost"}),"size-8 p-0 font-normal aria-selected:opacity-100"),day_range_start:"day-range-start aria-selected:bg-primary aria-selected:text-primary-foreground",day_range_end:"day-range-end aria-selected:bg-primary aria-selected:text-primary-foreground",day_selected:"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground",day_today:"bg-accent text-accent-foreground",day_outside:"day-outside text-muted-foreground aria-selected:text-muted-foreground",day_disabled:"text-muted-foreground opacity-50",day_range_middle:"aria-selected:bg-accent aria-selected:text-accent-foreground",day_hidden:"invisible",...t},components:{IconLeft:o(({className:i,...c})=>le.createElement(Ct,{className:d("size-4",i),...c}),"IconLeft"),IconRight:o(({className:i,...c})=>le.createElement(bt,{className:d("size-4",i),...c}),"IconRight")},...a})}o(Te,"Calendar");import*as re from"react";import*as U from"@radix-ui/react-popover";function me({...e}){return re.createElement(U.Root,{"data-slot":"popover",...e})}o(me,"Popover");function de({...e}){return re.createElement(U.Trigger,{"data-slot":"popover-trigger",...e})}o(de,"PopoverTrigger");function ce({className:e,align:t="center",sideOffset:r=4,...a}){return re.createElement(U.Portal,null,re.createElement(U.Content,{"data-slot":"popover-content",align:t,sideOffset:r,className:d("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",e),...a}))}o(ce,"PopoverContent");import{PopoverClose as Nt}from"@radix-ui/react-popover";import{format as Ie}from"date-fns";function Re({description:e,label:t,name:r,minDate:a,onChange:i,component:c,...p}){let{components:g}=x(),{control:F}=kt();return k.createElement(C,{control:F,name:r,render:({field:n,fieldState:m})=>{let f=c||g?.date;if(f){let s={description:e,label:t,name:r,minDate:a,onChange:i,...p};return k.createElement(f,{field:{...n,onChange:o(l=>{n.onChange(l),i?.(l)},"onChange")},fieldState:m,fieldData:s})}return k.createElement(D,{"data-field":r,className:`flex flex-col RemoteFlows__DatePickerField__Item__${r}`},k.createElement(P,{className:"RemoteFlows__DatePickerField__Label"},t),k.createElement(me,null,k.createElement(de,{asChild:!0},k.createElement(T,null,k.createElement("div",null,k.createElement(A,{type:"button",variant:"outline",className:d("w-full pl-3 text-left font-normal",!n.value&&"text-muted-foreground"),"data-testid":`date-picker-button-${r}`},n.value&&k.createElement(k.Fragment,null,Ie(n.value,"yyyy-MM-dd")),k.createElement(Pt,{className:"ml-auto h-4 w-4 opacity-50"}))))),k.createElement(ce,{className:"w-auto p-0 RemoteFlows__DatepickerField__PopoverContent",align:"start"},k.createElement(Te,{mode:"single",className:"RemoteFlows__DatepickerField__Calendar",selected:n.value?new Date(n.value):void 0,onSelect:s=>{n.onChange(s?Ie(s,"yyyy-MM-dd"):null),i?.(s)},defaultMonth:a?new Date(a):void 0,components:{DayContent:o(s=>k.createElement(Nt,null,s.date.getDate()),"DayContent")},...a&&{disabled:o(s=>s<new Date(a),"disabled")}}))),e?k.createElement(I,null,e):null,m.error&&k.createElement(W,{className:"RemoteFlows__DatePickerField__Error"}))}})}o(Re,"DatePickerField");import*as K from"react";import{cva as wt}from"class-variance-authority";import*as pe from"react";var Dt=wt("relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",{variants:{variant:{default:"bg-card text-card-foreground",destructive:"text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90",warning:"bg-card bg-warning border-warning-border [&>svg]:text-current"}},defaultVariants:{variant:"default"}});function Le({className:e,variant:t,...r}){return pe.createElement("div",{"data-slot":"alert",role:"alert",className:d(Dt({variant:t}),e),...r})}o(Le,"Alert");function We({className:e,...t}){return pe.createElement("div",{"data-slot":"alert-title",className:d("col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight",e),...t})}o(We,"AlertTitle");function Me({className:e,...t}){return pe.createElement("div",{"data-slot":"alert-description",className:d("text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed",e),...t})}o(Me,"AlertDescription");import{AlertCircle as Tt}from"lucide-react";import ae from"react";function ue({title:e,description:t,severity:r}){let{components:a}=x();if(a?.statement){let i=a?.statement;return ae.createElement(i,{data:{title:e,description:t,severity:r}})}return ae.createElement(Le,{variant:"warning"},ae.createElement(Tt,{className:"h-4 w-4"}),e&&ae.createElement(We,null,e),ae.createElement(Me,null,t))}o(ue,"Statement");function Ee({label:e,name:t,fields:r,description:a,components:i,statement:c}){return K.createElement("fieldset",{className:d("border-1 border-input p-4 rounded-xl",`RemoteFlows__FieldSetField__${t}`)},K.createElement("legend",{className:"text-sm font-semibold px-2"},e),a?K.createElement("div",{className:"mb-5 RemoteFlows__FieldSetField__Description",dangerouslySetInnerHTML:{__html:a}}):null,K.createElement("div",{className:"grid gap-4"},r.map(p=>{let g=fe[p.type];return p.isVisible===!1||p.deprecated?null:K.createElement(g,{...p,key:p.name,name:`${t}.${p.name}`,component:i?.[p.type]})}),c?K.createElement(ue,{...c}):null))}o(Ee,"FieldSetField");import*as G from"react";import{useFormContext as Mt}from"react-hook-form";import z,{useState as It,useRef as Rt}from"react";import{Upload as Lt,X as Wt}from"lucide-react";function $e({onChange:e,className:t,multiple:r}){let[a,i]=It([]),c=Rt(null),p=o(n=>{n.preventDefault(),c.current?.click()},"handleClick"),g=o(n=>{if(n.target.files&&n.target.files.length>0){let m=Array.from(n.target.files);i(m),e(n)}},"handleChange"),F=o(n=>{i(m=>m.filter(f=>f!==n))},"onRemoveFile");return z.createElement("div",{className:d("flex flex-col items-start gap-4",t)},z.createElement("input",{type:"file",ref:c,onChange:g,className:"hidden","aria-label":"File upload",multiple:r}),z.createElement(A,{type:"button",onClick:p,className:"gap-2"},z.createElement(Lt,{className:"h-4 w-4"}),"Choose File"),a.length===0&&z.createElement("div",{className:"text-sm"},r?z.createElement("span",{className:"font-medium"},"No files selected. You can select multiple files"):z.createElement("span",{className:"font-medium"},"No file selected.")),a.length>0&&a.map((n,m)=>z.createElement("div",{key:m,className:"text-sm flex items-center gap-2"},"Selected file: ",z.createElement("span",{className:"font-medium"},n.name)," (",Math.round(n.size/1024)," KB)",z.createElement(A,{variant:"ghost",onClick:()=>F(n)},z.createElement(Wt,null)))))}o($e,"FileUploader");var Et=o(e=>new Promise((t,r)=>{let a=new FileReader;a.readAsDataURL(e),a.onload=()=>t(a.result),a.onerror=i=>r(i)}),"toBase64"),He=o(async e=>{let t=e.target.files?Array.from(e.target.files):[];return await Promise.all(t.map(async a=>{let i=await Et(a);return{name:a.name,content:i.split(",")[1]}}))},"convertFilesToBase64");function Be({name:e,description:t,label:r,multiple:a,onChange:i,component:c,...p}){let{components:g}=x(),{control:F}=Mt();return G.createElement(C,{control:F,name:e,render:({field:n,fieldState:m})=>{let f=c||g?.file;if(f){let s={name:e,description:t,label:r,multiple:a,...p};return G.createElement(f,{field:{...n,value:null,onChange:o(async l=>{let h=await He(l);n.onChange(h),i?.(h)},"onChange")},fieldState:m,fieldData:s})}return G.createElement(D,{"data-field":e,className:`RemoteFlows__FileUpload__Item__${e}`},G.createElement(P,{className:"RemoteFlows__FileUpload__Label"},r),G.createElement(T,null,G.createElement($e,{onChange:async s=>{let l=await He(s);n.onChange(l),i?.(l)},multiple:a,className:d("RemoteFlows__FileUpload__Input")})),t&&G.createElement("div",{className:"flex items-center justify-between"},G.createElement(I,{className:"RemoteFlows__FileUpload__Description"},t)),m.error&&G.createElement(W,{className:"RemoteFlows__FileUpload__Error"}))}})}o(Be,"FileUploadField");import ye from"react";import{useFormContext as Ht}from"react-hook-form";import*as j from"react";import{useFormContext as $t}from"react-hook-form";import*as Ae from"react";function ze({className:e,type:t,...r}){return Ae.createElement("input",{type:t,"data-slot":"input",className:d("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",e),...r})}o(ze,"Input");function V({name:e,description:t,label:r,type:a,onChange:i,component:c,includeErrorMessage:p=!0,...g}){let{components:F}=x(),{control:n}=$t();return j.createElement(C,{control:n,name:e,render:({field:m,fieldState:f})=>{let s=c||F?.text;if(s){let l={name:e,description:t,label:r,type:a,onChange:i,...g};return j.createElement(s,{field:{...m,onChange:o(h=>{m.onChange(h),i?.(h)},"onChange")},fieldState:f,fieldData:l})}return j.createElement(D,{"data-field":e,className:`RemoteFlows__TextField__Item__${e}`},r&&j.createElement(P,{className:"RemoteFlows__TextField__Label"},r),j.createElement(T,null,j.createElement(ze,{...m,value:m.value??"",onChange:l=>{m.onChange(l),i?.(l)},className:"RemoteFlows__TextField__Input",placeholder:r})),t&&j.createElement(I,{className:"RemoteFlows__TextField__Description"},t),p&&f.error&&j.createElement(W,{className:"RemoteFlows__TextField__Error"}))}})}o(V,"TextField");function _e(e){let{components:t}=x(),{control:r}=Ht(),a=e.component||t?.number;return a?ye.createElement(C,{control:r,name:e.name,render:({field:i,fieldState:c})=>ye.createElement(a,{field:{...i,onChange:o(p=>{i.onChange(p),e.onChange?.(p)},"onChange")},fieldState:c,fieldData:e})}):ye.createElement(V,{...e,type:"text",inputMode:"decimal",pattern:"^[0-9.]*$"})}o(_e,"NumberField");import*as Q from"@radix-ui/react-radio-group";import{CircleIcon as Bt}from"lucide-react";import*as ne from"react";function Oe({className:e,...t}){return ne.createElement(Q.Root,{"data-slot":"radio-group",className:d("grid gap-3",e),...t})}o(Oe,"RadioGroup");function Ge({className:e,...t}){return ne.createElement(Q.Item,{"data-slot":"radio-group-item",className:d("border-input text-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive aspect-square size-4 shrink-0 rounded-full border shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",e),...t},ne.createElement(Q.Indicator,{"data-slot":"radio-group-indicator",className:"relative flex items-center justify-center"},ne.createElement(Bt,{className:"fill-radio absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2"})))}o(Ge,"RadioGroupItem");import*as N from"react";import{useFormContext as At}from"react-hook-form";function Ve({name:e,defaultValue:t,description:r,label:a,options:i,onChange:c,component:p,...g}){let{components:F}=x(),{control:n}=At();return N.createElement(C,{control:n,name:e,defaultValue:t,render:({field:m,fieldState:f})=>{let s=p||F?.radio;if(s){let l={name:e,defaultValue:t,description:r,label:a,options:i,...g};return N.createElement(s,{field:{...m,onChange:o(h=>{m.onChange(h),c?.(h)},"onChange")},fieldState:f,fieldData:l})}return N.createElement(D,{className:d("space-y-3",`RemoteFlows__RadioGroupField__Item__${e}`),"data-field":e},N.createElement(P,null,a),N.createElement(T,null,N.createElement(Oe,{"aria-label":a||e,onValueChange:l=>{m.onChange(l),c?.(l)},value:m.value,className:"flex flex-col space-y-3"},i?.map(l=>N.createElement(N.Fragment,null,N.createElement(D,{key:l.value,"data-field":e,className:"flex items-start space-x-3 space-y-0 gap-0 RemoteFlows__RadioField__Item"},N.createElement(T,null,N.createElement(Ge,{value:l.value,className:"RemoteFlows__RadioField__Input"})),N.createElement("div",null,N.createElement(P,{className:"font-normal mb-0 RemoteFlows__RadioField__Label"},l.label),l.description&&N.createElement(I,{className:"mt-2"},l.description))))))),r&&N.createElement(I,null,r),f.error&&N.createElement(W,null))}})}o(Ve,"RadioGroupField");import*as M from"react";import*as b from"react";import*as y from"@radix-ui/react-select";import{CheckIcon as zt,ChevronDownIcon as Ue,ChevronUpIcon as Ot}from"lucide-react";function je({...e}){return b.createElement(y.Root,{"data-slot":"select",...e})}o(je,"Select");function Je({...e}){return b.createElement(y.Group,{"data-slot":"select-group",...e})}o(Je,"SelectGroup");function qe({...e}){return b.createElement(y.Value,{"data-slot":"select-value",...e})}o(qe,"SelectValue");function Ke({className:e,children:t,...r}){return b.createElement(y.Trigger,{"data-slot":"select-trigger",className:d("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive flex w-full items-center justify-between rounded-xl border bg-transparent px-4 py-7 text-sm whitespace-nowrap transition-[color] outline-none disabled:cursor-not-allowed disabled:opacity-50 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4","focus-visible:border-focused",e),...r},t,b.createElement(y.Icon,{asChild:!0,className:"absolute right-4"},b.createElement(Ue,{className:"size-4"})))}o(Ke,"SelectTrigger");function Ye({className:e,children:t,position:r="popper",...a}){return b.createElement(y.Portal,null,b.createElement(y.Content,{"data-slot":"select-content",className:d("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-xl border",r==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:r,...a},b.createElement(Gt,null),b.createElement(y.Viewport,{className:d(r==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1")},t),b.createElement(Vt,null)))}o(Ye,"SelectContent");function Xe({className:e,children:t,...r}){return b.createElement(y.Item,{"data-slot":"select-item",className:d("focus:bg-accent focus:text-accent-foreground min-h-11 justify-between [&_svg:not([class*='text-'])]:text-muted-foreground flex w-full cursor-default items-center gap-2 py-2 px-4 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e),...r},b.createElement(y.ItemText,null,t),b.createElement("span",{className:"flex size-3.5 items-center justify-center"},b.createElement(y.ItemIndicator,null,b.createElement(zt,{className:"size-4"}))))}o(Xe,"SelectItem");function Gt({className:e,...t}){return b.createElement(y.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:d("flex cursor-default items-center justify-center py-1",e),...t},b.createElement(Ot,{className:"size-4"}))}o(Gt,"SelectScrollUpButton");function Vt({className:e,...t}){return b.createElement(y.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:d("flex cursor-default items-center justify-center py-1",e),...t},b.createElement(Ue,{className:"size-4"}))}o(Vt,"SelectScrollDownButton");import{useFormContext as Ut}from"react-hook-form";function Qe({label:e,name:t,options:r,defaultValue:a,description:i,onChange:c,component:p,...g}){let{control:F}=Ut(),{components:n}=x();return M.createElement(C,{defaultValue:a,control:F,name:t,render:({field:m,fieldState:f})=>{let s=p||n?.select;if(s){let l={label:e,name:t,options:r,defaultValue:a,description:i,onChange:c,...g};return M.createElement(s,{field:{...m,onChange:o(h=>{m.onChange(h),c?.(h)},"onChange")},fieldState:f,fieldData:l})}return M.createElement(D,{"data-field":t,className:`RemoteFlows__SelectField__Item__${t}`},M.createElement(P,{className:"RemoteFlows__SelectField__Label"},e),M.createElement(T,null,M.createElement("div",{className:"relative"},M.createElement(je,{value:m.value||"",onValueChange:l=>{m.onChange(l),c?.(l)}},M.createElement(Ke,{className:"RemoteFlows__SelectField__Trigger","aria-invalid":!!f.error,"aria-label":e},M.createElement("span",{className:"absolute"},M.createElement(qe,{placeholder:e}))),M.createElement(Ye,{className:"RemoteFlows__SelectField__Content"},M.createElement(Je,{className:"RemoteFlows__SelectField__Group"},r.map(l=>M.createElement(Xe,{key:l.value,value:l.value,className:"RemoteFlows__SelectField__SelectItem"},l.label))))))),i&&M.createElement(I,null,i),f.error&&M.createElement(W,null))}})}o(Qe,"SelectField");import J,{useState as eo}from"react";import{useFormContext as to}from"react-hook-form";import w,{Fragment as Kt,useState as Yt}from"react";import{Check as Xt,ChevronDownIcon as Qt,X as Zt}from"lucide-react";import*as Y from"react";import{Command as Z}from"cmdk";import{SearchIcon as Ca}from"lucide-react";import*as H from"react";import*as E from"@radix-ui/react-dialog";import{XIcon as jt}from"lucide-react";function xe({...e}){return H.createElement(E.Root,{"data-slot":"dialog",...e})}o(xe,"Dialog");function Ze({...e}){return H.createElement(E.Trigger,{"data-slot":"dialog-trigger",...e})}o(Ze,"DialogTrigger");function Jt({...e}){return H.createElement(E.Portal,{"data-slot":"dialog-portal",...e})}o(Jt,"DialogPortal");function qt({className:e,...t}){return H.createElement(E.Overlay,{"data-slot":"dialog-overlay",className:d("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",e),...t})}o(qt,"DialogOverlay");function Ce({className:e,children:t,...r}){return H.createElement(Jt,{"data-slot":"dialog-portal"},H.createElement(qt,null),H.createElement(E.Content,{"data-slot":"dialog-content",className:d("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",e),...r},t,H.createElement(E.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 RemoteFlows__Dialog__Close"},H.createElement(jt,null),H.createElement("span",{className:"sr-only"},"Close"))))}o(Ce,"DialogContent");function be({className:e,...t}){return H.createElement("div",{"data-slot":"dialog-header",className:d("flex flex-col gap-2 text-center sm:text-left",e),...t})}o(be,"DialogHeader");function Se({className:e,...t}){return H.createElement(E.Title,{"data-slot":"dialog-title",className:d("text-lg leading-none font-semibold",e),...t})}o(Se,"DialogTitle");function et({className:e,...t}){return Y.createElement(Z,{"data-slot":"command",className:d("bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",e),...t})}o(et,"Command");function tt({className:e,...t}){return Y.createElement(Z.List,{"data-slot":"command-list",className:d("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",e),...t})}o(tt,"CommandList");function ot({...e}){return Y.createElement(Z.Empty,{"data-slot":"command-empty",className:"py-6 text-center text-sm",...e})}o(ot,"CommandEmpty");function rt({className:e,...t}){return Y.createElement(Z.Group,{"data-slot":"command-group",className:d("text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium",e),...t})}o(rt,"CommandGroup");function at({className:e,...t}){return Y.createElement(Z.Separator,{"data-slot":"command-separator",className:d("bg-border -mx-1 h-px",e),...t})}o(at,"CommandSeparator");function nt({className:e,...t}){return Y.createElement(Z.Item,{"data-slot":"command-item",className:d("data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...t})}o(nt,"CommandItem");function it({options:e,selected:t,onChange:r,placeholder:a,...i}){let[c,p]=Yt(!1),g=o(n=>{r(t.filter(m=>m.value!==n.value))},"handleUnselect"),F=e.reduce((n,m)=>{let f=m.category||"Uncategorized";return n[f]||(n[f]=[]),n[f].push(m),n},{});return w.createElement(me,{open:c,onOpenChange:p,...i},w.createElement(de,null,w.createElement(A,{variant:"outline",role:"combobox","aria-expanded":c,className:"w-full justify-between font-normal",type:"button"},w.createElement("div",{className:"flex gap-1 flex-wrap overflow-x-auto max-h-[2.5rem] items-center"},t.length>0?t.map(n=>w.createElement(De,{key:n.label,variant:"secondary",className:"mr-1 mb-1"},n.label,w.createElement("div",{role:"button",tabIndex:0,"aria-label":`remove ${n.label}`,className:"ml-1 ring-offset-background rounded-full outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 cursor-pointer",onKeyDown:m=>{m.key==="Enter"&&g(n)},onMouseDown:m=>{m.preventDefault(),m.stopPropagation()},onClick:()=>g(n)},w.createElement(Zt,{className:"h-3 w-3 text-muted-foreground hover:text-foreground"})))):w.createElement("span",{className:"text-foreground"},a)),w.createElement(Qt,{className:"size-4"}))),w.createElement(ce,{align:"start",className:"w-full p-0"},w.createElement(et,null,w.createElement(tt,null,w.createElement(ot,null,"No item found."),Object.entries(F).map(([n,m],f)=>w.createElement(Kt,{key:n},f>0&&w.createElement(at,null),w.createElement(rt,{heading:n},m.map(s=>{let l=t.some(h=>h.value===s.value);return w.createElement(nt,{key:s.label,onSelect:()=>{r(l?t.filter(h=>h.value!==s.value):[...t,s])}},w.createElement(Xt,{className:d("mr-2 h-4 w-4",l?"opacity-100":"opacity-0")}),s.label)}))))))))}o(it,"MultiSelect");function st({label:e,name:t,options:r,defaultValue:a,description:i,onChange:c,$meta:p,component:g,...F}){let{control:n}=to(),{components:m}=x(),[f,s]=eo([]);return J.createElement(C,{defaultValue:a,control:n,name:t,render:({field:l,fieldState:h})=>{let v=g||m?.countries;if(v){let S={label:e,name:t,options:r,defaultValue:a,description:i,onChange:c,$meta:p,...F};return J.createElement(v,{field:{...l,onChange:o(B=>{l.onChange(B),c?.(B)},"onChange")},fieldState:h,fieldData:S})}let _=[...Object.entries(p?.regions||{}).map(([S,B])=>({value:B,label:S,category:"Regions"})),...Object.entries(p?.subregions||{}).map(([S,B])=>({value:B,label:S,category:"Subregions"})),...r.map(S=>({...S,value:S.value,label:S.label,category:"Countries"}))],L=o(S=>{let B=S.map(({value:yt})=>yt);l.onChange(B),c?.(B),s(S)},"handleChange");return J.createElement(D,{"data-field":t,className:`RemoteFlows__CountryField__Item__${t}`},J.createElement(P,{className:"RemoteFlows__CountryField__Label"},e),J.createElement(T,null,J.createElement(it,{options:_,selected:f,onChange:L,...F})),i&&J.createElement(I,null,i),h.error&&J.createElement(W,null))}})}o(st,"CountryField");import*as O from"react";import{useFormContext as oo}from"react-hook-form";import*as ge from"react";var Pe=ge.forwardRef(({className:e,...t},r)=>ge.createElement("textarea",{className:d("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:r,...t}));Pe.displayName="Textarea";function lt({name:e,description:t,label:r,onChange:a,maxLength:i,component:c,...p}){let{components:g}=x(),{control:F}=oo();return O.createElement(C,{control:F,name:e,render:({field:n,fieldState:m})=>{let f=c||g?.textarea;if(f){let l={name:e,description:t,label:r,maxLength:i,...p};return O.createElement(f,{field:{...n,onChange:o(h=>{n.onChange(h),a?.(h)},"onChange")},fieldState:m,fieldData:l})}let s=n.value?.length??0;return O.createElement(D,{"data-field":e,className:`RemoteFlows__TextArea__Item__${e}`},O.createElement(P,{className:"RemoteFlows__TextArea__Label"},r),O.createElement(T,null,O.createElement(Pe,{...n,value:n.value??"",onChange:l=>{n.onChange(l),a?.(l)},className:d(m.error&&"border-red-500 focus-visible:ring-red-500","RemoteFlows__TextArea__Input"),placeholder:r})),(t||i)&&O.createElement("div",{className:"flex items-center justify-between"},t&&O.createElement(I,{className:"RemoteFlows__TextArea__Description"},t),i&&O.createElement("span",{className:"text-sm ml-auto RemoteFlows__TextArea__MaxLength"},s,"/",i)),m.error&&O.createElement(W,{className:"RemoteFlows__TextArea__Error"}))}})}o(lt,"TextAreaField");import ke from"react";import{useFormContext as ro}from"react-hook-form";function mt(e){let{components:t}=x(),{control:r}=ro(),a=e.component||t?.email;return a?ke.createElement(C,{control:r,name:e.name,render:({field:i,fieldState:c})=>ke.createElement(a,{field:{...i,onChange:o(p=>{i.onChange(p),e.onChange?.(p)},"onChange")},fieldState:c,fieldData:e})}):ke.createElement(V,{...e,type:"email"})}o(mt,"EmailField");import dt from"react";import{useFormContext as ao}from"react-hook-form";function ct(e){let{control:t}=ao();return dt.createElement(C,{control:t,name:e.name,render:({field:r})=>dt.createElement("input",{...r,type:"hidden"})})}o(ct,"HiddenField");import u,{useEffect as co,useState as Ft}from"react";import{yupResolver as po}from"@hookform/resolvers/yup";import{useForm as uo,useFormContext as fo,useFieldArray as go}from"react-hook-form";import*as $ from"yup";import pt from"lodash.groupby";import ee from"lodash.capitalize";var ut=60,Fe=["monday","tuesday","wednesday","thursday","friday","saturday","sunday"];function no(e){if(e<60)return`${e}m`;let t=Math.floor(e/ut),r=e%ut;return r>0?`${t}h${r}m`:`${t}h`}o(no,"convertBreakDurationToHours");function ft(e){let t=e.reduce((r,a)=>a.hours+r,0);return Number(t.toFixed(2))}o(ft,"calculateTotalWorkHours");function io(e,t){let r=t.map(({day:c})=>c.toLowerCase()),a=r.indexOf(e),i=null;for(;a<r.length&&!i;){let c=r[a],p=r[a+1],g=Fe.indexOf(c)+1;Fe[g]===p||(i=c),a+=1}return i}o(io,"findLastConsecutiveDay");function so(e){return e.start_time&&e.end_time&&(typeof e.hours=="number"?e.hours:Number.parseInt(e.hours))>0}o(so,"shouldSummarizeSchedule");function lo(e){return Number.parseInt(e.break_duration_minutes)>0}o(lo,"shouldSummarizeBreaks");function gt(e){let t=e.filter(so),r=pt(t,g=>`${g.start_time}|${g.end_time}`),a=e.filter(lo),i=pt(a,"break_duration_minutes"),c=Object.keys(r).map(g=>{let F=r[g],n=F[0].day,[m,f]=g.split("|"),s=`from <span>${m.replace(":","h")}</span> to <span>${f.replace(":","h")}</span>`,l=io(n,F),v=(l?F.findIndex(_=>_.day===l):-1)===F.length-1;return F.length===1?`${ee(n)}, ${s}`:!v||!l?F.reduce((_,L,S)=>{let B=ee(L.day);return S===F.length-1?`${_}and ${B}, ${s}`:`${_}<span>${B}</span>, `},""):`<span>${ee(n)}</span> to <span>${ee(l)}</span>, ${s}`}),p=Object.keys(i).reverse().map((g,F)=>{let n=F===0,m=i[g],f=no(parseInt(g,10));if(Object.keys(i).length===1)return`With ${f} daily breaks`;if(m.length===1){let s=`${f} break on ${ee(m[0].day)}.`;return n?`With ${s}`:s}return m.reduce((s,l,h)=>{let v=ee(l.day);return h===0?`${s} ${v}`:h===m.length-1?`${s}, and ${v}.`:`${s}, ${v}`},n?`With ${f} break on`:`${f} break on`)});return{workHoursSummary:c,breakSummary:p}}o(gt,"buildWorkScheduleSummary");function Ne(e){let{checked:t,start_time:r,end_time:a,break_duration_minutes:i}=e;if(!t)return 0;let[c,p]=r.split(":").map(Number),[g,F]=a.split(":").map(Number),n=c*60+p,s=(g*60+F-n-Number.parseInt(i||"0"))/60;return s===Math.floor(s)?s:Number(s.toFixed(2))}o(Ne,"calculateHours");var mo={monday:"Mon",tuesday:"Tue",wednesday:"Wed",thursday:"Thu",friday:"Fri",saturday:"Sat",sunday:"Sun"};function ve(e){return mo[e]}o(ve,"getShortWeekday");var Fo=$.object({day:$.string().required(),checked:$.boolean().required(),start_time:$.string().matches(/^([01]\d|2[0-3]):([0-5]\d)$/,"Invalid time format (HH:mm)").when("checked",{is:!0,then:o(e=>e.required("Required"),"then"),otherwise:o(e=>e.optional().nullable(),"otherwise")}),end_time:$.string().matches(/^([01]\d|2[0-3]):([0-5]\d)$/,"Invalid time format (HH:mm)").when("checked",{is:!0,then:o(e=>e.required("Required"),"then"),otherwise:o(e=>e.optional().nullable(),"otherwise")}),hours:$.number().default(0),break_duration_minutes:$.string().default("0")}),vo=$.object({schedule:$.array(Fo)});function ho({defaultSchedule:e,onSubmit:t}){let[r,a]=Ft(!1),i=Fe.map(v=>{let _=e.find(L=>L.day.toLowerCase()===ve(v).toLowerCase()||L.day.toLowerCase()===v.toLowerCase());return _?{..._,day:ve(v),checked:!0}:{...e[0],checked:!1,day:ve(v)}}),c=uo({defaultValues:{schedule:i},resolver:po(vo)}),{handleSubmit:p,watch:g,reset:F,control:n,formState:m}=c,{fields:f}=go({name:"schedule",control:n}),s=g("schedule");function l(v){let _=v.schedule.filter(({checked:L})=>L).map(L=>({...L,hours:Ne(L)}));t(_),a(!1)}o(l,"handleSubmitWorkingHours");function h(){F(),a(!1)}return o(h,"handleCancel"),u.createElement("div",{className:"flex items-center justify-between"},u.createElement(xe,{open:r,onOpenChange:a},u.createElement(Ze,{asChild:!0},u.createElement(A,{variant:"link",className:"flex items-center p-0 RemoteFlows__WorkScheduleSelectionForm__Trigger"},"Edit Schedule")),u.createElement(Ce,{className:"max-w-5xl max-h-[90vh] overflow-y-auto px-8 py-4 RemoteFlows__WorkScheduleSelectionForm__Content"},u.createElement(be,null,u.createElement(Se,{className:"RemoteFlows__WorkScheduleSelectionForm__Title"},"Edit employee working hours")),u.createElement(we,{...c},u.createElement("form",{className:"space-y-4 RemoteFlows__WorkScheduleSelectionForm__Form"},u.createElement("div",{className:"rounded-lg"},u.createElement("p",{className:"text-gray-600 text-sm mb-4 RemoteFlows__WorkScheduleSelectionForm__Description"},"The times displayed are in the employee's time zone in the 24-hour format."),u.createElement("div",{className:"grid grid-cols-12 gap-4 text-sm font-medium text-gray-500 uppercase tracking-wide RemoteFlows__WorkScheduleSelectionForm__Header"},u.createElement("div",{className:"col-span-2"}),u.createElement("div",{className:"col-span-3 text-center"},"START"),u.createElement("div",{className:"col-span-1 text-center"}),u.createElement("div",{className:"col-span-3 text-center"},"END"),u.createElement("div",{className:"col-span-2 text-center"},"HOURS")),u.createElement("div",{className:"RemoteFlows__WorkScheduleSelectionForm__Rows"},f.map((v,_)=>{let L=s[_],S=Ne(L);return u.createElement(u.Fragment,{key:v.id},u.createElement("div",{className:"grid grid-cols-12 gap-4 items-center py-2 RemoteFlows__WorkScheduleSelectionForm__Row-Hours"},u.createElement("div",{className:"col-span-2 flex items-center gap-3"},u.createElement(se,{label:v.day,name:`schedule.${_}.checked`})),u.createElement("div",{className:"col-span-3"},u.createElement(V,{name:`schedule.${_}.start_time`,includeErrorMessage:!1})),u.createElement("div",{className:"col-span-1 text-center text-gray-500"},"to"),u.createElement("div",{className:"col-span-3"},u.createElement(V,{name:`schedule.${_}.end_time`,includeErrorMessage:!1})),u.createElement("div",{className:"col-span-2 text-center text-gray-600"},isNaN(S)?"-":`${S} hours`)),u.createElement("div",{className:"grid grid-cols-12 gap-4 items-center py-2 RemoteFlows__WorkScheduleSelectionForm__Row-Break"},u.createElement("div",{className:"col-span-2 text-gray-500"},"Break"),u.createElement("div",{className:"col-span-2"},u.createElement(V,{name:`schedule.${_}.break_duration_minutes`,includeErrorMessage:!1})),u.createElement("div",{className:"col-span-2 text-gray-500"},"minutes"),u.createElement("div",{className:"col-span-4"})))}))),Object.keys(m.errors).length>0&&u.createElement("p",{className:"text-destructive text-sm mb-0"},"Invalid time format (HH:mm)"),u.createElement("div",{className:"flex gap-4 pt-4"},u.createElement(A,{type:"button",className:"reset-button",variant:"outline",onClick:h},"Cancel"),u.createElement(A,{type:"button",className:"submit-button",onClick:p(l)},"Save Schedule")))))))}o(ho,"WorkScheduleSelectionForm");function vt(e){let{components:t}=x(),{setValue:r,control:a,watch:i}=fo(),c=i(e.name),[p,g]=Ft(c),{workHoursSummary:F,breakSummary:n}=gt(p),m=ft(p);co(()=>{r(e.name,p)},[p,e.name,r]);function f(l){g(l)}o(f,"onSubmit");let s=e.component||t?.["work-schedule"];return s?u.createElement(C,{control:a,name:e.name,render:({field:l,fieldState:h})=>u.createElement(s,{field:{...l,onChange:o(v=>{l.onChange(v),e.onChange?.(v)},"onChange")},fieldState:h,fieldData:{...e,defaultFormattedValue:{workHoursSummary:F,breakSummary:n,totalWorkHours:m}}})}):u.createElement("div",{className:"flex flex-col gap-3 RemoteFlows__WorkScheduleField"},u.createElement("p",{className:"text-sm RemoteFlows__WorkScheduleField__Title"},"Work hours"),u.createElement("div",{className:"flex flex-col gap-1 RemoteFlows__WorkScheduleField__Summary"},u.createElement("p",{className:"text-sm text-gray-500 RemoteFlows__WorkScheduleField__Summary__WorkHours",dangerouslySetInnerHTML:{__html:F.join(", ")}}),u.createElement("p",{className:"text-sm text-gray-500 RemoteFlows__WorkScheduleField__Summary__Break"},n.join()),u.createElement("p",{className:"text-sm text-gray-500 RemoteFlows__WorkScheduleField__Summary__Total"},"Total of ",u.createElement("span",null,m)," hours per week"),u.createElement(ho,{defaultSchedule:p,onSubmit:f})))}o(vt,"WorkScheduleField");var fe={checkbox:se,text:V,email:mt,money:_e,select:Qe,radio:Ve,number:_e,file:Be,fieldset:Ee,date:Re,textarea:lt,countries:st,hidden:ct,"work-schedule":vt};import te,{useEffect as yo}from"react";import{useFormContext as _o}from"react-hook-form";function ht({name:e,value:t,description:r,statement:a}){let{setValue:i}=_o();return yo(()=>{i(e,t)},[]),te.createElement("div",null,a?te.createElement(te.Fragment,null,te.createElement("p",{className:`text-sm RemoteFlows__ForcedValue__Title__${e}`,dangerouslySetInnerHTML:{__html:a?.title}}),te.createElement("p",{className:`text-xs RemoteFlows__ForcedValue__Description__${e}`,dangerouslySetInnerHTML:{__html:a?.description}})):te.createElement("p",{className:`text-xs RemoteFlows__ForcedValue__Description__${e}`,dangerouslySetInnerHTML:{__html:r}}))}o(ht,"ForcedValueField");function Co(e){return e.const!==void 0&&e.const===e.default&&e.inputType!=="checkbox"&&e.inputType!=="hidden"}o(Co,"checkFieldHasForcedValue");var Qn=o(({fields:e,components:t})=>!e||e.length===0?null:q.createElement(q.Fragment,null,e.map(r=>{if(r.isVisible===!1||r.deprecated)return null;if(Co(r))return q.createElement(ht,{key:r.name,name:r.name,description:r.description,value:r.const,statement:r.statement});let a=fe[r.inputType];return r.inputType==="fieldset"?q.createElement(a,{...r,components:t}):a?q.createElement(xo,{key:r.name},q.createElement(a,{...r,component:t&&t[r.inputType]}),r.statement?q.createElement(ue,{...r.statement}):null):q.createElement("p",{className:"error"},"Field type ",r.inputType," not supported")})),"JSONSchemaFormFields");export{Qn as a};
2
- //# sourceMappingURL=chunk-N4L6QFI4.js.map