@remoteoss/remote-flows 1.26.0 → 1.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (328) hide show
  1. package/dist/CheckboxFieldDefault-GQZWERNF.js +2 -0
  2. package/dist/CountryFieldDefault-PKRIWPY3.js +2 -0
  3. package/dist/DatePickerFieldDefault-Y26FNCUK.js +2 -0
  4. package/dist/RadioGroupFieldDefault-DQGRKN3M.js +2 -0
  5. package/dist/TextAreaFieldDefault-EFYFWCHQ.js +2 -0
  6. package/dist/{chunk-C6ARUHCB.js → chunk-2AFRBV4P.js} +2 -2
  7. package/dist/{chunk-GHYCSTSK.js → chunk-373A3JYN.js} +2 -2
  8. package/dist/{chunk-K56VMRZ5.js → chunk-3X4CJEN4.js} +2 -2
  9. package/dist/{chunk-TUPZTWGP.js → chunk-42PPQJNB.js} +2 -2
  10. package/dist/{chunk-XUT44QU6.js → chunk-4DFWKRQR.js} +2 -2
  11. package/dist/{chunk-LX3JPBUV.js → chunk-6CUZAMXI.js} +2 -2
  12. package/dist/{chunk-I2DXGO23.js → chunk-6ICMMDER.js} +2 -2
  13. package/dist/{chunk-DEVQ2NNK.js → chunk-7CTUHB7U.js} +2 -2
  14. package/dist/chunk-7ZBLKUKE.js +2 -0
  15. package/dist/chunk-7ZBLKUKE.js.map +1 -0
  16. package/dist/{chunk-IY3ASS7L.js → chunk-AXMLPGSQ.js} +2 -2
  17. package/dist/{chunk-OCTM6K3V.js → chunk-BUDKOST6.js} +2 -2
  18. package/dist/{chunk-TFJOJCCS.js → chunk-CQDQM2IX.js} +2 -2
  19. package/dist/{chunk-KLN2FG5Y.js → chunk-CWF26ZF4.js} +2 -2
  20. package/dist/{chunk-XXXLKG43.js → chunk-DJPDKTA2.js} +2 -2
  21. package/dist/{chunk-5F5BHJQO.js → chunk-E42PBKYH.js} +2 -2
  22. package/dist/{chunk-XHZHFM2J.js → chunk-EDT4KTVE.js} +2 -2
  23. package/dist/{chunk-7VKV5G6N.js → chunk-F5Y64CVG.js} +2 -2
  24. package/dist/{chunk-RPCS3K2I.js → chunk-FEZZMB7D.js} +2 -2
  25. package/dist/chunk-FO73LJAF.js +2 -0
  26. package/dist/chunk-FO73LJAF.js.map +1 -0
  27. package/dist/{chunk-KKCYP5TA.js → chunk-FV3X3QRI.js} +2 -2
  28. package/dist/{chunk-BMLTMXEK.js → chunk-G2WWWCFS.js} +2 -2
  29. package/dist/{chunk-VLVKKSJP.js → chunk-HC3RLPCZ.js} +2 -2
  30. package/dist/{chunk-GCPDTL2M.js → chunk-HJYUTOA2.js} +2 -2
  31. package/dist/chunk-IT5PQWVR.js +2 -0
  32. package/dist/chunk-IT5PQWVR.js.map +1 -0
  33. package/dist/{chunk-3SECILYU.js → chunk-IYZVFJNC.js} +2 -2
  34. package/dist/{chunk-ZYAMVSAL.js → chunk-JFTKMQ73.js} +2 -2
  35. package/dist/chunk-JJ7EROQA.js +2 -0
  36. package/dist/chunk-JJ7EROQA.js.map +1 -0
  37. package/dist/{chunk-ZS7YCDY6.js → chunk-JOQ6LN5D.js} +2 -2
  38. package/dist/chunk-JR6VISHQ.js +2 -0
  39. package/dist/chunk-JR6VISHQ.js.map +1 -0
  40. package/dist/{chunk-LFYDEIZG.js → chunk-KJY5KHQP.js} +2 -2
  41. package/dist/{chunk-FZO24P53.js → chunk-KN3XMDCI.js} +2 -2
  42. package/dist/{chunk-R7WSWTCF.js → chunk-KVQGNPKF.js} +2 -2
  43. package/dist/{chunk-BAKE7YEE.js → chunk-LRMMQCL7.js} +2 -2
  44. package/dist/{chunk-FZVUO3UU.js → chunk-MKUSE7JK.js} +2 -2
  45. package/dist/{chunk-SP2V52RP.js → chunk-NWODDA5W.js} +2 -2
  46. package/dist/chunk-O4I5IA24.js +2 -0
  47. package/dist/chunk-O4I5IA24.js.map +1 -0
  48. package/dist/{chunk-33IPP266.js → chunk-O5WY5DXB.js} +2 -2
  49. package/dist/{chunk-KJMPEOZ7.js → chunk-OGXYAUPR.js} +2 -2
  50. package/dist/{chunk-7Z4MWUCV.js → chunk-P243ZEXS.js} +2 -2
  51. package/dist/{chunk-36NGPS63.js → chunk-PLPGCGAS.js} +2 -2
  52. package/dist/{chunk-JFD2OJ6L.js → chunk-PVXIXLI7.js} +2 -2
  53. package/dist/{chunk-45K26OSG.js → chunk-PY23FJZC.js} +2 -2
  54. package/dist/{chunk-FIM36WNY.js → chunk-RDOWNO6N.js} +2 -2
  55. package/dist/chunk-RDQJU3HZ.js +2 -0
  56. package/dist/chunk-RDQJU3HZ.js.map +1 -0
  57. package/dist/{chunk-SJVCXKRO.js → chunk-RR5AEFCF.js} +2 -2
  58. package/dist/{chunk-O6H23YQW.js → chunk-RTB5M2WF.js} +2 -2
  59. package/dist/{chunk-RD5FPT3Y.js → chunk-S6LG6MGK.js} +2 -2
  60. package/dist/{chunk-HMVU7HJL.js → chunk-T3MTHXS5.js} +2 -2
  61. package/dist/chunk-TIFHRVKA.js +2 -0
  62. package/dist/chunk-TIFHRVKA.js.map +1 -0
  63. package/dist/{chunk-R47Q7R6C.js → chunk-TNQKP2XT.js} +6 -6
  64. package/dist/chunk-TNQKP2XT.js.map +1 -0
  65. package/dist/{chunk-QLJMIWS4.js → chunk-UAPT6OBQ.js} +2 -2
  66. package/dist/{chunk-P4TKMCSQ.js → chunk-UCYB5QK7.js} +2 -2
  67. package/dist/chunk-UTXYUM6O.js +2 -0
  68. package/dist/chunk-UTXYUM6O.js.map +1 -0
  69. package/dist/chunk-VAMDTZC6.js +2 -0
  70. package/dist/chunk-VAMDTZC6.js.map +1 -0
  71. package/dist/{chunk-POKPAJNL.js → chunk-VAYZNUNH.js} +2 -2
  72. package/dist/chunk-VDAXUUZX.js +2 -0
  73. package/dist/chunk-VDAXUUZX.js.map +1 -0
  74. package/dist/{chunk-6I5FRZSX.js → chunk-VIX4RJKF.js} +2 -2
  75. package/dist/chunk-VK3Z63G4.js +2 -0
  76. package/dist/chunk-VK3Z63G4.js.map +1 -0
  77. package/dist/chunk-WDV3ECGC.js +2 -0
  78. package/dist/chunk-WDV3ECGC.js.map +1 -0
  79. package/dist/{chunk-4EDPYN5F.js → chunk-XBEX4G75.js} +2 -2
  80. package/dist/{chunk-5EHJ5HTV.js → chunk-XFDD4QPE.js} +2 -2
  81. package/dist/{chunk-3VWXALRD.js → chunk-XUTYA3JC.js} +2 -2
  82. package/dist/{chunk-BI3PHE5N.js → chunk-YKAWMDTX.js} +2 -2
  83. package/dist/{chunk-BS4A6UYL.js → chunk-YVEVEN4R.js} +2 -2
  84. package/dist/{chunk-5F5H7LZT.js → chunk-ZKOA3R57.js} +2 -2
  85. package/dist/default-components.d.ts +2 -2
  86. package/dist/default-components.js +1 -1
  87. package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.d.ts +1 -1
  88. package/dist/flows/ContractAmendment/ContractAmendmentFlow.d.ts +3 -3
  89. package/dist/flows/ContractAmendment/ContractAmendmentFlow.js +1 -1
  90. package/dist/flows/ContractAmendment/ContractAmendmentForm.d.ts +1 -1
  91. package/dist/flows/ContractAmendment/ContractAmendmentForm.js +1 -1
  92. package/dist/flows/ContractAmendment/context.d.ts +3 -3
  93. package/dist/flows/ContractAmendment/hooks.d.ts +3 -3
  94. package/dist/flows/ContractAmendment/hooks.js +1 -1
  95. package/dist/flows/ContractAmendment/index.d.ts +3 -3
  96. package/dist/flows/ContractAmendment/index.js +1 -1
  97. package/dist/flows/ContractAmendment/types.d.ts +2 -2
  98. package/dist/flows/ContractAmendment/utils.d.ts +2 -2
  99. package/dist/flows/ContractorOnboarding/ContractorOnboarding.d.ts +5 -5
  100. package/dist/flows/ContractorOnboarding/ContractorOnboarding.js +1 -1
  101. package/dist/flows/ContractorOnboarding/api.d.ts +8 -20
  102. package/dist/flows/ContractorOnboarding/api.js +1 -1
  103. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.d.ts +4 -4
  104. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.js +1 -1
  105. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.d.ts +5 -5
  106. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.js +1 -1
  107. package/dist/flows/ContractorOnboarding/components/ContractPreviewHeader.d.ts +2 -2
  108. package/dist/flows/ContractorOnboarding/components/ContractPreviewStatement.d.ts +2 -2
  109. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.d.ts +5 -5
  110. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.js +1 -1
  111. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.d.ts +5 -5
  112. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.js +1 -1
  113. package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.d.ts +5 -5
  114. package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.js +1 -1
  115. package/dist/flows/ContractorOnboarding/components/OnboardingInvite.d.ts +3 -3
  116. package/dist/flows/ContractorOnboarding/components/OnboardingInvite.js +1 -1
  117. package/dist/flows/ContractorOnboarding/components/PricingPlan.d.ts +5 -5
  118. package/dist/flows/ContractorOnboarding/components/PricingPlan.js +1 -1
  119. package/dist/flows/ContractorOnboarding/components/SaveDraftButton.d.ts +3 -3
  120. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.d.ts +4 -4
  121. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.js +1 -1
  122. package/dist/flows/ContractorOnboarding/context.d.ts +8 -7
  123. package/dist/flows/ContractorOnboarding/hooks.d.ts +5 -5
  124. package/dist/flows/ContractorOnboarding/hooks.js +1 -1
  125. package/dist/flows/ContractorOnboarding/index.d.ts +5 -5
  126. package/dist/flows/ContractorOnboarding/index.js +1 -1
  127. package/dist/flows/ContractorOnboarding/jsfModify.d.ts +5 -5
  128. package/dist/flows/ContractorOnboarding/jsfModify.js +1 -1
  129. package/dist/flows/ContractorOnboarding/types.d.ts +5 -5
  130. package/dist/flows/ContractorOnboarding/utils.d.ts +4 -4
  131. package/dist/flows/CostCalculator/CostCalculatorFlow.d.ts +3 -3
  132. package/dist/flows/CostCalculator/CostCalculatorFlow.js +1 -1
  133. package/dist/flows/CostCalculator/CostCalculatorForm.d.ts +3 -3
  134. package/dist/flows/CostCalculator/CostCalculatorForm.js +1 -1
  135. package/dist/flows/CostCalculator/EstimationResults/EstimationResults.d.ts +2 -2
  136. package/dist/flows/CostCalculator/EstimationResults/EstimationResults.js +1 -1
  137. package/dist/flows/CostCalculator/SummaryResults/SummaryResults.d.ts +2 -2
  138. package/dist/flows/CostCalculator/api.d.ts +5 -9
  139. package/dist/flows/CostCalculator/api.js +1 -1
  140. package/dist/flows/CostCalculator/components/SalaryField.d.ts +2 -2
  141. package/dist/flows/CostCalculator/components/SalaryField.js +1 -1
  142. package/dist/flows/CostCalculator/context.d.ts +3 -3
  143. package/dist/flows/CostCalculator/hooks.d.ts +3 -3
  144. package/dist/flows/CostCalculator/hooks.js +1 -1
  145. package/dist/flows/CostCalculator/index.d.ts +4 -4
  146. package/dist/flows/CostCalculator/index.js +1 -1
  147. package/dist/flows/CostCalculator/types.d.ts +2 -2
  148. package/dist/flows/CostCalculator/utils.d.ts +3 -3
  149. package/dist/flows/CostCalculator/utils.js +1 -1
  150. package/dist/flows/CreateCompany/CreateCompany.d.ts +4 -4
  151. package/dist/flows/CreateCompany/CreateCompany.js +1 -1
  152. package/dist/flows/CreateCompany/api.d.ts +6 -14
  153. package/dist/flows/CreateCompany/api.js +1 -1
  154. package/dist/flows/CreateCompany/components/AddressDetailsStep.d.ts +4 -4
  155. package/dist/flows/CreateCompany/components/AddressDetailsStep.js +1 -1
  156. package/dist/flows/CreateCompany/components/CompanyBasicInformationStep.d.ts +4 -4
  157. package/dist/flows/CreateCompany/components/CompanyBasicInformationStep.js +1 -1
  158. package/dist/flows/CreateCompany/components/CreateCompanyForm.d.ts +2 -2
  159. package/dist/flows/CreateCompany/components/CreateCompanyForm.js +1 -1
  160. package/dist/flows/CreateCompany/context.d.ts +7 -6
  161. package/dist/flows/CreateCompany/hooks.d.ts +4 -4
  162. package/dist/flows/CreateCompany/hooks.js +1 -1
  163. package/dist/flows/CreateCompany/index.d.ts +4 -4
  164. package/dist/flows/CreateCompany/index.js +1 -1
  165. package/dist/flows/CreateCompany/types.d.ts +4 -4
  166. package/dist/flows/Onboarding/OnboardingFlow.d.ts +4 -4
  167. package/dist/flows/Onboarding/OnboardingFlow.js +1 -1
  168. package/dist/flows/Onboarding/api.d.ts +65 -18
  169. package/dist/flows/Onboarding/api.js +1 -1
  170. package/dist/flows/Onboarding/components/AnnualGrossSalary.d.ts +2 -2
  171. package/dist/flows/Onboarding/components/AnnualGrossSalary.js +1 -1
  172. package/dist/flows/Onboarding/components/BasicInformationStep.d.ts +4 -4
  173. package/dist/flows/Onboarding/components/BasicInformationStep.js +1 -1
  174. package/dist/flows/Onboarding/components/BenefitsStep.d.ts +4 -4
  175. package/dist/flows/Onboarding/components/BenefitsStep.js +1 -1
  176. package/dist/flows/Onboarding/components/ContractDetailsStep.d.ts +4 -4
  177. package/dist/flows/Onboarding/components/ContractDetailsStep.js +1 -1
  178. package/dist/flows/Onboarding/components/EngagementAgreementDetailsStep.d.ts +16 -0
  179. package/dist/flows/Onboarding/components/EngagementAgreementDetailsStep.js +2 -0
  180. package/dist/flows/Onboarding/components/EngagementAgreementDetailsStep.js.map +1 -0
  181. package/dist/flows/Onboarding/components/OnboardingForm.d.ts +5 -5
  182. package/dist/flows/Onboarding/components/OnboardingForm.js +1 -1
  183. package/dist/flows/Onboarding/components/OnboardingInvite.d.ts +3 -3
  184. package/dist/flows/Onboarding/components/OnboardingInvite.js +1 -1
  185. package/dist/flows/Onboarding/components/ReviewStep.d.ts +4 -4
  186. package/dist/flows/Onboarding/components/SaveDraftButton.d.ts +3 -3
  187. package/dist/flows/Onboarding/components/SelectCountryStep.d.ts +4 -4
  188. package/dist/flows/Onboarding/components/SelectCountryStep.js +1 -1
  189. package/dist/flows/Onboarding/context.d.ts +24 -11
  190. package/dist/flows/Onboarding/hooks.d.ts +4 -4
  191. package/dist/flows/Onboarding/hooks.js +1 -1
  192. package/dist/flows/Onboarding/index.d.ts +4 -4
  193. package/dist/flows/Onboarding/index.js +1 -1
  194. package/dist/flows/Onboarding/types.d.ts +4 -4
  195. package/dist/flows/Onboarding/utils.d.ts +4 -4
  196. package/dist/flows/Termination/AdditionalDetailsForm.d.ts +4 -4
  197. package/dist/flows/Termination/AdditionalDetailsForm.js +1 -1
  198. package/dist/flows/Termination/EmployeeComunicationForm.d.ts +4 -4
  199. package/dist/flows/Termination/EmployeeComunicationForm.js +1 -1
  200. package/dist/flows/Termination/PaidTimeOffForm.d.ts +4 -4
  201. package/dist/flows/Termination/PaidTimeOffForm.js +1 -1
  202. package/dist/flows/Termination/TerminationDetailsForm.d.ts +4 -4
  203. package/dist/flows/Termination/TerminationDetailsForm.js +1 -1
  204. package/dist/flows/Termination/TerminationFlow.d.ts +4 -4
  205. package/dist/flows/Termination/TerminationFlow.js +1 -1
  206. package/dist/flows/Termination/TerminationForm.d.ts +5 -5
  207. package/dist/flows/Termination/TerminationForm.js +1 -1
  208. package/dist/flows/Termination/api.d.ts +8 -12
  209. package/dist/flows/Termination/api.js +1 -1
  210. package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformationFees.js +1 -1
  211. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.d.ts +7 -7
  212. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.d.ts +7 -7
  213. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.js +1 -1
  214. package/dist/flows/Termination/components/PaidTimeOff/types.d.ts +7 -7
  215. package/dist/flows/Termination/components/TerminationDialogInfoContent/TerminationDialogInfoContent.js +1 -1
  216. package/dist/flows/Termination/context.d.ts +4 -4
  217. package/dist/flows/Termination/hooks.d.ts +4 -4
  218. package/dist/flows/Termination/hooks.js +1 -1
  219. package/dist/flows/Termination/index.d.ts +6 -6
  220. package/dist/flows/Termination/index.js +1 -1
  221. package/dist/flows/Termination/json-schemas/schema.d.ts +4 -4
  222. package/dist/flows/Termination/types.d.ts +4 -4
  223. package/dist/flows/Termination/utils.d.ts +4 -4
  224. package/dist/flows/types.d.ts +4 -3
  225. package/dist/flows/utils.d.ts +2 -2
  226. package/dist/index.css +1 -1
  227. package/dist/index.css.map +1 -1
  228. package/dist/index.d.ts +17 -11
  229. package/dist/index.js +2 -2
  230. package/dist/index.js.map +1 -1
  231. package/dist/internals.d.ts +3 -3
  232. package/dist/internals.js +1 -1
  233. package/dist/{mutations-BlHJKh7X.d.ts → mutations-C1XMuYlk.d.ts} +1 -1
  234. package/dist/{remoteFlows-BgpcnCNA.d.ts → remoteFlows-CxOc7anq.d.ts} +1 -1
  235. package/dist/styles.css +1 -1
  236. package/dist/styles.css.map +1 -1
  237. package/dist/{types-DEzrQ-MU.d.ts → types-BYcKuJ8z.d.ts} +2 -2
  238. package/dist/{types-x02L1Qo9.d.ts → types-BqpZPw47.d.ts} +56 -15
  239. package/dist/{types-BBgv8INf.d.ts → types-Cb-1z4vt.d.ts} +4 -4
  240. package/dist/{types-CRnEmzMD.d.ts → types-DuKc_eXf.d.ts} +1 -1
  241. package/dist/{types-nfUNaXC-.d.ts → types-oX7HbacX.d.ts} +3 -3
  242. package/dist/{types.gen-Dgw1W-SB.d.ts → types.gen-CLArJ-Qx.d.ts} +712 -21
  243. package/dist/{utils-Dg9zSNDT.d.ts → utils-DsfJjYNt.d.ts} +1 -1
  244. package/package.json +62 -62
  245. package/dist/CheckboxFieldDefault-SQULI7DO.js +0 -2
  246. package/dist/CountryFieldDefault-4YHZACZ5.js +0 -2
  247. package/dist/DatePickerFieldDefault-B7WY5H6M.js +0 -2
  248. package/dist/RadioGroupFieldDefault-G637DHSW.js +0 -2
  249. package/dist/TextAreaFieldDefault-32E5FGS7.js +0 -2
  250. package/dist/chunk-AMSYQQG7.js +0 -2
  251. package/dist/chunk-AMSYQQG7.js.map +0 -1
  252. package/dist/chunk-AXGWQVCT.js +0 -2
  253. package/dist/chunk-AXGWQVCT.js.map +0 -1
  254. package/dist/chunk-CEIDSIMA.js +0 -2
  255. package/dist/chunk-CEIDSIMA.js.map +0 -1
  256. package/dist/chunk-ERY43GUW.js +0 -2
  257. package/dist/chunk-ERY43GUW.js.map +0 -1
  258. package/dist/chunk-IK27ZFUU.js +0 -2
  259. package/dist/chunk-IK27ZFUU.js.map +0 -1
  260. package/dist/chunk-JMDINYDB.js +0 -2
  261. package/dist/chunk-JMDINYDB.js.map +0 -1
  262. package/dist/chunk-JWP4HAIS.js +0 -2
  263. package/dist/chunk-JWP4HAIS.js.map +0 -1
  264. package/dist/chunk-NUD662HZ.js +0 -2
  265. package/dist/chunk-NUD662HZ.js.map +0 -1
  266. package/dist/chunk-R47Q7R6C.js.map +0 -1
  267. package/dist/chunk-T4Y4D743.js +0 -2
  268. package/dist/chunk-T4Y4D743.js.map +0 -1
  269. package/dist/chunk-TIJRONPS.js +0 -2
  270. package/dist/chunk-TIJRONPS.js.map +0 -1
  271. package/dist/chunk-TXEONNPV.js +0 -2
  272. package/dist/chunk-TXEONNPV.js.map +0 -1
  273. /package/dist/{CheckboxFieldDefault-SQULI7DO.js.map → CheckboxFieldDefault-GQZWERNF.js.map} +0 -0
  274. /package/dist/{CountryFieldDefault-4YHZACZ5.js.map → CountryFieldDefault-PKRIWPY3.js.map} +0 -0
  275. /package/dist/{DatePickerFieldDefault-B7WY5H6M.js.map → DatePickerFieldDefault-Y26FNCUK.js.map} +0 -0
  276. /package/dist/{RadioGroupFieldDefault-G637DHSW.js.map → RadioGroupFieldDefault-DQGRKN3M.js.map} +0 -0
  277. /package/dist/{TextAreaFieldDefault-32E5FGS7.js.map → TextAreaFieldDefault-EFYFWCHQ.js.map} +0 -0
  278. /package/dist/{chunk-C6ARUHCB.js.map → chunk-2AFRBV4P.js.map} +0 -0
  279. /package/dist/{chunk-GHYCSTSK.js.map → chunk-373A3JYN.js.map} +0 -0
  280. /package/dist/{chunk-K56VMRZ5.js.map → chunk-3X4CJEN4.js.map} +0 -0
  281. /package/dist/{chunk-TUPZTWGP.js.map → chunk-42PPQJNB.js.map} +0 -0
  282. /package/dist/{chunk-XUT44QU6.js.map → chunk-4DFWKRQR.js.map} +0 -0
  283. /package/dist/{chunk-LX3JPBUV.js.map → chunk-6CUZAMXI.js.map} +0 -0
  284. /package/dist/{chunk-I2DXGO23.js.map → chunk-6ICMMDER.js.map} +0 -0
  285. /package/dist/{chunk-DEVQ2NNK.js.map → chunk-7CTUHB7U.js.map} +0 -0
  286. /package/dist/{chunk-IY3ASS7L.js.map → chunk-AXMLPGSQ.js.map} +0 -0
  287. /package/dist/{chunk-OCTM6K3V.js.map → chunk-BUDKOST6.js.map} +0 -0
  288. /package/dist/{chunk-TFJOJCCS.js.map → chunk-CQDQM2IX.js.map} +0 -0
  289. /package/dist/{chunk-KLN2FG5Y.js.map → chunk-CWF26ZF4.js.map} +0 -0
  290. /package/dist/{chunk-XXXLKG43.js.map → chunk-DJPDKTA2.js.map} +0 -0
  291. /package/dist/{chunk-5F5BHJQO.js.map → chunk-E42PBKYH.js.map} +0 -0
  292. /package/dist/{chunk-XHZHFM2J.js.map → chunk-EDT4KTVE.js.map} +0 -0
  293. /package/dist/{chunk-7VKV5G6N.js.map → chunk-F5Y64CVG.js.map} +0 -0
  294. /package/dist/{chunk-RPCS3K2I.js.map → chunk-FEZZMB7D.js.map} +0 -0
  295. /package/dist/{chunk-KKCYP5TA.js.map → chunk-FV3X3QRI.js.map} +0 -0
  296. /package/dist/{chunk-BMLTMXEK.js.map → chunk-G2WWWCFS.js.map} +0 -0
  297. /package/dist/{chunk-VLVKKSJP.js.map → chunk-HC3RLPCZ.js.map} +0 -0
  298. /package/dist/{chunk-GCPDTL2M.js.map → chunk-HJYUTOA2.js.map} +0 -0
  299. /package/dist/{chunk-3SECILYU.js.map → chunk-IYZVFJNC.js.map} +0 -0
  300. /package/dist/{chunk-ZYAMVSAL.js.map → chunk-JFTKMQ73.js.map} +0 -0
  301. /package/dist/{chunk-ZS7YCDY6.js.map → chunk-JOQ6LN5D.js.map} +0 -0
  302. /package/dist/{chunk-LFYDEIZG.js.map → chunk-KJY5KHQP.js.map} +0 -0
  303. /package/dist/{chunk-FZO24P53.js.map → chunk-KN3XMDCI.js.map} +0 -0
  304. /package/dist/{chunk-R7WSWTCF.js.map → chunk-KVQGNPKF.js.map} +0 -0
  305. /package/dist/{chunk-BAKE7YEE.js.map → chunk-LRMMQCL7.js.map} +0 -0
  306. /package/dist/{chunk-FZVUO3UU.js.map → chunk-MKUSE7JK.js.map} +0 -0
  307. /package/dist/{chunk-SP2V52RP.js.map → chunk-NWODDA5W.js.map} +0 -0
  308. /package/dist/{chunk-33IPP266.js.map → chunk-O5WY5DXB.js.map} +0 -0
  309. /package/dist/{chunk-KJMPEOZ7.js.map → chunk-OGXYAUPR.js.map} +0 -0
  310. /package/dist/{chunk-7Z4MWUCV.js.map → chunk-P243ZEXS.js.map} +0 -0
  311. /package/dist/{chunk-36NGPS63.js.map → chunk-PLPGCGAS.js.map} +0 -0
  312. /package/dist/{chunk-JFD2OJ6L.js.map → chunk-PVXIXLI7.js.map} +0 -0
  313. /package/dist/{chunk-45K26OSG.js.map → chunk-PY23FJZC.js.map} +0 -0
  314. /package/dist/{chunk-FIM36WNY.js.map → chunk-RDOWNO6N.js.map} +0 -0
  315. /package/dist/{chunk-SJVCXKRO.js.map → chunk-RR5AEFCF.js.map} +0 -0
  316. /package/dist/{chunk-O6H23YQW.js.map → chunk-RTB5M2WF.js.map} +0 -0
  317. /package/dist/{chunk-RD5FPT3Y.js.map → chunk-S6LG6MGK.js.map} +0 -0
  318. /package/dist/{chunk-HMVU7HJL.js.map → chunk-T3MTHXS5.js.map} +0 -0
  319. /package/dist/{chunk-QLJMIWS4.js.map → chunk-UAPT6OBQ.js.map} +0 -0
  320. /package/dist/{chunk-P4TKMCSQ.js.map → chunk-UCYB5QK7.js.map} +0 -0
  321. /package/dist/{chunk-POKPAJNL.js.map → chunk-VAYZNUNH.js.map} +0 -0
  322. /package/dist/{chunk-6I5FRZSX.js.map → chunk-VIX4RJKF.js.map} +0 -0
  323. /package/dist/{chunk-4EDPYN5F.js.map → chunk-XBEX4G75.js.map} +0 -0
  324. /package/dist/{chunk-5EHJ5HTV.js.map → chunk-XFDD4QPE.js.map} +0 -0
  325. /package/dist/{chunk-3VWXALRD.js.map → chunk-XUTYA3JC.js.map} +0 -0
  326. /package/dist/{chunk-BI3PHE5N.js.map → chunk-YKAWMDTX.js.map} +0 -0
  327. /package/dist/{chunk-BS4A6UYL.js.map → chunk-YVEVEN4R.js.map} +0 -0
  328. /package/dist/{chunk-5F5H7LZT.js.map → chunk-ZKOA3R57.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import { ClassValue } from 'clsx';
2
2
  import { ValidationError } from 'yup';
3
- import './remoteFlows-BgpcnCNA.js';
3
+ import './remoteFlows-CxOc7anq.js';
4
4
 
5
5
  declare function cn(...inputs: ClassValue[]): string;
6
6
  type YupError = Pick<ValidationError, 'type' | 'errors'> & {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remoteoss/remote-flows",
3
- "version": "1.26.0",
3
+ "version": "1.28.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/remoteoss/remote-flows.git"
@@ -87,68 +87,68 @@
87
87
  "react-dom": "^18.3.1"
88
88
  },
89
89
  "dependencies": {
90
- "@hookform/resolvers": "^5.2.2",
91
- "@radix-ui/react-checkbox": "^1.3.3",
92
- "@radix-ui/react-collapsible": "^1.1.12",
93
- "@radix-ui/react-dialog": "^1.1.15",
94
- "@radix-ui/react-popover": "^1.1.15",
95
- "@radix-ui/react-radio-group": "^1.3.8",
96
- "@radix-ui/react-scroll-area": "^1.2.10",
97
- "@radix-ui/react-select": "^2.2.6",
98
- "@radix-ui/react-tabs": "^1.1.13",
99
- "@remoteoss/remote-json-schema-form-kit": "github:remoteoss/remote-json-schema-form-kit#v0.0.10",
100
- "@tailwindcss/cli": "^4.2.2",
101
- "@tailwindcss/postcss": "^4.2.2",
102
- "@tanstack/react-query": "^5.96.2",
103
- "class-variance-authority": "^0.7.1",
104
- "clsx": "^2.1.1",
105
- "cmdk": "^1.1.1",
106
- "date-fns": "^4.1.0",
107
- "dompurify": "^3.4.0",
108
- "fast-deep-equal": "^3.1.3",
109
- "lodash.capitalize": "^4.2.1",
110
- "lodash.groupby": "^4.6.0",
111
- "lodash.isnull": "^3.0.0",
112
- "lodash.mergewith": "^4.6.2",
113
- "lodash.omit": "^4.5.0",
114
- "lodash.omitby": "^4.6.0",
115
- "lucide-react": "^1.8.0",
116
- "postcss": "^8.5.9",
117
- "react-day-picker": "^9.14.0",
118
- "react-flagpack": "^2.0.6",
119
- "react-hook-form": "^7.72.1",
120
- "tailwind-merge": "^3.5.0",
121
- "tailwindcss": "^4.2.2",
122
- "tailwindcss-animate": "^1.0.7",
123
- "vaul": "^1.1.2",
124
- "yup": "^0.32.0"
90
+ "@hookform/resolvers": "5.2.2",
91
+ "@radix-ui/react-checkbox": "1.3.3",
92
+ "@radix-ui/react-collapsible": "1.1.12",
93
+ "@radix-ui/react-dialog": "1.1.15",
94
+ "@radix-ui/react-popover": "1.1.15",
95
+ "@radix-ui/react-radio-group": "1.3.8",
96
+ "@radix-ui/react-scroll-area": "1.2.10",
97
+ "@radix-ui/react-select": "2.2.6",
98
+ "@radix-ui/react-tabs": "1.1.13",
99
+ "@remoteoss/remote-json-schema-form-kit": "0.0.11",
100
+ "@tailwindcss/cli": "4.2.2",
101
+ "@tailwindcss/postcss": "4.2.2",
102
+ "@tanstack/react-query": "5.99.0",
103
+ "class-variance-authority": "0.7.1",
104
+ "clsx": "2.1.1",
105
+ "cmdk": "1.1.1",
106
+ "date-fns": "4.1.0",
107
+ "dompurify": "3.4.0",
108
+ "fast-deep-equal": "3.1.3",
109
+ "lodash.capitalize": "4.2.1",
110
+ "lodash.groupby": "4.6.0",
111
+ "lodash.isnull": "3.0.0",
112
+ "lodash.mergewith": "4.6.2",
113
+ "lodash.omit": "4.18.0",
114
+ "lodash.omitby": "4.6.0",
115
+ "lucide-react": "1.8.0",
116
+ "postcss": "8.5.10",
117
+ "react-day-picker": "9.14.0",
118
+ "react-flagpack": "2.0.6",
119
+ "react-hook-form": "7.72.1",
120
+ "tailwind-merge": "3.5.0",
121
+ "tailwindcss": "4.2.2",
122
+ "tailwindcss-animate": "1.0.7",
123
+ "vaul": "1.1.2",
124
+ "yup": "0.32.11"
125
125
  },
126
126
  "devDependencies": {
127
- "@arethetypeswrong/cli": "^0.18.2",
128
- "@hey-api/openapi-ts": "^0.95.0",
129
- "@testing-library/jest-dom": "^6.9.1",
130
- "@testing-library/react": "^16.3.2",
131
- "@testing-library/user-event": "^14.6.1",
132
- "@types/jsdom": "^28.0.1",
133
- "@types/lodash.capitalize": "^4.2.9",
134
- "@types/lodash.groupby": "^4.6.9",
135
- "@types/lodash.isnull": "^3.0.9",
136
- "@types/lodash.mergewith": "^4.6.9",
137
- "@types/lodash.omit": "^4.5.9",
138
- "@types/lodash.omitby": "^4.6.9",
139
- "@types/node": "^24.12.2",
140
- "@types/react": "^19.2.14",
141
- "@vitest/coverage-istanbul": "^4.1.4",
142
- "chalk": "^5.6.2",
143
- "filesize": "^11.0.15",
144
- "glob": "^13.0.6",
145
- "gzip-size": "^7.0.0",
146
- "jsdom": "^29.0.2",
147
- "msw": "^2.13.2",
148
- "oxfmt": "^0.44.0",
149
- "oxlint": "^1.59.0",
150
- "tsup": "^8.5.1",
151
- "tsx": "^4.21.0",
152
- "vitest": "^4.1.4"
127
+ "@arethetypeswrong/cli": "0.18.2",
128
+ "@hey-api/openapi-ts": "0.95.0",
129
+ "@testing-library/jest-dom": "6.9.1",
130
+ "@testing-library/react": "16.3.2",
131
+ "@testing-library/user-event": "14.6.1",
132
+ "@types/jsdom": "28.0.1",
133
+ "@types/lodash.capitalize": "4.2.9",
134
+ "@types/lodash.groupby": "4.6.9",
135
+ "@types/lodash.isnull": "3.0.9",
136
+ "@types/lodash.mergewith": "4.6.9",
137
+ "@types/lodash.omit": "4.5.9",
138
+ "@types/lodash.omitby": "4.6.9",
139
+ "@types/node": "24.12.2",
140
+ "@types/react": "19.2.14",
141
+ "@vitest/coverage-istanbul": "4.1.4",
142
+ "chalk": "5.6.2",
143
+ "filesize": "11.0.15",
144
+ "glob": "13.0.6",
145
+ "gzip-size": "7.0.0",
146
+ "jsdom": "29.0.2",
147
+ "msw": "2.13.3",
148
+ "oxfmt": "0.45.0",
149
+ "oxlint": "1.60.0",
150
+ "tsup": "8.5.1",
151
+ "tsx": "4.21.0",
152
+ "vitest": "4.1.4"
153
153
  }
154
154
  }
