@remoteoss/remote-flows 1.22.0 → 1.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (319) hide show
  1. package/dist/CheckboxFieldDefault-XSBJF4HQ.js +2 -0
  2. package/dist/CountryFieldDefault-K5X6MFP3.js +2 -0
  3. package/dist/DatePickerFieldDefault-G6FWA64N.js +2 -0
  4. package/dist/EmailFieldDefault-TFQ5SQVC.js +2 -0
  5. package/dist/FileUploadFieldDefault-7ETO2SEZ.js +2 -0
  6. package/dist/MultiSelectFieldDefault-5TL5SL7W.js +2 -0
  7. package/dist/NumberFieldDefault-L7J22NRQ.js +2 -0
  8. package/dist/RadioGroupFieldDefault-XSPBKOS6.js +2 -0
  9. package/dist/SelectFieldDefault-AT6LLZNX.js +2 -0
  10. package/dist/TextAreaFieldDefault-2TV3WHKH.js +2 -0
  11. package/dist/TextFieldDefault-2GEILZPU.js +2 -0
  12. package/dist/WorkScheduleFieldDefault-XH4AEXSM.js +2 -0
  13. package/dist/{chunk-J5I5ZSW3.js → chunk-26IIK5U2.js} +2 -2
  14. package/dist/{chunk-EULZWL2F.js → chunk-2JVZYQ6Z.js} +2 -2
  15. package/dist/{chunk-VXMLYWZ2.js → chunk-2V4CTIAG.js} +2 -2
  16. package/dist/{chunk-67GUBRC6.js → chunk-3LCASKDS.js} +2 -2
  17. package/dist/{chunk-AHBNUSR4.js → chunk-4IE7XN74.js} +2 -2
  18. package/dist/{chunk-OZWLRF6P.js → chunk-53KG3SOU.js} +2 -2
  19. package/dist/chunk-5CFU6XTU.js +2 -0
  20. package/dist/chunk-5CFU6XTU.js.map +1 -0
  21. package/dist/{chunk-HGNICQUY.js → chunk-6ABCDOFB.js} +2 -2
  22. package/dist/{chunk-HJ7WOTV7.js → chunk-6H4634RG.js} +2 -2
  23. package/dist/{chunk-OC3MVHTM.js → chunk-6MJVXTLI.js} +2 -2
  24. package/dist/{chunk-72TX2GXH.js → chunk-6ZHKAS7X.js} +2 -2
  25. package/dist/{chunk-XJECSJYB.js → chunk-7ZFZYZSP.js} +2 -2
  26. package/dist/{chunk-ROQYHTFQ.js → chunk-AR5X2YWE.js} +2 -2
  27. package/dist/{chunk-AOSXULKY.js → chunk-AS6KFUXS.js} +2 -2
  28. package/dist/{chunk-XAPDPR3N.js → chunk-AXV7YMZ3.js} +2 -2
  29. package/dist/{chunk-JBVLUY4M.js → chunk-B2BH4JUO.js} +2 -2
  30. package/dist/{chunk-UWL56AOZ.js → chunk-BK44KHBJ.js} +2 -2
  31. package/dist/{chunk-EFRT6C7V.js → chunk-BNQFPYNQ.js} +2 -2
  32. package/dist/{chunk-BRPBSA4E.js → chunk-CHHHYLCB.js} +2 -2
  33. package/dist/{chunk-6PYJAPM2.js → chunk-CKVI2UDU.js} +2 -2
  34. package/dist/{chunk-X6CON4YE.js → chunk-CS5TJWQM.js} +2 -2
  35. package/dist/chunk-CWAFRJAQ.js +2 -0
  36. package/dist/chunk-CWAFRJAQ.js.map +1 -0
  37. package/dist/{chunk-I3DVKJCW.js → chunk-D5AO6SOM.js} +2 -2
  38. package/dist/{chunk-I3DVKJCW.js.map → chunk-D5AO6SOM.js.map} +1 -1
  39. package/dist/{chunk-7Y4XCQZX.js → chunk-D7CBR52B.js} +2 -2
  40. package/dist/{chunk-KIQNU673.js → chunk-D7W4VBSV.js} +2 -2
  41. package/dist/{chunk-QELEVTDT.js → chunk-DJPCJ3YR.js} +2 -2
  42. package/dist/{chunk-MGY23P25.js → chunk-ECGWCDC3.js} +2 -2
  43. package/dist/{chunk-TZQ2O23Z.js → chunk-EP6FL2L3.js} +2 -2
  44. package/dist/chunk-FAIEJW57.js +2 -0
  45. package/dist/{chunk-YHQQSL4Q.js.map → chunk-FAIEJW57.js.map} +1 -1
  46. package/dist/chunk-G3HUFVSG.js +2 -0
  47. package/dist/chunk-G3HUFVSG.js.map +1 -0
  48. package/dist/chunk-H5QXOIKS.js +2 -0
  49. package/dist/{chunk-TFSRZOMP.js.map → chunk-H5QXOIKS.js.map} +1 -1
  50. package/dist/{chunk-4J36XOH2.js → chunk-HIFEVMKP.js} +2 -2
  51. package/dist/{chunk-XW7ZYSJ3.js → chunk-HLSQCUMS.js} +2 -2
  52. package/dist/{chunk-JIW2JK7J.js → chunk-HYDNZQOV.js} +2 -2
  53. package/dist/{chunk-KKOBWE62.js → chunk-IFX5XLPZ.js} +2 -2
  54. package/dist/{chunk-Y2JE46ZY.js → chunk-IORVZBRC.js} +2 -2
  55. package/dist/chunk-IYL6TSUF.js +2 -0
  56. package/dist/{chunk-PVZTOW7Z.js.map → chunk-IYL6TSUF.js.map} +1 -1
  57. package/dist/{chunk-TMVRAQYA.js → chunk-J7MCWMDD.js} +2 -2
  58. package/dist/{chunk-OIBZ7VUR.js → chunk-KXT6ACFL.js} +2 -2
  59. package/dist/chunk-LXOYWRNU.js +2 -0
  60. package/dist/{chunk-STF3NTPS.js.map → chunk-LXOYWRNU.js.map} +1 -1
  61. package/dist/{chunk-SAUF7ZUE.js → chunk-M4TBX2FU.js} +2 -2
  62. package/dist/{chunk-KQSWP3Y3.js → chunk-MGZWMJMP.js} +2 -2
  63. package/dist/chunk-MKPKDACH.js +2 -0
  64. package/dist/chunk-MKPKDACH.js.map +1 -0
  65. package/dist/{chunk-M7KQPXCS.js → chunk-N4IPXHFM.js} +2 -2
  66. package/dist/{chunk-EUQH4FU4.js → chunk-NAF6LRSS.js} +2 -2
  67. package/dist/{chunk-AQ4WWMOK.js → chunk-NLBQ7CZC.js} +2 -2
  68. package/dist/{chunk-TV2NNJVO.js → chunk-NNFWLL7F.js} +2 -2
  69. package/dist/{chunk-QWQPTZQD.js → chunk-NOTLTHHZ.js} +2 -2
  70. package/dist/{chunk-MAOJJ4WX.js → chunk-NUID2T57.js} +2 -2
  71. package/dist/{chunk-C52C6J6Q.js → chunk-OELREIVJ.js} +2 -2
  72. package/dist/{chunk-HFQAVCD2.js → chunk-OWUINMZP.js} +2 -2
  73. package/dist/{chunk-SCEOHA2U.js → chunk-OXKAGVWK.js} +2 -2
  74. package/dist/{chunk-YVAEVXHP.js → chunk-PNEB74RP.js} +2 -2
  75. package/dist/{chunk-W5USIIXL.js → chunk-PZUCONZ4.js} +2 -2
  76. package/dist/chunk-QB6OI74K.js +2 -0
  77. package/dist/chunk-QB6OI74K.js.map +1 -0
  78. package/dist/{chunk-IJQBLGTI.js → chunk-RGRCYSYE.js} +2 -2
  79. package/dist/{chunk-JTD4HJSK.js → chunk-RVADUHPA.js} +2 -2
  80. package/dist/{chunk-7XLP5WFW.js → chunk-RYVRMH6C.js} +2 -2
  81. package/dist/chunk-S6IMK3LL.js +2 -0
  82. package/dist/chunk-S6IMK3LL.js.map +1 -0
  83. package/dist/{chunk-YYGLCI2S.js → chunk-SPQM2TCX.js} +2 -2
  84. package/dist/{chunk-Z7AWT3MQ.js → chunk-T2KDFAAY.js} +2 -2
  85. package/dist/chunk-T4QDKI7V.js +2 -0
  86. package/dist/chunk-T4QDKI7V.js.map +1 -0
  87. package/dist/{chunk-CJG77FUT.js → chunk-TVCIAQTC.js} +2 -2
  88. package/dist/{chunk-E6B4ZECN.js → chunk-UNKCOOE4.js} +2 -2
  89. package/dist/{chunk-JD2O7KNE.js → chunk-VB6KFDBL.js} +2 -2
  90. package/dist/{chunk-LT27CPJ6.js → chunk-VFB3RR5I.js} +2 -2
  91. package/dist/{chunk-DPRCPBRB.js → chunk-VN535FEZ.js} +2 -2
  92. package/dist/{chunk-7PTTOR6T.js → chunk-VRW22LTU.js} +2 -2
  93. package/dist/chunk-VU6C3EU2.js +2 -0
  94. package/dist/chunk-VU6C3EU2.js.map +1 -0
  95. package/dist/{chunk-KWLKQ6N6.js → chunk-W5YNJOSB.js} +2 -2
  96. package/dist/{chunk-KN5M3VJD.js → chunk-WQVZXTW3.js} +2 -2
  97. package/dist/{chunk-TRBEYNRN.js → chunk-WRRTZ2AL.js} +2 -2
  98. package/dist/{chunk-IW6OJUGY.js → chunk-X3PUZFYX.js} +2 -2
  99. package/dist/{chunk-DPZHLV7U.js → chunk-XRN6752K.js} +2 -2
  100. package/dist/{chunk-YHCH57B7.js → chunk-YUJBCOLO.js} +2 -2
  101. package/dist/{chunk-BNY76RHM.js → chunk-Z7J6NJY2.js} +2 -2
  102. package/dist/{chunk-7AFCHGML.js → chunk-ZO34QFKD.js} +2 -2
  103. package/dist/default-components.js +1 -1
  104. package/dist/default-components.js.map +1 -1
  105. package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.js +1 -1
  106. package/dist/flows/ContractAmendment/ContractAmendmentFlow.js +1 -1
  107. package/dist/flows/ContractAmendment/ContractAmendmentForm.js +1 -1
  108. package/dist/flows/ContractAmendment/hooks.js +1 -1
  109. package/dist/flows/ContractAmendment/index.js +1 -1
  110. package/dist/flows/ContractAmendment/utils.js +1 -1
  111. package/dist/flows/ContractorOnboarding/ContractorOnboarding.d.ts +2 -2
  112. package/dist/flows/ContractorOnboarding/ContractorOnboarding.js +1 -1
  113. package/dist/flows/ContractorOnboarding/api.js +1 -1
  114. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.d.ts +1 -1
  115. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.js +1 -1
  116. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.d.ts +2 -2
  117. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.js +1 -1
  118. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.d.ts +2 -2
  119. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.js +1 -1
  120. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.d.ts +2 -2
  121. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.js +1 -1
  122. package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.d.ts +2 -2
  123. package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.js +1 -1
  124. package/dist/flows/ContractorOnboarding/components/OnboardingInvite.js +1 -1
  125. package/dist/flows/ContractorOnboarding/components/PricingPlan.d.ts +2 -2
  126. package/dist/flows/ContractorOnboarding/components/PricingPlan.js +1 -1
  127. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.d.ts +1 -1
  128. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.js +1 -1
  129. package/dist/flows/ContractorOnboarding/context.d.ts +2 -2
  130. package/dist/flows/ContractorOnboarding/hooks.d.ts +2 -2
  131. package/dist/flows/ContractorOnboarding/hooks.js +1 -1
  132. package/dist/flows/ContractorOnboarding/index.d.ts +2 -2
  133. package/dist/flows/ContractorOnboarding/index.js +1 -1
  134. package/dist/flows/ContractorOnboarding/jsfModify.d.ts +2 -2
  135. package/dist/flows/ContractorOnboarding/jsfModify.js +1 -1
  136. package/dist/flows/ContractorOnboarding/types.d.ts +2 -2
  137. package/dist/flows/ContractorOnboarding/utils.d.ts +1 -1
  138. package/dist/flows/CostCalculator/CostCalculatorFlow.js +1 -1
  139. package/dist/flows/CostCalculator/CostCalculatorForm.js +1 -1
  140. package/dist/flows/CostCalculator/EstimationResults/EstimationResults.js +1 -1
  141. package/dist/flows/CostCalculator/SummaryResults/SummaryResults.js +1 -1
  142. package/dist/flows/CostCalculator/api.js +1 -1
  143. package/dist/flows/CostCalculator/components/SalaryField.js +1 -1
  144. package/dist/flows/CostCalculator/hooks.js +1 -1
  145. package/dist/flows/CostCalculator/index.js +1 -1
  146. package/dist/flows/CostCalculator/utils.js +1 -1
  147. package/dist/flows/CreateCompany/CreateCompany.js +1 -1
  148. package/dist/flows/CreateCompany/api.js +1 -1
  149. package/dist/flows/CreateCompany/components/AddressDetailsStep.js +1 -1
  150. package/dist/flows/CreateCompany/components/CompanyBasicInformationStep.js +1 -1
  151. package/dist/flows/CreateCompany/components/CreateCompanyForm.js +1 -1
  152. package/dist/flows/CreateCompany/hooks.js +1 -1
  153. package/dist/flows/CreateCompany/index.js +1 -1
  154. package/dist/flows/Onboarding/OnboardingFlow.d.ts +1 -1
  155. package/dist/flows/Onboarding/OnboardingFlow.js +1 -1
  156. package/dist/flows/Onboarding/api.d.ts +2 -2
  157. package/dist/flows/Onboarding/api.js +1 -1
  158. package/dist/flows/Onboarding/components/AnnualGrossSalary.js +1 -1
  159. package/dist/flows/Onboarding/components/BasicInformationStep.d.ts +1 -1
  160. package/dist/flows/Onboarding/components/BasicInformationStep.js +1 -1
  161. package/dist/flows/Onboarding/components/BenefitsStep.d.ts +1 -1
  162. package/dist/flows/Onboarding/components/BenefitsStep.js +1 -1
  163. package/dist/flows/Onboarding/components/ContractDetailsStep.d.ts +1 -1
  164. package/dist/flows/Onboarding/components/ContractDetailsStep.js +1 -1
  165. package/dist/flows/Onboarding/components/OnboardingForm.d.ts +1 -1
  166. package/dist/flows/Onboarding/components/OnboardingForm.js +1 -1
  167. package/dist/flows/Onboarding/components/OnboardingInvite.js +1 -1
  168. package/dist/flows/Onboarding/components/ReviewStep.d.ts +1 -1
  169. package/dist/flows/Onboarding/components/SelectCountryStep.d.ts +1 -1
  170. package/dist/flows/Onboarding/components/SelectCountryStep.js +1 -1
  171. package/dist/flows/Onboarding/context.d.ts +1 -1
  172. package/dist/flows/Onboarding/hooks.d.ts +1 -1
  173. package/dist/flows/Onboarding/hooks.js +1 -1
  174. package/dist/flows/Onboarding/index.d.ts +1 -1
  175. package/dist/flows/Onboarding/index.js +1 -1
  176. package/dist/flows/Onboarding/types.d.ts +1 -1
  177. package/dist/flows/Onboarding/utils.d.ts +1 -1
  178. package/dist/flows/Onboarding/utils.js +1 -1
  179. package/dist/flows/Termination/AdditionalDetailsForm.js +1 -1
  180. package/dist/flows/Termination/EmployeeComunicationForm.js +1 -1
  181. package/dist/flows/Termination/PaidTimeOffForm.js +1 -1
  182. package/dist/flows/Termination/TerminationDetailsForm.js +1 -1
  183. package/dist/flows/Termination/TerminationFlow.js +1 -1
  184. package/dist/flows/Termination/TerminationForm.js +1 -1
  185. package/dist/flows/Termination/api.d.ts +1 -1
  186. package/dist/flows/Termination/api.js +1 -1
  187. package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformation.js +1 -1
  188. package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformationFees.js +1 -1
  189. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.d.ts +1 -1
  190. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.d.ts +1 -1
  191. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.js +1 -1
  192. package/dist/flows/Termination/components/PaidTimeOff/types.d.ts +1 -1
  193. package/dist/flows/Termination/components/TerminationDialogInfoContent/TerminationDialogInfoContent.js +1 -1
  194. package/dist/flows/Termination/hooks.js +1 -1
  195. package/dist/flows/Termination/index.d.ts +1 -1
  196. package/dist/flows/Termination/index.js +1 -1
  197. package/dist/flows/types.d.ts +1 -0
  198. package/dist/index.css +1 -1
  199. package/dist/index.css.map +1 -1
  200. package/dist/index.d.ts +2 -2
  201. package/dist/index.js +2 -2
  202. package/dist/index.js.map +1 -1
  203. package/dist/internals.d.ts +4 -2
  204. package/dist/internals.js +1 -1
  205. package/dist/styles.css +1 -1
  206. package/dist/styles.css.map +1 -1
  207. package/dist/{types-DEfISb39.d.ts → types-BUI5G3ML.d.ts} +1 -1
  208. package/dist/{types-gQ_Tx-qG.d.ts → types-C0m9mu0v.d.ts} +55 -7
  209. package/package.json +4 -2
  210. package/dist/CheckboxFieldDefault-SZZQUVAM.js +0 -2
  211. package/dist/CountryFieldDefault-IBVQJVMW.js +0 -2
  212. package/dist/DatePickerFieldDefault-5LEOVIM2.js +0 -2
  213. package/dist/EmailFieldDefault-2PMSDIXF.js +0 -2
  214. package/dist/FileUploadFieldDefault-Y2ZYBSTV.js +0 -2
  215. package/dist/MultiSelectFieldDefault-UK7652MS.js +0 -2
  216. package/dist/NumberFieldDefault-C5V6POQ7.js +0 -2
  217. package/dist/RadioGroupFieldDefault-DNESPKMT.js +0 -2
  218. package/dist/SelectFieldDefault-4KQUV57C.js +0 -2
  219. package/dist/TextAreaFieldDefault-5P2MEQUR.js +0 -2
  220. package/dist/TextFieldDefault-PMCQSPPT.js +0 -2
  221. package/dist/WorkScheduleFieldDefault-SR3G37MN.js +0 -2
  222. package/dist/chunk-6AAV34CT.js +0 -2
  223. package/dist/chunk-6AAV34CT.js.map +0 -1
  224. package/dist/chunk-7EONM7HL.js +0 -2
  225. package/dist/chunk-7EONM7HL.js.map +0 -1
  226. package/dist/chunk-CT2D4IBR.js +0 -2
  227. package/dist/chunk-CT2D4IBR.js.map +0 -1
  228. package/dist/chunk-EOMVTXER.js +0 -2
  229. package/dist/chunk-EOMVTXER.js.map +0 -1
  230. package/dist/chunk-HPLRAHY7.js +0 -2
  231. package/dist/chunk-HPLRAHY7.js.map +0 -1
  232. package/dist/chunk-PVZTOW7Z.js +0 -2
  233. package/dist/chunk-RGLQY27T.js +0 -2
  234. package/dist/chunk-RGLQY27T.js.map +0 -1
  235. package/dist/chunk-RQWB2F74.js +0 -2
  236. package/dist/chunk-RQWB2F74.js.map +0 -1
  237. package/dist/chunk-STF3NTPS.js +0 -2
  238. package/dist/chunk-TFSRZOMP.js +0 -2
  239. package/dist/chunk-VKQQKGGY.js +0 -2
  240. package/dist/chunk-VKQQKGGY.js.map +0 -1
  241. package/dist/chunk-VZ5BGG3N.js +0 -2
  242. package/dist/chunk-VZ5BGG3N.js.map +0 -1
  243. package/dist/chunk-YHQQSL4Q.js +0 -2
  244. /package/dist/{CheckboxFieldDefault-SZZQUVAM.js.map → CheckboxFieldDefault-XSBJF4HQ.js.map} +0 -0
  245. /package/dist/{CountryFieldDefault-IBVQJVMW.js.map → CountryFieldDefault-K5X6MFP3.js.map} +0 -0
  246. /package/dist/{DatePickerFieldDefault-5LEOVIM2.js.map → DatePickerFieldDefault-G6FWA64N.js.map} +0 -0
  247. /package/dist/{EmailFieldDefault-2PMSDIXF.js.map → EmailFieldDefault-TFQ5SQVC.js.map} +0 -0
  248. /package/dist/{FileUploadFieldDefault-Y2ZYBSTV.js.map → FileUploadFieldDefault-7ETO2SEZ.js.map} +0 -0
  249. /package/dist/{MultiSelectFieldDefault-UK7652MS.js.map → MultiSelectFieldDefault-5TL5SL7W.js.map} +0 -0
  250. /package/dist/{NumberFieldDefault-C5V6POQ7.js.map → NumberFieldDefault-L7J22NRQ.js.map} +0 -0
  251. /package/dist/{RadioGroupFieldDefault-DNESPKMT.js.map → RadioGroupFieldDefault-XSPBKOS6.js.map} +0 -0
  252. /package/dist/{SelectFieldDefault-4KQUV57C.js.map → SelectFieldDefault-AT6LLZNX.js.map} +0 -0
  253. /package/dist/{TextAreaFieldDefault-5P2MEQUR.js.map → TextAreaFieldDefault-2TV3WHKH.js.map} +0 -0
  254. /package/dist/{TextFieldDefault-PMCQSPPT.js.map → TextFieldDefault-2GEILZPU.js.map} +0 -0
  255. /package/dist/{WorkScheduleFieldDefault-SR3G37MN.js.map → WorkScheduleFieldDefault-XH4AEXSM.js.map} +0 -0
  256. /package/dist/{chunk-J5I5ZSW3.js.map → chunk-26IIK5U2.js.map} +0 -0
  257. /package/dist/{chunk-EULZWL2F.js.map → chunk-2JVZYQ6Z.js.map} +0 -0
  258. /package/dist/{chunk-VXMLYWZ2.js.map → chunk-2V4CTIAG.js.map} +0 -0
  259. /package/dist/{chunk-67GUBRC6.js.map → chunk-3LCASKDS.js.map} +0 -0
  260. /package/dist/{chunk-AHBNUSR4.js.map → chunk-4IE7XN74.js.map} +0 -0
  261. /package/dist/{chunk-OZWLRF6P.js.map → chunk-53KG3SOU.js.map} +0 -0
  262. /package/dist/{chunk-HGNICQUY.js.map → chunk-6ABCDOFB.js.map} +0 -0
  263. /package/dist/{chunk-HJ7WOTV7.js.map → chunk-6H4634RG.js.map} +0 -0
  264. /package/dist/{chunk-OC3MVHTM.js.map → chunk-6MJVXTLI.js.map} +0 -0
  265. /package/dist/{chunk-72TX2GXH.js.map → chunk-6ZHKAS7X.js.map} +0 -0
  266. /package/dist/{chunk-XJECSJYB.js.map → chunk-7ZFZYZSP.js.map} +0 -0
  267. /package/dist/{chunk-ROQYHTFQ.js.map → chunk-AR5X2YWE.js.map} +0 -0
  268. /package/dist/{chunk-AOSXULKY.js.map → chunk-AS6KFUXS.js.map} +0 -0
  269. /package/dist/{chunk-XAPDPR3N.js.map → chunk-AXV7YMZ3.js.map} +0 -0
  270. /package/dist/{chunk-JBVLUY4M.js.map → chunk-B2BH4JUO.js.map} +0 -0
  271. /package/dist/{chunk-UWL56AOZ.js.map → chunk-BK44KHBJ.js.map} +0 -0
  272. /package/dist/{chunk-EFRT6C7V.js.map → chunk-BNQFPYNQ.js.map} +0 -0
  273. /package/dist/{chunk-BRPBSA4E.js.map → chunk-CHHHYLCB.js.map} +0 -0
  274. /package/dist/{chunk-6PYJAPM2.js.map → chunk-CKVI2UDU.js.map} +0 -0
  275. /package/dist/{chunk-X6CON4YE.js.map → chunk-CS5TJWQM.js.map} +0 -0
  276. /package/dist/{chunk-7Y4XCQZX.js.map → chunk-D7CBR52B.js.map} +0 -0
  277. /package/dist/{chunk-KIQNU673.js.map → chunk-D7W4VBSV.js.map} +0 -0
  278. /package/dist/{chunk-QELEVTDT.js.map → chunk-DJPCJ3YR.js.map} +0 -0
  279. /package/dist/{chunk-MGY23P25.js.map → chunk-ECGWCDC3.js.map} +0 -0
  280. /package/dist/{chunk-TZQ2O23Z.js.map → chunk-EP6FL2L3.js.map} +0 -0
  281. /package/dist/{chunk-4J36XOH2.js.map → chunk-HIFEVMKP.js.map} +0 -0
  282. /package/dist/{chunk-XW7ZYSJ3.js.map → chunk-HLSQCUMS.js.map} +0 -0
  283. /package/dist/{chunk-JIW2JK7J.js.map → chunk-HYDNZQOV.js.map} +0 -0
  284. /package/dist/{chunk-KKOBWE62.js.map → chunk-IFX5XLPZ.js.map} +0 -0
  285. /package/dist/{chunk-Y2JE46ZY.js.map → chunk-IORVZBRC.js.map} +0 -0
  286. /package/dist/{chunk-TMVRAQYA.js.map → chunk-J7MCWMDD.js.map} +0 -0
  287. /package/dist/{chunk-OIBZ7VUR.js.map → chunk-KXT6ACFL.js.map} +0 -0
  288. /package/dist/{chunk-SAUF7ZUE.js.map → chunk-M4TBX2FU.js.map} +0 -0
  289. /package/dist/{chunk-KQSWP3Y3.js.map → chunk-MGZWMJMP.js.map} +0 -0
  290. /package/dist/{chunk-M7KQPXCS.js.map → chunk-N4IPXHFM.js.map} +0 -0
  291. /package/dist/{chunk-EUQH4FU4.js.map → chunk-NAF6LRSS.js.map} +0 -0
  292. /package/dist/{chunk-AQ4WWMOK.js.map → chunk-NLBQ7CZC.js.map} +0 -0
  293. /package/dist/{chunk-TV2NNJVO.js.map → chunk-NNFWLL7F.js.map} +0 -0
  294. /package/dist/{chunk-QWQPTZQD.js.map → chunk-NOTLTHHZ.js.map} +0 -0
  295. /package/dist/{chunk-MAOJJ4WX.js.map → chunk-NUID2T57.js.map} +0 -0
  296. /package/dist/{chunk-C52C6J6Q.js.map → chunk-OELREIVJ.js.map} +0 -0
  297. /package/dist/{chunk-HFQAVCD2.js.map → chunk-OWUINMZP.js.map} +0 -0
  298. /package/dist/{chunk-SCEOHA2U.js.map → chunk-OXKAGVWK.js.map} +0 -0
  299. /package/dist/{chunk-YVAEVXHP.js.map → chunk-PNEB74RP.js.map} +0 -0
  300. /package/dist/{chunk-W5USIIXL.js.map → chunk-PZUCONZ4.js.map} +0 -0
  301. /package/dist/{chunk-IJQBLGTI.js.map → chunk-RGRCYSYE.js.map} +0 -0
  302. /package/dist/{chunk-JTD4HJSK.js.map → chunk-RVADUHPA.js.map} +0 -0
  303. /package/dist/{chunk-7XLP5WFW.js.map → chunk-RYVRMH6C.js.map} +0 -0
  304. /package/dist/{chunk-YYGLCI2S.js.map → chunk-SPQM2TCX.js.map} +0 -0
  305. /package/dist/{chunk-Z7AWT3MQ.js.map → chunk-T2KDFAAY.js.map} +0 -0
  306. /package/dist/{chunk-CJG77FUT.js.map → chunk-TVCIAQTC.js.map} +0 -0
  307. /package/dist/{chunk-E6B4ZECN.js.map → chunk-UNKCOOE4.js.map} +0 -0
  308. /package/dist/{chunk-JD2O7KNE.js.map → chunk-VB6KFDBL.js.map} +0 -0
  309. /package/dist/{chunk-LT27CPJ6.js.map → chunk-VFB3RR5I.js.map} +0 -0
  310. /package/dist/{chunk-DPRCPBRB.js.map → chunk-VN535FEZ.js.map} +0 -0
  311. /package/dist/{chunk-7PTTOR6T.js.map → chunk-VRW22LTU.js.map} +0 -0
  312. /package/dist/{chunk-KWLKQ6N6.js.map → chunk-W5YNJOSB.js.map} +0 -0
  313. /package/dist/{chunk-KN5M3VJD.js.map → chunk-WQVZXTW3.js.map} +0 -0
  314. /package/dist/{chunk-TRBEYNRN.js.map → chunk-WRRTZ2AL.js.map} +0 -0
  315. /package/dist/{chunk-IW6OJUGY.js.map → chunk-X3PUZFYX.js.map} +0 -0
  316. /package/dist/{chunk-DPZHLV7U.js.map → chunk-XRN6752K.js.map} +0 -0
  317. /package/dist/{chunk-YHCH57B7.js.map → chunk-YUJBCOLO.js.map} +0 -0
  318. /package/dist/{chunk-BNY76RHM.js.map → chunk-Z7J6NJY2.js.map} +0 -0
  319. /package/dist/{chunk-7AFCHGML.js.map → chunk-ZO34QFKD.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/form/fields/FieldSetField.tsx","../src/components/form/fields/DatePickerField.tsx","../src/components/form/fields/FileUploadField.tsx","../src/components/form/fields/NumberField.tsx","../src/components/form/fields/RadioGroupField.tsx","../src/components/form/fields/SelectField.tsx","../src/components/form/fields/CountryField.tsx","../src/components/form/fields/TextAreaField.tsx","../src/components/form/fields/EmailField.tsx","../src/components/form/fields/HiddenField.tsx","../src/components/form/fields/WorkScheduleField.tsx","../src/components/form/fields/MultiSelectField.tsx","../src/components/form/fields/MoneyField.tsx","../src/components/form/fields/baseFields.tsx"],"sourcesContent":["import { useFormContext } from 'react-hook-form';\nimport { Fragment, useEffect, useRef } from 'react';\nimport { baseFields } from '@/src/components/form/fields/baseFields';\nimport { cn, sanitizeHtml } from '@/src/lib/utils';\nimport { $TSFixMe, Components } from '@/src/types/remoteFlows';\nimport { Statement } from '@/src/components/form/Statement';\nimport { useFormFields } from '@/src/context';\nimport { ZendeskTriggerButton } from '@/src/components/shared/zendesk-drawer/ZendeskTriggerButton';\nimport { FieldsetToggleButtonDefault } from '@/src/components/form/fields/default/FieldsetToggleButtonDefault';\nimport { BaseTypes, SupportedTypes } from './types';\nimport { StatementComponentProps } from '@/src/types/fields';\n\ntype FieldBase = {\n label: string;\n name: string;\n description: string;\n Component?: React.ComponentType<$TSFixMe>;\n inputType: SupportedTypes;\n multiple?: boolean;\n};\n\ntype FieldWithOptions = FieldBase & {\n type: 'select' | 'radio';\n options: Array<{ value: string; label: string }>;\n};\n\ntype FieldWithoutOptions = FieldBase & {\n type: Exclude<SupportedTypes, 'select' | 'radio'>;\n options?: never;\n};\n\ntype Field = FieldWithOptions | FieldWithoutOptions;\n\ntype FieldSetFeatures = {\n toggle?: {\n enabled: boolean;\n defaultExpanded?: boolean;\n stateField?: string;\n labels?: {\n expand: string;\n collapse: string;\n };\n className?: string;\n };\n};\n\nexport type FieldSetProps = {\n label: string;\n name: string;\n description: string;\n fields: Field[];\n features?: FieldSetFeatures;\n components: Components;\n statement?: StatementComponentProps['data'];\n isFlatFieldset: boolean;\n extra?: React.ReactNode;\n variant: 'outset' | 'inset';\n meta?: {\n helpCenter?: {\n callToAction: string;\n id: number;\n url: string;\n label: string;\n };\n } & Record<string, $TSFixMe>;\n};\n\nexport function FieldSetField({\n label,\n name,\n fields,\n description,\n components,\n statement,\n isFlatFieldset,\n extra,\n variant = 'outset',\n features,\n meta,\n}: FieldSetProps) {\n const { helpCenter } = meta || {};\n const { watch, setValue, trigger, formState } = useFormContext();\n const { components: formComponents } = useFormFields();\n\n // Get expanded state from form state if stateField is provided\n const stateField = features?.toggle?.stateField;\n const isExpanded = stateField\n ? watch(stateField)\n : (features?.toggle?.defaultExpanded ?? true);\n\n const fieldNames = fields.map(\n ({ name: fieldName }) => `${name}.${fieldName}`,\n );\n const watchedValues = watch(fieldNames);\n const prevValuesRef = useRef<string[]>(watchedValues);\n const triggerTimeoutRef = useRef<NodeJS.Timeout | null>(null);\n\n const toggleExpanded = () => {\n if (stateField) {\n setValue(stateField, !isExpanded);\n }\n };\n\n useEffect(() => {\n const currentValues = watchedValues;\n const previousValues = prevValuesRef.current;\n const hasBeenSubmitted = formState.isSubmitted || formState.submitCount > 0;\n\n // Check if any value has changed\n let hasChanged = false;\n for (let i = 0; i < currentValues.length; i++) {\n if (\n currentValues[i] !== undefined &&\n previousValues[i] !== currentValues[i]\n ) {\n hasChanged = true;\n // This is to prevent the form from triggering validation too many times\n break;\n }\n }\n // If changes detected and we haven't triggered yet, run trigger\n if (hasChanged && hasBeenSubmitted) {\n // We need to debounce the validation trigger so that tests don't freeze\n if (triggerTimeoutRef.current) {\n clearTimeout(triggerTimeoutRef.current);\n }\n triggerTimeoutRef.current = setTimeout(() => {\n trigger();\n }, 50);\n }\n\n prevValuesRef.current = [...currentValues];\n\n return () => {\n if (triggerTimeoutRef.current) {\n clearTimeout(triggerTimeoutRef.current);\n }\n };\n }, [watchedValues, trigger, formState.isSubmitted, formState.submitCount]);\n\n const ToggleComponent =\n formComponents?.fieldsetToggle || FieldsetToggleButtonDefault;\n const contentId = `${name}-content`;\n const headerId = `${name}-header`;\n\n return (\n <fieldset\n className={cn(\n 'border-1 border-input p-4 rounded-xl',\n `RemoteFlows__FieldSetField`,\n `RemoteFlows__FieldSetField__${name}`,\n )}\n >\n <legend\n className={cn(\n 'text-sm font-semibold px-2',\n variant === 'inset' && 'hidden',\n )}\n >\n {label}\n </legend>\n {helpCenter?.callToAction && helpCenter?.id && variant === 'outset' && (\n <ZendeskTriggerButton\n className='RemoteFlows__FieldSetField__HelpCenterLink mb-3'\n zendeskId={helpCenter.id}\n >\n {helpCenter.callToAction}\n </ZendeskTriggerButton>\n )}\n {variant === 'inset' && (\n <>\n <div\n className='RemoteFlows__FieldSetField__Header'\n id={headerId}\n data-state={isExpanded ? 'expanded' : 'collapsed'}\n aria-expanded={isExpanded}\n >\n <h3 className={cn('RemoteFlows__FieldSetField__Title')}>{label}</h3>\n {features?.toggle?.enabled && (\n <ToggleComponent\n isExpanded={isExpanded}\n onToggle={toggleExpanded}\n aria-expanded={isExpanded}\n aria-controls={contentId}\n aria-label={`${isExpanded ? 'Hide' : 'Show'} ${label}`}\n className={cn(\n 'RemoteFlows__FieldSetField__Toggle',\n features.toggle?.className,\n )}\n >\n {isExpanded\n ? (features.toggle.labels?.collapse ?? 'Remove')\n : (features.toggle.labels?.expand ?? 'Define')}\n </ToggleComponent>\n )}\n </div>\n {helpCenter?.callToAction && helpCenter?.id && (\n <ZendeskTriggerButton\n className='RemoteFlows__FieldSetField__HelpCenterLink mb-3'\n zendeskId={helpCenter.id}\n >\n {helpCenter.callToAction}\n </ZendeskTriggerButton>\n )}\n </>\n )}\n {isExpanded && (\n <div id={contentId} aria-labelledby={headerId} role='region'>\n {description ? (\n <div\n className='mb-5 RemoteFlows__FieldSetField__Description'\n dangerouslySetInnerHTML={{ __html: sanitizeHtml(description) }}\n />\n ) : null}\n <div className='grid gap-4'>\n {fields.map((field: $TSFixMe) => {\n if (field.calculateDynamicProperties) {\n field = {\n ...field,\n ...(field.calculateDynamicProperties(watchedValues, field) ||\n {}),\n };\n }\n\n if (field.isVisible === false || field.deprecated) {\n return null; // Skip hidden or deprecated fields\n }\n\n const fieldType = field.type;\n\n // Handle nested fieldsets\n if (fieldType === 'fieldset') {\n return (\n <FieldSetField\n key={`${isFlatFieldset ? field.name : `${name}.${field.name}`}`}\n {...field}\n name={`${isFlatFieldset ? field.name : `${name}.${field.name}`}`}\n components={components}\n />\n );\n }\n\n if (fieldType === 'fieldset-flat') {\n return (\n <FieldSetField\n key={`${isFlatFieldset ? field.name : `${name}.${field.name}`}`}\n {...field}\n name={`${isFlatFieldset ? field.name : `${name}.${field.name}`}`}\n components={components}\n isFlatFieldset\n />\n );\n }\n // We need to do the check after checking (field.type || field.inputType) === 'fieldset' or (field.type || field.inputType) === 'fieldset-flat'\n // circular dependency most likely\n let FieldComponent = baseFields[fieldType as BaseTypes];\n\n if (field.Component) {\n const { Component } = field as {\n Component: React.ComponentType<$TSFixMe>;\n };\n return (\n <Fragment\n key={`${isFlatFieldset ? field.name : `${name}.${field.name}`}`}\n >\n <Component\n setValue={(value: unknown) =>\n setValue(\n isFlatFieldset ? field.name : `${name}.${field.name}`,\n value,\n )\n }\n {...field}\n />\n {field.statement ? (\n <Statement\n {...(field.statement as StatementComponentProps['data'])}\n />\n ) : null}\n {field.extra ? field.extra : null}\n </Fragment>\n );\n }\n\n if (!FieldComponent) {\n return (\n <p className='error'>Field type {fieldType} not supported</p>\n );\n }\n\n if (fieldType === 'select' && field.multiple) {\n FieldComponent = baseFields['multi-select'];\n }\n\n return (\n <Fragment\n key={`${isFlatFieldset ? field.name : `${name}.${field.name}`}`}\n >\n <FieldComponent\n {...field}\n name={`${isFlatFieldset ? field.name : `${name}.${field.name}`}`}\n component={components?.[fieldType as keyof Components]}\n />\n {field.statement ? (\n <Statement\n {...(field.statement as StatementComponentProps['data'])}\n />\n ) : null}\n {field.extra ? field.extra : null}\n </Fragment>\n );\n })}\n {extra ? extra : null}\n {statement ? <Statement {...statement} /> : null}\n </div>\n </div>\n )}\n </fieldset>\n );\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { useFormContext } from 'react-hook-form';\nimport { FormField } from '@/src/components/ui/form';\n\nimport { useFormFields } from '@/src/context';\nimport { Components, JSFField } from '@/src/types/remoteFlows';\nimport { getMinStartDate } from '@/src/components/form/utils';\n\nexport type DatePickerFieldProps = JSFField & {\n onChange?: (value: any) => void;\n component?: Components['date'];\n};\n\nexport function DatePickerField({\n description,\n label,\n name,\n minDate,\n maxDate,\n onChange,\n component,\n ...rest\n}: DatePickerFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n\n let minDateValue: Date;\n if (rest.meta?.mot && typeof rest.meta.mot === 'number') {\n minDateValue = getMinStartDate(rest.meta.mot);\n } else if (typeof minDate === 'string') {\n minDateValue = new Date(`${minDate}T00:00:00`);\n }\n\n let maxDateValue: Date | undefined;\n if (maxDate) {\n maxDateValue = new Date(`${maxDate}T23:59:59`);\n }\n\n return (\n <FormField\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components?.date;\n\n if (!Component) {\n throw new Error(`Date picker component not found for field ${name}`);\n }\n\n const customDatePickerFieldProps = {\n description,\n label,\n name,\n onChange,\n ...(minDateValue && { minDate: minDateValue.toISOString() }),\n ...(maxDateValue && { maxDate: maxDateValue.toISOString() }),\n ...rest,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (value: any) => {\n field.onChange(value);\n onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={customDatePickerFieldProps}\n />\n );\n }}\n />\n );\n}\n","import { useFormFields } from '@/src/context';\nimport { Components, JSFField } from '@/src/types/remoteFlows';\nimport {\n ControllerRenderProps,\n FieldValues,\n useFormContext,\n} from 'react-hook-form';\nimport { FormField } from '../../ui/form';\nimport { FieldDataProps } from '@/src/types/fields';\n\nconst validateFileSize = (files: File[], maxSize?: number): string | null => {\n if (!maxSize) return null;\n\n for (const file of files) {\n if (file.size > maxSize) {\n const maxSizeMB = Math.round(maxSize / (1024 * 1024));\n const fileSizeMB = Math.round(file.size / (1024 * 1024));\n return `File \"${file.name}\" exceeds maximum size of ${maxSizeMB}MB (file is ${fileSizeMB}MB)`;\n }\n }\n return null;\n};\n\nexport type FieldFileDataProps = FieldDataProps & {\n accept?: string;\n multiple?: boolean;\n maxFileSize?: number;\n};\n\nexport type FileUploadFieldProps = JSFField & {\n onChange?: (value: File[]) => void;\n multiple?: boolean;\n component?: Components['file'];\n maxSize?: number;\n accept?: string;\n};\n\nexport function FileUploadField({\n name,\n description,\n label,\n multiple,\n onChange,\n component,\n accept,\n maxSize,\n ...rest\n}: FileUploadFieldProps) {\n const { components } = useFormFields();\n const { control, setError, clearErrors } = useFormContext();\n\n const handleOnChange = async (\n files: File[],\n field: ControllerRenderProps<FieldValues, string>,\n ) => {\n const sizeError = validateFileSize(files, maxSize);\n if (sizeError) {\n setError(name, { message: sizeError });\n return;\n }\n\n clearErrors(name);\n field.onChange(files);\n onChange?.(files);\n };\n\n return (\n <FormField\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components.file;\n if (!Component) {\n throw new Error(`File upload component not found for field ${name}`);\n }\n\n const fieldData: FieldFileDataProps = {\n name,\n description,\n label,\n multiple,\n accept,\n maxFileSize: maxSize,\n ...rest,\n };\n\n return (\n <Component\n field={{\n ...field,\n value: field.value,\n onChange: async (value: File[]) => handleOnChange(value, field),\n }}\n fieldState={fieldState}\n fieldData={fieldData}\n />\n );\n }}\n />\n );\n}\n","import { useFormContext } from 'react-hook-form';\nimport { useFormFields } from '@/src/context';\nimport { FormField } from '@/src/components/ui/form';\nimport { Components } from '@/src/types/remoteFlows';\nimport { TextFieldProps } from './TextField';\n\nexport type NumberFieldProps = TextFieldProps & {\n component?: Components['number'];\n onChange?: (value: number) => void;\n};\n\nexport function NumberField(props: NumberFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n\n const Component = props.component || components.number;\n if (!Component) {\n throw new Error(`Number component not found for field ${props.name}`);\n }\n return (\n <FormField\n control={control}\n name={props.name}\n render={({ field, fieldState }) => {\n return (\n <Component\n field={{\n ...field,\n onChange: (value: number) => {\n field.onChange(value);\n props.onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={props}\n />\n );\n }}\n />\n );\n}\n","import { FormField } from '@/src/components/ui/form';\nimport { useFormFields } from '@/src/context';\nimport { Components, JSFField } from '@/src/types/remoteFlows';\nimport { useFormContext } from 'react-hook-form';\n\ntype RadioGroupFieldProps = JSFField & {\n onChange?: (value: string) => void;\n component?: Components['radio'];\n};\n\nexport function RadioGroupField({\n name,\n defaultValue,\n description,\n label,\n options,\n onChange,\n component,\n ...rest\n}: RadioGroupFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n return (\n <FormField\n control={control}\n name={name}\n defaultValue={defaultValue}\n render={({ field, fieldState }) => {\n const Component = component || components?.radio;\n if (!Component) {\n throw new Error(`Radio group component not found for field ${name}`);\n }\n const customRadioGroupFieldProps = {\n name,\n defaultValue,\n description,\n label,\n options,\n ...rest,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (value: string) => {\n field.onChange(value);\n onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={customRadioGroupFieldProps}\n />\n );\n }}\n />\n );\n}\n","import { useFormFields } from '@/src/context';\nimport { Components, JSFField } from '@/src/types/remoteFlows';\nimport { useFormContext } from 'react-hook-form';\nimport { FormField } from '@/src/components/ui/form';\n\ntype SelectFieldProps = JSFField & {\n placeholder?: string;\n options: Array<{ value: string | number; label: string }>;\n className?: string;\n onChange?: (value: string | number) => void;\n component?: Components['select'];\n};\n\nexport function SelectField({\n label,\n name,\n options,\n defaultValue,\n description,\n onChange,\n component,\n ...rest\n}: SelectFieldProps) {\n const { control } = useFormContext();\n const { components } = useFormFields();\n\n return (\n <FormField\n defaultValue={defaultValue}\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components?.select;\n\n if (!Component) {\n throw new Error(`Select component not found for field ${name}`);\n }\n\n const customSelectFieldProps = {\n label,\n name,\n options,\n defaultValue,\n description,\n onChange,\n ...rest,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (value: string | number) => {\n const maybeCastValue =\n rest.jsonType === 'number' ? Number(value) : value;\n field.onChange(maybeCastValue);\n onChange?.(maybeCastValue);\n },\n }}\n fieldState={fieldState}\n fieldData={customSelectFieldProps}\n />\n );\n }}\n />\n );\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport { useFormFields } from '@/src/context';\nimport { Components, JSFField } from '@/src/types/remoteFlows';\nimport { useFormContext } from 'react-hook-form';\nimport { FormField } from '../../ui/form';\n\ntype CountryFieldProps = JSFField & {\n options: Array<{ value: string; label: string }>;\n onChange?: (value: any) => void;\n $meta: {\n regions: Record<string, string[]>;\n subregions: Record<string, string[]>;\n };\n component?: Components['countries'];\n};\n\nexport function CountryField({\n label,\n name,\n options,\n defaultValue,\n description,\n onChange,\n $meta,\n component,\n ...rest\n}: CountryFieldProps) {\n const { control } = useFormContext();\n const { components } = useFormFields();\n\n return (\n <FormField\n defaultValue={defaultValue}\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components.countries;\n if (!Component) {\n throw new Error(`Country component not found for field ${name}`);\n }\n\n const customSelectFieldProps = {\n label,\n name,\n options,\n defaultValue,\n description,\n onChange,\n $meta,\n ...rest,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (value: any) => {\n field.onChange(value);\n onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={customSelectFieldProps}\n />\n );\n }}\n />\n );\n}\n","import * as React from 'react';\nimport { useFormFields } from '@/src/context';\nimport { Components, JSFField } from '@/src/types/remoteFlows';\nimport { useFormContext } from 'react-hook-form';\nimport { FormField } from '@/src/components/ui/form';\n\nexport type TextAreaFieldProps = JSFField & {\n onChange?: (event: React.ChangeEvent<HTMLTextAreaElement>) => void;\n maxLength?: number;\n component?: Components['textarea'];\n};\n\nexport function TextAreaField({\n name,\n description,\n label,\n onChange,\n maxLength,\n component,\n ...rest\n}: TextAreaFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n return (\n <FormField\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components.textarea;\n if (!Component) {\n throw new Error(`Text area component not found for field ${name}`);\n }\n const customTextAreaFieldProps = {\n name,\n description,\n label,\n maxLength,\n ...rest,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (evt: React.ChangeEvent<HTMLTextAreaElement>) => {\n field.onChange(evt);\n onChange?.(evt);\n },\n }}\n fieldState={fieldState}\n fieldData={customTextAreaFieldProps}\n />\n );\n }}\n />\n );\n}\n","import { useFormFields } from '@/src/context';\nimport { useFormContext } from 'react-hook-form';\nimport { FormField } from '../../ui/form';\nimport { TextFieldProps } from './TextField';\nimport { Components } from '@/src/types/remoteFlows';\n\ntype EmailFieldProps = TextFieldProps & {\n component?: Components['email'];\n};\n\nexport function EmailField(props: EmailFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n\n const Component = props.component || components.email;\n\n if (!Component) {\n throw new Error(`Email component not found for field ${props.name}`);\n }\n\n return (\n <FormField\n control={control}\n name={props.name}\n render={({ field, fieldState }) => {\n return (\n <Component\n field={{\n ...field,\n onChange: (value: string) => {\n field.onChange(value);\n props.onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={props}\n />\n );\n }}\n />\n );\n}\n","import { useFormContext } from 'react-hook-form';\nimport { FormField } from '../../ui/form';\nimport { Field } from '@/src/flows/types';\n\nexport function HiddenField(props: Field) {\n const { control } = useFormContext();\n\n return (\n <FormField\n control={control}\n name={props.name}\n render={({ field }) => {\n return <input {...field} type='hidden' />;\n }}\n />\n );\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\n\nimport { JSFField } from '@/src/types/remoteFlows';\nimport { useFormFields } from '@/src/context';\nimport { FormField } from '@/src/components/ui/form';\nimport { Components } from '@/src/types/remoteFlows';\n\nimport {\n buildWorkScheduleSummary,\n calculateTotalWorkHours,\n DailySchedule,\n} from './workScheduleUtils';\n\ntype WorkScheduleFieldProps = JSFField & {\n name: string;\n default: DailySchedule[];\n onChange?: (value: any) => void;\n component?: Components['work-schedule'];\n};\n\ntype WorkScheduleFormData = {\n schedule: DailySchedule[];\n};\n\nexport function WorkScheduleField(props: WorkScheduleFieldProps) {\n const { components } = useFormFields();\n const { setValue, control, watch } = useFormContext();\n const watchedSchedule = watch(props.name);\n const [currentSchedule, setCurrentSchedule] =\n useState<DailySchedule[]>(watchedSchedule);\n\n const { workHoursSummary, breakSummary } =\n buildWorkScheduleSummary(currentSchedule);\n const totalWorkHours = calculateTotalWorkHours(currentSchedule);\n\n useEffect(() => {\n setValue(props.name, currentSchedule);\n }, [currentSchedule, props.name, setValue]);\n\n function onSubmit(data: WorkScheduleFormData['schedule']) {\n setCurrentSchedule(data);\n }\n\n const Component = props.component || components['work-schedule'];\n if (!Component) {\n throw new Error(\n `Work schedule component not found for field ${props.name}`,\n );\n }\n\n const fieldData = {\n ...props,\n onSubmit,\n currentSchedule,\n defaultFormattedValue: {\n workHoursSummary,\n breakSummary,\n totalWorkHours,\n },\n };\n\n return (\n <FormField\n control={control}\n name={props.name}\n render={({ field, fieldState }) => {\n return (\n <Component\n field={{\n ...field,\n onChange: (value: any) => {\n field.onChange(value);\n props.onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={fieldData}\n />\n );\n }}\n />\n );\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { useFormFields } from '@/src/context';\nimport { Components, JSFField } from '@/src/types/remoteFlows';\nimport { useFormContext } from 'react-hook-form';\nimport { FormField } from '../../ui/form';\n\ntype MultiSelectFieldProps = JSFField & {\n placeholder?: string;\n options: Array<{ value: string; label: string }>;\n className?: string;\n onChange?: (value: any) => void;\n component?: Components['select'];\n};\n\nexport function MultiSelectField({\n label,\n name,\n options,\n defaultValue,\n description,\n onChange,\n component,\n ...rest\n}: MultiSelectFieldProps) {\n const { control } = useFormContext();\n const { components } = useFormFields();\n\n return (\n <FormField\n defaultValue={defaultValue}\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components?.['multi-select'];\n if (!Component) {\n throw new Error(`Multi select component not found for field ${name}`);\n }\n\n const customSelectFieldProps = {\n label,\n name,\n options,\n defaultValue,\n description,\n onChange,\n ...rest,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (value: any) => {\n field.onChange(value);\n onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={customSelectFieldProps}\n />\n );\n }}\n />\n );\n}\n","import {\n NumberField,\n NumberFieldProps,\n} from '@/src/components/form/fields/NumberField';\n\n// TODO: We use the number field and the the number type is what the partner overrides\n// TODO: this needs to be changed in the future with the changes from https://github.com/remoteoss/remote-flows/pull/128\nexport const MoneyField = (props: NumberFieldProps) => {\n return <NumberField maxLength={15} {...props} />;\n};\n","import { CheckBoxField } from './CheckBoxField';\nimport { DatePickerField } from './DatePickerField';\nimport { FileUploadField } from './FileUploadField';\nimport { NumberField } from './NumberField';\nimport { RadioGroupField } from './RadioGroupField';\nimport { SelectField } from './SelectField';\nimport { CountryField } from './CountryField';\nimport { TextAreaField } from './TextAreaField';\nimport { TextField } from './TextField';\nimport { EmailField } from './EmailField';\nimport { HiddenField } from './HiddenField';\nimport { WorkScheduleField } from './WorkScheduleField';\nimport { MultiSelectField } from './MultiSelectField';\nimport { MoneyField } from './MoneyField';\nimport { SupportedTypes } from './types';\nimport { $TSFixMe } from '@/src/types/remoteFlows';\n\nexport const baseFields: Record<\n Exclude<SupportedTypes, 'fieldset' | 'fieldset-flat'>,\n React.ComponentType<$TSFixMe>\n> = {\n checkbox: CheckBoxField,\n text: TextField,\n email: EmailField,\n money: MoneyField,\n select: SelectField,\n 'multi-select': MultiSelectField,\n radio: RadioGroupField,\n number: NumberField,\n file: FileUploadField,\n date: DatePickerField,\n textarea: TextAreaField,\n countries: CountryField,\n hidden: HiddenField,\n 'work-schedule': WorkScheduleField,\n};\n"],"mappings":"4aACA,OAAS,YAAAA,GAAU,aAAAC,GAAW,UAAAC,OAAc,QC0DlC,cAAAC,MAAA,oBA9CH,SAASC,EAAgB,CAC9B,YAAAC,EACA,MAAAC,EACA,KAAAC,EACA,QAAAC,EACA,QAAAC,EACA,SAAAC,EACA,UAAAC,EACA,GAAGC,CACL,EAAyB,CACvB,GAAM,CAAE,WAAAC,CAAW,EAAIC,EAAc,EAC/B,CAAE,QAAAC,CAAQ,EAAIC,EAAe,EAE/BC,EACAL,EAAK,MAAM,KAAO,OAAOA,EAAK,KAAK,KAAQ,SAC7CK,EAAeC,EAAgBN,EAAK,KAAK,GAAG,EACnC,OAAOJ,GAAY,WAC5BS,EAAe,IAAI,KAAK,GAAGT,CAAO,WAAW,GAG/C,IAAIW,EACJ,OAAIV,IACFU,EAAe,IAAI,KAAK,GAAGV,CAAO,WAAW,GAI7CN,EAACiB,EAAA,CACC,QAASL,EACT,KAAMR,EACN,OAAQ,CAAC,CAAE,MAAAc,EAAO,WAAAC,CAAW,IAAM,CACjC,IAAMC,EAAYZ,GAAaE,GAAY,KAE3C,GAAI,CAACU,EACH,MAAM,IAAI,MAAM,6CAA6ChB,CAAI,EAAE,EAGrE,IAAMiB,EAA6B,CACjC,YAAAnB,EACA,MAAAC,EACA,KAAAC,EACA,SAAAG,EACA,GAAIO,GAAgB,CAAE,QAASA,EAAa,YAAY,CAAE,EAC1D,GAAIE,GAAgB,CAAE,QAASA,EAAa,YAAY,CAAE,EAC1D,GAAGP,CACL,EACA,OACET,EAACoB,EAAA,CACC,MAAO,CACL,GAAGF,EACH,SAAUI,EAACC,GAAe,CACxBL,EAAM,SAASK,CAAK,EACpBhB,IAAWgB,CAAK,CAClB,EAHU,WAIZ,EACA,WAAYJ,EACZ,UAAWE,EACb,CAEJ,EACF,CAEJ,CA7DgBC,EAAArB,EAAA,mBC0EN,cAAAuB,MAAA,oBA7EV,IAAMC,GAAmBC,EAAA,CAACC,EAAeC,IAAoC,CAC3E,GAAI,CAACA,EAAS,OAAO,KAErB,QAAWC,KAAQF,EACjB,GAAIE,EAAK,KAAOD,EAAS,CACvB,IAAME,EAAY,KAAK,MAAMF,EAAW,OAAY,EAC9CG,EAAa,KAAK,MAAMF,EAAK,MAAQ,KAAO,KAAK,EACvD,MAAO,SAASA,EAAK,IAAI,6BAA6BC,CAAS,eAAeC,CAAU,KAC1F,CAEF,OAAO,IACT,EAXyB,oBA2BlB,SAASC,EAAgB,CAC9B,KAAAC,EACA,YAAAC,EACA,MAAAC,EACA,SAAAC,EACA,SAAAC,EACA,UAAAC,EACA,OAAAC,EACA,QAAAX,EACA,GAAGY,CACL,EAAyB,CACvB,GAAM,CAAE,WAAAC,CAAW,EAAIC,EAAc,EAC/B,CAAE,QAAAC,EAAS,SAAAC,EAAU,YAAAC,CAAY,EAAIC,EAAe,EAEpDC,EAAiBrB,EAAA,MACrBC,EACAqB,IACG,CACH,IAAMC,EAAYxB,GAAiBE,EAAOC,CAAO,EACjD,GAAIqB,EAAW,CACbL,EAASX,EAAM,CAAE,QAASgB,CAAU,CAAC,EACrC,MACF,CAEAJ,EAAYZ,CAAI,EAChBe,EAAM,SAASrB,CAAK,EACpBU,IAAWV,CAAK,CAClB,EAbuB,kBAevB,OACEH,EAAC0B,EAAA,CACC,QAASP,EACT,KAAMV,EACN,OAAQ,CAAC,CAAE,MAAAe,EAAO,WAAAG,CAAW,IAAM,CACjC,IAAMC,EAAYd,GAAaG,EAAW,KAC1C,GAAI,CAACW,EACH,MAAM,IAAI,MAAM,6CAA6CnB,CAAI,EAAE,EAGrE,IAAMoB,EAAgC,CACpC,KAAApB,EACA,YAAAC,EACA,MAAAC,EACA,SAAAC,EACA,OAAAG,EACA,YAAaX,EACb,GAAGY,CACL,EAEA,OACEhB,EAAC4B,EAAA,CACC,MAAO,CACL,GAAGJ,EACH,MAAOA,EAAM,MACb,SAAUtB,EAAA,MAAO4B,GAAkBP,EAAeO,EAAON,CAAK,EAApD,WACZ,EACA,WAAYG,EACZ,UAAWE,EACb,CAEJ,EACF,CAEJ,CA/DgB3B,EAAAM,EAAA,mBCZN,cAAAuB,MAAA,oBAdH,SAASC,EAAYC,EAAyB,CACnD,GAAM,CAAE,WAAAC,CAAW,EAAIC,EAAc,EAC/B,CAAE,QAAAC,CAAQ,EAAIC,EAAe,EAE7BC,EAAYL,EAAM,WAAaC,EAAW,OAChD,GAAI,CAACI,EACH,MAAM,IAAI,MAAM,wCAAwCL,EAAM,IAAI,EAAE,EAEtE,OACEF,EAACQ,EAAA,CACC,QAASH,EACT,KAAMH,EAAM,KACZ,OAAQ,CAAC,CAAE,MAAAO,EAAO,WAAAC,CAAW,IAEzBV,EAACO,EAAA,CACC,MAAO,CACL,GAAGE,EACH,SAAUE,EAACC,GAAkB,CAC3BH,EAAM,SAASG,CAAK,EACpBV,EAAM,WAAWU,CAAK,CACxB,EAHU,WAIZ,EACA,WAAYF,EACZ,UAAWR,EACb,EAGN,CAEJ,CA7BgBS,EAAAV,EAAA,eC8BN,cAAAY,MAAA,oBA/BH,SAASC,EAAgB,CAC9B,KAAAC,EACA,aAAAC,EACA,YAAAC,EACA,MAAAC,EACA,QAAAC,EACA,SAAAC,EACA,UAAAC,EACA,GAAGC,CACL,EAAyB,CACvB,GAAM,CAAE,WAAAC,CAAW,EAAIC,EAAc,EAC/B,CAAE,QAAAC,CAAQ,EAAIC,EAAe,EACnC,OACEb,EAACc,EAAA,CACC,QAASF,EACT,KAAMV,EACN,aAAcC,EACd,OAAQ,CAAC,CAAE,MAAAY,EAAO,WAAAC,CAAW,IAAM,CACjC,IAAMC,EAAYT,GAAaE,GAAY,MAC3C,GAAI,CAACO,EACH,MAAM,IAAI,MAAM,6CAA6Cf,CAAI,EAAE,EAErE,IAAMgB,EAA6B,CACjC,KAAAhB,EACA,aAAAC,EACA,YAAAC,EACA,MAAAC,EACA,QAAAC,EACA,GAAGG,CACL,EACA,OACET,EAACiB,EAAA,CACC,MAAO,CACL,GAAGF,EACH,SAAUI,EAACC,GAAkB,CAC3BL,EAAM,SAASK,CAAK,EACpBb,IAAWa,CAAK,CAClB,EAHU,WAIZ,EACA,WAAYJ,EACZ,UAAWE,EACb,CAEJ,EACF,CAEJ,CA9CgBC,EAAAlB,EAAA,mBCsCN,cAAAoB,OAAA,oBAnCH,SAASC,GAAY,CAC1B,MAAAC,EACA,KAAAC,EACA,QAAAC,EACA,aAAAC,EACA,YAAAC,EACA,SAAAC,EACA,UAAAC,EACA,GAAGC,CACL,EAAqB,CACnB,GAAM,CAAE,QAAAC,CAAQ,EAAIC,EAAe,EAC7B,CAAE,WAAAC,CAAW,EAAIC,EAAc,EAErC,OACEb,GAACc,EAAA,CACC,aAAcT,EACd,QAASK,EACT,KAAMP,EACN,OAAQ,CAAC,CAAE,MAAAY,EAAO,WAAAC,CAAW,IAAM,CACjC,IAAMC,EAAYT,GAAaI,GAAY,OAE3C,GAAI,CAACK,EACH,MAAM,IAAI,MAAM,wCAAwCd,CAAI,EAAE,EAGhE,IAAMe,EAAyB,CAC7B,MAAAhB,EACA,KAAAC,EACA,QAAAC,EACA,aAAAC,EACA,YAAAC,EACA,SAAAC,EACA,GAAGE,CACL,EACA,OACET,GAACiB,EAAA,CACC,MAAO,CACL,GAAGF,EACH,SAAUI,EAACC,GAA2B,CACpC,IAAMC,EACJZ,EAAK,WAAa,SAAW,OAAOW,CAAK,EAAIA,EAC/CL,EAAM,SAASM,CAAc,EAC7Bd,IAAWc,CAAc,CAC3B,EALU,WAMZ,EACA,WAAYL,EACZ,UAAWE,EACb,CAEJ,EACF,CAEJ,CApDgBC,EAAAlB,GAAA,eCwCN,cAAAqB,OAAA,oBApCH,SAASC,GAAa,CAC3B,MAAAC,EACA,KAAAC,EACA,QAAAC,EACA,aAAAC,EACA,YAAAC,EACA,SAAAC,EACA,MAAAC,EACA,UAAAC,EACA,GAAGC,CACL,EAAsB,CACpB,GAAM,CAAE,QAAAC,CAAQ,EAAIC,EAAe,EAC7B,CAAE,WAAAC,CAAW,EAAIC,EAAc,EAErC,OACEd,GAACe,EAAA,CACC,aAAcV,EACd,QAASM,EACT,KAAMR,EACN,OAAQ,CAAC,CAAE,MAAAa,EAAO,WAAAC,CAAW,IAAM,CACjC,IAAMC,EAAYT,GAAaI,EAAW,UAC1C,GAAI,CAACK,EACH,MAAM,IAAI,MAAM,yCAAyCf,CAAI,EAAE,EAGjE,IAAMgB,EAAyB,CAC7B,MAAAjB,EACA,KAAAC,EACA,QAAAC,EACA,aAAAC,EACA,YAAAC,EACA,SAAAC,EACA,MAAAC,EACA,GAAGE,CACL,EACA,OACEV,GAACkB,EAAA,CACC,MAAO,CACL,GAAGF,EACH,SAAUI,EAACC,GAAe,CACxBL,EAAM,SAASK,CAAK,EACpBd,IAAWc,CAAK,CAClB,EAHU,WAIZ,EACA,WAAYJ,EACZ,UAAWE,EACb,CAEJ,EACF,CAEJ,CAnDgBC,EAAAnB,GAAA,gBCuBN,cAAAqB,OAAA,oBA5BH,SAASC,GAAc,CAC5B,KAAAC,EACA,YAAAC,EACA,MAAAC,EACA,SAAAC,EACA,UAAAC,EACA,UAAAC,EACA,GAAGC,CACL,EAAuB,CACrB,GAAM,CAAE,WAAAC,CAAW,EAAIC,EAAc,EAC/B,CAAE,QAAAC,CAAQ,EAAIC,EAAe,EACnC,OACEZ,GAACa,EAAA,CACC,QAASF,EACT,KAAMT,EACN,OAAQ,CAAC,CAAE,MAAAY,EAAO,WAAAC,CAAW,IAAM,CACjC,IAAMC,EAAYT,GAAaE,EAAW,SAC1C,GAAI,CAACO,EACH,MAAM,IAAI,MAAM,2CAA2Cd,CAAI,EAAE,EAEnE,IAAMe,EAA2B,CAC/B,KAAAf,EACA,YAAAC,EACA,MAAAC,EACA,UAAAE,EACA,GAAGE,CACL,EACA,OACER,GAACgB,EAAA,CACC,MAAO,CACL,GAAGF,EACH,SAAUI,EAACC,GAAgD,CACzDL,EAAM,SAASK,CAAG,EAClBd,IAAWc,CAAG,CAChB,EAHU,WAIZ,EACA,WAAYJ,EACZ,UAAWE,EACb,CAEJ,EACF,CAEJ,CA3CgBC,EAAAjB,GAAA,iBCcN,cAAAmB,OAAA,oBAhBH,SAASC,GAAWC,EAAwB,CACjD,GAAM,CAAE,WAAAC,CAAW,EAAIC,EAAc,EAC/B,CAAE,QAAAC,CAAQ,EAAIC,EAAe,EAE7BC,EAAYL,EAAM,WAAaC,EAAW,MAEhD,GAAI,CAACI,EACH,MAAM,IAAI,MAAM,uCAAuCL,EAAM,IAAI,EAAE,EAGrE,OACEF,GAACQ,EAAA,CACC,QAASH,EACT,KAAMH,EAAM,KACZ,OAAQ,CAAC,CAAE,MAAAO,EAAO,WAAAC,CAAW,IAEzBV,GAACO,EAAA,CACC,MAAO,CACL,GAAGE,EACH,SAAUE,EAACC,GAAkB,CAC3BH,EAAM,SAASG,CAAK,EACpBV,EAAM,WAAWU,CAAK,CACxB,EAHU,WAIZ,EACA,WAAYF,EACZ,UAAWR,EACb,EAGN,CAEJ,CA/BgBS,EAAAV,GAAA,cCED,cAAAY,OAAA,oBARR,SAASC,GAAYC,EAAc,CACxC,GAAM,CAAE,QAAAC,CAAQ,EAAIC,EAAe,EAEnC,OACEJ,GAACK,EAAA,CACC,QAASF,EACT,KAAMD,EAAM,KACZ,OAAQ,CAAC,CAAE,MAAAI,CAAM,IACRN,GAAC,SAAO,GAAGM,EAAO,KAAK,SAAS,EAE3C,CAEJ,CAZgBC,EAAAN,GAAA,eCHhB,OAAS,aAAAO,GAAW,YAAAC,OAAgB,QAoE1B,cAAAC,OAAA,oBA3CH,SAASC,GAAkBC,EAA+B,CAC/D,GAAM,CAAE,WAAAC,CAAW,EAAIC,EAAc,EAC/B,CAAE,SAAAC,EAAU,QAAAC,EAAS,MAAAC,CAAM,EAAIC,EAAe,EAC9CC,EAAkBF,EAAML,EAAM,IAAI,EAClC,CAACQ,EAAiBC,CAAkB,EACxCC,GAA0BH,CAAe,EAErC,CAAE,iBAAAI,EAAkB,aAAAC,CAAa,EACrCC,EAAyBL,CAAe,EACpCM,EAAiBC,EAAwBP,CAAe,EAE9DQ,GAAU,IAAM,CACdb,EAASH,EAAM,KAAMQ,CAAe,CACtC,EAAG,CAACA,EAAiBR,EAAM,KAAMG,CAAQ,CAAC,EAE1C,SAASc,EAASC,EAAwC,CACxDT,EAAmBS,CAAI,CACzB,CAFSC,EAAAF,EAAA,YAIT,IAAMG,EAAYpB,EAAM,WAAaC,EAAW,eAAe,EAC/D,GAAI,CAACmB,EACH,MAAM,IAAI,MACR,+CAA+CpB,EAAM,IAAI,EAC3D,EAGF,IAAMqB,EAAY,CAChB,GAAGrB,EACH,SAAAiB,EACA,gBAAAT,EACA,sBAAuB,CACrB,iBAAAG,EACA,aAAAC,EACA,eAAAE,CACF,CACF,EAEA,OACEhB,GAACwB,EAAA,CACC,QAASlB,EACT,KAAMJ,EAAM,KACZ,OAAQ,CAAC,CAAE,MAAAuB,EAAO,WAAAC,CAAW,IAEzB1B,GAACsB,EAAA,CACC,MAAO,CACL,GAAGG,EACH,SAAUJ,EAACM,GAAe,CACxBF,EAAM,SAASE,CAAK,EACpBzB,EAAM,WAAWyB,CAAK,CACxB,EAHU,WAIZ,EACA,WAAYD,EACZ,UAAWH,EACb,EAGN,CAEJ,CA1DgBF,EAAApB,GAAA,qBCsBN,cAAA2B,OAAA,oBAlCH,SAASC,GAAiB,CAC/B,MAAAC,EACA,KAAAC,EACA,QAAAC,EACA,aAAAC,EACA,YAAAC,EACA,SAAAC,EACA,UAAAC,EACA,GAAGC,CACL,EAA0B,CACxB,GAAM,CAAE,QAAAC,CAAQ,EAAIC,EAAe,EAC7B,CAAE,WAAAC,CAAW,EAAIC,EAAc,EAErC,OACEb,GAACc,EAAA,CACC,aAAcT,EACd,QAASK,EACT,KAAMP,EACN,OAAQ,CAAC,CAAE,MAAAY,EAAO,WAAAC,CAAW,IAAM,CACjC,IAAMC,EAAYT,GAAaI,IAAa,cAAc,EAC1D,GAAI,CAACK,EACH,MAAM,IAAI,MAAM,8CAA8Cd,CAAI,EAAE,EAGtE,IAAMe,EAAyB,CAC7B,MAAAhB,EACA,KAAAC,EACA,QAAAC,EACA,aAAAC,EACA,YAAAC,EACA,SAAAC,EACA,GAAGE,CACL,EACA,OACET,GAACiB,EAAA,CACC,MAAO,CACL,GAAGF,EACH,SAAUI,EAACC,GAAe,CACxBL,EAAM,SAASK,CAAK,EACpBb,IAAWa,CAAK,CAClB,EAHU,WAIZ,EACA,WAAYJ,EACZ,UAAWE,EACb,CAEJ,EACF,CAEJ,CAjDgBC,EAAAlB,GAAA,oBCNP,cAAAoB,OAAA,oBADF,IAAMC,GAAaC,EAACC,GAClBH,GAACI,EAAA,CAAY,UAAW,GAAK,GAAGD,EAAO,EADtB,cCUnB,IAAME,EAGT,CACF,SAAUC,EACV,KAAMC,EACN,MAAOC,GACP,MAAOC,GACP,OAAQC,GACR,eAAgBC,GAChB,MAAOC,EACP,OAAQC,EACR,KAAMC,EACN,KAAMC,EACN,SAAUC,GACV,UAAWC,GACX,OAAQC,GACR,gBAAiBC,EACnB,EbsHM,OAiBE,YAAAC,GAjBF,OAAAC,EAkBI,QAAAC,MAlBJ,oBAtFC,SAASC,GAAc,CAC5B,MAAAC,EACA,KAAAC,EACA,OAAAC,EACA,YAAAC,EACA,WAAAC,EACA,UAAAC,EACA,eAAAC,EACA,MAAAC,EACA,QAAAC,EAAU,SACV,SAAAC,EACA,KAAAC,CACF,EAAkB,CAChB,GAAM,CAAE,WAAAC,CAAW,EAAID,GAAQ,CAAC,EAC1B,CAAE,MAAAE,EAAO,SAAAC,EAAU,QAAAC,EAAS,UAAAC,CAAU,EAAIC,EAAe,EACzD,CAAE,WAAYC,CAAe,EAAIC,EAAc,EAG/CC,EAAaV,GAAU,QAAQ,WAC/BW,EAAaD,EACfP,EAAMO,CAAU,EACfV,GAAU,QAAQ,iBAAmB,GAEpCY,GAAanB,EAAO,IACxB,CAAC,CAAE,KAAMoB,CAAU,IAAM,GAAGrB,CAAI,IAAIqB,CAAS,EAC/C,EACMC,EAAgBX,EAAMS,EAAU,EAChCG,EAAgBC,GAAiBF,CAAa,EAC9CG,EAAoBD,GAA8B,IAAI,EAEtDE,GAAiBC,EAAA,IAAM,CACvBT,GACFN,EAASM,EAAY,CAACC,CAAU,CAEpC,EAJuB,kBAMvBS,GAAU,IAAM,CACd,IAAMC,EAAgBP,EAChBQ,EAAiBP,EAAc,QAC/BQ,EAAmBjB,EAAU,aAAeA,EAAU,YAAc,EAGtEkB,EAAa,GACjB,QAASC,EAAI,EAAGA,EAAIJ,EAAc,OAAQI,IACxC,GACEJ,EAAcI,CAAC,IAAM,QACrBH,EAAeG,CAAC,IAAMJ,EAAcI,CAAC,EACrC,CACAD,EAAa,GAEb,KACF,CAGF,OAAIA,GAAcD,IAEZN,EAAkB,SACpB,aAAaA,EAAkB,OAAO,EAExCA,EAAkB,QAAU,WAAW,IAAM,CAC3CZ,EAAQ,CACV,EAAG,EAAE,GAGPU,EAAc,QAAU,CAAC,GAAGM,CAAa,EAElC,IAAM,CACPJ,EAAkB,SACpB,aAAaA,EAAkB,OAAO,CAE1C,CACF,EAAG,CAACH,EAAeT,EAASC,EAAU,YAAaA,EAAU,WAAW,CAAC,EAEzE,IAAMoB,GACJlB,GAAgB,gBAAkBmB,EAC9BC,EAAY,GAAGpC,CAAI,WACnBqC,EAAW,GAAGrC,CAAI,UAExB,OACEH,EAAC,YACC,UAAWyC,EACT,uCACA,6BACA,+BAA+BtC,CAAI,EACrC,EAEA,UAAAJ,EAAC,UACC,UAAW0C,EACT,6BACA/B,IAAY,SAAW,QACzB,EAEC,SAAAR,EACH,EACCW,GAAY,cAAgBA,GAAY,IAAMH,IAAY,UACzDX,EAAC2C,EAAA,CACC,UAAU,kDACV,UAAW7B,EAAW,GAErB,SAAAA,EAAW,aACd,EAEDH,IAAY,SACXV,EAAAF,GAAA,CACE,UAAAE,EAAC,OACC,UAAU,qCACV,GAAIwC,EACJ,aAAYlB,EAAa,WAAa,YACtC,gBAAeA,EAEf,UAAAvB,EAAC,MAAG,UAAW0C,EAAG,mCAAmC,EAAI,SAAAvC,EAAM,EAC9DS,GAAU,QAAQ,SACjBZ,EAACsC,GAAA,CACC,WAAYf,EACZ,SAAUO,GACV,gBAAeP,EACf,gBAAeiB,EACf,aAAY,GAAGjB,EAAa,OAAS,MAAM,IAAIpB,CAAK,GACpD,UAAWuC,EACT,qCACA9B,EAAS,QAAQ,SACnB,EAEC,SAAAW,EACIX,EAAS,OAAO,QAAQ,UAAY,SACpCA,EAAS,OAAO,QAAQ,QAAU,SACzC,GAEJ,EACCE,GAAY,cAAgBA,GAAY,IACvCd,EAAC2C,EAAA,CACC,UAAU,kDACV,UAAW7B,EAAW,GAErB,SAAAA,EAAW,aACd,GAEJ,EAEDS,GACCtB,EAAC,OAAI,GAAIuC,EAAW,kBAAiBC,EAAU,KAAK,SACjD,UAAAnC,EACCN,EAAC,OACC,UAAU,+CACV,wBAAyB,CAAE,OAAQ4C,EAAatC,CAAW,CAAE,EAC/D,EACE,KACJL,EAAC,OAAI,UAAU,aACZ,UAAAI,EAAO,IAAKwC,GAAoB,CAS/B,GARIA,EAAM,6BACRA,EAAQ,CACN,GAAGA,EACH,GAAIA,EAAM,2BAA2BnB,EAAemB,CAAK,GACvD,CAAC,CACL,GAGEA,EAAM,YAAc,IAASA,EAAM,WACrC,OAAO,KAGT,IAAMC,EAAYD,EAAM,KAGxB,GAAIC,IAAc,WAChB,OACE9C,EAACE,GAAA,CAEE,GAAG2C,EACJ,KAAM,GAAGpC,EAAiBoC,EAAM,KAAO,GAAGzC,CAAI,IAAIyC,EAAM,IAAI,EAAE,GAC9D,WAAYtC,GAHP,GAAGE,EAAiBoC,EAAM,KAAO,GAAGzC,CAAI,IAAIyC,EAAM,IAAI,EAAE,EAI/D,EAIJ,GAAIC,IAAc,gBAChB,OACE9C,EAACE,GAAA,CAEE,GAAG2C,EACJ,KAAM,GAAGpC,EAAiBoC,EAAM,KAAO,GAAGzC,CAAI,IAAIyC,EAAM,IAAI,EAAE,GAC9D,WAAYtC,EACZ,eAAc,IAJT,GAAGE,EAAiBoC,EAAM,KAAO,GAAGzC,CAAI,IAAIyC,EAAM,IAAI,EAAE,EAK/D,EAKJ,IAAIE,EAAiBC,EAAWF,CAAsB,EAEtD,GAAID,EAAM,UAAW,CACnB,GAAM,CAAE,UAAAI,CAAU,EAAIJ,EAGtB,OACE5C,EAACF,GAAA,CAGC,UAAAC,EAACiD,EAAA,CACC,SAAWC,GACTlC,EACEP,EAAiBoC,EAAM,KAAO,GAAGzC,CAAI,IAAIyC,EAAM,IAAI,GACnDK,CACF,EAED,GAAGL,EACN,EACCA,EAAM,UACL7C,EAACmD,EAAA,CACE,GAAIN,EAAM,UACb,EACE,KACHA,EAAM,MAAQA,EAAM,MAAQ,OAhBxB,GAAGpC,EAAiBoC,EAAM,KAAO,GAAGzC,CAAI,IAAIyC,EAAM,IAAI,EAAE,EAiB/D,CAEJ,CAEA,OAAKE,GAMDD,IAAc,UAAYD,EAAM,WAClCE,EAAiBC,EAAW,cAAc,GAI1C/C,EAACF,GAAA,CAGC,UAAAC,EAAC+C,EAAA,CACE,GAAGF,EACJ,KAAM,GAAGpC,EAAiBoC,EAAM,KAAO,GAAGzC,CAAI,IAAIyC,EAAM,IAAI,EAAE,GAC9D,UAAWtC,IAAauC,CAA6B,EACvD,EACCD,EAAM,UACL7C,EAACmD,EAAA,CACE,GAAIN,EAAM,UACb,EACE,KACHA,EAAM,MAAQA,EAAM,MAAQ,OAZxB,GAAGpC,EAAiBoC,EAAM,KAAO,GAAGzC,CAAI,IAAIyC,EAAM,IAAI,EAAE,EAa/D,GAvBE5C,EAAC,KAAE,UAAU,QAAQ,wBAAY6C,EAAU,kBAAc,CAyB/D,CAAC,EACApC,GAAgB,KAChBF,EAAYR,EAACmD,EAAA,CAAW,GAAG3C,EAAW,EAAK,MAC9C,GACF,GAEJ,CAEJ,CA5PgBuB,EAAA7B,GAAA","names":["Fragment","useEffect","useRef","jsx","DatePickerField","description","label","name","minDate","maxDate","onChange","component","rest","components","useFormFields","control","useFormContext","minDateValue","getMinStartDate","maxDateValue","FormField","field","fieldState","Component","customDatePickerFieldProps","__name","value","jsx","validateFileSize","__name","files","maxSize","file","maxSizeMB","fileSizeMB","FileUploadField","name","description","label","multiple","onChange","component","accept","rest","components","useFormFields","control","setError","clearErrors","useFormContext","handleOnChange","field","sizeError","FormField","fieldState","Component","fieldData","value","jsx","NumberField","props","components","useFormFields","control","useFormContext","Component","FormField","field","fieldState","__name","value","jsx","RadioGroupField","name","defaultValue","description","label","options","onChange","component","rest","components","useFormFields","control","useFormContext","FormField","field","fieldState","Component","customRadioGroupFieldProps","__name","value","jsx","SelectField","label","name","options","defaultValue","description","onChange","component","rest","control","useFormContext","components","useFormFields","FormField","field","fieldState","Component","customSelectFieldProps","__name","value","maybeCastValue","jsx","CountryField","label","name","options","defaultValue","description","onChange","$meta","component","rest","control","useFormContext","components","useFormFields","FormField","field","fieldState","Component","customSelectFieldProps","__name","value","jsx","TextAreaField","name","description","label","onChange","maxLength","component","rest","components","useFormFields","control","useFormContext","FormField","field","fieldState","Component","customTextAreaFieldProps","__name","evt","jsx","EmailField","props","components","useFormFields","control","useFormContext","Component","FormField","field","fieldState","__name","value","jsx","HiddenField","props","control","useFormContext","FormField","field","__name","useEffect","useState","jsx","WorkScheduleField","props","components","useFormFields","setValue","control","watch","useFormContext","watchedSchedule","currentSchedule","setCurrentSchedule","useState","workHoursSummary","breakSummary","buildWorkScheduleSummary","totalWorkHours","calculateTotalWorkHours","useEffect","onSubmit","data","__name","Component","fieldData","FormField","field","fieldState","value","jsx","MultiSelectField","label","name","options","defaultValue","description","onChange","component","rest","control","useFormContext","components","useFormFields","FormField","field","fieldState","Component","customSelectFieldProps","__name","value","jsx","MoneyField","__name","props","NumberField","baseFields","CheckBoxField","TextField","EmailField","MoneyField","SelectField","MultiSelectField","RadioGroupField","NumberField","FileUploadField","DatePickerField","TextAreaField","CountryField","HiddenField","WorkScheduleField","Fragment","jsx","jsxs","FieldSetField","label","name","fields","description","components","statement","isFlatFieldset","extra","variant","features","meta","helpCenter","watch","setValue","trigger","formState","useFormContext","formComponents","useFormFields","stateField","isExpanded","fieldNames","fieldName","watchedValues","prevValuesRef","useRef","triggerTimeoutRef","toggleExpanded","__name","useEffect","currentValues","previousValues","hasBeenSubmitted","hasChanged","i","ToggleComponent","FieldsetToggleButtonDefault","contentId","headerId","cn","ZendeskTriggerButton","sanitizeHtml","field","fieldType","FieldComponent","baseFields","Component","value","Statement"]}
@@ -1,2 +0,0 @@
1
- import{a as t}from"./chunk-VIGKOVHP.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as n}from"react/jsx-runtime";function r({className:a,...o}){return n("label",{"data-slot":"label",className:t("flex items-center gap-2 text-sm leading-none select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50",a),...o})}e(r,"Label");export{r as a};
2
- //# sourceMappingURL=chunk-EOMVTXER.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/ui/label.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { cn } from '@/src/lib/utils';\n\nfunction Label({ className, ...props }: React.ComponentProps<'label'>) {\n return (\n <label\n data-slot='label'\n className={cn(\n 'flex items-center gap-2 text-sm leading-none select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Label };\n"],"mappings":"gFAMI,cAAAA,MAAA,oBAFJ,SAASC,EAAM,CAAE,UAAAC,EAAW,GAAGC,CAAM,EAAkC,CACrE,OACEH,EAAC,SACC,YAAU,QACV,UAAWI,EACT,gJACAF,CACF,EACC,GAAGC,EACN,CAEJ,CAXSE,EAAAJ,EAAA","names":["jsx","Label","className","props","cn","__name"]}
@@ -1,2 +0,0 @@
1
- import{f as j}from"./chunk-STF3NTPS.js";import{a as q}from"./chunk-WVJDCDGZ.js";import{a as P}from"./chunk-O6H66UM2.js";import{a as p}from"./chunk-EUQH4FU4.js";import{A as _,E as F,G as S,H as w,J as v,O as E,T as O,g as f,i as y,j as d,n as h,o as b,w as g,x as C}from"./chunk-WQ4H5V7U.js";import{d as i}from"./chunk-KQPDXXG3.js";import{a as n}from"./chunk-P37U34EQ.js";import{useMutation as c,useQuery as m}from"@tanstack/react-query";var H=n(e=>{let{client:r}=i();return m({queryKey:["employment",e],retry:!1,enabled:!!e,select:n(({data:t})=>t?.data.employment,"select"),queryFn:n(async()=>{let t=await S({client:r,headers:{Authorization:""},path:{employment_id:e}});if(t.error||!t.data)throw new Error("Failed to fetch employment data");return t},"queryFn")})},"useEmployment"),L=n(e=>{let{client:r}=i();return m({queryKey:["company",e],retry:!1,enabled:!!e,queryFn:n(async()=>{let t=await C({client:r,headers:{Authorization:""},path:{company_id:e}});if(t.error||!t.data)throw new Error("Failed to fetch employment data");return t},"queryFn"),select:n(({data:t})=>t.data.company,"select")})},"useCompany"),G=n(e=>{let{client:r}=i();return m({queryKey:["benefit-offers",e],retry:!1,enabled:!!e,queryFn:n(async()=>h({client:r,path:{employment_id:e}}).then(t=>{if(t.error||!t.data)throw new Error("Failed to fetch benefit offers data");return t}),"queryFn"),select:n(({data:t})=>t?.data?.reduce((s,o)=>({...s,[o.benefit_group.slug]:{value:o.benefit_tier?.slug??"no",...o.benefit_group?.filter?.slug?{filter:o.benefit_group?.filter?.slug}:{}}}),{}),"select")})},"useBenefitOffers"),I=n(()=>{let{client:e}=i();return c({mutationFn:n(r=>O({client:e,headers:{Authorization:""},path:r}),"mutationFn")})},"useEmploymentInvite"),X=n(()=>{let{client:e}=i();return c({mutationFn:n(r=>g({client:e,body:r}),"mutationFn")})},"useCreateReserveInvoice"),Y=n(({countryCode:e,form:r,fieldValues:t,options:s,query:o={},jsonSchemaVersion:a})=>{let{client:l}=i(),x=a?{json_schema_version:a}:{};return m({queryKey:["onboarding-json-schema-form",e,r],retry:!1,queryFn:n(async()=>{let u=await _({client:l,headers:{Authorization:""},path:{country_code:e,form:r},query:{skip_benefits:!0,...o,...x}});if(u.error||!u.data)throw new Error("Failed to fetch onboarding schema");return u},"queryFn"),enabled:s?.queryOptions?.enabled,select:n(({data:u})=>{let R=u?.data||{};return p(R,t,s)},"select")})},"useJSONSchemaForm"),Z=n((e,r,t)=>{let s=t?.jsonSchemaVersion?.benefit_offers_form_schema?{json_schema_version:t.jsonSchemaVersion.benefit_offers_form_schema}:{},{client:o}=i();return m({queryKey:["benefit-offers-schema",e],retry:!1,enabled:!!e,queryFn:n(async()=>{let a=await F({client:o,path:{employment_id:e},query:s});if(a.error||!a.data)throw new Error("Failed to fetch benefit offers schema");return a},"queryFn"),select:n(({data:a})=>{let l=a?.data?.schema||{};return p(l,r,{jsfModify:t?.jsfModify?.benefits})},"select")})},"useBenefitOffersSchema"),$=n(()=>{let{client:e}=i(),r={json_schema_version:1};return c({mutationFn:n(t=>y({client:e,headers:{Authorization:""},body:t,query:{...r}}),"mutationFn")})},"useCreateEmployment"),ee=n((e,r)=>{let{client:t}=i(),s={employment_basic_information_json_schema_version:1,contract_details_json_schema_version:j(r,e)||1};return c({mutationFn:n(({employmentId:o,...a})=>w({client:t,headers:{Authorization:""},body:a,path:{employment_id:o},query:{skip_benefits:!0,...s}}),"mutationFn")})},"useUpdateEmployment"),te=n(e=>{let{client:r}=i();return c({mutationFn:n(({employmentId:t,...s})=>{let o=e?.jsonSchemaVersion?.benefit_offers_form_schema?{json_schema_version:e.jsonSchemaVersion.benefit_offers_form_schema}:{};return b({client:r,body:s,path:{employment_id:t},query:{...o}})},"mutationFn")})},"useUpdateBenefitsOffers"),ne=n(e=>{let{client:r}=i(),{data:t,isLoading:s}=m({...P(r,"onboarding-countries"),select:n(a=>a.data?.data?.filter(l=>l.eor_onboarding).map(l=>({label:l.name,value:l.code}))||[],"select"),enabled:e?.queryOptions?.enabled}),o=p(q.data.schema,{},e);if(t){let a=o.fields.find(l=>l.name==="country");a&&(a.options=t)}return{isLoading:s,selectCountryForm:o}},"useCountriesSchemaField"),re=n(({type:e="spread"})=>{let{client:r}=i();return c({mutationFn:n(t=>(e==="no_spread"?f:E)({client:r,body:t}),"mutationFn")})},"useConvertCurrency"),oe=n(()=>{let{client:e}=i();return c({mutationFn:n(({employmentId:r,...t})=>v({client:e,path:{employment_id:r},body:t}),"mutationFn")})},"useUpsertContractEligibility"),se=n((e,r,t=!0)=>{let{client:s}=i();return m({queryKey:["employment-onboarding-reserves-status",e,r],retry:!1,enabled:t&&!!e&&!!r,queryFn:n(async()=>{let o=await d({client:s,headers:{Authorization:""},path:{company_id:e,employment_id:r}});if(o.error||!o.data)throw new Error("Failed to fetch employment onboarding reserves status");return o},"queryFn"),select:n(({data:o})=>o?.data?.status,"select")})},"useEmploymentOnboardingReservesStatus");export{H as a,L as b,G as c,I as d,X as e,Y as f,Z as g,$ as h,ee as i,te as j,ne as k,re as l,oe as m,se as n};
2
- //# sourceMappingURL=chunk-HPLRAHY7.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/Onboarding/api.ts"],"sourcesContent":["import { useMutation, useQuery, UseQueryResult } from '@tanstack/react-query';\nimport { FieldValues } from 'react-hook-form';\nimport { Client } from '@/src/client/client';\nimport {\n ConvertCurrencyParams,\n CreateContractEligibilityParams,\n EmploymentCreateParams,\n EmploymentFullParams,\n getIndexBenefitOffer,\n getShowCompany,\n getShowCompanyEmploymentOnboardingReservesStatus,\n getShowEmployment,\n getShowFormCountry,\n getShowSchema,\n patchUpdateEmployment2,\n postConvertRawCurrencyConverter,\n postConvertWithSpreadCurrencyConverter,\n postCreateContractEligibility,\n postCreateEmployment2,\n postCreateRiskReserve,\n postInviteEmploymentInvitation,\n PostInviteEmploymentInvitationData,\n putUpdateBenefitOffer,\n UnifiedEmploymentUpsertBenefitOffersRequest,\n} from '@/src/client';\n\nimport { useClient } from '@/src/context';\nimport { selectCountryStepSchema } from '@/src/flows/Onboarding/json-schemas/selectCountryStep';\nimport { OnboardingFlowProps } from '@/src/flows/Onboarding/types';\nimport {\n JSONSchemaFormResultWithFieldsets,\n JSONSchemaFormType,\n FlowOptions,\n} from '@/src/flows/types';\nimport { getContractDetailsSchemaVersion } from '@/src/flows/Onboarding/utils';\nimport { createHeadlessForm } from '@/src/common/createHeadlessForm';\nimport { countriesOptions } from '@/src/common/api/countries';\n\nexport const useEmployment = (employmentId: string | undefined) => {\n const { client } = useClient();\n\n return useQuery({\n queryKey: ['employment', employmentId],\n retry: false,\n enabled: !!employmentId,\n select: ({ data }) => {\n return data?.data.employment;\n },\n queryFn: async () => {\n const response = await getShowEmployment({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n path: {\n employment_id: employmentId as string,\n },\n });\n\n // If response status is 404 or other error, throw an error to trigger isError\n if (response.error || !response.data) {\n throw new Error('Failed to fetch employment data');\n }\n\n return response;\n },\n });\n};\n\nexport const useCompany = (companyId: string) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['company', companyId],\n retry: false,\n enabled: !!companyId,\n queryFn: async () => {\n const response = await getShowCompany({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n path: {\n company_id: companyId,\n },\n });\n\n if (response.error || !response.data) {\n throw new Error('Failed to fetch employment data');\n }\n\n return response;\n },\n select: ({ data }) => {\n return data.data.company;\n },\n });\n};\n\nexport const useBenefitOffers = (employmentId: string | undefined) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['benefit-offers', employmentId],\n retry: false,\n enabled: !!employmentId,\n queryFn: async () => {\n return getIndexBenefitOffer({\n client: client as Client,\n path: {\n employment_id: employmentId as string,\n },\n }).then((response) => {\n // If response status is 404 or other error, throw an error to trigger isError\n if (response.error || !response.data) {\n throw new Error('Failed to fetch benefit offers data');\n }\n\n return response;\n });\n },\n select: ({ data }) =>\n data?.data?.reduce(\n (acc, item) => {\n return {\n ...acc,\n [item.benefit_group.slug]: {\n value: item.benefit_tier?.slug ?? 'no',\n ...(item.benefit_group?.filter?.slug\n ? { filter: item.benefit_group?.filter?.slug }\n : {}),\n },\n };\n },\n {} as Record<string, { value: string }>,\n ),\n });\n};\n/**\n * Use this hook to invite an employee to the onboarding flow\n * @returns\n */\nexport const useEmploymentInvite = () => {\n const { client } = useClient();\n\n return useMutation({\n mutationFn: (payload: PostInviteEmploymentInvitationData['path']) => {\n return postInviteEmploymentInvitation({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n path: payload,\n });\n },\n });\n};\n\nexport const useCreateReserveInvoice = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: (payload: { employment_slug: string }) => {\n return postCreateRiskReserve({\n client: client as Client,\n body: payload,\n });\n },\n });\n};\n\n/**\n * Use this hook to get the JSON schema form for the onboarding flow\n * @param param0\n * @returns\n */\nexport const useJSONSchemaForm = ({\n countryCode,\n form,\n fieldValues,\n options,\n query = {},\n jsonSchemaVersion,\n}: {\n countryCode: string;\n form: JSONSchemaFormType;\n fieldValues: FieldValues;\n options?: FlowOptions & { queryOptions?: { enabled?: boolean } };\n query?: Record<string, unknown>;\n jsonSchemaVersion?: number | 'latest';\n}): UseQueryResult<JSONSchemaFormResultWithFieldsets> => {\n const { client } = useClient();\n const jsonSchemaQueryParam = jsonSchemaVersion\n ? {\n json_schema_version: jsonSchemaVersion,\n }\n : {};\n return useQuery({\n queryKey: ['onboarding-json-schema-form', countryCode, form],\n retry: false,\n queryFn: async () => {\n const response = await getShowFormCountry({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n path: {\n country_code: countryCode,\n form: form,\n },\n query: {\n skip_benefits: true,\n ...query,\n ...jsonSchemaQueryParam,\n },\n });\n\n // If response status is 404 or other error, throw an error to trigger isError\n if (response.error || !response.data) {\n throw new Error('Failed to fetch onboarding schema');\n }\n\n return response;\n },\n enabled: options?.queryOptions?.enabled,\n select: ({ data }) => {\n const jsfSchema = data?.data || {};\n return createHeadlessForm(jsfSchema, fieldValues, options);\n },\n });\n};\n\nexport const useBenefitOffersSchema = (\n employmentId: string,\n fieldValues: FieldValues,\n options: OnboardingFlowProps['options'],\n) => {\n const jsonSchemaQueryParam = options?.jsonSchemaVersion\n ?.benefit_offers_form_schema\n ? {\n json_schema_version:\n options.jsonSchemaVersion.benefit_offers_form_schema,\n }\n : {};\n const { client } = useClient();\n return useQuery({\n queryKey: ['benefit-offers-schema', employmentId],\n retry: false,\n enabled: !!employmentId,\n queryFn: async () => {\n const response = await getShowSchema({\n client: client as Client,\n path: {\n employment_id: employmentId,\n },\n query: jsonSchemaQueryParam,\n });\n\n // If response status is 404 or other error, throw an error to trigger isError\n if (response.error || !response.data) {\n throw new Error('Failed to fetch benefit offers schema');\n }\n\n return response;\n },\n select: ({ data }) => {\n const jsfSchema = data?.data?.schema || {};\n\n return createHeadlessForm(jsfSchema, fieldValues, {\n jsfModify: options?.jsfModify?.benefits,\n });\n },\n });\n};\n\n/**\n * Use this hook to create an employment\n * @returns\n */\nexport const useCreateEmployment = () => {\n const { client } = useClient();\n // TODO: setting 1 as basic_information only supports v1 for now in the API\n const jsonSchemaQueryParam = {\n json_schema_version: 1,\n };\n return useMutation({\n mutationFn: (payload: EmploymentCreateParams) => {\n return postCreateEmployment2({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n body: payload,\n query: {\n ...jsonSchemaQueryParam,\n },\n });\n },\n });\n};\n\nexport const useUpdateEmployment = (\n countryCode: string,\n options?: OnboardingFlowProps['options'],\n) => {\n const { client } = useClient();\n const jsonSchemaQueryParams = {\n // TODO: setting 1 as basic_information only supports v1 for now in the API\n employment_basic_information_json_schema_version: 1,\n contract_details_json_schema_version:\n getContractDetailsSchemaVersion(options, countryCode) || 1,\n };\n\n return useMutation({\n mutationFn: ({\n employmentId,\n ...payload\n }: EmploymentFullParams & { employmentId: string }) => {\n return patchUpdateEmployment2({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n body: payload,\n path: {\n employment_id: employmentId,\n },\n query: {\n skip_benefits: true,\n ...jsonSchemaQueryParams,\n },\n });\n },\n });\n};\n\nexport const useUpdateBenefitsOffers = (\n options?: OnboardingFlowProps['options'],\n) => {\n const { client } = useClient();\n return useMutation({\n mutationFn: ({\n employmentId,\n ...payload\n }: UnifiedEmploymentUpsertBenefitOffersRequest & {\n employmentId: string;\n }) => {\n const jsonSchemaQueryParam = options?.jsonSchemaVersion\n ?.benefit_offers_form_schema\n ? {\n json_schema_version:\n options.jsonSchemaVersion.benefit_offers_form_schema,\n }\n : {};\n return putUpdateBenefitOffer({\n client: client as Client,\n body: payload,\n path: {\n employment_id: employmentId,\n },\n query: {\n ...jsonSchemaQueryParam,\n },\n });\n },\n });\n};\n\nexport const useCountriesSchemaField = (\n options?: Omit<FlowOptions, 'jsonSchemaVersion'> & {\n queryOptions?: { enabled?: boolean };\n },\n) => {\n const { client } = useClient();\n const { data: countries, isLoading } = useQuery({\n ...countriesOptions(client as Client, 'onboarding-countries'),\n select: (response) => {\n return (\n response.data?.data\n ?.filter((country) => country.eor_onboarding)\n .map((country) => {\n return {\n label: country.name,\n value: country.code,\n };\n }) || []\n );\n },\n enabled: options?.queryOptions?.enabled,\n });\n\n const selectCountryForm = createHeadlessForm(\n selectCountryStepSchema.data.schema,\n {},\n options,\n );\n\n if (countries) {\n const countryField = selectCountryForm.fields.find(\n (field) => field.name === 'country',\n );\n if (countryField) {\n countryField.options = countries;\n }\n }\n\n return {\n isLoading,\n selectCountryForm,\n };\n};\n\nexport const useConvertCurrency = ({\n type = 'spread',\n}: {\n type?: 'spread' | 'no_spread';\n}) => {\n const { client } = useClient();\n return useMutation({\n mutationFn: (payload: ConvertCurrencyParams) => {\n const apiFn =\n type === 'no_spread'\n ? postConvertRawCurrencyConverter\n : postConvertWithSpreadCurrencyConverter;\n return apiFn({\n client: client as Client,\n body: payload,\n });\n },\n });\n};\n\nexport const useUpsertContractEligibility = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: ({\n employmentId,\n ...payload\n }: { employmentId: string } & CreateContractEligibilityParams) => {\n return postCreateContractEligibility({\n client: client as Client,\n path: {\n employment_id: employmentId,\n },\n body: payload,\n });\n },\n });\n};\n\n/**\n * Hook to fetch onboarding reserves status for an employment\n * @param companyId - Company ID\n * @param employmentId - Employment ID\n * @param enabled - Whether the query should be enabled\n * @returns Query result with onboarding reserves status\n */\nexport const useEmploymentOnboardingReservesStatus = (\n companyId: string | undefined,\n employmentId: string | undefined,\n enabled = true,\n) => {\n const { client } = useClient();\n return useQuery({\n queryKey: [\n 'employment-onboarding-reserves-status',\n companyId,\n employmentId,\n ],\n retry: false,\n enabled: enabled && !!companyId && !!employmentId,\n queryFn: async () => {\n const response = await getShowCompanyEmploymentOnboardingReservesStatus({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n path: {\n company_id: companyId as string,\n employment_id: employmentId as string,\n },\n });\n\n if (response.error || !response.data) {\n throw new Error(\n 'Failed to fetch employment onboarding reserves status',\n );\n }\n\n return response;\n },\n select: ({ data }) => data?.data?.status,\n });\n};\n"],"mappings":"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","names":["useMutation","useQuery","useEmployment","__name","employmentId","client","useClient","useQuery","data","response","getShowEmployment","useCompany","companyId","getShowCompany","useBenefitOffers","getIndexBenefitOffer","acc","item","useEmploymentInvite","useMutation","payload","postInviteEmploymentInvitation","useCreateReserveInvoice","postCreateRiskReserve","useJSONSchemaForm","countryCode","form","fieldValues","options","query","jsonSchemaVersion","jsonSchemaQueryParam","getShowFormCountry","jsfSchema","createHeadlessForm","useBenefitOffersSchema","getShowSchema","useCreateEmployment","postCreateEmployment2","useUpdateEmployment","jsonSchemaQueryParams","getContractDetailsSchemaVersion","patchUpdateEmployment2","useUpdateBenefitsOffers","putUpdateBenefitOffer","useCountriesSchemaField","countries","isLoading","countriesOptions","country","selectCountryForm","selectCountryStepSchema","countryField","field","useConvertCurrency","type","postConvertRawCurrencyConverter","postConvertWithSpreadCurrencyConverter","useUpsertContractEligibility","postCreateContractEligibility","useEmploymentOnboardingReservesStatus","enabled","getShowCompanyEmploymentOnboardingReservesStatus"]}
@@ -1,2 +0,0 @@
1
- import{a as f}from"./chunk-RGLQY27T.js";import{i as a,j as c,k as l,l as m,m as _}from"./chunk-7EONM7HL.js";import{a as u,b as R}from"./chunk-SNBAM7SA.js";import{a as F}from"./chunk-VIGKOVHP.js";import{a as p}from"./chunk-P37U34EQ.js";import{Fragment as g}from"react";import{jsx as e,jsxs as t}from"react/jsx-runtime";var w=p(({field:s,fieldData:i,fieldState:C})=>{let{name:r,label:d,description:n,options:b}=i;return e("fieldset",{className:F("space-y-3",`RemoteFlows__RadioGroupField__Item__${r}`),"data-field":r,children:t(a,{children:[e("legend",{children:d}),n&&e(m,{helpCenter:e(f,{helpCenter:i.meta?.helpCenter}),children:n}),e(l,{children:e(u,{"aria-label":d||r,onValueChange:o=>{s.onChange(o)},value:s.value,className:"flex flex-col space-y-3",children:b?.map(o=>e(g,{children:t(a,{"data-field":r,className:"flex items-start space-x-3 space-y-0 gap-0 RemoteFlows__RadioField__Item",children:[e(l,{children:e(R,{value:o.value,className:"RemoteFlows__RadioField__Input",disabled:o.disabled})}),t("div",{children:[e(c,{className:"font-normal mb-0 RemoteFlows__RadioField__Label",children:o.label}),o.description&&e(m,{className:"mt-2",children:o.description})]})]})},o.value))})}),C.error&&e(_,{})]})})},"RadioGroupFieldDefault");export{w as a};
2
- //# sourceMappingURL=chunk-PVZTOW7Z.js.map
@@ -1,2 +0,0 @@
1
- import{b as t}from"./chunk-YHCH57B7.js";import{a as r}from"./chunk-P37U34EQ.js";import{jsx as n}from"react/jsx-runtime";function p({helpCenter:e}){return e?n(t,{zendeskId:e.id,children:e.callToAction}):null}r(p,"HelpCenter");export{p as a};
2
- //# sourceMappingURL=chunk-RGLQY27T.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/shared/zendesk-drawer/HelpCenter.tsx"],"sourcesContent":["import { ZendeskTriggerButton } from './ZendeskTriggerButton';\nimport { HelpCenterDataProps } from '@/src/types/fields';\n\ntype HelpCenterProps = {\n helpCenter?: HelpCenterDataProps;\n};\n\nexport function HelpCenter({ helpCenter }: HelpCenterProps) {\n if (!helpCenter) {\n return null;\n }\n\n return (\n <ZendeskTriggerButton zendeskId={helpCenter.id}>\n {helpCenter.callToAction}\n </ZendeskTriggerButton>\n );\n}\n"],"mappings":"gFAaI,cAAAA,MAAA,oBANG,SAASC,EAAW,CAAE,WAAAC,CAAW,EAAoB,CAC1D,OAAKA,EAKHF,EAACG,EAAA,CAAqB,UAAWD,EAAW,GACzC,SAAAA,EAAW,aACd,EANO,IAQX,CAVgBE,EAAAH,EAAA","names":["jsx","HelpCenter","helpCenter","ZendeskTriggerButton","__name"]}
@@ -1,2 +0,0 @@
1
- import{a as Be}from"./chunk-J5I5ZSW3.js";import{a as qe}from"./chunk-VAIBLWOY.js";import{b as Ve,c as Pe,f as xe,g as Oe,h as Me,i as Re,j as ve,k as we,m as Te,n as Le}from"./chunk-HPLRAHY7.js";import{a as ge,b as Ee,c as Ce,d as Fe,f as he}from"./chunk-STF3NTPS.js";import{a as ke}from"./chunk-YIOLMWB5.js";import{e as C,f as T,h as $}from"./chunk-I3DVKJCW.js";import{h as M}from"./chunk-VIGKOVHP.js";import{a as w}from"./chunk-X6ZAR7ZL.js";import{a as De}from"./chunk-TSPDJUGG.js";import{a as o}from"./chunk-P37U34EQ.js";import{useCallback as Ft,useEffect as ht,useMemo as p,useRef as Vt,useState as Ie}from"react";import Pt from"lodash.mergewith";import{createContext as yt,useContext as _t,useMemo as St,useCallback as bt,useRef as gt}from"react";import{jsx as Et}from"react/jsx-runtime";var Je=yt(void 0);function Tt({children:r}){let u=gt({}),c=bt(a=>{u.current={...u.current,...a}},[]),F=St(()=>({errorContextRef:u,updateContext:c}),[c]);return Et(Je.Provider,{value:F,children:r})}o(Tt,"ErrorContextProvider");var je=o(()=>{let r=_t(Je);if(!r)throw new Error("useErrorContext must be used within ErrorContextProvider");return r},"useErrorContext");import{useEffect as Ne,useMemo as Ct}from"react";function Ae(r){let{updateContext:u,errorContextRef:c}=je();return Ne(()=>{r&&(c.current=r)},[]),Ne(()=>()=>{c.current={}},[c]),{...Ct(()=>({updateErrorContext:o(a=>{u(a)},"updateErrorContext"),clearErrorContext:o(()=>{c.current={}},"clearErrorContext")}),[]),errorContext:c}}o(Ae,"useErrorReporting");import{jsx as Ue}from"react/jsx-runtime";var xt={employment_basic_information:"basic_information",contract_details:"contract_details"},Ot={select_country:null,basic_information:"employment_basic_information",contract_details:"contract_details",benefits:null,review:null},Mt=o(({isLoadingBasicInformationForm:r,isLoadingContractDetailsForm:u,isLoadingEmployment:c,isLoadingBenefitsOffersSchema:F,isLoadingBenefitOffers:a,isLoadingCompany:N,isLoadingCountries:R,employmentStatus:s,employmentId:L,currentStepName:A,basicInformationFields:I,contractDetailsFields:y})=>{let t=r||u||c||F||a||N||R,k=s&&Ce.includes(s),U=s&&!Fe.includes(s),D=!!(L&&k&&A!=="review"),v=t||D,B=!!(D&&!t&&I.length>0&&y.length>0);return{isLoading:v,isNavigatingToReview:B,isEmploymentReadOnly:k,canInvite:U}},"getLoadingStates"),Zt=o(({employmentId:r,companyId:u,countryCode:c,type:F,options:a,skipSteps:N,externalId:R,initialValues:s})=>{let{updateErrorContext:L}=Ae({flow:"onboarding",metadata:{employmentId:r,companyId:u,isUpdating:!!r}}),A=N?.includes("select_country")?Ee:ge,I=Ft(e=>{L({step:e.name})},[L]),{fieldValues:y,stepState:t,setFieldValues:k,previousStep:U,nextStep:D,goToStep:v,setStepValues:B}=De(A,I),q=Vt({select_country:{},basic_information:{},contract_details:{},benefits:{}}),[l,He]=Ie(r),[d,z]=Ie(c||null),{data:m,isLoading:K,refetch:We}=ke({employmentId:l,queryParams:{exclude_files:!0}});r&&m?.country?.code&&!d&&z(m.country.code);let{data:Q,isLoading:Y}=Pe(l),{data:J,isLoading:X,refetch:Ge}=Ve(u),$e=a?.features?.includes("onboarding_reserves")&&t.currentStep.name==="review"||!1,{data:ze}=Le(u,l,$e),{selectCountryForm:j,isLoading:Z}=we({jsfModify:a?.jsfModify?.select_country,queryOptions:{enabled:t.currentStep.name==="select_country"}}),ee=Me(),te=Re(d,a),ne=ve(a),oe=Te(),{mutateAsync:Ke}=w(ee),{mutateAsync:re}=w(te),{mutateAsync:Qe}=w(ne),{mutateAsync:Ye}=w(oe),Xe=Ot[t.currentStep.name]||"employment_basic_information",Ze=xt[Xe],et=m?.[Ze]||{},ae=o(({form:e,options:i={},query:f={},jsonSchemaVersion:O})=>{let W=Object.keys(y).length>0?{...s,...t.values?.[t.currentStep.name],...y}:{...s,...et};return xe({countryCode:d,form:e,fieldValues:W,query:f,options:{...i,queryOptions:{enabled:i.queryOptions?.enabled??!0}},jsonSchemaVersion:O})},"useJSONSchema"),tt=!!(d&&(t.currentStep.name==="basic_information"||r)),nt=!!(d&&(t.currentStep.name==="contract_details"||r)),{data:_,isLoading:ie}=ae({form:"employment_basic_information",options:{jsfModify:a?.jsfModify?.basic_information,queryOptions:{enabled:tt}},jsonSchemaVersion:1}),h=a?.jsfModify?.contract_details?.fields?.annual_gross_salary,H=h&&typeof h=="object"&&"presentation"in h?h.presentation:void 0,se=a?.jsfModify?.contract_details?.fields?.equity_compensation,ot=p(()=>({fields:{annual_gross_salary:{...h,presentation:{annual_gross_salary_conversion_properties:{label:H?.annual_gross_salary_conversion_properties?.label,description:H?.annual_gross_salary_conversion_properties?.description},desiredCurrency:J?.desired_currency,Component:o(e=>Ue(Be,{desiredCurrency:J?.desired_currency||"",...e}),"Component")}},equity_compensation:{...se,presentation:{calculateDynamicProperties:o((e,i)=>{let f=e.equity_compensation?.offer_equity_compensation,O=i?.meta?.cost;return{extra:Ue(qe,{offerEquity:f,equityCost:O})}},"calculateDynamicProperties")}}}}),[h,H,J?.desired_currency,se]),rt=he(a,d),{data:S,isLoading:ce}=ae({form:"contract_details",query:{employment_id:l},options:{jsfModify:{...a?.jsfModify?.contract_details,fields:{...a?.jsfModify?.contract_details?.fields,...ot.fields}},queryOptions:{enabled:nt}},jsonSchemaVersion:rt}),{data:g,isLoading:le}=Oe(l,y,a),de=p(()=>{if(t.currentStep.name==="benefits"){let e={...t.values?.[t.currentStep.name],...y};return Pt({},Q,e)}return{}},[t.currentStep.name,Q,t.values,y]),n=p(()=>({select_country:j?.fields||[],basic_information:_?.fields||[],contract_details:S?.fields||[],benefits:g?.fields||[],review:[]}),[j?.fields,_?.fields,S?.fields,g?.fields]),at={select_country:null,basic_information:_?.meta["x-jsf-fieldsets"],contract_details:S?.meta["x-jsf-fieldsets"],benefits:null,review:null},{country:it,basic_information:ue={},contract_details:me={},status:fe}=m||{},pe=it?.code,ye=t.currentStep.name,V=p(()=>T(n.select_country,{country:d||pe||""}),[n.select_country,d,pe]),P=p(()=>{let e={...s,...ue};return T(n.basic_information,e)},[n.basic_information,ue,s]),E=p(()=>{let e={...s,...me};return T(n.contract_details,e)},[n.contract_details,me,s]),x=p(()=>{let e={...s,...de};return T(n.benefits,e)},[n.benefits,de,s]),st=p(()=>m?{select_country:V,basic_information:$(n.basic_information,P),contract_details:m?.contract_details!==null?$(n.contract_details,E):E,benefits:x}:{select_country:V,basic_information:P,contract_details:E,benefits:x},[V,P,E,x,m,n]),{isLoading:ct,isNavigatingToReview:_e,isEmploymentReadOnly:lt,canInvite:dt}=p(()=>Mt({isLoadingBasicInformationForm:ie,isLoadingContractDetailsForm:ce,isLoadingEmployment:K,isLoadingBenefitsOffersSchema:le,isLoadingBenefitOffers:Y,isLoadingCompany:X,isLoadingCountries:Z,employmentId:r,employmentStatus:fe,basicInformationFields:n.basic_information,contractDetailsFields:n.contract_details,currentStepName:ye}),[ie,ce,K,le,Y,X,Z,r,fe,n.basic_information,n.contract_details,ye]);ht(()=>{_e&&(q.current={select_country:M(V,n.select_country),basic_information:M(P,n.basic_information),contract_details:M(E,n.contract_details),benefits:M(x,n.benefits)},B({select_country:V,basic_information:P,contract_details:E,benefits:x,review:{}}),v("review"))},[P,x,E,v,_e,V,B,n.basic_information,n.benefits,n.contract_details,n.select_country]);let Se=o(async e=>j&&t.currentStep.name==="select_country"?e:_&&t.currentStep.name==="basic_information"?await C(e,_?.fields,{isPartialValidation:!1}):S&&t.currentStep.name==="contract_details"?await C(e,S?.fields,{isPartialValidation:!1}):g&&t.currentStep.name==="benefits"?await C(e,g?.fields,{isPartialValidation:!1}):{},"parseFormValues");async function ut(e){let i=t.currentStep.name;i in q.current&&(q.current[i]=M(e,n[i]));let f=await Se(e);switch(Ge(),t.currentStep.name){case"select_country":return z(f.country),Promise.resolve({data:{countryCode:f.country}});case"basic_information":{let O=!l&&d,be=l&&d&&m?.country&&m?.country.code!==d;if(O||be){let W={basic_information:f,type:F,country_code:d,external_id:R};try{let b=await Ke(W);if(b.error)return b;if(b.data){let G=b.data?.data?.employment?.id;return G&&(He(G),await Ye({employmentId:G,eligible_to_work_in_residing_country:"citizen",employer_or_work_restrictions:!1})),b}}catch(b){throw console.error("Error creating onboarding:",b),b}}else if(l)return re({employmentId:l,basic_information:f,pricing_plan_details:{frequency:"monthly"},external_id:R});return}case"contract_details":return re({employmentId:l,external_id:R,...{contract_details:f,pricing_plan_details:{frequency:"monthly"}}});case"benefits":return Qe({employmentId:l,...f})}}o(ut,"onSubmit");function mt(){U()}o(mt,"back");function ft(){D()}o(ft,"next");function pt(e){v(e)}return o(pt,"goTo"),{employmentId:l,creditRiskStatus:J?.default_legal_entity_credit_risk_status,onboardingReservesStatus:ze,fieldValues:y,stepState:t,fields:n[t.currentStep.name],isLoading:ct,isSubmitting:ee.isPending||te.isPending||ne.isPending||oe.isPending,initialValues:st,handleValidation:o(async e=>{if(t.currentStep.name==="select_country")return j.handleValidation(e);if(t.currentStep.name==="benefits"&&g){let i=await C(e,g?.fields,{isPartialValidation:!1});return g?.handleValidation(i)}if(_&&t.currentStep.name==="basic_information"){let i=await C(e,_?.fields,{isPartialValidation:!1});return _?.handleValidation(i)}if(S&&t.currentStep.name==="contract_details"){let i=await C(e,S?.fields,{isPartialValidation:!1});return S?.handleValidation(i)}return null},"handleValidation"),checkFieldUpdates:k,parseFormValues:Se,onSubmit:ut,back:mt,next:ft,goTo:pt,meta:{fields:q.current,fieldsets:at[t.currentStep.name]},refetchEmployment:We,employment:m,isEmploymentReadOnly:lt,canInvite:dt}},"useOnboarding");export{Je as a,Tt as b,Zt as c};
2
- //# sourceMappingURL=chunk-RQWB2F74.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/Onboarding/hooks.tsx","../src/components/error-handling/ErrorContext.tsx","../src/components/error-handling/useErrorReporting.ts"],"sourcesContent":["import { ValidationResult } from '@remoteoss/remote-json-schema-form-kit';\nimport {\n Employment,\n EmploymentCreateParams,\n EmploymentFullParams,\n} from '@/src/client';\nimport { JSFFields } from '@/src/types/remoteFlows';\nimport { useStepState, Step } from '@/src/flows/useStepState';\nimport {\n disabledInviteButtonEmploymentStatus,\n getContractDetailsSchemaVersion,\n reviewStepAllowedEmploymentStatus,\n STEPS,\n STEPS_WITHOUT_SELECT_COUNTRY,\n} from '@/src/flows/Onboarding/utils';\nimport { prettifyFormValues } from '@/src/lib/utils';\nimport {\n getInitialValues,\n enableAckFields,\n parseJSFToValidate,\n} from '@/src/components/form/utils';\nimport { mutationToPromise } from '@/src/lib/mutations';\nimport { FieldValues } from 'react-hook-form';\nimport { OnboardingFlowProps } from '@/src/flows/Onboarding/types';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport mergeWith from 'lodash.mergewith';\nimport {\n useBenefitOffers,\n useBenefitOffersSchema,\n useCompany,\n useCountriesSchemaField,\n useCreateEmployment,\n useEmploymentOnboardingReservesStatus,\n useJSONSchemaForm,\n useUpdateBenefitsOffers,\n useUpdateEmployment,\n useUpsertContractEligibility,\n} from '@/src/flows/Onboarding/api';\nimport { JSFModify, JSONSchemaFormType } from '@/src/flows/types';\nimport { AnnualGrossSalary } from '@/src/flows/Onboarding/components/AnnualGrossSalary';\nimport { $TSFixMe, JSFField, JSFFieldset, Meta } from '@/src/types/remoteFlows';\nimport { EquityPriceDetails } from '@/src/flows/Onboarding/components/EquityPriceDetails';\nimport { useErrorReporting } from '@/src/components/error-handling/useErrorReporting';\nimport { useEmploymentQuery } from '@/src/common/api/employment';\n\ntype OnboardingHookProps = Omit<OnboardingFlowProps, 'render'>;\n\nconst jsonSchemaToEmployment: Partial<\n Record<JSONSchemaFormType, keyof Employment>\n> = {\n employment_basic_information: 'basic_information',\n contract_details: 'contract_details',\n};\n\nconst stepToFormSchemaMap: Record<\n keyof typeof STEPS,\n JSONSchemaFormType | null\n> = {\n select_country: null,\n basic_information: 'employment_basic_information',\n contract_details: 'contract_details',\n benefits: null,\n review: null,\n};\n\nconst getLoadingStates = ({\n isLoadingBasicInformationForm,\n isLoadingContractDetailsForm,\n isLoadingEmployment,\n isLoadingBenefitsOffersSchema,\n isLoadingBenefitOffers,\n isLoadingCompany,\n isLoadingCountries,\n employmentStatus,\n employmentId,\n currentStepName,\n basicInformationFields,\n contractDetailsFields,\n}: {\n isLoadingBasicInformationForm: boolean;\n isLoadingContractDetailsForm: boolean;\n isLoadingEmployment: boolean;\n isLoadingBenefitsOffersSchema: boolean;\n isLoadingBenefitOffers: boolean;\n isLoadingCompany: boolean;\n isLoadingCountries: boolean;\n employmentStatus?: Employment['status'];\n employmentId?: string;\n currentStepName: string;\n basicInformationFields: JSFFields;\n contractDetailsFields: JSFFields;\n}) => {\n const initialLoading =\n isLoadingBasicInformationForm ||\n isLoadingContractDetailsForm ||\n isLoadingEmployment ||\n isLoadingBenefitsOffersSchema ||\n isLoadingBenefitOffers ||\n isLoadingCompany ||\n isLoadingCountries;\n\n const isEmploymentReadOnly =\n employmentStatus &&\n reviewStepAllowedEmploymentStatus.includes(employmentStatus);\n\n const canInvite =\n employmentStatus &&\n !disabledInviteButtonEmploymentStatus.includes(employmentStatus);\n\n const shouldHandleReadOnlyEmployment = Boolean(\n employmentId && isEmploymentReadOnly && currentStepName !== 'review',\n );\n\n const isLoading = initialLoading || shouldHandleReadOnlyEmployment;\n\n const isNavigatingToReview = Boolean(\n shouldHandleReadOnlyEmployment &&\n !initialLoading &&\n basicInformationFields.length > 0 &&\n contractDetailsFields.length > 0,\n );\n\n return {\n isLoading,\n isNavigatingToReview,\n isEmploymentReadOnly,\n canInvite,\n };\n};\n\nexport const useOnboarding = ({\n employmentId,\n companyId,\n countryCode,\n type,\n options,\n skipSteps,\n externalId,\n initialValues: onboardingInitialValues,\n}: OnboardingHookProps) => {\n const { updateErrorContext } = useErrorReporting({\n flow: 'onboarding',\n metadata: {\n employmentId,\n companyId,\n isUpdating: Boolean(employmentId),\n },\n });\n const stepsToUse = skipSteps?.includes('select_country')\n ? STEPS_WITHOUT_SELECT_COUNTRY\n : STEPS;\n\n const onStepChange = useCallback(\n (step: Step<keyof typeof STEPS>) => {\n updateErrorContext({\n step: step.name,\n });\n },\n [updateErrorContext],\n );\n\n const {\n fieldValues,\n stepState,\n setFieldValues,\n previousStep,\n nextStep,\n goToStep,\n setStepValues,\n } = useStepState(\n stepsToUse as Record<keyof typeof STEPS, Step<keyof typeof STEPS>>,\n onStepChange,\n );\n\n const fieldsMetaRef = useRef<{\n select_country: Meta;\n basic_information: Meta;\n contract_details: Meta;\n benefits: Meta;\n }>({\n select_country: {},\n basic_information: {},\n contract_details: {},\n benefits: {},\n });\n const [internalEmploymentId, setInternalEmploymentId] = useState<\n string | undefined\n >(employmentId);\n const [internalCountryCode, setInternalCountryCode] = useState<string | null>(\n countryCode || null,\n );\n const {\n data: employment,\n isLoading: isLoadingEmployment,\n refetch: refetchEmployment,\n } = useEmploymentQuery({\n employmentId: internalEmploymentId as string,\n queryParams: { exclude_files: true },\n });\n\n // if the employment is loaded, country code has not been set yet\n // we set the internal country code with the employment country code\n if (employmentId && employment?.country?.code && !internalCountryCode) {\n setInternalCountryCode(employment.country.code);\n }\n\n const { data: benefitOffers, isLoading: isLoadingBenefitOffers } =\n useBenefitOffers(internalEmploymentId);\n\n const {\n data: company,\n isLoading: isLoadingCompany,\n refetch: refetchCompany,\n } = useCompany(companyId);\n\n const isOnboardingReservesEnabled =\n (options?.features?.includes('onboarding_reserves') &&\n stepState.currentStep.name === 'review') ||\n false;\n\n const { data: onboardingReservesStatus } =\n useEmploymentOnboardingReservesStatus(\n companyId,\n internalEmploymentId,\n isOnboardingReservesEnabled,\n );\n\n const { selectCountryForm, isLoading: isLoadingCountries } =\n useCountriesSchemaField({\n jsfModify: options?.jsfModify?.select_country,\n queryOptions: {\n enabled: stepState.currentStep.name === 'select_country',\n },\n });\n\n const createEmploymentMutation = useCreateEmployment();\n const updateEmploymentMutation = useUpdateEmployment(\n internalCountryCode as string,\n options,\n );\n const updateBenefitsOffersMutation = useUpdateBenefitsOffers(options);\n const updateContractEligibilityMutation = useUpsertContractEligibility();\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 const { mutateAsync: updateContractEligibilityMutationAsync } =\n mutationToPromise(updateContractEligibilityMutation);\n\n const formType =\n stepToFormSchemaMap[stepState.currentStep.name] ||\n 'employment_basic_information';\n const employmentKey = jsonSchemaToEmployment[formType] as keyof Employment;\n const serverEmploymentData = (employment?.[employmentKey] || {}) as Record<\n string,\n unknown\n >;\n\n const useJSONSchema = ({\n form,\n options: jsonSchemaOptions = {},\n query = {},\n jsonSchemaVersion,\n }: {\n form: JSONSchemaFormType;\n options?: {\n jsfModify?: JSFModify;\n queryOptions?: { enabled?: boolean };\n };\n query?: Record<string, string>;\n jsonSchemaVersion?: number | 'latest';\n }) => {\n const hasUserEnteredAnyValues = Object.keys(fieldValues).length > 0;\n // when you write on the fields, the values are stored in the fieldValues state\n // when values are stored in the stepState is when the user has navigated to the step\n // and then we have the values from the server and the onboardingInitialValues that the user can inject,\n const mergedFormValues = hasUserEnteredAnyValues\n ? {\n ...onboardingInitialValues,\n ...stepState.values?.[stepState.currentStep.name], // Restore values for the current step\n ...fieldValues,\n }\n : {\n ...onboardingInitialValues,\n ...serverEmploymentData,\n };\n\n return useJSONSchemaForm({\n countryCode: internalCountryCode as string,\n form: form,\n fieldValues: mergedFormValues,\n query,\n options: {\n ...jsonSchemaOptions,\n queryOptions: {\n enabled: jsonSchemaOptions.queryOptions?.enabled ?? true,\n },\n },\n jsonSchemaVersion,\n });\n };\n\n const isBasicInformationDetailsEnabled = Boolean(\n internalCountryCode &&\n (stepState.currentStep.name === 'basic_information' ||\n Boolean(employmentId)),\n );\n\n const isContractDetailsEnabled = Boolean(\n internalCountryCode &&\n (stepState.currentStep.name === 'contract_details' ||\n Boolean(employmentId)),\n );\n\n const {\n data: basicInformationForm,\n isLoading: isLoadingBasicInformationForm,\n } = useJSONSchema({\n form: 'employment_basic_information',\n options: {\n jsfModify: options?.jsfModify?.basic_information,\n queryOptions: {\n enabled: isBasicInformationDetailsEnabled,\n },\n },\n jsonSchemaVersion: 1,\n });\n\n const annualGrossSalaryField =\n options?.jsfModify?.contract_details?.fields?.annual_gross_salary;\n const annualSalaryFieldPresentation =\n annualGrossSalaryField &&\n typeof annualGrossSalaryField === 'object' &&\n 'presentation' in annualGrossSalaryField\n ? (\n annualGrossSalaryField as {\n presentation?: {\n annual_gross_salary_conversion_properties?: {\n label?: string;\n description?: string;\n };\n };\n }\n ).presentation\n : undefined;\n\n const equityCompensationField =\n options?.jsfModify?.contract_details?.fields?.equity_compensation;\n\n const contractDetailsCustomFields = useMemo(\n () => ({\n fields: {\n annual_gross_salary: {\n ...annualGrossSalaryField,\n presentation: {\n annual_gross_salary_conversion_properties: {\n label:\n annualSalaryFieldPresentation\n ?.annual_gross_salary_conversion_properties?.label,\n description:\n annualSalaryFieldPresentation\n ?.annual_gross_salary_conversion_properties?.description,\n },\n desiredCurrency: company?.desired_currency,\n Component: (props: JSFField & { currency: string }) => {\n return (\n <AnnualGrossSalary\n desiredCurrency={company?.desired_currency || ''}\n {...props}\n />\n );\n },\n },\n },\n equity_compensation: {\n ...equityCompensationField,\n presentation: {\n calculateDynamicProperties: (\n values: FieldValues,\n field: JSFField,\n ) => {\n const offerEquity =\n values.equity_compensation?.offer_equity_compensation;\n const equityCost = field?.meta?.cost;\n\n return {\n extra: (\n <EquityPriceDetails\n offerEquity={offerEquity}\n equityCost={equityCost as $TSFixMe}\n />\n ),\n };\n },\n },\n },\n },\n }),\n [\n annualGrossSalaryField,\n annualSalaryFieldPresentation,\n company?.desired_currency,\n equityCompensationField,\n ],\n );\n\n const effectiveContractDetailsJsonSchemaVersion =\n getContractDetailsSchemaVersion(options, internalCountryCode);\n\n const { data: contractDetailsForm, isLoading: isLoadingContractDetailsForm } =\n useJSONSchema({\n form: 'contract_details',\n query: {\n employment_id: internalEmploymentId as string,\n },\n options: {\n jsfModify: {\n ...options?.jsfModify?.contract_details,\n fields: {\n ...options?.jsfModify?.contract_details?.fields,\n ...contractDetailsCustomFields.fields,\n },\n },\n queryOptions: {\n enabled: isContractDetailsEnabled,\n },\n },\n jsonSchemaVersion: effectiveContractDetailsJsonSchemaVersion,\n });\n\n const {\n data: benefitOffersSchema,\n isLoading: isLoadingBenefitsOffersSchema,\n } = useBenefitOffersSchema(\n internalEmploymentId as string,\n fieldValues,\n options,\n );\n\n const initialValuesBenefitOffers = useMemo(() => {\n if (stepState.currentStep.name === 'benefits') {\n const benefitsFormValues = {\n ...stepState.values?.[stepState.currentStep.name as keyof typeof STEPS], // Restore values for the current step\n ...fieldValues,\n };\n return mergeWith({}, benefitOffers, benefitsFormValues);\n }\n return {};\n }, [\n stepState.currentStep.name,\n benefitOffers,\n stepState.values,\n fieldValues,\n ]);\n\n const stepFields: Record<keyof typeof STEPS, JSFFields> = useMemo(\n () => ({\n select_country: selectCountryForm?.fields || [],\n basic_information: basicInformationForm?.fields || [],\n contract_details: contractDetailsForm?.fields || [],\n benefits: benefitOffersSchema?.fields || [],\n review: [],\n }),\n [\n selectCountryForm?.fields,\n basicInformationForm?.fields,\n contractDetailsForm?.fields,\n benefitOffersSchema?.fields,\n ],\n );\n\n const stepFieldsWithFlatFieldsets: Record<\n keyof typeof STEPS,\n JSFFieldset | null | undefined\n > = {\n select_country: null,\n basic_information: basicInformationForm?.meta['x-jsf-fieldsets'],\n contract_details: contractDetailsForm?.meta['x-jsf-fieldsets'],\n benefits: null,\n review: null,\n };\n\n const {\n country,\n basic_information: employmentBasicInformation = {},\n contract_details: employmentContractDetails = {},\n status: employmentStatus,\n } = employment || {};\n\n const employmentCountryCode = country?.code;\n const currentStepName = stepState.currentStep.name;\n\n const selectCountryInitialValues = useMemo(\n () =>\n getInitialValues(stepFields.select_country, {\n country: internalCountryCode || employmentCountryCode || '',\n }),\n [stepFields.select_country, internalCountryCode, employmentCountryCode],\n );\n\n const basicInformationInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...employmentBasicInformation,\n };\n\n return getInitialValues(stepFields.basic_information, initialValues);\n }, [\n stepFields.basic_information,\n employmentBasicInformation,\n onboardingInitialValues,\n ]);\n\n const contractDetailsInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...employmentContractDetails,\n };\n\n return getInitialValues(stepFields.contract_details, initialValues);\n }, [\n stepFields.contract_details,\n employmentContractDetails,\n onboardingInitialValues,\n ]);\n\n const benefitsInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...initialValuesBenefitOffers,\n };\n\n return getInitialValues(stepFields.benefits, initialValues);\n }, [\n stepFields.benefits,\n initialValuesBenefitOffers,\n onboardingInitialValues,\n ]);\n\n const initialValues = useMemo(() => {\n if (employment) {\n return {\n select_country: selectCountryInitialValues,\n // We don't store ack fields in the db, eg \"ack_start_date_ammendment\" for Argentina, and therefore is not returned in the employment response\n // So when an employmentId exists, it means that the user has already started the onboarding process, and we need to enable the ack fields\n basic_information: enableAckFields(\n stepFields['basic_information'],\n basicInformationInitialValues,\n ),\n contract_details:\n // if contract details is null, it means it has not been filled yet, so we can't enable the ack fields\n employment?.contract_details !== null\n ? enableAckFields(\n stepFields['contract_details'],\n contractDetailsInitialValues,\n )\n : contractDetailsInitialValues,\n benefits: benefitsInitialValues,\n };\n }\n return {\n select_country: selectCountryInitialValues,\n basic_information: basicInformationInitialValues,\n contract_details: contractDetailsInitialValues,\n benefits: benefitsInitialValues,\n };\n }, [\n selectCountryInitialValues,\n basicInformationInitialValues,\n contractDetailsInitialValues,\n benefitsInitialValues,\n employment,\n stepFields,\n ]);\n\n const { isLoading, isNavigatingToReview, isEmploymentReadOnly, canInvite } =\n useMemo(\n () =>\n getLoadingStates({\n isLoadingBasicInformationForm,\n isLoadingContractDetailsForm,\n isLoadingEmployment,\n isLoadingBenefitsOffersSchema,\n isLoadingBenefitOffers,\n isLoadingCompany,\n isLoadingCountries,\n employmentId,\n employmentStatus: employmentStatus,\n basicInformationFields: stepFields.basic_information,\n contractDetailsFields: stepFields.contract_details,\n currentStepName: currentStepName,\n }),\n [\n isLoadingBasicInformationForm,\n isLoadingContractDetailsForm,\n isLoadingEmployment,\n isLoadingBenefitsOffersSchema,\n isLoadingBenefitOffers,\n isLoadingCompany,\n isLoadingCountries,\n employmentId,\n employmentStatus,\n stepFields.basic_information,\n stepFields.contract_details,\n currentStepName,\n ],\n );\n\n useEffect(() => {\n if (isNavigatingToReview) {\n fieldsMetaRef.current = {\n select_country: prettifyFormValues(\n selectCountryInitialValues,\n stepFields.select_country,\n ),\n basic_information: prettifyFormValues(\n basicInformationInitialValues,\n stepFields.basic_information,\n ),\n contract_details: prettifyFormValues(\n contractDetailsInitialValues,\n stepFields.contract_details,\n ),\n benefits: prettifyFormValues(\n benefitsInitialValues,\n stepFields.benefits,\n ),\n };\n\n setStepValues({\n select_country: selectCountryInitialValues,\n basic_information: basicInformationInitialValues,\n contract_details: contractDetailsInitialValues,\n benefits: benefitsInitialValues,\n review: {},\n });\n\n goToStep('review');\n }\n }, [\n basicInformationInitialValues,\n benefitsInitialValues,\n contractDetailsInitialValues,\n goToStep,\n isNavigatingToReview,\n selectCountryInitialValues,\n setStepValues,\n stepFields.basic_information,\n stepFields.benefits,\n stepFields.contract_details,\n stepFields.select_country,\n ]);\n\n const parseFormValues = async (values: FieldValues) => {\n if (selectCountryForm && stepState.currentStep.name === 'select_country') {\n return values;\n }\n if (\n basicInformationForm &&\n stepState.currentStep.name === 'basic_information'\n ) {\n return await parseJSFToValidate(values, basicInformationForm?.fields, {\n isPartialValidation: false,\n });\n }\n\n if (\n contractDetailsForm &&\n stepState.currentStep.name === 'contract_details'\n ) {\n return await parseJSFToValidate(values, contractDetailsForm?.fields, {\n isPartialValidation: false,\n });\n }\n\n if (benefitOffersSchema && stepState.currentStep.name === 'benefits') {\n return await parseJSFToValidate(values, benefitOffersSchema?.fields, {\n isPartialValidation: false,\n });\n }\n\n return {};\n };\n\n async function onSubmit(values: FieldValues) {\n // Prettify values for the current step\n const currentStepName = stepState.currentStep.name;\n if (currentStepName in fieldsMetaRef.current) {\n fieldsMetaRef.current[\n currentStepName as keyof typeof fieldsMetaRef.current\n ] = prettifyFormValues(values, stepFields[currentStepName]);\n }\n\n const parsedValues = await parseFormValues(values);\n refetchCompany();\n switch (stepState.currentStep.name) {\n case 'select_country': {\n setInternalCountryCode(parsedValues.country);\n return Promise.resolve({ data: { countryCode: parsedValues.country } });\n }\n case 'basic_information': {\n const isEmploymentNotLoaded =\n !internalEmploymentId && internalCountryCode;\n const hasChangedCountry =\n internalEmploymentId &&\n internalCountryCode &&\n employment?.country &&\n employment?.country.code !== internalCountryCode;\n if (isEmploymentNotLoaded || hasChangedCountry) {\n const payload: EmploymentCreateParams = {\n basic_information: parsedValues,\n type: type,\n country_code: internalCountryCode,\n external_id: externalId,\n };\n try {\n const response = await createEmploymentMutationAsync(payload);\n\n if (response.error) {\n return response;\n }\n\n if (response.data) {\n // @ts-expect-error the types from the response are not matching\n const employmentId = response.data?.data?.employment?.id;\n if (employmentId) {\n setInternalEmploymentId(employmentId);\n await updateContractEligibilityMutationAsync({\n employmentId: employmentId,\n eligible_to_work_in_residing_country: 'citizen',\n employer_or_work_restrictions: false,\n });\n }\n\n return response;\n }\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 external_id: externalId,\n });\n }\n\n return;\n }\n case 'contract_details': {\n const payload: EmploymentFullParams = {\n contract_details: parsedValues,\n pricing_plan_details: {\n frequency: 'monthly',\n },\n };\n return updateEmploymentMutationAsync({\n employmentId: internalEmploymentId as string,\n external_id: externalId,\n ...payload,\n });\n }\n\n case 'benefits': {\n return updateBenefitsOffersMutationAsync({\n employmentId: internalEmploymentId as string,\n ...parsedValues,\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 * Onboarding reserves status for the employment\n * Returns 'deposit_required' if a deposit is required based on onboarding reserves policies\n */\n onboardingReservesStatus: onboardingReservesStatus,\n /**\n * Current state of the form fields for the current step.\n */\n fieldValues,\n /**\n * Current step state containing the current step and total number of steps\n */\n stepState,\n /**\n * Array of form fields from the onboarding schema\n */\n fields: stepFields[stepState.currentStep.name],\n /**\n * Loading state indicating if the onboarding schema is being fetched\n */\n isLoading: isLoading,\n /**\n * Loading state indicating if the onboarding mutation is in progress\n */\n isSubmitting:\n createEmploymentMutation.isPending ||\n updateEmploymentMutation.isPending ||\n updateBenefitsOffersMutation.isPending ||\n updateContractEligibilityMutation.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: async (\n values: FieldValues,\n ): Promise<ValidationResult | null> => {\n if (stepState.currentStep.name === 'select_country') {\n return selectCountryForm.handleValidation(values);\n }\n if (stepState.currentStep.name === 'benefits' && benefitOffersSchema) {\n const parsedValues = await parseJSFToValidate(\n values,\n benefitOffersSchema?.fields,\n { isPartialValidation: false },\n );\n\n return benefitOffersSchema?.handleValidation(parsedValues);\n }\n if (\n basicInformationForm &&\n stepState.currentStep.name === 'basic_information'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n basicInformationForm?.fields,\n { isPartialValidation: false },\n );\n return basicInformationForm?.handleValidation(parsedValues);\n }\n\n if (\n contractDetailsForm &&\n stepState.currentStep.name === 'contract_details'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n contractDetailsForm?.fields,\n { isPartialValidation: false },\n );\n return contractDetailsForm?.handleValidation(parsedValues);\n }\n\n return null;\n },\n /**\n * Function to update the current form field values\n * @param values - New form values to set\n */\n checkFieldUpdates: setFieldValues,\n\n /**\n * Function to parse form values before submission\n * @param values - Form values to parse\n * @returns Parsed form values\n */\n parseFormValues,\n\n /**\n * Function to handle form submission\n * @param values - Form values to submit\n * @returns Promise resolving to the mutation result\n */\n onSubmit,\n\n /**\n * Function to handle going back to the previous step\n * @returns {void}\n */\n back,\n\n /**\n * Function to handle going to the next step\n * @returns {void}\n */\n next,\n\n /**\n * Function to handle going to a specific step\n * @param step The step to go to.\n * @returns {void}\n */\n goTo,\n\n /**\n * Fields metadata for each step\n */\n meta: {\n fields: fieldsMetaRef.current,\n fieldsets: stepFieldsWithFlatFieldsets[stepState.currentStep.name],\n },\n\n /**\n * Function to refetch the employment data\n * @returns {void}\n */\n refetchEmployment,\n /**\n * Employment data\n */\n employment,\n\n /**\n * let's the user know that the employment cannot be edited, happens when employment.status is invited, created_awaiting_reserve or created_reserve_paid\n * @returns {boolean}\n */\n isEmploymentReadOnly,\n\n /**\n * let's the user know if the company can invite employees\n * @returns {boolean}\n */\n canInvite,\n };\n};\n","import {\n createContext,\n useContext,\n ReactNode,\n useMemo,\n useCallback,\n useRef,\n RefObject,\n} from 'react';\nimport type { ErrorContextData } from './types';\n\nexport type ErrorContextValue = {\n errorContextRef: RefObject<ErrorContextData>;\n updateContext: (updates: Partial<ErrorContextData>) => void;\n};\n\nexport const ErrorContext = createContext<ErrorContextValue | undefined>(\n undefined,\n);\n\nexport function ErrorContextProvider({ children }: { children: ReactNode }) {\n const errorContextRef = useRef<ErrorContextData>({});\n\n const updateContext = useCallback((updates: Partial<ErrorContextData>) => {\n errorContextRef.current = { ...errorContextRef.current, ...updates };\n }, []);\n\n // Memoize the value object to prevent unnecessary re-renders\n // Note: setContext is stable from useState and doesn't need to be in deps\n const value = useMemo(\n () => ({\n errorContextRef,\n updateContext,\n }),\n [updateContext],\n );\n\n return (\n <ErrorContext.Provider value={value}>{children}</ErrorContext.Provider>\n );\n}\n\nexport const useErrorContext = () => {\n const ctx = useContext(ErrorContext);\n if (!ctx) {\n throw new Error('useErrorContext must be used within ErrorContextProvider');\n }\n return ctx;\n};\n","import { useErrorContext } from '@/src/components/error-handling/ErrorContext';\nimport { ErrorContextData } from '@/src/components/error-handling/types';\nimport { useEffect, useMemo } from 'react';\n\nexport function useErrorReporting(initialContext: ErrorContextData) {\n const { updateContext, errorContextRef } = useErrorContext();\n\n // Set initial context on mount\n useEffect(() => {\n if (initialContext) {\n errorContextRef.current = initialContext;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // Clear context on unmount\n useEffect(() => {\n return () => {\n errorContextRef.current = {};\n };\n }, [errorContextRef]);\n\n // Note: setContext and updateContext are stable, don't need to be in deps\n const handlers = useMemo(\n () => ({\n updateErrorContext: (updates: Partial<ErrorContextData>) => {\n updateContext(updates);\n },\n\n clearErrorContext: () => {\n errorContextRef.current = {};\n },\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n\n return {\n ...handlers,\n /**\n * @internal For unit testing only - we access the errorContext in the error boundary directly\n * Use updateErrorContext() and clearErrorContext() handlers instead.\n */\n errorContext: errorContextRef,\n };\n}\n"],"mappings":"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","names":["useCallback","useEffect","useMemo","useRef","useState","mergeWith","createContext","useContext","useMemo","useCallback","useRef","jsx","ErrorContext","createContext","ErrorContextProvider","children","errorContextRef","useRef","updateContext","useCallback","updates","value","useMemo","__name","useErrorContext","ctx","useContext","useEffect","useMemo","useErrorReporting","initialContext","updateContext","errorContextRef","useErrorContext","useEffect","useMemo","__name","updates","jsx","jsonSchemaToEmployment","stepToFormSchemaMap","getLoadingStates","__name","isLoadingBasicInformationForm","isLoadingContractDetailsForm","isLoadingEmployment","isLoadingBenefitsOffersSchema","isLoadingBenefitOffers","isLoadingCompany","isLoadingCountries","employmentStatus","employmentId","currentStepName","basicInformationFields","contractDetailsFields","initialLoading","isEmploymentReadOnly","reviewStepAllowedEmploymentStatus","canInvite","disabledInviteButtonEmploymentStatus","shouldHandleReadOnlyEmployment","isLoading","isNavigatingToReview","useOnboarding","companyId","countryCode","type","options","skipSteps","externalId","onboardingInitialValues","updateErrorContext","useErrorReporting","stepsToUse","STEPS_WITHOUT_SELECT_COUNTRY","STEPS","onStepChange","useCallback","step","fieldValues","stepState","setFieldValues","previousStep","nextStep","goToStep","setStepValues","useStepState","fieldsMetaRef","useRef","internalEmploymentId","setInternalEmploymentId","useState","internalCountryCode","setInternalCountryCode","employment","refetchEmployment","useEmploymentQuery","benefitOffers","useBenefitOffers","company","refetchCompany","useCompany","isOnboardingReservesEnabled","onboardingReservesStatus","useEmploymentOnboardingReservesStatus","selectCountryForm","useCountriesSchemaField","createEmploymentMutation","useCreateEmployment","updateEmploymentMutation","useUpdateEmployment","updateBenefitsOffersMutation","useUpdateBenefitsOffers","updateContractEligibilityMutation","useUpsertContractEligibility","createEmploymentMutationAsync","mutationToPromise","updateEmploymentMutationAsync","updateBenefitsOffersMutationAsync","updateContractEligibilityMutationAsync","formType","employmentKey","serverEmploymentData","useJSONSchema","form","jsonSchemaOptions","query","jsonSchemaVersion","mergedFormValues","useJSONSchemaForm","isBasicInformationDetailsEnabled","isContractDetailsEnabled","basicInformationForm","annualGrossSalaryField","annualSalaryFieldPresentation","equityCompensationField","contractDetailsCustomFields","useMemo","props","AnnualGrossSalary","values","field","offerEquity","equityCost","EquityPriceDetails","effectiveContractDetailsJsonSchemaVersion","getContractDetailsSchemaVersion","contractDetailsForm","benefitOffersSchema","useBenefitOffersSchema","initialValuesBenefitOffers","benefitsFormValues","mergeWith","stepFields","stepFieldsWithFlatFieldsets","country","employmentBasicInformation","employmentContractDetails","employmentCountryCode","selectCountryInitialValues","getInitialValues","basicInformationInitialValues","initialValues","contractDetailsInitialValues","benefitsInitialValues","enableAckFields","useEffect","prettifyFormValues","parseFormValues","parseJSFToValidate","onSubmit","parsedValues","isEmploymentNotLoaded","hasChangedCountry","payload","response","error","back","next","goTo"]}
@@ -1,2 +0,0 @@
1
- import{a as e}from"./chunk-P37U34EQ.js";var c={select_country:{index:0,name:"select_country"},basic_information:{index:1,name:"basic_information"},contract_details:{index:2,name:"contract_details"},benefits:{index:3,name:"benefits"},review:{index:4,name:"review"}},d={basic_information:{index:0,name:"basic_information"},contract_details:{index:1,name:"contract_details"},benefits:{index:2,name:"benefits"},review:{index:3,name:"review"}},m=["invited","created_awaiting_reserve","created_reserve_paid"],l=["created_awaiting_reserve","invited"],s=1,r=e(()=>s,"getDefaultContractDetailsSchemaVersion"),p=e((o,t)=>{let i=o?.jsonSchemaVersionByCountry,n=t?i?.[t]?.contract_details:void 0;return n||r()},"getContractDetailsSchemaVersion");export{c as a,d as b,m as c,l as d,s as e,p as f};
2
- //# sourceMappingURL=chunk-STF3NTPS.js.map
@@ -1,2 +0,0 @@
1
- import{a as r}from"./chunk-VIGKOVHP.js";import{a as t}from"./chunk-P37U34EQ.js";import{jsx as a}from"react/jsx-runtime";function s({className:e,direction:o="col",...n}){return a("div",{"data-slot":"card",className:r("RemoteFlows__Card bg-white text-card-foreground rounded-[10px] gap-4 border border-gray-200 px-10 py-14",o==="row"?"flex flex-row":"flex flex-col",e),...n})}t(s,"Card");function p({className:e,...o}){return a("header",{"data-slot":"card-header",className:r("flex flex-col gap-1.5 px-6",e),...o})}t(p,"CardHeader");function l({className:e,as:o,...n}){return a(o||"h2",{"data-slot":"card-title",className:r("leading-none font-semibold",e),...n})}t(l,"CardTitle");function i({className:e,...o}){return a("p",{"data-slot":"card-description",className:r("text-sm",e),...o})}t(i,"CardDescription");function m({className:e,...o}){return a("div",{"data-slot":"card-content",className:r("px-6",e),...o})}t(m,"CardContent");function f({className:e,...o}){return a("footer",{"data-slot":"card-footer",className:r("flex items-center px-6",e),...o})}t(f,"CardFooter");export{s as a,p as b,l as c,i as d,m as e,f};
2
- //# sourceMappingURL=chunk-TFSRZOMP.js.map
@@ -1,2 +0,0 @@
1
- import{i as C,j as a,k as d,l as i,m as u}from"./chunk-7EONM7HL.js";import{a as c}from"./chunk-R4X2WQXX.js";import{a as h}from"./chunk-VIGKOVHP.js";import{a as _}from"./chunk-P37U34EQ.js";import{Fragment as v,jsx as o,jsxs as r}from"react/jsx-runtime";var L=_(({field:l,fieldState:k,fieldData:p})=>{let{name:m,label:s,description:n,options:t,multiple:F}=p;return r(C,{"data-field":m,className:h(`RemoteFlows__CheckBoxField__Item__${m}`),children:[o(d,{children:r(v,{children:[t&&F?o(a,{children:s}):null,t&&F?t.map(e=>r("div",{className:"flex space-x-2",children:[o(c,{id:e.value,onCheckedChange:b=>{l.onChange(b===!0,e.value)},checked:l.value?.includes(e.value),className:"RemoteFlows__CheckBox__Input"}),o(a,{htmlFor:e.value,className:"mb-0 RemoteFlows__CheckBox__Label",children:e.label})]},e.value)):r("div",{className:"flex space-x-2",children:[o(c,{id:m,onCheckedChange:e=>{l.onChange(e===!0,null)},checked:l.value,className:"RemoteFlows__CheckBox__Input"}),o(a,{htmlFor:m,className:"mb-0 RemoteFlows__CheckBox__Label",children:s})]})]})}),n&&o(i,{children:n}),k.error&&o(u,{})]})},"CheckboxFieldDefault");export{L as a};
2
- //# sourceMappingURL=chunk-VKQQKGGY.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/form/fields/default/CheckboxFieldDefault.tsx"],"sourcesContent":["import { Checkbox } from '@/src/components/ui/checkbox';\nimport {\n FormControl,\n FormDescription,\n FormItem,\n FormLabel,\n FormMessage,\n} from '@/src/components/ui/form';\nimport { cn } from '@/src/lib/utils';\nimport { FieldComponentProps } from '@/src/types/fields';\nimport { CheckedState } from '@radix-ui/react-checkbox';\n\nexport const CheckboxFieldDefault = ({\n field,\n fieldState,\n fieldData,\n}: FieldComponentProps) => {\n const { name, label, description, options, multiple } = fieldData;\n\n return (\n <FormItem\n data-field={name}\n className={cn(`RemoteFlows__CheckBoxField__Item__${name}`)}\n >\n <FormControl>\n <>\n {options && multiple ? <FormLabel>{label}</FormLabel> : null}\n\n {options && multiple ? (\n options.map((option) => (\n <div key={option.value} className='flex space-x-2'>\n <Checkbox\n id={option.value}\n onCheckedChange={(checked: CheckedState) => {\n field.onChange(checked === true, option.value);\n }}\n checked={field.value?.includes(option.value)}\n className='RemoteFlows__CheckBox__Input'\n />\n <FormLabel\n htmlFor={option.value}\n className='mb-0 RemoteFlows__CheckBox__Label'\n >\n {option.label}\n </FormLabel>\n </div>\n ))\n ) : (\n <div className='flex space-x-2'>\n <Checkbox\n id={name}\n onCheckedChange={(checked: CheckedState) => {\n field.onChange(checked === true, null);\n }}\n checked={field.value}\n className='RemoteFlows__CheckBox__Input'\n />\n <FormLabel\n htmlFor={name}\n className='mb-0 RemoteFlows__CheckBox__Label'\n >\n {label}\n </FormLabel>\n </div>\n )}\n </>\n </FormControl>\n {description && <FormDescription>{description}</FormDescription>}\n {fieldState.error && <FormMessage />}\n </FormItem>\n );\n};\n"],"mappings":"4LAyBQ,mBAAAA,EACyB,OAAAC,EAInB,QAAAC,MALN,oBAbD,IAAMC,EAAuBC,EAAA,CAAC,CACnC,MAAAC,EACA,WAAAC,EACA,UAAAC,CACF,IAA2B,CACzB,GAAM,CAAE,KAAAC,EAAM,MAAAC,EAAO,YAAAC,EAAa,QAAAC,EAAS,SAAAC,CAAS,EAAIL,EAExD,OACEL,EAACW,EAAA,CACC,aAAYL,EACZ,UAAWM,EAAG,qCAAqCN,CAAI,EAAE,EAEzD,UAAAP,EAACc,EAAA,CACC,SAAAb,EAAAF,EAAA,CACG,UAAAW,GAAWC,EAAWX,EAACe,EAAA,CAAW,SAAAP,EAAM,EAAe,KAEvDE,GAAWC,EACVD,EAAQ,IAAKM,GACXf,EAAC,OAAuB,UAAU,iBAChC,UAAAD,EAACiB,EAAA,CACC,GAAID,EAAO,MACX,gBAAkBE,GAA0B,CAC1Cd,EAAM,SAASc,IAAY,GAAMF,EAAO,KAAK,CAC/C,EACA,QAASZ,EAAM,OAAO,SAASY,EAAO,KAAK,EAC3C,UAAU,+BACZ,EACAhB,EAACe,EAAA,CACC,QAASC,EAAO,MAChB,UAAU,oCAET,SAAAA,EAAO,MACV,IAdQA,EAAO,KAejB,CACD,EAEDf,EAAC,OAAI,UAAU,iBACb,UAAAD,EAACiB,EAAA,CACC,GAAIV,EACJ,gBAAkBW,GAA0B,CAC1Cd,EAAM,SAASc,IAAY,GAAM,IAAI,CACvC,EACA,QAASd,EAAM,MACf,UAAU,+BACZ,EACAJ,EAACe,EAAA,CACC,QAASR,EACT,UAAU,oCAET,SAAAC,EACH,GACF,GAEJ,EACF,EACCC,GAAeT,EAACmB,EAAA,CAAiB,SAAAV,EAAY,EAC7CJ,EAAW,OAASL,EAACoB,EAAA,EAAY,GACpC,CAEJ,EA3DoC","names":["Fragment","jsx","jsxs","CheckboxFieldDefault","__name","field","fieldState","fieldData","name","label","description","options","multiple","FormItem","cn","FormControl","FormLabel","option","Checkbox","checked","FormDescription","FormMessage"]}
@@ -1,2 +0,0 @@
1
- import{a as T,b as g}from"./chunk-CT2D4IBR.js";import{a as d}from"./chunk-SNECOPBD.js";import{g as C}from"./chunk-I3DVKJCW.js";import{b as _}from"./chunk-YHCH57B7.js";import{c as u}from"./chunk-7EONM7HL.js";import{e as l}from"./chunk-VIGKOVHP.js";import{a as i}from"./chunk-P37U34EQ.js";import{Fragment as b}from"react";var y={...T,fieldset:g,"fieldset-flat":g};import{useEffect as R}from"react";import{Fragment as J,jsx as m,jsxs as x}from"react/jsx-runtime";var k=i(({name:t,description:a,helpCenter:n})=>x("span",{children:[m("span",{className:`text-xs RemoteFlows__ForcedValue__Description__${t}`,dangerouslySetInnerHTML:{__html:l(a)}}),n?.callToAction&&n?.id&&m(_,{className:"RemoteFlows__ForcedValue__HelpCenterLink",zendeskId:n.id,children:n.callToAction})]}),"Description");function h({name:t,value:a,description:n,statement:r,label:F,helpCenter:c}){let{setValue:e}=u(),o=l(r?.description||n);return R(()=>{e(t,a)},[]),m("div",{children:r?x(J,{children:[m("p",{className:`text-sm RemoteFlows__ForcedValue__Title__${t}`,dangerouslySetInnerHTML:{__html:l(r?.title||F)}}),m(k,{name:t,description:l(r?.description||n),helpCenter:c})]}):m(k,{name:t,description:o,helpCenter:c})})}i(h,"ForcedValueField");import{Fragment as N,jsx as s,jsxs as S}from"react/jsx-runtime";function M(t){return t.const!==void 0&&t.const===t.default&&t.type!=="checkbox"&&t.type!=="hidden"}i(M,"checkFieldHasForcedValue");var K=i(({fields:t,fieldsets:a,fieldValues:n,components:r})=>{let{setValue:F}=u();if(!t||t.length===0)return null;let c=a&&n?C({fields:t,fieldsets:a,values:n}):t;return s(N,{children:c.map(e=>{if(e.calculateDynamicProperties&&(e={...e,...e.calculateDynamicProperties(n,e)||{}}),e.isVisible===!1||e.deprecated||e.hidden)return null;if(M(e))return s(h,{name:e.name,description:e.description,value:e.const,statement:e.statement,label:e.label,helpCenter:e.meta?.helpCenter},e.name);if(e.Component){let{Component:V}=e;return S(b,{children:[s(V,{setValue:P=>F(e.name,P),...e}),e.statement?s(d,{...e.statement}):null,e.extra?e.extra:null]},e.name)}let o=e.type,p=y[o];return p?o==="fieldset"?s(p,{...e,components:r},e.name):o==="fieldset-flat"?s(p,{...e,components:r,isFlatFieldset:!0},e.name):(o==="select"&&e.multiple&&(p=y["multi-select"]),S(b,{children:[s(p,{...e,component:r&&r[o]}),e.statement?s(d,{...e.statement}):null,e.extra?e.extra:null]},e.name)):S("p",{className:"error",children:["Field type ",o," not supported"]})})})},"JSONSchemaFormFields");export{K as a};
2
- //# sourceMappingURL=chunk-VZ5BGG3N.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/form/JSONSchemaForm.tsx","../src/components/form/fields/fieldsMapping.tsx","../src/components/form/fields/ForcedValueField.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { JSFFields } from '@/src/types/remoteFlows';\nimport React, { Fragment } from 'react';\n\nimport { fieldsMap } from '@/src/components/form/fields/fieldsMapping';\nimport { Statement } from '@/src/components/form/Statement';\nimport { ForcedValueField } from '@/src/components/form/fields/ForcedValueField';\nimport { Components, JSFFieldset } from '@/src/types/remoteFlows';\nimport { getFieldsWithFlatFieldsets } from './utils';\nimport { StatementComponentProps } from '@/src/types/fields';\nimport { useFormContext } from 'react-hook-form';\n\ntype JSONSchemaFormFieldsProps = {\n fields: JSFFields;\n components?: Components;\n fieldsets?: JSFFieldset | null | undefined;\n fieldValues?: Record<string, unknown>;\n};\n\nfunction checkFieldHasForcedValue(field: any) {\n // A field to be considered \"forced value\" must:\n return (\n field.const !== undefined && // Only accepts a specific value\n field.const === field.default && // It can be prefilled, meaning it's not critical\n field.type !== 'checkbox' && // Because checkbox must always be visible\n field.type !== 'hidden' // Because hidden inputs shouldn't be visible\n );\n}\n\nexport const JSONSchemaFormFields = ({\n fields,\n fieldsets,\n fieldValues,\n components,\n}: JSONSchemaFormFieldsProps) => {\n const { setValue } = useFormContext();\n\n if (!fields || fields.length === 0) return null;\n\n const maybeFieldWithFlatFieldsets =\n fieldsets && fieldValues\n ? getFieldsWithFlatFieldsets({\n fields: fields,\n fieldsets: fieldsets,\n values: fieldValues,\n })\n : fields;\n\n return (\n <>\n {maybeFieldWithFlatFieldsets.map((field) => {\n if (field.calculateDynamicProperties) {\n field = {\n ...field,\n ...(field.calculateDynamicProperties(fieldValues, field) || {}),\n };\n }\n\n if (field.isVisible === false || field.deprecated || field.hidden) {\n return null; // Skip hidden or deprecated fields\n }\n\n if (checkFieldHasForcedValue(field)) {\n return (\n <ForcedValueField\n key={field.name as string}\n name={field.name as string}\n description={field.description as string}\n value={field.const as string}\n statement={field.statement as any}\n label={field.label as string}\n helpCenter={field.meta?.helpCenter}\n />\n );\n }\n\n if (field.Component) {\n const { Component } = field as {\n Component: React.ComponentType<any>;\n };\n return (\n <Fragment key={field.name as string}>\n <Component\n setValue={(value: unknown) => setValue(field.name, value)}\n {...field}\n />\n {field.statement ? (\n <Statement\n {...(field.statement as StatementComponentProps['data'])}\n />\n ) : null}\n {field.extra ? field.extra : null}\n </Fragment>\n );\n }\n\n // We use field.type on purpose here, not field.inputType, when using field.inputType\n // the conditionals didn't work as expected\n // I believe json-schema-form in the latest versions uses field.inputType correctly but\n // the version of json-schema-form is decided by remote-json-schema-form-kit\n // our product uses field.type instead of field.inputType and we probably should do the same\n const fieldType = field.type;\n let FieldComponent = fieldsMap[fieldType as keyof typeof fieldsMap];\n\n if (!FieldComponent) {\n return (\n <p className='error'>\n Field type {fieldType as string} not supported\n </p>\n );\n }\n\n if (fieldType === 'fieldset') {\n return (\n <FieldComponent\n key={field.name}\n {...field}\n components={components}\n />\n );\n }\n\n if (fieldType === 'fieldset-flat') {\n return (\n <FieldComponent\n key={field.name}\n {...field}\n components={components}\n isFlatFieldset\n />\n );\n }\n\n // TODO: Have doubts about this, it seems we only support checkbox for multiple select\n if (fieldType === 'select' && field.multiple) {\n FieldComponent = fieldsMap['multi-select'];\n }\n\n return (\n <Fragment key={field.name as string}>\n <FieldComponent\n {...field}\n component={\n components && components[fieldType as keyof Components]\n }\n />\n {field.statement ? (\n <Statement\n {...(field.statement as StatementComponentProps['data'])}\n />\n ) : null}\n {field.extra ? field.extra : null}\n </Fragment>\n );\n })}\n </>\n );\n};\n","import { $TSFixMe } from '@/src/types/remoteFlows';\nimport { baseFields } from './baseFields';\nimport { FieldSetField } from './FieldSetField';\nimport { SupportedTypes } from './types';\n\nexport const fieldsMap: Record<\n SupportedTypes,\n React.ComponentType<$TSFixMe>\n> = {\n ...baseFields,\n fieldset: FieldSetField,\n 'fieldset-flat': FieldSetField,\n};\n","import { useFormContext } from 'react-hook-form';\nimport { sanitizeHtml } from '@/src/lib/utils';\nimport { useEffect } from 'react';\nimport { ZendeskTriggerButton } from '@/src/components/shared/zendesk-drawer/ZendeskTriggerButton';\n\nconst Description = ({\n name,\n description,\n helpCenter,\n}: {\n name: string;\n description: string;\n helpCenter?: {\n callToAction: string;\n id: number;\n url: string;\n label: string;\n };\n}) => {\n return (\n <span>\n <span\n className={`text-xs RemoteFlows__ForcedValue__Description__${name}`}\n dangerouslySetInnerHTML={{ __html: sanitizeHtml(description) }}\n />\n {helpCenter?.callToAction && helpCenter?.id && (\n <ZendeskTriggerButton\n className='RemoteFlows__ForcedValue__HelpCenterLink'\n zendeskId={helpCenter.id}\n >\n {helpCenter.callToAction}\n </ZendeskTriggerButton>\n )}\n </span>\n );\n};\n\nexport type ForcedValueFieldProps = {\n name: string;\n value: string;\n description: string;\n statement?: {\n title?: string;\n description?: string;\n };\n label: string;\n helpCenter?: {\n callToAction: string;\n id: number;\n url: string;\n label: string;\n };\n};\n\nexport function ForcedValueField({\n name,\n value,\n description,\n statement,\n label,\n helpCenter,\n}: ForcedValueFieldProps) {\n const { setValue } = useFormContext();\n const descriptionSanitized = sanitizeHtml(\n statement?.description || description,\n );\n useEffect(() => {\n setValue(name, value);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <div>\n {statement ? (\n <>\n {/* if statement?.title is undefined which could be for example belgium contract details form, we need to use the label attribute */}\n <p\n className={`text-sm RemoteFlows__ForcedValue__Title__${name}`}\n dangerouslySetInnerHTML={{\n __html: sanitizeHtml(statement?.title || label),\n }}\n />\n <Description\n name={name}\n description={sanitizeHtml(statement?.description || description)}\n helpCenter={helpCenter}\n />\n </>\n ) : (\n <Description\n name={name}\n description={descriptionSanitized}\n helpCenter={helpCenter}\n />\n )}\n </div>\n );\n}\n"],"mappings":"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","names":["Fragment","fieldsMap","baseFields","FieldSetField","useEffect","Fragment","jsx","jsxs","Description","__name","name","description","helpCenter","sanitizeHtml","ZendeskTriggerButton","ForcedValueField","value","statement","label","setValue","useFormContext","descriptionSanitized","useEffect","Fragment","jsx","jsxs","checkFieldHasForcedValue","field","__name","JSONSchemaFormFields","fields","fieldsets","fieldValues","components","setValue","useFormContext","maybeFieldWithFlatFieldsets","getFieldsWithFlatFieldsets","ForcedValueField","Component","value","Statement","fieldType","FieldComponent","fieldsMap"]}
@@ -1,2 +0,0 @@
1
- import{a as u}from"./chunk-VPSESR6G.js";import{i,j as a,k as c,l as p,m as F}from"./chunk-7EONM7HL.js";import{a as n}from"./chunk-P37U34EQ.js";import{useEffect as O,useState as g}from"react";import{jsx as o,jsxs as D}from"react/jsx-runtime";var N=n(({field:t,fieldState:d,fieldData:_})=>{let[f,r]=g([]),{name:s,label:v,description:m,options:l}=_,C=f||l?.filter(e=>t.value?.includes(e.value));return O(()=>{r(l?.filter(e=>t.value?.includes(e.value))||[])},[t.value,l]),D(i,{"data-field":s,className:`RemoteFlows__SelectField__Item__${s}`,children:[o(a,{className:"RemoteFlows__SelectField__Label",children:v}),o(c,{children:o(u,{options:l||[],selected:C,onChange:e=>{let S=e.map(({value:b})=>b);t.onChange(S),r(e)}})}),m&&o(p,{children:m}),d.error&&o(F,{})]})},"MultiSelectFieldDefault");export{N as a};
2
- //# sourceMappingURL=chunk-YHQQSL4Q.js.map