@remoteoss/remote-flows 1.2.3 → 1.3.1

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 (385) hide show
  1. package/README.md +4 -80
  2. package/dist/{PdfPreview-6C3GGXIN.js → PdfPreview-2VXVDUFP.js} +2 -2
  3. package/dist/{chunk-NS4FRCEH.js → chunk-26Y25KF6.js} +2 -2
  4. package/dist/{chunk-RVIGZOGF.js → chunk-2MX3WPCK.js} +2 -2
  5. package/dist/{chunk-C74N2AWG.js → chunk-3BOFG6MK.js} +2 -2
  6. package/dist/{chunk-AT7VHJMW.js → chunk-3DRSYLBM.js} +2 -2
  7. package/dist/{chunk-6SRDRMBU.js → chunk-3NMCXHSQ.js} +2 -2
  8. package/dist/{chunk-FKLQBAJ5.js → chunk-447M3MFN.js} +2 -2
  9. package/dist/{chunk-WO7VCDVI.js → chunk-4G2UMXRE.js} +2 -2
  10. package/dist/{chunk-NIEQ7YV4.js → chunk-4GXONSSK.js} +2 -2
  11. package/dist/{chunk-M2TLNSTK.js → chunk-4OVFMUUJ.js} +2 -2
  12. package/dist/{chunk-EC7QVRRX.js → chunk-4UAHJOHZ.js} +2 -2
  13. package/dist/{chunk-QUQLW5YW.js → chunk-5JQMTMHR.js} +2 -2
  14. package/dist/{chunk-WMYWVMKM.js → chunk-5S54GMUJ.js} +2 -2
  15. package/dist/chunk-5WFWHEXV.js +2 -0
  16. package/dist/chunk-5WFWHEXV.js.map +1 -0
  17. package/dist/chunk-6CASSN2Z.js +2 -0
  18. package/dist/chunk-6DHV4GT6.js +2 -0
  19. package/dist/{chunk-FCGEB2PN.js → chunk-6E467YF3.js} +2 -2
  20. package/dist/{chunk-XRI6PRXK.js → chunk-6E5GX7W3.js} +2 -2
  21. package/dist/{chunk-T6HCUFYI.js → chunk-765OB2K5.js} +2 -2
  22. package/dist/chunk-AD53V4MM.js +2 -0
  23. package/dist/chunk-AD53V4MM.js.map +1 -0
  24. package/dist/{chunk-7RREQLI5.js → chunk-ADOJOLLL.js} +2 -2
  25. package/dist/{chunk-3YVCOYUM.js → chunk-AF3YOXUE.js} +2 -2
  26. package/dist/{chunk-RNM46ZUE.js → chunk-AFGXZINW.js} +2 -2
  27. package/dist/{chunk-4PZNLTCY.js → chunk-AL2HSQPC.js} +2 -2
  28. package/dist/{chunk-BHYFPY64.js → chunk-B2OOX56F.js} +2 -2
  29. package/dist/chunk-BB2GHYJY.js +2 -0
  30. package/dist/chunk-BB2GHYJY.js.map +1 -0
  31. package/dist/{chunk-Y5P5IJRN.js → chunk-BPIGB72P.js} +2 -2
  32. package/dist/chunk-CATDB2YM.js +2 -0
  33. package/dist/chunk-CATDB2YM.js.map +1 -0
  34. package/dist/{chunk-V3PJWSHI.js → chunk-CM2YPABC.js} +2 -2
  35. package/dist/chunk-CM2YPABC.js.map +1 -0
  36. package/dist/{chunk-66N57DKF.js → chunk-CR7AIZKA.js} +2 -2
  37. package/dist/chunk-CWAUKF77.js +2 -0
  38. package/dist/{chunk-E25DZ75Z.js.map → chunk-CWAUKF77.js.map} +1 -1
  39. package/dist/{chunk-DHIFFMY4.js → chunk-CX735AP4.js} +2 -2
  40. package/dist/{chunk-MPQVMNI7.js → chunk-ER7DFMME.js} +2 -2
  41. package/dist/chunk-FOPSJRQG.js +2 -0
  42. package/dist/chunk-FOPSJRQG.js.map +1 -0
  43. package/dist/{chunk-J5LWPODW.js → chunk-FQQKCROC.js} +2 -2
  44. package/dist/chunk-FUBLGAPH.js +2 -0
  45. package/dist/chunk-FUBLGAPH.js.map +1 -0
  46. package/dist/{chunk-ZAUH7QN6.js → chunk-GAF5TFZJ.js} +2 -2
  47. package/dist/{chunk-ZAUH7QN6.js.map → chunk-GAF5TFZJ.js.map} +1 -1
  48. package/dist/chunk-GFVGV76O.js +2 -0
  49. package/dist/chunk-GFVGV76O.js.map +1 -0
  50. package/dist/{chunk-UOOUV52J.js → chunk-GGPEKIIH.js} +2 -2
  51. package/dist/{chunk-72OH7PSF.js → chunk-GPLI6GGL.js} +2 -2
  52. package/dist/chunk-GVSAZND2.js +2 -0
  53. package/dist/chunk-GVSAZND2.js.map +1 -0
  54. package/dist/chunk-HIQNB5UN.js +2 -0
  55. package/dist/chunk-HIQNB5UN.js.map +1 -0
  56. package/dist/{chunk-2SO4LW7V.js → chunk-HRG5MSVG.js} +2 -2
  57. package/dist/chunk-HRG5MSVG.js.map +1 -0
  58. package/dist/chunk-IJ6325YO.js +2 -0
  59. package/dist/chunk-IJ6325YO.js.map +1 -0
  60. package/dist/{chunk-PMTKQME6.js → chunk-ILOKQ6OH.js} +2 -2
  61. package/dist/{chunk-L5GWH3V7.js → chunk-JS3H25UQ.js} +2 -2
  62. package/dist/{chunk-FUMA5UUB.js → chunk-K3XVYHGV.js} +2 -2
  63. package/dist/chunk-KDI2AVBF.js +2 -0
  64. package/dist/chunk-KDI2AVBF.js.map +1 -0
  65. package/dist/{chunk-ZIN2OWTH.js → chunk-LAXQMTDQ.js} +2 -2
  66. package/dist/{chunk-BKEIB7VP.js → chunk-LFQDVSKU.js} +2 -2
  67. package/dist/{chunk-MXLQEDRJ.js → chunk-LHNX27TY.js} +2 -2
  68. package/dist/chunk-LOHRUY4J.js +2 -0
  69. package/dist/chunk-LOHRUY4J.js.map +1 -0
  70. package/dist/{chunk-TEC6BNTS.js → chunk-LSNMODBH.js} +2 -2
  71. package/dist/chunk-LWGSXQKI.js +1 -0
  72. package/dist/chunk-LWGSXQKI.js.map +1 -0
  73. package/dist/chunk-NFWNYW2E.js +2 -0
  74. package/dist/chunk-NFWNYW2E.js.map +1 -0
  75. package/dist/{chunk-7F742TXN.js → chunk-NP3HE6QX.js} +2 -2
  76. package/dist/{chunk-E5PHO3SS.js → chunk-NY7LII5R.js} +2 -2
  77. package/dist/chunk-OKMERBJL.js +2 -0
  78. package/dist/chunk-OKMERBJL.js.map +1 -0
  79. package/dist/chunk-P5PRB2JC.js +2 -0
  80. package/dist/chunk-P5PRB2JC.js.map +1 -0
  81. package/dist/chunk-P5QKSFOE.js +2 -0
  82. package/dist/chunk-P5QKSFOE.js.map +1 -0
  83. package/dist/{chunk-F3KEIVSE.js → chunk-PC5JG4TT.js} +2 -2
  84. package/dist/{chunk-LJGCFFAT.js → chunk-PJN2YJO4.js} +2 -2
  85. package/dist/chunk-PNRHCOPF.js +2 -0
  86. package/dist/chunk-PNRHCOPF.js.map +1 -0
  87. package/dist/{chunk-YP6LLUQK.js → chunk-PS6EXVKH.js} +2 -2
  88. package/dist/{chunk-CG57ORFU.js → chunk-Q2JVGEYM.js} +2 -2
  89. package/dist/{chunk-3I4WL35F.js → chunk-SQVJRTTA.js} +2 -2
  90. package/dist/chunk-SRR73QPD.js +2 -0
  91. package/dist/chunk-SRR73QPD.js.map +1 -0
  92. package/dist/{chunk-5A7SON2J.js → chunk-T6KVMOX7.js} +2 -2
  93. package/dist/chunk-TC7EQZJK.js +2 -0
  94. package/dist/chunk-TC7EQZJK.js.map +1 -0
  95. package/dist/{chunk-6P4DTWYK.js → chunk-U2HWB5HI.js} +2 -2
  96. package/dist/{chunk-L3Z2G32A.js → chunk-UQCSN47K.js} +1 -1
  97. package/dist/chunk-UQCSN47K.js.map +1 -0
  98. package/dist/{chunk-NFUP6BFU.js → chunk-W3YE53JN.js} +5 -5
  99. package/dist/chunk-W3YE53JN.js.map +1 -0
  100. package/dist/chunk-W4KHMUDZ.js +2 -0
  101. package/dist/chunk-W4KHMUDZ.js.map +1 -0
  102. package/dist/chunk-WINYXC33.js +2 -0
  103. package/dist/chunk-WINYXC33.js.map +1 -0
  104. package/dist/chunk-XCA33UL6.js +2 -0
  105. package/dist/chunk-XCA33UL6.js.map +1 -0
  106. package/dist/{chunk-I4XJ764Y.js → chunk-XGECMN4V.js} +2 -2
  107. package/dist/{chunk-BVDT43OO.js → chunk-XTXPKDZ7.js} +2 -2
  108. package/dist/{chunk-TVJYCR33.js → chunk-XXPJHT5A.js} +2 -2
  109. package/dist/{chunk-MSLM2CQ4.js → chunk-XXXQA4SY.js} +2 -2
  110. package/dist/{chunk-EI7F3Y3W.js → chunk-Z3AKMQ4S.js} +2 -2
  111. package/dist/{chunk-4GDEWYZC.js → chunk-Z5A2M5EU.js} +2 -2
  112. package/dist/{chunk-ZPN5N6BA.js → chunk-ZCXTTVGV.js} +2 -2
  113. package/dist/chunk-ZCXTTVGV.js.map +1 -0
  114. package/dist/{chunk-KGKDSOER.js → chunk-ZFKHCC4Z.js} +2 -2
  115. package/dist/{chunk-FZDQ7EEI.js → chunk-ZT72WOPZ.js} +2 -2
  116. package/dist/chunk-ZUNMNGRC.js +2 -0
  117. package/dist/chunk-ZUNMNGRC.js.map +1 -0
  118. package/dist/chunk-ZZPYYZNT.js +2 -0
  119. package/dist/chunk-ZZPYYZNT.js.map +1 -0
  120. package/dist/flows/ContractAmendment/ContractAmendmentBack.js +1 -1
  121. package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.d.ts +1 -1
  122. package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.js +1 -1
  123. package/dist/flows/ContractAmendment/ContractAmendmentFlow.d.ts +6 -5
  124. package/dist/flows/ContractAmendment/ContractAmendmentFlow.js +1 -1
  125. package/dist/flows/ContractAmendment/ContractAmendmentForm.d.ts +1 -1
  126. package/dist/flows/ContractAmendment/ContractAmendmentForm.js +1 -1
  127. package/dist/flows/ContractAmendment/ContractAmendmentSubmit.js +1 -1
  128. package/dist/flows/ContractAmendment/context.d.ts +10 -9
  129. package/dist/flows/ContractAmendment/hooks.d.ts +11 -10
  130. package/dist/flows/ContractAmendment/hooks.js +1 -1
  131. package/dist/flows/ContractAmendment/index.d.ts +6 -5
  132. package/dist/flows/ContractAmendment/index.js +1 -1
  133. package/dist/flows/ContractAmendment/types.d.ts +3 -4
  134. package/dist/flows/ContractAmendment/utils.d.ts +5 -3
  135. package/dist/flows/ContractAmendment/utils.js +1 -1
  136. package/dist/flows/ContractorOnboarding/ContractorOnboarding.d.ts +7 -8
  137. package/dist/flows/ContractorOnboarding/ContractorOnboarding.js +1 -1
  138. package/dist/flows/ContractorOnboarding/api.d.ts +16 -9
  139. package/dist/flows/ContractorOnboarding/api.js +1 -1
  140. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.d.ts +5 -6
  141. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.js +1 -1
  142. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.d.ts +7 -8
  143. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.js +1 -1
  144. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.d.ts +7 -8
  145. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.js +1 -1
  146. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.d.ts +10 -11
  147. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.js +1 -1
  148. package/dist/flows/ContractorOnboarding/components/OnboardingBack.js +1 -1
  149. package/dist/flows/ContractorOnboarding/components/OnboardingInvite.d.ts +4 -4
  150. package/dist/flows/ContractorOnboarding/components/OnboardingInvite.js +1 -1
  151. package/dist/flows/ContractorOnboarding/components/OnboardingSubmit.js +1 -1
  152. package/dist/flows/ContractorOnboarding/components/PricingPlan.d.ts +7 -8
  153. package/dist/flows/ContractorOnboarding/components/PricingPlan.js +1 -1
  154. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.d.ts +5 -6
  155. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.js +1 -1
  156. package/dist/flows/ContractorOnboarding/context.d.ts +7 -8
  157. package/dist/flows/ContractorOnboarding/hooks.d.ts +8 -9
  158. package/dist/flows/ContractorOnboarding/hooks.js +1 -1
  159. package/dist/flows/ContractorOnboarding/index.d.ts +7 -8
  160. package/dist/flows/ContractorOnboarding/index.js +1 -1
  161. package/dist/flows/ContractorOnboarding/types.d.ts +8 -9
  162. package/dist/flows/ContractorOnboarding/utils.d.ts +18 -1
  163. package/dist/flows/ContractorOnboarding/utils.js +1 -1
  164. package/dist/flows/CostCalculator/CostCalculatorFlow.d.ts +4 -5
  165. package/dist/flows/CostCalculator/CostCalculatorFlow.js +1 -1
  166. package/dist/flows/CostCalculator/CostCalculatorForm.d.ts +4 -5
  167. package/dist/flows/CostCalculator/CostCalculatorForm.js +1 -1
  168. package/dist/flows/CostCalculator/CostCalculatorResetButton.js +1 -1
  169. package/dist/flows/CostCalculator/CostCalculatorSubmitButton.js +1 -1
  170. package/dist/flows/CostCalculator/EstimationResults/EstimationResults.d.ts +3 -4
  171. package/dist/flows/CostCalculator/EstimationResults/EstimationResults.js +1 -1
  172. package/dist/flows/CostCalculator/SummaryResults/SummaryResults.d.ts +3 -4
  173. package/dist/flows/CostCalculator/SummaryResults/SummaryResults.js +1 -1
  174. package/dist/flows/CostCalculator/api.d.ts +10 -7
  175. package/dist/flows/CostCalculator/api.js +1 -1
  176. package/dist/flows/CostCalculator/components/SalaryField.d.ts +3 -3
  177. package/dist/flows/CostCalculator/components/SalaryField.js +1 -1
  178. package/dist/flows/CostCalculator/context.d.ts +4 -5
  179. package/dist/flows/CostCalculator/hooks.d.ts +4 -5
  180. package/dist/flows/CostCalculator/hooks.js +1 -1
  181. package/dist/flows/CostCalculator/index.d.ts +5 -6
  182. package/dist/flows/CostCalculator/index.js +1 -1
  183. package/dist/flows/CostCalculator/types.d.ts +3 -4
  184. package/dist/flows/CostCalculator/utils.d.ts +4 -5
  185. package/dist/flows/CostCalculator/utils.js +1 -1
  186. package/dist/flows/Onboarding/OnboardingFlow.d.ts +5 -6
  187. package/dist/flows/Onboarding/OnboardingFlow.js +1 -1
  188. package/dist/flows/Onboarding/api.d.ts +20 -13
  189. package/dist/flows/Onboarding/api.js +1 -1
  190. package/dist/flows/Onboarding/components/AnnualGrossSalary.d.ts +3 -3
  191. package/dist/flows/Onboarding/components/AnnualGrossSalary.js +1 -1
  192. package/dist/flows/Onboarding/components/BasicInformationStep.d.ts +5 -6
  193. package/dist/flows/Onboarding/components/BasicInformationStep.js +1 -1
  194. package/dist/flows/Onboarding/components/BenefitsStep.d.ts +5 -6
  195. package/dist/flows/Onboarding/components/BenefitsStep.js +1 -1
  196. package/dist/flows/Onboarding/components/ContractDetailsStep.d.ts +5 -6
  197. package/dist/flows/Onboarding/components/ContractDetailsStep.js +1 -1
  198. package/dist/flows/Onboarding/components/OnboardingBack.js +1 -1
  199. package/dist/flows/Onboarding/components/OnboardingForm.d.ts +9 -10
  200. package/dist/flows/Onboarding/components/OnboardingForm.js +1 -1
  201. package/dist/flows/Onboarding/components/OnboardingInvite.d.ts +4 -4
  202. package/dist/flows/Onboarding/components/OnboardingInvite.js +1 -1
  203. package/dist/flows/Onboarding/components/OnboardingSubmit.js +1 -1
  204. package/dist/flows/Onboarding/components/ReviewStep.d.ts +5 -6
  205. package/dist/flows/Onboarding/components/SaveDraftButton.d.ts +4 -4
  206. package/dist/flows/Onboarding/components/SaveDraftButton.js +1 -1
  207. package/dist/flows/Onboarding/components/SelectCountryStep.d.ts +5 -6
  208. package/dist/flows/Onboarding/components/SelectCountryStep.js +1 -1
  209. package/dist/flows/Onboarding/context.d.ts +7 -8
  210. package/dist/flows/Onboarding/hooks.d.ts +6 -7
  211. package/dist/flows/Onboarding/hooks.js +1 -1
  212. package/dist/flows/Onboarding/index.d.ts +5 -6
  213. package/dist/flows/Onboarding/index.js +1 -1
  214. package/dist/flows/Onboarding/types.d.ts +5 -6
  215. package/dist/flows/Onboarding/utils.d.ts +5 -6
  216. package/dist/flows/Termination/AdditionalDetailsForm.d.ts +7 -6
  217. package/dist/flows/Termination/AdditionalDetailsForm.js +1 -1
  218. package/dist/flows/Termination/EmployeeComunicationForm.d.ts +7 -6
  219. package/dist/flows/Termination/EmployeeComunicationForm.js +1 -1
  220. package/dist/flows/Termination/PaidTimeOffForm.d.ts +7 -6
  221. package/dist/flows/Termination/PaidTimeOffForm.js +1 -1
  222. package/dist/flows/Termination/TerminationBack.js +1 -1
  223. package/dist/flows/Termination/TerminationDetailsForm.d.ts +7 -6
  224. package/dist/flows/Termination/TerminationDetailsForm.js +1 -1
  225. package/dist/flows/Termination/TerminationFlow.d.ts +7 -6
  226. package/dist/flows/Termination/TerminationFlow.js +1 -1
  227. package/dist/flows/Termination/TerminationForm.d.ts +8 -7
  228. package/dist/flows/Termination/TerminationForm.js +1 -1
  229. package/dist/flows/Termination/TerminationSubmit.js +1 -1
  230. package/dist/flows/Termination/api.d.ts +17 -12
  231. package/dist/flows/Termination/api.js +1 -1
  232. package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInfomationContainer.js +1 -1
  233. package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformation.js +1 -1
  234. package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformationFees.js +1 -1
  235. package/dist/flows/Termination/components/AcknowledgeInformation/constants.js +1 -1
  236. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.d.ts +9 -8
  237. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.js +1 -1
  238. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.d.ts +9 -8
  239. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.js +1 -1
  240. package/dist/flows/Termination/components/PaidTimeOff/types.d.ts +9 -8
  241. package/dist/flows/Termination/components/TerminationDialogInfoContent/TerminationDialogInfoContent.js +1 -1
  242. package/dist/flows/Termination/components/TerminationReasonsDetailContent/TerminationReasonsDetailContent.js +1 -1
  243. package/dist/flows/Termination/context.d.ts +11 -10
  244. package/dist/flows/Termination/hooks.d.ts +7 -6
  245. package/dist/flows/Termination/hooks.js +1 -1
  246. package/dist/flows/Termination/index.d.ts +9 -8
  247. package/dist/flows/Termination/index.js +1 -1
  248. package/dist/flows/Termination/json-schemas/employeeComunication.js +1 -1
  249. package/dist/flows/Termination/json-schemas/jsonSchema.js +1 -1
  250. package/dist/flows/Termination/json-schemas/schema.d.ts +7 -6
  251. package/dist/flows/Termination/json-schemas/schema.js +1 -1
  252. package/dist/flows/Termination/types.d.ts +7 -6
  253. package/dist/flows/Termination/utils.d.ts +7 -6
  254. package/dist/flows/Termination/utils.js +1 -1
  255. package/dist/flows/types.d.ts +5 -22
  256. package/dist/flows/utils.d.ts +1 -1
  257. package/dist/index.d.ts +12 -11
  258. package/dist/index.js +1 -1
  259. package/dist/index.js.map +1 -1
  260. package/dist/internals.d.ts +5 -1
  261. package/dist/internals.js +1 -1
  262. package/dist/{mutations-Drqfzgy7.d.ts → mutations-Dhsqyt9R.d.ts} +1 -1
  263. package/dist/{remoteFlows-BgL1cZb_.d.ts → remoteFlows-8lgzhRZb.d.ts} +15 -6
  264. package/dist/styles.css +3 -0
  265. package/dist/styles.css.map +1 -0
  266. package/dist/styles.d.ts +2 -0
  267. package/dist/styles.js +2 -0
  268. package/dist/styles.js.map +1 -0
  269. package/dist/{types-BLSDMvDI.d.ts → types-7X9Do4Qx.d.ts} +8 -8
  270. package/dist/{types-BdW8zb6v.d.ts → types-BH1usu8z.d.ts} +1 -1
  271. package/dist/{types-CAEchQzj.d.ts → types-CR6ZHxiM.d.ts} +10 -11
  272. package/dist/{types-ANHgWME9.d.ts → types-CgFQV0b1.d.ts} +10 -11
  273. package/dist/types-ZWIpiFgj.d.ts +4 -0
  274. package/dist/{types.gen-er9sGXZD.d.ts → types.gen-q3-YX6jr.d.ts} +1 -1
  275. package/dist/{utils-CjDMg_Yr.d.ts → utils-CGX-jPIw.d.ts} +1 -0
  276. package/package.json +13 -3
  277. package/dist/chunk-23OYALRY.js +0 -2
  278. package/dist/chunk-23OYALRY.js.map +0 -1
  279. package/dist/chunk-2SO4LW7V.js.map +0 -1
  280. package/dist/chunk-2TILNBMK.js +0 -2
  281. package/dist/chunk-2TILNBMK.js.map +0 -1
  282. package/dist/chunk-3A5JJLQP.js +0 -2
  283. package/dist/chunk-3A5JJLQP.js.map +0 -1
  284. package/dist/chunk-5Z47HXNS.js +0 -2
  285. package/dist/chunk-5Z47HXNS.js.map +0 -1
  286. package/dist/chunk-6GTRAHWJ.js +0 -2
  287. package/dist/chunk-6GTRAHWJ.js.map +0 -1
  288. package/dist/chunk-CDCKGIF5.js +0 -2
  289. package/dist/chunk-CDCKGIF5.js.map +0 -1
  290. package/dist/chunk-E25DZ75Z.js +0 -2
  291. package/dist/chunk-EDVJBPCB.js +0 -2
  292. package/dist/chunk-EDVJBPCB.js.map +0 -1
  293. package/dist/chunk-EHAZWZ3O.js +0 -2
  294. package/dist/chunk-EHAZWZ3O.js.map +0 -1
  295. package/dist/chunk-ERRQIROU.js +0 -2
  296. package/dist/chunk-ERRQIROU.js.map +0 -1
  297. package/dist/chunk-F2TLAIUP.js +0 -2
  298. package/dist/chunk-F2TLAIUP.js.map +0 -1
  299. package/dist/chunk-IVMECZU7.js +0 -2
  300. package/dist/chunk-IVMECZU7.js.map +0 -1
  301. package/dist/chunk-IWA5B4U6.js +0 -2
  302. package/dist/chunk-JA7UP6GN.js +0 -2
  303. package/dist/chunk-JA7UP6GN.js.map +0 -1
  304. package/dist/chunk-L3Z2G32A.js.map +0 -1
  305. package/dist/chunk-LQBVRVXH.js +0 -2
  306. package/dist/chunk-LQBVRVXH.js.map +0 -1
  307. package/dist/chunk-NFUP6BFU.js.map +0 -1
  308. package/dist/chunk-OAPK6TR7.js +0 -2
  309. package/dist/chunk-OAPK6TR7.js.map +0 -1
  310. package/dist/chunk-RR55GUDT.js +0 -2
  311. package/dist/chunk-RR55GUDT.js.map +0 -1
  312. package/dist/chunk-SIYKTLFS.js +0 -2
  313. package/dist/chunk-SIYKTLFS.js.map +0 -1
  314. package/dist/chunk-TP4HDSRT.js +0 -2
  315. package/dist/chunk-TP4HDSRT.js.map +0 -1
  316. package/dist/chunk-V3PJWSHI.js.map +0 -1
  317. package/dist/chunk-V6HC5BRT.js +0 -2
  318. package/dist/chunk-V6HC5BRT.js.map +0 -1
  319. package/dist/chunk-XOA7GG4P.js +0 -2
  320. package/dist/chunk-XQL5I2GC.js +0 -2
  321. package/dist/chunk-XQL5I2GC.js.map +0 -1
  322. package/dist/chunk-Y2NSR2N6.js +0 -2
  323. package/dist/chunk-Y2NSR2N6.js.map +0 -1
  324. package/dist/chunk-Y6OPZHC3.js +0 -2
  325. package/dist/chunk-Y6OPZHC3.js.map +0 -1
  326. package/dist/chunk-YXJOEOXB.js +0 -2
  327. package/dist/chunk-YXJOEOXB.js.map +0 -1
  328. package/dist/chunk-ZOTFS35J.js +0 -2
  329. package/dist/chunk-ZOTFS35J.js.map +0 -1
  330. package/dist/chunk-ZPN5N6BA.js.map +0 -1
  331. package/dist/types-Zg1n_9wh.d.ts +0 -3
  332. /package/dist/{PdfPreview-6C3GGXIN.js.map → PdfPreview-2VXVDUFP.js.map} +0 -0
  333. /package/dist/{chunk-NS4FRCEH.js.map → chunk-26Y25KF6.js.map} +0 -0
  334. /package/dist/{chunk-RVIGZOGF.js.map → chunk-2MX3WPCK.js.map} +0 -0
  335. /package/dist/{chunk-C74N2AWG.js.map → chunk-3BOFG6MK.js.map} +0 -0
  336. /package/dist/{chunk-AT7VHJMW.js.map → chunk-3DRSYLBM.js.map} +0 -0
  337. /package/dist/{chunk-6SRDRMBU.js.map → chunk-3NMCXHSQ.js.map} +0 -0
  338. /package/dist/{chunk-FKLQBAJ5.js.map → chunk-447M3MFN.js.map} +0 -0
  339. /package/dist/{chunk-WO7VCDVI.js.map → chunk-4G2UMXRE.js.map} +0 -0
  340. /package/dist/{chunk-NIEQ7YV4.js.map → chunk-4GXONSSK.js.map} +0 -0
  341. /package/dist/{chunk-M2TLNSTK.js.map → chunk-4OVFMUUJ.js.map} +0 -0
  342. /package/dist/{chunk-EC7QVRRX.js.map → chunk-4UAHJOHZ.js.map} +0 -0
  343. /package/dist/{chunk-QUQLW5YW.js.map → chunk-5JQMTMHR.js.map} +0 -0
  344. /package/dist/{chunk-WMYWVMKM.js.map → chunk-5S54GMUJ.js.map} +0 -0
  345. /package/dist/{chunk-XOA7GG4P.js.map → chunk-6CASSN2Z.js.map} +0 -0
  346. /package/dist/{chunk-IWA5B4U6.js.map → chunk-6DHV4GT6.js.map} +0 -0
  347. /package/dist/{chunk-FCGEB2PN.js.map → chunk-6E467YF3.js.map} +0 -0
  348. /package/dist/{chunk-XRI6PRXK.js.map → chunk-6E5GX7W3.js.map} +0 -0
  349. /package/dist/{chunk-T6HCUFYI.js.map → chunk-765OB2K5.js.map} +0 -0
  350. /package/dist/{chunk-7RREQLI5.js.map → chunk-ADOJOLLL.js.map} +0 -0
  351. /package/dist/{chunk-3YVCOYUM.js.map → chunk-AF3YOXUE.js.map} +0 -0
  352. /package/dist/{chunk-RNM46ZUE.js.map → chunk-AFGXZINW.js.map} +0 -0
  353. /package/dist/{chunk-4PZNLTCY.js.map → chunk-AL2HSQPC.js.map} +0 -0
  354. /package/dist/{chunk-BHYFPY64.js.map → chunk-B2OOX56F.js.map} +0 -0
  355. /package/dist/{chunk-Y5P5IJRN.js.map → chunk-BPIGB72P.js.map} +0 -0
  356. /package/dist/{chunk-66N57DKF.js.map → chunk-CR7AIZKA.js.map} +0 -0
  357. /package/dist/{chunk-DHIFFMY4.js.map → chunk-CX735AP4.js.map} +0 -0
  358. /package/dist/{chunk-MPQVMNI7.js.map → chunk-ER7DFMME.js.map} +0 -0
  359. /package/dist/{chunk-J5LWPODW.js.map → chunk-FQQKCROC.js.map} +0 -0
  360. /package/dist/{chunk-UOOUV52J.js.map → chunk-GGPEKIIH.js.map} +0 -0
  361. /package/dist/{chunk-72OH7PSF.js.map → chunk-GPLI6GGL.js.map} +0 -0
  362. /package/dist/{chunk-PMTKQME6.js.map → chunk-ILOKQ6OH.js.map} +0 -0
  363. /package/dist/{chunk-L5GWH3V7.js.map → chunk-JS3H25UQ.js.map} +0 -0
  364. /package/dist/{chunk-FUMA5UUB.js.map → chunk-K3XVYHGV.js.map} +0 -0
  365. /package/dist/{chunk-ZIN2OWTH.js.map → chunk-LAXQMTDQ.js.map} +0 -0
  366. /package/dist/{chunk-BKEIB7VP.js.map → chunk-LFQDVSKU.js.map} +0 -0
  367. /package/dist/{chunk-MXLQEDRJ.js.map → chunk-LHNX27TY.js.map} +0 -0
  368. /package/dist/{chunk-TEC6BNTS.js.map → chunk-LSNMODBH.js.map} +0 -0
  369. /package/dist/{chunk-7F742TXN.js.map → chunk-NP3HE6QX.js.map} +0 -0
  370. /package/dist/{chunk-E5PHO3SS.js.map → chunk-NY7LII5R.js.map} +0 -0
  371. /package/dist/{chunk-F3KEIVSE.js.map → chunk-PC5JG4TT.js.map} +0 -0
  372. /package/dist/{chunk-LJGCFFAT.js.map → chunk-PJN2YJO4.js.map} +0 -0
  373. /package/dist/{chunk-YP6LLUQK.js.map → chunk-PS6EXVKH.js.map} +0 -0
  374. /package/dist/{chunk-CG57ORFU.js.map → chunk-Q2JVGEYM.js.map} +0 -0
  375. /package/dist/{chunk-3I4WL35F.js.map → chunk-SQVJRTTA.js.map} +0 -0
  376. /package/dist/{chunk-5A7SON2J.js.map → chunk-T6KVMOX7.js.map} +0 -0
  377. /package/dist/{chunk-6P4DTWYK.js.map → chunk-U2HWB5HI.js.map} +0 -0
  378. /package/dist/{chunk-I4XJ764Y.js.map → chunk-XGECMN4V.js.map} +0 -0
  379. /package/dist/{chunk-BVDT43OO.js.map → chunk-XTXPKDZ7.js.map} +0 -0
  380. /package/dist/{chunk-TVJYCR33.js.map → chunk-XXPJHT5A.js.map} +0 -0
  381. /package/dist/{chunk-MSLM2CQ4.js.map → chunk-XXXQA4SY.js.map} +0 -0
  382. /package/dist/{chunk-EI7F3Y3W.js.map → chunk-Z3AKMQ4S.js.map} +0 -0
  383. /package/dist/{chunk-4GDEWYZC.js.map → chunk-Z5A2M5EU.js.map} +0 -0
  384. /package/dist/{chunk-KGKDSOER.js.map → chunk-ZFKHCC4Z.js.map} +0 -0
  385. /package/dist/{chunk-FZDQ7EEI.js.map → chunk-ZT72WOPZ.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/form/fields/FieldSetField.tsx","../src/components/form/fields/default/CheckboxFieldDefault.tsx","../src/components/form/fields/CheckBoxField.tsx","../src/components/form/fields/default/DatePickerFieldDefault.tsx","../src/components/ui/popover.tsx","../src/components/ui/calendar.tsx","../src/components/shared/zendesk-drawer/HelpCenter.tsx","../src/components/form/fields/DatePickerField.tsx","../src/components/form/fields/default/FileUploadFieldDefault.tsx","../src/components/form/fields/FileUploadField.tsx","../src/components/form/fields/default/NumberFieldDefault.tsx","../src/components/form/fields/NumberField.tsx","../src/components/form/fields/default/RadioGroupFieldDefault.tsx","../src/components/form/fields/RadioGroupField.tsx","../src/components/form/fields/default/SelectFieldDefault.tsx","../src/components/form/fields/SelectField.tsx","../src/components/form/fields/default/CountryFieldDefault.tsx","../src/components/ui/multi-select.tsx","../src/components/ui/command.tsx","../src/components/form/fields/CountryField.tsx","../src/components/ui/textarea.tsx","../src/components/form/fields/default/TextAreaFieldDefault.tsx","../src/components/form/fields/TextAreaField.tsx","../src/components/form/fields/default/EmailFieldDefault.tsx","../src/components/form/fields/EmailField.tsx","../src/components/form/fields/HiddenField.tsx","../src/components/form/fields/WorkScheduleField.tsx","../src/components/form/fields/workScheduleUtils.ts","../src/components/form/fields/default/WorkScheduleFieldDefault.tsx","../node_modules/@hookform/resolvers/src/validateFieldsNatively.ts","../node_modules/@hookform/resolvers/src/toNestErrors.ts","../node_modules/@hookform/resolvers/yup/src/yup.ts","../src/components/form/fields/default/MultiSelectFieldDefault.tsx","../src/components/form/fields/MultiSelectField.tsx","../src/components/form/fields/MoneyField.tsx","../src/components/form/fields/baseFields.tsx","../src/components/form/fields/default/StatementDefault.tsx","../src/components/form/Statement.tsx","../src/components/form/fields/default/FieldsetToggleButtonDefault.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';\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 // Handle nested fieldsets\n if (field.inputType === '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 (field.inputType === '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.inputType === 'fieldset' or field.inputType === 'fieldset-flat'\n // circular dependency most likely\n let FieldComponent = baseFields[field.inputType as BaseTypes];\n\n if (field.Component) {\n const { Component } = field as {\n Component: React.ComponentType<$TSFixMe>;\n };\n return (\n <Component\n key={field.name}\n setValue={(value: unknown) =>\n setValue(\n isFlatFieldset ? field.name : `${name}.${field.name}`,\n value,\n )\n }\n {...field}\n />\n );\n }\n\n if (!FieldComponent) {\n return (\n <p className='error'>\n Field type {field.inputType as string} not supported\n </p>\n );\n }\n\n if (field.inputType === '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={\n components?.[field.inputType as keyof Components]\n }\n />\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 { Checkbox } from '@/src/components/ui/checkbox';\nimport {\n FormControl,\n FormDescription,\n FormItem,\n FormLabel,\n FormMessage,\n} from '@/src/components/ui/form';\nimport { cn } from '@/src/lib/utils';\nimport { FieldComponentProps } from '@/src/types/fields';\nimport { CheckedState } from '@radix-ui/react-checkbox';\n\nexport const CheckboxFieldDefault = ({\n field,\n fieldState,\n fieldData,\n}: FieldComponentProps) => {\n const { name, label, description, options, multiple } = fieldData;\n\n return (\n <FormItem\n data-field={name}\n className={cn(`RemoteFlows__CheckBoxField__Item__${name}`)}\n >\n <FormControl>\n <>\n {options && multiple ? <FormLabel>{label}</FormLabel> : null}\n\n {options && multiple ? (\n options.map((option) => (\n <div key={option.value} className='flex space-x-2'>\n <Checkbox\n id={option.value}\n onCheckedChange={(checked: CheckedState) => {\n field.onChange(checked === true, option.value);\n }}\n checked={field.value?.includes(option.value)}\n className='RemoteFlows__CheckBox__Input'\n />\n <FormLabel\n htmlFor={option.value}\n className='mb-0 RemoteFlows__CheckBox__Label'\n >\n {option.label}\n </FormLabel>\n </div>\n ))\n ) : (\n <div className='flex space-x-2'>\n <Checkbox\n id={name}\n onCheckedChange={(checked: CheckedState) => {\n field.onChange(checked === true, null);\n }}\n checked={field.value}\n className='RemoteFlows__CheckBox__Input'\n />\n <FormLabel\n htmlFor={name}\n className='mb-0 RemoteFlows__CheckBox__Label'\n >\n {label}\n </FormLabel>\n </div>\n )}\n </>\n </FormControl>\n {description && <FormDescription>{description}</FormDescription>}\n {fieldState.error && <FormMessage />}\n </FormItem>\n );\n};\n","import { CheckboxFieldDefault } from '@/src/components/form/fields/default/CheckboxFieldDefault';\nimport { FormField } from '@/src/components/ui/form';\nimport { useFormFields } from '@/src/context';\nimport { Components, JSFField } from '@/src/types/remoteFlows';\nimport {\n ControllerRenderProps,\n FieldValues,\n useFormContext,\n} from 'react-hook-form';\n\nexport type CheckBoxFieldProps = {\n name: string;\n} & Partial<\n JSFField & {\n onChange?: (checked: boolean, optionId?: string) => void;\n component?: Components['checkbox'];\n }\n>;\n\nexport function CheckBoxField({\n name,\n defaultValue,\n description,\n label,\n onChange,\n multiple,\n options,\n component,\n ...rest\n}: CheckBoxFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n\n const handleCheckboxChange = (\n field: ControllerRenderProps<FieldValues, string>,\n checked: boolean,\n optionId?: string,\n ) => {\n if (multiple && optionId) {\n // Multiple checkboxes: manage as array\n const currentValues = field.value ? [...field.value] : [];\n if (checked) {\n if (!currentValues.includes(optionId)) {\n field.onChange([...currentValues, optionId]);\n }\n } else {\n field.onChange(currentValues.filter((value) => value !== optionId));\n }\n } else {\n // Single checkbox: simple boolean toggle\n field.onChange(checked);\n }\n };\n\n return (\n <FormField\n control={control}\n name={name}\n defaultValue={defaultValue}\n render={({ field, fieldState }) => {\n const CustomCheckboxField = component || components?.checkbox;\n const Component = CustomCheckboxField || CheckboxFieldDefault;\n const customCheckboxFieldProps = {\n name,\n description,\n label,\n defaultValue,\n multiple,\n options,\n ...rest,\n };\n return (\n <Component\n field={{\n ...field,\n onChange: (checked: boolean, optionId?: string) => {\n handleCheckboxChange(field, checked, optionId);\n onChange?.(checked, optionId);\n },\n }}\n fieldState={fieldState}\n fieldData={customCheckboxFieldProps}\n />\n );\n }}\n />\n );\n}\n","import { Button } from '@/src/components/ui/button';\nimport {\n FormControl,\n FormDescription,\n FormItem,\n FormLabel,\n FormMessage,\n} from '@/src/components/ui/form';\nimport { DatePickerComponentProps } from '@/src/types/fields';\nimport { CalendarIcon } from 'lucide-react';\nimport { format } from 'date-fns';\nimport {\n Popover,\n PopoverClose,\n PopoverContent,\n PopoverTrigger,\n} from '@/src/components/ui/popover';\nimport { cn } from '@/src/lib/utils';\nimport { Calendar } from '@/src/components/ui/calendar';\nimport { HelpCenter } from '@/src/components/shared/zendesk-drawer/HelpCenter';\n\nexport function DatePickerFieldDefault({\n field,\n fieldData,\n fieldState,\n}: DatePickerComponentProps) {\n const { name, label, description, minDate, maxDate } = fieldData;\n const minDateValue = minDate ? new Date(minDate) : undefined;\n const maxDateValue = maxDate ? new Date(maxDate) : undefined;\n return (\n <FormItem\n data-field={name}\n className={`flex flex-col RemoteFlows__DatePickerField__Item__${name}`}\n >\n <FormLabel className='RemoteFlows__DatePickerField__Label'>\n {label}\n </FormLabel>\n <Popover>\n <PopoverTrigger asChild>\n <FormControl>\n <div>\n <Button\n type='button'\n variant={'outline'}\n className={cn(\n 'w-full pl-3 text-left font-normal',\n !field.value && 'text-muted-foreground',\n )}\n data-testid={`date-picker-button-${name}`}\n >\n {field.value && <>{format(field.value, 'yyyy-MM-dd')}</>}\n <CalendarIcon className='ml-auto h-4 w-4 opacity-50' />\n </Button>\n </div>\n </FormControl>\n </PopoverTrigger>\n <PopoverContent\n className={`w-auto p-0 RemoteFlows__DatepickerField__PopoverContent`}\n align='start'\n >\n <Calendar\n mode='single'\n className='RemoteFlows__DatepickerField__Calendar'\n selected={field.value ? new Date(field.value) : undefined}\n onSelect={(date) => {\n field.onChange(date ? format(date, 'yyyy-MM-dd') : null);\n }}\n defaultMonth={minDateValue}\n components={{\n DayContent: (props) => {\n return <PopoverClose>{props.date.getDate()}</PopoverClose>;\n },\n }}\n disabled={(date: Date) => {\n if (minDateValue && date < minDateValue) return true;\n if (maxDateValue && date > maxDateValue) return true;\n return false;\n }}\n />\n </PopoverContent>\n </Popover>\n {description ? (\n <FormDescription>\n {description} <HelpCenter helpCenter={fieldData.meta?.helpCenter} />\n </FormDescription>\n ) : null}\n {fieldState.error && (\n <FormMessage className='RemoteFlows__DatePickerField__Error' />\n )}\n </FormItem>\n );\n}\n","import * as React from 'react';\nimport * as PopoverPrimitive from '@radix-ui/react-popover';\n\nimport { cn } from '@/src/lib/utils';\nimport { PopoverClose } from '@radix-ui/react-popover';\n\nfunction Popover({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Root>) {\n return <PopoverPrimitive.Root data-slot='popover' {...props} />;\n}\n\nfunction PopoverTrigger({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Trigger>) {\n return <PopoverPrimitive.Trigger data-slot='popover-trigger' {...props} />;\n}\n\nfunction PopoverContent({\n className,\n align = 'center',\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Content>) {\n return (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n data-slot='popover-content'\n align={align}\n sideOffset={sideOffset}\n className={cn(\n 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden',\n className,\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n );\n}\n\nfunction PopoverAnchor({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Anchor>) {\n return <PopoverPrimitive.Anchor data-slot='popover-anchor' {...props} />;\n}\n\nexport { Popover, PopoverTrigger, PopoverContent, PopoverAnchor, PopoverClose };\n","import * as React from 'react';\nimport { ChevronLeft, ChevronRight } from 'lucide-react';\nimport { DayPicker } from 'react-day-picker';\n\nimport { cn } from '@/src/lib/utils';\nimport { buttonVariants } from '@/src/components/ui/button';\n\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n ...props\n}: React.ComponentProps<typeof DayPicker>) {\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn('p-3', className)}\n classNames={{\n months: 'flex flex-col sm:flex-row gap-2',\n month: 'flex flex-col gap-4',\n caption: 'flex justify-center pt-1 relative items-center w-full',\n caption_label: 'text-sm font-medium',\n nav: 'flex items-center gap-1',\n nav_button: cn(\n buttonVariants({ variant: 'outline' }),\n 'size-7 bg-transparent p-0 opacity-50 hover:opacity-100',\n ),\n nav_button_previous: 'absolute left-1',\n nav_button_next: 'absolute right-1',\n table: 'w-full border-collapse space-x-1',\n head_row: 'flex',\n head_cell:\n 'text-muted-foreground rounded-md w-8 font-normal text-[0.8rem]',\n row: 'flex w-full mt-2',\n cell: cn(\n 'relative p-0 text-center text-sm focus-within:relative focus-within:z-20 [&:has([aria-selected])]:bg-accent [&:has([aria-selected].day-range-end)]:rounded-r-md',\n props.mode === 'range'\n ? '[&:has(>.day-range-end)]:rounded-r-md [&:has(>.day-range-start)]:rounded-l-md first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md'\n : '[&:has([aria-selected])]:rounded-md',\n ),\n day: cn(\n buttonVariants({ variant: 'ghost' }),\n 'size-8 p-0 font-normal aria-selected:opacity-100',\n ),\n day_range_start:\n 'day-range-start aria-selected:bg-primary aria-selected:text-primary-foreground',\n day_range_end:\n 'day-range-end aria-selected:bg-primary aria-selected:text-primary-foreground',\n day_selected:\n 'bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground',\n day_today: 'bg-accent text-accent-foreground',\n day_outside:\n 'day-outside text-muted-foreground aria-selected:text-muted-foreground',\n day_disabled: 'text-muted-foreground opacity-50',\n day_range_middle:\n 'aria-selected:bg-accent aria-selected:text-accent-foreground',\n day_hidden: 'invisible',\n ...classNames,\n }}\n components={{\n IconLeft: ({ className, ...props }) => (\n <ChevronLeft className={cn('size-4', className)} {...props} />\n ),\n IconRight: ({ className, ...props }) => (\n <ChevronRight className={cn('size-4', className)} {...props} />\n ),\n }}\n {...props}\n />\n );\n}\n\nexport { Calendar };\n","import { ZendeskTriggerButton } from './ZendeskTriggerButton';\n\ntype HelpCenterProps = {\n helpCenter?: { callToAction: string; id: number };\n};\n\nexport function HelpCenter({ helpCenter }: HelpCenterProps) {\n if (!helpCenter) {\n return null;\n }\n return (\n <ZendeskTriggerButton zendeskId={helpCenter.id}>\n {helpCenter.callToAction}\n </ZendeskTriggerButton>\n );\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { useFormContext } from 'react-hook-form';\nimport { FormField } from '@/src/components/ui/form';\n\nimport { useFormFields } from '@/src/context';\nimport { Components, JSFField } from '@/src/types/remoteFlows';\nimport { getMinStartDate } from '@/src/components/form/utils';\nimport { DatePickerFieldDefault } from '@/src/components/form/fields/default/DatePickerFieldDefault';\n\nexport type DatePickerFieldProps = JSFField & {\n onChange?: (value: any) => 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 (minDate) {\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 CustomDatePickerField = component || components?.date;\n const Component = CustomDatePickerField || DatePickerFieldDefault;\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: any) => {\n field.onChange(value);\n onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={customDatePickerFieldProps}\n />\n );\n }}\n />\n );\n}\n","import {\n FormControl,\n FormDescription,\n FormItem,\n FormLabel,\n FormMessage,\n} from '@/src/components/ui/form';\nimport { FileUploader } from '@/src/components/ui/file-uploader';\nimport { cn } from '@/src/lib/utils';\nimport { FileComponentProps } from '@/src/types/fields';\n\nexport function FileUploadFieldDefault({\n field,\n fieldState,\n fieldData,\n}: FileComponentProps) {\n const { name, label, description, multiple, accept } = fieldData;\n\n return (\n <FormItem\n data-field={name}\n className={`RemoteFlows__FileUpload__Item__${name}`}\n >\n <FormLabel className='RemoteFlows__FileUpload__Label'>{label}</FormLabel>\n <FormControl>\n <FileUploader\n onChange={field.onChange}\n multiple={multiple}\n className={cn('RemoteFlows__FileUpload__Input')}\n accept={accept}\n files={field.value}\n />\n </FormControl>\n {description && (\n <div className='flex items-center justify-between'>\n <FormDescription className='RemoteFlows__FileUpload__Description'>\n {description}\n </FormDescription>\n </div>\n )}\n {fieldState.error && (\n <FormMessage className='RemoteFlows__FileUpload__Error' />\n )}\n </FormItem>\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';\nimport { FileUploadFieldDefault } from './default/FileUploadFieldDefault';\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 CustomFileUploadField = component || components?.file;\n const Component = CustomFileUploadField || FileUploadFieldDefault;\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 { TextField } from '@/src/components/form/fields/TextField';\nimport { FieldComponentProps } from '@/src/types/fields';\n\nexport function NumberFieldDefault({ field, fieldData }: FieldComponentProps) {\n return (\n <TextField\n type='text'\n inputMode='decimal'\n pattern='^[0-9.]*$'\n {...field}\n {...fieldData}\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 { NumberFieldDefault } from '@/src/components/form/fields/default/NumberFieldDefault';\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 CustomNumberField = props.component || components?.number;\n const Component = CustomNumberField || NumberFieldDefault;\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 { Fragment } from 'react';\nimport {\n FormControl,\n FormDescription,\n FormItem,\n FormLabel,\n FormMessage,\n} from '@/src/components/ui/form';\nimport { RadioGroup, RadioGroupItem } from '@/src/components/ui/radio-group';\nimport { cn } from '@/src/lib/utils';\nimport { FieldComponentProps } from '@/src/types/fields';\nimport { HelpCenter } from '@/src/components/shared/zendesk-drawer/HelpCenter';\n\nexport const RadioGroupFieldDefault = ({\n field,\n fieldData,\n fieldState,\n}: FieldComponentProps) => {\n const { name, label, description, options } = fieldData;\n return (\n <fieldset\n className={cn('space-y-3', `RemoteFlows__RadioGroupField__Item__${name}`)}\n data-field={name}\n >\n <FormItem>\n <legend>{label}</legend>\n {description && (\n <FormDescription>\n {description} <HelpCenter helpCenter={fieldData.meta?.helpCenter} />\n </FormDescription>\n )}\n <FormControl>\n <RadioGroup\n aria-label={label || name}\n onValueChange={(value: string) => {\n field.onChange(value);\n }}\n value={field.value}\n className='flex flex-col space-y-3'\n >\n {options?.map((option) => (\n <Fragment key={option.value}>\n <FormItem\n data-field={name}\n className='flex items-start space-x-3 space-y-0 gap-0 RemoteFlows__RadioField__Item'\n >\n <FormControl>\n <RadioGroupItem\n value={option.value}\n className='RemoteFlows__RadioField__Input'\n disabled={option.disabled}\n />\n </FormControl>\n <div>\n <FormLabel className='font-normal mb-0 RemoteFlows__RadioField__Label'>\n {option.label}\n </FormLabel>\n {option.description && (\n <FormDescription className='mt-2'>\n {option.description}\n </FormDescription>\n )}\n </div>\n </FormItem>\n </Fragment>\n ))}\n </RadioGroup>\n </FormControl>\n {fieldState.error && <FormMessage />}\n </FormItem>\n </fieldset>\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';\nimport { RadioGroupFieldDefault } from '@/src/components/form/fields/default/RadioGroupFieldDefault';\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 CustomRadioGroupField = component || components?.radio;\n const Component = CustomRadioGroupField || RadioGroupFieldDefault;\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 {\n FormControl,\n FormDescription,\n FormItem,\n FormLabel,\n FormMessage,\n} from '@/src/components/ui/form';\nimport { FieldComponentProps } from '@/src/types/fields';\nimport {\n Select,\n SelectGroup,\n SelectValue,\n SelectTrigger,\n SelectContent,\n SelectItem,\n} from '@/src/components/ui/select';\n\nexport function SelectFieldDefault({\n field,\n fieldState,\n fieldData,\n}: FieldComponentProps) {\n const { name, label, description, options } = fieldData;\n\n return (\n <FormItem\n data-field={name}\n className={`RemoteFlows__SelectField__Item__${name}`}\n >\n <FormLabel className='RemoteFlows__SelectField__Label'>{label}</FormLabel>\n <FormControl>\n <div className='relative'>\n <Select\n value={field.value || ''}\n onValueChange={(value: string) => {\n field.onChange(value);\n }}\n >\n <SelectTrigger\n className='RemoteFlows__SelectField__Trigger'\n aria-invalid={Boolean(fieldState.error)}\n aria-label={label}\n >\n <span className='absolute'>\n <SelectValue placeholder={label} />\n </span>\n </SelectTrigger>\n <SelectContent className='RemoteFlows__SelectField__Content'>\n <SelectGroup className='RemoteFlows__SelectField__Group'>\n {options?.map((option) => (\n <SelectItem\n key={option.value}\n value={option.value}\n className='RemoteFlows__SelectField__SelectItem'\n disabled={option.disabled}\n >\n {option.label}\n </SelectItem>\n ))}\n </SelectGroup>\n </SelectContent>\n </Select>\n </div>\n </FormControl>\n {description && <FormDescription>{description}</FormDescription>}\n {fieldState.error && <FormMessage />}\n </FormItem>\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';\nimport { SelectFieldDefault } from '@/src/components/form/fields/default/SelectFieldDefault';\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 CustomSelectField = component || components?.select;\n const Component = CustomSelectField || SelectFieldDefault;\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 maybeCastValue =\n rest.jsonType === 'number' ? 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 { useEffect, useState } from 'react';\nimport {\n FormControl,\n FormDescription,\n FormLabel,\n FormMessage,\n} from '@/src/components/ui/form';\n\nimport { FormItem } from '@/src/components/ui/form';\nimport { MultiSelect } from '@/src/components/ui/multi-select';\nimport { $TSFixMe } from '@/src/types/remoteFlows';\nimport { CountryComponentProps } from '@/src/types/fields';\nimport { HelpCenter } from '@/src/components/shared/zendesk-drawer/HelpCenter';\n\nexport function CountryFieldDefault({\n field,\n fieldState,\n fieldData,\n}: CountryComponentProps) {\n const [selected, setSelected] = useState<$TSFixMe[]>([]);\n const handleChange = (rawValues: $TSFixMe[]) => {\n const values = rawValues.map(({ value }) => value);\n field.onChange(values);\n setSelected(rawValues);\n };\n\n useEffect(() => {\n if (field.value && fieldData.options) {\n setSelected(\n field.value.map(\n (value: $TSFixMe) =>\n fieldData?.options?.find(\n (option) => option.value === value,\n ) as $TSFixMe,\n ),\n );\n }\n }, [field.value, fieldData.options]);\n\n const countryOptions = [\n ...Object.entries(fieldData.$meta?.regions || {}).map(([key, value]) => ({\n value,\n label: key,\n category: 'Regions',\n })),\n ...Object.entries(fieldData.$meta?.subregions || {}).map(\n ([key, value]) => ({\n value,\n label: key,\n category: 'Subregions',\n }),\n ),\n ...(fieldData.options?.map((option) => ({\n ...option,\n value: option.value,\n label: option.label,\n category: 'Countries',\n })) || []),\n ];\n return (\n <FormItem\n data-field={field.name}\n className={`RemoteFlows__CountryField__Item__${field.name}`}\n >\n <FormLabel className='RemoteFlows__CountryField__Label'>\n {fieldData.label}\n </FormLabel>\n <FormControl>\n <MultiSelect\n options={countryOptions}\n selected={selected}\n onChange={handleChange}\n />\n </FormControl>\n {fieldData.description && (\n <FormDescription>\n {fieldData.description}{' '}\n <HelpCenter helpCenter={fieldData.meta?.helpCenter} />\n </FormDescription>\n )}\n {fieldState.error && <FormMessage />}\n </FormItem>\n );\n}\n","import { Fragment, useState } from 'react';\nimport { Check, ChevronDownIcon, X } from 'lucide-react';\n\nimport { Button } from '@/src/components/ui/button';\nimport { Badge } from '@/src/components/ui/badge';\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandList,\n CommandSeparator,\n} from '@/src/components/ui/command';\nimport {\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from '@/src/components/ui/popover';\nimport { cn } from '@/src/lib/utils';\n\nexport type Option = {\n label: string;\n value: string | string[];\n category?: string;\n};\n\ninterface MultiSelectProps {\n options: Option[];\n selected: Option[];\n onChange: (options: Option[]) => void;\n placeholder?: string;\n}\n\nexport function MultiSelect({\n options,\n selected,\n onChange,\n placeholder,\n ...props\n}: MultiSelectProps) {\n const [open, setOpen] = useState(false);\n const handleUnselect = (option: Option) => {\n onChange(selected.filter((item) => item.value !== option.value));\n };\n\n const hasCategories = options.some((option) => option.category);\n\n const groupedOptions = options.reduce(\n (groups, option) => {\n const category = option.category || 'Uncategorized';\n if (!groups[category]) {\n groups[category] = [];\n }\n groups[category].push(option);\n return groups;\n },\n {} as Record<string, Option[]>,\n );\n\n return (\n <Popover open={open} onOpenChange={setOpen} {...props}>\n <PopoverTrigger>\n <Button\n variant='outline'\n role='combobox'\n aria-expanded={open}\n className='w-full justify-between font-normal'\n type='button'\n >\n <div className='flex gap-1 flex-wrap overflow-x-auto max-h-[2.5rem] items-center'>\n {selected.length > 0 ? (\n selected.map((option) => {\n return (\n <Badge\n key={option.label}\n variant='secondary'\n className='mr-1 mb-1'\n >\n {option.label}\n <div\n role='button'\n tabIndex={0}\n aria-label={`remove ${option.label}`}\n className='ml-1 ring-offset-background rounded-full outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 cursor-pointer'\n onKeyDown={(e) => {\n if (e.key === 'Enter') {\n handleUnselect(option);\n }\n }}\n onMouseDown={(e) => {\n e.preventDefault();\n e.stopPropagation();\n }}\n onClick={() => handleUnselect(option)}\n >\n <X className='h-3 w-3 text-muted-foreground hover:text-foreground' />\n </div>\n </Badge>\n );\n })\n ) : (\n <span className='text-foreground'>{placeholder}</span>\n )}\n </div>\n <ChevronDownIcon className='size-4' />\n </Button>\n </PopoverTrigger>\n <PopoverContent align='start' className='w-full p-0'>\n <Command>\n <CommandList>\n <CommandEmpty>No item found.</CommandEmpty>\n {Object.entries(groupedOptions).map(\n ([category, categoryOptions], index) => (\n <Fragment key={category}>\n {index > 0 && <CommandSeparator />}\n <CommandGroup heading={hasCategories ? category : undefined}>\n {categoryOptions.map((option) => {\n const isSelected = selected.some(\n (item) => item.value === option.value,\n );\n return (\n <CommandItem\n key={option.label}\n onSelect={() => {\n onChange(\n isSelected\n ? selected.filter(\n (item) => item.value !== option.value,\n )\n : [...selected, option],\n );\n }}\n >\n <Check\n className={cn(\n 'mr-2 h-4 w-4',\n isSelected ? 'opacity-100' : 'opacity-0',\n )}\n />\n {option.label}\n </CommandItem>\n );\n })}\n </CommandGroup>\n </Fragment>\n ),\n )}\n </CommandList>\n </Command>\n </PopoverContent>\n </Popover>\n );\n}\n","import * as React from 'react';\nimport { Command as CommandPrimitive } from 'cmdk';\nimport { SearchIcon } from 'lucide-react';\n\nimport { cn } from '@/src/lib/utils';\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogHeader,\n DialogTitle,\n} from '@/src/components/ui/dialog';\n\nfunction Command({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive>) {\n return (\n <CommandPrimitive\n data-slot='command'\n className={cn(\n 'bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CommandDialog({\n title = 'Command Palette',\n description = 'Search for a command to run...',\n children,\n ...props\n}: React.ComponentProps<typeof Dialog> & {\n title?: string;\n description?: string;\n}) {\n return (\n <Dialog {...props}>\n <DialogHeader className='sr-only'>\n <DialogTitle>{title}</DialogTitle>\n <DialogDescription>{description}</DialogDescription>\n </DialogHeader>\n <DialogContent className='overflow-hidden p-0'>\n <Command className='[&_[cmdk-group-heading]]:text-muted-foreground **:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5'>\n {children}\n </Command>\n </DialogContent>\n </Dialog>\n );\n}\n\nfunction CommandInput({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Input>) {\n return (\n <div\n data-slot='command-input-wrapper'\n className='flex h-9 items-center gap-2 border-b px-3'\n >\n <SearchIcon className='size-4 shrink-0 opacity-50' />\n <CommandPrimitive.Input\n data-slot='command-input'\n className={cn(\n 'placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50',\n className,\n )}\n {...props}\n />\n </div>\n );\n}\n\nfunction CommandList({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.List>) {\n return (\n <CommandPrimitive.List\n data-slot='command-list'\n className={cn(\n 'max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CommandEmpty({\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Empty>) {\n return (\n <CommandPrimitive.Empty\n data-slot='command-empty'\n className='py-6 text-center text-sm'\n {...props}\n />\n );\n}\n\nfunction CommandGroup({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Group>) {\n return (\n <CommandPrimitive.Group\n data-slot='command-group'\n className={cn(\n 'text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CommandSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Separator>) {\n return (\n <CommandPrimitive.Separator\n data-slot='command-separator'\n className={cn('bg-border -mx-1 h-px', className)}\n {...props}\n />\n );\n}\n\nfunction CommandItem({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Item>) {\n return (\n <CommandPrimitive.Item\n data-slot='command-item'\n className={cn(\n \"data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CommandShortcut({\n className,\n ...props\n}: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot='command-shortcut'\n className={cn(\n 'text-muted-foreground ml-auto text-xs tracking-widest',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n Command,\n CommandDialog,\n CommandInput,\n CommandList,\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandShortcut,\n CommandSeparator,\n};\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport { useFormFields } from '@/src/context';\nimport { Components, JSFField } from '@/src/types/remoteFlows';\nimport { useFormContext } from 'react-hook-form';\nimport { FormField } from '../../ui/form';\nimport { CountryFieldDefault } from '@/src/components/form/fields/default/CountryFieldDefault';\n\ntype CountryFieldProps = JSFField & {\n options: Array<{ value: string; label: string }>;\n onChange?: (value: any) => 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 CustomSelectField = component || components?.countries;\n const Component = CustomSelectField || CountryFieldDefault;\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: any) => {\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';\n\nimport { cn } from '@/src/lib/utils';\n\nconst Textarea = React.forwardRef<\n HTMLTextAreaElement,\n React.ComponentProps<'textarea'>\n>(({ className, ...props }, ref) => {\n return (\n <textarea\n className={cn(\n 'flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n className,\n )}\n ref={ref}\n {...props}\n />\n );\n});\nTextarea.displayName = 'Textarea';\n\nexport { Textarea };\n","import {\n FormControl,\n FormDescription,\n FormItem,\n FormLabel,\n FormMessage,\n} from '@/src/components/ui/form';\nimport { Textarea } from '@/src/components/ui/textarea';\nimport { cn } from '@/src/lib/utils';\nimport { FieldComponentProps } from '@/src/types/fields';\n\nexport function TextAreaFieldDefault({\n field,\n fieldState,\n fieldData,\n}: FieldComponentProps) {\n const { name, label, description, maxLength } = fieldData;\n const valueLength = field.value?.length ?? 0;\n return (\n <FormItem\n data-field={name}\n className={`RemoteFlows__TextArea__Item__${name}`}\n >\n <FormLabel className='RemoteFlows__TextArea__Label'>{label}</FormLabel>\n <FormControl>\n <Textarea\n {...field}\n value={field.value ?? ''}\n onChange={(event: React.ChangeEvent<HTMLTextAreaElement>) => {\n field.onChange(event);\n }}\n className={cn(\n fieldState.error && 'border-red-500 focus-visible:ring-red-500',\n 'RemoteFlows__TextArea__Input',\n )}\n placeholder={label}\n />\n </FormControl>\n {(description || maxLength) && (\n <div className='flex items-center justify-between'>\n {description && (\n <FormDescription className='RemoteFlows__TextArea__Description'>\n {description}\n </FormDescription>\n )}\n {maxLength && (\n <span className='text-sm ml-auto RemoteFlows__TextArea__MaxLength'>\n {valueLength}/{maxLength}\n </span>\n )}\n </div>\n )}\n {fieldState.error && (\n <FormMessage className='RemoteFlows__TextArea__Error' />\n )}\n </FormItem>\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';\nimport { TextAreaFieldDefault } from '@/src/components/form/fields/default/TextAreaFieldDefault';\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 CustomTextAreaField = component || components?.textarea;\n const Component = CustomTextAreaField || TextAreaFieldDefault;\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 { TextField } from '@/src/components/form/fields/TextField';\nimport { FieldComponentProps } from '@/src/types/fields';\n\nexport function EmailFieldDefault({ field, fieldData }: FieldComponentProps) {\n return <TextField name={field.name} {...fieldData} type='email' />;\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';\nimport { EmailFieldDefault } from '@/src/components/form/fields/default/EmailFieldDefault';\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 CustomEmailField = props.component || components?.email;\n const Component = CustomEmailField || EmailFieldDefault;\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","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\n\nimport { JSFField } 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';\nimport { WorkScheduleFieldDefault } from '@/src/components/form/fields/default/WorkScheduleFieldDefault';\n\ntype WorkScheduleFieldProps = JSFField & {\n name: string;\n default: DailySchedule[];\n onChange?: (value: any) => 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 CustomWorkScheduleField =\n props.component || components?.['work-schedule'];\n const Component = CustomWorkScheduleField || WorkScheduleFieldDefault;\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: any) => {\n field.onChange(value);\n props.onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={fieldData}\n />\n );\n }}\n />\n );\n}\n","import groupBy from 'lodash.groupby';\nimport capitalize from 'lodash.capitalize';\n\nconst MINUTES_IN_HOUR = 60;\n\nexport const DAYS_OF_THE_WEEK = [\n 'monday',\n 'tuesday',\n 'wednesday',\n 'thursday',\n 'friday',\n 'saturday',\n 'sunday',\n] as const;\n\nexport type DailySchedule = {\n day: string;\n start_time: string;\n end_time: string;\n hours: number;\n break_duration_minutes: string;\n checked: boolean;\n};\n\n/**\n * Convert break duration in minutes to hours and minutes\n * @param breakDuration - Break duration in minutes\n * @returns Break duration in hours and minutes\n */\nfunction convertBreakDurationToHours(breakDuration: number) {\n if (breakDuration < 60) {\n return `${breakDuration}m`;\n }\n\n const hours = Math.floor(breakDuration / MINUTES_IN_HOUR);\n const minutes = breakDuration % MINUTES_IN_HOUR;\n\n if (minutes > 0) {\n return `${hours}h${minutes}m`;\n }\n\n return `${hours}h`;\n}\n\n/**\n * Calculate total work hours from daily schedules\n * @param dailySchedules - Daily schedules\n * @returns Total work hours\n */\nexport function calculateTotalWorkHours(dailySchedules: DailySchedule[]) {\n const totalWorkHours = dailySchedules.reduce((total, daySchedule) => {\n const sum = daySchedule.hours + total;\n return sum;\n }, 0);\n\n return Number(totalWorkHours.toFixed(2));\n}\n\n/**\n * Find the last consecutive day in a schedule (used to summarize work hours)\n * @param startDay - The starting day\n * @param dailySchedule - The daily schedule\n * @returns The last consecutive day\n */\nfunction findLastConsecutiveDay(\n startDay: string,\n dailySchedule: DailySchedule[],\n): Weekday | null {\n const daysScheduled = dailySchedule.map(\n ({ day }: DailySchedule) => day.toLowerCase() as Weekday,\n );\n\n let idx = daysScheduled.indexOf(startDay as Weekday);\n let day: Weekday | null = null;\n\n while (idx < daysScheduled.length && !day) {\n const currentDay = daysScheduled[idx];\n const nextDay = daysScheduled[idx + 1];\n\n const nextDayIdx = DAYS_OF_THE_WEEK.indexOf(currentDay) + 1;\n const isNextDay = DAYS_OF_THE_WEEK[nextDayIdx] === nextDay;\n\n if (!isNextDay) {\n day = currentDay;\n }\n\n idx += 1;\n }\n\n return day;\n}\n\n/**\n * Check if a day schedule should be summarized\n * @param daySchedule - The day schedule\n * @returns True if the day schedule should be summarized\n */\nfunction shouldSummarizeSchedule(daySchedule: DailySchedule) {\n return (\n daySchedule.start_time &&\n daySchedule.end_time &&\n (typeof daySchedule.hours === 'number'\n ? daySchedule.hours\n : Number.parseInt(daySchedule.hours)) > 0\n );\n}\n\n/**\n * Check if break duration should be summarized\n * @param daySchedule - The day schedule\n * @returns True if the break duration should be summarized\n */\nfunction shouldSummarizeBreaks(daySchedule: DailySchedule) {\n return Number.parseInt(daySchedule.break_duration_minutes) > 0;\n}\n\n/**\n * Build the work schedule summary\n * @param dailySchedules - The daily schedules\n * @returns The work schedule summary\n */\nexport function buildWorkScheduleSummary(dailySchedules: DailySchedule[]) {\n const activeScheduleDays = dailySchedules.filter(shouldSummarizeSchedule);\n\n const groupedWorkHours = groupBy(activeScheduleDays, (dailySchedule) => {\n return `${dailySchedule.start_time}|${dailySchedule.end_time}`;\n });\n\n const activeBreakDays = dailySchedules.filter(shouldSummarizeBreaks);\n const groupedBreaks = groupBy(activeBreakDays, 'break_duration_minutes');\n\n const workHoursSummary = Object.keys(groupedWorkHours).map(\n (scheduleTimes) => {\n const sameDailySchedule = groupedWorkHours[scheduleTimes];\n const startDay = sameDailySchedule[0].day;\n const [start_time, end_time] = scheduleTimes.split('|');\n const timeSummary = `from <span>${start_time.replace(':', 'h')}</span> to <span>${end_time.replace(':', 'h')}</span>`;\n\n const lastConsecutiveDay = findLastConsecutiveDay(\n startDay,\n sameDailySchedule,\n );\n const lastConsecutiveDayIdx = lastConsecutiveDay\n ? sameDailySchedule.findIndex(\n (dailySchedule) => dailySchedule.day === lastConsecutiveDay,\n )\n : -1;\n const allDaysAreConsecutive =\n lastConsecutiveDayIdx === sameDailySchedule.length - 1;\n\n if (sameDailySchedule.length === 1) {\n return `${capitalize(startDay)}, ${timeSummary}`;\n }\n\n if (!allDaysAreConsecutive || !lastConsecutiveDay) {\n return sameDailySchedule.reduce((summary, dailySchedule, idx) => {\n const day = capitalize(dailySchedule.day);\n if (idx === sameDailySchedule.length - 1) {\n return `${summary}and ${day}, ${timeSummary}`;\n }\n\n return `${summary}<span>${day}</span>, `;\n }, '');\n }\n\n return `<span>${capitalize(startDay)}</span> to <span>${capitalize(lastConsecutiveDay)}</span>, ${timeSummary}`;\n },\n );\n\n const breakSummary = Object.keys(groupedBreaks)\n .reverse()\n .map((breakDuration, idx) => {\n const isFirstGroup = idx === 0;\n const sameDailyBreaks = groupedBreaks[breakDuration];\n const breakString = convertBreakDurationToHours(\n parseInt(breakDuration, 10),\n );\n\n if (Object.keys(groupedBreaks).length === 1) {\n return `With ${breakString} daily breaks`;\n }\n\n if (sameDailyBreaks.length === 1) {\n const breakText = `${breakString} break on ${capitalize(sameDailyBreaks[0].day)}.`;\n return isFirstGroup ? `With ${breakText}` : breakText;\n }\n\n return sameDailyBreaks.reduce(\n (summary, dailySchedule, breakIdx) => {\n const day = capitalize(dailySchedule.day);\n\n if (breakIdx === 0) {\n return `${summary} ${day}`;\n }\n\n if (breakIdx === sameDailyBreaks.length - 1) {\n return `${summary}, and ${day}.`;\n }\n\n return `${summary}, ${day}`;\n },\n isFirstGroup\n ? `With ${breakString} break on`\n : `${breakString} break on`,\n );\n });\n\n return { workHoursSummary, breakSummary };\n}\n\n// Calculate hours for each day\nexport function calculateHours(day: DailySchedule) {\n const { checked, start_time, end_time, break_duration_minutes } = day;\n if (!checked) return 0;\n\n const [startHour, startMin] = start_time.split(':').map(Number);\n const [endHour, endMin] = end_time.split(':').map(Number);\n\n const startTotalMin = startHour * 60 + startMin;\n const endTotalMin = endHour * 60 + endMin;\n const workMinutes =\n endTotalMin -\n startTotalMin -\n Number.parseInt(break_duration_minutes || '0');\n\n const hours = workMinutes / 60;\n return hours === Math.floor(hours) ? hours : Number(hours.toFixed(2));\n}\n\ntype Weekday = (typeof DAYS_OF_THE_WEEK)[number];\n\nconst dayMap: Record<Weekday, string> = {\n monday: 'Mon',\n tuesday: 'Tue',\n wednesday: 'Wed',\n thursday: 'Thu',\n friday: 'Fri',\n saturday: 'Sat',\n sunday: 'Sun',\n};\n\nexport function getShortWeekday(fullName: Weekday): string {\n return dayMap[fullName];\n}\n","import { useFieldArray, useForm } from 'react-hook-form';\nimport * as yup from 'yup';\nimport { yupResolver } from '@hookform/resolvers/yup';\nimport { Fragment, useState } from 'react';\nimport { Form } from '@/src/components/ui/form';\nimport {\n calculateHours,\n DailySchedule,\n DAYS_OF_THE_WEEK,\n getShortWeekday,\n} from '@/src/components/form/fields/workScheduleUtils';\nimport { CheckBoxField } from '@/src/components/form/fields/CheckBoxField';\nimport { TextField } from '@/src/components/form/fields/TextField';\nimport { Button } from '@/src/components/ui/button';\nimport {\n Dialog,\n DialogContent,\n DialogHeader,\n DialogTitle,\n DialogTrigger,\n} from '@/src/components/ui/dialog';\nimport { WorkScheduleComponentProps } from '@/src/types/fields';\nimport { $TSFixMe } from '@/src/types/remoteFlows';\n\ntype WorkScheduleFormData = {\n schedule: DailySchedule[];\n};\n\ntype WorkScheduleSelectionProps = {\n defaultSchedule: DailySchedule[];\n onSubmit: (data: WorkScheduleFormData['schedule']) => void;\n};\n\nconst fieldSchema = yup.object({\n day: yup.string().required(),\n checked: yup.boolean().required(),\n start_time: yup\n .string()\n .matches(/^([01]\\d|2[0-3]):([0-5]\\d)$/, 'Invalid time format (HH:mm)')\n .when('checked', {\n is: true,\n then: (schema) => schema.required('Required'),\n otherwise: (schema) => schema.optional().nullable(),\n }),\n end_time: yup\n .string()\n .matches(/^([01]\\d|2[0-3]):([0-5]\\d)$/, 'Invalid time format (HH:mm)')\n .when('checked', {\n is: true,\n then: (schema) => schema.required('Required'),\n otherwise: (schema) => schema.optional().nullable(),\n }),\n hours: yup.number().default(0),\n break_duration_minutes: yup.string().default('0'),\n});\n\nconst formSchema = yup.object({\n schedule: yup.array(fieldSchema),\n});\n\nfunction WorkScheduleSelectionForm({\n defaultSchedule,\n onSubmit,\n}: WorkScheduleSelectionProps) {\n const [openDialog, setOpenDialog] = useState(false);\n\n const transformedSchedule = DAYS_OF_THE_WEEK.map((day) => {\n const existingSchedule = defaultSchedule.find(\n (schedule) =>\n schedule.day.toLowerCase() === getShortWeekday(day).toLowerCase() ||\n schedule.day.toLowerCase() === day.toLowerCase(),\n );\n\n if (existingSchedule) {\n return {\n ...existingSchedule,\n day: getShortWeekday(day),\n checked: true,\n };\n }\n\n return {\n // We just need to override the day and checked. The rest of the fields are the same for every day.\n ...defaultSchedule[0],\n checked: false,\n day: getShortWeekday(day),\n };\n });\n\n const form = useForm<WorkScheduleFormData>({\n defaultValues: {\n schedule: transformedSchedule,\n },\n resolver: yupResolver(formSchema) as $TSFixMe,\n });\n\n const { handleSubmit, watch, reset, control, formState } = form;\n\n const { fields } = useFieldArray({\n name: 'schedule',\n control,\n });\n\n const watchedSchedule = watch('schedule');\n\n function handleSubmitWorkingHours(data: WorkScheduleFormData) {\n // We can only send the days that are checked.\n const schedule = data.schedule\n .filter(({ checked }) => checked)\n .map((day) => ({\n ...day,\n hours: calculateHours(day),\n }));\n\n onSubmit(schedule);\n setOpenDialog(false);\n }\n\n function handleCancel() {\n reset();\n setOpenDialog(false);\n }\n\n return (\n <div className='flex items-center justify-between'>\n <Dialog open={openDialog} onOpenChange={setOpenDialog}>\n <DialogTrigger asChild>\n <Button\n variant={'link'}\n className='flex items-center p-0 RemoteFlows__WorkScheduleSelectionForm__Trigger'\n >\n Edit Schedule\n </Button>\n </DialogTrigger>\n <DialogContent className='max-w-5xl max-h-[90vh] overflow-y-auto px-8 py-4 RemoteFlows__WorkScheduleSelectionForm__Content'>\n <DialogHeader>\n <DialogTitle className='RemoteFlows__WorkScheduleSelectionForm__Title'>\n Edit employee working hours\n </DialogTitle>\n </DialogHeader>\n\n <Form {...form}>\n <form className='space-y-4 RemoteFlows__WorkScheduleSelectionForm__Form'>\n <div className='rounded-lg'>\n <p className='text-gray-600 text-sm mb-4 RemoteFlows__WorkScheduleSelectionForm__Description'>\n The times displayed are in the employee's time zone in the\n 24-hour format.\n </p>\n\n <div className='grid grid-cols-12 gap-4 text-sm font-medium text-gray-500 uppercase tracking-wide RemoteFlows__WorkScheduleSelectionForm__Header'>\n <div className='col-span-2'></div>\n <div className='col-span-3 text-center'>START</div>\n <div className='col-span-1 text-center'></div>\n <div className='col-span-3 text-center'>END</div>\n <div className='col-span-2 text-center'>HOURS</div>\n {/* <div className=\"col-span-2 text-center\">ACTIONS</div> */}\n </div>\n\n <div className='RemoteFlows__WorkScheduleSelectionForm__Rows'>\n {fields.map((field, index) => {\n const currentDay = watchedSchedule[index];\n const calculatedHours = calculateHours(currentDay);\n\n return (\n <Fragment key={field.id}>\n <div className='grid grid-cols-12 gap-4 items-center py-2 RemoteFlows__WorkScheduleSelectionForm__Row-Hours'>\n <div className='col-span-2 flex items-center gap-3'>\n <CheckBoxField\n label={field.day}\n name={`schedule.${index}.checked`}\n />\n </div>\n <div className='col-span-3'>\n <TextField\n name={`schedule.${index}.start_time`}\n includeErrorMessage={false}\n />\n </div>\n <div className='col-span-1 text-center text-gray-500'>\n to\n </div>\n <div className='col-span-3'>\n <TextField\n name={`schedule.${index}.end_time`}\n includeErrorMessage={false}\n />\n </div>\n <div className='col-span-2 text-center text-gray-600'>\n {isNaN(calculatedHours)\n ? '-'\n : `${calculatedHours} hours`}\n </div>\n </div>\n\n <div className='grid grid-cols-12 gap-4 items-center py-2 RemoteFlows__WorkScheduleSelectionForm__Row-Break'>\n <div className='col-span-2 text-gray-500'>Break</div>\n <div className='col-span-2'>\n <TextField\n name={`schedule.${index}.break_duration_minutes`}\n includeErrorMessage={false}\n />\n </div>\n <div className='col-span-2 text-gray-500'>\n minutes\n </div>\n <div className='col-span-4'></div>\n </div>\n </Fragment>\n );\n })}\n </div>\n </div>\n\n {Object.keys(formState.errors).length > 0 && (\n <p className='text-destructive text-sm mb-0'>\n Invalid time format (HH:mm)\n </p>\n )}\n\n <div className='flex gap-4 pt-4'>\n <Button\n type='button'\n className='reset-button'\n variant='outline'\n onClick={handleCancel}\n >\n Cancel\n </Button>\n <Button\n type='button'\n className='submit-button'\n onClick={handleSubmit(handleSubmitWorkingHours)}\n >\n Save Schedule\n </Button>\n </div>\n </form>\n </Form>\n </DialogContent>\n </Dialog>\n </div>\n );\n}\n\nexport const WorkScheduleFieldDefault = ({\n fieldData,\n}: WorkScheduleComponentProps) => {\n const { defaultFormattedValue, currentSchedule, onSubmit } = fieldData;\n const { workHoursSummary, breakSummary, totalWorkHours } =\n defaultFormattedValue;\n return (\n <div className={`flex flex-col gap-3 RemoteFlows__WorkScheduleField`}>\n <p className={`text-sm RemoteFlows__WorkScheduleField__Title`}>\n Work hours\n </p>\n <div className='flex flex-col gap-1 RemoteFlows__WorkScheduleField__Summary'>\n <p\n className='text-sm text-gray-500 RemoteFlows__WorkScheduleField__Summary__WorkHours'\n dangerouslySetInnerHTML={{\n __html: workHoursSummary.join(', '),\n }}\n />\n\n <p className='text-sm text-gray-500 RemoteFlows__WorkScheduleField__Summary__Break'>\n {breakSummary.join()}\n </p>\n <p className='text-sm text-gray-500 RemoteFlows__WorkScheduleField__Summary__Total'>\n Total of <span>{totalWorkHours}</span> hours per week\n </p>\n <WorkScheduleSelectionForm\n defaultSchedule={currentSchedule}\n onSubmit={onSubmit}\n />\n </div>\n </div>\n );\n};\n","import {\n FieldError,\n FieldErrors,\n FieldValues,\n Ref,\n ResolverOptions,\n get,\n} from 'react-hook-form';\n\nconst setCustomValidity = (\n ref: Ref,\n fieldPath: string,\n errors: FieldErrors,\n) => {\n if (ref && 'reportValidity' in ref) {\n const error = get(errors, fieldPath) as FieldError | undefined;\n ref.setCustomValidity((error && error.message) || '');\n\n ref.reportValidity();\n }\n};\n\n// Native validation (web only)\nexport const validateFieldsNatively = <TFieldValues extends FieldValues>(\n errors: FieldErrors,\n options: ResolverOptions<TFieldValues>,\n): void => {\n for (const fieldPath in options.fields) {\n const field = options.fields[fieldPath];\n if (field && field.ref && 'reportValidity' in field.ref) {\n setCustomValidity(field.ref, fieldPath, errors);\n } else if (field && field.refs) {\n field.refs.forEach((ref: HTMLInputElement) =>\n setCustomValidity(ref, fieldPath, errors),\n );\n }\n }\n};\n","import {\n Field,\n FieldErrors,\n FieldValues,\n InternalFieldName,\n ResolverOptions,\n get,\n set,\n} from 'react-hook-form';\nimport { validateFieldsNatively } from './validateFieldsNatively';\n\nexport const toNestErrors = <TFieldValues extends FieldValues>(\n errors: FieldErrors,\n options: ResolverOptions<TFieldValues>,\n): FieldErrors<TFieldValues> => {\n options.shouldUseNativeValidation && validateFieldsNatively(errors, options);\n\n const fieldErrors = {} as FieldErrors<TFieldValues>;\n for (const path in errors) {\n const field = get(options.fields, path) as Field['_f'] | undefined;\n const error = Object.assign(errors[path] || {}, {\n ref: field && field.ref,\n });\n\n if (isNameInFieldArray(options.names || Object.keys(errors), path)) {\n const fieldArrayErrors = Object.assign({}, get(fieldErrors, path));\n\n set(fieldArrayErrors, 'root', error);\n set(fieldErrors, path, fieldArrayErrors);\n } else {\n set(fieldErrors, path, error);\n }\n }\n\n return fieldErrors;\n};\n\nconst isNameInFieldArray = (\n names: InternalFieldName[],\n name: InternalFieldName,\n) => {\n const path = escapeBrackets(name);\n return names.some((n) => escapeBrackets(n).match(`^${path}\\\\.\\\\d+`));\n};\n\n/**\n * Escapes special characters in a string to be used in a regex pattern.\n * it removes the brackets from the string to match the `set` method.\n *\n * @param input - The input string to escape.\n * @returns The escaped string.\n */\nfunction escapeBrackets(input: string): string {\n return input.replace(/\\]|\\[/g, '');\n}\n","import { toNestErrors, validateFieldsNatively } from '@hookform/resolvers';\nimport {\n FieldError,\n FieldValues,\n Resolver,\n appendErrors,\n} from 'react-hook-form';\nimport * as Yup from 'yup';\n\n/**\n * Why `path!` ? because it could be `undefined` in some case\n * https://github.com/jquense/yup#validationerrorerrors-string--arraystring-value-any-path-string\n */\nfunction parseErrorSchema(\n error: Yup.ValidationError,\n validateAllFieldCriteria: boolean,\n) {\n return (error.inner || []).reduce<Record<string, FieldError>>(\n (previous, error) => {\n if (!previous[error.path!]) {\n previous[error.path!] = { message: error.message, type: error.type! };\n }\n\n if (validateAllFieldCriteria) {\n const types = previous[error.path!].types;\n const messages = types && types[error.type!];\n\n previous[error.path!] = appendErrors(\n error.path!,\n validateAllFieldCriteria,\n previous,\n error.type!,\n messages\n ? ([] as string[]).concat(messages as string[], error.message)\n : error.message,\n ) as FieldError;\n }\n\n return previous;\n },\n {},\n );\n}\n\n/**\n * Creates a resolver for react-hook-form using Yup schema validation\n * @param {Yup.ObjectSchema<TFieldValues> | ReturnType<typeof Yup.lazy<Yup.ObjectSchema<TFieldValues>>>} schema - Yup validation schema\n * @param {Parameters<(typeof schema)['validate']>[1]} schemaOptions - Options to pass to Yup's validate/validateSync\n * @param {Object} resolverOptions - Additional resolver configuration\n * @param {('async' | 'sync')} [resolverOptions.mode] - Validation mode\n * @param {boolean} [resolverOptions.raw] - If true, returns raw values instead of validated results\n * @returns {Resolver<Yup.InferType<typeof schema>>} A resolver function compatible with react-hook-form\n * @example\n * const schema = Yup.object({\n * name: Yup.string().required(),\n * age: Yup.number().required(),\n * });\n *\n * useForm({\n * resolver: yupResolver(schema)\n * });\n */\nexport function yupResolver<TFieldValues extends FieldValues>(\n schema:\n | Yup.ObjectSchema<TFieldValues>\n | ReturnType<typeof Yup.lazy<Yup.ObjectSchema<TFieldValues>>>,\n schemaOptions: Parameters<(typeof schema)['validate']>[1] = {},\n resolverOptions: {\n mode?: 'async' | 'sync';\n raw?: boolean;\n } = {},\n): Resolver<Yup.InferType<typeof schema>> {\n return async (values, context, options) => {\n try {\n if (schemaOptions.context && process.env.NODE_ENV === 'development') {\n // eslint-disable-next-line no-console\n console.warn(\n \"You should not used the yup options context. Please, use the 'useForm' context object instead\",\n );\n }\n\n const result = await schema[\n resolverOptions.mode === 'sync' ? 'validateSync' : 'validate'\n ](\n values,\n Object.assign({ abortEarly: false }, schemaOptions, { context }),\n );\n\n options.shouldUseNativeValidation && validateFieldsNatively({}, options);\n\n return {\n values: resolverOptions.raw ? Object.assign({}, values) : result,\n errors: {},\n };\n } catch (e: any) {\n if (!e.inner) {\n throw e;\n }\n\n return {\n values: {},\n errors: toNestErrors(\n parseErrorSchema(\n e,\n !options.shouldUseNativeValidation &&\n options.criteriaMode === 'all',\n ),\n options,\n ),\n };\n }\n };\n}\n","import { useEffect, useState } from 'react';\nimport {\n FormControl,\n FormDescription,\n FormItem,\n FormLabel,\n FormMessage,\n} from '@/src/components/ui/form';\nimport { MultiSelect, Option } from '@/src/components/ui/multi-select';\nimport { FieldComponentProps } from '@/src/types/fields';\n\nexport const MultiSelectFieldDefault = ({\n field,\n fieldState,\n fieldData,\n}: FieldComponentProps) => {\n const [selected, setSelected] = useState<Option[]>([]);\n const { name, label, description, options } = fieldData;\n const selectedOptions =\n selected ||\n options?.filter((option) => field.value?.includes(option.value));\n\n useEffect(() => {\n setSelected(\n options?.filter((option) => field.value?.includes(option.value)) || [],\n );\n }, [field.value, options]);\n return (\n <FormItem\n data-field={name}\n className={`RemoteFlows__SelectField__Item__${name}`}\n >\n <FormLabel className='RemoteFlows__SelectField__Label'>{label}</FormLabel>\n <FormControl>\n <MultiSelect\n options={options || []}\n selected={selectedOptions}\n onChange={(rawValues: Option[]) => {\n const values = rawValues.map(({ value }) => value);\n field.onChange(values); // This triggers the wrapped onChange from MultiSelectField\n setSelected(rawValues);\n }}\n />\n </FormControl>\n {description && <FormDescription>{description}</FormDescription>}\n {fieldState.error && <FormMessage />}\n </FormItem>\n );\n};\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { useFormFields } from '@/src/context';\nimport { Components, JSFField } from '@/src/types/remoteFlows';\nimport { useFormContext } from 'react-hook-form';\nimport { FormField } from '../../ui/form';\nimport { MultiSelectFieldDefault } from '@/src/components/form/fields/default/MultiSelectFieldDefault';\n\ntype MultiSelectFieldProps = JSFField & {\n placeholder?: string;\n options: Array<{ value: string; label: string }>;\n className?: string;\n onChange?: (value: any) => 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 CustomSelectField = component || components?.['multi-select'];\n const Component = CustomSelectField || MultiSelectFieldDefault;\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: any) => {\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 { 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 { 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 'work-schedule': WorkScheduleField,\n};\n","import { Alert, AlertDescription, AlertTitle } from '@/src/components/ui/alert';\nimport { StatementComponentProps } from '@/src/types/fields';\nimport { AlertCircle } from 'lucide-react';\n\nexport function StatementDefault({ data }: StatementComponentProps) {\n const { title, description, severity } = data;\n\n const mapSeverityToVariant: Record<\n string,\n 'warning' | 'destructive' | 'default'\n > = {\n warning: 'warning',\n error: 'destructive',\n info: 'default',\n success: 'warning',\n };\n\n const variant =\n mapSeverityToVariant[severity as keyof typeof mapSeverityToVariant] ??\n 'warning';\n\n return (\n <Alert variant={variant}>\n <AlertCircle className='h-4 w-4' />\n {title && <AlertTitle dangerouslySetInnerHTML={{ __html: title }} />}\n {description && (\n <AlertDescription dangerouslySetInnerHTML={{ __html: description }} />\n )}\n </Alert>\n );\n}\n","import { StatementDefault } from '@/src/components/form/fields/default/StatementDefault';\nimport { useFormFields } from '@/src/context';\nimport { sanitizeHtml } from '@/src/lib/utils';\nimport { StatementComponentProps } from '@/src/types/fields';\n\ntype StatementProps = StatementComponentProps['data'];\n\nexport function Statement({ title, description, severity }: StatementProps) {\n const { components } = useFormFields();\n\n const Component = components?.statement ?? StatementDefault;\n\n return (\n <Component\n data={{\n title: title ? sanitizeHtml(title) : undefined,\n description: sanitizeHtml(description),\n severity,\n }}\n />\n );\n}\n","import { Button } from '@/src/components/ui/button';\nimport { cn } from '@/src/lib/utils';\nimport { FieldSetToggleComponentProps } from '@/src/types/remoteFlows';\n\nexport const FieldsetToggleButtonDefault = ({\n isExpanded,\n onToggle,\n className,\n ...props\n}: FieldSetToggleComponentProps) => (\n <Button\n type='button'\n className={cn(\n 'RemoteFlows__Button RemoteFlows__FieldSetField__ToggleButton',\n className,\n )}\n variant='default'\n onClick={onToggle}\n {...props}\n >\n {isExpanded ? 'Remove' : 'Define'}\n </Button>\n);\n"],"mappings":"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","names":["Fragment","useEffect","useRef","Fragment","jsx","jsxs","CheckboxFieldDefault","__name","field","fieldState","fieldData","name","label","description","options","multiple","FormItem","cn","FormControl","FormLabel","option","Checkbox","checked","FormDescription","FormMessage","jsx","CheckBoxField","name","defaultValue","description","label","onChange","multiple","options","component","rest","components","useFormFields","control","useFormContext","handleCheckboxChange","__name","field","checked","optionId","currentValues","value","FormField","fieldState","Component","CheckboxFieldDefault","customCheckboxFieldProps","CalendarIcon","format","PopoverPrimitive","PopoverClose","jsx","Popover","props","__name","PopoverTrigger","PopoverContent","className","align","sideOffset","cn","ChevronLeft","ChevronRight","DayPicker","jsx","Calendar","className","classNames","showOutsideDays","props","DayPicker","cn","buttonVariants","__name","ChevronLeft","ChevronRight","jsx","HelpCenter","helpCenter","ZendeskTriggerButton","__name","Fragment","jsx","jsxs","DatePickerFieldDefault","field","fieldData","fieldState","name","label","description","minDate","maxDate","minDateValue","maxDateValue","FormItem","FormLabel","Popover","PopoverTrigger","FormControl","Button","cn","format","CalendarIcon","PopoverContent","Calendar","date","__name","props","PopoverClose","FormDescription","HelpCenter","FormMessage","jsx","DatePickerField","description","label","name","minDate","maxDate","onChange","component","rest","components","useFormFields","control","useFormContext","minDateValue","getMinStartDate","maxDateValue","FormField","field","fieldState","Component","DatePickerFieldDefault","customDatePickerFieldProps","__name","value","jsx","jsxs","FileUploadFieldDefault","field","fieldState","fieldData","name","label","description","multiple","accept","FormItem","FormLabel","FormControl","FileUploader","cn","FormDescription","FormMessage","__name","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","FileUploadFieldDefault","fieldData","value","jsx","NumberFieldDefault","field","fieldData","TextField","__name","jsx","NumberField","props","components","useFormFields","control","useFormContext","Component","NumberFieldDefault","FormField","field","fieldState","__name","value","Fragment","jsx","jsxs","RadioGroupFieldDefault","__name","field","fieldData","fieldState","name","label","description","options","cn","FormItem","FormDescription","HelpCenter","FormControl","RadioGroup","value","option","Fragment","RadioGroupItem","FormLabel","FormMessage","jsx","RadioGroupField","name","defaultValue","description","label","options","onChange","component","rest","components","useFormFields","control","useFormContext","FormField","field","fieldState","Component","RadioGroupFieldDefault","customRadioGroupFieldProps","__name","value","jsx","jsxs","SelectFieldDefault","field","fieldState","fieldData","name","label","description","options","FormItem","FormLabel","FormControl","Select","value","SelectTrigger","SelectValue","SelectContent","SelectGroup","option","SelectItem","FormDescription","FormMessage","__name","jsx","SelectField","label","name","options","defaultValue","description","onChange","component","rest","control","useFormContext","components","useFormFields","FormField","field","fieldState","Component","SelectFieldDefault","customSelectFieldProps","__name","value","maybeCastValue","useEffect","useState","Fragment","useState","Check","ChevronDownIcon","X","CommandPrimitive","SearchIcon","jsx","jsxs","Command","className","props","CommandPrimitive","cn","__name","CommandList","className","props","jsx","CommandPrimitive","cn","__name","CommandEmpty","CommandGroup","CommandSeparator","CommandItem","jsx","jsxs","MultiSelect","options","selected","onChange","placeholder","props","open","setOpen","useState","handleUnselect","__name","option","item","hasCategories","groupedOptions","groups","category","Popover","PopoverTrigger","Button","Badge","e","X","ChevronDownIcon","PopoverContent","Command","CommandList","CommandEmpty","categoryOptions","index","Fragment","CommandSeparator","CommandGroup","isSelected","CommandItem","Check","cn","jsx","jsxs","CountryFieldDefault","field","fieldState","fieldData","selected","setSelected","useState","handleChange","__name","rawValues","values","value","useEffect","option","countryOptions","key","FormItem","FormLabel","FormControl","MultiSelect","FormDescription","HelpCenter","FormMessage","jsx","CountryField","label","name","options","defaultValue","description","onChange","$meta","component","rest","control","useFormContext","components","useFormFields","FormField","field","fieldState","Component","CountryFieldDefault","customSelectFieldProps","__name","value","React","jsx","Textarea","className","props","ref","cn","jsx","jsxs","TextAreaFieldDefault","field","fieldState","fieldData","name","label","description","maxLength","valueLength","FormItem","FormLabel","FormControl","Textarea","event","cn","FormDescription","FormMessage","__name","jsx","TextAreaField","name","description","label","onChange","maxLength","component","rest","components","useFormFields","control","useFormContext","FormField","field","fieldState","Component","TextAreaFieldDefault","customTextAreaFieldProps","__name","evt","jsx","EmailFieldDefault","field","fieldData","TextField","__name","jsx","EmailField","props","components","useFormFields","control","useFormContext","Component","EmailFieldDefault","FormField","field","fieldState","__name","value","jsx","HiddenField","props","control","useFormContext","FormField","field","__name","useEffect","useState","groupBy","capitalize","MINUTES_IN_HOUR","DAYS_OF_THE_WEEK","convertBreakDurationToHours","breakDuration","hours","minutes","__name","calculateTotalWorkHours","dailySchedules","totalWorkHours","total","daySchedule","findLastConsecutiveDay","startDay","dailySchedule","daysScheduled","day","idx","currentDay","nextDay","nextDayIdx","shouldSummarizeSchedule","shouldSummarizeBreaks","buildWorkScheduleSummary","activeScheduleDays","groupedWorkHours","groupBy","activeBreakDays","groupedBreaks","workHoursSummary","scheduleTimes","sameDailySchedule","start_time","end_time","timeSummary","lastConsecutiveDay","allDaysAreConsecutive","capitalize","summary","breakSummary","isFirstGroup","sameDailyBreaks","breakString","breakText","breakIdx","calculateHours","checked","break_duration_minutes","startHour","startMin","endHour","endMin","startTotalMin","dayMap","getShortWeekday","fullName","yup","setCustomValidity","ref","fieldPath","errors","error","get","message","reportValidity","validateFieldsNatively","options","fields","field","refs","forEach","toNestErrors","shouldUseNativeValidation","fieldErrors","path","Object","assign","isNameInFieldArray","names","keys","fieldArrayErrors","set","name","escapeBrackets","some","n","match","input","replace","yupResolver","schema","schemaOptions","resolverOptions","values","context","options","Promise","resolve","process","env","NODE_ENV","console","warn","mode","Object","assign","abortEarly","then","result","shouldUseNativeValidation","validateFieldsNatively","raw","errors","e","r","u","_catch","inner","toNestErrors","error","validateAllFieldCriteria","criteriaMode","reduce","previous","path","message","type","types","messages","appendErrors","concat","reject","Fragment","useState","jsx","jsxs","fieldSchema","__name","schema","formSchema","WorkScheduleSelectionForm","defaultSchedule","onSubmit","openDialog","setOpenDialog","useState","transformedSchedule","DAYS_OF_THE_WEEK","day","existingSchedule","schedule","getShortWeekday","form","useForm","o","handleSubmit","watch","reset","control","formState","fields","useFieldArray","watchedSchedule","handleSubmitWorkingHours","data","checked","calculateHours","handleCancel","Dialog","DialogTrigger","Button","DialogContent","DialogHeader","DialogTitle","Form","field","index","currentDay","calculatedHours","Fragment","CheckBoxField","TextField","WorkScheduleFieldDefault","fieldData","defaultFormattedValue","currentSchedule","workHoursSummary","breakSummary","totalWorkHours","jsx","WorkScheduleField","props","components","useFormFields","setValue","control","watch","useFormContext","watchedSchedule","currentSchedule","setCurrentSchedule","useState","workHoursSummary","breakSummary","buildWorkScheduleSummary","totalWorkHours","calculateTotalWorkHours","useEffect","onSubmit","data","__name","Component","WorkScheduleFieldDefault","fieldData","FormField","field","fieldState","value","useEffect","useState","jsx","jsxs","MultiSelectFieldDefault","__name","field","fieldState","fieldData","selected","setSelected","useState","name","label","description","options","selectedOptions","option","useEffect","FormItem","FormLabel","FormControl","MultiSelect","rawValues","values","value","FormDescription","FormMessage","jsx","MultiSelectField","label","name","options","defaultValue","description","onChange","component","rest","control","useFormContext","components","useFormFields","FormField","field","fieldState","Component","MultiSelectFieldDefault","customSelectFieldProps","__name","value","jsx","MoneyField","__name","props","NumberField","baseFields","CheckBoxField","TextField","EmailField","MoneyField","SelectField","MultiSelectField","RadioGroupField","NumberField","FileUploadField","DatePickerField","TextAreaField","CountryField","HiddenField","WorkScheduleField","AlertCircle","jsx","jsxs","StatementDefault","data","title","description","severity","variant","Alert","AlertCircle","AlertTitle","AlertDescription","__name","jsx","Statement","title","description","severity","components","useFormFields","Component","StatementDefault","sanitizeHtml","__name","jsx","FieldsetToggleButtonDefault","__name","isExpanded","onToggle","className","props","Button","cn","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","FieldComponent","baseFields","Component","value","Statement"]}
@@ -1,2 +1,2 @@
1
- import{a as dt}from"./chunk-PMTKQME6.js";import{a as fe,e as ct}from"./chunk-L3Z2G32A.js";import{a}from"./chunk-P37U34EQ.js";import v from"react";var Ve=a(e=>e.type==="checkbox","isCheckBoxInput"),de=a(e=>e instanceof Date,"isDateObject"),K=a(e=>e==null,"isNullOrUndefined"),vt=a(e=>typeof e=="object","isObjectType"),P=a(e=>!K(e)&&!Array.isArray(e)&&vt(e)&&!de(e),"isObject"),bt=a(e=>P(e)&&e.target?Ve(e.target)?e.target.checked:e.target.value:e,"getEventValue"),zt=a(e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,"getNodeParentName"),pt=a((e,r)=>e.has(zt(r)),"isNameInFieldArray"),Kt=a(e=>{let r=e.constructor&&e.constructor.prototype;return P(r)&&r.hasOwnProperty("isPrototypeOf")},"isPlainObject"),Ge=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function M(e){let r,t=Array.isArray(e),s=typeof FileList<"u"?e instanceof FileList:!1;if(e instanceof Date)r=new Date(e);else if(e instanceof Set)r=new Set(e);else if(!(Ge&&(e instanceof Blob||s))&&(t||P(e)))if(r=t?[]:{},!t&&!Kt(e))r=e;else for(let o in e)e.hasOwnProperty(o)&&(r[o]=M(e[o]));else return e;return r}a(M,"cloneObject");var xe=a(e=>Array.isArray(e)?e.filter(Boolean):[],"compact"),R=a(e=>e===void 0,"isUndefined"),d=a((e,r,t)=>{if(!r||!P(e))return t;let s=xe(r.split(/[,[\].]+?/)).reduce((o,l)=>K(o)?o:o[l],e);return R(s)||s===e?R(e[r])?t:e[r]:s},"get"),Q=a(e=>typeof e=="boolean","isBoolean"),Qe=a(e=>/^\w*$/.test(e),"isKey"),Vt=a(e=>xe(e.replace(/["|']|\]/g,"").split(/\.|\[/)),"stringToPath"),E=a((e,r,t)=>{let s=-1,o=Qe(r)?[r]:Vt(r),l=o.length,y=l-1;for(;++s<l;){let g=o[s],p=t;if(s!==y){let S=e[g];p=P(S)||Array.isArray(S)?S:isNaN(+o[s+1])?{}:[]}if(g==="__proto__"||g==="constructor"||g==="prototype")return;e[g]=p,e=e[g]}return e},"set"),Se={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change"},Y={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},ae={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},xt=v.createContext(null),ge=a(()=>v.useContext(xt),"useFormContext"),At=a(e=>{let{children:r,...t}=e;return v.createElement(xt.Provider,{value:t},r)},"FormProvider"),St=a((e,r,t,s=!0)=>{let o={defaultValues:r._defaultValues};for(let l in e)Object.defineProperty(o,l,{get:a(()=>{let y=l;return r._proxyFormState[y]!==Y.all&&(r._proxyFormState[y]=!s||Y.all),t&&(t[y]=!0),e[y]},"get")});return o},"getProxyFormState"),z=a(e=>P(e)&&!Object.keys(e).length,"isEmptyObject"),wt=a((e,r,t,s)=>{t(e);let{name:o,...l}=e;return z(l)||Object.keys(l).length>=Object.keys(r).length||Object.keys(l).find(y=>r[y]===(!s||Y.all))},"shouldRenderFormState"),J=a(e=>Array.isArray(e)?e:[e],"convertToArrayPayload"),Ct=a((e,r,t)=>!e||!r||e===r||J(e).some(s=>s&&(t?s===r:s.startsWith(r)||r.startsWith(s))),"shouldSubscribeByName");function Ee(e){let r=v.useRef(e);r.current=e,v.useEffect(()=>{let t=!e.disabled&&r.current.subject&&r.current.subject.subscribe({next:r.current.next});return()=>{t&&t.unsubscribe()}},[e.disabled])}a(Ee,"useSubscribe");function Ye(e){let r=ge(),{control:t=r.control,disabled:s,name:o,exact:l}=e||{},[y,g]=v.useState(t._formState),p=v.useRef(!0),S=v.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1}),w=v.useRef(o);return w.current=o,Ee({disabled:s,next:a(b=>p.current&&Ct(w.current,b.name,l)&&wt(b,S.current,t._updateFormState)&&g({...t._formState,...b}),"next"),subject:t._subjects.state}),v.useEffect(()=>(p.current=!0,S.current.isValid&&t._updateValid(!0),()=>{p.current=!1}),[t]),v.useMemo(()=>St(y,t,S.current,!1),[y,t])}a(Ye,"useFormState");var se=a(e=>typeof e=="string","isString"),Dt=a((e,r,t,s,o)=>se(e)?(s&&r.watch.add(e),d(t,e,o)):Array.isArray(e)?e.map(l=>(s&&r.watch.add(l),d(t,l))):(s&&(r.watchAll=!0),t),"generateWatchOutput");function Jt(e){let r=ge(),{control:t=r.control,name:s,defaultValue:o,disabled:l,exact:y}=e||{},g=v.useRef(s);g.current=s,Ee({disabled:l,subject:t._subjects.values,next:a(w=>{Ct(g.current,w.name,y)&&S(M(Dt(g.current,t._names,w.values||t._formValues,!1,o)))},"next")});let[p,S]=v.useState(t._getWatch(s,o));return v.useEffect(()=>t._removeUnmounted()),p}a(Jt,"useWatch");function Gt(e){let r=ge(),{name:t,disabled:s,control:o=r.control,shouldUnregister:l}=e,y=pt(o._names.array,t),g=Jt({control:o,name:t,defaultValue:d(o._formValues,t,d(o._defaultValues,t,e.defaultValue)),exact:!0}),p=Ye({control:o,name:t,exact:!0}),S=v.useRef(o.register(t,{...e.rules,value:g,...Q(e.disabled)?{disabled:e.disabled}:{}})),w=v.useMemo(()=>Object.defineProperties({},{invalid:{enumerable:!0,get:a(()=>!!d(p.errors,t),"get")},isDirty:{enumerable:!0,get:a(()=>!!d(p.dirtyFields,t),"get")},isTouched:{enumerable:!0,get:a(()=>!!d(p.touchedFields,t),"get")},isValidating:{enumerable:!0,get:a(()=>!!d(p.validatingFields,t),"get")},error:{enumerable:!0,get:a(()=>d(p.errors,t),"get")}}),[p,t]),b=v.useMemo(()=>({name:t,value:g,...Q(s)||p.disabled?{disabled:p.disabled||s}:{},onChange:a(O=>S.current.onChange({target:{value:bt(O),name:t},type:Se.CHANGE}),"onChange"),onBlur:a(()=>S.current.onBlur({target:{value:d(o._formValues,t),name:t},type:Se.BLUR}),"onBlur"),ref:a(O=>{let k=d(o._fields,t);k&&O&&(k._f.ref={focus:a(()=>O.focus(),"focus"),select:a(()=>O.select(),"select"),setCustomValidity:a(U=>O.setCustomValidity(U),"setCustomValidity"),reportValidity:a(()=>O.reportValidity(),"reportValidity")})},"ref")}),[t,o._formValues,s,p.disabled,g,o._fields]);return v.useEffect(()=>{let O=o._options.shouldUnregister||l,k=a((U,j)=>{let H=d(o._fields,U);H&&H._f&&(H._f.mount=j)},"updateMounted");if(k(t,!0),O){let U=M(d(o._options.defaultValues,t));E(o._defaultValues,t,U),R(d(o._formValues,t))&&E(o._formValues,t,U)}return!y&&o.register(t),()=>{(y?O&&!o._state.action:O)?o.unregister(t):k(t,!1)}},[t,o,y,l]),v.useEffect(()=>{o._updateDisabledField({disabled:s,fields:o._fields,name:t})},[s,t,o]),v.useMemo(()=>({field:b,formState:p,fieldState:w}),[b,p,w])}a(Gt,"useController");var Et=a(e=>e.render(Gt(e)),"Controller");var Qt=a((e,r,t,s,o)=>r?{...t[e],types:{...t[e]&&t[e].types?t[e].types:{},[s]:o||!0}}:{},"appendErrors"),le=a(()=>{let e=typeof performance>"u"?Date.now():performance.now()*1e3;return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,r=>{let t=(Math.random()*16+e)%16|0;return(r=="x"?t:t&3|8).toString(16)})},"generateId"),Oe=a((e,r,t={})=>t.shouldFocus||R(t.shouldFocus)?t.focusName||`${e}.${R(t.focusIndex)?r:t.focusIndex}.`:"","getFocusFieldName"),pe=a(e=>({isOnSubmit:!e||e===Y.onSubmit,isOnBlur:e===Y.onBlur,isOnChange:e===Y.onChange,isOnAll:e===Y.all,isOnTouch:e===Y.onTouched}),"getValidationModes"),ze=a((e,r,t)=>!t&&(r.watchAll||r.watch.has(e)||[...r.watch].some(s=>e.startsWith(s)&&/^\.\w+/.test(e.slice(s.length)))),"isWatched"),me=a((e,r,t,s)=>{for(let o of t||Object.keys(e)){let l=d(e,o);if(l){let{_f:y,...g}=l;if(y){if(y.refs&&y.refs[0]&&r(y.refs[0],o)&&!s)return!0;if(y.ref&&r(y.ref,y.name)&&!s)return!0;if(me(g,r))break}else if(P(g)&&me(g,r))break}}},"iterateFieldsByAction"),kt=a((e,r,t)=>{let s=J(d(e,t));return E(s,"root",r[t]),E(e,t,s),e},"updateFieldArrayRootError"),Xe=a(e=>e.type==="file","isFileInput"),re=a(e=>typeof e=="function","isFunction"),we=a(e=>{if(!Ge)return!1;let r=e?e.ownerDocument:0;return e instanceof(r&&r.defaultView?r.defaultView.HTMLElement:HTMLElement)},"isHTMLElement"),Ae=a(e=>se(e),"isMessage"),Ze=a(e=>e.type==="radio","isRadioInput"),Ce=a(e=>e instanceof RegExp,"isRegex"),ft={value:!1,isValid:!1},yt={value:!0,isValid:!0},Rt=a(e=>{if(Array.isArray(e)){if(e.length>1){let r=e.filter(t=>t&&t.checked&&!t.disabled).map(t=>t.value);return{value:r,isValid:!!r.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!R(e[0].attributes.value)?R(e[0].value)||e[0].value===""?yt:{value:e[0].value,isValid:!0}:yt:ft}return ft},"getCheckboxValue"),mt={isValid:!1,value:null},Tt=a(e=>Array.isArray(e)?e.reduce((r,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:r,mt):mt,"getRadioValue");function gt(e,r,t="validate"){if(Ae(e)||Array.isArray(e)&&e.every(Ae)||Q(e)&&!e)return{type:t,message:Ae(e)?e:"",ref:r}}a(gt,"getValidateError");var ye=a(e=>P(e)&&!Ce(e)?e:{value:e,message:""},"getValueAndMessage"),Ke=a(async(e,r,t,s,o,l)=>{let{ref:y,refs:g,required:p,maxLength:S,minLength:w,min:b,max:O,pattern:k,validate:U,name:j,valueAsNumber:H,mount:te}=e._f,C=d(t,j);if(!te||r.has(j))return{};let X=g?g[0]:y,Z=a(A=>{o&&X.reportValidity&&(X.setCustomValidity(Q(A)?"":A||""),X.reportValidity())},"setCustomValidity"),I={},h=Ze(y),F=Ve(y),V=h||F,T=(H||Xe(y))&&R(y.value)&&R(C)||we(y)&&y.value===""||C===""||Array.isArray(C)&&!C.length,B=Qt.bind(null,j,s,I),ce=a((A,D,N,q=ae.maxLength,ee=ae.minLength)=>{let G=A?D:N;I[j]={type:A?q:ee,message:G,ref:y,...B(A?q:ee,G)}},"getMinMaxMessage");if(l?!Array.isArray(C)||!C.length:p&&(!V&&(T||K(C))||Q(C)&&!C||F&&!Rt(g).isValid||h&&!Tt(g).isValid)){let{value:A,message:D}=Ae(p)?{value:!!p,message:p}:ye(p);if(A&&(I[j]={type:ae.required,message:D,ref:X,...B(ae.required,D)},!s))return Z(D),I}if(!T&&(!K(b)||!K(O))){let A,D,N=ye(O),q=ye(b);if(!K(C)&&!isNaN(C)){let ee=y.valueAsNumber||C&&+C;K(N.value)||(A=ee>N.value),K(q.value)||(D=ee<q.value)}else{let ee=y.valueAsDate||new Date(C),G=a(Fe=>new Date(new Date().toDateString()+" "+Fe),"convertTimeToDate"),_e=y.type=="time",he=y.type=="week";se(N.value)&&C&&(A=_e?G(C)>G(N.value):he?C>N.value:ee>new Date(N.value)),se(q.value)&&C&&(D=_e?G(C)<G(q.value):he?C<q.value:ee<new Date(q.value))}if((A||D)&&(ce(!!A,N.message,q.message,ae.max,ae.min),!s))return Z(I[j].message),I}if((S||w)&&!T&&(se(C)||l&&Array.isArray(C))){let A=ye(S),D=ye(w),N=!K(A.value)&&C.length>+A.value,q=!K(D.value)&&C.length<+D.value;if((N||q)&&(ce(N,A.message,D.message),!s))return Z(I[j].message),I}if(k&&!T&&se(C)){let{value:A,message:D}=ye(k);if(Ce(A)&&!C.match(A)&&(I[j]={type:ae.pattern,message:D,ref:y,...B(ae.pattern,D)},!s))return Z(D),I}if(U){if(re(U)){let A=await U(C,t),D=gt(A,X);if(D&&(I[j]={...D,...B(ae.validate,D.message)},!s))return Z(D.message),I}else if(P(U)){let A={};for(let D in U){if(!z(A)&&!s)break;let N=gt(await U[D](C,t),X,D);N&&(A={...N,...B(D,N.message)},Z(N.message),s&&(I[j]=A))}if(!z(A)&&(I[j]={ref:X,...A},!s))return I}}return Z(!0),I},"validateField"),Le=a((e,r)=>[...e,...J(r)],"appendAt"),Ne=a(e=>Array.isArray(e)?e.map(()=>{}):void 0,"fillEmptyArray");function Me(e,r,t){return[...e.slice(0,r),...J(t),...e.slice(r)]}a(Me,"insert");var Ue=a((e,r,t)=>Array.isArray(e)?(R(e[t])&&(e[t]=void 0),e.splice(t,0,e.splice(r,1)[0]),e):[],"moveArrayAt"),Be=a((e,r)=>[...J(r),...J(e)],"prependAt");function Yt(e,r){let t=0,s=[...e];for(let o of r)s.splice(o-t,1),t++;return xe(s).length?s:[]}a(Yt,"removeAtIndexes");var $e=a((e,r)=>R(r)?[]:Yt(e,J(r).sort((t,s)=>t-s)),"removeArrayAt"),We=a((e,r,t)=>{[e[r],e[t]]=[e[t],e[r]]},"swapArrayAt");function Xt(e,r){let t=r.slice(0,-1).length,s=0;for(;s<t;)e=R(e)?s++:e[r[s++]];return e}a(Xt,"baseGet");function Zt(e){for(let r in e)if(e.hasOwnProperty(r)&&!R(e[r]))return!1;return!0}a(Zt,"isEmptyArray");function L(e,r){let t=Array.isArray(r)?r:Qe(r)?[r]:Vt(r),s=t.length===1?e:Xt(e,t),o=t.length-1,l=t[o];return s&&delete s[l],o!==0&&(P(s)&&z(s)||Array.isArray(s)&&Zt(s))&&L(e,t.slice(0,-1)),e}a(L,"unset");var _t=a((e,r,t)=>(e[r]=t,e),"updateAt");function mr(e){let r=ge(),{control:t=r.control,name:s,keyName:o="id",shouldUnregister:l,rules:y}=e,[g,p]=v.useState(t._getFieldArray(s)),S=v.useRef(t._getFieldArray(s).map(le)),w=v.useRef(g),b=v.useRef(s),O=v.useRef(!1);b.current=s,w.current=g,t._names.array.add(s),y&&t.register(s,y),Ee({next:a(({values:h,name:F})=>{if(F===b.current||!F){let V=d(h,b.current);Array.isArray(V)&&(p(V),S.current=V.map(le))}},"next"),subject:t._subjects.array});let k=v.useCallback(h=>{O.current=!0,t._updateFieldArray(s,h)},[t,s]),U=a((h,F)=>{let V=J(M(h)),T=Le(t._getFieldArray(s),V);t._names.focus=Oe(s,T.length-1,F),S.current=Le(S.current,V.map(le)),k(T),p(T),t._updateFieldArray(s,T,Le,{argA:Ne(h)})},"append"),j=a((h,F)=>{let V=J(M(h)),T=Be(t._getFieldArray(s),V);t._names.focus=Oe(s,0,F),S.current=Be(S.current,V.map(le)),k(T),p(T),t._updateFieldArray(s,T,Be,{argA:Ne(h)})},"prepend"),H=a(h=>{let F=$e(t._getFieldArray(s),h);S.current=$e(S.current,h),k(F),p(F),!Array.isArray(d(t._fields,s))&&E(t._fields,s,void 0),t._updateFieldArray(s,F,$e,{argA:h})},"remove"),te=a((h,F,V)=>{let T=J(M(F)),B=Me(t._getFieldArray(s),h,T);t._names.focus=Oe(s,h,V),S.current=Me(S.current,h,T.map(le)),k(B),p(B),t._updateFieldArray(s,B,Me,{argA:h,argB:Ne(F)})},"insert$1"),C=a((h,F)=>{let V=t._getFieldArray(s);We(V,h,F),We(S.current,h,F),k(V),p(V),t._updateFieldArray(s,V,We,{argA:h,argB:F},!1)},"swap"),X=a((h,F)=>{let V=t._getFieldArray(s);Ue(V,h,F),Ue(S.current,h,F),k(V),p(V),t._updateFieldArray(s,V,Ue,{argA:h,argB:F},!1)},"move"),Z=a((h,F)=>{let V=M(F),T=_t(t._getFieldArray(s),h,V);S.current=[...T].map((B,ce)=>!B||ce===h?le():S.current[ce]),k(T),p([...T]),t._updateFieldArray(s,T,_t,{argA:h,argB:V},!0,!1)},"update"),I=a(h=>{let F=J(M(h));S.current=F.map(le),k([...F]),p([...F]),t._updateFieldArray(s,[...F],V=>V,{},!0,!1)},"replace");return v.useEffect(()=>{if(t._state.action=!1,ze(s,t._names)&&t._subjects.state.next({...t._formState}),O.current&&(!pe(t._options.mode).isOnSubmit||t._formState.isSubmitted))if(t._options.resolver)t._executeSchema([s]).then(h=>{let F=d(h.errors,s),V=d(t._formState.errors,s);(V?!F&&V.type||F&&(V.type!==F.type||V.message!==F.message):F&&F.type)&&(F?E(t._formState.errors,s,F):L(t._formState.errors,s),t._subjects.state.next({errors:t._formState.errors}))});else{let h=d(t._fields,s);h&&h._f&&!(pe(t._options.reValidateMode).isOnSubmit&&pe(t._options.mode).isOnSubmit)&&Ke(h,t._names.disabled,t._formValues,t._options.criteriaMode===Y.all,t._options.shouldUseNativeValidation,!0).then(F=>!z(F)&&t._subjects.state.next({errors:kt(t._formState.errors,F,s)}))}t._subjects.values.next({name:s,values:{...t._formValues}}),t._names.focus&&me(t._fields,(h,F)=>{if(t._names.focus&&F.startsWith(t._names.focus)&&h.focus)return h.focus(),1}),t._names.focus="",t._updateValid(),O.current=!1},[g,s,t]),v.useEffect(()=>(!d(t._formValues,s)&&t._updateFieldArray(s),()=>{(t._options.shouldUnregister||l)&&t.unregister(s)}),[s,t,o,l]),{swap:v.useCallback(C,[k,s,t]),move:v.useCallback(X,[k,s,t]),prepend:v.useCallback(j,[k,s,t]),append:v.useCallback(U,[k,s,t]),remove:v.useCallback(H,[k,s,t]),insert:v.useCallback(te,[k,s,t]),update:v.useCallback(Z,[k,s,t]),replace:v.useCallback(I,[k,s,t]),fields:v.useMemo(()=>g.map((h,F)=>({...h,[o]:S.current[F]||le()})),[g,o])}}a(mr,"useFieldArray");var je=a(()=>{let e=[];return{get observers(){return e},next:a(o=>{for(let l of e)l.next&&l.next(o)},"next"),subscribe:a(o=>(e.push(o),{unsubscribe:a(()=>{e=e.filter(l=>l!==o)},"unsubscribe")}),"subscribe"),unsubscribe:a(()=>{e=[]},"unsubscribe")}},"createSubject"),Je=a(e=>K(e)||!vt(e),"isPrimitive");function ue(e,r){if(Je(e)||Je(r))return e===r;if(de(e)&&de(r))return e.getTime()===r.getTime();let t=Object.keys(e),s=Object.keys(r);if(t.length!==s.length)return!1;for(let o of t){let l=e[o];if(!s.includes(o))return!1;if(o!=="ref"){let y=r[o];if(de(l)&&de(y)||P(l)&&P(y)||Array.isArray(l)&&Array.isArray(y)?!ue(l,y):l!==y)return!1}}return!0}a(ue,"deepEqual");var It=a(e=>e.type==="select-multiple","isMultipleSelect"),er=a(e=>Ze(e)||Ve(e),"isRadioOrCheckbox"),qe=a(e=>we(e)&&e.isConnected,"live"),Pt=a(e=>{for(let r in e)if(re(e[r]))return!0;return!1},"objectHasFunction");function De(e,r={}){let t=Array.isArray(e);if(P(e)||t)for(let s in e)Array.isArray(e[s])||P(e[s])&&!Pt(e[s])?(r[s]=Array.isArray(e[s])?[]:{},De(e[s],r[s])):K(e[s])||(r[s]=!0);return r}a(De,"markFieldsDirty");function Ot(e,r,t){let s=Array.isArray(e);if(P(e)||s)for(let o in e)Array.isArray(e[o])||P(e[o])&&!Pt(e[o])?R(r)||Je(t[o])?t[o]=Array.isArray(e[o])?De(e[o],[]):{...De(e[o])}:Ot(e[o],K(r)?{}:r[o],t[o]):t[o]=!ue(e[o],r[o]);return t}a(Ot,"getDirtyFieldsFromDefaultValues");var ve=a((e,r)=>Ot(e,r,De(r)),"getDirtyFields"),Lt=a((e,{valueAsNumber:r,valueAsDate:t,setValueAs:s})=>R(e)?e:r?e===""?NaN:e&&+e:t&&se(e)?new Date(e):s?s(e):e,"getFieldValueAs");function He(e){let r=e.ref;return Xe(r)?r.files:Ze(r)?Tt(e.refs).value:It(r)?[...r.selectedOptions].map(({value:t})=>t):Ve(r)?Rt(e.refs).value:Lt(R(r.value)?e.ref.value:r.value,e)}a(He,"getFieldValue");var tr=a((e,r,t,s)=>{let o={};for(let l of e){let y=d(r,l);y&&E(o,l,y._f)}return{criteriaMode:t,names:[...e],fields:o,shouldUseNativeValidation:s}},"getResolverOptions"),be=a(e=>R(e)?e:Ce(e)?e.source:P(e)?Ce(e.value)?e.value.source:e.value:e,"getRuleValue"),ht="AsyncFunction",rr=a(e=>!!e&&!!e.validate&&!!(re(e.validate)&&e.validate.constructor.name===ht||P(e.validate)&&Object.values(e.validate).find(r=>r.constructor.name===ht)),"hasPromiseValidation"),sr=a(e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),"hasValidation");function Ft(e,r,t){let s=d(e,t);if(s||Qe(t))return{error:s,name:t};let o=t.split(".");for(;o.length;){let l=o.join("."),y=d(r,l),g=d(e,l);if(y&&!Array.isArray(y)&&t!==l)return{name:t};if(g&&g.type)return{name:l,error:g};o.pop()}return{name:t}}a(Ft,"schemaErrorLookup");var ir=a((e,r,t,s,o)=>o.isOnAll?!1:!t&&o.isOnTouch?!(r||e):(t?s.isOnBlur:o.isOnBlur)?!e:(t?s.isOnChange:o.isOnChange)?e:!0,"skipValidation"),ar=a((e,r)=>!xe(d(e,r)).length&&L(e,r),"unsetEmptyArray"),nr={mode:Y.onSubmit,reValidateMode:Y.onChange,shouldFocusError:!0};function or(e={}){let r={...nr,...e},t={submitCount:0,isDirty:!1,isLoading:re(r.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:r.errors||{},disabled:r.disabled||!1},s={},o=P(r.defaultValues)||P(r.values)?M(r.defaultValues||r.values)||{}:{},l=r.shouldUnregister?{}:M(o),y={action:!1,mount:!1,watch:!1},g={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set},p,S=0,w={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},b={values:je(),array:je(),state:je()},O=pe(r.mode),k=pe(r.reValidateMode),U=r.criteriaMode===Y.all,j=a(i=>n=>{clearTimeout(S),S=setTimeout(i,n)},"debounce"),H=a(async i=>{if(!r.disabled&&(w.isValid||i)){let n=r.resolver?z((await V()).errors):await B(s,!0);n!==t.isValid&&b.state.next({isValid:n})}},"_updateValid"),te=a((i,n)=>{!r.disabled&&(w.isValidating||w.validatingFields)&&((i||Array.from(g.mount)).forEach(u=>{u&&(n?E(t.validatingFields,u,n):L(t.validatingFields,u))}),b.state.next({validatingFields:t.validatingFields,isValidating:!z(t.validatingFields)}))},"_updateIsValidating"),C=a((i,n=[],u,m,f=!0,c=!0)=>{if(m&&u&&!r.disabled){if(y.action=!0,c&&Array.isArray(d(s,i))){let _=u(d(s,i),m.argA,m.argB);f&&E(s,i,_)}if(c&&Array.isArray(d(t.errors,i))){let _=u(d(t.errors,i),m.argA,m.argB);f&&E(t.errors,i,_),ar(t.errors,i)}if(w.touchedFields&&c&&Array.isArray(d(t.touchedFields,i))){let _=u(d(t.touchedFields,i),m.argA,m.argB);f&&E(t.touchedFields,i,_)}w.dirtyFields&&(t.dirtyFields=ve(o,l)),b.state.next({name:i,isDirty:A(i,n),dirtyFields:t.dirtyFields,errors:t.errors,isValid:t.isValid})}else E(l,i,n)},"_updateFieldArray"),X=a((i,n)=>{E(t.errors,i,n),b.state.next({errors:t.errors})},"updateErrors"),Z=a(i=>{t.errors=i,b.state.next({errors:t.errors,isValid:!1})},"_setErrors"),I=a((i,n,u,m)=>{let f=d(s,i);if(f){let c=d(l,i,R(u)?d(o,i):u);R(c)||m&&m.defaultChecked||n?E(l,i,n?c:He(f._f)):q(i,c),y.mount&&H()}},"updateValidAndValue"),h=a((i,n,u,m,f)=>{let c=!1,_=!1,x={name:i};if(!r.disabled){let $=!!(d(s,i)&&d(s,i)._f&&d(s,i)._f.disabled);if(!u||m){w.isDirty&&(_=t.isDirty,t.isDirty=x.isDirty=A(),c=_!==x.isDirty);let W=$||ue(d(o,i),n);_=!!(!$&&d(t.dirtyFields,i)),W||$?L(t.dirtyFields,i):E(t.dirtyFields,i,!0),x.dirtyFields=t.dirtyFields,c=c||w.dirtyFields&&_!==!W}if(u){let W=d(t.touchedFields,i);W||(E(t.touchedFields,i,u),x.touchedFields=t.touchedFields,c=c||w.touchedFields&&W!==u)}c&&f&&b.state.next(x)}return c?x:{}},"updateTouchAndDirty"),F=a((i,n,u,m)=>{let f=d(t.errors,i),c=w.isValid&&Q(n)&&t.isValid!==n;if(r.delayError&&u?(p=j(()=>X(i,u)),p(r.delayError)):(clearTimeout(S),p=null,u?E(t.errors,i,u):L(t.errors,i)),(u?!ue(f,u):f)||!z(m)||c){let _={...m,...c&&Q(n)?{isValid:n}:{},errors:t.errors,name:i};t={...t,..._},b.state.next(_)}},"shouldRenderByError"),V=a(async i=>{te(i,!0);let n=await r.resolver(l,r.context,tr(i||g.mount,s,r.criteriaMode,r.shouldUseNativeValidation));return te(i),n},"_executeSchema"),T=a(async i=>{let{errors:n}=await V(i);if(i)for(let u of i){let m=d(n,u);m?E(t.errors,u,m):L(t.errors,u)}else t.errors=n;return n},"executeSchemaAndUpdateState"),B=a(async(i,n,u={valid:!0})=>{for(let m in i){let f=i[m];if(f){let{_f:c,..._}=f;if(c){let x=g.array.has(c.name),$=f._f&&rr(f._f);$&&w.validatingFields&&te([m],!0);let W=await Ke(f,g.disabled,l,U,r.shouldUseNativeValidation&&!n,x);if($&&w.validatingFields&&te([m]),W[c.name]&&(u.valid=!1,n))break;!n&&(d(W,c.name)?x?kt(t.errors,W,c.name):E(t.errors,c.name,W[c.name]):L(t.errors,c.name))}!z(_)&&await B(_,n,u)}}return u.valid},"executeBuiltInValidation"),ce=a(()=>{for(let i of g.unMount){let n=d(s,i);n&&(n._f.refs?n._f.refs.every(u=>!qe(u)):!qe(n._f.ref))&&Re(i)}g.unMount=new Set},"_removeUnmounted"),A=a((i,n)=>!r.disabled&&(i&&n&&E(l,i,n),!ue(et(),o)),"_getDirty"),D=a((i,n,u)=>Dt(i,g,{...y.mount?l:R(n)?o:se(i)?{[i]:n}:n},u,n),"_getWatch"),N=a(i=>xe(d(y.mount?l:o,i,r.shouldUnregister?d(o,i,[]):[])),"_getFieldArray"),q=a((i,n,u={})=>{let m=d(s,i),f=n;if(m){let c=m._f;c&&(!c.disabled&&E(l,i,Lt(n,c)),f=we(c.ref)&&K(n)?"":n,It(c.ref)?[...c.ref.options].forEach(_=>_.selected=f.includes(_.value)):c.refs?Ve(c.ref)?c.refs.length>1?c.refs.forEach(_=>(!_.defaultChecked||!_.disabled)&&(_.checked=Array.isArray(f)?!!f.find(x=>x===_.value):f===_.value)):c.refs[0]&&(c.refs[0].checked=!!f):c.refs.forEach(_=>_.checked=_.value===f):Xe(c.ref)?c.ref.value="":(c.ref.value=f,c.ref.type||b.values.next({name:i,values:{...l}})))}(u.shouldDirty||u.shouldTouch)&&h(i,f,u.shouldTouch,u.shouldDirty,!0),u.shouldValidate&&Fe(i)},"setFieldValue"),ee=a((i,n,u)=>{for(let m in n){let f=n[m],c=`${i}.${m}`,_=d(s,c);(g.array.has(i)||P(f)||_&&!_._f)&&!de(f)?ee(c,f,u):q(c,f,u)}},"setValues"),G=a((i,n,u={})=>{let m=d(s,i),f=g.array.has(i),c=M(n);E(l,i,c),f?(b.array.next({name:i,values:{...l}}),(w.isDirty||w.dirtyFields)&&u.shouldDirty&&b.state.next({name:i,dirtyFields:ve(o,l),isDirty:A(i,c)})):m&&!m._f&&!K(c)?ee(i,c,u):q(i,c,u),ze(i,g)&&b.state.next({...t}),b.values.next({name:y.mount?i:void 0,values:{...l}})},"setValue"),_e=a(async i=>{y.mount=!0;let n=i.target,u=n.name,m=!0,f=d(s,u),c=a(()=>n.type?He(f._f):bt(i),"getCurrentFieldValue"),_=a(x=>{m=Number.isNaN(x)||de(x)&&isNaN(x.getTime())||ue(x,d(l,u,x))},"_updateIsFieldValueUpdated");if(f){let x,$,W=c(),oe=i.type===Se.BLUR||i.type===Se.FOCUS_OUT,jt=!sr(f._f)&&!r.resolver&&!d(t.errors,u)&&!f._f.deps||ir(oe,d(t.touchedFields,u),t.isSubmitted,k,O),Ie=ze(u,g,oe);E(l,u,W),oe?(f._f.onBlur&&f._f.onBlur(i),p&&p(0)):f._f.onChange&&f._f.onChange(i);let Pe=h(u,W,oe,!1),qt=!z(Pe)||Ie;if(!oe&&b.values.next({name:u,type:i.type,values:{...l}}),jt)return w.isValid&&(r.mode==="onBlur"&&oe?H():oe||H()),qt&&b.state.next({name:u,...Ie?{}:Pe});if(!oe&&Ie&&b.state.next({...t}),r.resolver){let{errors:lt}=await V([u]);if(_(W),m){let Ht=Ft(t.errors,s,u),ut=Ft(lt,s,Ht.name||u);x=ut.error,u=ut.name,$=z(lt)}}else te([u],!0),x=(await Ke(f,g.disabled,l,U,r.shouldUseNativeValidation))[u],te([u]),_(W),m&&(x?$=!1:w.isValid&&($=await B(s,!0)));m&&(f._f.deps&&Fe(f._f.deps),F(u,$,x,Pe))}},"onChange"),he=a((i,n)=>{if(d(t.errors,n)&&i.focus)return i.focus(),1},"_focusInput"),Fe=a(async(i,n={})=>{let u,m,f=J(i);if(r.resolver){let c=await T(R(i)?i:f);u=z(c),m=i?!f.some(_=>d(c,_)):u}else i?(m=(await Promise.all(f.map(async c=>{let _=d(s,c);return await B(_&&_._f?{[c]:_}:_)}))).every(Boolean),!(!m&&!t.isValid)&&H()):m=u=await B(s);return b.state.next({...!se(i)||w.isValid&&u!==t.isValid?{}:{name:i},...r.resolver||!i?{isValid:u}:{},errors:t.errors}),n.shouldFocus&&!m&&me(s,he,i?f:g.mount),m},"trigger"),et=a(i=>{let n={...y.mount?l:o};return R(i)?n:se(i)?d(n,i):i.map(u=>d(n,u))},"getValues"),tt=a((i,n)=>({invalid:!!d((n||t).errors,i),isDirty:!!d((n||t).dirtyFields,i),error:d((n||t).errors,i),isValidating:!!d(t.validatingFields,i),isTouched:!!d((n||t).touchedFields,i)}),"getFieldState"),Ut=a(i=>{i&&J(i).forEach(n=>L(t.errors,n)),b.state.next({errors:i?t.errors:{}})},"clearErrors"),rt=a((i,n,u)=>{let m=(d(s,i,{_f:{}})._f||{}).ref,f=d(t.errors,i)||{},{ref:c,message:_,type:x,...$}=f;E(t.errors,i,{...$,...n,ref:m}),b.state.next({name:i,errors:t.errors,isValid:!1}),u&&u.shouldFocus&&m&&m.focus&&m.focus()},"setError"),Bt=a((i,n)=>re(i)?b.values.subscribe({next:a(u=>i(D(void 0,n),u),"next")}):D(i,n,!0),"watch"),Re=a((i,n={})=>{for(let u of i?J(i):g.mount)g.mount.delete(u),g.array.delete(u),n.keepValue||(L(s,u),L(l,u)),!n.keepError&&L(t.errors,u),!n.keepDirty&&L(t.dirtyFields,u),!n.keepTouched&&L(t.touchedFields,u),!n.keepIsValidating&&L(t.validatingFields,u),!r.shouldUnregister&&!n.keepDefaultValue&&L(o,u);b.values.next({values:{...l}}),b.state.next({...t,...n.keepDirty?{isDirty:A()}:{}}),!n.keepIsValid&&H()},"unregister"),st=a(({disabled:i,name:n,field:u,fields:m})=>{(Q(i)&&y.mount||i||g.disabled.has(n))&&(i?g.disabled.add(n):g.disabled.delete(n),h(n,He(u?u._f:d(m,n)._f),!1,!1,!0))},"_updateDisabledField"),Te=a((i,n={})=>{let u=d(s,i),m=Q(n.disabled)||Q(r.disabled);return E(s,i,{...u||{},_f:{...u&&u._f?u._f:{ref:{name:i}},name:i,mount:!0,...n}}),g.mount.add(i),u?st({field:u,disabled:Q(n.disabled)?n.disabled:r.disabled,name:i}):I(i,!0,n.value),{...m?{disabled:n.disabled||r.disabled}:{},...r.progressive?{required:!!n.required,min:be(n.min),max:be(n.max),minLength:be(n.minLength),maxLength:be(n.maxLength),pattern:be(n.pattern)}:{},name:i,onChange:_e,onBlur:_e,ref:a(f=>{if(f){Te(i,n),u=d(s,i);let c=R(f.value)&&f.querySelectorAll&&f.querySelectorAll("input,select,textarea")[0]||f,_=er(c),x=u._f.refs||[];if(_?x.find($=>$===c):c===u._f.ref)return;E(s,i,{_f:{...u._f,..._?{refs:[...x.filter(qe),c,...Array.isArray(d(o,i))?[{}]:[]],ref:{type:c.type,name:i}}:{ref:c}}}),I(i,!1,void 0,c)}else u=d(s,i,{}),u._f&&(u._f.mount=!1),(r.shouldUnregister||n.shouldUnregister)&&!(pt(g.array,i)&&y.action)&&g.unMount.add(i)},"ref")}},"register"),it=a(()=>r.shouldFocusError&&me(s,he,g.mount),"_focusError"),$t=a(i=>{Q(i)&&(b.state.next({disabled:i}),me(s,(n,u)=>{let m=d(s,u);m&&(n.disabled=m._f.disabled||i,Array.isArray(m._f.refs)&&m._f.refs.forEach(f=>{f.disabled=m._f.disabled||i}))},0,!1))},"_disableForm"),at=a((i,n)=>async u=>{let m;u&&(u.preventDefault&&u.preventDefault(),u.persist&&u.persist());let f=M(l);if(g.disabled.size)for(let c of g.disabled)E(f,c,void 0);if(b.state.next({isSubmitting:!0}),r.resolver){let{errors:c,values:_}=await V();t.errors=c,f=_}else await B(s);if(L(t.errors,"root"),z(t.errors)){b.state.next({errors:{}});try{await i(f,u)}catch(c){m=c}}else n&&await n({...t.errors},u),it(),setTimeout(it);if(b.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:z(t.errors)&&!m,submitCount:t.submitCount+1,errors:t.errors}),m)throw m},"handleSubmit"),Wt=a((i,n={})=>{d(s,i)&&(R(n.defaultValue)?G(i,M(d(o,i))):(G(i,n.defaultValue),E(o,i,M(n.defaultValue))),n.keepTouched||L(t.touchedFields,i),n.keepDirty||(L(t.dirtyFields,i),t.isDirty=n.defaultValue?A(i,M(d(o,i))):A()),n.keepError||(L(t.errors,i),w.isValid&&H()),b.state.next({...t}))},"resetField"),nt=a((i,n={})=>{let u=i?M(i):o,m=M(u),f=z(i),c=f?o:m;if(n.keepDefaultValues||(o=u),!n.keepValues){if(n.keepDirtyValues){let _=new Set([...g.mount,...Object.keys(ve(o,l))]);for(let x of Array.from(_))d(t.dirtyFields,x)?E(c,x,d(l,x)):G(x,d(c,x))}else{if(Ge&&R(i))for(let _ of g.mount){let x=d(s,_);if(x&&x._f){let $=Array.isArray(x._f.refs)?x._f.refs[0]:x._f.ref;if(we($)){let W=$.closest("form");if(W){W.reset();break}}}}s={}}l=r.shouldUnregister?n.keepDefaultValues?M(o):{}:M(c),b.array.next({values:{...c}}),b.values.next({values:{...c}})}g={mount:n.keepDirtyValues?g.mount:new Set,unMount:new Set,array:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},y.mount=!w.isValid||!!n.keepIsValid||!!n.keepDirtyValues,y.watch=!!r.shouldUnregister,b.state.next({submitCount:n.keepSubmitCount?t.submitCount:0,isDirty:f?!1:n.keepDirty?t.isDirty:!!(n.keepDefaultValues&&!ue(i,o)),isSubmitted:n.keepIsSubmitted?t.isSubmitted:!1,dirtyFields:f?{}:n.keepDirtyValues?n.keepDefaultValues&&l?ve(o,l):t.dirtyFields:n.keepDefaultValues&&i?ve(o,i):n.keepDirty?t.dirtyFields:{},touchedFields:n.keepTouched?t.touchedFields:{},errors:n.keepErrors?t.errors:{},isSubmitSuccessful:n.keepIsSubmitSuccessful?t.isSubmitSuccessful:!1,isSubmitting:!1})},"_reset"),ot=a((i,n)=>nt(re(i)?i(l):i,n),"reset");return{control:{register:Te,unregister:Re,getFieldState:tt,handleSubmit:at,setError:rt,_executeSchema:V,_getWatch:D,_getDirty:A,_updateValid:H,_removeUnmounted:ce,_updateFieldArray:C,_updateDisabledField:st,_getFieldArray:N,_reset:nt,_resetDefaultValues:a(()=>re(r.defaultValues)&&r.defaultValues().then(i=>{ot(i,r.resetOptions),b.state.next({isLoading:!1})}),"_resetDefaultValues"),_updateFormState:a(i=>{t={...t,...i}},"_updateFormState"),_disableForm:$t,_subjects:b,_proxyFormState:w,_setErrors:Z,get _fields(){return s},get _formValues(){return l},get _state(){return y},set _state(i){y=i},get _defaultValues(){return o},get _names(){return g},set _names(i){g=i},get _formState(){return t},set _formState(i){t=i},get _options(){return r},set _options(i){r={...r,...i}}},trigger:Fe,register:Te,handleSubmit:at,watch:Bt,setValue:G,getValues:et,reset:ot,resetField:Wt,clearErrors:Ut,unregister:Re,setError:rt,setFocus:a((i,n={})=>{let u=d(s,i),m=u&&u._f;if(m){let f=m.refs?m.refs[0]:m.ref;f.focus&&(f.focus(),n.shouldSelect&&re(f.select)&&f.select())}},"setFocus"),getFieldState:tt}}a(or,"createFormControl");function gr(e={}){let r=v.useRef(void 0),t=v.useRef(void 0),[s,o]=v.useState({isDirty:!1,isValidating:!1,isLoading:re(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,defaultValues:re(e.defaultValues)?void 0:e.defaultValues});r.current||(r.current={...or(e),formState:s});let l=r.current.control;return l._options=e,Ee({subject:l._subjects.state,next:a(y=>{wt(y,l._proxyFormState,l._updateFormState,!0)&&o({...l._formState})},"next")}),v.useEffect(()=>l._disableForm(e.disabled),[l,e.disabled]),v.useEffect(()=>{if(l._proxyFormState.isDirty){let y=l._getDirty();y!==s.isDirty&&l._subjects.state.next({isDirty:y})}},[l,s.isDirty]),v.useEffect(()=>{e.values&&!ue(e.values,t.current)?(l._reset(e.values,l._options.resetOptions),t.current=e.values,o(y=>({...y}))):l._resetDefaultValues()},[e.values,l]),v.useEffect(()=>{e.errors&&l._setErrors(e.errors)},[e.errors,l]),v.useEffect(()=>{l._state.mount||(l._updateValid(),l._state.mount=!0),l._state.watch&&(l._state.watch=!1,l._subjects.state.next({...l._formState})),l._removeUnmounted()}),v.useEffect(()=>{e.shouldUnregister&&l._subjects.values.next({values:l._getWatch()})},[e.shouldUnregister,l]),r.current.formState=St(s,l),r.current}a(gr,"useForm");import{Slot as lr}from"@radix-ui/react-slot";import*as ie from"react";import{jsx as ne}from"react/jsx-runtime";var Sr=At,Nt=ie.createContext({}),wr=a(({...e})=>ne(Nt.Provider,{value:{name:e.name},children:ne(Et,{...e})}),"FormField"),ke=a(()=>{let e=ie.useContext(Nt),r=ie.useContext(Mt),{getFieldState:t}=ge(),s=Ye({name:e.name}),o=t(e.name,s);if(!e)throw new Error("useFormField should be used within <FormField>");let{id:l}=r;return{id:l,name:e.name,formItemId:`${l}-form-item`,formDescriptionId:`${l}-form-item-description`,formMessageId:`${l}-form-item-message`,...o}},"useFormField"),Mt=ie.createContext({});function Cr({className:e,...r}){let t=ie.useId();return ne(Mt.Provider,{value:{id:t},children:ne("div",{"data-slot":"form-item",...r,className:fe("grid gap-2",e)})})}a(Cr,"FormItem");function Dr({className:e,...r}){let{error:t,formItemId:s}=ke();return ne(dt,{"data-slot":"form-label","data-error":!!t,className:fe("text-base-color mb-1 data-[error=true]:text-destructive",e),htmlFor:s,...r})}a(Dr,"FormLabel");var ur=ie.forwardRef(({...e},r)=>{let{error:t,formItemId:s,formDescriptionId:o,formMessageId:l}=ke();return ne(lr,{"data-slot":"form-control",ref:r,id:s,"aria-describedby":t?`${o} ${l}`:`${o}`,"aria-invalid":!!t,...e})});ur.displayName="FormControl";function Er({className:e,children:r,as:t,...s}){let{formDescriptionId:o}=ke(),l=t||"p";return typeof r=="string"?ne(l,{"data-slot":"form-description",id:o,className:fe("text-base-color text-xs",e),dangerouslySetInnerHTML:{__html:ct(r)},"data-sanitized":"true",...s}):ne(l,{"data-slot":"form-description",id:o,"data-sanitized":"false",className:fe("text-base-color text-xs",e),...s,children:typeof r=="function"?r():r})}a(Er,"FormDescription");function kr({className:e,...r}){let{error:t,formMessageId:s}=ke(),o=t?String(t?.message??""):r.children;return o?ne("p",{"data-slot":"form-message",id:s,className:fe("text-destructive text-sm",e),...r,children:o}):null}a(kr,"FormMessage");export{d as a,E as b,ge as c,Qt as d,mr as e,gr as f,Sr as g,wr as h,Cr as i,Dr as j,ur as k,Er as l,kr as m};
2
- //# sourceMappingURL=chunk-66N57DKF.js.map
1
+ import{a as dt}from"./chunk-ILOKQ6OH.js";import{a as fe,e as ct}from"./chunk-UQCSN47K.js";import{a}from"./chunk-P37U34EQ.js";import v from"react";var Ve=a(e=>e.type==="checkbox","isCheckBoxInput"),de=a(e=>e instanceof Date,"isDateObject"),K=a(e=>e==null,"isNullOrUndefined"),vt=a(e=>typeof e=="object","isObjectType"),P=a(e=>!K(e)&&!Array.isArray(e)&&vt(e)&&!de(e),"isObject"),bt=a(e=>P(e)&&e.target?Ve(e.target)?e.target.checked:e.target.value:e,"getEventValue"),zt=a(e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,"getNodeParentName"),pt=a((e,r)=>e.has(zt(r)),"isNameInFieldArray"),Kt=a(e=>{let r=e.constructor&&e.constructor.prototype;return P(r)&&r.hasOwnProperty("isPrototypeOf")},"isPlainObject"),Ge=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function M(e){let r,t=Array.isArray(e),s=typeof FileList<"u"?e instanceof FileList:!1;if(e instanceof Date)r=new Date(e);else if(e instanceof Set)r=new Set(e);else if(!(Ge&&(e instanceof Blob||s))&&(t||P(e)))if(r=t?[]:{},!t&&!Kt(e))r=e;else for(let o in e)e.hasOwnProperty(o)&&(r[o]=M(e[o]));else return e;return r}a(M,"cloneObject");var xe=a(e=>Array.isArray(e)?e.filter(Boolean):[],"compact"),R=a(e=>e===void 0,"isUndefined"),d=a((e,r,t)=>{if(!r||!P(e))return t;let s=xe(r.split(/[,[\].]+?/)).reduce((o,l)=>K(o)?o:o[l],e);return R(s)||s===e?R(e[r])?t:e[r]:s},"get"),Q=a(e=>typeof e=="boolean","isBoolean"),Qe=a(e=>/^\w*$/.test(e),"isKey"),Vt=a(e=>xe(e.replace(/["|']|\]/g,"").split(/\.|\[/)),"stringToPath"),E=a((e,r,t)=>{let s=-1,o=Qe(r)?[r]:Vt(r),l=o.length,y=l-1;for(;++s<l;){let g=o[s],p=t;if(s!==y){let S=e[g];p=P(S)||Array.isArray(S)?S:isNaN(+o[s+1])?{}:[]}if(g==="__proto__"||g==="constructor"||g==="prototype")return;e[g]=p,e=e[g]}return e},"set"),Se={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change"},Y={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},ae={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},xt=v.createContext(null),ge=a(()=>v.useContext(xt),"useFormContext"),At=a(e=>{let{children:r,...t}=e;return v.createElement(xt.Provider,{value:t},r)},"FormProvider"),St=a((e,r,t,s=!0)=>{let o={defaultValues:r._defaultValues};for(let l in e)Object.defineProperty(o,l,{get:a(()=>{let y=l;return r._proxyFormState[y]!==Y.all&&(r._proxyFormState[y]=!s||Y.all),t&&(t[y]=!0),e[y]},"get")});return o},"getProxyFormState"),z=a(e=>P(e)&&!Object.keys(e).length,"isEmptyObject"),wt=a((e,r,t,s)=>{t(e);let{name:o,...l}=e;return z(l)||Object.keys(l).length>=Object.keys(r).length||Object.keys(l).find(y=>r[y]===(!s||Y.all))},"shouldRenderFormState"),J=a(e=>Array.isArray(e)?e:[e],"convertToArrayPayload"),Ct=a((e,r,t)=>!e||!r||e===r||J(e).some(s=>s&&(t?s===r:s.startsWith(r)||r.startsWith(s))),"shouldSubscribeByName");function Ee(e){let r=v.useRef(e);r.current=e,v.useEffect(()=>{let t=!e.disabled&&r.current.subject&&r.current.subject.subscribe({next:r.current.next});return()=>{t&&t.unsubscribe()}},[e.disabled])}a(Ee,"useSubscribe");function Ye(e){let r=ge(),{control:t=r.control,disabled:s,name:o,exact:l}=e||{},[y,g]=v.useState(t._formState),p=v.useRef(!0),S=v.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1}),w=v.useRef(o);return w.current=o,Ee({disabled:s,next:a(b=>p.current&&Ct(w.current,b.name,l)&&wt(b,S.current,t._updateFormState)&&g({...t._formState,...b}),"next"),subject:t._subjects.state}),v.useEffect(()=>(p.current=!0,S.current.isValid&&t._updateValid(!0),()=>{p.current=!1}),[t]),v.useMemo(()=>St(y,t,S.current,!1),[y,t])}a(Ye,"useFormState");var se=a(e=>typeof e=="string","isString"),Dt=a((e,r,t,s,o)=>se(e)?(s&&r.watch.add(e),d(t,e,o)):Array.isArray(e)?e.map(l=>(s&&r.watch.add(l),d(t,l))):(s&&(r.watchAll=!0),t),"generateWatchOutput");function Jt(e){let r=ge(),{control:t=r.control,name:s,defaultValue:o,disabled:l,exact:y}=e||{},g=v.useRef(s);g.current=s,Ee({disabled:l,subject:t._subjects.values,next:a(w=>{Ct(g.current,w.name,y)&&S(M(Dt(g.current,t._names,w.values||t._formValues,!1,o)))},"next")});let[p,S]=v.useState(t._getWatch(s,o));return v.useEffect(()=>t._removeUnmounted()),p}a(Jt,"useWatch");function Gt(e){let r=ge(),{name:t,disabled:s,control:o=r.control,shouldUnregister:l}=e,y=pt(o._names.array,t),g=Jt({control:o,name:t,defaultValue:d(o._formValues,t,d(o._defaultValues,t,e.defaultValue)),exact:!0}),p=Ye({control:o,name:t,exact:!0}),S=v.useRef(o.register(t,{...e.rules,value:g,...Q(e.disabled)?{disabled:e.disabled}:{}})),w=v.useMemo(()=>Object.defineProperties({},{invalid:{enumerable:!0,get:a(()=>!!d(p.errors,t),"get")},isDirty:{enumerable:!0,get:a(()=>!!d(p.dirtyFields,t),"get")},isTouched:{enumerable:!0,get:a(()=>!!d(p.touchedFields,t),"get")},isValidating:{enumerable:!0,get:a(()=>!!d(p.validatingFields,t),"get")},error:{enumerable:!0,get:a(()=>d(p.errors,t),"get")}}),[p,t]),b=v.useMemo(()=>({name:t,value:g,...Q(s)||p.disabled?{disabled:p.disabled||s}:{},onChange:a(O=>S.current.onChange({target:{value:bt(O),name:t},type:Se.CHANGE}),"onChange"),onBlur:a(()=>S.current.onBlur({target:{value:d(o._formValues,t),name:t},type:Se.BLUR}),"onBlur"),ref:a(O=>{let k=d(o._fields,t);k&&O&&(k._f.ref={focus:a(()=>O.focus(),"focus"),select:a(()=>O.select(),"select"),setCustomValidity:a(U=>O.setCustomValidity(U),"setCustomValidity"),reportValidity:a(()=>O.reportValidity(),"reportValidity")})},"ref")}),[t,o._formValues,s,p.disabled,g,o._fields]);return v.useEffect(()=>{let O=o._options.shouldUnregister||l,k=a((U,j)=>{let H=d(o._fields,U);H&&H._f&&(H._f.mount=j)},"updateMounted");if(k(t,!0),O){let U=M(d(o._options.defaultValues,t));E(o._defaultValues,t,U),R(d(o._formValues,t))&&E(o._formValues,t,U)}return!y&&o.register(t),()=>{(y?O&&!o._state.action:O)?o.unregister(t):k(t,!1)}},[t,o,y,l]),v.useEffect(()=>{o._updateDisabledField({disabled:s,fields:o._fields,name:t})},[s,t,o]),v.useMemo(()=>({field:b,formState:p,fieldState:w}),[b,p,w])}a(Gt,"useController");var Et=a(e=>e.render(Gt(e)),"Controller");var Qt=a((e,r,t,s,o)=>r?{...t[e],types:{...t[e]&&t[e].types?t[e].types:{},[s]:o||!0}}:{},"appendErrors"),le=a(()=>{let e=typeof performance>"u"?Date.now():performance.now()*1e3;return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,r=>{let t=(Math.random()*16+e)%16|0;return(r=="x"?t:t&3|8).toString(16)})},"generateId"),Oe=a((e,r,t={})=>t.shouldFocus||R(t.shouldFocus)?t.focusName||`${e}.${R(t.focusIndex)?r:t.focusIndex}.`:"","getFocusFieldName"),pe=a(e=>({isOnSubmit:!e||e===Y.onSubmit,isOnBlur:e===Y.onBlur,isOnChange:e===Y.onChange,isOnAll:e===Y.all,isOnTouch:e===Y.onTouched}),"getValidationModes"),ze=a((e,r,t)=>!t&&(r.watchAll||r.watch.has(e)||[...r.watch].some(s=>e.startsWith(s)&&/^\.\w+/.test(e.slice(s.length)))),"isWatched"),me=a((e,r,t,s)=>{for(let o of t||Object.keys(e)){let l=d(e,o);if(l){let{_f:y,...g}=l;if(y){if(y.refs&&y.refs[0]&&r(y.refs[0],o)&&!s)return!0;if(y.ref&&r(y.ref,y.name)&&!s)return!0;if(me(g,r))break}else if(P(g)&&me(g,r))break}}},"iterateFieldsByAction"),kt=a((e,r,t)=>{let s=J(d(e,t));return E(s,"root",r[t]),E(e,t,s),e},"updateFieldArrayRootError"),Xe=a(e=>e.type==="file","isFileInput"),re=a(e=>typeof e=="function","isFunction"),we=a(e=>{if(!Ge)return!1;let r=e?e.ownerDocument:0;return e instanceof(r&&r.defaultView?r.defaultView.HTMLElement:HTMLElement)},"isHTMLElement"),Ae=a(e=>se(e),"isMessage"),Ze=a(e=>e.type==="radio","isRadioInput"),Ce=a(e=>e instanceof RegExp,"isRegex"),ft={value:!1,isValid:!1},yt={value:!0,isValid:!0},Rt=a(e=>{if(Array.isArray(e)){if(e.length>1){let r=e.filter(t=>t&&t.checked&&!t.disabled).map(t=>t.value);return{value:r,isValid:!!r.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!R(e[0].attributes.value)?R(e[0].value)||e[0].value===""?yt:{value:e[0].value,isValid:!0}:yt:ft}return ft},"getCheckboxValue"),mt={isValid:!1,value:null},Tt=a(e=>Array.isArray(e)?e.reduce((r,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:r,mt):mt,"getRadioValue");function gt(e,r,t="validate"){if(Ae(e)||Array.isArray(e)&&e.every(Ae)||Q(e)&&!e)return{type:t,message:Ae(e)?e:"",ref:r}}a(gt,"getValidateError");var ye=a(e=>P(e)&&!Ce(e)?e:{value:e,message:""},"getValueAndMessage"),Ke=a(async(e,r,t,s,o,l)=>{let{ref:y,refs:g,required:p,maxLength:S,minLength:w,min:b,max:O,pattern:k,validate:U,name:j,valueAsNumber:H,mount:te}=e._f,C=d(t,j);if(!te||r.has(j))return{};let X=g?g[0]:y,Z=a(A=>{o&&X.reportValidity&&(X.setCustomValidity(Q(A)?"":A||""),X.reportValidity())},"setCustomValidity"),I={},h=Ze(y),F=Ve(y),V=h||F,T=(H||Xe(y))&&R(y.value)&&R(C)||we(y)&&y.value===""||C===""||Array.isArray(C)&&!C.length,B=Qt.bind(null,j,s,I),ce=a((A,D,N,q=ae.maxLength,ee=ae.minLength)=>{let G=A?D:N;I[j]={type:A?q:ee,message:G,ref:y,...B(A?q:ee,G)}},"getMinMaxMessage");if(l?!Array.isArray(C)||!C.length:p&&(!V&&(T||K(C))||Q(C)&&!C||F&&!Rt(g).isValid||h&&!Tt(g).isValid)){let{value:A,message:D}=Ae(p)?{value:!!p,message:p}:ye(p);if(A&&(I[j]={type:ae.required,message:D,ref:X,...B(ae.required,D)},!s))return Z(D),I}if(!T&&(!K(b)||!K(O))){let A,D,N=ye(O),q=ye(b);if(!K(C)&&!isNaN(C)){let ee=y.valueAsNumber||C&&+C;K(N.value)||(A=ee>N.value),K(q.value)||(D=ee<q.value)}else{let ee=y.valueAsDate||new Date(C),G=a(Fe=>new Date(new Date().toDateString()+" "+Fe),"convertTimeToDate"),_e=y.type=="time",he=y.type=="week";se(N.value)&&C&&(A=_e?G(C)>G(N.value):he?C>N.value:ee>new Date(N.value)),se(q.value)&&C&&(D=_e?G(C)<G(q.value):he?C<q.value:ee<new Date(q.value))}if((A||D)&&(ce(!!A,N.message,q.message,ae.max,ae.min),!s))return Z(I[j].message),I}if((S||w)&&!T&&(se(C)||l&&Array.isArray(C))){let A=ye(S),D=ye(w),N=!K(A.value)&&C.length>+A.value,q=!K(D.value)&&C.length<+D.value;if((N||q)&&(ce(N,A.message,D.message),!s))return Z(I[j].message),I}if(k&&!T&&se(C)){let{value:A,message:D}=ye(k);if(Ce(A)&&!C.match(A)&&(I[j]={type:ae.pattern,message:D,ref:y,...B(ae.pattern,D)},!s))return Z(D),I}if(U){if(re(U)){let A=await U(C,t),D=gt(A,X);if(D&&(I[j]={...D,...B(ae.validate,D.message)},!s))return Z(D.message),I}else if(P(U)){let A={};for(let D in U){if(!z(A)&&!s)break;let N=gt(await U[D](C,t),X,D);N&&(A={...N,...B(D,N.message)},Z(N.message),s&&(I[j]=A))}if(!z(A)&&(I[j]={ref:X,...A},!s))return I}}return Z(!0),I},"validateField"),Le=a((e,r)=>[...e,...J(r)],"appendAt"),Ne=a(e=>Array.isArray(e)?e.map(()=>{}):void 0,"fillEmptyArray");function Me(e,r,t){return[...e.slice(0,r),...J(t),...e.slice(r)]}a(Me,"insert");var Ue=a((e,r,t)=>Array.isArray(e)?(R(e[t])&&(e[t]=void 0),e.splice(t,0,e.splice(r,1)[0]),e):[],"moveArrayAt"),Be=a((e,r)=>[...J(r),...J(e)],"prependAt");function Yt(e,r){let t=0,s=[...e];for(let o of r)s.splice(o-t,1),t++;return xe(s).length?s:[]}a(Yt,"removeAtIndexes");var $e=a((e,r)=>R(r)?[]:Yt(e,J(r).sort((t,s)=>t-s)),"removeArrayAt"),We=a((e,r,t)=>{[e[r],e[t]]=[e[t],e[r]]},"swapArrayAt");function Xt(e,r){let t=r.slice(0,-1).length,s=0;for(;s<t;)e=R(e)?s++:e[r[s++]];return e}a(Xt,"baseGet");function Zt(e){for(let r in e)if(e.hasOwnProperty(r)&&!R(e[r]))return!1;return!0}a(Zt,"isEmptyArray");function L(e,r){let t=Array.isArray(r)?r:Qe(r)?[r]:Vt(r),s=t.length===1?e:Xt(e,t),o=t.length-1,l=t[o];return s&&delete s[l],o!==0&&(P(s)&&z(s)||Array.isArray(s)&&Zt(s))&&L(e,t.slice(0,-1)),e}a(L,"unset");var _t=a((e,r,t)=>(e[r]=t,e),"updateAt");function mr(e){let r=ge(),{control:t=r.control,name:s,keyName:o="id",shouldUnregister:l,rules:y}=e,[g,p]=v.useState(t._getFieldArray(s)),S=v.useRef(t._getFieldArray(s).map(le)),w=v.useRef(g),b=v.useRef(s),O=v.useRef(!1);b.current=s,w.current=g,t._names.array.add(s),y&&t.register(s,y),Ee({next:a(({values:h,name:F})=>{if(F===b.current||!F){let V=d(h,b.current);Array.isArray(V)&&(p(V),S.current=V.map(le))}},"next"),subject:t._subjects.array});let k=v.useCallback(h=>{O.current=!0,t._updateFieldArray(s,h)},[t,s]),U=a((h,F)=>{let V=J(M(h)),T=Le(t._getFieldArray(s),V);t._names.focus=Oe(s,T.length-1,F),S.current=Le(S.current,V.map(le)),k(T),p(T),t._updateFieldArray(s,T,Le,{argA:Ne(h)})},"append"),j=a((h,F)=>{let V=J(M(h)),T=Be(t._getFieldArray(s),V);t._names.focus=Oe(s,0,F),S.current=Be(S.current,V.map(le)),k(T),p(T),t._updateFieldArray(s,T,Be,{argA:Ne(h)})},"prepend"),H=a(h=>{let F=$e(t._getFieldArray(s),h);S.current=$e(S.current,h),k(F),p(F),!Array.isArray(d(t._fields,s))&&E(t._fields,s,void 0),t._updateFieldArray(s,F,$e,{argA:h})},"remove"),te=a((h,F,V)=>{let T=J(M(F)),B=Me(t._getFieldArray(s),h,T);t._names.focus=Oe(s,h,V),S.current=Me(S.current,h,T.map(le)),k(B),p(B),t._updateFieldArray(s,B,Me,{argA:h,argB:Ne(F)})},"insert$1"),C=a((h,F)=>{let V=t._getFieldArray(s);We(V,h,F),We(S.current,h,F),k(V),p(V),t._updateFieldArray(s,V,We,{argA:h,argB:F},!1)},"swap"),X=a((h,F)=>{let V=t._getFieldArray(s);Ue(V,h,F),Ue(S.current,h,F),k(V),p(V),t._updateFieldArray(s,V,Ue,{argA:h,argB:F},!1)},"move"),Z=a((h,F)=>{let V=M(F),T=_t(t._getFieldArray(s),h,V);S.current=[...T].map((B,ce)=>!B||ce===h?le():S.current[ce]),k(T),p([...T]),t._updateFieldArray(s,T,_t,{argA:h,argB:V},!0,!1)},"update"),I=a(h=>{let F=J(M(h));S.current=F.map(le),k([...F]),p([...F]),t._updateFieldArray(s,[...F],V=>V,{},!0,!1)},"replace");return v.useEffect(()=>{if(t._state.action=!1,ze(s,t._names)&&t._subjects.state.next({...t._formState}),O.current&&(!pe(t._options.mode).isOnSubmit||t._formState.isSubmitted))if(t._options.resolver)t._executeSchema([s]).then(h=>{let F=d(h.errors,s),V=d(t._formState.errors,s);(V?!F&&V.type||F&&(V.type!==F.type||V.message!==F.message):F&&F.type)&&(F?E(t._formState.errors,s,F):L(t._formState.errors,s),t._subjects.state.next({errors:t._formState.errors}))});else{let h=d(t._fields,s);h&&h._f&&!(pe(t._options.reValidateMode).isOnSubmit&&pe(t._options.mode).isOnSubmit)&&Ke(h,t._names.disabled,t._formValues,t._options.criteriaMode===Y.all,t._options.shouldUseNativeValidation,!0).then(F=>!z(F)&&t._subjects.state.next({errors:kt(t._formState.errors,F,s)}))}t._subjects.values.next({name:s,values:{...t._formValues}}),t._names.focus&&me(t._fields,(h,F)=>{if(t._names.focus&&F.startsWith(t._names.focus)&&h.focus)return h.focus(),1}),t._names.focus="",t._updateValid(),O.current=!1},[g,s,t]),v.useEffect(()=>(!d(t._formValues,s)&&t._updateFieldArray(s),()=>{(t._options.shouldUnregister||l)&&t.unregister(s)}),[s,t,o,l]),{swap:v.useCallback(C,[k,s,t]),move:v.useCallback(X,[k,s,t]),prepend:v.useCallback(j,[k,s,t]),append:v.useCallback(U,[k,s,t]),remove:v.useCallback(H,[k,s,t]),insert:v.useCallback(te,[k,s,t]),update:v.useCallback(Z,[k,s,t]),replace:v.useCallback(I,[k,s,t]),fields:v.useMemo(()=>g.map((h,F)=>({...h,[o]:S.current[F]||le()})),[g,o])}}a(mr,"useFieldArray");var je=a(()=>{let e=[];return{get observers(){return e},next:a(o=>{for(let l of e)l.next&&l.next(o)},"next"),subscribe:a(o=>(e.push(o),{unsubscribe:a(()=>{e=e.filter(l=>l!==o)},"unsubscribe")}),"subscribe"),unsubscribe:a(()=>{e=[]},"unsubscribe")}},"createSubject"),Je=a(e=>K(e)||!vt(e),"isPrimitive");function ue(e,r){if(Je(e)||Je(r))return e===r;if(de(e)&&de(r))return e.getTime()===r.getTime();let t=Object.keys(e),s=Object.keys(r);if(t.length!==s.length)return!1;for(let o of t){let l=e[o];if(!s.includes(o))return!1;if(o!=="ref"){let y=r[o];if(de(l)&&de(y)||P(l)&&P(y)||Array.isArray(l)&&Array.isArray(y)?!ue(l,y):l!==y)return!1}}return!0}a(ue,"deepEqual");var It=a(e=>e.type==="select-multiple","isMultipleSelect"),er=a(e=>Ze(e)||Ve(e),"isRadioOrCheckbox"),qe=a(e=>we(e)&&e.isConnected,"live"),Pt=a(e=>{for(let r in e)if(re(e[r]))return!0;return!1},"objectHasFunction");function De(e,r={}){let t=Array.isArray(e);if(P(e)||t)for(let s in e)Array.isArray(e[s])||P(e[s])&&!Pt(e[s])?(r[s]=Array.isArray(e[s])?[]:{},De(e[s],r[s])):K(e[s])||(r[s]=!0);return r}a(De,"markFieldsDirty");function Ot(e,r,t){let s=Array.isArray(e);if(P(e)||s)for(let o in e)Array.isArray(e[o])||P(e[o])&&!Pt(e[o])?R(r)||Je(t[o])?t[o]=Array.isArray(e[o])?De(e[o],[]):{...De(e[o])}:Ot(e[o],K(r)?{}:r[o],t[o]):t[o]=!ue(e[o],r[o]);return t}a(Ot,"getDirtyFieldsFromDefaultValues");var ve=a((e,r)=>Ot(e,r,De(r)),"getDirtyFields"),Lt=a((e,{valueAsNumber:r,valueAsDate:t,setValueAs:s})=>R(e)?e:r?e===""?NaN:e&&+e:t&&se(e)?new Date(e):s?s(e):e,"getFieldValueAs");function He(e){let r=e.ref;return Xe(r)?r.files:Ze(r)?Tt(e.refs).value:It(r)?[...r.selectedOptions].map(({value:t})=>t):Ve(r)?Rt(e.refs).value:Lt(R(r.value)?e.ref.value:r.value,e)}a(He,"getFieldValue");var tr=a((e,r,t,s)=>{let o={};for(let l of e){let y=d(r,l);y&&E(o,l,y._f)}return{criteriaMode:t,names:[...e],fields:o,shouldUseNativeValidation:s}},"getResolverOptions"),be=a(e=>R(e)?e:Ce(e)?e.source:P(e)?Ce(e.value)?e.value.source:e.value:e,"getRuleValue"),ht="AsyncFunction",rr=a(e=>!!e&&!!e.validate&&!!(re(e.validate)&&e.validate.constructor.name===ht||P(e.validate)&&Object.values(e.validate).find(r=>r.constructor.name===ht)),"hasPromiseValidation"),sr=a(e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),"hasValidation");function Ft(e,r,t){let s=d(e,t);if(s||Qe(t))return{error:s,name:t};let o=t.split(".");for(;o.length;){let l=o.join("."),y=d(r,l),g=d(e,l);if(y&&!Array.isArray(y)&&t!==l)return{name:t};if(g&&g.type)return{name:l,error:g};o.pop()}return{name:t}}a(Ft,"schemaErrorLookup");var ir=a((e,r,t,s,o)=>o.isOnAll?!1:!t&&o.isOnTouch?!(r||e):(t?s.isOnBlur:o.isOnBlur)?!e:(t?s.isOnChange:o.isOnChange)?e:!0,"skipValidation"),ar=a((e,r)=>!xe(d(e,r)).length&&L(e,r),"unsetEmptyArray"),nr={mode:Y.onSubmit,reValidateMode:Y.onChange,shouldFocusError:!0};function or(e={}){let r={...nr,...e},t={submitCount:0,isDirty:!1,isLoading:re(r.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:r.errors||{},disabled:r.disabled||!1},s={},o=P(r.defaultValues)||P(r.values)?M(r.defaultValues||r.values)||{}:{},l=r.shouldUnregister?{}:M(o),y={action:!1,mount:!1,watch:!1},g={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set},p,S=0,w={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},b={values:je(),array:je(),state:je()},O=pe(r.mode),k=pe(r.reValidateMode),U=r.criteriaMode===Y.all,j=a(i=>n=>{clearTimeout(S),S=setTimeout(i,n)},"debounce"),H=a(async i=>{if(!r.disabled&&(w.isValid||i)){let n=r.resolver?z((await V()).errors):await B(s,!0);n!==t.isValid&&b.state.next({isValid:n})}},"_updateValid"),te=a((i,n)=>{!r.disabled&&(w.isValidating||w.validatingFields)&&((i||Array.from(g.mount)).forEach(u=>{u&&(n?E(t.validatingFields,u,n):L(t.validatingFields,u))}),b.state.next({validatingFields:t.validatingFields,isValidating:!z(t.validatingFields)}))},"_updateIsValidating"),C=a((i,n=[],u,m,f=!0,c=!0)=>{if(m&&u&&!r.disabled){if(y.action=!0,c&&Array.isArray(d(s,i))){let _=u(d(s,i),m.argA,m.argB);f&&E(s,i,_)}if(c&&Array.isArray(d(t.errors,i))){let _=u(d(t.errors,i),m.argA,m.argB);f&&E(t.errors,i,_),ar(t.errors,i)}if(w.touchedFields&&c&&Array.isArray(d(t.touchedFields,i))){let _=u(d(t.touchedFields,i),m.argA,m.argB);f&&E(t.touchedFields,i,_)}w.dirtyFields&&(t.dirtyFields=ve(o,l)),b.state.next({name:i,isDirty:A(i,n),dirtyFields:t.dirtyFields,errors:t.errors,isValid:t.isValid})}else E(l,i,n)},"_updateFieldArray"),X=a((i,n)=>{E(t.errors,i,n),b.state.next({errors:t.errors})},"updateErrors"),Z=a(i=>{t.errors=i,b.state.next({errors:t.errors,isValid:!1})},"_setErrors"),I=a((i,n,u,m)=>{let f=d(s,i);if(f){let c=d(l,i,R(u)?d(o,i):u);R(c)||m&&m.defaultChecked||n?E(l,i,n?c:He(f._f)):q(i,c),y.mount&&H()}},"updateValidAndValue"),h=a((i,n,u,m,f)=>{let c=!1,_=!1,x={name:i};if(!r.disabled){let $=!!(d(s,i)&&d(s,i)._f&&d(s,i)._f.disabled);if(!u||m){w.isDirty&&(_=t.isDirty,t.isDirty=x.isDirty=A(),c=_!==x.isDirty);let W=$||ue(d(o,i),n);_=!!(!$&&d(t.dirtyFields,i)),W||$?L(t.dirtyFields,i):E(t.dirtyFields,i,!0),x.dirtyFields=t.dirtyFields,c=c||w.dirtyFields&&_!==!W}if(u){let W=d(t.touchedFields,i);W||(E(t.touchedFields,i,u),x.touchedFields=t.touchedFields,c=c||w.touchedFields&&W!==u)}c&&f&&b.state.next(x)}return c?x:{}},"updateTouchAndDirty"),F=a((i,n,u,m)=>{let f=d(t.errors,i),c=w.isValid&&Q(n)&&t.isValid!==n;if(r.delayError&&u?(p=j(()=>X(i,u)),p(r.delayError)):(clearTimeout(S),p=null,u?E(t.errors,i,u):L(t.errors,i)),(u?!ue(f,u):f)||!z(m)||c){let _={...m,...c&&Q(n)?{isValid:n}:{},errors:t.errors,name:i};t={...t,..._},b.state.next(_)}},"shouldRenderByError"),V=a(async i=>{te(i,!0);let n=await r.resolver(l,r.context,tr(i||g.mount,s,r.criteriaMode,r.shouldUseNativeValidation));return te(i),n},"_executeSchema"),T=a(async i=>{let{errors:n}=await V(i);if(i)for(let u of i){let m=d(n,u);m?E(t.errors,u,m):L(t.errors,u)}else t.errors=n;return n},"executeSchemaAndUpdateState"),B=a(async(i,n,u={valid:!0})=>{for(let m in i){let f=i[m];if(f){let{_f:c,..._}=f;if(c){let x=g.array.has(c.name),$=f._f&&rr(f._f);$&&w.validatingFields&&te([m],!0);let W=await Ke(f,g.disabled,l,U,r.shouldUseNativeValidation&&!n,x);if($&&w.validatingFields&&te([m]),W[c.name]&&(u.valid=!1,n))break;!n&&(d(W,c.name)?x?kt(t.errors,W,c.name):E(t.errors,c.name,W[c.name]):L(t.errors,c.name))}!z(_)&&await B(_,n,u)}}return u.valid},"executeBuiltInValidation"),ce=a(()=>{for(let i of g.unMount){let n=d(s,i);n&&(n._f.refs?n._f.refs.every(u=>!qe(u)):!qe(n._f.ref))&&Re(i)}g.unMount=new Set},"_removeUnmounted"),A=a((i,n)=>!r.disabled&&(i&&n&&E(l,i,n),!ue(et(),o)),"_getDirty"),D=a((i,n,u)=>Dt(i,g,{...y.mount?l:R(n)?o:se(i)?{[i]:n}:n},u,n),"_getWatch"),N=a(i=>xe(d(y.mount?l:o,i,r.shouldUnregister?d(o,i,[]):[])),"_getFieldArray"),q=a((i,n,u={})=>{let m=d(s,i),f=n;if(m){let c=m._f;c&&(!c.disabled&&E(l,i,Lt(n,c)),f=we(c.ref)&&K(n)?"":n,It(c.ref)?[...c.ref.options].forEach(_=>_.selected=f.includes(_.value)):c.refs?Ve(c.ref)?c.refs.length>1?c.refs.forEach(_=>(!_.defaultChecked||!_.disabled)&&(_.checked=Array.isArray(f)?!!f.find(x=>x===_.value):f===_.value)):c.refs[0]&&(c.refs[0].checked=!!f):c.refs.forEach(_=>_.checked=_.value===f):Xe(c.ref)?c.ref.value="":(c.ref.value=f,c.ref.type||b.values.next({name:i,values:{...l}})))}(u.shouldDirty||u.shouldTouch)&&h(i,f,u.shouldTouch,u.shouldDirty,!0),u.shouldValidate&&Fe(i)},"setFieldValue"),ee=a((i,n,u)=>{for(let m in n){let f=n[m],c=`${i}.${m}`,_=d(s,c);(g.array.has(i)||P(f)||_&&!_._f)&&!de(f)?ee(c,f,u):q(c,f,u)}},"setValues"),G=a((i,n,u={})=>{let m=d(s,i),f=g.array.has(i),c=M(n);E(l,i,c),f?(b.array.next({name:i,values:{...l}}),(w.isDirty||w.dirtyFields)&&u.shouldDirty&&b.state.next({name:i,dirtyFields:ve(o,l),isDirty:A(i,c)})):m&&!m._f&&!K(c)?ee(i,c,u):q(i,c,u),ze(i,g)&&b.state.next({...t}),b.values.next({name:y.mount?i:void 0,values:{...l}})},"setValue"),_e=a(async i=>{y.mount=!0;let n=i.target,u=n.name,m=!0,f=d(s,u),c=a(()=>n.type?He(f._f):bt(i),"getCurrentFieldValue"),_=a(x=>{m=Number.isNaN(x)||de(x)&&isNaN(x.getTime())||ue(x,d(l,u,x))},"_updateIsFieldValueUpdated");if(f){let x,$,W=c(),oe=i.type===Se.BLUR||i.type===Se.FOCUS_OUT,jt=!sr(f._f)&&!r.resolver&&!d(t.errors,u)&&!f._f.deps||ir(oe,d(t.touchedFields,u),t.isSubmitted,k,O),Ie=ze(u,g,oe);E(l,u,W),oe?(f._f.onBlur&&f._f.onBlur(i),p&&p(0)):f._f.onChange&&f._f.onChange(i);let Pe=h(u,W,oe,!1),qt=!z(Pe)||Ie;if(!oe&&b.values.next({name:u,type:i.type,values:{...l}}),jt)return w.isValid&&(r.mode==="onBlur"&&oe?H():oe||H()),qt&&b.state.next({name:u,...Ie?{}:Pe});if(!oe&&Ie&&b.state.next({...t}),r.resolver){let{errors:lt}=await V([u]);if(_(W),m){let Ht=Ft(t.errors,s,u),ut=Ft(lt,s,Ht.name||u);x=ut.error,u=ut.name,$=z(lt)}}else te([u],!0),x=(await Ke(f,g.disabled,l,U,r.shouldUseNativeValidation))[u],te([u]),_(W),m&&(x?$=!1:w.isValid&&($=await B(s,!0)));m&&(f._f.deps&&Fe(f._f.deps),F(u,$,x,Pe))}},"onChange"),he=a((i,n)=>{if(d(t.errors,n)&&i.focus)return i.focus(),1},"_focusInput"),Fe=a(async(i,n={})=>{let u,m,f=J(i);if(r.resolver){let c=await T(R(i)?i:f);u=z(c),m=i?!f.some(_=>d(c,_)):u}else i?(m=(await Promise.all(f.map(async c=>{let _=d(s,c);return await B(_&&_._f?{[c]:_}:_)}))).every(Boolean),!(!m&&!t.isValid)&&H()):m=u=await B(s);return b.state.next({...!se(i)||w.isValid&&u!==t.isValid?{}:{name:i},...r.resolver||!i?{isValid:u}:{},errors:t.errors}),n.shouldFocus&&!m&&me(s,he,i?f:g.mount),m},"trigger"),et=a(i=>{let n={...y.mount?l:o};return R(i)?n:se(i)?d(n,i):i.map(u=>d(n,u))},"getValues"),tt=a((i,n)=>({invalid:!!d((n||t).errors,i),isDirty:!!d((n||t).dirtyFields,i),error:d((n||t).errors,i),isValidating:!!d(t.validatingFields,i),isTouched:!!d((n||t).touchedFields,i)}),"getFieldState"),Ut=a(i=>{i&&J(i).forEach(n=>L(t.errors,n)),b.state.next({errors:i?t.errors:{}})},"clearErrors"),rt=a((i,n,u)=>{let m=(d(s,i,{_f:{}})._f||{}).ref,f=d(t.errors,i)||{},{ref:c,message:_,type:x,...$}=f;E(t.errors,i,{...$,...n,ref:m}),b.state.next({name:i,errors:t.errors,isValid:!1}),u&&u.shouldFocus&&m&&m.focus&&m.focus()},"setError"),Bt=a((i,n)=>re(i)?b.values.subscribe({next:a(u=>i(D(void 0,n),u),"next")}):D(i,n,!0),"watch"),Re=a((i,n={})=>{for(let u of i?J(i):g.mount)g.mount.delete(u),g.array.delete(u),n.keepValue||(L(s,u),L(l,u)),!n.keepError&&L(t.errors,u),!n.keepDirty&&L(t.dirtyFields,u),!n.keepTouched&&L(t.touchedFields,u),!n.keepIsValidating&&L(t.validatingFields,u),!r.shouldUnregister&&!n.keepDefaultValue&&L(o,u);b.values.next({values:{...l}}),b.state.next({...t,...n.keepDirty?{isDirty:A()}:{}}),!n.keepIsValid&&H()},"unregister"),st=a(({disabled:i,name:n,field:u,fields:m})=>{(Q(i)&&y.mount||i||g.disabled.has(n))&&(i?g.disabled.add(n):g.disabled.delete(n),h(n,He(u?u._f:d(m,n)._f),!1,!1,!0))},"_updateDisabledField"),Te=a((i,n={})=>{let u=d(s,i),m=Q(n.disabled)||Q(r.disabled);return E(s,i,{...u||{},_f:{...u&&u._f?u._f:{ref:{name:i}},name:i,mount:!0,...n}}),g.mount.add(i),u?st({field:u,disabled:Q(n.disabled)?n.disabled:r.disabled,name:i}):I(i,!0,n.value),{...m?{disabled:n.disabled||r.disabled}:{},...r.progressive?{required:!!n.required,min:be(n.min),max:be(n.max),minLength:be(n.minLength),maxLength:be(n.maxLength),pattern:be(n.pattern)}:{},name:i,onChange:_e,onBlur:_e,ref:a(f=>{if(f){Te(i,n),u=d(s,i);let c=R(f.value)&&f.querySelectorAll&&f.querySelectorAll("input,select,textarea")[0]||f,_=er(c),x=u._f.refs||[];if(_?x.find($=>$===c):c===u._f.ref)return;E(s,i,{_f:{...u._f,..._?{refs:[...x.filter(qe),c,...Array.isArray(d(o,i))?[{}]:[]],ref:{type:c.type,name:i}}:{ref:c}}}),I(i,!1,void 0,c)}else u=d(s,i,{}),u._f&&(u._f.mount=!1),(r.shouldUnregister||n.shouldUnregister)&&!(pt(g.array,i)&&y.action)&&g.unMount.add(i)},"ref")}},"register"),it=a(()=>r.shouldFocusError&&me(s,he,g.mount),"_focusError"),$t=a(i=>{Q(i)&&(b.state.next({disabled:i}),me(s,(n,u)=>{let m=d(s,u);m&&(n.disabled=m._f.disabled||i,Array.isArray(m._f.refs)&&m._f.refs.forEach(f=>{f.disabled=m._f.disabled||i}))},0,!1))},"_disableForm"),at=a((i,n)=>async u=>{let m;u&&(u.preventDefault&&u.preventDefault(),u.persist&&u.persist());let f=M(l);if(g.disabled.size)for(let c of g.disabled)E(f,c,void 0);if(b.state.next({isSubmitting:!0}),r.resolver){let{errors:c,values:_}=await V();t.errors=c,f=_}else await B(s);if(L(t.errors,"root"),z(t.errors)){b.state.next({errors:{}});try{await i(f,u)}catch(c){m=c}}else n&&await n({...t.errors},u),it(),setTimeout(it);if(b.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:z(t.errors)&&!m,submitCount:t.submitCount+1,errors:t.errors}),m)throw m},"handleSubmit"),Wt=a((i,n={})=>{d(s,i)&&(R(n.defaultValue)?G(i,M(d(o,i))):(G(i,n.defaultValue),E(o,i,M(n.defaultValue))),n.keepTouched||L(t.touchedFields,i),n.keepDirty||(L(t.dirtyFields,i),t.isDirty=n.defaultValue?A(i,M(d(o,i))):A()),n.keepError||(L(t.errors,i),w.isValid&&H()),b.state.next({...t}))},"resetField"),nt=a((i,n={})=>{let u=i?M(i):o,m=M(u),f=z(i),c=f?o:m;if(n.keepDefaultValues||(o=u),!n.keepValues){if(n.keepDirtyValues){let _=new Set([...g.mount,...Object.keys(ve(o,l))]);for(let x of Array.from(_))d(t.dirtyFields,x)?E(c,x,d(l,x)):G(x,d(c,x))}else{if(Ge&&R(i))for(let _ of g.mount){let x=d(s,_);if(x&&x._f){let $=Array.isArray(x._f.refs)?x._f.refs[0]:x._f.ref;if(we($)){let W=$.closest("form");if(W){W.reset();break}}}}s={}}l=r.shouldUnregister?n.keepDefaultValues?M(o):{}:M(c),b.array.next({values:{...c}}),b.values.next({values:{...c}})}g={mount:n.keepDirtyValues?g.mount:new Set,unMount:new Set,array:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},y.mount=!w.isValid||!!n.keepIsValid||!!n.keepDirtyValues,y.watch=!!r.shouldUnregister,b.state.next({submitCount:n.keepSubmitCount?t.submitCount:0,isDirty:f?!1:n.keepDirty?t.isDirty:!!(n.keepDefaultValues&&!ue(i,o)),isSubmitted:n.keepIsSubmitted?t.isSubmitted:!1,dirtyFields:f?{}:n.keepDirtyValues?n.keepDefaultValues&&l?ve(o,l):t.dirtyFields:n.keepDefaultValues&&i?ve(o,i):n.keepDirty?t.dirtyFields:{},touchedFields:n.keepTouched?t.touchedFields:{},errors:n.keepErrors?t.errors:{},isSubmitSuccessful:n.keepIsSubmitSuccessful?t.isSubmitSuccessful:!1,isSubmitting:!1})},"_reset"),ot=a((i,n)=>nt(re(i)?i(l):i,n),"reset");return{control:{register:Te,unregister:Re,getFieldState:tt,handleSubmit:at,setError:rt,_executeSchema:V,_getWatch:D,_getDirty:A,_updateValid:H,_removeUnmounted:ce,_updateFieldArray:C,_updateDisabledField:st,_getFieldArray:N,_reset:nt,_resetDefaultValues:a(()=>re(r.defaultValues)&&r.defaultValues().then(i=>{ot(i,r.resetOptions),b.state.next({isLoading:!1})}),"_resetDefaultValues"),_updateFormState:a(i=>{t={...t,...i}},"_updateFormState"),_disableForm:$t,_subjects:b,_proxyFormState:w,_setErrors:Z,get _fields(){return s},get _formValues(){return l},get _state(){return y},set _state(i){y=i},get _defaultValues(){return o},get _names(){return g},set _names(i){g=i},get _formState(){return t},set _formState(i){t=i},get _options(){return r},set _options(i){r={...r,...i}}},trigger:Fe,register:Te,handleSubmit:at,watch:Bt,setValue:G,getValues:et,reset:ot,resetField:Wt,clearErrors:Ut,unregister:Re,setError:rt,setFocus:a((i,n={})=>{let u=d(s,i),m=u&&u._f;if(m){let f=m.refs?m.refs[0]:m.ref;f.focus&&(f.focus(),n.shouldSelect&&re(f.select)&&f.select())}},"setFocus"),getFieldState:tt}}a(or,"createFormControl");function gr(e={}){let r=v.useRef(void 0),t=v.useRef(void 0),[s,o]=v.useState({isDirty:!1,isValidating:!1,isLoading:re(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,defaultValues:re(e.defaultValues)?void 0:e.defaultValues});r.current||(r.current={...or(e),formState:s});let l=r.current.control;return l._options=e,Ee({subject:l._subjects.state,next:a(y=>{wt(y,l._proxyFormState,l._updateFormState,!0)&&o({...l._formState})},"next")}),v.useEffect(()=>l._disableForm(e.disabled),[l,e.disabled]),v.useEffect(()=>{if(l._proxyFormState.isDirty){let y=l._getDirty();y!==s.isDirty&&l._subjects.state.next({isDirty:y})}},[l,s.isDirty]),v.useEffect(()=>{e.values&&!ue(e.values,t.current)?(l._reset(e.values,l._options.resetOptions),t.current=e.values,o(y=>({...y}))):l._resetDefaultValues()},[e.values,l]),v.useEffect(()=>{e.errors&&l._setErrors(e.errors)},[e.errors,l]),v.useEffect(()=>{l._state.mount||(l._updateValid(),l._state.mount=!0),l._state.watch&&(l._state.watch=!1,l._subjects.state.next({...l._formState})),l._removeUnmounted()}),v.useEffect(()=>{e.shouldUnregister&&l._subjects.values.next({values:l._getWatch()})},[e.shouldUnregister,l]),r.current.formState=St(s,l),r.current}a(gr,"useForm");import{Slot as lr}from"@radix-ui/react-slot";import*as ie from"react";import{jsx as ne}from"react/jsx-runtime";var Sr=At,Nt=ie.createContext({}),wr=a(({...e})=>ne(Nt.Provider,{value:{name:e.name},children:ne(Et,{...e})}),"FormField"),ke=a(()=>{let e=ie.useContext(Nt),r=ie.useContext(Mt),{getFieldState:t}=ge(),s=Ye({name:e.name}),o=t(e.name,s);if(!e)throw new Error("useFormField should be used within <FormField>");let{id:l}=r;return{id:l,name:e.name,formItemId:`${l}-form-item`,formDescriptionId:`${l}-form-item-description`,formMessageId:`${l}-form-item-message`,...o}},"useFormField"),Mt=ie.createContext({});function Cr({className:e,...r}){let t=ie.useId();return ne(Mt.Provider,{value:{id:t},children:ne("div",{"data-slot":"form-item",...r,className:fe("grid gap-2",e)})})}a(Cr,"FormItem");function Dr({className:e,...r}){let{error:t,formItemId:s}=ke();return ne(dt,{"data-slot":"form-label","data-error":!!t,className:fe("text-base-color mb-1 data-[error=true]:text-destructive",e),htmlFor:s,...r})}a(Dr,"FormLabel");var ur=ie.forwardRef(({...e},r)=>{let{error:t,formItemId:s,formDescriptionId:o,formMessageId:l}=ke();return ne(lr,{"data-slot":"form-control",ref:r,id:s,"aria-describedby":t?`${o} ${l}`:`${o}`,"aria-invalid":!!t,...e})});ur.displayName="FormControl";function Er({className:e,children:r,as:t,...s}){let{formDescriptionId:o}=ke(),l=t||"p";return typeof r=="string"?ne(l,{"data-slot":"form-description",id:o,className:fe("text-base-color text-xs",e),dangerouslySetInnerHTML:{__html:ct(r)},"data-sanitized":"true",...s}):ne(l,{"data-slot":"form-description",id:o,"data-sanitized":"false",className:fe("text-base-color text-xs",e),...s,children:typeof r=="function"?r():r})}a(Er,"FormDescription");function kr({className:e,...r}){let{error:t,formMessageId:s}=ke(),o=t?String(t?.message??""):r.children;return o?ne("p",{"data-slot":"form-message",id:s,className:fe("text-destructive text-sm",e),...r,children:o}):null}a(kr,"FormMessage");export{d as a,E as b,ge as c,Qt as d,mr as e,gr as f,Sr as g,wr as h,Cr as i,Dr as j,ur as k,Er as l,kr as m};
2
+ //# sourceMappingURL=chunk-CR7AIZKA.js.map
@@ -0,0 +1,2 @@
1
+ import{l as J}from"./chunk-W4KHMUDZ.js";import{a as L}from"./chunk-ZFKHCC4Z.js";import{a as U}from"./chunk-NFWNYW2E.js";import{b as H}from"./chunk-KQPDXXG3.js";import{c as B,l as G}from"./chunk-CR7AIZKA.js";import{a as A,b as w,c as M}from"./chunk-HRG5MSVG.js";import{a as n,b as l,c as Fe}from"./chunk-P37U34EQ.js";var D=l((Rn,V)=>{"use strict";function Pe(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}n(Pe,"isObject");V.exports=Pe});var z=l((qn,X)=>{"use strict";var ke=typeof global=="object"&&global&&global.Object===Object&&global;X.exports=ke});var _=l((Fn,K)=>{"use strict";var we=z(),Me=typeof self=="object"&&self&&self.Object===Object&&self,Le=we||Me||Function("return this")();K.exports=Le});var Y=l((Pn,Q)=>{"use strict";var De=_(),_e=n(function(){return De.Date.now()},"now");Q.exports=_e});var ee=l((wn,Z)=>{"use strict";var $e=/\s/;function Ne(e){for(var t=e.length;t--&&$e.test(e.charAt(t)););return t}n(Ne,"trimmedEndIndex");Z.exports=Ne});var te=l((Ln,ne)=>{"use strict";var We=ee(),Be=/^\s+/;function Ae(e){return e&&e.slice(0,We(e)+1).replace(Be,"")}n(Ae,"baseTrim");ne.exports=Ae});var $=l((_n,re)=>{"use strict";var He=_(),Ge=He.Symbol;re.exports=Ge});var ae=l(($n,se)=>{"use strict";var oe=$(),ie=Object.prototype,Je=ie.hasOwnProperty,Ue=ie.toString,O=oe?oe.toStringTag:void 0;function Ve(e){var t=Je.call(e,O),r=e[O];try{e[O]=void 0;var i=!0}catch{}var c=Ue.call(e);return i&&(t?e[O]=r:delete e[O]),c}n(Ve,"getRawTag");se.exports=Ve});var ue=l((Wn,ce)=>{"use strict";var Xe=Object.prototype,ze=Xe.toString;function Ke(e){return ze.call(e)}n(Ke,"objectToString");ce.exports=Ke});var me=l((An,de)=>{"use strict";var fe=$(),Qe=ae(),Ye=ue(),Ze="[object Null]",en="[object Undefined]",le=fe?fe.toStringTag:void 0;function nn(e){return e==null?e===void 0?en:Ze:le&&le in Object(e)?Qe(e):Ye(e)}n(nn,"baseGetTag");de.exports=nn});var ge=l((Gn,pe)=>{"use strict";function tn(e){return e!=null&&typeof e=="object"}n(tn,"isObjectLike");pe.exports=tn});var ve=l((Un,be)=>{"use strict";var rn=me(),on=ge(),sn="[object Symbol]";function an(e){return typeof e=="symbol"||on(e)&&rn(e)==sn}n(an,"isSymbol");be.exports=an});var Te=l((Xn,Ce)=>{"use strict";var cn=te(),ye=D(),un=ve(),xe=NaN,fn=/^[-+]0x[0-9a-f]+$/i,ln=/^0b[01]+$/i,dn=/^0o[0-7]+$/i,mn=parseInt;function pn(e){if(typeof e=="number")return e;if(un(e))return xe;if(ye(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=ye(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=cn(e);var r=ln.test(e);return r||dn.test(e)?mn(e.slice(2),r?2:8):fn.test(e)?xe:+e}n(pn,"toNumber");Ce.exports=pn});var je=l((Kn,Se)=>{"use strict";var gn=D(),N=Y(),he=Te(),bn="Expected a function",vn=Math.max,yn=Math.min;function xn(e,t,r){var i,c,b,d,u,s,p=0,E=!1,f=!1,x=!0;if(typeof e!="function")throw new TypeError(bn);t=he(t)||0,gn(r)&&(E=!!r.leading,f="maxWait"in r,b=f?vn(he(r.maxWait)||0,t):b,x="trailing"in r?!!r.trailing:x);function C(o){var g=i,y=c;return i=c=void 0,p=o,d=e.apply(y,g),d}n(C,"invokeFunc");function R(o){return p=o,u=setTimeout(m,t),E?C(o):d}n(R,"leadingEdge");function q(o){var g=o-s,y=o-p,a=t-g;return f?yn(a,b-y):a}n(q,"remainingWait");function h(o){var g=o-s,y=o-p;return s===void 0||g>=t||g<0||f&&y>=b}n(h,"shouldInvoke");function m(){var o=N();if(h(o))return S(o);u=setTimeout(m,q(o))}n(m,"timerExpired");function S(o){return u=void 0,x&&i?C(o):(i=c=void 0,d)}n(S,"trailingEdge");function I(){u!==void 0&&clearTimeout(u),p=0,i=s=c=u=void 0}n(I,"cancel");function F(){return u===void 0?d:S(N())}n(F,"flush");function j(){var o=N(),g=h(o);if(i=arguments,c=this,s=o,g){if(u===void 0)return R(s);if(f)return clearTimeout(u),u=setTimeout(m,t),C(s)}return u===void 0&&(u=setTimeout(m,t)),d}return n(j,"debounced"),j.cancel=I,j.flush=F,j}n(xn,"debounce");Se.exports=xn});import{useState as hn,useCallback as Sn,useEffect as Re,useRef as jn}from"react";var Ee=Fe(je(),1);import{useCallback as Cn,useEffect as Tn,useRef as Oe}from"react";function W(e,t){let r=Oe(e);Tn(()=>{r.current=e},[e]);let i=Oe((0,Ee.default)(c=>{r.current(c)},t)).current;return Cn(c=>{i(c)},[i])}n(W,"useDebounce");import{Fragment as En,jsx as T,jsxs as Ie}from"react/jsx-runtime";var On=n(({description:e,showConversion:t,targetCurrency:r,className:i,onClick:c})=>{let{components:b}=H(),d=t?`Hide ${r} conversion`:`Show ${r} conversion`,u=b?.button||U;return Ie("span",{className:i,children:[T(G,{as:"span",children:e})," ",T(u,{className:`${i.replace("-description","-button")}`,"data-type":"inline",onClick:c,children:d})]})},"DescriptionWithConversion"),lt=n(({sourceCurrency:e,targetCurrency:t,mainFieldName:r,conversionFieldName:i,conversionProperties:c,classNamePrefix:b,description:d,conversionType:u="spread",...s})=>{let[p,E]=hn(!1),{setValue:f,watch:x}=B(),C=x(r||s.name),R=jn(!0),q=e&&t&&e!==t,{mutateAsync:h}=J({type:u}),m=`${s.name}_converted`;Re(()=>{f(m,r||s.name)},[f,r,s.name,m]),Re(()=>{if(R.current){R.current=!1;return}f(i,"")},[e,i,f]);let S=Sn(async(a,v,P)=>{if(!(!a||isNaN(a)||a<=0))return h({source_currency:v,target_currency:P,amount:a})},[h]),I=W(async a=>{let v=w(a),k=1/((await S(v,t,e))?.data?.data.conversion_data?.exchange_rate??1),qe=A(Number(v)*k);f(i,M(qe))},500),F=W(async a=>{let v=w(a),k=(await S(v,t,e))?.data?.data.conversion_data.target_amount;f(r||s.name,M(k))},500),j=n(a=>{f(m,r||s.name),p&&I(a.target.value)},"handleMainFieldChange"),o=n(a=>{f(m,i),F(a.target.value)},"handleConversionFieldChange"),g=n(a=>{a.preventDefault(),E(v=>!v),!p&&C&&I(C)},"toggleConversion"),y=q?T(On,{targetCurrency:t,description:d,showConversion:p,className:`${b}-description`,onClick:g}):d;return Ie(En,{children:[T(L,{...s,name:r||s.name,additionalProps:{currency:e},description:y,type:"text",inputMode:"decimal",pattern:"^[0-9.]*$",maxLength:15,onChange:j}),p&&T(L,{additionalProps:{currency:t},name:i,label:c?.label||"Conversion",description:c?.description,type:"text",inputMode:"decimal",pattern:"^[0-9.]*$",maxLength:15,onChange:o}),T("input",{type:"hidden",name:m,value:x(m)||r||s.name})]})},"CurrencyConversionField");export{lt as a};
2
+ //# sourceMappingURL=chunk-CWAUKF77.js.map