@remoteoss/remote-flows 1.30.0 → 1.32.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 (519) hide show
  1. package/dist/ButtonDefault-OMZEWLEI.js +2 -0
  2. package/dist/CheckboxFieldDefault-AGW42RDY.js +2 -0
  3. package/dist/CountryFieldDefault-24T4C7OU.js +2 -0
  4. package/dist/DatePickerFieldDefault-BG4KM2EG.js +2 -0
  5. package/dist/DrawerDefault-64GMPAIH.js +2 -0
  6. package/dist/EmailFieldDefault-UPDZNN2F.js +2 -0
  7. package/dist/FieldsetToggleButtonDefault-BOYDY7VX.js +2 -0
  8. package/dist/FileUploadFieldDefault-KFTIOHEJ.js +2 -0
  9. package/dist/MultiSelectFieldDefault-ALM76UQ5.js +2 -0
  10. package/dist/NumberFieldDefault-OXSEX3HX.js +2 -0
  11. package/dist/RadioGroupFieldDefault-55336PG5.js +2 -0
  12. package/dist/SelectFieldDefault-ARANC6QX.js +2 -0
  13. package/dist/StatementDefault-BMPIWUGF.js +2 -0
  14. package/dist/TableFieldDefault-2FLJU7TJ.js +2 -0
  15. package/dist/TelFieldDefault-RFAYBPGK.js +2 -0
  16. package/dist/TextAreaFieldDefault-3C6UZXHV.js +2 -0
  17. package/dist/TextFieldDefault-UQ23EIHH.js +2 -0
  18. package/dist/WorkScheduleFieldDefault-CGU2T6HY.js +2 -0
  19. package/dist/ZendeskDrawerDefault-JEHYLRHU.js +2 -0
  20. package/dist/{chunk-DPV7SSFD.js → chunk-234SEE75.js} +2 -2
  21. package/dist/{chunk-3TVAUVYZ.js → chunk-2A4DCZTX.js} +2 -2
  22. package/dist/{chunk-VQHFF2HH.js → chunk-2P2OJKD4.js} +2 -2
  23. package/dist/{chunk-M3WPBPQU.js → chunk-2WOUKCSC.js} +2 -2
  24. package/dist/{chunk-UMGX2LKV.js → chunk-3EUYWSSZ.js} +2 -2
  25. package/dist/{chunk-BHL3ZNXK.js → chunk-3JPDFNNH.js} +2 -2
  26. package/dist/{chunk-TX57E46D.js → chunk-3OU6XE7X.js} +2 -2
  27. package/dist/{chunk-CRYLYVA7.js → chunk-3SIHU3EE.js} +2 -2
  28. package/dist/{chunk-UJSDXZVG.js → chunk-3UDWOREZ.js} +2 -2
  29. package/dist/{chunk-2OAQQ6X6.js → chunk-3ZGDRCSS.js} +2 -2
  30. package/dist/{chunk-FSIFDXBB.js → chunk-45RIDSO6.js} +2 -2
  31. package/dist/chunk-4QVFKKVN.js +2 -0
  32. package/dist/{chunk-E6SUBDPV.js.map → chunk-4QVFKKVN.js.map} +1 -1
  33. package/dist/{chunk-DVR5OR5J.js → chunk-4RF6I3TT.js} +2 -2
  34. package/dist/{chunk-T4EHHK6N.js → chunk-4YCBOVSQ.js} +2 -2
  35. package/dist/{chunk-FS3GSYSK.js → chunk-5FHDUZCG.js} +2 -2
  36. package/dist/chunk-5JGA7DRL.js +2 -0
  37. package/dist/{chunk-XHWPTKEN.js.map → chunk-5JGA7DRL.js.map} +1 -1
  38. package/dist/{chunk-YUYGNU5Q.js → chunk-5QRYKH3H.js} +2 -2
  39. package/dist/{chunk-GSKP7EBL.js → chunk-6C4DCKHS.js} +2 -2
  40. package/dist/{chunk-YNA73ERB.js → chunk-6S66UQ2X.js} +2 -2
  41. package/dist/{chunk-S2S2U5DM.js → chunk-75MI3G5H.js} +2 -2
  42. package/dist/{chunk-5YEAR75O.js → chunk-77WJNWIC.js} +2 -2
  43. package/dist/{chunk-3AN3QVZK.js → chunk-7A3IHNJF.js} +2 -2
  44. package/dist/{chunk-ZD6ZY65J.js → chunk-7GDMMNJT.js} +2 -2
  45. package/dist/{chunk-A2I7OWOH.js → chunk-ACM63WPM.js} +2 -2
  46. package/dist/{chunk-3RVAEFEH.js → chunk-AGKLWKYY.js} +2 -2
  47. package/dist/{chunk-VIU4RZCS.js → chunk-AVVDKCFO.js} +2 -2
  48. package/dist/{chunk-2VMGSRVH.js → chunk-AWQU5AAN.js} +2 -2
  49. package/dist/{chunk-KXARTTYT.js → chunk-AYYYRHO3.js} +2 -2
  50. package/dist/chunk-AZZUFPQM.js +2 -0
  51. package/dist/{chunk-AMXFLUWP.js.map → chunk-AZZUFPQM.js.map} +1 -1
  52. package/dist/{chunk-P3QDMRCC.js → chunk-B6YWTMGV.js} +2 -2
  53. package/dist/{chunk-KRJETP7I.js → chunk-B7BJXPGT.js} +2 -2
  54. package/dist/{chunk-NVFEQTH5.js → chunk-BCCIFJSO.js} +2 -2
  55. package/dist/chunk-BZ232WZD.js +2 -0
  56. package/dist/{chunk-U2H4CADS.js.map → chunk-BZ232WZD.js.map} +1 -1
  57. package/dist/{chunk-L5TQSATQ.js → chunk-C4UUGOR3.js} +2 -2
  58. package/dist/{chunk-NVIYSQZT.js → chunk-C6UF7BPK.js} +2 -2
  59. package/dist/{chunk-ATLMZEFM.js → chunk-CNMNJMOT.js} +2 -2
  60. package/dist/{chunk-VAWEOFUO.js → chunk-CW7CHRMN.js} +2 -2
  61. package/dist/{chunk-WD5DNUSS.js → chunk-DB4JHJ3Z.js} +2 -2
  62. package/dist/{chunk-HZ5JCCHD.js → chunk-DCPBAFIN.js} +2 -2
  63. package/dist/{chunk-REYOVGEA.js → chunk-DIZ5Z4MN.js} +2 -2
  64. package/dist/chunk-DKLTO4XS.js +2 -0
  65. package/dist/chunk-DKLTO4XS.js.map +1 -0
  66. package/dist/{chunk-2CPRCACO.js → chunk-E3WR4SVV.js} +2 -2
  67. package/dist/{chunk-C6HC5QPL.js → chunk-F7PE3VRK.js} +2 -2
  68. package/dist/{chunk-4HSSOSBE.js → chunk-FHW5CMN5.js} +2 -2
  69. package/dist/{chunk-LOODLNPN.js → chunk-FKELI7OS.js} +2 -2
  70. package/dist/{chunk-W7YC2IO2.js → chunk-G6F6ZZES.js} +2 -2
  71. package/dist/chunk-GPJIEBUC.js +2 -0
  72. package/dist/chunk-GPJIEBUC.js.map +1 -0
  73. package/dist/{chunk-XUK2XG3P.js → chunk-GUO7UC4X.js} +2 -2
  74. package/dist/{chunk-IL4QL35N.js → chunk-GVPB75PC.js} +2 -2
  75. package/dist/chunk-H2O4CVKF.js +2 -0
  76. package/dist/chunk-H2O4CVKF.js.map +1 -0
  77. package/dist/{chunk-4KBRADTN.js → chunk-H4B2NWIZ.js} +2 -2
  78. package/dist/{chunk-TCN4HBUZ.js → chunk-H4S6LSDA.js} +2 -2
  79. package/dist/{chunk-U6LRMWRI.js → chunk-H66IKMI4.js} +2 -2
  80. package/dist/{chunk-WVQH6TZ3.js → chunk-H6Q7QK3C.js} +2 -2
  81. package/dist/{chunk-O6OLGKA6.js → chunk-HIWYDAQU.js} +2 -2
  82. package/dist/chunk-HUAPBLSQ.js +2 -0
  83. package/dist/chunk-HUAPBLSQ.js.map +1 -0
  84. package/dist/{chunk-RTGRILSN.js → chunk-HVI5GHIV.js} +2 -2
  85. package/dist/{chunk-CWTGZ65B.js → chunk-HZ2BCB3U.js} +2 -2
  86. package/dist/{chunk-FAJKPU7Z.js → chunk-I5NOEJSP.js} +2 -2
  87. package/dist/{chunk-B7SGUAGH.js → chunk-ID66NML3.js} +2 -2
  88. package/dist/{chunk-QPN6X6UA.js → chunk-IFIJ7OVJ.js} +2 -2
  89. package/dist/chunk-IOVRTUOC.js +2 -0
  90. package/dist/chunk-IOVRTUOC.js.map +1 -0
  91. package/dist/{chunk-ZLIWNVE5.js → chunk-J2QQLYVY.js} +2 -2
  92. package/dist/{chunk-R7LMREDN.js → chunk-JLUYUNSV.js} +2 -2
  93. package/dist/{chunk-NBVZJNYD.js → chunk-JX2ZVRE7.js} +2 -2
  94. package/dist/chunk-K2SHDZBB.js +2 -0
  95. package/dist/{chunk-67Y7FHJL.js.map → chunk-K2SHDZBB.js.map} +1 -1
  96. package/dist/{chunk-FWNLALPP.js → chunk-K5TZIA6W.js} +2 -2
  97. package/dist/{chunk-763JSZ5D.js → chunk-KAHAW4HH.js} +2 -2
  98. package/dist/{chunk-763JSZ5D.js.map → chunk-KAHAW4HH.js.map} +1 -1
  99. package/dist/{chunk-DPVXSN7T.js → chunk-KVUKJU5U.js} +2 -2
  100. package/dist/{chunk-LBGEZ4EI.js → chunk-KWBTUWWQ.js} +2 -2
  101. package/dist/{chunk-LFSTBZUZ.js → chunk-L57LWMNE.js} +2 -2
  102. package/dist/{chunk-URUZIOHG.js → chunk-LANAT75E.js} +2 -2
  103. package/dist/{chunk-F53HVGYB.js → chunk-LG5NFDID.js} +2 -2
  104. package/dist/{chunk-RTZVAPMC.js → chunk-LWQLNGOH.js} +2 -2
  105. package/dist/{chunk-P7RD6IVL.js → chunk-LXEFKJ4K.js} +2 -2
  106. package/dist/{chunk-NDEFEREU.js → chunk-MGPUZ7NZ.js} +2 -2
  107. package/dist/{chunk-WWP6HXJC.js → chunk-MHQ5ZW5P.js} +2 -2
  108. package/dist/{chunk-G262RA6W.js → chunk-N5XWRUYE.js} +2 -2
  109. package/dist/{chunk-RSXEN3N2.js → chunk-NDZIQGDE.js} +2 -2
  110. package/dist/{chunk-IF42CZJH.js → chunk-NEKE5PRJ.js} +2 -2
  111. package/dist/{chunk-ZHF32IXI.js → chunk-NKTGQNE2.js} +2 -2
  112. package/dist/{chunk-YJI7RIP6.js → chunk-NRNLLJCB.js} +2 -2
  113. package/dist/{chunk-4WSJ2A6Q.js → chunk-OL5C4QEH.js} +2 -2
  114. package/dist/{chunk-4TJAJZ67.js → chunk-OMLHAQQX.js} +2 -2
  115. package/dist/{chunk-3SXFXI3O.js → chunk-OPM4YQGQ.js} +2 -2
  116. package/dist/{chunk-2I7VHYTP.js → chunk-PBWF2VXG.js} +2 -2
  117. package/dist/chunk-PFQTTYVH.js +2 -0
  118. package/dist/{chunk-34K6BCJD.js.map → chunk-PFQTTYVH.js.map} +1 -1
  119. package/dist/{chunk-W5YVKNRC.js → chunk-PIGJNWPB.js} +2 -2
  120. package/dist/{chunk-OKLZQ5MG.js → chunk-PR6I3UYE.js} +2 -2
  121. package/dist/{chunk-V3FMENNN.js → chunk-QC2FAORS.js} +2 -2
  122. package/dist/chunk-QGQSTK73.js +2 -0
  123. package/dist/{chunk-4Z3EMHTE.js.map → chunk-QGQSTK73.js.map} +1 -1
  124. package/dist/{chunk-YIMWF5GR.js → chunk-QXW2MAFG.js} +2 -2
  125. package/dist/{chunk-DPVXTQAB.js → chunk-QYNWADPG.js} +2 -2
  126. package/dist/{chunk-CQDQM2IX.js → chunk-RWXZG4KO.js} +2 -2
  127. package/dist/{chunk-XEJ4XS2N.js → chunk-RXSGIEA5.js} +2 -2
  128. package/dist/chunk-RZCU2MT3.js +2 -0
  129. package/dist/chunk-RZCU2MT3.js.map +1 -0
  130. package/dist/chunk-SC7YWKOW.js +2 -0
  131. package/dist/{chunk-MJQUJZCD.js → chunk-SLEK47CR.js} +2 -2
  132. package/dist/{chunk-N33KFFOU.js → chunk-SNWJIIF7.js} +2 -2
  133. package/dist/{chunk-55DI7KZU.js → chunk-STJW643Y.js} +2 -2
  134. package/dist/{chunk-D5AR26AI.js → chunk-SWCZJY6I.js} +2 -2
  135. package/dist/{chunk-EIENNK3Y.js → chunk-SYXJTCKS.js} +2 -2
  136. package/dist/{chunk-EBMRVQLR.js → chunk-T5HMFMXH.js} +2 -2
  137. package/dist/chunk-TLQYNJBC.js +2 -0
  138. package/dist/{chunk-62SF33UR.js.map → chunk-TLQYNJBC.js.map} +1 -1
  139. package/dist/{chunk-2K6FAKY5.js → chunk-TSWZPJNS.js} +2 -2
  140. package/dist/{chunk-RD7GZHE5.js → chunk-TVF4JOK2.js} +2 -2
  141. package/dist/chunk-U5T77DSF.js +2 -0
  142. package/dist/chunk-U5T77DSF.js.map +1 -0
  143. package/dist/{chunk-MEG74D4V.js → chunk-UB5ZMTTU.js} +2 -2
  144. package/dist/{chunk-KV4L464D.js → chunk-VATDEWMF.js} +2 -2
  145. package/dist/{chunk-LDYA3D2Q.js → chunk-VZLUAWY5.js} +2 -2
  146. package/dist/{chunk-D2SLABJB.js → chunk-WJ64Q54L.js} +2 -2
  147. package/dist/{chunk-Q3RQX6S5.js → chunk-WUQZCGWG.js} +2 -2
  148. package/dist/chunk-WUSKSXW2.js +2 -0
  149. package/dist/chunk-WUSKSXW2.js.map +1 -0
  150. package/dist/{chunk-2KQAMX75.js → chunk-WZHTDLX6.js} +2 -2
  151. package/dist/{chunk-RHVD4JYN.js → chunk-X66NETZL.js} +2 -2
  152. package/dist/{chunk-AJKWG25T.js → chunk-XELPL3XO.js} +2 -2
  153. package/dist/chunk-XG6ASTX5.js +2 -0
  154. package/dist/{chunk-SJZP5XKE.js.map → chunk-XG6ASTX5.js.map} +1 -1
  155. package/dist/{chunk-YTLAH5QM.js → chunk-YMOAWXSE.js} +2 -2
  156. package/dist/{chunk-WR5DSTKP.js → chunk-YUNA3QKT.js} +2 -2
  157. package/dist/{chunk-OUSZOJE4.js → chunk-ZANINDSC.js} +2 -2
  158. package/dist/{chunk-3H7ADMNB.js → chunk-ZHDES3J6.js} +2 -2
  159. package/dist/chunk-ZQNYASQ3.js +2 -0
  160. package/dist/chunk-ZQNYASQ3.js.map +1 -0
  161. package/dist/{chunk-QAGHZZ27.js → chunk-ZSMILHO4.js} +2 -2
  162. package/dist/{chunk-VREHPEMW.js → chunk-ZYN3TAUB.js} +2 -2
  163. package/dist/default-components.d.ts +2 -2
  164. package/dist/default-components.js +1 -1
  165. package/dist/flows/ContractAmendment/ContractAmendmentBack.js +1 -1
  166. package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.d.ts +1 -1
  167. package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.js +1 -1
  168. package/dist/flows/ContractAmendment/ContractAmendmentFlow.d.ts +3 -3
  169. package/dist/flows/ContractAmendment/ContractAmendmentFlow.js +1 -1
  170. package/dist/flows/ContractAmendment/ContractAmendmentForm.d.ts +1 -1
  171. package/dist/flows/ContractAmendment/ContractAmendmentForm.js +1 -1
  172. package/dist/flows/ContractAmendment/ContractAmendmentSubmit.js +1 -1
  173. package/dist/flows/ContractAmendment/context.d.ts +3 -3
  174. package/dist/flows/ContractAmendment/hooks.d.ts +3 -3
  175. package/dist/flows/ContractAmendment/hooks.js +1 -1
  176. package/dist/flows/ContractAmendment/index.d.ts +3 -3
  177. package/dist/flows/ContractAmendment/index.js +1 -1
  178. package/dist/flows/ContractAmendment/types.d.ts +2 -2
  179. package/dist/flows/ContractAmendment/utils.d.ts +2 -2
  180. package/dist/flows/ContractAmendment/utils.js +1 -1
  181. package/dist/flows/ContractorOnboarding/ContractorOnboarding.d.ts +5 -5
  182. package/dist/flows/ContractorOnboarding/ContractorOnboarding.js +1 -1
  183. package/dist/flows/ContractorOnboarding/api.d.ts +2 -2
  184. package/dist/flows/ContractorOnboarding/api.js +1 -1
  185. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.d.ts +4 -4
  186. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.js +1 -1
  187. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.d.ts +5 -5
  188. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.js +1 -1
  189. package/dist/flows/ContractorOnboarding/components/ContractPreviewHeader.d.ts +2 -2
  190. package/dist/flows/ContractorOnboarding/components/ContractPreviewStatement.d.ts +2 -2
  191. package/dist/flows/ContractorOnboarding/components/ContractPreviewStatement.js +1 -1
  192. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.d.ts +5 -5
  193. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.js +1 -1
  194. package/dist/flows/ContractorOnboarding/components/ContractReviewButton.js +1 -1
  195. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.d.ts +5 -5
  196. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.js +1 -1
  197. package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.d.ts +5 -5
  198. package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.js +1 -1
  199. package/dist/flows/ContractorOnboarding/components/OnboardingBack.js +1 -1
  200. package/dist/flows/ContractorOnboarding/components/OnboardingInvite.d.ts +3 -3
  201. package/dist/flows/ContractorOnboarding/components/OnboardingInvite.js +1 -1
  202. package/dist/flows/ContractorOnboarding/components/OnboardingSubmit.js +1 -1
  203. package/dist/flows/ContractorOnboarding/components/PricingPlan.d.ts +5 -5
  204. package/dist/flows/ContractorOnboarding/components/PricingPlan.js +1 -1
  205. package/dist/flows/ContractorOnboarding/components/SaveDraftButton.d.ts +3 -3
  206. package/dist/flows/ContractorOnboarding/components/SaveDraftButton.js +1 -1
  207. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.d.ts +4 -4
  208. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.js +1 -1
  209. package/dist/flows/ContractorOnboarding/components/StatementOfWorkDisclaimer.js +1 -1
  210. package/dist/flows/ContractorOnboarding/context.d.ts +6 -5
  211. package/dist/flows/ContractorOnboarding/hooks.d.ts +5 -5
  212. package/dist/flows/ContractorOnboarding/hooks.js +1 -1
  213. package/dist/flows/ContractorOnboarding/index.d.ts +5 -5
  214. package/dist/flows/ContractorOnboarding/index.js +1 -1
  215. package/dist/flows/ContractorOnboarding/jsfModify.d.ts +5 -5
  216. package/dist/flows/ContractorOnboarding/jsfModify.js +1 -1
  217. package/dist/flows/ContractorOnboarding/types.d.ts +5 -5
  218. package/dist/flows/ContractorOnboarding/utils.d.ts +4 -4
  219. package/dist/flows/CostCalculator/CostCalculatorFlow.d.ts +3 -3
  220. package/dist/flows/CostCalculator/CostCalculatorFlow.js +1 -1
  221. package/dist/flows/CostCalculator/CostCalculatorForm.d.ts +3 -3
  222. package/dist/flows/CostCalculator/CostCalculatorForm.js +1 -1
  223. package/dist/flows/CostCalculator/CostCalculatorResetButton.js +1 -1
  224. package/dist/flows/CostCalculator/CostCalculatorSubmitButton.js +1 -1
  225. package/dist/flows/CostCalculator/EstimationResults/EstimationResults.d.ts +2 -2
  226. package/dist/flows/CostCalculator/EstimationResults/EstimationResults.js +1 -1
  227. package/dist/flows/CostCalculator/SummaryResults/SummaryResults.d.ts +2 -2
  228. package/dist/flows/CostCalculator/SummaryResults/SummaryResults.js +1 -1
  229. package/dist/flows/CostCalculator/api.d.ts +2 -2
  230. package/dist/flows/CostCalculator/api.js +1 -1
  231. package/dist/flows/CostCalculator/components/SalaryField.d.ts +2 -2
  232. package/dist/flows/CostCalculator/components/SalaryField.js +1 -1
  233. package/dist/flows/CostCalculator/context.d.ts +3 -3
  234. package/dist/flows/CostCalculator/hooks.d.ts +3 -3
  235. package/dist/flows/CostCalculator/hooks.js +1 -1
  236. package/dist/flows/CostCalculator/index.d.ts +3 -3
  237. package/dist/flows/CostCalculator/index.js +1 -1
  238. package/dist/flows/CostCalculator/types.d.ts +2 -2
  239. package/dist/flows/CostCalculator/utils.d.ts +3 -3
  240. package/dist/flows/CostCalculator/utils.js +1 -1
  241. package/dist/flows/CreateCompany/CreateCompany.d.ts +4 -4
  242. package/dist/flows/CreateCompany/CreateCompany.js +1 -1
  243. package/dist/flows/CreateCompany/api.d.ts +2 -2
  244. package/dist/flows/CreateCompany/api.js +1 -1
  245. package/dist/flows/CreateCompany/components/AddressDetailsStep.d.ts +4 -4
  246. package/dist/flows/CreateCompany/components/AddressDetailsStep.js +1 -1
  247. package/dist/flows/CreateCompany/components/CompanyBasicInformationStep.d.ts +4 -4
  248. package/dist/flows/CreateCompany/components/CompanyBasicInformationStep.js +1 -1
  249. package/dist/flows/CreateCompany/components/CreateCompanyForm.d.ts +2 -2
  250. package/dist/flows/CreateCompany/components/CreateCompanyForm.js +1 -1
  251. package/dist/flows/CreateCompany/components/CreateCompanySubmit.js +1 -1
  252. package/dist/flows/CreateCompany/context.d.ts +4 -4
  253. package/dist/flows/CreateCompany/hooks.d.ts +4 -4
  254. package/dist/flows/CreateCompany/hooks.js +1 -1
  255. package/dist/flows/CreateCompany/index.d.ts +4 -4
  256. package/dist/flows/CreateCompany/index.js +1 -1
  257. package/dist/flows/CreateCompany/types.d.ts +4 -4
  258. package/dist/flows/Onboarding/OnboardingFlow.d.ts +4 -4
  259. package/dist/flows/Onboarding/OnboardingFlow.js +1 -1
  260. package/dist/flows/Onboarding/api.d.ts +4 -4
  261. package/dist/flows/Onboarding/api.js +1 -1
  262. package/dist/flows/Onboarding/components/AnnualGrossSalary.d.ts +2 -2
  263. package/dist/flows/Onboarding/components/AnnualGrossSalary.js +1 -1
  264. package/dist/flows/Onboarding/components/BasicInformationStep.d.ts +4 -4
  265. package/dist/flows/Onboarding/components/BasicInformationStep.js +1 -1
  266. package/dist/flows/Onboarding/components/BenefitsStep.d.ts +4 -4
  267. package/dist/flows/Onboarding/components/BenefitsStep.js +1 -1
  268. package/dist/flows/Onboarding/components/ContractDetailsStep.d.ts +4 -4
  269. package/dist/flows/Onboarding/components/ContractDetailsStep.js +1 -1
  270. package/dist/flows/Onboarding/components/EngagementAgreementDetailsStep.d.ts +4 -4
  271. package/dist/flows/Onboarding/components/EngagementAgreementDetailsStep.js +1 -1
  272. package/dist/flows/Onboarding/components/OnboardingBack.js +1 -1
  273. package/dist/flows/Onboarding/components/OnboardingForm.d.ts +4 -4
  274. package/dist/flows/Onboarding/components/OnboardingForm.js +1 -1
  275. package/dist/flows/Onboarding/components/OnboardingInvite.d.ts +3 -3
  276. package/dist/flows/Onboarding/components/OnboardingInvite.js +1 -1
  277. package/dist/flows/Onboarding/components/OnboardingSubmit.js +1 -1
  278. package/dist/flows/Onboarding/components/ReviewStep.d.ts +4 -4
  279. package/dist/flows/Onboarding/components/SaveDraftButton.d.ts +3 -3
  280. package/dist/flows/Onboarding/components/SaveDraftButton.js +1 -1
  281. package/dist/flows/Onboarding/components/SelectCountryStep.d.ts +4 -4
  282. package/dist/flows/Onboarding/components/SelectCountryStep.js +1 -1
  283. package/dist/flows/Onboarding/context.d.ts +5 -4
  284. package/dist/flows/Onboarding/hooks.d.ts +4 -4
  285. package/dist/flows/Onboarding/hooks.js +1 -1
  286. package/dist/flows/Onboarding/index.d.ts +4 -4
  287. package/dist/flows/Onboarding/index.js +1 -1
  288. package/dist/flows/Onboarding/types.d.ts +4 -4
  289. package/dist/flows/Onboarding/utils.d.ts +4 -4
  290. package/dist/flows/Termination/AdditionalDetailsForm.d.ts +4 -4
  291. package/dist/flows/Termination/AdditionalDetailsForm.js +1 -1
  292. package/dist/flows/Termination/EmployeeComunicationForm.d.ts +4 -4
  293. package/dist/flows/Termination/EmployeeComunicationForm.js +1 -1
  294. package/dist/flows/Termination/PaidTimeOffForm.d.ts +4 -4
  295. package/dist/flows/Termination/PaidTimeOffForm.js +1 -1
  296. package/dist/flows/Termination/TerminationBack.js +1 -1
  297. package/dist/flows/Termination/TerminationDetailsForm.d.ts +4 -4
  298. package/dist/flows/Termination/TerminationDetailsForm.js +1 -1
  299. package/dist/flows/Termination/TerminationFlow.d.ts +4 -4
  300. package/dist/flows/Termination/TerminationFlow.js +1 -1
  301. package/dist/flows/Termination/TerminationForm.d.ts +4 -4
  302. package/dist/flows/Termination/TerminationForm.js +1 -1
  303. package/dist/flows/Termination/TerminationSubmit.js +1 -1
  304. package/dist/flows/Termination/api.d.ts +5 -5
  305. package/dist/flows/Termination/api.js +1 -1
  306. package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformation.js +1 -1
  307. package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformationFees.js +1 -1
  308. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.d.ts +6 -6
  309. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.js +1 -1
  310. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.d.ts +6 -6
  311. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.js +1 -1
  312. package/dist/flows/Termination/components/PaidTimeOff/types.d.ts +6 -6
  313. package/dist/flows/Termination/components/TerminationDialogInfoContent/TerminationDialogInfoContent.js +1 -1
  314. package/dist/flows/Termination/components/TerminationReasonsDetailContent/TerminationReasonsDetailContent.js +1 -1
  315. package/dist/flows/Termination/context.d.ts +4 -4
  316. package/dist/flows/Termination/hooks.d.ts +4 -4
  317. package/dist/flows/Termination/hooks.js +1 -1
  318. package/dist/flows/Termination/index.d.ts +6 -6
  319. package/dist/flows/Termination/index.js +1 -1
  320. package/dist/flows/Termination/json-schemas/jsonSchema.js +1 -1
  321. package/dist/flows/Termination/json-schemas/schema.d.ts +4 -4
  322. package/dist/flows/Termination/json-schemas/schema.js +1 -1
  323. package/dist/flows/Termination/types.d.ts +4 -4
  324. package/dist/flows/Termination/utils.d.ts +4 -4
  325. package/dist/flows/Termination/utils.js +1 -1
  326. package/dist/flows/types.d.ts +3 -2
  327. package/dist/flows/utils.d.ts +2 -2
  328. package/dist/index.css +1 -1
  329. package/dist/index.css.map +1 -1
  330. package/dist/index.d.ts +11 -11
  331. package/dist/index.js +2 -2
  332. package/dist/index.js.map +1 -1
  333. package/dist/internals.d.ts +3 -3
  334. package/dist/internals.js +1 -1
  335. package/dist/{mutations-COYPoN6n.d.ts → mutations-DWtiVhzX.d.ts} +1 -1
  336. package/dist/{remoteFlows-k63aIEJo.d.ts → remoteFlows-HrHOVYvy.d.ts} +6 -1
  337. package/dist/styles.css +1 -1
  338. package/dist/styles.css.map +1 -1
  339. package/dist/{types-CK4hqasF.d.ts → types-BBoweHNn.d.ts} +3 -3
  340. package/dist/{types-Bxovqyqu.d.ts → types-C4xgDVL5.d.ts} +5 -4
  341. package/dist/{types-BYkE0awa.d.ts → types-DF7KVwR4.d.ts} +1 -1
  342. package/dist/{types-2UtY1TYR.d.ts → types-VL8cVbKj.d.ts} +2 -2
  343. package/dist/{types-vmr842f0.d.ts → types-xGK_68j9.d.ts} +4 -3
  344. package/dist/{types.gen-C0u24yUP.d.ts → types.gen-C1H9Wowh.d.ts} +1 -1
  345. package/dist/{utils-SkXjfkNE.d.ts → utils-C2a483TA.d.ts} +3 -2
  346. package/package.json +1 -1
  347. package/dist/ButtonDefault-CKQ2BJUS.js +0 -2
  348. package/dist/CheckboxFieldDefault-ITS5AJ7Q.js +0 -2
  349. package/dist/CountryFieldDefault-3TPRO5JM.js +0 -2
  350. package/dist/DatePickerFieldDefault-BJ3ZWIDN.js +0 -2
  351. package/dist/DrawerDefault-BI3CU3ER.js +0 -2
  352. package/dist/EmailFieldDefault-Y222V5HN.js +0 -2
  353. package/dist/FieldsetToggleButtonDefault-4U7BDT4X.js +0 -2
  354. package/dist/FileUploadFieldDefault-QUV4UQFI.js +0 -2
  355. package/dist/MultiSelectFieldDefault-2YHZ6LWQ.js +0 -2
  356. package/dist/NumberFieldDefault-EUASY7WK.js +0 -2
  357. package/dist/RadioGroupFieldDefault-FY4PGK2P.js +0 -2
  358. package/dist/SelectFieldDefault-DNETNXYW.js +0 -2
  359. package/dist/StatementDefault-6EBISV3S.js +0 -2
  360. package/dist/TableFieldDefault-RJLGSGJF.js +0 -2
  361. package/dist/TelFieldDefault-ORXQQGWG.js +0 -2
  362. package/dist/TextAreaFieldDefault-D5MTC4ZN.js +0 -2
  363. package/dist/TextFieldDefault-ZTP2X3NH.js +0 -2
  364. package/dist/WorkScheduleFieldDefault-J5L7GMZR.js +0 -2
  365. package/dist/ZendeskDrawerDefault-EDBRPDGO.js +0 -2
  366. package/dist/chunk-34K6BCJD.js +0 -2
  367. package/dist/chunk-4JIT6ICA.js +0 -2
  368. package/dist/chunk-4JIT6ICA.js.map +0 -1
  369. package/dist/chunk-4Z3EMHTE.js +0 -2
  370. package/dist/chunk-62SF33UR.js +0 -2
  371. package/dist/chunk-67Y7FHJL.js +0 -2
  372. package/dist/chunk-AMXFLUWP.js +0 -2
  373. package/dist/chunk-B6INIXRK.js +0 -2
  374. package/dist/chunk-B6INIXRK.js.map +0 -1
  375. package/dist/chunk-C2RPJGJB.js +0 -2
  376. package/dist/chunk-C2RPJGJB.js.map +0 -1
  377. package/dist/chunk-CRMSCL22.js +0 -2
  378. package/dist/chunk-CRMSCL22.js.map +0 -1
  379. package/dist/chunk-DN6BXTAC.js +0 -2
  380. package/dist/chunk-E6SUBDPV.js +0 -2
  381. package/dist/chunk-INNJURYH.js +0 -2
  382. package/dist/chunk-INNJURYH.js.map +0 -1
  383. package/dist/chunk-JVGGWBFZ.js +0 -2
  384. package/dist/chunk-JVGGWBFZ.js.map +0 -1
  385. package/dist/chunk-KQPDXXG3.js +0 -2
  386. package/dist/chunk-KQPDXXG3.js.map +0 -1
  387. package/dist/chunk-L6YEMU4A.js +0 -2
  388. package/dist/chunk-L6YEMU4A.js.map +0 -1
  389. package/dist/chunk-SJZP5XKE.js +0 -2
  390. package/dist/chunk-TQQ227SJ.js +0 -2
  391. package/dist/chunk-TQQ227SJ.js.map +0 -1
  392. package/dist/chunk-U2H4CADS.js +0 -2
  393. package/dist/chunk-XHWPTKEN.js +0 -2
  394. package/dist/chunk-Y7L6VZOT.js +0 -2
  395. package/dist/chunk-Y7L6VZOT.js.map +0 -1
  396. /package/dist/{ButtonDefault-CKQ2BJUS.js.map → ButtonDefault-OMZEWLEI.js.map} +0 -0
  397. /package/dist/{CheckboxFieldDefault-ITS5AJ7Q.js.map → CheckboxFieldDefault-AGW42RDY.js.map} +0 -0
  398. /package/dist/{CountryFieldDefault-3TPRO5JM.js.map → CountryFieldDefault-24T4C7OU.js.map} +0 -0
  399. /package/dist/{DatePickerFieldDefault-BJ3ZWIDN.js.map → DatePickerFieldDefault-BG4KM2EG.js.map} +0 -0
  400. /package/dist/{DrawerDefault-BI3CU3ER.js.map → DrawerDefault-64GMPAIH.js.map} +0 -0
  401. /package/dist/{EmailFieldDefault-Y222V5HN.js.map → EmailFieldDefault-UPDZNN2F.js.map} +0 -0
  402. /package/dist/{FieldsetToggleButtonDefault-4U7BDT4X.js.map → FieldsetToggleButtonDefault-BOYDY7VX.js.map} +0 -0
  403. /package/dist/{FileUploadFieldDefault-QUV4UQFI.js.map → FileUploadFieldDefault-KFTIOHEJ.js.map} +0 -0
  404. /package/dist/{MultiSelectFieldDefault-2YHZ6LWQ.js.map → MultiSelectFieldDefault-ALM76UQ5.js.map} +0 -0
  405. /package/dist/{NumberFieldDefault-EUASY7WK.js.map → NumberFieldDefault-OXSEX3HX.js.map} +0 -0
  406. /package/dist/{RadioGroupFieldDefault-FY4PGK2P.js.map → RadioGroupFieldDefault-55336PG5.js.map} +0 -0
  407. /package/dist/{SelectFieldDefault-DNETNXYW.js.map → SelectFieldDefault-ARANC6QX.js.map} +0 -0
  408. /package/dist/{StatementDefault-6EBISV3S.js.map → StatementDefault-BMPIWUGF.js.map} +0 -0
  409. /package/dist/{TableFieldDefault-RJLGSGJF.js.map → TableFieldDefault-2FLJU7TJ.js.map} +0 -0
  410. /package/dist/{TelFieldDefault-ORXQQGWG.js.map → TelFieldDefault-RFAYBPGK.js.map} +0 -0
  411. /package/dist/{TextAreaFieldDefault-D5MTC4ZN.js.map → TextAreaFieldDefault-3C6UZXHV.js.map} +0 -0
  412. /package/dist/{TextFieldDefault-ZTP2X3NH.js.map → TextFieldDefault-UQ23EIHH.js.map} +0 -0
  413. /package/dist/{WorkScheduleFieldDefault-J5L7GMZR.js.map → WorkScheduleFieldDefault-CGU2T6HY.js.map} +0 -0
  414. /package/dist/{ZendeskDrawerDefault-EDBRPDGO.js.map → ZendeskDrawerDefault-JEHYLRHU.js.map} +0 -0
  415. /package/dist/{chunk-DPV7SSFD.js.map → chunk-234SEE75.js.map} +0 -0
  416. /package/dist/{chunk-3TVAUVYZ.js.map → chunk-2A4DCZTX.js.map} +0 -0
  417. /package/dist/{chunk-VQHFF2HH.js.map → chunk-2P2OJKD4.js.map} +0 -0
  418. /package/dist/{chunk-M3WPBPQU.js.map → chunk-2WOUKCSC.js.map} +0 -0
  419. /package/dist/{chunk-UMGX2LKV.js.map → chunk-3EUYWSSZ.js.map} +0 -0
  420. /package/dist/{chunk-BHL3ZNXK.js.map → chunk-3JPDFNNH.js.map} +0 -0
  421. /package/dist/{chunk-TX57E46D.js.map → chunk-3OU6XE7X.js.map} +0 -0
  422. /package/dist/{chunk-CRYLYVA7.js.map → chunk-3SIHU3EE.js.map} +0 -0
  423. /package/dist/{chunk-UJSDXZVG.js.map → chunk-3UDWOREZ.js.map} +0 -0
  424. /package/dist/{chunk-2OAQQ6X6.js.map → chunk-3ZGDRCSS.js.map} +0 -0
  425. /package/dist/{chunk-FSIFDXBB.js.map → chunk-45RIDSO6.js.map} +0 -0
  426. /package/dist/{chunk-DVR5OR5J.js.map → chunk-4RF6I3TT.js.map} +0 -0
  427. /package/dist/{chunk-T4EHHK6N.js.map → chunk-4YCBOVSQ.js.map} +0 -0
  428. /package/dist/{chunk-FS3GSYSK.js.map → chunk-5FHDUZCG.js.map} +0 -0
  429. /package/dist/{chunk-YUYGNU5Q.js.map → chunk-5QRYKH3H.js.map} +0 -0
  430. /package/dist/{chunk-GSKP7EBL.js.map → chunk-6C4DCKHS.js.map} +0 -0
  431. /package/dist/{chunk-YNA73ERB.js.map → chunk-6S66UQ2X.js.map} +0 -0
  432. /package/dist/{chunk-S2S2U5DM.js.map → chunk-75MI3G5H.js.map} +0 -0
  433. /package/dist/{chunk-5YEAR75O.js.map → chunk-77WJNWIC.js.map} +0 -0
  434. /package/dist/{chunk-3AN3QVZK.js.map → chunk-7A3IHNJF.js.map} +0 -0
  435. /package/dist/{chunk-ZD6ZY65J.js.map → chunk-7GDMMNJT.js.map} +0 -0
  436. /package/dist/{chunk-A2I7OWOH.js.map → chunk-ACM63WPM.js.map} +0 -0
  437. /package/dist/{chunk-3RVAEFEH.js.map → chunk-AGKLWKYY.js.map} +0 -0
  438. /package/dist/{chunk-VIU4RZCS.js.map → chunk-AVVDKCFO.js.map} +0 -0
  439. /package/dist/{chunk-2VMGSRVH.js.map → chunk-AWQU5AAN.js.map} +0 -0
  440. /package/dist/{chunk-KXARTTYT.js.map → chunk-AYYYRHO3.js.map} +0 -0
  441. /package/dist/{chunk-P3QDMRCC.js.map → chunk-B6YWTMGV.js.map} +0 -0
  442. /package/dist/{chunk-KRJETP7I.js.map → chunk-B7BJXPGT.js.map} +0 -0
  443. /package/dist/{chunk-NVFEQTH5.js.map → chunk-BCCIFJSO.js.map} +0 -0
  444. /package/dist/{chunk-L5TQSATQ.js.map → chunk-C4UUGOR3.js.map} +0 -0
  445. /package/dist/{chunk-NVIYSQZT.js.map → chunk-C6UF7BPK.js.map} +0 -0
  446. /package/dist/{chunk-ATLMZEFM.js.map → chunk-CNMNJMOT.js.map} +0 -0
  447. /package/dist/{chunk-VAWEOFUO.js.map → chunk-CW7CHRMN.js.map} +0 -0
  448. /package/dist/{chunk-WD5DNUSS.js.map → chunk-DB4JHJ3Z.js.map} +0 -0
  449. /package/dist/{chunk-HZ5JCCHD.js.map → chunk-DCPBAFIN.js.map} +0 -0
  450. /package/dist/{chunk-REYOVGEA.js.map → chunk-DIZ5Z4MN.js.map} +0 -0
  451. /package/dist/{chunk-2CPRCACO.js.map → chunk-E3WR4SVV.js.map} +0 -0
  452. /package/dist/{chunk-C6HC5QPL.js.map → chunk-F7PE3VRK.js.map} +0 -0
  453. /package/dist/{chunk-4HSSOSBE.js.map → chunk-FHW5CMN5.js.map} +0 -0
  454. /package/dist/{chunk-LOODLNPN.js.map → chunk-FKELI7OS.js.map} +0 -0
  455. /package/dist/{chunk-W7YC2IO2.js.map → chunk-G6F6ZZES.js.map} +0 -0
  456. /package/dist/{chunk-XUK2XG3P.js.map → chunk-GUO7UC4X.js.map} +0 -0
  457. /package/dist/{chunk-IL4QL35N.js.map → chunk-GVPB75PC.js.map} +0 -0
  458. /package/dist/{chunk-4KBRADTN.js.map → chunk-H4B2NWIZ.js.map} +0 -0
  459. /package/dist/{chunk-TCN4HBUZ.js.map → chunk-H4S6LSDA.js.map} +0 -0
  460. /package/dist/{chunk-U6LRMWRI.js.map → chunk-H66IKMI4.js.map} +0 -0
  461. /package/dist/{chunk-WVQH6TZ3.js.map → chunk-H6Q7QK3C.js.map} +0 -0
  462. /package/dist/{chunk-O6OLGKA6.js.map → chunk-HIWYDAQU.js.map} +0 -0
  463. /package/dist/{chunk-RTGRILSN.js.map → chunk-HVI5GHIV.js.map} +0 -0
  464. /package/dist/{chunk-CWTGZ65B.js.map → chunk-HZ2BCB3U.js.map} +0 -0
  465. /package/dist/{chunk-FAJKPU7Z.js.map → chunk-I5NOEJSP.js.map} +0 -0
  466. /package/dist/{chunk-B7SGUAGH.js.map → chunk-ID66NML3.js.map} +0 -0
  467. /package/dist/{chunk-QPN6X6UA.js.map → chunk-IFIJ7OVJ.js.map} +0 -0
  468. /package/dist/{chunk-ZLIWNVE5.js.map → chunk-J2QQLYVY.js.map} +0 -0
  469. /package/dist/{chunk-R7LMREDN.js.map → chunk-JLUYUNSV.js.map} +0 -0
  470. /package/dist/{chunk-NBVZJNYD.js.map → chunk-JX2ZVRE7.js.map} +0 -0
  471. /package/dist/{chunk-FWNLALPP.js.map → chunk-K5TZIA6W.js.map} +0 -0
  472. /package/dist/{chunk-DPVXSN7T.js.map → chunk-KVUKJU5U.js.map} +0 -0
  473. /package/dist/{chunk-LBGEZ4EI.js.map → chunk-KWBTUWWQ.js.map} +0 -0
  474. /package/dist/{chunk-LFSTBZUZ.js.map → chunk-L57LWMNE.js.map} +0 -0
  475. /package/dist/{chunk-URUZIOHG.js.map → chunk-LANAT75E.js.map} +0 -0
  476. /package/dist/{chunk-F53HVGYB.js.map → chunk-LG5NFDID.js.map} +0 -0
  477. /package/dist/{chunk-RTZVAPMC.js.map → chunk-LWQLNGOH.js.map} +0 -0
  478. /package/dist/{chunk-P7RD6IVL.js.map → chunk-LXEFKJ4K.js.map} +0 -0
  479. /package/dist/{chunk-NDEFEREU.js.map → chunk-MGPUZ7NZ.js.map} +0 -0
  480. /package/dist/{chunk-WWP6HXJC.js.map → chunk-MHQ5ZW5P.js.map} +0 -0
  481. /package/dist/{chunk-G262RA6W.js.map → chunk-N5XWRUYE.js.map} +0 -0
  482. /package/dist/{chunk-RSXEN3N2.js.map → chunk-NDZIQGDE.js.map} +0 -0
  483. /package/dist/{chunk-IF42CZJH.js.map → chunk-NEKE5PRJ.js.map} +0 -0
  484. /package/dist/{chunk-ZHF32IXI.js.map → chunk-NKTGQNE2.js.map} +0 -0
  485. /package/dist/{chunk-YJI7RIP6.js.map → chunk-NRNLLJCB.js.map} +0 -0
  486. /package/dist/{chunk-4WSJ2A6Q.js.map → chunk-OL5C4QEH.js.map} +0 -0
  487. /package/dist/{chunk-4TJAJZ67.js.map → chunk-OMLHAQQX.js.map} +0 -0
  488. /package/dist/{chunk-3SXFXI3O.js.map → chunk-OPM4YQGQ.js.map} +0 -0
  489. /package/dist/{chunk-2I7VHYTP.js.map → chunk-PBWF2VXG.js.map} +0 -0
  490. /package/dist/{chunk-W5YVKNRC.js.map → chunk-PIGJNWPB.js.map} +0 -0
  491. /package/dist/{chunk-OKLZQ5MG.js.map → chunk-PR6I3UYE.js.map} +0 -0
  492. /package/dist/{chunk-V3FMENNN.js.map → chunk-QC2FAORS.js.map} +0 -0
  493. /package/dist/{chunk-YIMWF5GR.js.map → chunk-QXW2MAFG.js.map} +0 -0
  494. /package/dist/{chunk-DPVXTQAB.js.map → chunk-QYNWADPG.js.map} +0 -0
  495. /package/dist/{chunk-CQDQM2IX.js.map → chunk-RWXZG4KO.js.map} +0 -0
  496. /package/dist/{chunk-XEJ4XS2N.js.map → chunk-RXSGIEA5.js.map} +0 -0
  497. /package/dist/{chunk-DN6BXTAC.js.map → chunk-SC7YWKOW.js.map} +0 -0
  498. /package/dist/{chunk-MJQUJZCD.js.map → chunk-SLEK47CR.js.map} +0 -0
  499. /package/dist/{chunk-N33KFFOU.js.map → chunk-SNWJIIF7.js.map} +0 -0
  500. /package/dist/{chunk-55DI7KZU.js.map → chunk-STJW643Y.js.map} +0 -0
  501. /package/dist/{chunk-D5AR26AI.js.map → chunk-SWCZJY6I.js.map} +0 -0
  502. /package/dist/{chunk-EIENNK3Y.js.map → chunk-SYXJTCKS.js.map} +0 -0
  503. /package/dist/{chunk-EBMRVQLR.js.map → chunk-T5HMFMXH.js.map} +0 -0
  504. /package/dist/{chunk-2K6FAKY5.js.map → chunk-TSWZPJNS.js.map} +0 -0
  505. /package/dist/{chunk-RD7GZHE5.js.map → chunk-TVF4JOK2.js.map} +0 -0
  506. /package/dist/{chunk-MEG74D4V.js.map → chunk-UB5ZMTTU.js.map} +0 -0
  507. /package/dist/{chunk-KV4L464D.js.map → chunk-VATDEWMF.js.map} +0 -0
  508. /package/dist/{chunk-LDYA3D2Q.js.map → chunk-VZLUAWY5.js.map} +0 -0
  509. /package/dist/{chunk-D2SLABJB.js.map → chunk-WJ64Q54L.js.map} +0 -0
  510. /package/dist/{chunk-Q3RQX6S5.js.map → chunk-WUQZCGWG.js.map} +0 -0
  511. /package/dist/{chunk-2KQAMX75.js.map → chunk-WZHTDLX6.js.map} +0 -0
  512. /package/dist/{chunk-RHVD4JYN.js.map → chunk-X66NETZL.js.map} +0 -0
  513. /package/dist/{chunk-AJKWG25T.js.map → chunk-XELPL3XO.js.map} +0 -0
  514. /package/dist/{chunk-YTLAH5QM.js.map → chunk-YMOAWXSE.js.map} +0 -0
  515. /package/dist/{chunk-WR5DSTKP.js.map → chunk-YUNA3QKT.js.map} +0 -0
  516. /package/dist/{chunk-OUSZOJE4.js.map → chunk-ZANINDSC.js.map} +0 -0
  517. /package/dist/{chunk-3H7ADMNB.js.map → chunk-ZHDES3J6.js.map} +0 -0
  518. /package/dist/{chunk-QAGHZZ27.js.map → chunk-ZSMILHO4.js.map} +0 -0
  519. /package/dist/{chunk-VREHPEMW.js.map → chunk-ZYN3TAUB.js.map} +0 -0
