@remoteoss/remote-flows 1.30.0 → 1.31.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 (507) 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-URUZIOHG.js → chunk-2RWZ2XC5.js} +2 -2
  23. package/dist/chunk-2SS3UU6K.js +2 -0
  24. package/dist/chunk-2SS3UU6K.js.map +1 -0
  25. package/dist/{chunk-M3WPBPQU.js → chunk-2WOUKCSC.js} +2 -2
  26. package/dist/{chunk-UMGX2LKV.js → chunk-3EUYWSSZ.js} +2 -2
  27. package/dist/{chunk-BHL3ZNXK.js → chunk-3JPDFNNH.js} +2 -2
  28. package/dist/{chunk-TX57E46D.js → chunk-3OU6XE7X.js} +2 -2
  29. package/dist/{chunk-CRYLYVA7.js → chunk-3SIHU3EE.js} +2 -2
  30. package/dist/{chunk-2OAQQ6X6.js → chunk-3ZGDRCSS.js} +2 -2
  31. package/dist/{chunk-FSIFDXBB.js → chunk-45RIDSO6.js} +2 -2
  32. package/dist/{chunk-KV4L464D.js → chunk-4AW3FP2P.js} +2 -2
  33. package/dist/{chunk-T4EHHK6N.js → chunk-4YCBOVSQ.js} +2 -2
  34. package/dist/{chunk-FS3GSYSK.js → chunk-5FHDUZCG.js} +2 -2
  35. package/dist/chunk-5JGA7DRL.js +2 -0
  36. package/dist/{chunk-XHWPTKEN.js.map → chunk-5JGA7DRL.js.map} +1 -1
  37. package/dist/{chunk-YUYGNU5Q.js → chunk-5QRYKH3H.js} +2 -2
  38. package/dist/{chunk-GSKP7EBL.js → chunk-6C4DCKHS.js} +2 -2
  39. package/dist/{chunk-YNA73ERB.js → chunk-6S66UQ2X.js} +2 -2
  40. package/dist/{chunk-ZD6ZY65J.js → chunk-7GDMMNJT.js} +2 -2
  41. package/dist/{chunk-A2I7OWOH.js → chunk-ACM63WPM.js} +2 -2
  42. package/dist/{chunk-3RVAEFEH.js → chunk-AGKLWKYY.js} +2 -2
  43. package/dist/chunk-AUIHRJIX.js +2 -0
  44. package/dist/{chunk-AMXFLUWP.js.map → chunk-AUIHRJIX.js.map} +1 -1
  45. package/dist/{chunk-VIU4RZCS.js → chunk-AVVDKCFO.js} +2 -2
  46. package/dist/{chunk-2VMGSRVH.js → chunk-AWQU5AAN.js} +2 -2
  47. package/dist/{chunk-KXARTTYT.js → chunk-AYYYRHO3.js} +2 -2
  48. package/dist/{chunk-P3QDMRCC.js → chunk-B6YWTMGV.js} +2 -2
  49. package/dist/{chunk-KRJETP7I.js → chunk-B7BJXPGT.js} +2 -2
  50. package/dist/chunk-B7YD67K7.js +2 -0
  51. package/dist/chunk-B7YD67K7.js.map +1 -0
  52. package/dist/{chunk-NVFEQTH5.js → chunk-BCCIFJSO.js} +2 -2
  53. package/dist/chunk-BZ232WZD.js +2 -0
  54. package/dist/{chunk-U2H4CADS.js.map → chunk-BZ232WZD.js.map} +1 -1
  55. package/dist/{chunk-L5TQSATQ.js → chunk-C4UUGOR3.js} +2 -2
  56. package/dist/{chunk-NVIYSQZT.js → chunk-C6UF7BPK.js} +2 -2
  57. package/dist/{chunk-ATLMZEFM.js → chunk-CNMNJMOT.js} +2 -2
  58. package/dist/{chunk-VAWEOFUO.js → chunk-CW7CHRMN.js} +2 -2
  59. package/dist/chunk-CZPJWO2R.js +2 -0
  60. package/dist/{chunk-62SF33UR.js.map → chunk-CZPJWO2R.js.map} +1 -1
  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-2K6FAKY5.js → chunk-EU7WVCHQ.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-ZHF32IXI.js → chunk-G6R56RS2.js} +2 -2
  72. package/dist/{chunk-XUK2XG3P.js → chunk-GUO7UC4X.js} +2 -2
  73. package/dist/{chunk-IL4QL35N.js → chunk-GVPB75PC.js} +2 -2
  74. package/dist/chunk-H2O4CVKF.js +2 -0
  75. package/dist/chunk-H2O4CVKF.js.map +1 -0
  76. package/dist/{chunk-TCN4HBUZ.js → chunk-H4S6LSDA.js} +2 -2
  77. package/dist/{chunk-U6LRMWRI.js → chunk-H66IKMI4.js} +2 -2
  78. package/dist/{chunk-WVQH6TZ3.js → chunk-H6Q7QK3C.js} +2 -2
  79. package/dist/{chunk-RTGRILSN.js → chunk-HVI5GHIV.js} +2 -2
  80. package/dist/{chunk-CWTGZ65B.js → chunk-HZ2BCB3U.js} +2 -2
  81. package/dist/{chunk-2CPRCACO.js → chunk-IBUAH6HC.js} +2 -2
  82. package/dist/{chunk-W5YVKNRC.js → chunk-ICOGJLAL.js} +2 -2
  83. package/dist/{chunk-B7SGUAGH.js → chunk-ID66NML3.js} +2 -2
  84. package/dist/{chunk-QPN6X6UA.js → chunk-IFIJ7OVJ.js} +2 -2
  85. package/dist/{chunk-S2S2U5DM.js → chunk-IRLOG7MR.js} +2 -2
  86. package/dist/{chunk-ZLIWNVE5.js → chunk-J2QQLYVY.js} +2 -2
  87. package/dist/{chunk-R7LMREDN.js → chunk-JLUYUNSV.js} +2 -2
  88. package/dist/{chunk-NBVZJNYD.js → chunk-JX2ZVRE7.js} +2 -2
  89. package/dist/{chunk-FWNLALPP.js → chunk-K5TZIA6W.js} +2 -2
  90. package/dist/{chunk-FAJKPU7Z.js → chunk-KNIZVHFU.js} +2 -2
  91. package/dist/{chunk-DPVXSN7T.js → chunk-KVUKJU5U.js} +2 -2
  92. package/dist/{chunk-LBGEZ4EI.js → chunk-KWBTUWWQ.js} +2 -2
  93. package/dist/chunk-L4Q4ZT4L.js +2 -0
  94. package/dist/{chunk-4Z3EMHTE.js.map → chunk-L4Q4ZT4L.js.map} +1 -1
  95. package/dist/{chunk-LFSTBZUZ.js → chunk-L57LWMNE.js} +2 -2
  96. package/dist/{chunk-F53HVGYB.js → chunk-LG5NFDID.js} +2 -2
  97. package/dist/chunk-LVWRZFEL.js +2 -0
  98. package/dist/chunk-LVWRZFEL.js.map +1 -0
  99. package/dist/{chunk-RTZVAPMC.js → chunk-LWQLNGOH.js} +2 -2
  100. package/dist/{chunk-P7RD6IVL.js → chunk-LXEFKJ4K.js} +2 -2
  101. package/dist/{chunk-NDEFEREU.js → chunk-MGPUZ7NZ.js} +2 -2
  102. package/dist/{chunk-WWP6HXJC.js → chunk-MHQ5ZW5P.js} +2 -2
  103. package/dist/{chunk-G262RA6W.js → chunk-N5XWRUYE.js} +2 -2
  104. package/dist/{chunk-763JSZ5D.js → chunk-N6OHWIQ4.js} +2 -2
  105. package/dist/{chunk-763JSZ5D.js.map → chunk-N6OHWIQ4.js.map} +1 -1
  106. package/dist/{chunk-RSXEN3N2.js → chunk-NDZIQGDE.js} +2 -2
  107. package/dist/{chunk-YJI7RIP6.js → chunk-NRNLLJCB.js} +2 -2
  108. package/dist/{chunk-4WSJ2A6Q.js → chunk-OL5C4QEH.js} +2 -2
  109. package/dist/{chunk-4TJAJZ67.js → chunk-OMLHAQQX.js} +2 -2
  110. package/dist/{chunk-3SXFXI3O.js → chunk-OPM4YQGQ.js} +2 -2
  111. package/dist/{chunk-LDYA3D2Q.js → chunk-OTNGKS3S.js} +2 -2
  112. package/dist/{chunk-DVR5OR5J.js → chunk-OV3MNQPL.js} +2 -2
  113. package/dist/{chunk-67Y7FHJL.js → chunk-OVJTJFYF.js} +2 -2
  114. package/dist/{chunk-2I7VHYTP.js → chunk-PBWF2VXG.js} +2 -2
  115. package/dist/chunk-PFQTTYVH.js +2 -0
  116. package/dist/{chunk-34K6BCJD.js.map → chunk-PFQTTYVH.js.map} +1 -1
  117. package/dist/{chunk-O6OLGKA6.js → chunk-PPJUUGKP.js} +2 -2
  118. package/dist/{chunk-OKLZQ5MG.js → chunk-PR6I3UYE.js} +2 -2
  119. package/dist/{chunk-V3FMENNN.js → chunk-QC2FAORS.js} +2 -2
  120. package/dist/chunk-QTLMJODK.js +2 -0
  121. package/dist/{chunk-E6SUBDPV.js.map → chunk-QTLMJODK.js.map} +1 -1
  122. package/dist/{chunk-YIMWF5GR.js → chunk-QXW2MAFG.js} +2 -2
  123. package/dist/{chunk-DPVXTQAB.js → chunk-QYNWADPG.js} +2 -2
  124. package/dist/{chunk-UJSDXZVG.js → chunk-RIGP2BKY.js} +2 -2
  125. package/dist/{chunk-CQDQM2IX.js → chunk-RWXZG4KO.js} +2 -2
  126. package/dist/{chunk-XEJ4XS2N.js → chunk-RXSGIEA5.js} +2 -2
  127. package/dist/chunk-RZCU2MT3.js +2 -0
  128. package/dist/chunk-RZCU2MT3.js.map +1 -0
  129. package/dist/{chunk-55DI7KZU.js → chunk-SGQ7FXWO.js} +2 -2
  130. package/dist/{chunk-MJQUJZCD.js → chunk-SLEK47CR.js} +2 -2
  131. package/dist/{chunk-N33KFFOU.js → chunk-SNWJIIF7.js} +2 -2
  132. package/dist/{chunk-D5AR26AI.js → chunk-SWCZJY6I.js} +2 -2
  133. package/dist/{chunk-EIENNK3Y.js → chunk-SYXJTCKS.js} +2 -2
  134. package/dist/{chunk-EBMRVQLR.js → chunk-T5HMFMXH.js} +2 -2
  135. package/dist/{chunk-RD7GZHE5.js → chunk-TVF4JOK2.js} +2 -2
  136. package/dist/chunk-U5T77DSF.js +2 -0
  137. package/dist/chunk-U5T77DSF.js.map +1 -0
  138. package/dist/{chunk-MEG74D4V.js → chunk-UB5ZMTTU.js} +2 -2
  139. package/dist/{chunk-3AN3QVZK.js → chunk-UQ3H4S26.js} +2 -2
  140. package/dist/{chunk-VQHFF2HH.js → chunk-V67RONRN.js} +2 -2
  141. package/dist/{chunk-5YEAR75O.js → chunk-VCM32VB3.js} +2 -2
  142. package/dist/{chunk-D2SLABJB.js → chunk-WJ64Q54L.js} +2 -2
  143. package/dist/{chunk-Q3RQX6S5.js → chunk-WUQZCGWG.js} +2 -2
  144. package/dist/chunk-WUSKSXW2.js +2 -0
  145. package/dist/chunk-WUSKSXW2.js.map +1 -0
  146. package/dist/{chunk-2KQAMX75.js → chunk-WZHTDLX6.js} +2 -2
  147. package/dist/{chunk-RHVD4JYN.js → chunk-X66NETZL.js} +2 -2
  148. package/dist/{chunk-AJKWG25T.js → chunk-XELPL3XO.js} +2 -2
  149. package/dist/chunk-XG6ASTX5.js +2 -0
  150. package/dist/{chunk-SJZP5XKE.js.map → chunk-XG6ASTX5.js.map} +1 -1
  151. package/dist/{chunk-YTLAH5QM.js → chunk-YMOAWXSE.js} +2 -2
  152. package/dist/{chunk-WR5DSTKP.js → chunk-YUNA3QKT.js} +2 -2
  153. package/dist/{chunk-OUSZOJE4.js → chunk-ZANINDSC.js} +2 -2
  154. package/dist/{chunk-3H7ADMNB.js → chunk-ZHDES3J6.js} +2 -2
  155. package/dist/chunk-ZQNYASQ3.js +2 -0
  156. package/dist/chunk-ZQNYASQ3.js.map +1 -0
  157. package/dist/{chunk-QAGHZZ27.js → chunk-ZSMILHO4.js} +2 -2
  158. package/dist/{chunk-4KBRADTN.js → chunk-ZWH34WQJ.js} +2 -2
  159. package/dist/{chunk-VREHPEMW.js → chunk-ZYN3TAUB.js} +2 -2
  160. package/dist/default-components.d.ts +2 -2
  161. package/dist/default-components.js +1 -1
  162. package/dist/flows/ContractAmendment/ContractAmendmentBack.js +1 -1
  163. package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.d.ts +1 -1
  164. package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.js +1 -1
  165. package/dist/flows/ContractAmendment/ContractAmendmentFlow.d.ts +3 -3
  166. package/dist/flows/ContractAmendment/ContractAmendmentFlow.js +1 -1
  167. package/dist/flows/ContractAmendment/ContractAmendmentForm.d.ts +1 -1
  168. package/dist/flows/ContractAmendment/ContractAmendmentForm.js +1 -1
  169. package/dist/flows/ContractAmendment/ContractAmendmentSubmit.js +1 -1
  170. package/dist/flows/ContractAmendment/context.d.ts +3 -3
  171. package/dist/flows/ContractAmendment/hooks.d.ts +3 -3
  172. package/dist/flows/ContractAmendment/hooks.js +1 -1
  173. package/dist/flows/ContractAmendment/index.d.ts +3 -3
  174. package/dist/flows/ContractAmendment/index.js +1 -1
  175. package/dist/flows/ContractAmendment/types.d.ts +2 -2
  176. package/dist/flows/ContractAmendment/utils.d.ts +2 -2
  177. package/dist/flows/ContractAmendment/utils.js +1 -1
  178. package/dist/flows/ContractorOnboarding/ContractorOnboarding.d.ts +5 -5
  179. package/dist/flows/ContractorOnboarding/ContractorOnboarding.js +1 -1
  180. package/dist/flows/ContractorOnboarding/api.d.ts +2 -2
  181. package/dist/flows/ContractorOnboarding/api.js +1 -1
  182. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.d.ts +4 -4
  183. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.js +1 -1
  184. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.d.ts +5 -5
  185. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.js +1 -1
  186. package/dist/flows/ContractorOnboarding/components/ContractPreviewHeader.d.ts +2 -2
  187. package/dist/flows/ContractorOnboarding/components/ContractPreviewStatement.d.ts +2 -2
  188. package/dist/flows/ContractorOnboarding/components/ContractPreviewStatement.js +1 -1
  189. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.d.ts +5 -5
  190. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.js +1 -1
  191. package/dist/flows/ContractorOnboarding/components/ContractReviewButton.js +1 -1
  192. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.d.ts +5 -5
  193. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.js +1 -1
  194. package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.d.ts +5 -5
  195. package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.js +1 -1
  196. package/dist/flows/ContractorOnboarding/components/OnboardingBack.js +1 -1
  197. package/dist/flows/ContractorOnboarding/components/OnboardingInvite.d.ts +3 -3
  198. package/dist/flows/ContractorOnboarding/components/OnboardingInvite.js +1 -1
  199. package/dist/flows/ContractorOnboarding/components/OnboardingSubmit.js +1 -1
  200. package/dist/flows/ContractorOnboarding/components/PricingPlan.d.ts +5 -5
  201. package/dist/flows/ContractorOnboarding/components/PricingPlan.js +1 -1
  202. package/dist/flows/ContractorOnboarding/components/SaveDraftButton.d.ts +3 -3
  203. package/dist/flows/ContractorOnboarding/components/SaveDraftButton.js +1 -1
  204. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.d.ts +4 -4
  205. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.js +1 -1
  206. package/dist/flows/ContractorOnboarding/components/StatementOfWorkDisclaimer.js +1 -1
  207. package/dist/flows/ContractorOnboarding/context.d.ts +5 -5
  208. package/dist/flows/ContractorOnboarding/hooks.d.ts +5 -5
  209. package/dist/flows/ContractorOnboarding/hooks.js +1 -1
  210. package/dist/flows/ContractorOnboarding/index.d.ts +5 -5
  211. package/dist/flows/ContractorOnboarding/index.js +1 -1
  212. package/dist/flows/ContractorOnboarding/jsfModify.d.ts +5 -5
  213. package/dist/flows/ContractorOnboarding/jsfModify.js +1 -1
  214. package/dist/flows/ContractorOnboarding/types.d.ts +5 -5
  215. package/dist/flows/ContractorOnboarding/utils.d.ts +4 -4
  216. package/dist/flows/CostCalculator/CostCalculatorFlow.d.ts +3 -3
  217. package/dist/flows/CostCalculator/CostCalculatorFlow.js +1 -1
  218. package/dist/flows/CostCalculator/CostCalculatorForm.d.ts +3 -3
  219. package/dist/flows/CostCalculator/CostCalculatorForm.js +1 -1
  220. package/dist/flows/CostCalculator/CostCalculatorResetButton.js +1 -1
  221. package/dist/flows/CostCalculator/CostCalculatorSubmitButton.js +1 -1
  222. package/dist/flows/CostCalculator/EstimationResults/EstimationResults.d.ts +2 -2
  223. package/dist/flows/CostCalculator/EstimationResults/EstimationResults.js +1 -1
  224. package/dist/flows/CostCalculator/SummaryResults/SummaryResults.d.ts +2 -2
  225. package/dist/flows/CostCalculator/SummaryResults/SummaryResults.js +1 -1
  226. package/dist/flows/CostCalculator/api.d.ts +2 -2
  227. package/dist/flows/CostCalculator/api.js +1 -1
  228. package/dist/flows/CostCalculator/components/SalaryField.d.ts +2 -2
  229. package/dist/flows/CostCalculator/components/SalaryField.js +1 -1
  230. package/dist/flows/CostCalculator/context.d.ts +3 -3
  231. package/dist/flows/CostCalculator/hooks.d.ts +3 -3
  232. package/dist/flows/CostCalculator/hooks.js +1 -1
  233. package/dist/flows/CostCalculator/index.d.ts +3 -3
  234. package/dist/flows/CostCalculator/index.js +1 -1
  235. package/dist/flows/CostCalculator/types.d.ts +2 -2
  236. package/dist/flows/CostCalculator/utils.d.ts +3 -3
  237. package/dist/flows/CostCalculator/utils.js +1 -1
  238. package/dist/flows/CreateCompany/CreateCompany.d.ts +4 -4
  239. package/dist/flows/CreateCompany/CreateCompany.js +1 -1
  240. package/dist/flows/CreateCompany/api.d.ts +2 -2
  241. package/dist/flows/CreateCompany/api.js +1 -1
  242. package/dist/flows/CreateCompany/components/AddressDetailsStep.d.ts +4 -4
  243. package/dist/flows/CreateCompany/components/AddressDetailsStep.js +1 -1
  244. package/dist/flows/CreateCompany/components/CompanyBasicInformationStep.d.ts +4 -4
  245. package/dist/flows/CreateCompany/components/CompanyBasicInformationStep.js +1 -1
  246. package/dist/flows/CreateCompany/components/CreateCompanyForm.d.ts +2 -2
  247. package/dist/flows/CreateCompany/components/CreateCompanyForm.js +1 -1
  248. package/dist/flows/CreateCompany/components/CreateCompanySubmit.js +1 -1
  249. package/dist/flows/CreateCompany/context.d.ts +4 -4
  250. package/dist/flows/CreateCompany/hooks.d.ts +4 -4
  251. package/dist/flows/CreateCompany/hooks.js +1 -1
  252. package/dist/flows/CreateCompany/index.d.ts +4 -4
  253. package/dist/flows/CreateCompany/index.js +1 -1
  254. package/dist/flows/CreateCompany/types.d.ts +4 -4
  255. package/dist/flows/Onboarding/OnboardingFlow.d.ts +4 -4
  256. package/dist/flows/Onboarding/OnboardingFlow.js +1 -1
  257. package/dist/flows/Onboarding/api.d.ts +4 -4
  258. package/dist/flows/Onboarding/api.js +1 -1
  259. package/dist/flows/Onboarding/components/AnnualGrossSalary.d.ts +2 -2
  260. package/dist/flows/Onboarding/components/AnnualGrossSalary.js +1 -1
  261. package/dist/flows/Onboarding/components/BasicInformationStep.d.ts +4 -4
  262. package/dist/flows/Onboarding/components/BasicInformationStep.js +1 -1
  263. package/dist/flows/Onboarding/components/BenefitsStep.d.ts +4 -4
  264. package/dist/flows/Onboarding/components/BenefitsStep.js +1 -1
  265. package/dist/flows/Onboarding/components/ContractDetailsStep.d.ts +4 -4
  266. package/dist/flows/Onboarding/components/ContractDetailsStep.js +1 -1
  267. package/dist/flows/Onboarding/components/EngagementAgreementDetailsStep.d.ts +4 -4
  268. package/dist/flows/Onboarding/components/EngagementAgreementDetailsStep.js +1 -1
  269. package/dist/flows/Onboarding/components/OnboardingBack.js +1 -1
  270. package/dist/flows/Onboarding/components/OnboardingForm.d.ts +4 -4
  271. package/dist/flows/Onboarding/components/OnboardingForm.js +1 -1
  272. package/dist/flows/Onboarding/components/OnboardingInvite.d.ts +3 -3
  273. package/dist/flows/Onboarding/components/OnboardingInvite.js +1 -1
  274. package/dist/flows/Onboarding/components/OnboardingSubmit.js +1 -1
  275. package/dist/flows/Onboarding/components/ReviewStep.d.ts +4 -4
  276. package/dist/flows/Onboarding/components/SaveDraftButton.d.ts +3 -3
  277. package/dist/flows/Onboarding/components/SaveDraftButton.js +1 -1
  278. package/dist/flows/Onboarding/components/SelectCountryStep.d.ts +4 -4
  279. package/dist/flows/Onboarding/components/SelectCountryStep.js +1 -1
  280. package/dist/flows/Onboarding/context.d.ts +4 -4
  281. package/dist/flows/Onboarding/hooks.d.ts +4 -4
  282. package/dist/flows/Onboarding/hooks.js +1 -1
  283. package/dist/flows/Onboarding/index.d.ts +4 -4
  284. package/dist/flows/Onboarding/index.js +1 -1
  285. package/dist/flows/Onboarding/types.d.ts +4 -4
  286. package/dist/flows/Onboarding/utils.d.ts +4 -4
  287. package/dist/flows/Termination/AdditionalDetailsForm.d.ts +4 -4
  288. package/dist/flows/Termination/AdditionalDetailsForm.js +1 -1
  289. package/dist/flows/Termination/EmployeeComunicationForm.d.ts +4 -4
  290. package/dist/flows/Termination/EmployeeComunicationForm.js +1 -1
  291. package/dist/flows/Termination/PaidTimeOffForm.d.ts +4 -4
  292. package/dist/flows/Termination/PaidTimeOffForm.js +1 -1
  293. package/dist/flows/Termination/TerminationBack.js +1 -1
  294. package/dist/flows/Termination/TerminationDetailsForm.d.ts +4 -4
  295. package/dist/flows/Termination/TerminationDetailsForm.js +1 -1
  296. package/dist/flows/Termination/TerminationFlow.d.ts +4 -4
  297. package/dist/flows/Termination/TerminationFlow.js +1 -1
  298. package/dist/flows/Termination/TerminationForm.d.ts +4 -4
  299. package/dist/flows/Termination/TerminationForm.js +1 -1
  300. package/dist/flows/Termination/TerminationSubmit.js +1 -1
  301. package/dist/flows/Termination/api.d.ts +5 -5
  302. package/dist/flows/Termination/api.js +1 -1
  303. package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformation.js +1 -1
  304. package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformationFees.js +1 -1
  305. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.d.ts +6 -6
  306. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.js +1 -1
  307. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.d.ts +6 -6
  308. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.js +1 -1
  309. package/dist/flows/Termination/components/PaidTimeOff/types.d.ts +6 -6
  310. package/dist/flows/Termination/components/TerminationDialogInfoContent/TerminationDialogInfoContent.js +1 -1
  311. package/dist/flows/Termination/components/TerminationReasonsDetailContent/TerminationReasonsDetailContent.js +1 -1
  312. package/dist/flows/Termination/context.d.ts +4 -4
  313. package/dist/flows/Termination/hooks.d.ts +4 -4
  314. package/dist/flows/Termination/hooks.js +1 -1
  315. package/dist/flows/Termination/index.d.ts +6 -6
  316. package/dist/flows/Termination/index.js +1 -1
  317. package/dist/flows/Termination/json-schemas/schema.d.ts +4 -4
  318. package/dist/flows/Termination/types.d.ts +4 -4
  319. package/dist/flows/Termination/utils.d.ts +4 -4
  320. package/dist/flows/Termination/utils.js +1 -1
  321. package/dist/flows/types.d.ts +2 -2
  322. package/dist/flows/utils.d.ts +2 -2
  323. package/dist/index.d.ts +11 -11
  324. package/dist/index.js +2 -2
  325. package/dist/index.js.map +1 -1
  326. package/dist/internals.d.ts +3 -3
  327. package/dist/internals.js +1 -1
  328. package/dist/{mutations-COYPoN6n.d.ts → mutations-Dy0AcOjz.d.ts} +1 -1
  329. package/dist/{remoteFlows-k63aIEJo.d.ts → remoteFlows-CnHcNfc4.d.ts} +6 -1
  330. package/dist/{types-CK4hqasF.d.ts → types-BCw6Enmi.d.ts} +3 -3
  331. package/dist/{types-Bxovqyqu.d.ts → types-BIjH8PeJ.d.ts} +4 -4
  332. package/dist/{types-2UtY1TYR.d.ts → types-BOg9OXFy.d.ts} +2 -2
  333. package/dist/{types-vmr842f0.d.ts → types-BTj_IIC_.d.ts} +3 -3
  334. package/dist/{types-BYkE0awa.d.ts → types-DWheQ1pi.d.ts} +1 -1
  335. package/dist/{types.gen-C0u24yUP.d.ts → types.gen-CDCDRemY.d.ts} +1 -1
  336. package/dist/{utils-SkXjfkNE.d.ts → utils-ythMeVS9.d.ts} +1 -1
  337. package/package.json +1 -1
  338. package/dist/ButtonDefault-CKQ2BJUS.js +0 -2
  339. package/dist/CheckboxFieldDefault-ITS5AJ7Q.js +0 -2
  340. package/dist/CountryFieldDefault-3TPRO5JM.js +0 -2
  341. package/dist/DatePickerFieldDefault-BJ3ZWIDN.js +0 -2
  342. package/dist/DrawerDefault-BI3CU3ER.js +0 -2
  343. package/dist/EmailFieldDefault-Y222V5HN.js +0 -2
  344. package/dist/FieldsetToggleButtonDefault-4U7BDT4X.js +0 -2
  345. package/dist/FileUploadFieldDefault-QUV4UQFI.js +0 -2
  346. package/dist/MultiSelectFieldDefault-2YHZ6LWQ.js +0 -2
  347. package/dist/NumberFieldDefault-EUASY7WK.js +0 -2
  348. package/dist/RadioGroupFieldDefault-FY4PGK2P.js +0 -2
  349. package/dist/SelectFieldDefault-DNETNXYW.js +0 -2
  350. package/dist/StatementDefault-6EBISV3S.js +0 -2
  351. package/dist/TableFieldDefault-RJLGSGJF.js +0 -2
  352. package/dist/TelFieldDefault-ORXQQGWG.js +0 -2
  353. package/dist/TextAreaFieldDefault-D5MTC4ZN.js +0 -2
  354. package/dist/TextFieldDefault-ZTP2X3NH.js +0 -2
  355. package/dist/WorkScheduleFieldDefault-J5L7GMZR.js +0 -2
  356. package/dist/ZendeskDrawerDefault-EDBRPDGO.js +0 -2
  357. package/dist/chunk-34K6BCJD.js +0 -2
  358. package/dist/chunk-4JIT6ICA.js +0 -2
  359. package/dist/chunk-4JIT6ICA.js.map +0 -1
  360. package/dist/chunk-4Z3EMHTE.js +0 -2
  361. package/dist/chunk-62SF33UR.js +0 -2
  362. package/dist/chunk-AMXFLUWP.js +0 -2
  363. package/dist/chunk-B6INIXRK.js +0 -2
  364. package/dist/chunk-B6INIXRK.js.map +0 -1
  365. package/dist/chunk-C2RPJGJB.js +0 -2
  366. package/dist/chunk-C2RPJGJB.js.map +0 -1
  367. package/dist/chunk-CRMSCL22.js +0 -2
  368. package/dist/chunk-CRMSCL22.js.map +0 -1
  369. package/dist/chunk-E6SUBDPV.js +0 -2
  370. package/dist/chunk-INNJURYH.js +0 -2
  371. package/dist/chunk-INNJURYH.js.map +0 -1
  372. package/dist/chunk-JVGGWBFZ.js +0 -2
  373. package/dist/chunk-JVGGWBFZ.js.map +0 -1
  374. package/dist/chunk-KQPDXXG3.js +0 -2
  375. package/dist/chunk-KQPDXXG3.js.map +0 -1
  376. package/dist/chunk-L6YEMU4A.js +0 -2
  377. package/dist/chunk-L6YEMU4A.js.map +0 -1
  378. package/dist/chunk-SJZP5XKE.js +0 -2
  379. package/dist/chunk-TQQ227SJ.js +0 -2
  380. package/dist/chunk-TQQ227SJ.js.map +0 -1
  381. package/dist/chunk-U2H4CADS.js +0 -2
  382. package/dist/chunk-XHWPTKEN.js +0 -2
  383. package/dist/chunk-Y7L6VZOT.js +0 -2
  384. package/dist/chunk-Y7L6VZOT.js.map +0 -1
  385. /package/dist/{ButtonDefault-CKQ2BJUS.js.map → ButtonDefault-OMZEWLEI.js.map} +0 -0
  386. /package/dist/{CheckboxFieldDefault-ITS5AJ7Q.js.map → CheckboxFieldDefault-AGW42RDY.js.map} +0 -0
  387. /package/dist/{CountryFieldDefault-3TPRO5JM.js.map → CountryFieldDefault-24T4C7OU.js.map} +0 -0
  388. /package/dist/{DatePickerFieldDefault-BJ3ZWIDN.js.map → DatePickerFieldDefault-BG4KM2EG.js.map} +0 -0
  389. /package/dist/{DrawerDefault-BI3CU3ER.js.map → DrawerDefault-64GMPAIH.js.map} +0 -0
  390. /package/dist/{EmailFieldDefault-Y222V5HN.js.map → EmailFieldDefault-UPDZNN2F.js.map} +0 -0
  391. /package/dist/{FieldsetToggleButtonDefault-4U7BDT4X.js.map → FieldsetToggleButtonDefault-BOYDY7VX.js.map} +0 -0
  392. /package/dist/{FileUploadFieldDefault-QUV4UQFI.js.map → FileUploadFieldDefault-KFTIOHEJ.js.map} +0 -0
  393. /package/dist/{MultiSelectFieldDefault-2YHZ6LWQ.js.map → MultiSelectFieldDefault-ALM76UQ5.js.map} +0 -0
  394. /package/dist/{NumberFieldDefault-EUASY7WK.js.map → NumberFieldDefault-OXSEX3HX.js.map} +0 -0
  395. /package/dist/{RadioGroupFieldDefault-FY4PGK2P.js.map → RadioGroupFieldDefault-55336PG5.js.map} +0 -0
  396. /package/dist/{SelectFieldDefault-DNETNXYW.js.map → SelectFieldDefault-ARANC6QX.js.map} +0 -0
  397. /package/dist/{StatementDefault-6EBISV3S.js.map → StatementDefault-BMPIWUGF.js.map} +0 -0
  398. /package/dist/{TableFieldDefault-RJLGSGJF.js.map → TableFieldDefault-2FLJU7TJ.js.map} +0 -0
  399. /package/dist/{TelFieldDefault-ORXQQGWG.js.map → TelFieldDefault-RFAYBPGK.js.map} +0 -0
  400. /package/dist/{TextAreaFieldDefault-D5MTC4ZN.js.map → TextAreaFieldDefault-3C6UZXHV.js.map} +0 -0
  401. /package/dist/{TextFieldDefault-ZTP2X3NH.js.map → TextFieldDefault-UQ23EIHH.js.map} +0 -0
  402. /package/dist/{WorkScheduleFieldDefault-J5L7GMZR.js.map → WorkScheduleFieldDefault-CGU2T6HY.js.map} +0 -0
  403. /package/dist/{ZendeskDrawerDefault-EDBRPDGO.js.map → ZendeskDrawerDefault-JEHYLRHU.js.map} +0 -0
  404. /package/dist/{chunk-DPV7SSFD.js.map → chunk-234SEE75.js.map} +0 -0
  405. /package/dist/{chunk-3TVAUVYZ.js.map → chunk-2A4DCZTX.js.map} +0 -0
  406. /package/dist/{chunk-URUZIOHG.js.map → chunk-2RWZ2XC5.js.map} +0 -0
  407. /package/dist/{chunk-M3WPBPQU.js.map → chunk-2WOUKCSC.js.map} +0 -0
  408. /package/dist/{chunk-UMGX2LKV.js.map → chunk-3EUYWSSZ.js.map} +0 -0
  409. /package/dist/{chunk-BHL3ZNXK.js.map → chunk-3JPDFNNH.js.map} +0 -0
  410. /package/dist/{chunk-TX57E46D.js.map → chunk-3OU6XE7X.js.map} +0 -0
  411. /package/dist/{chunk-CRYLYVA7.js.map → chunk-3SIHU3EE.js.map} +0 -0
  412. /package/dist/{chunk-2OAQQ6X6.js.map → chunk-3ZGDRCSS.js.map} +0 -0
  413. /package/dist/{chunk-FSIFDXBB.js.map → chunk-45RIDSO6.js.map} +0 -0
  414. /package/dist/{chunk-KV4L464D.js.map → chunk-4AW3FP2P.js.map} +0 -0
  415. /package/dist/{chunk-T4EHHK6N.js.map → chunk-4YCBOVSQ.js.map} +0 -0
  416. /package/dist/{chunk-FS3GSYSK.js.map → chunk-5FHDUZCG.js.map} +0 -0
  417. /package/dist/{chunk-YUYGNU5Q.js.map → chunk-5QRYKH3H.js.map} +0 -0
  418. /package/dist/{chunk-GSKP7EBL.js.map → chunk-6C4DCKHS.js.map} +0 -0
  419. /package/dist/{chunk-YNA73ERB.js.map → chunk-6S66UQ2X.js.map} +0 -0
  420. /package/dist/{chunk-ZD6ZY65J.js.map → chunk-7GDMMNJT.js.map} +0 -0
  421. /package/dist/{chunk-A2I7OWOH.js.map → chunk-ACM63WPM.js.map} +0 -0
  422. /package/dist/{chunk-3RVAEFEH.js.map → chunk-AGKLWKYY.js.map} +0 -0
  423. /package/dist/{chunk-VIU4RZCS.js.map → chunk-AVVDKCFO.js.map} +0 -0
  424. /package/dist/{chunk-2VMGSRVH.js.map → chunk-AWQU5AAN.js.map} +0 -0
  425. /package/dist/{chunk-KXARTTYT.js.map → chunk-AYYYRHO3.js.map} +0 -0
  426. /package/dist/{chunk-P3QDMRCC.js.map → chunk-B6YWTMGV.js.map} +0 -0
  427. /package/dist/{chunk-KRJETP7I.js.map → chunk-B7BJXPGT.js.map} +0 -0
  428. /package/dist/{chunk-NVFEQTH5.js.map → chunk-BCCIFJSO.js.map} +0 -0
  429. /package/dist/{chunk-L5TQSATQ.js.map → chunk-C4UUGOR3.js.map} +0 -0
  430. /package/dist/{chunk-NVIYSQZT.js.map → chunk-C6UF7BPK.js.map} +0 -0
  431. /package/dist/{chunk-ATLMZEFM.js.map → chunk-CNMNJMOT.js.map} +0 -0
  432. /package/dist/{chunk-VAWEOFUO.js.map → chunk-CW7CHRMN.js.map} +0 -0
  433. /package/dist/{chunk-WD5DNUSS.js.map → chunk-DB4JHJ3Z.js.map} +0 -0
  434. /package/dist/{chunk-HZ5JCCHD.js.map → chunk-DCPBAFIN.js.map} +0 -0
  435. /package/dist/{chunk-REYOVGEA.js.map → chunk-DIZ5Z4MN.js.map} +0 -0
  436. /package/dist/{chunk-2K6FAKY5.js.map → chunk-EU7WVCHQ.js.map} +0 -0
  437. /package/dist/{chunk-C6HC5QPL.js.map → chunk-F7PE3VRK.js.map} +0 -0
  438. /package/dist/{chunk-4HSSOSBE.js.map → chunk-FHW5CMN5.js.map} +0 -0
  439. /package/dist/{chunk-LOODLNPN.js.map → chunk-FKELI7OS.js.map} +0 -0
  440. /package/dist/{chunk-W7YC2IO2.js.map → chunk-G6F6ZZES.js.map} +0 -0
  441. /package/dist/{chunk-ZHF32IXI.js.map → chunk-G6R56RS2.js.map} +0 -0
  442. /package/dist/{chunk-XUK2XG3P.js.map → chunk-GUO7UC4X.js.map} +0 -0
  443. /package/dist/{chunk-IL4QL35N.js.map → chunk-GVPB75PC.js.map} +0 -0
  444. /package/dist/{chunk-TCN4HBUZ.js.map → chunk-H4S6LSDA.js.map} +0 -0
  445. /package/dist/{chunk-U6LRMWRI.js.map → chunk-H66IKMI4.js.map} +0 -0
  446. /package/dist/{chunk-WVQH6TZ3.js.map → chunk-H6Q7QK3C.js.map} +0 -0
  447. /package/dist/{chunk-RTGRILSN.js.map → chunk-HVI5GHIV.js.map} +0 -0
  448. /package/dist/{chunk-CWTGZ65B.js.map → chunk-HZ2BCB3U.js.map} +0 -0
  449. /package/dist/{chunk-2CPRCACO.js.map → chunk-IBUAH6HC.js.map} +0 -0
  450. /package/dist/{chunk-W5YVKNRC.js.map → chunk-ICOGJLAL.js.map} +0 -0
  451. /package/dist/{chunk-B7SGUAGH.js.map → chunk-ID66NML3.js.map} +0 -0
  452. /package/dist/{chunk-QPN6X6UA.js.map → chunk-IFIJ7OVJ.js.map} +0 -0
  453. /package/dist/{chunk-S2S2U5DM.js.map → chunk-IRLOG7MR.js.map} +0 -0
  454. /package/dist/{chunk-ZLIWNVE5.js.map → chunk-J2QQLYVY.js.map} +0 -0
  455. /package/dist/{chunk-R7LMREDN.js.map → chunk-JLUYUNSV.js.map} +0 -0
  456. /package/dist/{chunk-NBVZJNYD.js.map → chunk-JX2ZVRE7.js.map} +0 -0
  457. /package/dist/{chunk-FWNLALPP.js.map → chunk-K5TZIA6W.js.map} +0 -0
  458. /package/dist/{chunk-FAJKPU7Z.js.map → chunk-KNIZVHFU.js.map} +0 -0
  459. /package/dist/{chunk-DPVXSN7T.js.map → chunk-KVUKJU5U.js.map} +0 -0
  460. /package/dist/{chunk-LBGEZ4EI.js.map → chunk-KWBTUWWQ.js.map} +0 -0
  461. /package/dist/{chunk-LFSTBZUZ.js.map → chunk-L57LWMNE.js.map} +0 -0
  462. /package/dist/{chunk-F53HVGYB.js.map → chunk-LG5NFDID.js.map} +0 -0
  463. /package/dist/{chunk-RTZVAPMC.js.map → chunk-LWQLNGOH.js.map} +0 -0
  464. /package/dist/{chunk-P7RD6IVL.js.map → chunk-LXEFKJ4K.js.map} +0 -0
  465. /package/dist/{chunk-NDEFEREU.js.map → chunk-MGPUZ7NZ.js.map} +0 -0
  466. /package/dist/{chunk-WWP6HXJC.js.map → chunk-MHQ5ZW5P.js.map} +0 -0
  467. /package/dist/{chunk-G262RA6W.js.map → chunk-N5XWRUYE.js.map} +0 -0
  468. /package/dist/{chunk-RSXEN3N2.js.map → chunk-NDZIQGDE.js.map} +0 -0
  469. /package/dist/{chunk-YJI7RIP6.js.map → chunk-NRNLLJCB.js.map} +0 -0
  470. /package/dist/{chunk-4WSJ2A6Q.js.map → chunk-OL5C4QEH.js.map} +0 -0
  471. /package/dist/{chunk-4TJAJZ67.js.map → chunk-OMLHAQQX.js.map} +0 -0
  472. /package/dist/{chunk-3SXFXI3O.js.map → chunk-OPM4YQGQ.js.map} +0 -0
  473. /package/dist/{chunk-LDYA3D2Q.js.map → chunk-OTNGKS3S.js.map} +0 -0
  474. /package/dist/{chunk-DVR5OR5J.js.map → chunk-OV3MNQPL.js.map} +0 -0
  475. /package/dist/{chunk-67Y7FHJL.js.map → chunk-OVJTJFYF.js.map} +0 -0
  476. /package/dist/{chunk-2I7VHYTP.js.map → chunk-PBWF2VXG.js.map} +0 -0
  477. /package/dist/{chunk-O6OLGKA6.js.map → chunk-PPJUUGKP.js.map} +0 -0
  478. /package/dist/{chunk-OKLZQ5MG.js.map → chunk-PR6I3UYE.js.map} +0 -0
  479. /package/dist/{chunk-V3FMENNN.js.map → chunk-QC2FAORS.js.map} +0 -0
  480. /package/dist/{chunk-YIMWF5GR.js.map → chunk-QXW2MAFG.js.map} +0 -0
  481. /package/dist/{chunk-DPVXTQAB.js.map → chunk-QYNWADPG.js.map} +0 -0
  482. /package/dist/{chunk-UJSDXZVG.js.map → chunk-RIGP2BKY.js.map} +0 -0
  483. /package/dist/{chunk-CQDQM2IX.js.map → chunk-RWXZG4KO.js.map} +0 -0
  484. /package/dist/{chunk-XEJ4XS2N.js.map → chunk-RXSGIEA5.js.map} +0 -0
  485. /package/dist/{chunk-55DI7KZU.js.map → chunk-SGQ7FXWO.js.map} +0 -0
  486. /package/dist/{chunk-MJQUJZCD.js.map → chunk-SLEK47CR.js.map} +0 -0
  487. /package/dist/{chunk-N33KFFOU.js.map → chunk-SNWJIIF7.js.map} +0 -0
  488. /package/dist/{chunk-D5AR26AI.js.map → chunk-SWCZJY6I.js.map} +0 -0
  489. /package/dist/{chunk-EIENNK3Y.js.map → chunk-SYXJTCKS.js.map} +0 -0
  490. /package/dist/{chunk-EBMRVQLR.js.map → chunk-T5HMFMXH.js.map} +0 -0
  491. /package/dist/{chunk-RD7GZHE5.js.map → chunk-TVF4JOK2.js.map} +0 -0
  492. /package/dist/{chunk-MEG74D4V.js.map → chunk-UB5ZMTTU.js.map} +0 -0
  493. /package/dist/{chunk-3AN3QVZK.js.map → chunk-UQ3H4S26.js.map} +0 -0
  494. /package/dist/{chunk-VQHFF2HH.js.map → chunk-V67RONRN.js.map} +0 -0
  495. /package/dist/{chunk-5YEAR75O.js.map → chunk-VCM32VB3.js.map} +0 -0
  496. /package/dist/{chunk-D2SLABJB.js.map → chunk-WJ64Q54L.js.map} +0 -0
  497. /package/dist/{chunk-Q3RQX6S5.js.map → chunk-WUQZCGWG.js.map} +0 -0
  498. /package/dist/{chunk-2KQAMX75.js.map → chunk-WZHTDLX6.js.map} +0 -0
  499. /package/dist/{chunk-RHVD4JYN.js.map → chunk-X66NETZL.js.map} +0 -0
  500. /package/dist/{chunk-AJKWG25T.js.map → chunk-XELPL3XO.js.map} +0 -0
  501. /package/dist/{chunk-YTLAH5QM.js.map → chunk-YMOAWXSE.js.map} +0 -0
  502. /package/dist/{chunk-WR5DSTKP.js.map → chunk-YUNA3QKT.js.map} +0 -0
  503. /package/dist/{chunk-OUSZOJE4.js.map → chunk-ZANINDSC.js.map} +0 -0
  504. /package/dist/{chunk-3H7ADMNB.js.map → chunk-ZHDES3J6.js.map} +0 -0
  505. /package/dist/{chunk-QAGHZZ27.js.map → chunk-ZSMILHO4.js.map} +0 -0
  506. /package/dist/{chunk-4KBRADTN.js.map → chunk-ZWH34WQJ.js.map} +0 -0
  507. /package/dist/{chunk-VREHPEMW.js.map → chunk-ZYN3TAUB.js.map} +0 -0
