@remoteoss/remote-flows 1.33.0 → 1.33.2

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 (479) hide show
  1. package/dist/ButtonDefault-CB27KWFN.js +2 -0
  2. package/dist/CheckboxFieldDefault-5NZEGPA6.js +2 -0
  3. package/dist/CountryFieldDefault-GP2S2KN6.js +2 -0
  4. package/dist/DatePickerFieldDefault-KN4COEEO.js +2 -0
  5. package/dist/DrawerDefault-JR6422D5.js +2 -0
  6. package/dist/EmailFieldDefault-XSAEEKK7.js +2 -0
  7. package/dist/FieldsetToggleButtonDefault-OQ7J2T3G.js +2 -0
  8. package/dist/FileUploadFieldDefault-5VQDJWZV.js +2 -0
  9. package/dist/MultiSelectFieldDefault-BORNPHNW.js +2 -0
  10. package/dist/NumberFieldDefault-PRI6IHOZ.js +2 -0
  11. package/dist/RadioGroupFieldDefault-L3CZN2ZT.js +2 -0
  12. package/dist/SelectFieldDefault-EV5QGUX6.js +2 -0
  13. package/dist/StatementDefault-WKRJDBC7.js +2 -0
  14. package/dist/TableFieldDefault-75LWJ2E3.js +2 -0
  15. package/dist/TelFieldDefault-M5LDQMIK.js +2 -0
  16. package/dist/TextAreaFieldDefault-YKBNDA4U.js +2 -0
  17. package/dist/TextFieldDefault-RCZYNB3Z.js +2 -0
  18. package/dist/WorkScheduleFieldDefault-XLAFRZX2.js +2 -0
  19. package/dist/ZendeskDrawerDefault-NQP7CBPW.js +2 -0
  20. package/dist/chunk-242UBL3Z.js +2 -0
  21. package/dist/{chunk-LWQLNGOH.js.map → chunk-242UBL3Z.js.map} +1 -1
  22. package/dist/{chunk-QC2FAORS.js → chunk-24HG2Q5K.js} +2 -2
  23. package/dist/{chunk-QC2FAORS.js.map → chunk-24HG2Q5K.js.map} +1 -1
  24. package/dist/chunk-2HREQZP4.js +2 -0
  25. package/dist/chunk-2HREQZP4.js.map +1 -0
  26. package/dist/{chunk-ZHDES3J6.js → chunk-2IIHA7AA.js} +2 -2
  27. package/dist/{chunk-FHW5CMN5.js → chunk-2LUPUTP6.js} +2 -2
  28. package/dist/{chunk-J4ALYQ36.js → chunk-33NHO3CG.js} +2 -2
  29. package/dist/{chunk-5FHDUZCG.js → chunk-3JXNNFJV.js} +2 -2
  30. package/dist/{chunk-QYNWADPG.js → chunk-3PKL3V6F.js} +2 -2
  31. package/dist/{chunk-UB5ZMTTU.js → chunk-3TLNWNFZ.js} +2 -2
  32. package/dist/{chunk-AWQU5AAN.js → chunk-3YS4OWE3.js} +2 -2
  33. package/dist/{chunk-F7PE3VRK.js → chunk-4FQCB4LB.js} +2 -2
  34. package/dist/{chunk-U5T77DSF.js → chunk-4MW7KA47.js} +2 -2
  35. package/dist/{chunk-J2QQLYVY.js → chunk-4ZMRPH3M.js} +2 -2
  36. package/dist/{chunk-4YCBOVSQ.js → chunk-5BGNKOPP.js} +2 -2
  37. package/dist/{chunk-XG6ASTX5.js → chunk-5BU3CD2P.js} +2 -2
  38. package/dist/{chunk-XG6ASTX5.js.map → chunk-5BU3CD2P.js.map} +1 -1
  39. package/dist/{chunk-WJ64Q54L.js → chunk-5CYUZQSB.js} +2 -2
  40. package/dist/{chunk-LXEFKJ4K.js → chunk-5FHNCDLU.js} +2 -2
  41. package/dist/{chunk-LXEFKJ4K.js.map → chunk-5FHNCDLU.js.map} +1 -1
  42. package/dist/{chunk-ZSMILHO4.js → chunk-5KTF4QMV.js} +2 -2
  43. package/dist/{chunk-FKELI7OS.js → chunk-6NTCRGOD.js} +2 -2
  44. package/dist/{chunk-TVF4JOK2.js → chunk-6PXDRES5.js} +2 -2
  45. package/dist/{chunk-TVF4JOK2.js.map → chunk-6PXDRES5.js.map} +1 -1
  46. package/dist/{chunk-SNWJIIF7.js → chunk-6YBH2ELN.js} +2 -2
  47. package/dist/{chunk-ZANINDSC.js → chunk-A7IG7GGK.js} +2 -2
  48. package/dist/{chunk-ZANINDSC.js.map → chunk-A7IG7GGK.js.map} +1 -1
  49. package/dist/{chunk-N5XWRUYE.js → chunk-B3ACYI7T.js} +2 -2
  50. package/dist/{chunk-NDZIQGDE.js → chunk-B3KDZREG.js} +2 -2
  51. package/dist/{chunk-ZQNYASQ3.js → chunk-BQA2DJF2.js} +2 -2
  52. package/dist/{chunk-3SIHU3EE.js → chunk-C7GJUNNC.js} +2 -2
  53. package/dist/{chunk-3JPDFNNH.js → chunk-CDX5QDO3.js} +2 -2
  54. package/dist/{chunk-KWBTUWWQ.js → chunk-CFCUY6VA.js} +2 -2
  55. package/dist/{chunk-5QRYKH3H.js → chunk-CMPHQVJ3.js} +2 -2
  56. package/dist/{chunk-LG5NFDID.js → chunk-CQQCOU57.js} +2 -2
  57. package/dist/{chunk-GCQYAEZT.js → chunk-DTTE663D.js} +2 -2
  58. package/dist/{chunk-CBPV2QLT.js → chunk-DU55JKPB.js} +2 -2
  59. package/dist/chunk-DU55JKPB.js.map +1 -0
  60. package/dist/{chunk-AZZUFPQM.js → chunk-DUJVDBY4.js} +2 -2
  61. package/dist/{chunk-AZZUFPQM.js.map → chunk-DUJVDBY4.js.map} +1 -1
  62. package/dist/{chunk-ZYN3TAUB.js → chunk-DXKUARQF.js} +2 -2
  63. package/dist/{chunk-T5HMFMXH.js → chunk-ED7I5OM2.js} +2 -2
  64. package/dist/chunk-EJWKMMZV.js +2 -0
  65. package/dist/chunk-EJWKMMZV.js.map +1 -0
  66. package/dist/chunk-ER46UFIU.js +8 -0
  67. package/dist/chunk-ER46UFIU.js.map +1 -0
  68. package/dist/{chunk-MKUSE7JK.js → chunk-F2ENM2JE.js} +2 -2
  69. package/dist/chunk-F2ENM2JE.js.map +1 -0
  70. package/dist/{chunk-2P2OJKD4.js → chunk-FFOTUKBN.js} +2 -2
  71. package/dist/{chunk-ACM63WPM.js → chunk-FIVDMRET.js} +2 -2
  72. package/dist/chunk-FJUUNJHY.js +2 -0
  73. package/dist/chunk-FJUUNJHY.js.map +1 -0
  74. package/dist/{chunk-7GDMMNJT.js → chunk-G247NY7P.js} +2 -2
  75. package/dist/{chunk-7GDMMNJT.js.map → chunk-G247NY7P.js.map} +1 -1
  76. package/dist/{chunk-CKJF6K4L.js → chunk-G6E7F6VD.js} +2 -2
  77. package/dist/{chunk-5X6JMXP6.js → chunk-G7MJDZGB.js} +2 -2
  78. package/dist/chunk-G7MJDZGB.js.map +1 -0
  79. package/dist/{chunk-GUO7UC4X.js → chunk-GQACPN6J.js} +2 -2
  80. package/dist/{chunk-HUAPBLSQ.js → chunk-IKZZOOWO.js} +2 -2
  81. package/dist/{chunk-HUAPBLSQ.js.map → chunk-IKZZOOWO.js.map} +1 -1
  82. package/dist/{chunk-77WJNWIC.js → chunk-IQRJNJQ7.js} +2 -2
  83. package/dist/{chunk-L57LWMNE.js → chunk-IX5SV6J2.js} +2 -2
  84. package/dist/{chunk-3OU6XE7X.js → chunk-J2G2I3PX.js} +2 -2
  85. package/dist/{chunk-TSPDJUGG.js → chunk-JDIKYCN6.js} +1 -1
  86. package/dist/{chunk-TSPDJUGG.js.map → chunk-JDIKYCN6.js.map} +1 -1
  87. package/dist/{chunk-H4S6LSDA.js → chunk-JFSM3EOC.js} +2 -2
  88. package/dist/chunk-JLFYJT3K.js +2 -0
  89. package/dist/chunk-JLFYJT3K.js.map +1 -0
  90. package/dist/chunk-JXAAON7I.js +2 -0
  91. package/dist/chunk-JXAAON7I.js.map +1 -0
  92. package/dist/{chunk-3ZGDRCSS.js → chunk-K3LPVMXD.js} +2 -2
  93. package/dist/{chunk-GVPB75PC.js → chunk-KYNIBHVR.js} +2 -2
  94. package/dist/{chunk-2WOUKCSC.js → chunk-L5SNHVLU.js} +2 -2
  95. package/dist/chunk-LDI7E3ZK.js +2 -0
  96. package/dist/{chunk-5JGA7DRL.js.map → chunk-LDI7E3ZK.js.map} +1 -1
  97. package/dist/{chunk-YMOAWXSE.js → chunk-LKFGJU72.js} +2 -2
  98. package/dist/{chunk-E3WR4SVV.js → chunk-MXARM6PV.js} +2 -2
  99. package/dist/{chunk-E3WR4SVV.js.map → chunk-MXARM6PV.js.map} +1 -1
  100. package/dist/{chunk-AVVDKCFO.js → chunk-N2MBTATE.js} +2 -2
  101. package/dist/{chunk-IOVRTUOC.js → chunk-N5DHVRQR.js} +2 -2
  102. package/dist/{chunk-IOVRTUOC.js.map → chunk-N5DHVRQR.js.map} +1 -1
  103. package/dist/{chunk-ZWH34WQJ.js → chunk-ND66GS24.js} +2 -2
  104. package/dist/{chunk-MGPUZ7NZ.js → chunk-NN2HUS43.js} +2 -2
  105. package/dist/{chunk-DIZ5Z4MN.js → chunk-NZXVTXZY.js} +2 -2
  106. package/dist/{chunk-HZ2BCB3U.js → chunk-OO3VBBVN.js} +2 -2
  107. package/dist/{chunk-C4UUGOR3.js → chunk-OSHTXKLJ.js} +2 -2
  108. package/dist/{chunk-WUQZCGWG.js → chunk-OVQOV5YL.js} +2 -2
  109. package/dist/{chunk-WUSKSXW2.js → chunk-PMAIML44.js} +2 -2
  110. package/dist/{chunk-WUSKSXW2.js.map → chunk-PMAIML44.js.map} +1 -1
  111. package/dist/{chunk-OMLHAQQX.js → chunk-PSN4ZR5Y.js} +2 -2
  112. package/dist/{chunk-AGKLWKYY.js → chunk-Q5RU76HN.js} +2 -2
  113. package/dist/{chunk-2A4DCZTX.js → chunk-Q5WADFQ7.js} +2 -2
  114. package/dist/chunk-Q65JWWKR.js +2 -0
  115. package/dist/chunk-Q65JWWKR.js.map +1 -0
  116. package/dist/chunk-QHZPSH52.js +2 -0
  117. package/dist/chunk-QHZPSH52.js.map +1 -0
  118. package/dist/{chunk-6C4DCKHS.js → chunk-QWIPKY24.js} +2 -2
  119. package/dist/{chunk-X66NETZL.js → chunk-QWSAKYH4.js} +2 -2
  120. package/dist/{chunk-C6UF7BPK.js → chunk-QYLLXHLO.js} +2 -2
  121. package/dist/{chunk-AYYYRHO3.js → chunk-R4TTPUH7.js} +2 -2
  122. package/dist/{chunk-Y5JFBXNR.js → chunk-R63ZJMJA.js} +2 -2
  123. package/dist/{chunk-Y5JFBXNR.js.map → chunk-R63ZJMJA.js.map} +1 -1
  124. package/dist/{chunk-3EUYWSSZ.js → chunk-RGXG3HOB.js} +2 -2
  125. package/dist/{chunk-3EUYWSSZ.js.map → chunk-RGXG3HOB.js.map} +1 -1
  126. package/dist/{chunk-OPM4YQGQ.js → chunk-RQGYSZOO.js} +2 -2
  127. package/dist/{chunk-OPM4YQGQ.js.map → chunk-RQGYSZOO.js.map} +1 -1
  128. package/dist/{chunk-6S66UQ2X.js → chunk-RS25IVTP.js} +2 -2
  129. package/dist/chunk-SVVZOMLQ.js +2 -0
  130. package/dist/chunk-SVVZOMLQ.js.map +1 -0
  131. package/dist/chunk-T35SZZ74.js +2 -0
  132. package/dist/chunk-T35SZZ74.js.map +1 -0
  133. package/dist/{chunk-MHQ5ZW5P.js → chunk-TMS24RKD.js} +2 -2
  134. package/dist/{chunk-JX2ZVRE7.js → chunk-TMZVJ3SQ.js} +2 -2
  135. package/dist/{chunk-45RIDSO6.js → chunk-TXP3DGU6.js} +2 -2
  136. package/dist/{chunk-KAHAW4HH.js → chunk-U3PQEGSV.js} +2 -2
  137. package/dist/{chunk-KAHAW4HH.js.map → chunk-U3PQEGSV.js.map} +1 -1
  138. package/dist/{chunk-ID66NML3.js → chunk-U5QVIJOS.js} +2 -2
  139. package/dist/{chunk-ID66NML3.js.map → chunk-U5QVIJOS.js.map} +1 -1
  140. package/dist/{chunk-CNMNJMOT.js → chunk-UBIW2GE4.js} +2 -2
  141. package/dist/{chunk-SYXJTCKS.js → chunk-UG5UQ72J.js} +2 -2
  142. package/dist/{chunk-LDSS6RYC.js → chunk-VAYKULUJ.js} +2 -2
  143. package/dist/{chunk-PFQTTYVH.js → chunk-VBP6CRNM.js} +2 -2
  144. package/dist/{chunk-XELPL3XO.js → chunk-VJPSDB7M.js} +2 -2
  145. package/dist/{chunk-RXSGIEA5.js → chunk-VLWFSFRL.js} +2 -2
  146. package/dist/{chunk-75MI3G5H.js → chunk-VYBMEFCQ.js} +2 -2
  147. package/dist/{chunk-K5TZIA6W.js → chunk-VZEIJSTF.js} +2 -2
  148. package/dist/chunk-W4YDSTXA.js +2 -0
  149. package/dist/chunk-W4YDSTXA.js.map +1 -0
  150. package/dist/{chunk-234SEE75.js → chunk-X4KJVXDB.js} +2 -2
  151. package/dist/{chunk-WSARYSM5.js → chunk-XK24ZBGA.js} +2 -2
  152. package/dist/{chunk-WZHTDLX6.js → chunk-XWBNZAGY.js} +2 -2
  153. package/dist/{chunk-PBWF2VXG.js → chunk-XWZP4WYZ.js} +2 -2
  154. package/dist/{chunk-PR6I3UYE.js → chunk-XX25MIBS.js} +2 -2
  155. package/dist/{chunk-BCCIFJSO.js → chunk-Y7NFXPZ2.js} +2 -2
  156. package/dist/{chunk-3UDWOREZ.js → chunk-YLHYARJK.js} +2 -2
  157. package/dist/{chunk-DCPBAFIN.js → chunk-YPVZUXVH.js} +2 -2
  158. package/dist/chunk-YPVZUXVH.js.map +1 -0
  159. package/dist/{chunk-JLUYUNSV.js → chunk-Z4TZ527J.js} +2 -2
  160. package/dist/{chunk-4RF6I3TT.js → chunk-Z4USLCXF.js} +2 -2
  161. package/dist/{chunk-4RF6I3TT.js.map → chunk-Z4USLCXF.js.map} +1 -1
  162. package/dist/{chunk-DKLTO4XS.js → chunk-ZAVH2YKN.js} +2 -2
  163. package/dist/chunk-ZAZ24JS2.js +2 -0
  164. package/dist/chunk-ZAZ24JS2.js.map +1 -0
  165. package/dist/{chunk-NRNLLJCB.js → chunk-ZE37CBDF.js} +2 -2
  166. package/dist/{chunk-H6Q7QK3C.js → chunk-ZM4ZOX7B.js} +2 -2
  167. package/dist/{chunk-JQHOMFXA.js → chunk-ZSCJ6CT5.js} +2 -2
  168. package/dist/default-components.d.ts +2 -2
  169. package/dist/default-components.js +1 -1
  170. package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.d.ts +2 -2
  171. package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.js +1 -1
  172. package/dist/flows/ContractAmendment/ContractAmendmentFlow.d.ts +3 -3
  173. package/dist/flows/ContractAmendment/ContractAmendmentFlow.js +1 -1
  174. package/dist/flows/ContractAmendment/ContractAmendmentForm.d.ts +2 -2
  175. package/dist/flows/ContractAmendment/ContractAmendmentForm.js +1 -1
  176. package/dist/flows/ContractAmendment/context.d.ts +3 -3
  177. package/dist/flows/ContractAmendment/hooks.d.ts +3 -3
  178. package/dist/flows/ContractAmendment/hooks.js +1 -1
  179. package/dist/flows/ContractAmendment/index.d.ts +3 -3
  180. package/dist/flows/ContractAmendment/index.js +1 -1
  181. package/dist/flows/ContractAmendment/types.d.ts +2 -2
  182. package/dist/flows/ContractAmendment/utils.d.ts +2 -2
  183. package/dist/flows/ContractAmendment/utils.js +1 -1
  184. package/dist/flows/ContractorOnboarding/ContractorOnboarding.d.ts +5 -5
  185. package/dist/flows/ContractorOnboarding/ContractorOnboarding.js +1 -1
  186. package/dist/flows/ContractorOnboarding/api.d.ts +3 -2
  187. package/dist/flows/ContractorOnboarding/api.js +1 -1
  188. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.d.ts +4 -4
  189. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.js +1 -1
  190. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.d.ts +5 -5
  191. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.js +1 -1
  192. package/dist/flows/ContractorOnboarding/components/ContractPreviewHeader.d.ts +2 -2
  193. package/dist/flows/ContractorOnboarding/components/ContractPreviewStatement.d.ts +2 -2
  194. package/dist/flows/ContractorOnboarding/components/ContractPreviewStatement.js +1 -1
  195. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.d.ts +5 -5
  196. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.js +1 -1
  197. package/dist/flows/ContractorOnboarding/components/ContractReviewButton.js +1 -1
  198. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.d.ts +5 -5
  199. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.js +1 -1
  200. package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.d.ts +5 -5
  201. package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.js +1 -1
  202. package/dist/flows/ContractorOnboarding/components/OnboardingInvite.d.ts +3 -3
  203. package/dist/flows/ContractorOnboarding/components/OnboardingInvite.js +1 -1
  204. package/dist/flows/ContractorOnboarding/components/PricingPlan.d.ts +5 -5
  205. package/dist/flows/ContractorOnboarding/components/PricingPlan.js +1 -1
  206. package/dist/flows/ContractorOnboarding/components/SaveDraftButton.d.ts +3 -3
  207. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.d.ts +4 -4
  208. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.js +1 -1
  209. package/dist/flows/ContractorOnboarding/components/StatementOfWorkDisclaimer.js +1 -1
  210. package/dist/flows/ContractorOnboarding/context.d.ts +5 -5
  211. package/dist/flows/ContractorOnboarding/hooks.d.ts +5 -5
  212. package/dist/flows/ContractorOnboarding/hooks.js +1 -1
  213. package/dist/flows/ContractorOnboarding/index.d.ts +5 -5
  214. package/dist/flows/ContractorOnboarding/index.js +1 -1
  215. package/dist/flows/ContractorOnboarding/jsfModify.d.ts +5 -5
  216. package/dist/flows/ContractorOnboarding/jsfModify.js +1 -1
  217. package/dist/flows/ContractorOnboarding/types.d.ts +5 -5
  218. package/dist/flows/ContractorOnboarding/utils.d.ts +4 -4
  219. package/dist/flows/CostCalculator/CostCalculatorFlow.d.ts +3 -3
  220. package/dist/flows/CostCalculator/CostCalculatorFlow.js +1 -1
  221. package/dist/flows/CostCalculator/CostCalculatorForm.d.ts +3 -3
  222. package/dist/flows/CostCalculator/CostCalculatorForm.js +1 -1
  223. package/dist/flows/CostCalculator/CostCalculatorResetButton.js +1 -1
  224. package/dist/flows/CostCalculator/CostCalculatorSubmitButton.js +1 -1
  225. package/dist/flows/CostCalculator/EstimationResults/EstimationResults.d.ts +2 -2
  226. package/dist/flows/CostCalculator/EstimationResults/EstimationResults.js +1 -1
  227. package/dist/flows/CostCalculator/SummaryResults/SummaryResults.d.ts +2 -2
  228. package/dist/flows/CostCalculator/SummaryResults/SummaryResults.js +1 -1
  229. package/dist/flows/CostCalculator/api.d.ts +2 -2
  230. package/dist/flows/CostCalculator/api.js +1 -1
  231. package/dist/flows/CostCalculator/components/SalaryField.d.ts +2 -2
  232. package/dist/flows/CostCalculator/components/SalaryField.js +1 -1
  233. package/dist/flows/CostCalculator/context.d.ts +3 -3
  234. package/dist/flows/CostCalculator/hooks.d.ts +3 -3
  235. package/dist/flows/CostCalculator/hooks.js +1 -1
  236. package/dist/flows/CostCalculator/index.d.ts +3 -3
  237. package/dist/flows/CostCalculator/index.js +1 -1
  238. package/dist/flows/CostCalculator/types.d.ts +3 -3
  239. package/dist/flows/CostCalculator/utils.d.ts +3 -3
  240. package/dist/flows/CostCalculator/utils.js +1 -1
  241. package/dist/flows/CreateCompany/CreateCompany.d.ts +4 -4
  242. package/dist/flows/CreateCompany/CreateCompany.js +1 -1
  243. package/dist/flows/CreateCompany/api.d.ts +2 -2
  244. package/dist/flows/CreateCompany/api.js +1 -1
  245. package/dist/flows/CreateCompany/components/AddressDetailsStep.d.ts +4 -4
  246. package/dist/flows/CreateCompany/components/AddressDetailsStep.js +1 -1
  247. package/dist/flows/CreateCompany/components/CompanyBasicInformationStep.d.ts +4 -4
  248. package/dist/flows/CreateCompany/components/CompanyBasicInformationStep.js +1 -1
  249. package/dist/flows/CreateCompany/components/CreateCompanyForm.d.ts +2 -2
  250. package/dist/flows/CreateCompany/components/CreateCompanyForm.js +1 -1
  251. package/dist/flows/CreateCompany/context.d.ts +4 -4
  252. package/dist/flows/CreateCompany/hooks.d.ts +4 -4
  253. package/dist/flows/CreateCompany/hooks.js +1 -1
  254. package/dist/flows/CreateCompany/index.d.ts +4 -4
  255. package/dist/flows/CreateCompany/index.js +1 -1
  256. package/dist/flows/CreateCompany/types.d.ts +4 -4
  257. package/dist/flows/Onboarding/OnboardingFlow.d.ts +4 -4
  258. package/dist/flows/Onboarding/OnboardingFlow.js +1 -1
  259. package/dist/flows/Onboarding/api.d.ts +4 -4
  260. package/dist/flows/Onboarding/api.js +1 -1
  261. package/dist/flows/Onboarding/components/AnnualGrossSalary.d.ts +2 -2
  262. package/dist/flows/Onboarding/components/AnnualGrossSalary.js +1 -1
  263. package/dist/flows/Onboarding/components/BasicInformationStep.d.ts +4 -4
  264. package/dist/flows/Onboarding/components/BasicInformationStep.js +1 -1
  265. package/dist/flows/Onboarding/components/BenefitsStep.d.ts +4 -4
  266. package/dist/flows/Onboarding/components/BenefitsStep.js +1 -1
  267. package/dist/flows/Onboarding/components/ContractDetailsStep.d.ts +4 -4
  268. package/dist/flows/Onboarding/components/ContractDetailsStep.js +1 -1
  269. package/dist/flows/Onboarding/components/EngagementAgreementDetailsStep.d.ts +4 -4
  270. package/dist/flows/Onboarding/components/EngagementAgreementDetailsStep.js +1 -1
  271. package/dist/flows/Onboarding/components/OnboardingForm.d.ts +4 -4
  272. package/dist/flows/Onboarding/components/OnboardingForm.js +1 -1
  273. package/dist/flows/Onboarding/components/OnboardingInvite.d.ts +3 -3
  274. package/dist/flows/Onboarding/components/OnboardingInvite.js +1 -1
  275. package/dist/flows/Onboarding/components/ReviewStep.d.ts +4 -4
  276. package/dist/flows/Onboarding/components/SaveDraftButton.d.ts +3 -3
  277. package/dist/flows/Onboarding/components/SelectCountryStep.d.ts +4 -4
  278. package/dist/flows/Onboarding/components/SelectCountryStep.js +1 -1
  279. package/dist/flows/Onboarding/context.d.ts +4 -4
  280. package/dist/flows/Onboarding/hooks.d.ts +4 -4
  281. package/dist/flows/Onboarding/hooks.js +1 -1
  282. package/dist/flows/Onboarding/index.d.ts +4 -4
  283. package/dist/flows/Onboarding/index.js +1 -1
  284. package/dist/flows/Onboarding/types.d.ts +4 -4
  285. package/dist/flows/Onboarding/utils.d.ts +4 -4
  286. package/dist/flows/Termination/AdditionalDetailsForm.d.ts +4 -4
  287. package/dist/flows/Termination/AdditionalDetailsForm.js +1 -1
  288. package/dist/flows/Termination/EmployeeComunicationForm.d.ts +4 -4
  289. package/dist/flows/Termination/EmployeeComunicationForm.js +1 -1
  290. package/dist/flows/Termination/PaidTimeOffForm.d.ts +4 -4
  291. package/dist/flows/Termination/PaidTimeOffForm.js +1 -1
  292. package/dist/flows/Termination/TerminationDetailsForm.d.ts +4 -4
  293. package/dist/flows/Termination/TerminationDetailsForm.js +1 -1
  294. package/dist/flows/Termination/TerminationFlow.d.ts +4 -4
  295. package/dist/flows/Termination/TerminationFlow.js +1 -1
  296. package/dist/flows/Termination/TerminationForm.d.ts +4 -4
  297. package/dist/flows/Termination/TerminationForm.js +1 -1
  298. package/dist/flows/Termination/api.d.ts +5 -5
  299. package/dist/flows/Termination/api.js +1 -1
  300. package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformation.js +1 -1
  301. package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformationFees.js +1 -1
  302. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.d.ts +6 -6
  303. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.js +1 -1
  304. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.d.ts +6 -6
  305. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.js +1 -1
  306. package/dist/flows/Termination/components/PaidTimeOff/types.d.ts +6 -6
  307. package/dist/flows/Termination/components/TerminationDialogInfoContent/TerminationDialogInfoContent.js +1 -1
  308. package/dist/flows/Termination/components/TerminationReasonsDetailContent/TerminationReasonsDetailContent.js +1 -1
  309. package/dist/flows/Termination/context.d.ts +4 -4
  310. package/dist/flows/Termination/hooks.d.ts +4 -4
  311. package/dist/flows/Termination/hooks.js +1 -1
  312. package/dist/flows/Termination/index.d.ts +6 -6
  313. package/dist/flows/Termination/index.js +1 -1
  314. package/dist/flows/Termination/json-schemas/schema.d.ts +4 -4
  315. package/dist/flows/Termination/types.d.ts +4 -4
  316. package/dist/flows/Termination/utils.d.ts +4 -4
  317. package/dist/flows/Termination/utils.js +1 -1
  318. package/dist/flows/types.d.ts +5 -3
  319. package/dist/flows/useStepState.js +1 -1
  320. package/dist/flows/utils.d.ts +2 -2
  321. package/dist/index.d.ts +12 -12
  322. package/dist/index.js +2 -2
  323. package/dist/index.js.map +1 -1
  324. package/dist/internals.d.ts +3 -3
  325. package/dist/internals.js +1 -1
  326. package/dist/{mutations-DTK4GE8r.d.ts → mutations-tMusyGqR.d.ts} +1 -1
  327. package/dist/{remoteFlows-n8r_cW0z.d.ts → remoteFlows-1ODSR6M5.d.ts} +1 -1
  328. package/dist/{types-BD0b8UuQ.d.ts → types-B3ZY2CHC.d.ts} +2 -2
  329. package/dist/{types-BiMfLZYw.d.ts → types-B3zSOF4R.d.ts} +3 -3
  330. package/dist/{types-BJ9gyvly.d.ts → types-BADwm0IP.d.ts} +4 -4
  331. package/dist/{types-Cd5_2FHQ.d.ts → types-BdaVhuNW.d.ts} +3 -3
  332. package/dist/{types-BY3BtHb6.d.ts → types-CY31SALf.d.ts} +1 -1
  333. package/dist/{types.gen-DPZBntYq.d.ts → types.gen-D39CBKLR.d.ts} +25 -9
  334. package/dist/{utils-C5lwjSxr.d.ts → utils-BwkOqPg_.d.ts} +1 -1
  335. package/package.json +9 -8
  336. package/dist/ButtonDefault-OMZEWLEI.js +0 -2
  337. package/dist/CheckboxFieldDefault-AGW42RDY.js +0 -2
  338. package/dist/CountryFieldDefault-24T4C7OU.js +0 -2
  339. package/dist/DatePickerFieldDefault-BG4KM2EG.js +0 -2
  340. package/dist/DrawerDefault-64GMPAIH.js +0 -2
  341. package/dist/EmailFieldDefault-UPDZNN2F.js +0 -2
  342. package/dist/FieldsetToggleButtonDefault-BOYDY7VX.js +0 -2
  343. package/dist/FileUploadFieldDefault-KFTIOHEJ.js +0 -2
  344. package/dist/MultiSelectFieldDefault-ALM76UQ5.js +0 -2
  345. package/dist/NumberFieldDefault-OXSEX3HX.js +0 -2
  346. package/dist/RadioGroupFieldDefault-55336PG5.js +0 -2
  347. package/dist/SelectFieldDefault-ARANC6QX.js +0 -2
  348. package/dist/StatementDefault-BMPIWUGF.js +0 -2
  349. package/dist/TableFieldDefault-2FLJU7TJ.js +0 -2
  350. package/dist/TelFieldDefault-RFAYBPGK.js +0 -2
  351. package/dist/TextAreaFieldDefault-3C6UZXHV.js +0 -2
  352. package/dist/TextFieldDefault-UQ23EIHH.js +0 -2
  353. package/dist/WorkScheduleFieldDefault-CGU2T6HY.js +0 -2
  354. package/dist/ZendeskDrawerDefault-JEHYLRHU.js +0 -2
  355. package/dist/chunk-4QVFKKVN.js +0 -2
  356. package/dist/chunk-4QVFKKVN.js.map +0 -1
  357. package/dist/chunk-5JGA7DRL.js +0 -2
  358. package/dist/chunk-5X6JMXP6.js.map +0 -1
  359. package/dist/chunk-B6YWTMGV.js +0 -2
  360. package/dist/chunk-B6YWTMGV.js.map +0 -1
  361. package/dist/chunk-BZ232WZD.js +0 -2
  362. package/dist/chunk-BZ232WZD.js.map +0 -1
  363. package/dist/chunk-CBPV2QLT.js.map +0 -1
  364. package/dist/chunk-DCPBAFIN.js.map +0 -1
  365. package/dist/chunk-HVI5GHIV.js +0 -2
  366. package/dist/chunk-HVI5GHIV.js.map +0 -1
  367. package/dist/chunk-I66TFXX4.js +0 -2
  368. package/dist/chunk-I66TFXX4.js.map +0 -1
  369. package/dist/chunk-K2SHDZBB.js +0 -2
  370. package/dist/chunk-K2SHDZBB.js.map +0 -1
  371. package/dist/chunk-LANAT75E.js +0 -2
  372. package/dist/chunk-LANAT75E.js.map +0 -1
  373. package/dist/chunk-LWQLNGOH.js +0 -2
  374. package/dist/chunk-MKUSE7JK.js.map +0 -1
  375. package/dist/chunk-PIGJNWPB.js +0 -2
  376. package/dist/chunk-PIGJNWPB.js.map +0 -1
  377. package/dist/chunk-RWXZG4KO.js +0 -2
  378. package/dist/chunk-RWXZG4KO.js.map +0 -1
  379. package/dist/chunk-RZCU2MT3.js +0 -2
  380. package/dist/chunk-RZCU2MT3.js.map +0 -1
  381. package/dist/chunk-TNQKP2XT.js +0 -8
  382. package/dist/chunk-TNQKP2XT.js.map +0 -1
  383. package/dist/chunk-TSWZPJNS.js +0 -2
  384. package/dist/chunk-TSWZPJNS.js.map +0 -1
  385. /package/dist/{ButtonDefault-OMZEWLEI.js.map → ButtonDefault-CB27KWFN.js.map} +0 -0
  386. /package/dist/{CheckboxFieldDefault-AGW42RDY.js.map → CheckboxFieldDefault-5NZEGPA6.js.map} +0 -0
  387. /package/dist/{CountryFieldDefault-24T4C7OU.js.map → CountryFieldDefault-GP2S2KN6.js.map} +0 -0
  388. /package/dist/{DatePickerFieldDefault-BG4KM2EG.js.map → DatePickerFieldDefault-KN4COEEO.js.map} +0 -0
  389. /package/dist/{DrawerDefault-64GMPAIH.js.map → DrawerDefault-JR6422D5.js.map} +0 -0
  390. /package/dist/{EmailFieldDefault-UPDZNN2F.js.map → EmailFieldDefault-XSAEEKK7.js.map} +0 -0
  391. /package/dist/{FieldsetToggleButtonDefault-BOYDY7VX.js.map → FieldsetToggleButtonDefault-OQ7J2T3G.js.map} +0 -0
  392. /package/dist/{FileUploadFieldDefault-KFTIOHEJ.js.map → FileUploadFieldDefault-5VQDJWZV.js.map} +0 -0
  393. /package/dist/{MultiSelectFieldDefault-ALM76UQ5.js.map → MultiSelectFieldDefault-BORNPHNW.js.map} +0 -0
  394. /package/dist/{NumberFieldDefault-OXSEX3HX.js.map → NumberFieldDefault-PRI6IHOZ.js.map} +0 -0
  395. /package/dist/{RadioGroupFieldDefault-55336PG5.js.map → RadioGroupFieldDefault-L3CZN2ZT.js.map} +0 -0
  396. /package/dist/{SelectFieldDefault-ARANC6QX.js.map → SelectFieldDefault-EV5QGUX6.js.map} +0 -0
  397. /package/dist/{StatementDefault-BMPIWUGF.js.map → StatementDefault-WKRJDBC7.js.map} +0 -0
  398. /package/dist/{TableFieldDefault-2FLJU7TJ.js.map → TableFieldDefault-75LWJ2E3.js.map} +0 -0
  399. /package/dist/{TelFieldDefault-RFAYBPGK.js.map → TelFieldDefault-M5LDQMIK.js.map} +0 -0
  400. /package/dist/{TextAreaFieldDefault-3C6UZXHV.js.map → TextAreaFieldDefault-YKBNDA4U.js.map} +0 -0
  401. /package/dist/{TextFieldDefault-UQ23EIHH.js.map → TextFieldDefault-RCZYNB3Z.js.map} +0 -0
  402. /package/dist/{WorkScheduleFieldDefault-CGU2T6HY.js.map → WorkScheduleFieldDefault-XLAFRZX2.js.map} +0 -0
  403. /package/dist/{ZendeskDrawerDefault-JEHYLRHU.js.map → ZendeskDrawerDefault-NQP7CBPW.js.map} +0 -0
  404. /package/dist/{chunk-ZHDES3J6.js.map → chunk-2IIHA7AA.js.map} +0 -0
  405. /package/dist/{chunk-FHW5CMN5.js.map → chunk-2LUPUTP6.js.map} +0 -0
  406. /package/dist/{chunk-J4ALYQ36.js.map → chunk-33NHO3CG.js.map} +0 -0
  407. /package/dist/{chunk-5FHDUZCG.js.map → chunk-3JXNNFJV.js.map} +0 -0
  408. /package/dist/{chunk-QYNWADPG.js.map → chunk-3PKL3V6F.js.map} +0 -0
  409. /package/dist/{chunk-UB5ZMTTU.js.map → chunk-3TLNWNFZ.js.map} +0 -0
  410. /package/dist/{chunk-AWQU5AAN.js.map → chunk-3YS4OWE3.js.map} +0 -0
  411. /package/dist/{chunk-F7PE3VRK.js.map → chunk-4FQCB4LB.js.map} +0 -0
  412. /package/dist/{chunk-U5T77DSF.js.map → chunk-4MW7KA47.js.map} +0 -0
  413. /package/dist/{chunk-J2QQLYVY.js.map → chunk-4ZMRPH3M.js.map} +0 -0
  414. /package/dist/{chunk-4YCBOVSQ.js.map → chunk-5BGNKOPP.js.map} +0 -0
  415. /package/dist/{chunk-WJ64Q54L.js.map → chunk-5CYUZQSB.js.map} +0 -0
  416. /package/dist/{chunk-ZSMILHO4.js.map → chunk-5KTF4QMV.js.map} +0 -0
  417. /package/dist/{chunk-FKELI7OS.js.map → chunk-6NTCRGOD.js.map} +0 -0
  418. /package/dist/{chunk-SNWJIIF7.js.map → chunk-6YBH2ELN.js.map} +0 -0
  419. /package/dist/{chunk-N5XWRUYE.js.map → chunk-B3ACYI7T.js.map} +0 -0
  420. /package/dist/{chunk-NDZIQGDE.js.map → chunk-B3KDZREG.js.map} +0 -0
  421. /package/dist/{chunk-ZQNYASQ3.js.map → chunk-BQA2DJF2.js.map} +0 -0
  422. /package/dist/{chunk-3SIHU3EE.js.map → chunk-C7GJUNNC.js.map} +0 -0
  423. /package/dist/{chunk-3JPDFNNH.js.map → chunk-CDX5QDO3.js.map} +0 -0
  424. /package/dist/{chunk-KWBTUWWQ.js.map → chunk-CFCUY6VA.js.map} +0 -0
  425. /package/dist/{chunk-5QRYKH3H.js.map → chunk-CMPHQVJ3.js.map} +0 -0
  426. /package/dist/{chunk-LG5NFDID.js.map → chunk-CQQCOU57.js.map} +0 -0
  427. /package/dist/{chunk-GCQYAEZT.js.map → chunk-DTTE663D.js.map} +0 -0
  428. /package/dist/{chunk-ZYN3TAUB.js.map → chunk-DXKUARQF.js.map} +0 -0
  429. /package/dist/{chunk-T5HMFMXH.js.map → chunk-ED7I5OM2.js.map} +0 -0
  430. /package/dist/{chunk-2P2OJKD4.js.map → chunk-FFOTUKBN.js.map} +0 -0
  431. /package/dist/{chunk-ACM63WPM.js.map → chunk-FIVDMRET.js.map} +0 -0
  432. /package/dist/{chunk-CKJF6K4L.js.map → chunk-G6E7F6VD.js.map} +0 -0
  433. /package/dist/{chunk-GUO7UC4X.js.map → chunk-GQACPN6J.js.map} +0 -0
  434. /package/dist/{chunk-77WJNWIC.js.map → chunk-IQRJNJQ7.js.map} +0 -0
  435. /package/dist/{chunk-L57LWMNE.js.map → chunk-IX5SV6J2.js.map} +0 -0
  436. /package/dist/{chunk-3OU6XE7X.js.map → chunk-J2G2I3PX.js.map} +0 -0
  437. /package/dist/{chunk-H4S6LSDA.js.map → chunk-JFSM3EOC.js.map} +0 -0
  438. /package/dist/{chunk-3ZGDRCSS.js.map → chunk-K3LPVMXD.js.map} +0 -0
  439. /package/dist/{chunk-GVPB75PC.js.map → chunk-KYNIBHVR.js.map} +0 -0
  440. /package/dist/{chunk-2WOUKCSC.js.map → chunk-L5SNHVLU.js.map} +0 -0
  441. /package/dist/{chunk-YMOAWXSE.js.map → chunk-LKFGJU72.js.map} +0 -0
  442. /package/dist/{chunk-AVVDKCFO.js.map → chunk-N2MBTATE.js.map} +0 -0
  443. /package/dist/{chunk-ZWH34WQJ.js.map → chunk-ND66GS24.js.map} +0 -0
  444. /package/dist/{chunk-MGPUZ7NZ.js.map → chunk-NN2HUS43.js.map} +0 -0
  445. /package/dist/{chunk-DIZ5Z4MN.js.map → chunk-NZXVTXZY.js.map} +0 -0
  446. /package/dist/{chunk-HZ2BCB3U.js.map → chunk-OO3VBBVN.js.map} +0 -0
  447. /package/dist/{chunk-C4UUGOR3.js.map → chunk-OSHTXKLJ.js.map} +0 -0
  448. /package/dist/{chunk-WUQZCGWG.js.map → chunk-OVQOV5YL.js.map} +0 -0
  449. /package/dist/{chunk-OMLHAQQX.js.map → chunk-PSN4ZR5Y.js.map} +0 -0
  450. /package/dist/{chunk-AGKLWKYY.js.map → chunk-Q5RU76HN.js.map} +0 -0
  451. /package/dist/{chunk-2A4DCZTX.js.map → chunk-Q5WADFQ7.js.map} +0 -0
  452. /package/dist/{chunk-6C4DCKHS.js.map → chunk-QWIPKY24.js.map} +0 -0
  453. /package/dist/{chunk-X66NETZL.js.map → chunk-QWSAKYH4.js.map} +0 -0
  454. /package/dist/{chunk-C6UF7BPK.js.map → chunk-QYLLXHLO.js.map} +0 -0
  455. /package/dist/{chunk-AYYYRHO3.js.map → chunk-R4TTPUH7.js.map} +0 -0
  456. /package/dist/{chunk-6S66UQ2X.js.map → chunk-RS25IVTP.js.map} +0 -0
  457. /package/dist/{chunk-MHQ5ZW5P.js.map → chunk-TMS24RKD.js.map} +0 -0
  458. /package/dist/{chunk-JX2ZVRE7.js.map → chunk-TMZVJ3SQ.js.map} +0 -0
  459. /package/dist/{chunk-45RIDSO6.js.map → chunk-TXP3DGU6.js.map} +0 -0
  460. /package/dist/{chunk-CNMNJMOT.js.map → chunk-UBIW2GE4.js.map} +0 -0
  461. /package/dist/{chunk-SYXJTCKS.js.map → chunk-UG5UQ72J.js.map} +0 -0
  462. /package/dist/{chunk-LDSS6RYC.js.map → chunk-VAYKULUJ.js.map} +0 -0
  463. /package/dist/{chunk-PFQTTYVH.js.map → chunk-VBP6CRNM.js.map} +0 -0
  464. /package/dist/{chunk-XELPL3XO.js.map → chunk-VJPSDB7M.js.map} +0 -0
  465. /package/dist/{chunk-RXSGIEA5.js.map → chunk-VLWFSFRL.js.map} +0 -0
  466. /package/dist/{chunk-75MI3G5H.js.map → chunk-VYBMEFCQ.js.map} +0 -0
  467. /package/dist/{chunk-K5TZIA6W.js.map → chunk-VZEIJSTF.js.map} +0 -0
  468. /package/dist/{chunk-234SEE75.js.map → chunk-X4KJVXDB.js.map} +0 -0
  469. /package/dist/{chunk-WSARYSM5.js.map → chunk-XK24ZBGA.js.map} +0 -0
  470. /package/dist/{chunk-WZHTDLX6.js.map → chunk-XWBNZAGY.js.map} +0 -0
  471. /package/dist/{chunk-PBWF2VXG.js.map → chunk-XWZP4WYZ.js.map} +0 -0
  472. /package/dist/{chunk-PR6I3UYE.js.map → chunk-XX25MIBS.js.map} +0 -0
  473. /package/dist/{chunk-BCCIFJSO.js.map → chunk-Y7NFXPZ2.js.map} +0 -0
  474. /package/dist/{chunk-3UDWOREZ.js.map → chunk-YLHYARJK.js.map} +0 -0
  475. /package/dist/{chunk-JLUYUNSV.js.map → chunk-Z4TZ527J.js.map} +0 -0
  476. /package/dist/{chunk-DKLTO4XS.js.map → chunk-ZAVH2YKN.js.map} +0 -0
  477. /package/dist/{chunk-NRNLLJCB.js.map → chunk-ZE37CBDF.js.map} +0 -0
  478. /package/dist/{chunk-H6Q7QK3C.js.map → chunk-ZM4ZOX7B.js.map} +0 -0
  479. /package/dist/{chunk-JQHOMFXA.js.map → chunk-ZSCJ6CT5.js.map} +0 -0