@@ -1,2 +0,0 @@
1
- import{a}from"./chunk-A2I7OWOH.js";import"./chunk-RHVD4JYN.js";import"./chunk-B6INIXRK.js";import"./chunk-P37U34EQ.js";export{a as DrawerDefault};
2
- //# sourceMappingURL=DrawerDefault-BI3CU3ER.js.map
@@ -1,2 +0,0 @@
1
- import{a}from"./chunk-3RVAEFEH.js";import"./chunk-4JIT6ICA.js";import"./chunk-SJZP5XKE.js";import"./chunk-B6INIXRK.js";import"./chunk-KQPDXXG3.js";import"./chunk-P37U34EQ.js";export{a as EmailFieldDefault};
2
- //# sourceMappingURL=EmailFieldDefault-Y222V5HN.js.map
@@ -1,2 +0,0 @@
1
- import{a}from"./chunk-XUK2XG3P.js";import"./chunk-KXARTTYT.js";import"./chunk-B6INIXRK.js";import"./chunk-P37U34EQ.js";export{a as FieldsetToggleButtonDefault};
2
- //# sourceMappingURL=FieldsetToggleButtonDefault-4U7BDT4X.js.map
@@ -1,2 +0,0 @@
1
- import{a}from"./chunk-NVIYSQZT.js";import"./chunk-UMGX2LKV.js";import"./chunk-KXARTTYT.js";import"./chunk-SJZP5XKE.js";import"./chunk-B6INIXRK.js";import"./chunk-P37U34EQ.js";export{a as FileUploadFieldDefault};
2
- //# sourceMappingURL=FileUploadFieldDefault-QUV4UQFI.js.map
@@ -1,2 +0,0 @@
1
- import{a}from"./chunk-V3FMENNN.js";import"./chunk-XHWPTKEN.js";import"./chunk-LFSTBZUZ.js";import"./chunk-RTZVAPMC.js";import"./chunk-ZLIWNVE5.js";import"./chunk-KXARTTYT.js";import"./chunk-SJZP5XKE.js";import"./chunk-B6INIXRK.js";import"./chunk-P37U34EQ.js";export{a as MultiSelectFieldDefault};
2
- //# sourceMappingURL=MultiSelectFieldDefault-2YHZ6LWQ.js.map
@@ -1,2 +0,0 @@
1
- import{a}from"./chunk-WWP6HXJC.js";import"./chunk-4JIT6ICA.js";import"./chunk-SJZP5XKE.js";import"./chunk-B6INIXRK.js";import"./chunk-KQPDXXG3.js";import"./chunk-P37U34EQ.js";export{a as NumberFieldDefault};
2
- //# sourceMappingURL=NumberFieldDefault-EUASY7WK.js.map
@@ -1,2 +0,0 @@
1
- import{a}from"./chunk-YTLAH5QM.js";import"./chunk-2KQAMX75.js";import"./chunk-ZLIWNVE5.js";import"./chunk-CRYLYVA7.js";import"./chunk-U2H4CADS.js";import"./chunk-SJZP5XKE.js";import"./chunk-TNQKP2XT.js";import"./chunk-B6INIXRK.js";import"./chunk-KQPDXXG3.js";import"./chunk-P37U34EQ.js";export{a as RadioGroupFieldDefault};
2
- //# sourceMappingURL=RadioGroupFieldDefault-FY4PGK2P.js.map
@@ -1,2 +0,0 @@
1
- import{a}from"./chunk-GSKP7EBL.js";import"./chunk-EBMRVQLR.js";import"./chunk-SJZP5XKE.js";import"./chunk-B6INIXRK.js";import"./chunk-P37U34EQ.js";export{a as SelectFieldDefault};
2
- //# sourceMappingURL=SelectFieldDefault-DNETNXYW.js.map
@@ -1,2 +0,0 @@
1
- import{a}from"./chunk-NBVZJNYD.js";import"./chunk-3TVAUVYZ.js";import"./chunk-B6INIXRK.js";import"./chunk-P37U34EQ.js";export{a as StatementDefault};
2
- //# sourceMappingURL=StatementDefault-6EBISV3S.js.map
@@ -1,2 +0,0 @@
1
- import{a}from"./chunk-N33KFFOU.js";import"./chunk-B6INIXRK.js";import"./chunk-P37U34EQ.js";export{a as TableFieldDefault};
2
- //# sourceMappingURL=TableFieldDefault-RJLGSGJF.js.map
@@ -1,2 +0,0 @@
1
- import{a}from"./chunk-NDEFEREU.js";import"./chunk-RSXEN3N2.js";import"./chunk-EBMRVQLR.js";import"./chunk-SJZP5XKE.js";import"./chunk-B6INIXRK.js";import"./chunk-P37U34EQ.js";export{a as TelFieldDefault};
2
- //# sourceMappingURL=TelFieldDefault-ORXQQGWG.js.map
@@ -1,2 +0,0 @@
1
- import{a}from"./chunk-L5TQSATQ.js";import"./chunk-CRYLYVA7.js";import"./chunk-U2H4CADS.js";import"./chunk-SJZP5XKE.js";import"./chunk-TNQKP2XT.js";import"./chunk-B6INIXRK.js";import"./chunk-KQPDXXG3.js";import"./chunk-P37U34EQ.js";export{a as TextAreaFieldDefault};
2
- //# sourceMappingURL=TextAreaFieldDefault-D5MTC4ZN.js.map
@@ -1,2 +0,0 @@
1
- import{a}from"./chunk-AJKWG25T.js";import"./chunk-RSXEN3N2.js";import"./chunk-SJZP5XKE.js";import"./chunk-B6INIXRK.js";import"./chunk-P37U34EQ.js";export{a as TextFieldDefault};
2
- //# sourceMappingURL=TextFieldDefault-ZTP2X3NH.js.map
@@ -1,2 +0,0 @@
1
- import{a}from"./chunk-Q3RQX6S5.js";import"./chunk-RTZVAPMC.js";import"./chunk-L6YEMU4A.js";import"./chunk-KXARTTYT.js";import"./chunk-4JIT6ICA.js";import"./chunk-SJZP5XKE.js";import"./chunk-B6INIXRK.js";import"./chunk-KQPDXXG3.js";import"./chunk-P37U34EQ.js";export{a as WorkScheduleFieldDefault};
2
- //# sourceMappingURL=WorkScheduleFieldDefault-J5L7GMZR.js.map
@@ -1,2 +0,0 @@
1
- import{a}from"./chunk-WVQH6TZ3.js";import"./chunk-RHVD4JYN.js";import"./chunk-B6INIXRK.js";import"./chunk-P37U34EQ.js";export{a as ZendeskDrawerDefault};
2
- //# sourceMappingURL=ZendeskDrawerDefault-EDBRPDGO.js.map
@@ -1,2 +0,0 @@
1
- import{a as m}from"./chunk-3SXFXI3O.js";import{b as a}from"./chunk-PGWKJ6FK.js";import{f as t}from"./chunk-JVGGWBFZ.js";import{b as s}from"./chunk-B6INIXRK.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as E}from"react/jsx-runtime";function P({components:d,onSubmit:l,onError:i,onSuccess:f}){let{onboardingBag:o}=a(),p=o.fields??[],c=t(p,o.initialValues.benefits);return E(m,{defaultValues:c,components:d,onSubmit:e(async n=>{try{await l?.(n);let r=await o.onSubmit(n);if(r?.data){await f?.(r.data),o?.next();return}if(r?.error){let u=s(r?.fieldErrors||[],o.meta?.fields?.benefits);i?.({error:r.error,rawError:r.rawError,fieldErrors:u})}}catch(r){i?.({error:r,rawError:r,fieldErrors:[]})}},"handleSubmit")})}e(P,"BenefitsStep");export{P as a};
2
- //# sourceMappingURL=chunk-34K6BCJD.js.map
@@ -1,2 +0,0 @@
1
- import{c as p,i as s}from"./chunk-SJZP5XKE.js";import{b as m}from"./chunk-KQPDXXG3.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as d}from"react/jsx-runtime";function v({name:o,description:a,label:l,type:F,onChange:t,component:x,includeErrorMessage:c=!0,additionalProps:f={},maxLength:u,...T}){let{components:C}=m(),{control:P}=p();return d(s,{control:P,name:o,render:({field:r,fieldState:S})=>{let n=x||C?.text;if(!n)throw new Error(`Text component not found for field ${o}`);let g={name:o,description:a,label:l,type:F,onChange:t,metadata:f,maxLength:u,includeErrorMessage:c,...T};return d(n,{field:{...r,onChange:e(i=>{r.onChange(i),t?.(i)},"onChange")},fieldState:S,fieldData:g})}})}e(v,"TextField");export{v as a};
2
- //# sourceMappingURL=chunk-4JIT6ICA.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/form/fields/TextField.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { useFormFields } from '@/src/context';\nimport { Components, JSFField, $TSFixMe } from '@/src/types/remoteFlows';\nimport { useFormContext } from 'react-hook-form';\nimport { FormField } from '../../ui/form';\nimport { TextFieldDataProps } from '@/src/types/fields';\n\nexport type TextFieldProps = React.ComponentProps<'input'> & {\n name: string;\n} & Partial<\n JSFField & {\n onChange?: (value: $TSFixMe) => void;\n component?: Components['text'];\n includeErrorMessage?: boolean;\n additionalProps?: Record<string, unknown>;\n }\n >;\n\ntype CustomTextFieldProps = TextFieldDataProps & {\n /**\n * @deprecated avoid using this prop in custom components\n */\n onChange?: (value: $TSFixMe) => void;\n};\n\nexport function TextField({\n name,\n description,\n label,\n type,\n onChange,\n component,\n includeErrorMessage = true,\n additionalProps = {},\n maxLength,\n ...rest\n}: TextFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n\n return (\n <FormField\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components?.text;\n\n if (!Component) {\n throw new Error(`Text component not found for field ${name}`);\n }\n\n const customTextFieldProps: CustomTextFieldProps = {\n name,\n description,\n label,\n type,\n onChange,\n metadata: additionalProps,\n maxLength,\n includeErrorMessage,\n ...rest,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (value: $TSFixMe) => {\n field.onChange(value);\n onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={customTextFieldProps}\n />\n );\n }}\n />\n );\n}\n"],"mappings":"+HAgEU,cAAAA,MAAA,oBAtCH,SAASC,EAAU,CACxB,KAAAC,EACA,YAAAC,EACA,MAAAC,EACA,KAAAC,EACA,SAAAC,EACA,UAAAC,EACA,oBAAAC,EAAsB,GACtB,gBAAAC,EAAkB,CAAC,EACnB,UAAAC,EACA,GAAGC,CACL,EAAmB,CACjB,GAAM,CAAE,WAAAC,CAAW,EAAIC,EAAc,EAC/B,CAAE,QAAAC,CAAQ,EAAIC,EAAe,EAEnC,OACEf,EAACgB,EAAA,CACC,QAASF,EACT,KAAMZ,EACN,OAAQ,CAAC,CAAE,MAAAe,EAAO,WAAAC,CAAW,IAAM,CACjC,IAAMC,EAAYZ,GAAaK,GAAY,KAE3C,GAAI,CAACO,EACH,MAAM,IAAI,MAAM,sCAAsCjB,CAAI,EAAE,EAG9D,IAAMkB,EAA6C,CACjD,KAAAlB,EACA,YAAAC,EACA,MAAAC,EACA,KAAAC,EACA,SAAAC,EACA,SAAUG,EACV,UAAAC,EACA,oBAAAF,EACA,GAAGG,CACL,EACA,OACEX,EAACmB,EAAA,CACC,MAAO,CACL,GAAGF,EACH,SAAUI,EAACC,GAAoB,CAC7BL,EAAM,SAASK,CAAK,EACpBhB,IAAWgB,CAAK,CAClB,EAHU,WAIZ,EACA,WAAYJ,EACZ,UAAWE,EACb,CAEJ,EACF,CAEJ,CArDgBC,EAAApB,EAAA","names":["jsx","TextField","name","description","label","type","onChange","component","includeErrorMessage","additionalProps","maxLength","rest","components","useFormFields","control","useFormContext","FormField","field","fieldState","Component","customTextFieldProps","__name","value"]}
@@ -1,2 +0,0 @@
1
- import{a as d,b as w}from"./chunk-REYOVGEA.js";import{a as g}from"./chunk-CQDQM2IX.js";import{a as E}from"./chunk-67Y7FHJL.js";import{e as C}from"./chunk-JVGGWBFZ.js";import{Q as F,e as _,z as P}from"./chunk-TNQKP2XT.js";import{a as h}from"./chunk-B6INIXRK.js";import{a as j}from"./chunk-TSPDJUGG.js";import{d as c}from"./chunk-KQPDXXG3.js";import{a as e}from"./chunk-P37U34EQ.js";import{useMutation as b,useQuery as I}from"@tanstack/react-query";var B=e(({countryCode:n,employment:r,fieldValues:a,options:t})=>{let{client:u}=c(),m=t?.jsonSchemaVersion?.contract_amendments?{json_schema_version:t.jsonSchemaVersion.contract_amendments}:{};return I({queryKey:["contract-amendment-schema"],retry:!1,queryFn:e(async()=>{let o=await _({client:u,headers:{Authorization:""},query:{employment_id:r?.id,country_code:n,...m}});if(o.error||!o.data)throw new Error("Failed to fetch contract amendment schema");return o},"queryFn"),enabled:!!r,select:e(({data:o})=>{let l=o?.data||{};return E(l,a,t)},"select")})},"useContractAmendmentSchemaQuery"),J=e(n=>{let{client:r}=c(),a=n?.jsonSchemaVersion?.contract_amendments?{json_schema_version:n.jsonSchemaVersion.contract_amendments}:{};return b({mutationFn:e(t=>P({client:r,headers:{Authorization:""},body:t,query:{...a}}),"mutationFn")})},"useCreateContractAmendmentMutation"),K=e(n=>{let{client:r}=c(),a=n?.jsonSchemaVersion?.contract_amendments?{json_schema_version:n.jsonSchemaVersion.contract_amendments}:{};return b({mutationFn:e(t=>F({client:r,headers:{Authorization:""},body:t,query:{...a}}),"mutationFn")})},"useAutomatableContractAmendmentMutation"),te=e(({employmentId:n,countryCode:r,options:a})=>{let{fieldValues:t,setFieldValues:u,stepState:m,nextStep:o,previousStep:l}=j(d),{data:i,isLoading:v,isError:q,error:Q}=g({employmentId:n,queryParams:{exclude_files:!0}}),{data:s,isLoading:L,isError:M,error:T}=B({employment:i,countryCode:r,fieldValues:{...m.values?.[m.currentStep.name],...t},options:a}),k=w(i,s?.fields),S=J(a),A=K(a);async function x(p){let f=await C(p,s?.fields||[],{isPartialValidation:!1}),V={employment_id:i?.id,amendment_contract_id:i?.active_contract_id,contract_amendment:{...f}};switch(m.currentStep.name){case d.form.name:{let{mutateAsync:y}=h(A),H=await y(V);return o(),H}case d.confirmation_form.name:{let{mutateAsync:y}=h(S);return y(V)}default:throw new Error("Invalid step state")}}e(x,"onSubmit");async function z(p){if(s){let f=await C(p,s?.fields);return s?.handleValidation(f)}return null}e(z,"handleValidation");function O(){l()}return e(O,"back"),{stepState:m,fields:s?.fields||[],isLoading:v||L,isError:q||M,error:Q||T,isSubmitting:A.isPending||S.isPending,initialValues:k,values:t,handleValidation:z,checkFieldUpdates:u,onSubmit:x,back:O}},"useContractAmendment");export{te as a};
2
- //# sourceMappingURL=chunk-4Z3EMHTE.js.map
@@ -1,2 +0,0 @@
1
- import{a as U}from"./chunk-6DHV4GT6.js";import{a as W}from"./chunk-2VMGSRVH.js";import{a as Y}from"./chunk-EIENNK3Y.js";import{a as Q}from"./chunk-T4EHHK6N.js";import{a as J}from"./chunk-55DI7KZU.js";import{a as H}from"./chunk-IF42CZJH.js";import{a as q,b as B,c as L,d as z}from"./chunk-F53HVGYB.js";import{f as Z,g as K}from"./chunk-3AN3QVZK.js";import{a as R}from"./chunk-ZXGAFQXW.js";import{a as S}from"./chunk-R7LMREDN.js";import{a as N}from"./chunk-CQDQM2IX.js";import{a as E}from"./chunk-67Y7FHJL.js";import{e as _}from"./chunk-JVGGWBFZ.js";import{a as u,b as v}from"./chunk-U2H4CADS.js";import{q as $}from"./chunk-TNQKP2XT.js";import{a as w,c as D}from"./chunk-B6INIXRK.js";import{a as A}from"./chunk-TSPDJUGG.js";import{a as I}from"./chunk-626FTNKA.js";import{d as O}from"./chunk-KQPDXXG3.js";import{a as o}from"./chunk-P37U34EQ.js";import xe from"lodash.omitby";import je from"lodash.isnull";import{format as x,isFuture as Ve,parseISO as j,subDays as Pe}from"date-fns";import{useMemo as V}from"react";import be from"lodash.omit";import{useQuery as Fe}from"@tanstack/react-query";var G=o(({query:t,options:e})=>{let{client:y}=O();return Fe({queryKey:["payroll-calendars"],queryFn:o(()=>$({client:y,query:{year:t?.year,country_code:t?.countryCode}}),"queryFn"),enabled:e?.enabled,select:o(c=>c.data?.data?.payroll_calendars?.[0],"select")})},"usePayrollCalendars");import{isFuture as Me,isToday as ge,parseISO as Se}from"date-fns";var X=o(t=>{if(!t)return!1;let e=Se(t);return Me(e)||ge(e)},"isInProbationPeriod");import{Fragment as ke,jsx as m,jsxs as Ce}from"react/jsx-runtime";var lo=o(({employmentId:t,options:e,initialValues:y})=>{let{fieldValues:c,setFieldValues:ee,stepState:l,previousStep:oe,nextStep:ie}=A(q),{data:n,isLoading:te}=N({employmentId:t,queryParams:{exclude_files:!0}}),{data:ne}=G({query:{year:new Date().getFullYear().toString(),countryCode:n?.country?.code},options:{enabled:!!n?.country?.code}}),T=X(n?.probation_period_end_date),F=B(ne),P=V(()=>T?x(new Date,"yyyy-MM-dd"):x(F,"yyyy-MM-dd"),[T,F]),M=!!(n?.provisional_start_date&&Ve(j(n.provisional_start_date))),ae={personal_email:n?.basic_information?.email},g=z({...ae,...y,...l.values?.employee_communication,...l.values?.termination_details,...l.values?.paid_time_off,...l.values?.additional_information},M),d=V(()=>({...g,...c}),[c,g]),b=L({minTerminationDate:F,isEmployeeInProbationPeriod:T,selectedDate:j(d.proposed_termination_date)}),re=V(()=>{let s=R.data.schema.properties.termination_reason.oneOf,a=M?s.filter(i=>i.const==="cancellation_before_start_date"):s.filter(i=>i.const!=="cancellation_before_start_date");return{fields:{risk_assesment_info:S("Offboarding risk assessment","Employees may be protected from termination if they fall into certain categories. To help avoid claims from employees, let us know if the employee is part of one or more of these categories. Select all that apply.",{className:e?.jsfModify?.fields?.risk_assesment_info?.["x-jsf-presentation"]?.className}),termination_reason:{...e?.jsfModify?.fields?.termination_reason,oneOf:a},proposed_termination_date_info:S("Proposed termination date",Ce(ke,{children:["In most cases, Remote must provide notice to the employee before termination. The required notice period depends on local labor laws, the employment agreement, and other factors. We'll use those factors to determine the required notice period.",m(v,{external:!0,zendeskId:u.terminationNoticePeriods,className:D("text-sm",e?.jsfModify?.fields?.proposed_termination_date_info?.["x-jsf-presentation"]?.zendeskTriggerButtonClassName),children:"Learn about notice periods"})]}),{className:e?.jsfModify?.fields?.proposed_termination_date_info?.["x-jsf-presentation"]?.className}),proposed_termination_date:{...e?.jsfModify?.fields?.proposed_termination_date,"x-jsf-presentation":{...e?.jsfModify?.fields?.proposed_termination_date?.["x-jsf-presentation"],minDate:P,...d.termination_reason==="cancellation_before_start_date"&&n?.provisional_start_date?{maxDate:x(Pe(j(n.provisional_start_date),1),"yyyy-MM-dd")}:{},...b},...d.termination_reason==="cancellation_before_start_date"?{"x-jsf-errorMessage":{maximum:"The proposed termination date must be before the employee's start date."}}:{}},paid_time_off_info:{...e?.jsfModify?.fields?.paid_time_off_info,"x-jsf-presentation":{...e?.jsfModify?.fields?.paid_time_off_info?.["x-jsf-presentation"],Component:o(()=>{let i=e?.jsfModify?.fields?.paid_time_off_info?.["x-jsf-presentation"]?.Component;return m(J,{employeeName:n?.basic_information?.name,proposedTerminationDate:d.proposed_termination_date,employmentId:t,employment:n,render:r=>i?m(i,{...r}):m(Q,{...r})})},"Component")}},acknowledge_termination_procedure_info:{...e?.jsfModify?.fields?.acknowledge_termination_procedure_info,"x-jsf-presentation":{...e?.jsfModify?.fields?.acknowledge_termination_procedure_info?.["x-jsf-presentation"],Component:o(()=>{let i=e?.jsfModify?.fields?.acknowledge_termination_procedure_info?.["x-jsf-presentation"]?.Component;return m(U,{render:r=>i?m(i,{...r}):m(W,{...r})})},"Component")}},acknowledge_termination_procedure_fees_info:{...e?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info,"x-jsf-presentation":{...e?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info?.["x-jsf-presentation"],Component:o(()=>{let i={involuntaryOffboardingServiceChargeZendeskId:u.involuntaryOffboardingServiceCharge,reconciliationInvoiceZendeskId:u.reconciliationInvoice},r=e?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info?.["x-jsf-presentation"]?.Component;return r?m(r,{...i}):m(Y,{...i})},"Component")}}}}},[n,t,d.proposed_termination_date,d.termination_reason,M,P,e?.jsfModify?.fields?.acknowledge_termination_procedure_fees_info,e?.jsfModify?.fields?.acknowledge_termination_procedure_info,e?.jsfModify?.fields?.paid_time_off_info,e?.jsfModify?.fields?.proposed_termination_date,e?.jsfModify?.fields?.proposed_termination_date_info,e?.jsfModify?.fields?.risk_assesment_info,e?.jsfModify?.fields?.termination_reason,b]),{data:f,isLoading:se}=K({formValues:d,jsfModify:{...e?.jsfModify,fields:{...e?.jsfModify?.fields,...re?.fields}},step:l.currentStep.name}),me=E(H.data.schema),k=Z(),{mutateAsync:de}=w(k);async function fe(s){if(!t)throw new Error("Employment id is missing");if(f){let a=await C(s,!0),{customer_informed_employee:i}=a,r=i==="yes"?{employee_awareness:{date:a.customer_informed_employee_date,note:a.customer_informed_employee_description}}:void 0,ue=await I(a,["agrees_to_pto_amount","confidential","customer_informed_employee","will_challenge_termination"]),_e=be(ue,"customer_informed_employee_date","customer_informed_employee_description"),ye=xe({..._e,...r},je),p=a.timesheet_file??[],h=Array.isArray(p)&&p.length>0?{content:p[0].content,name:p[0].name}:void 0,Te={employment_id:t,termination_details:{...ye,timesheet_file:h||void 0},type:"termination"};return de(Te)}}o(fe,"onSubmit");function le(){oe()}o(le,"back");function ce(){ie()}o(ce,"next");let pe=Object.keys(c).length>0,C=o(async(s,a=!1)=>a?await _(s,me.fields,{isPartialValidation:!0}):f?await _(s,f?.fields,{isPartialValidation:!0}):{},"parseFormValues");return{employmentId:t,employment:n,fieldValues:d,isDirty:pe,stepState:l,fields:f?.fields||[],isLoading:se||te,isSubmitting:k.isPending,initialValues:g,handleValidation:o(async s=>{if(f){let a=await _(s,f?.fields);return f?.handleValidation(a)}return null},"handleValidation"),checkFieldUpdates:ee,parseFormValues:C,onSubmit:fe,back:le,next:ce}},"useTermination");export{lo as a};
2
- //# sourceMappingURL=chunk-62SF33UR.js.map
@@ -1,2 +0,0 @@
1
- import{c as m}from"./chunk-JVGGWBFZ.js";import{b as f}from"./chunk-626FTNKA.js";import{a as n}from"./chunk-P37U34EQ.js";import{createHeadlessForm as F,modify as y}from"@remoteoss/remote-json-schema-form-kit";var O=n((e,s,t)=>{if(t&&t.jsfModify){let{required:l,allOf:r,...o}=t.jsfModify,{schema:i}=y(e,o);e=i,l&&(e.required=[...Array.isArray(i.required)?i.required:[],...l]),r&&(e.allOf=[...Array.isArray(i.allOf)?i.allOf:[],...r])}let d={};s&&(d=f(e.properties||{},"money").reduce((r,o)=>(r[o]=m(s[o]),r),{}));let a=JSON.parse(JSON.stringify({...s,...d}));return{meta:{"x-jsf-fieldsets":e["x-jsf-fieldsets"]},...F(e,{initialValues:a})}},"createHeadlessForm");export{O as a};
2
- //# sourceMappingURL=chunk-67Y7FHJL.js.map
@@ -1,2 +0,0 @@
1
- import{a as Z}from"./chunk-VQHFF2HH.js";import{a as I}from"./chunk-VFRHMNLJ.js";import{a as Q,b as W,c as X,f as Y}from"./chunk-W5YVKNRC.js";import{a as C}from"./chunk-HN5HLFTB.js";import{a as G}from"./chunk-KFYWUBRS.js";import{c as ee}from"./chunk-C2RPJGJB.js";import{a as z}from"./chunk-67Y7FHJL.js";import{e as M}from"./chunk-JVGGWBFZ.js";import{a as K}from"./chunk-B6INIXRK.js";import{a as o}from"./chunk-P37U34EQ.js";import{number as Be,object as se}from"yup";import{useCallback as je,useEffect as te,useMemo as we,useRef as Re,useState as j}from"react";import{string as ne,ValidationError as re}from"yup";import{jsx as ie}from"react/jsx-runtime";var O={title:"Estimation",includeBenefits:!1,includeCostBreakdowns:!1,includePremiumBenefits:!1,enableCurrencyConversion:!1,includeEstimationTitle:!1,includeManagementFee:!1},Pe=o(t=>z(I.data.schema,void 0,t),"useStaticSchema");function xe(t,i){if(typeof t=="object"&&t!==null&&"title"in t){let l=t.title;if(l)return l}return i==="my_hiring_budget"?"Hiring budget":"Employee's annual salary"}o(xe,"getSalaryTitle");var ze=o(({defaultRegion:t,defaultCurrency:i,defaultSalary:l,estimationOptions:s,options:n,version:a}={estimationOptions:O})=>{let u=Re({fields:{}}),[k,h]=j(t),[w,R]=j(),[m,q]=j(),[H,le]=j(),{data:_,isLoading:ue}=Q({includePremiumBenefits:s.includePremiumBenefits}),{data:d,isLoading:ce}=W(),me=k||w?.value,{data:P,isLoading:de}=Y(me,{includePremiumBenefits:s.includePremiumBenefits,options:n}),U=X(),{mutateAsync:fe}=K(U),b=w?.currency,p=n?.jsfModify?.fields?.salary,F=p&&typeof p=="object"&&"presentation"in p?p.presentation:void 0,L=je(()=>{let e=b&&m?b!==m:!1;return b!==m?{from:m,to:b,shouldSwapOrder:e}:{from:b,to:m,shouldSwapOrder:e}},[b,m]),J=s.showManagementFee,$=s.includeEstimationTitle,ge=we(()=>{let{from:e,to:r,shouldSwapOrder:c}=L(),g=xe(p,H);return{fields:{salary:{...p,title:g,presentation:{salary_conversion_properties:{label:F?.salary_conversion_properties?.label,description:F?.salary_conversion_properties?.description},currencies:{from:e,to:r},Component:o(y=>ie(Z,{...y,shouldSwapOrder:c,conversionType:a==="marketing"?"no_spread":"spread",defaultValue:l}),"Component")}},hiring_budget:{...n?.jsfModify?.fields?.hiring_budget,presentation:{hidden:a=="marketing"}},management:{...n?.jsfModify?.fields?.management,properties:{...n?.jsfModify?.fields?.management?.properties,management_fee:{...n?.jsfModify?.fields?.management?.properties?.management_fee,"x-jsf-presentation":{inputType:"money",additionalProps:{currency:m||"USD"}}}},presentation:{...typeof n?.jsfModify?.fields?.management=="object"?(n?.jsfModify?.fields?.management)["x-jsf-presentation"]:{},hidden:!J,Component:o(y=>ie(ee,{...y,variant:"inset",features:{toggle:{enabled:!0,stateField:"management._expanded",labels:{expand:"Define",collapse:"Remove"}}}}),"Component")}},estimation_title:{...n?.jsfModify?.fields?.estimation_title,"x-jsf-presentation":{hidden:!$}}}}},[L,p,H,F?.salary_conversion_properties?.label,F?.salary_conversion_properties?.description,n?.jsfModify?.fields?.hiring_budget,n?.jsfModify?.fields?.management,n?.jsfModify?.fields?.estimation_title,a,m,J,$,l]),f=Pe({jsfModify:{fields:{...n?.jsfModify?.fields,...ge?.fields}}});te(()=>{if(t&&_){let e=_.find(({value:r})=>r===t);e&&R(e)}},[t,_]),te(()=>{if(i&&d){let e=d.find(({value:r})=>r===i);e&&q(e.label)}},[i,d]);async function ye(e){return fe(oe(e,s,a))}o(ye,"onSubmit");function pe(e){let r=_?.find(({value:c})=>c===e);r&&r.childRegions.length===0&&r.hasAdditionalFields?h(r.regionSlug):h(void 0),R(r)}o(pe,"onCountryChange");function Ce(e){h(e)}o(Ce,"onRegionChange");function _e(e){le(e.target.value)}o(_e,"onHiringBudgetChange");function be(e){let r=d?.find(c=>c.value===e)?.label;q(r),n?.onCurrencyChange?.(r||"")}o(be,"onChangeCurrency");let E=f.fields.find(e=>e.name==="region");if(E){let e=w?.childRegions.map(r=>({value:r.slug,label:r.name}))??[];E.options=e,E.isVisible=e.length>0,E.required=e.length>0,E.onChange=Ce,E.schema=e.length>0?ne().transform(r=>typeof r=="string"?r:"").required("Region is required"):ne()}if(d){let e=f.fields.find(r=>r.name==="currency");e&&(e.options=d,e.onChange=be)}let v=f.fields.find(e=>e.name==="hiring_budget");if(v&&(v.onChange=_e),_){let e=f.fields.find(r=>r.name==="country");e&&(e.options=_,e.onChange=pe)}let Ee=o(()=>{R(void 0),h(t)},"resetForm"),D=[...f.fields.filter(e=>e.name!=="management"),...P?.fields||[],...f.fields.filter(e=>e.name==="management")],N=ae(f.fields,m||"USD",s.includeEstimationTitle);async function Se(e){let r=null;n?.onValidation?.(e);let c=await M(e,D);try{await N.validate(c,{abortEarly:!1}),r={formErrors:{},yupError:new re([],e)}}catch(S){let B=G(S);r={formErrors:Object.entries(B).reduce((T,[A,V])=>({...T,[A]:V.message}),{}),yupError:S}}let g=P?.handleValidation(c),y=[...r?.yupError.inner||[],...g?.yupError?.inner||[]],x={...r?.yupError?.value||{},...g?.yupError?.value||{}};return{formErrors:{...r?.formErrors||{},...g?.formErrors||{}},yupError:new re(y,x)}}return o(Se,"handleValidation"),{stepState:{current:0,total:1,isLastStep:!0},fields:D,validationSchema:N,parseFormValues:o(async e=>{let{country:r,region:c,currency:g,salary_converted:y,hiring_budget:x,salary_conversion:S,management:B,estimation_title:T,...A}=e,V=e.salary;y==="salary_conversion"&&(V=S);let he=await M({country:r,region:c,salary:V,salary_converted:y,salary_conversion:S,hiring_budget:x,currency:g,management:B,estimation_title:T},f.fields),Fe=await M(A,P?.fields||[]),Ve={currency_code:d?.find(Me=>Me.value===g)?.label};return{...he,...Fe,...Ve}},"parseFormValues"),handleValidation:Se,isSubmitting:U.isPending,isLoading:ue&&ce&&de,onSubmit:ye,resetForm:Ee,currencies:d,meta:{fields:u.current?.fields}}},"useCostCalculator");function ae(t,i,l){let s=t.reduce((n,a)=>(a.name==="salary"||a.name==="salary_conversion"?n[a.name]=a.schema.when("salary_converted",{is:o(u=>u===a.name,"is"),then:o(u=>u.required("Required field"),"then"),otherwise:o(u=>u.optional(),"otherwise")}):a.name==="management"?n[a.name]=se({management_fee:Be().transform(u=>isNaN(u)?void 0:u).min(0,"Management fee must be greater than or equal to 0").max(i?C[i]:C.USD,()=>`Management fee cannot exceed ${(i?C[i]:C.USD)/100} ${i}`)}):a.name==="estimation_title"&&l?n[a.name]=a.schema.required("Required field"):n[a.name]=a.schema,n),{});return se(s)}o(ae,"buildValidationSchema");function Te(t){let i="benefit-";return Object.keys(t).reduce((l,s)=>{let n=t[s];if(n==="none")return l;let u={benefit_group_slug:s.replace(i,""),benefit_tier_slug:n};return[...l,u]},[])}o(Te,"formatBenefits");function Ae(t,i,l){let s=Number(t.management?.management_fee),n=t.currency_code;return{...{region_slug:t.region||t.country,employment_term:t.contract_duration_type??"fixed",title:t.estimation_title||i.title,age:t.age??void 0,...t.benefits&&{benefits:Te(t.benefits)},...i.includeManagementFee&&s&&{discount:{quoted_amount:i.showManagementFee?s:C[n]||C.USD,text:""}}},...Oe(t,l)}}o(Ae,"mapValueToEmployment");function Oe(t,i){let l=i==="marketing"||t.salary_converted==="salary_conversion",s=i==="standard"&&t.salary_converted==="salary",n=t.hiring_budget==="my_hiring_budget";if(l){let a=t.salary_converted==="salary_conversion";return n?{annual_total_cost_in_employer_currency:t.salary}:{[a?"annual_gross_salary_in_employer_currency":"annual_gross_salary"]:t.salary}}return s?n?{annual_total_cost:t.salary}:{annual_gross_salary:t.salary}:{}}o(Oe,"getSalaryFields");function oe(t,i=O,l="standard"){let s=Array.isArray(t)?t:[t];if(s.length===0)throw new Error("At least one employment value is required");return s.length>1&&new Set(s.map(a=>a.currency)).size>1&&console.warn("Multiple currencies detected in array. Using currency from first employment."),{employer_currency_slug:s[0].currency,include_benefits:i.includeBenefits,include_cost_breakdowns:i.includeCostBreakdowns,include_premium_benefits:i.includePremiumBenefits,include_management_fee:i.includeManagementFee,employments:s.map(n=>Ae(n,i,l))}}o(oe,"buildPayload");export{ae as a,oe as b,O as c,ze as d};
2
- //# sourceMappingURL=chunk-AMXFLUWP.js.map
@@ -1,2 +0,0 @@
1
- import{a as s}from"./chunk-P37U34EQ.js";function u(e){let n=e.error||e;if(!n||!n.errors||typeof n.errors!="object")return[];let t=[];return Object.entries(n.errors).forEach(([o,r])=>{if(Array.isArray(r)){t.push({field:o,messages:r.map(i=>String(i))});return}r&&typeof r=="object"&&Object.entries(r).forEach(([i,a])=>{Array.isArray(a)&&t.push({field:i,messages:a.map(l=>String(l))})})}),t}s(u,"extractFieldErrors");function T(e){return{mutateAsyncOrThrow:s(n=>new Promise((t,o)=>{e.mutate(n,{onSuccess:s(r=>{if("data"in r&&r.data!==null&&!r.error)t(r.data);else{let i=u(r.error),a=r.error.error||r.error,{response:l}=r,f=typeof a?.message=="string"?a.message:"Something went wrong. Please try again later.";o({error:new Error(f),rawError:r.error,fieldErrors:i,response:l})}},"onSuccess"),onError:s(r=>{let i=u(r);o({error:r,rawError:r,fieldErrors:i,response:r?.response})},"onError")})}),"mutateAsyncOrThrow"),mutateAsync:s(n=>new Promise((t,o)=>{e.mutate(n,{onSuccess:s(r=>{if(r.data)t({data:r.data,error:null});else{let i=u(r.error),a=r.error.error||r.error,l=typeof a?.message=="string"?a.message:"Something went wrong. Please try again later.";t({data:null,error:new Error(l),rawError:r.error,fieldErrors:i})}},"onSuccess"),onError:s(r=>{let i=u(r);o({data:null,error:r,rawError:r,fieldErrors:i})},"onError")})}),"mutateAsync")}}s(T,"mutationToPromise");function c(e,n){return!e||e.length===0?[]:e.map(t=>{let o=n?.[t.field],r=t.field;if(!o&&n&&t.field.includes("/")){let i=t.field.split("/"),a=n;for(let l of i)if(a&&typeof a=="object")a=a[l];else{a=void 0;break}o=a}return typeof o?.label=="string"&&(r=o.label),{...t,userFriendlyLabel:r,field:t.field,messages:t.messages}})}s(c,"normalizeFieldErrors");import{clsx as p}from"clsx";import{twMerge as E}from"tailwind-merge";import d from"dompurify";function $(...e){return E(p(e))}s($,"cn");function V(e,n="EUR"){if(e==null)return"-";let t=e/100;return new Intl.NumberFormat("en",{style:"currency",currency:n,currencyDisplay:"symbol"}).format(t)}s(V,"formatCurrency");var m=s(e=>{let n={};return e.inner.forEach(t=>{t.path!==void 0&&(n[t.path]={type:t.type,errors:t.errors,inner:t.inner.map(o=>m(o))})}),n},"transformYupErrorsIntoObject");function z(e){window.RemoteFlowsSDK={version:e}}s(z,"debug");var g=s(e=>{let n=new Set(e?e.toLowerCase().split(" "):[]);return n.add("noopener"),n.add("noreferrer"),Array.from(n).join(" ")},"appendSecureRelValue");d.isSupported&&d.addHook("afterSanitizeAttributes",e=>{let n=e.getAttribute("target");if(e.tagName==="A"&&(!n||n!=="_self")){let t=e.getAttribute("href");if(t&&!t.startsWith("#")&&/^https?:\/\//i.test(t)){e.setAttribute("target","_blank");let o=e.getAttribute("rel");e.setAttribute("rel",g(o))}}});var P=s(e=>d.sanitize(e,{ADD_ATTR:["target"]}),"sanitizeHtml"),k=s(e=>{let t=new DOMParser().parseFromString(e,"text/html");t.querySelectorAll("img").forEach(i=>{i.setAttribute("onerror","this.style.display='none'")});let r=t.body.innerHTML;return d.sanitize(r,{ADD_ATTR:["target","onerror"]})},"sanitizeHtmlWithImageErrorHandling"),N=s(e=>{if(!e)return"";let n=e.trim();return n.startsWith("data:application/pdf;base64,")||n.startsWith("data:")?n:`data:application/pdf;base64,${n}`},"clearBase64Data");function y(e,n){return n?Object.fromEntries(Object.entries(e).map(([t,o])=>{if(o===void 0)return[t,void 0];let r=n.find(i=>i.name===t);if(r?.isVisible===!1||r?.deprecated)return[t,void 0];if(r?.type==="radio"||r?.type==="select"){let i=r.options.find(a=>a.value===o);return i?[t,{prettyValue:i?.label,label:r?.label,inputType:r?.type}]:void 0}if(r?.type==="checkbox"&&r?.const)return[t,{prettyValue:!0,label:r.label,inputType:r?.type}];if(r?.type==="countries"&&Array.isArray(o))return[t,{prettyValue:o.join(),label:r.label,inputType:r?.type}];if(r?.type==="fieldset"){let i=y(o,r.fields);if(!i.label&&i.value){let a={...i.value,label:r.label,inputType:r?.type};return[t,a]}return[t,i]}if(r?.type==="money")return[t,{prettyValue:o,label:r.label,inputType:r?.type,currency:r?.currency}];if(r)return[t,{prettyValue:o,label:r.label,inputType:r?.type}]}).filter(Boolean)):{}}s(y,"prettifyFormValues");function b(e){return{error:new Error(e),rawError:{message:e},fieldErrors:[]}}s(b,"createStructuredError");function F(e){return typeof e=="object"&&e!==null&&"error"in e&&"rawError"in e&&"fieldErrors"in e}s(F,"isStructuredError");function j(e,n,t){if(F(e)){let r=c(e.fieldErrors||[],n);return t&&x(t,r),{error:e.error,rawError:e.rawError,fieldErrors:r}}return{...b(e instanceof Error?e.message:"An unexpected error occurred"),fieldErrors:[]}}s(j,"handleStepError");function U(e,n,t){if(e==null||typeof n!="string")return t;let o=n.split("."),r=e;for(let i of o){if(r==null||typeof r!="object")return t;r=r[i]}return r===void 0?t:r}s(U,"getNestedValue");function x(e,n){n.forEach(({field:t,messages:o})=>{try{let r=t.replace(/\//g,".").replace(/\[(\d+)\]/g,".$1");e.setError(r,{type:"server",message:o.join(". ")})}catch(r){console.warn(`Could not set error for field: ${t}`,r)}})}s(x,"setFormFieldErrors");export{T as a,c as b,$ as c,V as d,m as e,z as f,P as g,k as h,N as i,y as j,b as k,F as l,j as m,U as n};
2
- //# sourceMappingURL=chunk-B6INIXRK.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/lib/mutations.ts","../src/lib/utils.ts"],"sourcesContent":["import { $TSFixMe, NestedMeta } from '@/src/types/remoteFlows';\nimport { UseMutationResult } from '@tanstack/react-query';\n\ntype MutationData<T> =\n T extends UseMutationResult<infer R, $TSFixMe, $TSFixMe, $TSFixMe>\n ? R\n : never;\ntype MutationVariables<T> =\n T extends UseMutationResult<$TSFixMe, $TSFixMe, infer V, $TSFixMe>\n ? V\n : never;\ntype MutationError<T> =\n T extends UseMutationResult<$TSFixMe, infer E, $TSFixMe, $TSFixMe>\n ? E\n : never;\n\n/**\n * Unwraps the .data property from the response type\n * This matches the runtime behavior of mutateAsyncOrThrow which resolves with response.data\n */\ntype UnwrapData<T> = T extends { data: infer D } ? D : T;\n\nexport interface SuccessResponse<D> {\n data: D;\n error: null;\n}\n\nexport interface FieldError {\n field: string;\n messages: string[];\n}\n\nexport interface ErrorResponse<E> {\n data: null;\n error: E;\n rawError: Record<string, unknown>;\n fieldErrors: FieldError[];\n}\n\ntype PromiseResult<D, E> = SuccessResponse<D> | ErrorResponse<E>;\n\n/**\n * Extracts field errors from error response into a structured format\n * @param error - The error response object\n * @returns Array of field errors with field name and messages\n */\nexport function extractFieldErrors(error: $TSFixMe): FieldError[] {\n const errors = error.error || error;\n if (!errors || !errors.errors || typeof errors.errors !== 'object') return [];\n\n const fieldErrors: FieldError[] = [];\n\n Object.entries(errors.errors).forEach(([key, value]) => {\n if (Array.isArray(value)) {\n fieldErrors.push({\n field: key,\n messages: value.map((msg: $TSFixMe) => String(msg)),\n });\n return;\n }\n if (value && typeof value === 'object') {\n Object.entries(value).forEach(([nestedKey, nestedValue]) => {\n if (Array.isArray(nestedValue)) {\n fieldErrors.push({\n field: nestedKey,\n messages: nestedValue.map((msg: $TSFixMe) => String(msg)),\n });\n }\n });\n }\n });\n return fieldErrors;\n}\n/**\n * Converts a mutation to a promise-based API. We avoid using the\n * `mutateAsync` method from react-query for 2 reasons:\n * 1. We lose the isPending state of the mutation\n * 2. We want to return the data and error in a consistent way\n * (either data or error is null)\n * @param mutation\n * @returns\n */\nexport function mutationToPromise<\n T extends UseMutationResult<$TSFixMe, $TSFixMe, $TSFixMe, $TSFixMe>,\n>(mutation: T) {\n type Data = MutationData<T>;\n type Variables = MutationVariables<T>;\n type Error = MutationError<T>;\n\n return {\n mutateAsyncOrThrow: (values: Variables): Promise<UnwrapData<Data>> => {\n return new Promise((resolve, reject) => {\n mutation.mutate(values, {\n onSuccess: (response) => {\n if (\n 'data' in response &&\n response.data !== null &&\n !response.error\n ) {\n resolve(response.data as UnwrapData<Data>);\n } else {\n const fieldErrors = extractFieldErrors(response.error);\n const errorData = response.error.error || response.error;\n const { response: httpResponse } = response;\n const errorMessage =\n typeof errorData?.message === 'string'\n ? errorData.message\n : 'Something went wrong. Please try again later.';\n reject({\n error: new Error(errorMessage),\n rawError: response.error,\n fieldErrors,\n response: httpResponse,\n });\n }\n },\n onError: (error) => {\n const fieldErrors = extractFieldErrors(error);\n reject({\n error: error as Error,\n rawError: error,\n fieldErrors,\n response: error?.response,\n });\n },\n });\n });\n },\n /**\n * @deprecated Use mutateAsyncOrThrow instead, this method will be removed as the the one below handles errors better\n */\n mutateAsync: (values: Variables): Promise<PromiseResult<Data, Error>> => {\n return new Promise((resolve, reject) => {\n mutation.mutate(values, {\n onSuccess: (response) => {\n if (response.data) {\n resolve({\n data: response.data as Data,\n error: null,\n });\n } else {\n const fieldErrors = extractFieldErrors(response.error);\n // Unwrap the error if it is an object with an error property\n const errorData = response.error.error || response.error;\n const errorMessage =\n typeof errorData?.message === 'string'\n ? errorData.message\n : 'Something went wrong. Please try again later.';\n resolve({\n data: null,\n error: new Error(errorMessage) as unknown as Error,\n rawError: response.error,\n fieldErrors,\n });\n }\n },\n onError: (error) => {\n const fieldErrors = extractFieldErrors(error);\n reject({\n data: null,\n error: error as Error,\n rawError: error,\n fieldErrors,\n });\n },\n });\n });\n },\n };\n}\n\n/**\n * Enhanced FieldError interface with user-friendly labels\n */\nexport interface NormalizedFieldError extends FieldError {\n userFriendlyLabel: string;\n}\n\n/**\n * Utility function to normalize field errors using field metadata\n * @param fieldErrors - Array of field errors from API response\n * @param meta - Field metadata containing field names and labels\n * @returns Normalized field errors with user-friendly labels\n */\nexport function normalizeFieldErrors(\n fieldErrors: FieldError[],\n meta?: NestedMeta,\n): NormalizedFieldError[] {\n if (!fieldErrors || fieldErrors.length === 0) {\n return [];\n }\n\n return fieldErrors.map((fieldError) => {\n let fieldMeta = meta?.[fieldError.field];\n let userFriendlyLabel: string = fieldError.field;\n\n // If not found directly, try nested path (e.g., \"service_duration/expiration_date\")\n if (!fieldMeta && meta && fieldError.field.includes('/')) {\n const pathParts = fieldError.field.split('/');\n let current: $TSFixMe = meta;\n\n for (const part of pathParts) {\n if (current && typeof current === 'object') {\n current = current[part];\n } else {\n current = undefined;\n break;\n }\n }\n\n fieldMeta = current;\n }\n\n if (typeof fieldMeta?.label === 'string') {\n userFriendlyLabel = fieldMeta.label;\n }\n\n return {\n ...fieldError,\n userFriendlyLabel,\n // Keep the original field name for form integration\n field: fieldError.field,\n messages: fieldError.messages,\n };\n });\n}\n","import { clsx, type ClassValue } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\nimport { ValidationError } from 'yup';\nimport DOMPurify from 'dompurify';\nimport { JSFFields, NestedMeta } from '@/src/types/remoteFlows';\nimport {\n NormalizedFieldError,\n normalizeFieldErrors,\n} from '@/src/lib/mutations';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\nexport function formatCurrency(\n amount: number | undefined | null,\n currencyCode = 'EUR',\n): string {\n if (amount == null) {\n return '-';\n }\n\n const value = amount / 100;\n\n return new Intl.NumberFormat('en', {\n style: 'currency',\n currency: currencyCode,\n currencyDisplay: 'symbol',\n }).format(value);\n}\n\ntype YupError = Pick<ValidationError, 'type' | 'errors'> & {\n inner: Record<string, YupError>[];\n};\n\n/**\n * Transforms a Yup ValidationError object into a more readable object. The format is as follows:\n * {\n * [fieldName]: {\n * type: string,\n * errors: string[],\n * inner: YupError[],\n * },\n * }\n * @param errors\n * @returns\n */\nexport const transformYupErrorsIntoObject = (errors: ValidationError) => {\n const validationErrors: Record<string, YupError> = {};\n\n errors.inner.forEach((error: ValidationError) => {\n if (error.path !== undefined) {\n validationErrors[error.path] = {\n type: error.type,\n errors: error.errors,\n inner: error.inner.map((innerError) =>\n transformYupErrorsIntoObject(innerError),\n ),\n };\n }\n });\n\n return validationErrors;\n};\n\n/**\n * Debug utility to add version to window object\n * @param version - The version of the SDK\n */\nexport function debug(version: string) {\n window.RemoteFlowsSDK = {\n version,\n };\n}\n\n// Deduplicates rel values if necessary and appends noopener and noreferrer\nconst appendSecureRelValue = (rel: string | null) => {\n const attributes = new Set(rel ? rel.toLowerCase().split(' ') : []);\n\n attributes.add('noopener');\n attributes.add('noreferrer');\n\n return Array.from(attributes).join(' ');\n};\n\nif (DOMPurify.isSupported) {\n DOMPurify.addHook('afterSanitizeAttributes', (node) => {\n const target = node.getAttribute('target');\n\n if (node.tagName === 'A' && (!target || target !== '_self')) {\n const href = node.getAttribute('href');\n\n // Skip internal anchors (#section), relative URLs, and non-http protocols\n if (href && !href.startsWith('#') && /^https?:\\/\\//i.test(href)) {\n node.setAttribute('target', '_blank');\n const rel = node.getAttribute('rel');\n node.setAttribute('rel', appendSecureRelValue(rel));\n }\n }\n });\n}\n\nexport const sanitizeHtml = (html: string) => {\n return DOMPurify.sanitize(html, { ADD_ATTR: ['target'] });\n};\n\nexport const sanitizeHtmlWithImageErrorHandling = (html: string) => {\n const parser = new DOMParser();\n const doc = parser.parseFromString(html, 'text/html');\n\n // Add onerror handler to all img tags to hide them if they fail to load\n const images = doc.querySelectorAll('img');\n images.forEach((img) => {\n img.setAttribute('onerror', \"this.style.display='none'\");\n });\n\n const modifiedHtml = doc.body.innerHTML;\n\n // Sanitize with DOMPurify, allowing onerror attribute\n // Note: The global afterSanitizeAttributes hook (defined above) will still apply\n // to add target=\"_blank\" and rel=\"noopener noreferrer\" to external links\n return DOMPurify.sanitize(modifiedHtml, {\n ADD_ATTR: ['target', 'onerror'],\n });\n};\n\n/**\n * Ensures base64 data has the correct data URI prefix for PDF content\n * @param base64Data - The base64 data string\n * @returns The base64 data with proper data URI prefix\n */\nexport const clearBase64Data = (base64Data: string) => {\n if (!base64Data) return '';\n\n const cleanedData = base64Data.trim();\n\n if (cleanedData.startsWith('data:application/pdf;base64,')) {\n return cleanedData;\n }\n\n if (cleanedData.startsWith('data:')) {\n return cleanedData;\n }\n\n return `data:application/pdf;base64,${cleanedData}`;\n};\n\n/**\n * Function to prettify form values. Returns a pretty value and label for each field.\n * @param values - Form values to prettify\n * @param fields - Form fields\n * @returns Prettified form values\n */\n// @ts-expect-error need to check function return type\nexport function prettifyFormValues(\n values: Record<string, unknown>,\n fields: JSFFields | undefined,\n) {\n if (!fields) {\n return {};\n }\n return Object.fromEntries(\n Object.entries(values)\n // @ts-expect-error need to check function return type\n .map(([key, value]) => {\n if (value === undefined) {\n return [key, undefined];\n }\n\n const field = fields.find((field) => field.name === key);\n\n if (field?.isVisible === false || field?.deprecated) {\n return [key, undefined];\n }\n\n if (field?.type === 'radio' || field?.type === 'select') {\n const option = (\n field.options as Array<{ value: string; label: string }>\n ).find((option) => option.value === value);\n\n if (option) {\n return [\n key,\n {\n prettyValue: option?.label,\n label: field?.label,\n inputType: field?.type,\n },\n ];\n }\n return;\n }\n\n if (field?.type === 'checkbox' && field?.const) {\n return [\n key,\n { prettyValue: true, label: field.label, inputType: field?.type },\n ];\n }\n\n if (field?.type === 'countries' && Array.isArray(value)) {\n return [\n key,\n {\n prettyValue: value.join(),\n label: field.label,\n inputType: field?.type,\n },\n ];\n }\n\n if (field?.type === 'fieldset') {\n // @ts-expect-error need to check function return type\n const prettiedFieldset = prettifyFormValues(\n value as Record<string, unknown>,\n field.fields as JSFFields,\n );\n\n // Handles benefits fieldset in specific\n if (!prettiedFieldset.label && prettiedFieldset.value) {\n const prettyValue: Record<string, unknown> = {\n ...prettiedFieldset.value,\n label: field.label,\n inputType: field?.type,\n };\n return [key, prettyValue];\n }\n\n return [key, prettiedFieldset];\n }\n\n if (field?.type === 'money') {\n return [\n key,\n {\n prettyValue: value,\n label: field.label,\n inputType: field?.type,\n currency: field?.currency,\n },\n ];\n }\n\n if (field) {\n return [\n key,\n { prettyValue: value, label: field.label, inputType: field?.type },\n ];\n }\n })\n .filter(Boolean),\n );\n}\n\n/**\n * Creates a structured error object with the error message and raw error object\n * @param message - The error message\n * @returns\n */\nexport function createStructuredError(message: string) {\n return {\n error: new Error(message),\n rawError: { message },\n fieldErrors: [],\n };\n}\n\n/**\n * Checks if the error is a structured error\n * @param err - The error\n * @returns True if the error is a structured error\n */\nexport function isStructuredError(err: unknown): err is {\n error: Error;\n rawError: Record<string, unknown>;\n fieldErrors: NormalizedFieldError[];\n} {\n return (\n typeof err === 'object' &&\n err !== null &&\n 'error' in err &&\n 'rawError' in err &&\n 'fieldErrors' in err\n );\n}\n\n/**\n * Handles the error for a step and optionally sets form field errors\n * @param err - The error\n * @param fieldsMeta - The fields metadata\n * @param form - Optional form instance to set field errors\n * @returns The structured error\n */\nexport function handleStepError(\n err: unknown,\n fieldsMeta?: NestedMeta,\n form?: {\n setError: (name: string, error: { type: string; message: string }) => void;\n },\n): {\n error: Error;\n rawError: Record<string, unknown>;\n fieldErrors: NormalizedFieldError[];\n} {\n // If it's already a structured error from mutateAsyncOrThrow\n if (isStructuredError(err)) {\n const normalizedFieldErrors = normalizeFieldErrors(\n err.fieldErrors || [],\n fieldsMeta,\n );\n\n // Automatically set form field errors if form is provided\n if (form) {\n setFormFieldErrors(form, normalizedFieldErrors);\n }\n\n return {\n error: err.error,\n rawError: err.rawError,\n fieldErrors: normalizedFieldErrors,\n };\n }\n\n // For unexpected errors, create a structured error\n const fallbackError = createStructuredError(\n err instanceof Error ? err.message : 'An unexpected error occurred',\n );\n\n return {\n ...fallbackError,\n fieldErrors: [], // No field errors for unexpected errors\n };\n}\n\n/**\n * Gets a nested value from an object using a dot-notation path string.\n * Replacement for lodash.get with support for nested property access.\n * @param obj - The object to query\n * @param path - The path to the property (e.g., 'user.address.city')\n * @param defaultValue - The value to return if the resolved value is undefined\n * @returns The resolved value or defaultValue\n */\nexport function getNestedValue<T = unknown>(\n obj: unknown,\n path: string,\n defaultValue?: T,\n): T | undefined {\n if (obj == null || typeof path !== 'string') {\n return defaultValue;\n }\n\n const keys = path.split('.');\n let result: unknown = obj;\n\n for (const key of keys) {\n if (result == null || typeof result !== 'object') {\n return defaultValue;\n }\n result = (result as Record<string, unknown>)[key];\n }\n\n return (result === undefined ? defaultValue : result) as T | undefined;\n}\n\n/**\n * Sets backend validation errors into react-hook-form state\n * Converts backend field paths to react-hook-form paths and sets errors\n *\n * @example\n * Backend: \"provisional_start_date\" → Form: \"provisional_start_date\"\n * Backend: \"service_duration/expiration_date\" → Form: \"service_duration.expiration_date\"\n * Backend: \"benefits[0]/value\" → Form: \"benefits.0.value\"\n *\n * @param form - The react-hook-form instance\n * @param fieldErrors - Array of normalized field errors from the backend\n */\nexport function setFormFieldErrors(\n form: {\n setError: (name: string, error: { type: string; message: string }) => void;\n },\n fieldErrors: NormalizedFieldError[],\n): void {\n fieldErrors.forEach(({ field, messages }) => {\n try {\n // Convert backend field path to react-hook-form path\n // \"/\" → \".\" for nested objects\n // \"[index]\" → \".index\" for arrays\n const formFieldPath = field\n .replace(/\\//g, '.')\n .replace(/\\[(\\d+)\\]/g, '.$1');\n\n form.setError(formFieldPath, {\n type: 'server',\n message: messages.join('. '),\n });\n } catch (error) {\n // Silently ignore if field doesn't exist in form\n // This can happen if backend returns errors for fields not in current step\n console.warn(`Could not set error for field: ${field}`, error);\n }\n });\n}\n"],"mappings":"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","names":["extractFieldErrors","error","errors","fieldErrors","key","value","msg","nestedKey","nestedValue","__name","mutationToPromise","mutation","values","resolve","reject","response","errorData","httpResponse","errorMessage","normalizeFieldErrors","meta","fieldError","fieldMeta","userFriendlyLabel","pathParts","current","part","clsx","twMerge","DOMPurify","cn","inputs","twMerge","clsx","__name","formatCurrency","amount","currencyCode","value","transformYupErrorsIntoObject","errors","validationErrors","error","innerError","debug","version","appendSecureRelValue","rel","attributes","DOMPurify","node","target","href","sanitizeHtml","html","sanitizeHtmlWithImageErrorHandling","doc","img","modifiedHtml","clearBase64Data","base64Data","cleanedData","prettifyFormValues","values","fields","key","field","option","prettiedFieldset","prettyValue","createStructuredError","message","isStructuredError","err","handleStepError","fieldsMeta","form","normalizedFieldErrors","normalizeFieldErrors","setFormFieldErrors","getNestedValue","obj","path","defaultValue","keys","result","fieldErrors","messages","formFieldPath"]}
@@ -1,2 +0,0 @@
1
- import{a as B}from"./chunk-OKLZQ5MG.js";import{i as ne,j as re}from"./chunk-JVGGWBFZ.js";import{b as ee,c as oe,f as te}from"./chunk-L6YEMU4A.js";import{a as j}from"./chunk-XUK2XG3P.js";import{a as X}from"./chunk-CRYLYVA7.js";import{a as Y}from"./chunk-4JIT6ICA.js";import{b as z}from"./chunk-U2H4CADS.js";import{c as C,i as h,m as Q}from"./chunk-SJZP5XKE.js";import{c as N,g as k}from"./chunk-B6INIXRK.js";import{b as S}from"./chunk-KQPDXXG3.js";import{a as r}from"./chunk-P37U34EQ.js";import{Fragment as Ye,useEffect as je,useRef as Ne}from"react";import V from"lodash.omit";import{jsx as ie}from"react/jsx-runtime";function le({description:e,label:o,name:n,minDate:t,maxDate:i,onChange:l,component:s,...d}){let{components:F}=S(),{control:u}=C(),c;d.meta?.mot&&typeof d.meta.mot=="number"?c=ne(d.meta.mot):typeof t=="string"&&(c=new Date(`${t}T00:00:00`));let a;return i&&(a=new Date(`${i}T23:59:59`)),ie(h,{control:u,name:n,render:({field:f,fieldState:g})=>{let p=s||F?.date;if(!p)throw new Error(`Date picker component not found for field ${n}`);let x={description:e,label:o,name:n,onChange:l,...c&&{minDate:c.toISOString()},...a&&{maxDate:a.toISOString()},...d};return ie(p,{field:{...f,onChange:r(y=>{f.onChange(y),l?.(y)},"onChange")},fieldState:g,fieldData:x})}})}r(le,"DatePickerField");import{jsx as se}from"react/jsx-runtime";var Be=r((e,o)=>{if(!o)return null;for(let n of e)if(n.size>o){let t=Math.round(o/1048576),i=Math.round(n.size/(1024*1024));return`File "${n.name}" exceeds maximum size of ${t}MB (file is ${i}MB)`}return null},"validateFileSize");function ae({name:e,description:o,label:n,multiple:t,onChange:i,component:l,accept:s,maxSize:d,...F}){let{components:u}=S(),{control:c,setError:a,clearErrors:f}=C(),g=r(async(p,x)=>{let y=Be(p,d);if(y){a(e,{message:y});return}f(e),x.onChange(p),i?.(p)},"handleOnChange");return se(h,{control:c,name:e,render:({field:p,fieldState:x})=>{let y=l||u.file;if(!y)throw new Error(`File upload component not found for field ${e}`);let _={name:e,description:o,label:n,multiple:t,accept:s,maxFileSize:d,...F};return se(y,{field:{...p,value:p.value,onChange:r(async T=>g(T,p),"onChange")},fieldState:x,fieldData:_})}})}r(ae,"FileUploadField");import{jsx as me}from"react/jsx-runtime";function J(e){let{components:o}=S(),{control:n}=C(),t=e.component||o.number;if(!t)throw new Error(`Number component not found for field ${e.name}`);return me(h,{control:n,name:e.name,render:({field:i,fieldState:l})=>me(t,{field:{...i,onChange:r(s=>{i.onChange(s),e.onChange?.(s)},"onChange")},fieldState:l,fieldData:e})})}r(J,"NumberField");import{jsx as de}from"react/jsx-runtime";function pe({name:e,defaultValue:o,description:n,label:t,options:i,onChange:l,component:s,...d}){let{components:F}=S(),{control:u}=C();return de(h,{control:u,name:e,defaultValue:o,render:({field:c,fieldState:a})=>{let f=s||F?.radio;if(!f)throw new Error(`Radio group component not found for field ${e}`);let g={name:e,defaultValue:o,description:n,label:t,options:i,...d};return de(f,{field:{...c,onChange:r(p=>{c.onChange(p),l?.(p)},"onChange")},fieldState:a,fieldData:g})}})}r(pe,"RadioGroupField");import{jsx as ce}from"react/jsx-runtime";function ue({label:e,name:o,options:n,defaultValue:t,description:i,onChange:l,component:s,...d}){let{control:F}=C(),{components:u}=S();return ce(h,{defaultValue:t,control:F,name:o,render:({field:c,fieldState:a})=>{let f=s||u?.select;if(!f)throw new Error(`Select component not found for field ${o}`);let g={label:e,name:o,options:n,defaultValue:t,description:i,onChange:l,...d};return ce(f,{field:{...c,onChange:r(p=>{let y=(Array.isArray(d.jsonType)?d.jsonType.includes("number"):d.jsonType==="number")?Number(p):p;c.onChange(y),l?.(y)},"onChange")},fieldState:a,fieldData:g})}})}r(ue,"SelectField");import{jsx as Fe}from"react/jsx-runtime";function fe({label:e,name:o,options:n,defaultValue:t,description:i,onChange:l,$meta:s,component:d,...F}){let{control:u}=C(),{components:c}=S();return Fe(h,{defaultValue:t,control:u,name:o,render:({field:a,fieldState:f})=>{let g=d||c.countries;if(!g)throw new Error(`Country component not found for field ${o}`);let p={label:e,name:o,options:n,defaultValue:t,description:i,onChange:l,$meta:s,...F};return Fe(g,{field:{...a,onChange:r(x=>{a.onChange(x),l?.(x)},"onChange")},fieldState:f,fieldData:p})}})}r(fe,"CountryField");import{jsx as Ce}from"react/jsx-runtime";function ge({name:e,description:o,label:n,onChange:t,maxLength:i,component:l,...s}){let{components:d}=S(),{control:F}=C();return Ce(h,{control:F,name:e,render:({field:u,fieldState:c})=>{let a=l||d.textarea;if(!a)throw new Error(`Text area component not found for field ${e}`);let f={name:e,description:o,label:n,maxLength:i,...s};return Ce(a,{field:{...u,onChange:r(g=>{u.onChange(g),t?.(g)},"onChange")},fieldState:c,fieldData:f})}})}r(ge,"TextAreaField");import{jsx as he}from"react/jsx-runtime";function Se(e){let{components:o}=S(),{control:n}=C(),t=e.component||o.email;if(!t)throw new Error(`Email component not found for field ${e.name}`);return he(h,{control:n,name:e.name,render:({field:i,fieldState:l})=>he(t,{field:{...i,onChange:r(s=>{i.onChange(s),e.onChange?.(s)},"onChange")},fieldState:l,fieldData:e})})}r(Se,"EmailField");import{jsx as xe}from"react/jsx-runtime";function ye(e){let{control:o}=C();return xe(h,{control:o,name:e.name,render:({field:n})=>xe("input",{...n,type:"hidden"})})}r(ye,"HiddenField");import{useEffect as Je,useState as Ie}from"react";import{jsx as Te}from"react/jsx-runtime";function be(e){let{components:o}=S(),{setValue:n,control:t,watch:i}=C(),l=i(e.name),[s,d]=Ie(l),{workHoursSummary:F,breakSummary:u}=oe(s),c=ee(s);Je(()=>{n(e.name,s)},[s,e.name,n]);function a(p){d(p)}r(a,"onSubmit");let f=e.component||o["work-schedule"];if(!f)throw new Error(`Work schedule component not found for field ${e.name}`);let g={...e,onSubmit:a,currentSchedule:s,defaultFormattedValue:{workHoursSummary:F,breakSummary:u,totalWorkHours:c}};return Te(h,{control:t,name:e.name,render:({field:p,fieldState:x})=>Te(f,{field:{...p,onChange:r(y=>{p.onChange(y),e.onChange?.(y)},"onChange")},fieldState:x,fieldData:g})})}r(be,"WorkScheduleField");import{jsx as Pe}from"react/jsx-runtime";function $e({label:e,name:o,options:n,defaultValue:t,description:i,onChange:l,component:s,...d}){let{control:F}=C(),{components:u}=S();return Pe(h,{defaultValue:t,control:F,name:o,render:({field:c,fieldState:a})=>{let f=s||u?.["multi-select"];if(!f)throw new Error(`Multi select component not found for field ${o}`);let g={label:e,name:o,options:n,defaultValue:t,description:i,onChange:l,...d};return Pe(f,{field:{...c,onChange:r(p=>{c.onChange(p),l?.(p)},"onChange")},fieldState:a,fieldData:g})}})}r($e,"MultiSelectField");import{jsx as Le}from"react/jsx-runtime";var De=r(e=>Le(J,{maxLength:15,...e}),"MoneyField");import{useMemo as I,useCallback as Re,useState as ze,useEffect as Oe,useRef as Ge}from"react";import{jsx as O}from"react/jsx-runtime";function Ue(e){return e.replace(/\s/g,"")}r(Ue,"removeSpaces");function we(e="",o){let n=new RegExp(`^(\\+|00)(\\d{${o?.dialCode?.length??0}})(.*)$`),t=e?.match(n);if(!t)return{prefix:"",dialCode:"",phoneNumber:e};let[,i,l,s]=t;return{prefix:i,dialCode:l,phoneNumber:s}}r(we,"getStructuredNumberFromInternationalNumber");function _e({dialCodes:e,dialCodeMaxLength:o},n){let{prefix:t}=we(n);if(t)for(let i=o+t.length;i>t.length;i--){let l=n.slice(t.length,i);if(e[l])return e[l]}}r(_e,"getCountryFromPhoneNumber");function ve(e){let o={},n=0;return e.forEach(t=>{t.areaCodes?t.areaCodes.forEach(i=>{let l=t.dialCode+i;o[l]=t,l.length>n&&(n=l.length)}):(o[t.dialCode]=t,t.dialCode.length>n&&(n=t.dialCode.length))}),{dialCodes:o,dialCodeMaxLength:n}}r(ve,"getCountryDataByCountryCode");function Ze(e=""){let o=/\(([^)]+)\)/g,n=e.match(o);if(n?.length===2)return n[1].replace(/\(|\)/g,"").split("|")}r(Ze,"getAreaCodesFromPattern");function Ke(e){return e.map(o=>({name:o.label,dialCode:o.meta.countryCode,pattern:o.pattern,areaCodes:Ze(o.pattern)}))}r(Ke,"transformSchemaToCountries");function qe({field:e,fieldState:o,fieldData:n,component:t,onChangeCountryCode:i,onChangePhoneNumber:l}){let{value:s}=e,{options:d}=n,F=I(()=>Ke(d),[d]),u=I(()=>ve(F),[F]),c=Ge(!1),[a,f]=ze(()=>_e(ve(F),s||""));Oe(()=>{if((!s||s==="+")&&(c.current=!1),c.current)return;let T=_e(u,s||"");f(T)},[s,u]);let{prefix:g,phoneNumber:p}=I(()=>we(s,a),[s,a]),x=Re(T=>{if(!T)return;let M=`+${T.dialCode}${p}`;c.current=!0,f(T),e.onChange(M),i&&i(T)},[p,e,i]),y=Re(T=>{let M=Ue(T.target.value),R;if(a?R=`${g}${a.dialCode}${M}`:R=`${g}${M}`,e.onChange(R),l){let W={target:{value:R,name:e.name}};l(W)}},[a,g,e,l]),_=I(()=>({...n,onChangeCountryCode:x,onChangePhoneNumber:y,currentCountry:a,nationalPhoneNumber:p}),[n,x,y,a,p]);return O(t,{field:e,fieldState:o,fieldData:_})}r(qe,"TelFieldRenderer");function Me({name:e,description:o,label:n,onChangeCountryCode:t,onChangePhoneNumber:i,component:l,...s}){let{components:d}=S(),{control:F}=C();return O(h,{control:F,name:e,render:({field:u,fieldState:c})=>{let a=l||d.tel;if(!a)throw new Error(`Tel component not found for field ${e}`);let f={name:e,description:o,label:n,...s};return O(qe,{field:u,fieldState:c,fieldData:f,component:a,onChangeCountryCode:t,onChangePhoneNumber:i})}})}r(Me,"TelField");var G={checkbox:te,text:Y,email:Se,money:De,select:ue,"multi-select":$e,radio:pe,number:J,file:ae,date:le,textarea:ge,countries:fe,hidden:ye,tel:Me,"work-schedule":be};import{useEffect as Qe}from"react";import{jsx as U,jsxs as Xe}from"react/jsx-runtime";function Ee({name:e,value:o,description:n,statement:t,label:i,helpCenter:l}){let{setValue:s}=C(),d=t?.description||n,F=t?.title?k(t?.title):k(i),u=`forced-value-${e}-title`,c=`forced-value-${e}-description`;return Qe(()=>{s(e,o)},[]),!d&&!t?.title?null:Xe("div",{role:"group","aria-labelledby":F?u:void 0,"aria-describedby":d?c:void 0,children:[F&&U("p",{id:u,className:`text-sm RemoteFlows__ForcedValue__Title__${e}`,dangerouslySetInnerHTML:{__html:F}}),U(Q,{as:"span",id:c,className:`text-xs RemoteFlows__ForcedValue__Description__${e}`,helpCenter:U(X,{className:"RemoteFlows__ForcedValue__HelpCenterLink",helpCenter:l}),children:d})]})}r(Ee,"ForcedValueField");import{Fragment as Z,jsx as b,jsxs as w}from"react/jsx-runtime";function ke({label:e,name:o,fields:n,description:t,components:i,statement:l,isFlatFieldset:s,extra:d,variant:F="outset",features:u,meta:c}){let{helpCenter:a}=c||{},{watch:f,setValue:g,trigger:p,formState:x}=C(),{components:y}=S(),_=u?.toggle?.stateField,T=_?f(_):u?.toggle?.defaultExpanded??!0,M=n.map(({name:m})=>`${o}.${m}`),R=f(M),W=Ne(R),E=Ne(null),Ve=r(()=>{_&&g(_,!T)},"toggleExpanded");je(()=>{let m=R,v=W.current,$=x.isSubmitted||x.submitCount>0,H=!1;for(let D=0;D<m.length;D++)if(m[D]!==void 0&&v[D]!==m[D]){H=!0;break}return H&&$&&(E.current&&clearTimeout(E.current),E.current=setTimeout(()=>{p()},50)),W.current=[...m],()=>{E.current&&clearTimeout(E.current)}},[R,p,x.isSubmitted,x.submitCount]);let We=y?.fieldsetToggle||j,K=`${o}-content`,q=`${o}-header`;return w("fieldset",{className:N("border-1 border-input p-4 rounded-xl","RemoteFlows__FieldSetField",`RemoteFlows__FieldSetField__${o}`),children:[b("legend",{className:N("text-sm font-semibold px-2",F==="inset"&&"hidden"),children:e}),a?.callToAction&&a?.id&&F==="outset"&&b(z,{className:"RemoteFlows__FieldSetField__HelpCenterLink mb-3",zendeskId:a.id,children:a.callToAction}),F==="inset"&&w(Z,{children:[w("div",{className:"RemoteFlows__FieldSetField__Header",id:q,"data-state":T?"expanded":"collapsed","aria-expanded":T,children:[b("h3",{className:N("RemoteFlows__FieldSetField__Title"),children:e}),u?.toggle?.enabled&&b(We,{isExpanded:T,onToggle:Ve,"aria-expanded":T,"aria-controls":K,"aria-label":`${T?"Hide":"Show"} ${e}`,className:N("RemoteFlows__FieldSetField__Toggle",u.toggle?.className),children:T?u.toggle.labels?.collapse??"Remove":u.toggle.labels?.expand??"Define"})]}),a?.callToAction&&a?.id&&b(z,{className:"RemoteFlows__FieldSetField__HelpCenterLink mb-3",zendeskId:a.id,children:a.callToAction})]}),T&&w("div",{id:K,"aria-labelledby":q,role:"region",children:[t?b("div",{className:"mb-5 RemoteFlows__FieldSetField__Description",dangerouslySetInnerHTML:{__html:k(t)}}):null,w("div",{className:"grid gap-4",children:[n.map(m=>{if(m.calculateDynamicProperties&&(m={...m,...m.calculateDynamicProperties(R,m)||{}}),m.isVisible===!1||m.deprecated)return null;let v=m.type,$=`${s?m.name:`${o}.${m.name}`}`,H=re(m),D=r((P,A)=>m.WrapperComponent?b(m.WrapperComponent,{children:P},A):b(Ye,{children:P},A),"wrapWithCustomWrapper");if(H){let P=V(m,"WrapperComponent");return D(b(Ee,{name:$,description:P.description,value:P.const,statement:P.statement,label:P.label,helpCenter:P.meta?.helpCenter}),$)}if(v==="fieldset"){let P=V(m,"WrapperComponent");return D(b(ke,{...P,name:$,components:i}),$)}if(v==="fieldset-flat"){let P=V(m,"WrapperComponent");return D(b(ke,{...P,name:$,components:i,isFlatFieldset:!0}),$)}let L=G[v];if(m.Component){let{Component:P}=m,A=V(m,"WrapperComponent");return D(w(Z,{children:[b(P,{...A,value:f($),setValue:Ae=>{g($,Ae)}}),m.statement?b(B,{...m.statement}):null,m.extra?m.extra:null]}),$)}if(!L)return w("p",{className:"error",children:["Field type ",v," not supported"]});v==="select"&&m.multiple&&(L=G["multi-select"]);let He=V(m,"WrapperComponent");return D(w(Z,{children:[b(L,{...He,name:$,component:i?.[v]}),m.statement?b(B,{...m.statement}):null,m.extra?m.extra:null]}),$)}),d||null,l?b(B,{...l}):null]})]})]})}r(ke,"FieldSetField");export{G as a,Ee as b,ke as c};
2
- //# sourceMappingURL=chunk-C2RPJGJB.js.map
@@ -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/TelField.tsx","../src/components/form/fields/baseFields.tsx","../src/components/form/fields/ForcedValueField.tsx"],"sourcesContent":["import { useFormContext } from 'react-hook-form';\nimport { Fragment, useEffect, useRef } from 'react';\nimport omit from 'lodash.omit';\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';\nimport { checkFieldHasForcedValue } from '@/src/components/form/utils';\nimport { ForcedValueField } from '@/src/components/form/fields/ForcedValueField';\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 const fieldKey = `${isFlatFieldset ? field.name : `${name}.${field.name}`}`;\n\n const isForcedValue = checkFieldHasForcedValue(field);\n\n // Helper function to wrap content with WrapperComponent if present\n const wrapWithCustomWrapper = (\n content: React.ReactNode,\n key: string,\n ) => {\n if (field.WrapperComponent) {\n return (\n <field.WrapperComponent key={key}>\n {content}\n </field.WrapperComponent>\n );\n }\n return <Fragment key={key}>{content}</Fragment>;\n };\n\n if (isForcedValue) {\n const fieldProps = omit(field, 'WrapperComponent');\n return wrapWithCustomWrapper(\n <ForcedValueField\n name={fieldKey}\n description={fieldProps.description}\n value={fieldProps.const}\n statement={fieldProps.statement}\n label={fieldProps.label}\n helpCenter={fieldProps.meta?.helpCenter}\n />,\n fieldKey,\n );\n }\n\n // Handle nested fieldsets\n if (fieldType === 'fieldset') {\n const fieldProps = omit(field, 'WrapperComponent');\n return wrapWithCustomWrapper(\n <FieldSetField\n {...(fieldProps as $TSFixMe)}\n name={fieldKey}\n components={components}\n />,\n fieldKey,\n );\n }\n\n if (fieldType === 'fieldset-flat') {\n const fieldProps = omit(field, 'WrapperComponent');\n return wrapWithCustomWrapper(\n <FieldSetField\n {...(fieldProps as $TSFixMe)}\n name={fieldKey}\n components={components}\n isFlatFieldset\n />,\n fieldKey,\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 const fieldProps = omit(field, 'WrapperComponent');\n return wrapWithCustomWrapper(\n <>\n <Component\n {...fieldProps}\n value={watch(fieldKey) as string}\n setValue={(value: unknown) => {\n setValue(fieldKey, value);\n }}\n />\n {field.statement ? (\n <Statement\n {...(field.statement as StatementComponentProps['data'])}\n />\n ) : null}\n {field.extra ? field.extra : null}\n </>,\n fieldKey,\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 const fieldProps = omit(field, 'WrapperComponent');\n return wrapWithCustomWrapper(\n <>\n <FieldComponent\n {...fieldProps}\n name={fieldKey}\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 </>,\n fieldKey,\n );\n })}\n {extra ? extra : null}\n {statement ? <Statement {...statement} /> : null}\n </div>\n </div>\n )}\n </fieldset>\n );\n}\n","import { useFormContext } from 'react-hook-form';\nimport { FormField } from '@/src/components/ui/form';\n\nimport { useFormFields } from '@/src/context';\nimport { Components, JSFField, $TSFixMe } from '@/src/types/remoteFlows';\nimport { getMinStartDate } from '@/src/components/form/utils';\n\nexport type DatePickerFieldProps = JSFField & {\n onChange?: (value: $TSFixMe) => 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: $TSFixMe) => {\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 isNumberType = Array.isArray(rest.jsonType)\n ? rest.jsonType.includes('number')\n : rest.jsonType === 'number';\n const maybeCastValue = isNumberType ? 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","import { useFormFields } from '@/src/context';\nimport { Components, JSFField, $TSFixMe } 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: $TSFixMe) => 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: $TSFixMe) => {\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","import { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\n\nimport { JSFField, $TSFixMe } 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: $TSFixMe) => 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: $TSFixMe) => {\n field.onChange(value);\n props.onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={fieldData}\n />\n );\n }}\n />\n );\n}\n","import { useFormFields } from '@/src/context';\nimport { Components, JSFField, $TSFixMe } 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: $TSFixMe) => 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: $TSFixMe) => {\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 { FormField } from '@/src/components/ui/form';\nimport { useFormFields } from '@/src/context';\nimport { Components } from '@/src/types/remoteFlows';\nimport {\n useFormContext,\n ControllerFieldState,\n ControllerRenderProps,\n FieldValues,\n} from 'react-hook-form';\nimport { TelFieldComponentProps, TelFieldDataProps } from '@/src/types/fields';\nimport { useMemo, useCallback, useState, useEffect, useRef } from 'react';\n\nexport type Country = {\n name: string;\n dialCode: string;\n pattern: string;\n areaCodes?: string[];\n};\n\n/**\n * Removes all spaces from input.\n */\nfunction removeSpaces(value: string) {\n return value.replace(/\\s/g, '');\n}\n\nfunction getStructuredNumberFromInternationalNumber(\n internationalPhoneNumber: string = '',\n country?: Country,\n) {\n const baseRegex = new RegExp(\n `^(\\\\+|00)(\\\\d{${country?.dialCode?.length ?? 0}})(.*)$`,\n );\n const baseMatch = internationalPhoneNumber?.match(baseRegex);\n\n if (!baseMatch) {\n return {\n prefix: '',\n dialCode: '',\n phoneNumber: internationalPhoneNumber,\n };\n }\n\n const [, plusOrCallPrefix, dialCode, phoneNumber] = baseMatch;\n\n return {\n prefix: plusOrCallPrefix,\n dialCode,\n phoneNumber,\n };\n}\n\nfunction getCountryFromPhoneNumber(\n {\n dialCodes,\n dialCodeMaxLength,\n }: ReturnType<typeof getCountryDataByCountryCode>,\n internationalPhoneNumber: string,\n) {\n const { prefix } = getStructuredNumberFromInternationalNumber(\n internationalPhoneNumber,\n );\n\n if (!prefix) {\n return undefined;\n }\n\n // Try longest dial codes first - critical for US/Canada\n for (let i = dialCodeMaxLength + prefix.length; i > prefix.length; i--) {\n const dialCode = internationalPhoneNumber.slice(prefix.length, i);\n\n if (dialCodes[dialCode]) {\n return dialCodes[dialCode];\n }\n }\n\n return undefined;\n}\n\n/**\n * Creates a map of dial codes (including area codes) to country objects.\n * Handles countries like US/Canada that share +1 with different area codes.\n */\nexport function getCountryDataByCountryCode(countries: Country[]) {\n const dialCodes: Record<string, Country> = {};\n let dialCodeMaxLength = 0;\n\n countries.forEach((country) => {\n if (country.areaCodes) {\n // For countries with area codes (e.g., +1204, +1226)\n country.areaCodes.forEach((areaCode) => {\n const code = country.dialCode + areaCode;\n dialCodes[code] = country;\n if (code.length > dialCodeMaxLength) {\n dialCodeMaxLength = code.length;\n }\n });\n } else {\n // For countries with simple dial codes (e.g., +44, +351)\n dialCodes[country.dialCode] = country;\n if (country.dialCode.length > dialCodeMaxLength) {\n dialCodeMaxLength = country.dialCode.length;\n }\n }\n });\n\n return { dialCodes, dialCodeMaxLength };\n}\n\nfunction getAreaCodesFromPattern(pattern: string = '') {\n const codeGroupPattern = /\\(([^)]+)\\)/g;\n const groups = pattern.match(codeGroupPattern);\n\n if (groups?.length === 2) {\n return groups[1].replace(/\\(|\\)/g, '').split('|');\n }\n\n return undefined;\n}\n\nfunction transformSchemaToCountries(\n options: Array<{\n value: string;\n label: string;\n meta: { countryCode: string };\n pattern: string;\n }>,\n): Country[] {\n return options.map((option) => ({\n name: option.label,\n dialCode: option.meta.countryCode,\n pattern: option.pattern,\n areaCodes: getAreaCodesFromPattern(option.pattern),\n }));\n}\n\nexport function TelFieldRenderer({\n field,\n fieldState,\n fieldData,\n component: Component,\n onChangeCountryCode,\n onChangePhoneNumber,\n}: {\n field: ControllerRenderProps<FieldValues, string>;\n fieldState: ControllerFieldState;\n fieldData: TelFieldDataProps;\n component: React.ComponentType<TelFieldComponentProps>;\n onChangeCountryCode?: (newCountry: Country) => void;\n onChangePhoneNumber?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n}) {\n const { value: internationalPhoneNumber } = field;\n const { options } = fieldData;\n\n const countries = useMemo(\n () => transformSchemaToCountries(options),\n [options],\n );\n\n const countriesByCountryCode = useMemo(\n () => getCountryDataByCountryCode(countries),\n [countries],\n );\n\n // Track if the country change was due to manual selection\n const isManualSelectionRef = useRef(false);\n\n // Use state to track country, so manual selection is preserved\n const [country, setCountry] = useState<Country | undefined>(() =>\n getCountryFromPhoneNumber(\n getCountryDataByCountryCode(countries),\n internationalPhoneNumber || '',\n ),\n );\n\n // Re-detect country when phone number changes externally (e.g., form reset or area code typed)\n useEffect(() => {\n // Reset manual selection flag if field is cleared\n if (!internationalPhoneNumber || internationalPhoneNumber === '+') {\n isManualSelectionRef.current = false;\n }\n\n if (isManualSelectionRef.current) {\n return;\n }\n\n const detected = getCountryFromPhoneNumber(\n countriesByCountryCode,\n internationalPhoneNumber || '',\n );\n setCountry(detected);\n }, [internationalPhoneNumber, countriesByCountryCode]);\n\n const { prefix, phoneNumber: nationalPhoneNumber } = useMemo(\n () =>\n getStructuredNumberFromInternationalNumber(\n internationalPhoneNumber,\n country,\n ),\n [internationalPhoneNumber, country],\n );\n\n const handleCountryCodeChange = useCallback(\n (newCountry: Country) => {\n if (!newCountry) return;\n const newValue = `+${newCountry.dialCode}${nationalPhoneNumber}`;\n\n // Mark as manual selection to prevent useEffect from overriding\n isManualSelectionRef.current = true;\n\n // Update country state to preserve manual selection\n setCountry(newCountry);\n\n // Update React Hook Form state\n field.onChange(newValue);\n\n // Call optional external onChange\n if (onChangeCountryCode) {\n onChangeCountryCode(newCountry);\n }\n },\n [nationalPhoneNumber, field, onChangeCountryCode],\n );\n\n const handlePhoneNumberChange = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n const valueWithoutSpaces = removeSpaces(event.target.value);\n let newValue: string;\n if (country) {\n newValue = `${prefix}${country.dialCode}${valueWithoutSpaces}`;\n } else {\n newValue = `${prefix}${valueWithoutSpaces}`;\n }\n // Update React Hook Form state\n field.onChange(newValue);\n\n // Call optional external onChange\n if (onChangePhoneNumber) {\n const syntheticEvent = {\n target: { value: newValue, name: field.name },\n } as React.ChangeEvent<HTMLInputElement>;\n onChangePhoneNumber(syntheticEvent);\n }\n },\n [country, prefix, field, onChangePhoneNumber],\n );\n\n const fieldDataWithComputedValues = useMemo(\n () => ({\n ...fieldData,\n onChangeCountryCode: handleCountryCodeChange,\n onChangePhoneNumber: handlePhoneNumberChange,\n currentCountry: country,\n nationalPhoneNumber,\n }),\n [\n fieldData,\n handleCountryCodeChange,\n handlePhoneNumberChange,\n country,\n nationalPhoneNumber,\n ],\n );\n\n return (\n <Component\n field={field}\n fieldState={fieldState}\n fieldData={fieldDataWithComputedValues}\n />\n );\n}\n\nexport type TelFieldProps = TelFieldDataProps & {\n name: string;\n component?: Components['tel'];\n};\n\nexport function TelField({\n name,\n description,\n label,\n onChangeCountryCode,\n onChangePhoneNumber,\n component,\n ...rest\n}: TelFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n\n return (\n <FormField\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components.tel;\n if (!Component) {\n throw new Error(`Tel component not found for field ${name}`);\n }\n\n const customTelFieldProps: TelFieldDataProps = {\n name,\n description,\n label,\n ...rest,\n };\n\n return (\n <TelFieldRenderer\n field={field}\n fieldState={fieldState}\n fieldData={customTelFieldProps}\n component={Component}\n onChangeCountryCode={onChangeCountryCode}\n onChangePhoneNumber={onChangePhoneNumber}\n />\n );\n }}\n />\n );\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 { TelField } from './TelField';\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 tel: TelField,\n 'work-schedule': WorkScheduleField,\n};\n","import { useFormContext } from 'react-hook-form';\nimport { sanitizeHtml } from '@/src/lib/utils';\nimport { useEffect } from 'react';\nimport { HelpCenterDataProps } from '@/src/types/fields';\nimport { BaseFormDescription as Description } from '@/src/components/ui/form';\nimport { HelpCenter } from '@/src/components/shared/zendesk-drawer/HelpCenter';\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?: HelpCenterDataProps;\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 forcedValueDescription = statement?.description || description;\n\n const forcedValueTitle = statement?.title\n ? sanitizeHtml(statement?.title)\n : sanitizeHtml(label);\n\n const titleId = `forced-value-${name}-title`;\n const descriptionId = `forced-value-${name}-description`;\n\n useEffect(() => {\n setValue(name, value);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const isHiddenValue = !forcedValueDescription && !statement?.title;\n\n if (isHiddenValue) {\n return null;\n }\n\n return (\n <div\n role='group'\n aria-labelledby={forcedValueTitle ? titleId : undefined}\n aria-describedby={forcedValueDescription ? descriptionId : undefined}\n >\n {forcedValueTitle && (\n <p\n id={titleId}\n className={`text-sm RemoteFlows__ForcedValue__Title__${name}`}\n dangerouslySetInnerHTML={{\n __html: forcedValueTitle,\n }}\n />\n )}\n <Description\n as='span'\n id={descriptionId}\n className={`text-xs RemoteFlows__ForcedValue__Description__${name}`}\n helpCenter={\n <HelpCenter\n className='RemoteFlows__ForcedValue__HelpCenterLink'\n helpCenter={helpCenter}\n />\n }\n >\n {forcedValueDescription}\n </Description>\n </div>\n );\n}\n"],"mappings":"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","names":["Fragment","useEffect","useRef","omit","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","useMemo","useCallback","useState","useEffect","useRef","jsx","removeSpaces","value","__name","getStructuredNumberFromInternationalNumber","internationalPhoneNumber","country","baseRegex","baseMatch","plusOrCallPrefix","dialCode","phoneNumber","getCountryFromPhoneNumber","dialCodes","dialCodeMaxLength","prefix","getCountryDataByCountryCode","countries","areaCode","code","getAreaCodesFromPattern","pattern","codeGroupPattern","groups","transformSchemaToCountries","options","option","TelFieldRenderer","field","fieldState","fieldData","Component","onChangeCountryCode","onChangePhoneNumber","useMemo","countriesByCountryCode","isManualSelectionRef","useRef","setCountry","useState","useEffect","detected","nationalPhoneNumber","handleCountryCodeChange","useCallback","newCountry","newValue","handlePhoneNumberChange","event","valueWithoutSpaces","syntheticEvent","fieldDataWithComputedValues","TelField","name","description","label","component","rest","components","useFormFields","control","useFormContext","FormField","customTelFieldProps","baseFields","CheckBoxField","TextField","EmailField","MoneyField","SelectField","MultiSelectField","RadioGroupField","NumberField","FileUploadField","DatePickerField","TextAreaField","CountryField","HiddenField","TelField","WorkScheduleField","useEffect","jsx","jsxs","ForcedValueField","name","value","description","statement","label","helpCenter","setValue","useFormContext","forcedValueDescription","forcedValueTitle","sanitizeHtml","titleId","descriptionId","useEffect","BaseFormDescription","HelpCenter","__name","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","fieldKey","isForcedValue","checkFieldHasForcedValue","wrapWithCustomWrapper","content","key","fieldProps","omit","ForcedValueField","FieldComponent","baseFields","Component","value","Statement"]}
@@ -1,2 +0,0 @@
1
- import{b as I}from"./chunk-TXSUZLOI.js";import{a as N}from"./chunk-A3LRPGV3.js";import{a as j,b as v,c as D,d as O}from"./chunk-URUZIOHG.js";import{e as p,f as F}from"./chunk-JVGGWBFZ.js";import{a as C,j as R,k as b}from"./chunk-B6INIXRK.js";import{a as k}from"./chunk-TSPDJUGG.js";import{a as c}from"./chunk-P37U34EQ.js";import{useMemo as S,useRef as ee,useState as A}from"react";var pe=c(({countryCode:L,options:u,initialValues:l})=>{let P=j(),g=v(),{mutateAsync:q}=C(P),{mutateAsync:J}=C(g),[y,U]=A(L||null),[f,B]=A(null),w=ee({company_basic_information:{},address_details:{}}),{fieldValues:V,stepState:a,setFieldValues:W,previousStep:z,nextStep:G,goToStep:H}=k(N),{companyBasicInformationForm:d,isLoading:K}=D({jsfModify:u?.jsfModify?.company_basic_information,queryOptions:{enabled:a.currentStep.name==="company_basic_information"}}),{data:s,isLoading:Q}=O({countryCode:y,fieldValues:a.currentStep.name==="address_details"?{...a.values?.address_details||{},...V}:a.values?.address_details||{},options:{...u,jsfModify:u?.jsfModify?.address_details,queryOptions:{enabled:a.currentStep.name==="address_details"&&!!y&&!!f}}}),i=S(()=>({company_basic_information:d?.fields||[],address_details:s?.fields||[]}),[d?.fields,s?.fields]),X={company_basic_information:null,address_details:s?.meta?.["x-jsf-fieldsets"]||null},h=S(()=>F(i.company_basic_information,{...l,country_code:y||l?.country_code||""}),[i.company_basic_information,y,l]),E=S(()=>F(i.address_details,l||{}),[i.address_details,l]),Y=S(()=>({company_basic_information:h,address_details:E}),[h,E]),Z=c(t=>{H(t)},"goTo"),M=c(async t=>{let r=a.currentStep.name,e=i[r];return d&&r==="company_basic_information"?await p(t,e,{isPartialValidation:!1}):s&&r==="address_details"?await p(t,e,{isPartialValidation:!1}):{}},"parseFormValues");async function $(t){let r=a.currentStep.name;r in w.current&&(w.current[r]=R(t,i[r]));let e=await M(t);switch(a.currentStep.name){case"company_basic_information":{if(U(e.country_code),f)return Promise.resolve({data:{countryCode:e.country_code??"",companyOwnerEmail:e.company_owner_email??"",companyOwnerName:e.company_owner_name??"",desiredCurrency:e.desired_currency??"",name:e.name??"",phoneNumber:e.phone_number??"",taxNumber:e.tax_number??""}});let x={country_code:e.country_code,company_owner_email:e.company_owner_email,company_owner_name:e.company_owner_name,desired_currency:e.desired_currency,name:e.name,phone_number:e.phone_number,tax_number:e.tax_number,terms_of_service_accepted_at:I()},n=await q(x);if(n.error)return Promise.resolve({data:null,error:n.error,rawError:n.rawError,fieldErrors:n.fieldErrors});let m=n.data?.data,_,o;if(m)if("data"in m&&m.data){let T=m.data.company;o=T,_=T?.id}else"company"in m&&(o=m.company,_=o?.id);return _&&B(_),Promise.resolve({data:{countryCode:o?.country_code??e.country_code??"",companyOwnerEmail:o?.company_owner_email??e.company_owner_email??"",companyOwnerName:o?.company_owner_name??e.company_owner_name??"",desiredCurrency:o?.desired_currency??e.desired_currency??"",name:o?.name??e.name??"",phoneNumber:o?.phone_number??e.phone_number??"",taxNumber:o?.tax_number??e.tax_number??""}})}case"address_details":{if(!f)throw b("Company ID is required to update address details");let n=await J({companyId:f,payload:{address_details:e},jsonSchemaVersion:u?.jsonSchemaVersion?.form_schema?.address_details});return n.error?Promise.resolve({data:null,error:n.error,rawError:n.rawError,fieldErrors:n.fieldErrors}):Promise.resolve({data:n.data})}default:throw b("Invalid step state")}}return c($,"onSubmit"),{isLoading:K||Q,isSubmitting:P.isPending||g.isPending,fieldValues:V,stepState:a,checkFieldUpdates:W,back:z,next:G,goTo:Z,onSubmit:$,fields:i[a.currentStep.name],meta:{fields:w.current,fieldsets:X[a.currentStep.name]},parseFormValues:M,handleValidation:c(async t=>{if(a.currentStep.name==="company_basic_information"&&d){let r=await p(t,d.fields,{isPartialValidation:!1});return d.handleValidation(r)}if(a.currentStep.name==="address_details"&&s){let r=await p(t,s.fields,{isPartialValidation:!1});return s.handleValidation(r)}return null},"handleValidation"),initialValues:Y}},"useCreateCompany");export{pe as a};
2
- //# sourceMappingURL=chunk-CRMSCL22.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/CreateCompany/hooks.ts"],"sourcesContent":["import { useMemo, useRef, useState } from 'react';\nimport { FieldValues } from 'react-hook-form';\nimport { JSFFields } from '@/src/types/remoteFlows';\nimport {\n getInitialValues,\n parseJSFToValidate,\n} from '@/src/components/form/utils';\nimport { ValidationResult } from '@remoteoss/remote-json-schema-form-kit';\nimport { CreateCompanyFlowProps } from '@/src/flows/CreateCompany/types';\nimport { CreateCompanyParams, UpdateCompanyParams } from '@/src/client';\nimport { nowUtcFormatted } from '@/src/common/dates';\n\nimport { STEPS } from '@/src/flows/CreateCompany/utils';\nimport {\n useCountriesSchemaField,\n useAddressDetailsSchema,\n} from '@/src/flows/CreateCompany/api';\nimport { Step, useStepState } from '@/src/flows/useStepState';\nimport { createStructuredError, prettifyFormValues } from '@/src/lib/utils';\nimport { JSFFieldset, Meta } from '@/src/types/remoteFlows';\nimport { mutationToPromise } from '@/src/lib/mutations';\nimport {\n useCreateCompanyRequest,\n useUpdateCompanyRequest,\n} from '@/src/flows/CreateCompany/api';\n\ntype useCreateCompanyProps = Omit<CreateCompanyFlowProps, 'render'>;\n\n/**\n * Main hook for the CreateCompany flow\n * Manages the two-step flow: company creation and address details\n * @param countryCode - Optional initial country code\n * @param options - Flow options including jsfModify and jsonSchemaVersion\n * @returns CreateCompany bag with all flow state and methods\n */\nexport const useCreateCompany = ({\n countryCode,\n options,\n initialValues: createCompanyInitialValues,\n}: useCreateCompanyProps) => {\n const createCompanyMutation = useCreateCompanyRequest();\n const updateCompanyMutation = useUpdateCompanyRequest();\n\n const { mutateAsync: createCompanyMutationAsync } = mutationToPromise(\n createCompanyMutation,\n );\n const { mutateAsync: updateCompanyMutationAsync } = mutationToPromise(\n updateCompanyMutation,\n );\n\n const [internalCountryCode, setInternalCountryCode] = useState<string | null>(\n countryCode || null,\n );\n const [createdCompanyId, setCreatedCompanyId] = useState<string | null>(null);\n const fieldsMetaRef = useRef<{\n company_basic_information: Meta;\n address_details: Meta;\n }>({\n company_basic_information: {},\n address_details: {},\n });\n\n const {\n fieldValues,\n stepState,\n setFieldValues,\n previousStep,\n nextStep,\n goToStep,\n } = useStepState(\n STEPS as Record<keyof typeof STEPS, Step<keyof typeof STEPS>>,\n );\n\n const { companyBasicInformationForm, isLoading: isLoadingCountries } =\n useCountriesSchemaField({\n jsfModify: options?.jsfModify?.company_basic_information,\n queryOptions: {\n enabled: stepState.currentStep.name === 'company_basic_information',\n },\n });\n\n const { data: addressDetailsForm, isLoading: isLoadingAddressDetails } =\n useAddressDetailsSchema({\n countryCode: internalCountryCode,\n fieldValues:\n stepState.currentStep.name === 'address_details'\n ? {\n ...(stepState.values?.address_details || {}),\n ...fieldValues,\n }\n : stepState.values?.address_details || {},\n options: {\n ...options,\n jsfModify: options?.jsfModify?.address_details,\n queryOptions: {\n enabled:\n stepState.currentStep.name === 'address_details' &&\n !!internalCountryCode &&\n !!createdCompanyId,\n },\n },\n });\n\n const stepFields: Record<keyof typeof STEPS, JSFFields> = useMemo(\n () => ({\n company_basic_information: companyBasicInformationForm?.fields || [],\n address_details: addressDetailsForm?.fields || [],\n }),\n [companyBasicInformationForm?.fields, addressDetailsForm?.fields],\n );\n\n const stepFieldsWithFlatFieldsets: Record<\n keyof typeof STEPS,\n JSFFieldset | null | undefined\n > = {\n company_basic_information: null,\n address_details: addressDetailsForm?.meta?.['x-jsf-fieldsets'] || null,\n };\n\n const companyBasicInformationInitialValues = useMemo(\n () =>\n getInitialValues(stepFields.company_basic_information, {\n ...createCompanyInitialValues,\n country_code:\n internalCountryCode || createCompanyInitialValues?.country_code || '',\n }),\n [\n stepFields.company_basic_information,\n internalCountryCode,\n createCompanyInitialValues,\n ],\n );\n\n const addressDetailsInitialValues = useMemo(\n () =>\n getInitialValues(\n stepFields.address_details,\n createCompanyInitialValues || {},\n ),\n [stepFields.address_details, createCompanyInitialValues],\n );\n\n const initialValues = useMemo(() => {\n return {\n company_basic_information: companyBasicInformationInitialValues,\n address_details: addressDetailsInitialValues,\n };\n }, [companyBasicInformationInitialValues, addressDetailsInitialValues]);\n\n const goTo = (step: keyof typeof STEPS) => {\n goToStep(step);\n };\n\n const parseFormValues = async (values: FieldValues) => {\n const currentStepName = stepState.currentStep.name;\n const currentStepFields = stepFields[currentStepName];\n\n if (\n companyBasicInformationForm &&\n currentStepName === 'company_basic_information'\n ) {\n return await parseJSFToValidate(values, currentStepFields, {\n isPartialValidation: false,\n });\n }\n if (addressDetailsForm && currentStepName === 'address_details') {\n return await parseJSFToValidate(values, currentStepFields, {\n isPartialValidation: false,\n });\n }\n return {};\n };\n\n async function onSubmit(values: FieldValues) {\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 const parsedValues = await parseFormValues(values);\n switch (stepState.currentStep.name) {\n case 'company_basic_information': {\n setInternalCountryCode(parsedValues.country_code);\n\n // If company already exists, skip creation and return current form values\n if (createdCompanyId) {\n return Promise.resolve({\n data: {\n countryCode: parsedValues.country_code ?? '',\n companyOwnerEmail: parsedValues.company_owner_email ?? '',\n companyOwnerName: parsedValues.company_owner_name ?? '',\n desiredCurrency: parsedValues.desired_currency ?? '',\n name: parsedValues.name ?? '',\n phoneNumber: parsedValues.phone_number ?? '',\n taxNumber: parsedValues.tax_number ?? '',\n },\n });\n }\n\n const payload: CreateCompanyParams = {\n country_code: parsedValues.country_code,\n company_owner_email: parsedValues.company_owner_email,\n company_owner_name: parsedValues.company_owner_name,\n desired_currency: parsedValues.desired_currency,\n name: parsedValues.name,\n phone_number: parsedValues.phone_number,\n tax_number: parsedValues.tax_number,\n terms_of_service_accepted_at: nowUtcFormatted(),\n };\n\n const response = await createCompanyMutationAsync(payload);\n\n // Check for errors from the mutation\n if (response.error) {\n return Promise.resolve({\n data: null,\n error: response.error,\n rawError: response.rawError,\n fieldErrors: response.fieldErrors,\n });\n }\n\n // Handle both CompanyResponse and CompanyWithTokensResponse structures\n // CompanyResponse: { data: { company?: Company } }\n // CompanyWithTokensResponse: { company?: Company; tokens?: OAuth2Tokens }\n const responseData = response.data?.data;\n let companyId: string | undefined;\n let company:\n | {\n country_code?: string;\n company_owner_email?: string;\n company_owner_name?: string;\n desired_currency?: string;\n name?: string;\n phone_number?: string;\n tax_number?: string;\n }\n | undefined;\n if (responseData) {\n if ('data' in responseData && responseData.data) {\n // CompanyResponse structure: response.data.data.data.company\n const companyData = (responseData.data as { company?: unknown })\n .company;\n company = companyData as typeof company;\n companyId = (companyData as { id?: string })?.id;\n } else if ('company' in responseData) {\n // CompanyWithTokensResponse structure: response.data.data.company\n company = responseData.company as typeof company;\n companyId = (company as { id?: string })?.id;\n }\n }\n if (companyId) {\n setCreatedCompanyId(companyId);\n }\n // Map company fields from snake_case to camelCase to match CompanyBasicInfoSuccess\n // Fall back to parsedValues if company data is not available\n return Promise.resolve({\n data: {\n countryCode:\n company?.country_code ?? parsedValues.country_code ?? '',\n companyOwnerEmail:\n company?.company_owner_email ??\n parsedValues.company_owner_email ??\n '',\n companyOwnerName:\n company?.company_owner_name ??\n parsedValues.company_owner_name ??\n '',\n desiredCurrency:\n company?.desired_currency ?? parsedValues.desired_currency ?? '',\n name: company?.name ?? parsedValues.name ?? '',\n phoneNumber:\n company?.phone_number ?? parsedValues.phone_number ?? '',\n taxNumber: company?.tax_number ?? parsedValues.tax_number ?? '',\n },\n });\n }\n\n case 'address_details': {\n if (!createdCompanyId) {\n throw createStructuredError(\n 'Company ID is required to update address details',\n );\n }\n const payload: UpdateCompanyParams = {\n address_details: parsedValues,\n };\n\n const response = await updateCompanyMutationAsync({\n companyId: createdCompanyId,\n payload,\n jsonSchemaVersion:\n options?.jsonSchemaVersion?.form_schema?.address_details,\n });\n\n // Check for errors from the mutation\n if (response.error) {\n return Promise.resolve({\n data: null,\n error: response.error,\n rawError: response.rawError,\n fieldErrors: response.fieldErrors,\n });\n }\n\n return Promise.resolve({ data: response.data });\n }\n\n default: {\n throw createStructuredError('Invalid step state');\n }\n }\n }\n\n const isLoading = isLoadingCountries || isLoadingAddressDetails;\n\n return {\n /**\n * Loading state indicating if the flow is loading data\n */\n isLoading,\n\n /**\n * Loading state indicating if the company creation or update mutation is in progress\n */\n isSubmitting:\n createCompanyMutation.isPending || updateCompanyMutation.isPending,\n\n /**\n * Current state of the form fields for the current step.\n */\n fieldValues,\n\n /**\n * Current step state containing the current step and total number of steps\n */\n stepState,\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 handle going back to the previous step\n * @returns {void}\n */\n back: previousStep,\n\n /**\n * Function to handle going to the next step\n * @returns {void}\n */\n next: nextStep,\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: goTo,\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 * Array of form fields from the onboarding schema\n */\n fields: stepFields[stepState.currentStep.name],\n\n /**\n * Fields metadata for each step\n */\n meta: {\n // WE NEED TO FIX: react-hooks/refs - Cannot access ref value during render\n // eslint-disable-next-line react-hooks/refs\n fields: fieldsMetaRef.current,\n fieldsets: stepFieldsWithFlatFieldsets[stepState.currentStep.name],\n },\n\n /**\n * Function to parse form values before submission\n * @param values - Form values to parse\n * @returns Parsed form values\n */\n parseFormValues,\n\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 (\n stepState.currentStep.name === 'company_basic_information' &&\n companyBasicInformationForm\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n companyBasicInformationForm.fields,\n { isPartialValidation: false },\n );\n return companyBasicInformationForm.handleValidation(parsedValues);\n }\n if (\n stepState.currentStep.name === 'address_details' &&\n addressDetailsForm\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n addressDetailsForm.fields,\n { isPartialValidation: false },\n );\n return addressDetailsForm.handleValidation(parsedValues);\n }\n\n return null;\n },\n\n /**\n * Initial form values\n */\n initialValues,\n };\n};\n"],"mappings":"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","names":["useMemo","useRef","useState","useCreateCompany","__name","countryCode","options","createCompanyInitialValues","createCompanyMutation","useCreateCompanyRequest","updateCompanyMutation","useUpdateCompanyRequest","createCompanyMutationAsync","mutationToPromise","updateCompanyMutationAsync","internalCountryCode","setInternalCountryCode","useState","createdCompanyId","setCreatedCompanyId","fieldsMetaRef","useRef","fieldValues","stepState","setFieldValues","previousStep","nextStep","goToStep","useStepState","STEPS","companyBasicInformationForm","isLoadingCountries","useCountriesSchemaField","addressDetailsForm","isLoadingAddressDetails","useAddressDetailsSchema","stepFields","useMemo","stepFieldsWithFlatFieldsets","companyBasicInformationInitialValues","getInitialValues","addressDetailsInitialValues","initialValues","goTo","step","parseFormValues","values","currentStepName","currentStepFields","parseJSFToValidate","onSubmit","prettifyFormValues","parsedValues","payload","nowUtcFormatted","response","responseData","companyId","company","companyData","createStructuredError"]}
@@ -1,2 +0,0 @@
1
- import{a as i}from"./chunk-LMYJ6V44.js";import{a as o}from"./chunk-TC7EQZJK.js";import{a as m}from"./chunk-NX7MM6XR.js";import{a as e}from"./chunk-ZXGAFQXW.js";var p={employee_communication:o,termination_details:e,paid_time_off:m,additional_information:i};export{p as a};
2
- //# sourceMappingURL=chunk-DN6BXTAC.js.map
@@ -1,2 +0,0 @@
1
- import{a as z}from"./chunk-AP56UUME.js";import{a as H}from"./chunk-IJCTN52C.js";import{e as E}from"./chunk-AHRG5QCS.js";import{a as P,b as Y,c as X,d as _,f as q}from"./chunk-PX5PE6GX.js";import{a as W}from"./chunk-WVJDCDGZ.js";import{a as B}from"./chunk-MKUSE7JK.js";import{a as b}from"./chunk-67Y7FHJL.js";import{d as x}from"./chunk-JVGGWBFZ.js";import{$,B as v,G as U,O as J,R as K,T as j,V as A,W as G,X as V,Y as k,aa as N,f as R,h as D,p as M,r as T,s as L,t as Q}from"./chunk-TNQKP2XT.js";import{a as O,i as w}from"./chunk-B6INIXRK.js";import{d as s}from"./chunk-KQPDXXG3.js";import{a as n}from"./chunk-P37U34EQ.js";import{useMemo as be}from"react";import{useMutation as f,useQuery as p}from"@tanstack/react-query";import{useMutation as de,useQuery as Z}from"@tanstack/react-query";var we=n(()=>{let{client:e}=s();return de({mutationFn:n(t=>j({client:e,body:t,headers:{Authorization:""}}),"mutationFn")})},"useUploadFile"),ee=n(e=>{let{client:t}=s();return Z({queryKey:["download-file",e],queryFn:n(async()=>{let o=await v({client:t,path:{id:e}});if(o.error)throw o.error;return o.data},"queryFn"),select:n(({data:o})=>o?.file,"select"),enabled:!!e})},"useDownloadFile"),te=n((e,t,o)=>{let{client:r}=s();return Z({queryKey:["employment-files",e],queryFn:n(async()=>{let i=await K({client:r,path:{employment_id:e},query:t});if(i.error)throw i.error;return i.data},"queryFn"),...o})},"useEmploymentFiles");import{useQuery as me}from"@tanstack/react-query";import{useQuery as pe}from"@tanstack/react-query";var ne=n(()=>{let{client:e}=s();return pe({queryKey:["identity"],queryFn:n(()=>G({client:e,headers:{Authorization:""}}),"queryFn"),select:n(t=>t.data?.data,"select")})},"useIdentity");function ye(e){return e!=null&&"company"in e}n(ye,"hasCompany");var oe=n((e={enabled:!0})=>{let{data:t}=ne(),o=ye(t)?t?.company?.id??"":"",{client:r}=s();return me({queryKey:["pricing-plans",o],queryFn:n(()=>R({client:r,path:{company_id:o}}),"queryFn"),select:n(i=>i.data?.data?.pricing_plans,"select"),enabled:!!e?.enabled&&!!o})},"useCompanyPricingPlans");var fe=n(({employmentId:e,options:t})=>{let{client:o}=s();return p({queryKey:["contractor-currencies",e],queryFn:n(async()=>Q({client:o,path:{employment_id:e},query:{restrict_to_guaranteed_pay_out_currencies:!1}}),"queryFn"),enabled:t?.queryOptions?.enabled,select:n(({data:r})=>r?.data,"select")})},"useContractorCurrencies"),bt=n(({fieldValues:e,options:t})=>p({queryKey:["contract-document-signature",e.review_completed,t?.jsfModify],queryFn:n(async()=>b(H,e,{jsfModify:t?.jsfModify}),"queryFn"),enabled:t?.queryOptions?.enabled}),"useGetContractDocumentSignatureSchema"),ft=n(()=>{let{client:e}=s();return f({mutationFn:n(async({employmentId:t,contractDocumentId:o,payload:r})=>A({client:e,body:r,path:{employment_id:t,contract_document_id:o}}),"mutationFn")})},"useSignContractDocument"),Ce=n(({employmentId:e,contractDocumentId:t,options:o})=>{let{client:r}=s();return p({queryKey:["contract-document",e,t],queryFn:n(async()=>T({client:r,path:{employment_id:e,id:t}}),"queryFn"),enabled:o?.queryOptions?.enabled,select:n(({data:i})=>({...i?.data,contract_document:{...i?.data?.contract_document,content:w(i?.data?.contract_document?.content)}}),"select")})},"useGetShowContractDocument"),Ct=n(({employmentId:e,contractDocumentId:t,options:o})=>{let{data:r}=Ce({employmentId:e,contractDocumentId:t,options:{queryOptions:{enabled:o?.queryOptions?.enabled}}});return{hasCompanySignedContract:r?.contract_document?.signatories?.some(a=>a.type==="company"&&a.status==="signed")}},"useHasCompanySignedContract"),ge=n(({employmentId:e,options:t})=>{let{client:o}=s();return p({queryKey:["contractor-subscriptions",e],queryFn:n(async()=>M({client:o,path:{employment_id:e}}),"queryFn"),enabled:t?.queryOptions?.enabled,select:n(({data:r})=>r?.data,"select")})},"useGetContractorSubscriptions"),gt=n(()=>{let{client:e}=s();return f({mutationFn:n(async({employmentId:t,payload:o})=>k({client:e,body:o,path:{employment_id:t}}),"mutationFn")})},"usePostManageContractorSubscriptions"),Ft=n(()=>{let{client:e}=s();return f({mutationFn:n(async({employmentId:t,payload:o})=>J({client:e,body:o,path:{employment_id:t}}),"mutationFn")})},"useCreateContractorContractDocument"),Fe=n(({countryCode:e,employmentId:t,fieldValues:o,options:r})=>{let{client:i}=s();return p({queryKey:["contractor-onboarding-details-schema",e,t],retry:!1,queryFn:n(async()=>D({client:i,path:{country_code:e},query:{json_schema_version:1,employment_id:t}}),"queryFn"),enabled:r?.queryOptions?.enabled,select:n(({data:a})=>{let c=a?.data?.schema||{};return b(c,o,r)},"select")})},"useContractorOnboardingDetailsSchema"),Se={[P]:"Contractor Management",[Y]:"Contractor Management Plus",[X]:"Contractor of Record"},he=n(e=>{let{data:t,isLoading:o}=oe({enabled:e?.enabled}),r=t?.find(a=>a.product.name==="EOR Monthly");return{eorSubscription:{product:{identifier:_,short_name:"EOR"},currency:r?.price.currency,price:{amount:x(r?.price.amount??0)},features:["Contract between Remote and employee","Remote manages onboarding, payroll, and compliance","Manages taxes, benefits, and time-off tracking","Handles contracts, transfers, and terminations"],description:"Enables hiring in countries without a local entity",label:"Employer of Record",value:_},isLoading:o}},"useEorSubscription"),_e=n((e,t,o)=>(E(_,o)&&e.push({label:t.label,value:t.value,description:t.description,meta:{features:t.features,price:{amount:t.price.amount,currencyCode:t.currency?.code??""}},disabled:!1}),e),"addEorToFieldOptions"),St=n((e,t,o)=>{let{data:r,isLoading:i,refetch:a}=ge({employmentId:e,options:{queryOptions:o?.queryOptions}}),c=r?.length===0,l=r?.length===1,u=r?.find(S=>S.product.short_name==="COR")?.eligibility_questionnaire?.is_blocking,d=(l||u===!0||c)&&t?.eor_onboarding,{eorSubscription:C,isLoading:re}=he({enabled:d}),I=b(z.data.schema,{},o);if(r){let S=I.fields.find(h=>h.name==="subscription");if(S){let h=r.filter(m=>E(m.product.identifier??"",o?.excludeProducts)).map(m=>{let y=m.product,ie=m.price.amount,ae=m.currency.code,se=Se[y.identifier]??"",ce=y.identifier??"",ue=y.description??"",le={features:y.features??[],price:{amount:x(ie),currencyCode:ae}};return{label:se,value:ce,description:ue,meta:le,disabled:u&&y.identifier!==P}});h.sort((m,y)=>m.label.localeCompare(y.label));let g=[];d&&(_e(g,C,o?.excludeProducts),g.length>0&&(g[0].meta={...g[0].meta,groupSeparator:{show:!0}})),S.options=[...h,...g]}}return{isLoading:i||re,form:I,contractorSubscriptions:r,refetch:a,isEligibilityQuestionnaireBlocked:u}},"useContractorSubscriptionSchemaField"),ht=n((e,t,o)=>{let{mutateAsyncOrThrow:r}=O(t),{mutateAsyncOrThrow:i}=O(e);return{mutateAsync:n(async({employmentId:a})=>{let{nationality_status:c,ir35:l,ir35_sds_file:F}=o,u={contract_document:{ir_35:l}},d={contract_document:{nationality:c}};return l?(await i({employmentId:a,payload:u}),F?r({employment_id:a,file:F,sub_type:q}):Promise.resolve()):c?i({employmentId:a,payload:d}):Promise.resolve()},"mutateAsync")}},"useUpdateUKandSaudiFields"),_t=n((e,t)=>{let{data:o,isLoading:r}=te(e,{sub_type:q},{...t,select:n(({data:c})=>c?.files?.filter(l=>l.sub_type===q),"select")}),i=o?.[0]?.id,a=ee(i);return{...a,isLoading:r||a.isLoading}},"useGetIR35File"),qt=n((e,t)=>{let{client:o}=s();return p({queryKey:["contract-documents",e],queryFn:n(async()=>L({client:o,path:{employment_id:e}}),"queryFn"),enabled:t?.enabled,select:n(({data:r})=>r?.data?.contract_documents,"select")})},"useGetContractDocuments"),Ot=n(({options:e,fieldValues:t})=>{let{client:o}=s();return p({queryKey:["eligibility-questionnaire"],queryFn:n(async()=>{let r=await V({client:o,query:{type:"contractor_of_record",json_schema_version:1}});if(r.error)throw new Error("Failed to fetch eligibility questionnaire");return r.data.data},"queryFn"),select:n(r=>{let i=r?.schema||{};return b(i,t,{jsfModify:e?.jsfModify})},"select"),enabled:e?.queryOptions?.enabled})},"useGetEligibilityQuestionnaire"),xt=n(()=>{let{client:e}=s();return f({mutationFn:n(async({employmentId:t,payload:o})=>U({client:e,body:{employment_slug:t,responses:o,type:"contractor_of_record"},query:{json_schema_version:1}}),"mutationFn")})},"usePostCreateEligibilityQuestionnaire"),Pt=n(()=>{let{client:e}=s();return f({mutationFn:n(async({employmentId:t})=>N({client:e,path:{employment_id:t}}),"mutationFn")})},"usePostManageContractorCorSubscription"),Et=n(()=>{let{client:e}=s();return f({mutationFn:n(async({employmentId:t})=>$({client:e,path:{employment_id:t}}),"mutationFn")})},"useDeleteContractorCorSubscription"),It=n(e=>{let{client:t}=s(),{data:o,isLoading:r}=p({...B(t,"contractor-onboarding-countries"),select:n(a=>a.data?.data?.map(c=>({label:c.name,value:c.code,eor_onboarding:c.eor_onboarding,contractor_products_available:c.contractor_products_available}))||[],"select"),enabled:e?.queryOptions?.enabled}),i=b(W.data.schema,{},e);if(o){let a=i.fields.find(c=>c.name==="country");a&&(a.options=o)}return{isLoading:r,selectCountryForm:i,countries:o}},"useCountriesSchemaField"),wt=n(({countryCode:e,employmentId:t,fieldValues:o,options:r})=>{let i=Fe({countryCode:e,employmentId:t,fieldValues:o,options:r}),{data:a,isLoading:c}=fe({employmentId:t,options:{queryOptions:{enabled:r?.queryOptions?.enabled}}}),l=be(()=>!i.data||!a?i.data:{...i.data,fields:i.data.fields.map(u=>u.name!=="payment_terms"?u:{...u,fields:u.fields?.map(d=>d.name!=="compensation_currency_code"?d:{...d,options:a.map(C=>({label:C.code,value:C.code,meta:{source:C.source}}))})})},[i.data,a]);return{...i,data:l,isLoading:i.isLoading||c}},"useContractorOnboardingDetailsSchemaWithCurrencies");export{we as a,ne as b,ye as c,bt as d,ft as e,Ce as f,Ct as g,ge as h,gt as i,Ft as j,Se as k,St as l,ht as m,_t as n,qt as o,Ot as p,xt as q,Pt as r,Et as s,It as t,wt as u};
2
- //# sourceMappingURL=chunk-E6SUBDPV.js.map
@@ -1,2 +0,0 @@
1
- import{b as p}from"./chunk-KSHK3ZPX.js";import{a as F}from"./chunk-VIU4RZCS.js";import{h as C}from"./chunk-SJZP5XKE.js";import{b as f,j as E}from"./chunk-B6INIXRK.js";import{a as n}from"./chunk-P37U34EQ.js";import{useEffect as R}from"react";import{jsx as u}from"react/jsx-runtime";function T({onSubmit:S,onError:w,onSuccess:y,onErrorWithFields:c,shouldResetForm:d,resetFields:a}){let{form:e,formId:V,costCalculatorBag:o}=p(),{formState:{isSubmitSuccessful:s}}=e;R(()=>{if(s&&d){o?.resetForm(),e.reset();return}if(s&&a){let t={...e.getValues()};a.forEach(r=>{t[r]=""}),o?.resetForm(),e.reset(t)}},[s,e,d,o,a]);let b=n(async i=>{try{let t=await o?.parseFormValues(i);o?.meta?.fields&&(o.meta.fields=E(i,o.fields),o.meta.fields.employer_currency_slug=o.meta.fields.currency);let r=await o?.onSubmit(t);if(await S?.(t),r?.data&&!r.error){let l={data:{...r.data.data,employments:r.data.data.employments?.map(m=>({...m,title:t.estimation_title}))}};await y?.(l)}else throw{data:null,error:r?.error,fieldErrors:r?.fieldErrors,rawError:r?.rawError}}catch(t){let r=t,l=r.fieldErrors;if(c){let m=o?.meta?.fields,h=f(l,m);c({error:r.error,rawError:r.rawError,fieldErrors:h})}else w?.(r.error)}},"handleSubmit");return u(C,{...e,children:u("form",{id:V,onSubmit:e.handleSubmit(b),className:"space-y-4 RemoteFlows__CostCalculatorForm",children:u(F,{fields:o?.fields??[]})})})}n(T,"CostCalculatorForm");export{T as a};
2
- //# sourceMappingURL=chunk-INNJURYH.js.map