@@ -1,2 +0,0 @@
1
- import{a}from"./chunk-LX3JPBUV.js";import"./chunk-3VWXALRD.js";import"./chunk-JXWFFVQO.js";import"./chunk-AMSYQQG7.js";import"./chunk-72RFYT5Y.js";import"./chunk-R47Q7R6C.js";import"./chunk-OSQ6VUDM.js";import"./chunk-KQPDXXG3.js";import"./chunk-P37U34EQ.js";export{a as CheckboxFieldDefault};
2
- //# sourceMappingURL=CheckboxFieldDefault-SQULI7DO.js.map
@@ -1,2 +0,0 @@
1
- import{a}from"./chunk-P4TKMCSQ.js";import"./chunk-OXCSFW3F.js";import"./chunk-6SDLOAEO.js";import"./chunk-3VWXALRD.js";import"./chunk-FOBUW3RN.js";import"./chunk-YYMGZZTO.js";import"./chunk-XADVV6OP.js";import"./chunk-AMSYQQG7.js";import"./chunk-72RFYT5Y.js";import"./chunk-R47Q7R6C.js";import"./chunk-OSQ6VUDM.js";import"./chunk-KQPDXXG3.js";import"./chunk-P37U34EQ.js";export{a as CountryFieldDefault};
2
- //# sourceMappingURL=CountryFieldDefault-4YHZACZ5.js.map
@@ -1,2 +0,0 @@
1
- import{a}from"./chunk-GCPDTL2M.js";import"./chunk-6SDLOAEO.js";import"./chunk-3VWXALRD.js";import"./chunk-XADVV6OP.js";import"./chunk-AMSYQQG7.js";import"./chunk-72RFYT5Y.js";import"./chunk-R47Q7R6C.js";import"./chunk-OSQ6VUDM.js";import"./chunk-KQPDXXG3.js";import"./chunk-P37U34EQ.js";export{a as DatePickerFieldDefault};
2
- //# sourceMappingURL=DatePickerFieldDefault-B7WY5H6M.js.map
@@ -1,2 +0,0 @@
1
- import{a}from"./chunk-XUT44QU6.js";import"./chunk-3VWXALRD.js";import"./chunk-DYNVJFJH.js";import"./chunk-AMSYQQG7.js";import"./chunk-72RFYT5Y.js";import"./chunk-R47Q7R6C.js";import"./chunk-OSQ6VUDM.js";import"./chunk-KQPDXXG3.js";import"./chunk-P37U34EQ.js";export{a as RadioGroupFieldDefault};
2
- //# sourceMappingURL=RadioGroupFieldDefault-G637DHSW.js.map
@@ -1,2 +0,0 @@
1
- import{a}from"./chunk-5F5H7LZT.js";import"./chunk-3VWXALRD.js";import"./chunk-AMSYQQG7.js";import"./chunk-72RFYT5Y.js";import"./chunk-R47Q7R6C.js";import"./chunk-OSQ6VUDM.js";import"./chunk-KQPDXXG3.js";import"./chunk-P37U34EQ.js";export{a as TextAreaFieldDefault};
2
- //# sourceMappingURL=TextAreaFieldDefault-32E5FGS7.js.map
@@ -1,2 +0,0 @@
1
- import{k as g}from"./chunk-R47Q7R6C.js";import{c as m,h as u}from"./chunk-OSQ6VUDM.js";import{b as f,d as b}from"./chunk-KQPDXXG3.js";import{a as e}from"./chunk-P37U34EQ.js";var P={disclaimerCostCalculator:4668194326797,engagingContractors:43161434169613,employeeOnboardingTimeline:4411262104589,extraPayments:4466822781709,internationalPricing:4410698586893,pricingPlanOptions:43161720465421,ir35Status:42810224523917,remoteFxRate:33271144977421,terminationEmployeeCommunication:4411585179661,terminationNoticePeriods:5831900985613,involuntaryOffboardingServiceCharge:4406932229133,reconciliationInvoice:17604014808589},l=e(r=>`https://support.remote.com/hc/en-us/articles/${r}`,"buildZendeskURL");import{useQuery as y}from"@tanstack/react-query";var k=e((r,t)=>{let{client:i}=b();return y({queryKey:["zendesk-article",r],queryFn:e(async()=>{let n=await g({client:i,path:{id:Number(r)}});if(n.error)throw new Error(n.error.message||"Failed to fetch article");return n},"queryFn"),select:e(n=>{let o=n.data?.data.help_center_article;return o&&{...o,body:u(o.body||"")}},"select"),retry:!1,...t})},"useZendeskArticle");import{jsx as R}from"react/jsx-runtime";var C=e(({Trigger:r,zendeskId:t,open:i,onClose:n})=>{let{components:o}=f(),c=l(t),s=e(()=>{n?.()},"handleClose"),{data:a,isLoading:h,error:w}=k(t,{enabled:i}),p=o?.zendeskDrawer;if(!p)throw new Error("Zendesk drawer component not found");return R(p,{open:i,onClose:s,data:a,isLoading:h,error:w,zendeskURL:c,Trigger:r})},"ZendeskDrawer");import{useState as x}from"react";import{jsx as d}from"react/jsx-runtime";var Z="RemoteFlows__ZendeskTriggerButton text-blue-500 hover:underline inline-block text-xs bg-transparent border-none cursor-pointer p-0";function Q({zendeskId:r,className:t,onClick:i,children:n,external:o=!1}){let[c,s]=x(!1),a=e(()=>{o||s(!0),i?.(r)},"handleClick");return o?d("a",{href:l(r),target:"_blank",rel:"noopener noreferrer",onClick:a,className:m(Z,t),children:n}):d(C,{zendeskId:r,open:c,onClose:()=>s(!1),Trigger:d("button",{onClick:a,className:m(Z,t),children:n})})}e(Q,"ZendeskTriggerButton");export{P as a,Q as b};
2
- //# sourceMappingURL=chunk-AMSYQQG7.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/shared/zendesk-drawer/utils.ts","../src/components/shared/zendesk-drawer/api.ts","../src/components/shared/zendesk-drawer/ZendeskDrawer.tsx","../src/components/shared/zendesk-drawer/ZendeskTriggerButton.tsx"],"sourcesContent":["export const zendeskArticles = {\n /**\n * Disclaimer for Cost Calculator\n * Access: Private (Need Remote account to access)\n * https://support.remote.com/hc/en-us/articles/4668194326797\n */\n disclaimerCostCalculator: 4668194326797,\n /**\n * Guide for engaging contractors\n * Access: private (Need Remote account to access)\n * https://support.remote.com/hc/en-us/articles/43161434169613\n */\n engagingContractors: 43161434169613,\n /**\n * Employee Onboarding Timeline\n * Access: Private (Need Remote account to access)\n * https://support.remote.com/hc/en-us/articles/4411262104589\n */\n employeeOnboardingTimeline: 4411262104589,\n /**\n * Extra Payments\n * Access: Public (Everyone can access)\n * https://support.remote.com/hc/en-us/articles/4466822781709\n */\n extraPayments: 4466822781709,\n /**\n * International Pricing\n * Access: Public (Everyone can access)\n * https://support.remote.com/hc/en-us/articles/4410698586893\n */\n internationalPricing: 4410698586893,\n /**\n * Pricing Plan Options\n * Access: Private (Need Remote account to access)\n * https://support.remote.com/hc/en-us/articles/43161720465421\n */\n pricingPlanOptions: 43161720465421,\n /**\n * IR35 Status\n * Access: Private (Need Remote account to access)\n * https://support.remote.com/hc/en-us/articles/42810224523917\n */\n ir35Status: 42810224523917,\n /**\n * Remote FX Rate\n * Access: Public (Everyone can access)\n * https://support.remote.com/hc/en-us/articles/33271144977421\n */\n remoteFxRate: 33271144977421,\n /**\n * Employee Communication for Terminations\n * Access: Public (Everyone can access)\n * https://support.remote.com/hc/en-us/articles/4411585179661\n */\n terminationEmployeeCommunication: 4411585179661,\n /**\n * Notice Period for Terminations by Country\n * Access: Public (Everyone can access)\n * https://support.remote.com/hc/en-us/articles/5831900985613\n */\n terminationNoticePeriods: 5831900985613,\n /**\n * Involuntary Offboarding Service Charge\n * Access: Private (Need Remote account to access)\n * https://support.remote.com/hc/en-us/articles/4406932229133\n */\n involuntaryOffboardingServiceCharge: 4406932229133,\n /**\n * Reconciliation Invoice\n * Access: Public (Everyone can access)\n * https://support.remote.com/hc/en-us/articles/17604014808589\n */\n reconciliationInvoice: 17604014808589,\n};\n\nexport const buildZendeskURL = (zendeskId: number) => {\n return `https://support.remote.com/hc/en-us/articles/${zendeskId}`;\n};\n","import { getShowHelpCenterArticle } from '@/src/client';\nimport { useClient } from '@/src/context';\nimport { sanitizeHtmlWithImageErrorHandling } from '@/src/lib/utils';\nimport { Client } from '@/src/client/client';\nimport { useQuery } from '@tanstack/react-query';\n\nexport const useZendeskArticle = (\n zendeskId: number | null,\n queryOptions?: { enabled?: boolean },\n) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['zendesk-article', zendeskId],\n queryFn: async () => {\n const response = await getShowHelpCenterArticle({\n client: client as Client,\n path: {\n id: Number(zendeskId),\n },\n });\n\n if (response.error) {\n throw new Error(response.error.message || 'Failed to fetch article');\n }\n\n return response;\n },\n select: (data) => {\n const article = data.data?.data.help_center_article;\n if (article) {\n return {\n ...article,\n body: sanitizeHtmlWithImageErrorHandling(article.body || ''),\n };\n }\n return article;\n },\n retry: false,\n ...queryOptions,\n });\n};\n","import { useZendeskArticle } from '@/src/components/shared/zendesk-drawer/api';\nimport { useFormFields } from '@/src/context';\nimport { buildZendeskURL } from '@/src/components/shared/zendesk-drawer/utils';\n\nexport type ZendeskDrawerProps = {\n Trigger: React.ReactElement;\n zendeskId: number;\n open: boolean;\n onClose: () => void;\n};\n\nexport const ZendeskDrawer = ({\n Trigger,\n zendeskId,\n open,\n onClose,\n}: ZendeskDrawerProps) => {\n const { components } = useFormFields();\n const zendeskURL = buildZendeskURL(zendeskId);\n\n const handleClose = () => {\n onClose?.();\n };\n\n const { data, isLoading, error } = useZendeskArticle(zendeskId, {\n enabled: open,\n });\n\n const CustomZendeskDrawer = components?.zendeskDrawer;\n\n if (!CustomZendeskDrawer) {\n throw new Error(`Zendesk drawer component not found`);\n }\n\n return (\n <CustomZendeskDrawer\n open={open}\n onClose={handleClose}\n data={data}\n isLoading={isLoading}\n error={error}\n zendeskURL={zendeskURL}\n Trigger={Trigger}\n />\n );\n};\n","import { cn } from '@/src/lib/utils';\nimport { ZendeskDrawer } from './ZendeskDrawer';\nimport { buildZendeskURL } from './utils';\nimport { useState } from 'react';\n\ninterface ZendeskTriggerButtonProps {\n /**\n * The Zendesk ID for the help article\n */\n zendeskId: number;\n /**\n * The class name for the button\n */\n className?: string;\n /**\n * The callback function to be called when the button is clicked\n */\n onClick?: (zendeskId: number) => void;\n /**\n * The children to be rendered inside the button\n */\n children?: React.ReactNode;\n /**\n * Whether to open the help article in a new tab\n */\n external?: boolean;\n}\n\nconst baseClassName =\n 'RemoteFlows__ZendeskTriggerButton text-blue-500 hover:underline inline-block text-xs bg-transparent border-none cursor-pointer p-0';\n\nexport function ZendeskTriggerButton({\n zendeskId,\n className,\n onClick,\n children,\n external = false,\n}: ZendeskTriggerButtonProps) {\n const [isOpen, setIsOpen] = useState(false);\n\n const handleClick = () => {\n if (!external) {\n setIsOpen(true);\n }\n onClick?.(zendeskId);\n };\n\n if (external) {\n return (\n <a\n href={buildZendeskURL(zendeskId)}\n target='_blank'\n rel='noopener noreferrer'\n onClick={handleClick}\n className={cn(baseClassName, className)}\n >\n {children}\n </a>\n );\n }\n\n return (\n <ZendeskDrawer\n zendeskId={zendeskId}\n open={isOpen}\n onClose={() => setIsOpen(false)}\n Trigger={\n <button onClick={handleClick} className={cn(baseClassName, className)}>\n {children}\n </button>\n }\n />\n );\n}\n"],"mappings":"8KAAO,IAAMA,EAAkB,CAM7B,yBAA0B,cAM1B,oBAAqB,eAMrB,2BAA4B,cAM5B,cAAe,cAMf,qBAAsB,cAMtB,mBAAoB,eAMpB,WAAY,eAMZ,aAAc,eAMd,iCAAkC,cAMlC,yBAA0B,cAM1B,oCAAqC,cAMrC,sBAAuB,cACzB,EAEaC,EAAkBC,EAACC,GACvB,gDAAgDA,CAAS,GADnC,mBCvE/B,OAAS,YAAAC,MAAgB,wBAElB,IAAMC,EAAoBC,EAAA,CAC/BC,EACAC,IACG,CACH,GAAM,CAAE,OAAAC,CAAO,EAAIC,EAAU,EAC7B,OAAOC,EAAS,CACd,SAAU,CAAC,kBAAmBJ,CAAS,EACvC,QAASD,EAAA,SAAY,CACnB,IAAMM,EAAW,MAAMC,EAAyB,CAC9C,OAAQJ,EACR,KAAM,CACJ,GAAI,OAAOF,CAAS,CACtB,CACF,CAAC,EAED,GAAIK,EAAS,MACX,MAAM,IAAI,MAAMA,EAAS,MAAM,SAAW,yBAAyB,EAGrE,OAAOA,CACT,EAbS,WAcT,OAAQN,EAACQ,GAAS,CAChB,IAAMC,EAAUD,EAAK,MAAM,KAAK,oBAChC,OAAIC,GACK,CACL,GAAGA,EACH,KAAMC,EAAmCD,EAAQ,MAAQ,EAAE,CAC7D,CAGJ,EATQ,UAUR,MAAO,GACP,GAAGP,CACL,CAAC,CACH,EAlCiC,qBC6B7B,cAAAS,MAAA,oBAxBG,IAAMC,EAAgBC,EAAA,CAAC,CAC5B,QAAAC,EACA,UAAAC,EACA,KAAAC,EACA,QAAAC,CACF,IAA0B,CACxB,GAAM,CAAE,WAAAC,CAAW,EAAIC,EAAc,EAC/BC,EAAaC,EAAgBN,CAAS,EAEtCO,EAAcT,EAAA,IAAM,CACxBI,IAAU,CACZ,EAFoB,eAId,CAAE,KAAAM,EAAM,UAAAC,EAAW,MAAAC,CAAM,EAAIC,EAAkBX,EAAW,CAC9D,QAASC,CACX,CAAC,EAEKW,EAAsBT,GAAY,cAExC,GAAI,CAACS,EACH,MAAM,IAAI,MAAM,oCAAoC,EAGtD,OACEhB,EAACgB,EAAA,CACC,KAAMX,EACN,QAASM,EACT,KAAMC,EACN,UAAWC,EACX,MAAOC,EACP,WAAYL,EACZ,QAASN,EACX,CAEJ,EAlC6B,iBCR7B,OAAS,YAAAc,MAAgB,QA8CnB,cAAAC,MAAA,oBArBN,IAAMC,EACJ,qIAEK,SAASC,EAAqB,CACnC,UAAAC,EACA,UAAAC,EACA,QAAAC,EACA,SAAAC,EACA,SAAAC,EAAW,EACb,EAA8B,CAC5B,GAAM,CAACC,EAAQC,CAAS,EAAIC,EAAS,EAAK,EAEpCC,EAAcC,EAAA,IAAM,CACnBL,GACHE,EAAU,EAAI,EAEhBJ,IAAUF,CAAS,CACrB,EALoB,eAOpB,OAAII,EAEAP,EAAC,KACC,KAAMa,EAAgBV,CAAS,EAC/B,OAAO,SACP,IAAI,sBACJ,QAASQ,EACT,UAAWG,EAAGb,EAAeG,CAAS,EAErC,SAAAE,EACH,EAKFN,EAACe,EAAA,CACC,UAAWZ,EACX,KAAMK,EACN,QAAS,IAAMC,EAAU,EAAK,EAC9B,QACET,EAAC,UAAO,QAASW,EAAa,UAAWG,EAAGb,EAAeG,CAAS,EACjE,SAAAE,EACH,EAEJ,CAEJ,CA1CgBM,EAAAV,EAAA","names":["zendeskArticles","buildZendeskURL","__name","zendeskId","useQuery","useZendeskArticle","__name","zendeskId","queryOptions","client","useClient","useQuery","response","getShowHelpCenterArticle","data","article","sanitizeHtmlWithImageErrorHandling","jsx","ZendeskDrawer","__name","Trigger","zendeskId","open","onClose","components","useFormFields","zendeskURL","buildZendeskURL","handleClose","data","isLoading","error","useZendeskArticle","CustomZendeskDrawer","useState","jsx","baseClassName","ZendeskTriggerButton","zendeskId","className","onClick","children","external","isOpen","setIsOpen","useState","handleClick","__name","buildZendeskURL","cn","ZendeskDrawer"]}
@@ -1,2 +0,0 @@
1
- import{b as f}from"./chunk-MRYRNB7Y.js";import{b as l}from"./chunk-KFYWUBRS.js";import{a as F}from"./chunk-4EDPYN5F.js";import{f as s,h as a}from"./chunk-72RFYT5Y.js";import{a as t}from"./chunk-P37U34EQ.js";import{useEffect as y}from"react";import{jsx as r}from"react/jsx-runtime";function A({defaultValues:u,fields:m,onSubmit:d}){let{formId:c,terminationBag:o}=f(),p=l(o.handleValidation),e=s({resolver:p,defaultValues:u,shouldUnregister:!1,mode:"onBlur"});y(()=>{let V=e?.watch(i=>{Object.keys(i).some(n=>i[n]!==o?.initialValues?.[n])&&o?.checkFieldUpdates(i)});return()=>V?.unsubscribe()},[]);let T=m||(o?.fields??[]);return r(a,{...e,children:r("form",{id:c,onSubmit:e.handleSubmit(d),className:"space-y-4 RemoteFlows__TerminationForm",children:r(F,{fields:T})})})}t(A,"TerminationForm");export{A as a};
2
- //# sourceMappingURL=chunk-AXGWQVCT.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/Termination/TerminationForm.tsx"],"sourcesContent":["import { JSFFields } from '@/src/types/remoteFlows';\nimport { JSONSchemaFormFields } from '@/src/components/form/JSONSchemaForm';\nimport { Form } from '@/src/components/ui/form';\nimport { useEffect } from 'react';\nimport { useTerminationContext } from './context';\nimport { TerminationFormValues } from '@/src/flows/Termination/types';\nimport { useForm } from 'react-hook-form';\nimport { useJsonSchemasValidationFormResolver } from '@/src/components/form/validationResolver';\n\ntype TerminationFormProps = {\n onSubmit: (payload: TerminationFormValues) => void;\n fields?: JSFFields;\n defaultValues?: TerminationFormValues;\n};\n\nexport function TerminationForm({\n defaultValues,\n fields,\n onSubmit,\n}: TerminationFormProps) {\n const { formId, terminationBag } = useTerminationContext();\n\n const resolver = useJsonSchemasValidationFormResolver(\n terminationBag.handleValidation,\n );\n\n const form = useForm({\n resolver,\n defaultValues: defaultValues,\n shouldUnregister: false,\n mode: 'onBlur',\n });\n\n useEffect(() => {\n const subscription = form?.watch((values) => {\n const isAnyFieldDirty = Object.keys(values).some(\n (key) =>\n values[key as keyof TerminationFormValues] !==\n terminationBag?.initialValues?.[key as keyof TerminationFormValues],\n );\n if (isAnyFieldDirty) {\n terminationBag?.checkFieldUpdates(values as TerminationFormValues);\n }\n });\n return () => subscription?.unsubscribe();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const jsonSchemaFields = fields ? fields : (terminationBag?.fields ?? []);\n\n return (\n <Form {...form}>\n <form\n id={formId}\n onSubmit={form.handleSubmit(onSubmit)}\n className='space-y-4 RemoteFlows__TerminationForm'\n >\n <JSONSchemaFormFields fields={jsonSchemaFields} />\n </form>\n </Form>\n );\n}\n"],"mappings":"+MAGA,OAAS,aAAAA,MAAiB,QAsDlB,cAAAC,MAAA,oBA1CD,SAASC,EAAgB,CAC9B,cAAAC,EACA,OAAAC,EACA,SAAAC,CACF,EAAyB,CACvB,GAAM,CAAE,OAAAC,EAAQ,eAAAC,CAAe,EAAIC,EAAsB,EAEnDC,EAAWC,EACfH,EAAe,gBACjB,EAEMI,EAAOC,EAAQ,CACnB,SAAAH,EACA,cAAeN,EACf,iBAAkB,GAClB,KAAM,QACR,CAAC,EAEDU,EAAU,IAAM,CACd,IAAMC,EAAeH,GAAM,MAAOI,GAAW,CACnB,OAAO,KAAKA,CAAM,EAAE,KACzCC,GACCD,EAAOC,CAAkC,IACzCT,GAAgB,gBAAgBS,CAAkC,CACtE,GAEET,GAAgB,kBAAkBQ,CAA+B,CAErE,CAAC,EACD,MAAO,IAAMD,GAAc,YAAY,CAEzC,EAAG,CAAC,CAAC,EAEL,IAAMG,EAAmBb,IAAmBG,GAAgB,QAAU,CAAC,GAEvE,OACEN,EAACiB,EAAA,CAAM,GAAGP,EACR,SAAAV,EAAC,QACC,GAAIK,EACJ,SAAUK,EAAK,aAAaN,CAAQ,EACpC,UAAU,yCAEV,SAAAJ,EAACkB,EAAA,CAAqB,OAAQF,EAAkB,EAClD,EACF,CAEJ,CA9CgBG,EAAAlB,EAAA","names":["useEffect","jsx","TerminationForm","defaultValues","fields","onSubmit","formId","terminationBag","useTerminationContext","resolver","useJsonSchemasValidationFormResolver","form","useForm","useEffect","subscription","values","key","jsonSchemaFields","Form","JSONSchemaFormFields","__name"]}
@@ -1,2 +0,0 @@
1
- import{a as A}from"./chunk-ACKYD4QC.js";import{i as Q,j as X}from"./chunk-FFVTWWGX.js";import{b as U,c as q,f as K}from"./chunk-UZNF4JV3.js";import{a as Z}from"./chunk-2UZ72KAQ.js";import{a as G}from"./chunk-CLAVZQBC.js";import{b as N}from"./chunk-AMSYQQG7.js";import{c as g,i as h}from"./chunk-72RFYT5Y.js";import{c as k,g as R}from"./chunk-OSQ6VUDM.js";import{b as S}from"./chunk-KQPDXXG3.js";import{a as i}from"./chunk-P37U34EQ.js";import{Fragment as ve,useEffect as Ze,useRef as De}from"react";import{jsx as Y}from"react/jsx-runtime";function j({description:e,label:o,name:t,minDate:r,maxDate:s,onChange:a,component:l,...p}){let{components:F}=S(),{control:f}=g(),c;p.meta?.mot&&typeof p.meta.mot=="number"?c=Q(p.meta.mot):typeof r=="string"&&(c=new Date(`${r}T00:00:00`));let m;return s&&(m=new Date(`${s}T23:59:59`)),Y(h,{control:f,name:t,render:({field:u,fieldState:C})=>{let d=l||F?.date;if(!d)throw new Error(`Date picker component not found for field ${t}`);let y={description:e,label:o,name:t,onChange:a,...c&&{minDate:c.toISOString()},...m&&{maxDate:m.toISOString()},...p};return Y(d,{field:{...u,onChange:i(T=>{u.onChange(T),a?.(T)},"onChange")},fieldState:C,fieldData:y})}})}i(j,"DatePickerField");import{jsx as ee}from"react/jsx-runtime";var ke=i((e,o)=>{if(!o)return null;for(let t of e)if(t.size>o){let r=Math.round(o/1048576),s=Math.round(t.size/(1024*1024));return`File "${t.name}" exceeds maximum size of ${r}MB (file is ${s}MB)`}return null},"validateFileSize");function oe({name:e,description:o,label:t,multiple:r,onChange:s,component:a,accept:l,maxSize:p,...F}){let{components:f}=S(),{control:c,setError:m,clearErrors:u}=g(),C=i(async(d,y)=>{let T=ke(d,p);if(T){m(e,{message:T});return}u(e),y.onChange(d),s?.(d)},"handleOnChange");return ee(h,{control:c,name:e,render:({field:d,fieldState:y})=>{let T=a||f.file;if(!T)throw new Error(`File upload component not found for field ${e}`);let P={name:e,description:o,label:t,multiple:r,accept:l,maxFileSize:p,...F};return ee(T,{field:{...d,value:d.value,onChange:i(async x=>C(x,d),"onChange")},fieldState:y,fieldData:P})}})}i(oe,"FileUploadField");import{jsx as te}from"react/jsx-runtime";function H(e){let{components:o}=S(),{control:t}=g(),r=e.component||o.number;if(!r)throw new Error(`Number component not found for field ${e.name}`);return te(h,{control:t,name:e.name,render:({field:s,fieldState:a})=>te(r,{field:{...s,onChange:i(l=>{s.onChange(l),e.onChange?.(l)},"onChange")},fieldState:a,fieldData:e})})}i(H,"NumberField");import{jsx as ne}from"react/jsx-runtime";function re({name:e,defaultValue:o,description:t,label:r,options:s,onChange:a,component:l,...p}){let{components:F}=S(),{control:f}=g();return ne(h,{control:f,name:e,defaultValue:o,render:({field:c,fieldState:m})=>{let u=l||F?.radio;if(!u)throw new Error(`Radio group component not found for field ${e}`);let C={name:e,defaultValue:o,description:t,label:r,options:s,...p};return ne(u,{field:{...c,onChange:i(d=>{c.onChange(d),a?.(d)},"onChange")},fieldState:m,fieldData:C})}})}i(re,"RadioGroupField");import{jsx as ie}from"react/jsx-runtime";function le({label:e,name:o,options:t,defaultValue:r,description:s,onChange:a,component:l,...p}){let{control:F}=g(),{components:f}=S();return ie(h,{defaultValue:r,control:F,name:o,render:({field:c,fieldState:m})=>{let u=l||f?.select;if(!u)throw new Error(`Select component not found for field ${o}`);let C={label:e,name:o,options:t,defaultValue:r,description:s,onChange:a,...p};return ie(u,{field:{...c,onChange:i(d=>{let T=(Array.isArray(p.jsonType)?p.jsonType.includes("number"):p.jsonType==="number")?Number(d):d;c.onChange(T),a?.(T)},"onChange")},fieldState:m,fieldData:C})}})}i(le,"SelectField");import{jsx as se}from"react/jsx-runtime";function ae({label:e,name:o,options:t,defaultValue:r,description:s,onChange:a,$meta:l,component:p,...F}){let{control:f}=g(),{components:c}=S();return se(h,{defaultValue:r,control:f,name:o,render:({field:m,fieldState:u})=>{let C=p||c.countries;if(!C)throw new Error(`Country component not found for field ${o}`);let d={label:e,name:o,options:t,defaultValue:r,description:s,onChange:a,$meta:l,...F};return se(C,{field:{...m,onChange:i(y=>{m.onChange(y),a?.(y)},"onChange")},fieldState:u,fieldData:d})}})}i(ae,"CountryField");import{jsx as me}from"react/jsx-runtime";function de({name:e,description:o,label:t,onChange:r,maxLength:s,component:a,...l}){let{components:p}=S(),{control:F}=g();return me(h,{control:F,name:e,render:({field:f,fieldState:c})=>{let m=a||p.textarea;if(!m)throw new Error(`Text area component not found for field ${e}`);let u={name:e,description:o,label:t,maxLength:s,...l};return me(m,{field:{...f,onChange:i(C=>{f.onChange(C),r?.(C)},"onChange")},fieldState:c,fieldData:u})}})}i(de,"TextAreaField");import{jsx as pe}from"react/jsx-runtime";function ce(e){let{components:o}=S(),{control:t}=g(),r=e.component||o.email;if(!r)throw new Error(`Email component not found for field ${e.name}`);return pe(h,{control:t,name:e.name,render:({field:s,fieldState:a})=>pe(r,{field:{...s,onChange:i(l=>{s.onChange(l),e.onChange?.(l)},"onChange")},fieldState:a,fieldData:e})})}i(ce,"EmailField");import{jsx as ue}from"react/jsx-runtime";function Fe(e){let{control:o}=g();return ue(h,{control:o,name:e.name,render:({field:t})=>ue("input",{...t,type:"hidden"})})}i(Fe,"HiddenField");import{useEffect as Ne,useState as Ve}from"react";import{jsx as fe}from"react/jsx-runtime";function ge(e){let{components:o}=S(),{setValue:t,control:r,watch:s}=g(),a=s(e.name),[l,p]=Ve(a),{workHoursSummary:F,breakSummary:f}=q(l),c=U(l);Ne(()=>{t(e.name,l)},[l,e.name,t]);function m(d){p(d)}i(m,"onSubmit");let u=e.component||o["work-schedule"];if(!u)throw new Error(`Work schedule component not found for field ${e.name}`);let C={...e,onSubmit:m,currentSchedule:l,defaultFormattedValue:{workHoursSummary:F,breakSummary:f,totalWorkHours:c}};return fe(h,{control:r,name:e.name,render:({field:d,fieldState:y})=>fe(u,{field:{...d,onChange:i(T=>{d.onChange(T),e.onChange?.(T)},"onChange")},fieldState:y,fieldData:C})})}i(ge,"WorkScheduleField");import{jsx as Ce}from"react/jsx-runtime";function he({label:e,name:o,options:t,defaultValue:r,description:s,onChange:a,component:l,...p}){let{control:F}=g(),{components:f}=S();return Ce(h,{defaultValue:r,control:F,name:o,render:({field:c,fieldState:m})=>{let u=l||f?.["multi-select"];if(!u)throw new Error(`Multi select component not found for field ${o}`);let C={label:e,name:o,options:t,defaultValue:r,description:s,onChange:a,...p};return Ce(u,{field:{...c,onChange:i(d=>{c.onChange(d),a?.(d)},"onChange")},fieldState:m,fieldData:C})}})}i(he,"MultiSelectField");import{jsx as Ae}from"react/jsx-runtime";var Se=i(e=>Ae(H,{maxLength:15,...e}),"MoneyField");import{useMemo as B,useCallback as ye,useState as He,useEffect as Be,useRef as Je}from"react";import{jsx as W}from"react/jsx-runtime";function We(e){return e.replace(/\s/g,"")}i(We,"removeSpaces");function be(e="",o){let t=new RegExp(`^(\\+|00)(\\d{${o?.dialCode?.length??0}})(.*)$`),r=e?.match(t);if(!r)return{prefix:"",dialCode:"",phoneNumber:e};let[,s,a,l]=r;return{prefix:s,dialCode:a,phoneNumber:l}}i(be,"getStructuredNumberFromInternationalNumber");function Te({dialCodes:e,dialCodeMaxLength:o},t){let{prefix:r}=be(t);if(r)for(let s=o+r.length;s>r.length;s--){let a=t.slice(r.length,s);if(e[a])return e[a]}}i(Te,"getCountryFromPhoneNumber");function xe(e){let o={},t=0;return e.forEach(r=>{r.areaCodes?r.areaCodes.forEach(s=>{let a=r.dialCode+s;o[a]=r,a.length>t&&(t=a.length)}):(o[r.dialCode]=r,r.dialCode.length>t&&(t=r.dialCode.length))}),{dialCodes:o,dialCodeMaxLength:t}}i(xe,"getCountryDataByCountryCode");function Ie(e=""){let o=/\(([^)]+)\)/g,t=e.match(o);if(t?.length===2)return t[1].replace(/\(|\)/g,"").split("|")}i(Ie,"getAreaCodesFromPattern");function Le(e){return e.map(o=>({name:o.label,dialCode:o.meta.countryCode,pattern:o.pattern,areaCodes:Ie(o.pattern)}))}i(Le,"transformSchemaToCountries");function ze({field:e,fieldState:o,fieldData:t,component:r,onChangeCountryCode:s,onChangePhoneNumber:a}){let{value:l}=e,{options:p}=t,F=B(()=>Le(p),[p]),f=B(()=>xe(F),[F]),c=Je(!1),[m,u]=He(()=>Te(xe(F),l||""));Be(()=>{if((!l||l==="+")&&(c.current=!1),c.current)return;let x=Te(f,l||"");u(x)},[l,f]);let{prefix:C,phoneNumber:d}=B(()=>be(l,m),[l,m]),y=ye(x=>{if(!x)return;let w=`+${x.dialCode}${d}`;c.current=!0,u(x),e.onChange(w),s&&s(x)},[d,e,s]),T=ye(x=>{let w=We(x.target.value),$;if(m?$=`${C}${m.dialCode}${w}`:$=`${C}${w}`,e.onChange($),a){let V={target:{value:$,name:e.name}};a(V)}},[m,C,e,a]),P=B(()=>({...t,onChangeCountryCode:y,onChangePhoneNumber:T,currentCountry:m,nationalPhoneNumber:d}),[t,y,T,m,d]);return W(r,{field:e,fieldState:o,fieldData:P})}i(ze,"TelFieldRenderer");function $e({name:e,description:o,label:t,onChangeCountryCode:r,onChangePhoneNumber:s,component:a,...l}){let{components:p}=S(),{control:F}=g();return W(h,{control:F,name:e,render:({field:f,fieldState:c})=>{let m=a||p.tel;if(!m)throw new Error(`Tel component not found for field ${e}`);let u={name:e,description:o,label:t,...l};return W(ze,{field:f,fieldState:c,fieldData:u,component:m,onChangeCountryCode:r,onChangePhoneNumber:s})}})}i($e,"TelField");var I={checkbox:K,text:G,email:ce,money:Se,select:le,"multi-select":he,radio:re,number:H,file:oe,date:j,textarea:de,countries:ae,hidden:Fe,tel:$e,"work-schedule":ge};import{useEffect as Oe}from"react";import{jsx as J,jsxs as _e}from"react/jsx-runtime";var Ge=i(({name:e,description:o,helpCenter:t})=>_e("span",{children:[J("span",{className:`text-xs RemoteFlows__ForcedValue__Description__${e}`,dangerouslySetInnerHTML:{__html:R(o)}}),t?.callToAction&&t?.id&&J(N,{className:"RemoteFlows__ForcedValue__HelpCenterLink",zendeskId:t.id,children:t.callToAction})]}),"Description");function Pe({name:e,value:o,description:t,statement:r,label:s,helpCenter:a}){let{setValue:l}=g(),p=R(r?.description||t);Oe(()=>{l(e,o)},[]);let F=r?.title?R(r?.title):R(s);return _e("div",{children:[F&&J("p",{className:`text-sm RemoteFlows__ForcedValue__Title__${e}`,dangerouslySetInnerHTML:{__html:F}}),J(Ge,{name:e,description:p,helpCenter:a})]})}i(Pe,"ForcedValueField");import{Fragment as Ue,jsx as b,jsxs as v}from"react/jsx-runtime";function Re({label:e,name:o,fields:t,description:r,components:s,statement:a,isFlatFieldset:l,extra:p,variant:F="outset",features:f,meta:c}){let{helpCenter:m}=c||{},{watch:u,setValue:C,trigger:d,formState:y}=g(),{components:T}=S(),P=f?.toggle?.stateField,x=P?u(P):f?.toggle?.defaultExpanded??!0,w=t.map(({name:n})=>`${o}.${n}`),$=u(w),V=De($),M=De(null),we=i(()=>{P&&C(P,!x)},"toggleExpanded");Ze(()=>{let n=$,_=V.current,O=y.isSubmitted||y.submitCount>0,E=!1;for(let D=0;D<n.length;D++)if(n[D]!==void 0&&_[D]!==n[D]){E=!0;break}return E&&O&&(M.current&&clearTimeout(M.current),M.current=setTimeout(()=>{d()},50)),V.current=[...n],()=>{M.current&&clearTimeout(M.current)}},[$,d,y.isSubmitted,y.submitCount]);let Ee=T?.fieldsetToggle||Z,L=`${o}-content`,z=`${o}-header`;return v("fieldset",{className:k("border-1 border-input p-4 rounded-xl","RemoteFlows__FieldSetField",`RemoteFlows__FieldSetField__${o}`),children:[b("legend",{className:k("text-sm font-semibold px-2",F==="inset"&&"hidden"),children:e}),m?.callToAction&&m?.id&&F==="outset"&&b(N,{className:"RemoteFlows__FieldSetField__HelpCenterLink mb-3",zendeskId:m.id,children:m.callToAction}),F==="inset"&&v(Ue,{children:[v("div",{className:"RemoteFlows__FieldSetField__Header",id:z,"data-state":x?"expanded":"collapsed","aria-expanded":x,children:[b("h3",{className:k("RemoteFlows__FieldSetField__Title"),children:e}),f?.toggle?.enabled&&b(Ee,{isExpanded:x,onToggle:we,"aria-expanded":x,"aria-controls":L,"aria-label":`${x?"Hide":"Show"} ${e}`,className:k("RemoteFlows__FieldSetField__Toggle",f.toggle?.className),children:x?f.toggle.labels?.collapse??"Remove":f.toggle.labels?.expand??"Define"})]}),m?.callToAction&&m?.id&&b(N,{className:"RemoteFlows__FieldSetField__HelpCenterLink mb-3",zendeskId:m.id,children:m.callToAction})]}),x&&v("div",{id:L,"aria-labelledby":z,role:"region",children:[r?b("div",{className:"mb-5 RemoteFlows__FieldSetField__Description",dangerouslySetInnerHTML:{__html:R(r)}}):null,v("div",{className:"grid gap-4",children:[t.map(n=>{if(n.calculateDynamicProperties&&(n={...n,...n.calculateDynamicProperties($,n)||{}}),n.isVisible===!1||n.deprecated)return null;let _=n.type;if(X(n))return b(Pe,{name:`${l?n.name:`${o}.${n.name}`}`,description:n.description,value:n.const,statement:n.statement,label:n.label,helpCenter:n.meta?.helpCenter},`${l?n.name:`${o}.${n.name}`}`);if(_==="fieldset")return b(Re,{...n,name:`${l?n.name:`${o}.${n.name}`}`,components:s},`${l?n.name:`${o}.${n.name}`}`);if(_==="fieldset-flat")return b(Re,{...n,name:`${l?n.name:`${o}.${n.name}`}`,components:s,isFlatFieldset:!0},`${l?n.name:`${o}.${n.name}`}`);let E=I[_];if(n.Component){let{Component:D}=n;return v(ve,{children:[b(D,{...n,value:u(`${l?n.name:`${o}.${n.name}`}`),setValue:Me=>{C(`${l?n.name:`${o}.${n.name}`}`,Me)}}),n.statement?b(A,{...n.statement}):null,n.extra?n.extra:null]},`${l?n.name:`${o}.${n.name}`}`)}return E?(_==="select"&&n.multiple&&(E=I["multi-select"]),v(ve,{children:[b(E,{...n,name:`${l?n.name:`${o}.${n.name}`}`,component:s?.[_]}),n.statement?b(A,{...n.statement}):null,n.extra?n.extra:null]},`${l?n.name:`${o}.${n.name}`}`)):v("p",{className:"error",children:["Field type ",_," not supported"]})}),p||null,a?b(A,{...a}):null]})]})]})}i(Re,"FieldSetField");export{I as a,Pe as b,Re as c};
2
- //# sourceMappingURL=chunk-CEIDSIMA.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/form/fields/FieldSetField.tsx","../src/components/form/fields/DatePickerField.tsx","../src/components/form/fields/FileUploadField.tsx","../src/components/form/fields/NumberField.tsx","../src/components/form/fields/RadioGroupField.tsx","../src/components/form/fields/SelectField.tsx","../src/components/form/fields/CountryField.tsx","../src/components/form/fields/TextAreaField.tsx","../src/components/form/fields/EmailField.tsx","../src/components/form/fields/HiddenField.tsx","../src/components/form/fields/WorkScheduleField.tsx","../src/components/form/fields/MultiSelectField.tsx","../src/components/form/fields/MoneyField.tsx","../src/components/form/fields/TelField.tsx","../src/components/form/fields/baseFields.tsx","../src/components/form/fields/ForcedValueField.tsx"],"sourcesContent":["import { useFormContext } from 'react-hook-form';\nimport { Fragment, useEffect, useRef } from 'react';\nimport { baseFields } from '@/src/components/form/fields/baseFields';\nimport { cn, sanitizeHtml } from '@/src/lib/utils';\nimport { $TSFixMe, Components } from '@/src/types/remoteFlows';\nimport { Statement } from '@/src/components/form/Statement';\nimport { useFormFields } from '@/src/context';\nimport { ZendeskTriggerButton } from '@/src/components/shared/zendesk-drawer/ZendeskTriggerButton';\nimport { FieldsetToggleButtonDefault } from '@/src/components/form/fields/default/FieldsetToggleButtonDefault';\nimport { BaseTypes, SupportedTypes } from './types';\nimport { StatementComponentProps } from '@/src/types/fields';\nimport { checkFieldHasForcedValue } from '@/src/components/form/utils';\nimport { ForcedValueField } from '@/src/components/form/fields/ForcedValueField';\n\ntype FieldBase = {\n label: string;\n name: string;\n description: string;\n Component?: React.ComponentType<$TSFixMe>;\n inputType: SupportedTypes;\n multiple?: boolean;\n};\n\ntype FieldWithOptions = FieldBase & {\n type: 'select' | 'radio';\n options: Array<{ value: string; label: string }>;\n};\n\ntype FieldWithoutOptions = FieldBase & {\n type: Exclude<SupportedTypes, 'select' | 'radio'>;\n options?: never;\n};\n\ntype Field = FieldWithOptions | FieldWithoutOptions;\n\ntype FieldSetFeatures = {\n toggle?: {\n enabled: boolean;\n defaultExpanded?: boolean;\n stateField?: string;\n labels?: {\n expand: string;\n collapse: string;\n };\n className?: string;\n };\n};\n\nexport type FieldSetProps = {\n label: string;\n name: string;\n description: string;\n fields: Field[];\n features?: FieldSetFeatures;\n components: Components;\n statement?: StatementComponentProps['data'];\n isFlatFieldset: boolean;\n extra?: React.ReactNode;\n variant: 'outset' | 'inset';\n meta?: {\n helpCenter?: {\n callToAction: string;\n id: number;\n url: string;\n label: string;\n };\n } & Record<string, $TSFixMe>;\n};\n\nexport function FieldSetField({\n label,\n name,\n fields,\n description,\n components,\n statement,\n isFlatFieldset,\n extra,\n variant = 'outset',\n features,\n meta,\n}: FieldSetProps) {\n const { helpCenter } = meta || {};\n const { watch, setValue, trigger, formState } = useFormContext();\n const { components: formComponents } = useFormFields();\n\n // Get expanded state from form state if stateField is provided\n const stateField = features?.toggle?.stateField;\n const isExpanded = stateField\n ? watch(stateField)\n : (features?.toggle?.defaultExpanded ?? true);\n\n const fieldNames = fields.map(\n ({ name: fieldName }) => `${name}.${fieldName}`,\n );\n const watchedValues = watch(fieldNames);\n const prevValuesRef = useRef<string[]>(watchedValues);\n const triggerTimeoutRef = useRef<NodeJS.Timeout | null>(null);\n\n const toggleExpanded = () => {\n if (stateField) {\n setValue(stateField, !isExpanded);\n }\n };\n\n useEffect(() => {\n const currentValues = watchedValues;\n const previousValues = prevValuesRef.current;\n const hasBeenSubmitted = formState.isSubmitted || formState.submitCount > 0;\n\n // Check if any value has changed\n let hasChanged = false;\n for (let i = 0; i < currentValues.length; i++) {\n if (\n currentValues[i] !== undefined &&\n previousValues[i] !== currentValues[i]\n ) {\n hasChanged = true;\n // This is to prevent the form from triggering validation too many times\n break;\n }\n }\n // If changes detected and we haven't triggered yet, run trigger\n if (hasChanged && hasBeenSubmitted) {\n // We need to debounce the validation trigger so that tests don't freeze\n if (triggerTimeoutRef.current) {\n clearTimeout(triggerTimeoutRef.current);\n }\n triggerTimeoutRef.current = setTimeout(() => {\n trigger();\n }, 50);\n }\n\n prevValuesRef.current = [...currentValues];\n\n return () => {\n if (triggerTimeoutRef.current) {\n clearTimeout(triggerTimeoutRef.current);\n }\n };\n }, [watchedValues, trigger, formState.isSubmitted, formState.submitCount]);\n\n const ToggleComponent =\n formComponents?.fieldsetToggle || FieldsetToggleButtonDefault;\n const contentId = `${name}-content`;\n const headerId = `${name}-header`;\n\n return (\n <fieldset\n className={cn(\n 'border-1 border-input p-4 rounded-xl',\n `RemoteFlows__FieldSetField`,\n `RemoteFlows__FieldSetField__${name}`,\n )}\n >\n <legend\n className={cn(\n 'text-sm font-semibold px-2',\n variant === 'inset' && 'hidden',\n )}\n >\n {label}\n </legend>\n {helpCenter?.callToAction && helpCenter?.id && variant === 'outset' && (\n <ZendeskTriggerButton\n className='RemoteFlows__FieldSetField__HelpCenterLink mb-3'\n zendeskId={helpCenter.id}\n >\n {helpCenter.callToAction}\n </ZendeskTriggerButton>\n )}\n {variant === 'inset' && (\n <>\n <div\n className='RemoteFlows__FieldSetField__Header'\n id={headerId}\n data-state={isExpanded ? 'expanded' : 'collapsed'}\n aria-expanded={isExpanded}\n >\n <h3 className={cn('RemoteFlows__FieldSetField__Title')}>{label}</h3>\n {features?.toggle?.enabled && (\n <ToggleComponent\n isExpanded={isExpanded}\n onToggle={toggleExpanded}\n aria-expanded={isExpanded}\n aria-controls={contentId}\n aria-label={`${isExpanded ? 'Hide' : 'Show'} ${label}`}\n className={cn(\n 'RemoteFlows__FieldSetField__Toggle',\n features.toggle?.className,\n )}\n >\n {isExpanded\n ? (features.toggle.labels?.collapse ?? 'Remove')\n : (features.toggle.labels?.expand ?? 'Define')}\n </ToggleComponent>\n )}\n </div>\n {helpCenter?.callToAction && helpCenter?.id && (\n <ZendeskTriggerButton\n className='RemoteFlows__FieldSetField__HelpCenterLink mb-3'\n zendeskId={helpCenter.id}\n >\n {helpCenter.callToAction}\n </ZendeskTriggerButton>\n )}\n </>\n )}\n {isExpanded && (\n <div id={contentId} aria-labelledby={headerId} role='region'>\n {description ? (\n <div\n className='mb-5 RemoteFlows__FieldSetField__Description'\n dangerouslySetInnerHTML={{ __html: sanitizeHtml(description) }}\n />\n ) : null}\n <div className='grid gap-4'>\n {fields.map((field: $TSFixMe) => {\n if (field.calculateDynamicProperties) {\n field = {\n ...field,\n ...(field.calculateDynamicProperties(watchedValues, field) ||\n {}),\n };\n }\n\n if (field.isVisible === false || field.deprecated) {\n return null; // Skip hidden or deprecated fields\n }\n\n const fieldType = field.type;\n\n const isForcedValue = checkFieldHasForcedValue(field);\n\n if (isForcedValue) {\n return (\n <ForcedValueField\n key={`${isFlatFieldset ? field.name : `${name}.${field.name}`}`}\n name={`${isFlatFieldset ? field.name : `${name}.${field.name}`}`}\n description={field.description}\n value={field.const}\n statement={field.statement}\n label={field.label}\n helpCenter={field.meta?.helpCenter}\n />\n );\n }\n\n // Handle nested fieldsets\n if (fieldType === 'fieldset') {\n return (\n <FieldSetField\n key={`${isFlatFieldset ? field.name : `${name}.${field.name}`}`}\n {...field}\n name={`${isFlatFieldset ? field.name : `${name}.${field.name}`}`}\n components={components}\n />\n );\n }\n\n if (fieldType === 'fieldset-flat') {\n return (\n <FieldSetField\n key={`${isFlatFieldset ? field.name : `${name}.${field.name}`}`}\n {...field}\n name={`${isFlatFieldset ? field.name : `${name}.${field.name}`}`}\n components={components}\n isFlatFieldset\n />\n );\n }\n // We need to do the check after checking (field.type || field.inputType) === 'fieldset' or (field.type || field.inputType) === 'fieldset-flat'\n // circular dependency most likely\n let FieldComponent = baseFields[fieldType as BaseTypes];\n\n if (field.Component) {\n const { Component } = field as {\n Component: React.ComponentType<$TSFixMe>;\n };\n return (\n <Fragment\n key={`${isFlatFieldset ? field.name : `${name}.${field.name}`}`}\n >\n <Component\n {...field}\n value={\n watch(\n `${isFlatFieldset ? field.name : `${name}.${field.name}`}`,\n ) as string\n }\n setValue={(value: unknown) => {\n setValue(\n `${isFlatFieldset ? field.name : `${name}.${field.name}`}`,\n value,\n );\n }}\n />\n {field.statement ? (\n <Statement\n {...(field.statement as StatementComponentProps['data'])}\n />\n ) : null}\n {field.extra ? field.extra : null}\n </Fragment>\n );\n }\n\n if (!FieldComponent) {\n return (\n <p className='error'>Field type {fieldType} not supported</p>\n );\n }\n\n if (fieldType === 'select' && field.multiple) {\n FieldComponent = baseFields['multi-select'];\n }\n\n return (\n <Fragment\n key={`${isFlatFieldset ? field.name : `${name}.${field.name}`}`}\n >\n <FieldComponent\n {...field}\n name={`${isFlatFieldset ? field.name : `${name}.${field.name}`}`}\n component={components?.[fieldType as keyof Components]}\n />\n {field.statement ? (\n <Statement\n {...(field.statement as StatementComponentProps['data'])}\n />\n ) : null}\n {field.extra ? field.extra : null}\n </Fragment>\n );\n })}\n {extra ? extra : null}\n {statement ? <Statement {...statement} /> : null}\n </div>\n </div>\n )}\n </fieldset>\n );\n}\n","import { useFormContext } from 'react-hook-form';\nimport { FormField } from '@/src/components/ui/form';\n\nimport { useFormFields } from '@/src/context';\nimport { Components, JSFField, $TSFixMe } from '@/src/types/remoteFlows';\nimport { getMinStartDate } from '@/src/components/form/utils';\n\nexport type DatePickerFieldProps = JSFField & {\n onChange?: (value: $TSFixMe) => void;\n component?: Components['date'];\n};\n\nexport function DatePickerField({\n description,\n label,\n name,\n minDate,\n maxDate,\n onChange,\n component,\n ...rest\n}: DatePickerFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n\n let minDateValue: Date;\n if (rest.meta?.mot && typeof rest.meta.mot === 'number') {\n minDateValue = getMinStartDate(rest.meta.mot);\n } else if (typeof minDate === 'string') {\n minDateValue = new Date(`${minDate}T00:00:00`);\n }\n\n let maxDateValue: Date | undefined;\n if (maxDate) {\n maxDateValue = new Date(`${maxDate}T23:59:59`);\n }\n\n return (\n <FormField\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components?.date;\n\n if (!Component) {\n throw new Error(`Date picker component not found for field ${name}`);\n }\n\n const customDatePickerFieldProps = {\n description,\n label,\n name,\n onChange,\n ...(minDateValue && { minDate: minDateValue.toISOString() }),\n ...(maxDateValue && { maxDate: maxDateValue.toISOString() }),\n ...rest,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (value: $TSFixMe) => {\n field.onChange(value);\n onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={customDatePickerFieldProps}\n />\n );\n }}\n />\n );\n}\n","import { useFormFields } from '@/src/context';\nimport { Components, JSFField } from '@/src/types/remoteFlows';\nimport {\n ControllerRenderProps,\n FieldValues,\n useFormContext,\n} from 'react-hook-form';\nimport { FormField } from '../../ui/form';\nimport { FieldDataProps } from '@/src/types/fields';\n\nconst validateFileSize = (files: File[], maxSize?: number): string | null => {\n if (!maxSize) return null;\n\n for (const file of files) {\n if (file.size > maxSize) {\n const maxSizeMB = Math.round(maxSize / (1024 * 1024));\n const fileSizeMB = Math.round(file.size / (1024 * 1024));\n return `File \"${file.name}\" exceeds maximum size of ${maxSizeMB}MB (file is ${fileSizeMB}MB)`;\n }\n }\n return null;\n};\n\nexport type FieldFileDataProps = FieldDataProps & {\n accept?: string;\n multiple?: boolean;\n maxFileSize?: number;\n};\n\nexport type FileUploadFieldProps = JSFField & {\n onChange?: (value: File[]) => void;\n multiple?: boolean;\n component?: Components['file'];\n maxSize?: number;\n accept?: string;\n};\n\nexport function FileUploadField({\n name,\n description,\n label,\n multiple,\n onChange,\n component,\n accept,\n maxSize,\n ...rest\n}: FileUploadFieldProps) {\n const { components } = useFormFields();\n const { control, setError, clearErrors } = useFormContext();\n\n const handleOnChange = async (\n files: File[],\n field: ControllerRenderProps<FieldValues, string>,\n ) => {\n const sizeError = validateFileSize(files, maxSize);\n if (sizeError) {\n setError(name, { message: sizeError });\n return;\n }\n\n clearErrors(name);\n field.onChange(files);\n onChange?.(files);\n };\n\n return (\n <FormField\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components.file;\n if (!Component) {\n throw new Error(`File upload component not found for field ${name}`);\n }\n\n const fieldData: FieldFileDataProps = {\n name,\n description,\n label,\n multiple,\n accept,\n maxFileSize: maxSize,\n ...rest,\n };\n\n return (\n <Component\n field={{\n ...field,\n value: field.value,\n onChange: async (value: File[]) => handleOnChange(value, field),\n }}\n fieldState={fieldState}\n fieldData={fieldData}\n />\n );\n }}\n />\n );\n}\n","import { useFormContext } from 'react-hook-form';\nimport { useFormFields } from '@/src/context';\nimport { FormField } from '@/src/components/ui/form';\nimport { Components } from '@/src/types/remoteFlows';\nimport { TextFieldProps } from './TextField';\n\nexport type NumberFieldProps = TextFieldProps & {\n component?: Components['number'];\n onChange?: (value: number) => void;\n};\n\nexport function NumberField(props: NumberFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n\n const Component = props.component || components.number;\n if (!Component) {\n throw new Error(`Number component not found for field ${props.name}`);\n }\n return (\n <FormField\n control={control}\n name={props.name}\n render={({ field, fieldState }) => {\n return (\n <Component\n field={{\n ...field,\n onChange: (value: number) => {\n field.onChange(value);\n props.onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={props}\n />\n );\n }}\n />\n );\n}\n","import { FormField } from '@/src/components/ui/form';\nimport { useFormFields } from '@/src/context';\nimport { Components, JSFField } from '@/src/types/remoteFlows';\nimport { useFormContext } from 'react-hook-form';\n\ntype RadioGroupFieldProps = JSFField & {\n onChange?: (value: string) => void;\n component?: Components['radio'];\n};\n\nexport function RadioGroupField({\n name,\n defaultValue,\n description,\n label,\n options,\n onChange,\n component,\n ...rest\n}: RadioGroupFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n return (\n <FormField\n control={control}\n name={name}\n defaultValue={defaultValue}\n render={({ field, fieldState }) => {\n const Component = component || components?.radio;\n if (!Component) {\n throw new Error(`Radio group component not found for field ${name}`);\n }\n const customRadioGroupFieldProps = {\n name,\n defaultValue,\n description,\n label,\n options,\n ...rest,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (value: string) => {\n field.onChange(value);\n onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={customRadioGroupFieldProps}\n />\n );\n }}\n />\n );\n}\n","import { useFormFields } from '@/src/context';\nimport { Components, JSFField } from '@/src/types/remoteFlows';\nimport { useFormContext } from 'react-hook-form';\nimport { FormField } from '@/src/components/ui/form';\n\ntype SelectFieldProps = JSFField & {\n placeholder?: string;\n options: Array<{ value: string | number; label: string }>;\n className?: string;\n onChange?: (value: string | number) => void;\n component?: Components['select'];\n};\n\nexport function SelectField({\n label,\n name,\n options,\n defaultValue,\n description,\n onChange,\n component,\n ...rest\n}: SelectFieldProps) {\n const { control } = useFormContext();\n const { components } = useFormFields();\n\n return (\n <FormField\n defaultValue={defaultValue}\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components?.select;\n\n if (!Component) {\n throw new Error(`Select component not found for field ${name}`);\n }\n\n const customSelectFieldProps = {\n label,\n name,\n options,\n defaultValue,\n description,\n onChange,\n ...rest,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (value: string | number) => {\n const isNumberType = Array.isArray(rest.jsonType)\n ? rest.jsonType.includes('number')\n : rest.jsonType === 'number';\n const maybeCastValue = isNumberType ? Number(value) : value;\n field.onChange(maybeCastValue);\n onChange?.(maybeCastValue);\n },\n }}\n fieldState={fieldState}\n fieldData={customSelectFieldProps}\n />\n );\n }}\n />\n );\n}\n","import { useFormFields } from '@/src/context';\nimport { Components, JSFField, $TSFixMe } from '@/src/types/remoteFlows';\nimport { useFormContext } from 'react-hook-form';\nimport { FormField } from '../../ui/form';\n\ntype CountryFieldProps = JSFField & {\n options: Array<{ value: string; label: string }>;\n onChange?: (value: $TSFixMe) => void;\n $meta: {\n regions: Record<string, string[]>;\n subregions: Record<string, string[]>;\n };\n component?: Components['countries'];\n};\n\nexport function CountryField({\n label,\n name,\n options,\n defaultValue,\n description,\n onChange,\n $meta,\n component,\n ...rest\n}: CountryFieldProps) {\n const { control } = useFormContext();\n const { components } = useFormFields();\n\n return (\n <FormField\n defaultValue={defaultValue}\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components.countries;\n if (!Component) {\n throw new Error(`Country component not found for field ${name}`);\n }\n\n const customSelectFieldProps = {\n label,\n name,\n options,\n defaultValue,\n description,\n onChange,\n $meta,\n ...rest,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (value: $TSFixMe) => {\n field.onChange(value);\n onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={customSelectFieldProps}\n />\n );\n }}\n />\n );\n}\n","import * as React from 'react';\nimport { useFormFields } from '@/src/context';\nimport { Components, JSFField } from '@/src/types/remoteFlows';\nimport { useFormContext } from 'react-hook-form';\nimport { FormField } from '@/src/components/ui/form';\n\nexport type TextAreaFieldProps = JSFField & {\n onChange?: (event: React.ChangeEvent<HTMLTextAreaElement>) => void;\n maxLength?: number;\n component?: Components['textarea'];\n};\n\nexport function TextAreaField({\n name,\n description,\n label,\n onChange,\n maxLength,\n component,\n ...rest\n}: TextAreaFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n return (\n <FormField\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components.textarea;\n if (!Component) {\n throw new Error(`Text area component not found for field ${name}`);\n }\n const customTextAreaFieldProps = {\n name,\n description,\n label,\n maxLength,\n ...rest,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (evt: React.ChangeEvent<HTMLTextAreaElement>) => {\n field.onChange(evt);\n onChange?.(evt);\n },\n }}\n fieldState={fieldState}\n fieldData={customTextAreaFieldProps}\n />\n );\n }}\n />\n );\n}\n","import { useFormFields } from '@/src/context';\nimport { useFormContext } from 'react-hook-form';\nimport { FormField } from '../../ui/form';\nimport { TextFieldProps } from './TextField';\nimport { Components } from '@/src/types/remoteFlows';\n\ntype EmailFieldProps = TextFieldProps & {\n component?: Components['email'];\n};\n\nexport function EmailField(props: EmailFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n\n const Component = props.component || components.email;\n\n if (!Component) {\n throw new Error(`Email component not found for field ${props.name}`);\n }\n\n return (\n <FormField\n control={control}\n name={props.name}\n render={({ field, fieldState }) => {\n return (\n <Component\n field={{\n ...field,\n onChange: (value: string) => {\n field.onChange(value);\n props.onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={props}\n />\n );\n }}\n />\n );\n}\n","import { useFormContext } from 'react-hook-form';\nimport { FormField } from '../../ui/form';\nimport { Field } from '@/src/flows/types';\n\nexport function HiddenField(props: Field) {\n const { control } = useFormContext();\n\n return (\n <FormField\n control={control}\n name={props.name}\n render={({ field }) => {\n return <input {...field} type='hidden' />;\n }}\n />\n );\n}\n","import { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\n\nimport { JSFField, $TSFixMe } from '@/src/types/remoteFlows';\nimport { useFormFields } from '@/src/context';\nimport { FormField } from '@/src/components/ui/form';\nimport { Components } from '@/src/types/remoteFlows';\n\nimport {\n buildWorkScheduleSummary,\n calculateTotalWorkHours,\n DailySchedule,\n} from './workScheduleUtils';\n\ntype WorkScheduleFieldProps = JSFField & {\n name: string;\n default: DailySchedule[];\n onChange?: (value: $TSFixMe) => void;\n component?: Components['work-schedule'];\n};\n\ntype WorkScheduleFormData = {\n schedule: DailySchedule[];\n};\n\nexport function WorkScheduleField(props: WorkScheduleFieldProps) {\n const { components } = useFormFields();\n const { setValue, control, watch } = useFormContext();\n const watchedSchedule = watch(props.name);\n const [currentSchedule, setCurrentSchedule] =\n useState<DailySchedule[]>(watchedSchedule);\n\n const { workHoursSummary, breakSummary } =\n buildWorkScheduleSummary(currentSchedule);\n const totalWorkHours = calculateTotalWorkHours(currentSchedule);\n\n useEffect(() => {\n setValue(props.name, currentSchedule);\n }, [currentSchedule, props.name, setValue]);\n\n function onSubmit(data: WorkScheduleFormData['schedule']) {\n setCurrentSchedule(data);\n }\n\n const Component = props.component || components['work-schedule'];\n if (!Component) {\n throw new Error(\n `Work schedule component not found for field ${props.name}`,\n );\n }\n\n const fieldData = {\n ...props,\n onSubmit,\n currentSchedule,\n defaultFormattedValue: {\n workHoursSummary,\n breakSummary,\n totalWorkHours,\n },\n };\n\n return (\n <FormField\n control={control}\n name={props.name}\n render={({ field, fieldState }) => {\n return (\n <Component\n field={{\n ...field,\n onChange: (value: $TSFixMe) => {\n field.onChange(value);\n props.onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={fieldData}\n />\n );\n }}\n />\n );\n}\n","import { useFormFields } from '@/src/context';\nimport { Components, JSFField, $TSFixMe } from '@/src/types/remoteFlows';\nimport { useFormContext } from 'react-hook-form';\nimport { FormField } from '../../ui/form';\n\ntype MultiSelectFieldProps = JSFField & {\n placeholder?: string;\n options: Array<{ value: string; label: string }>;\n className?: string;\n onChange?: (value: $TSFixMe) => void;\n component?: Components['select'];\n};\n\nexport function MultiSelectField({\n label,\n name,\n options,\n defaultValue,\n description,\n onChange,\n component,\n ...rest\n}: MultiSelectFieldProps) {\n const { control } = useFormContext();\n const { components } = useFormFields();\n\n return (\n <FormField\n defaultValue={defaultValue}\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components?.['multi-select'];\n if (!Component) {\n throw new Error(`Multi select component not found for field ${name}`);\n }\n\n const customSelectFieldProps = {\n label,\n name,\n options,\n defaultValue,\n description,\n onChange,\n ...rest,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (value: $TSFixMe) => {\n field.onChange(value);\n onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={customSelectFieldProps}\n />\n );\n }}\n />\n );\n}\n","import {\n NumberField,\n NumberFieldProps,\n} from '@/src/components/form/fields/NumberField';\n\n// TODO: We use the number field and the the number type is what the partner overrides\n// TODO: this needs to be changed in the future with the changes from https://github.com/remoteoss/remote-flows/pull/128\nexport const MoneyField = (props: NumberFieldProps) => {\n return <NumberField maxLength={15} {...props} />;\n};\n","import { FormField } from '@/src/components/ui/form';\nimport { useFormFields } from '@/src/context';\nimport { Components, JSFField } from '@/src/types/remoteFlows';\nimport {\n useFormContext,\n ControllerFieldState,\n ControllerRenderProps,\n FieldValues,\n} from 'react-hook-form';\nimport { TelFieldComponentProps } from '@/src/types/fields';\nimport { useMemo, useCallback, useState, useEffect, useRef } from 'react';\n\nexport type Country = {\n name: string;\n dialCode: string;\n pattern: string;\n areaCodes?: string[];\n};\n\n/**\n * Removes all spaces from input.\n */\nfunction removeSpaces(value: string) {\n return value.replace(/\\s/g, '');\n}\n\nfunction getStructuredNumberFromInternationalNumber(\n internationalPhoneNumber: string = '',\n country?: Country,\n) {\n const baseRegex = new RegExp(\n `^(\\\\+|00)(\\\\d{${country?.dialCode?.length ?? 0}})(.*)$`,\n );\n const baseMatch = internationalPhoneNumber?.match(baseRegex);\n\n if (!baseMatch) {\n return {\n prefix: '',\n dialCode: '',\n phoneNumber: internationalPhoneNumber,\n };\n }\n\n const [, plusOrCallPrefix, dialCode, phoneNumber] = baseMatch;\n\n return {\n prefix: plusOrCallPrefix,\n dialCode,\n phoneNumber,\n };\n}\n\nfunction getCountryFromPhoneNumber(\n {\n dialCodes,\n dialCodeMaxLength,\n }: ReturnType<typeof getCountryDataByCountryCode>,\n internationalPhoneNumber: string,\n) {\n const { prefix } = getStructuredNumberFromInternationalNumber(\n internationalPhoneNumber,\n );\n\n if (!prefix) {\n return undefined;\n }\n\n // Try longest dial codes first - critical for US/Canada\n for (let i = dialCodeMaxLength + prefix.length; i > prefix.length; i--) {\n const dialCode = internationalPhoneNumber.slice(prefix.length, i);\n\n if (dialCodes[dialCode]) {\n return dialCodes[dialCode];\n }\n }\n\n return undefined;\n}\n\n/**\n * Creates a map of dial codes (including area codes) to country objects.\n * Handles countries like US/Canada that share +1 with different area codes.\n */\nexport function getCountryDataByCountryCode(countries: Country[]) {\n const dialCodes: Record<string, Country> = {};\n let dialCodeMaxLength = 0;\n\n countries.forEach((country) => {\n if (country.areaCodes) {\n // For countries with area codes (e.g., +1204, +1226)\n country.areaCodes.forEach((areaCode) => {\n const code = country.dialCode + areaCode;\n dialCodes[code] = country;\n if (code.length > dialCodeMaxLength) {\n dialCodeMaxLength = code.length;\n }\n });\n } else {\n // For countries with simple dial codes (e.g., +44, +351)\n dialCodes[country.dialCode] = country;\n if (country.dialCode.length > dialCodeMaxLength) {\n dialCodeMaxLength = country.dialCode.length;\n }\n }\n });\n\n return { dialCodes, dialCodeMaxLength };\n}\n\nfunction getAreaCodesFromPattern(pattern: string = '') {\n const codeGroupPattern = /\\(([^)]+)\\)/g;\n const groups = pattern.match(codeGroupPattern);\n\n if (groups?.length === 2) {\n return groups[1].replace(/\\(|\\)/g, '').split('|');\n }\n\n return undefined;\n}\n\nfunction transformSchemaToCountries(\n options: Array<{\n value: string;\n label: string;\n meta: { countryCode: string };\n pattern: string;\n }>,\n): Country[] {\n return options.map((option) => ({\n name: option.label,\n dialCode: option.meta.countryCode,\n pattern: option.pattern,\n areaCodes: getAreaCodesFromPattern(option.pattern),\n }));\n}\n\nexport function TelFieldRenderer({\n field,\n fieldState,\n fieldData,\n component: Component,\n onChangeCountryCode,\n onChangePhoneNumber,\n}: {\n field: ControllerRenderProps<FieldValues, string>;\n fieldState: ControllerFieldState;\n fieldData: TelFieldDataProps;\n component: React.ComponentType<TelFieldComponentProps>;\n onChangeCountryCode?: (newCountry: Country) => void;\n onChangePhoneNumber?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n}) {\n const { value: internationalPhoneNumber } = field;\n const { options } = fieldData;\n\n const countries = useMemo(\n () => transformSchemaToCountries(options),\n [options],\n );\n\n const countriesByCountryCode = useMemo(\n () => getCountryDataByCountryCode(countries),\n [countries],\n );\n\n // Track if the country change was due to manual selection\n const isManualSelectionRef = useRef(false);\n\n // Use state to track country, so manual selection is preserved\n const [country, setCountry] = useState<Country | undefined>(() =>\n getCountryFromPhoneNumber(\n getCountryDataByCountryCode(countries),\n internationalPhoneNumber || '',\n ),\n );\n\n // Re-detect country when phone number changes externally (e.g., form reset or area code typed)\n useEffect(() => {\n // Reset manual selection flag if field is cleared\n if (!internationalPhoneNumber || internationalPhoneNumber === '+') {\n isManualSelectionRef.current = false;\n }\n\n if (isManualSelectionRef.current) {\n return;\n }\n\n const detected = getCountryFromPhoneNumber(\n countriesByCountryCode,\n internationalPhoneNumber || '',\n );\n setCountry(detected);\n }, [internationalPhoneNumber, countriesByCountryCode]);\n\n const { prefix, phoneNumber: nationalPhoneNumber } = useMemo(\n () =>\n getStructuredNumberFromInternationalNumber(\n internationalPhoneNumber,\n country,\n ),\n [internationalPhoneNumber, country],\n );\n\n const handleCountryCodeChange = useCallback(\n (newCountry: Country) => {\n if (!newCountry) return;\n const newValue = `+${newCountry.dialCode}${nationalPhoneNumber}`;\n\n // Mark as manual selection to prevent useEffect from overriding\n isManualSelectionRef.current = true;\n\n // Update country state to preserve manual selection\n setCountry(newCountry);\n\n // Update React Hook Form state\n field.onChange(newValue);\n\n // Call optional external onChange\n if (onChangeCountryCode) {\n onChangeCountryCode(newCountry);\n }\n },\n [nationalPhoneNumber, field, onChangeCountryCode],\n );\n\n const handlePhoneNumberChange = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n const valueWithoutSpaces = removeSpaces(event.target.value);\n let newValue: string;\n if (country) {\n newValue = `${prefix}${country.dialCode}${valueWithoutSpaces}`;\n } else {\n newValue = `${prefix}${valueWithoutSpaces}`;\n }\n // Update React Hook Form state\n field.onChange(newValue);\n\n // Call optional external onChange\n if (onChangePhoneNumber) {\n const syntheticEvent = {\n target: { value: newValue, name: field.name },\n } as React.ChangeEvent<HTMLInputElement>;\n onChangePhoneNumber(syntheticEvent);\n }\n },\n [country, prefix, field, onChangePhoneNumber],\n );\n\n const fieldDataWithComputedValues = useMemo(\n () => ({\n ...fieldData,\n onChangeCountryCode: handleCountryCodeChange,\n onChangePhoneNumber: handlePhoneNumberChange,\n currentCountry: country,\n nationalPhoneNumber,\n }),\n [\n fieldData,\n handleCountryCodeChange,\n handlePhoneNumberChange,\n country,\n nationalPhoneNumber,\n ],\n );\n\n return (\n <Component\n field={field}\n fieldState={fieldState}\n fieldData={fieldDataWithComputedValues}\n />\n );\n}\n\nexport type TelFieldDataProps = Omit<JSFField, 'options'> & {\n onChangeCountryCode?: (newCountry: Country) => void;\n onChangePhoneNumber?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n component?: Components['tel'];\n options: {\n value: string;\n label: string;\n meta: {\n countryCode: string;\n };\n pattern: string;\n }[];\n currentCountry?: Country;\n nationalPhoneNumber?: string;\n};\n\nexport function TelField({\n name,\n description,\n label,\n onChangeCountryCode,\n onChangePhoneNumber,\n component,\n ...rest\n}: TelFieldDataProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n\n return (\n <FormField\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const Component = component || components.tel;\n if (!Component) {\n throw new Error(`Tel component not found for field ${name}`);\n }\n\n const customTelFieldProps: TelFieldDataProps = {\n name,\n description,\n label,\n ...rest,\n };\n\n return (\n <TelFieldRenderer\n field={field}\n fieldState={fieldState}\n fieldData={customTelFieldProps}\n component={Component}\n onChangeCountryCode={onChangeCountryCode}\n onChangePhoneNumber={onChangePhoneNumber}\n />\n );\n }}\n />\n );\n}\n","import { CheckBoxField } from './CheckBoxField';\nimport { DatePickerField } from './DatePickerField';\nimport { FileUploadField } from './FileUploadField';\nimport { NumberField } from './NumberField';\nimport { RadioGroupField } from './RadioGroupField';\nimport { SelectField } from './SelectField';\nimport { CountryField } from './CountryField';\nimport { TextAreaField } from './TextAreaField';\nimport { TextField } from './TextField';\nimport { EmailField } from './EmailField';\nimport { HiddenField } from './HiddenField';\nimport { WorkScheduleField } from './WorkScheduleField';\nimport { MultiSelectField } from './MultiSelectField';\nimport { MoneyField } from './MoneyField';\nimport { TelField } from './TelField';\nimport { SupportedTypes } from './types';\nimport { $TSFixMe } from '@/src/types/remoteFlows';\n\nexport const baseFields: Record<\n Exclude<SupportedTypes, 'fieldset' | 'fieldset-flat'>,\n React.ComponentType<$TSFixMe>\n> = {\n checkbox: CheckBoxField,\n text: TextField,\n email: EmailField,\n money: MoneyField,\n select: SelectField,\n 'multi-select': MultiSelectField,\n radio: RadioGroupField,\n number: NumberField,\n file: FileUploadField,\n date: DatePickerField,\n textarea: TextAreaField,\n countries: CountryField,\n hidden: HiddenField,\n tel: TelField,\n 'work-schedule': WorkScheduleField,\n};\n","import { useFormContext } from 'react-hook-form';\nimport { sanitizeHtml } from '@/src/lib/utils';\nimport { useEffect } from 'react';\nimport { ZendeskTriggerButton } from '@/src/components/shared/zendesk-drawer/ZendeskTriggerButton';\n\nconst Description = ({\n name,\n description,\n helpCenter,\n}: {\n name: string;\n description: string;\n helpCenter?: {\n callToAction: string;\n id: number;\n url: string;\n label: string;\n };\n}) => {\n return (\n <span>\n <span\n className={`text-xs RemoteFlows__ForcedValue__Description__${name}`}\n dangerouslySetInnerHTML={{ __html: sanitizeHtml(description) }}\n />\n {helpCenter?.callToAction && helpCenter?.id && (\n <ZendeskTriggerButton\n className='RemoteFlows__ForcedValue__HelpCenterLink'\n zendeskId={helpCenter.id}\n >\n {helpCenter.callToAction}\n </ZendeskTriggerButton>\n )}\n </span>\n );\n};\n\nexport type ForcedValueFieldProps = {\n name: string;\n value: string;\n description: string;\n statement?: {\n title?: string;\n description?: string;\n };\n label: string;\n helpCenter?: {\n callToAction: string;\n id: number;\n url: string;\n label: string;\n };\n};\n\nexport function ForcedValueField({\n name,\n value,\n description,\n statement,\n label,\n helpCenter,\n}: ForcedValueFieldProps) {\n const { setValue } = useFormContext();\n const descriptionSanitized = sanitizeHtml(\n statement?.description || description,\n );\n useEffect(() => {\n setValue(name, value);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const titleSanitized = statement?.title\n ? sanitizeHtml(statement?.title)\n : sanitizeHtml(label);\n\n return (\n <div>\n {titleSanitized && (\n <p\n className={`text-sm RemoteFlows__ForcedValue__Title__${name}`}\n dangerouslySetInnerHTML={{\n __html: titleSanitized,\n }}\n />\n )}\n <Description\n name={name}\n description={descriptionSanitized}\n helpCenter={helpCenter}\n />\n </div>\n );\n}\n"],"mappings":"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","names":["Fragment","useEffect","useRef","jsx","DatePickerField","description","label","name","minDate","maxDate","onChange","component","rest","components","useFormFields","control","useFormContext","minDateValue","getMinStartDate","maxDateValue","FormField","field","fieldState","Component","customDatePickerFieldProps","__name","value","jsx","validateFileSize","__name","files","maxSize","file","maxSizeMB","fileSizeMB","FileUploadField","name","description","label","multiple","onChange","component","accept","rest","components","useFormFields","control","setError","clearErrors","useFormContext","handleOnChange","field","sizeError","FormField","fieldState","Component","fieldData","value","jsx","NumberField","props","components","useFormFields","control","useFormContext","Component","FormField","field","fieldState","__name","value","jsx","RadioGroupField","name","defaultValue","description","label","options","onChange","component","rest","components","useFormFields","control","useFormContext","FormField","field","fieldState","Component","customRadioGroupFieldProps","__name","value","jsx","SelectField","label","name","options","defaultValue","description","onChange","component","rest","control","useFormContext","components","useFormFields","FormField","field","fieldState","Component","customSelectFieldProps","__name","value","maybeCastValue","jsx","CountryField","label","name","options","defaultValue","description","onChange","$meta","component","rest","control","useFormContext","components","useFormFields","FormField","field","fieldState","Component","customSelectFieldProps","__name","value","jsx","TextAreaField","name","description","label","onChange","maxLength","component","rest","components","useFormFields","control","useFormContext","FormField","field","fieldState","Component","customTextAreaFieldProps","__name","evt","jsx","EmailField","props","components","useFormFields","control","useFormContext","Component","FormField","field","fieldState","__name","value","jsx","HiddenField","props","control","useFormContext","FormField","field","__name","useEffect","useState","jsx","WorkScheduleField","props","components","useFormFields","setValue","control","watch","useFormContext","watchedSchedule","currentSchedule","setCurrentSchedule","useState","workHoursSummary","breakSummary","buildWorkScheduleSummary","totalWorkHours","calculateTotalWorkHours","useEffect","onSubmit","data","__name","Component","fieldData","FormField","field","fieldState","value","jsx","MultiSelectField","label","name","options","defaultValue","description","onChange","component","rest","control","useFormContext","components","useFormFields","FormField","field","fieldState","Component","customSelectFieldProps","__name","value","jsx","MoneyField","__name","props","NumberField","useMemo","useCallback","useState","useEffect","useRef","jsx","removeSpaces","value","__name","getStructuredNumberFromInternationalNumber","internationalPhoneNumber","country","baseRegex","baseMatch","plusOrCallPrefix","dialCode","phoneNumber","getCountryFromPhoneNumber","dialCodes","dialCodeMaxLength","prefix","i","getCountryDataByCountryCode","countries","areaCode","code","getAreaCodesFromPattern","pattern","codeGroupPattern","groups","transformSchemaToCountries","options","option","TelFieldRenderer","field","fieldState","fieldData","Component","onChangeCountryCode","onChangePhoneNumber","useMemo","countriesByCountryCode","isManualSelectionRef","useRef","setCountry","useState","useEffect","detected","nationalPhoneNumber","handleCountryCodeChange","useCallback","newCountry","newValue","handlePhoneNumberChange","event","valueWithoutSpaces","syntheticEvent","fieldDataWithComputedValues","TelField","name","description","label","component","rest","components","useFormFields","control","useFormContext","FormField","customTelFieldProps","baseFields","CheckBoxField","TextField","EmailField","MoneyField","SelectField","MultiSelectField","RadioGroupField","NumberField","FileUploadField","DatePickerField","TextAreaField","CountryField","HiddenField","TelField","WorkScheduleField","useEffect","jsx","jsxs","Description","__name","name","description","helpCenter","sanitizeHtml","ZendeskTriggerButton","ForcedValueField","value","statement","label","setValue","useFormContext","descriptionSanitized","useEffect","titleSanitized","Fragment","jsx","jsxs","FieldSetField","label","name","fields","description","components","statement","isFlatFieldset","extra","variant","features","meta","helpCenter","watch","setValue","trigger","formState","useFormContext","formComponents","useFormFields","stateField","isExpanded","fieldNames","fieldName","watchedValues","prevValuesRef","useRef","triggerTimeoutRef","toggleExpanded","__name","useEffect","currentValues","previousValues","hasBeenSubmitted","hasChanged","i","ToggleComponent","FieldsetToggleButtonDefault","contentId","headerId","cn","ZendeskTriggerButton","sanitizeHtml","field","fieldType","checkFieldHasForcedValue","ForcedValueField","FieldComponent","baseFields","Component","value","Statement"]}
@@ -1,2 +0,0 @@
1
- import{a as V,b as J,c as j,e as D}from"./chunk-RRZ2GPQS.js";import{e as q}from"./chunk-TXEONNPV.js";import{a as te}from"./chunk-FZVUO3UU.js";import{a as ae}from"./chunk-4EDPYN5F.js";import{a as P,c as E,d as M,e as I,f as _}from"./chunk-LBJAKZ6V.js";import{f as X,g as R,h as Q}from"./chunk-72RFYT5Y.js";import{c as S}from"./chunk-OSQ6VUDM.js";import{d as ee}from"./chunk-KQPDXXG3.js";import{a as c}from"./chunk-P37U34EQ.js";import*as A from"@radix-ui/react-collapsible";var be=A.Root,fe=A.CollapsibleTrigger,ge=A.CollapsibleContent;import*as F from"@radix-ui/react-tabs";import{jsx as H}from"react/jsx-runtime";function G({className:e,...t}){return H(F.Root,{"data-slot":"tabs",className:S("flex flex-col gap-2",e),...t})}c(G,"Tabs");function Y({className:e,...t}){return H(F.List,{"data-slot":"tabs-list",className:S("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-1",e),...t})}c(Y,"TabsList");function W({className:e,...t}){return H(F.Trigger,{"data-slot":"tabs-trigger",className:S("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),...t})}c(W,"TabsTrigger");function ye({className:e,...t}){return H(F.Content,{"data-slot":"tabs-content",className:S("flex-1 outline-none",e),...t})}c(ye,"TabsContent");import*as K from"react";import*as x from"@radix-ui/react-scroll-area";import{jsx as k,jsxs as he}from"react/jsx-runtime";var le=K.forwardRef(({className:e,children:t,...s},a)=>he(x.Root,{ref:a,className:S("relative overflow-hidden",e),...s,children:[k(x.Viewport,{className:"h-full w-full rounded-[inherit]",children:t}),k(se,{}),k(x.Corner,{})]}));le.displayName=x.Root.displayName;var se=K.forwardRef(({className:e,orientation:t="vertical",...s},a)=>k(x.ScrollAreaScrollbar,{ref:a,orientation:t,className:S("flex touch-none select-none transition-colors",t==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",t==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",e),...s,children:k(x.ScrollAreaThumb,{className:"relative flex-1 rounded-full bg-border"})}));se.displayName=x.ScrollAreaScrollbar.displayName;import{useState as B,useEffect as Ce,useMemo as Fe}from"react";import{useQuery as we}from"@tanstack/react-query";import O from"fast-deep-equal";var ne=c(e=>e.name?e.type?!0:(console.warn(`Field "${e.name}" missing required "type" property`),!1):(console.warn('Field missing required "name" property:',e),!1),"validateField"),Le=c((e,t)=>{if(O(e,t))return;let s=new Map((e||[]).map(l=>[l.value,l])),a=new Map((t||[]).map(l=>[l.value,l])),o=[],y=[],f=[];if(a.forEach((l,v)=>{s.has(v)||o.push({value:l.value,label:l.label})}),s.forEach((l,v)=>{if(!a.has(v))y.push({value:l.value,label:l.label});else{let r=a.get(v);if(!O(l,r)){let p={};l.label!==r.label&&(p.label={old:l.label,new:r.label}),Object.keys(p).length>0&&f.push({value:v,changes:p})}}}),!(o.length===0&&y.length===0&&f.length===0))return{added:o,removed:y,modified:f}},"compareOptions"),xe=c((e,t)=>{let s=e.fields,a=t.fields;if(!s&&!a)return;let o=U(s||[],a||[]);if(o.added.length>0||o.removed.length>0||o.modified.length>0||o.reordered.length>0)return Array.from(o.fieldDiffs.values())},"compareNestedFields"),re=c((e,t,s,a)=>{if(s!==a)return!0;let o={label:e.label!==t.label,required:e.required!==t.required,inputType:e.inputType!==t.inputType,type:e.type!==t.type,jsonType:!O(e.jsonType,t.jsonType),name:e.name!==t.name,defaultValue:e.defaultValue!==t.defaultValue,minDate:e.minDate!==t.minDate,maxDate:e.maxDate!==t.maxDate,maxLength:e.maxLength!==t.maxLength,multiple:e.multiple!==t.multiple,isVisible:e.isVisible!==t.isVisible,options:!O(e.options,t.options)},y=(()=>{let l=e.fields,v=t.fields;if(!l&&!v)return!1;if(!l||!v)return!0;let r=U(l,v);return r.added.length>0||r.removed.length>0||r.modified.length>0||r.reordered.length>0})();return Object.values(o).some(l=>l)||y},"isFieldModified"),Ne=c((e,t)=>{let s={};e.label!==t.label&&(s.label={old:e.label,new:t.label}),e.required!==t.required&&(s.required={old:e.required,new:t.required}),e.type!==t.type&&(s.type={old:e.type,new:t.type}),e.inputType!==t.inputType&&(s.inputType={old:e.inputType,new:t.inputType}),O(e.jsonType,t.jsonType)||(s.jsonType={old:e.jsonType,new:t.jsonType}),O(e.defaultValue,t.defaultValue)||(s.defaultValue={old:e.defaultValue,new:t.defaultValue}),e.minDate!==t.minDate&&(s.minDate={old:e.minDate||"",new:t.minDate||""}),e.maxDate!==t.maxDate&&(s.maxDate={old:e.maxDate||"",new:t.maxDate||""}),e.maxLength!==t.maxLength&&(s.maxLength={old:e.maxLength||0,new:t.maxLength||0}),e.multiple!==t.multiple&&(s.multiple={old:e.multiple||!1,new:t.multiple||!1}),e.isVisible!==t.isVisible&&(s.isVisible={old:e.isVisible,new:t.isVisible});let a=Le(e.options,t.options);a&&(s.options=a);let o=xe(e,t);return o&&(s.nestedFields=o),Object.keys(s).length>0?s:void 0},"getFieldChanges"),U=c((e=[],t=[])=>{let s=e.filter(ne),a=t.filter(ne),o=new Map(s.map((b,u)=>[b.name,{field:b,index:u}])),y=new Map(a.map((b,u)=>[b.name,{field:b,index:u}])),f=[],l=[],v=[],r=[],p=[],h=new Map;return y.forEach((b,u)=>{o.has(u)||(f.push(u),h.set(u,{fieldName:u,diffType:"added"}))}),o.forEach(({field:b,index:u},g)=>{if(!y.has(g))l.push(g),h.set(g,{fieldName:g,diffType:"removed"});else{let{field:T,index:N}=y.get(g);re(b,T,u,N)?u!==N&&!re(b,T,u,u)?(p.push(g),h.set(g,{fieldName:g,diffType:"unchanged",orderChanged:{oldIndex:u,newIndex:N}})):(v.push(g),h.set(g,{fieldName:g,diffType:"modified",orderChanged:u!==N?{oldIndex:u,newIndex:N}:void 0,changes:Ne(b,T)})):(r.push(g),h.set(g,{fieldName:g,diffType:"unchanged"}))}}),{added:f,removed:l,modified:v,unchanged:r,reordered:p,fieldDiffs:h}},"compareFormFields"),oe=c((e,t)=>{if(t&&e==="unchanged")return"bg-blue-50 border-l-4 border-blue-500";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 de,useRef as $,useEffect as Se}from"react";import{jsx as n,jsxs as m}from"react/jsx-runtime";var Te=c(({children:e,diffType:t,orderChanged:s,changes:a})=>{let o=oe(t,!!s);if(t==="unchanged"&&!s)return n("div",{children:e});let l=s&&t==="unchanged"&&n("span",{className:"text-xs font-semibold text-blue-700 bg-blue-100 px-2 py-1 rounded",children:"MOVED"})||t!=="unchanged"&&{added:n("span",{className:"text-xs font-semibold text-green-700 bg-green-100 px-2 py-1 rounded",children:"NEW"}),removed:n("span",{className:"text-xs font-semibold text-red-700 bg-red-100 px-2 py-1 rounded",children:"REMOVED"}),modified:n("span",{className:"text-xs font-semibold text-yellow-700 bg-yellow-100 px-2 py-1 rounded",children:"MODIFIED"})}[t],v=c(()=>{if(!a||t!=="modified")return null;let r=[];if(a.label&&r.push(m("div",{className:"text-xs",children:[n("span",{className:"font-semibold",children:"Label:"})," ",n("span",{className:"line-through text-red-600",children:a.label.old})," ","\u2192 ",n("span",{className:"text-green-600",children:a.label.new})]},"label")),a.required&&r.push(m("div",{className:"text-xs",children:[n("span",{className:"font-semibold",children:"Required:"})," ",n("span",{className:"line-through text-red-600",children:a.required.old?"Yes":"No"})," ","\u2192"," ",n("span",{className:"text-green-600",children:a.required.new?"Yes":"No"})]},"required")),a.type&&r.push(m("div",{className:"text-xs",children:[n("span",{className:"font-semibold",children:"Type:"})," ",n("span",{className:"line-through text-red-600",children:a.type.old})," ","\u2192 ",n("span",{className:"text-green-600",children:a.type.new})]},"type")),a.inputType&&r.push(m("div",{className:"text-xs",children:[n("span",{className:"font-semibold",children:"Input Type:"})," ",n("span",{className:"line-through text-red-600",children:a.inputType.old})," ","\u2192 ",n("span",{className:"text-green-600",children:a.inputType.new})]},"inputType")),a.jsonType){let p=Array.isArray(a.jsonType.old)?a.jsonType.old.join(" | "):a.jsonType.old,h=Array.isArray(a.jsonType.new)?a.jsonType.new.join(" | "):a.jsonType.new;r.push(m("div",{className:"text-xs",children:[n("span",{className:"font-semibold",children:"JSON Type:"})," ",n("span",{className:"line-through text-red-600",children:p})," \u2192"," ",n("span",{className:"text-green-600",children:h})]},"jsonType"))}return a.defaultValue!==void 0&&r.push(m("div",{className:"text-xs",children:[n("span",{className:"font-semibold",children:"Default Value:"})," ",n("span",{className:"line-through text-red-600",children:JSON.stringify(a.defaultValue.old)})," ","\u2192"," ",n("span",{className:"text-green-600",children:JSON.stringify(a.defaultValue.new)})]},"defaultValue")),a.options&&(a.options.added.length>0&&r.push(m("div",{className:"text-xs",children:[n("span",{className:"font-semibold text-green-700",children:"Options Added:"})," ",a.options.added.map(p=>p.label).join(", ")]},"options-added")),a.options.removed.length>0&&r.push(m("div",{className:"text-xs",children:[n("span",{className:"font-semibold text-red-700",children:"Options Removed:"})," ",a.options.removed.map(p=>p.label).join(", ")]},"options-removed")),a.options.modified.length>0&&r.push(m("div",{className:"text-xs",children:[n("span",{className:"font-semibold",children:"Options Modified:"})," ",a.options.modified.length," option(s)"]},"options-modified"))),a.nestedFields&&a.nestedFields.length>0&&r.push(m("div",{className:"text-xs",children:[n("span",{className:"font-semibold",children:"Nested Fields:"})," ",a.nestedFields.length," field(s) changed"]},"nestedFields")),r.length===0?null:m("div",{className:"mt-2 p-2 bg-yellow-50 rounded border border-yellow-200 space-y-1",children:[n("div",{className:"text-xs font-semibold text-yellow-800 mb-1",children:"Changes:"}),r]})},"renderChanges");return m("div",{className:`p-3 mb-2 rounded ${o} relative`,children:[m("div",{className:"absolute top-2 right-2",children:[l,s&&t!=="unchanged"&&n("span",{className:"ml-2 text-xs text-gray-600",children:"(position changed)"})]}),e,v()]})},"FieldWrapper"),ie=c(({version:e,fields:t,fieldsets:s,diffMap:a,title:o,scrollRef:y})=>{let f=X({mode:"onBlur"}),l=de(()=>t.map(v=>{let r=a.get(v.name),p=r?.diffType||"unchanged",h=r?.orderChanged,b=r?.changes;return{...v,WrapperComponent:c(({children:u})=>n(Te,{diffType:p,fieldName:v.name,orderChanged:h,changes:b,children:u}),"WrapperComponent")}}),[t,a]);return m(V,{className:"h-full",children:[n(J,{children:m(j,{children:[o," - Version ",e]})}),n(D,{ref:y,className:"overflow-y-auto max-h-[600px]",children:n(Q,{...f,children:n("form",{className:"space-y-4",children:n(ae,{fields:l,fieldsets:s,fieldValues:{}})})})})]})},"FormPanel"),ue=c(({topVersion:e,bottomVersion:t,topFields:s,bottomFields:a,topFieldsets:o,bottomFieldsets:y,isLoading:f})=>{let l=de(()=>U(s,a),[s,a]),v=$(null),r=$(null),p=$(!1);if(Se(()=>{let b=v.current,u=r.current;if(!b||!u)return;let g=c(()=>{p.current||(p.current=!0,u.scrollTop=b.scrollTop,requestAnimationFrame(()=>{p.current=!1}))},"handleLeftScroll"),T=c(()=>{p.current||(p.current=!0,b.scrollTop=u.scrollTop,requestAnimationFrame(()=>{p.current=!1}))},"handleRightScroll");return b.addEventListener("scroll",g),u.addEventListener("scroll",T),()=>{b.removeEventListener("scroll",g),u.removeEventListener("scroll",T)}},[s,a]),f)return n("div",{className:"flex items-center justify-center h-96",children:m("div",{className:"text-center",children:[n("div",{className:"animate-spin rounded-full h-12 w-12 border-b-2 border-gray-900 mx-auto"}),n("p",{className:"mt-4 text-gray-600",children:"Loading schemas..."})]})});let h=l.added.length===0&&l.removed.length===0&&l.modified.length===0&&l.reordered.length===0;return m("div",{className:"space-y-6",children:[n(V,{children:n(D,{className:"pt-6",children:h?n("p",{className:"text-center text-gray-600",children:"No differences detected between the two versions"}):m("div",{className:"flex gap-6 justify-center",children:[l.added.length>0&&m("div",{className:"flex items-center gap-2",children:[n("span",{className:"w-4 h-4 bg-green-500 rounded"}),m("span",{className:"text-sm",children:[l.added.length," field",l.added.length>1?"s":""," ","added"]})]}),l.removed.length>0&&m("div",{className:"flex items-center gap-2",children:[n("span",{className:"w-4 h-4 bg-red-500 rounded"}),m("span",{className:"text-sm",children:[l.removed.length," field",l.removed.length>1?"s":""," removed"]})]}),l.modified.length>0&&m("div",{className:"flex items-center gap-2",children:[n("span",{className:"w-4 h-4 bg-yellow-500 rounded"}),m("span",{className:"text-sm",children:[l.modified.length," field",l.modified.length>1?"s":""," modified"]})]}),l.reordered.length>0&&m("div",{className:"flex items-center gap-2",children:[n("span",{className:"w-4 h-4 bg-blue-500 rounded"}),m("span",{className:"text-sm",children:[l.reordered.length," field",l.reordered.length>1?"s":""," reordered"]})]})]})})}),m("div",{className:"grid grid-cols-2 gap-6",children:[n(ie,{version:e,fields:s,fieldsets:o,diffMap:l.fieldDiffs,title:"Left",scrollRef:v}),n(ie,{version:t,fields:a,fieldsets:y,diffMap:l.fieldDiffs,title:"Right",scrollRef:r})]})]})},"SchemaFormComparison");var me=[{value:1,label:"v1 (Legacy)"},{value:3,label:"v3 (Recommended)"},{value:"latest",label:"Latest"}],z={ALB:[{value:"latest",label:"Latest"}],ARE:[{value:1,label:"v1"},{value:2,label:"v2"},{value:"latest",label:"Latest"}],ARG:[{value:"latest",label:"Latest"}],ARM:[{value:"latest",label:"Latest"}],AUS:[{value:"latest",label:"Latest"}],AUT:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],BEL:[{value:"latest",label:"Latest"}],BGD:[{value:1,label:"v1"},{value:2,label:"v2"},{value:"latest",label:"Latest"}],BGR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:"latest",label:"Latest"}],BIH:[{value:1,label:"v1"},{value:2,label:"v2"},{value:"latest",label:"Latest"}],BLR:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],BOL:[{value:"latest",label:"Latest"}],BRA:[{value:"latest",label:"Latest"}],CAN:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],CHE:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],CHL:[{value:"latest",label:"Latest"}],CHN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:"latest",label:"Latest"}],COL:[{value:"latest",label:"Latest"}],CRI:[{value:"latest",label:"Latest"}],CYP:[{value:"latest",label:"Latest"}],CZE:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],DEU:[{value:1,label:"v1"},{value:2,label:"v2"},{value:"latest",label:"Latest"}],DNK:[{value:"latest",label:"Latest"}],DOM:[{value:"latest",label:"Latest"}],ECU:[{value:"latest",label:"Latest"}],EGY:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],ESP:[{value:"latest",label:"Latest"}],EST:[{value:"latest",label:"Latest"}],FIN:[{value:"latest",label:"Latest"}],FRA:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],FRA_SAS:[{value:"latest",label:"Latest"}],GBR:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],GEO:[{value:"latest",label:"Latest"}],GRC:[{value:"latest",label:"Latest"}],GTM:[{value:"latest",label:"Latest"}],HKG:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],HND:[{value:"latest",label:"Latest"}],HRV:[{value:"latest",label:"Latest"}],HUN:[{value:"latest",label:"Latest"}],IDN:[{value:"latest",label:"Latest"}],IND:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],IRL:[{value:"latest",label:"Latest"}],ISL:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],ISR:[{value:"latest",label:"Latest"}],ITA:[{value:"latest",label:"Latest"}],ITA_APL:[{value:"latest",label:"Latest"}],JAM:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],JPN:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],KEN:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],KGZ:[{value:"latest",label:"Latest"}],KHM:[{value:"latest",label:"Latest"}],KOR:[{value:1,label:"v1"},{value:2,label:"v2"},{value:"latest",label:"Latest"}],LBN:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],LKA:[{value:1,label:"v1"},{value:2,label:"v2"},{value:"latest",label:"Latest"}],LTU:[{value:"latest",label:"Latest"}],LUX:[{value:"latest",label:"Latest"}],LVA:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],MAR:[{value:"latest",label:"Latest"}],MDA:[{value:"latest",label:"Latest"}],MEX:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],MKD:[{value:1,label:"v1"},{value:2,label:"v2"},{value:"latest",label:"Latest"}],MLT:[{value:"latest",label:"Latest"}],MNG:[{value:"latest",label:"Latest"}],MUS:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],MYS:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],NGA:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],NIC:[{value:"latest",label:"Latest"}],NLD:[{value:"latest",label:"Latest"}],NOR:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],NZL:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],PAK:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],PAN:[{value:"latest",label:"Latest"}],PER:[{value:"latest",label:"Latest"}],PHL:[{value:"latest",label:"Latest"}],POL:[{value:"latest",label:"Latest"}],PRI:[{value:"latest",label:"Latest"}],PRT:[{value:1,label:"v1"},{value:2,label:"v2"},{value:"latest",label:"Latest"}],PRY:[{value:"latest",label:"Latest"}],ROU:[{value:"latest",label:"Latest"}],SAU:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],SGP:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],SLV:[{value:"latest",label:"Latest"}],SRB:[{value:1,label:"v1"},{value:2,label:"v2"},{value:"latest",label:"Latest"}],SVK:[{value:"latest",label:"Latest"}],SVN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:"latest",label:"Latest"}],SWE:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],THA:[{value:1,label:"v1"},{value:"latest",label:"Latest"}],TUN:[{value:1,label:"v1"},{value:2,label:"v2"},{value:"latest",label:"Latest"}],TUR:[{value:"latest",label:"Latest"}],TWN:[{value:"latest",label:"Latest"}],UGA:[{value:"latest",label:"Latest"}],UKR:[{value:"latest",label:"Latest"}],URY:[{value:"latest",label:"Latest"}],USA:[{value:"latest",label:"Latest"}],VNM:[{value:"latest",label:"Latest"}],XKX:[{value:"latest",label:"Latest"}],ZAF:[{value:"latest",label:"Latest"}],ZWE:[{value:"latest",label:"Latest"}]},pe=Object.fromEntries(Object.entries(z).filter(([,e])=>e.length>1)),ce=[{value:"employment_basic_information",label:"Basic Information"},{value:"contract_details",label:"Contract Details"}];import{jsx as i,jsxs as L}from"react/jsx-runtime";var ve=c(()=>{let[e,t]=B("employment_basic_information"),[s,a]=B(1),[o,y]=B(1),[f,l]=B("ARE"),{client:v}=ee(),{data:r}=we({...te(v,"schema-comparison"),select:c(d=>d.data?.data?.filter(C=>C.eor_onboarding).filter(C=>Object.keys(pe).includes(C.code)).map(C=>({label:C.name,value:C.code}))||[],"select")}),p=e==="contract_details",{data:h,isLoading:b}=q({countryCode:f,form:e,fieldValues:{},jsonSchemaVersion:s,options:{queryOptions:{enabled:!0}}}),{data:u,isLoading:g}=q({countryCode:f,form:e,fieldValues:{},jsonSchemaVersion:o,options:{queryOptions:{enabled:!0}}}),T=b||g,N=z[f],Z=N!==void 0,w=Fe(()=>e==="employment_basic_information"?me:N||[{value:"latest",label:"Latest"}],[e,N]);return Ce(()=>{let d=w.map(C=>C.value);d.includes(s)||a(w[0].value),d.includes(o)||y(w[0].value)},[e,f,w,s,o]),L("div",{className:"space-y-6",children:[L(V,{children:[i(J,{children:i(j,{children:"Configuration"})}),L(D,{className:"space-y-4",children:[L("div",{children:[i(R,{className:"mb-2 block",children:"Form Type"}),i(G,{value:e,onValueChange:d=>t(d),children:i(Y,{className:"grid w-full grid-cols-2",children:ce.map(d=>i(W,{value:d.value,children:d.label},d.value))})})]}),p&&!Z&&i("div",{className:"rounded-md bg-yellow-50 p-4 border border-yellow-200",children:L("div",{className:"flex",children:[i("div",{className:"flex-shrink-0",children:i("svg",{className:"h-5 w-5 text-yellow-400",viewBox:"0 0 20 20",fill:"currentColor",children:i("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"})})}),L("div",{className:"ml-3",children:[i("h3",{className:"text-sm font-medium text-yellow-800",children:"Version mappings not found"}),i("div",{className:"mt-2 text-sm text-yellow-700",children:L("p",{children:["Country"," ",i("span",{className:"font-semibold",children:f})," is not configured in COUNTRY_CONTRACT_VERSIONS. Using default (latest only)."]})})]})]})}),p&&L("div",{children:[i(R,{htmlFor:"country-select",className:"mb-2 block",children:"Country"}),L(P,{value:f,onValueChange:l,children:[i(M,{id:"country-select",children:i(E,{placeholder:"Select a country"})}),i(I,{children:r?.map(d=>i(_,{value:d.value,children:d.label},d.value))})]})]}),L("div",{className:"grid grid-cols-2 gap-4",children:[L("div",{children:[i(R,{htmlFor:"top-version",className:"mb-2 block",children:"Left Version"}),L(P,{value:String(s),onValueChange:d=>a(d==="latest"?"latest":Number(d)),children:[i(M,{id:"top-version",children:i(E,{placeholder:"Select version"})}),i(I,{children:w.map(d=>i(_,{value:String(d.value),children:d.label},String(d.value)))})]})]}),L("div",{children:[i(R,{htmlFor:"bottom-version",className:"mb-2 block",children:"Right Version"}),L(P,{value:String(o),onValueChange:d=>y(d==="latest"?"latest":Number(d)),children:[i(M,{id:"bottom-version",children:i(E,{placeholder:"Select version"})}),i(I,{children:w.map(d=>i(_,{value:String(d.value),children:d.label},String(d.value)))})]})]})]})]})]}),i(ue,{topVersion:s,bottomVersion:o,topFields:h?.fields||[],bottomFields:u?.fields||[],topFieldsets:h?.meta?.["x-jsf-fieldsets"],bottomFieldsets:u?.meta?.["x-jsf-fieldsets"],isLoading:T})]})},"JsonSchemaComparison");export{be as a,fe as b,ge as c,G as d,Y as e,W as f,ye as g,le as h,ve as i};
2
- //# sourceMappingURL=chunk-ERY43GUW.js.map