@@ -1,2 +1,2 @@
1
- import{a as D,b as k,c as j,e as L}from"./chunk-NRNLLJCB.js";import{f as G}from"./chunk-TSWZPJNS.js";import{a as le}from"./chunk-MKUSE7JK.js";import{a as ae}from"./chunk-AVVDKCFO.js";import{a as E,c as P,d as I,e as J,f as _}from"./chunk-T5HMFMXH.js";import{f as X,g as A,h as ee}from"./chunk-XG6ASTX5.js";import{m as T}from"./chunk-RZCU2MT3.js";import{e as Q}from"./chunk-H2O4CVKF.js";import{a as v}from"./chunk-P37U34EQ.js";import*as O from"@radix-ui/react-collapsible";var ce=O.Root,be=O.CollapsibleTrigger,fe=O.CollapsibleContent;import*as w from"@radix-ui/react-tabs";import{jsx as U}from"react/jsx-runtime";function Y({className:e,...a}){return U(w.Root,{"data-slot":"tabs",className:T("flex flex-col gap-2",e),...a})}v(Y,"Tabs");function W({className:e,...a}){return U(w.List,{"data-slot":"tabs-list",className:T("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-1",e),...a})}v(W,"TabsList");function K({className:e,...a}){return U(w.Trigger,{"data-slot":"tabs-trigger",className:T("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),...a})}v(K,"TabsTrigger");function ge({className:e,...a}){return U(w.Content,{"data-slot":"tabs-content",className:T("flex-1 outline-none",e),...a})}v(ge,"TabsContent");import*as z from"react";import*as N from"@radix-ui/react-scroll-area";import{jsx as H,jsxs as ye}from"react/jsx-runtime";var te=z.forwardRef(({className:e,children:a,...l},n)=>ye(N.Root,{ref:n,className:T("relative overflow-hidden",e),...l,children:[H(N.Viewport,{className:"h-full w-full rounded-[inherit]",children:a}),H(se,{}),H(N.Corner,{})]}));te.displayName=N.Root.displayName;var se=z.forwardRef(({className:e,orientation:a="vertical",...l},n)=>H(N.ScrollAreaScrollbar,{ref:n,orientation:a,className:T("flex touch-none select-none transition-colors",a==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",a==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",e),...l,children:H(N.ScrollAreaThumb,{className:"relative flex-1 rounded-full bg-border"})}));se.displayName=N.ScrollAreaScrollbar.displayName;import{useState as B,useEffect as Ce,useMemo as we}from"react";import{useQuery as Re}from"@tanstack/react-query";import M from"fast-deep-equal";var oe=v(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"),he=v((e,a)=>{if(M(e,a))return;let l=new Map((e||[]).map(t=>[t.value,t])),n=new Map((a||[]).map(t=>[t.value,t])),d=[],m=[],p=[];if(n.forEach((t,c)=>{l.has(c)||d.push({value:t.value,label:t.label})}),l.forEach((t,c)=>{if(!n.has(c))m.push({value:t.value,label:t.label});else{let g=n.get(c);if(!M(t,g)){let b={};t.label!==g.label&&(b.label={old:t.label,new:g.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"),Ne=v((e,a)=>{let l=e.fields,n=a.fields;if(!l&&!n)return;let d=q(l||[],n||[]);if(d.added.length>0||d.removed.length>0||d.modified.length>0)return Array.from(d.fieldDiffs.values())},"compareNestedFields"),Se=v((e,a)=>{let l={label:e.label!==a.label,required:e.required!==a.required,inputType:e.inputType!==a.inputType,type:e.type!==a.type,jsonType:!M(e.jsonType,a.jsonType),name:e.name!==a.name,defaultValue:e.defaultValue!==a.defaultValue,minDate:e.minDate!==a.minDate,maxDate:e.maxDate!==a.maxDate,maxLength:e.maxLength!==a.maxLength,multiple:e.multiple!==a.multiple,isVisible:e.isVisible!==a.isVisible,options:!M(e.options,a.options)},n=(()=>{let m=e.fields,p=a.fields;if(!m&&!p)return!1;if(!m||!p)return!0;let t=q(m,p);return t.added.length>0||t.removed.length>0||t.modified.length>0})();return Object.values(l).some(m=>m)||n},"isFieldModified"),Te=v((e,a)=>{let l={};e.label!==a.label&&(l.label={old:e.label,new:a.label}),e.required!==a.required&&(l.required={old:e.required,new:a.required}),e.type!==a.type&&(l.type={old:e.type,new:a.type}),e.inputType!==a.inputType&&(l.inputType={old:e.inputType,new:a.inputType}),M(e.jsonType,a.jsonType)||(l.jsonType={old:e.jsonType,new:a.jsonType}),M(e.defaultValue,a.defaultValue)||(l.defaultValue={old:e.defaultValue,new:a.defaultValue}),e.minDate!==a.minDate&&(l.minDate={old:e.minDate||"",new:a.minDate||""}),e.maxDate!==a.maxDate&&(l.maxDate={old:e.maxDate||"",new:a.maxDate||""}),e.maxLength!==a.maxLength&&(l.maxLength={old:e.maxLength||0,new:a.maxLength||0}),e.multiple!==a.multiple&&(l.multiple={old:e.multiple||!1,new:a.multiple||!1}),e.isVisible!==a.isVisible&&(l.isVisible={old:e.isVisible,new:a.isVisible});let n=he(e.options,a.options);n&&(l.options=n);let d=Ne(e,a);return d&&(l.nestedFields=d),Object.keys(l).length>0?l:void 0},"getFieldChanges"),q=v((e=[],a=[])=>{let l=e.filter(oe),n=a.filter(oe),d=new Map(l.map(f=>[f.name,{field:f}])),m=new Map(n.map(f=>[f.name,{field:f}])),p=[],t=[],c=[],g=[],b=new Map;return m.forEach((f,i)=>{d.has(i)||(p.push(i),b.set(i,{fieldName:i,diffType:"added"}))}),d.forEach(({field:f},i)=>{if(!m.has(i))t.push(i),b.set(i,{fieldName:i,diffType:"removed"});else{let{field:h}=m.get(i);Se(f,h)?(c.push(i),b.set(i,{fieldName:i,diffType:"modified",changes:Te(f,h)})):(g.push(i),b.set(i,{fieldName:i,diffType:"unchanged"}))}}),{added:p,removed:t,modified:c,unchanged:g,fieldDiffs:b}},"compareFormFields"),ne=v(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 ie,useRef as $,useEffect as xe}from"react";import{jsx as s,jsxs as u}from"react/jsx-runtime";var Fe=v(({children:e,diffType:a,changes:l})=>{let n=ne(a);if(a==="unchanged")return s("div",{children:e});let m={added:s("span",{className:"text-xs font-semibold text-green-700 bg-green-100 px-2 py-1 rounded",children:"NEW"}),removed:s("span",{className:"text-xs font-semibold text-red-700 bg-red-100 px-2 py-1 rounded",children:"REMOVED"}),modified:s("span",{className:"text-xs font-semibold text-yellow-700 bg-yellow-100 px-2 py-1 rounded",children:"MODIFIED"})}[a],p=v(()=>{if(!l||a!=="modified")return null;let t=[];if(l.label&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold",children:"Label:"})," ",s("span",{className:"line-through text-red-600",children:l.label.old})," ","\u2192 ",s("span",{className:"text-green-600",children:l.label.new})]},"label")),l.required&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold",children:"Required:"})," ",s("span",{className:"line-through text-red-600",children:l.required.old?"Yes":"No"})," ","\u2192"," ",s("span",{className:"text-green-600",children:l.required.new?"Yes":"No"})]},"required")),l.type&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold",children:"Type:"})," ",s("span",{className:"line-through text-red-600",children:l.type.old})," ","\u2192 ",s("span",{className:"text-green-600",children:l.type.new})]},"type")),l.inputType&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold",children:"Input Type:"})," ",s("span",{className:"line-through text-red-600",children:l.inputType.old})," ","\u2192 ",s("span",{className:"text-green-600",children:l.inputType.new})]},"inputType")),l.jsonType){let c=Array.isArray(l.jsonType.old)?l.jsonType.old.join(" | "):l.jsonType.old,g=Array.isArray(l.jsonType.new)?l.jsonType.new.join(" | "):l.jsonType.new;t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold",children:"JSON Type:"})," ",s("span",{className:"line-through text-red-600",children:c})," \u2192"," ",s("span",{className:"text-green-600",children:g})]},"jsonType"))}return l.defaultValue!==void 0&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold",children:"Default Value:"})," ",s("span",{className:"line-through text-red-600",children:JSON.stringify(l.defaultValue.old)})," ","\u2192"," ",s("span",{className:"text-green-600",children:JSON.stringify(l.defaultValue.new)})]},"defaultValue")),l.options&&(l.options.added.length>0&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold text-green-700",children:"Options Added:"})," ",l.options.added.map(c=>c.label).join(", ")]},"options-added")),l.options.removed.length>0&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold text-red-700",children:"Options Removed:"})," ",l.options.removed.map(c=>c.label).join(", ")]},"options-removed")),l.options.modified.length>0&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold",children:"Options Modified:"})," ",l.options.modified.length," option(s)"]},"options-modified"))),l.nestedFields&&l.nestedFields.length>0&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold",children:"Nested Fields:"})," ",l.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:[s("div",{className:"text-xs font-semibold text-yellow-800 mb-1",children:"Changes:"}),t]})},"renderChanges");return u("div",{className:`p-3 mb-2 rounded ${n} relative`,children:[s("div",{className:"absolute top-2 right-2",children:m}),e,p()]})},"FieldWrapper"),re=v(({version:e,fields:a,fieldsets:l,diffMap:n,title:d,scrollRef:m})=>{let p=X({mode:"onBlur"}),t=ie(()=>{let c=v((g,b)=>g.map(f=>{let i=b.get(f.name),h=i?.diffType||"unchanged",S=i?.changes,x=f.fields,R=f;if(x&&Array.isArray(x)){let V=new Map;S&&typeof S=="object"&&"nestedFields"in S&&Array.isArray(S.nestedFields)&&S.nestedFields.forEach(o=>{V.set(o.fieldName,{diffType:o.diffType,changes:o.changes})});let F=c(x,V);R={...f,fields:F}}return{...R,WrapperComponent:v(({children:V})=>s(Fe,{diffType:h,fieldName:f.name,changes:S,children:V}),"WrapperComponent")}}),"applyWrappers");return c(a,n)},[a,n]);return u(D,{className:"h-full",children:[s(k,{children:u(j,{children:[d," - Version ",e]})}),s(L,{ref:m,className:"overflow-y-auto max-h-[600px]",children:s(ee,{...p,children:s("form",{className:"space-y-4",children:s(ae,{fields:t,fieldsets:l,fieldValues:{}})})})})]})},"FormPanel"),de=v(({topVersion:e,bottomVersion:a,topFields:l,bottomFields:n,topFieldsets:d,bottomFieldsets:m,isLoading:p})=>{let t=ie(()=>q(l,n),[l,n]),c=$(null),g=$(null),b=$(!1);if(xe(()=>{let i=c.current,h=g.current;if(!i||!h)return;let S=v(()=>{b.current||(b.current=!0,h.scrollTop=i.scrollTop,requestAnimationFrame(()=>{b.current=!1}))},"handleLeftScroll"),x=v(()=>{b.current||(b.current=!0,i.scrollTop=h.scrollTop,requestAnimationFrame(()=>{b.current=!1}))},"handleRightScroll");return i.addEventListener("scroll",S),h.addEventListener("scroll",x),()=>{i.removeEventListener("scroll",S),h.removeEventListener("scroll",x)}},[l,n]),p)return s("div",{className:"flex items-center justify-center h-96",children:u("div",{className:"text-center",children:[s("div",{className:"animate-spin rounded-full h-12 w-12 border-b-2 border-gray-900 mx-auto"}),s("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:[s(D,{children:s(L,{className:"pt-6",children:f?s("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:[s("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:[s("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:[s("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:[s(re,{version:e,fields:l,fieldsets:d,diffMap:t.fieldDiffs,title:"Left",scrollRef:c}),s(re,{version:a,fields:n,fieldsets:m,diffMap:t.fieldDiffs,title:"Right",scrollRef:g})]})]})},"SchemaFormComparison");var ve=[{value:1,label:"v1 (Legacy)"},{value:3,label:"v3 (Recommended)"}],Z={ALB:[{value:1,label:"v1"}],ARE:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],ARG:[{value:1,label:"v1"}],ARM:[{value:1,label:"v1"}],AUS:[{value:1,label:"v1"}],AUT:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],BEL:[{value:1,label:"v1"},{value:2,label:"v2"}],BGD:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],BGR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],BIH:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],BLR:[{value:1,label:"v1"},{value:2,label:"v2"}],BOL:[{value:1,label:"v1"}],BRA:[{value:1,label:"v1"}],CAN:[{value:1,label:"v1"},{value:2,label:"v2"}],CHE:[{value:1,label:"v1"},{value:2,label:"v2"}],CHL:[{value:1,label:"v1"}],CHN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],COL:[{value:1,label:"v1"}],CRI:[{value:1,label:"v1"}],CYP:[{value:1,label:"v1"}],CZE:[{value:1,label:"v1"},{value:2,label:"v2"}],DEU:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],DNK:[{value:1,label:"v1"}],DOM:[{value:1,label:"v1"}],ECU:[{value:1,label:"v1"}],EGY:[{value:1,label:"v1"},{value:2,label:"v2"}],ESP:[{value:1,label:"v1"},{value:2,label:"v2"}],EST:[{value:1,label:"v1"}],FIN:[{value:1,label:"v1"}],FRA:[{value:1,label:"v1"},{value:2,label:"v2"}],GBR:[{value:1,label:"v1"},{value:2,label:"v2"}],GEO:[{value:1,label:"v1"}],GRC:[{value:1,label:"v1"}],GTM:[{value:1,label:"v1"}],HKG:[{value:1,label:"v1"},{value:2,label:"v2"}],HND:[{value:1,label:"v1"}],HRV:[{value:1,label:"v1"},{value:2,label:"v2"}],HUN:[{value:1,label:"v1"}],IDN:[{value:1,label:"v1"}],IND:[{value:1,label:"v1"},{value:2,label:"v2"}],IRL:[{value:1,label:"v1"}],ISL:[{value:1,label:"v1"},{value:2,label:"v2"}],ISR:[{value:1,label:"v1"}],ITA:[{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"}],KGZ:[{value:1,label:"v1"}],KHM:[{value:1,label:"v1"}],KOR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],LBN:[{value:1,label:"v1"},{value:2,label:"v2"}],LKA:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],LTU:[{value:1,label:"v1"}],LUX:[{value:1,label:"v1"}],LVA:[{value:1,label:"v1"},{value:2,label:"v2"}],MAR:[{value:1,label:"v1"}],MDA:[{value:1,label:"v1"}],MEX:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],MKD:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],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"}],NOR:[{value:1,label:"v1"},{value:2,label:"v2"}],NZL:[{value:1,label:"v1"},{value:2,label:"v2"}],PAK:[{value:1,label:"v1"},{value:2,label:"v2"}],PAN:[{value:1,label:"v1"}],PER:[{value:1,label:"v1"}],PHL:[{value:1,label:"v1"}],POL:[{value:1,label:"v1"}],PRI:[{value:1,label:"v1"}],PRT:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],PRY:[{value:1,label:"v1"}],ROU:[{value:1,label:"v1"}],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"}],SVK:[{value:1,label:"v1"}],SVN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],SWE:[{value:1,label:"v1"},{value:2,label:"v2"}],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"}],TWN:[{value:1,label:"v1"}],UGA:[{value:1,label:"v1"}],UKR:[{value:1,label:"v1"}],URY:[{value:1,label:"v1"}],USA:[{value:1,label:"v1"}],VNM:[{value:1,label:"v1"},{value:2,label:"v2"}],XKX:[{value:1,label:"v1"}],ZAF:[{value:1,label:"v1"}],ZWE:[{value:1,label:"v1"}]},ue=Object.fromEntries(Object.entries(Z).filter(([,e])=>e.length>1)),me=[{value:"employment_basic_information",label:"Basic Information"},{value:"contract_details",label:"Contract Details"}];import{jsx as r,jsxs as y}from"react/jsx-runtime";var pe=v(()=>{let[e,a]=B("employment_basic_information"),[l,n]=B(1),[d,m]=B(1),[p,t]=B("ARE"),{client:c}=Q(),{data:g}=Re({...le(c,"schema-comparison"),select:v(o=>o.data?.data?.filter(C=>C.eor_onboarding).filter(C=>Object.keys(ue).includes(C.code)).map(C=>({label:C.name,value:C.code}))||[],"select")}),b=e==="contract_details",{data:f,isLoading:i}=G({countryCode:p,form:e,fieldValues:{},jsonSchemaVersion:l,options:{queryOptions:{enabled:!0}}}),{data:h,isLoading:S}=G({countryCode:p,form:e,fieldValues:{},jsonSchemaVersion:d,options:{queryOptions:{enabled:!0}}}),x=i||S,R=Z[p],V=R!==void 0,F=we(()=>e==="employment_basic_information"?ve:R||[{value:"latest",label:"Latest"}],[e,R]);return Ce(()=>{let o=F.map(C=>C.value);o.includes(l)||n(F[0].value),o.includes(d)||m(F[0].value)},[e,p,F,l,d]),y("div",{className:"space-y-6",children:[y(D,{children:[r(k,{children:r(j,{children:"Configuration"})}),y(L,{className:"space-y-4",children:[y("div",{children:[r(A,{className:"mb-2 block",children:"Form Type"}),r(Y,{value:e,onValueChange:o=>a(o),children:r(W,{className:"grid w-full grid-cols-2",children:me.map(o=>r(K,{value:o.value,children:o.label},o.value))})})]}),b&&!V&&r("div",{className:"rounded-md bg-yellow-50 p-4 border border-yellow-200",children:y("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"})})}),y("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:y("p",{children:["Country"," ",r("span",{className:"font-semibold",children:p})," is not configured in COUNTRY_CONTRACT_VERSIONS. Using default (latest only)."]})})]})]})}),b&&y("div",{children:[r(A,{htmlFor:"country-select",className:"mb-2 block",children:"Country"}),y(E,{value:p,onValueChange:t,children:[r(I,{id:"country-select",children:r(P,{placeholder:"Select a country"})}),r(J,{children:g?.map(o=>r(_,{value:o.value,children:o.label},o.value))})]})]}),y("div",{className:"grid grid-cols-2 gap-4",children:[y("div",{children:[r(A,{htmlFor:"top-version",className:"mb-2 block",children:"Left Version"}),y(E,{value:String(l),onValueChange:o=>n(o==="latest"?"latest":Number(o)),children:[r(I,{id:"top-version",children:r(P,{placeholder:"Select version"})}),r(J,{children:F.map(o=>r(_,{value:String(o.value),children:o.label},String(o.value)))})]})]}),y("div",{children:[r(A,{htmlFor:"bottom-version",className:"mb-2 block",children:"Right Version"}),y(E,{value:String(d),onValueChange:o=>m(o==="latest"?"latest":Number(o)),children:[r(I,{id:"bottom-version",children:r(P,{placeholder:"Select version"})}),r(J,{children:F.map(o=>r(_,{value:String(o.value),children:o.label},String(o.value)))})]})]})]})]})]}),r(de,{topVersion:l,bottomVersion:d,topFields:f?.fields||[],bottomFields:h?.fields||[],topFieldsets:f?.meta?.["x-jsf-fieldsets"],bottomFieldsets:h?.meta?.["x-jsf-fieldsets"],isLoading:x})]})},"JsonSchemaComparison");export{ce as a,be as b,fe as c,Y as d,W as e,K as f,ge as g,te as h,pe as i};
2
- //# sourceMappingURL=chunk-KAHAW4HH.js.map
1
+ import{a as D,b as k,c as j,e as L}from"./chunk-ZE37CBDF.js";import{f as G}from"./chunk-FJUUNJHY.js";import{a as le}from"./chunk-F2ENM2JE.js";import{a as ae}from"./chunk-N2MBTATE.js";import{a as E,c as P,d as I,e as J,f as _}from"./chunk-ED7I5OM2.js";import{f as X,g as A,h as ee}from"./chunk-5BU3CD2P.js";import{n as T}from"./chunk-JXAAON7I.js";import{e as Q}from"./chunk-H2O4CVKF.js";import{a as v}from"./chunk-P37U34EQ.js";import*as O from"@radix-ui/react-collapsible";var ce=O.Root,be=O.CollapsibleTrigger,fe=O.CollapsibleContent;import*as w from"@radix-ui/react-tabs";import{jsx as U}from"react/jsx-runtime";function Y({className:e,...a}){return U(w.Root,{"data-slot":"tabs",className:T("flex flex-col gap-2",e),...a})}v(Y,"Tabs");function W({className:e,...a}){return U(w.List,{"data-slot":"tabs-list",className:T("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-1",e),...a})}v(W,"TabsList");function K({className:e,...a}){return U(w.Trigger,{"data-slot":"tabs-trigger",className:T("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),...a})}v(K,"TabsTrigger");function ge({className:e,...a}){return U(w.Content,{"data-slot":"tabs-content",className:T("flex-1 outline-none",e),...a})}v(ge,"TabsContent");import*as z from"react";import*as N from"@radix-ui/react-scroll-area";import{jsx as H,jsxs as ye}from"react/jsx-runtime";var te=z.forwardRef(({className:e,children:a,...l},n)=>ye(N.Root,{ref:n,className:T("relative overflow-hidden",e),...l,children:[H(N.Viewport,{className:"h-full w-full rounded-[inherit]",children:a}),H(se,{}),H(N.Corner,{})]}));te.displayName=N.Root.displayName;var se=z.forwardRef(({className:e,orientation:a="vertical",...l},n)=>H(N.ScrollAreaScrollbar,{ref:n,orientation:a,className:T("flex touch-none select-none transition-colors",a==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",a==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",e),...l,children:H(N.ScrollAreaThumb,{className:"relative flex-1 rounded-full bg-border"})}));se.displayName=N.ScrollAreaScrollbar.displayName;import{useState as B,useEffect as Ce,useMemo as we}from"react";import{useQuery as Re}from"@tanstack/react-query";import M from"fast-deep-equal";var oe=v(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"),he=v((e,a)=>{if(M(e,a))return;let l=new Map((e||[]).map(t=>[t.value,t])),n=new Map((a||[]).map(t=>[t.value,t])),d=[],m=[],p=[];if(n.forEach((t,c)=>{l.has(c)||d.push({value:t.value,label:t.label})}),l.forEach((t,c)=>{if(!n.has(c))m.push({value:t.value,label:t.label});else{let g=n.get(c);if(!M(t,g)){let b={};t.label!==g.label&&(b.label={old:t.label,new:g.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"),Ne=v((e,a)=>{let l=e.fields,n=a.fields;if(!l&&!n)return;let d=q(l||[],n||[]);if(d.added.length>0||d.removed.length>0||d.modified.length>0)return Array.from(d.fieldDiffs.values())},"compareNestedFields"),Se=v((e,a)=>{let l={label:e.label!==a.label,required:e.required!==a.required,inputType:e.inputType!==a.inputType,type:e.type!==a.type,jsonType:!M(e.jsonType,a.jsonType),name:e.name!==a.name,defaultValue:e.defaultValue!==a.defaultValue,minDate:e.minDate!==a.minDate,maxDate:e.maxDate!==a.maxDate,maxLength:e.maxLength!==a.maxLength,multiple:e.multiple!==a.multiple,isVisible:e.isVisible!==a.isVisible,options:!M(e.options,a.options)},n=(()=>{let m=e.fields,p=a.fields;if(!m&&!p)return!1;if(!m||!p)return!0;let t=q(m,p);return t.added.length>0||t.removed.length>0||t.modified.length>0})();return Object.values(l).some(m=>m)||n},"isFieldModified"),Te=v((e,a)=>{let l={};e.label!==a.label&&(l.label={old:e.label,new:a.label}),e.required!==a.required&&(l.required={old:e.required,new:a.required}),e.type!==a.type&&(l.type={old:e.type,new:a.type}),e.inputType!==a.inputType&&(l.inputType={old:e.inputType,new:a.inputType}),M(e.jsonType,a.jsonType)||(l.jsonType={old:e.jsonType,new:a.jsonType}),M(e.defaultValue,a.defaultValue)||(l.defaultValue={old:e.defaultValue,new:a.defaultValue}),e.minDate!==a.minDate&&(l.minDate={old:e.minDate||"",new:a.minDate||""}),e.maxDate!==a.maxDate&&(l.maxDate={old:e.maxDate||"",new:a.maxDate||""}),e.maxLength!==a.maxLength&&(l.maxLength={old:e.maxLength||0,new:a.maxLength||0}),e.multiple!==a.multiple&&(l.multiple={old:e.multiple||!1,new:a.multiple||!1}),e.isVisible!==a.isVisible&&(l.isVisible={old:e.isVisible,new:a.isVisible});let n=he(e.options,a.options);n&&(l.options=n);let d=Ne(e,a);return d&&(l.nestedFields=d),Object.keys(l).length>0?l:void 0},"getFieldChanges"),q=v((e=[],a=[])=>{let l=e.filter(oe),n=a.filter(oe),d=new Map(l.map(f=>[f.name,{field:f}])),m=new Map(n.map(f=>[f.name,{field:f}])),p=[],t=[],c=[],g=[],b=new Map;return m.forEach((f,i)=>{d.has(i)||(p.push(i),b.set(i,{fieldName:i,diffType:"added"}))}),d.forEach(({field:f},i)=>{if(!m.has(i))t.push(i),b.set(i,{fieldName:i,diffType:"removed"});else{let{field:h}=m.get(i);Se(f,h)?(c.push(i),b.set(i,{fieldName:i,diffType:"modified",changes:Te(f,h)})):(g.push(i),b.set(i,{fieldName:i,diffType:"unchanged"}))}}),{added:p,removed:t,modified:c,unchanged:g,fieldDiffs:b}},"compareFormFields"),ne=v(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 ie,useRef as $,useEffect as xe}from"react";import{jsx as s,jsxs as u}from"react/jsx-runtime";var Fe=v(({children:e,diffType:a,changes:l})=>{let n=ne(a);if(a==="unchanged")return s("div",{children:e});let m={added:s("span",{className:"text-xs font-semibold text-green-700 bg-green-100 px-2 py-1 rounded",children:"NEW"}),removed:s("span",{className:"text-xs font-semibold text-red-700 bg-red-100 px-2 py-1 rounded",children:"REMOVED"}),modified:s("span",{className:"text-xs font-semibold text-yellow-700 bg-yellow-100 px-2 py-1 rounded",children:"MODIFIED"})}[a],p=v(()=>{if(!l||a!=="modified")return null;let t=[];if(l.label&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold",children:"Label:"})," ",s("span",{className:"line-through text-red-600",children:l.label.old})," ","\u2192 ",s("span",{className:"text-green-600",children:l.label.new})]},"label")),l.required&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold",children:"Required:"})," ",s("span",{className:"line-through text-red-600",children:l.required.old?"Yes":"No"})," ","\u2192"," ",s("span",{className:"text-green-600",children:l.required.new?"Yes":"No"})]},"required")),l.type&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold",children:"Type:"})," ",s("span",{className:"line-through text-red-600",children:l.type.old})," ","\u2192 ",s("span",{className:"text-green-600",children:l.type.new})]},"type")),l.inputType&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold",children:"Input Type:"})," ",s("span",{className:"line-through text-red-600",children:l.inputType.old})," ","\u2192 ",s("span",{className:"text-green-600",children:l.inputType.new})]},"inputType")),l.jsonType){let c=Array.isArray(l.jsonType.old)?l.jsonType.old.join(" | "):l.jsonType.old,g=Array.isArray(l.jsonType.new)?l.jsonType.new.join(" | "):l.jsonType.new;t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold",children:"JSON Type:"})," ",s("span",{className:"line-through text-red-600",children:c})," \u2192"," ",s("span",{className:"text-green-600",children:g})]},"jsonType"))}return l.defaultValue!==void 0&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold",children:"Default Value:"})," ",s("span",{className:"line-through text-red-600",children:JSON.stringify(l.defaultValue.old)})," ","\u2192"," ",s("span",{className:"text-green-600",children:JSON.stringify(l.defaultValue.new)})]},"defaultValue")),l.options&&(l.options.added.length>0&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold text-green-700",children:"Options Added:"})," ",l.options.added.map(c=>c.label).join(", ")]},"options-added")),l.options.removed.length>0&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold text-red-700",children:"Options Removed:"})," ",l.options.removed.map(c=>c.label).join(", ")]},"options-removed")),l.options.modified.length>0&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold",children:"Options Modified:"})," ",l.options.modified.length," option(s)"]},"options-modified"))),l.nestedFields&&l.nestedFields.length>0&&t.push(u("div",{className:"text-xs",children:[s("span",{className:"font-semibold",children:"Nested Fields:"})," ",l.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:[s("div",{className:"text-xs font-semibold text-yellow-800 mb-1",children:"Changes:"}),t]})},"renderChanges");return u("div",{className:`p-3 mb-2 rounded ${n} relative`,children:[s("div",{className:"absolute top-2 right-2",children:m}),e,p()]})},"FieldWrapper"),re=v(({version:e,fields:a,fieldsets:l,diffMap:n,title:d,scrollRef:m})=>{let p=X({mode:"onBlur"}),t=ie(()=>{let c=v((g,b)=>g.map(f=>{let i=b.get(f.name),h=i?.diffType||"unchanged",S=i?.changes,x=f.fields,R=f;if(x&&Array.isArray(x)){let V=new Map;S&&typeof S=="object"&&"nestedFields"in S&&Array.isArray(S.nestedFields)&&S.nestedFields.forEach(o=>{V.set(o.fieldName,{diffType:o.diffType,changes:o.changes})});let F=c(x,V);R={...f,fields:F}}return{...R,WrapperComponent:v(({children:V})=>s(Fe,{diffType:h,fieldName:f.name,changes:S,children:V}),"WrapperComponent")}}),"applyWrappers");return c(a,n)},[a,n]);return u(D,{className:"h-full",children:[s(k,{children:u(j,{children:[d," - Version ",e]})}),s(L,{ref:m,className:"overflow-y-auto max-h-[600px]",children:s(ee,{...p,children:s("form",{className:"space-y-4",children:s(ae,{fields:t,fieldsets:l,fieldValues:{}})})})})]})},"FormPanel"),de=v(({topVersion:e,bottomVersion:a,topFields:l,bottomFields:n,topFieldsets:d,bottomFieldsets:m,isLoading:p})=>{let t=ie(()=>q(l,n),[l,n]),c=$(null),g=$(null),b=$(!1);if(xe(()=>{let i=c.current,h=g.current;if(!i||!h)return;let S=v(()=>{b.current||(b.current=!0,h.scrollTop=i.scrollTop,requestAnimationFrame(()=>{b.current=!1}))},"handleLeftScroll"),x=v(()=>{b.current||(b.current=!0,i.scrollTop=h.scrollTop,requestAnimationFrame(()=>{b.current=!1}))},"handleRightScroll");return i.addEventListener("scroll",S),h.addEventListener("scroll",x),()=>{i.removeEventListener("scroll",S),h.removeEventListener("scroll",x)}},[l,n]),p)return s("div",{className:"flex items-center justify-center h-96",children:u("div",{className:"text-center",children:[s("div",{className:"animate-spin rounded-full h-12 w-12 border-b-2 border-gray-900 mx-auto"}),s("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:[s(D,{children:s(L,{className:"pt-6",children:f?s("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:[s("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:[s("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:[s("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:[s(re,{version:e,fields:l,fieldsets:d,diffMap:t.fieldDiffs,title:"Left",scrollRef:c}),s(re,{version:a,fields:n,fieldsets:m,diffMap:t.fieldDiffs,title:"Right",scrollRef:g})]})]})},"SchemaFormComparison");var ve=[{value:1,label:"v1 (Legacy)"},{value:3,label:"v3 (Recommended)"}],Z={ALB:[{value:1,label:"v1"}],ARE:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],ARG:[{value:1,label:"v1"}],ARM:[{value:1,label:"v1"}],AUS:[{value:1,label:"v1"}],AUT:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],BEL:[{value:1,label:"v1"},{value:2,label:"v2"}],BGD:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],BGR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],BIH:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],BLR:[{value:1,label:"v1"},{value:2,label:"v2"}],BOL:[{value:1,label:"v1"}],BRA:[{value:1,label:"v1"}],CAN:[{value:1,label:"v1"},{value:2,label:"v2"}],CHE:[{value:1,label:"v1"},{value:2,label:"v2"}],CHL:[{value:1,label:"v1"}],CHN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],COL:[{value:1,label:"v1"}],CRI:[{value:1,label:"v1"}],CYP:[{value:1,label:"v1"}],CZE:[{value:1,label:"v1"},{value:2,label:"v2"}],DEU:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],DNK:[{value:1,label:"v1"}],DOM:[{value:1,label:"v1"}],ECU:[{value:1,label:"v1"}],EGY:[{value:1,label:"v1"},{value:2,label:"v2"}],ESP:[{value:1,label:"v1"},{value:2,label:"v2"}],EST:[{value:1,label:"v1"}],FIN:[{value:1,label:"v1"}],FRA:[{value:1,label:"v1"},{value:2,label:"v2"}],GBR:[{value:1,label:"v1"},{value:2,label:"v2"}],GEO:[{value:1,label:"v1"}],GRC:[{value:1,label:"v1"}],GTM:[{value:1,label:"v1"}],HKG:[{value:1,label:"v1"},{value:2,label:"v2"}],HND:[{value:1,label:"v1"}],HRV:[{value:1,label:"v1"},{value:2,label:"v2"}],HUN:[{value:1,label:"v1"}],IDN:[{value:1,label:"v1"}],IND:[{value:1,label:"v1"},{value:2,label:"v2"}],IRL:[{value:1,label:"v1"}],ISL:[{value:1,label:"v1"},{value:2,label:"v2"}],ISR:[{value:1,label:"v1"}],ITA:[{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"}],KGZ:[{value:1,label:"v1"}],KHM:[{value:1,label:"v1"}],KOR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],LBN:[{value:1,label:"v1"},{value:2,label:"v2"}],LKA:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],LTU:[{value:1,label:"v1"}],LUX:[{value:1,label:"v1"}],LVA:[{value:1,label:"v1"},{value:2,label:"v2"}],MAR:[{value:1,label:"v1"}],MDA:[{value:1,label:"v1"}],MEX:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],MKD:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],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"}],NOR:[{value:1,label:"v1"},{value:2,label:"v2"}],NZL:[{value:1,label:"v1"},{value:2,label:"v2"}],PAK:[{value:1,label:"v1"},{value:2,label:"v2"}],PAN:[{value:1,label:"v1"}],PER:[{value:1,label:"v1"}],PHL:[{value:1,label:"v1"}],POL:[{value:1,label:"v1"}],PRI:[{value:1,label:"v1"}],PRT:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],PRY:[{value:1,label:"v1"}],ROU:[{value:1,label:"v1"}],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"}],SVK:[{value:1,label:"v1"}],SVN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:3,label:"v3"}],SWE:[{value:1,label:"v1"},{value:2,label:"v2"}],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"}],TWN:[{value:1,label:"v1"}],UGA:[{value:1,label:"v1"}],UKR:[{value:1,label:"v1"}],URY:[{value:1,label:"v1"}],USA:[{value:1,label:"v1"}],VNM:[{value:1,label:"v1"},{value:2,label:"v2"}],XKX:[{value:1,label:"v1"}],ZAF:[{value:1,label:"v1"}],ZWE:[{value:1,label:"v1"}]},ue=Object.fromEntries(Object.entries(Z).filter(([,e])=>e.length>1)),me=[{value:"employment_basic_information",label:"Basic Information"},{value:"contract_details",label:"Contract Details"}];import{jsx as r,jsxs as y}from"react/jsx-runtime";var pe=v(()=>{let[e,a]=B("employment_basic_information"),[l,n]=B(1),[d,m]=B(1),[p,t]=B("ARE"),{client:c}=Q(),{data:g}=Re({...le(c,"schema-comparison"),select:v(o=>o.data?.data?.filter(C=>C.eor_onboarding).filter(C=>Object.keys(ue).includes(C.code)).map(C=>({label:C.name,value:C.code}))||[],"select")}),b=e==="contract_details",{data:f,isLoading:i}=G({countryCode:p,form:e,fieldValues:{},jsonSchemaVersion:l,options:{queryOptions:{enabled:!0}}}),{data:h,isLoading:S}=G({countryCode:p,form:e,fieldValues:{},jsonSchemaVersion:d,options:{queryOptions:{enabled:!0}}}),x=i||S,R=Z[p],V=R!==void 0,F=we(()=>e==="employment_basic_information"?ve:R||[{value:"latest",label:"Latest"}],[e,R]);return Ce(()=>{let o=F.map(C=>C.value);o.includes(l)||n(F[0].value),o.includes(d)||m(F[0].value)},[e,p,F,l,d]),y("div",{className:"space-y-6",children:[y(D,{children:[r(k,{children:r(j,{children:"Configuration"})}),y(L,{className:"space-y-4",children:[y("div",{children:[r(A,{className:"mb-2 block",children:"Form Type"}),r(Y,{value:e,onValueChange:o=>a(o),children:r(W,{className:"grid w-full grid-cols-2",children:me.map(o=>r(K,{value:o.value,children:o.label},o.value))})})]}),b&&!V&&r("div",{className:"rounded-md bg-yellow-50 p-4 border border-yellow-200",children:y("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"})})}),y("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:y("p",{children:["Country"," ",r("span",{className:"font-semibold",children:p})," is not configured in COUNTRY_CONTRACT_VERSIONS. Using default (latest only)."]})})]})]})}),b&&y("div",{children:[r(A,{htmlFor:"country-select",className:"mb-2 block",children:"Country"}),y(E,{value:p,onValueChange:t,children:[r(I,{id:"country-select",children:r(P,{placeholder:"Select a country"})}),r(J,{children:g?.map(o=>r(_,{value:o.value,children:o.label},o.value))})]})]}),y("div",{className:"grid grid-cols-2 gap-4",children:[y("div",{children:[r(A,{htmlFor:"top-version",className:"mb-2 block",children:"Left Version"}),y(E,{value:String(l),onValueChange:o=>n(o==="latest"?"latest":Number(o)),children:[r(I,{id:"top-version",children:r(P,{placeholder:"Select version"})}),r(J,{children:F.map(o=>r(_,{value:String(o.value),children:o.label},String(o.value)))})]})]}),y("div",{children:[r(A,{htmlFor:"bottom-version",className:"mb-2 block",children:"Right Version"}),y(E,{value:String(d),onValueChange:o=>m(o==="latest"?"latest":Number(o)),children:[r(I,{id:"bottom-version",children:r(P,{placeholder:"Select version"})}),r(J,{children:F.map(o=>r(_,{value:String(o.value),children:o.label},String(o.value)))})]})]})]})]})]}),r(de,{topVersion:l,bottomVersion:d,topFields:f?.fields||[],bottomFields:h?.fields||[],topFieldsets:f?.meta?.["x-jsf-fieldsets"],bottomFieldsets:h?.meta?.["x-jsf-fieldsets"],isLoading:x})]})},"JsonSchemaComparison");export{ce as a,be as b,fe as c,Y as d,W as e,K as f,ge as g,te as h,pe as i};
2
+ //# sourceMappingURL=chunk-U3PQEGSV.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/ui/collapsible.tsx","../src/components/ui/tabs.tsx","../src/components/ui/scroll-area.tsx","../src/components/JsonSchemaComparison/JsonSchemaComparison.tsx","../src/components/JsonSchemaComparison/formDiffDetector.ts","../src/components/JsonSchemaComparison/SchemaFormComparison.tsx","../src/components/JsonSchemaComparison/schemaVersions.ts"],"sourcesContent":["import * as CollapsiblePrimitive from '@radix-ui/react-collapsible';\n\nconst Collapsible = CollapsiblePrimitive.Root;\n\nconst CollapsibleTrigger = CollapsiblePrimitive.CollapsibleTrigger;\n\nconst CollapsibleContent = CollapsiblePrimitive.CollapsibleContent;\n\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent };\n","import * as React from 'react';\nimport * as TabsPrimitive from '@radix-ui/react-tabs';\n\nimport { cn } from '@/src/lib/utils';\n\nfunction Tabs({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Root>) {\n return (\n <TabsPrimitive.Root\n data-slot='tabs'\n className={cn('flex flex-col gap-2', className)}\n {...props}\n />\n );\n}\n\nfunction TabsList({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.List>) {\n return (\n <TabsPrimitive.List\n data-slot='tabs-list'\n className={cn(\n 'bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-1',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction TabsTrigger({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Trigger>) {\n return (\n <TabsPrimitive.Trigger\n data-slot='tabs-trigger'\n className={cn(\n \"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\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction TabsContent({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Content>) {\n return (\n <TabsPrimitive.Content\n data-slot='tabs-content'\n className={cn('flex-1 outline-none', className)}\n {...props}\n />\n );\n}\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent };\n","import * as React from 'react';\nimport * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';\n\nimport { cn } from '@/src/lib/utils';\n\nconst ScrollArea = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>\n>(({ className, children, ...props }, ref) => (\n <ScrollAreaPrimitive.Root\n ref={ref}\n className={cn('relative overflow-hidden', className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport className='h-full w-full rounded-[inherit]'>\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n));\nScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;\n\nconst ScrollBar = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>\n>(({ className, orientation = 'vertical', ...props }, ref) => (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n ref={ref}\n orientation={orientation}\n className={cn(\n 'flex touch-none select-none transition-colors',\n orientation === 'vertical' &&\n 'h-full w-2.5 border-l border-l-transparent p-[1px]',\n orientation === 'horizontal' &&\n 'h-2.5 flex-col border-t border-t-transparent p-[1px]',\n className,\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb className='relative flex-1 rounded-full bg-border' />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n));\nScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;\n\nexport { ScrollArea, ScrollBar };\n","import { useState, useEffect, useMemo } from 'react';\nimport { useQuery } from '@tanstack/react-query';\nimport {\n Card,\n CardContent,\n CardHeader,\n CardTitle,\n} from '@/src/components/ui/card';\nimport { Label } from '@/src/components/ui/label';\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from '@/src/components/ui/select';\nimport { Tabs, TabsList, TabsTrigger } from '@/src/components/ui/tabs';\nimport { useJSONSchemaForm } from '@/src/flows/Onboarding/api';\nimport { SchemaFormComparison } from './SchemaFormComparison';\nimport {\n BASIC_INFO_VERSIONS,\n COUNTRY_CONTRACT_VERSIONS,\n COUNTRY_CONTRACT_VERSIONS_WITH_MULTIPLE_VERSIONS,\n FORM_TYPES,\n type FormType,\n type SchemaVersion,\n} from './schemaVersions';\nimport { countriesOptions } from '@/src/common/api/countries';\nimport { useClient } from '@/src/context';\nimport type { Client } from '@/src/client/client';\nimport { JSFField } from '@/src/types/remoteFlows';\n\nexport const JsonSchemaComparison = () => {\n const [formType, setFormType] = useState<FormType>(\n 'employment_basic_information',\n );\n const [topVersion, setTopVersion] = useState<SchemaVersion>(1);\n const [bottomVersion, setBottomVersion] = useState<SchemaVersion>(1);\n const [countryCode, setCountryCode] = useState<string>('ARE');\n\n const { client } = useClient();\n\n const { data: countriesData } = useQuery({\n ...countriesOptions(client as Client, 'schema-comparison'),\n select: (response) =>\n response.data?.data\n ?.filter(\n (country: { eor_onboarding?: boolean }) => country.eor_onboarding,\n )\n .filter((country: { code: string }) =>\n Object.keys(\n COUNTRY_CONTRACT_VERSIONS_WITH_MULTIPLE_VERSIONS,\n ).includes(country.code),\n )\n .map((country: { name: string; code: string }) => ({\n label: country.name,\n value: country.code,\n })) || [],\n });\n\n const isContractDetails = formType === 'contract_details';\n\n const { data: topSchema, isLoading: isLoadingTop } = useJSONSchemaForm({\n countryCode: countryCode,\n form: formType,\n fieldValues: {},\n jsonSchemaVersion: topVersion,\n options: {\n queryOptions: {\n enabled: true,\n },\n },\n });\n\n const { data: bottomSchema, isLoading: isLoadingBottom } = useJSONSchemaForm({\n countryCode: countryCode,\n form: formType,\n fieldValues: {},\n jsonSchemaVersion: bottomVersion,\n options: {\n queryOptions: {\n enabled: true,\n },\n },\n });\n\n const isLoading = isLoadingTop || isLoadingBottom;\n\n const countryVersions = COUNTRY_CONTRACT_VERSIONS[countryCode];\n const hasCountryMapping = countryVersions !== undefined;\n\n const versionOptions = useMemo(() => {\n return formType === 'employment_basic_information'\n ? BASIC_INFO_VERSIONS\n : countryVersions || [{ value: 'latest', label: 'Latest' }];\n }, [formType, countryVersions]);\n\n useEffect(() => {\n const availableVersionValues = versionOptions.map((v) => v.value);\n\n if (!availableVersionValues.includes(topVersion)) {\n // WE NEED TO FIX: react-hooks/set-state-in-effect - Calling setState synchronously within an effect can trigger cascading renders\n // eslint-disable-next-line react-hooks/set-state-in-effect\n setTopVersion(versionOptions[0].value);\n }\n if (!availableVersionValues.includes(bottomVersion)) {\n setBottomVersion(versionOptions[0].value);\n }\n }, [formType, countryCode, versionOptions, topVersion, bottomVersion]);\n\n return (\n <div className='space-y-6'>\n <Card>\n <CardHeader>\n <CardTitle>Configuration</CardTitle>\n </CardHeader>\n <CardContent className='space-y-4'>\n <div>\n <Label className='mb-2 block'>Form Type</Label>\n <Tabs\n value={formType}\n onValueChange={(value) => setFormType(value as FormType)}\n >\n <TabsList className='grid w-full grid-cols-2'>\n {FORM_TYPES.map((type) => (\n <TabsTrigger key={type.value} value={type.value}>\n {type.label}\n </TabsTrigger>\n ))}\n </TabsList>\n </Tabs>\n </div>\n\n {isContractDetails && !hasCountryMapping && (\n <div className='rounded-md bg-yellow-50 p-4 border border-yellow-200'>\n <div className='flex'>\n <div className='flex-shrink-0'>\n <svg\n className='h-5 w-5 text-yellow-400'\n viewBox='0 0 20 20'\n fill='currentColor'\n >\n <path\n fillRule='evenodd'\n 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'\n clipRule='evenodd'\n />\n </svg>\n </div>\n <div className='ml-3'>\n <h3 className='text-sm font-medium text-yellow-800'>\n Version mappings not found\n </h3>\n <div className='mt-2 text-sm text-yellow-700'>\n <p>\n Country{' '}\n <span className='font-semibold'>{countryCode}</span> is\n not configured in COUNTRY_CONTRACT_VERSIONS. Using default\n (latest only).\n </p>\n </div>\n </div>\n </div>\n </div>\n )}\n\n {isContractDetails && (\n <div>\n <Label htmlFor='country-select' className='mb-2 block'>\n Country\n </Label>\n <Select value={countryCode} onValueChange={setCountryCode}>\n <SelectTrigger id='country-select'>\n <SelectValue placeholder='Select a country' />\n </SelectTrigger>\n <SelectContent>\n {countriesData?.map(\n (country: { label: string; value: string }) => (\n <SelectItem key={country.value} value={country.value}>\n {country.label}\n </SelectItem>\n ),\n )}\n </SelectContent>\n </Select>\n </div>\n )}\n\n <div className='grid grid-cols-2 gap-4'>\n <div>\n <Label htmlFor='top-version' className='mb-2 block'>\n Left Version\n </Label>\n <Select\n value={String(topVersion)}\n onValueChange={(value) =>\n setTopVersion(value === 'latest' ? 'latest' : Number(value))\n }\n >\n <SelectTrigger id='top-version'>\n <SelectValue placeholder='Select version' />\n </SelectTrigger>\n <SelectContent>\n {versionOptions.map((version) => (\n <SelectItem\n key={String(version.value)}\n value={String(version.value)}\n >\n {version.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n\n <div>\n <Label htmlFor='bottom-version' className='mb-2 block'>\n Right Version\n </Label>\n <Select\n value={String(bottomVersion)}\n onValueChange={(value) =>\n setBottomVersion(\n value === 'latest' ? 'latest' : Number(value),\n )\n }\n >\n <SelectTrigger id='bottom-version'>\n <SelectValue placeholder='Select version' />\n </SelectTrigger>\n <SelectContent>\n {versionOptions.map((version) => (\n <SelectItem\n key={String(version.value)}\n value={String(version.value)}\n >\n {version.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n </div>\n </CardContent>\n </Card>\n\n <SchemaFormComparison\n topVersion={topVersion}\n bottomVersion={bottomVersion}\n topFields={(topSchema?.fields as JSFField[]) || []}\n bottomFields={(bottomSchema?.fields as JSFField[]) || []}\n topFieldsets={topSchema?.meta?.['x-jsf-fieldsets']}\n bottomFieldsets={bottomSchema?.meta?.['x-jsf-fieldsets']}\n isLoading={isLoading}\n />\n </div>\n );\n};\n","import type { $TSFixMe, JSFField } from '@/src/types/remoteFlows';\nimport equal from 'fast-deep-equal';\n\nexport type DiffType = 'added' | 'removed' | 'modified' | 'unchanged';\n\nexport interface FieldDiff {\n fieldName: string;\n diffType: DiffType;\n changes?: {\n label?: { old: string; new: string };\n required?: { old: boolean; new: boolean };\n type?: { old: string; new: string };\n inputType?: { old: string; new: string };\n jsonType?: { old: string; new: string };\n defaultValue?: { old: unknown; new: unknown };\n minDate?: { old: string; new: string };\n maxDate?: { old: string; new: string };\n maxLength?: { old: number; new: number };\n multiple?: { old: boolean; new: boolean };\n isVisible?: { old: boolean; new: boolean };\n options?: {\n added: Array<{ value: string; label: string }>;\n removed: Array<{ value: string; label: string }>;\n modified: Array<{\n value: string;\n changes: { label?: { old: string; new: string } };\n }>;\n };\n nestedFields?: FieldDiff[];\n };\n}\n\nexport interface FormDiff {\n added: string[];\n removed: string[];\n modified: string[];\n unchanged: string[];\n fieldDiffs: Map<string, FieldDiff>;\n}\n\nconst validateField = (field: JSFField): boolean => {\n if (!field.name) {\n console.warn('Field missing required \"name\" property:', field);\n return false;\n }\n if (!field.type) {\n console.warn(`Field \"${field.name}\" missing required \"type\" property`);\n return false;\n }\n return true;\n};\n\nconst compareOptions = (\n options1: JSFField['options'],\n options2: JSFField['options'],\n):\n | {\n added: Array<{ value: string; label: string }>;\n removed: Array<{ value: string; label: string }>;\n modified: Array<{\n value: string;\n changes: { label?: { old: string; new: string } };\n }>;\n }\n | undefined => {\n if (equal(options1, options2)) return undefined;\n\n const map1 = new Map((options1 || []).map((o) => [o.value, o]));\n const map2 = new Map((options2 || []).map((o) => [o.value, o]));\n\n const added: Array<{ value: string; label: string }> = [];\n const removed: Array<{ value: string; label: string }> = [];\n const modified: Array<{\n value: string;\n changes: { label?: { old: string; new: string } };\n }> = [];\n\n map2.forEach((option, value) => {\n if (!map1.has(value)) {\n added.push({ value: option.value, label: option.label });\n }\n });\n\n map1.forEach((option1, value) => {\n if (!map2.has(value)) {\n removed.push({ value: option1.value, label: option1.label });\n } else {\n const option2 = map2.get(value)!;\n if (!equal(option1, option2)) {\n const changes: { label?: { old: string; new: string } } = {};\n if (option1.label !== option2.label) {\n changes.label = { old: option1.label, new: option2.label };\n }\n if (Object.keys(changes).length > 0) {\n modified.push({ value, changes });\n }\n }\n }\n });\n\n if (added.length === 0 && removed.length === 0 && modified.length === 0) {\n return undefined;\n }\n\n return { added, removed, modified };\n};\n\nconst compareNestedFields = (\n field1: JSFField,\n field2: JSFField,\n): FieldDiff[] | undefined => {\n const nestedFields1 = (field1 as $TSFixMe).fields;\n\n const nestedFields2 = (field2 as $TSFixMe).fields;\n\n if (!nestedFields1 && !nestedFields2) return undefined;\n\n const nestedDiff = compareFormFields(\n nestedFields1 || [],\n nestedFields2 || [],\n );\n\n const hasChanges =\n nestedDiff.added.length > 0 ||\n nestedDiff.removed.length > 0 ||\n nestedDiff.modified.length > 0;\n\n if (!hasChanges) return undefined;\n\n return Array.from(nestedDiff.fieldDiffs.values());\n};\n\nconst isFieldModified = (field1: JSFField, field2: JSFField): boolean => {\n // Only compare user-facing schema properties, not internal/computed ones\n // Ignore: schema (Yup), computedAttributes, scopedJsonSchema, errorMessage, meta, description\n // Note: nested fields are checked via compareNestedFields to avoid deep equal with problematic properties\n const checks = {\n label: field1.label !== field2.label,\n required: field1.required !== field2.required,\n inputType: field1.inputType !== field2.inputType,\n type: field1.type !== field2.type,\n jsonType: !equal(field1.jsonType, field2.jsonType), // Use equal since jsonType can be an array like ['string', 'null']\n name: field1.name !== field2.name,\n defaultValue: field1.defaultValue !== field2.defaultValue,\n minDate: field1.minDate !== field2.minDate,\n maxDate: field1.maxDate !== field2.maxDate,\n maxLength: field1.maxLength !== field2.maxLength,\n multiple: field1.multiple !== field2.multiple,\n isVisible: field1.isVisible !== field2.isVisible,\n options: !equal(field1.options, field2.options),\n };\n\n // Check for nested field changes using compareNestedFields to avoid deep isEqual\n const hasNestedChanges = (() => {\n const nestedFields1 = (field1 as $TSFixMe).fields;\n const nestedFields2 = (field2 as $TSFixMe).fields;\n\n // If both undefined or null, no changes\n if (!nestedFields1 && !nestedFields2) return false;\n\n // If one is defined and the other isn't, there's a change\n if (!nestedFields1 || !nestedFields2) return true;\n\n // Recursively compare using our proper comparison logic\n const nestedDiff = compareFormFields(nestedFields1, nestedFields2);\n return (\n nestedDiff.added.length > 0 ||\n nestedDiff.removed.length > 0 ||\n nestedDiff.modified.length > 0\n );\n })();\n\n const isModified =\n Object.values(checks).some((check) => check) || hasNestedChanges;\n\n return isModified;\n};\n\nconst getFieldChanges = (field1: JSFField, field2: JSFField) => {\n const changes: FieldDiff['changes'] = {};\n\n if (field1.label !== field2.label) {\n changes.label = { old: field1.label, new: field2.label };\n }\n\n if (field1.required !== field2.required) {\n changes.required = { old: field1.required, new: field2.required };\n }\n\n if (field1.type !== field2.type) {\n changes.type = { old: field1.type, new: field2.type };\n }\n\n if (field1.inputType !== field2.inputType) {\n changes.inputType = {\n old: field1.inputType,\n new: field2.inputType,\n };\n }\n\n if (!equal(field1.jsonType, field2.jsonType)) {\n changes.jsonType = {\n old: field1.jsonType,\n new: field2.jsonType,\n };\n }\n\n if (!equal(field1.defaultValue, field2.defaultValue)) {\n changes.defaultValue = {\n old: field1.defaultValue,\n new: field2.defaultValue,\n };\n }\n\n if (field1.minDate !== field2.minDate) {\n changes.minDate = {\n old: field1.minDate || '',\n new: field2.minDate || '',\n };\n }\n\n if (field1.maxDate !== field2.maxDate) {\n changes.maxDate = {\n old: field1.maxDate || '',\n new: field2.maxDate || '',\n };\n }\n\n if (field1.maxLength !== field2.maxLength) {\n changes.maxLength = {\n old: field1.maxLength || 0,\n new: field2.maxLength || 0,\n };\n }\n\n if (field1.multiple !== field2.multiple) {\n changes.multiple = {\n old: field1.multiple || false,\n new: field2.multiple || false,\n };\n }\n\n if (field1.isVisible !== field2.isVisible) {\n changes.isVisible = {\n old: field1.isVisible,\n new: field2.isVisible,\n };\n }\n\n const optionsDiff = compareOptions(field1.options, field2.options);\n if (optionsDiff) {\n changes.options = optionsDiff;\n }\n\n const nestedFieldsDiff = compareNestedFields(field1, field2);\n if (nestedFieldsDiff) {\n changes.nestedFields = nestedFieldsDiff;\n }\n\n return Object.keys(changes).length > 0 ? changes : undefined;\n};\n\nexport const compareFormFields = (\n fields1: JSFField[] = [],\n fields2: JSFField[] = [],\n): FormDiff => {\n const validFields1 = fields1.filter(validateField);\n const validFields2 = fields2.filter(validateField);\n\n const fieldMap1 = new Map(validFields1.map((f) => [f.name, { field: f }]));\n const fieldMap2 = new Map(validFields2.map((f) => [f.name, { field: f }]));\n\n const added: string[] = [];\n const removed: string[] = [];\n const modified: string[] = [];\n const unchanged: string[] = [];\n const fieldDiffs = new Map<string, FieldDiff>();\n\n fieldMap2.forEach((_, name) => {\n if (!fieldMap1.has(name)) {\n added.push(name);\n fieldDiffs.set(name, {\n fieldName: name,\n diffType: 'added',\n });\n }\n });\n\n fieldMap1.forEach(({ field: field1 }, name) => {\n if (!fieldMap2.has(name)) {\n removed.push(name);\n fieldDiffs.set(name, {\n fieldName: name,\n diffType: 'removed',\n });\n } else {\n const { field: field2 } = fieldMap2.get(name)!;\n\n if (isFieldModified(field1, field2)) {\n modified.push(name);\n fieldDiffs.set(name, {\n fieldName: name,\n diffType: 'modified',\n changes: getFieldChanges(field1, field2),\n });\n } else {\n unchanged.push(name);\n fieldDiffs.set(name, {\n fieldName: name,\n diffType: 'unchanged',\n });\n }\n }\n });\n\n return {\n added,\n removed,\n modified,\n unchanged,\n fieldDiffs,\n };\n};\n\nexport const getDiffStyles = (diffType: DiffType): string => {\n switch (diffType) {\n case 'added':\n return 'bg-green-50 border-l-4 border-green-500';\n case 'removed':\n return 'bg-red-50 border-l-4 border-red-500';\n case 'modified':\n return 'bg-yellow-50 border-l-4 border-yellow-500';\n case 'unchanged':\n default:\n return '';\n }\n};\n","import { JSONSchemaFormFields } from '@/src/components/form/JSONSchemaForm';\nimport { Form } from '@/src/components/ui/form';\nimport { useForm } from 'react-hook-form';\nimport {\n Card,\n CardContent,\n CardHeader,\n CardTitle,\n} from '@/src/components/ui/card';\nimport type { JSFField, JSFFieldset } from '@/src/types/remoteFlows';\nimport { compareFormFields, getDiffStyles } from './formDiffDetector';\nimport { useMemo, useRef, useEffect } from 'react';\n\ninterface SchemaFormComparisonProps {\n topVersion: string | number;\n bottomVersion: string | number;\n topFields: JSFField[];\n bottomFields: JSFField[];\n topFieldsets?: JSFFieldset | null;\n bottomFieldsets?: JSFFieldset | null;\n isLoading?: boolean;\n}\n\nconst FieldWrapper = ({\n children,\n diffType,\n changes,\n}: {\n children: React.ReactNode;\n diffType: 'added' | 'removed' | 'modified' | 'unchanged';\n fieldName: string;\n changes?: {\n label?: { old: string; new: string };\n required?: { old: boolean; new: boolean };\n type?: { old: string; new: string };\n inputType?: { old: string; new: string };\n jsonType?: { old: string; new: string };\n defaultValue?: { old: unknown; new: unknown };\n minDate?: { old: string; new: string };\n maxDate?: { old: string; new: string };\n maxLength?: { old: number; new: number };\n multiple?: { old: boolean; new: boolean };\n isVisible?: { old: boolean; new: boolean };\n options?: {\n added: Array<{ value: string; label: string }>;\n removed: Array<{ value: string; label: string }>;\n modified: Array<{\n value: string;\n changes: { label?: { old: string; new: string } };\n }>;\n };\n nestedFields?: unknown[];\n };\n}) => {\n const styles = getDiffStyles(diffType);\n\n if (diffType === 'unchanged') {\n return <div>{children}</div>;\n }\n\n const badges = {\n added: (\n <span className='text-xs font-semibold text-green-700 bg-green-100 px-2 py-1 rounded'>\n NEW\n </span>\n ),\n removed: (\n <span className='text-xs font-semibold text-red-700 bg-red-100 px-2 py-1 rounded'>\n REMOVED\n </span>\n ),\n modified: (\n <span className='text-xs font-semibold text-yellow-700 bg-yellow-100 px-2 py-1 rounded'>\n MODIFIED\n </span>\n ),\n };\n\n const badge = badges[diffType];\n\n const renderChanges = () => {\n if (!changes || diffType !== 'modified') return null;\n\n const changesList: React.ReactNode[] = [];\n\n if (changes.label) {\n changesList.push(\n <div key='label' className='text-xs'>\n <span className='font-semibold'>Label:</span>{' '}\n <span className='line-through text-red-600'>{changes.label.old}</span>{' '}\n → <span className='text-green-600'>{changes.label.new}</span>\n </div>,\n );\n }\n\n if (changes.required) {\n changesList.push(\n <div key='required' className='text-xs'>\n <span className='font-semibold'>Required:</span>{' '}\n <span className='line-through text-red-600'>\n {changes.required.old ? 'Yes' : 'No'}\n </span>{' '}\n →{' '}\n <span className='text-green-600'>\n {changes.required.new ? 'Yes' : 'No'}\n </span>\n </div>,\n );\n }\n\n if (changes.type) {\n changesList.push(\n <div key='type' className='text-xs'>\n <span className='font-semibold'>Type:</span>{' '}\n <span className='line-through text-red-600'>{changes.type.old}</span>{' '}\n → <span className='text-green-600'>{changes.type.new}</span>\n </div>,\n );\n }\n\n if (changes.inputType) {\n changesList.push(\n <div key='inputType' className='text-xs'>\n <span className='font-semibold'>Input Type:</span>{' '}\n <span className='line-through text-red-600'>\n {changes.inputType.old}\n </span>{' '}\n → <span className='text-green-600'>{changes.inputType.new}</span>\n </div>,\n );\n }\n\n if (changes.jsonType) {\n const oldJsonType = Array.isArray(changes.jsonType.old)\n ? changes.jsonType.old.join(' | ')\n : changes.jsonType.old;\n const newJsonType = Array.isArray(changes.jsonType.new)\n ? changes.jsonType.new.join(' | ')\n : changes.jsonType.new;\n\n changesList.push(\n <div key='jsonType' className='text-xs'>\n <span className='font-semibold'>JSON Type:</span>{' '}\n <span className='line-through text-red-600'>{oldJsonType}</span> →{' '}\n <span className='text-green-600'>{newJsonType}</span>\n </div>,\n );\n }\n\n if (changes.defaultValue !== undefined) {\n changesList.push(\n <div key='defaultValue' className='text-xs'>\n <span className='font-semibold'>Default Value:</span>{' '}\n <span className='line-through text-red-600'>\n {JSON.stringify(changes.defaultValue.old)}\n </span>{' '}\n →{' '}\n <span className='text-green-600'>\n {JSON.stringify(changes.defaultValue.new)}\n </span>\n </div>,\n );\n }\n\n if (changes.options) {\n if (changes.options.added.length > 0) {\n changesList.push(\n <div key='options-added' className='text-xs'>\n <span className='font-semibold text-green-700'>Options Added:</span>{' '}\n {changes.options.added.map((opt) => opt.label).join(', ')}\n </div>,\n );\n }\n if (changes.options.removed.length > 0) {\n changesList.push(\n <div key='options-removed' className='text-xs'>\n <span className='font-semibold text-red-700'>Options Removed:</span>{' '}\n {changes.options.removed.map((opt) => opt.label).join(', ')}\n </div>,\n );\n }\n if (changes.options.modified.length > 0) {\n changesList.push(\n <div key='options-modified' className='text-xs'>\n <span className='font-semibold'>Options Modified:</span>{' '}\n {changes.options.modified.length} option(s)\n </div>,\n );\n }\n }\n\n if (changes.nestedFields && changes.nestedFields.length > 0) {\n changesList.push(\n <div key='nestedFields' className='text-xs'>\n <span className='font-semibold'>Nested Fields:</span>{' '}\n {changes.nestedFields.length} field(s) changed\n </div>,\n );\n }\n\n if (changesList.length === 0) return null;\n\n return (\n <div className='mt-2 p-2 bg-yellow-50 rounded border border-yellow-200 space-y-1'>\n <div className='text-xs font-semibold text-yellow-800 mb-1'>\n Changes:\n </div>\n {changesList}\n </div>\n );\n };\n\n return (\n <div className={`p-3 mb-2 rounded ${styles} relative`}>\n <div className='absolute top-2 right-2'>{badge}</div>\n {children}\n {renderChanges()}\n </div>\n );\n};\n\nconst FormPanel = ({\n version,\n fields,\n fieldsets,\n diffMap,\n title,\n scrollRef,\n}: {\n version: string | number;\n fields: JSFField[];\n fieldsets?: JSFFieldset | null;\n diffMap: Map<\n string,\n {\n diffType: 'added' | 'removed' | 'modified' | 'unchanged';\n changes?: unknown;\n }\n >;\n title: string;\n scrollRef?: React.RefObject<HTMLDivElement | null>;\n}) => {\n const form = useForm({\n mode: 'onBlur',\n });\n\n const fieldsWithWrappers = useMemo(() => {\n // Recursive function to apply wrappers to fields and their nested fields\n const applyWrappers = (\n fields: JSFField[],\n diffMap: Map<\n string,\n {\n diffType: 'added' | 'removed' | 'modified' | 'unchanged';\n changes?: unknown;\n }\n >,\n ): JSFField[] => {\n return fields.map((field) => {\n const diff = diffMap.get(field.name);\n const diffType = diff?.diffType || 'unchanged';\n const changes = diff?.changes;\n\n // If this field has nested fields (e.g., fieldset), recursively apply wrappers\n const nestedFields = (field as never as { fields?: JSFField[] }).fields;\n let processedField = field;\n\n if (nestedFields && Array.isArray(nestedFields)) {\n // Build a nested diff map from the changes.nestedFields\n const nestedDiffMap = new Map<\n string,\n {\n diffType: 'added' | 'removed' | 'modified' | 'unchanged';\n changes?: unknown;\n }\n >();\n\n if (\n changes &&\n typeof changes === 'object' &&\n 'nestedFields' in changes &&\n Array.isArray(changes.nestedFields)\n ) {\n (\n changes.nestedFields as Array<{\n fieldName: string;\n diffType: 'added' | 'removed' | 'modified' | 'unchanged';\n changes?: unknown;\n }>\n ).forEach((nestedDiff) => {\n nestedDiffMap.set(nestedDiff.fieldName, {\n diffType: nestedDiff.diffType,\n changes: nestedDiff.changes,\n });\n });\n }\n\n // Recursively apply wrappers to nested fields\n const wrappedNestedFields = applyWrappers(\n nestedFields,\n nestedDiffMap,\n );\n processedField = {\n ...field,\n fields: wrappedNestedFields,\n } as JSFField;\n }\n\n return {\n ...processedField,\n WrapperComponent: ({ children }: { children: React.ReactNode }) => (\n <FieldWrapper\n diffType={diffType}\n fieldName={field.name}\n changes={changes as never}\n >\n {children}\n </FieldWrapper>\n ),\n };\n });\n };\n\n return applyWrappers(fields, diffMap);\n }, [fields, diffMap]);\n\n return (\n <Card className='h-full'>\n <CardHeader>\n <CardTitle>\n {title} - Version {version}\n </CardTitle>\n </CardHeader>\n <CardContent ref={scrollRef} className='overflow-y-auto max-h-[600px]'>\n <Form {...form}>\n <form className='space-y-4'>\n <JSONSchemaFormFields\n fields={fieldsWithWrappers}\n fieldsets={fieldsets}\n fieldValues={{}}\n />\n </form>\n </Form>\n </CardContent>\n </Card>\n );\n};\n\nexport const SchemaFormComparison = ({\n topVersion,\n bottomVersion,\n topFields,\n bottomFields,\n topFieldsets,\n bottomFieldsets,\n isLoading,\n}: SchemaFormComparisonProps) => {\n const diff = useMemo(\n () => compareFormFields(topFields, bottomFields),\n [topFields, bottomFields],\n );\n\n const leftScrollRef = useRef<HTMLDivElement>(null);\n const rightScrollRef = useRef<HTMLDivElement>(null);\n const isSyncing = useRef(false);\n\n useEffect(() => {\n const leftEl = leftScrollRef.current;\n const rightEl = rightScrollRef.current;\n\n if (!leftEl || !rightEl) return;\n\n const handleLeftScroll = () => {\n if (isSyncing.current) return;\n isSyncing.current = true;\n rightEl.scrollTop = leftEl.scrollTop;\n requestAnimationFrame(() => {\n isSyncing.current = false;\n });\n };\n\n const handleRightScroll = () => {\n if (isSyncing.current) return;\n isSyncing.current = true;\n leftEl.scrollTop = rightEl.scrollTop;\n requestAnimationFrame(() => {\n isSyncing.current = false;\n });\n };\n\n leftEl.addEventListener('scroll', handleLeftScroll);\n rightEl.addEventListener('scroll', handleRightScroll);\n\n return () => {\n leftEl.removeEventListener('scroll', handleLeftScroll);\n rightEl.removeEventListener('scroll', handleRightScroll);\n };\n }, [topFields, bottomFields]);\n\n if (isLoading) {\n return (\n <div className='flex items-center justify-center h-96'>\n <div className='text-center'>\n <div className='animate-spin rounded-full h-12 w-12 border-b-2 border-gray-900 mx-auto'></div>\n <p className='mt-4 text-gray-600'>Loading schemas...</p>\n </div>\n </div>\n );\n }\n\n const hasNoDifferences =\n diff.added.length === 0 &&\n diff.removed.length === 0 &&\n diff.modified.length === 0;\n\n return (\n <div className='space-y-6'>\n <Card>\n <CardContent className='pt-6'>\n {hasNoDifferences ? (\n <p className='text-center text-gray-600'>\n No differences detected between the two versions\n </p>\n ) : (\n <div className='flex gap-6 justify-center'>\n {diff.added.length > 0 && (\n <div className='flex items-center gap-2'>\n <span className='w-4 h-4 bg-green-500 rounded'></span>\n <span className='text-sm'>\n {diff.added.length} field{diff.added.length > 1 ? 's' : ''}{' '}\n added\n </span>\n </div>\n )}\n {diff.removed.length > 0 && (\n <div className='flex items-center gap-2'>\n <span className='w-4 h-4 bg-red-500 rounded'></span>\n <span className='text-sm'>\n {diff.removed.length} field\n {diff.removed.length > 1 ? 's' : ''} removed\n </span>\n </div>\n )}\n {diff.modified.length > 0 && (\n <div className='flex items-center gap-2'>\n <span className='w-4 h-4 bg-yellow-500 rounded'></span>\n <span className='text-sm'>\n {diff.modified.length} field\n {diff.modified.length > 1 ? 's' : ''} modified\n </span>\n </div>\n )}\n </div>\n )}\n </CardContent>\n </Card>\n\n <div className='grid grid-cols-2 gap-6'>\n <FormPanel\n version={topVersion}\n fields={topFields}\n fieldsets={topFieldsets}\n diffMap={diff.fieldDiffs}\n title='Left'\n scrollRef={leftScrollRef}\n />\n <FormPanel\n version={bottomVersion}\n fields={bottomFields}\n fieldsets={bottomFieldsets}\n diffMap={diff.fieldDiffs}\n title='Right'\n scrollRef={rightScrollRef}\n />\n </div>\n </div>\n );\n};\n","export type SchemaVersion = number | 'latest';\n\nexport interface VersionOption {\n value: SchemaVersion;\n label: string;\n}\n\nexport const BASIC_INFO_VERSIONS: VersionOption[] = [\n { value: 1, label: 'v1 (Legacy)' },\n { value: 3, label: 'v3 (Recommended)' },\n];\n\n// AI generated from tiger\nexport const COUNTRY_CONTRACT_VERSIONS: Record<string, VersionOption[]> = {\n ALB: [{ value: 1, label: 'v1' }],\n ARE: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 3, label: 'v3' },\n ],\n ARG: [{ value: 1, label: 'v1' }],\n ARM: [{ value: 1, label: 'v1' }],\n AUS: [{ value: 1, label: 'v1' }],\n AUT: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 3, label: 'v3' },\n ],\n BEL: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n BGD: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 3, label: 'v3' },\n ],\n BGR: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 3, label: 'v3' },\n ],\n BIH: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 3, label: 'v3' },\n ],\n BLR: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n BOL: [{ value: 1, label: 'v1' }],\n BRA: [{ value: 1, label: 'v1' }],\n CAN: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n CHE: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n CHL: [{ value: 1, label: 'v1' }],\n CHN: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 3, label: 'v3' },\n ],\n COL: [{ value: 1, label: 'v1' }],\n CRI: [{ value: 1, label: 'v1' }],\n CYP: [{ value: 1, label: 'v1' }],\n CZE: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n DEU: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 3, label: 'v3' },\n ],\n DNK: [{ value: 1, label: 'v1' }],\n DOM: [{ value: 1, label: 'v1' }],\n ECU: [{ value: 1, label: 'v1' }],\n EGY: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n ESP: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n EST: [{ value: 1, label: 'v1' }],\n FIN: [{ value: 1, label: 'v1' }],\n FRA: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n //FRA_SAS: [{ value: 1, label: 'v1' }],\n GBR: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n GEO: [{ value: 1, label: 'v1' }],\n GRC: [{ value: 1, label: 'v1' }],\n GTM: [{ value: 1, label: 'v1' }],\n HKG: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n HND: [{ value: 1, label: 'v1' }],\n HRV: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n HUN: [{ value: 1, label: 'v1' }],\n IDN: [{ value: 1, label: 'v1' }],\n IND: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n IRL: [{ value: 1, label: 'v1' }],\n ISL: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n ISR: [{ value: 1, label: 'v1' }],\n ITA: [{ value: 1, label: 'v1' }],\n //ITA_APL: [{ value: 1, label: 'v1' }],\n JAM: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n JPN: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n KEN: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n KGZ: [{ value: 1, label: 'v1' }],\n KHM: [{ value: 1, label: 'v1' }],\n KOR: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 3, label: 'v3' },\n ],\n LBN: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n LKA: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 3, label: 'v3' },\n ],\n LTU: [{ value: 1, label: 'v1' }],\n LUX: [{ value: 1, label: 'v1' }],\n LVA: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n MAR: [{ value: 1, label: 'v1' }],\n MDA: [{ value: 1, label: 'v1' }],\n MEX: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 3, label: 'v3' },\n ],\n MKD: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 3, label: 'v3' },\n ],\n MLT: [{ value: 1, label: 'v1' }],\n MNG: [{ value: 1, label: 'v1' }],\n MUS: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n MYS: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n NGA: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n NIC: [{ value: 1, label: 'v1' }],\n NLD: [{ value: 1, label: 'v1' }],\n NOR: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n NZL: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n PAK: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n PAN: [{ value: 1, label: 'v1' }],\n PER: [{ value: 1, label: 'v1' }],\n PHL: [{ value: 1, label: 'v1' }],\n POL: [{ value: 1, label: 'v1' }],\n PRI: [{ value: 1, label: 'v1' }],\n PRT: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 3, label: 'v3' },\n ],\n PRY: [{ value: 1, label: 'v1' }],\n ROU: [{ value: 1, label: 'v1' }],\n SAU: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n SGP: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n SLV: [{ value: 1, label: 'v1' }],\n SRB: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 3, label: 'v3' },\n ],\n SVK: [{ value: 1, label: 'v1' }],\n SVN: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 3, label: 'v3' },\n ],\n SWE: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n THA: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n TUN: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 3, label: 'v3' },\n ],\n TUR: [{ value: 1, label: 'v1' }],\n TWN: [{ value: 1, label: 'v1' }],\n UGA: [{ value: 1, label: 'v1' }],\n UKR: [{ value: 1, label: 'v1' }],\n URY: [{ value: 1, label: 'v1' }],\n USA: [{ value: 1, label: 'v1' }],\n VNM: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n XKX: [{ value: 1, label: 'v1' }],\n ZAF: [{ value: 1, label: 'v1' }],\n ZWE: [{ value: 1, label: 'v1' }],\n};\n\nexport const COUNTRY_CONTRACT_VERSIONS_WITH_MULTIPLE_VERSIONS =\n Object.fromEntries(\n Object.entries(COUNTRY_CONTRACT_VERSIONS).filter(\n ([, versions]) => versions.length > 1,\n ),\n ) as Record<string, VersionOption[]>;\n\nexport const FORM_TYPES = [\n { value: 'employment_basic_information', label: 'Basic Information' },\n { value: 'contract_details', label: 'Contract Details' },\n] as const;\n\nexport type FormType = (typeof FORM_TYPES)[number]['value'];\n"],"mappings":"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","names":["CollapsiblePrimitive","Collapsible","CollapsibleTrigger","CollapsibleContent","TabsPrimitive","jsx","Tabs","className","props","cn","__name","TabsList","TabsTrigger","TabsContent","React","ScrollAreaPrimitive","jsx","jsxs","ScrollArea","className","children","props","ref","cn","ScrollBar","orientation","useState","useEffect","useMemo","useQuery","equal","validateField","__name","field","compareOptions","options1","options2","equal","map1","o","map2","added","removed","modified","option","value","option1","option2","changes","compareNestedFields","field1","field2","nestedFields1","nestedFields2","nestedDiff","compareFormFields","isFieldModified","checks","hasNestedChanges","check","getFieldChanges","optionsDiff","nestedFieldsDiff","fields1","fields2","validFields1","validFields2","fieldMap1","fieldMap2","unchanged","fieldDiffs","_","name","getDiffStyles","diffType","useMemo","useRef","useEffect","jsx","jsxs","FieldWrapper","__name","children","diffType","changes","styles","getDiffStyles","badge","renderChanges","changesList","oldJsonType","newJsonType","opt","FormPanel","version","fields","fieldsets","diffMap","title","scrollRef","form","useForm","fieldsWithWrappers","useMemo","applyWrappers","field","diff","nestedFields","processedField","nestedDiffMap","nestedDiff","wrappedNestedFields","Card","CardHeader","CardTitle","CardContent","Form","JSONSchemaFormFields","SchemaFormComparison","topVersion","bottomVersion","topFields","bottomFields","topFieldsets","bottomFieldsets","isLoading","compareFormFields","leftScrollRef","useRef","rightScrollRef","isSyncing","useEffect","leftEl","rightEl","handleLeftScroll","handleRightScroll","hasNoDifferences","BASIC_INFO_VERSIONS","COUNTRY_CONTRACT_VERSIONS","COUNTRY_CONTRACT_VERSIONS_WITH_MULTIPLE_VERSIONS","versions","FORM_TYPES","jsx","jsxs","JsonSchemaComparison","__name","formType","setFormType","useState","topVersion","setTopVersion","bottomVersion","setBottomVersion","countryCode","setCountryCode","client","useClient","countriesData","useQuery","countriesOptions","response","country","COUNTRY_CONTRACT_VERSIONS_WITH_MULTIPLE_VERSIONS","isContractDetails","topSchema","isLoadingTop","useJSONSchemaForm","bottomSchema","isLoadingBottom","isLoading","countryVersions","COUNTRY_CONTRACT_VERSIONS","hasCountryMapping","versionOptions","useMemo","BASIC_INFO_VERSIONS","useEffect","availableVersionValues","v","Card","CardHeader","CardTitle","CardContent","Label","Tabs","value","TabsList","FORM_TYPES","type","TabsTrigger","Select","SelectTrigger","SelectValue","SelectContent","SelectItem","version","SchemaFormComparison"]}
1
+ {"version":3,"sources":["../src/components/ui/collapsible.tsx","../src/components/ui/tabs.tsx","../src/components/ui/scroll-area.tsx","../src/components/JsonSchemaComparison/JsonSchemaComparison.tsx","../src/components/JsonSchemaComparison/formDiffDetector.ts","../src/components/JsonSchemaComparison/SchemaFormComparison.tsx","../src/components/JsonSchemaComparison/schemaVersions.ts"],"sourcesContent":["import * as CollapsiblePrimitive from '@radix-ui/react-collapsible';\n\nconst Collapsible = CollapsiblePrimitive.Root;\n\nconst CollapsibleTrigger = CollapsiblePrimitive.CollapsibleTrigger;\n\nconst CollapsibleContent = CollapsiblePrimitive.CollapsibleContent;\n\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent };\n","import * as React from 'react';\nimport * as TabsPrimitive from '@radix-ui/react-tabs';\n\nimport { cn } from '@/src/lib/utils';\n\nfunction Tabs({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Root>) {\n return (\n <TabsPrimitive.Root\n data-slot='tabs'\n className={cn('flex flex-col gap-2', className)}\n {...props}\n />\n );\n}\n\nfunction TabsList({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.List>) {\n return (\n <TabsPrimitive.List\n data-slot='tabs-list'\n className={cn(\n 'bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-1',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction TabsTrigger({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Trigger>) {\n return (\n <TabsPrimitive.Trigger\n data-slot='tabs-trigger'\n className={cn(\n \"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\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction TabsContent({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Content>) {\n return (\n <TabsPrimitive.Content\n data-slot='tabs-content'\n className={cn('flex-1 outline-none', className)}\n {...props}\n />\n );\n}\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent };\n","import * as React from 'react';\nimport * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';\n\nimport { cn } from '@/src/lib/utils';\n\nconst ScrollArea = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>\n>(({ className, children, ...props }, ref) => (\n <ScrollAreaPrimitive.Root\n ref={ref}\n className={cn('relative overflow-hidden', className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport className='h-full w-full rounded-[inherit]'>\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n));\nScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;\n\nconst ScrollBar = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>\n>(({ className, orientation = 'vertical', ...props }, ref) => (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n ref={ref}\n orientation={orientation}\n className={cn(\n 'flex touch-none select-none transition-colors',\n orientation === 'vertical' &&\n 'h-full w-2.5 border-l border-l-transparent p-[1px]',\n orientation === 'horizontal' &&\n 'h-2.5 flex-col border-t border-t-transparent p-[1px]',\n className,\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb className='relative flex-1 rounded-full bg-border' />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n));\nScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;\n\nexport { ScrollArea, ScrollBar };\n","import { useState, useEffect, useMemo } from 'react';\nimport { useQuery } from '@tanstack/react-query';\nimport {\n Card,\n CardContent,\n CardHeader,\n CardTitle,\n} from '@/src/components/ui/card';\nimport { Label } from '@/src/components/ui/label';\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from '@/src/components/ui/select';\nimport { Tabs, TabsList, TabsTrigger } from '@/src/components/ui/tabs';\nimport { useJSONSchemaForm } from '@/src/flows/Onboarding/api';\nimport { SchemaFormComparison } from './SchemaFormComparison';\nimport {\n BASIC_INFO_VERSIONS,\n COUNTRY_CONTRACT_VERSIONS,\n COUNTRY_CONTRACT_VERSIONS_WITH_MULTIPLE_VERSIONS,\n FORM_TYPES,\n type FormType,\n type SchemaVersion,\n} from './schemaVersions';\nimport { countriesOptions } from '@/src/common/api/countries';\nimport { useClient } from '@/src/context';\nimport type { Client } from '@/src/client/client';\nimport { JSFField } from '@/src/types/remoteFlows';\n\nexport const JsonSchemaComparison = () => {\n const [formType, setFormType] = useState<FormType>(\n 'employment_basic_information',\n );\n const [topVersion, setTopVersion] = useState<SchemaVersion>(1);\n const [bottomVersion, setBottomVersion] = useState<SchemaVersion>(1);\n const [countryCode, setCountryCode] = useState<string>('ARE');\n\n const { client } = useClient();\n\n const { data: countriesData } = useQuery({\n ...countriesOptions(client as Client, 'schema-comparison'),\n select: (response) =>\n response.data?.data\n ?.filter(\n (country: { eor_onboarding?: boolean }) => country.eor_onboarding,\n )\n .filter((country: { code: string }) =>\n Object.keys(\n COUNTRY_CONTRACT_VERSIONS_WITH_MULTIPLE_VERSIONS,\n ).includes(country.code),\n )\n .map((country: { name: string; code: string }) => ({\n label: country.name,\n value: country.code,\n })) || [],\n });\n\n const isContractDetails = formType === 'contract_details';\n\n const { data: topSchema, isLoading: isLoadingTop } = useJSONSchemaForm({\n countryCode: countryCode,\n form: formType,\n fieldValues: {},\n jsonSchemaVersion: topVersion,\n options: {\n queryOptions: {\n enabled: true,\n },\n },\n });\n\n const { data: bottomSchema, isLoading: isLoadingBottom } = useJSONSchemaForm({\n countryCode: countryCode,\n form: formType,\n fieldValues: {},\n jsonSchemaVersion: bottomVersion,\n options: {\n queryOptions: {\n enabled: true,\n },\n },\n });\n\n const isLoading = isLoadingTop || isLoadingBottom;\n\n const countryVersions = COUNTRY_CONTRACT_VERSIONS[countryCode];\n const hasCountryMapping = countryVersions !== undefined;\n\n const versionOptions = useMemo(() => {\n return formType === 'employment_basic_information'\n ? BASIC_INFO_VERSIONS\n : countryVersions || [{ value: 'latest', label: 'Latest' }];\n }, [formType, countryVersions]);\n\n useEffect(() => {\n const availableVersionValues = versionOptions.map((v) => v.value);\n\n if (!availableVersionValues.includes(topVersion)) {\n // WE NEED TO FIX: react-hooks/set-state-in-effect - Calling setState synchronously within an effect can trigger cascading renders\n // oxlint-disable-next-line react-hooks/set-state-in-effect\n setTopVersion(versionOptions[0].value);\n }\n if (!availableVersionValues.includes(bottomVersion)) {\n setBottomVersion(versionOptions[0].value);\n }\n }, [formType, countryCode, versionOptions, topVersion, bottomVersion]);\n\n return (\n <div className='space-y-6'>\n <Card>\n <CardHeader>\n <CardTitle>Configuration</CardTitle>\n </CardHeader>\n <CardContent className='space-y-4'>\n <div>\n <Label className='mb-2 block'>Form Type</Label>\n <Tabs\n value={formType}\n onValueChange={(value) => setFormType(value as FormType)}\n >\n <TabsList className='grid w-full grid-cols-2'>\n {FORM_TYPES.map((type) => (\n <TabsTrigger key={type.value} value={type.value}>\n {type.label}\n </TabsTrigger>\n ))}\n </TabsList>\n </Tabs>\n </div>\n\n {isContractDetails && !hasCountryMapping && (\n <div className='rounded-md bg-yellow-50 p-4 border border-yellow-200'>\n <div className='flex'>\n <div className='flex-shrink-0'>\n <svg\n className='h-5 w-5 text-yellow-400'\n viewBox='0 0 20 20'\n fill='currentColor'\n >\n <path\n fillRule='evenodd'\n 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'\n clipRule='evenodd'\n />\n </svg>\n </div>\n <div className='ml-3'>\n <h3 className='text-sm font-medium text-yellow-800'>\n Version mappings not found\n </h3>\n <div className='mt-2 text-sm text-yellow-700'>\n <p>\n Country{' '}\n <span className='font-semibold'>{countryCode}</span> is\n not configured in COUNTRY_CONTRACT_VERSIONS. Using default\n (latest only).\n </p>\n </div>\n </div>\n </div>\n </div>\n )}\n\n {isContractDetails && (\n <div>\n <Label htmlFor='country-select' className='mb-2 block'>\n Country\n </Label>\n <Select value={countryCode} onValueChange={setCountryCode}>\n <SelectTrigger id='country-select'>\n <SelectValue placeholder='Select a country' />\n </SelectTrigger>\n <SelectContent>\n {countriesData?.map(\n (country: { label: string; value: string }) => (\n <SelectItem key={country.value} value={country.value}>\n {country.label}\n </SelectItem>\n ),\n )}\n </SelectContent>\n </Select>\n </div>\n )}\n\n <div className='grid grid-cols-2 gap-4'>\n <div>\n <Label htmlFor='top-version' className='mb-2 block'>\n Left Version\n </Label>\n <Select\n value={String(topVersion)}\n onValueChange={(value) =>\n setTopVersion(value === 'latest' ? 'latest' : Number(value))\n }\n >\n <SelectTrigger id='top-version'>\n <SelectValue placeholder='Select version' />\n </SelectTrigger>\n <SelectContent>\n {versionOptions.map((version) => (\n <SelectItem\n key={String(version.value)}\n value={String(version.value)}\n >\n {version.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n\n <div>\n <Label htmlFor='bottom-version' className='mb-2 block'>\n Right Version\n </Label>\n <Select\n value={String(bottomVersion)}\n onValueChange={(value) =>\n setBottomVersion(\n value === 'latest' ? 'latest' : Number(value),\n )\n }\n >\n <SelectTrigger id='bottom-version'>\n <SelectValue placeholder='Select version' />\n </SelectTrigger>\n <SelectContent>\n {versionOptions.map((version) => (\n <SelectItem\n key={String(version.value)}\n value={String(version.value)}\n >\n {version.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n </div>\n </CardContent>\n </Card>\n\n <SchemaFormComparison\n topVersion={topVersion}\n bottomVersion={bottomVersion}\n topFields={(topSchema?.fields as JSFField[]) || []}\n bottomFields={(bottomSchema?.fields as JSFField[]) || []}\n topFieldsets={topSchema?.meta?.['x-jsf-fieldsets']}\n bottomFieldsets={bottomSchema?.meta?.['x-jsf-fieldsets']}\n isLoading={isLoading}\n />\n </div>\n );\n};\n","import type { $TSFixMe, JSFField } from '@/src/types/remoteFlows';\nimport equal from 'fast-deep-equal';\n\nexport type DiffType = 'added' | 'removed' | 'modified' | 'unchanged';\n\nexport interface FieldDiff {\n fieldName: string;\n diffType: DiffType;\n changes?: {\n label?: { old: string; new: string };\n required?: { old: boolean; new: boolean };\n type?: { old: string; new: string };\n inputType?: { old: string; new: string };\n jsonType?: { old: string; new: string };\n defaultValue?: { old: unknown; new: unknown };\n minDate?: { old: string; new: string };\n maxDate?: { old: string; new: string };\n maxLength?: { old: number; new: number };\n multiple?: { old: boolean; new: boolean };\n isVisible?: { old: boolean; new: boolean };\n options?: {\n added: Array<{ value: string; label: string }>;\n removed: Array<{ value: string; label: string }>;\n modified: Array<{\n value: string;\n changes: { label?: { old: string; new: string } };\n }>;\n };\n nestedFields?: FieldDiff[];\n };\n}\n\nexport interface FormDiff {\n added: string[];\n removed: string[];\n modified: string[];\n unchanged: string[];\n fieldDiffs: Map<string, FieldDiff>;\n}\n\nconst validateField = (field: JSFField): boolean => {\n if (!field.name) {\n console.warn('Field missing required \"name\" property:', field);\n return false;\n }\n if (!field.type) {\n console.warn(`Field \"${field.name}\" missing required \"type\" property`);\n return false;\n }\n return true;\n};\n\nconst compareOptions = (\n options1: JSFField['options'],\n options2: JSFField['options'],\n):\n | {\n added: Array<{ value: string; label: string }>;\n removed: Array<{ value: string; label: string }>;\n modified: Array<{\n value: string;\n changes: { label?: { old: string; new: string } };\n }>;\n }\n | undefined => {\n if (equal(options1, options2)) return undefined;\n\n const map1 = new Map((options1 || []).map((o) => [o.value, o]));\n const map2 = new Map((options2 || []).map((o) => [o.value, o]));\n\n const added: Array<{ value: string; label: string }> = [];\n const removed: Array<{ value: string; label: string }> = [];\n const modified: Array<{\n value: string;\n changes: { label?: { old: string; new: string } };\n }> = [];\n\n map2.forEach((option, value) => {\n if (!map1.has(value)) {\n added.push({ value: option.value, label: option.label });\n }\n });\n\n map1.forEach((option1, value) => {\n if (!map2.has(value)) {\n removed.push({ value: option1.value, label: option1.label });\n } else {\n const option2 = map2.get(value)!;\n if (!equal(option1, option2)) {\n const changes: { label?: { old: string; new: string } } = {};\n if (option1.label !== option2.label) {\n changes.label = { old: option1.label, new: option2.label };\n }\n if (Object.keys(changes).length > 0) {\n modified.push({ value, changes });\n }\n }\n }\n });\n\n if (added.length === 0 && removed.length === 0 && modified.length === 0) {\n return undefined;\n }\n\n return { added, removed, modified };\n};\n\nconst compareNestedFields = (\n field1: JSFField,\n field2: JSFField,\n): FieldDiff[] | undefined => {\n const nestedFields1 = (field1 as $TSFixMe).fields;\n\n const nestedFields2 = (field2 as $TSFixMe).fields;\n\n if (!nestedFields1 && !nestedFields2) return undefined;\n\n const nestedDiff = compareFormFields(\n nestedFields1 || [],\n nestedFields2 || [],\n );\n\n const hasChanges =\n nestedDiff.added.length > 0 ||\n nestedDiff.removed.length > 0 ||\n nestedDiff.modified.length > 0;\n\n if (!hasChanges) return undefined;\n\n return Array.from(nestedDiff.fieldDiffs.values());\n};\n\nconst isFieldModified = (field1: JSFField, field2: JSFField): boolean => {\n // Only compare user-facing schema properties, not internal/computed ones\n // Ignore: schema (Yup), computedAttributes, scopedJsonSchema, errorMessage, meta, description\n // Note: nested fields are checked via compareNestedFields to avoid deep equal with problematic properties\n const checks = {\n label: field1.label !== field2.label,\n required: field1.required !== field2.required,\n inputType: field1.inputType !== field2.inputType,\n type: field1.type !== field2.type,\n jsonType: !equal(field1.jsonType, field2.jsonType), // Use equal since jsonType can be an array like ['string', 'null']\n name: field1.name !== field2.name,\n defaultValue: field1.defaultValue !== field2.defaultValue,\n minDate: field1.minDate !== field2.minDate,\n maxDate: field1.maxDate !== field2.maxDate,\n maxLength: field1.maxLength !== field2.maxLength,\n multiple: field1.multiple !== field2.multiple,\n isVisible: field1.isVisible !== field2.isVisible,\n options: !equal(field1.options, field2.options),\n };\n\n // Check for nested field changes using compareNestedFields to avoid deep isEqual\n const hasNestedChanges = (() => {\n const nestedFields1 = (field1 as $TSFixMe).fields;\n const nestedFields2 = (field2 as $TSFixMe).fields;\n\n // If both undefined or null, no changes\n if (!nestedFields1 && !nestedFields2) return false;\n\n // If one is defined and the other isn't, there's a change\n if (!nestedFields1 || !nestedFields2) return true;\n\n // Recursively compare using our proper comparison logic\n const nestedDiff = compareFormFields(nestedFields1, nestedFields2);\n return (\n nestedDiff.added.length > 0 ||\n nestedDiff.removed.length > 0 ||\n nestedDiff.modified.length > 0\n );\n })();\n\n const isModified =\n Object.values(checks).some((check) => check) || hasNestedChanges;\n\n return isModified;\n};\n\nconst getFieldChanges = (field1: JSFField, field2: JSFField) => {\n const changes: FieldDiff['changes'] = {};\n\n if (field1.label !== field2.label) {\n changes.label = { old: field1.label, new: field2.label };\n }\n\n if (field1.required !== field2.required) {\n changes.required = { old: field1.required, new: field2.required };\n }\n\n if (field1.type !== field2.type) {\n changes.type = { old: field1.type, new: field2.type };\n }\n\n if (field1.inputType !== field2.inputType) {\n changes.inputType = {\n old: field1.inputType,\n new: field2.inputType,\n };\n }\n\n if (!equal(field1.jsonType, field2.jsonType)) {\n changes.jsonType = {\n old: field1.jsonType,\n new: field2.jsonType,\n };\n }\n\n if (!equal(field1.defaultValue, field2.defaultValue)) {\n changes.defaultValue = {\n old: field1.defaultValue,\n new: field2.defaultValue,\n };\n }\n\n if (field1.minDate !== field2.minDate) {\n changes.minDate = {\n old: field1.minDate || '',\n new: field2.minDate || '',\n };\n }\n\n if (field1.maxDate !== field2.maxDate) {\n changes.maxDate = {\n old: field1.maxDate || '',\n new: field2.maxDate || '',\n };\n }\n\n if (field1.maxLength !== field2.maxLength) {\n changes.maxLength = {\n old: field1.maxLength || 0,\n new: field2.maxLength || 0,\n };\n }\n\n if (field1.multiple !== field2.multiple) {\n changes.multiple = {\n old: field1.multiple || false,\n new: field2.multiple || false,\n };\n }\n\n if (field1.isVisible !== field2.isVisible) {\n changes.isVisible = {\n old: field1.isVisible,\n new: field2.isVisible,\n };\n }\n\n const optionsDiff = compareOptions(field1.options, field2.options);\n if (optionsDiff) {\n changes.options = optionsDiff;\n }\n\n const nestedFieldsDiff = compareNestedFields(field1, field2);\n if (nestedFieldsDiff) {\n changes.nestedFields = nestedFieldsDiff;\n }\n\n return Object.keys(changes).length > 0 ? changes : undefined;\n};\n\nexport const compareFormFields = (\n fields1: JSFField[] = [],\n fields2: JSFField[] = [],\n): FormDiff => {\n const validFields1 = fields1.filter(validateField);\n const validFields2 = fields2.filter(validateField);\n\n const fieldMap1 = new Map(validFields1.map((f) => [f.name, { field: f }]));\n const fieldMap2 = new Map(validFields2.map((f) => [f.name, { field: f }]));\n\n const added: string[] = [];\n const removed: string[] = [];\n const modified: string[] = [];\n const unchanged: string[] = [];\n const fieldDiffs = new Map<string, FieldDiff>();\n\n fieldMap2.forEach((_, name) => {\n if (!fieldMap1.has(name)) {\n added.push(name);\n fieldDiffs.set(name, {\n fieldName: name,\n diffType: 'added',\n });\n }\n });\n\n fieldMap1.forEach(({ field: field1 }, name) => {\n if (!fieldMap2.has(name)) {\n removed.push(name);\n fieldDiffs.set(name, {\n fieldName: name,\n diffType: 'removed',\n });\n } else {\n const { field: field2 } = fieldMap2.get(name)!;\n\n if (isFieldModified(field1, field2)) {\n modified.push(name);\n fieldDiffs.set(name, {\n fieldName: name,\n diffType: 'modified',\n changes: getFieldChanges(field1, field2),\n });\n } else {\n unchanged.push(name);\n fieldDiffs.set(name, {\n fieldName: name,\n diffType: 'unchanged',\n });\n }\n }\n });\n\n return {\n added,\n removed,\n modified,\n unchanged,\n fieldDiffs,\n };\n};\n\nexport const getDiffStyles = (diffType: DiffType): string => {\n switch (diffType) {\n case 'added':\n return 'bg-green-50 border-l-4 border-green-500';\n case 'removed':\n return 'bg-red-50 border-l-4 border-red-500';\n case 'modified':\n return 'bg-yellow-50 border-l-4 border-yellow-500';\n case 'unchanged':\n default:\n return '';\n }\n};\n","import { JSONSchemaFormFields } from '@/src/components/form/JSONSchemaForm';\nimport { Form } from '@/src/components/ui/form';\nimport { useForm } from 'react-hook-form';\nimport {\n Card,\n CardContent,\n CardHeader,\n CardTitle,\n} from '@/src/components/ui/card';\nimport type { JSFField, JSFFieldset } from '@/src/types/remoteFlows';\nimport { compareFormFields, getDiffStyles } from './formDiffDetector';\nimport { useMemo, useRef, useEffect } from 'react';\n\ninterface SchemaFormComparisonProps {\n topVersion: string | number;\n bottomVersion: string | number;\n topFields: JSFField[];\n bottomFields: JSFField[];\n topFieldsets?: JSFFieldset | null;\n bottomFieldsets?: JSFFieldset | null;\n isLoading?: boolean;\n}\n\nconst FieldWrapper = ({\n children,\n diffType,\n changes,\n}: {\n children: React.ReactNode;\n diffType: 'added' | 'removed' | 'modified' | 'unchanged';\n fieldName: string;\n changes?: {\n label?: { old: string; new: string };\n required?: { old: boolean; new: boolean };\n type?: { old: string; new: string };\n inputType?: { old: string; new: string };\n jsonType?: { old: string; new: string };\n defaultValue?: { old: unknown; new: unknown };\n minDate?: { old: string; new: string };\n maxDate?: { old: string; new: string };\n maxLength?: { old: number; new: number };\n multiple?: { old: boolean; new: boolean };\n isVisible?: { old: boolean; new: boolean };\n options?: {\n added: Array<{ value: string; label: string }>;\n removed: Array<{ value: string; label: string }>;\n modified: Array<{\n value: string;\n changes: { label?: { old: string; new: string } };\n }>;\n };\n nestedFields?: unknown[];\n };\n}) => {\n const styles = getDiffStyles(diffType);\n\n if (diffType === 'unchanged') {\n return <div>{children}</div>;\n }\n\n const badges = {\n added: (\n <span className='text-xs font-semibold text-green-700 bg-green-100 px-2 py-1 rounded'>\n NEW\n </span>\n ),\n removed: (\n <span className='text-xs font-semibold text-red-700 bg-red-100 px-2 py-1 rounded'>\n REMOVED\n </span>\n ),\n modified: (\n <span className='text-xs font-semibold text-yellow-700 bg-yellow-100 px-2 py-1 rounded'>\n MODIFIED\n </span>\n ),\n };\n\n const badge = badges[diffType];\n\n const renderChanges = () => {\n if (!changes || diffType !== 'modified') return null;\n\n const changesList: React.ReactNode[] = [];\n\n if (changes.label) {\n changesList.push(\n <div key='label' className='text-xs'>\n <span className='font-semibold'>Label:</span>{' '}\n <span className='line-through text-red-600'>{changes.label.old}</span>{' '}\n → <span className='text-green-600'>{changes.label.new}</span>\n </div>,\n );\n }\n\n if (changes.required) {\n changesList.push(\n <div key='required' className='text-xs'>\n <span className='font-semibold'>Required:</span>{' '}\n <span className='line-through text-red-600'>\n {changes.required.old ? 'Yes' : 'No'}\n </span>{' '}\n →{' '}\n <span className='text-green-600'>\n {changes.required.new ? 'Yes' : 'No'}\n </span>\n </div>,\n );\n }\n\n if (changes.type) {\n changesList.push(\n <div key='type' className='text-xs'>\n <span className='font-semibold'>Type:</span>{' '}\n <span className='line-through text-red-600'>{changes.type.old}</span>{' '}\n → <span className='text-green-600'>{changes.type.new}</span>\n </div>,\n );\n }\n\n if (changes.inputType) {\n changesList.push(\n <div key='inputType' className='text-xs'>\n <span className='font-semibold'>Input Type:</span>{' '}\n <span className='line-through text-red-600'>\n {changes.inputType.old}\n </span>{' '}\n → <span className='text-green-600'>{changes.inputType.new}</span>\n </div>,\n );\n }\n\n if (changes.jsonType) {\n const oldJsonType = Array.isArray(changes.jsonType.old)\n ? changes.jsonType.old.join(' | ')\n : changes.jsonType.old;\n const newJsonType = Array.isArray(changes.jsonType.new)\n ? changes.jsonType.new.join(' | ')\n : changes.jsonType.new;\n\n changesList.push(\n <div key='jsonType' className='text-xs'>\n <span className='font-semibold'>JSON Type:</span>{' '}\n <span className='line-through text-red-600'>{oldJsonType}</span> →{' '}\n <span className='text-green-600'>{newJsonType}</span>\n </div>,\n );\n }\n\n if (changes.defaultValue !== undefined) {\n changesList.push(\n <div key='defaultValue' className='text-xs'>\n <span className='font-semibold'>Default Value:</span>{' '}\n <span className='line-through text-red-600'>\n {JSON.stringify(changes.defaultValue.old)}\n </span>{' '}\n →{' '}\n <span className='text-green-600'>\n {JSON.stringify(changes.defaultValue.new)}\n </span>\n </div>,\n );\n }\n\n if (changes.options) {\n if (changes.options.added.length > 0) {\n changesList.push(\n <div key='options-added' className='text-xs'>\n <span className='font-semibold text-green-700'>Options Added:</span>{' '}\n {changes.options.added.map((opt) => opt.label).join(', ')}\n </div>,\n );\n }\n if (changes.options.removed.length > 0) {\n changesList.push(\n <div key='options-removed' className='text-xs'>\n <span className='font-semibold text-red-700'>Options Removed:</span>{' '}\n {changes.options.removed.map((opt) => opt.label).join(', ')}\n </div>,\n );\n }\n if (changes.options.modified.length > 0) {\n changesList.push(\n <div key='options-modified' className='text-xs'>\n <span className='font-semibold'>Options Modified:</span>{' '}\n {changes.options.modified.length} option(s)\n </div>,\n );\n }\n }\n\n if (changes.nestedFields && changes.nestedFields.length > 0) {\n changesList.push(\n <div key='nestedFields' className='text-xs'>\n <span className='font-semibold'>Nested Fields:</span>{' '}\n {changes.nestedFields.length} field(s) changed\n </div>,\n );\n }\n\n if (changesList.length === 0) return null;\n\n return (\n <div className='mt-2 p-2 bg-yellow-50 rounded border border-yellow-200 space-y-1'>\n <div className='text-xs font-semibold text-yellow-800 mb-1'>\n Changes:\n </div>\n {changesList}\n </div>\n );\n };\n\n return (\n <div className={`p-3 mb-2 rounded ${styles} relative`}>\n <div className='absolute top-2 right-2'>{badge}</div>\n {children}\n {renderChanges()}\n </div>\n );\n};\n\nconst FormPanel = ({\n version,\n fields,\n fieldsets,\n diffMap,\n title,\n scrollRef,\n}: {\n version: string | number;\n fields: JSFField[];\n fieldsets?: JSFFieldset | null;\n diffMap: Map<\n string,\n {\n diffType: 'added' | 'removed' | 'modified' | 'unchanged';\n changes?: unknown;\n }\n >;\n title: string;\n scrollRef?: React.RefObject<HTMLDivElement | null>;\n}) => {\n const form = useForm({\n mode: 'onBlur',\n });\n\n const fieldsWithWrappers = useMemo(() => {\n // Recursive function to apply wrappers to fields and their nested fields\n const applyWrappers = (\n fields: JSFField[],\n diffMap: Map<\n string,\n {\n diffType: 'added' | 'removed' | 'modified' | 'unchanged';\n changes?: unknown;\n }\n >,\n ): JSFField[] => {\n return fields.map((field) => {\n const diff = diffMap.get(field.name);\n const diffType = diff?.diffType || 'unchanged';\n const changes = diff?.changes;\n\n // If this field has nested fields (e.g., fieldset), recursively apply wrappers\n const nestedFields = (field as never as { fields?: JSFField[] }).fields;\n let processedField = field;\n\n if (nestedFields && Array.isArray(nestedFields)) {\n // Build a nested diff map from the changes.nestedFields\n const nestedDiffMap = new Map<\n string,\n {\n diffType: 'added' | 'removed' | 'modified' | 'unchanged';\n changes?: unknown;\n }\n >();\n\n if (\n changes &&\n typeof changes === 'object' &&\n 'nestedFields' in changes &&\n Array.isArray(changes.nestedFields)\n ) {\n (\n changes.nestedFields as Array<{\n fieldName: string;\n diffType: 'added' | 'removed' | 'modified' | 'unchanged';\n changes?: unknown;\n }>\n ).forEach((nestedDiff) => {\n nestedDiffMap.set(nestedDiff.fieldName, {\n diffType: nestedDiff.diffType,\n changes: nestedDiff.changes,\n });\n });\n }\n\n // Recursively apply wrappers to nested fields\n const wrappedNestedFields = applyWrappers(\n nestedFields,\n nestedDiffMap,\n );\n processedField = {\n ...field,\n fields: wrappedNestedFields,\n } as JSFField;\n }\n\n return {\n ...processedField,\n WrapperComponent: ({ children }: { children: React.ReactNode }) => (\n <FieldWrapper\n diffType={diffType}\n fieldName={field.name}\n changes={changes as never}\n >\n {children}\n </FieldWrapper>\n ),\n };\n });\n };\n\n return applyWrappers(fields, diffMap);\n }, [fields, diffMap]);\n\n return (\n <Card className='h-full'>\n <CardHeader>\n <CardTitle>\n {title} - Version {version}\n </CardTitle>\n </CardHeader>\n <CardContent ref={scrollRef} className='overflow-y-auto max-h-[600px]'>\n <Form {...form}>\n <form className='space-y-4'>\n <JSONSchemaFormFields\n fields={fieldsWithWrappers}\n fieldsets={fieldsets}\n fieldValues={{}}\n />\n </form>\n </Form>\n </CardContent>\n </Card>\n );\n};\n\nexport const SchemaFormComparison = ({\n topVersion,\n bottomVersion,\n topFields,\n bottomFields,\n topFieldsets,\n bottomFieldsets,\n isLoading,\n}: SchemaFormComparisonProps) => {\n const diff = useMemo(\n () => compareFormFields(topFields, bottomFields),\n [topFields, bottomFields],\n );\n\n const leftScrollRef = useRef<HTMLDivElement>(null);\n const rightScrollRef = useRef<HTMLDivElement>(null);\n const isSyncing = useRef(false);\n\n useEffect(() => {\n const leftEl = leftScrollRef.current;\n const rightEl = rightScrollRef.current;\n\n if (!leftEl || !rightEl) return;\n\n const handleLeftScroll = () => {\n if (isSyncing.current) return;\n isSyncing.current = true;\n rightEl.scrollTop = leftEl.scrollTop;\n requestAnimationFrame(() => {\n isSyncing.current = false;\n });\n };\n\n const handleRightScroll = () => {\n if (isSyncing.current) return;\n isSyncing.current = true;\n leftEl.scrollTop = rightEl.scrollTop;\n requestAnimationFrame(() => {\n isSyncing.current = false;\n });\n };\n\n leftEl.addEventListener('scroll', handleLeftScroll);\n rightEl.addEventListener('scroll', handleRightScroll);\n\n return () => {\n leftEl.removeEventListener('scroll', handleLeftScroll);\n rightEl.removeEventListener('scroll', handleRightScroll);\n };\n }, [topFields, bottomFields]);\n\n if (isLoading) {\n return (\n <div className='flex items-center justify-center h-96'>\n <div className='text-center'>\n <div className='animate-spin rounded-full h-12 w-12 border-b-2 border-gray-900 mx-auto'></div>\n <p className='mt-4 text-gray-600'>Loading schemas...</p>\n </div>\n </div>\n );\n }\n\n const hasNoDifferences =\n diff.added.length === 0 &&\n diff.removed.length === 0 &&\n diff.modified.length === 0;\n\n return (\n <div className='space-y-6'>\n <Card>\n <CardContent className='pt-6'>\n {hasNoDifferences ? (\n <p className='text-center text-gray-600'>\n No differences detected between the two versions\n </p>\n ) : (\n <div className='flex gap-6 justify-center'>\n {diff.added.length > 0 && (\n <div className='flex items-center gap-2'>\n <span className='w-4 h-4 bg-green-500 rounded'></span>\n <span className='text-sm'>\n {diff.added.length} field{diff.added.length > 1 ? 's' : ''}{' '}\n added\n </span>\n </div>\n )}\n {diff.removed.length > 0 && (\n <div className='flex items-center gap-2'>\n <span className='w-4 h-4 bg-red-500 rounded'></span>\n <span className='text-sm'>\n {diff.removed.length} field\n {diff.removed.length > 1 ? 's' : ''} removed\n </span>\n </div>\n )}\n {diff.modified.length > 0 && (\n <div className='flex items-center gap-2'>\n <span className='w-4 h-4 bg-yellow-500 rounded'></span>\n <span className='text-sm'>\n {diff.modified.length} field\n {diff.modified.length > 1 ? 's' : ''} modified\n </span>\n </div>\n )}\n </div>\n )}\n </CardContent>\n </Card>\n\n <div className='grid grid-cols-2 gap-6'>\n <FormPanel\n version={topVersion}\n fields={topFields}\n fieldsets={topFieldsets}\n diffMap={diff.fieldDiffs}\n title='Left'\n scrollRef={leftScrollRef}\n />\n <FormPanel\n version={bottomVersion}\n fields={bottomFields}\n fieldsets={bottomFieldsets}\n diffMap={diff.fieldDiffs}\n title='Right'\n scrollRef={rightScrollRef}\n />\n </div>\n </div>\n );\n};\n","export type SchemaVersion = number | 'latest';\n\nexport interface VersionOption {\n value: SchemaVersion;\n label: string;\n}\n\nexport const BASIC_INFO_VERSIONS: VersionOption[] = [\n { value: 1, label: 'v1 (Legacy)' },\n { value: 3, label: 'v3 (Recommended)' },\n];\n\n// AI generated from tiger\nexport const COUNTRY_CONTRACT_VERSIONS: Record<string, VersionOption[]> = {\n ALB: [{ value: 1, label: 'v1' }],\n ARE: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 3, label: 'v3' },\n ],\n ARG: [{ value: 1, label: 'v1' }],\n ARM: [{ value: 1, label: 'v1' }],\n AUS: [{ value: 1, label: 'v1' }],\n AUT: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 3, label: 'v3' },\n ],\n BEL: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n BGD: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 3, label: 'v3' },\n ],\n BGR: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 3, label: 'v3' },\n ],\n BIH: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 3, label: 'v3' },\n ],\n BLR: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n BOL: [{ value: 1, label: 'v1' }],\n BRA: [{ value: 1, label: 'v1' }],\n CAN: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n CHE: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n CHL: [{ value: 1, label: 'v1' }],\n CHN: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 3, label: 'v3' },\n ],\n COL: [{ value: 1, label: 'v1' }],\n CRI: [{ value: 1, label: 'v1' }],\n CYP: [{ value: 1, label: 'v1' }],\n CZE: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n DEU: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 3, label: 'v3' },\n ],\n DNK: [{ value: 1, label: 'v1' }],\n DOM: [{ value: 1, label: 'v1' }],\n ECU: [{ value: 1, label: 'v1' }],\n EGY: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n ESP: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n EST: [{ value: 1, label: 'v1' }],\n FIN: [{ value: 1, label: 'v1' }],\n FRA: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n //FRA_SAS: [{ value: 1, label: 'v1' }],\n GBR: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n GEO: [{ value: 1, label: 'v1' }],\n GRC: [{ value: 1, label: 'v1' }],\n GTM: [{ value: 1, label: 'v1' }],\n HKG: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n HND: [{ value: 1, label: 'v1' }],\n HRV: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n HUN: [{ value: 1, label: 'v1' }],\n IDN: [{ value: 1, label: 'v1' }],\n IND: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n IRL: [{ value: 1, label: 'v1' }],\n ISL: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n ISR: [{ value: 1, label: 'v1' }],\n ITA: [{ value: 1, label: 'v1' }],\n //ITA_APL: [{ value: 1, label: 'v1' }],\n JAM: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n JPN: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n KEN: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n KGZ: [{ value: 1, label: 'v1' }],\n KHM: [{ value: 1, label: 'v1' }],\n KOR: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 3, label: 'v3' },\n ],\n LBN: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n LKA: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 3, label: 'v3' },\n ],\n LTU: [{ value: 1, label: 'v1' }],\n LUX: [{ value: 1, label: 'v1' }],\n LVA: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n MAR: [{ value: 1, label: 'v1' }],\n MDA: [{ value: 1, label: 'v1' }],\n MEX: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 3, label: 'v3' },\n ],\n MKD: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 3, label: 'v3' },\n ],\n MLT: [{ value: 1, label: 'v1' }],\n MNG: [{ value: 1, label: 'v1' }],\n MUS: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n MYS: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n NGA: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n NIC: [{ value: 1, label: 'v1' }],\n NLD: [{ value: 1, label: 'v1' }],\n NOR: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n NZL: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n PAK: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n PAN: [{ value: 1, label: 'v1' }],\n PER: [{ value: 1, label: 'v1' }],\n PHL: [{ value: 1, label: 'v1' }],\n POL: [{ value: 1, label: 'v1' }],\n PRI: [{ value: 1, label: 'v1' }],\n PRT: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 3, label: 'v3' },\n ],\n PRY: [{ value: 1, label: 'v1' }],\n ROU: [{ value: 1, label: 'v1' }],\n SAU: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n SGP: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n SLV: [{ value: 1, label: 'v1' }],\n SRB: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 3, label: 'v3' },\n ],\n SVK: [{ value: 1, label: 'v1' }],\n SVN: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 3, label: 'v3' },\n ],\n SWE: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n THA: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n TUN: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n { value: 3, label: 'v3' },\n ],\n TUR: [{ value: 1, label: 'v1' }],\n TWN: [{ value: 1, label: 'v1' }],\n UGA: [{ value: 1, label: 'v1' }],\n UKR: [{ value: 1, label: 'v1' }],\n URY: [{ value: 1, label: 'v1' }],\n USA: [{ value: 1, label: 'v1' }],\n VNM: [\n { value: 1, label: 'v1' },\n { value: 2, label: 'v2' },\n ],\n XKX: [{ value: 1, label: 'v1' }],\n ZAF: [{ value: 1, label: 'v1' }],\n ZWE: [{ value: 1, label: 'v1' }],\n};\n\nexport const COUNTRY_CONTRACT_VERSIONS_WITH_MULTIPLE_VERSIONS =\n Object.fromEntries(\n Object.entries(COUNTRY_CONTRACT_VERSIONS).filter(\n ([, versions]) => versions.length > 1,\n ),\n ) as Record<string, VersionOption[]>;\n\nexport const FORM_TYPES = [\n { value: 'employment_basic_information', label: 'Basic Information' },\n { value: 'contract_details', label: 'Contract Details' },\n] as const;\n\nexport type FormType = (typeof FORM_TYPES)[number]['value'];\n"],"mappings":"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","names":["CollapsiblePrimitive","Collapsible","CollapsibleTrigger","CollapsibleContent","TabsPrimitive","jsx","Tabs","className","props","cn","__name","TabsList","TabsTrigger","TabsContent","React","ScrollAreaPrimitive","jsx","jsxs","ScrollArea","className","children","props","ref","cn","ScrollBar","orientation","useState","useEffect","useMemo","useQuery","equal","validateField","__name","field","compareOptions","options1","options2","equal","map1","o","map2","added","removed","modified","option","value","option1","option2","changes","compareNestedFields","field1","field2","nestedFields1","nestedFields2","nestedDiff","compareFormFields","isFieldModified","checks","hasNestedChanges","check","getFieldChanges","optionsDiff","nestedFieldsDiff","fields1","fields2","validFields1","validFields2","fieldMap1","fieldMap2","unchanged","fieldDiffs","_","name","getDiffStyles","diffType","useMemo","useRef","useEffect","jsx","jsxs","FieldWrapper","__name","children","diffType","changes","styles","getDiffStyles","badge","renderChanges","changesList","oldJsonType","newJsonType","opt","FormPanel","version","fields","fieldsets","diffMap","title","scrollRef","form","useForm","fieldsWithWrappers","useMemo","applyWrappers","field","diff","nestedFields","processedField","nestedDiffMap","nestedDiff","wrappedNestedFields","Card","CardHeader","CardTitle","CardContent","Form","JSONSchemaFormFields","SchemaFormComparison","topVersion","bottomVersion","topFields","bottomFields","topFieldsets","bottomFieldsets","isLoading","compareFormFields","leftScrollRef","useRef","rightScrollRef","isSyncing","useEffect","leftEl","rightEl","handleLeftScroll","handleRightScroll","hasNoDifferences","BASIC_INFO_VERSIONS","COUNTRY_CONTRACT_VERSIONS","COUNTRY_CONTRACT_VERSIONS_WITH_MULTIPLE_VERSIONS","versions","FORM_TYPES","jsx","jsxs","JsonSchemaComparison","__name","formType","setFormType","useState","topVersion","setTopVersion","bottomVersion","setBottomVersion","countryCode","setCountryCode","client","useClient","countriesData","useQuery","countriesOptions","response","country","COUNTRY_CONTRACT_VERSIONS_WITH_MULTIPLE_VERSIONS","isContractDetails","topSchema","isLoadingTop","useJSONSchemaForm","bottomSchema","isLoadingBottom","isLoading","countryVersions","COUNTRY_CONTRACT_VERSIONS","hasCountryMapping","versionOptions","useMemo","BASIC_INFO_VERSIONS","useEffect","availableVersionValues","v","Card","CardHeader","CardTitle","CardContent","Label","Tabs","value","TabsList","FORM_TYPES","type","TabsTrigger","Select","SelectTrigger","SelectValue","SelectContent","SelectItem","version","SchemaFormComparison"]}
@@ -1,2 +1,2 @@
1
- import{b as i}from"./chunk-KFYWUBRS.js";import{f as t}from"./chunk-XG6ASTX5.js";import{a as n}from"./chunk-P37U34EQ.js";import{useEffect as c,useRef as d}from"react";import f from"fast-deep-equal";function U({handleValidation:a,defaultValues:o,checkFieldUpdates:m}){let u=i(a),r=d(o),s=t({resolver:u,defaultValues:o,shouldUnregister:!1,mode:"onBlur"});return c(()=>{let l=s?.watch(e=>{!f(e,r.current)&&(m(e),r.current=JSON.parse(JSON.stringify(e)))});return()=>l?.unsubscribe()},[]),s}n(U,"useJSONSchemaForm");export{U as a};
2
- //# sourceMappingURL=chunk-ID66NML3.js.map
1
+ import{b as i}from"./chunk-KFYWUBRS.js";import{f as t}from"./chunk-5BU3CD2P.js";import{a as n}from"./chunk-P37U34EQ.js";import{useEffect as c,useRef as d}from"react";import f from"fast-deep-equal";function U({handleValidation:a,defaultValues:o,checkFieldUpdates:m}){let u=i(a),r=d(o),s=t({resolver:u,defaultValues:o,shouldUnregister:!1,mode:"onBlur"});return c(()=>{let l=s?.watch(e=>{!f(e,r.current)&&(m(e),r.current=JSON.parse(JSON.stringify(e)))});return()=>l?.unsubscribe()},[]),s}n(U,"useJSONSchemaForm");export{U as a};
2
+ //# sourceMappingURL=chunk-U5QVIJOS.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/form/useJSONSchemaForm.tsx"],"sourcesContent":["import { FieldValues, useForm, UseFormReturn } from 'react-hook-form';\nimport { useEffect, useRef } from 'react';\nimport equal from 'fast-deep-equal';\nimport { useJsonSchemasValidationFormResolver } from '@/src/components/form/validationResolver';\nimport { $TSFixMe } from '@/src/types/remoteFlows';\nimport { ValidationResult } from '@remoteoss/remote-json-schema-form-kit';\n\ntype UseJsonSchemaFormOptions = {\n handleValidation: (values: FieldValues) => Promise<ValidationResult | null>;\n defaultValues: Record<string, unknown>;\n checkFieldUpdates: (values: FieldValues) => void;\n};\n\nexport function useJSONSchemaForm({\n handleValidation,\n defaultValues,\n checkFieldUpdates,\n}: UseJsonSchemaFormOptions): UseFormReturn<$TSFixMe> {\n const resolver = useJsonSchemasValidationFormResolver(handleValidation);\n const prevValuesRef = useRef(defaultValues);\n\n const form = useForm({\n resolver,\n defaultValues,\n shouldUnregister: false,\n mode: 'onBlur',\n });\n // Watch form changes and trigger checkFieldUpdates\n useEffect(() => {\n const subscription = form?.watch((values) => {\n const hasChanged = !equal(values, prevValuesRef.current);\n if (hasChanged) {\n checkFieldUpdates(values);\n prevValuesRef.current = JSON.parse(JSON.stringify(values));\n }\n });\n return () => subscription?.unsubscribe();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return form;\n}\n"],"mappings":"wHACA,OAAS,aAAAA,EAAW,UAAAC,MAAc,QAClC,OAAOC,MAAW,kBAWX,SAASC,EAAkB,CAChC,iBAAAC,EACA,cAAAC,EACA,kBAAAC,CACF,EAAsD,CACpD,IAAMC,EAAWC,EAAqCJ,CAAgB,EAChEK,EAAgBC,EAAOL,CAAa,EAEpCM,EAAOC,EAAQ,CACnB,SAAAL,EACA,cAAAF,EACA,iBAAkB,GAClB,KAAM,QACR,CAAC,EAED,OAAAQ,EAAU,IAAM,CACd,IAAMC,EAAeH,GAAM,MAAOI,GAAW,CACxB,CAACC,EAAMD,EAAQN,EAAc,OAAO,IAErDH,EAAkBS,CAAM,EACxBN,EAAc,QAAU,KAAK,MAAM,KAAK,UAAUM,CAAM,CAAC,EAE7D,CAAC,EACD,MAAO,IAAMD,GAAc,YAAY,CAEzC,EAAG,CAAC,CAAC,EAEEH,CACT,CA5BgBM,EAAAd,EAAA","names":["useEffect","useRef","equal","useJSONSchemaForm","handleValidation","defaultValues","checkFieldUpdates","resolver","useJsonSchemasValidationFormResolver","prevValuesRef","useRef","form","useForm","useEffect","subscription","values","equal","__name"]}
1
+ {"version":3,"sources":["../src/components/form/useJSONSchemaForm.tsx"],"sourcesContent":["import { FieldValues, useForm, UseFormReturn } from 'react-hook-form';\nimport { useEffect, useRef } from 'react';\nimport equal from 'fast-deep-equal';\nimport { useJsonSchemasValidationFormResolver } from '@/src/components/form/validationResolver';\nimport { $TSFixMe } from '@/src/types/remoteFlows';\nimport { ValidationResult } from '@remoteoss/remote-json-schema-form-kit';\n\ntype UseJsonSchemaFormOptions = {\n handleValidation: (values: FieldValues) => Promise<ValidationResult | null>;\n defaultValues: Record<string, unknown>;\n checkFieldUpdates: (values: FieldValues) => void;\n};\n\nexport function useJSONSchemaForm({\n handleValidation,\n defaultValues,\n checkFieldUpdates,\n}: UseJsonSchemaFormOptions): UseFormReturn<$TSFixMe> {\n const resolver = useJsonSchemasValidationFormResolver(handleValidation);\n const prevValuesRef = useRef(defaultValues);\n\n const form = useForm({\n resolver,\n defaultValues,\n shouldUnregister: false,\n mode: 'onBlur',\n });\n // Watch form changes and trigger checkFieldUpdates\n useEffect(() => {\n const subscription = form?.watch((values) => {\n const hasChanged = !equal(values, prevValuesRef.current);\n if (hasChanged) {\n checkFieldUpdates(values);\n prevValuesRef.current = JSON.parse(JSON.stringify(values));\n }\n });\n return () => subscription?.unsubscribe();\n // oxlint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return form;\n}\n"],"mappings":"wHACA,OAAS,aAAAA,EAAW,UAAAC,MAAc,QAClC,OAAOC,MAAW,kBAWX,SAASC,EAAkB,CAChC,iBAAAC,EACA,cAAAC,EACA,kBAAAC,CACF,EAAsD,CACpD,IAAMC,EAAWC,EAAqCJ,CAAgB,EAChEK,EAAgBC,EAAOL,CAAa,EAEpCM,EAAOC,EAAQ,CACnB,SAAAL,EACA,cAAAF,EACA,iBAAkB,GAClB,KAAM,QACR,CAAC,EAED,OAAAQ,EAAU,IAAM,CACd,IAAMC,EAAeH,GAAM,MAAOI,GAAW,CACxB,CAACC,EAAMD,EAAQN,EAAc,OAAO,IAErDH,EAAkBS,CAAM,EACxBN,EAAc,QAAU,KAAK,MAAM,KAAK,UAAUM,CAAM,CAAC,EAE7D,CAAC,EACD,MAAO,IAAMD,GAAc,YAAY,CAEzC,EAAG,CAAC,CAAC,EAEEH,CACT,CA5BgBM,EAAAd,EAAA","names":["useEffect","useRef","equal","useJSONSchemaForm","handleValidation","defaultValues","checkFieldUpdates","resolver","useJsonSchemasValidationFormResolver","prevValuesRef","useRef","form","useForm","useEffect","subscription","values","equal","__name"]}
@@ -1,2 +1,2 @@
1
- import{m as g}from"./chunk-RZCU2MT3.js";import{a as d}from"./chunk-P37U34EQ.js";import*as e from"react";import{ChevronDownIcon as h}from"lucide-react";import{jsx as l,jsxs as y}from"react/jsx-runtime";var x=e.createContext(null),R=d(()=>{let t=e.useContext(x);if(!t)throw new Error("Accordion components must be used within Accordion");return t},"useAccordion");function P({collapsible:t=!1,defaultValue:u,value:r,onValueChange:o,className:n,children:i,...c}){let[s,p]=e.useState(u),m=r!==void 0,a=m?r:s,f=e.useCallback(A=>{let v;a===A?v=t?"":A:v=A,m||p(v),o&&o(v)},[a,t,m,o]),C=e.useMemo(()=>({openItem:a,toggleItem:f,collapsible:t}),[a,f,t]);return l(x.Provider,{value:C,children:l("div",{"data-slot":"accordion",className:n,...c,children:i})})}d(P,"Accordion");var I=e.createContext(null),b=d(()=>{let t=e.useContext(I);if(!t)throw new Error("AccordionItem components must be used within AccordionItem");return t},"useAccordionItem");function E({value:t,className:u,children:r,...o}){let{openItem:n}=R(),i=n===t,c=e.useId(),s=e.useMemo(()=>({value:t,isOpen:i,contentId:c}),[t,i,c]);return l(I.Provider,{value:s,children:l("div",{"data-slot":"accordion-item",className:g("border-b last:border-b-0",u),...o,children:r})})}d(E,"AccordionItem");function T({className:t,iconClassName:u,children:r,onClick:o,...n}){let{toggleItem:i}=R(),{value:c,isOpen:s,contentId:p}=b(),m=e.useId(),a=d(f=>{i(c),o?.(f)},"handleClick");return l("div",{className:"flex items-center",children:y("button",{id:m,type:"button","data-slot":"accordion-trigger","data-state":s?"open":"closed","aria-expanded":s,"aria-controls":p,className:g("focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180",t),onClick:a,...n,children:[r,l(h,{className:g("text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200 mt-1",u)})]})})}d(T,"AccordionTrigger");function V({className:t,children:u,...r}){let{isOpen:o,contentId:n}=b(),[i,c]=e.useState(o),[s,p]=e.useState(o);return e.useLayoutEffect(()=>{if(o){c(!0);let a=requestAnimationFrame(()=>{window.getComputedStyle(document.getElementById(n)).height,p(!0)});return()=>cancelAnimationFrame(a)}p(!1);let m=setTimeout(()=>c(!1),200);return()=>clearTimeout(m)},[o,n]),i?l("div",{id:n,role:"region","data-slot":"accordion-content","data-state":o?"open":"closed",className:g("overflow-hidden text-sm transition-all duration-200 ease-out",s?"max-h-[2000px] opacity-100":"max-h-0 opacity-0"),...r,children:l("div",{className:g("pt-0 pb-4",t),children:u})}):null}d(V,"AccordionContent");export{P as a,E as b,T as c,V as d};
2
- //# sourceMappingURL=chunk-CNMNJMOT.js.map
1
+ import{n as g}from"./chunk-JXAAON7I.js";import{a as d}from"./chunk-P37U34EQ.js";import*as e from"react";import{ChevronDownIcon as h}from"lucide-react";import{jsx as l,jsxs as y}from"react/jsx-runtime";var x=e.createContext(null),R=d(()=>{let t=e.useContext(x);if(!t)throw new Error("Accordion components must be used within Accordion");return t},"useAccordion");function P({collapsible:t=!1,defaultValue:u,value:r,onValueChange:o,className:n,children:i,...c}){let[s,p]=e.useState(u),m=r!==void 0,a=m?r:s,f=e.useCallback(A=>{let v;a===A?v=t?"":A:v=A,m||p(v),o&&o(v)},[a,t,m,o]),C=e.useMemo(()=>({openItem:a,toggleItem:f,collapsible:t}),[a,f,t]);return l(x.Provider,{value:C,children:l("div",{"data-slot":"accordion",className:n,...c,children:i})})}d(P,"Accordion");var I=e.createContext(null),b=d(()=>{let t=e.useContext(I);if(!t)throw new Error("AccordionItem components must be used within AccordionItem");return t},"useAccordionItem");function E({value:t,className:u,children:r,...o}){let{openItem:n}=R(),i=n===t,c=e.useId(),s=e.useMemo(()=>({value:t,isOpen:i,contentId:c}),[t,i,c]);return l(I.Provider,{value:s,children:l("div",{"data-slot":"accordion-item",className:g("border-b last:border-b-0",u),...o,children:r})})}d(E,"AccordionItem");function T({className:t,iconClassName:u,children:r,onClick:o,...n}){let{toggleItem:i}=R(),{value:c,isOpen:s,contentId:p}=b(),m=e.useId(),a=d(f=>{i(c),o?.(f)},"handleClick");return l("div",{className:"flex items-center",children:y("button",{id:m,type:"button","data-slot":"accordion-trigger","data-state":s?"open":"closed","aria-expanded":s,"aria-controls":p,className:g("focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180",t),onClick:a,...n,children:[r,l(h,{className:g("text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200 mt-1",u)})]})})}d(T,"AccordionTrigger");function V({className:t,children:u,...r}){let{isOpen:o,contentId:n}=b(),[i,c]=e.useState(o),[s,p]=e.useState(o);return e.useLayoutEffect(()=>{if(o){c(!0);let a=requestAnimationFrame(()=>{window.getComputedStyle(document.getElementById(n)).height,p(!0)});return()=>cancelAnimationFrame(a)}p(!1);let m=setTimeout(()=>c(!1),200);return()=>clearTimeout(m)},[o,n]),i?l("div",{id:n,role:"region","data-slot":"accordion-content","data-state":o?"open":"closed",className:g("overflow-hidden text-sm transition-all duration-200 ease-out",s?"max-h-[2000px] opacity-100":"max-h-0 opacity-0"),...r,children:l("div",{className:g("pt-0 pb-4",t),children:u})}):null}d(V,"AccordionContent");export{P as a,E as b,T as c,V as d};
2
+ //# sourceMappingURL=chunk-UBIW2GE4.js.map
@@ -1,2 +1,2 @@
1
- import{b as e}from"./chunk-BZ232WZD.js";import{a as n}from"./chunk-P37U34EQ.js";import{jsx as o,jsxs as t}from"react/jsx-runtime";var a=n(({involuntaryOffboardingServiceChargeZendeskId:r,reconciliationInvoiceZendeskId:i})=>t("p",{className:"RemoteFlows__AcknowledgeInformationFees text-xs text-[#71717A]",children:["You'll receive an"," ",o(e,{zendeskId:r,className:"align-baseline",children:"involuntary offboarding service charge \u2197"})," ","on your"," ",o(e,{zendeskId:i,children:"reconciliation invoice \u2197"})]}),"AcknowledgeInformationFees");export{a};
2
- //# sourceMappingURL=chunk-SYXJTCKS.js.map
1
+ import{b as e}from"./chunk-W4YDSTXA.js";import{a as n}from"./chunk-P37U34EQ.js";import{jsx as o,jsxs as t}from"react/jsx-runtime";var a=n(({involuntaryOffboardingServiceChargeZendeskId:r,reconciliationInvoiceZendeskId:i})=>t("p",{className:"RemoteFlows__AcknowledgeInformationFees text-xs text-[#71717A]",children:["You'll receive an"," ",o(e,{zendeskId:r,className:"align-baseline",children:"involuntary offboarding service charge \u2197"})," ","on your"," ",o(e,{zendeskId:i,children:"reconciliation invoice \u2197"})]}),"AcknowledgeInformationFees");export{a};
2
+ //# sourceMappingURL=chunk-UG5UQ72J.js.map
@@ -1,2 +1,2 @@
1
- import{a as m}from"./chunk-HVI5GHIV.js";import{a as r}from"./chunk-DCPBAFIN.js";import{a}from"./chunk-H66IKMI4.js";import{a as c}from"./chunk-CBPV2QLT.js";import{a as e}from"./chunk-SWCZJY6I.js";import{a as o}from"./chunk-TVZAFTPT.js";import{a as n}from"./chunk-P37U34EQ.js";import{useId as f}from"react";import{jsx as s}from"react/jsx-runtime";function k({employmentId:d,countryCode:C,options:p,render:A}){let t=c({employmentId:d,countryCode:C,options:p}),i=f();return s(o.Provider,{value:{formId:i,contractAmendmentBag:t},children:A({contractAmendmentBag:t,components:{Form:r,SubmitButton:a,ConfirmationForm:m,BackButton:e}})})}n(k,"ContractAmendmentFlow");export{k as a};
2
- //# sourceMappingURL=chunk-LDSS6RYC.js.map
1
+ import{a as m}from"./chunk-EJWKMMZV.js";import{a as r}from"./chunk-YPVZUXVH.js";import{a}from"./chunk-H66IKMI4.js";import{a as c}from"./chunk-DU55JKPB.js";import{a as e}from"./chunk-SWCZJY6I.js";import{a as o}from"./chunk-TVZAFTPT.js";import{a as n}from"./chunk-P37U34EQ.js";import{useId as f}from"react";import{jsx as s}from"react/jsx-runtime";function k({employmentId:d,countryCode:C,options:p,render:A}){let t=c({employmentId:d,countryCode:C,options:p}),i=f();return s(o.Provider,{value:{formId:i,contractAmendmentBag:t},children:A({contractAmendmentBag:t,components:{Form:r,SubmitButton:a,ConfirmationForm:m,BackButton:e}})})}n(k,"ContractAmendmentFlow");export{k as a};
2
+ //# sourceMappingURL=chunk-VAYKULUJ.js.map
@@ -1,2 +1,2 @@
1
- import{a as m}from"./chunk-OPM4YQGQ.js";import{b as a}from"./chunk-PGWKJ6FK.js";import{b as s,h as t}from"./chunk-RZCU2MT3.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as E}from"react/jsx-runtime";function P({components:d,onSubmit:l,onError:i,onSuccess:f}){let{onboardingBag:o}=a(),p=o.fields??[],c=t(p,o.initialValues.benefits);return E(m,{defaultValues:c,components:d,onSubmit:e(async n=>{try{await l?.(n);let r=await o.onSubmit(n);if(r?.data){await f?.(r.data),o?.next();return}if(r?.error){let u=s(r?.fieldErrors||[],o.meta?.fields?.benefits);i?.({error:r.error,rawError:r.rawError,fieldErrors:u})}}catch(r){i?.({error:r,rawError:r,fieldErrors:[]})}},"handleSubmit")})}e(P,"BenefitsStep");export{P as a};
2
- //# sourceMappingURL=chunk-PFQTTYVH.js.map
1
+ import{a as m}from"./chunk-RQGYSZOO.js";import{b as a}from"./chunk-PGWKJ6FK.js";import{c as s,i as t}from"./chunk-JXAAON7I.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as E}from"react/jsx-runtime";function P({components:d,onSubmit:l,onError:i,onSuccess:f}){let{onboardingBag:o}=a(),p=o.fields??[],c=t(p,o.initialValues.benefits);return E(m,{defaultValues:c,components:d,onSubmit:e(async n=>{try{await l?.(n);let r=await o.onSubmit(n);if(r?.data){await f?.(r.data),o?.next();return}if(r?.error){let u=s(r?.fieldErrors||[],o.meta?.fields?.benefits);i?.({error:r.error,rawError:r.rawError,fieldErrors:u})}}catch(r){i?.({error:r,rawError:r,fieldErrors:[]})}},"handleSubmit")})}e(P,"BenefitsStep");export{P as a};
2
+ //# sourceMappingURL=chunk-VBP6CRNM.js.map
@@ -1,2 +1,2 @@
1
- import{a as i}from"./chunk-NDZIQGDE.js";import{j as a,k as n,l as s,n as F,o as _}from"./chunk-XG6ASTX5.js";import{a as l}from"./chunk-P37U34EQ.js";import{jsx as e,jsxs as u}from"react/jsx-runtime";function I({field:o,fieldState:p,fieldData:c}){let{name:r,label:t,description:m,maxLength:d,includeErrorMessage:x}=c;return u(a,{"data-field":r,className:`RemoteFlows__TextField__Item__${r}`,children:[t&&e(n,{className:"RemoteFlows__TextField__Label",children:t}),e(s,{children:e(i,{...o,value:o.value??"",onChange:T=>{o.onChange(T)},className:"RemoteFlows__TextField__Input",placeholder:t,maxLength:d})}),m&&e(F,{className:"RemoteFlows__TextField__Description",children:m}),x&&p.error&&e(_,{className:"RemoteFlows__TextField__Error"})]})}l(I,"TextFieldDefault");export{I as a};
2
- //# sourceMappingURL=chunk-XELPL3XO.js.map
1
+ import{a as i}from"./chunk-B3KDZREG.js";import{j as a,k as n,l as s,n as F,o as _}from"./chunk-5BU3CD2P.js";import{a as l}from"./chunk-P37U34EQ.js";import{jsx as e,jsxs as u}from"react/jsx-runtime";function I({field:o,fieldState:p,fieldData:c}){let{name:r,label:t,description:m,maxLength:d,includeErrorMessage:x}=c;return u(a,{"data-field":r,className:`RemoteFlows__TextField__Item__${r}`,children:[t&&e(n,{className:"RemoteFlows__TextField__Label",children:t}),e(s,{children:e(i,{...o,value:o.value??"",onChange:T=>{o.onChange(T)},className:"RemoteFlows__TextField__Input",placeholder:t,maxLength:d})}),m&&e(F,{className:"RemoteFlows__TextField__Description",children:m}),x&&p.error&&e(_,{className:"RemoteFlows__TextField__Error"})]})}l(I,"TextFieldDefault");export{I as a};
2
+ //# sourceMappingURL=chunk-VJPSDB7M.js.map
@@ -1,2 +1,2 @@
1
- import{a as m}from"./chunk-OPM4YQGQ.js";import{b as s}from"./chunk-PGWKJ6FK.js";import{b as i}from"./chunk-RZCU2MT3.js";import{a}from"./chunk-P37U34EQ.js";import{jsx as c}from"react/jsx-runtime";function F({onSubmit:d,onSuccess:l,onError:n}){let{onboardingBag:r}=s(),g=a(async t=>{try{let o=await r.parseFormValues(t);await d?.(o);let e=await r.onSubmit(t);if(e?.data){await l?.(e?.data),r?.next();return}if(e?.error){let E=i(e?.fieldErrors||[],r.meta?.fields?.engagement_agreement_details);n?.({error:e?.error,rawError:e?.rawError,fieldErrors:E})}}catch(o){n?.({error:o,rawError:o,fieldErrors:[]})}},"handleSubmit"),u=r.stepState.values?.engagement_agreement_details||r.initialValues.engagement_agreement_details;return c(m,{defaultValues:u,onSubmit:g})}a(F,"EngagementAgreementDetailsStep");export{F as a};
2
- //# sourceMappingURL=chunk-RXSGIEA5.js.map
1
+ import{a as m}from"./chunk-RQGYSZOO.js";import{b as s}from"./chunk-PGWKJ6FK.js";import{c as i}from"./chunk-JXAAON7I.js";import{a}from"./chunk-P37U34EQ.js";import{jsx as c}from"react/jsx-runtime";function F({onSubmit:d,onSuccess:l,onError:n}){let{onboardingBag:r}=s(),g=a(async t=>{try{let o=await r.parseFormValues(t);await d?.(o);let e=await r.onSubmit(t);if(e?.data){await l?.(e?.data),r?.next();return}if(e?.error){let E=i(e?.fieldErrors||[],r.meta?.fields?.engagement_agreement_details);n?.({error:e?.error,rawError:e?.rawError,fieldErrors:E})}}catch(o){n?.({error:o,rawError:o,fieldErrors:[]})}},"handleSubmit"),u=r.stepState.values?.engagement_agreement_details||r.initialValues.engagement_agreement_details;return c(m,{defaultValues:u,onSubmit:g})}a(F,"EngagementAgreementDetailsStep");export{F as a};
2
+ //# sourceMappingURL=chunk-VLWFSFRL.js.map