@@ -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
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/CostCalculator/CostCalculatorForm.tsx"],"sourcesContent":["import { useEffect } from 'react';\nimport { JSONSchemaFormFields } from '@/src/components/form/JSONSchemaForm';\nimport { Form } from '@/src/components/ui/form';\nimport { useCostCalculatorContext } from '@/src/flows/CostCalculator/context';\nimport {\n CostCalculatorEstimationResponse,\n CostCalculatorEstimationFormValues,\n CostCalculatorEstimationSubmitValues,\n EstimationError,\n} from '@/src/flows/CostCalculator/types';\nimport {\n FieldError,\n NormalizedFieldError,\n normalizeFieldErrors,\n} from '@/src/lib/mutations';\nimport { prettifyFormValues } from '@/src/lib/utils';\nimport { $TSFixMe } from '@/src/types/remoteFlows';\n\ntype CostCalculatorFormProps = Partial<{\n /**\n * Callback function that handles form submission. When form is submit, the form values are sent to the consumer app before behind submitted to Remote.\n * @param data - The payload sent to the /cost-calculator/estimation endpoint.\n */\n onSubmit: (\n data: CostCalculatorEstimationSubmitValues,\n ) => Promise<void> | void;\n /**\n * Callback function to handle the success when the estimation succeeds. The CostCalculatorEstimateResponse is sent back to you.\n * @param data - The response data from the /cost-calculator/estimation endpoint.\n */\n onSuccess: (data: CostCalculatorEstimationResponse) => Promise<void> | void;\n /**\n * Callback function to handle the error when the estimation fails.\n * @param error - The error object.\n */\n onError: (error: EstimationError) => void;\n /**\n * Enhanced callback function to handle errors with field-level details.\n * @param error - The error object with field errors.\n */\n onErrorWithFields?: ({\n error,\n fieldErrors,\n }: {\n error: Error;\n fieldErrors: NormalizedFieldError[];\n rawError: Record<string, unknown>;\n }) => void;\n /**\n * Whether to reset the form when the form is successfully submitted.\n */\n shouldResetForm?: boolean;\n\n /**\n * Fields to reset when the form is successfully submitted.\n */\n resetFields?: ('country' | 'currency' | 'salary')[];\n}>;\n\nexport function CostCalculatorForm({\n onSubmit,\n onError,\n onSuccess,\n onErrorWithFields,\n shouldResetForm,\n resetFields,\n}: CostCalculatorFormProps) {\n const { form, formId, costCalculatorBag } = useCostCalculatorContext();\n\n const {\n formState: { isSubmitSuccessful },\n } = form;\n\n useEffect(() => {\n // resets the entire form if the form is successfully submitted and the shouldResetForm prop is true\n if (isSubmitSuccessful && shouldResetForm) {\n costCalculatorBag?.resetForm();\n form.reset();\n return;\n }\n\n // resets the specified fields if the form is successfully submitted and the resetFields prop is provided\n if (isSubmitSuccessful && resetFields) {\n // Reset only the specified fields\n const currentValues = form.getValues();\n const resetValues = { ...currentValues };\n resetFields.forEach((field) => {\n resetValues[field] = '';\n });\n\n costCalculatorBag?.resetForm();\n form.reset(resetValues);\n }\n }, [\n isSubmitSuccessful,\n form,\n shouldResetForm,\n costCalculatorBag,\n resetFields,\n ]);\n\n const handleSubmit = async (values: CostCalculatorEstimationFormValues) => {\n try {\n const parsedValues = (await costCalculatorBag?.parseFormValues(\n values,\n )) as CostCalculatorEstimationSubmitValues;\n\n if (costCalculatorBag?.meta?.fields) {\n costCalculatorBag.meta.fields = prettifyFormValues(\n values,\n costCalculatorBag.fields,\n );\n costCalculatorBag.meta.fields['employer_currency_slug'] =\n costCalculatorBag.meta.fields['currency'];\n }\n\n const costCalculatorResults =\n await costCalculatorBag?.onSubmit(parsedValues);\n\n // if this rejects, catch will handle it\n await onSubmit?.(parsedValues);\n\n if (costCalculatorResults?.data && !costCalculatorResults.error) {\n const responseWithTitle = {\n data: {\n ...costCalculatorResults.data.data,\n employments: (\n costCalculatorResults as $TSFixMe\n ).data.data.employments?.map((employment: $TSFixMe) => ({\n ...employment,\n title: parsedValues.estimation_title,\n })),\n },\n };\n await onSuccess?.(responseWithTitle);\n } else {\n throw {\n data: null,\n error: costCalculatorResults?.error,\n fieldErrors: costCalculatorResults?.fieldErrors,\n rawError: costCalculatorResults?.rawError,\n };\n }\n } catch (err) {\n // Handles here the errors caused by the API\n const error = err as {\n data: null;\n error: EstimationError;\n fieldErrors: FieldError[];\n rawError: Record<string, unknown>;\n };\n\n const fieldErrors = error.fieldErrors;\n\n if (onErrorWithFields) {\n // Create field metadata for better error messages\n const fieldsMeta = costCalculatorBag?.meta?.fields;\n\n // Normalize field errors with user-friendly labels\n const normalizedFieldErrors = normalizeFieldErrors(\n fieldErrors,\n fieldsMeta,\n );\n\n onErrorWithFields({\n error: error.error as Error,\n rawError: error.rawError as Record<string, unknown>,\n fieldErrors: normalizedFieldErrors,\n });\n } else {\n // Fall back to the original error handler\n onError?.(error.error);\n }\n }\n };\n\n return (\n <Form {...form}>\n <form\n id={formId}\n onSubmit={form.handleSubmit(handleSubmit)}\n className='space-y-4 RemoteFlows__CostCalculatorForm'\n >\n <JSONSchemaFormFields fields={costCalculatorBag?.fields ?? []} />\n </form>\n </Form>\n );\n}\n"],"mappings":"+MAAA,OAAS,aAAAA,MAAiB,QAuLlB,cAAAC,MAAA,oBA5HD,SAASC,EAAmB,CACjC,SAAAC,EACA,QAAAC,EACA,UAAAC,EACA,kBAAAC,EACA,gBAAAC,EACA,YAAAC,CACF,EAA4B,CAC1B,GAAM,CAAE,KAAAC,EAAM,OAAAC,EAAQ,kBAAAC,CAAkB,EAAIC,EAAyB,EAE/D,CACJ,UAAW,CAAE,mBAAAC,CAAmB,CAClC,EAAIJ,EAEJK,EAAU,IAAM,CAEd,GAAID,GAAsBN,EAAiB,CACzCI,GAAmB,UAAU,EAC7BF,EAAK,MAAM,EACX,MACF,CAGA,GAAII,GAAsBL,EAAa,CAGrC,IAAMO,EAAc,CAAE,GADAN,EAAK,UAAU,CACE,EACvCD,EAAY,QAASQ,GAAU,CAC7BD,EAAYC,CAAK,EAAI,EACvB,CAAC,EAEDL,GAAmB,UAAU,EAC7BF,EAAK,MAAMM,CAAW,CACxB,CACF,EAAG,CACDF,EACAJ,EACAF,EACAI,EACAH,CACF,CAAC,EAED,IAAMS,EAAeC,EAAA,MAAOC,GAA+C,CACzE,GAAI,CACF,IAAMC,EAAgB,MAAMT,GAAmB,gBAC7CQ,CACF,EAEIR,GAAmB,MAAM,SAC3BA,EAAkB,KAAK,OAASU,EAC9BF,EACAR,EAAkB,MACpB,EACAA,EAAkB,KAAK,OAAO,uBAC5BA,EAAkB,KAAK,OAAO,UAGlC,IAAMW,EACJ,MAAMX,GAAmB,SAASS,CAAY,EAKhD,GAFA,MAAMjB,IAAWiB,CAAY,EAEzBE,GAAuB,MAAQ,CAACA,EAAsB,MAAO,CAC/D,IAAMC,EAAoB,CACxB,KAAM,CACJ,GAAGD,EAAsB,KAAK,KAC9B,YACEA,EACA,KAAK,KAAK,aAAa,IAAKE,IAA0B,CACtD,GAAGA,EACH,MAAOJ,EAAa,gBACtB,EAAE,CACJ,CACF,EACA,MAAMf,IAAYkB,CAAiB,CACrC,KACE,MAAM,CACJ,KAAM,KACN,MAAOD,GAAuB,MAC9B,YAAaA,GAAuB,YACpC,SAAUA,GAAuB,QACnC,CAEJ,OAASG,EAAK,CAEZ,IAAMC,EAAQD,EAORE,EAAcD,EAAM,YAE1B,GAAIpB,EAAmB,CAErB,IAAMsB,EAAajB,GAAmB,MAAM,OAGtCkB,EAAwBC,EAC5BH,EACAC,CACF,EAEAtB,EAAkB,CAChB,MAAOoB,EAAM,MACb,SAAUA,EAAM,SAChB,YAAaG,CACf,CAAC,CACH,MAEEzB,IAAUsB,EAAM,KAAK,CAEzB,CACF,EAzEqB,gBA2ErB,OACEzB,EAAC8B,EAAA,CAAM,GAAGtB,EACR,SAAAR,EAAC,QACC,GAAIS,EACJ,SAAUD,EAAK,aAAaQ,CAAY,EACxC,UAAU,4CAEV,SAAAhB,EAAC+B,EAAA,CAAqB,OAAQrB,GAAmB,QAAU,CAAC,EAAG,EACjE,EACF,CAEJ,CAhIgBO,EAAAhB,EAAA","names":["useEffect","jsx","CostCalculatorForm","onSubmit","onError","onSuccess","onErrorWithFields","shouldResetForm","resetFields","form","formId","costCalculatorBag","useCostCalculatorContext","isSubmitSuccessful","useEffect","resetValues","field","handleSubmit","__name","values","parsedValues","prettifyFormValues","costCalculatorResults","responseWithTitle","employment","err","error","fieldErrors","fieldsMeta","normalizedFieldErrors","normalizeFieldErrors","Form","JSONSchemaFormFields"]}
@@ -1,2 +0,0 @@
1
- import{n as f}from"./chunk-B6INIXRK.js";import{a}from"./chunk-P37U34EQ.js";var w=a(e=>new Promise((n,r)=>{let s=new FileReader;s.readAsDataURL(e),s.onload=()=>n(s.result),s.onerror=t=>r(t)}),"toBase64"),x=a(async e=>await Promise.all(e.map(async r=>{let s=await w(r);return{...r,name:r.name,size:r.size,type:r.type,content:s.split(",")[1]}})),"convertFilesToBase64");function _(e,n){let r=e.split(","),s=r[0].match(/:(.*?);/)?.[1],t=atob(r[1]),i=Uint8Array.from(t,o=>o.charCodeAt(0));return new File([i],n,{type:s})}a(_,"dataURLtoFile");import{addBusinessDays as P,isWeekend as h,nextMonday as k}from"date-fns";var N={TEXT:"text",TEXTAREA:"textarea",NUMBER:"number",SELECT:"select",COUNTRIES:"countries",TEL:"tel",EMAIL:"email",MONEY:"money",DATE:"date",DATE_RANGE:"date-range",CURRENCIES:"currencies",TIME:"time"},L={CHECKBOX:"checkbox",ACK_CHECK:"ack-check"},l={FILE:"file",RADIO:"radio",RADIO_CARD:"radio-card",GROUP_ARRAY:"group-array",EXTRA:"extra",STATEMENT:"statement",HIDDEN:"hidden",FIELDSET:"fieldset",FIELDSET_FLAT:"fieldset-flat",WORK_SCHEDULE:"work-schedule",WORK_WEEK_SCHEDULE:"work-week-schedule",BENEFITS:"benefits",SIGNATURE:"signature",SELECT_MULTIPLE:"select-multiple",...N,...L};function V(e){return Math.round((e+Number.EPSILON)*100)/100}a(V,"round");function A(e){return parseFloat(e.replace(/,/g,""))}a(A,"convertToValidCost");function C(e){if(e==null||e===""||Number.isNaN(e)||Array.isArray(e)||typeof e=="boolean")return null;let n;return typeof e=="string"?n=A(e):n=e,V(n*100)}a(C,"convertToCents");function j(e){if(e==null||Number.isNaN(e))return null;let n;return typeof e=="string"?n=A(e||"0"):n=e,V(n/100)}a(j,"convertFromCents");var g=a(e=>Object.entries(e||{}).reduce((n,[r,s])=>(Array.isArray(s)?n[r]=s.map(t=>typeof t=="object"&&t!==null?g(t):typeof t=="string"?t.trim():t):typeof s=="object"&&s!==null?n[r]=g(s):n[r]=typeof s=="string"?s.trim():s,n),{}),"trimStringValues");function R(e,n){let r={};return n.forEach(s=>{let t=s.name;if(!(!Object.prototype.hasOwnProperty.call(e,t)&&!(s.type===l.FIELDSET&&s.valueGroupingDisabled))){if(s.type===l.FIELDSET&&s.valueGroupingDisabled){Object.assign(r,R(e,s.fields));return}s.readOnly&&s.defaultValue?r[t]=s.defaultValue:r[t]=e[t]}}),r}a(R,"prefillReadOnlyFields");function M(e,n){return e.reduce((r,s)=>(s.type===l.FIELDSET&&s.valueGroupingDisabled?Object.assign(r,M(s.fields,n)):Object.prototype.hasOwnProperty.call(n,s.name)&&(r[s.name]=n[s.name]),r),{})}a(M,"extractFieldsetFieldsValues");var b={[l.COUNTRIES]:{transformValueToAPI:a(e=>n=>!e.multiple||typeof n=="string"?n:n.map(r=>typeof r=="string"?r:r.name),"transformValueToAPI"),transformValue:a(e=>{let n=a(r=>r?.name||r?.value||r?.label,"getCountryValue");return Array.isArray(e)?e.map(n):n(e)||""},"transformValue")},[l.NUMBER]:{transformValueToAPI:a(()=>e=>{let n=Number(e);return Number.isNaN(n)?e:n},"transformValueToAPI")},[l.MONEY]:{transformValueFromAPI:a(()=>e=>j(e)??"","transformValueFromAPI"),transformValueToAPI:a(()=>C,"transformValueToAPI")},[l.RADIO]:{transformValueToAPI:a(e=>n=>e.transformToBool?n==="yes":n,"transformValueToAPI")},[l.CHECKBOX]:{transformValueToAPI:a(e=>n=>n===void 0?!1:e.const&&n===!0?e.const:n,"transformValueToAPI")},[l.SELECT]:{transformValue:a(e=>Array.isArray(e)?e.map(n=>n.value):e?.value??"","transformValue")},[l.FILE]:{transformValueToAPI:a(()=>async e=>e?await x(e):null,"transformValueToAPI")}};async function F(e={},n){let r=n.filter(t=>e[t.name]||t.type===l.FIELDSET&&t.valueGroupingDisabled);return(await Promise.all(r.map(async t=>{let i={};switch(t.type){case l.FIELDSET:{let o=t;if(o.valueGroupingDisabled){let u=M(o.fields,e);Object.assign(i,await F(u,o.fields))}else{let u=e[t.name];if(u&&typeof u=="object"&&!Array.isArray(u)){let c=Object.fromEntries(Object.entries(u).filter(([,m])=>m!==""&&m!==null&&m!==void 0));i[t.name]=Object.keys(c).length>0?await F(c,o.fields):void 0}else i[t.name]=await F(u,o.fields)}break}case l.TEXTAREA:case l.TEXT:i[t.name]=e[t.name].replace(/\0/g,"");break;case l.GROUP_ARRAY:{let o=t?.fields?.().map(c=>({...c,name:c.nameKey||""})),u=await Promise.all(e[t.name]?.map(c=>F(c,o))||[]);i[t.name]=u;break}case l.EXTRA:{let o=t;if(o.includeValueToApi!==!1){let u=e[o.name],c=o?.transformValueToAPI||b[o.type]?.transformValueToAPI;if(c){let m=c(t)(u);i[o.name]=m instanceof Promise?await m:m;break}i[o.name]=u;break}i[o.name]=void 0;break}default:{let o=e[t.name],u=t?.transformValueToAPI||b[t.type]?.transformValueToAPI;if(u){let c=u(t)(o);i[t.name]=c instanceof Promise?await c:c;break}i[t.name]=o;break}}return t.forcedValue!==void 0&&(i[t.name]=t.forcedValue),i}))).reduce((t,i)=>({...t,...i}),{...e})}a(F,"parseFormValuesToAPI");function I(e,n){return e.visibilityCondition?e.visibilityCondition(n):typeof e.isVisible<"u"?!!e.isVisible:!0}a(I,"isFieldVisible");function E(e,n){return e.calculateDynamicProperties?{...e,...e.calculateDynamicProperties(n)||{}}:e}a(E,"applyFieldDynamicProperties");function y(e,n,r,s){let t={};return n.map(i=>E(i,e)).forEach(i=>{let o=i.name;s&&(o=o?`${s}.${i.name}`:s);let u=f(e,o);if(!(!I(i,e)&&!(r&&u))&&!i.meta?.ignoreValue)if(i.type==="fieldset"&&i.valueGroupingDisabled)Object.assign(t,y(e,i.fields,r,o));else if(Array.isArray(i.fields))t[i.name]=y(e,i.fields,r,o);else{if(u===void 0)return;t[i.name]=u}}),t}a(y,"excludeValuesInvisible");function U(e){return Object.fromEntries(Object.entries(e).filter(([,n])=>n!=null&&n!==""))}a(U,"removeEmptyValues");function S(e){return Array.isArray(e)?e.map(S):e&&typeof e=="object"?Object.entries(e).reduce((n,[r,s])=>(r.startsWith("_")||(n[r]=S(s)),n),{}):e}a(S,"cleanUnderscoreFields");async function B(e,n,r){let s=r?.keepInvisibleValues?e:y(e,n),t=await F(s,n),i=g(t),o=U(i),u=R(o,n);return S(u)}a(B,"parseSubmitValues");async function Y(e,n,r={isPartialValidation:!1}){return await B(e,n,{keepInvisibleValues:r?.isPartialValidation})}a(Y,"parseJSFToValidate");function G(e){if(e!==l.FILE)return""}a(G,"getDefaultValueForType");function $(e,n){let r=f(e,n.name),s=n?.transformValueFromAPI||b[n.type]?.transformValueFromAPI;if(s)return s(n)(r);let t=typeof n.value=="function"?n.value(r,e):null,i=typeof n.value!="function"?n.value:null,o=n.checkboxValue===!0?r||!1:null,u=a(c=>c===""?void 0:c,"excludeString");return u(t)??u(r)??u(i)??u(n.default)??o??G(n.type)}a($,"getInitialDefaultValue");function D(e,n,r){let s={},t=e.name;r&&(t=t?`${r}.${t}`:r);let i=e.fields;if(Array.isArray(i)){let o={};i.forEach(u=>{Object.assign(o,D(u,n,t))}),e.type===l.FIELDSET&&e.valueGroupingDisabled?Object.assign(s,o):s[e.name]=o}else s[e.name]=$(n,{...e,name:t});return s}a(D,"getInitialSubFieldValues");function W(e,n){let r={},s=n;return e.map(t=>E(t,s)).forEach(t=>{switch(t.type){case l.FIELDSET:{if(t.valueGroupingDisabled)Object.assign(r,W(t.fields,s));else{let i=D(t,s);Object.assign(r,i)}break}default:{r[t.name]||(r[t.name]=$(s,t));break}}}),r}a(W,"getInitialValues");function z({fields:e=[],fieldsets:n={},values:r}){let s=Object.keys(n);if(!s?.length)return e;let t=new Set(s.flatMap(c=>n[c]?.propertiesByName??[]));return s.map(c=>{let{propertiesByName:m=[],...p}=n[c],T=m.map(d=>e.find(O=>O.name===d)).filter(d=>!!d);return{...p,name:c,type:"fieldset-flat",inputType:"fieldset-flat",fields:T,label:n[c].title,isVisible:T.map(d=>E(d,r)).some(d=>I(d,r))}}).reduce((c,m)=>{let p=[...c],T=m.fields[0]?c.findIndex(d=>d.name===m.fields[0].name):c.length;return p.splice(T,0,m),p},e).filter(c=>c.type==="fieldset-flat"?!0:!t.has(c.name))}a(z,"getFieldsWithFlatFieldsets");function q(e,n){let r=n;return e.forEach(s=>{"const"in s&&(r=Object.fromEntries(Object.entries(n).map(([t,i])=>t===s.name?[t,s.const]:[t,i])))}),r}a(q,"enableAckFields");function Q(e){let n=new Date;n.setDate(n.getUTCDate()),n.setHours(0,0,0,0);let r=P(n,e+1);return h(r)?k(r):r}a(Q,"getMinStartDate");function Z(e){return e.const!==void 0&&e.const===e.default&&e.type!=="checkbox"&&e.type!=="hidden"}a(Z,"checkFieldHasForcedValue");export{_ as a,V as b,C as c,j as d,Y as e,W as f,z as g,q as h,Q as i,Z as j};
2
- //# sourceMappingURL=chunk-JVGGWBFZ.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/lib/files.ts","../src/components/form/utils.ts"],"sourcesContent":["const toBase64 = (file: File): Promise<string> => {\n return new Promise<string>((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = () => resolve(reader.result as string);\n reader.onerror = (error) => reject(error);\n });\n};\n\nexport const convertFilesToBase64 = async (files: File[]) => {\n const base64Files = await Promise.all(\n files.map(async (file) => {\n const base64 = await toBase64(file);\n return {\n ...file,\n name: file.name,\n size: file.size,\n type: file.type,\n content: base64.split(',')[1],\n };\n }),\n );\n return base64Files;\n};\n\n/**\n * Convert a data URL to a File object\n * @param dataURL - The data URL to convert\n * @param filename - The name of the file\n * @returns The File object\n */\nexport function dataURLtoFile(dataURL: string, filename: string): File {\n const arr = dataURL.split(',');\n const mime = arr[0].match(/:(.*?);/)?.[1];\n const bstr = atob(arr[1]);\n\n const u8arr = Uint8Array.from(bstr, (char) => char.charCodeAt(0));\n\n return new File([u8arr], filename, { type: mime });\n}\n","import { Field } from '@/src/flows/types';\nimport { $TSFixMe } from '@/src/types/remoteFlows';\nimport { JSFFields } from '@/src/types/remoteFlows';\nimport { convertFilesToBase64 } from '@/src/lib/files';\nimport { addBusinessDays, isWeekend, nextMonday } from 'date-fns';\nimport { getNestedValue } from '@/src/lib/utils';\n\nconst textInputTypes = {\n TEXT: 'text',\n TEXTAREA: 'textarea',\n NUMBER: 'number',\n SELECT: 'select',\n COUNTRIES: 'countries',\n TEL: 'tel',\n EMAIL: 'email',\n MONEY: 'money',\n DATE: 'date',\n DATE_RANGE: 'date-range',\n CURRENCIES: 'currencies',\n TIME: 'time',\n} as const;\n\nconst checkboxTypes = {\n CHECKBOX: 'checkbox',\n ACK_CHECK: 'ack-check',\n} as const;\n\nconst supportedTypes = {\n FILE: 'file',\n RADIO: 'radio',\n /** @deprecated */\n RADIO_CARD: 'radio-card',\n GROUP_ARRAY: 'group-array',\n EXTRA: 'extra',\n STATEMENT: 'statement',\n HIDDEN: 'hidden',\n FIELDSET: 'fieldset',\n FIELDSET_FLAT: 'fieldset-flat',\n WORK_SCHEDULE: 'work-schedule',\n WORK_WEEK_SCHEDULE: 'work-week-schedule',\n /** @deprecated we still display benefits in read-only contract details view, but never in any form */\n BENEFITS: 'benefits',\n SIGNATURE: 'signature',\n SELECT_MULTIPLE: 'select-multiple',\n ...textInputTypes,\n ...checkboxTypes,\n} as const;\n\nexport function round(value: number): number {\n return Math.round((value + Number.EPSILON) * 100) / 100;\n}\n\nfunction convertToValidCost(value: string) {\n return parseFloat(value.replace(/,/g, ''));\n}\n\nexport function convertToCents(\n amount?: number | string | string[] | null | boolean,\n) {\n if (\n amount == null ||\n amount === '' ||\n Number.isNaN(amount) ||\n Array.isArray(amount) ||\n typeof amount === 'boolean'\n ) {\n return null;\n }\n\n let validAmount: number;\n\n if (typeof amount === 'string') {\n validAmount = convertToValidCost(amount);\n } else {\n validAmount = amount;\n }\n\n return round(validAmount * 100);\n}\n\nexport function convertFromCents(amount?: number | string | null) {\n if (amount == null || Number.isNaN(amount)) return null;\n\n let normalizedValue: number;\n\n if (typeof amount === 'string') {\n normalizedValue = convertToValidCost(amount || '0');\n } else {\n normalizedValue = amount;\n }\n\n return round(normalizedValue / 100);\n}\n\nconst trimStringValues = (values: Record<string, $TSFixMe>) =>\n Object.entries(values || {}).reduce<Record<string, $TSFixMe>>(\n (result, [key, value]) => {\n if (Array.isArray(value)) {\n // If the value is an array, recursively process each element\n result[key] = value.map((item) =>\n typeof item === 'object' && item !== null\n ? trimStringValues(item)\n : typeof item === 'string'\n ? item.trim()\n : item,\n );\n } else if (typeof value === 'object' && value !== null) {\n // If the value is an object, recursively process it\n result[key] = trimStringValues(value);\n } else {\n // Otherwise, trim the string or keep the value as is\n result[key] = typeof value === 'string' ? value.trim() : value;\n }\n return result;\n },\n {},\n );\n\n/**\n * Given a list of form values, modify the ones that are readOnly,\n * based on their field config, by adding its defaultValue.\n * This is needed to support readOnly fields that are also conditional\n * based on the \"pivotName\" workaround.\n * @param {Object} values - List with form values { name: value }.\n * @param {Array} fields - Respective form fields configuration.\n */\nfunction prefillReadOnlyFields(\n values: Record<string, $TSFixMe>,\n fields: $TSFixMe[],\n) {\n const newValues: Record<string, $TSFixMe> = {};\n\n fields.forEach((field) => {\n const fieldName = field.name;\n\n if (\n !Object.prototype.hasOwnProperty.call(values, fieldName!) &&\n !(field.type === supportedTypes.FIELDSET && field.valueGroupingDisabled)\n )\n return;\n\n if (field.type === supportedTypes.FIELDSET && field.valueGroupingDisabled) {\n Object.assign(newValues, prefillReadOnlyFields(values, field.fields));\n return;\n }\n\n if (field.readOnly && field.defaultValue) {\n newValues[fieldName!] = field.defaultValue;\n } else {\n newValues[fieldName!] = values[fieldName!];\n }\n });\n\n return newValues;\n}\n/**\n * Recursively extracts fieldsets' fields values and maps them to the field name\n * For nested fields that are fieldsets with valueGroupingDisabled, the values\n * are extracted one level up\n *\n * @param {Array} fields - Fieldset fields configuration.\n * @param {Object} formValues - List with form values { name: value }.\n * @return {Object} – Raw form values mapped to the field name\n */\nfunction extractFieldsetFieldsValues(\n fields: $TSFixMe[],\n formValues: Record<string, unknown>,\n) {\n return fields.reduce<Record<string, $TSFixMe>>((nestedAcc, subField) => {\n const isFieldsetValueGroupingDisabled =\n subField.type === supportedTypes.FIELDSET &&\n subField.valueGroupingDisabled;\n\n if (isFieldsetValueGroupingDisabled) {\n Object.assign(\n nestedAcc,\n extractFieldsetFieldsValues(subField.fields, formValues),\n );\n } else if (\n Object.prototype.hasOwnProperty.call(formValues, subField.name!)\n ) {\n nestedAcc[subField.name!] = formValues[subField.name!];\n }\n\n return nestedAcc;\n }, {});\n}\n\nexport const fieldTypesTransformations: Record<string, $TSFixMe> = {\n [supportedTypes.COUNTRIES]: {\n /**\n * @param {String[] | { name: String }[]} value\n * - Excepted: array of strings.\n * - Edge cases: array of objects. (when using dangerousTransformValue)\n * @returns {String[]} - List of countries\n * @example expected: ['Peru', 'Germany'] -> ['Peru', 'Germany']\n * @example edge cases: [{name: 'Peru'}, {name: 'Germany'}] -> ['Peru', 'Germany']\n */\n transformValueToAPI:\n (field: $TSFixMe) =>\n (selectedCountries: string[] | { name: string }[]) => {\n if (!field.multiple || typeof selectedCountries === 'string') {\n return selectedCountries;\n }\n // NOTE: The value should be an array of strings, however legacy data can come as\n // an array of country objects. So, we always send an array of strings to normalize\n // the data (eg old form values being modified) until DB migration is done !5667\n return selectedCountries.map((option) =>\n typeof option === 'string' ? option : option.name,\n );\n },\n /**\n * Used for react-select, where the country selected is transformed\n * before saving on Formik state. Supports both solo and multi select\n * @param {Object|Object[]} selectedCountry[] - Current selected options\n * @param {String} selectedCountry[].value\n * @param {String} selectedCountry[].name\n * @param {String} selectedCountry[].label\n * @returns {String[]} - List of countries selected\n * @example\n * [{ value: 'Hungria' }] -> ['Hungria']\n */\n transformValue: (selectedCountry: $TSFixMe | $TSFixMe[]) => {\n // name or label are used in dragon. value is used in json-schema-form\n // TODO: it should be the same everywhere — read more at !5667\n const getCountryValue = (opt: $TSFixMe) =>\n opt?.name || opt?.value || opt?.label;\n return Array.isArray(selectedCountry)\n ? selectedCountry.map(getCountryValue) // support multi countries\n : getCountryValue(selectedCountry) || ''; // Fallback to '' in case user removes all countries\n },\n },\n [supportedTypes.NUMBER]: {\n transformValueToAPI: () => (value: string) => {\n // this prevents values with letters such as \"2r\" from being considered valid\n // if the input is invalid, number().cast will return NaN\n const castValue = Number(value);\n\n if (Number.isNaN(castValue)) {\n return value;\n }\n\n return castValue;\n },\n },\n [supportedTypes.MONEY]: {\n transformValueFromAPI: () => (value: string | number) =>\n convertFromCents(value) ?? '',\n transformValueToAPI: () => convertToCents,\n },\n [supportedTypes.RADIO]: {\n transformValueToAPI: (field: $TSFixMe) => (value: string) => {\n if (field.transformToBool) {\n return value === 'yes';\n }\n return value;\n },\n },\n [supportedTypes.CHECKBOX]: {\n transformValueToAPI: (field: $TSFixMe) => (value: string | boolean) => {\n if (value === undefined) {\n return false;\n }\n\n if (field.const && value === true) {\n return field.const;\n }\n return value;\n },\n },\n [supportedTypes.SELECT]: {\n /**\n * Used for react-select, where the value is transformed\n * before saving on Formik state.\n * @param {Object | Object[]} option - Object structure with options config\n * @param {String} option[].value - Key for the API\n * @param {Array} this.options[].label - Friendly label\n * @example\n * [{ value: '1', label: 'One' }, { value: '2', label: 'Two' }] -> [\"One\", \"Two\"]\n * { value: '1', label: 'One' } -> \"One\"\n * {} -> \"\"\n */\n transformValue: (option: $TSFixMe | $TSFixMe[]) =>\n Array.isArray(option)\n ? option.map((opt) => opt.value) // multi-options\n : (option?.value ?? ''), // Fallback to '' in case user removes all options,\n },\n [supportedTypes.FILE]: {\n transformValueToAPI: () => async (files: File[]) => {\n if (!files) {\n return null;\n }\n\n return await convertFilesToBase64(files);\n },\n },\n};\nexport async function parseFormValuesToAPI(\n formValues: Record<string, $TSFixMe> = {},\n fields: $TSFixMe[],\n) {\n const filteredFields = fields.filter(\n (field) =>\n formValues[field.name!] ||\n (field.type === supportedTypes.FIELDSET && field.valueGroupingDisabled),\n );\n\n const parsedFieldsWithValues = await Promise.all(\n filteredFields.map(async (field) => {\n const acc: Record<string, $TSFixMe> = {};\n\n switch (field.type) {\n case supportedTypes.FIELDSET: {\n const fieldset = field;\n if (fieldset.valueGroupingDisabled) {\n const nestedFormValues = extractFieldsetFieldsValues(\n fieldset.fields,\n formValues,\n );\n\n Object.assign(\n acc,\n await parseFormValuesToAPI(nestedFormValues, fieldset.fields),\n );\n } else {\n const fieldsetValue = formValues[field.name!];\n\n // Filter out empty properties from fieldset objects\n // this code avoids sending department: {id: '1234', name: ''} or even department: {id: undefined, name: undefined}\n if (\n fieldsetValue &&\n typeof fieldsetValue === 'object' &&\n !Array.isArray(fieldsetValue)\n ) {\n const cleanedValue = Object.fromEntries(\n Object.entries(fieldsetValue).filter(([, value]) => {\n // Keep the property if it has a meaningful value\n return value !== '' && value !== null && value !== undefined;\n }),\n );\n\n acc[field.name!] =\n Object.keys(cleanedValue).length > 0\n ? await parseFormValuesToAPI(cleanedValue, fieldset.fields)\n : undefined;\n } else {\n acc[field.name!] = await parseFormValuesToAPI(\n fieldsetValue,\n fieldset.fields,\n );\n }\n }\n break;\n }\n\n case supportedTypes.TEXTAREA:\n case supportedTypes.TEXT:\n // Attempt to remove null bytes from form values - https://gitlab.com/remote-com/employ-starbase/tracker/-/issues/10670\n acc[field.name] = formValues[field.name].replace(/\\0/g, '');\n break;\n\n case supportedTypes.GROUP_ARRAY: {\n // NOTE: The field `name` in group arrays represents a path, but we only\n // need the last part of it which is represented by `nameKey`.\n const transformedFields = field\n ?.fields?.()\n .map((subField: $TSFixMe) => ({\n ...subField,\n name: subField.nameKey || '',\n }));\n\n const parsedFieldValues = await Promise.all(\n formValues[field.name]?.map(\n (fieldValues: Record<string, $TSFixMe>) =>\n parseFormValuesToAPI(fieldValues, transformedFields),\n ) || [],\n );\n\n acc[field.name] = parsedFieldValues;\n break;\n }\n\n case supportedTypes.EXTRA: {\n const extraField = field;\n if (extraField.includeValueToApi !== false) {\n const formValue = formValues[extraField.name];\n const fieldTransformValueToAPI =\n extraField?.transformValueToAPI ||\n fieldTypesTransformations[extraField.type]?.transformValueToAPI;\n\n if (fieldTransformValueToAPI) {\n const result = fieldTransformValueToAPI(field)(formValue);\n // Await if it's a promise\n acc[extraField.name] =\n result instanceof Promise ? await result : result;\n break;\n }\n\n acc[extraField.name] = formValue;\n break;\n }\n acc[extraField.name] = undefined;\n break;\n }\n\n default: {\n const formValue = formValues[field.name];\n const fieldTransformValueToAPI =\n field?.transformValueToAPI ||\n fieldTypesTransformations[field.type]?.transformValueToAPI;\n\n if (fieldTransformValueToAPI) {\n const result = fieldTransformValueToAPI(field)(formValue);\n // Await if it's a promise - THIS IS THE KEY FIX\n acc[field.name] = result instanceof Promise ? await result : result;\n break;\n }\n acc[field.name] = formValue;\n break;\n }\n }\n\n if (field.forcedValue !== undefined) {\n acc[field.name!] = field.forcedValue;\n }\n\n return acc;\n }),\n );\n\n // Merge all accumulated objects\n return parsedFieldsWithValues.reduce(\n (acc, current) => ({ ...acc, ...current }),\n { ...formValues },\n );\n}\n\nfunction isFieldVisible(field: $TSFixMe, formValues: Record<string, unknown>) {\n if (field.visibilityCondition) {\n return field.visibilityCondition(formValues);\n }\n\n if (typeof field.isVisible !== 'undefined') {\n return Boolean(field.isVisible);\n }\n\n return true;\n}\n\nfunction applyFieldDynamicProperties(\n field: $TSFixMe,\n values: Record<string, unknown> | Record<string, unknown>[],\n) {\n if (field.calculateDynamicProperties) {\n return {\n ...field,\n ...(field.calculateDynamicProperties(values) || {}),\n };\n }\n\n return field;\n}\n\nfunction excludeValuesInvisible(\n values: $TSFixMe,\n fields: $TSFixMe[],\n keepTruthyInvisibleValues?: boolean,\n parentFieldKeyPath?: string,\n) {\n const valuesAsked: Record<string, $TSFixMe> = {};\n\n fields\n .map((field) => applyFieldDynamicProperties(field, values))\n .forEach((field) => {\n let fieldKeyPath = field.name;\n if (parentFieldKeyPath) {\n fieldKeyPath = fieldKeyPath\n ? `${parentFieldKeyPath}.${field.name}`\n : parentFieldKeyPath;\n }\n\n const valueOfField = getNestedValue(values, fieldKeyPath!);\n\n // keepTruthyInvisibleValues: false/undefined -> remove invisible field\n // keepTruthyInvisibleValues: true -> keep invisible field if it has a value\n if (\n !isFieldVisible(field, values) &&\n !(keepTruthyInvisibleValues && !!valueOfField)\n ) {\n return;\n }\n\n if (field.meta?.ignoreValue) {\n return;\n }\n\n if (field.type === 'fieldset' && field.valueGroupingDisabled) {\n Object.assign(\n valuesAsked,\n excludeValuesInvisible(\n values,\n field.fields,\n keepTruthyInvisibleValues,\n fieldKeyPath,\n ),\n );\n } else if (Array.isArray(field.fields)) {\n valuesAsked[field.name!] = excludeValuesInvisible(\n values,\n field.fields,\n keepTruthyInvisibleValues,\n fieldKeyPath,\n );\n } else {\n if (valueOfField === undefined) {\n return;\n }\n valuesAsked[field.name!] = valueOfField;\n }\n });\n\n return valuesAsked;\n}\n\nfunction removeEmptyValues<T extends Record<string, $TSFixMe>>(\n obj: T,\n): Record<string, $TSFixMe> {\n return Object.fromEntries(\n Object.entries(obj).filter(\n ([, value]) => value !== undefined && value !== null && value !== '',\n ),\n );\n}\n\nfunction cleanUnderscoreFields(\n obj: Record<string, $TSFixMe>,\n): Record<string, $TSFixMe> {\n if (Array.isArray(obj)) {\n return obj.map(cleanUnderscoreFields);\n }\n if (obj && typeof obj === 'object') {\n return Object.entries(obj).reduce(\n (acc, [key, value]) => {\n if (!key.startsWith('_')) {\n acc[key] = cleanUnderscoreFields(value);\n }\n return acc;\n },\n {} as Record<string, $TSFixMe>,\n );\n }\n return obj;\n}\n\nexport async function parseSubmitValues(\n formValues: Record<string, $TSFixMe>,\n fields: $TSFixMe[],\n config?: { keepInvisibleValues?: boolean },\n) {\n const visibleFormValues = config?.keepInvisibleValues\n ? formValues\n : excludeValuesInvisible(formValues, fields);\n const convertedFormValues = await parseFormValuesToAPI(\n visibleFormValues,\n fields,\n );\n const formValuesWithTrimmedStrings = trimStringValues(convertedFormValues);\n\n const formValuesWithUndefined = removeEmptyValues(\n formValuesWithTrimmedStrings,\n );\n\n const valuesWithReadOnly = prefillReadOnlyFields(\n formValuesWithUndefined,\n fields,\n );\n return cleanUnderscoreFields(valuesWithReadOnly);\n}\n\nexport async function parseJSFToValidate(\n formValues: Record<string, $TSFixMe>,\n fields: JSFFields,\n config: { isPartialValidation: boolean } = {\n isPartialValidation: false,\n },\n) {\n const valuesParsed = await parseSubmitValues(formValues, fields, {\n /* We cannot exclude invisible fields (excludeValuesInvisible) because\n they are needed for conditional fields validations */\n keepInvisibleValues: config?.isPartialValidation,\n });\n return valuesParsed;\n}\n\nfunction castFieldTo<T>(field: Field) {\n return field as unknown as T;\n}\n\nfunction getDefaultValueForType(type: string) {\n switch (type) {\n case supportedTypes.FILE:\n return undefined; // Allows fallback values in function declarations to be used\n default:\n return '';\n }\n}\n\nfunction getInitialDefaultValue(\n defaultValues: Record<string, $TSFixMe>,\n field: Field,\n) {\n // getNestedValue is needed because some values could be nested object, like billing address\n // use camelCase to support forms with fields in snake_case or kebab_case.\n const defaultFieldValue = getNestedValue(defaultValues, field.name);\n const fieldTransformValueFromAPI =\n field?.transformValueFromAPI ||\n fieldTypesTransformations[field.type]?.transformValueFromAPI;\n\n if (fieldTransformValueFromAPI) {\n return fieldTransformValueFromAPI(field)(defaultFieldValue);\n }\n\n // TODO: We need to get rid of value as fn for json-schema. Related !5560\n const generatedValue =\n typeof field.value === 'function'\n ? field.value(defaultFieldValue, defaultValues)\n : null;\n\n // field.value is deprecated. should use \"default\" instead.\n const defaultValueDeprecated =\n typeof field.value !== 'function' ? field.value : null;\n const initialValueForCheckboxAsBool =\n castFieldTo<$TSFixMe>(field).checkboxValue === true\n ? defaultFieldValue || false\n : null;\n\n // nullish coalescing but excluding empty strings. (to support 0 (zero) as valid numbers)\n const excludeString = (val: $TSFixMe) => (val === '' ? undefined : val);\n\n return (\n excludeString(generatedValue) ??\n excludeString(defaultFieldValue) ??\n excludeString(defaultValueDeprecated) ??\n excludeString(field.default) ??\n initialValueForCheckboxAsBool ??\n getDefaultValueForType(field.type)\n );\n}\n\n/**\n * Get initial values for sub fields within fieldsets\n * @param {Object} field The form field\n * @param {Object} defaultValues The form default values\n * @param {String=} parentFieldKeyPath The path to the parent field using dot-notation\n * @returns {Object} The initial values for a fieldset\n */\nfunction getInitialSubFieldValues(\n field: $TSFixMe,\n defaultValues: Record<string, unknown>,\n parentFieldKeyPath?: string,\n) {\n const initialValue: Record<string, Record<string, unknown>> = {};\n\n let fieldKeyPath = field.name;\n\n if (parentFieldKeyPath) {\n fieldKeyPath = fieldKeyPath\n ? `${parentFieldKeyPath}.${fieldKeyPath}`\n : parentFieldKeyPath;\n }\n\n const subFields = field.fields;\n\n if (Array.isArray(subFields)) {\n const subFieldValues = {};\n\n subFields.forEach((subField) => {\n Object.assign(\n subFieldValues,\n getInitialSubFieldValues(subField, defaultValues, fieldKeyPath),\n );\n });\n\n if (field.type === supportedTypes.FIELDSET && field.valueGroupingDisabled) {\n Object.assign(initialValue, subFieldValues);\n } else {\n initialValue[field.name!] = subFieldValues;\n }\n } else {\n initialValue[field.name!] = getInitialDefaultValue(defaultValues, {\n ...field,\n // NOTE: To utilize the `get` function from `lodash` in `getInitialDefaultValue` correctly\n // we need to use the field path instead of just its name.\n name: fieldKeyPath,\n });\n }\n\n return initialValue;\n}\n\nexport function getInitialValues(\n fields: JSFFields,\n defaultValues: Record<string, unknown>,\n) {\n const initialValues: Record<string, unknown> = {};\n const defaultFieldValues = defaultValues;\n\n // loop over fields array\n // if prop does not exit in the initialValues object,\n // pluck off the name and value props and add it to the initialValues object;\n fields\n .map((field) => applyFieldDynamicProperties(field, defaultFieldValues))\n .forEach((field) => {\n switch (field.type) {\n case supportedTypes.FIELDSET: {\n if (field.valueGroupingDisabled) {\n Object.assign(\n initialValues,\n getInitialValues(field.fields, defaultFieldValues),\n );\n } else {\n const subFieldValues = getInitialSubFieldValues(\n field,\n defaultFieldValues,\n );\n Object.assign(initialValues, subFieldValues);\n }\n break;\n }\n default: {\n if (!initialValues[field.name]) {\n initialValues[field.name] = getInitialDefaultValue(\n defaultFieldValues,\n field,\n );\n }\n break;\n }\n }\n });\n\n return initialValues;\n}\n\n/**\n * Wraps fields listed in fieldsets with a fieldset field.\n * @param fields - Complete fields list.\n * @param fieldsets - fields list to be wrapped in a fieldset field.\n * @param values - Values for each field.\n * @returns The fields with the fieldsets wrapped.\n */\nexport function getFieldsWithFlatFieldsets({\n fields = [],\n fieldsets = {},\n values,\n}: {\n fields: $TSFixMe[];\n fieldsets: Record<string, { propertiesByName: string[]; title: string }>;\n values: Record<string, unknown>;\n}) {\n const flatFieldsetsKeys = Object.keys(fieldsets);\n\n if (!flatFieldsetsKeys?.length) {\n return fields;\n }\n\n const flatFieldsetsFieldNames = new Set(\n flatFieldsetsKeys.flatMap(\n (flatFieldsetKey) => fieldsets[flatFieldsetKey]?.propertiesByName ?? [],\n ),\n );\n\n const flatFieldsetsWithFields = flatFieldsetsKeys.map((flatFieldsetKey) => {\n const { propertiesByName: flatFieldsetFields = [], ...rest } =\n fieldsets[flatFieldsetKey];\n\n const childFields = flatFieldsetFields\n .map((name) => fields.find((f) => f.name === name))\n .filter((field): field is $TSFixMe => !!field);\n\n return {\n ...rest,\n name: flatFieldsetKey,\n type: 'fieldset-flat',\n inputType: 'fieldset-flat',\n fields: childFields,\n label: fieldsets[flatFieldsetKey].title,\n // Hide the fieldset if none of the children fields are visible.\n isVisible: childFields\n .map((childField) => applyFieldDynamicProperties(childField, values))\n .some((childField) => isFieldVisible(childField, values)),\n };\n });\n\n const sortedFields = flatFieldsetsWithFields.reduce((accumulator, field) => {\n const accumulatedFieldsSorted = [...accumulator];\n\n /**\n * We place the flat fieldset at the original position of its first field.\n * If no field is found, we move it to the end.\n */\n const fieldsetPosition = field.fields[0]\n ? accumulator.findIndex(\n (accumulatorItem) => accumulatorItem.name === field.fields[0].name,\n )\n : accumulator.length;\n\n accumulatedFieldsSorted.splice(\n fieldsetPosition,\n 0,\n field as unknown as $TSFixMe,\n );\n\n return accumulatedFieldsSorted;\n }, fields);\n\n const filteredFields = sortedFields.filter((field) => {\n // Always keep the fieldset wrapper\n if (field.type === 'fieldset-flat') {\n return true;\n }\n return !flatFieldsetsFieldNames.has(field.name!);\n });\n\n return filteredFields;\n}\n\nexport function enableAckFields(\n fields: JSFFields,\n values: Record<string, unknown>,\n) {\n let result = values;\n fields.forEach((field) => {\n if ('const' in field) {\n result = Object.fromEntries(\n Object.entries(values).map(([k, v]) => {\n if (k === field.name) {\n return [k, field.const];\n }\n return [k, v];\n }),\n );\n }\n });\n return result;\n}\n\n/**\n * Get the minimum start date for the onboarding process.\n * @param minOnBoardingTime\n * @returns Date\n */\nexport function getMinStartDate(minOnBoardingTime: number) {\n const today = new Date();\n\n // Make sure our base date is UTC and set the time to 00:00:00\n today.setDate(today.getUTCDate());\n today.setHours(0, 0, 0, 0);\n\n // The + 1 ensures you get the full preparation time before the employee can actually start working.\n // It's the difference between \"preparation completes on this day\" vs \"earliest possible start date after preparation\".\n const minDate = addBusinessDays(today, minOnBoardingTime + 1);\n return isWeekend(minDate) ? nextMonday(minDate) : minDate;\n}\n\n/**\n * Check if a field has a forced value.\n * @param field - The field to check.\n * @returns True if the field has a forced value, false otherwise.\n */\nexport function checkFieldHasForcedValue(field: $TSFixMe) {\n // A field to be considered \"forced value\" must:\n return (\n field.const !== undefined && // Only accepts a specific value\n field.const === field.default && // It can be prefilled, meaning it's not critical\n field.type !== 'checkbox' && // Because checkbox must always be visible\n field.type !== 'hidden' // Because hidden inputs shouldn't be visible\n );\n}\n"],"mappings":"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","names":["toBase64","__name","file","resolve","reject","reader","error","convertFilesToBase64","files","base64","dataURLtoFile","dataURL","filename","arr","mime","bstr","u8arr","char","addBusinessDays","isWeekend","nextMonday","textInputTypes","checkboxTypes","supportedTypes","round","value","__name","convertToValidCost","convertToCents","amount","validAmount","convertFromCents","normalizedValue","trimStringValues","values","result","key","item","prefillReadOnlyFields","fields","newValues","field","fieldName","extractFieldsetFieldsValues","formValues","nestedAcc","subField","fieldTypesTransformations","selectedCountries","option","selectedCountry","getCountryValue","opt","castValue","files","convertFilesToBase64","parseFormValuesToAPI","filteredFields","acc","fieldset","nestedFormValues","fieldsetValue","cleanedValue","transformedFields","parsedFieldValues","fieldValues","extraField","formValue","fieldTransformValueToAPI","current","isFieldVisible","applyFieldDynamicProperties","excludeValuesInvisible","keepTruthyInvisibleValues","parentFieldKeyPath","valuesAsked","fieldKeyPath","valueOfField","getNestedValue","removeEmptyValues","obj","cleanUnderscoreFields","parseSubmitValues","config","visibleFormValues","convertedFormValues","formValuesWithTrimmedStrings","formValuesWithUndefined","valuesWithReadOnly","parseJSFToValidate","getDefaultValueForType","type","supportedTypes","__name","getInitialDefaultValue","defaultValues","field","defaultFieldValue","getNestedValue","fieldTransformValueFromAPI","fieldTypesTransformations","generatedValue","defaultValueDeprecated","initialValueForCheckboxAsBool","excludeString","val","getInitialSubFieldValues","parentFieldKeyPath","initialValue","fieldKeyPath","subFields","subFieldValues","subField","getInitialValues","fields","initialValues","defaultFieldValues","applyFieldDynamicProperties","getFieldsWithFlatFieldsets","fieldsets","values","flatFieldsetsKeys","flatFieldsetsFieldNames","flatFieldsetKey","flatFieldsetFields","rest","childFields","name","f","childField","isFieldVisible","accumulator","accumulatedFieldsSorted","fieldsetPosition","accumulatorItem","enableAckFields","result","k","v","getMinStartDate","minOnBoardingTime","today","minDate","addBusinessDays","isWeekend","nextMonday","checkFieldHasForcedValue"]}
@@ -1,2 +0,0 @@
1
- import{a as o}from"./chunk-P37U34EQ.js";import{createContext as e,useContext as n}from"react";var r=e(null),m=o(()=>{let t=n(r);if(!t?.components)throw new Error("useFormFields must be used within a FormFieldsProvider");return{components:t.components}},"useFormFields"),s=e({client:null}),i=o(()=>n(s),"useClient");export{r as a,m as b,s as c,i as d};
2
- //# sourceMappingURL=chunk-KQPDXXG3.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/context.ts"],"sourcesContent":["import { Client } from '@/src/client/client';\nimport { createContext, useContext } from 'react';\nimport { Components } from './types/remoteFlows';\n\nexport const FormFieldsContext = createContext<{\n components: Components;\n} | null>(null);\n\nexport const useFormFields = () => {\n const context = useContext(FormFieldsContext);\n if (!context?.components) {\n throw new Error('useFormFields must be used within a FormFieldsProvider');\n }\n\n return {\n components: context.components,\n };\n};\n\nexport const RemoteFlowContext = createContext<{ client: Client | null }>({\n client: null,\n});\n\nexport const useClient = () => useContext(RemoteFlowContext);\n"],"mappings":"wCACA,OAAS,iBAAAA,EAAe,cAAAC,MAAkB,QAGnC,IAAMC,EAAoBC,EAEvB,IAAI,EAEDC,EAAgBC,EAAA,IAAM,CACjC,IAAMC,EAAUC,EAAWL,CAAiB,EAC5C,GAAI,CAACI,GAAS,WACZ,MAAM,IAAI,MAAM,wDAAwD,EAG1E,MAAO,CACL,WAAYA,EAAQ,UACtB,CACF,EAT6B,iBAWhBE,EAAoBL,EAAyC,CACxE,OAAQ,IACV,CAAC,EAEYM,EAAYJ,EAAA,IAAME,EAAWC,CAAiB,EAAlC","names":["createContext","useContext","FormFieldsContext","createContext","useFormFields","__name","context","useContext","RemoteFlowContext","useClient"]}
@@ -1,2 +0,0 @@
1
- import{c as x,i as _}from"./chunk-SJZP5XKE.js";import{b as C}from"./chunk-KQPDXXG3.js";import{a}from"./chunk-P37U34EQ.js";import D from"lodash.groupby";import $ from"lodash.capitalize";var S=60,F=["monday","tuesday","wednesday","thursday","friday","saturday","sunday"];function M(e){if(e<60)return`${e}m`;let s=Math.floor(e/S),n=e%S;return n>0?`${s}h${n}m`:`${s}h`}a(M,"convertBreakDurationToHours");function O(e){let s=e.reduce((n,u)=>u.hours+n,0);return Number(s.toFixed(2))}a(O,"calculateTotalWorkHours");function H(e,s){let n=s.map(({day:c})=>c.toLowerCase()),u=n.indexOf(e),i=null;for(;u<n.length&&!i;){let c=n[u],k=n[u+1],r=F.indexOf(c)+1;F[r]===k||(i=c),u+=1}return i}a(H,"findLastConsecutiveDay");function N(e){return e.start_time&&e.end_time&&(typeof e.hours=="number"?e.hours:Number.parseInt(e.hours))>0}a(N,"shouldSummarizeSchedule");function T(e){return Number.parseInt(e.break_duration_minutes)>0}a(T,"shouldSummarizeBreaks");function I(e){let s=e.filter(N),n=D(s,r=>`${r.start_time}|${r.end_time}`),u=e.filter(T),i=D(u,"break_duration_minutes"),c=Object.keys(n).map(r=>{let o=n[r],y=o[0].day,[p,h]=r.split("|"),t=`from <span>${p.replace(":","h")}</span> to <span>${h.replace(":","h")}</span>`,d=H(y,o),m=(d?o.findIndex(f=>f.day===d):-1)===o.length-1;return o.length===1?`${$(y)}, ${t}`:!m||!d?o.reduce((f,b,v)=>{let g=$(b.day);return v===o.length-1?`${f}and ${g}, ${t}`:`${f}<span>${g}</span>, `},""):`<span>${$(y)}</span> to <span>${$(d)}</span>, ${t}`}),k=Object.keys(i).reverse().map((r,o)=>{let y=o===0,p=i[r],h=M(parseInt(r,10));if(Object.keys(i).length===1)return`With ${h} daily breaks`;if(p.length===1){let t=`${h} break on ${$(p[0].day)}.`;return y?`With ${t}`:t}return p.reduce((t,d,l)=>{let m=$(d.day);return l===0?`${t} ${m}`:l===p.length-1?`${t}, and ${m}.`:`${t}, ${m}`},y?`With ${h} break on`:`${h} break on`)});return{workHoursSummary:c,breakSummary:k}}a(I,"buildWorkScheduleSummary");function P(e){let{checked:s,start_time:n,end_time:u,break_duration_minutes:i}=e;if(!s)return 0;let[c,k]=n.split(":").map(Number),[r,o]=u.split(":").map(Number),y=c*60+k,t=(r*60+o-y-Number.parseInt(i||"0"))/60;return t===Math.floor(t)?t:Number(t.toFixed(2))}a(P,"calculateHours");var w={monday:"Mon",tuesday:"Tue",wednesday:"Wed",thursday:"Thu",friday:"Fri",saturday:"Sat",sunday:"Sun"};function R(e){return w[e]}a(R,"getShortWeekday");import{jsx as W}from"react/jsx-runtime";function U({name:e,defaultValue:s,description:n,label:u,onChange:i,multiple:c,options:k,component:r,...o}){let{components:y}=C(),{control:p}=x(),h=a((t,d,l)=>{if(c&&l){let m=t.value?[...t.value]:[];d?m.includes(l)||t.onChange([...m,l]):t.onChange(m.filter(f=>f!==l))}else t.onChange(d)},"handleCheckboxChange");return W(_,{control:p,name:e,defaultValue:s,render:({field:t,fieldState:d})=>{let l=r||y?.checkbox;if(!l)throw new Error(`Checkbox component not found for field ${e}`);let m={name:e,description:n,label:u,defaultValue:s,multiple:c,options:k,...o};return W(l,{field:{...t,onChange:a((f,b)=>{h(t,f,b),i?.(f,b)},"onChange")},fieldState:d,fieldData:m})}})}a(U,"CheckBoxField");export{F as a,O as b,I as c,P as d,R as e,U as f};
2
- //# sourceMappingURL=chunk-L6YEMU4A.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/form/fields/workScheduleUtils.ts","../src/components/form/fields/CheckBoxField.tsx"],"sourcesContent":["import groupBy from 'lodash.groupby';\nimport capitalize from 'lodash.capitalize';\n\nconst MINUTES_IN_HOUR = 60;\n\nexport const DAYS_OF_THE_WEEK = [\n 'monday',\n 'tuesday',\n 'wednesday',\n 'thursday',\n 'friday',\n 'saturday',\n 'sunday',\n] as const;\n\nexport type DailySchedule = {\n day: string;\n start_time: string;\n end_time: string;\n hours: number;\n break_duration_minutes: string;\n checked: boolean;\n};\n\n/**\n * Convert break duration in minutes to hours and minutes\n * @param breakDuration - Break duration in minutes\n * @returns Break duration in hours and minutes\n */\nfunction convertBreakDurationToHours(breakDuration: number) {\n if (breakDuration < 60) {\n return `${breakDuration}m`;\n }\n\n const hours = Math.floor(breakDuration / MINUTES_IN_HOUR);\n const minutes = breakDuration % MINUTES_IN_HOUR;\n\n if (minutes > 0) {\n return `${hours}h${minutes}m`;\n }\n\n return `${hours}h`;\n}\n\n/**\n * Calculate total work hours from daily schedules\n * @param dailySchedules - Daily schedules\n * @returns Total work hours\n */\nexport function calculateTotalWorkHours(dailySchedules: DailySchedule[]) {\n const totalWorkHours = dailySchedules.reduce((total, daySchedule) => {\n const sum = daySchedule.hours + total;\n return sum;\n }, 0);\n\n return Number(totalWorkHours.toFixed(2));\n}\n\n/**\n * Find the last consecutive day in a schedule (used to summarize work hours)\n * @param startDay - The starting day\n * @param dailySchedule - The daily schedule\n * @returns The last consecutive day\n */\nfunction findLastConsecutiveDay(\n startDay: string,\n dailySchedule: DailySchedule[],\n): Weekday | null {\n const daysScheduled = dailySchedule.map(\n ({ day }: DailySchedule) => day.toLowerCase() as Weekday,\n );\n\n let idx = daysScheduled.indexOf(startDay as Weekday);\n let day: Weekday | null = null;\n\n while (idx < daysScheduled.length && !day) {\n const currentDay = daysScheduled[idx];\n const nextDay = daysScheduled[idx + 1];\n\n const nextDayIdx = DAYS_OF_THE_WEEK.indexOf(currentDay) + 1;\n const isNextDay = DAYS_OF_THE_WEEK[nextDayIdx] === nextDay;\n\n if (!isNextDay) {\n day = currentDay;\n }\n\n idx += 1;\n }\n\n return day;\n}\n\n/**\n * Check if a day schedule should be summarized\n * @param daySchedule - The day schedule\n * @returns True if the day schedule should be summarized\n */\nfunction shouldSummarizeSchedule(daySchedule: DailySchedule) {\n return (\n daySchedule.start_time &&\n daySchedule.end_time &&\n (typeof daySchedule.hours === 'number'\n ? daySchedule.hours\n : Number.parseInt(daySchedule.hours)) > 0\n );\n}\n\n/**\n * Check if break duration should be summarized\n * @param daySchedule - The day schedule\n * @returns True if the break duration should be summarized\n */\nfunction shouldSummarizeBreaks(daySchedule: DailySchedule) {\n return Number.parseInt(daySchedule.break_duration_minutes) > 0;\n}\n\n/**\n * Build the work schedule summary\n * @param dailySchedules - The daily schedules\n * @returns The work schedule summary\n */\nexport function buildWorkScheduleSummary(dailySchedules: DailySchedule[]) {\n const activeScheduleDays = dailySchedules.filter(shouldSummarizeSchedule);\n\n const groupedWorkHours = groupBy(activeScheduleDays, (dailySchedule) => {\n return `${dailySchedule.start_time}|${dailySchedule.end_time}`;\n });\n\n const activeBreakDays = dailySchedules.filter(shouldSummarizeBreaks);\n const groupedBreaks = groupBy(activeBreakDays, 'break_duration_minutes');\n\n const workHoursSummary = Object.keys(groupedWorkHours).map(\n (scheduleTimes) => {\n const sameDailySchedule = groupedWorkHours[scheduleTimes];\n const startDay = sameDailySchedule[0].day;\n const [start_time, end_time] = scheduleTimes.split('|');\n const timeSummary = `from <span>${start_time.replace(':', 'h')}</span> to <span>${end_time.replace(':', 'h')}</span>`;\n\n const lastConsecutiveDay = findLastConsecutiveDay(\n startDay,\n sameDailySchedule,\n );\n const lastConsecutiveDayIdx = lastConsecutiveDay\n ? sameDailySchedule.findIndex(\n (dailySchedule) => dailySchedule.day === lastConsecutiveDay,\n )\n : -1;\n const allDaysAreConsecutive =\n lastConsecutiveDayIdx === sameDailySchedule.length - 1;\n\n if (sameDailySchedule.length === 1) {\n return `${capitalize(startDay)}, ${timeSummary}`;\n }\n\n if (!allDaysAreConsecutive || !lastConsecutiveDay) {\n return sameDailySchedule.reduce((summary, dailySchedule, idx) => {\n const day = capitalize(dailySchedule.day);\n if (idx === sameDailySchedule.length - 1) {\n return `${summary}and ${day}, ${timeSummary}`;\n }\n\n return `${summary}<span>${day}</span>, `;\n }, '');\n }\n\n return `<span>${capitalize(startDay)}</span> to <span>${capitalize(lastConsecutiveDay)}</span>, ${timeSummary}`;\n },\n );\n\n const breakSummary = Object.keys(groupedBreaks)\n .reverse()\n .map((breakDuration, idx) => {\n const isFirstGroup = idx === 0;\n const sameDailyBreaks = groupedBreaks[breakDuration];\n const breakString = convertBreakDurationToHours(\n parseInt(breakDuration, 10),\n );\n\n if (Object.keys(groupedBreaks).length === 1) {\n return `With ${breakString} daily breaks`;\n }\n\n if (sameDailyBreaks.length === 1) {\n const breakText = `${breakString} break on ${capitalize(sameDailyBreaks[0].day)}.`;\n return isFirstGroup ? `With ${breakText}` : breakText;\n }\n\n return sameDailyBreaks.reduce(\n (summary, dailySchedule, breakIdx) => {\n const day = capitalize(dailySchedule.day);\n\n if (breakIdx === 0) {\n return `${summary} ${day}`;\n }\n\n if (breakIdx === sameDailyBreaks.length - 1) {\n return `${summary}, and ${day}.`;\n }\n\n return `${summary}, ${day}`;\n },\n isFirstGroup\n ? `With ${breakString} break on`\n : `${breakString} break on`,\n );\n });\n\n return { workHoursSummary, breakSummary };\n}\n\n// Calculate hours for each day\nexport function calculateHours(day: DailySchedule) {\n const { checked, start_time, end_time, break_duration_minutes } = day;\n if (!checked) return 0;\n\n const [startHour, startMin] = start_time.split(':').map(Number);\n const [endHour, endMin] = end_time.split(':').map(Number);\n\n const startTotalMin = startHour * 60 + startMin;\n const endTotalMin = endHour * 60 + endMin;\n const workMinutes =\n endTotalMin -\n startTotalMin -\n Number.parseInt(break_duration_minutes || '0');\n\n const hours = workMinutes / 60;\n return hours === Math.floor(hours) ? hours : Number(hours.toFixed(2));\n}\n\ntype Weekday = (typeof DAYS_OF_THE_WEEK)[number];\n\nconst dayMap: Record<Weekday, string> = {\n monday: 'Mon',\n tuesday: 'Tue',\n wednesday: 'Wed',\n thursday: 'Thu',\n friday: 'Fri',\n saturday: 'Sat',\n sunday: 'Sun',\n};\n\nexport function getShortWeekday(fullName: Weekday): string {\n return dayMap[fullName];\n}\n","import { FormField } from '@/src/components/ui/form';\nimport { useFormFields } from '@/src/context';\nimport { Components, JSFField } from '@/src/types/remoteFlows';\nimport {\n ControllerRenderProps,\n FieldValues,\n useFormContext,\n} from 'react-hook-form';\n\nexport type CheckBoxFieldProps = {\n name: string;\n} & Partial<\n JSFField & {\n onChange?: (checked: boolean, optionId?: string) => void;\n component?: Components['checkbox'];\n }\n>;\n\nexport function CheckBoxField({\n name,\n defaultValue,\n description,\n label,\n onChange,\n multiple,\n options,\n component,\n ...rest\n}: CheckBoxFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n\n const handleCheckboxChange = (\n field: ControllerRenderProps<FieldValues, string>,\n checked: boolean,\n optionId?: string,\n ) => {\n if (multiple && optionId) {\n // Multiple checkboxes: manage as array\n const currentValues = field.value ? [...field.value] : [];\n if (checked) {\n if (!currentValues.includes(optionId)) {\n field.onChange([...currentValues, optionId]);\n }\n } else {\n field.onChange(currentValues.filter((value) => value !== optionId));\n }\n } else {\n // Single checkbox: simple boolean toggle\n field.onChange(checked);\n }\n };\n\n return (\n <FormField\n control={control}\n name={name}\n defaultValue={defaultValue}\n render={({ field, fieldState }) => {\n const Component = component || components?.checkbox;\n\n if (!Component) {\n throw new Error(`Checkbox component not found for field ${name}`);\n }\n\n const customCheckboxFieldProps = {\n name,\n description,\n label,\n defaultValue,\n multiple,\n options,\n ...rest,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (checked: boolean, optionId?: string) => {\n handleCheckboxChange(field, checked, optionId);\n onChange?.(checked, optionId);\n },\n }}\n fieldState={fieldState}\n fieldData={customCheckboxFieldProps}\n />\n );\n }}\n />\n );\n}\n"],"mappings":"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","names":["groupBy","capitalize","MINUTES_IN_HOUR","DAYS_OF_THE_WEEK","convertBreakDurationToHours","breakDuration","hours","minutes","__name","calculateTotalWorkHours","dailySchedules","totalWorkHours","total","daySchedule","findLastConsecutiveDay","startDay","dailySchedule","daysScheduled","day","idx","currentDay","nextDay","nextDayIdx","shouldSummarizeSchedule","shouldSummarizeBreaks","buildWorkScheduleSummary","activeScheduleDays","groupedWorkHours","groupBy","activeBreakDays","groupedBreaks","workHoursSummary","scheduleTimes","sameDailySchedule","start_time","end_time","timeSummary","lastConsecutiveDay","allDaysAreConsecutive","capitalize","summary","breakSummary","isFirstGroup","sameDailyBreaks","breakString","breakText","breakIdx","calculateHours","checked","break_duration_minutes","startHour","startMin","endHour","endMin","startTotalMin","dayMap","getShortWeekday","fullName","jsx","CheckBoxField","name","defaultValue","description","label","onChange","multiple","options","component","rest","components","useFormFields","control","useFormContext","handleCheckboxChange","__name","field","checked","optionId","currentValues","value","FormField","fieldState","Component","customCheckboxFieldProps"]}
@@ -1,2 +0,0 @@
1
- import{c as ce,g as vt}from"./chunk-B6INIXRK.js";import{a as i}from"./chunk-P37U34EQ.js";import F from"react";var pe=i(e=>e.type==="checkbox","isCheckBoxInput"),ye=i(e=>e instanceof Date,"isDateObject"),Q=i(e=>e==null,"isNullOrUndefined"),wt=i(e=>typeof e=="object","isObjectType"),B=i(e=>!Q(e)&&!Array.isArray(e)&&wt(e)&&!ye(e),"isObject"),Et=i(e=>B(e)&&e.target?pe(e.target)?e.target.checked:e.target.value:e,"getEventValue"),kt=i((e,r)=>r.split(".").some((t,s,u)=>!isNaN(Number(t))&&e.has(u.slice(0,s).join("."))),"isNameInFieldArray"),sr=i(e=>{let r=e.constructor&&e.constructor.prototype;return B(r)&&r.hasOwnProperty("isPrototypeOf")},"isPlainObject"),Ze=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function I(e){if(e instanceof Date)return new Date(e);let r=typeof FileList<"u"&&e instanceof FileList;if(Ze&&(e instanceof Blob||r))return e;let t=Array.isArray(e);if(!t&&!(B(e)&&sr(e)))return e;let s=t?[]:Object.create(Object.getPrototypeOf(e));for(let u in e)Object.prototype.hasOwnProperty.call(e,u)&&(s[u]=I(e[u]));return s}i(I,"cloneObject");var Re=i(e=>/^\w*$/.test(e),"isKey"),O=i(e=>e===void 0,"isUndefined"),we=i(e=>Array.isArray(e)?e.filter(Boolean):[],"compact"),et=i(e=>we(e.replace(/["|']|\]/g,"").split(/\.|\[/)),"stringToPath"),m=i((e,r,t)=>{if(!r||!B(e))return t;let u=(Re(r)?[r]:et(r)).reduce((o,c)=>Q(o)?void 0:o[c],e);return O(u)||u===e?O(e[r])?t:e[r]:u},"get"),ee=i(e=>typeof e=="boolean","isBoolean"),Y=i(e=>typeof e=="function","isFunction"),D=i((e,r,t)=>{let s=-1,u=Re(r)?[r]:et(r),o=u.length,c=o-1;for(;++s<o;){let d=u[s],C=t;if(s!==c){let A=e[d];C=B(A)||Array.isArray(A)?A:isNaN(+u[s+1])?{}:[]}if(d==="__proto__"||d==="constructor"||d==="prototype")return;e[d]=C,e=e[d]}},"set"),fe={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change",SUBMIT:"submit",TRIGGER:"trigger",VALID:"valid"},re={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},ie={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},Le="form",Dt="root",tt=F.createContext(null);tt.displayName="HookFormControlContext";var Ee=i(()=>F.useContext(tt),"useFormControlContext"),Tt=i((e,r,t,s=!0)=>{let u={defaultValues:r._defaultValues};for(let o in e)Object.defineProperty(u,o,{get:i(()=>{let c=o;return r._proxyFormState[c]!==re.all&&(r._proxyFormState[c]=!s||re.all),t&&(t[c]=!0),e[c]},"get")});return u},"getProxyFormState"),ke=typeof window<"u"?F.useLayoutEffect:F.useEffect;function rt(e){let r=Ee(),{control:t=r,disabled:s,name:u,exact:o}=e||{},[c,d]=F.useState(t._formState),C=F.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1});return ke(()=>t._subscribe({name:u,formState:C.current,exact:o,callback:i(A=>{!s&&d({...t._formState,...A})},"callback")}),[u,s,o]),F.useEffect(()=>{C.current.isValid&&t._setValid(!0)},[t]),F.useMemo(()=>Tt(c,t,C.current,!1),[c,t])}i(rt,"useFormState");var j=i(e=>typeof e=="string","isString"),Ke=i((e,r,t,s,u)=>j(e)?(s&&r.watch.add(e),m(t,e,u)):Array.isArray(e)?e.map(o=>(s&&r.watch.add(o),m(t,o))):(s&&(r.watchAll=!0),t),"generateWatchOutput"),Ye=i(e=>Q(e)||!wt(e),"isPrimitive");function te(e,r,t=new WeakSet){if(e===r)return!0;if(Ye(e)||Ye(r))return Object.is(e,r);if(ye(e)&&ye(r))return Object.is(e.getTime(),r.getTime());let s=Object.keys(e),u=Object.keys(r);if(s.length!==u.length)return!1;if(t.has(e)||t.has(r))return!0;t.add(e),t.add(r);for(let o of s){let c=e[o];if(!(o in r))return!1;if(o!=="ref"){let d=r[o];if(ye(c)&&ye(d)||(B(c)||Array.isArray(c))&&(B(d)||Array.isArray(d))?!te(c,d,t):!Object.is(c,d))return!1}}return!0}i(te,"deepEqual");function ar(e){let r=Ee(),{control:t=r,name:s,defaultValue:u,disabled:o,exact:c,compute:d}=e||{},C=F.useRef(u),A=F.useRef(d),W=F.useRef(void 0),b=F.useRef(t),E=F.useRef(s);A.current=d;let[p,H]=F.useState(()=>{let y=t._getWatch(s,C.current);return A.current?A.current(y):y}),M=F.useCallback(y=>{let _=Ke(s,t._names,y||t._formValues,!1,C.current);return A.current?A.current(_):_},[t._formValues,t._names,s]),L=F.useCallback(y=>{if(!o){let _=Ke(s,t._names,y||t._formValues,!1,C.current);if(A.current){let V=A.current(_);te(V,W.current)||(H(V),W.current=V)}else H(_)}},[t._formValues,t._names,o,s]);ke(()=>((b.current!==t||!te(E.current,s))&&(b.current=t,E.current=s,L()),t._subscribe({name:s,formState:{values:!0},exact:c,callback:i(y=>{L(y.values)},"callback")})),[t,c,s,L]),F.useEffect(()=>t._removeUnmounted());let P=b.current!==t,x=E.current,$=F.useMemo(()=>{if(o)return null;let y=!P&&!te(x,s);return P||y?M():null},[o,P,s,x,M]);return $!==null?$:p}i(ar,"useWatch");function ir(e){let r=Ee(),{name:t,disabled:s,control:u=r,shouldUnregister:o,defaultValue:c,exact:d=!0}=e,C=kt(u._names.array,t),A=F.useMemo(()=>m(u._formValues,t,m(u._defaultValues,t,c)),[u,t,c]),W=ar({control:u,name:t,defaultValue:A,exact:d}),b=rt({control:u,name:t,exact:d}),E=F.useRef(e),p=F.useRef(void 0),H=F.useRef(u.register(t,{...e.rules,value:W,...ee(e.disabled)?{disabled:e.disabled}:{}}));E.current=e;let M=F.useMemo(()=>Object.defineProperties({},{invalid:{enumerable:!0,get:i(()=>!!m(b.errors,t),"get")},isDirty:{enumerable:!0,get:i(()=>!!m(b.dirtyFields,t),"get")},isTouched:{enumerable:!0,get:i(()=>!!m(b.touchedFields,t),"get")},isValidating:{enumerable:!0,get:i(()=>!!m(b.validatingFields,t),"get")},error:{enumerable:!0,get:i(()=>m(b.errors,t),"get")}}),[b,t]),L=F.useCallback(y=>H.current.onChange({target:{value:Et(y),name:t},type:fe.CHANGE}),[t]),P=F.useCallback(()=>H.current.onBlur({target:{value:m(u._formValues,t),name:t},type:fe.BLUR}),[t,u._formValues]),x=F.useCallback(y=>{let _=m(u._fields,t);_&&_._f&&y&&(_._f.ref={focus:i(()=>Y(y.focus)&&y.focus(),"focus"),select:i(()=>Y(y.select)&&y.select(),"select"),setCustomValidity:i(V=>Y(y.setCustomValidity)&&y.setCustomValidity(V),"setCustomValidity"),reportValidity:i(()=>Y(y.reportValidity)&&y.reportValidity(),"reportValidity")})},[u._fields,t]),$=F.useMemo(()=>({name:t,value:W,...ee(s)||b.disabled?{disabled:b.disabled||s}:{},onChange:L,onBlur:P,ref:x}),[t,s,b.disabled,L,P,x,W]);return F.useEffect(()=>{let y=u._options.shouldUnregister||o,_=p.current;_&&_!==t&&!C&&u.unregister(_),u.register(t,{...E.current.rules,...ee(E.current.disabled)?{disabled:E.current.disabled}:{}});let V=i((R,se)=>{let q=m(u._fields,R);q&&q._f&&(q._f.mount=se)},"updateMounted");if(V(t,!0),y){let R=I(m(u._options.defaultValues,t,E.current.defaultValue));D(u._defaultValues,t,R),O(m(u._formValues,t))&&D(u._formValues,t,R)}return!C&&u.register(t),p.current=t,()=>{(C?y&&!u._state.action:y)?u.unregister(t):V(t,!1)}},[t,u,C,o]),F.useEffect(()=>{u._setDisabledField({disabled:s,name:t})},[s,t,u]),F.useMemo(()=>({field:$,formState:b,fieldState:M}),[$,b,M])}i(ir,"useController");var Ot=i(e=>e.render(ir(e)),"Controller");var st=F.createContext(null);st.displayName="HookFormContext";var It=i(()=>F.useContext(st),"useFormContext"),Nt=i(e=>{let{children:r,watch:t,getValues:s,getFieldState:u,setError:o,clearErrors:c,setValue:d,trigger:C,formState:A,resetField:W,reset:b,handleSubmit:E,unregister:p,control:H,register:M,setFocus:L,subscribe:P}=e,x=F.useMemo(()=>({watch:t,getValues:s,getFieldState:u,setError:o,clearErrors:c,setValue:d,trigger:C,formState:A,resetField:W,reset:b,handleSubmit:E,unregister:p,control:H,register:M,setFocus:L,subscribe:P}),[c,H,A,u,s,E,M,b,W,o,L,d,P,C,p,t]);return F.createElement(st.Provider,{value:x},F.createElement(tt.Provider,{value:x.control},r))},"FormProvider");var nr=i((e,r,t,s,u)=>r?{...t[e],types:{...t[e]&&t[e].types?t[e].types:{},[s]:u||!0}}:{},"appendErrors"),X=i(e=>Array.isArray(e)?e:[e],"convertToArrayPayload"),Ft=i(()=>{let e=[];return{get observers(){return e},next:i(u=>{for(let o of e)o.next&&o.next(u)},"next"),subscribe:i(u=>(e.push(u),{unsubscribe:i(()=>{e=e.filter(o=>o!==u)},"unsubscribe")}),"subscribe"),unsubscribe:i(()=>{e=[]},"unsubscribe")}},"createSubject");function Mt(e,r){let t={};for(let s in e)if(e.hasOwnProperty(s)){let u=e[s],o=r[s];if(u&&B(u)&&o){let c=Mt(u,o);B(c)&&(t[s]=c)}else e[s]&&(t[s]=o)}return t}i(Mt,"extractFormValues");var G=i(e=>B(e)&&!Object.keys(e).length,"isEmptyObject"),at=i(e=>e.type==="file","isFileInput"),Ce=i(e=>{if(!Ze)return!1;let r=e?e.ownerDocument:0;return e instanceof(r&&r.defaultView?r.defaultView.HTMLElement:HTMLElement)},"isHTMLElement"),Pt=i(e=>e.type==="select-multiple","isMultipleSelect"),it=i(e=>e.type==="radio","isRadioInput"),or=i(e=>it(e)||pe(e),"isRadioOrCheckbox"),Ue=i(e=>Ce(e)&&e.isConnected,"live");function lr(e,r){let t=r.slice(0,-1).length,s=0;for(;s<t;)e=O(e)?s++:e[r[s++]];return e}i(lr,"baseGet");function ur(e){for(let r in e)if(e.hasOwnProperty(r)&&!O(e[r]))return!1;return!0}i(ur,"isEmptyArray");function U(e,r){if(j(r)&&Object.prototype.hasOwnProperty.call(e,r))return delete e[r],e;let t=Array.isArray(r)?r:Re(r)?[r]:et(r),s=t.length===1?e:lr(e,t),u=t.length-1,o=t[u];return s&&delete s[o],u!==0&&(B(s)&&G(s)||Array.isArray(s)&&ur(s))&&U(e,t.slice(0,-1)),e}i(U,"unset");var cr=i(e=>{for(let r in e)if(Y(e[r]))return!0;return!1},"objectHasFunction");function Lt(e){return Array.isArray(e)||B(e)&&!cr(e)}i(Lt,"isTraversable");function Je(e,r={}){for(let t in e){let s=e[t];Lt(s)?(r[t]=Array.isArray(s)?[]:{},Je(s,r[t])):O(s)||(r[t]=!0)}return r}i(Je,"markFieldsDirty");function Ve(e,r,t){t||(t=Je(r));for(let s in e){let u=e[s];if(Lt(u))O(r)||Ye(t[s])?t[s]=Je(u,Array.isArray(u)?[]:{}):Ve(u,Q(r)?{}:r[s],t[s]);else{let o=r[s];t[s]=!te(u,o)}}return t}i(Ve,"getDirtyFields");var bt={value:!1,isValid:!1},Vt={value:!0,isValid:!0},Ut=i(e=>{if(Array.isArray(e)){if(e.length>1){let r=e.filter(t=>t&&t.checked&&!t.disabled).map(t=>t.value);return{value:r,isValid:!!r.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!O(e[0].attributes.value)?O(e[0].value)||e[0].value===""?Vt:{value:e[0].value,isValid:!0}:Vt:bt}return bt},"getCheckboxValue"),Bt=i((e,{valueAsNumber:r,valueAsDate:t,setValueAs:s})=>O(e)?e:r?e===""?NaN:e&&+e:t&&j(e)?new Date(e):s?s(e):e,"getFieldValueAs"),pt={isValid:!1,value:null},Ht=i(e=>Array.isArray(e)?e.reduce((r,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:r,pt):pt,"getRadioValue");function xt(e){let r=e.ref;return at(r)?r.files:it(r)?Ht(e.refs).value:Pt(r)?[...r.selectedOptions].map(({value:t})=>t):pe(r)?Ut(e.refs).value:Bt(O(r.value)?e.ref.value:r.value,e)}i(xt,"getFieldValue");var dr=i(e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,"getNodeParentName"),fr=i((e,r,t,s)=>{let u={};for(let o of e){let c=m(r,o);c&&D(u,o,c._f)}return{criteriaMode:t,names:[...e],fields:u,shouldUseNativeValidation:s}},"getResolverOptions"),Se=i(e=>e instanceof RegExp,"isRegex"),be=i(e=>O(e)?e:Se(e)?e.source:B(e)?Se(e.value)?e.value.source:e.value:e,"getRuleValue"),_e=i(e=>({isOnSubmit:!e||e===re.onSubmit,isOnBlur:e===re.onBlur,isOnChange:e===re.onChange,isOnAll:e===re.all,isOnTouch:e===re.onTouched}),"getValidationModes"),At="AsyncFunction",mr=i(e=>!!e&&!!e.validate&&!!(Y(e.validate)&&e.validate.constructor.name===At||B(e.validate)&&Object.values(e.validate).find(r=>r.constructor.name===At)),"hasPromiseValidation"),yr=i(e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),"hasValidation"),Qe=i((e,r,t)=>!t&&(r.watchAll||r.watch.has(e)||[...r.watch].some(s=>e.startsWith(s)&&/^\.\w+/.test(e.slice(s.length)))),"isWatched"),he=i((e,r,t,s)=>{for(let u of t||Object.keys(e)){let o=m(e,u);if(o){let{_f:c,...d}=o;if(c){if(c.refs&&c.refs[0]&&r(c.refs[0],u)&&!s)return!0;if(c.ref&&r(c.ref,c.name)&&!s)return!0;if(he(d,r))break}else if(B(d)&&he(d,r))break}}},"iterateFieldsByAction");function Ct(e,r,t){let s=m(e,t);if(s||Re(t))return{error:s,name:t};let u=t.split(".");for(;u.length;){let o=u.join("."),c=m(r,o),d=m(e,o);if(c&&!Array.isArray(c)&&t!==o)return{name:t};if(d&&d.type)return{name:o,error:d};if(d&&d.root&&d.root.type)return{name:`${o}.root`,error:d.root};u.pop()}return{name:t}}i(Ct,"schemaErrorLookup");var gr=i((e,r,t,s)=>{t(e);let{name:u,...o}=e;return G(o)||Object.keys(o).length>=Object.keys(r).length||Object.keys(o).find(c=>r[c]===(!s||re.all))},"shouldRenderFormState"),_r=i((e,r,t)=>!e||!r||e===r||X(e).some(s=>s&&(t?s===r:s.startsWith(r)||r.startsWith(s))),"shouldSubscribeByName"),hr=i((e,r,t,s,u)=>u.isOnAll?!1:!t&&u.isOnTouch?!(r||e):(t?s.isOnBlur:u.isOnBlur)?!e:(t?s.isOnChange:u.isOnChange)?e:!0,"skipValidation"),vr=i((e,r)=>!we(m(e,r)).length&&U(e,r),"unsetEmptyArray"),Wt=i((e,r,t)=>{let s=X(m(e,t));return D(s,Dt,r[t]),D(e,t,s),e},"updateFieldArrayRootError");function St(e,r,t="validate"){if(j(e)||Array.isArray(e)&&e.every(j)||ee(e)&&!e)return{type:t,message:j(e)?e:"",ref:r}}i(St,"getValidateError");var ge=i(e=>B(e)&&!Se(e)?e:{value:e,message:""},"getValueAndMessage"),Xe=i(async(e,r,t,s,u,o)=>{let{ref:c,refs:d,required:C,maxLength:A,minLength:W,min:b,max:E,pattern:p,validate:H,name:M,valueAsNumber:L,mount:P}=e._f,x=m(t,M);if(!P||r.has(M))return{};let $=d?d[0]:c,y=i(w=>{u&&$.reportValidity&&($.setCustomValidity(ee(w)?"":w||""),$.reportValidity())},"setCustomValidity"),_={},V=it(c),R=pe(c),se=V||R,q=(L||at(c))&&O(c.value)&&O(x)||Ce(c)&&c.value===""||x===""||Array.isArray(x)&&!x.length,me=nr.bind(null,M,s,_),ve=i((w,T,N,z=ie.maxLength,ne=ie.minLength)=>{let ae=w?T:N;_[M]={type:w?z:ne,message:ae,ref:c,...me(w?z:ne,ae)}},"getMinMaxMessage");if(o?!Array.isArray(x)||!x.length:C&&(!se&&(q||Q(x))||ee(x)&&!x||R&&!Ut(d).isValid||V&&!Ht(d).isValid)){let{value:w,message:T}=j(C)?{value:!!C,message:C}:ge(C);if(w&&(_[M]={type:ie.required,message:T,ref:$,...me(ie.required,T)},!s))return y(T),_}if(!q&&(!Q(b)||!Q(E))){let w,T,N=ge(E),z=ge(b);if(!Q(x)&&!isNaN(x)){let ne=c.valueAsNumber||x&&+x;Q(N.value)||(w=ne>N.value),Q(z.value)||(T=ne<z.value)}else{let ne=c.valueAsDate||new Date(x),ae=i(xe=>new Date(new Date().toDateString()+" "+xe),"convertTimeToDate"),Fe=c.type=="time",ue=c.type=="week";j(N.value)&&x&&(w=Fe?ae(x)>ae(N.value):ue?x>N.value:ne>new Date(N.value)),j(z.value)&&x&&(T=Fe?ae(x)<ae(z.value):ue?x<z.value:ne<new Date(z.value))}if((w||T)&&(ve(!!w,N.message,z.message,ie.max,ie.min),!s))return y(_[M].message),_}if((A||W)&&!q&&(j(x)||o&&Array.isArray(x))){let w=ge(A),T=ge(W),N=!Q(w.value)&&x.length>+w.value,z=!Q(T.value)&&x.length<+T.value;if((N||z)&&(ve(N,w.message,T.message),!s))return y(_[M].message),_}if(p&&!q&&j(x)){let{value:w,message:T}=ge(p);if(Se(w)&&!x.match(w)&&(_[M]={type:ie.pattern,message:T,ref:c,...me(ie.pattern,T)},!s))return y(T),_}if(H){if(Y(H)){let w=await H(x,t),T=St(w,$);if(T&&(_[M]={...T,...me(ie.validate,T.message)},!s))return y(T.message),_}else if(B(H)){let w={};for(let T in H){if(!G(w)&&!s)break;let N=St(await H[T](x,t),$,T);N&&(w={...N,...me(T,N.message)},y(N.message),s&&(_[M]=w))}if(!G(w)&&(_[M]={ref:$,...w},!s))return _}}return y(!0),_},"validateField"),Fr={mode:re.onSubmit,reValidateMode:re.onChange,shouldFocusError:!0};function br(e={}){let r={...Fr,...e},t={submitCount:0,isDirty:!1,isReady:!1,isLoading:Y(r.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:r.errors||{},disabled:r.disabled||!1},s={},u=B(r.defaultValues)||B(r.values)?I(r.defaultValues||r.values)||{}:{},o=r.shouldUnregister?{}:I(u),c={action:!1,mount:!1,watch:!1,keepIsValid:!1},d={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set,registerName:new Set},C,A=0,W={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},b={...W},E={...b},p={array:Ft(),state:Ft()},H=r.criteriaMode===re.all,M=i(a=>n=>{clearTimeout(A),A=setTimeout(a,n)},"debounce"),L=i(async a=>{if(!c.keepIsValid&&!r.disabled&&(b.isValid||E.isValid||a)){let n;r.resolver?(n=G((await q()).errors),P()):n=await w({fields:s,onlyCheckValid:!0,eventType:fe.VALID}),n!==t.isValid&&p.state.next({isValid:n})}},"_setValid"),P=i((a,n)=>{!r.disabled&&(b.isValidating||b.validatingFields||E.isValidating||E.validatingFields)&&((a||Array.from(d.mount)).forEach(l=>{l&&(n?D(t.validatingFields,l,n):U(t.validatingFields,l))}),p.state.next({validatingFields:t.validatingFields,isValidating:!G(t.validatingFields)}))},"_updateIsValidating"),x=i(a=>{let n=Ve(u,o),l=dr(a);D(t.dirtyFields,l,m(n,l))},"_updateDirtyFields"),$=i((a,n=[],l,h,g=!0,f=!0)=>{if(h&&l&&!r.disabled){if(c.action=!0,f&&Array.isArray(m(s,a))){let v=l(m(s,a),h.argA,h.argB);g&&D(s,a,v)}if(f&&Array.isArray(m(t.errors,a))){let v=l(m(t.errors,a),h.argA,h.argB);g&&D(t.errors,a,v),vr(t.errors,a)}if((b.touchedFields||E.touchedFields)&&f&&Array.isArray(m(t.touchedFields,a))){let v=l(m(t.touchedFields,a),h.argA,h.argB);g&&D(t.touchedFields,a,v)}(b.dirtyFields||E.dirtyFields)&&x(a),p.state.next({name:a,isDirty:N(a,n),dirtyFields:t.dirtyFields,errors:t.errors,isValid:t.isValid})}else D(o,a,n)},"_setFieldArray"),y=i((a,n)=>{D(t.errors,a,n),p.state.next({errors:t.errors})},"updateErrors"),_=i(a=>{t.errors=a,p.state.next({errors:t.errors,isValid:!1})},"_setErrors"),V=i((a,n,l,h)=>{let g=m(s,a);if(g){let f=m(o,a,O(l)?m(u,a):l);O(f)||h&&h.defaultChecked||n?D(o,a,n?f:xt(g._f)):ae(a,f),c.mount&&!c.action&&L()}},"updateValidAndValue"),R=i((a,n,l,h,g)=>{let f=!1,v=!1,S={name:a};if(!r.disabled){if(!l||h){(b.isDirty||E.isDirty)&&(v=t.isDirty,t.isDirty=S.isDirty=N(),f=v!==S.isDirty);let k=te(m(u,a),n);v=!!m(t.dirtyFields,a),k?U(t.dirtyFields,a):D(t.dirtyFields,a,!0),S.dirtyFields=t.dirtyFields,f=f||(b.dirtyFields||E.dirtyFields)&&v!==!k}if(l){let k=m(t.touchedFields,a);k||(D(t.touchedFields,a,l),S.touchedFields=t.touchedFields,f=f||(b.touchedFields||E.touchedFields)&&k!==l)}f&&g&&p.state.next(S)}return f?S:{}},"updateTouchAndDirty"),se=i((a,n,l,h)=>{let g=m(t.errors,a),f=(b.isValid||E.isValid)&&ee(n)&&t.isValid!==n;if(r.delayError&&l?(C=M(()=>y(a,l)),C(r.delayError)):(clearTimeout(A),C=null,l?D(t.errors,a,l):U(t.errors,a)),(l?!te(g,l):g)||!G(h)||f){let v={...h,...f&&ee(n)?{isValid:n}:{},errors:t.errors,name:a};t={...t,...v},p.state.next(v)}},"shouldRenderByError"),q=i(async a=>(P(a,!0),await r.resolver(o,r.context,fr(a||d.mount,s,r.criteriaMode,r.shouldUseNativeValidation))),"_runSchema"),me=i(async a=>{let{errors:n}=await q(a);if(P(a),a)for(let l of a){let h=m(n,l);h?D(t.errors,l,h):U(t.errors,l)}else t.errors=n;return n},"executeSchemaAndUpdateState"),ve=i(async({name:a,eventType:n})=>{if(e.validate){let l=await e.validate({formValues:o,formState:t,name:a,eventType:n});if(B(l))for(let h in l)l[h]&&Ae(`${Le}.${h}`,{message:j(l.message)?l.message:"",type:ie.validate});else j(l)||!l?Ae(Le,{message:l||"",type:ie.validate}):ut(Le);return l}return!0},"validateForm"),w=i(async({fields:a,onlyCheckValid:n,name:l,eventType:h,context:g={valid:!0,runRootValidation:!1}})=>{if(e.validate&&(g.runRootValidation=!0,!await ve({name:l,eventType:h})&&(g.valid=!1,n)))return g.valid;for(let f in a){let v=a[f];if(v){let{_f:S,...k}=v;if(S){let K=d.array.has(S.name),oe=v._f&&mr(v._f);oe&&b.validatingFields&&P([S.name],!0);let J=await Xe(v,d.disabled,o,H,r.shouldUseNativeValidation&&!n,K);if(oe&&b.validatingFields&&P([S.name]),J[S.name]&&(g.valid=!1,n)||(!n&&(m(J,S.name)?K?Wt(t.errors,J,S.name):D(t.errors,S.name,J[S.name]):U(t.errors,S.name)),e.shouldUseNativeValidation&&J[S.name]))break}!G(k)&&await w({context:g,onlyCheckValid:n,fields:k,name:f,eventType:h})}}return g.valid},"executeBuiltInValidation"),T=i(()=>{for(let a of d.unMount){let n=m(s,a);n&&(n._f.refs?n._f.refs.every(l=>!Ue(l)):!Ue(n._f.ref))&&Oe(a)}d.unMount=new Set},"_removeUnmounted"),N=i((a,n)=>!r.disabled&&(a&&n&&D(o,a,n),!te(ot(),u)),"_getDirty"),z=i((a,n,l)=>Ke(a,d,{...c.mount?o:O(n)?u:j(a)?{[a]:n}:n},l,n),"_getWatch"),ne=i(a=>we(m(c.mount?o:u,a,r.shouldUnregister?m(u,a,[]):[])),"_getFieldArray"),ae=i((a,n,l={})=>{let h=m(s,a),g=n;if(h){let f=h._f;f&&(!f.disabled&&D(o,a,Bt(n,f)),g=Ce(f.ref)&&Q(n)?"":n,Pt(f.ref)?[...f.ref.options].forEach(v=>v.selected=g.includes(v.value)):f.refs?pe(f.ref)?f.refs.forEach(v=>{(!v.defaultChecked||!v.disabled)&&(Array.isArray(g)?v.checked=!!g.find(S=>S===v.value):v.checked=g===v.value||!!g)}):f.refs.forEach(v=>v.checked=v.value===g):at(f.ref)?f.ref.value="":(f.ref.value=g,f.ref.type||p.state.next({name:a,values:I(o)})))}(l.shouldDirty||l.shouldTouch)&&R(a,g,l.shouldTouch,l.shouldDirty,!0),l.shouldValidate&&Te(a)},"setFieldValue"),Fe=i((a,n,l)=>{for(let h in n){if(!n.hasOwnProperty(h))return;let g=n[h],f=a+"."+h,v=m(s,f);(d.array.has(a)||B(g)||v&&!v._f)&&!ye(g)?Fe(f,g,l):ae(f,g,l)}},"setValues"),ue=i((a,n,l={})=>{let h=m(s,a),g=d.array.has(a),f=I(n),v=m(o,a),S=te(v,f);if(D(o,a,f),g)p.array.next({name:a,values:I(o)}),l.shouldDirty&&(x(a),p.state.next({name:a,dirtyFields:t.dirtyFields,isDirty:N(a,f)}));else{let k=Array.isArray(f)&&!f.length||G(f);!h||h._f||Q(f)||k?ae(a,f,l):Fe(a,f,l)}S||(Qe(a,d)?p.state.next({...t,name:a,values:I(o)}):p.state.next({name:c.mount?a:void 0,values:I(o)}))},"setValue"),xe=i(async a=>{c.mount=!0;let n=a.target,l=n.name,h=!0,g=m(s,l),f=i(k=>{h=Number.isNaN(k)||ye(k)&&isNaN(k.getTime())||te(k,m(o,l,k))},"_updateIsFieldValueUpdated"),v=_e(r.mode),S=_e(r.reValidateMode);if(g){let k,K,oe=n.type?xt(g._f):Et(a),J=a.type===fe.BLUR||a.type===fe.FOCUS_OUT,er=!yr(g._f)&&!e.validate&&!r.resolver&&!m(t.errors,l)&&!g._f.deps||hr(J,m(t.touchedFields,l),t.isSubmitted,S,v),Me=Qe(l,d,J);D(o,l,oe),J?(!n||!n.readOnly)&&(g._f.onBlur&&g._f.onBlur(a),C&&C(0)):g._f.onChange&&g._f.onChange(a);let Pe=R(l,oe,J),tr=!G(Pe)||Me;if(!J&&p.state.next({name:l,type:a.type,values:I(o)}),er)return(b.isValid||E.isValid)&&(r.mode==="onBlur"?J&&L():J||L()),tr&&p.state.next({name:l,...Me?{}:Pe});if(!r.resolver&&e.validate&&await ve({name:l,eventType:a.type}),!J&&Me&&p.state.next({...t}),r.resolver){let{errors:_t}=await q([l]);if(P([l]),f(oe),h){let rr=Ct(t.errors,s,l),ht=Ct(_t,s,rr.name||l);k=ht.error,l=ht.name,K=G(_t)}}else P([l],!0),k=(await Xe(g,d.disabled,o,H,r.shouldUseNativeValidation))[l],P([l]),f(oe),h&&(k?K=!1:(b.isValid||E.isValid)&&(K=await w({fields:s,onlyCheckValid:!0,name:l,eventType:a.type})));h&&(g._f.deps&&(!Array.isArray(g._f.deps)||g._f.deps.length>0)&&Te(g._f.deps),se(l,K,k,Pe))}},"onChange"),nt=i((a,n)=>{if(m(t.errors,n)&&a.focus)return a.focus(),1},"_focusInput"),Te=i(async(a,n={})=>{let l,h,g=X(a);if(r.resolver){let f=await me(O(a)?a:g);l=G(f),h=a?!g.some(v=>m(f,v)):l}else a?(h=(await Promise.all(g.map(async f=>{let v=m(s,f);return await w({fields:v&&v._f?{[f]:v}:v,eventType:fe.TRIGGER})}))).every(Boolean),!(!h&&!t.isValid)&&L()):h=l=await w({fields:s,name:a,eventType:fe.TRIGGER});return p.state.next({...!j(a)||(b.isValid||E.isValid)&&l!==t.isValid?{}:{name:a},...r.resolver||!a?{isValid:l}:{},errors:t.errors}),n.shouldFocus&&!h&&he(s,nt,a?g:d.mount),h},"trigger"),ot=i((a,n)=>{let l={...c.mount?o:u};return n&&(l=Mt(n.dirtyFields?t.dirtyFields:t.touchedFields,l)),O(a)?l:j(a)?m(l,a):a.map(h=>m(l,h))},"getValues"),lt=i((a,n)=>({invalid:!!m((n||t).errors,a),isDirty:!!m((n||t).dirtyFields,a),error:m((n||t).errors,a),isValidating:!!m(t.validatingFields,a),isTouched:!!m((n||t).touchedFields,a)}),"getFieldState"),ut=i(a=>{let n=a?X(a):void 0;n?.forEach(l=>U(t.errors,l)),n?n.forEach(l=>{p.state.next({name:l,errors:t.errors})}):p.state.next({errors:{}})},"clearErrors"),Ae=i((a,n,l)=>{let h=(m(s,a,{_f:{}})._f||{}).ref,g=m(t.errors,a)||{},{ref:f,message:v,type:S,...k}=g;D(t.errors,a,{...k,...n,ref:h}),p.state.next({name:a,errors:t.errors,isValid:!1}),l&&l.shouldFocus&&h&&h.focus&&h.focus()},"setError"),Kt=i((a,n)=>Y(a)?p.state.subscribe({next:i(l=>"values"in l&&a(l.values||z(void 0,n),l),"next")}):z(a,n,!0),"watch"),ct=i(a=>p.state.subscribe({next:i(n=>{if(_r(a.name,n.name,a.exact)&&gr(n,a.formState||b,Zt,a.reRenderRoot)){let l={...o};a.callback({values:l,...t,...n,defaultValues:u})}},"next")}).unsubscribe,"_subscribe"),Yt=i(a=>(c.mount=!0,E={...E,...a.formState},ct({...a,formState:{...W,...a.formState}})),"subscribe"),Oe=i((a,n={})=>{for(let l of a?X(a):d.mount)d.mount.delete(l),d.array.delete(l),n.keepValue||(U(s,l),U(o,l)),!n.keepError&&U(t.errors,l),!n.keepDirty&&U(t.dirtyFields,l),!n.keepTouched&&U(t.touchedFields,l),!n.keepIsValidating&&U(t.validatingFields,l),!r.shouldUnregister&&!n.keepDefaultValue&&U(u,l);p.state.next({values:I(o)}),p.state.next({...t,...n.keepDirty?{isDirty:N()}:{}}),!n.keepIsValid&&L()},"unregister"),dt=i(({disabled:a,name:n})=>{if(ee(a)&&c.mount||a||d.disabled.has(n)){let g=d.disabled.has(n)!==!!a;a?d.disabled.add(n):d.disabled.delete(n),g&&c.mount&&!c.action&&L()}},"_setDisabledField"),Ie=i((a,n={})=>{let l=m(s,a),h=ee(n.disabled)||ee(r.disabled),g=!d.registerName.has(a)&&l&&l._f&&!l._f.mount;return D(s,a,{...l||{},_f:{...l&&l._f?l._f:{ref:{name:a}},name:a,mount:!0,...n}}),d.mount.add(a),l&&!g?dt({disabled:ee(n.disabled)?n.disabled:r.disabled,name:a}):V(a,!0,n.value),{...h?{disabled:n.disabled||r.disabled}:{},...r.progressive?{required:!!n.required,min:be(n.min),max:be(n.max),minLength:be(n.minLength),maxLength:be(n.maxLength),pattern:be(n.pattern)}:{},name:a,onChange:xe,onBlur:xe,ref:i(f=>{if(f){d.registerName.add(a),Ie(a,n),d.registerName.delete(a),l=m(s,a);let v=O(f.value)&&f.querySelectorAll&&f.querySelectorAll("input,select,textarea")[0]||f,S=or(v),k=l._f.refs||[];if(S?k.find(K=>K===v):v===l._f.ref)return;D(s,a,{_f:{...l._f,...S?{refs:[...k.filter(Ue),v,...Array.isArray(m(u,a))?[{}]:[]],ref:{type:v.type,name:a}}:{ref:v}}}),V(a,!1,void 0,v)}else l=m(s,a,{}),l._f&&(l._f.mount=!1),(r.shouldUnregister||n.shouldUnregister)&&!(kt(d.array,a)&&c.action)&&d.unMount.add(a)},"ref")}},"register"),Ne=i(()=>r.shouldFocusError&&he(s,nt,d.mount),"_focusError"),Jt=i(a=>{ee(a)&&(p.state.next({disabled:a}),he(s,(n,l)=>{let h=m(s,l);h&&(n.disabled=h._f.disabled||a,Array.isArray(h._f.refs)&&h._f.refs.forEach(g=>{g.disabled=h._f.disabled||a}))},0,!1))},"_disableForm"),ft=i((a,n)=>async l=>{let h;l&&(l.preventDefault&&l.preventDefault(),l.persist&&l.persist());let g=I(o);if(p.state.next({isSubmitting:!0}),r.resolver){let{errors:f,values:v}=await q();P(),t.errors=f,g=I(v)}else await w({fields:s,eventType:fe.SUBMIT});if(d.disabled.size)for(let f of d.disabled)U(g,f);if(U(t.errors,Dt),G(t.errors)){p.state.next({errors:{}});try{await a(g,l)}catch(f){h=f}}else n&&await n({...t.errors},l),Ne(),setTimeout(Ne);if(p.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:G(t.errors)&&!h,submitCount:t.submitCount+1,errors:t.errors}),h)throw h},"handleSubmit"),Qt=i((a,n={})=>{m(s,a)&&(O(n.defaultValue)?ue(a,I(m(u,a))):(ue(a,n.defaultValue),D(u,a,I(n.defaultValue))),n.keepTouched||U(t.touchedFields,a),n.keepDirty||(U(t.dirtyFields,a),t.isDirty=n.defaultValue?N(a,I(m(u,a))):N()),n.keepError||(U(t.errors,a),b.isValid&&L()),p.state.next({...t}))},"resetField"),mt=i((a,n={})=>{let l=a?I(a):u,h=I(l),g=G(a),f=g?u:h;if(n.keepDefaultValues||(u=l),!n.keepValues){if(n.keepDirtyValues){let v=new Set([...d.mount,...Object.keys(Ve(u,o))]);for(let S of Array.from(v)){let k=m(t.dirtyFields,S),K=m(o,S),oe=m(f,S);k&&!O(K)?D(f,S,K):!k&&!O(oe)&&ue(S,oe)}}else{if(Ze&&O(a))for(let v of d.mount){let S=m(s,v);if(S&&S._f){let k=Array.isArray(S._f.refs)?S._f.refs[0]:S._f.ref;if(Ce(k)){let K=k.closest("form");if(K){K.reset();break}}}}if(n.keepFieldsRef)for(let v of d.mount)ue(v,m(f,v));else s={}}o=r.shouldUnregister?n.keepDefaultValues?I(u):{}:I(f),p.array.next({values:{...f}}),p.state.next({values:{...f}})}d={mount:n.keepDirtyValues?d.mount:new Set,unMount:new Set,array:new Set,registerName:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},c.mount=!b.isValid||!!n.keepIsValid||!!n.keepDirtyValues||!r.shouldUnregister&&!G(f),c.watch=!!r.shouldUnregister,c.keepIsValid=!!n.keepIsValid,c.action=!1,n.keepErrors||(t.errors={}),p.state.next({submitCount:n.keepSubmitCount?t.submitCount:0,isDirty:g?!1:n.keepDirty?t.isDirty:!!(n.keepDefaultValues&&!te(a,u)),isSubmitted:n.keepIsSubmitted?t.isSubmitted:!1,dirtyFields:g?{}:n.keepDirtyValues?n.keepDefaultValues&&o?Ve(u,o):t.dirtyFields:n.keepDefaultValues&&a?Ve(u,a):n.keepDirty?t.dirtyFields:{},touchedFields:n.keepTouched?t.touchedFields:{},errors:n.keepErrors?t.errors:{},isSubmitSuccessful:n.keepIsSubmitSuccessful?t.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:u})},"_reset"),yt=i((a,n)=>mt(Y(a)?a(o):a,{...r.resetOptions,...n}),"reset"),Xt=i((a,n={})=>{let l=m(s,a),h=l&&l._f;if(h){let g=h.refs?h.refs[0]:h.ref;g.focus&&setTimeout(()=>{g.focus(),n.shouldSelect&&Y(g.select)&&g.select()})}},"setFocus"),Zt=i(a=>{t={...t,...a}},"_setFormState"),gt={control:{register:Ie,unregister:Oe,getFieldState:lt,handleSubmit:ft,setError:Ae,_subscribe:ct,_runSchema:q,_updateIsValidating:P,_focusError:Ne,_getWatch:z,_getDirty:N,_setValid:L,_setFieldArray:$,_setDisabledField:dt,_setErrors:_,_getFieldArray:ne,_reset:mt,_resetDefaultValues:i(()=>Y(r.defaultValues)&&r.defaultValues().then(a=>{yt(a,r.resetOptions),p.state.next({isLoading:!1})}),"_resetDefaultValues"),_removeUnmounted:T,_disableForm:Jt,_subjects:p,_proxyFormState:b,get _fields(){return s},get _formValues(){return o},get _state(){return c},set _state(a){c=a},get _defaultValues(){return u},get _names(){return d},set _names(a){d=a},get _formState(){return t},get _options(){return r},set _options(a){r={...r,...a}}},subscribe:Yt,trigger:Te,register:Ie,handleSubmit:ft,watch:Kt,setValue:ue,getValues:ot,reset:yt,resetField:Qt,clearErrors:ut,unregister:Oe,setError:Ae,setFocus:Xt,getFieldState:lt};return{...gt,formControl:gt}}i(br,"createFormControl");var de=i(()=>{if(typeof crypto<"u"&&crypto.randomUUID)return crypto.randomUUID();let e=typeof performance>"u"?Date.now():performance.now()*1e3;return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,r=>{let t=(Math.random()*16+e)%16|0;return(r=="x"?t:t&3|8).toString(16)})},"generateId"),Be=i((e,r,t={})=>t.shouldFocus||O(t.shouldFocus)?t.focusName||`${e}.${O(t.focusIndex)?r:t.focusIndex}.`:"","getFocusFieldName"),He=i((e,r)=>[...e,...X(r)],"appendAt"),We=i(e=>Array.isArray(e)?e.map(()=>{}):void 0,"fillEmptyArray");function $e(e,r,t){return[...e.slice(0,r),...X(t),...e.slice(r)]}i($e,"insert");var qe=i((e,r,t)=>Array.isArray(e)?(O(e[t])&&(e[t]=void 0),e.splice(t,0,e.splice(r,1)[0]),e):[],"moveArrayAt"),Ge=i((e,r)=>[...X(r),...X(e)],"prependAt");function Vr(e,r){let t=0,s=[...e];for(let u of r)s.splice(u-t,1),t++;return we(s).length?s:[]}i(Vr,"removeAtIndexes");var ze=i((e,r)=>O(r)?[]:Vr(e,X(r).sort((t,s)=>t-s)),"removeArrayAt"),je=i((e,r,t)=>{[e[r],e[t]]=[e[t],e[r]]},"swapArrayAt"),Rt=i((e,r,t)=>(e[r]=t,e),"updateAt");function Rr(e){let r=Ee(),{control:t=r,name:s,keyName:u="id",shouldUnregister:o,rules:c}=e,[d,C]=F.useState(t._getFieldArray(s)),A=F.useRef(t._getFieldArray(s).map(de)),W=F.useRef(!1);t._names.array.add(s),F.useMemo(()=>c&&d.length>=0&&t.register(s,c),[t,s,d.length,c]),ke(()=>t._subjects.array.subscribe({next:i(({values:y,name:_})=>{if(_===s||!_){let V=m(y,s);Array.isArray(V)&&(C(V),A.current=V.map(de))}},"next")}).unsubscribe,[t,s]);let b=F.useCallback(y=>{W.current=!0,t._setFieldArray(s,y)},[t,s]),E=i((y,_)=>{let V=X(I(y)),R=He(t._getFieldArray(s),V);t._names.focus=Be(s,R.length-1,_),A.current=He(A.current,V.map(de)),b(R),C(R),t._setFieldArray(s,R,He,{argA:We(y)})},"append"),p=i((y,_)=>{let V=X(I(y)),R=Ge(t._getFieldArray(s),V);t._names.focus=Be(s,0,_),A.current=Ge(A.current,V.map(de)),b(R),C(R),t._setFieldArray(s,R,Ge,{argA:We(y)})},"prepend"),H=i(y=>{let _=ze(t._getFieldArray(s),y);A.current=ze(A.current,y),b(_),C(_),!Array.isArray(m(t._fields,s))&&D(t._fields,s,void 0),t._setFieldArray(s,_,ze,{argA:y})},"remove"),M=i((y,_,V)=>{let R=X(I(_)),se=$e(t._getFieldArray(s),y,R);t._names.focus=Be(s,y,V),A.current=$e(A.current,y,R.map(de)),b(se),C(se),t._setFieldArray(s,se,$e,{argA:y,argB:We(_)})},"insert$1"),L=i((y,_)=>{let V=t._getFieldArray(s);je(V,y,_),je(A.current,y,_),b(V),C(V),t._setFieldArray(s,V,je,{argA:y,argB:_},!1)},"swap"),P=i((y,_)=>{let V=t._getFieldArray(s);qe(V,y,_),qe(A.current,y,_),b(V),C(V),t._setFieldArray(s,V,qe,{argA:y,argB:_},!1)},"move"),x=i((y,_)=>{let V=I(_),R=Rt(t._getFieldArray(s),y,V);A.current=[...R].map((se,q)=>!se||q===y?de():A.current[q]),b(R),C([...R]),t._setFieldArray(s,R,Rt,{argA:y,argB:V},!0,!1)},"update"),$=i(y=>{let _=X(I(y));A.current=_.map(de),b([..._]),C([..._]),t._setFieldArray(s,[..._],V=>V,{},!0,!1)},"replace");return F.useEffect(()=>{t._state.action=!1,Qe(s,t._names)&&t._subjects.state.next({...t._formState});let y=_e(t._options.mode);if(W.current&&(!y.isOnSubmit||t._formState.isSubmitted)&&!_e(t._options.reValidateMode).isOnSubmit&&!y.isOnBlur)if(t._options.resolver)t._runSchema([s]).then(_=>{t._updateIsValidating([s]);let V=m(_.errors,s),R=m(t._formState.errors,s);(R?!V&&R.type||V&&(R.type!==V.type||R.message!==V.message):V&&V.type)&&(V?D(t._formState.errors,s,V):U(t._formState.errors,s),t._subjects.state.next({errors:t._formState.errors}))});else{let _=m(t._fields,s);_&&_._f&&!(_e(t._options.reValidateMode).isOnSubmit&&_e(t._options.mode).isOnSubmit)&&Xe(_,t._names.disabled,t._formValues,t._options.criteriaMode===re.all,t._options.shouldUseNativeValidation,!0).then(V=>!G(V)&&t._subjects.state.next({errors:Wt(t._formState.errors,V,s)}))}t._subjects.state.next({name:s,values:I(t._formValues)}),t._names.focus&&he(t._fields,(_,V)=>{if(t._names.focus&&V.startsWith(t._names.focus)&&_.focus)return _.focus(),1}),t._names.focus="",t._setValid(),W.current=!1},[d,s,t]),F.useEffect(()=>(!m(t._formValues,s)&&t._setFieldArray(s),()=>{let y=i((_,V)=>{let R=m(t._fields,_);R&&R._f&&(R._f.mount=V)},"updateMounted");t._options.shouldUnregister||o?t.unregister(s):y(s,!1)}),[s,t,u,o]),{swap:F.useCallback(L,[b,s,t]),move:F.useCallback(P,[b,s,t]),prepend:F.useCallback(p,[b,s,t]),append:F.useCallback(E,[b,s,t]),remove:F.useCallback(H,[b,s,t]),insert:F.useCallback(M,[b,s,t]),update:F.useCallback(x,[b,s,t]),replace:F.useCallback($,[b,s,t]),fields:F.useMemo(()=>d.map((y,_)=>({...y,[u]:A.current[_]||de()})),[d,u])}}i(Rr,"useFieldArray");function wr(e={}){let r=F.useRef(void 0),t=F.useRef(void 0),[s,u]=F.useState({isDirty:!1,isValidating:!1,isLoading:Y(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,isReady:!1,defaultValues:Y(e.defaultValues)?void 0:e.defaultValues});if(!r.current)if(e.formControl)r.current={...e.formControl,formState:s},e.defaultValues&&!Y(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{let{formControl:c,...d}=br(e);r.current={...d,formState:s}}let o=r.current.control;return o._options=e,ke(()=>{let c=o._subscribe({formState:o._proxyFormState,callback:i(()=>u({...o._formState}),"callback"),reRenderRoot:!0});return u(d=>({...d,isReady:!0})),o._formState.isReady=!0,c},[o]),F.useEffect(()=>o._disableForm(e.disabled),[o,e.disabled]),F.useEffect(()=>{e.mode&&(o._options.mode=e.mode),e.reValidateMode&&(o._options.reValidateMode=e.reValidateMode)},[o,e.mode,e.reValidateMode]),F.useEffect(()=>{e.errors&&(o._setErrors(e.errors),o._focusError())},[o,e.errors]),F.useEffect(()=>{e.shouldUnregister&&o._subjects.state.next({values:o._getWatch()})},[o,e.shouldUnregister]),F.useEffect(()=>{if(o._proxyFormState.isDirty){let c=o._getDirty();c!==s.isDirty&&o._subjects.state.next({isDirty:c})}},[o,s.isDirty]),F.useEffect(()=>{var c;e.values&&!te(e.values,t.current)?(o._reset(e.values,{keepFieldsRef:!0,...o._options.resetOptions}),!((c=o._options.resetOptions)===null||c===void 0)&&c.keepIsValid||o._setValid(),t.current=e.values,u(d=>({...d}))):o._resetDefaultValues()},[o,e.values]),F.useEffect(()=>{o._state.mount||(o._setValid(),o._state.mount=!0),o._state.watch&&(o._state.watch=!1,o._subjects.state.next({...o._formState})),o._removeUnmounted()}),r.current.formState=F.useMemo(()=>Tt(s,o),[o,s]),r.current}i(wr,"useForm");import{jsx as pr}from"react/jsx-runtime";function $t({className:e,...r}){return pr("label",{"data-slot":"label",className:ce("flex items-center gap-2 text-sm leading-none select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50",e),...r})}i($t,"Label");import*as Z from"react";import{Fragment as jt,jsx as le,jsxs as qt}from"react/jsx-runtime";var Hr=Nt,Gt=Z.createContext({}),Wr=i(({...e})=>le(Gt.Provider,{value:{name:e.name},children:le(Ot,{...e})}),"FormField"),De=i(()=>{let e=Z.useContext(Gt),r=Z.useContext(zt),{getFieldState:t}=It(),s=rt({name:e.name}),u=t(e.name,s);if(!e)throw new Error("useFormField should be used within <FormField>");let{id:o}=r;return{id:o,name:e.name,formItemId:`${o}-form-item`,formDescriptionId:`${o}-form-item-description`,formMessageId:`${o}-form-item-message`,...u}},"useFormField"),zt=Z.createContext({});function $r({className:e,...r}){let t=Z.useId();return le(zt.Provider,{value:{id:t},children:le("div",{"data-slot":"form-item",...r,className:ce("grid gap-2",e)})})}i($r,"FormItem");function qr({className:e,...r}){let{error:t,formItemId:s}=De();return le($t,{"data-slot":"form-label","data-error":!!t,className:ce("text-base-color mb-1 data-[error=true]:text-destructive",e),htmlFor:s,...r})}i(qr,"FormLabel");var xr=Z.forwardRef(({children:e,...r},t)=>{let{error:s,formItemId:u,formDescriptionId:o,formMessageId:c}=De(),d={"data-slot":"form-control",id:u,"aria-describedby":s?`${o} ${c}`:`${o}`,"aria-invalid":!!s,...r};return Z.isValidElement(e)?Z.cloneElement(e,{...e.props,...d,ref:t}):le(jt,{children:e})});xr.displayName="FormControl";function Ar({helpCenter:e,className:r,children:t,as:s,id:u,...o}){let c=s||"p";return typeof t=="string"?le(jt,{children:qt(c,{"data-slot":"form-description",id:u,className:ce("text-base-color text-xs",r),"data-sanitized":"true",...o,children:[le("span",{dangerouslySetInnerHTML:{__html:vt(t)}})," ",e&&e]})}):qt(c,{"data-slot":"form-description",id:u,className:ce("text-base-color text-xs",r),"data-sanitized":"false",...o,children:[typeof t=="function"?t():t,e&&e]})}i(Ar,"BaseFormDescription");function Gr({...e}){let{formDescriptionId:r}=De();return le(Ar,{id:r,...e})}i(Gr,"FormDescription");function zr({className:e,...r}){let{error:t,formMessageId:s}=De(),u=t?String(t?.message??""):r.children;return u?le("p",{"data-slot":"form-message",id:s,className:ce("text-destructive text-sm",e),...r,children:u}):null}i(zr,"FormMessage");export{m as a,D as b,It as c,nr as d,Rr as e,wr as f,$t as g,Hr as h,Wr as i,$r as j,qr as k,xr as l,Ar as m,Gr as n,zr as o};
2
- //# sourceMappingURL=chunk-SJZP5XKE.js.map
@@ -1,2 +0,0 @@
1
- import{a as Qe}from"./chunk-VAIBLWOY.js";import{a as ze}from"./chunk-UJSDXZVG.js";import{a as We}from"./chunk-CQDQM2IX.js";import{a as Re,b as Be,c as qe,f as Ne,g as je,h as Je,i as ke,j as Te,k as Ie,l as Ke,n as Ue,o as He,p as Ge}from"./chunk-2K6FAKY5.js";import{a as Pe,b as we,c as Le,e as ve,f as Ae}from"./chunk-TVBZT6FA.js";import{e as _,f as v,h as Y}from"./chunk-JVGGWBFZ.js";import{a as L,j as h}from"./chunk-B6INIXRK.js";import{a as $e}from"./chunk-TSPDJUGG.js";import{a as s}from"./chunk-P37U34EQ.js";import{useCallback as jt,useEffect as tt,useMemo as d,useRef as Jt,useState as Z}from"react";import kt from"lodash.mergewith";import{createContext as Lt,useContext as vt,useMemo as At,useCallback as Rt,useRef as Bt}from"react";import{jsx as qt}from"react/jsx-runtime";var Xe=Lt(void 0);function Wt({children:o}){let u=Bt({}),m=Rt(a=>{u.current={...u.current,...a}},[]),V=At(()=>({errorContextRef:u,updateContext:m}),[m]);return qt(Xe.Provider,{value:V,children:o})}s(Wt,"ErrorContextProvider");var Ye=s(()=>{let o=vt(Xe);if(!o)throw new Error("useErrorContext must be used within ErrorContextProvider");return o},"useErrorContext");import{useEffect as Ze,useMemo as Nt}from"react";function et(o){let{updateContext:u,errorContextRef:m}=Ye();return Ze(()=>{o&&(m.current=o)},[]),Ze(()=>()=>{m.current={}},[m]),{...Nt(()=>({updateErrorContext:s(a=>{u(a)},"updateErrorContext"),clearErrorContext:s(()=>{m.current={}},"clearErrorContext")}),[]),errorContext:m}}s(et,"useErrorReporting");import{jsx as nt}from"react/jsx-runtime";var Tt={employment_basic_information:"basic_information",contract_details:"contract_details"},It={select_country:null,basic_information:"employment_basic_information",engagement_agreement_details:null,contract_details:"contract_details",benefits:null,review:null},Kt=s(({isLoadingBasicInformationForm:o,isLoadingContractDetailsForm:u,isLoadingEngagementAgreementDetails:m,isLoadingEmploymentEngagementAgreementDetails:V,isLoadingEmployment:a,isLoadingBenefitsOffersSchema:q,isLoadingBenefitOffers:A,isLoadingCompany:c,isLoadingCountries:N,employmentStatus:r,employmentId:H,currentStepName:i,basicInformationFields:j,contractDetailsFields:x})=>{let J=o||u||m||V||a||q||A||c||N,R=r&&we.includes(r),G=r&&!Le.includes(r),k=!!(H&&R&&i!=="review"),W=J||k,y=!!(k&&!J&&j.length>0&&x.length>0);return{isLoading:W,isNavigatingToReview:y,isEmploymentReadOnly:R,canInvite:G}},"getLoadingStates"),gn=s(({employmentId:o,companyId:u,countryCode:m,type:V,options:a,skipSteps:q,externalId:A,initialValues:c})=>{let{updateErrorContext:N}=et({flow:"onboarding",metadata:{employmentId:o,companyId:u,isUpdating:!!o}}),[r,H]=Z(o),[i,j]=Z(m||null),[x,J]=Z(!1),R=a?.features?.includes("dynamic_steps")??!1,{steps:G,stepsArray:k}=d(()=>Pe({includeSelectCountry:!q?.includes("select_country"),includeEngagementAgreementDetails:x,useDynamicSteps:R}),[x,q,R]),W=jt(e=>{N({step:e.name})},[N]),{fieldValues:y,stepState:t,setFieldValues:at,previousStep:rt,nextStep:st,goToStep:$,setStepValues:ee}=$e(G,W),{data:T,isLoading:te}=qe(r,{enabled:!!(r&&a?.features?.includes("dynamic_steps"))}),ot=d(()=>({...c,...T,...t.values?.engagement_agreement_details,...y}),[T,c,t.values?.engagement_agreement_details,y]),{data:f,isLoading:ne}=Ge(i,ot,{jsfModify:a?.jsfModify,queryOptions:{enabled:!!(i&&a?.features?.includes("dynamic_steps"))}});tt(()=>{let e=!!(f?.fields&&f.fields.length>0);e!==x&&J(e)},[f?.fields,x]);let I=Jt({select_country:{},basic_information:{},contract_details:{},benefits:{},engagement_agreement_details:{}}),{data:g,isLoading:ae,refetch:it}=We({employmentId:r,queryParams:{exclude_files:!0}});o&&g?.country?.code&&!i&&j(g.country.code);let{data:re,isLoading:se}=Be(r),{data:K,isLoading:oe,refetch:lt}=Re(u),ct=a?.features?.includes("onboarding_reserves")&&t.currentStep.name==="review"||!1,{data:mt}=He(u,r,ct),{selectCountryForm:U,isLoading:ie}=Ke({jsfModify:a?.jsfModify?.select_country,queryOptions:{enabled:t.currentStep.name==="select_country"}}),le=Je(a),ce=ke(i,a),me=Ie(a),de=Te(),ue=Ue(),{mutateAsync:dt}=L(le),{mutateAsync:fe}=L(ce),{mutateAsync:ut}=L(me),{mutateAsync:ft}=L(de),{mutateAsync:pt}=L(ue),yt=It[t.currentStep.name]||"employment_basic_information",gt=Tt[yt],_t=g?.[gt]||{},pe=s(({form:e,options:l={},query:p={},jsonSchemaVersion:w})=>{let Q=Object.keys(y).length>0?{...c,...t.values?.[t.currentStep.name],...y}:{...c,..._t};return Ne({countryCode:i,form:e,fieldValues:Q,query:p,options:{...l,queryOptions:{enabled:l.queryOptions?.enabled??!0}},jsonSchemaVersion:w})},"useJSONSchema"),St=!!(i&&(t.currentStep.name==="basic_information"||o)),bt=!!(i&&(t.currentStep.name==="contract_details"||o)),{data:S,isLoading:ye}=pe({form:"employment_basic_information",options:{jsfModify:a?.jsfModify?.basic_information,queryOptions:{enabled:St}},jsonSchemaVersion:Ae(a)}),M=a?.jsfModify?.contract_details?.fields?.annual_gross_salary,z=M&&typeof M=="object"&&"presentation"in M?M.presentation:void 0,ge=a?.jsfModify?.contract_details?.fields?.equity_compensation,Et=d(()=>({fields:{annual_gross_salary:{...M,presentation:{annual_gross_salary_conversion_properties:{label:z?.annual_gross_salary_conversion_properties?.label,description:z?.annual_gross_salary_conversion_properties?.description},desiredCurrency:K?.desired_currency,Component:s(e=>nt(ze,{desiredCurrency:K?.desired_currency||"",...e}),"Component")}},equity_compensation:{...ge,presentation:{calculateDynamicProperties:s((e,l)=>{let p=e.equity_compensation?.offer_equity_compensation,w=l?.meta?.cost;return{extra:nt(Qe,{offerEquity:p,equityCost:w})}},"calculateDynamicProperties")}}}}),[M,z,K?.desired_currency,ge]),Ct=ve(a,i),{data:b,isLoading:_e}=pe({form:"contract_details",query:{employment_id:r},options:{jsfModify:{...a?.jsfModify?.contract_details,fields:{...a?.jsfModify?.contract_details?.fields,...Et.fields}},queryOptions:{enabled:bt}},jsonSchemaVersion:Ct}),{data:C,isLoading:Se}=je(r,y,a),be=d(()=>{if(t.currentStep.name==="benefits"){let e={...t.values?.[t.currentStep.name],...y};return kt({},re,e)}return{}},[t.currentStep.name,re,t.values,y]),n=d(()=>({select_country:U?.fields||[],basic_information:S?.fields||[],engagement_agreement_details:f?.fields||[],contract_details:b?.fields||[],benefits:C?.fields||[],review:[]}),[U?.fields,S?.fields,b?.fields,C?.fields,f?.fields]),Ft={select_country:null,basic_information:S?.meta["x-jsf-fieldsets"],engagement_agreement_details:f?.meta["x-jsf-fieldsets"],contract_details:b?.meta["x-jsf-fieldsets"],benefits:null,review:null},{country:Ee,basic_information:Ce={},contract_details:Fe={},status:he}=g||{},Ve=Ee?.code,xe=t.currentStep.name,O=d(()=>v(n.select_country,{country:i||Ve||""}),[n.select_country,i,Ve]),D=d(()=>{let e={...c,...Ce};return v(n.basic_information,e)},[n.basic_information,Ce,c]),B=d(()=>{let e={...c,...T};return v(n.engagement_agreement_details,e)},[n.engagement_agreement_details,c,T]),F=d(()=>{let e={...c,...Fe};return v(n.contract_details,e)},[n.contract_details,Fe,c]),P=d(()=>{let e={...c,...be};return v(n.benefits,e)},[n.benefits,be,c]),ht=d(()=>g?{select_country:O,basic_information:Y(n.basic_information,D),engagement_agreement_details:B,contract_details:g?.contract_details!==null?Y(n.contract_details,F):F,benefits:P}:{select_country:O,basic_information:D,contract_details:F,benefits:P},[O,D,B,F,P,g,n]),{isLoading:Vt,isNavigatingToReview:Me,isEmploymentReadOnly:xt,canInvite:Mt}=d(()=>Kt({isLoadingBasicInformationForm:ye,isLoadingContractDetailsForm:_e,isLoadingEngagementAgreementDetails:ne,isLoadingEmploymentEngagementAgreementDetails:te,isLoadingEmployment:ae,isLoadingBenefitsOffersSchema:Se,isLoadingBenefitOffers:se,isLoadingCompany:oe,isLoadingCountries:ie,employmentId:o,employmentStatus:he,basicInformationFields:n.basic_information,contractDetailsFields:n.contract_details,currentStepName:xe}),[ye,_e,ne,te,ae,Se,se,oe,ie,o,he,n.basic_information,n.contract_details,xe]);tt(()=>{Me&&(I.current={select_country:h(O,n.select_country),basic_information:h(D,n.basic_information),engagement_agreement_details:h(B,n.engagement_agreement_details),contract_details:h(F,n.contract_details),benefits:h(P,n.benefits)},ee({select_country:O,basic_information:D,contract_details:F,benefits:P,engagement_agreement_details:B,review:{}}),$("review"))},[D,P,F,B,$,Me,O,ee,n.basic_information,n.benefits,n.contract_details,n.select_country,n.engagement_agreement_details]);let Oe=s(async e=>U&&t.currentStep.name==="select_country"?e:S&&t.currentStep.name==="basic_information"?await _(e,S?.fields,{isPartialValidation:!1}):f&&t.currentStep.name==="engagement_agreement_details"?await _(e,f?.fields,{isPartialValidation:!1}):b&&t.currentStep.name==="contract_details"?await _(e,b?.fields,{isPartialValidation:!1}):C&&t.currentStep.name==="benefits"?await _(e,C?.fields,{isPartialValidation:!1}):{},"parseFormValues");async function Ot(e){let l=t.currentStep.name;l in I.current&&(I.current[l]=h(e,n[l]));let p=await Oe(e);switch(lt(),t.currentStep.name){case"select_country":return j(p.country),Promise.resolve({data:{countryCode:p.country}});case"basic_information":{let w=!r&&i,De=r&&i&&g?.country&&g?.country.code!==i;if(w||De){let Q={basic_information:p,type:V,country_code:i,external_id:A};try{let E=await dt(Q);if(E.error)return E;if(E.data){let X=E.data?.data?.employment?.id;return X&&(H(X),await pt({employmentId:X,eligible_to_work_in_residing_country:"citizen",employer_or_work_restrictions:!1})),E}}catch(E){throw console.error("Error creating onboarding:",E),E}}else if(r)return fe({employmentId:r,basic_information:p,pricing_plan_details:{frequency:"monthly"},external_id:A});return}case"engagement_agreement_details":return ft({employmentId:r,engagement_agreement_details:p});case"contract_details":return fe({employmentId:r,external_id:A,...{contract_details:p,pricing_plan_details:{frequency:"monthly"}}});case"benefits":return ut({employmentId:r,...p})}}s(Ot,"onSubmit");function Dt(){rt()}s(Dt,"back");function Pt(){st()}s(Pt,"next");function wt(e){$(e)}return s(wt,"goTo"),{employmentId:r,creditRiskStatus:K?.default_legal_entity_credit_risk_status,onboardingReservesStatus:mt,fieldValues:y,stepState:t,fields:n[t.currentStep.name],isLoading:Vt,isSubmitting:le.isPending||ce.isPending||me.isPending||de.isPending||ue.isPending,initialValues:ht,handleValidation:s(async e=>{if(t.currentStep.name==="select_country")return U.handleValidation(e);if(t.currentStep.name==="benefits"&&C){let l=await _(e,C?.fields,{isPartialValidation:!1});return C?.handleValidation(l)}if(S&&t.currentStep.name==="basic_information"){let l=await _(e,S?.fields,{isPartialValidation:!1});return S?.handleValidation(l)}if(f&&t.currentStep.name==="engagement_agreement_details"){let l=await _(e,f?.fields,{isPartialValidation:!1});return f?.handleValidation(l)}if(b&&t.currentStep.name==="contract_details"){let l=await _(e,b?.fields,{isPartialValidation:!1});return b?.handleValidation(l)}return null},"handleValidation"),checkFieldUpdates:at,parseFormValues:Oe,onSubmit:Ot,back:Dt,next:Pt,goTo:wt,meta:{fields:I.current,fieldsets:Ft[t.currentStep.name]},refetchEmployment:it,employment:g,isEmploymentReadOnly:xt,canInvite:Mt,steps:k,selectedCountry:i?{code:i,name:Ee?.name}:null}},"useOnboarding");export{Xe as a,Wt as b,gn as c};
2
- //# sourceMappingURL=chunk-TQQ227SJ.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/Onboarding/hooks.tsx","../src/components/error-handling/ErrorContext.tsx","../src/components/error-handling/useErrorReporting.ts"],"sourcesContent":["import { ValidationResult } from '@remoteoss/remote-json-schema-form-kit';\nimport {\n Employment,\n EmploymentCreateParams,\n EmploymentFullParams,\n} from '@/src/client';\nimport { JSFFields, NestedMeta } from '@/src/types/remoteFlows';\nimport { useStepState, Step } from '@/src/flows/useStepState';\nimport {\n disabledInviteButtonEmploymentStatus,\n getContractDetailsSchemaVersion,\n getBasicInformationSchemaVersion,\n reviewStepAllowedEmploymentStatus,\n buildSteps,\n StepKeys,\n} from '@/src/flows/Onboarding/utils';\nimport { prettifyFormValues } from '@/src/lib/utils';\nimport {\n getInitialValues,\n enableAckFields,\n parseJSFToValidate,\n} from '@/src/components/form/utils';\nimport { mutationToPromise } from '@/src/lib/mutations';\nimport { FieldValues } from 'react-hook-form';\nimport { OnboardingFlowProps } from '@/src/flows/Onboarding/types';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport mergeWith from 'lodash.mergewith';\nimport {\n useBenefitOffers,\n useBenefitOffersSchema,\n useCompany,\n useCountriesSchemaField,\n useCreateEmployment,\n useEmploymentEngagementAgreementDetails,\n useEmploymentOnboardingReservesStatus,\n useEngagementAgreementDetailsSchema,\n useJSONSchemaForm,\n useUpdateBenefitsOffers,\n useUpdateEmployment,\n useUpdateEmploymentEngagementAgreementDetails,\n useUpsertContractEligibility,\n} from '@/src/flows/Onboarding/api';\nimport { JSFModify, JSONSchemaFormType } from '@/src/flows/types';\nimport { AnnualGrossSalary } from '@/src/flows/Onboarding/components/AnnualGrossSalary';\nimport { $TSFixMe, JSFField, JSFFieldset } from '@/src/types/remoteFlows';\nimport { EquityPriceDetails } from '@/src/flows/Onboarding/components/EquityPriceDetails';\nimport { useErrorReporting } from '@/src/components/error-handling/useErrorReporting';\nimport { useEmploymentQuery } from '@/src/common/api/employment';\n\ntype OnboardingHookProps = Omit<OnboardingFlowProps, 'render'>;\n\nconst jsonSchemaToEmployment: Partial<\n Record<JSONSchemaFormType, keyof Employment>\n> = {\n employment_basic_information: 'basic_information',\n contract_details: 'contract_details',\n};\n\nconst stepToFormSchemaMap: Record<StepKeys, JSONSchemaFormType | null> = {\n select_country: null,\n basic_information: 'employment_basic_information',\n engagement_agreement_details: null,\n contract_details: 'contract_details',\n benefits: null,\n review: null,\n};\n\nconst getLoadingStates = ({\n isLoadingBasicInformationForm,\n isLoadingContractDetailsForm,\n isLoadingEngagementAgreementDetails,\n isLoadingEmploymentEngagementAgreementDetails,\n isLoadingEmployment,\n isLoadingBenefitsOffersSchema,\n isLoadingBenefitOffers,\n isLoadingCompany,\n isLoadingCountries,\n employmentStatus,\n employmentId,\n currentStepName,\n basicInformationFields,\n contractDetailsFields,\n}: {\n isLoadingBasicInformationForm: boolean;\n isLoadingContractDetailsForm: boolean;\n isLoadingEngagementAgreementDetails: boolean;\n isLoadingEmploymentEngagementAgreementDetails: boolean;\n isLoadingEmployment: boolean;\n isLoadingBenefitsOffersSchema: boolean;\n isLoadingBenefitOffers: boolean;\n isLoadingCompany: boolean;\n isLoadingCountries: boolean;\n employmentStatus?: Employment['status'];\n employmentId?: string;\n currentStepName: string;\n basicInformationFields: JSFFields;\n contractDetailsFields: JSFFields;\n}) => {\n const initialLoading =\n isLoadingBasicInformationForm ||\n isLoadingContractDetailsForm ||\n isLoadingEngagementAgreementDetails ||\n isLoadingEmploymentEngagementAgreementDetails ||\n isLoadingEmployment ||\n isLoadingBenefitsOffersSchema ||\n isLoadingBenefitOffers ||\n isLoadingCompany ||\n isLoadingCountries;\n\n const isEmploymentReadOnly =\n employmentStatus &&\n reviewStepAllowedEmploymentStatus.includes(employmentStatus);\n\n const canInvite =\n employmentStatus &&\n !disabledInviteButtonEmploymentStatus.includes(employmentStatus);\n\n const shouldHandleReadOnlyEmployment = Boolean(\n employmentId && isEmploymentReadOnly && currentStepName !== 'review',\n );\n\n const isLoading = initialLoading || shouldHandleReadOnlyEmployment;\n\n const isNavigatingToReview = Boolean(\n shouldHandleReadOnlyEmployment &&\n !initialLoading &&\n basicInformationFields.length > 0 &&\n contractDetailsFields.length > 0,\n );\n\n return {\n isLoading,\n isNavigatingToReview,\n isEmploymentReadOnly,\n canInvite,\n };\n};\n\nexport const useOnboarding = ({\n employmentId,\n companyId,\n countryCode,\n type,\n options,\n skipSteps,\n externalId,\n initialValues: onboardingInitialValues,\n}: OnboardingHookProps) => {\n const { updateErrorContext } = useErrorReporting({\n flow: 'onboarding',\n metadata: {\n employmentId,\n companyId,\n isUpdating: Boolean(employmentId),\n },\n });\n\n const [internalEmploymentId, setInternalEmploymentId] = useState<\n string | undefined\n >(employmentId);\n const [internalCountryCode, setInternalCountryCode] = useState<string | null>(\n countryCode || null,\n );\n const [\n includeEngagementAgreementDetails,\n setIncludeEngagementAgreementDetails,\n ] = useState<boolean>(false);\n\n const useDynamicSteps = options?.features?.includes('dynamic_steps') ?? false;\n\n const { steps, stepsArray } = useMemo(\n () =>\n buildSteps({\n includeSelectCountry: !skipSteps?.includes('select_country'),\n includeEngagementAgreementDetails,\n useDynamicSteps,\n }),\n [includeEngagementAgreementDetails, skipSteps, useDynamicSteps],\n );\n\n const onStepChange = useCallback(\n (step: Step<StepKeys>) => {\n updateErrorContext({\n step: step.name,\n });\n },\n [updateErrorContext],\n );\n\n const {\n fieldValues,\n stepState,\n setFieldValues,\n previousStep,\n nextStep,\n goToStep,\n setStepValues,\n } = useStepState(steps, onStepChange);\n\n const {\n data: employmentEngagementAgreementDetails,\n isLoading: isLoadingEmploymentEngagementAgreementDetails,\n } = useEmploymentEngagementAgreementDetails(internalEmploymentId, {\n enabled: Boolean(\n !!internalEmploymentId && options?.features?.includes('dynamic_steps'),\n ),\n });\n\n const engagementAgreementDetailsFieldValues = useMemo(() => {\n return {\n ...onboardingInitialValues,\n ...employmentEngagementAgreementDetails,\n ...stepState.values?.engagement_agreement_details,\n ...fieldValues,\n };\n }, [\n employmentEngagementAgreementDetails,\n onboardingInitialValues,\n stepState.values?.engagement_agreement_details,\n fieldValues,\n ]);\n\n const {\n data: engagementAgreementDetailsSchema,\n isLoading: isLoadingEngagementAgreementDetails,\n } = useEngagementAgreementDetailsSchema(\n internalCountryCode as string,\n engagementAgreementDetailsFieldValues,\n {\n jsfModify: options?.jsfModify,\n queryOptions: {\n enabled: Boolean(\n !!internalCountryCode && options?.features?.includes('dynamic_steps'),\n ),\n },\n },\n );\n\n // logic to include the engagement agreement details step based on the schema fields\n useEffect(() => {\n const hasFields = Boolean(\n engagementAgreementDetailsSchema?.fields &&\n engagementAgreementDetailsSchema.fields.length > 0,\n );\n if (hasFields !== includeEngagementAgreementDetails) {\n setIncludeEngagementAgreementDetails(hasFields);\n }\n }, [\n engagementAgreementDetailsSchema?.fields,\n includeEngagementAgreementDetails,\n ]);\n\n const fieldsMetaRef = useRef<{\n select_country: NestedMeta;\n basic_information: NestedMeta;\n contract_details: NestedMeta;\n benefits: NestedMeta;\n engagement_agreement_details: NestedMeta;\n }>({\n select_country: {},\n basic_information: {},\n contract_details: {},\n benefits: {},\n engagement_agreement_details: {},\n });\n\n const {\n data: employment,\n isLoading: isLoadingEmployment,\n refetch: refetchEmployment,\n } = useEmploymentQuery({\n employmentId: internalEmploymentId as string,\n queryParams: { exclude_files: true },\n });\n\n // if the employment is loaded, country code has not been set yet\n // we set the internal country code with the employment country code\n if (employmentId && employment?.country?.code && !internalCountryCode) {\n setInternalCountryCode(employment.country.code);\n }\n\n const { data: benefitOffers, isLoading: isLoadingBenefitOffers } =\n useBenefitOffers(internalEmploymentId);\n\n const {\n data: company,\n isLoading: isLoadingCompany,\n refetch: refetchCompany,\n } = useCompany(companyId);\n\n const isOnboardingReservesEnabled =\n (options?.features?.includes('onboarding_reserves') &&\n stepState.currentStep.name === 'review') ||\n false;\n\n const { data: onboardingReservesStatus } =\n useEmploymentOnboardingReservesStatus(\n companyId,\n internalEmploymentId,\n isOnboardingReservesEnabled,\n );\n\n const { selectCountryForm, isLoading: isLoadingCountries } =\n useCountriesSchemaField({\n jsfModify: options?.jsfModify?.select_country,\n queryOptions: {\n enabled: stepState.currentStep.name === 'select_country',\n },\n });\n\n const createEmploymentMutation = useCreateEmployment(options);\n const updateEmploymentMutation = useUpdateEmployment(\n internalCountryCode as string,\n options,\n );\n const updateBenefitsOffersMutation = useUpdateBenefitsOffers(options);\n const updateEngagementAgreementMutation =\n useUpdateEmploymentEngagementAgreementDetails();\n const updateContractEligibilityMutation = useUpsertContractEligibility();\n const { mutateAsync: createEmploymentMutationAsync } = mutationToPromise(\n createEmploymentMutation,\n );\n const { mutateAsync: updateEmploymentMutationAsync } = mutationToPromise(\n updateEmploymentMutation,\n );\n const { mutateAsync: updateBenefitsOffersMutationAsync } = mutationToPromise(\n updateBenefitsOffersMutation,\n );\n // TODO: refactor all uses in onboarding together to avoid having mixed behaviour\n const { mutateAsync: updateEngagementAgreementMutationAsync } =\n mutationToPromise(updateEngagementAgreementMutation);\n const { mutateAsync: updateContractEligibilityMutationAsync } =\n mutationToPromise(updateContractEligibilityMutation);\n\n const formType =\n stepToFormSchemaMap[stepState.currentStep.name] ||\n 'employment_basic_information';\n const employmentKey = jsonSchemaToEmployment[formType] as keyof Employment;\n const serverEmploymentData = (employment?.[employmentKey] || {}) as Record<\n string,\n unknown\n >;\n\n const useJSONSchema = ({\n form,\n options: jsonSchemaOptions = {},\n query = {},\n jsonSchemaVersion,\n }: {\n form: JSONSchemaFormType;\n options?: {\n jsfModify?: JSFModify;\n queryOptions?: { enabled?: boolean };\n };\n query?: Record<string, string>;\n jsonSchemaVersion?: number | 'latest';\n }) => {\n const hasUserEnteredAnyValues = Object.keys(fieldValues).length > 0;\n // when you write on the fields, the values are stored in the fieldValues state\n // when values are stored in the stepState is when the user has navigated to the step\n // and then we have the values from the server and the onboardingInitialValues that the user can inject,\n const mergedFormValues = hasUserEnteredAnyValues\n ? {\n ...onboardingInitialValues,\n ...stepState.values?.[stepState.currentStep.name], // Restore values for the current step\n ...fieldValues,\n }\n : {\n ...onboardingInitialValues,\n ...serverEmploymentData,\n };\n\n return useJSONSchemaForm({\n countryCode: internalCountryCode as string,\n form: form,\n fieldValues: mergedFormValues,\n query,\n options: {\n ...jsonSchemaOptions,\n queryOptions: {\n enabled: jsonSchemaOptions.queryOptions?.enabled ?? true,\n },\n },\n jsonSchemaVersion,\n });\n };\n\n const isBasicInformationDetailsEnabled = Boolean(\n internalCountryCode &&\n (stepState.currentStep.name === 'basic_information' ||\n Boolean(employmentId)),\n );\n\n const isContractDetailsEnabled = Boolean(\n internalCountryCode &&\n (stepState.currentStep.name === 'contract_details' ||\n Boolean(employmentId)),\n );\n\n const {\n data: basicInformationForm,\n isLoading: isLoadingBasicInformationForm,\n } = useJSONSchema({\n form: 'employment_basic_information',\n options: {\n jsfModify: options?.jsfModify?.basic_information,\n queryOptions: {\n enabled: isBasicInformationDetailsEnabled,\n },\n },\n jsonSchemaVersion: getBasicInformationSchemaVersion(options),\n });\n\n const annualGrossSalaryField =\n options?.jsfModify?.contract_details?.fields?.annual_gross_salary;\n const annualSalaryFieldPresentation =\n annualGrossSalaryField &&\n typeof annualGrossSalaryField === 'object' &&\n 'presentation' in annualGrossSalaryField\n ? (\n annualGrossSalaryField as {\n presentation?: {\n annual_gross_salary_conversion_properties?: {\n label?: string;\n description?: string;\n };\n };\n }\n ).presentation\n : undefined;\n\n const equityCompensationField =\n options?.jsfModify?.contract_details?.fields?.equity_compensation;\n\n const contractDetailsCustomFields = useMemo(\n () => ({\n fields: {\n annual_gross_salary: {\n ...annualGrossSalaryField,\n presentation: {\n annual_gross_salary_conversion_properties: {\n label:\n annualSalaryFieldPresentation\n ?.annual_gross_salary_conversion_properties?.label,\n description:\n annualSalaryFieldPresentation\n ?.annual_gross_salary_conversion_properties?.description,\n },\n desiredCurrency: company?.desired_currency,\n Component: (props: JSFField & { currency: string }) => {\n return (\n <AnnualGrossSalary\n desiredCurrency={company?.desired_currency || ''}\n {...props}\n />\n );\n },\n },\n },\n equity_compensation: {\n ...equityCompensationField,\n presentation: {\n calculateDynamicProperties: (\n values: FieldValues,\n field: JSFField,\n ) => {\n const offerEquity =\n values.equity_compensation?.offer_equity_compensation;\n const equityCost = field?.meta?.cost;\n\n return {\n extra: (\n <EquityPriceDetails\n offerEquity={offerEquity}\n equityCost={equityCost as $TSFixMe}\n />\n ),\n };\n },\n },\n },\n },\n }),\n [\n annualGrossSalaryField,\n annualSalaryFieldPresentation,\n company?.desired_currency,\n equityCompensationField,\n ],\n );\n\n const effectiveContractDetailsJsonSchemaVersion =\n getContractDetailsSchemaVersion(options, internalCountryCode);\n\n const { data: contractDetailsForm, isLoading: isLoadingContractDetailsForm } =\n useJSONSchema({\n form: 'contract_details',\n query: {\n employment_id: internalEmploymentId as string,\n },\n options: {\n jsfModify: {\n ...options?.jsfModify?.contract_details,\n fields: {\n ...options?.jsfModify?.contract_details?.fields,\n ...contractDetailsCustomFields.fields,\n },\n },\n queryOptions: {\n enabled: isContractDetailsEnabled,\n },\n },\n jsonSchemaVersion: effectiveContractDetailsJsonSchemaVersion,\n });\n\n const {\n data: benefitOffersSchema,\n isLoading: isLoadingBenefitsOffersSchema,\n } = useBenefitOffersSchema(\n internalEmploymentId as string,\n fieldValues,\n options,\n );\n\n const initialValuesBenefitOffers = useMemo(() => {\n if (stepState.currentStep.name === 'benefits') {\n const benefitsFormValues = {\n ...stepState.values?.[stepState.currentStep.name as StepKeys], // Restore values for the current step\n ...fieldValues,\n };\n return mergeWith({}, benefitOffers, benefitsFormValues);\n }\n return {};\n }, [\n stepState.currentStep.name,\n benefitOffers,\n stepState.values,\n fieldValues,\n ]);\n\n const stepFields: Record<StepKeys, JSFFields> = useMemo(\n () => ({\n select_country: selectCountryForm?.fields || [],\n basic_information: basicInformationForm?.fields || [],\n engagement_agreement_details:\n engagementAgreementDetailsSchema?.fields || [],\n contract_details: contractDetailsForm?.fields || [],\n benefits: benefitOffersSchema?.fields || [],\n review: [],\n }),\n [\n selectCountryForm?.fields,\n basicInformationForm?.fields,\n contractDetailsForm?.fields,\n benefitOffersSchema?.fields,\n engagementAgreementDetailsSchema?.fields,\n ],\n );\n\n const stepFieldsWithFlatFieldsets: Record<\n StepKeys,\n JSFFieldset | null | undefined\n > = {\n select_country: null,\n basic_information: basicInformationForm?.meta['x-jsf-fieldsets'],\n engagement_agreement_details:\n engagementAgreementDetailsSchema?.meta['x-jsf-fieldsets'],\n contract_details: contractDetailsForm?.meta['x-jsf-fieldsets'],\n benefits: null,\n review: null,\n };\n\n const {\n country,\n basic_information: employmentBasicInformation = {},\n contract_details: employmentContractDetails = {},\n status: employmentStatus,\n } = employment || {};\n\n const employmentCountryCode = country?.code;\n const currentStepName = stepState.currentStep.name;\n\n const selectCountryInitialValues = useMemo(\n () =>\n getInitialValues(stepFields.select_country, {\n country: internalCountryCode || employmentCountryCode || '',\n }),\n [stepFields.select_country, internalCountryCode, employmentCountryCode],\n );\n\n const basicInformationInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...employmentBasicInformation,\n };\n\n return getInitialValues(stepFields.basic_information, initialValues);\n }, [\n stepFields.basic_information,\n employmentBasicInformation,\n onboardingInitialValues,\n ]);\n\n const engagementAgreementDetailsInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...employmentEngagementAgreementDetails,\n };\n\n return getInitialValues(\n stepFields.engagement_agreement_details,\n initialValues,\n );\n }, [\n stepFields.engagement_agreement_details,\n onboardingInitialValues,\n employmentEngagementAgreementDetails,\n ]);\n\n const contractDetailsInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...employmentContractDetails,\n };\n\n return getInitialValues(stepFields.contract_details, initialValues);\n }, [\n stepFields.contract_details,\n employmentContractDetails,\n onboardingInitialValues,\n ]);\n\n const benefitsInitialValues = useMemo(() => {\n const initialValues = {\n ...onboardingInitialValues,\n ...initialValuesBenefitOffers,\n };\n\n return getInitialValues(stepFields.benefits, initialValues);\n }, [\n stepFields.benefits,\n initialValuesBenefitOffers,\n onboardingInitialValues,\n ]);\n\n const initialValues = useMemo(() => {\n if (employment) {\n return {\n select_country: selectCountryInitialValues,\n // We don't store ack fields in the db, eg \"ack_start_date_ammendment\" for Argentina, and therefore is not returned in the employment response\n // So when an employmentId exists, it means that the user has already started the onboarding process, and we need to enable the ack fields\n basic_information: enableAckFields(\n stepFields['basic_information'],\n basicInformationInitialValues,\n ),\n engagement_agreement_details: engagementAgreementDetailsInitialValues,\n contract_details:\n // if contract details is null, it means it has not been filled yet, so we can't enable the ack fields\n employment?.contract_details !== null\n ? enableAckFields(\n stepFields['contract_details'],\n contractDetailsInitialValues,\n )\n : contractDetailsInitialValues,\n benefits: benefitsInitialValues,\n };\n }\n return {\n select_country: selectCountryInitialValues,\n basic_information: basicInformationInitialValues,\n contract_details: contractDetailsInitialValues,\n benefits: benefitsInitialValues,\n };\n }, [\n selectCountryInitialValues,\n basicInformationInitialValues,\n engagementAgreementDetailsInitialValues,\n contractDetailsInitialValues,\n benefitsInitialValues,\n employment,\n stepFields,\n ]);\n\n const { isLoading, isNavigatingToReview, isEmploymentReadOnly, canInvite } =\n useMemo(\n () =>\n getLoadingStates({\n isLoadingBasicInformationForm,\n isLoadingContractDetailsForm,\n isLoadingEngagementAgreementDetails,\n isLoadingEmploymentEngagementAgreementDetails,\n isLoadingEmployment,\n isLoadingBenefitsOffersSchema,\n isLoadingBenefitOffers,\n isLoadingCompany,\n isLoadingCountries,\n employmentId,\n employmentStatus: employmentStatus,\n basicInformationFields: stepFields.basic_information,\n contractDetailsFields: stepFields.contract_details,\n currentStepName: currentStepName,\n }),\n [\n isLoadingBasicInformationForm,\n isLoadingContractDetailsForm,\n isLoadingEngagementAgreementDetails,\n isLoadingEmploymentEngagementAgreementDetails,\n isLoadingEmployment,\n isLoadingBenefitsOffersSchema,\n isLoadingBenefitOffers,\n isLoadingCompany,\n isLoadingCountries,\n employmentId,\n employmentStatus,\n stepFields.basic_information,\n stepFields.contract_details,\n currentStepName,\n ],\n );\n\n useEffect(() => {\n if (isNavigatingToReview) {\n fieldsMetaRef.current = {\n select_country: prettifyFormValues(\n selectCountryInitialValues,\n stepFields.select_country,\n ),\n basic_information: prettifyFormValues(\n basicInformationInitialValues,\n stepFields.basic_information,\n ),\n engagement_agreement_details: prettifyFormValues(\n engagementAgreementDetailsInitialValues,\n stepFields.engagement_agreement_details,\n ),\n contract_details: prettifyFormValues(\n contractDetailsInitialValues,\n stepFields.contract_details,\n ),\n benefits: prettifyFormValues(\n benefitsInitialValues,\n stepFields.benefits,\n ),\n };\n\n setStepValues({\n select_country: selectCountryInitialValues,\n basic_information: basicInformationInitialValues,\n contract_details: contractDetailsInitialValues,\n benefits: benefitsInitialValues,\n engagement_agreement_details: engagementAgreementDetailsInitialValues,\n review: {},\n });\n\n goToStep('review');\n }\n }, [\n basicInformationInitialValues,\n benefitsInitialValues,\n contractDetailsInitialValues,\n engagementAgreementDetailsInitialValues,\n goToStep,\n isNavigatingToReview,\n selectCountryInitialValues,\n setStepValues,\n stepFields.basic_information,\n stepFields.benefits,\n stepFields.contract_details,\n stepFields.select_country,\n stepFields.engagement_agreement_details,\n ]);\n\n const parseFormValues = async (values: FieldValues) => {\n if (selectCountryForm && stepState.currentStep.name === 'select_country') {\n return values;\n }\n if (\n basicInformationForm &&\n stepState.currentStep.name === 'basic_information'\n ) {\n return await parseJSFToValidate(values, basicInformationForm?.fields, {\n isPartialValidation: false,\n });\n }\n\n if (\n engagementAgreementDetailsSchema &&\n stepState.currentStep.name === 'engagement_agreement_details'\n ) {\n return await parseJSFToValidate(\n values,\n engagementAgreementDetailsSchema?.fields,\n {\n isPartialValidation: false,\n },\n );\n }\n\n if (\n contractDetailsForm &&\n stepState.currentStep.name === 'contract_details'\n ) {\n return await parseJSFToValidate(values, contractDetailsForm?.fields, {\n isPartialValidation: false,\n });\n }\n\n if (benefitOffersSchema && stepState.currentStep.name === 'benefits') {\n return await parseJSFToValidate(values, benefitOffersSchema?.fields, {\n isPartialValidation: false,\n });\n }\n\n return {};\n };\n\n async function onSubmit(values: FieldValues) {\n // Prettify values for the current step\n const currentStepName = stepState.currentStep.name;\n if (currentStepName in fieldsMetaRef.current) {\n fieldsMetaRef.current[\n currentStepName as keyof typeof fieldsMetaRef.current\n ] = prettifyFormValues(values, stepFields[currentStepName]);\n }\n\n const parsedValues = await parseFormValues(values);\n refetchCompany();\n switch (stepState.currentStep.name) {\n case 'select_country': {\n setInternalCountryCode(parsedValues.country);\n return Promise.resolve({ data: { countryCode: parsedValues.country } });\n }\n case 'basic_information': {\n const isEmploymentNotLoaded =\n !internalEmploymentId && internalCountryCode;\n const hasChangedCountry =\n internalEmploymentId &&\n internalCountryCode &&\n employment?.country &&\n employment?.country.code !== internalCountryCode;\n if (isEmploymentNotLoaded || hasChangedCountry) {\n const payload: EmploymentCreateParams = {\n basic_information: parsedValues,\n type: type,\n country_code: internalCountryCode,\n external_id: externalId,\n };\n try {\n const response = await createEmploymentMutationAsync(payload);\n\n if (response.error) {\n return response;\n }\n\n if (response.data) {\n // @ts-expect-error the types from the response are not matching\n const employmentId = response.data?.data?.employment?.id;\n if (employmentId) {\n setInternalEmploymentId(employmentId);\n await updateContractEligibilityMutationAsync({\n employmentId: employmentId,\n eligible_to_work_in_residing_country: 'citizen',\n employer_or_work_restrictions: false,\n });\n }\n\n return response;\n }\n } catch (error) {\n console.error('Error creating onboarding:', error);\n throw error;\n }\n } else if (internalEmploymentId) {\n return updateEmploymentMutationAsync({\n employmentId: internalEmploymentId,\n basic_information: parsedValues,\n pricing_plan_details: {\n frequency: 'monthly',\n },\n external_id: externalId,\n });\n }\n\n return;\n }\n case 'engagement_agreement_details': {\n return updateEngagementAgreementMutationAsync({\n employmentId: internalEmploymentId as string,\n engagement_agreement_details: parsedValues,\n });\n }\n case 'contract_details': {\n const payload: EmploymentFullParams = {\n contract_details: parsedValues,\n pricing_plan_details: {\n frequency: 'monthly',\n },\n };\n return updateEmploymentMutationAsync({\n employmentId: internalEmploymentId as string,\n external_id: externalId,\n ...payload,\n });\n }\n\n case 'benefits': {\n return updateBenefitsOffersMutationAsync({\n employmentId: internalEmploymentId as string,\n ...parsedValues,\n });\n }\n }\n return;\n }\n\n function back() {\n previousStep();\n }\n\n function next() {\n nextStep();\n }\n\n function goTo(step: StepKeys) {\n goToStep(step);\n }\n\n return {\n /**\n * Employment id passed useful to be used between components\n */\n employmentId: internalEmploymentId,\n\n /**\n * Credit risk status of the company, useful to know what to to show in the review step\n * The possible values are:\n * - not_started\n * - ready\n * - in_progress\n * - referred\n * - fail\n * - deposit_required\n * - no_deposit_required\n */\n\n creditRiskStatus: company?.default_legal_entity_credit_risk_status,\n /**\n * Onboarding reserves status for the employment\n * Returns 'deposit_required' if a deposit is required based on onboarding reserves policies\n */\n onboardingReservesStatus: onboardingReservesStatus,\n /**\n * Current state of the form fields for the current step.\n */\n fieldValues,\n /**\n * Current step state containing the current step and total number of steps\n */\n stepState,\n /**\n * Array of form fields from the onboarding schema\n */\n fields: stepFields[stepState.currentStep.name],\n /**\n * Loading state indicating if the onboarding schema is being fetched\n */\n isLoading: isLoading,\n /**\n * Loading state indicating if the onboarding mutation is in progress\n */\n isSubmitting:\n createEmploymentMutation.isPending ||\n updateEmploymentMutation.isPending ||\n updateBenefitsOffersMutation.isPending ||\n updateEngagementAgreementMutation.isPending ||\n updateContractEligibilityMutation.isPending,\n /**\n * Initial form values\n */\n initialValues,\n /**\n * Function to validate form values against the onboarding schema\n * @param values - Form values to validate\n * @returns Validation result or null if no schema is available\n */\n handleValidation: async (\n values: FieldValues,\n ): Promise<ValidationResult | null> => {\n if (stepState.currentStep.name === 'select_country') {\n return selectCountryForm.handleValidation(values);\n }\n if (stepState.currentStep.name === 'benefits' && benefitOffersSchema) {\n const parsedValues = await parseJSFToValidate(\n values,\n benefitOffersSchema?.fields,\n { isPartialValidation: false },\n );\n\n return benefitOffersSchema?.handleValidation(parsedValues);\n }\n if (\n basicInformationForm &&\n stepState.currentStep.name === 'basic_information'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n basicInformationForm?.fields,\n { isPartialValidation: false },\n );\n return basicInformationForm?.handleValidation(parsedValues);\n }\n\n if (\n engagementAgreementDetailsSchema &&\n stepState.currentStep.name === 'engagement_agreement_details'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n engagementAgreementDetailsSchema?.fields,\n { isPartialValidation: false },\n );\n return engagementAgreementDetailsSchema?.handleValidation(parsedValues);\n }\n\n if (\n contractDetailsForm &&\n stepState.currentStep.name === 'contract_details'\n ) {\n const parsedValues = await parseJSFToValidate(\n values,\n contractDetailsForm?.fields,\n { isPartialValidation: false },\n );\n return contractDetailsForm?.handleValidation(parsedValues);\n }\n\n return null;\n },\n /**\n * Function to update the current form field values\n * @param values - New form values to set\n */\n checkFieldUpdates: setFieldValues,\n\n /**\n * Function to parse form values before submission\n * @param values - Form values to parse\n * @returns Parsed form values\n */\n parseFormValues,\n\n /**\n * Function to handle form submission\n * @param values - Form values to submit\n * @returns Promise resolving to the mutation result\n */\n onSubmit,\n\n /**\n * Function to handle going back to the previous step\n * @returns {void}\n */\n back,\n\n /**\n * Function to handle going to the next step\n * @returns {void}\n */\n next,\n\n /**\n * Function to handle going to a specific step\n * @param step The step to go to.\n * @returns {void}\n */\n goTo,\n\n /**\n * Fields metadata for each step\n */\n meta: {\n fields: fieldsMetaRef.current,\n fieldsets: stepFieldsWithFlatFieldsets[stepState.currentStep.name],\n },\n\n /**\n * Function to refetch the employment data\n * @returns {void}\n */\n refetchEmployment,\n /**\n * Employment data\n */\n employment,\n\n /**\n * let's the user know that the employment cannot be edited, happens when employment.status is invited, created_awaiting_reserve or created_reserve_paid\n * @returns {boolean}\n */\n isEmploymentReadOnly,\n\n /**\n * let's the user know if the company can invite employees\n * @returns {boolean}\n */\n canInvite,\n\n /**\n * Steps array for dynamic step navigation\n * When 'dynamic_steps' feature is enabled:\n * - Returns all steps including hidden ones with their original indices\n * - Consumers must filter by `visible` property\n * When disabled (default):\n * - Returns only visible steps with sequential indices\n * - Maintains backwards compatibility with existing implementations\n * @returns {Array<{name: string, visible: boolean, index: number, label: string}>}\n */\n steps: stepsArray,\n /**\n * Selected country for the onboarding\n * @returns {name: string, code: string} | null\n */\n selectedCountry: internalCountryCode\n ? {\n code: internalCountryCode,\n name: country?.name,\n }\n : null,\n };\n};\n","import {\n createContext,\n useContext,\n ReactNode,\n useMemo,\n useCallback,\n useRef,\n RefObject,\n} from 'react';\nimport type { ErrorContextData } from './types';\n\nexport type ErrorContextValue = {\n errorContextRef: RefObject<ErrorContextData>;\n updateContext: (updates: Partial<ErrorContextData>) => void;\n};\n\nexport const ErrorContext = createContext<ErrorContextValue | undefined>(\n undefined,\n);\n\nexport function ErrorContextProvider({ children }: { children: ReactNode }) {\n const errorContextRef = useRef<ErrorContextData>({});\n\n const updateContext = useCallback((updates: Partial<ErrorContextData>) => {\n errorContextRef.current = { ...errorContextRef.current, ...updates };\n }, []);\n\n // Memoize the value object to prevent unnecessary re-renders\n // Note: setContext is stable from useState and doesn't need to be in deps\n const value = useMemo(\n () => ({\n errorContextRef,\n updateContext,\n }),\n [updateContext],\n );\n\n return (\n <ErrorContext.Provider value={value}>{children}</ErrorContext.Provider>\n );\n}\n\nexport const useErrorContext = () => {\n const ctx = useContext(ErrorContext);\n if (!ctx) {\n throw new Error('useErrorContext must be used within ErrorContextProvider');\n }\n return ctx;\n};\n","import { useErrorContext } from '@/src/components/error-handling/ErrorContext';\nimport { ErrorContextData } from '@/src/components/error-handling/types';\nimport { useEffect, useMemo } from 'react';\n\nexport function useErrorReporting(initialContext: ErrorContextData) {\n const { updateContext, errorContextRef } = useErrorContext();\n\n // Set initial context on mount\n useEffect(() => {\n if (initialContext) {\n errorContextRef.current = initialContext;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // Clear context on unmount\n useEffect(() => {\n return () => {\n errorContextRef.current = {};\n };\n }, [errorContextRef]);\n\n // Note: setContext and updateContext are stable, don't need to be in deps\n const handlers = useMemo(\n () => ({\n updateErrorContext: (updates: Partial<ErrorContextData>) => {\n updateContext(updates);\n },\n\n clearErrorContext: () => {\n errorContextRef.current = {};\n },\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n\n return {\n ...handlers,\n /**\n * @internal For unit testing only - we access the errorContext in the error boundary directly\n * Use updateErrorContext() and clearErrorContext() handlers instead.\n */\n errorContext: errorContextRef,\n };\n}\n"],"mappings":"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","names":["useCallback","useEffect","useMemo","useRef","useState","mergeWith","createContext","useContext","useMemo","useCallback","useRef","jsx","ErrorContext","createContext","ErrorContextProvider","children","errorContextRef","useRef","updateContext","useCallback","updates","value","useMemo","__name","useErrorContext","ctx","useContext","useEffect","useMemo","useErrorReporting","initialContext","updateContext","errorContextRef","useErrorContext","useEffect","useMemo","__name","updates","jsx","jsonSchemaToEmployment","stepToFormSchemaMap","getLoadingStates","__name","isLoadingBasicInformationForm","isLoadingContractDetailsForm","isLoadingEngagementAgreementDetails","isLoadingEmploymentEngagementAgreementDetails","isLoadingEmployment","isLoadingBenefitsOffersSchema","isLoadingBenefitOffers","isLoadingCompany","isLoadingCountries","employmentStatus","employmentId","currentStepName","basicInformationFields","contractDetailsFields","initialLoading","isEmploymentReadOnly","reviewStepAllowedEmploymentStatus","canInvite","disabledInviteButtonEmploymentStatus","shouldHandleReadOnlyEmployment","isLoading","isNavigatingToReview","useOnboarding","companyId","countryCode","type","options","skipSteps","externalId","onboardingInitialValues","updateErrorContext","useErrorReporting","internalEmploymentId","setInternalEmploymentId","useState","internalCountryCode","setInternalCountryCode","includeEngagementAgreementDetails","setIncludeEngagementAgreementDetails","useDynamicSteps","steps","stepsArray","useMemo","buildSteps","onStepChange","useCallback","step","fieldValues","stepState","setFieldValues","previousStep","nextStep","goToStep","setStepValues","useStepState","employmentEngagementAgreementDetails","useEmploymentEngagementAgreementDetails","engagementAgreementDetailsFieldValues","engagementAgreementDetailsSchema","useEngagementAgreementDetailsSchema","useEffect","hasFields","fieldsMetaRef","useRef","employment","refetchEmployment","useEmploymentQuery","benefitOffers","useBenefitOffers","company","refetchCompany","useCompany","isOnboardingReservesEnabled","onboardingReservesStatus","useEmploymentOnboardingReservesStatus","selectCountryForm","useCountriesSchemaField","createEmploymentMutation","useCreateEmployment","updateEmploymentMutation","useUpdateEmployment","updateBenefitsOffersMutation","useUpdateBenefitsOffers","updateEngagementAgreementMutation","useUpdateEmploymentEngagementAgreementDetails","updateContractEligibilityMutation","useUpsertContractEligibility","createEmploymentMutationAsync","mutationToPromise","updateEmploymentMutationAsync","updateBenefitsOffersMutationAsync","updateEngagementAgreementMutationAsync","updateContractEligibilityMutationAsync","formType","employmentKey","serverEmploymentData","useJSONSchema","form","jsonSchemaOptions","query","jsonSchemaVersion","mergedFormValues","useJSONSchemaForm","isBasicInformationDetailsEnabled","isContractDetailsEnabled","basicInformationForm","getBasicInformationSchemaVersion","annualGrossSalaryField","annualSalaryFieldPresentation","equityCompensationField","contractDetailsCustomFields","props","AnnualGrossSalary","values","field","offerEquity","equityCost","EquityPriceDetails","effectiveContractDetailsJsonSchemaVersion","getContractDetailsSchemaVersion","contractDetailsForm","benefitOffersSchema","useBenefitOffersSchema","initialValuesBenefitOffers","benefitsFormValues","mergeWith","stepFields","stepFieldsWithFlatFieldsets","country","employmentBasicInformation","employmentContractDetails","employmentCountryCode","selectCountryInitialValues","getInitialValues","basicInformationInitialValues","initialValues","engagementAgreementDetailsInitialValues","contractDetailsInitialValues","benefitsInitialValues","enableAckFields","prettifyFormValues","parseFormValues","parseJSFToValidate","onSubmit","parsedValues","isEmploymentNotLoaded","hasChangedCountry","payload","response","error","back","next","goTo"]}
@@ -1,2 +0,0 @@
1
- import{k as g}from"./chunk-TNQKP2XT.js";import{c as m,h as u}from"./chunk-B6INIXRK.js";import{b as f,d as b}from"./chunk-KQPDXXG3.js";import{a as e}from"./chunk-P37U34EQ.js";var L={disclaimerCostCalculator:4668194326797,engagingContractors:43161434169613,employeeOnboardingTimeline:4411262104589,extraPayments:4466822781709,germanyLaborLeasing:43002165606541,internationalPricing:4410698586893,pricingPlanOptions:43161720465421,ir35Status:42810224523917,remoteFxRate:33271144977421,terminationEmployeeCommunication:4411585179661,terminationNoticePeriods:5831900985613,involuntaryOffboardingServiceCharge:4406932229133,reconciliationInvoice:17604014808589},l=e(r=>`https://support.remote.com/hc/en-us/articles/${r}`,"buildZendeskURL");import{useQuery as y}from"@tanstack/react-query";var k=e((r,t)=>{let{client:i}=b();return y({queryKey:["zendesk-article",r],queryFn:e(async()=>{let n=await g({client:i,path:{id:Number(r)}});if(n.error)throw new Error(n.error.message||"Failed to fetch article");return n},"queryFn"),select:e(n=>{let o=n.data?.data.help_center_article;return o&&{...o,body:u(o.body||"")}},"select"),retry:!1,...t})},"useZendeskArticle");import{jsx as R}from"react/jsx-runtime";var C=e(({Trigger:r,zendeskId:t,open:i,onClose:n})=>{let{components:o}=f(),c=l(t),s=e(()=>{n?.()},"handleClose"),{data:a,isLoading:h,error:w}=k(t,{enabled:i}),p=o?.zendeskDrawer;if(!p)throw new Error("Zendesk drawer component not found");return R(p,{open:i,onClose:s,data:a,isLoading:h,error:w,zendeskURL:c,Trigger:r})},"ZendeskDrawer");import{useState as x}from"react";import{jsx as d}from"react/jsx-runtime";var Z="RemoteFlows__ZendeskTriggerButton text-blue-500 hover:underline inline-block text-xs bg-transparent border-none cursor-pointer p-0";function Q({zendeskId:r,className:t,onClick:i,children:n,external:o=!1}){let[c,s]=x(!1),a=e(()=>{o||s(!0),i?.(r)},"handleClick");return o?d("a",{href:l(r),target:"_blank",rel:"noopener noreferrer",onClick:a,className:m(Z,t),children:n}):d(C,{zendeskId:r,open:c,onClose:()=>s(!1),Trigger:d("button",{onClick:a,className:m(Z,t),children:n})})}e(Q,"ZendeskTriggerButton");export{L as a,Q as b};
2
- //# sourceMappingURL=chunk-U2H4CADS.js.map
@@ -1,2 +0,0 @@
1
- import{a as x,b as y,c as k}from"./chunk-LFSTBZUZ.js";import{b as h}from"./chunk-ZLIWNVE5.js";import{b as C}from"./chunk-KXARTTYT.js";import{c as m}from"./chunk-B6INIXRK.js";import{a as r}from"./chunk-P37U34EQ.js";import{Fragment as z,useState as G}from"react";import{Check as L,ChevronDownIcon as B,X as M}from"lucide-react";import{Command as i}from"cmdk";import{SearchIcon as H}from"lucide-react";import{jsx as d,jsxs as X}from"react/jsx-runtime";function b({className:t,...o}){return d(i,{"data-slot":"command",className:m("bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",t),...o})}r(b,"Command");function P({className:t,...o}){return d(i.List,{"data-slot":"command-list",className:m("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",t),...o})}r(P,"CommandList");function _({...t}){return d(i.Empty,{"data-slot":"command-empty",className:"py-6 text-center text-sm",...t})}r(_,"CommandEmpty");function w({className:t,...o}){return d(i.Group,{"data-slot":"command-group",className:m("text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium",t),...o})}r(w,"CommandGroup");function N({className:t,...o}){return d(i.Separator,{"data-slot":"command-separator",className:m("bg-border -mx-1 h-px",t),...o})}r(N,"CommandSeparator");function D({className:t,...o}){return d(i.Item,{"data-slot":"command-item",className:m("data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...o})}r(D,"CommandItem");import{jsx as a,jsxs as s}from"react/jsx-runtime";function Z({options:t,selected:o,onChange:u,placeholder:S,...I}){let[g,R]=G(!1),f=r(e=>{u(o.filter(n=>n.value!==e.value))},"handleUnselect"),O=t.some(e=>e.category),E=t.reduce((e,n)=>{let p=n.category||"Uncategorized";return e[p]||(e[p]=[]),e[p].push(n),e},{});return s(x,{open:g,onOpenChange:R,...I,children:[a(y,{children:s(C,{variant:"outline",role:"combobox","aria-expanded":g,className:"w-full justify-between font-normal",type:"button",children:[a("div",{className:"flex gap-1 flex-wrap overflow-x-auto max-h-[2.5rem] items-center",children:o.length>0?o.map(e=>s(h,{variant:"secondary",className:"mr-1 mb-1",children:[e.label,a("div",{role:"button",tabIndex:0,"aria-label":`remove ${e.label}`,className:"ml-1 ring-offset-background rounded-full outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 cursor-pointer",onKeyDown:n=>{n.key==="Enter"&&f(e)},onMouseDown:n=>{n.preventDefault(),n.stopPropagation()},onClick:()=>f(e),children:a(M,{className:"h-3 w-3 text-muted-foreground hover:text-foreground"})})]},e.label)):a("span",{className:"text-foreground",children:S})}),a(B,{className:"size-4"})]})}),a(k,{align:"start",className:"w-full p-0",children:a(b,{children:s(P,{children:[a(_,{children:"No item found."}),Object.entries(E).map(([e,n],p)=>s(z,{children:[p>0&&a(N,{}),a(w,{heading:O?e:void 0,children:n.map(l=>{let v=o.some(c=>c.value===l.value);return s(D,{onSelect:()=>{u(v?o.filter(c=>c.value!==l.value):[...o,l])},children:[a(L,{className:m("mr-2 h-4 w-4",v?"opacity-100":"opacity-0")}),l.label]},l.label)})})]},e))]})})})]})}r(Z,"MultiSelect");export{Z as a};
2
- //# sourceMappingURL=chunk-XHWPTKEN.js.map