@remoteoss/remote-flows 1.50.0 → 1.52.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 (661) hide show
  1. package/dist/CheckboxFieldDefault-23VE43PP.js +2 -0
  2. package/dist/CountryFieldDefault-FVAAL55P.js +2 -0
  3. package/dist/DatePickerFieldDefault-KXEMGK5B.js +2 -0
  4. package/dist/EmailFieldDefault-OFHDLOOT.js +2 -0
  5. package/dist/FileUploadFieldDefault-GX22C22E.js +2 -0
  6. package/dist/ForcedValueFieldDefault-ESITCZWK.js +2 -0
  7. package/dist/MultiSelectFieldDefault-DAUBH5JV.js +2 -0
  8. package/dist/NumberFieldDefault-MXZD7YVE.js +2 -0
  9. package/dist/PDFPreviewDefault-T6YPWXGY.js +2 -0
  10. package/dist/RadioGroupFieldDefault-QFUUJGSR.js +2 -0
  11. package/dist/SelectFieldDefault-3QTJE222.js +2 -0
  12. package/dist/TelFieldDefault-5U5X37LI.js +2 -0
  13. package/dist/TextAreaFieldDefault-JX2MVJVY.js +2 -0
  14. package/dist/TextFieldDefault-WCUD6XYS.js +2 -0
  15. package/dist/TimeFieldDefault-UNF7PKLT.js +2 -0
  16. package/dist/WorkScheduleFieldDefault-2A2RCDXV.js +2 -0
  17. package/dist/{chunk-SLRPDXK6.js → chunk-235XZBTZ.js} +2 -2
  18. package/dist/chunk-2EXX7BNU.js +2 -0
  19. package/dist/{chunk-PUK2TIQX.js.map → chunk-2EXX7BNU.js.map} +1 -1
  20. package/dist/chunk-2L6AB46E.js +2 -0
  21. package/dist/{chunk-A7U3KJIP.js.map → chunk-2L6AB46E.js.map} +1 -1
  22. package/dist/{chunk-GE74QKS6.js → chunk-335N2CVQ.js} +2 -2
  23. package/dist/chunk-36DZMQHH.js +2 -0
  24. package/dist/{chunk-DDMXUBCN.js.map → chunk-36DZMQHH.js.map} +1 -1
  25. package/dist/{chunk-N7HCQXUM.js → chunk-3B7FASV7.js} +2 -2
  26. package/dist/{chunk-STHZZZRL.js → chunk-3BDWVNHX.js} +2 -2
  27. package/dist/chunk-3CGFAN3F.js +2 -0
  28. package/dist/{chunk-DP6L72YF.js.map → chunk-3CGFAN3F.js.map} +1 -1
  29. package/dist/{chunk-ZREW7KZA.js → chunk-3DOSHTJS.js} +2 -2
  30. package/dist/{chunk-SZI67IXU.js → chunk-3HMBTPH7.js} +2 -2
  31. package/dist/{chunk-NTPHMYYC.js → chunk-3NC2JJM3.js} +2 -2
  32. package/dist/{chunk-ED35NFA6.js → chunk-3OHORFIX.js} +2 -2
  33. package/dist/{chunk-WGO25FWG.js → chunk-3WRO57UF.js} +2 -2
  34. package/dist/chunk-463G2HDA.js +2 -0
  35. package/dist/{chunk-CONMRDRL.js.map → chunk-463G2HDA.js.map} +1 -1
  36. package/dist/{chunk-4CNDASPA.js → chunk-4AQMMGXK.js} +2 -2
  37. package/dist/{chunk-G6EKGJBB.js → chunk-4BFGSBOK.js} +2 -2
  38. package/dist/{chunk-VVZTXCX2.js → chunk-4KIOOLOG.js} +2 -2
  39. package/dist/{chunk-SUYI33NX.js → chunk-4UN7DBEV.js} +2 -2
  40. package/dist/{chunk-RZL44CPH.js → chunk-57Y5XQ3D.js} +2 -2
  41. package/dist/{chunk-P6FFLJDP.js → chunk-5DPOL3DT.js} +2 -2
  42. package/dist/{chunk-FV6NNYDP.js → chunk-5FST4WDH.js} +2 -2
  43. package/dist/chunk-5NN5RWBG.js +2 -0
  44. package/dist/chunk-5NN5RWBG.js.map +1 -0
  45. package/dist/{chunk-46BOEYFO.js → chunk-6OLV37C2.js} +2 -2
  46. package/dist/{chunk-YHZZHQP5.js → chunk-6RPIMHYS.js} +2 -2
  47. package/dist/{chunk-MXAFJYLQ.js → chunk-6TLBBS6E.js} +2 -2
  48. package/dist/{chunk-EVUTX6TJ.js → chunk-77LDJPXF.js} +2 -2
  49. package/dist/chunk-7PEZVTSQ.js +2 -0
  50. package/dist/chunk-7PEZVTSQ.js.map +1 -0
  51. package/dist/{chunk-BTCC6PNG.js → chunk-7TELDH6M.js} +2 -2
  52. package/dist/{chunk-OWOIDZHI.js → chunk-7Y4NHODP.js} +2 -2
  53. package/dist/{chunk-GBVBMT3H.js → chunk-ADL2ZH54.js} +2 -2
  54. package/dist/{chunk-UZFEJMO6.js → chunk-AFTFDGSD.js} +2 -2
  55. package/dist/chunk-ANPNVWCB.js +2 -0
  56. package/dist/{chunk-E5ATCB4A.js → chunk-AOE6FXVP.js} +2 -2
  57. package/dist/{chunk-E5ATCB4A.js.map → chunk-AOE6FXVP.js.map} +1 -1
  58. package/dist/{chunk-L2YOD4GP.js → chunk-APSKAXM2.js} +2 -2
  59. package/dist/{chunk-5HDMU73I.js → chunk-B2WE3PSY.js} +2 -2
  60. package/dist/{chunk-FSCAWXCB.js → chunk-B677Q3B3.js} +2 -2
  61. package/dist/chunk-BQGTMOIQ.js +2 -0
  62. package/dist/{chunk-53QBSOMG.js.map → chunk-BQGTMOIQ.js.map} +1 -1
  63. package/dist/{chunk-WKWL57L6.js → chunk-BYD4TSDD.js} +2 -2
  64. package/dist/chunk-C7KVPEVX.js +2 -0
  65. package/dist/chunk-C7KVPEVX.js.map +1 -0
  66. package/dist/chunk-COQVI5OD.js +2 -0
  67. package/dist/chunk-COQVI5OD.js.map +1 -0
  68. package/dist/{chunk-5JXLXWTD.js → chunk-CR5J5KK6.js} +2 -2
  69. package/dist/chunk-D7F3QKN5.js +2 -0
  70. package/dist/chunk-D7F3QKN5.js.map +1 -0
  71. package/dist/chunk-DAUDKN32.js +8 -0
  72. package/dist/{chunk-QQV5REGG.js.map → chunk-DAUDKN32.js.map} +1 -1
  73. package/dist/{chunk-LXGL7HF5.js → chunk-DIPYFRXX.js} +2 -2
  74. package/dist/chunk-DSJXT5ZP.js +2 -0
  75. package/dist/chunk-DSJXT5ZP.js.map +1 -0
  76. package/dist/{chunk-ZOTKZZ67.js → chunk-DTNFGOBK.js} +2 -2
  77. package/dist/{chunk-JLZFNUBH.js → chunk-E7Y3YBZH.js} +2 -2
  78. package/dist/chunk-EP3BNRH3.js +2 -0
  79. package/dist/chunk-EP3BNRH3.js.map +1 -0
  80. package/dist/{chunk-GTS7KFEM.js → chunk-EQOOVJ7K.js} +2 -2
  81. package/dist/chunk-EUQLCVA5.js +2 -0
  82. package/dist/chunk-EUQLCVA5.js.map +1 -0
  83. package/dist/{chunk-R4ZUOFYN.js → chunk-FF5OB2GF.js} +2 -2
  84. package/dist/{chunk-H47XUL2L.js → chunk-FFRROEPQ.js} +2 -2
  85. package/dist/chunk-FIJSNO57.js +2 -0
  86. package/dist/chunk-FIJSNO57.js.map +1 -0
  87. package/dist/{chunk-UGQNOBQH.js → chunk-GF4MSLVP.js} +2 -2
  88. package/dist/{chunk-P2WUHKEU.js → chunk-GIBD2ZCJ.js} +2 -2
  89. package/dist/{chunk-XDLVDPQ7.js → chunk-GNVGW65D.js} +2 -2
  90. package/dist/{chunk-4IGLIHGF.js → chunk-GRLZH65T.js} +2 -2
  91. package/dist/chunk-GSUGHAHA.js +2 -0
  92. package/dist/{chunk-4BHEQMZV.js.map → chunk-GSUGHAHA.js.map} +1 -1
  93. package/dist/{chunk-CCGAAOXN.js → chunk-H4NJGAN4.js} +2 -2
  94. package/dist/chunk-HDFAFTHC.js +2 -0
  95. package/dist/chunk-HDFAFTHC.js.map +1 -0
  96. package/dist/{chunk-7FKNXW2I.js → chunk-HDTQOERP.js} +2 -2
  97. package/dist/{chunk-MEYX4D5K.js → chunk-I53YCEOC.js} +2 -2
  98. package/dist/{chunk-V3AVEPNA.js → chunk-I5NW7AQZ.js} +2 -2
  99. package/dist/{chunk-YME2HZZJ.js → chunk-I65OXH33.js} +2 -2
  100. package/dist/{chunk-ICYCECFS.js → chunk-IBQVGZMF.js} +2 -2
  101. package/dist/{chunk-ICYCECFS.js.map → chunk-IBQVGZMF.js.map} +1 -1
  102. package/dist/{chunk-TX6RWQUR.js → chunk-IJS67A57.js} +2 -2
  103. package/dist/chunk-IK2LTVOV.js +2 -0
  104. package/dist/chunk-IK2LTVOV.js.map +1 -0
  105. package/dist/{chunk-RYZ7TJVS.js → chunk-ISPN7HQ5.js} +2 -2
  106. package/dist/chunk-IYWSUSS2.js +2 -0
  107. package/dist/chunk-IYWSUSS2.js.map +1 -0
  108. package/dist/{chunk-FQBOMXMX.js → chunk-J244N33S.js} +2 -2
  109. package/dist/chunk-JKNE2D47.js +2 -0
  110. package/dist/{chunk-VRPZ4GHN.js.map → chunk-JKNE2D47.js.map} +1 -1
  111. package/dist/chunk-JO5D2522.js +2 -0
  112. package/dist/chunk-JO5D2522.js.map +1 -0
  113. package/dist/{chunk-ILMRP364.js → chunk-JUSQGITN.js} +2 -2
  114. package/dist/{chunk-GMSYO53D.js → chunk-KD7UBTZG.js} +2 -2
  115. package/dist/chunk-KF52YXGI.js +2 -0
  116. package/dist/chunk-KF52YXGI.js.map +1 -0
  117. package/dist/{chunk-VYTUM3RI.js → chunk-KFIUXU6I.js} +2 -2
  118. package/dist/chunk-KSSQR2CS.js +2 -0
  119. package/dist/chunk-KSSQR2CS.js.map +1 -0
  120. package/dist/{chunk-G75LPZV5.js → chunk-L7FN3XPX.js} +2 -2
  121. package/dist/{chunk-WVE2IOLY.js → chunk-LIZMNUQI.js} +2 -2
  122. package/dist/{chunk-KGNLBYM5.js → chunk-LJ32QPJF.js} +2 -2
  123. package/dist/chunk-LXABE3VR.js +2 -0
  124. package/dist/chunk-LXABE3VR.js.map +1 -0
  125. package/dist/chunk-LY5PCHQ2.js +2 -0
  126. package/dist/{chunk-B4O5YUYL.js.map → chunk-LY5PCHQ2.js.map} +1 -1
  127. package/dist/{chunk-BB3M25A3.js → chunk-MGCW2SS4.js} +2 -2
  128. package/dist/chunk-MNHXHKTE.js +2 -0
  129. package/dist/{chunk-EMMFAZZC.js.map → chunk-MNHXHKTE.js.map} +1 -1
  130. package/dist/{chunk-CUO7OGD5.js → chunk-MOOSPB2G.js} +2 -2
  131. package/dist/{chunk-ITCWBZDM.js → chunk-MZFT4MWM.js} +2 -2
  132. package/dist/chunk-NGBNHXAA.js +2 -0
  133. package/dist/{chunk-NYR6FVCU.js.map → chunk-NGBNHXAA.js.map} +1 -1
  134. package/dist/chunk-NQSJBVFL.js +2 -0
  135. package/dist/chunk-NQSJBVFL.js.map +1 -0
  136. package/dist/{chunk-V6PPOGPT.js → chunk-NVOUXFGX.js} +2 -2
  137. package/dist/{chunk-D6PMXNBM.js → chunk-OAX6TPIP.js} +2 -2
  138. package/dist/{chunk-4WSYC3Q5.js → chunk-OJ4TXF6G.js} +2 -2
  139. package/dist/{chunk-C7MVEDVY.js → chunk-OT5JE2SM.js} +2 -2
  140. package/dist/{chunk-QFTBKRUI.js → chunk-PJAHLEOR.js} +2 -2
  141. package/dist/{chunk-BLKWR77C.js → chunk-PJDHQ4ZQ.js} +2 -2
  142. package/dist/{chunk-AAXPKULB.js → chunk-PKORRCMX.js} +2 -2
  143. package/dist/{chunk-3G4HOZCM.js → chunk-POIDXI3T.js} +2 -2
  144. package/dist/chunk-QATHYZUV.js +2 -0
  145. package/dist/chunk-QATHYZUV.js.map +1 -0
  146. package/dist/{chunk-VKUGCD5J.js → chunk-QIY6K2FB.js} +2 -2
  147. package/dist/chunk-QMMNXGQF.js +2 -0
  148. package/dist/chunk-QMMNXGQF.js.map +1 -0
  149. package/dist/{chunk-ILEO7LN4.js → chunk-QRSMCORC.js} +2 -2
  150. package/dist/{chunk-TJZ5BJV3.js → chunk-QUJBIRNY.js} +2 -2
  151. package/dist/{chunk-OKBPMWVB.js → chunk-R23HFBV4.js} +2 -2
  152. package/dist/chunk-R4E37FVX.js +2 -0
  153. package/dist/{chunk-R5ADEPLC.js.map → chunk-R4E37FVX.js.map} +1 -1
  154. package/dist/chunk-RJXFAG4D.js +2 -0
  155. package/dist/chunk-RJXFAG4D.js.map +1 -0
  156. package/dist/{chunk-XEVHXHHC.js → chunk-ROVMQ5NT.js} +2 -2
  157. package/dist/{chunk-6CBC5OAQ.js → chunk-SDPYDCS7.js} +2 -2
  158. package/dist/{chunk-25MUO3XP.js → chunk-SMCLTRJW.js} +2 -2
  159. package/dist/chunk-SRLBVFNQ.js +2 -0
  160. package/dist/chunk-SRLBVFNQ.js.map +1 -0
  161. package/dist/{chunk-NFWKD7UR.js → chunk-SUGZPBET.js} +2 -2
  162. package/dist/{chunk-Z7XLK4JL.js → chunk-SV35IBBH.js} +2 -2
  163. package/dist/{chunk-7B3ATY3M.js → chunk-SYZIGZ2F.js} +2 -2
  164. package/dist/{chunk-7B3ATY3M.js.map → chunk-SYZIGZ2F.js.map} +1 -1
  165. package/dist/chunk-TUIEY7ZM.js +2 -0
  166. package/dist/chunk-TUIEY7ZM.js.map +1 -0
  167. package/dist/{chunk-ERBEPQJP.js → chunk-UBWNTSWS.js} +2 -2
  168. package/dist/chunk-UETBVQT5.js +2 -0
  169. package/dist/chunk-UETBVQT5.js.map +1 -0
  170. package/dist/{chunk-RFMYNPR7.js → chunk-URNFXEOZ.js} +2 -2
  171. package/dist/{chunk-5PUW4YCY.js → chunk-UTWBY65S.js} +2 -2
  172. package/dist/{chunk-XMVV6S77.js → chunk-UWIUECXU.js} +2 -2
  173. package/dist/{chunk-JVZ5LUV4.js → chunk-VEQWK7QQ.js} +2 -2
  174. package/dist/{chunk-JVZ5LUV4.js.map → chunk-VEQWK7QQ.js.map} +1 -1
  175. package/dist/{chunk-LADLAP2S.js → chunk-VRZJWJGM.js} +2 -2
  176. package/dist/chunk-VSK4KV55.js +2 -0
  177. package/dist/chunk-VSK4KV55.js.map +1 -0
  178. package/dist/chunk-WC7TWLA7.js +2 -0
  179. package/dist/chunk-WC7TWLA7.js.map +1 -0
  180. package/dist/{chunk-JI3PAIMV.js → chunk-WHY2WNWH.js} +2 -2
  181. package/dist/{chunk-77AA65OH.js → chunk-WNOQNNRR.js} +2 -2
  182. package/dist/{chunk-77AA65OH.js.map → chunk-WNOQNNRR.js.map} +1 -1
  183. package/dist/{chunk-JVXI4RZU.js → chunk-WU66SHVJ.js} +2 -2
  184. package/dist/{chunk-PKJZ2N4C.js → chunk-XLHTMWJ3.js} +2 -2
  185. package/dist/{chunk-ZODT3MJM.js → chunk-XPLWBO73.js} +2 -2
  186. package/dist/{chunk-DOPQK5RP.js → chunk-YANQP45B.js} +2 -2
  187. package/dist/{chunk-PKQG25GH.js → chunk-YE6NRJ2L.js} +2 -2
  188. package/dist/{chunk-PKQG25GH.js.map → chunk-YE6NRJ2L.js.map} +1 -1
  189. package/dist/{chunk-CD6H4MBI.js → chunk-YRRX7EOU.js} +2 -2
  190. package/dist/{chunk-XMIVJW5E.js → chunk-YWLAZIIO.js} +2 -2
  191. package/dist/{chunk-2UH6Y56R.js → chunk-ZJ55AKB6.js} +2 -2
  192. package/dist/{chunk-GHZABLDV.js → chunk-ZULOHKU6.js} +2 -2
  193. package/dist/default-components.d.ts +2 -2
  194. package/dist/default-components.js +1 -1
  195. package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.d.ts +1 -1
  196. package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.js +1 -1
  197. package/dist/flows/ContractAmendment/ContractAmendmentFlow.d.ts +3 -3
  198. package/dist/flows/ContractAmendment/ContractAmendmentFlow.js +1 -1
  199. package/dist/flows/ContractAmendment/ContractAmendmentForm.d.ts +1 -1
  200. package/dist/flows/ContractAmendment/ContractAmendmentForm.js +1 -1
  201. package/dist/flows/ContractAmendment/context.d.ts +3 -3
  202. package/dist/flows/ContractAmendment/hooks.d.ts +3 -3
  203. package/dist/flows/ContractAmendment/hooks.js +1 -1
  204. package/dist/flows/ContractAmendment/index.d.ts +3 -3
  205. package/dist/flows/ContractAmendment/index.js +1 -1
  206. package/dist/flows/ContractAmendment/types.d.ts +3 -3
  207. package/dist/flows/ContractAmendment/utils.d.ts +2 -2
  208. package/dist/flows/ContractorOnboarding/ContractorOnboarding.d.ts +7 -5
  209. package/dist/flows/ContractorOnboarding/ContractorOnboarding.js +1 -1
  210. package/dist/flows/ContractorOnboarding/api.d.ts +311 -14
  211. package/dist/flows/ContractorOnboarding/api.js +1 -1
  212. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.d.ts +4 -4
  213. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.js +1 -1
  214. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.d.ts +7 -5
  215. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.js +1 -1
  216. package/dist/flows/ContractorOnboarding/components/ContractOriginStep.d.ts +3 -3
  217. package/dist/flows/ContractorOnboarding/components/ContractOriginStep.js +1 -1
  218. package/dist/flows/ContractorOnboarding/components/ContractPreviewHeader.d.ts +2 -2
  219. package/dist/flows/ContractorOnboarding/components/ContractPreviewStatement.d.ts +2 -2
  220. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.d.ts +7 -5
  221. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.js +1 -1
  222. package/dist/flows/ContractorOnboarding/components/ContractReviewButton.js +1 -1
  223. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.d.ts +7 -5
  224. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.js +1 -1
  225. package/dist/flows/ContractorOnboarding/components/CreateInvoiceScheduleStep.d.ts +3 -3
  226. package/dist/flows/ContractorOnboarding/components/CreateInvoiceScheduleStep.js +1 -1
  227. package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.d.ts +7 -5
  228. package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.js +1 -1
  229. package/dist/flows/ContractorOnboarding/components/InvoiceScheduleStep.d.ts +7 -5
  230. package/dist/flows/ContractorOnboarding/components/InvoiceScheduleStep.js +1 -1
  231. package/dist/flows/ContractorOnboarding/components/OnboardingInvite.d.ts +3 -3
  232. package/dist/flows/ContractorOnboarding/components/OnboardingInvite.js +1 -1
  233. package/dist/flows/ContractorOnboarding/components/PreviewInvoiceButton.d.ts +29 -27
  234. package/dist/flows/ContractorOnboarding/components/PreviewInvoiceButton.js +1 -1
  235. package/dist/flows/ContractorOnboarding/components/PricingPlan.d.ts +7 -5
  236. package/dist/flows/ContractorOnboarding/components/PricingPlan.js +1 -1
  237. package/dist/flows/ContractorOnboarding/components/SaveDraftButton.d.ts +3 -3
  238. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.d.ts +4 -4
  239. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.js +1 -1
  240. package/dist/flows/ContractorOnboarding/components/SkipInvoiceScheduleButton.d.ts +3 -3
  241. package/dist/flows/ContractorOnboarding/context.d.ts +7 -5
  242. package/dist/flows/ContractorOnboarding/hooks.d.ts +7 -5
  243. package/dist/flows/ContractorOnboarding/hooks.js +1 -1
  244. package/dist/flows/ContractorOnboarding/index.d.ts +7 -5
  245. package/dist/flows/ContractorOnboarding/index.js +1 -1
  246. package/dist/flows/ContractorOnboarding/jsfModify.d.ts +7 -5
  247. package/dist/flows/ContractorOnboarding/jsfModify.js +1 -1
  248. package/dist/flows/ContractorOnboarding/json-schemas/createInvoiceSchedule.d.ts +177 -1
  249. package/dist/flows/ContractorOnboarding/json-schemas/createInvoiceSchedule.js +1 -1
  250. package/dist/flows/ContractorOnboarding/types.d.ts +7 -5
  251. package/dist/flows/ContractorOnboarding/utils.d.ts +4 -4
  252. package/dist/flows/CostCalculator/CostCalculatorFlow.d.ts +3 -3
  253. package/dist/flows/CostCalculator/CostCalculatorFlow.js +1 -1
  254. package/dist/flows/CostCalculator/CostCalculatorForm.d.ts +3 -3
  255. package/dist/flows/CostCalculator/CostCalculatorForm.js +1 -1
  256. package/dist/flows/CostCalculator/EstimationResults/EstimationResults.d.ts +3 -3
  257. package/dist/flows/CostCalculator/EstimationResults/EstimationResults.js +1 -1
  258. package/dist/flows/CostCalculator/SummaryResults/SummaryResults.d.ts +3 -3
  259. package/dist/flows/CostCalculator/api.d.ts +3 -3
  260. package/dist/flows/CostCalculator/api.js +1 -1
  261. package/dist/flows/CostCalculator/components/SalaryField.d.ts +2 -2
  262. package/dist/flows/CostCalculator/components/SalaryField.js +1 -1
  263. package/dist/flows/CostCalculator/context.d.ts +3 -3
  264. package/dist/flows/CostCalculator/hooks.d.ts +3 -3
  265. package/dist/flows/CostCalculator/hooks.js +1 -1
  266. package/dist/flows/CostCalculator/index.d.ts +3 -3
  267. package/dist/flows/CostCalculator/index.js +1 -1
  268. package/dist/flows/CostCalculator/jsonSchema.d.ts +3 -0
  269. package/dist/flows/CostCalculator/jsonSchema.js +1 -1
  270. package/dist/flows/CostCalculator/types.d.ts +3 -3
  271. package/dist/flows/CostCalculator/utils.d.ts +3 -3
  272. package/dist/flows/CostCalculator/utils.js +1 -1
  273. package/dist/flows/CreateCompany/CreateCompany.d.ts +4 -4
  274. package/dist/flows/CreateCompany/CreateCompany.js +1 -1
  275. package/dist/flows/CreateCompany/api.d.ts +3 -3
  276. package/dist/flows/CreateCompany/api.js +1 -1
  277. package/dist/flows/CreateCompany/components/AddressDetailsStep.d.ts +4 -4
  278. package/dist/flows/CreateCompany/components/AddressDetailsStep.js +1 -1
  279. package/dist/flows/CreateCompany/components/CompanyBasicInformationStep.d.ts +4 -4
  280. package/dist/flows/CreateCompany/components/CompanyBasicInformationStep.js +1 -1
  281. package/dist/flows/CreateCompany/components/CreateCompanyForm.d.ts +2 -2
  282. package/dist/flows/CreateCompany/components/CreateCompanyForm.js +1 -1
  283. package/dist/flows/CreateCompany/context.d.ts +4 -4
  284. package/dist/flows/CreateCompany/hooks.d.ts +4 -4
  285. package/dist/flows/CreateCompany/hooks.js +1 -1
  286. package/dist/flows/CreateCompany/index.d.ts +4 -4
  287. package/dist/flows/CreateCompany/index.js +1 -1
  288. package/dist/flows/CreateCompany/types.d.ts +4 -4
  289. package/dist/flows/InvoiceSchedule/InvoiceScheduleFlow.d.ts +8 -16
  290. package/dist/flows/InvoiceSchedule/InvoiceScheduleFlow.js +1 -1
  291. package/dist/flows/InvoiceSchedule/InvoiceScheduleForm.d.ts +3 -7
  292. package/dist/flows/InvoiceSchedule/InvoiceScheduleForm.js +1 -1
  293. package/dist/flows/InvoiceSchedule/InvoiceSchedulePreviewButton.d.ts +33 -0
  294. package/dist/flows/InvoiceSchedule/InvoiceSchedulePreviewButton.js +2 -0
  295. package/dist/flows/InvoiceSchedule/InvoiceScheduleSubmitButton.js +1 -1
  296. package/dist/flows/InvoiceSchedule/context.d.ts +10 -20
  297. package/dist/flows/InvoiceSchedule/hooks.d.ts +33 -41
  298. package/dist/flows/InvoiceSchedule/hooks.js +1 -1
  299. package/dist/flows/InvoiceSchedule/index.d.ts +6 -8
  300. package/dist/flows/InvoiceSchedule/index.js +1 -1
  301. package/dist/flows/InvoiceSchedule/types.d.ts +8 -35
  302. package/dist/flows/JsonSchemaPlayground/JsonSchemaPlaygroundFlow.d.ts +3 -3
  303. package/dist/flows/JsonSchemaPlayground/JsonSchemaPlaygroundFlow.js +1 -1
  304. package/dist/flows/JsonSchemaPlayground/JsonSchemaPlaygroundForm.d.ts +3 -3
  305. package/dist/flows/JsonSchemaPlayground/JsonSchemaPlaygroundForm.js +1 -1
  306. package/dist/flows/JsonSchemaPlayground/context.d.ts +3 -3
  307. package/dist/flows/JsonSchemaPlayground/hooks.d.ts +3 -3
  308. package/dist/flows/JsonSchemaPlayground/hooks.js +1 -1
  309. package/dist/flows/JsonSchemaPlayground/index.d.ts +3 -3
  310. package/dist/flows/JsonSchemaPlayground/index.js +1 -1
  311. package/dist/flows/JsonSchemaPlayground/types.d.ts +3 -3
  312. package/dist/flows/Onboarding/OnboardingFlow.d.ts +4 -4
  313. package/dist/flows/Onboarding/OnboardingFlow.js +1 -1
  314. package/dist/flows/Onboarding/api.d.ts +4 -4
  315. package/dist/flows/Onboarding/api.js +1 -1
  316. package/dist/flows/Onboarding/components/AnnualGrossSalary.d.ts +2 -2
  317. package/dist/flows/Onboarding/components/AnnualGrossSalary.js +1 -1
  318. package/dist/flows/Onboarding/components/BasicInformationStep.d.ts +4 -4
  319. package/dist/flows/Onboarding/components/BasicInformationStep.js +1 -1
  320. package/dist/flows/Onboarding/components/BenefitsStep.d.ts +4 -4
  321. package/dist/flows/Onboarding/components/BenefitsStep.js +1 -1
  322. package/dist/flows/Onboarding/components/ContractDetailsStep.d.ts +4 -4
  323. package/dist/flows/Onboarding/components/ContractDetailsStep.js +1 -1
  324. package/dist/flows/Onboarding/components/DailySchedule/DailySchedule.d.ts +11 -0
  325. package/dist/flows/Onboarding/components/DailySchedule/DailySchedule.js +2 -0
  326. package/dist/flows/Onboarding/components/DailySchedule/DailyScheduleContainer.d.ts +16 -0
  327. package/dist/flows/Onboarding/components/DailySchedule/DailyScheduleContainer.js +2 -0
  328. package/dist/flows/Onboarding/components/DailySchedule/DailyScheduleContainer.js.map +1 -0
  329. package/dist/flows/Onboarding/components/DailySchedule/DailyScheduleHoursErrorBanner.d.ts +12 -0
  330. package/dist/flows/Onboarding/components/DailySchedule/DailyScheduleHoursErrorBanner.js +2 -0
  331. package/dist/flows/Onboarding/components/DailySchedule/DailyScheduleHoursErrorBanner.js.map +1 -0
  332. package/dist/flows/Onboarding/components/DailySchedule/DailyScheduleSummaryBody.d.ts +13 -0
  333. package/dist/flows/Onboarding/components/DailySchedule/DailyScheduleSummaryBody.js +2 -0
  334. package/dist/flows/Onboarding/components/DailySchedule/DailyScheduleSummaryBody.js.map +1 -0
  335. package/dist/flows/Onboarding/components/DailySchedule/types.d.ts +91 -0
  336. package/dist/flows/Onboarding/components/DailySchedule/types.js +1 -0
  337. package/dist/flows/Onboarding/components/DailySchedule/types.js.map +1 -0
  338. package/dist/flows/Onboarding/components/DailySchedule/utils.d.ts +57 -0
  339. package/dist/flows/Onboarding/components/DailySchedule/utils.js +2 -0
  340. package/dist/flows/Onboarding/components/DailySchedule/utils.js.map +1 -0
  341. package/dist/flows/Onboarding/components/EmploymentAgreementInfoContent.js +1 -1
  342. package/dist/flows/Onboarding/components/EngagementAgreementDetailsStep.d.ts +4 -4
  343. package/dist/flows/Onboarding/components/EngagementAgreementDetailsStep.js +1 -1
  344. package/dist/flows/Onboarding/components/OnboardingForm.d.ts +4 -4
  345. package/dist/flows/Onboarding/components/OnboardingForm.js +1 -1
  346. package/dist/flows/Onboarding/components/OnboardingInvite.d.ts +3 -3
  347. package/dist/flows/Onboarding/components/OnboardingInvite.js +1 -1
  348. package/dist/flows/Onboarding/components/PreOnboardingRequirements.d.ts +4 -4
  349. package/dist/flows/Onboarding/components/PreOnboardingRequirements.js +1 -1
  350. package/dist/flows/Onboarding/components/PreviewEmploymentAgreementStep.js +1 -1
  351. package/dist/flows/Onboarding/components/ReviewStep.d.ts +4 -4
  352. package/dist/flows/Onboarding/components/SaveDraftButton.d.ts +3 -3
  353. package/dist/flows/Onboarding/components/SelectCountryStep.d.ts +4 -4
  354. package/dist/flows/Onboarding/components/SelectCountryStep.js +1 -1
  355. package/dist/flows/Onboarding/context.d.ts +5 -5
  356. package/dist/flows/Onboarding/hooks.d.ts +4 -4
  357. package/dist/flows/Onboarding/hooks.js +1 -1
  358. package/dist/flows/Onboarding/index.d.ts +4 -4
  359. package/dist/flows/Onboarding/index.js +1 -1
  360. package/dist/flows/Onboarding/json-schemas/selectCountryStep.d.ts +3 -0
  361. package/dist/flows/Onboarding/json-schemas/selectCountryStep.js +1 -1
  362. package/dist/flows/Onboarding/types.d.ts +4 -4
  363. package/dist/flows/Onboarding/utils.d.ts +4 -4
  364. package/dist/flows/PayrollAdminOnboarding/PayrollAdminOnboardingFlow.d.ts +5 -5
  365. package/dist/flows/PayrollAdminOnboarding/PayrollAdminOnboardingFlow.js +1 -1
  366. package/dist/flows/PayrollAdminOnboarding/api.d.ts +2 -2
  367. package/dist/flows/PayrollAdminOnboarding/api.js +1 -1
  368. package/dist/flows/PayrollAdminOnboarding/components/AdministrativeDetailsStep.d.ts +3 -3
  369. package/dist/flows/PayrollAdminOnboarding/components/AdministrativeDetailsStep.js +1 -1
  370. package/dist/flows/PayrollAdminOnboarding/components/ContractDetailsStep.d.ts +3 -3
  371. package/dist/flows/PayrollAdminOnboarding/components/ContractDetailsStep.js +1 -1
  372. package/dist/flows/PayrollAdminOnboarding/components/InvitationStep.d.ts +3 -3
  373. package/dist/flows/PayrollAdminOnboarding/components/InvitationStep.js +1 -1
  374. package/dist/flows/PayrollAdminOnboarding/components/PayrollAdminForm.d.ts +2 -2
  375. package/dist/flows/PayrollAdminOnboarding/components/PayrollAdminForm.js +1 -1
  376. package/dist/flows/PayrollAdminOnboarding/components/SelectCountryStep.d.ts +3 -3
  377. package/dist/flows/PayrollAdminOnboarding/components/SelectCountryStep.js +1 -1
  378. package/dist/flows/PayrollAdminOnboarding/components/useStepSubmitHandler.d.ts +3 -3
  379. package/dist/flows/PayrollAdminOnboarding/context.d.ts +5 -5
  380. package/dist/flows/PayrollAdminOnboarding/hooks.d.ts +5 -5
  381. package/dist/flows/PayrollAdminOnboarding/hooks.js +1 -1
  382. package/dist/flows/PayrollAdminOnboarding/index.d.ts +5 -5
  383. package/dist/flows/PayrollAdminOnboarding/index.js +1 -1
  384. package/dist/flows/PayrollAdminOnboarding/json-schemas/selectCountryStep.d.ts +3 -0
  385. package/dist/flows/PayrollAdminOnboarding/json-schemas/selectCountryStep.js +1 -1
  386. package/dist/flows/PayrollAdminOnboarding/types.d.ts +5 -5
  387. package/dist/flows/PayrollEmployeeOnboarding/PayrollEmployeeOnboardingFlow.d.ts +5 -5
  388. package/dist/flows/PayrollEmployeeOnboarding/PayrollEmployeeOnboardingFlow.js +1 -1
  389. package/dist/flows/PayrollEmployeeOnboarding/api.d.ts +3 -3
  390. package/dist/flows/PayrollEmployeeOnboarding/api.js +1 -1
  391. package/dist/flows/PayrollEmployeeOnboarding/components/BankAccountStep.d.ts +3 -3
  392. package/dist/flows/PayrollEmployeeOnboarding/components/BankAccountStep.js +1 -1
  393. package/dist/flows/PayrollEmployeeOnboarding/components/FederalTaxesStep.d.ts +3 -3
  394. package/dist/flows/PayrollEmployeeOnboarding/components/FederalTaxesStep.js +1 -1
  395. package/dist/flows/PayrollEmployeeOnboarding/components/HomeAddressStep.d.ts +3 -3
  396. package/dist/flows/PayrollEmployeeOnboarding/components/HomeAddressStep.js +1 -1
  397. package/dist/flows/PayrollEmployeeOnboarding/components/PayrollEmployeeForm.d.ts +2 -2
  398. package/dist/flows/PayrollEmployeeOnboarding/components/PayrollEmployeeForm.js +1 -1
  399. package/dist/flows/PayrollEmployeeOnboarding/components/PersonalDetailsStep.d.ts +3 -3
  400. package/dist/flows/PayrollEmployeeOnboarding/components/PersonalDetailsStep.js +1 -1
  401. package/dist/flows/PayrollEmployeeOnboarding/components/StateTaxesStep.d.ts +3 -3
  402. package/dist/flows/PayrollEmployeeOnboarding/components/StateTaxesStep.js +1 -1
  403. package/dist/flows/PayrollEmployeeOnboarding/components/useEmployeeStepSubmitHandler.d.ts +3 -3
  404. package/dist/flows/PayrollEmployeeOnboarding/context.d.ts +5 -5
  405. package/dist/flows/PayrollEmployeeOnboarding/hooks.d.ts +5 -5
  406. package/dist/flows/PayrollEmployeeOnboarding/hooks.js +1 -1
  407. package/dist/flows/PayrollEmployeeOnboarding/index.d.ts +5 -5
  408. package/dist/flows/PayrollEmployeeOnboarding/index.js +1 -1
  409. package/dist/flows/PayrollEmployeeOnboarding/types.d.ts +5 -5
  410. package/dist/flows/Termination/AdditionalDetailsForm.d.ts +4 -4
  411. package/dist/flows/Termination/AdditionalDetailsForm.js +1 -1
  412. package/dist/flows/Termination/EmployeeComunicationForm.d.ts +4 -4
  413. package/dist/flows/Termination/EmployeeComunicationForm.js +1 -1
  414. package/dist/flows/Termination/PaidTimeOffForm.d.ts +4 -4
  415. package/dist/flows/Termination/PaidTimeOffForm.js +1 -1
  416. package/dist/flows/Termination/TerminationDetailsForm.d.ts +4 -4
  417. package/dist/flows/Termination/TerminationDetailsForm.js +1 -1
  418. package/dist/flows/Termination/TerminationFlow.d.ts +4 -4
  419. package/dist/flows/Termination/TerminationFlow.js +1 -1
  420. package/dist/flows/Termination/TerminationForm.d.ts +4 -4
  421. package/dist/flows/Termination/TerminationForm.js +1 -1
  422. package/dist/flows/Termination/api.d.ts +5 -5
  423. package/dist/flows/Termination/api.js +1 -1
  424. package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformationFees.js +1 -1
  425. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.d.ts +6 -6
  426. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.d.ts +6 -6
  427. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.js +1 -1
  428. package/dist/flows/Termination/components/PaidTimeOff/types.d.ts +6 -6
  429. package/dist/flows/Termination/components/TerminationDialogInfoContent/TerminationDialogInfoContent.js +1 -1
  430. package/dist/flows/Termination/context.d.ts +4 -4
  431. package/dist/flows/Termination/hooks.d.ts +4 -4
  432. package/dist/flows/Termination/hooks.js +1 -1
  433. package/dist/flows/Termination/index.d.ts +6 -6
  434. package/dist/flows/Termination/index.js +1 -1
  435. package/dist/flows/Termination/json-schemas/additionalInformation.d.ts +1 -1
  436. package/dist/flows/Termination/json-schemas/additionalInformation.js +1 -1
  437. package/dist/flows/Termination/json-schemas/defaultSchema.d.ts +1 -1
  438. package/dist/flows/Termination/json-schemas/defaultSchema.js +1 -1
  439. package/dist/flows/Termination/json-schemas/employeeComunication.d.ts +1 -1
  440. package/dist/flows/Termination/json-schemas/employeeComunication.js +1 -1
  441. package/dist/flows/Termination/json-schemas/jsonSchema.d.ts +1 -1
  442. package/dist/flows/Termination/json-schemas/jsonSchema.js +1 -1
  443. package/dist/flows/Termination/json-schemas/paidTimeOff.d.ts +1 -1
  444. package/dist/flows/Termination/json-schemas/paidTimeOff.js +1 -1
  445. package/dist/flows/Termination/json-schemas/schema.d.ts +4 -4
  446. package/dist/flows/Termination/json-schemas/schema.js +1 -1
  447. package/dist/flows/Termination/json-schemas/terminationDetails.d.ts +1 -1
  448. package/dist/flows/Termination/json-schemas/terminationDetails.js +1 -1
  449. package/dist/flows/Termination/types.d.ts +4 -4
  450. package/dist/flows/Termination/utils.d.ts +4 -4
  451. package/dist/flows/types.d.ts +3 -3
  452. package/dist/flows/utils.d.ts +2 -2
  453. package/dist/index.css +1 -1
  454. package/dist/index.css.map +1 -1
  455. package/dist/index.d.ts +18 -17
  456. package/dist/index.js +2 -2
  457. package/dist/index.js.map +1 -1
  458. package/dist/internals.d.ts +4 -4
  459. package/dist/internals.js +1 -1
  460. package/dist/{mutations-Dg60ZjS0.d.ts → mutations-DU9Ens-k.d.ts} +1 -1
  461. package/dist/{remoteFlows-7WBvzlJt.d.ts → remoteFlows-BlMarq2K.d.ts} +1 -1
  462. package/dist/styles.css +1 -1
  463. package/dist/styles.css.map +1 -1
  464. package/dist/{types-CgNwKzZf.d.ts → types-B2hGbfw_.d.ts} +3 -3
  465. package/dist/{types-CJHW5xRl.d.ts → types-BFSFdXKe.d.ts} +1 -1
  466. package/dist/{types-DmvLgred.d.ts → types-BGoAzP0c.d.ts} +1 -1
  467. package/dist/{types-CT7w2kHS.d.ts → types-C3sJ1GdL.d.ts} +2 -2
  468. package/dist/{types-1IycaCkN.d.ts → types-CTIVW_BN.d.ts} +5 -5
  469. package/dist/{types--IwjF9ei.d.ts → types-Ce5Sou3Z.d.ts} +7 -37
  470. package/dist/{types-CI8Tx4se.d.ts → types-DKfzko2j.d.ts} +3 -3
  471. package/dist/types-DvsjrBmu.d.ts +15 -0
  472. package/dist/{types-DPlWZa2M.d.ts → types-p2MsBnGq.d.ts} +3 -3
  473. package/dist/{types.gen-TcbORUL-.d.ts → types.gen-CMDAS1NL.d.ts} +1 -1
  474. package/dist/{utils-DSHROBN2.d.ts → utils-DpJmWzrf.d.ts} +1 -1
  475. package/package.json +4 -3
  476. package/dist/CheckboxFieldDefault-JOUZXB4Y.js +0 -2
  477. package/dist/CountryFieldDefault-IZQOFNX5.js +0 -2
  478. package/dist/DatePickerFieldDefault-AWV7LUPI.js +0 -2
  479. package/dist/EmailFieldDefault-QVKXB67I.js +0 -2
  480. package/dist/FileUploadFieldDefault-NZ33IMPU.js +0 -2
  481. package/dist/ForcedValueFieldDefault-RY5AN7O6.js +0 -2
  482. package/dist/MultiSelectFieldDefault-DOZQUBEE.js +0 -2
  483. package/dist/NumberFieldDefault-O7OKTFG4.js +0 -2
  484. package/dist/PDFPreviewDefault-HSSMYKV5.js +0 -2
  485. package/dist/RadioGroupFieldDefault-GFDO56LK.js +0 -2
  486. package/dist/SelectFieldDefault-E4KFZBJ7.js +0 -2
  487. package/dist/TelFieldDefault-2EPAKDTW.js +0 -2
  488. package/dist/TextAreaFieldDefault-WZIVM4RZ.js +0 -2
  489. package/dist/TextFieldDefault-YVXZO4AN.js +0 -2
  490. package/dist/TimeFieldDefault-JN4MDIO6.js +0 -2
  491. package/dist/WorkScheduleFieldDefault-23WY3SVD.js +0 -2
  492. package/dist/chunk-3OKB5OHA.js +0 -2
  493. package/dist/chunk-3OKB5OHA.js.map +0 -1
  494. package/dist/chunk-4BHEQMZV.js +0 -2
  495. package/dist/chunk-53QBSOMG.js +0 -2
  496. package/dist/chunk-5YI7MY5T.js +0 -2
  497. package/dist/chunk-5YI7MY5T.js.map +0 -1
  498. package/dist/chunk-A7U3KJIP.js +0 -2
  499. package/dist/chunk-AUPAAQUT.js +0 -2
  500. package/dist/chunk-AUPAAQUT.js.map +0 -1
  501. package/dist/chunk-B4O5YUYL.js +0 -2
  502. package/dist/chunk-CONMRDRL.js +0 -2
  503. package/dist/chunk-DDMXUBCN.js +0 -2
  504. package/dist/chunk-DP6L72YF.js +0 -2
  505. package/dist/chunk-DYIMRD6T.js +0 -2
  506. package/dist/chunk-DYIMRD6T.js.map +0 -1
  507. package/dist/chunk-EMMFAZZC.js +0 -2
  508. package/dist/chunk-GIZQZBHB.js +0 -2
  509. package/dist/chunk-GIZQZBHB.js.map +0 -1
  510. package/dist/chunk-HMJ4PIDI.js +0 -2
  511. package/dist/chunk-HMJ4PIDI.js.map +0 -1
  512. package/dist/chunk-I4DU34BA.js +0 -2
  513. package/dist/chunk-I4DU34BA.js.map +0 -1
  514. package/dist/chunk-IHGCXP2X.js +0 -2
  515. package/dist/chunk-IHGCXP2X.js.map +0 -1
  516. package/dist/chunk-LSUBNZ64.js +0 -2
  517. package/dist/chunk-LSUBNZ64.js.map +0 -1
  518. package/dist/chunk-NAFECQWK.js +0 -2
  519. package/dist/chunk-NYR6FVCU.js +0 -2
  520. package/dist/chunk-PUK2TIQX.js +0 -2
  521. package/dist/chunk-QQPF2DUF.js +0 -2
  522. package/dist/chunk-QQPF2DUF.js.map +0 -1
  523. package/dist/chunk-QQV5REGG.js +0 -8
  524. package/dist/chunk-R5ADEPLC.js +0 -2
  525. package/dist/chunk-ROO2IFBF.js +0 -2
  526. package/dist/chunk-ROO2IFBF.js.map +0 -1
  527. package/dist/chunk-SVU7GWUR.js +0 -2
  528. package/dist/chunk-SVU7GWUR.js.map +0 -1
  529. package/dist/chunk-SVVZOMLQ.js +0 -2
  530. package/dist/chunk-SVVZOMLQ.js.map +0 -1
  531. package/dist/chunk-T5H35HYL.js +0 -2
  532. package/dist/chunk-T5H35HYL.js.map +0 -1
  533. package/dist/chunk-TRDNTXE7.js +0 -2
  534. package/dist/chunk-TRDNTXE7.js.map +0 -1
  535. package/dist/chunk-U4H7URYB.js +0 -2
  536. package/dist/chunk-U4H7URYB.js.map +0 -1
  537. package/dist/chunk-UWHJF45X.js +0 -2
  538. package/dist/chunk-UWHJF45X.js.map +0 -1
  539. package/dist/chunk-VFRHMNLJ.js +0 -2
  540. package/dist/chunk-VFRHMNLJ.js.map +0 -1
  541. package/dist/chunk-VRPZ4GHN.js +0 -2
  542. package/dist/chunk-WRTUY6K3.js +0 -2
  543. package/dist/chunk-WRTUY6K3.js.map +0 -1
  544. package/dist/chunk-WVJDCDGZ.js +0 -2
  545. package/dist/chunk-WVJDCDGZ.js.map +0 -1
  546. package/dist/chunk-XFVXRCMH.js +0 -2
  547. package/dist/chunk-XFVXRCMH.js.map +0 -1
  548. package/dist/chunk-ZD4H63AL.js +0 -2
  549. package/dist/chunk-ZD4H63AL.js.map +0 -1
  550. package/dist/createInvoiceSchedule-BweQB6DI.d.ts +0 -195
  551. package/dist/flows/InvoiceSchedule/api.d.ts +0 -47
  552. package/dist/flows/InvoiceSchedule/api.js +0 -2
  553. package/dist/flows/InvoiceSchedule/components/ContractorSelectField.d.ts +0 -20
  554. package/dist/flows/InvoiceSchedule/components/ContractorSelectField.js +0 -2
  555. package/dist/types.gen-Dtb8ECVb.d.ts +0 -308
  556. /package/dist/{CheckboxFieldDefault-JOUZXB4Y.js.map → CheckboxFieldDefault-23VE43PP.js.map} +0 -0
  557. /package/dist/{CountryFieldDefault-IZQOFNX5.js.map → CountryFieldDefault-FVAAL55P.js.map} +0 -0
  558. /package/dist/{DatePickerFieldDefault-AWV7LUPI.js.map → DatePickerFieldDefault-KXEMGK5B.js.map} +0 -0
  559. /package/dist/{EmailFieldDefault-QVKXB67I.js.map → EmailFieldDefault-OFHDLOOT.js.map} +0 -0
  560. /package/dist/{FileUploadFieldDefault-NZ33IMPU.js.map → FileUploadFieldDefault-GX22C22E.js.map} +0 -0
  561. /package/dist/{ForcedValueFieldDefault-RY5AN7O6.js.map → ForcedValueFieldDefault-ESITCZWK.js.map} +0 -0
  562. /package/dist/{MultiSelectFieldDefault-DOZQUBEE.js.map → MultiSelectFieldDefault-DAUBH5JV.js.map} +0 -0
  563. /package/dist/{NumberFieldDefault-O7OKTFG4.js.map → NumberFieldDefault-MXZD7YVE.js.map} +0 -0
  564. /package/dist/{PDFPreviewDefault-HSSMYKV5.js.map → PDFPreviewDefault-T6YPWXGY.js.map} +0 -0
  565. /package/dist/{RadioGroupFieldDefault-GFDO56LK.js.map → RadioGroupFieldDefault-QFUUJGSR.js.map} +0 -0
  566. /package/dist/{SelectFieldDefault-E4KFZBJ7.js.map → SelectFieldDefault-3QTJE222.js.map} +0 -0
  567. /package/dist/{TelFieldDefault-2EPAKDTW.js.map → TelFieldDefault-5U5X37LI.js.map} +0 -0
  568. /package/dist/{TextAreaFieldDefault-WZIVM4RZ.js.map → TextAreaFieldDefault-JX2MVJVY.js.map} +0 -0
  569. /package/dist/{TextFieldDefault-YVXZO4AN.js.map → TextFieldDefault-WCUD6XYS.js.map} +0 -0
  570. /package/dist/{TimeFieldDefault-JN4MDIO6.js.map → TimeFieldDefault-UNF7PKLT.js.map} +0 -0
  571. /package/dist/{WorkScheduleFieldDefault-23WY3SVD.js.map → WorkScheduleFieldDefault-2A2RCDXV.js.map} +0 -0
  572. /package/dist/{chunk-SLRPDXK6.js.map → chunk-235XZBTZ.js.map} +0 -0
  573. /package/dist/{chunk-GE74QKS6.js.map → chunk-335N2CVQ.js.map} +0 -0
  574. /package/dist/{chunk-N7HCQXUM.js.map → chunk-3B7FASV7.js.map} +0 -0
  575. /package/dist/{chunk-STHZZZRL.js.map → chunk-3BDWVNHX.js.map} +0 -0
  576. /package/dist/{chunk-ZREW7KZA.js.map → chunk-3DOSHTJS.js.map} +0 -0
  577. /package/dist/{chunk-SZI67IXU.js.map → chunk-3HMBTPH7.js.map} +0 -0
  578. /package/dist/{chunk-NTPHMYYC.js.map → chunk-3NC2JJM3.js.map} +0 -0
  579. /package/dist/{chunk-ED35NFA6.js.map → chunk-3OHORFIX.js.map} +0 -0
  580. /package/dist/{chunk-WGO25FWG.js.map → chunk-3WRO57UF.js.map} +0 -0
  581. /package/dist/{chunk-4CNDASPA.js.map → chunk-4AQMMGXK.js.map} +0 -0
  582. /package/dist/{chunk-G6EKGJBB.js.map → chunk-4BFGSBOK.js.map} +0 -0
  583. /package/dist/{chunk-VVZTXCX2.js.map → chunk-4KIOOLOG.js.map} +0 -0
  584. /package/dist/{chunk-SUYI33NX.js.map → chunk-4UN7DBEV.js.map} +0 -0
  585. /package/dist/{chunk-RZL44CPH.js.map → chunk-57Y5XQ3D.js.map} +0 -0
  586. /package/dist/{chunk-P6FFLJDP.js.map → chunk-5DPOL3DT.js.map} +0 -0
  587. /package/dist/{chunk-FV6NNYDP.js.map → chunk-5FST4WDH.js.map} +0 -0
  588. /package/dist/{chunk-46BOEYFO.js.map → chunk-6OLV37C2.js.map} +0 -0
  589. /package/dist/{chunk-YHZZHQP5.js.map → chunk-6RPIMHYS.js.map} +0 -0
  590. /package/dist/{chunk-MXAFJYLQ.js.map → chunk-6TLBBS6E.js.map} +0 -0
  591. /package/dist/{chunk-EVUTX6TJ.js.map → chunk-77LDJPXF.js.map} +0 -0
  592. /package/dist/{chunk-BTCC6PNG.js.map → chunk-7TELDH6M.js.map} +0 -0
  593. /package/dist/{chunk-OWOIDZHI.js.map → chunk-7Y4NHODP.js.map} +0 -0
  594. /package/dist/{chunk-GBVBMT3H.js.map → chunk-ADL2ZH54.js.map} +0 -0
  595. /package/dist/{chunk-UZFEJMO6.js.map → chunk-AFTFDGSD.js.map} +0 -0
  596. /package/dist/{chunk-NAFECQWK.js.map → chunk-ANPNVWCB.js.map} +0 -0
  597. /package/dist/{chunk-L2YOD4GP.js.map → chunk-APSKAXM2.js.map} +0 -0
  598. /package/dist/{chunk-5HDMU73I.js.map → chunk-B2WE3PSY.js.map} +0 -0
  599. /package/dist/{chunk-FSCAWXCB.js.map → chunk-B677Q3B3.js.map} +0 -0
  600. /package/dist/{chunk-WKWL57L6.js.map → chunk-BYD4TSDD.js.map} +0 -0
  601. /package/dist/{chunk-5JXLXWTD.js.map → chunk-CR5J5KK6.js.map} +0 -0
  602. /package/dist/{chunk-LXGL7HF5.js.map → chunk-DIPYFRXX.js.map} +0 -0
  603. /package/dist/{chunk-ZOTKZZ67.js.map → chunk-DTNFGOBK.js.map} +0 -0
  604. /package/dist/{chunk-JLZFNUBH.js.map → chunk-E7Y3YBZH.js.map} +0 -0
  605. /package/dist/{chunk-GTS7KFEM.js.map → chunk-EQOOVJ7K.js.map} +0 -0
  606. /package/dist/{chunk-R4ZUOFYN.js.map → chunk-FF5OB2GF.js.map} +0 -0
  607. /package/dist/{chunk-H47XUL2L.js.map → chunk-FFRROEPQ.js.map} +0 -0
  608. /package/dist/{chunk-UGQNOBQH.js.map → chunk-GF4MSLVP.js.map} +0 -0
  609. /package/dist/{chunk-P2WUHKEU.js.map → chunk-GIBD2ZCJ.js.map} +0 -0
  610. /package/dist/{chunk-XDLVDPQ7.js.map → chunk-GNVGW65D.js.map} +0 -0
  611. /package/dist/{chunk-4IGLIHGF.js.map → chunk-GRLZH65T.js.map} +0 -0
  612. /package/dist/{chunk-CCGAAOXN.js.map → chunk-H4NJGAN4.js.map} +0 -0
  613. /package/dist/{chunk-7FKNXW2I.js.map → chunk-HDTQOERP.js.map} +0 -0
  614. /package/dist/{chunk-MEYX4D5K.js.map → chunk-I53YCEOC.js.map} +0 -0
  615. /package/dist/{chunk-V3AVEPNA.js.map → chunk-I5NW7AQZ.js.map} +0 -0
  616. /package/dist/{chunk-YME2HZZJ.js.map → chunk-I65OXH33.js.map} +0 -0
  617. /package/dist/{chunk-TX6RWQUR.js.map → chunk-IJS67A57.js.map} +0 -0
  618. /package/dist/{chunk-RYZ7TJVS.js.map → chunk-ISPN7HQ5.js.map} +0 -0
  619. /package/dist/{chunk-FQBOMXMX.js.map → chunk-J244N33S.js.map} +0 -0
  620. /package/dist/{chunk-ILMRP364.js.map → chunk-JUSQGITN.js.map} +0 -0
  621. /package/dist/{chunk-GMSYO53D.js.map → chunk-KD7UBTZG.js.map} +0 -0
  622. /package/dist/{chunk-VYTUM3RI.js.map → chunk-KFIUXU6I.js.map} +0 -0
  623. /package/dist/{chunk-G75LPZV5.js.map → chunk-L7FN3XPX.js.map} +0 -0
  624. /package/dist/{chunk-WVE2IOLY.js.map → chunk-LIZMNUQI.js.map} +0 -0
  625. /package/dist/{chunk-KGNLBYM5.js.map → chunk-LJ32QPJF.js.map} +0 -0
  626. /package/dist/{chunk-BB3M25A3.js.map → chunk-MGCW2SS4.js.map} +0 -0
  627. /package/dist/{chunk-CUO7OGD5.js.map → chunk-MOOSPB2G.js.map} +0 -0
  628. /package/dist/{chunk-ITCWBZDM.js.map → chunk-MZFT4MWM.js.map} +0 -0
  629. /package/dist/{chunk-V6PPOGPT.js.map → chunk-NVOUXFGX.js.map} +0 -0
  630. /package/dist/{chunk-D6PMXNBM.js.map → chunk-OAX6TPIP.js.map} +0 -0
  631. /package/dist/{chunk-4WSYC3Q5.js.map → chunk-OJ4TXF6G.js.map} +0 -0
  632. /package/dist/{chunk-C7MVEDVY.js.map → chunk-OT5JE2SM.js.map} +0 -0
  633. /package/dist/{chunk-QFTBKRUI.js.map → chunk-PJAHLEOR.js.map} +0 -0
  634. /package/dist/{chunk-BLKWR77C.js.map → chunk-PJDHQ4ZQ.js.map} +0 -0
  635. /package/dist/{chunk-AAXPKULB.js.map → chunk-PKORRCMX.js.map} +0 -0
  636. /package/dist/{chunk-3G4HOZCM.js.map → chunk-POIDXI3T.js.map} +0 -0
  637. /package/dist/{chunk-VKUGCD5J.js.map → chunk-QIY6K2FB.js.map} +0 -0
  638. /package/dist/{chunk-ILEO7LN4.js.map → chunk-QRSMCORC.js.map} +0 -0
  639. /package/dist/{chunk-TJZ5BJV3.js.map → chunk-QUJBIRNY.js.map} +0 -0
  640. /package/dist/{chunk-OKBPMWVB.js.map → chunk-R23HFBV4.js.map} +0 -0
  641. /package/dist/{chunk-XEVHXHHC.js.map → chunk-ROVMQ5NT.js.map} +0 -0
  642. /package/dist/{chunk-6CBC5OAQ.js.map → chunk-SDPYDCS7.js.map} +0 -0
  643. /package/dist/{chunk-25MUO3XP.js.map → chunk-SMCLTRJW.js.map} +0 -0
  644. /package/dist/{chunk-NFWKD7UR.js.map → chunk-SUGZPBET.js.map} +0 -0
  645. /package/dist/{chunk-Z7XLK4JL.js.map → chunk-SV35IBBH.js.map} +0 -0
  646. /package/dist/{chunk-ERBEPQJP.js.map → chunk-UBWNTSWS.js.map} +0 -0
  647. /package/dist/{chunk-RFMYNPR7.js.map → chunk-URNFXEOZ.js.map} +0 -0
  648. /package/dist/{chunk-5PUW4YCY.js.map → chunk-UTWBY65S.js.map} +0 -0
  649. /package/dist/{chunk-XMVV6S77.js.map → chunk-UWIUECXU.js.map} +0 -0
  650. /package/dist/{chunk-LADLAP2S.js.map → chunk-VRZJWJGM.js.map} +0 -0
  651. /package/dist/{chunk-JI3PAIMV.js.map → chunk-WHY2WNWH.js.map} +0 -0
  652. /package/dist/{chunk-JVXI4RZU.js.map → chunk-WU66SHVJ.js.map} +0 -0
  653. /package/dist/{chunk-PKJZ2N4C.js.map → chunk-XLHTMWJ3.js.map} +0 -0
  654. /package/dist/{chunk-ZODT3MJM.js.map → chunk-XPLWBO73.js.map} +0 -0
  655. /package/dist/{chunk-DOPQK5RP.js.map → chunk-YANQP45B.js.map} +0 -0
  656. /package/dist/{chunk-CD6H4MBI.js.map → chunk-YRRX7EOU.js.map} +0 -0
  657. /package/dist/{chunk-XMIVJW5E.js.map → chunk-YWLAZIIO.js.map} +0 -0
  658. /package/dist/{chunk-2UH6Y56R.js.map → chunk-ZJ55AKB6.js.map} +0 -0
  659. /package/dist/{chunk-GHZABLDV.js.map → chunk-ZULOHKU6.js.map} +0 -0
  660. /package/dist/flows/InvoiceSchedule/{api.js.map → InvoiceSchedulePreviewButton.js.map} +0 -0
  661. /package/dist/flows/{InvoiceSchedule/components/ContractorSelectField.js.map → Onboarding/components/DailySchedule/DailySchedule.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/common/api/contractor-contract-details.ts","../src/common/invoice-schedules/api.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport { useQuery, UseQueryResult } from '@tanstack/react-query';\nimport { FieldValues } from 'react-hook-form';\nimport {\n getV1CountriesCountryCodeContractorContractDetails,\n getV1ContractorsEmploymentsEmploymentIdContractorCurrencies,\n} from '@/src/client';\nimport { useClient } from '@/src/context';\nimport { Client } from '@/src/client/client';\nimport { createHeadlessForm } from '@/src/common/createHeadlessForm';\nimport {\n FlowOptions,\n JSONSchemaFormResultWithFieldsets,\n} from '@/src/flows/types';\nimport { $TSFixMe } from '@/src/types/remoteFlows';\n\nexport const useContractorCurrencies = ({\n employmentId,\n options,\n}: {\n employmentId: string;\n options?: { queryOptions?: { enabled?: boolean } };\n}) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['contractor-currencies', employmentId],\n queryFn: async () => {\n return getV1ContractorsEmploymentsEmploymentIdContractorCurrencies({\n client: client as Client,\n path: { employment_id: employmentId },\n query: {\n restrict_to_guaranteed_pay_out_currencies: false,\n },\n });\n },\n enabled: options?.queryOptions?.enabled,\n select: ({ data }) => {\n return data?.data;\n },\n });\n};\n\n/**\n * Get the contractor onboarding details schema for a given country\n * @param countryCode - The country code\n * @param fieldValues - The field values\n * @param options - The options\n * @returns The contractor onboarding details schema\n */\nconst useContractorOnboardingDetailsSchema = ({\n countryCode,\n employmentId,\n fieldValues,\n options,\n}: {\n countryCode: string;\n fieldValues: FieldValues;\n employmentId: string;\n options?: FlowOptions & { queryOptions?: { enabled?: boolean } };\n}): UseQueryResult<JSONSchemaFormResultWithFieldsets> => {\n const { client } = useClient();\n return useQuery({\n queryKey: [\n 'contractor-onboarding-details-schema',\n countryCode,\n employmentId,\n ],\n retry: false,\n queryFn: async () => {\n return getV1CountriesCountryCodeContractorContractDetails({\n client: client as Client,\n path: { country_code: countryCode },\n query: {\n json_schema_version: 1,\n employment_id: employmentId,\n },\n });\n },\n enabled: options?.queryOptions?.enabled,\n select: ({ data }) => {\n const jsfSchema = data?.data?.schema || {};\n return createHeadlessForm(jsfSchema, fieldValues, options);\n },\n });\n};\n\n/**\n * Get contractor onboarding details schema with currency options overridden\n * from the getIndexContractorCurrency endpoint\n */\nexport const useContractorContractDetailsSchema = ({\n countryCode,\n employmentId,\n fieldValues,\n options,\n}: {\n countryCode: string;\n fieldValues: FieldValues;\n employmentId: string;\n options?: FlowOptions & { queryOptions?: { enabled?: boolean } };\n}) => {\n const schemaQuery = useContractorOnboardingDetailsSchema({\n countryCode,\n employmentId,\n fieldValues,\n options,\n });\n\n const { data: currencies, isLoading: isLoadingCurrencies } =\n useContractorCurrencies({\n employmentId,\n options: {\n queryOptions: { enabled: options?.queryOptions?.enabled },\n },\n });\n\n const dataWithCurrencies = useMemo(() => {\n if (!schemaQuery.data || !currencies) {\n return schemaQuery.data;\n }\n\n const form = {\n ...schemaQuery.data,\n fields: schemaQuery.data.fields.map((field) => {\n if (field.name !== 'payment_terms') {\n return field;\n }\n\n return {\n ...field,\n fields: (field.fields as $TSFixMe[])?.map((nestedField: $TSFixMe) => {\n if (nestedField.name !== 'compensation_currency_code') {\n return nestedField;\n }\n\n // Return a new object with overridden options\n return {\n ...nestedField,\n options: currencies.map((currency) => ({\n label: currency.code,\n value: currency.code,\n meta: { source: currency.source },\n })),\n };\n }),\n };\n }),\n };\n\n return form;\n }, [schemaQuery.data, currencies]);\n\n return {\n ...schemaQuery,\n data: dataWithCurrencies as $TSFixMe,\n isLoading: schemaQuery.isLoading || isLoadingCurrencies,\n };\n};\n","import { useMemo } from 'react';\nimport { useMutation, useQuery, queryOptions } from '@tanstack/react-query';\nimport { FieldValues } from 'react-hook-form';\nimport {\n BulkContractorInvoiceScheduleCreateParams,\n ContractorInvoiceScheduleCreateParams,\n getV1ContractorInvoiceSchedules,\n patchV1ContractorInvoiceSchedulesId2,\n postV1ContractorInvoiceSchedules,\n postV1EmploymentsEmploymentIdContractorInvoicesPreview,\n PreviewContractorInvoiceParams,\n UpdateScheduleContractorInvoiceParams,\n} from '@/src/client';\nimport { Client } from '@/src/client/client';\nimport { useClient } from '@/src/context';\nimport { createHeadlessForm } from '@/src/common/createHeadlessForm';\nimport { useContractorCurrencies } from '@/src/common/api/contractor-contract-details';\nimport { INVOICE_SCHEDULE_STATUS } from '@/src/common/invoice-schedules/constants';\nimport { buildCreateInvoiceScheduleSchema } from '@/src/common/invoice-schedules/json-schema';\nimport {\n buildInvoicePreviewPayload,\n buildInvoiceSchedulePayload,\n} from '@/src/common/invoice-schedules/utils';\nimport {\n JSONSchemaFormResultWithFieldsets,\n JSFModify,\n} from '@/src/flows/types';\n\n/**\n * Get the create invoice schedule schema with currency options from the contractor currencies endpoint.\n * React Query caches the result, so multiple calls share the same data.\n */\nexport const useGetCreateInvoiceScheduleSchema = ({\n enabled,\n employmentId,\n jsfModify,\n includeOneTime,\n isContractorOfRecord,\n includeCustomDays,\n fieldValues,\n}: {\n enabled?: boolean;\n employmentId?: string;\n jsfModify?: JSFModify;\n /**\n * Offer \"One time\" alongside the recurring cadences. Off by default so the in-flow\n * onboarding step keeps the field set it shipped with.\n */\n includeOneTime?: boolean;\n /**\n * Restrict to one-off only, as the platform does for Contractor of Record.\n */\n isContractorOfRecord?: boolean;\n /**\n * Offer the two semi-monthly day fields, which map to `custom_days`.\n */\n includeCustomDays?: boolean;\n /**\n * Current form values. Passed to `createHeadlessForm` so the schema's conditionals — the\n * item-row reveal, and the semi-monthly day fields — re-evaluate as the user fills the\n * form. Without this the form is built once against empty values and nothing ever reveals.\n */\n fieldValues?: Record<string, unknown>;\n}): { data: JSONSchemaFormResultWithFieldsets | null; isLoading: boolean } => {\n const { data: currencies, isLoading: isLoadingCurrencies } =\n useContractorCurrencies({\n employmentId: employmentId as string,\n options: {\n queryOptions: { enabled: enabled && Boolean(employmentId) },\n },\n });\n\n const schemaWithCurrencies = useMemo(() => {\n if (!enabled) return null;\n\n // Both callers know their employment up front, so there is always a currency list on the\n // way — render nothing until it arrives rather than a currency field with no options.\n if (!currencies) return null;\n\n const schema = buildCreateInvoiceScheduleSchema({\n currencies: currencies?.map(\n (currency: { code: string; source: string }) => currency.code,\n ),\n includeOneTime,\n isContractorOfRecord,\n includeCustomDays,\n });\n\n // `transformMoneyFields` has to be explicit: `createHeadlessForm` only defaults it on\n // when no options object is passed at all, so passing `jsfModify` alone silently opted\n // out. Without it the item amounts stay in the money input's major units — a decimal as\n // soon as an amount has cents — and never satisfy the `integer` the row-reveal\n // conditional matches on, which froze the form at a single item for any such amount.\n return createHeadlessForm(schema, fieldValues, {\n jsfModify,\n transformMoneyFields: true,\n });\n }, [\n enabled,\n currencies,\n jsfModify,\n includeOneTime,\n isContractorOfRecord,\n includeCustomDays,\n fieldValues,\n ]);\n\n return {\n data: schemaWithCurrencies,\n isLoading: isLoadingCurrencies,\n };\n};\n\n/**\n * Query options factory for fetching invoice schedules by employment id\n * @param client - The API client\n * @param employmentId - The employment ID\n * @returns Query options for contractor invoice schedules\n */\nexport const invoiceSchedulesOptions = (\n client: Client,\n employmentId: string,\n) => {\n return queryOptions({\n queryKey: ['contractor-invoice-schedules', employmentId] as const,\n queryFn: async () => {\n const response = await getV1ContractorInvoiceSchedules({\n client,\n query: { employment_id: employmentId },\n });\n\n if (response.error || !response.data) {\n throw new Error('Failed to fetch invoice schedules');\n }\n\n return response;\n },\n });\n};\n\n/**\n * Get the last invoice schedule for an employment that matches specific statuses.\n * This is used to determine if a schedule was previously created during onboarding.\n *\n * @param employmentId - The employment ID\n * @param options - Query options\n * @returns The last matching invoice schedule or undefined\n */\nexport const useGetExistingInvoiceSchedule = ({\n employmentId,\n options,\n}: {\n employmentId: string;\n options?: { queryOptions?: { enabled?: boolean } };\n}) => {\n const { client } = useClient();\n return useQuery({\n ...invoiceSchedulesOptions(client as Client, employmentId),\n enabled: options?.queryOptions?.enabled,\n select: (response) => {\n // Find the first invoice schedule that matches the editing criteria\n return response.data?.data?.contractor_invoice_schedules?.find(\n (invoice) =>\n invoice.status ===\n INVOICE_SCHEDULE_STATUS.PENDING_CONTRACTOR_ACTION ||\n invoice.status === INVOICE_SCHEDULE_STATUS.PROCESSING ||\n invoice.status === INVOICE_SCHEDULE_STATUS.PENDING_COMPANY_ACTION,\n );\n },\n });\n};\n\n/**\n * Creates contractor invoice schedules\n * @param employmentId - The employment ID\n * @param values - The form values containing invoice schedule data\n * @returns The created invoice schedules\n */\nexport const useCreateInvoiceSchedule = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: async ({\n employmentId,\n values,\n }: {\n employmentId: string;\n values: FieldValues;\n }) => {\n const payload: BulkContractorInvoiceScheduleCreateParams = {\n contractor_invoice_schedules: [\n {\n employment_id: employmentId,\n ...buildInvoiceSchedulePayload(values),\n } as ContractorInvoiceScheduleCreateParams,\n ],\n };\n\n return postV1ContractorInvoiceSchedules({\n client: client as Client,\n body: payload,\n });\n },\n });\n};\n\n/**\n * Updates an existing contractor invoice schedule\n * @param scheduleId - The invoice schedule ID\n * @param values - The form values containing invoice schedule data\n * @returns The updated invoice schedule\n */\nexport const useUpdateInvoiceSchedule = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: async ({\n scheduleId,\n values,\n }: {\n scheduleId: string;\n values: FieldValues;\n }) => {\n const payload: UpdateScheduleContractorInvoiceParams =\n buildInvoiceSchedulePayload(values);\n\n return patchV1ContractorInvoiceSchedulesId2({\n client: client as Client,\n path: { id: scheduleId },\n body: payload,\n });\n },\n });\n};\n\n/**\n * Skips (cancels) an existing contractor invoice schedule by marking it as deleted.\n * @param scheduleId - The invoice schedule ID\n * @returns The updated invoice schedule\n */\nexport const useSkipInvoiceSchedule = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: async ({ scheduleId }: { scheduleId: string }) => {\n const payload: UpdateScheduleContractorInvoiceParams = {\n status: 'deleted',\n };\n\n return patchV1ContractorInvoiceSchedulesId2({\n client: client as Client,\n path: { id: scheduleId },\n body: payload,\n });\n },\n });\n};\n\n/**\n * Previews a contractor invoice as a draft PDF, without persisting it.\n * @param employmentId - The employment ID\n * @param values - The form values containing invoice details\n * @returns The base64-encoded PDF preview\n */\nexport const usePreviewContractorInvoice = () => {\n const { client } = useClient();\n return useMutation({\n mutationFn: async ({\n employmentId,\n values,\n }: {\n employmentId: string;\n values: FieldValues;\n }) => {\n const payload = buildInvoicePreviewPayload(\n values,\n ) as PreviewContractorInvoiceParams;\n\n return postV1EmploymentsEmploymentIdContractorInvoicesPreview({\n client: client as Client,\n path: { employment_id: employmentId },\n body: payload,\n });\n },\n });\n};\n"],"mappings":"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","names":["useMemo","useQuery","useContractorCurrencies","__name","employmentId","options","client","useClient","useQuery","getV1ContractorsEmploymentsEmploymentIdContractorCurrencies","data","useContractorOnboardingDetailsSchema","countryCode","fieldValues","getV1CountriesCountryCodeContractorContractDetails","jsfSchema","createHeadlessForm","useContractorContractDetailsSchema","schemaQuery","currencies","isLoadingCurrencies","dataWithCurrencies","useMemo","field","nestedField","currency","useMemo","useMutation","useQuery","queryOptions","useGetCreateInvoiceScheduleSchema","__name","enabled","employmentId","jsfModify","includeOneTime","isContractorOfRecord","includeCustomDays","fieldValues","currencies","isLoadingCurrencies","useContractorCurrencies","useMemo","schema","buildCreateInvoiceScheduleSchema","currency","createHeadlessForm","invoiceSchedulesOptions","client","queryOptions","response","getV1ContractorInvoiceSchedules","useGetExistingInvoiceSchedule","options","useClient","useQuery","invoice","INVOICE_SCHEDULE_STATUS","useCreateInvoiceSchedule","useMutation","values","payload","buildInvoiceSchedulePayload","postV1ContractorInvoiceSchedules","useUpdateInvoiceSchedule","scheduleId","patchV1ContractorInvoiceSchedulesId2","useSkipInvoiceSchedule","usePreviewContractorInvoice","buildInvoicePreviewPayload","postV1EmploymentsEmploymentIdContractorInvoicesPreview"]}
@@ -1,2 +1,2 @@
1
- import{b as m}from"./chunk-F37FQXEZ.js";import{a as l}from"./chunk-I4DU34BA.js";import{h as s}from"./chunk-AUPAAQUT.js";import{a as c}from"./chunk-C4HFMTSB.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as i}from"react/jsx-runtime";function w({onSubmit:t,onSuccess:u,onError:n}){let{form:a,formId:S,invoiceScheduleBag:o}=m(),f=e(async d=>{try{let r=await o?.parseFormValues(d);r&&await t?.(r);let h=await o?.onSubmit(d);await u?.(h)}catch(r){if(c(r)){n?.({error:r.error,rawError:r.rawError,fieldErrors:r.fieldErrors});return}n?.({error:r,rawError:{},fieldErrors:[]})}},"handleSubmit");return i(s,{...a,children:i("form",{id:S,onSubmit:a.handleSubmit(f),className:"space-y-4 RemoteFlows__InvoiceScheduleForm",children:i(l,{fields:o?.fields??[]})})})}e(w,"InvoiceScheduleForm");export{w as a};
2
- //# sourceMappingURL=chunk-FQBOMXMX.js.map
1
+ import{b as m}from"./chunk-F37FQXEZ.js";import{a as l}from"./chunk-5NN5RWBG.js";import{b as s}from"./chunk-C7KVPEVX.js";import{a as c}from"./chunk-C4HFMTSB.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as i}from"react/jsx-runtime";function w({onSubmit:t,onSuccess:u,onError:n}){let{form:a,formId:S,invoiceScheduleBag:o}=m(),f=e(async d=>{try{let r=await o?.parseFormValues(d);r&&await t?.(r);let h=await o?.onSubmit(d);await u?.(h)}catch(r){if(c(r)){n?.({error:r.error,rawError:r.rawError,fieldErrors:r.fieldErrors});return}n?.({error:r,rawError:{},fieldErrors:[]})}},"handleSubmit");return i(s,{...a,children:i("form",{id:S,onSubmit:a.handleSubmit(f),className:"space-y-4 RemoteFlows__InvoiceScheduleForm",children:i(l,{fields:o?.fields??[]})})})}e(w,"InvoiceScheduleForm");export{w as a};
2
+ //# sourceMappingURL=chunk-J244N33S.js.map
@@ -0,0 +1,2 @@
1
+ import{a as c}from"./chunk-E7Y3YBZH.js";import{a as _}from"./chunk-FB3PEQTO.js";import{e as a,f as i,g as s,i as n,j as F}from"./chunk-C7KVPEVX.js";import{n as p}from"./chunk-C4HFMTSB.js";import{a as t}from"./chunk-P37U34EQ.js";import{jsx as e,jsxs as U}from"react/jsx-runtime";function R({field:l,fieldState:C,fieldData:o}){let{name:r,label:d,description:m,multiple:f,accept:u}=o;return U(a,{"data-field":r,className:`RemoteFlows__FileUpload__Item__${r}`,children:[e(i,{className:"RemoteFlows__FileUpload__Label",children:d}),e(s,{children:e(_,{onChange:l.onChange,multiple:f,className:p("RemoteFlows__FileUpload__Input"),accept:u,files:l.value})}),(m||o.meta?.helpCenter)&&e("div",{className:"flex items-center justify-between",children:e(n,{className:"RemoteFlows__FileUpload__Description",helpCenter:e(c,{helpCenter:o.meta?.helpCenter}),children:m})}),C.error&&e(F,{className:"RemoteFlows__FileUpload__Error"})]})}t(R,"FileUploadFieldDefault");export{R as a};
2
+ //# sourceMappingURL=chunk-JKNE2D47.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/form/fields/default/FileUploadFieldDefault.tsx"],"sourcesContent":["import {\n FormControl,\n FormDescription,\n FormItem,\n FormLabel,\n FormMessage,\n} from '@/src/components/ui/form';\nimport { FileUploader } from '@/src/components/ui/file-uploader';\nimport { HelpCenter } from '@/src/components/shared/zendesk-drawer/HelpCenter';\nimport { cn } from '@/src/lib/utils';\nimport { FileComponentProps } from '@/src/types/fields';\n\nexport function FileUploadFieldDefault({\n field,\n fieldState,\n fieldData,\n}: FileComponentProps) {\n const { name, label, description, multiple, accept } = fieldData;\n\n return (\n <FormItem\n data-field={name}\n className={`RemoteFlows__FileUpload__Item__${name}`}\n >\n <FormLabel className='RemoteFlows__FileUpload__Label'>{label}</FormLabel>\n <FormControl>\n <FileUploader\n onChange={field.onChange}\n multiple={multiple}\n className={cn('RemoteFlows__FileUpload__Input')}\n accept={accept}\n files={field.value}\n />\n </FormControl>\n {(description || fieldData.meta?.helpCenter) && (\n <div className='flex items-center justify-between'>\n <FormDescription\n className='RemoteFlows__FileUpload__Description'\n helpCenter={<HelpCenter helpCenter={fieldData.meta?.helpCenter} />}\n >\n {description}\n </FormDescription>\n </div>\n )}\n {fieldState.error && (\n <FormMessage className='RemoteFlows__FileUpload__Error' />\n )}\n </FormItem>\n );\n}\n"],"mappings":"+NAoBI,OAIE,OAAAA,EAJF,QAAAC,MAAA,oBARG,SAASC,EAAuB,CACrC,MAAAC,EACA,WAAAC,EACA,UAAAC,CACF,EAAuB,CACrB,GAAM,CAAE,KAAAC,EAAM,MAAAC,EAAO,YAAAC,EAAa,SAAAC,EAAU,OAAAC,CAAO,EAAIL,EAEvD,OACEJ,EAACU,EAAA,CACC,aAAYL,EACZ,UAAW,kCAAkCA,CAAI,GAEjD,UAAAN,EAACY,EAAA,CAAU,UAAU,iCAAkC,SAAAL,EAAM,EAC7DP,EAACa,EAAA,CACC,SAAAb,EAACc,EAAA,CACC,SAAUX,EAAM,SAChB,SAAUM,EACV,UAAWM,EAAG,gCAAgC,EAC9C,OAAQL,EACR,MAAOP,EAAM,MACf,EACF,GACEK,GAAeH,EAAU,MAAM,aAC/BL,EAAC,OAAI,UAAU,oCACb,SAAAA,EAACgB,EAAA,CACC,UAAU,uCACV,WAAYhB,EAACiB,EAAA,CAAW,WAAYZ,EAAU,MAAM,WAAY,EAE/D,SAAAG,EACH,EACF,EAEDJ,EAAW,OACVJ,EAACkB,EAAA,CAAY,UAAU,iCAAiC,GAE5D,CAEJ,CArCgBC,EAAAjB,EAAA","names":["jsx","jsxs","FileUploadFieldDefault","field","fieldState","fieldData","name","label","description","multiple","accept","FormItem","FormLabel","FormControl","FileUploader","cn","FormDescription","HelpCenter","FormMessage","__name"]}
1
+ {"version":3,"sources":["../src/components/form/fields/default/FileUploadFieldDefault.tsx"],"sourcesContent":["import {\n FormControl,\n FormDescription,\n FormItem,\n FormLabel,\n FormMessage,\n} from '@/src/components/ui/form';\nimport { FileUploader } from '@/src/components/ui/file-uploader';\nimport { HelpCenter } from '@/src/components/shared/zendesk-drawer/HelpCenter';\nimport { cn } from '@/src/lib/utils';\nimport { FileComponentProps } from '@/src/types/fields';\n\nexport function FileUploadFieldDefault({\n field,\n fieldState,\n fieldData,\n}: FileComponentProps) {\n const { name, label, description, multiple, accept } = fieldData;\n\n return (\n <FormItem\n data-field={name}\n className={`RemoteFlows__FileUpload__Item__${name}`}\n >\n <FormLabel className='RemoteFlows__FileUpload__Label'>{label}</FormLabel>\n <FormControl>\n <FileUploader\n onChange={field.onChange}\n multiple={multiple}\n className={cn('RemoteFlows__FileUpload__Input')}\n accept={accept}\n files={field.value}\n />\n </FormControl>\n {(description || fieldData.meta?.helpCenter) && (\n <div className='flex items-center justify-between'>\n <FormDescription\n className='RemoteFlows__FileUpload__Description'\n helpCenter={<HelpCenter helpCenter={fieldData.meta?.helpCenter} />}\n >\n {description}\n </FormDescription>\n </div>\n )}\n {fieldState.error && (\n <FormMessage className='RemoteFlows__FileUpload__Error' />\n )}\n </FormItem>\n );\n}\n"],"mappings":"oOAoBI,OAIE,OAAAA,EAJF,QAAAC,MAAA,oBARG,SAASC,EAAuB,CACrC,MAAAC,EACA,WAAAC,EACA,UAAAC,CACF,EAAuB,CACrB,GAAM,CAAE,KAAAC,EAAM,MAAAC,EAAO,YAAAC,EAAa,SAAAC,EAAU,OAAAC,CAAO,EAAIL,EAEvD,OACEJ,EAACU,EAAA,CACC,aAAYL,EACZ,UAAW,kCAAkCA,CAAI,GAEjD,UAAAN,EAACY,EAAA,CAAU,UAAU,iCAAkC,SAAAL,EAAM,EAC7DP,EAACa,EAAA,CACC,SAAAb,EAACc,EAAA,CACC,SAAUX,EAAM,SAChB,SAAUM,EACV,UAAWM,EAAG,gCAAgC,EAC9C,OAAQL,EACR,MAAOP,EAAM,MACf,EACF,GACEK,GAAeH,EAAU,MAAM,aAC/BL,EAAC,OAAI,UAAU,oCACb,SAAAA,EAACgB,EAAA,CACC,UAAU,uCACV,WAAYhB,EAACiB,EAAA,CAAW,WAAYZ,EAAU,MAAM,WAAY,EAE/D,SAAAG,EACH,EACF,EAEDJ,EAAW,OACVJ,EAACkB,EAAA,CAAY,UAAU,iCAAiC,GAE5D,CAEJ,CArCgBC,EAAAjB,EAAA","names":["jsx","jsxs","FileUploadFieldDefault","field","fieldState","fieldData","name","label","description","multiple","accept","FormItem","FormLabel","FormControl","FileUploader","cn","FormDescription","HelpCenter","FormMessage","__name"]}
@@ -0,0 +1,2 @@
1
+ import{f as F}from"./chunk-C4HFMTSB.js";import{b as m}from"./chunk-FSGFBJJF.js";import{a as f}from"./chunk-P37U34EQ.js";import{createHeadlessForm as c,modify as p}from"@remoteoss/remote-json-schema-form-kit";var N=f((e,o,n)=>{let{transformMoneyFields:y}=n||{transformMoneyFields:!0};if(n&&n.jsfModify){let{required:r,allOf:i,...t}=n.jsfModify,{schema:s,warnings:l}=p(e,{...t,muteLogging:!0});if(l&&l.length>0&&l.filter(g=>g?.type!=="FIELD_TO_CHANGE_NOT_FOUND").length>0,e=s,r){let a=Array.isArray(s.required)?s.required:[];typeof r=="function"?e.required=r(a):e.required=[...a,...r]}i&&(e.allOf=[...Array.isArray(s.allOf)?s.allOf:[],...i])}let d={};o&&y&&(d=m(e.properties||{},"money").reduce((i,t)=>(i[t]=F(o[t]),i),{}));let u=JSON.parse(JSON.stringify({...o,...d}));return{meta:{"x-jsf-fieldsets":e["x-jsf-fieldsets"]||e["x-rmt-flatFieldsets"],"x-jsf-presentation":e["x-jsf-presentation"]},...c(e,{initialValues:u})}},"createHeadlessForm");export{N as a};
2
+ //# sourceMappingURL=chunk-JO5D2522.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/common/createHeadlessForm.tsx"],"sourcesContent":["import { FieldValues } from 'react-hook-form';\nimport {\n createHeadlessForm as baseCreateHeadlessForm,\n modify,\n} from '@remoteoss/remote-json-schema-form-kit';\nimport { convertToCents } from '@/src/components/form/utils';\nimport {\n JSFModify,\n JSONSchemaFormResultWithFieldsets,\n} from '@/src/flows/types';\nimport { findFieldsByType } from '@/src/flows/utils';\nimport { JSFFieldset } from '@/src/types/remoteFlows';\n\n/*\n * Creates a headless form from a JSON Schema, useful to avoid code duplication when creating headless forms.\n * @param jsfSchema - The JSON Schema\n * @param fieldValues - The field values\n * @param options - The options\n * @returns The headless form\n */\nexport const createHeadlessForm = (\n jsfSchema: Record<string, unknown>,\n fieldValues?: FieldValues,\n options?: { jsfModify?: JSFModify; transformMoneyFields?: boolean },\n): JSONSchemaFormResultWithFieldsets => {\n const { transformMoneyFields } = options || {\n transformMoneyFields: true,\n };\n if (options && options.jsfModify) {\n const { required, allOf, ...modifyConfig } = options.jsfModify;\n // muteLogging: true suppresses the generic library log; we surface the\n // actual warnings ourselves when present so they're actionable.\n const { schema, warnings } = modify(jsfSchema, {\n ...modifyConfig,\n muteLogging: true,\n } as Parameters<typeof modify>[1]);\n if (warnings && warnings.length > 0) {\n // FIELD_TO_CHANGE_NOT_FOUND is expected noise, not a bug: some field\n // customizations (e.g. equity_compensation) are shared across every\n // onboarding contract details schema even though not every country's schema defines\n // that field. Only surface the warning types that do indicate a real\n // misconfiguration, and only in this repo's own dev build (see\n // RF_INTERNAL_DEV in tsup.config.ts) — never to consumers of the\n // published package.\n const actionableWarnings = warnings.filter(\n (warning) => warning?.type !== 'FIELD_TO_CHANGE_NOT_FOUND',\n );\n if (\n actionableWarnings.length > 0 &&\n process.env.RF_INTERNAL_DEV === 'true'\n ) {\n // eslint-disable-next-line no-console\n console.warn('jsfModify warnings:', actionableWarnings);\n }\n }\n jsfSchema = schema;\n\n if (required) {\n const baseRequired = Array.isArray(schema.required)\n ? schema.required\n : [];\n\n if (typeof required === 'function') {\n // Function: allows full control over required fields\n jsfSchema.required = required(baseRequired);\n } else {\n // Array: merge with existing required fields (backwards compatible)\n jsfSchema.required = [...baseRequired, ...required];\n }\n }\n\n if (allOf) {\n jsfSchema.allOf = [\n ...(Array.isArray(schema.allOf) ? schema.allOf : []),\n ...allOf,\n ];\n }\n }\n\n let moneyFieldsData: Record<string, number | null> = {};\n\n if (fieldValues && transformMoneyFields) {\n const moneyFields = findFieldsByType(jsfSchema.properties || {}, 'money');\n moneyFieldsData = moneyFields.reduce<Record<string, number | null>>(\n (acc, field) => {\n acc[field] = convertToCents(fieldValues[field]);\n return acc;\n },\n {},\n );\n }\n\n /**\n * We create a deep copy of the field values to avoid modifying the original object.\n * This problem is caused by json-schema-form-v0.\n */\n const initialValues = JSON.parse(\n JSON.stringify({\n ...fieldValues,\n ...moneyFieldsData,\n }),\n );\n\n return {\n meta: {\n // Support for both x-jsf-fieldsets and x-rmt-flatFieldsets\n // before x-jsf-fieldsets was used, but it was migrated to x-rmt-flatFieldsets\n // this allows to everything to keep working as expected without renaming the whole thing\n 'x-jsf-fieldsets':\n (jsfSchema['x-jsf-fieldsets'] as JSFFieldset) ||\n (jsfSchema['x-rmt-flatFieldsets'] as JSFFieldset),\n 'x-jsf-presentation': jsfSchema['x-jsf-presentation'] as\n | Record<string, unknown>\n | undefined,\n },\n ...baseCreateHeadlessForm(jsfSchema, {\n initialValues,\n }),\n };\n};\n"],"mappings":"wHACA,OACE,sBAAsBA,EACtB,UAAAC,MACK,yCAgBA,IAAMC,EAAqBC,EAAA,CAChCC,EACAC,EACAC,IACsC,CACtC,GAAM,CAAE,qBAAAC,CAAqB,EAAID,GAAW,CAC1C,qBAAsB,EACxB,EACA,GAAIA,GAAWA,EAAQ,UAAW,CAChC,GAAM,CAAE,SAAAE,EAAU,MAAAC,EAAO,GAAGC,CAAa,EAAIJ,EAAQ,UAG/C,CAAE,OAAAK,EAAQ,SAAAC,CAAS,EAAIC,EAAOT,EAAW,CAC7C,GAAGM,EACH,YAAa,EACf,CAAiC,EAsBjC,GArBIE,GAAYA,EAAS,OAAS,GAQLA,EAAS,OACjCE,GAAYA,GAAS,OAAS,2BACjC,EAEqB,OAAS,EAOhCV,EAAYO,EAERH,EAAU,CACZ,IAAMO,EAAe,MAAM,QAAQJ,EAAO,QAAQ,EAC9CA,EAAO,SACP,CAAC,EAED,OAAOH,GAAa,WAEtBJ,EAAU,SAAWI,EAASO,CAAY,EAG1CX,EAAU,SAAW,CAAC,GAAGW,EAAc,GAAGP,CAAQ,CAEtD,CAEIC,IACFL,EAAU,MAAQ,CAChB,GAAI,MAAM,QAAQO,EAAO,KAAK,EAAIA,EAAO,MAAQ,CAAC,EAClD,GAAGF,CACL,EAEJ,CAEA,IAAIO,EAAiD,CAAC,EAElDX,GAAeE,IAEjBS,EADoBC,EAAiBb,EAAU,YAAc,CAAC,EAAG,OAAO,EAC1C,OAC5B,CAACc,EAAKC,KACJD,EAAIC,CAAK,EAAIC,EAAef,EAAYc,CAAK,CAAC,EACvCD,GAET,CAAC,CACH,GAOF,IAAMG,EAAgB,KAAK,MACzB,KAAK,UAAU,CACb,GAAGhB,EACH,GAAGW,CACL,CAAC,CACH,EAEA,MAAO,CACL,KAAM,CAIJ,kBACGZ,EAAU,iBAAiB,GAC3BA,EAAU,qBAAqB,EAClC,qBAAsBA,EAAU,oBAAoB,CAGtD,EACA,GAAGkB,EAAuBlB,EAAW,CACnC,cAAAiB,CACF,CAAC,CACH,CACF,EAnGkC","names":["baseCreateHeadlessForm","modify","createHeadlessForm","__name","jsfSchema","fieldValues","options","transformMoneyFields","required","allOf","modifyConfig","schema","warnings","modify","warning","baseRequired","moneyFieldsData","findFieldsByType","acc","field","convertToCents","initialValues","baseCreateHeadlessForm"]}
@@ -1,2 +1,2 @@
1
- import{a as s}from"./chunk-53QBSOMG.js";import{b as m}from"./chunk-76ZDXC2T.js";import{x as i}from"./chunk-C4HFMTSB.js";import{a}from"./chunk-P37U34EQ.js";import{jsx as d}from"react/jsx-runtime";function l({onSubmit:c,onSuccess:p,onError:t}){let{createCompanyBag:o}=m(),u=a(async r=>{try{await c?.({countryCode:r.country_code,companyOwnerEmail:r.company_owner_email,companyOwnerName:r.company_owner_name,desiredCurrency:r.desired_currency,name:r.name,phoneNumber:r.phone_number,taxNumber:r.tax_number});let n=await o.onSubmit(r);if(n?.data){await p?.(n?.data),o?.next();return}if(n?.error){let e=i(n,o.meta?.fields?.company_basic_information);t?.(e)}}catch(n){let e=i(n,o.meta?.fields?.company_basic_information);t?.(e)}},"handleSubmit"),f=o.stepState.values?.company_basic_information||o.initialValues.company_basic_information;return d(s,{defaultValues:f,onSubmit:u})}a(l,"CompanyBasicInformationStep");export{l as a};
2
- //# sourceMappingURL=chunk-ILMRP364.js.map
1
+ import{a as s}from"./chunk-BQGTMOIQ.js";import{b as m}from"./chunk-76ZDXC2T.js";import{x as i}from"./chunk-C4HFMTSB.js";import{a}from"./chunk-P37U34EQ.js";import{jsx as d}from"react/jsx-runtime";function l({onSubmit:c,onSuccess:p,onError:t}){let{createCompanyBag:o}=m(),u=a(async r=>{try{await c?.({countryCode:r.country_code,companyOwnerEmail:r.company_owner_email,companyOwnerName:r.company_owner_name,desiredCurrency:r.desired_currency,name:r.name,phoneNumber:r.phone_number,taxNumber:r.tax_number});let n=await o.onSubmit(r);if(n?.data){await p?.(n?.data),o?.next();return}if(n?.error){let e=i(n,o.meta?.fields?.company_basic_information);t?.(e)}}catch(n){let e=i(n,o.meta?.fields?.company_basic_information);t?.(e)}},"handleSubmit"),f=o.stepState.values?.company_basic_information||o.initialValues.company_basic_information;return d(s,{defaultValues:f,onSubmit:u})}a(l,"CompanyBasicInformationStep");export{l as a};
2
+ //# sourceMappingURL=chunk-JUSQGITN.js.map
@@ -1,2 +1,2 @@
1
- import{a as o}from"./chunk-A7U3KJIP.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as r}from"react/jsx-runtime";function n({field:t,fieldData:p}){return r(o,{type:"text",inputMode:"decimal",pattern:"^[0-9.]*$",...t,...p})}e(n,"NumberFieldDefault");export{n as a};
2
- //# sourceMappingURL=chunk-GMSYO53D.js.map
1
+ import{a as o}from"./chunk-2L6AB46E.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as r}from"react/jsx-runtime";function n({field:t,fieldData:p}){return r(o,{type:"text",inputMode:"decimal",pattern:"^[0-9.]*$",...t,...p})}e(n,"NumberFieldDefault");export{n as a};
2
+ //# sourceMappingURL=chunk-KD7UBTZG.js.map
@@ -0,0 +1,2 @@
1
+ import{b as d}from"./chunk-F37FQXEZ.js";import{a as w}from"./chunk-OL5C4QEH.js";import{n as l,x as u}from"./chunk-C4HFMTSB.js";import{b as m}from"./chunk-H2O4CVKF.js";import{a as t}from"./chunk-P37U34EQ.js";import{useState as v}from"react";import{jsx as n}from"react/jsx-runtime";function O({onSuccess:h,onError:p,className:f,children:P,disabled:g=!1,...E}){let[o,I]=v(null),[b,i]=v(!1),{form:B,invoiceScheduleBag:r}=d(),{components:s}=m(),C=t(async()=>{try{let e=await r?.previewInvoice(B.getValues());e&&(I(e),i(!0),await h?.(e))}catch(e){p?.(u(e))}},"handlePreview"),a=s?.button;if(!a)throw new Error("Button component not found");let c=s?.pdfViewer;if(!c)throw new Error("PDFViewer component not found");return n(w,{open:b,onOpenChange:e=>{e||i(!1)},title:"Invoice Preview",className:"top-0 bottom-0 left-auto right-0 h-full max-h-none w-full max-w-[900px] rounded-t-none flex flex-col",trigger:n(a,{...E,type:"button",onClick:C,disabled:g||r?.isPreviewingInvoice||!r?.employmentId,className:l("RemoteFlows__InvoiceScheduleForm__PreviewButton",f),children:P}),children:o&&n(c,{base64Data:o.content,fileName:o.name})})}t(O,"InvoiceSchedulePreviewButton");export{O as a};
2
+ //# sourceMappingURL=chunk-KF52YXGI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/InvoiceSchedule/InvoiceSchedulePreviewButton.tsx"],"sourcesContent":["import { ButtonHTMLAttributes, useState } from 'react';\nimport { Drawer } from '@/src/components/shared/drawer/Drawer';\nimport { useFormFields } from '@/src/context';\nimport { ContractorInvoicePreview } from '@/src/common/invoice-schedules/types';\nimport { useInvoiceScheduleContext } from '@/src/flows/InvoiceSchedule/context';\nimport { cn, handleStepError } from '@/src/lib/utils';\nimport { NormalizedFieldError } from '@/src/lib/mutations';\n\ntype InvoiceSchedulePreviewButtonProps = Omit<\n ButtonHTMLAttributes<HTMLButtonElement>,\n 'onError'\n> & {\n onSuccess?: (data: ContractorInvoicePreview) => void | Promise<void>;\n onError?: ({\n error,\n rawError,\n fieldErrors,\n }: {\n error: Error;\n rawError: Record<string, unknown>;\n fieldErrors: NormalizedFieldError[];\n }) => void;\n};\n\n/**\n * Renders the invoice the form currently describes as a draft (non-persisted) PDF, shown in\n * a drawer through the `pdfViewer` component. The standalone twin of the onboarding step's\n * `PreviewInvoiceButton`.\n *\n * Disabled while a preview is in flight, and while the flow has no contractor to preview\n * against — the endpoint is scoped to an employment.\n *\n * `onSuccess` receives the same document, for consumers that want to do something else with\n * it. Note `preview.content` is a `data:application/pdf;base64,...` URI: browsers block\n * top-level navigation to the `data:` scheme, so it can be rendered in an `iframe`/`embed`\n * or handed to an `<a download>`, but not passed to `window.open`.\n */\nexport function InvoiceSchedulePreviewButton({\n onSuccess,\n onError,\n className,\n children,\n disabled = false,\n ...props\n}: InvoiceSchedulePreviewButtonProps) {\n const [preview, setPreview] = useState<ContractorInvoicePreview | null>(null);\n const [isOpen, setIsOpen] = useState(false);\n const { form, invoiceScheduleBag } = useInvoiceScheduleContext();\n const { components } = useFormFields();\n\n const handlePreview = async () => {\n try {\n const previewDocument = await invoiceScheduleBag?.previewInvoice(\n form.getValues(),\n );\n\n if (previewDocument) {\n setPreview(previewDocument);\n setIsOpen(true);\n await onSuccess?.(previewDocument);\n }\n } catch (error: unknown) {\n // No field meta: this flow's `meta.fields` is the flat field list, not the per-step\n // `NestedMeta` the onboarding step passes, so errors keep their raw field names.\n onError?.(handleStepError(error));\n }\n };\n\n const CustomButton = components?.button;\n if (!CustomButton) {\n throw new Error(`Button component not found`);\n }\n\n const CustomPdfViewer = components?.pdfViewer;\n if (!CustomPdfViewer) {\n throw new Error(`PDFViewer component not found`);\n }\n\n return (\n <Drawer\n open={isOpen}\n // Opened by handlePreview once the PDF is available, so the trigger's own open request\n // is ignored — only close requests are honored.\n onOpenChange={(open) => {\n if (!open) {\n setIsOpen(false);\n }\n }}\n title='Invoice Preview'\n // A side panel, not the bottom sheet `DrawerContent`'s base classes assume: the\n // primitive positions every drawer along the bottom regardless of `direction`, so the\n // inset is overridden here rather than in the shared drawer, which other flows use.\n className='top-0 bottom-0 left-auto right-0 h-full max-h-none w-full max-w-[900px] rounded-t-none flex flex-col'\n trigger={\n <CustomButton\n {...props}\n type='button'\n onClick={handlePreview}\n disabled={\n disabled ||\n invoiceScheduleBag?.isPreviewingInvoice ||\n !invoiceScheduleBag?.employmentId\n }\n className={cn(\n 'RemoteFlows__InvoiceScheduleForm__PreviewButton',\n className,\n )}\n >\n {children}\n </CustomButton>\n }\n >\n {preview && (\n <CustomPdfViewer base64Data={preview.content} fileName={preview.name} />\n )}\n </Drawer>\n );\n}\n"],"mappings":"+MAAA,OAA+B,YAAAA,MAAgB,QA8FvC,cAAAC,MAAA,oBAzDD,SAASC,EAA6B,CAC3C,UAAAC,EACA,QAAAC,EACA,UAAAC,EACA,SAAAC,EACA,SAAAC,EAAW,GACX,GAAGC,CACL,EAAsC,CACpC,GAAM,CAACC,EAASC,CAAU,EAAIC,EAA0C,IAAI,EACtE,CAACC,EAAQC,CAAS,EAAIF,EAAS,EAAK,EACpC,CAAE,KAAAG,EAAM,mBAAAC,CAAmB,EAAIC,EAA0B,EACzD,CAAE,WAAAC,CAAW,EAAIC,EAAc,EAE/BC,EAAgBC,EAAA,SAAY,CAChC,GAAI,CACF,IAAMC,EAAkB,MAAMN,GAAoB,eAChDD,EAAK,UAAU,CACjB,EAEIO,IACFX,EAAWW,CAAe,EAC1BR,EAAU,EAAI,EACd,MAAMV,IAAYkB,CAAe,EAErC,OAASC,EAAgB,CAGvBlB,IAAUmB,EAAgBD,CAAK,CAAC,CAClC,CACF,EAhBsB,iBAkBhBE,EAAeP,GAAY,OACjC,GAAI,CAACO,EACH,MAAM,IAAI,MAAM,4BAA4B,EAG9C,IAAMC,EAAkBR,GAAY,UACpC,GAAI,CAACQ,EACH,MAAM,IAAI,MAAM,+BAA+B,EAGjD,OACExB,EAACyB,EAAA,CACC,KAAMd,EAGN,aAAee,GAAS,CACjBA,GACHd,EAAU,EAAK,CAEnB,EACA,MAAM,kBAIN,UAAU,uGACV,QACEZ,EAACuB,EAAA,CACE,GAAGhB,EACJ,KAAK,SACL,QAASW,EACT,SACEZ,GACAQ,GAAoB,qBACpB,CAACA,GAAoB,aAEvB,UAAWa,EACT,kDACAvB,CACF,EAEC,SAAAC,EACH,EAGD,SAAAG,GACCR,EAACwB,EAAA,CAAgB,WAAYhB,EAAQ,QAAS,SAAUA,EAAQ,KAAM,EAE1E,CAEJ,CAhFgBW,EAAAlB,EAAA","names":["useState","jsx","InvoiceSchedulePreviewButton","onSuccess","onError","className","children","disabled","props","preview","setPreview","useState","isOpen","setIsOpen","form","invoiceScheduleBag","useInvoiceScheduleContext","components","useFormFields","handlePreview","__name","previewDocument","error","handleStepError","CustomButton","CustomPdfViewer","Drawer","open","cn"]}
@@ -1,2 +1,2 @@
1
- import{a as t}from"./chunk-XMVV6S77.js";import{b as o}from"./chunk-PGWKJ6FK.js";import{a as n}from"./chunk-P37U34EQ.js";import{jsx as r}from"react/jsx-runtime";function u(){let{onboardingBag:e}=o();return r(t,{defaultValues:{},onSubmit:n(async()=>{e?.next()},"handleSubmit")})}n(u,"PreviewEmploymentAgreementStep");export{u as a};
2
- //# sourceMappingURL=chunk-VYTUM3RI.js.map
1
+ import{a as t}from"./chunk-UWIUECXU.js";import{b as o}from"./chunk-PGWKJ6FK.js";import{a as n}from"./chunk-P37U34EQ.js";import{jsx as r}from"react/jsx-runtime";function u(){let{onboardingBag:e}=o();return r(t,{defaultValues:{},onSubmit:n(async()=>{e?.next()},"handleSubmit")})}n(u,"PreviewEmploymentAgreementStep");export{u as a};
2
+ //# sourceMappingURL=chunk-KFIUXU6I.js.map
@@ -0,0 +1,2 @@
1
+ import{a as B}from"./chunk-PVORGGT3.js";import{b as ne,c as re,f as ie}from"./chunk-GSUGHAHA.js";import{a as te}from"./chunk-BUR3X6FL.js";import{a as oe}from"./chunk-2L6AB46E.js";import{a as G}from"./chunk-3OHORFIX.js";import{c as x,h as ee}from"./chunk-C7KVPEVX.js";import{e as h}from"./chunk-SRLBVFNQ.js";import{l as Y,m as j,n as V,r as O}from"./chunk-C4HFMTSB.js";import{b as S,c as T}from"./chunk-H2O4CVKF.js";import{a as r}from"./chunk-P37U34EQ.js";import{Fragment as ro,useEffect as io,useRef as _e}from"react";import H from"lodash.omit";import{jsx as le}from"react/jsx-runtime";function se({description:e,label:o,name:t,minDate:n,maxDate:i,onChange:l,component:m,...s}){let{components:F}=S(),{control:c}=h(),f=T(),d;s.meta?.mot&&typeof s.meta.mot=="number"?d=Y(s.meta.mot):typeof n=="string"&&(d=new Date(`${n}T00:00:00`));let C;return i&&(C=new Date(`${i}T23:59:59`)),le(x,{control:c,name:t,render:({field:p,fieldState:g})=>{let u=m||F?.date;if(!u)throw new Error(`Date picker component not found for field ${t}`);let P={description:e,label:o,name:t,onChange:l,transformHtml:f,...d&&{minDate:d.toISOString()},...C&&{maxDate:C.toISOString()},...s};return le(u,{field:{...p,onChange:r(y=>{p.onChange(y),l?.(y)},"onChange")},fieldState:g,fieldData:P})}})}r(se,"DatePickerField");import{jsx as me}from"react/jsx-runtime";var Oe=r((e,o)=>{if(!o)return null;for(let t of e)if(t instanceof File&&t.size>o){let n=Math.round(o/1048576),i=Math.round(t.size/(1024*1024));return`File "${t.name}" exceeds maximum size of ${n}MB (file is ${i}MB)`}return null},"validateFileSize");function ae({name:e,description:o,label:t,multiple:n=!1,onChange:i,component:l,accept:m,maxSize:s,...F}){let{components:c}=S(),{control:f,setError:d,clearErrors:C}=h(),p=T(),g=r(async(u,P)=>{let y=Oe(u,s);if(y){d(e,{message:y});return}C(e),P.onChange(u),i?.(u)},"handleOnChange");return me(x,{control:f,name:e,render:({field:u,fieldState:P})=>{let y=l||c.file;if(!y)throw new Error(`File upload component not found for field ${e}`);let R={name:e,description:o,label:t,multiple:n,accept:m,maxFileSize:s,transformHtml:p,...F};return me(y,{field:{...u,value:u.value,onChange:r(async w=>g(w,u),"onChange")},fieldState:P,fieldData:R})}})}r(ae,"FileUploadField");import{jsx as de}from"react/jsx-runtime";function J({component:e,onChange:o,...t}){let{components:n}=S(),{control:i}=h(),l=T();return de(x,{control:i,name:t.name,render:({field:m,fieldState:s})=>{let F=e||n.number;if(!F)throw new Error(`Number component not found for field ${t.name}`);let c={onChange:o,transformHtml:l,...t};return de(F,{field:{...m,onChange:r(f=>{m.onChange(f),o?.(f)},"onChange")},fieldState:s,fieldData:c})}})}r(J,"NumberField");import{jsx as pe}from"react/jsx-runtime";function ce({name:e,defaultValue:o,description:t,label:n,options:i,onChange:l,component:m,...s}){let{components:F}=S(),{control:c}=h(),f=T();return pe(x,{control:c,name:e,defaultValue:o,render:({field:d,fieldState:C})=>{let p=m||F?.radio;if(!p)throw new Error(`Radio group component not found for field ${e}`);let g={name:e,defaultValue:o,description:t,label:n,options:i,transformHtml:f,...s};return pe(p,{field:{...d,onChange:r(u=>{d.onChange(u),l?.(u)},"onChange")},fieldState:C,fieldData:g})}})}r(ce,"RadioGroupField");import{jsx as ue}from"react/jsx-runtime";function Fe({label:e,name:o,options:t,defaultValue:n,description:i,onChange:l,component:m,...s}){let{control:F}=h(),{components:c}=S(),f=T();return ue(x,{defaultValue:n,control:F,name:o,render:({field:d,fieldState:C})=>{let p=m||c?.select;if(!p)throw new Error(`Select component not found for field ${o}`);let g={label:e,name:o,options:t,defaultValue:n,description:i,onChange:l,transformHtml:f,...s};return ue(p,{field:{...d,onChange:r(u=>{let y=(Array.isArray(s.jsonType)?s.jsonType.includes("number"):s.jsonType==="number")?Number(u):u;d.onChange(y),l?.(y)},"onChange")},fieldState:C,fieldData:g})}})}r(Fe,"SelectField");import{jsx as fe}from"react/jsx-runtime";function Ce({label:e,name:o,options:t,defaultValue:n,description:i,onChange:l,$meta:m,component:s,...F}){let{control:c}=h(),{components:f}=S(),d=T();return fe(x,{defaultValue:n,control:c,name:o,render:({field:C,fieldState:p})=>{let g=s||f.countries;if(!g)throw new Error(`Country component not found for field ${o}`);let u={label:e,name:o,options:t,defaultValue:n,description:i,onChange:l,$meta:m,transformHtml:d,...F};return fe(g,{field:{...C,onChange:r(P=>{C.onChange(P),l?.(P)},"onChange")},fieldState:p,fieldData:u})}})}r(Ce,"CountryField");import{jsx as ge}from"react/jsx-runtime";function he({name:e,description:o,label:t,onChange:n,maxLength:i,component:l,...m}){let{components:s}=S(),{control:F}=h(),c=T();return ge(x,{control:F,name:e,render:({field:f,fieldState:d})=>{let C=l||s.textarea;if(!C)throw new Error(`Text area component not found for field ${e}`);let p={name:e,description:o,label:t,maxLength:i,transformHtml:c,...m};return ge(C,{field:{...f,onChange:r(g=>{f.onChange(g),n?.(g)},"onChange")},fieldState:d,fieldData:p})}})}r(he,"TextAreaField");import{jsx as Se}from"react/jsx-runtime";function Te({component:e,onChange:o,...t}){let{components:n}=S(),{control:i}=h(),l=T();return Se(x,{control:i,name:t.name,render:({field:m,fieldState:s})=>{let F=e||n.email;if(!F)throw new Error(`Email component not found for field ${t.name}`);let c={onChange:o,transformHtml:l,...t};return Se(F,{field:{...m,onChange:r(f=>{m.onChange(f),o?.(f)},"onChange")},fieldState:s,fieldData:c})}})}r(Te,"EmailField");import{useEffect as Ge}from"react";import{jsx as xe}from"react/jsx-runtime";function ye(e){let{control:o,setValue:t}=h();return Ge(()=>{e.const!==void 0&&e.const===e.default&&e.name&&t(e.name,e.const)},[e.const,e.default,e.name,t]),xe(x,{control:o,name:e.name,render:({field:n})=>xe("input",{...n,type:"hidden"})})}r(ye,"HiddenField");import{useEffect as Ue,useState as Ze}from"react";import{jsx as Pe}from"react/jsx-runtime";function be(e){let{components:o}=S(),{setValue:t,control:n,watch:i}=h(),l=T(),m=i(e.name),[s,F]=Ze(m),{workHoursSummary:c,breakSummary:f}=re(s),d=ne(s);Ue(()=>{t(e.name,s)},[s,e.name,t]);function C(u){F(u)}r(C,"onSubmit");let p=e.component||o["work-schedule"];if(!p)throw new Error(`Work schedule component not found for field ${e.name}`);let g={...e,onSubmit:C,currentSchedule:s,transformHtml:l,defaultFormattedValue:{workHoursSummary:c,breakSummary:f,totalWorkHours:d}};return Pe(x,{control:n,name:e.name,render:({field:u,fieldState:P})=>Pe(p,{field:{...u,onChange:r(y=>{u.onChange(y),e.onChange?.(y)},"onChange")},fieldState:P,fieldData:g})})}r(be,"WorkScheduleField");import{jsx as $e}from"react/jsx-runtime";function De({label:e,name:o,options:t,defaultValue:n,description:i,onChange:l,component:m,...s}){let{control:F}=h(),{components:c}=S(),f=T();return $e(x,{defaultValue:n,control:F,name:o,render:({field:d,fieldState:C})=>{let p=m||c?.["multi-select"];if(!p)throw new Error(`Multi select component not found for field ${o}`);let g={label:e,name:o,options:t,defaultValue:n,description:i,onChange:l,transformHtml:f,...s};return $e(p,{field:{...d,onChange:r(u=>{d.onChange(u),l?.(u)},"onChange")},fieldState:C,fieldData:g})}})}r(De,"MultiSelectField");import{jsx as Ke}from"react/jsx-runtime";var Ee=r(e=>Ke(J,{maxLength:15,...e}),"MoneyField");import{useMemo as I,useCallback as Re,useState as qe,useEffect as Qe,useRef as Xe}from"react";import{jsx as U}from"react/jsx-runtime";function Ye(e){return e.replace(/\s/g,"")}r(Ye,"removeSpaces");function ve(e="",o){let t=new RegExp(`^(\\+|00)(\\d{${o?.dialCode?.length??0}})(.*)$`),n=e?.match(t);if(!n)return{prefix:"",dialCode:"",phoneNumber:e};let[,i,l,m]=n;return{prefix:i,dialCode:l,phoneNumber:m}}r(ve,"getStructuredNumberFromInternationalNumber");function we({dialCodes:e,dialCodeMaxLength:o},t){let{prefix:n}=ve(t);if(n)for(let i=o+n.length;i>n.length;i--){let l=t.slice(n.length,i);if(e[l])return e[l]}}r(we,"getCountryFromPhoneNumber");function Me(e){let o={},t=0;return e.forEach(n=>{n.areaCodes?n.areaCodes.forEach(i=>{let l=n.dialCode+i;o[l]=n,l.length>t&&(t=l.length)}):(o[n.dialCode]=n,n.dialCode.length>t&&(t=n.dialCode.length))}),{dialCodes:o,dialCodeMaxLength:t}}r(Me,"getCountryDataByCountryCode");function je(e=""){let o=/\(([^)]+)\)/g,t=e.match(o);if(t?.length===2)return t[1].replace(/\(|\)/g,"").split("|")}r(je,"getAreaCodesFromPattern");function eo(e){return e.map(o=>({name:o.label,dialCode:o.meta.countryCode,pattern:o.pattern,areaCodes:je(o.pattern)}))}r(eo,"transformSchemaToCountries");function oo({field:e,fieldState:o,fieldData:t,component:n,onChangeCountryCode:i,onChangePhoneNumber:l}){let{value:m}=e,{options:s}=t,F=I(()=>eo(s),[s]),c=I(()=>Me(F),[F]),f=Xe(!1),[d,C]=qe(()=>we(Me(F),m||""));Qe(()=>{if((!m||m==="+")&&(f.current=!1),f.current)return;let R=we(c,m||"");C(R)},[m,c]);let{prefix:p,phoneNumber:g}=I(()=>ve(m,d),[m,d]),u=Re(R=>{if(!R)return;let w=`+${R.dialCode}${g}`;f.current=!0,C(R),e.onChange(w),i&&i(R)},[g,e,i]),P=Re(R=>{let w=Ye(R.target.value),D;if(d?D=`${p}${d.dialCode}${w}`:D=`${p}${w}`,e.onChange(D),l){let L={target:{value:D,name:e.name}};l(L)}},[d,p,e,l]),y=I(()=>({...t,onChangeCountryCode:u,onChangePhoneNumber:P,currentCountry:d,nationalPhoneNumber:g}),[t,u,P,d,g]);return U(n,{field:e,fieldState:o,fieldData:y})}r(oo,"TelFieldRenderer");function Ne({name:e,description:o,label:t,onChangeCountryCode:n,onChangePhoneNumber:i,component:l,...m}){let{components:s}=S(),{control:F}=h(),c=T();return U(x,{control:F,name:e,render:({field:f,fieldState:d})=>{let C=l||s.tel;if(!C)throw new Error(`Tel component not found for field ${e}`);let p={name:e,description:o,label:t,transformHtml:c,...m};return U(oo,{field:f,fieldState:d,fieldData:p,component:C,onChangeCountryCode:n,onChangePhoneNumber:i})}})}r(Ne,"TelField");import{jsx as ke}from"react/jsx-runtime";function Ve({name:e,description:o,label:t,type:n,onChange:i,component:l,maxLength:m,...s}){let{components:F}=S(),{control:c}=h(),f=T();return ke(x,{control:c,name:e,render:({field:d,fieldState:C})=>{let p=l||F?.time;if(!p)throw new Error(`Time component not found for field ${e}`);let g={name:e,description:o,label:t,type:n,onChange:i,maxLength:m,transformHtml:f,...s};return ke(p,{field:{...d,onChange:r(u=>{d.onChange(u),i?.(u)},"onChange")},fieldState:C,fieldData:g})}})}r(Ve,"TimeField");var Z={checkbox:ie,text:oe,email:Te,money:Ee,select:Fe,"multi-select":De,radio:ce,number:J,file:ae,date:se,textarea:he,countries:Ce,hidden:ye,tel:Ne,time:Ve,"work-schedule":be};import{useEffect as to}from"react";import{jsx as no}from"react/jsx-runtime";function He({name:e,value:o,description:t,statement:n,label:i,helpCenter:l}){let{setValue:m}=h(),{components:s}=S(),F=T();to(()=>{m(e,o)},[e,o,m]);let c=n?.description||t,f=n?.title?O(n.title):O(i);if(!c&&!n?.title)return null;let C=s?.forcedValue;if(!C)throw new Error(`Forced value component not found for field ${e}`);return no(C,{fieldData:{name:e,value:o,title:f,description:c,meta:{helpCenter:l},transformHtml:F}})}r(He,"ForcedValueField");import{Fragment as K,jsx as b,jsxs as N}from"react/jsx-runtime";function We({label:e,name:o,fields:t,description:n,components:i,statement:l,isFlatFieldset:m,extra:s,variant:F="outset",features:c,meta:f,Component:d,...C}){let{helpCenter:p}=f||{},{watch:g,setValue:u,trigger:P,formState:y}=h(),{components:R}=S(),w=c?.toggle?.stateField,D=w?g(w):c?.toggle?.defaultExpanded??!0,L=t.map(({name:a})=>`${o}.${a}`),Ae=t.some(a=>a.calculateDynamicProperties),_=g(L),Be=Ae?g():_,q=_e(_),k=_e(null),Je=r(()=>{w&&u(w,!D)},"toggleExpanded");io(()=>{let a=_,v=q.current,E=y.isSubmitted||y.submitCount>0,W=!1;for(let M=0;M<a.length;M++)if(a[M]!==void 0&&v[M]!==a[M]){W=!0;break}return W&&E&&(k.current&&clearTimeout(k.current),k.current=setTimeout(()=>{P()},50)),q.current=[...a],()=>{k.current&&clearTimeout(k.current)}},[_,P,y.isSubmitted,y.submitCount]);let Ie=R?.fieldsetToggle||te,Q=`${o}-content`,X=`${o}-header`;return d?b(d,{...C,name:o,value:g(o),setValue:a=>{u(o,a)}}):N("fieldset",{className:V("border-1 border-input p-4 rounded-xl","RemoteFlows__FieldSetField",`RemoteFlows__FieldSetField__${o}`),children:[b("legend",{className:V("text-sm font-semibold px-2",F==="inset"&&"hidden"),children:e}),p?.callToAction&&p?.id&&F==="outset"&&b(G,{className:"RemoteFlows__FieldSetField__HelpCenterLink mb-3",zendeskId:p.id,children:p.callToAction}),F==="inset"&&N(K,{children:[N("div",{className:"RemoteFlows__FieldSetField__Header",id:X,"data-state":D?"expanded":"collapsed","aria-expanded":D,children:[b("h3",{className:V("RemoteFlows__FieldSetField__Title"),children:e}),c?.toggle?.enabled&&b(Ie,{isExpanded:D,onToggle:Je,"aria-expanded":D,"aria-controls":Q,"aria-label":`${D?"Hide":"Show"} ${e}`,className:V("RemoteFlows__FieldSetField__Toggle",c.toggle?.className),children:D?c.toggle.labels?.collapse??"Remove":c.toggle.labels?.expand??"Define"})]}),p?.callToAction&&p?.id&&b(G,{className:"RemoteFlows__FieldSetField__HelpCenterLink mb-3",zendeskId:p.id,children:p.callToAction})]}),D&&N("div",{id:Q,"aria-labelledby":X,role:"region",children:[n?b(ee,{as:"div",className:"mb-5 RemoteFlows__FieldSetField__Description",children:n}):null,N("div",{className:"grid gap-4",children:[t.map(a=>{if(a.calculateDynamicProperties&&(a={...a,...a.calculateDynamicProperties(Be,a)||{}}),a.isVisible===!1||a.deprecated)return null;let v=a.type,E=`${m?a.name:`${o}.${a.name}`}`,W=j(a),M=r(($,A)=>a.WrapperComponent?b(a.WrapperComponent,{children:$},A):b(ro,{children:$},A),"wrapWithCustomWrapper");if(W){let $=H(a,"WrapperComponent");return M(b(He,{name:E,description:$.description,value:$.const,statement:$.statement,label:$.label,helpCenter:$.meta?.helpCenter}),E)}if(v==="fieldset"){let $=H(a,"WrapperComponent");return M(b(We,{...$,name:E,components:i}),E)}if(v==="fieldset-flat"){let $=H(a,"WrapperComponent");return M(b(We,{...$,name:E,components:i,isFlatFieldset:!0}),E)}let z=Z[v];if(a.Component){let{Component:$}=a,A=H(a,"WrapperComponent");return M(N(K,{children:[b($,{...A,value:g(E),setValue:ze=>{u(E,ze)}}),a.statement?b(B,{...a.statement}):null,a.extra?a.extra:null]}),E)}if(!z)return N("p",{className:"error",children:["Field type ",v," not supported"]});v==="select"&&a.multiple&&(z=Z["multi-select"]);let Le=H(a,"WrapperComponent");return M(N(K,{children:[b(z,{...Le,name:E,component:i?.[v]}),a.statement?b(B,{...a.statement}):null,a.extra?a.extra:null]}),E)}),s||null,l?b(B,{...l}):null]})]})]})}r(We,"FieldSetField");export{Z as a,He as b,We as c};
2
+ //# sourceMappingURL=chunk-KSSQR2CS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/form/fields/FieldSetField.tsx","../src/components/form/fields/DatePickerField.tsx","../src/components/form/fields/FileUploadField.tsx","../src/components/form/fields/NumberField.tsx","../src/components/form/fields/RadioGroupField.tsx","../src/components/form/fields/SelectField.tsx","../src/components/form/fields/CountryField.tsx","../src/components/form/fields/TextAreaField.tsx","../src/components/form/fields/EmailField.tsx","../src/components/form/fields/HiddenField.tsx","../src/components/form/fields/WorkScheduleField.tsx","../src/components/form/fields/MultiSelectField.tsx","../src/components/form/fields/MoneyField.tsx","../src/components/form/fields/TelField.tsx","../src/components/form/fields/TimeField.tsx","../src/components/form/fields/baseFields.tsx","../src/components/form/fields/ForcedValueField.tsx"],"sourcesContent":["import { useFormContext } from 'react-hook-form';\nimport { Fragment, useEffect, useRef } from 'react';\nimport omit from 'lodash.omit';\nimport { baseFields } from '@/src/components/form/fields/baseFields';\nimport { cn } from '@/src/lib/utils';\nimport { $TSFixMe, Components } from '@/src/types/remoteFlows';\nimport { Statement } from '@/src/components/form/Statement';\nimport { useFormFields } from '@/src/context';\nimport { ZendeskTriggerButton } from '@/src/components/shared/zendesk-drawer/ZendeskTriggerButton';\nimport { FieldsetToggleButtonDefault } from '@/src/components/form/fields/default/FieldsetToggleButtonDefault';\nimport { BaseTypes, SupportedTypes } from './types';\nimport { StatementComponentProps } from '@/src/types/fields';\nimport { checkFieldHasForcedValue } from '@/src/components/form/utils';\nimport { ForcedValueField } from '@/src/components/form/fields/ForcedValueField';\nimport { BaseFormDescription } from '@/src/components/ui/form';\n\ntype FieldBase = {\n label: string;\n name: string;\n description: string;\n Component?: React.ComponentType<$TSFixMe>;\n inputType: SupportedTypes;\n multiple?: boolean;\n};\n\ntype FieldWithOptions = FieldBase & {\n type: 'select' | 'radio';\n options: Array<{ value: string; label: string }>;\n};\n\ntype FieldWithoutOptions = FieldBase & {\n type: Exclude<SupportedTypes, 'select' | 'radio'>;\n options?: never;\n};\n\ntype Field = FieldWithOptions | FieldWithoutOptions;\n\ntype FieldSetFeatures = {\n toggle?: {\n enabled: boolean;\n defaultExpanded?: boolean;\n stateField?: string;\n labels?: {\n expand: string;\n collapse: string;\n };\n className?: string;\n };\n};\n\nexport type FieldSetProps = {\n label: string;\n name: string;\n description: string;\n fields: Field[];\n features?: FieldSetFeatures;\n components: Components;\n statement?: StatementComponentProps['data'];\n isFlatFieldset: boolean;\n extra?: React.ReactNode;\n variant: 'outset' | 'inset';\n Component?: React.ComponentType<$TSFixMe>;\n meta?: {\n helpCenter?: {\n callToAction: string;\n id: number;\n url: string;\n label: string;\n };\n } & Record<string, $TSFixMe>;\n};\n\nexport function FieldSetField({\n label,\n name,\n fields,\n description,\n components,\n statement,\n isFlatFieldset,\n extra,\n variant = 'outset',\n features,\n meta,\n Component,\n ...props\n}: FieldSetProps) {\n const { helpCenter } = meta || {};\n const { watch, setValue, trigger, formState } = useFormContext();\n const { components: formComponents } = useFormFields();\n\n // Get expanded state from form state if stateField is provided\n const stateField = features?.toggle?.stateField;\n const isExpanded = stateField\n ? watch(stateField)\n : (features?.toggle?.defaultExpanded ?? true);\n\n const fieldNames = fields.map(\n ({ name: fieldName }) => `${name}.${fieldName}`,\n );\n const fieldsetNeedsAllFormValues = fields.some(\n (field: $TSFixMe) => field.calculateDynamicProperties,\n );\n const watchedValues = watch(fieldNames);\n const allFormValues = fieldsetNeedsAllFormValues ? watch() : watchedValues;\n const prevValuesRef = useRef<string[]>(watchedValues);\n const triggerTimeoutRef = useRef<NodeJS.Timeout | null>(null);\n\n const toggleExpanded = () => {\n if (stateField) {\n setValue(stateField, !isExpanded);\n }\n };\n\n useEffect(() => {\n const currentValues = watchedValues;\n const previousValues = prevValuesRef.current;\n const hasBeenSubmitted = formState.isSubmitted || formState.submitCount > 0;\n\n // Check if any value has changed\n let hasChanged = false;\n for (let i = 0; i < currentValues.length; i++) {\n if (\n currentValues[i] !== undefined &&\n previousValues[i] !== currentValues[i]\n ) {\n hasChanged = true;\n // This is to prevent the form from triggering validation too many times\n break;\n }\n }\n // If changes detected and we haven't triggered yet, run trigger\n if (hasChanged && hasBeenSubmitted) {\n // We need to debounce the validation trigger so that tests don't freeze\n if (triggerTimeoutRef.current) {\n clearTimeout(triggerTimeoutRef.current);\n }\n triggerTimeoutRef.current = setTimeout(() => {\n trigger();\n }, 50);\n }\n\n prevValuesRef.current = [...currentValues];\n\n return () => {\n if (triggerTimeoutRef.current) {\n clearTimeout(triggerTimeoutRef.current);\n }\n };\n }, [watchedValues, trigger, formState.isSubmitted, formState.submitCount]);\n\n const ToggleComponent =\n formComponents?.fieldsetToggle || FieldsetToggleButtonDefault;\n const contentId = `${name}-content`;\n const headerId = `${name}-header`;\n\n if (Component) {\n return (\n <Component\n {...props}\n name={name}\n value={watch(name)}\n setValue={(value: unknown) => {\n setValue(name, value);\n }}\n />\n );\n }\n\n return (\n <fieldset\n className={cn(\n 'border-1 border-input p-4 rounded-xl',\n `RemoteFlows__FieldSetField`,\n `RemoteFlows__FieldSetField__${name}`,\n )}\n >\n <legend\n className={cn(\n 'text-sm font-semibold px-2',\n variant === 'inset' && 'hidden',\n )}\n >\n {label}\n </legend>\n {helpCenter?.callToAction && helpCenter?.id && variant === 'outset' && (\n <ZendeskTriggerButton\n className='RemoteFlows__FieldSetField__HelpCenterLink mb-3'\n zendeskId={helpCenter.id}\n >\n {helpCenter.callToAction}\n </ZendeskTriggerButton>\n )}\n {variant === 'inset' && (\n <>\n <div\n className='RemoteFlows__FieldSetField__Header'\n id={headerId}\n data-state={isExpanded ? 'expanded' : 'collapsed'}\n aria-expanded={isExpanded}\n >\n <h3 className={cn('RemoteFlows__FieldSetField__Title')}>{label}</h3>\n {features?.toggle?.enabled && (\n <ToggleComponent\n isExpanded={isExpanded}\n onToggle={toggleExpanded}\n aria-expanded={isExpanded}\n aria-controls={contentId}\n aria-label={`${isExpanded ? 'Hide' : 'Show'} ${label}`}\n className={cn(\n 'RemoteFlows__FieldSetField__Toggle',\n features.toggle?.className,\n )}\n >\n {isExpanded\n ? (features.toggle.labels?.collapse ?? 'Remove')\n : (features.toggle.labels?.expand ?? 'Define')}\n </ToggleComponent>\n )}\n </div>\n {helpCenter?.callToAction && helpCenter?.id && (\n <ZendeskTriggerButton\n className='RemoteFlows__FieldSetField__HelpCenterLink mb-3'\n zendeskId={helpCenter.id}\n >\n {helpCenter.callToAction}\n </ZendeskTriggerButton>\n )}\n </>\n )}\n {isExpanded && (\n <div id={contentId} aria-labelledby={headerId} role='region'>\n {description ? (\n <BaseFormDescription\n as='div'\n className='mb-5 RemoteFlows__FieldSetField__Description'\n >\n {description}\n </BaseFormDescription>\n ) : null}\n <div className='grid gap-4'>\n {fields.map((field: $TSFixMe) => {\n if (field.calculateDynamicProperties) {\n field = {\n ...field,\n ...(field.calculateDynamicProperties(allFormValues, field) ||\n {}),\n };\n }\n\n if (field.isVisible === false || field.deprecated) {\n return null; // Skip hidden or deprecated fields\n }\n\n const fieldType = field.type;\n const fieldKey = `${isFlatFieldset ? field.name : `${name}.${field.name}`}`;\n\n const isForcedValue = checkFieldHasForcedValue(field);\n\n // Helper function to wrap content with WrapperComponent if present\n const wrapWithCustomWrapper = (\n content: React.ReactNode,\n key: string,\n ) => {\n if (field.WrapperComponent) {\n return (\n <field.WrapperComponent key={key}>\n {content}\n </field.WrapperComponent>\n );\n }\n return <Fragment key={key}>{content}</Fragment>;\n };\n\n if (isForcedValue) {\n const fieldProps = omit(field, 'WrapperComponent');\n return wrapWithCustomWrapper(\n <ForcedValueField\n name={fieldKey}\n description={fieldProps.description}\n value={fieldProps.const}\n statement={fieldProps.statement}\n label={fieldProps.label}\n helpCenter={fieldProps.meta?.helpCenter}\n />,\n fieldKey,\n );\n }\n\n // Handle nested fieldsets\n if (fieldType === 'fieldset') {\n const fieldProps = omit(field, 'WrapperComponent');\n return wrapWithCustomWrapper(\n <FieldSetField\n {...(fieldProps as $TSFixMe)}\n name={fieldKey}\n components={components}\n />,\n fieldKey,\n );\n }\n\n if (fieldType === 'fieldset-flat') {\n const fieldProps = omit(field, 'WrapperComponent');\n return wrapWithCustomWrapper(\n <FieldSetField\n {...(fieldProps as $TSFixMe)}\n name={fieldKey}\n components={components}\n isFlatFieldset\n />,\n fieldKey,\n );\n }\n // We need to do the check after checking (field.type || field.inputType) === 'fieldset' or (field.type || field.inputType) === 'fieldset-flat'\n // circular dependency most likely\n let FieldComponent = baseFields[fieldType as BaseTypes];\n\n if (field.Component) {\n const { Component } = field as {\n Component: React.ComponentType<$TSFixMe>;\n };\n const fieldProps = omit(field, 'WrapperComponent');\n return wrapWithCustomWrapper(\n <>\n <Component\n {...fieldProps}\n value={watch(fieldKey) as string}\n setValue={(value: unknown) => {\n setValue(fieldKey, value);\n }}\n />\n {field.statement ? (\n <Statement\n {...(field.statement as StatementComponentProps['data'])}\n />\n ) : null}\n {field.extra ? field.extra : null}\n </>,\n fieldKey,\n );\n }\n\n if (!FieldComponent) {\n return (\n <p className='error'>Field type {fieldType} not supported</p>\n );\n }\n\n if (fieldType === 'select' && field.multiple) {\n FieldComponent = baseFields['multi-select'];\n }\n\n const fieldProps = omit(field, 'WrapperComponent');\n return wrapWithCustomWrapper(\n <>\n <FieldComponent\n {...fieldProps}\n name={fieldKey}\n component={components?.[fieldType as keyof Components]}\n />\n {field.statement ? (\n <Statement\n {...(field.statement as StatementComponentProps['data'])}\n />\n ) : null}\n {field.extra ? field.extra : null}\n </>,\n fieldKey,\n );\n })}\n {extra ? extra : null}\n {statement ? <Statement {...statement} /> : null}\n </div>\n </div>\n )}\n </fieldset>\n );\n}\n","import { useFormContext } from 'react-hook-form';\nimport { FormField } from '@/src/components/ui/form';\n\nimport { useFormFields, useTransformer } from '@/src/context';\nimport { Components, JSFField, $TSFixMe } from '@/src/types/remoteFlows';\nimport { getMinStartDate } from '@/src/components/form/utils';\n\nexport type DatePickerFieldProps = JSFField & {\n onChange?: (value: $TSFixMe) => void;\n component?: Components['date'];\n};\n\nexport function DatePickerField({\n description,\n label,\n name,\n minDate,\n maxDate,\n onChange,\n component,\n ...rest\n}: DatePickerFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n const transformHtml = useTransformer();\n\n let minDateValue: Date;\n if (rest.meta?.mot && typeof rest.meta.mot === 'number') {\n minDateValue = getMinStartDate(rest.meta.mot);\n } else if (typeof minDate === 'string') {\n minDateValue = new Date(`${minDate}T00:00:00`);\n }\n\n let maxDateValue: Date | undefined;\n if (maxDate) {\n maxDateValue = new Date(`${maxDate}T23:59:59`);\n }\n\n return (\n <FormField\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components?.date;\n\n if (!Component) {\n throw new Error(`Date picker component not found for field ${name}`);\n }\n\n const customDatePickerFieldProps = {\n description,\n label,\n name,\n onChange,\n transformHtml,\n ...(minDateValue && { minDate: minDateValue.toISOString() }),\n ...(maxDateValue && { maxDate: maxDateValue.toISOString() }),\n ...rest,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (value: $TSFixMe) => {\n field.onChange(value);\n onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={customDatePickerFieldProps}\n />\n );\n }}\n />\n );\n}\n","import { useFormFields, useTransformer } from '@/src/context';\nimport { Components, JSFField } from '@/src/types/remoteFlows';\nimport {\n ControllerRenderProps,\n FieldValues,\n useFormContext,\n} from 'react-hook-form';\nimport { FormField } from '../../ui/form';\nimport { FieldDataProps } from '@/src/types/fields';\n\nconst validateFileSize = (files: File[], maxSize?: number): string | null => {\n if (!maxSize) return null;\n\n for (const file of files) {\n // `file` may not be a real File at runtime (e.g. an already-uploaded reference mixed in\n // via a multi-file field) even though the public type says otherwise — guard defensively.\n if (file instanceof File && file.size > maxSize) {\n const maxSizeMB = Math.round(maxSize / (1024 * 1024));\n const fileSizeMB = Math.round(file.size / (1024 * 1024));\n return `File \"${file.name}\" exceeds maximum size of ${maxSizeMB}MB (file is ${fileSizeMB}MB)`;\n }\n }\n return null;\n};\n\nexport type FieldFileDataProps = FieldDataProps & {\n accept?: string;\n multiple?: boolean;\n maxFileSize?: number;\n};\n\nexport type FileUploadFieldProps = JSFField & {\n onChange?: (value: File[]) => void;\n multiple?: boolean;\n component?: Components['file'];\n maxSize?: number;\n accept?: string;\n};\n\nexport function FileUploadField({\n name,\n description,\n label,\n multiple = false,\n onChange,\n component,\n accept,\n maxSize,\n ...rest\n}: FileUploadFieldProps) {\n const { components } = useFormFields();\n const { control, setError, clearErrors } = useFormContext();\n const transformHtml = useTransformer();\n\n const handleOnChange = async (\n files: File[],\n field: ControllerRenderProps<FieldValues, string>,\n ) => {\n const sizeError = validateFileSize(files, maxSize);\n if (sizeError) {\n setError(name, { message: sizeError });\n return;\n }\n\n clearErrors(name);\n field.onChange(files);\n onChange?.(files);\n };\n\n return (\n <FormField\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components.file;\n if (!Component) {\n throw new Error(`File upload component not found for field ${name}`);\n }\n\n const customFileUploadFieldProps: FieldFileDataProps = {\n name,\n description,\n label,\n multiple,\n accept,\n maxFileSize: maxSize,\n transformHtml,\n ...rest,\n };\n\n return (\n <Component\n field={{\n ...field,\n value: field.value,\n onChange: async (value: File[]) => handleOnChange(value, field),\n }}\n fieldState={fieldState}\n fieldData={customFileUploadFieldProps}\n />\n );\n }}\n />\n );\n}\n","import { useFormContext } from 'react-hook-form';\nimport { useFormFields, useTransformer } from '@/src/context';\nimport { FormField } from '@/src/components/ui/form';\nimport { Components } from '@/src/types/remoteFlows';\nimport { TextFieldProps } from './TextField';\n\nexport type NumberFieldProps = TextFieldProps & {\n component?: Components['number'];\n onChange?: (value: number) => void;\n};\n\nexport function NumberField({\n component,\n onChange,\n ...props\n}: NumberFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n const transformHtml = useTransformer();\n\n return (\n <FormField\n control={control}\n name={props.name}\n render={({ field, fieldState }) => {\n const Component = component || components.number;\n\n if (!Component) {\n throw new Error(`Number component not found for field ${props.name}`);\n }\n\n const customNumberFieldProps = {\n onChange,\n transformHtml,\n ...props,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (value: number) => {\n field.onChange(value);\n onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={customNumberFieldProps}\n />\n );\n }}\n />\n );\n}\n","import { FormField } from '@/src/components/ui/form';\nimport { useFormFields, useTransformer } from '@/src/context';\nimport { Components, JSFField } from '@/src/types/remoteFlows';\nimport { useFormContext } from 'react-hook-form';\n\ntype RadioGroupFieldProps = JSFField & {\n onChange?: (value: string) => void;\n component?: Components['radio'];\n};\n\nexport function RadioGroupField({\n name,\n defaultValue,\n description,\n label,\n options,\n onChange,\n component,\n ...rest\n}: RadioGroupFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n const transformHtml = useTransformer();\n\n return (\n <FormField\n control={control}\n name={name}\n defaultValue={defaultValue}\n render={({ field, fieldState }) => {\n const Component = component || components?.radio;\n if (!Component) {\n throw new Error(`Radio group component not found for field ${name}`);\n }\n const customRadioGroupFieldProps = {\n name,\n defaultValue,\n description,\n label,\n options,\n transformHtml,\n ...rest,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (value: string) => {\n field.onChange(value);\n onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={customRadioGroupFieldProps}\n />\n );\n }}\n />\n );\n}\n","import { useFormFields, useTransformer } from '@/src/context';\nimport { Components, JSFField } from '@/src/types/remoteFlows';\nimport { useFormContext } from 'react-hook-form';\nimport { FormField } from '@/src/components/ui/form';\n\ntype SelectFieldProps = JSFField & {\n placeholder?: string;\n options: Array<{ value: string | number; label: string }>;\n className?: string;\n onChange?: (value: string | number) => void;\n component?: Components['select'];\n};\n\nexport function SelectField({\n label,\n name,\n options,\n defaultValue,\n description,\n onChange,\n component,\n ...rest\n}: SelectFieldProps) {\n const { control } = useFormContext();\n const { components } = useFormFields();\n const transformHtml = useTransformer();\n\n return (\n <FormField\n defaultValue={defaultValue}\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components?.select;\n\n if (!Component) {\n throw new Error(`Select component not found for field ${name}`);\n }\n\n const customSelectFieldProps = {\n label,\n name,\n options,\n defaultValue,\n description,\n onChange,\n transformHtml,\n ...rest,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (value: string | number) => {\n const isNumberType = Array.isArray(rest.jsonType)\n ? rest.jsonType.includes('number')\n : rest.jsonType === 'number';\n const maybeCastValue = isNumberType ? Number(value) : value;\n field.onChange(maybeCastValue);\n onChange?.(maybeCastValue);\n },\n }}\n fieldState={fieldState}\n fieldData={customSelectFieldProps}\n />\n );\n }}\n />\n );\n}\n","import { useFormFields, useTransformer } from '@/src/context';\nimport { Components, JSFField, $TSFixMe } from '@/src/types/remoteFlows';\nimport { useFormContext } from 'react-hook-form';\nimport { FormField } from '../../ui/form';\n\ntype CountryFieldProps = JSFField & {\n options: Array<{ value: string; label: string }>;\n onChange?: (value: $TSFixMe) => void;\n $meta: {\n regions: Record<string, string[]>;\n subregions: Record<string, string[]>;\n };\n component?: Components['countries'];\n};\n\nexport function CountryField({\n label,\n name,\n options,\n defaultValue,\n description,\n onChange,\n $meta,\n component,\n ...rest\n}: CountryFieldProps) {\n const { control } = useFormContext();\n const { components } = useFormFields();\n const transformHtml = useTransformer();\n\n return (\n <FormField\n defaultValue={defaultValue}\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components.countries;\n if (!Component) {\n throw new Error(`Country component not found for field ${name}`);\n }\n\n const customSelectFieldProps = {\n label,\n name,\n options,\n defaultValue,\n description,\n onChange,\n $meta,\n transformHtml,\n ...rest,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (value: $TSFixMe) => {\n field.onChange(value);\n onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={customSelectFieldProps}\n />\n );\n }}\n />\n );\n}\n","import * as React from 'react';\nimport { useFormFields, useTransformer } from '@/src/context';\nimport { Components, JSFField } from '@/src/types/remoteFlows';\nimport { useFormContext } from 'react-hook-form';\nimport { FormField } from '@/src/components/ui/form';\n\nexport type TextAreaFieldProps = JSFField & {\n onChange?: (event: React.ChangeEvent<HTMLTextAreaElement>) => void;\n maxLength?: number;\n component?: Components['textarea'];\n};\n\nexport function TextAreaField({\n name,\n description,\n label,\n onChange,\n maxLength,\n component,\n ...rest\n}: TextAreaFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n const transformHtml = useTransformer();\n\n return (\n <FormField\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components.textarea;\n if (!Component) {\n throw new Error(`Text area component not found for field ${name}`);\n }\n const customTextAreaFieldProps = {\n name,\n description,\n label,\n maxLength,\n transformHtml,\n ...rest,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (evt: React.ChangeEvent<HTMLTextAreaElement>) => {\n field.onChange(evt);\n onChange?.(evt);\n },\n }}\n fieldState={fieldState}\n fieldData={customTextAreaFieldProps}\n />\n );\n }}\n />\n );\n}\n","import { useFormFields, useTransformer } from '@/src/context';\nimport { useFormContext } from 'react-hook-form';\nimport { FormField } from '../../ui/form';\nimport { TextFieldProps } from './TextField';\nimport { Components } from '@/src/types/remoteFlows';\n\ntype EmailFieldProps = TextFieldProps & {\n component?: Components['email'];\n};\n\nexport function EmailField({ component, onChange, ...props }: EmailFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n const transformHtml = useTransformer();\n\n return (\n <FormField\n control={control}\n name={props.name}\n render={({ field, fieldState }) => {\n const Component = component || components.email;\n\n if (!Component) {\n throw new Error(`Email component not found for field ${props.name}`);\n }\n\n const customEmailFieldProps = {\n onChange,\n transformHtml,\n ...props,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (value: string) => {\n field.onChange(value);\n onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={customEmailFieldProps}\n />\n );\n }}\n />\n );\n}\n","import { useFormContext } from 'react-hook-form';\nimport { useEffect } from 'react';\nimport { FormField } from '../../ui/form';\nimport { Field } from '@/src/flows/types';\n\nexport function HiddenField(props: Field) {\n const { control, setValue } = useFormContext();\n\n // If the field has a forced/computed value (const === default), set it\n // If not it'll get the value from the form state\n useEffect(() => {\n if (\n props.const !== undefined &&\n props.const === props.default &&\n props.name\n ) {\n setValue(props.name, props.const);\n }\n }, [props.const, props.default, props.name, setValue]);\n\n return (\n <FormField\n control={control}\n name={props.name}\n render={({ field }) => {\n return <input {...field} type='hidden' />;\n }}\n />\n );\n}\n","import { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\n\nimport { JSFField, $TSFixMe } from '@/src/types/remoteFlows';\nimport { useFormFields, useTransformer } from '@/src/context';\nimport { FormField } from '@/src/components/ui/form';\nimport { Components } from '@/src/types/remoteFlows';\n\nimport {\n buildWorkScheduleSummary,\n calculateTotalWorkHours,\n DailySchedule,\n} from './workScheduleUtils';\n\ntype WorkScheduleFieldProps = JSFField & {\n name: string;\n default: DailySchedule[];\n onChange?: (value: $TSFixMe) => void;\n component?: Components['work-schedule'];\n};\n\ntype WorkScheduleFormData = {\n schedule: DailySchedule[];\n};\n\nexport function WorkScheduleField(props: WorkScheduleFieldProps) {\n const { components } = useFormFields();\n const { setValue, control, watch } = useFormContext();\n const transformHtml = useTransformer();\n const watchedSchedule = watch(props.name);\n const [currentSchedule, setCurrentSchedule] =\n useState<DailySchedule[]>(watchedSchedule);\n\n const { workHoursSummary, breakSummary } =\n buildWorkScheduleSummary(currentSchedule);\n const totalWorkHours = calculateTotalWorkHours(currentSchedule);\n\n useEffect(() => {\n setValue(props.name, currentSchedule);\n }, [currentSchedule, props.name, setValue]);\n\n function onSubmit(data: WorkScheduleFormData['schedule']) {\n setCurrentSchedule(data);\n }\n\n const Component = props.component || components['work-schedule'];\n if (!Component) {\n throw new Error(\n `Work schedule component not found for field ${props.name}`,\n );\n }\n\n const fieldData = {\n ...props,\n onSubmit,\n currentSchedule,\n transformHtml,\n defaultFormattedValue: {\n workHoursSummary,\n breakSummary,\n totalWorkHours,\n },\n };\n\n return (\n <FormField\n control={control}\n name={props.name}\n render={({ field, fieldState }) => {\n return (\n <Component\n field={{\n ...field,\n onChange: (value: $TSFixMe) => {\n field.onChange(value);\n props.onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={fieldData}\n />\n );\n }}\n />\n );\n}\n","import { useFormFields, useTransformer } from '@/src/context';\nimport { Components, JSFField, $TSFixMe } from '@/src/types/remoteFlows';\nimport { useFormContext } from 'react-hook-form';\nimport { FormField } from '../../ui/form';\n\ntype MultiSelectFieldProps = JSFField & {\n placeholder?: string;\n options: Array<{ value: string; label: string }>;\n className?: string;\n onChange?: (value: $TSFixMe) => void;\n component?: Components['select'];\n};\n\nexport function MultiSelectField({\n label,\n name,\n options,\n defaultValue,\n description,\n onChange,\n component,\n ...rest\n}: MultiSelectFieldProps) {\n const { control } = useFormContext();\n const { components } = useFormFields();\n const transformHtml = useTransformer();\n\n return (\n <FormField\n defaultValue={defaultValue}\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components?.['multi-select'];\n if (!Component) {\n throw new Error(`Multi select component not found for field ${name}`);\n }\n\n const customSelectFieldProps = {\n label,\n name,\n options,\n defaultValue,\n description,\n onChange,\n transformHtml,\n ...rest,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (value: $TSFixMe) => {\n field.onChange(value);\n onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={customSelectFieldProps}\n />\n );\n }}\n />\n );\n}\n","import {\n NumberField,\n NumberFieldProps,\n} from '@/src/components/form/fields/NumberField';\n\n// TODO: We use the number field and the the number type is what the partner overrides\n// TODO: this needs to be changed in the future with the changes from https://github.com/remoteoss/remote-flows/pull/128\nexport const MoneyField = (props: NumberFieldProps) => {\n return <NumberField maxLength={15} {...props} />;\n};\n","import { FormField } from '@/src/components/ui/form';\nimport { useFormFields, useTransformer } from '@/src/context';\nimport { Components } from '@/src/types/remoteFlows';\nimport {\n useFormContext,\n ControllerFieldState,\n ControllerRenderProps,\n FieldValues,\n} from 'react-hook-form';\nimport { TelFieldComponentProps, TelFieldDataProps } from '@/src/types/fields';\nimport { useMemo, useCallback, useState, useEffect, useRef } from 'react';\n\nexport type Country = {\n name: string;\n dialCode: string;\n pattern: string;\n areaCodes?: string[];\n};\n\n/**\n * Removes all spaces from input.\n */\nfunction removeSpaces(value: string) {\n return value.replace(/\\s/g, '');\n}\n\nfunction getStructuredNumberFromInternationalNumber(\n internationalPhoneNumber: string = '',\n country?: Country,\n) {\n const baseRegex = new RegExp(\n `^(\\\\+|00)(\\\\d{${country?.dialCode?.length ?? 0}})(.*)$`,\n );\n const baseMatch = internationalPhoneNumber?.match(baseRegex);\n\n if (!baseMatch) {\n return {\n prefix: '',\n dialCode: '',\n phoneNumber: internationalPhoneNumber,\n };\n }\n\n const [, plusOrCallPrefix, dialCode, phoneNumber] = baseMatch;\n\n return {\n prefix: plusOrCallPrefix,\n dialCode,\n phoneNumber,\n };\n}\n\nfunction getCountryFromPhoneNumber(\n {\n dialCodes,\n dialCodeMaxLength,\n }: ReturnType<typeof getCountryDataByCountryCode>,\n internationalPhoneNumber: string,\n) {\n const { prefix } = getStructuredNumberFromInternationalNumber(\n internationalPhoneNumber,\n );\n\n if (!prefix) {\n return undefined;\n }\n\n // Try longest dial codes first - critical for US/Canada\n for (let i = dialCodeMaxLength + prefix.length; i > prefix.length; i--) {\n const dialCode = internationalPhoneNumber.slice(prefix.length, i);\n\n if (dialCodes[dialCode]) {\n return dialCodes[dialCode];\n }\n }\n\n return undefined;\n}\n\n/**\n * Creates a map of dial codes (including area codes) to country objects.\n * Handles countries like US/Canada that share +1 with different area codes.\n */\nexport function getCountryDataByCountryCode(countries: Country[]) {\n const dialCodes: Record<string, Country> = {};\n let dialCodeMaxLength = 0;\n\n countries.forEach((country) => {\n if (country.areaCodes) {\n // For countries with area codes (e.g., +1204, +1226)\n country.areaCodes.forEach((areaCode) => {\n const code = country.dialCode + areaCode;\n dialCodes[code] = country;\n if (code.length > dialCodeMaxLength) {\n dialCodeMaxLength = code.length;\n }\n });\n } else {\n // For countries with simple dial codes (e.g., +44, +351)\n dialCodes[country.dialCode] = country;\n if (country.dialCode.length > dialCodeMaxLength) {\n dialCodeMaxLength = country.dialCode.length;\n }\n }\n });\n\n return { dialCodes, dialCodeMaxLength };\n}\n\nfunction getAreaCodesFromPattern(pattern: string = '') {\n const codeGroupPattern = /\\(([^)]+)\\)/g;\n const groups = pattern.match(codeGroupPattern);\n\n if (groups?.length === 2) {\n return groups[1].replace(/\\(|\\)/g, '').split('|');\n }\n\n return undefined;\n}\n\nfunction transformSchemaToCountries(\n options: Array<{\n value: string;\n label: string;\n meta: { countryCode: string };\n pattern: string;\n }>,\n): Country[] {\n return options.map((option) => ({\n name: option.label,\n dialCode: option.meta.countryCode,\n pattern: option.pattern,\n areaCodes: getAreaCodesFromPattern(option.pattern),\n }));\n}\n\nexport function TelFieldRenderer({\n field,\n fieldState,\n fieldData,\n component: Component,\n onChangeCountryCode,\n onChangePhoneNumber,\n}: {\n field: ControllerRenderProps<FieldValues, string>;\n fieldState: ControllerFieldState;\n fieldData: TelFieldDataProps;\n component: React.ComponentType<TelFieldComponentProps>;\n onChangeCountryCode?: (newCountry: Country) => void;\n onChangePhoneNumber?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n}) {\n const { value: internationalPhoneNumber } = field;\n const { options } = fieldData;\n\n const countries = useMemo(\n () => transformSchemaToCountries(options),\n [options],\n );\n\n const countriesByCountryCode = useMemo(\n () => getCountryDataByCountryCode(countries),\n [countries],\n );\n\n // Track if the country change was due to manual selection\n const isManualSelectionRef = useRef(false);\n\n // Use state to track country, so manual selection is preserved\n const [country, setCountry] = useState<Country | undefined>(() =>\n getCountryFromPhoneNumber(\n getCountryDataByCountryCode(countries),\n internationalPhoneNumber || '',\n ),\n );\n\n // Re-detect country when phone number changes externally (e.g., form reset or area code typed)\n useEffect(() => {\n // Reset manual selection flag if field is cleared\n if (!internationalPhoneNumber || internationalPhoneNumber === '+') {\n isManualSelectionRef.current = false;\n }\n\n if (isManualSelectionRef.current) {\n return;\n }\n\n const detected = getCountryFromPhoneNumber(\n countriesByCountryCode,\n internationalPhoneNumber || '',\n );\n setCountry(detected);\n }, [internationalPhoneNumber, countriesByCountryCode]);\n\n const { prefix, phoneNumber: nationalPhoneNumber } = useMemo(\n () =>\n getStructuredNumberFromInternationalNumber(\n internationalPhoneNumber,\n country,\n ),\n [internationalPhoneNumber, country],\n );\n\n const handleCountryCodeChange = useCallback(\n (newCountry: Country) => {\n if (!newCountry) return;\n const newValue = `+${newCountry.dialCode}${nationalPhoneNumber}`;\n\n // Mark as manual selection to prevent useEffect from overriding\n isManualSelectionRef.current = true;\n\n // Update country state to preserve manual selection\n setCountry(newCountry);\n\n // Update React Hook Form state\n field.onChange(newValue);\n\n // Call optional external onChange\n if (onChangeCountryCode) {\n onChangeCountryCode(newCountry);\n }\n },\n [nationalPhoneNumber, field, onChangeCountryCode],\n );\n\n const handlePhoneNumberChange = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n const valueWithoutSpaces = removeSpaces(event.target.value);\n let newValue: string;\n if (country) {\n newValue = `${prefix}${country.dialCode}${valueWithoutSpaces}`;\n } else {\n newValue = `${prefix}${valueWithoutSpaces}`;\n }\n // Update React Hook Form state\n field.onChange(newValue);\n\n // Call optional external onChange\n if (onChangePhoneNumber) {\n const syntheticEvent = {\n target: { value: newValue, name: field.name },\n } as React.ChangeEvent<HTMLInputElement>;\n onChangePhoneNumber(syntheticEvent);\n }\n },\n [country, prefix, field, onChangePhoneNumber],\n );\n\n const fieldDataWithComputedValues = useMemo(\n () => ({\n ...fieldData,\n onChangeCountryCode: handleCountryCodeChange,\n onChangePhoneNumber: handlePhoneNumberChange,\n currentCountry: country,\n nationalPhoneNumber,\n }),\n [\n fieldData,\n handleCountryCodeChange,\n handlePhoneNumberChange,\n country,\n nationalPhoneNumber,\n ],\n );\n\n return (\n <Component\n field={field}\n fieldState={fieldState}\n fieldData={fieldDataWithComputedValues}\n />\n );\n}\n\nexport type TelFieldProps = TelFieldDataProps & {\n name: string;\n component?: Components['tel'];\n};\n\nexport function TelField({\n name,\n description,\n label,\n onChangeCountryCode,\n onChangePhoneNumber,\n component,\n ...rest\n}: TelFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n const transformHtml = useTransformer();\n\n return (\n <FormField\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components.tel;\n if (!Component) {\n throw new Error(`Tel component not found for field ${name}`);\n }\n\n const customTelFieldProps: TelFieldDataProps = {\n name,\n description,\n label,\n transformHtml,\n ...rest,\n };\n\n return (\n <TelFieldRenderer\n field={field}\n fieldState={fieldState}\n fieldData={customTelFieldProps}\n component={Component}\n onChangeCountryCode={onChangeCountryCode}\n onChangePhoneNumber={onChangePhoneNumber}\n />\n );\n }}\n />\n );\n}\n","import * as React from 'react';\n\nimport { useFormFields, useTransformer } from '@/src/context';\nimport { Components, JSFField, $TSFixMe } from '@/src/types/remoteFlows';\nimport { useFormContext } from 'react-hook-form';\nimport { FormField } from '../../ui/form';\nimport { TimeFieldDataProps } from '@/src/types/fields';\n\nexport type TimeFieldProps = JSFField & {\n onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n component?: Components['time'];\n};\n\nexport function TimeField({\n name,\n description,\n label,\n type,\n onChange,\n component,\n maxLength,\n ...rest\n}: TimeFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n const transformHtml = useTransformer();\n\n return (\n <FormField\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components?.time;\n\n if (!Component) {\n throw new Error(`Time component not found for field ${name}`);\n }\n\n const customTimeFieldProps: TimeFieldDataProps = {\n name,\n description,\n label,\n type,\n onChange,\n maxLength,\n transformHtml,\n ...rest,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (value: $TSFixMe) => {\n field.onChange(value);\n onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={customTimeFieldProps}\n />\n );\n }}\n />\n );\n}\n","import { CheckBoxField } from './CheckBoxField';\nimport { DatePickerField } from './DatePickerField';\nimport { FileUploadField } from './FileUploadField';\nimport { NumberField } from './NumberField';\nimport { RadioGroupField } from './RadioGroupField';\nimport { SelectField } from './SelectField';\nimport { CountryField } from './CountryField';\nimport { TextAreaField } from './TextAreaField';\nimport { TextField } from './TextField';\nimport { EmailField } from './EmailField';\nimport { HiddenField } from './HiddenField';\nimport { WorkScheduleField } from './WorkScheduleField';\nimport { MultiSelectField } from './MultiSelectField';\nimport { MoneyField } from './MoneyField';\nimport { TelField } from './TelField';\nimport { TimeField } from './TimeField';\nimport { SupportedTypes } from './types';\nimport { $TSFixMe } from '@/src/types/remoteFlows';\n\nexport const baseFields: Record<\n Exclude<SupportedTypes, 'fieldset' | 'fieldset-flat'>,\n React.ComponentType<$TSFixMe>\n> = {\n checkbox: CheckBoxField,\n text: TextField,\n email: EmailField,\n money: MoneyField,\n select: SelectField,\n 'multi-select': MultiSelectField,\n radio: RadioGroupField,\n number: NumberField,\n file: FileUploadField,\n date: DatePickerField,\n textarea: TextAreaField,\n countries: CountryField,\n hidden: HiddenField,\n tel: TelField,\n time: TimeField,\n 'work-schedule': WorkScheduleField,\n};\n","import { useFormContext } from 'react-hook-form';\nimport { useEffect } from 'react';\nimport { useFormFields, useTransformer } from '@/src/context';\nimport { sanitizeHtml } from '@/src/lib/utils';\nimport { HelpCenterDataProps } from '@/src/types/fields';\n\nexport type ForcedValueFieldProps = {\n name: string;\n value: string;\n description: string;\n statement?: {\n title?: string;\n description?: string;\n };\n label: string;\n helpCenter?: HelpCenterDataProps;\n};\n\nexport function ForcedValueField({\n name,\n value,\n description,\n statement,\n label,\n helpCenter,\n}: ForcedValueFieldProps) {\n const { setValue } = useFormContext();\n const { components } = useFormFields();\n const transformHtml = useTransformer();\n\n useEffect(() => {\n setValue(name, value);\n }, [name, value, setValue]);\n\n const forcedValueDescription = statement?.description || description;\n const forcedValueTitle = statement?.title\n ? sanitizeHtml(statement.title)\n : sanitizeHtml(label);\n\n // A forced value with no title and no description has nothing to show the user, so we\n // skip rendering entirely (the value is still set on the form via the effect above).\n const isHiddenValue = !forcedValueDescription && !statement?.title;\n\n if (isHiddenValue) {\n return null;\n }\n\n const Component = components?.forcedValue;\n\n if (!Component) {\n throw new Error(`Forced value component not found for field ${name}`);\n }\n\n return (\n <Component\n fieldData={{\n name,\n value,\n title: forcedValueTitle,\n description: forcedValueDescription,\n meta: { helpCenter },\n transformHtml,\n }}\n />\n );\n}\n"],"mappings":"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","names":["Fragment","useEffect","useRef","omit","jsx","DatePickerField","description","label","name","minDate","maxDate","onChange","component","rest","components","useFormFields","control","useFormContext","transformHtml","useTransformer","minDateValue","getMinStartDate","maxDateValue","FormField","field","fieldState","Component","customDatePickerFieldProps","__name","value","jsx","validateFileSize","__name","files","maxSize","file","maxSizeMB","fileSizeMB","FileUploadField","name","description","label","multiple","onChange","component","accept","rest","components","useFormFields","control","setError","clearErrors","useFormContext","transformHtml","useTransformer","handleOnChange","field","sizeError","FormField","fieldState","Component","customFileUploadFieldProps","value","jsx","NumberField","component","onChange","props","components","useFormFields","control","useFormContext","transformHtml","useTransformer","FormField","field","fieldState","Component","customNumberFieldProps","__name","value","jsx","RadioGroupField","name","defaultValue","description","label","options","onChange","component","rest","components","useFormFields","control","useFormContext","transformHtml","useTransformer","FormField","field","fieldState","Component","customRadioGroupFieldProps","__name","value","jsx","SelectField","label","name","options","defaultValue","description","onChange","component","rest","control","useFormContext","components","useFormFields","transformHtml","useTransformer","FormField","field","fieldState","Component","customSelectFieldProps","__name","value","maybeCastValue","jsx","CountryField","label","name","options","defaultValue","description","onChange","$meta","component","rest","control","useFormContext","components","useFormFields","transformHtml","useTransformer","FormField","field","fieldState","Component","customSelectFieldProps","__name","value","jsx","TextAreaField","name","description","label","onChange","maxLength","component","rest","components","useFormFields","control","useFormContext","transformHtml","useTransformer","FormField","field","fieldState","Component","customTextAreaFieldProps","__name","evt","jsx","EmailField","component","onChange","props","components","useFormFields","control","useFormContext","transformHtml","useTransformer","FormField","field","fieldState","Component","customEmailFieldProps","__name","value","useEffect","jsx","HiddenField","props","control","setValue","useFormContext","useEffect","FormField","field","__name","useEffect","useState","jsx","WorkScheduleField","props","components","useFormFields","setValue","control","watch","useFormContext","transformHtml","useTransformer","watchedSchedule","currentSchedule","setCurrentSchedule","useState","workHoursSummary","breakSummary","buildWorkScheduleSummary","totalWorkHours","calculateTotalWorkHours","useEffect","onSubmit","data","__name","Component","fieldData","FormField","field","fieldState","value","jsx","MultiSelectField","label","name","options","defaultValue","description","onChange","component","rest","control","useFormContext","components","useFormFields","transformHtml","useTransformer","FormField","field","fieldState","Component","customSelectFieldProps","__name","value","jsx","MoneyField","__name","props","NumberField","useMemo","useCallback","useState","useEffect","useRef","jsx","removeSpaces","value","__name","getStructuredNumberFromInternationalNumber","internationalPhoneNumber","country","baseRegex","baseMatch","plusOrCallPrefix","dialCode","phoneNumber","getCountryFromPhoneNumber","dialCodes","dialCodeMaxLength","prefix","getCountryDataByCountryCode","countries","areaCode","code","getAreaCodesFromPattern","pattern","codeGroupPattern","groups","transformSchemaToCountries","options","option","TelFieldRenderer","field","fieldState","fieldData","Component","onChangeCountryCode","onChangePhoneNumber","useMemo","countriesByCountryCode","isManualSelectionRef","useRef","setCountry","useState","useEffect","detected","nationalPhoneNumber","handleCountryCodeChange","useCallback","newCountry","newValue","handlePhoneNumberChange","event","valueWithoutSpaces","syntheticEvent","fieldDataWithComputedValues","TelField","name","description","label","component","rest","components","useFormFields","control","useFormContext","transformHtml","useTransformer","FormField","customTelFieldProps","jsx","TimeField","name","description","label","type","onChange","component","maxLength","rest","components","useFormFields","control","useFormContext","transformHtml","useTransformer","FormField","field","fieldState","Component","customTimeFieldProps","__name","value","baseFields","CheckBoxField","TextField","EmailField","MoneyField","SelectField","MultiSelectField","RadioGroupField","NumberField","FileUploadField","DatePickerField","TextAreaField","CountryField","HiddenField","TelField","TimeField","WorkScheduleField","useEffect","jsx","ForcedValueField","name","value","description","statement","label","helpCenter","setValue","useFormContext","components","useFormFields","transformHtml","useTransformer","useEffect","forcedValueDescription","forcedValueTitle","sanitizeHtml","Component","__name","Fragment","jsx","jsxs","FieldSetField","label","name","fields","description","components","statement","isFlatFieldset","extra","variant","features","meta","Component","props","helpCenter","watch","setValue","trigger","formState","useFormContext","formComponents","useFormFields","stateField","isExpanded","fieldNames","fieldName","fieldsetNeedsAllFormValues","field","watchedValues","allFormValues","prevValuesRef","useRef","triggerTimeoutRef","toggleExpanded","__name","useEffect","currentValues","previousValues","hasBeenSubmitted","hasChanged","i","ToggleComponent","FieldsetToggleButtonDefault","contentId","headerId","value","cn","ZendeskTriggerButton","BaseFormDescription","fieldType","fieldKey","isForcedValue","checkFieldHasForcedValue","wrapWithCustomWrapper","content","key","fieldProps","omit","ForcedValueField","FieldComponent","baseFields","Statement"]}
@@ -1,2 +1,2 @@
1
- import{a}from"./chunk-XMVV6S77.js";import{b as i}from"./chunk-PGWKJ6FK.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as d}from"react/jsx-runtime";function y({onSubmit:s,onSuccess:c,onError:t}){let{onboardingBag:o}=i(),u=e(async n=>{try{await s?.({countryCode:n.country});let r=await o.onSubmit(n);if(r?.data){await c?.(r?.data),o?.next();return}r?.error&&t?.({error:r.error,rawError:r.rawError,fieldErrors:[]})}catch(r){t?.({error:r,rawError:r,fieldErrors:[]})}},"handleSubmit"),l=o.stepState.values?.select_country||o.initialValues.select_country;return d(a,{defaultValues:l,onSubmit:u})}e(y,"SelectCountryStep");export{y as a};
2
- //# sourceMappingURL=chunk-G75LPZV5.js.map
1
+ import{a}from"./chunk-UWIUECXU.js";import{b as i}from"./chunk-PGWKJ6FK.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as d}from"react/jsx-runtime";function y({onSubmit:s,onSuccess:c,onError:t}){let{onboardingBag:o}=i(),u=e(async n=>{try{await s?.({countryCode:n.country});let r=await o.onSubmit(n);if(r?.data){await c?.(r?.data),o?.next();return}r?.error&&t?.({error:r.error,rawError:r.rawError,fieldErrors:[]})}catch(r){t?.({error:r,rawError:r,fieldErrors:[]})}},"handleSubmit"),l=o.stepState.values?.select_country||o.initialValues.select_country;return d(a,{defaultValues:l,onSubmit:u})}e(y,"SelectCountryStep");export{y as a};
2
+ //# sourceMappingURL=chunk-L7FN3XPX.js.map
@@ -1,2 +1,2 @@
1
- import{a as m}from"./chunk-DOPQK5RP.js";import{a}from"./chunk-P6FFLJDP.js";import{a as i}from"./chunk-Z4Q2UO2Y.js";import{a as y}from"./chunk-WSRH5UQP.js";import{a as p}from"./chunk-NFWKD7UR.js";import{a as n}from"./chunk-ZODT3MJM.js";import{a as l}from"./chunk-QFTBKRUI.js";import{a as t}from"./chunk-SS2SYDCB.js";import{a as e}from"./chunk-Z7XLK4JL.js";import{a as r}from"./chunk-P37U34EQ.js";import{useId as u}from"react";import{jsx as E}from"react/jsx-runtime";var I=r(({employmentId:s,countryCode:d,jurisdiction:f,initialValues:P,options:b,render:g})=>{let c=u(),o=e({employmentId:s,countryCode:d,jurisdiction:f,initialValues:P,options:b});return E(t.Provider,{value:{formId:c,employeeBag:o},children:g({employeeBag:o,components:{PersonalDetailsStep:m,HomeAddressStep:l,BankAccountStep:p,FederalTaxesStep:n,StateTaxesStep:a,SubmitButton:i,BackButton:y}})})},"PayrollEmployeeOnboardingFlow");export{I as a};
2
- //# sourceMappingURL=chunk-WVE2IOLY.js.map
1
+ import{a as m}from"./chunk-YANQP45B.js";import{a}from"./chunk-5DPOL3DT.js";import{a as i}from"./chunk-Z4Q2UO2Y.js";import{a as y}from"./chunk-WSRH5UQP.js";import{a as p}from"./chunk-SUGZPBET.js";import{a as n}from"./chunk-XPLWBO73.js";import{a as l}from"./chunk-PJAHLEOR.js";import{a as t}from"./chunk-SS2SYDCB.js";import{a as e}from"./chunk-SV35IBBH.js";import{a as r}from"./chunk-P37U34EQ.js";import{useId as u}from"react";import{jsx as E}from"react/jsx-runtime";var I=r(({employmentId:s,countryCode:d,jurisdiction:f,initialValues:P,options:b,render:g})=>{let c=u(),o=e({employmentId:s,countryCode:d,jurisdiction:f,initialValues:P,options:b});return E(t.Provider,{value:{formId:c,employeeBag:o},children:g({employeeBag:o,components:{PersonalDetailsStep:m,HomeAddressStep:l,BankAccountStep:p,FederalTaxesStep:n,StateTaxesStep:a,SubmitButton:i,BackButton:y}})})},"PayrollEmployeeOnboardingFlow");export{I as a};
2
+ //# sourceMappingURL=chunk-LIZMNUQI.js.map
@@ -1,2 +1,2 @@
1
- import{a as S}from"./chunk-JLZFNUBH.js";import{a as d,b as C,c as u,d as g,e as b,f as v}from"./chunk-QRSWXKRV.js";import{j as n,k as i,l as _,n as F,o as p}from"./chunk-AUPAAQUT.js";import{a as c}from"./chunk-P37U34EQ.js";import{jsx as e,jsxs as N}from"react/jsx-runtime";function f({field:r,fieldState:a,fieldData:t}){let{name:m,label:o,description:s,options:h}=t;return N(n,{"data-field":m,className:`RemoteFlows__SelectField__Item__${m}`,children:[e(i,{className:"RemoteFlows__SelectField__Label",children:o}),e(_,{children:e("div",{className:"relative",children:N(d,{value:r.value||"",onValueChange:l=>{r.onChange(l)},children:[e(g,{className:"RemoteFlows__SelectField__Trigger","aria-invalid":!!a.error,"aria-label":o,children:e("span",{className:"absolute",children:e(u,{placeholder:o})})}),e(b,{className:"RemoteFlows__SelectField__Content",children:e(C,{className:"RemoteFlows__SelectField__Group",children:h?.map(l=>e(v,{value:l.value,className:"RemoteFlows__SelectField__SelectItem",disabled:l.disabled,children:l.label},l.value))})})]})})}),(s||t.meta?.helpCenter)&&e(F,{helpCenter:e(S,{helpCenter:t.meta?.helpCenter}),children:s}),a.error&&e(p,{})]})}c(f,"SelectFieldDefault");export{f as a};
2
- //# sourceMappingURL=chunk-KGNLBYM5.js.map
1
+ import{a as S}from"./chunk-E7Y3YBZH.js";import{a as d,b as C,c as u,d as g,e as b,f as v}from"./chunk-QRSWXKRV.js";import{e as n,f as i,g as _,i as F,j as p}from"./chunk-C7KVPEVX.js";import{a as c}from"./chunk-P37U34EQ.js";import{jsx as e,jsxs as N}from"react/jsx-runtime";function f({field:r,fieldState:a,fieldData:t}){let{name:m,label:o,description:s,options:h}=t;return N(n,{"data-field":m,className:`RemoteFlows__SelectField__Item__${m}`,children:[e(i,{className:"RemoteFlows__SelectField__Label",children:o}),e(_,{children:e("div",{className:"relative",children:N(d,{value:r.value||"",onValueChange:l=>{r.onChange(l)},children:[e(g,{className:"RemoteFlows__SelectField__Trigger","aria-invalid":!!a.error,"aria-label":o,children:e("span",{className:"absolute",children:e(u,{placeholder:o})})}),e(b,{className:"RemoteFlows__SelectField__Content",children:e(C,{className:"RemoteFlows__SelectField__Group",children:h?.map(l=>e(v,{value:l.value,className:"RemoteFlows__SelectField__SelectItem",disabled:l.disabled,children:l.label},l.value))})})]})})}),(s||t.meta?.helpCenter)&&e(F,{helpCenter:e(S,{helpCenter:t.meta?.helpCenter}),children:s}),a.error&&e(p,{})]})}c(f,"SelectFieldDefault");export{f as a};
2
+ //# sourceMappingURL=chunk-LJ32QPJF.js.map
@@ -0,0 +1,2 @@
1
+ import{b as m}from"./chunk-4MI7BMM5.js";import{a as i}from"./chunk-AFTFDGSD.js";import{a as l}from"./chunk-5NN5RWBG.js";import{b as d}from"./chunk-C7KVPEVX.js";import{a as n}from"./chunk-P37U34EQ.js";import{useEffect as p}from"react";import{jsx as r}from"react/jsx-runtime";var h=n(({onSubmit:s,className:e,components:c})=>{let{formId:u,playgroundBag:o}=m(),a=i({handleValidation:o.handleValidation,defaultValues:o.initialValues,checkFieldUpdates:o.checkFieldUpdates});p(()=>{o.checkFieldUpdates(a.getValues())},[]);let f=n(async t=>{await o.handleSubmit(t),s?.(t)},"handleFormSubmit");return r(d,{...a,children:r("form",{id:u,onSubmit:a.handleSubmit(f),className:e,children:r(l,{components:c,fields:o.fields??[],fieldValues:o.fieldValues,fieldsets:o.meta["x-jsf-fieldsets"]})})})},"JsonSchemaPlaygroundFormInner"),J=n(s=>{let{playgroundBag:e}=m();return r(h,{...s},`form-${e.selectedSchema}-${e.resetKey}`)},"JsonSchemaPlaygroundForm");export{J as a};
2
+ //# sourceMappingURL=chunk-LXABE3VR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/JsonSchemaPlayground/JsonSchemaPlaygroundForm.tsx"],"sourcesContent":["import { JSONSchemaFormFields } from '@/src/components/form/JSONSchemaForm';\nimport { Form } from '@/src/components/ui/form';\nimport { useEffect } from 'react';\nimport { useJsonSchemaPlaygroundContext } from './context';\nimport { useJSONSchemaForm } from '@/src/components/form/useJSONSchemaForm';\nimport { Components } from '@/src/types/remoteFlows';\n\nexport interface JsonSchemaPlaygroundFormProps {\n onSubmit?: (values: Record<string, unknown>) => void;\n className?: string;\n components?: Components;\n defaultValues?: Record<string, unknown>;\n}\n\nconst JsonSchemaPlaygroundFormInner = ({\n onSubmit,\n className,\n components,\n}: JsonSchemaPlaygroundFormProps) => {\n const { formId, playgroundBag } = useJsonSchemaPlaygroundContext();\n\n const form = useJSONSchemaForm({\n handleValidation: playgroundBag.handleValidation,\n defaultValues: playgroundBag.initialValues,\n checkFieldUpdates: playgroundBag.checkFieldUpdates,\n });\n\n useEffect(() => {\n // Update field values when form values change\n playgroundBag.checkFieldUpdates(form.getValues());\n // oxlint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const handleFormSubmit = async (values: Record<string, unknown>) => {\n await playgroundBag.handleSubmit(values);\n onSubmit?.(values);\n };\n\n return (\n <Form {...form}>\n <form\n id={formId}\n onSubmit={form.handleSubmit(handleFormSubmit)}\n className={className}\n >\n <JSONSchemaFormFields\n components={components}\n fields={playgroundBag.fields ?? []}\n fieldValues={playgroundBag.fieldValues}\n fieldsets={playgroundBag.meta['x-jsf-fieldsets']}\n />\n </form>\n </Form>\n );\n};\n\nexport const JsonSchemaPlaygroundForm = (\n props: JsonSchemaPlaygroundFormProps,\n) => {\n const { playgroundBag } = useJsonSchemaPlaygroundContext();\n\n // `useJSONSchemaForm` (inside JsonSchemaPlaygroundFormInner) creates its\n // react-hook-form instance with `defaultValues` that react-hook-form only\n // reads once, on mount. The key must live here, not on the inner <Form>,\n // so switching schemas or resetting fully remounts that hook instance\n // instead of re-rendering it with stale defaults.\n return (\n <JsonSchemaPlaygroundFormInner\n key={`form-${playgroundBag.selectedSchema}-${playgroundBag.resetKey}`}\n {...props}\n />\n );\n};\n"],"mappings":"wMAEA,OAAS,aAAAA,MAAiB,QA2ClB,cAAAC,MAAA,oBA/BR,IAAMC,EAAgCC,EAAA,CAAC,CACrC,SAAAC,EACA,UAAAC,EACA,WAAAC,CACF,IAAqC,CACnC,GAAM,CAAE,OAAAC,EAAQ,cAAAC,CAAc,EAAIC,EAA+B,EAE3DC,EAAOC,EAAkB,CAC7B,iBAAkBH,EAAc,iBAChC,cAAeA,EAAc,cAC7B,kBAAmBA,EAAc,iBACnC,CAAC,EAEDI,EAAU,IAAM,CAEdJ,EAAc,kBAAkBE,EAAK,UAAU,CAAC,CAElD,EAAG,CAAC,CAAC,EAEL,IAAMG,EAAmBV,EAAA,MAAOW,GAAoC,CAClE,MAAMN,EAAc,aAAaM,CAAM,EACvCV,IAAWU,CAAM,CACnB,EAHyB,oBAKzB,OACEb,EAACc,EAAA,CAAM,GAAGL,EACR,SAAAT,EAAC,QACC,GAAIM,EACJ,SAAUG,EAAK,aAAaG,CAAgB,EAC5C,UAAWR,EAEX,SAAAJ,EAACe,EAAA,CACC,WAAYV,EACZ,OAAQE,EAAc,QAAU,CAAC,EACjC,YAAaA,EAAc,YAC3B,UAAWA,EAAc,KAAK,iBAAiB,EACjD,EACF,EACF,CAEJ,EAxCsC,iCA0CzBS,EAA2Bd,EACtCe,GACG,CACH,GAAM,CAAE,cAAAV,CAAc,EAAIC,EAA+B,EAOzD,OACER,EAACC,EAAA,CAEE,GAAGgB,GADC,QAAQV,EAAc,cAAc,IAAIA,EAAc,QAAQ,EAErE,CAEJ,EAhBwC","names":["useEffect","jsx","JsonSchemaPlaygroundFormInner","__name","onSubmit","className","components","formId","playgroundBag","useJsonSchemaPlaygroundContext","form","useJSONSchemaForm","useEffect","handleFormSubmit","values","Form","JSONSchemaFormFields","JsonSchemaPlaygroundForm","props"]}
@@ -0,0 +1,2 @@
1
+ import{b as a}from"./chunk-C7KVPEVX.js";import{i as e}from"./chunk-SRLBVFNQ.js";import{h as m}from"./chunk-C4HFMTSB.js";import{b as s}from"./chunk-TVZAFTPT.js";import{a as o}from"./chunk-P37U34EQ.js";import{jsx as i}from"react/jsx-runtime";function R({onSubmit:d,onError:c,onSuccess:l}){let{contractAmendment:{stepState:u,isSubmitting:f,onSubmit:C,fields:p},formId:A}=s(),n=e({defaultValues:u.values?.form}),F=o(async r=>{let V=await m(r,p,{isPartialValidation:!1});await d?.(V);let t=await C(r);t.error?c?.(t.error):await l?.(t.data)},"handleSubmit");return f?null:i(a,{...n,children:i("form",{id:A,onSubmit:n.handleSubmit(F),className:"RemoteFlows__ContractAmendmentConfirmationForm"})})}o(R,"ContractAmendmentConfirmationForm");export{R as a};
2
+ //# sourceMappingURL=chunk-LY5PCHQ2.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/flows/ContractAmendment/ContractAmendmentConfirmationForm.tsx"],"sourcesContent":["import {\n ContractAmendmentResponse,\n PostV1ContractAmendmentsError,\n} from '@/src/client';\nimport { parseJSFToValidate } from '@/src/components/form/utils';\nimport { Form } from '@/src/components/ui/form';\nimport { FieldValues, useForm } from 'react-hook-form';\nimport { useContractAmendmentContext } from './context';\n\ntype ContractAmendmentConfirmationFormProps = {\n /**\n * Callback function to be called when the contract amendment form is submitted.\n * This function is called before the contract amendment is submitted.\n * It can be used to perform any additional validation or processing before\n * the contract amendment is submitted.\n * @param values\n * @returns\n */\n onSubmit?: (values: FieldValues) => void | Promise<void>;\n /**\n * Callback function to be called when the contract amendment fails.\n * @param error\n * @returns\n */\n onError?: (error: PostV1ContractAmendmentsError) => void;\n /**\n * Callback function to be called when the contract amendment is successfully submitted.\n * @param data\n * @returns\n */\n onSuccess?: (data: ContractAmendmentResponse) => void | Promise<void>;\n};\n\nexport function ContractAmendmentConfirmationForm({\n onSubmit,\n onError,\n onSuccess,\n}: ContractAmendmentConfirmationFormProps) {\n const {\n contractAmendment: {\n stepState,\n isSubmitting,\n onSubmit: submitContractAmendment,\n fields,\n },\n formId,\n } = useContractAmendmentContext();\n const form = useForm({\n defaultValues: stepState.values?.form,\n });\n\n const handleSubmit = async (values: FieldValues) => {\n const parsedValues = await parseJSFToValidate(values, fields, {\n isPartialValidation: false,\n });\n await onSubmit?.(parsedValues);\n\n const contractAmendmentResult = await submitContractAmendment(values);\n\n if (contractAmendmentResult.error) {\n onError?.(contractAmendmentResult.error as PostV1ContractAmendmentsError);\n } else {\n await onSuccess?.(\n contractAmendmentResult.data as ContractAmendmentResponse,\n );\n }\n };\n\n // Ensure that step\n if (isSubmitting) {\n return null;\n }\n\n return (\n <Form {...form}>\n <form\n id={formId}\n onSubmit={form.handleSubmit(handleSubmit)}\n className='RemoteFlows__ContractAmendmentConfirmationForm'\n ></form>\n </Form>\n );\n}\n"],"mappings":"uKA2EM,cAAAA,MAAA,oBA1CC,SAASC,EAAkC,CAChD,SAAAC,EACA,QAAAC,EACA,UAAAC,CACF,EAA2C,CACzC,GAAM,CACJ,kBAAmB,CACjB,UAAAC,EACA,aAAAC,EACA,SAAUC,EACV,OAAAC,CACF,EACA,OAAAC,CACF,EAAIC,EAA4B,EAC1BC,EAAOC,EAAQ,CACnB,cAAeP,EAAU,QAAQ,IACnC,CAAC,EAEKQ,EAAeC,EAAA,MAAOC,GAAwB,CAClD,IAAMC,EAAe,MAAMC,EAAmBF,EAAQP,EAAQ,CAC5D,oBAAqB,EACvB,CAAC,EACD,MAAMN,IAAWc,CAAY,EAE7B,IAAME,EAA0B,MAAMX,EAAwBQ,CAAM,EAEhEG,EAAwB,MAC1Bf,IAAUe,EAAwB,KAAsC,EAExE,MAAMd,IACJc,EAAwB,IAC1B,CAEJ,EAfqB,gBAkBrB,OAAIZ,EACK,KAIPN,EAACmB,EAAA,CAAM,GAAGR,EACR,SAAAX,EAAC,QACC,GAAIS,EACJ,SAAUE,EAAK,aAAaE,CAAY,EACxC,UAAU,iDACX,EACH,CAEJ,CAjDgBC,EAAAb,EAAA","names":["jsx","ContractAmendmentConfirmationForm","onSubmit","onError","onSuccess","stepState","isSubmitting","submitContractAmendment","fields","formId","useContractAmendmentContext","form","useForm","handleSubmit","__name","values","parsedValues","parseJSFToValidate","contractAmendmentResult","Form"]}
1
+ {"version":3,"sources":["../src/flows/ContractAmendment/ContractAmendmentConfirmationForm.tsx"],"sourcesContent":["import {\n ContractAmendmentResponse,\n PostV1ContractAmendmentsError,\n} from '@/src/client';\nimport { parseJSFToValidate } from '@/src/components/form/utils';\nimport { Form } from '@/src/components/ui/form';\nimport { FieldValues, useForm } from 'react-hook-form';\nimport { useContractAmendmentContext } from './context';\n\ntype ContractAmendmentConfirmationFormProps = {\n /**\n * Callback function to be called when the contract amendment form is submitted.\n * This function is called before the contract amendment is submitted.\n * It can be used to perform any additional validation or processing before\n * the contract amendment is submitted.\n * @param values\n * @returns\n */\n onSubmit?: (values: FieldValues) => void | Promise<void>;\n /**\n * Callback function to be called when the contract amendment fails.\n * @param error\n * @returns\n */\n onError?: (error: PostV1ContractAmendmentsError) => void;\n /**\n * Callback function to be called when the contract amendment is successfully submitted.\n * @param data\n * @returns\n */\n onSuccess?: (data: ContractAmendmentResponse) => void | Promise<void>;\n};\n\nexport function ContractAmendmentConfirmationForm({\n onSubmit,\n onError,\n onSuccess,\n}: ContractAmendmentConfirmationFormProps) {\n const {\n contractAmendment: {\n stepState,\n isSubmitting,\n onSubmit: submitContractAmendment,\n fields,\n },\n formId,\n } = useContractAmendmentContext();\n const form = useForm({\n defaultValues: stepState.values?.form,\n });\n\n const handleSubmit = async (values: FieldValues) => {\n const parsedValues = await parseJSFToValidate(values, fields, {\n isPartialValidation: false,\n });\n await onSubmit?.(parsedValues);\n\n const contractAmendmentResult = await submitContractAmendment(values);\n\n if (contractAmendmentResult.error) {\n onError?.(contractAmendmentResult.error as PostV1ContractAmendmentsError);\n } else {\n await onSuccess?.(\n contractAmendmentResult.data as ContractAmendmentResponse,\n );\n }\n };\n\n // Ensure that step\n if (isSubmitting) {\n return null;\n }\n\n return (\n <Form {...form}>\n <form\n id={formId}\n onSubmit={form.handleSubmit(handleSubmit)}\n className='RemoteFlows__ContractAmendmentConfirmationForm'\n ></form>\n </Form>\n );\n}\n"],"mappings":"wMA2EM,cAAAA,MAAA,oBA1CC,SAASC,EAAkC,CAChD,SAAAC,EACA,QAAAC,EACA,UAAAC,CACF,EAA2C,CACzC,GAAM,CACJ,kBAAmB,CACjB,UAAAC,EACA,aAAAC,EACA,SAAUC,EACV,OAAAC,CACF,EACA,OAAAC,CACF,EAAIC,EAA4B,EAC1BC,EAAOC,EAAQ,CACnB,cAAeP,EAAU,QAAQ,IACnC,CAAC,EAEKQ,EAAeC,EAAA,MAAOC,GAAwB,CAClD,IAAMC,EAAe,MAAMC,EAAmBF,EAAQP,EAAQ,CAC5D,oBAAqB,EACvB,CAAC,EACD,MAAMN,IAAWc,CAAY,EAE7B,IAAME,EAA0B,MAAMX,EAAwBQ,CAAM,EAEhEG,EAAwB,MAC1Bf,IAAUe,EAAwB,KAAsC,EAExE,MAAMd,IACJc,EAAwB,IAC1B,CAEJ,EAfqB,gBAkBrB,OAAIZ,EACK,KAIPN,EAACmB,EAAA,CAAM,GAAGR,EACR,SAAAX,EAAC,QACC,GAAIS,EACJ,SAAUE,EAAK,aAAaE,CAAY,EACxC,UAAU,iDACX,EACH,CAEJ,CAjDgBC,EAAAb,EAAA","names":["jsx","ContractAmendmentConfirmationForm","onSubmit","onError","onSuccess","stepState","isSubmitting","submitContractAmendment","fields","formId","useContractAmendmentContext","form","useForm","handleSubmit","__name","values","parsedValues","parseJSFToValidate","contractAmendmentResult","Form"]}
@@ -1,2 +1,2 @@
1
- import{a as N,b as j,c as D,d as O}from"./chunk-5PUW4YCY.js";import{a as I}from"./chunk-A3LRPGV3.js";import{b as v}from"./chunk-NW3D7CPK.js";import{b as C,h as p,i as b,u as R,v as F}from"./chunk-C4HFMTSB.js";import{a as k}from"./chunk-M3TA5X2H.js";import{a as c}from"./chunk-P37U34EQ.js";import{useMemo as S,useRef as ee,useState as A}from"react";var pe=c(({countryCode:L,options:u,initialValues:l})=>{let P=N(),g=j(),{mutateAsync:q}=C(P),{mutateAsync:J}=C(g),[y,U]=A(L||null),[f,B]=A(null),w=ee({company_basic_information:{},address_details:{}}),{fieldValues:V,stepState:a,setFieldValues:W,previousStep:z,nextStep:G,goToStep:H}=k(I),{companyBasicInformationForm:d,isLoading:K}=D({jsfModify:u?.jsfModify?.company_basic_information,queryOptions:{enabled:a.currentStep.name==="company_basic_information"}}),{data:s,isLoading:Q}=O({countryCode:y,fieldValues:a.currentStep.name==="address_details"?{...a.values?.address_details||{},...V}:a.values?.address_details||{},options:{...u,jsfModify:u?.jsfModify?.address_details,queryOptions:{enabled:a.currentStep.name==="address_details"&&!!y&&!!f}}}),i=S(()=>({company_basic_information:d?.fields||[],address_details:s?.fields||[]}),[d?.fields,s?.fields]),X={company_basic_information:null,address_details:s?.meta?.["x-jsf-fieldsets"]||null},h=S(()=>b(i.company_basic_information,{...l,country_code:y||l?.country_code||""}),[i.company_basic_information,y,l]),E=S(()=>b(i.address_details,l||{}),[i.address_details,l]),Y=S(()=>({company_basic_information:h,address_details:E}),[h,E]),Z=c(o=>{H(o)},"goTo"),M=c(async o=>{let r=a.currentStep.name,e=i[r];return d&&r==="company_basic_information"?await p(o,e,{isPartialValidation:!1}):s&&r==="address_details"?await p(o,e,{isPartialValidation:!1}):{}},"parseFormValues");async function $(o){let r=a.currentStep.name,e=await M(o);switch(r in w.current&&(w.current[r]=R(e,i[r])),a.currentStep.name){case"company_basic_information":{if(U(e.country_code),f)return Promise.resolve({data:{countryCode:e.country_code??"",companyOwnerEmail:e.company_owner_email??"",companyOwnerName:e.company_owner_name??"",desiredCurrency:e.desired_currency??"",name:e.name??"",phoneNumber:e.phone_number??"",taxNumber:e.tax_number??""}});let x={country_code:e.country_code,company_owner_email:e.company_owner_email,company_owner_name:e.company_owner_name,desired_currency:e.desired_currency,name:e.name,phone_number:e.phone_number,tax_number:e.tax_number,terms_of_service_accepted_at:v()},n=await q(x);if(n.error)return Promise.resolve({data:null,error:n.error,rawError:n.rawError,fieldErrors:n.fieldErrors});let m=n.data?.data,_,t;if(m)if("data"in m&&m.data){let T=m.data.company;t=T,_=T?.id}else"company"in m&&(t=m.company,_=t?.id);return _&&B(_),Promise.resolve({data:{countryCode:t?.country_code??e.country_code??"",companyOwnerEmail:t?.company_owner_email??e.company_owner_email??"",companyOwnerName:t?.company_owner_name??e.company_owner_name??"",desiredCurrency:t?.desired_currency??e.desired_currency??"",name:t?.name??e.name??"",phoneNumber:t?.phone_number??e.phone_number??"",taxNumber:t?.tax_number??e.tax_number??""}})}case"address_details":{if(!f)throw F("Company ID is required to update address details");let n=await J({companyId:f,payload:{address_details:e},jsonSchemaVersion:u?.jsonSchemaVersion?.form_schema?.address_details});return n.error?Promise.resolve({data:null,error:n.error,rawError:n.rawError,fieldErrors:n.fieldErrors}):Promise.resolve({data:n.data})}default:throw F("Invalid step state")}}return c($,"onSubmit"),{isLoading:K||Q,isSubmitting:P.isPending||g.isPending,fieldValues:V,stepState:a,checkFieldUpdates:W,back:z,next:G,goTo:Z,onSubmit:$,fields:i[a.currentStep.name],meta:{fields:w.current,fieldsets:X[a.currentStep.name]},parseFormValues:M,handleValidation:c(async o=>{if(a.currentStep.name==="company_basic_information"&&d){let r=await p(o,d.fields,{isPartialValidation:!1});return d.handleValidation(r)}if(a.currentStep.name==="address_details"&&s){let r=await p(o,s.fields,{isPartialValidation:!1});return s.handleValidation(r)}return null},"handleValidation"),initialValues:Y}},"useCreateCompany");export{pe as a};
2
- //# sourceMappingURL=chunk-BB3M25A3.js.map
1
+ import{a as N,b as j,c as D,d as O}from"./chunk-UTWBY65S.js";import{a as I}from"./chunk-A3LRPGV3.js";import{b as v}from"./chunk-NW3D7CPK.js";import{b as C,h as p,i as b,u as R,v as F}from"./chunk-C4HFMTSB.js";import{a as k}from"./chunk-M3TA5X2H.js";import{a as c}from"./chunk-P37U34EQ.js";import{useMemo as S,useRef as ee,useState as A}from"react";var pe=c(({countryCode:L,options:u,initialValues:l})=>{let P=N(),g=j(),{mutateAsync:q}=C(P),{mutateAsync:J}=C(g),[y,U]=A(L||null),[f,B]=A(null),w=ee({company_basic_information:{},address_details:{}}),{fieldValues:V,stepState:a,setFieldValues:W,previousStep:z,nextStep:G,goToStep:H}=k(I),{companyBasicInformationForm:d,isLoading:K}=D({jsfModify:u?.jsfModify?.company_basic_information,queryOptions:{enabled:a.currentStep.name==="company_basic_information"}}),{data:s,isLoading:Q}=O({countryCode:y,fieldValues:a.currentStep.name==="address_details"?{...a.values?.address_details||{},...V}:a.values?.address_details||{},options:{...u,jsfModify:u?.jsfModify?.address_details,queryOptions:{enabled:a.currentStep.name==="address_details"&&!!y&&!!f}}}),i=S(()=>({company_basic_information:d?.fields||[],address_details:s?.fields||[]}),[d?.fields,s?.fields]),X={company_basic_information:null,address_details:s?.meta?.["x-jsf-fieldsets"]||null},h=S(()=>b(i.company_basic_information,{...l,country_code:y||l?.country_code||""}),[i.company_basic_information,y,l]),E=S(()=>b(i.address_details,l||{}),[i.address_details,l]),Y=S(()=>({company_basic_information:h,address_details:E}),[h,E]),Z=c(o=>{H(o)},"goTo"),M=c(async o=>{let r=a.currentStep.name,e=i[r];return d&&r==="company_basic_information"?await p(o,e,{isPartialValidation:!1}):s&&r==="address_details"?await p(o,e,{isPartialValidation:!1}):{}},"parseFormValues");async function $(o){let r=a.currentStep.name,e=await M(o);switch(r in w.current&&(w.current[r]=R(e,i[r])),a.currentStep.name){case"company_basic_information":{if(U(e.country_code),f)return Promise.resolve({data:{countryCode:e.country_code??"",companyOwnerEmail:e.company_owner_email??"",companyOwnerName:e.company_owner_name??"",desiredCurrency:e.desired_currency??"",name:e.name??"",phoneNumber:e.phone_number??"",taxNumber:e.tax_number??""}});let x={country_code:e.country_code,company_owner_email:e.company_owner_email,company_owner_name:e.company_owner_name,desired_currency:e.desired_currency,name:e.name,phone_number:e.phone_number,tax_number:e.tax_number,terms_of_service_accepted_at:v()},n=await q(x);if(n.error)return Promise.resolve({data:null,error:n.error,rawError:n.rawError,fieldErrors:n.fieldErrors});let m=n.data?.data,_,t;if(m)if("data"in m&&m.data){let T=m.data.company;t=T,_=T?.id}else"company"in m&&(t=m.company,_=t?.id);return _&&B(_),Promise.resolve({data:{countryCode:t?.country_code??e.country_code??"",companyOwnerEmail:t?.company_owner_email??e.company_owner_email??"",companyOwnerName:t?.company_owner_name??e.company_owner_name??"",desiredCurrency:t?.desired_currency??e.desired_currency??"",name:t?.name??e.name??"",phoneNumber:t?.phone_number??e.phone_number??"",taxNumber:t?.tax_number??e.tax_number??""}})}case"address_details":{if(!f)throw F("Company ID is required to update address details");let n=await J({companyId:f,payload:{address_details:e},jsonSchemaVersion:u?.jsonSchemaVersion?.form_schema?.address_details});return n.error?Promise.resolve({data:null,error:n.error,rawError:n.rawError,fieldErrors:n.fieldErrors}):Promise.resolve({data:n.data})}default:throw F("Invalid step state")}}return c($,"onSubmit"),{isLoading:K||Q,isSubmitting:P.isPending||g.isPending,fieldValues:V,stepState:a,checkFieldUpdates:W,back:z,next:G,goTo:Z,onSubmit:$,fields:i[a.currentStep.name],meta:{fields:w.current,fieldsets:X[a.currentStep.name]},parseFormValues:M,handleValidation:c(async o=>{if(a.currentStep.name==="company_basic_information"&&d){let r=await p(o,d.fields,{isPartialValidation:!1});return d.handleValidation(r)}if(a.currentStep.name==="address_details"&&s){let r=await p(o,s.fields,{isPartialValidation:!1});return s.handleValidation(r)}return null},"handleValidation"),initialValues:Y}},"useCreateCompany");export{pe as a};
2
+ //# sourceMappingURL=chunk-MGCW2SS4.js.map
@@ -0,0 +1,2 @@
1
+ import{a as L,b as H,c as U,e as O}from"./chunk-SWLNTVAX.js";import{f as W}from"./chunk-UBWNTSWS.js";import{a as oe}from"./chunk-3HMBTPH7.js";import{a as ie}from"./chunk-5NN5RWBG.js";import{a as _,c as J,d as I,e as k,f as j}from"./chunk-QRSWXKRV.js";import{a as V,b as te}from"./chunk-C7KVPEVX.js";import{i as le}from"./chunk-SRLBVFNQ.js";import{n as g}from"./chunk-C4HFMTSB.js";import{e as ae}from"./chunk-H2O4CVKF.js";import{a as i}from"./chunk-P37U34EQ.js";import*as M from"@radix-ui/react-collapsible";var ge=M.Root,ye=M.CollapsibleTrigger,Se=M.CollapsibleContent;import*as y from"@radix-ui/react-dialog";import{XIcon as he}from"lucide-react";import{jsx as F,jsxs as K}from"react/jsx-runtime";function xe({...e}){return F(y.Root,{"data-slot":"full-screen-dialog",...e})}i(xe,"FullScreenDialog");function Ne({...e}){return F(y.Trigger,{"data-slot":"full-screen-dialog-trigger",...e})}i(Ne,"FullScreenDialogTrigger");function Te({...e}){return F(y.Portal,{"data-slot":"full-screen-dialog-portal",...e})}i(Te,"FullScreenDialogPortal");function Fe({className:e,...l}){return F(y.Overlay,{"data-slot":"full-screen-dialog-overlay",className:g("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",e),...l})}i(Fe,"FullScreenDialogOverlay");function Ce({className:e,children:l,...a}){return K(Te,{"data-slot":"full-screen-dialog-portal",children:[F(Fe,{}),K(y.Content,{"data-slot":"full-screen-dialog-content",className:g("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 flex flex-col",e),...a,children:[l,K(y.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 RemoteFlows__FullScreenDialog__Close",children:[F(he,{}),F("span",{className:"sr-only",children:"Close"})]})]})]})}i(Ce,"FullScreenDialogContent");function De({className:e,...l}){return F("div",{"data-slot":"full-screen-dialog-header",className:g("flex flex-col gap-2 text-center sm:text-left",e),...l})}i(De,"FullScreenDialogHeader");function we({className:e,...l}){return F("div",{"data-slot":"full-screen-dialog-footer",className:g("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",e),...l})}i(we,"FullScreenDialogFooter");function Re({className:e,...l}){return F(y.Title,{"data-slot":"full-screen-dialog-title",className:g("text-lg leading-none font-semibold",e),...l})}i(Re,"FullScreenDialogTitle");function Pe({className:e,...l}){return F(y.Description,{"data-slot":"full-screen-dialog-description",className:g("text-muted-foreground text-sm",e),...l})}i(Pe,"FullScreenDialogDescription");import*as R from"@radix-ui/react-tabs";import{jsx as B}from"react/jsx-runtime";function z({className:e,...l}){return B(R.Root,{"data-slot":"tabs",className:g("flex flex-col gap-2",e),...l})}i(z,"Tabs");function $({className:e,...l}){return B(R.List,{"data-slot":"tabs-list",className:g("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-1",e),...l})}i($,"TabsList");function X({className:e,...l}){return B(R.Trigger,{"data-slot":"tabs-trigger",className:g("data-[state=active]:bg-background data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring inline-flex flex-1 items-center justify-center gap-1.5 rounded-md px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...l})}i(X,"TabsTrigger");function Ae({className:e,...l}){return B(R.Content,{"data-slot":"tabs-content",className:g("flex-1 outline-none",e),...l})}i(Ae,"TabsContent");import*as Z from"react";import*as N from"@radix-ui/react-scroll-area";import{jsx as q,jsxs as Ve}from"react/jsx-runtime";var ne=Z.forwardRef(({className:e,children:l,...a},s)=>Ve(N.Root,{ref:s,className:g("relative overflow-hidden",e),...a,children:[q(N.Viewport,{className:"h-full w-full rounded-[inherit]",children:l}),q(se,{}),q(N.Corner,{})]}));ne.displayName=N.Root.displayName;var se=Z.forwardRef(({className:e,orientation:l="vertical",...a},s)=>q(N.ScrollAreaScrollbar,{ref:s,orientation:l,className:g("flex touch-none select-none transition-colors",l==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",l==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",e),...a,children:q(N.ScrollAreaThumb,{className:"relative flex-1 rounded-full bg-border"})}));se.displayName=N.ScrollAreaScrollbar.displayName;import{useState as Y,useEffect as Ie,useMemo as ke}from"react";import{useQuery as je}from"@tanstack/react-query";import E from"fast-deep-equal";var re=i(e=>e.name?e.type?!0:(console.warn(`Field "${e.name}" missing required "type" property`),!1):(console.warn('Field missing required "name" property:',e),!1),"validateField"),Le=i((e,l)=>{if(E(e,l))return;let a=new Map((e||[]).map(t=>[t.value,t])),s=new Map((l||[]).map(t=>[t.value,t])),d=[],m=[],p=[];if(s.forEach((t,c)=>{a.has(c)||d.push({value:t.value,label:t.label})}),a.forEach((t,c)=>{if(!s.has(c))m.push({value:t.value,label:t.label});else{let S=s.get(c);if(!E(t,S)){let b={};t.label!==S.label&&(b.label={old:t.label,new:S.label}),Object.keys(b).length>0&&p.push({value:c,changes:b})}}}),!(d.length===0&&m.length===0&&p.length===0))return{added:d,removed:m,modified:p}},"compareOptions"),Oe=i((e,l)=>{let a=e.fields,s=l.fields;if(!a&&!s)return;let d=G(a||[],s||[]);if(d.added.length>0||d.removed.length>0||d.modified.length>0)return Array.from(d.fieldDiffs.values())},"compareNestedFields"),Me=i((e,l)=>{let a={label:e.label!==l.label,required:e.required!==l.required,inputType:e.inputType!==l.inputType,type:e.type!==l.type,jsonType:!E(e.jsonType,l.jsonType),name:e.name!==l.name,defaultValue:e.defaultValue!==l.defaultValue,minDate:e.minDate!==l.minDate,maxDate:e.maxDate!==l.maxDate,maxLength:e.maxLength!==l.maxLength,multiple:e.multiple!==l.multiple,isVisible:e.isVisible!==l.isVisible,options:!E(e.options,l.options)},s=(()=>{let m=e.fields,p=l.fields;if(!m&&!p)return!1;if(!m||!p)return!0;let t=G(m,p);return t.added.length>0||t.removed.length>0||t.modified.length>0})();return Object.values(a).some(m=>m)||s},"isFieldModified"),Ee=i((e,l)=>{let a={};e.label!==l.label&&(a.label={old:e.label,new:l.label}),e.required!==l.required&&(a.required={old:e.required,new:l.required}),e.type!==l.type&&(a.type={old:e.type,new:l.type}),e.inputType!==l.inputType&&(a.inputType={old:e.inputType,new:l.inputType}),E(e.jsonType,l.jsonType)||(a.jsonType={old:e.jsonType,new:l.jsonType}),E(e.defaultValue,l.defaultValue)||(a.defaultValue={old:e.defaultValue,new:l.defaultValue}),e.minDate!==l.minDate&&(a.minDate={old:e.minDate||"",new:l.minDate||""}),e.maxDate!==l.maxDate&&(a.maxDate={old:e.maxDate||"",new:l.maxDate||""}),e.maxLength!==l.maxLength&&(a.maxLength={old:e.maxLength||0,new:l.maxLength||0}),e.multiple!==l.multiple&&(a.multiple={old:e.multiple||!1,new:l.multiple||!1}),e.isVisible!==l.isVisible&&(a.isVisible={old:e.isVisible,new:l.isVisible});let s=Le(e.options,l.options);s&&(a.options=s);let d=Oe(e,l);return d&&(a.nestedFields=d),Object.keys(a).length>0?a:void 0},"getFieldChanges"),G=i((e=[],l=[])=>{let a=e.filter(re),s=l.filter(re),d=new Map(a.map(f=>[f.name,{field:f}])),m=new Map(s.map(f=>[f.name,{field:f}])),p=[],t=[],c=[],S=[],b=new Map;return m.forEach((f,v)=>{d.has(v)||(p.push(v),b.set(v,{fieldName:v,diffType:"added"}))}),d.forEach(({field:f},v)=>{if(!m.has(v))t.push(v),b.set(v,{fieldName:v,diffType:"removed"});else{let{field:x}=m.get(v);Me(f,x)?(c.push(v),b.set(v,{fieldName:v,diffType:"modified",changes:Ee(f,x)})):(S.push(v),b.set(v,{fieldName:v,diffType:"unchanged"}))}}),{added:p,removed:t,modified:c,unchanged:S,fieldDiffs:b}},"compareFormFields"),ve=i(e=>{switch(e){case"added":return"bg-green-50 border-l-4 border-green-500";case"removed":return"bg-red-50 border-l-4 border-red-500";case"modified":return"bg-yellow-50 border-l-4 border-yellow-500";default:return""}},"getDiffStyles");import{useMemo as ue,useRef as Q,useEffect as _e}from"react";import{jsx as o,jsxs as u}from"react/jsx-runtime";var Je=i(({children:e,diffType:l,changes:a})=>{let s=ve(l);if(l==="unchanged")return o("div",{children:e});let m={added:o("span",{className:"text-xs font-semibold text-green-700 bg-green-100 px-2 py-1 rounded",children:"NEW"}),removed:o("span",{className:"text-xs font-semibold text-red-700 bg-red-100 px-2 py-1 rounded",children:"REMOVED"}),modified:o("span",{className:"text-xs font-semibold text-yellow-700 bg-yellow-100 px-2 py-1 rounded",children:"MODIFIED"})}[l],p=i(()=>{if(!a||l!=="modified")return null;let t=[];if(a.label&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Label:"})," ",o("span",{className:"line-through text-red-600",children:a.label.old})," ","\u2192 ",o("span",{className:"text-green-600",children:a.label.new})]},"label")),a.required&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Required:"})," ",o("span",{className:"line-through text-red-600",children:a.required.old?"Yes":"No"})," ","\u2192"," ",o("span",{className:"text-green-600",children:a.required.new?"Yes":"No"})]},"required")),a.type&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Type:"})," ",o("span",{className:"line-through text-red-600",children:a.type.old})," ","\u2192 ",o("span",{className:"text-green-600",children:a.type.new})]},"type")),a.inputType&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Input Type:"})," ",o("span",{className:"line-through text-red-600",children:a.inputType.old})," ","\u2192 ",o("span",{className:"text-green-600",children:a.inputType.new})]},"inputType")),a.jsonType){let c=Array.isArray(a.jsonType.old)?a.jsonType.old.join(" | "):a.jsonType.old,S=Array.isArray(a.jsonType.new)?a.jsonType.new.join(" | "):a.jsonType.new;t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"JSON Type:"})," ",o("span",{className:"line-through text-red-600",children:c})," \u2192"," ",o("span",{className:"text-green-600",children:S})]},"jsonType"))}return a.defaultValue!==void 0&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Default Value:"})," ",o("span",{className:"line-through text-red-600",children:JSON.stringify(a.defaultValue.old)})," ","\u2192"," ",o("span",{className:"text-green-600",children:JSON.stringify(a.defaultValue.new)})]},"defaultValue")),a.options&&(a.options.added.length>0&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold text-green-700",children:"Options Added:"})," ",a.options.added.map(c=>c.label).join(", ")]},"options-added")),a.options.removed.length>0&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold text-red-700",children:"Options Removed:"})," ",a.options.removed.map(c=>c.label).join(", ")]},"options-removed")),a.options.modified.length>0&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Options Modified:"})," ",a.options.modified.length," option(s)"]},"options-modified"))),a.nestedFields&&a.nestedFields.length>0&&t.push(u("div",{className:"text-xs",children:[o("span",{className:"font-semibold",children:"Nested Fields:"})," ",a.nestedFields.length," field(s) changed"]},"nestedFields")),t.length===0?null:u("div",{className:"mt-2 p-2 bg-yellow-50 rounded border border-yellow-200 space-y-1",children:[o("div",{className:"text-xs font-semibold text-yellow-800 mb-1",children:"Changes:"}),t]})},"renderChanges");return u("div",{className:`p-3 mb-2 rounded ${s} relative`,children:[o("div",{className:"absolute top-2 right-2",children:m}),e,p()]})},"FieldWrapper"),de=i(({version:e,fields:l,fieldsets:a,diffMap:s,title:d,scrollRef:m})=>{let p=le({mode:"onBlur"}),t=ue(()=>{let c=i((S,b)=>S.map(f=>{let v=b.get(f.name),x=v?.diffType||"unchanged",T=v?.changes,C=f.fields,P=f;if(C&&Array.isArray(C)){let A=new Map;T&&typeof T=="object"&&"nestedFields"in T&&Array.isArray(T.nestedFields)&&T.nestedFields.forEach(n=>{A.set(n.fieldName,{diffType:n.diffType,changes:n.changes})});let D=c(C,A);P={...f,fields:D}}return{...P,WrapperComponent:i(({children:A})=>o(Je,{diffType:x,fieldName:f.name,changes:T,children:A}),"WrapperComponent")}}),"applyWrappers");return c(l,s)},[l,s]);return u(L,{className:"h-full",children:[o(H,{children:u(U,{children:[d," - Version ",e]})}),o(O,{ref:m,className:"overflow-y-auto max-h-[600px]",children:o(te,{...p,children:o("form",{className:"space-y-4",children:o(ie,{fields:t,fieldsets:a,fieldValues:{}})})})})]})},"FormPanel"),me=i(({topVersion:e,bottomVersion:l,topFields:a,bottomFields:s,topFieldsets:d,bottomFieldsets:m,isLoading:p})=>{let t=ue(()=>G(a,s),[a,s]),c=Q(null),S=Q(null),b=Q(!1);if(_e(()=>{let v=c.current,x=S.current;if(!v||!x)return;let T=i(()=>{b.current||(b.current=!0,x.scrollTop=v.scrollTop,requestAnimationFrame(()=>{b.current=!1}))},"handleLeftScroll"),C=i(()=>{b.current||(b.current=!0,v.scrollTop=x.scrollTop,requestAnimationFrame(()=>{b.current=!1}))},"handleRightScroll");return v.addEventListener("scroll",T),x.addEventListener("scroll",C),()=>{v.removeEventListener("scroll",T),x.removeEventListener("scroll",C)}},[a,s]),p)return o("div",{className:"flex items-center justify-center h-96",children:u("div",{className:"text-center",children:[o("div",{className:"animate-spin rounded-full h-12 w-12 border-b-2 border-gray-900 mx-auto"}),o("p",{className:"mt-4 text-gray-600",children:"Loading schemas..."})]})});let f=t.added.length===0&&t.removed.length===0&&t.modified.length===0;return u("div",{className:"space-y-6",children:[o(L,{children:o(O,{className:"pt-6",children:f?o("p",{className:"text-center text-gray-600",children:"No differences detected between the two versions"}):u("div",{className:"flex gap-6 justify-center",children:[t.added.length>0&&u("div",{className:"flex items-center gap-2",children:[o("span",{className:"w-4 h-4 bg-green-500 rounded"}),u("span",{className:"text-sm",children:[t.added.length," field",t.added.length>1?"s":""," ","added"]})]}),t.removed.length>0&&u("div",{className:"flex items-center gap-2",children:[o("span",{className:"w-4 h-4 bg-red-500 rounded"}),u("span",{className:"text-sm",children:[t.removed.length," field",t.removed.length>1?"s":""," removed"]})]}),t.modified.length>0&&u("div",{className:"flex items-center gap-2",children:[o("span",{className:"w-4 h-4 bg-yellow-500 rounded"}),u("span",{className:"text-sm",children:[t.modified.length," field",t.modified.length>1?"s":""," modified"]})]})]})})}),u("div",{className:"grid grid-cols-2 gap-6",children:[o(de,{version:e,fields:a,fieldsets:d,diffMap:t.fieldDiffs,title:"Left",scrollRef:c}),o(de,{version:l,fields:s,fieldsets:m,diffMap:t.fieldDiffs,title:"Right",scrollRef:S})]})]})},"SchemaFormComparison");var pe=[{value:1,label:"v1"},{value:3,label:"v3"},{value:4,label:"v4 (Recommended)"}],ee={ALB:[{value:1,label:"v1"},{value:2,label:"v2"}],ARE:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],ARG:[{value:1,label:"v1"},{value:2,label:"v2"}],ARM:[{value:1,label:"v1"}],AUS:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],AUT:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"},{value:5,label:"v5"},{value:6,label:"v6"}],BEL:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],BGD:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],BGR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],BIH:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],BLR:[{value:1,label:"v1"},{value:2,label:"v2"}],BOL:[{value:1,label:"v1"}],BRA:[{value:1,label:"v1"},{value:2,label:"v2"}],CAN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],CHE:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],CHL:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],CHN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"},{value:5,label:"v5"}],COL:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],CRI:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],CYP:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],CZE:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],DEU:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],DNK:[{value:1,label:"v1"},{value:2,label:"v2"}],DOM:[{value:1,label:"v1"},{value:2,label:"v2"}],ECU:[{value:1,label:"v1"}],EGY:[{value:1,label:"v1"},{value:2,label:"v2"}],ESP:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],EST:[{value:1,label:"v1"},{value:2,label:"v2"}],FIN:[{value:1,label:"v1"},{value:2,label:"v2"}],FRA:[{value:1,label:"v1"},{value:2,label:"v2"}],FRA_SAS:[{value:1,label:"v1"}],GBR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],GEO:[{value:1,label:"v1"},{value:2,label:"v2"}],GRC:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],GTM:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],HKG:[{value:1,label:"v1"},{value:2,label:"v2"}],HND:[{value:1,label:"v1"},{value:2,label:"v2"}],HRV:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],HUN:[{value:1,label:"v1"}],IDN:[{value:1,label:"v1"}],IND:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],IRL:[{value:1,label:"v1"}],ISL:[{value:1,label:"v1"},{value:2,label:"v2"}],ISR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],ITA:[{value:1,label:"v1"},{value:2,label:"v2"}],ITA_APL:[{value:1,label:"v1"}],JAM:[{value:1,label:"v1"},{value:2,label:"v2"}],JPN:[{value:1,label:"v1"},{value:2,label:"v2"}],KEN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],KGZ:[{value:1,label:"v1"}],KHM:[{value:1,label:"v1"}],KOR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],LBN:[{value:1,label:"v1"},{value:2,label:"v2"}],LKA:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],LTU:[{value:1,label:"v1"},{value:2,label:"v2"}],LUX:[{value:1,label:"v1"}],LVA:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],MAR:[{value:1,label:"v1"},{value:2,label:"v2"}],MDA:[{value:1,label:"v1"},{value:2,label:"v2"}],MEX:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],MKD:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],MLT:[{value:1,label:"v1"}],MNG:[{value:1,label:"v1"}],MUS:[{value:1,label:"v1"},{value:2,label:"v2"}],MYS:[{value:1,label:"v1"},{value:2,label:"v2"}],NGA:[{value:1,label:"v1"},{value:2,label:"v2"}],NIC:[{value:1,label:"v1"}],NLD:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],NOR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],NZL:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],PAK:[{value:1,label:"v1"},{value:2,label:"v2"}],PAN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],PER:[{value:1,label:"v1"}],PHL:[{value:1,label:"v1"},{value:2,label:"v2"}],POL:[{value:1,label:"v1"},{value:2,label:"v2"}],PRI:[{value:1,label:"v1"},{value:2,label:"v2"}],PRT:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],PRY:[{value:1,label:"v1"},{value:2,label:"v2"}],ROU:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],SAU:[{value:1,label:"v1"},{value:2,label:"v2"}],SGP:[{value:1,label:"v1"},{value:2,label:"v2"}],SLV:[{value:1,label:"v1"}],SRB:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"},{value:5,label:"v5"}],SVK:[{value:1,label:"v1"},{value:2,label:"v2"}],SVN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],SWE:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],THA:[{value:1,label:"v1"},{value:2,label:"v2"}],TUN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],TUR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"},{value:4,label:"v4"}],TWN:[{value:1,label:"v1"},{value:2,label:"v2"}],UGA:[{value:1,label:"v1"}],UKR:[{value:1,label:"v1"}],URY:[{value:1,label:"v1"},{value:2,label:"v2"}],USA:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],VNM:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],XKX:[{value:1,label:"v1"}],ZAF:[{value:1,label:"v1"}],ZWE:[{value:1,label:"v1"}]},ce=Object.fromEntries(Object.entries(ee).filter(([,e])=>e.length>1)),be=[{value:"employment_basic_information",label:"Basic Information"},{value:"contract_details",label:"Contract Details"}];import{jsx as r,jsxs as h}from"react/jsx-runtime";var fe=i(()=>{let[e,l]=Y("employment_basic_information"),[a,s]=Y(1),[d,m]=Y(1),[p,t]=Y("ARE"),{client:c}=ae(),{data:S}=je({...oe(c,"schema-comparison"),select:i(n=>n.data?.data?.filter(w=>w.eor_onboarding).filter(w=>Object.keys(ce).includes(w.code)).map(w=>({label:w.name,value:w.code}))||[],"select")}),b=e==="contract_details",{data:f,isLoading:v}=W({countryCode:p,form:e,fieldValues:{},jsonSchemaVersion:a,options:{queryOptions:{enabled:!0}}}),{data:x,isLoading:T}=W({countryCode:p,form:e,fieldValues:{},jsonSchemaVersion:d,options:{queryOptions:{enabled:!0}}}),C=v||T,P=ee[p],A=P!==void 0,D=ke(()=>e==="employment_basic_information"?pe:P||[{value:"latest",label:"Latest"}],[e,P]);return Ie(()=>{let n=D.map(w=>w.value);n.includes(a)||s(D[0].value),n.includes(d)||m(D[0].value)},[e,p,D,a,d]),h("div",{className:"space-y-6",children:[h(L,{children:[r(H,{children:r(U,{children:"Configuration"})}),h(O,{className:"space-y-4",children:[h("div",{children:[r(V,{className:"mb-2 block",children:"Form Type"}),r(z,{value:e,onValueChange:n=>l(n),children:r($,{className:"grid w-full grid-cols-2",children:be.map(n=>r(X,{value:n.value,children:n.label},n.value))})})]}),b&&!A&&r("div",{className:"rounded-md bg-yellow-50 p-4 border border-yellow-200",children:h("div",{className:"flex",children:[r("div",{className:"flex-shrink-0",children:r("svg",{className:"h-5 w-5 text-yellow-400",viewBox:"0 0 20 20",fill:"currentColor",children:r("path",{fillRule:"evenodd",d:"M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z",clipRule:"evenodd"})})}),h("div",{className:"ml-3",children:[r("h3",{className:"text-sm font-medium text-yellow-800",children:"Version mappings not found"}),r("div",{className:"mt-2 text-sm text-yellow-700",children:h("p",{children:["Country"," ",r("span",{className:"font-semibold",children:p})," is not configured in COUNTRY_CONTRACT_VERSIONS. Using default (latest only)."]})})]})]})}),b&&h("div",{children:[r(V,{htmlFor:"country-select",className:"mb-2 block",children:"Country"}),h(_,{value:p,onValueChange:t,children:[r(I,{id:"country-select",children:r(J,{placeholder:"Select a country"})}),r(k,{children:S?.map(n=>r(j,{value:n.value,children:n.label},n.value))})]})]}),h("div",{className:"grid grid-cols-2 gap-4",children:[h("div",{children:[r(V,{htmlFor:"top-version",className:"mb-2 block",children:"Left Version"}),h(_,{value:String(a),onValueChange:n=>s(n==="latest"?"latest":Number(n)),children:[r(I,{id:"top-version",children:r(J,{placeholder:"Select version"})}),r(k,{children:D.map(n=>r(j,{value:String(n.value),children:n.label},String(n.value)))})]})]}),h("div",{children:[r(V,{htmlFor:"bottom-version",className:"mb-2 block",children:"Right Version"}),h(_,{value:String(d),onValueChange:n=>m(n==="latest"?"latest":Number(n)),children:[r(I,{id:"bottom-version",children:r(J,{placeholder:"Select version"})}),r(k,{children:D.map(n=>r(j,{value:String(n.value),children:n.label},String(n.value)))})]})]})]})]})]}),r(me,{topVersion:a,bottomVersion:d,topFields:f?.fields||[],bottomFields:x?.fields||[],topFieldsets:f?.meta?.["x-jsf-fieldsets"],bottomFieldsets:x?.meta?.["x-jsf-fieldsets"],isLoading:C})]})},"JsonSchemaComparison");export{ge as a,ye as b,Se as c,xe as d,Ne as e,Ce as f,De as g,we as h,Re as i,Pe as j,z as k,$ as l,X as m,Ae as n,ne as o,fe as p};
2
+ //# sourceMappingURL=chunk-MNHXHKTE.js.map