@remoteoss/remote-flows 1.19.0 → 1.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (325) hide show
  1. package/dist/ButtonDefault-2YV2Z474.js +2 -0
  2. package/dist/{CountryFieldDefault-X7772U44.js → CountryFieldDefault-IBVQJVMW.js} +2 -2
  3. package/dist/DatePickerFieldDefault-5LEOVIM2.js +2 -0
  4. package/dist/FieldsetToggleButtonDefault-MFLN2WWT.js +2 -0
  5. package/dist/FileUploadFieldDefault-Y2ZYBSTV.js +2 -0
  6. package/dist/MultiSelectFieldDefault-UK7652MS.js +2 -0
  7. package/dist/{WorkScheduleFieldDefault-FPXVZLXP.js → WorkScheduleFieldDefault-SR3G37MN.js} +2 -2
  8. package/dist/{chunk-U4H65USG.js → chunk-24FMEFH5.js} +2 -2
  9. package/dist/{chunk-PP25XZSV.js → chunk-2V7SP7UR.js} +2 -2
  10. package/dist/{chunk-ZWIH53GL.js → chunk-3C6N7DK6.js} +2 -2
  11. package/dist/{chunk-FUGPVPYX.js → chunk-3NESYBEJ.js} +2 -2
  12. package/dist/{chunk-N7CS4LVY.js → chunk-3OJVYYPZ.js} +2 -2
  13. package/dist/chunk-42R2H2DW.js +2 -0
  14. package/dist/chunk-4OJ4TAXO.js +2 -0
  15. package/dist/chunk-4OJ4TAXO.js.map +1 -0
  16. package/dist/{chunk-YMNB6DO2.js → chunk-5OHSFPY6.js} +2 -2
  17. package/dist/{chunk-EFLRT7G5.js → chunk-5YRQBCHM.js} +2 -2
  18. package/dist/chunk-6JTHV4QS.js +2 -0
  19. package/dist/chunk-6JTHV4QS.js.map +1 -0
  20. package/dist/{chunk-QH57S4OP.js → chunk-7EUMRKH4.js} +2 -2
  21. package/dist/{chunk-2QGJBYQP.js → chunk-7FBVVWZL.js} +2 -2
  22. package/dist/chunk-AHRG5QCS.js +2 -0
  23. package/dist/chunk-AHRG5QCS.js.map +1 -0
  24. package/dist/{chunk-WUOSCFTG.js → chunk-ATVQXA4X.js} +2 -2
  25. package/dist/chunk-AYC6DTFV.js +2 -0
  26. package/dist/chunk-AYC6DTFV.js.map +1 -0
  27. package/dist/{chunk-EKR5ME7C.js → chunk-BIP2WGMA.js} +2 -2
  28. package/dist/{chunk-WH4AY6UO.js → chunk-BLGKOMH3.js} +2 -2
  29. package/dist/{chunk-RQJYOWP4.js → chunk-BNHZ4W7L.js} +2 -2
  30. package/dist/{chunk-QYWF2RMX.js → chunk-BTS5Q6UZ.js} +2 -2
  31. package/dist/{chunk-BAGPUVVO.js → chunk-BUOCIXUH.js} +2 -2
  32. package/dist/{chunk-SS2FAFUZ.js → chunk-BYDQHL6O.js} +2 -2
  33. package/dist/{chunk-3DKYJYLD.js → chunk-DPRCPBRB.js} +2 -2
  34. package/dist/chunk-DPVXSN7T.js +2 -0
  35. package/dist/chunk-DPVXSN7T.js.map +1 -0
  36. package/dist/{chunk-P7P5KATB.js → chunk-DUEZWXBY.js} +2 -2
  37. package/dist/chunk-EFRT6C7V.js +2 -0
  38. package/dist/chunk-EFRT6C7V.js.map +1 -0
  39. package/dist/{chunk-3W3VKY2J.js → chunk-EMP4ZIVB.js} +2 -2
  40. package/dist/chunk-ENW77KKX.js +2 -0
  41. package/dist/chunk-ENW77KKX.js.map +1 -0
  42. package/dist/{chunk-QEEZZSOQ.js → chunk-FYSLOFAJ.js} +2 -2
  43. package/dist/{chunk-FVBPHUV6.js → chunk-I5FVESDZ.js} +2 -2
  44. package/dist/{chunk-NEKE5PRJ.js → chunk-IF42CZJH.js} +2 -2
  45. package/dist/{chunk-VYINI3DD.js → chunk-IVXIAOMR.js} +2 -2
  46. package/dist/chunk-IYCOIHYW.js +2 -0
  47. package/dist/chunk-IYCOIHYW.js.map +1 -0
  48. package/dist/{chunk-W4RON3XZ.js → chunk-JFJIYAMB.js} +2 -2
  49. package/dist/chunk-JIW2JK7J.js +2 -0
  50. package/dist/chunk-JIW2JK7J.js.map +1 -0
  51. package/dist/{chunk-R7R6D7D4.js → chunk-JTPKAIYL.js} +2 -2
  52. package/dist/{chunk-D3EB2FG3.js → chunk-JZM3TDK2.js} +2 -2
  53. package/dist/{chunk-4QNOC3FL.js → chunk-KANAWPXZ.js} +2 -2
  54. package/dist/{chunk-U32PNP6D.js → chunk-LSW66EIR.js} +2 -2
  55. package/dist/{chunk-UKTMSVMG.js → chunk-M7KQPXCS.js} +2 -2
  56. package/dist/{chunk-FDEJ4CIO.js → chunk-MGY23P25.js} +2 -2
  57. package/dist/chunk-MP3VDCI7.js +2 -0
  58. package/dist/chunk-MP3VDCI7.js.map +1 -0
  59. package/dist/{chunk-FY5OFJRY.js → chunk-MVQOMW7S.js} +2 -2
  60. package/dist/{chunk-E2ONHNZD.js → chunk-MXSKCQOT.js} +2 -2
  61. package/dist/{chunk-IGLKMXWJ.js → chunk-NAMR4DA5.js} +2 -2
  62. package/dist/chunk-PGVYRAFJ.js +2 -0
  63. package/dist/chunk-PGVYRAFJ.js.map +1 -0
  64. package/dist/chunk-PX5PE6GX.js +2 -0
  65. package/dist/chunk-PX5PE6GX.js.map +1 -0
  66. package/dist/{chunk-RZQIAOMZ.js → chunk-Q72MEHVY.js} +2 -2
  67. package/dist/chunk-ROQYHTFQ.js +2 -0
  68. package/dist/chunk-ROQYHTFQ.js.map +1 -0
  69. package/dist/{chunk-2HBSVDEH.js → chunk-T5JT2ZU2.js} +2 -2
  70. package/dist/{chunk-7RP5F62S.js → chunk-VPSESR6G.js} +2 -2
  71. package/dist/{chunk-7FHNJWIY.js → chunk-VXMLYWZ2.js} +2 -2
  72. package/dist/{chunk-ONXEJSDK.js → chunk-VZV7ZSZ5.js} +2 -2
  73. package/dist/{chunk-GCMEX4I6.js → chunk-WOWIJ56S.js} +2 -2
  74. package/dist/{chunk-IYQDAHMG.js → chunk-WPC2PZ6E.js} +2 -2
  75. package/dist/chunk-WZSDVFJ3.js +2 -0
  76. package/dist/chunk-WZSDVFJ3.js.map +1 -0
  77. package/dist/chunk-YC7FCCXS.js +2 -0
  78. package/dist/chunk-YC7FCCXS.js.map +1 -0
  79. package/dist/{chunk-QLMEA4FA.js → chunk-YHQQSL4Q.js} +2 -2
  80. package/dist/{chunk-WURYTVWC.js → chunk-YSDNZHEB.js} +2 -2
  81. package/dist/{chunk-AJCKNHZB.js → chunk-YWOJ4NKF.js} +2 -2
  82. package/dist/{chunk-AUV3PA2A.js → chunk-Z6B3PA4M.js} +2 -2
  83. package/dist/default-components.d.ts +2 -2
  84. package/dist/default-components.js +1 -1
  85. package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.d.ts +1 -1
  86. package/dist/flows/ContractAmendment/ContractAmendmentFlow.d.ts +3 -3
  87. package/dist/flows/ContractAmendment/ContractAmendmentFlow.js +1 -1
  88. package/dist/flows/ContractAmendment/ContractAmendmentForm.d.ts +1 -1
  89. package/dist/flows/ContractAmendment/ContractAmendmentForm.js +1 -1
  90. package/dist/flows/ContractAmendment/context.d.ts +3 -3
  91. package/dist/flows/ContractAmendment/hooks.d.ts +3 -3
  92. package/dist/flows/ContractAmendment/index.d.ts +3 -3
  93. package/dist/flows/ContractAmendment/index.js +1 -1
  94. package/dist/flows/ContractAmendment/types.d.ts +2 -2
  95. package/dist/flows/ContractAmendment/utils.d.ts +2 -2
  96. package/dist/flows/ContractorOnboarding/ContractorOnboarding.d.ts +6 -5
  97. package/dist/flows/ContractorOnboarding/ContractorOnboarding.js +1 -1
  98. package/dist/flows/ContractorOnboarding/api.d.ts +2 -2
  99. package/dist/flows/ContractorOnboarding/api.js +1 -1
  100. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.d.ts +4 -4
  101. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.js +1 -1
  102. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.d.ts +6 -5
  103. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.js +1 -1
  104. package/dist/flows/ContractorOnboarding/components/ContractPreviewHeader.d.ts +2 -2
  105. package/dist/flows/ContractorOnboarding/components/ContractPreviewStatement.d.ts +2 -2
  106. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.d.ts +6 -5
  107. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.js +1 -1
  108. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.d.ts +6 -5
  109. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.js +1 -1
  110. package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.d.ts +6 -5
  111. package/dist/flows/ContractorOnboarding/components/EligibilityQuestionnaireStep.js +1 -1
  112. package/dist/flows/ContractorOnboarding/components/OnboardingInvite.d.ts +3 -3
  113. package/dist/flows/ContractorOnboarding/components/OnboardingInvite.js +1 -1
  114. package/dist/flows/ContractorOnboarding/components/PricingPlan.d.ts +6 -5
  115. package/dist/flows/ContractorOnboarding/components/PricingPlan.js +1 -1
  116. package/dist/flows/ContractorOnboarding/components/SaveDraftButton.d.ts +20 -0
  117. package/dist/flows/ContractorOnboarding/components/SaveDraftButton.js +2 -0
  118. package/dist/flows/ContractorOnboarding/components/SaveDraftButton.js.map +1 -0
  119. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.d.ts +4 -4
  120. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.js +1 -1
  121. package/dist/flows/ContractorOnboarding/components/StatementOfWorkDisclaimer.js +1 -1
  122. package/dist/flows/ContractorOnboarding/constants.d.ts +4 -1
  123. package/dist/flows/ContractorOnboarding/constants.js +1 -1
  124. package/dist/flows/ContractorOnboarding/context.d.ts +7 -5
  125. package/dist/flows/ContractorOnboarding/hooks.d.ts +6 -5
  126. package/dist/flows/ContractorOnboarding/hooks.js +1 -1
  127. package/dist/flows/ContractorOnboarding/index.d.ts +6 -5
  128. package/dist/flows/ContractorOnboarding/index.js +1 -1
  129. package/dist/flows/ContractorOnboarding/jsfModify.d.ts +8 -7
  130. package/dist/flows/ContractorOnboarding/jsfModify.js +1 -1
  131. package/dist/flows/ContractorOnboarding/types.d.ts +6 -5
  132. package/dist/flows/ContractorOnboarding/utils.d.ts +12 -5
  133. package/dist/flows/ContractorOnboarding/utils.js +1 -1
  134. package/dist/flows/CostCalculator/CostCalculatorFlow.d.ts +3 -3
  135. package/dist/flows/CostCalculator/CostCalculatorFlow.js +1 -1
  136. package/dist/flows/CostCalculator/CostCalculatorForm.d.ts +3 -3
  137. package/dist/flows/CostCalculator/CostCalculatorForm.js +1 -1
  138. package/dist/flows/CostCalculator/EstimationResults/EstimationResults.d.ts +2 -2
  139. package/dist/flows/CostCalculator/EstimationResults/EstimationResults.js +1 -1
  140. package/dist/flows/CostCalculator/SummaryResults/SummaryResults.d.ts +2 -2
  141. package/dist/flows/CostCalculator/SummaryResults/SummaryResults.js +1 -1
  142. package/dist/flows/CostCalculator/api.d.ts +2 -2
  143. package/dist/flows/CostCalculator/components/SalaryField.d.ts +2 -2
  144. package/dist/flows/CostCalculator/context.d.ts +3 -3
  145. package/dist/flows/CostCalculator/hooks.d.ts +3 -3
  146. package/dist/flows/CostCalculator/hooks.js +1 -1
  147. package/dist/flows/CostCalculator/index.d.ts +3 -3
  148. package/dist/flows/CostCalculator/index.js +1 -1
  149. package/dist/flows/CostCalculator/types.d.ts +2 -2
  150. package/dist/flows/CostCalculator/utils.d.ts +3 -3
  151. package/dist/flows/CostCalculator/utils.js +1 -1
  152. package/dist/flows/CreateCompany/CreateCompany.d.ts +4 -4
  153. package/dist/flows/CreateCompany/CreateCompany.js +1 -1
  154. package/dist/flows/CreateCompany/api.d.ts +2 -2
  155. package/dist/flows/CreateCompany/components/AddressDetailsStep.d.ts +4 -4
  156. package/dist/flows/CreateCompany/components/AddressDetailsStep.js +1 -1
  157. package/dist/flows/CreateCompany/components/CompanyBasicInformationStep.d.ts +4 -4
  158. package/dist/flows/CreateCompany/components/CompanyBasicInformationStep.js +1 -1
  159. package/dist/flows/CreateCompany/components/CreateCompanyForm.d.ts +2 -2
  160. package/dist/flows/CreateCompany/components/CreateCompanyForm.js +1 -1
  161. package/dist/flows/CreateCompany/context.d.ts +4 -4
  162. package/dist/flows/CreateCompany/hooks.d.ts +4 -4
  163. package/dist/flows/CreateCompany/index.d.ts +4 -4
  164. package/dist/flows/CreateCompany/index.js +1 -1
  165. package/dist/flows/CreateCompany/types.d.ts +4 -4
  166. package/dist/flows/Onboarding/OnboardingFlow.d.ts +4 -4
  167. package/dist/flows/Onboarding/OnboardingFlow.js +1 -1
  168. package/dist/flows/Onboarding/api.d.ts +4 -4
  169. package/dist/flows/Onboarding/components/AnnualGrossSalary.d.ts +2 -2
  170. package/dist/flows/Onboarding/components/BasicInformationStep.d.ts +4 -4
  171. package/dist/flows/Onboarding/components/BasicInformationStep.js +1 -1
  172. package/dist/flows/Onboarding/components/BenefitsStep.d.ts +4 -4
  173. package/dist/flows/Onboarding/components/BenefitsStep.js +1 -1
  174. package/dist/flows/Onboarding/components/ContractDetailsStep.d.ts +4 -4
  175. package/dist/flows/Onboarding/components/ContractDetailsStep.js +1 -1
  176. package/dist/flows/Onboarding/components/OnboardingForm.d.ts +4 -4
  177. package/dist/flows/Onboarding/components/OnboardingForm.js +1 -1
  178. package/dist/flows/Onboarding/components/OnboardingInvite.d.ts +3 -3
  179. package/dist/flows/Onboarding/components/ReviewStep.d.ts +4 -4
  180. package/dist/flows/Onboarding/components/SaveDraftButton.d.ts +3 -3
  181. package/dist/flows/Onboarding/components/SelectCountryStep.d.ts +4 -4
  182. package/dist/flows/Onboarding/components/SelectCountryStep.js +1 -1
  183. package/dist/flows/Onboarding/context.d.ts +4 -4
  184. package/dist/flows/Onboarding/hooks.d.ts +4 -4
  185. package/dist/flows/Onboarding/hooks.js +1 -1
  186. package/dist/flows/Onboarding/index.d.ts +4 -4
  187. package/dist/flows/Onboarding/index.js +1 -1
  188. package/dist/flows/Onboarding/types.d.ts +4 -4
  189. package/dist/flows/Onboarding/utils.d.ts +4 -4
  190. package/dist/flows/Termination/AdditionalDetailsForm.d.ts +4 -4
  191. package/dist/flows/Termination/AdditionalDetailsForm.js +1 -1
  192. package/dist/flows/Termination/EmployeeComunicationForm.d.ts +4 -4
  193. package/dist/flows/Termination/EmployeeComunicationForm.js +1 -1
  194. package/dist/flows/Termination/PaidTimeOffForm.d.ts +4 -4
  195. package/dist/flows/Termination/PaidTimeOffForm.js +1 -1
  196. package/dist/flows/Termination/TerminationDetailsForm.d.ts +4 -4
  197. package/dist/flows/Termination/TerminationDetailsForm.js +1 -1
  198. package/dist/flows/Termination/TerminationFlow.d.ts +4 -4
  199. package/dist/flows/Termination/TerminationFlow.js +1 -1
  200. package/dist/flows/Termination/TerminationForm.d.ts +4 -4
  201. package/dist/flows/Termination/TerminationForm.js +1 -1
  202. package/dist/flows/Termination/api.d.ts +5 -5
  203. package/dist/flows/Termination/api.js +1 -1
  204. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.d.ts +6 -6
  205. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.js +1 -1
  206. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.d.ts +6 -6
  207. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.js +1 -1
  208. package/dist/flows/Termination/components/PaidTimeOff/types.d.ts +6 -6
  209. package/dist/flows/Termination/components/TerminationDialogInfoContent/TerminationDialogInfoContent.js +1 -1
  210. package/dist/flows/Termination/context.d.ts +4 -4
  211. package/dist/flows/Termination/hooks.d.ts +4 -4
  212. package/dist/flows/Termination/hooks.js +1 -1
  213. package/dist/flows/Termination/index.d.ts +6 -6
  214. package/dist/flows/Termination/index.js +1 -1
  215. package/dist/flows/Termination/json-schemas/jsonSchema.js +1 -1
  216. package/dist/flows/Termination/json-schemas/schema.d.ts +4 -4
  217. package/dist/flows/Termination/json-schemas/schema.js +1 -1
  218. package/dist/flows/Termination/types.d.ts +4 -4
  219. package/dist/flows/Termination/utils.d.ts +4 -4
  220. package/dist/flows/types.d.ts +2 -2
  221. package/dist/index.css +1 -1
  222. package/dist/index.css.map +1 -1
  223. package/dist/index.d.ts +12 -11
  224. package/dist/index.js +2 -2
  225. package/dist/index.js.map +1 -1
  226. package/dist/internals.d.ts +5 -9
  227. package/dist/internals.js +1 -1
  228. package/dist/{mutations-BsydWn3-.d.ts → mutations-Cw8GlAq0.d.ts} +1 -1
  229. package/dist/{remoteFlows-BVt9wH8Z.d.ts → remoteFlows-E3wOGnCt.d.ts} +1 -1
  230. package/dist/styles.css +1 -1
  231. package/dist/styles.css.map +1 -1
  232. package/dist/{types-C0ri3b3L.d.ts → types-BDH4I_fE.d.ts} +1 -1
  233. package/dist/{types-BfQMv-8p.d.ts → types-ByTWAmkv.d.ts} +2 -2
  234. package/dist/{types-DqoTDHM1.d.ts → types-DsVpuWHl.d.ts} +10 -3
  235. package/dist/{types-5zVzEzw3.d.ts → types-LjlUphtT.d.ts} +18 -5
  236. package/dist/{types-uW0BsP56.d.ts → types-RXM_JpA8.d.ts} +3 -3
  237. package/dist/{types.gen-Oz2Tvvr6.d.ts → types.gen-DdX2syl4.d.ts} +1 -1
  238. package/dist/{utils-Db2G1Kxo.d.ts → utils-BDEB1dzv.d.ts} +1 -1
  239. package/package.json +1 -3
  240. package/dist/ButtonDefault-6LBHWUQH.js +0 -2
  241. package/dist/DatePickerFieldDefault-7HPCPBEI.js +0 -2
  242. package/dist/FieldsetToggleButtonDefault-MXBQJ55Q.js +0 -2
  243. package/dist/FileUploadFieldDefault-T7EK7RTI.js +0 -2
  244. package/dist/MultiSelectFieldDefault-57GAREIU.js +0 -2
  245. package/dist/chunk-3GBODX6S.js +0 -2
  246. package/dist/chunk-3GBODX6S.js.map +0 -1
  247. package/dist/chunk-6EAABHVV.js +0 -2
  248. package/dist/chunk-6EAABHVV.js.map +0 -1
  249. package/dist/chunk-ALVZNFB7.js +0 -2
  250. package/dist/chunk-ALVZNFB7.js.map +0 -1
  251. package/dist/chunk-CRKLC7BP.js +0 -2
  252. package/dist/chunk-CRKLC7BP.js.map +0 -1
  253. package/dist/chunk-GSPD4EIV.js +0 -2
  254. package/dist/chunk-GSPD4EIV.js.map +0 -1
  255. package/dist/chunk-KRSUSMJK.js +0 -2
  256. package/dist/chunk-KRSUSMJK.js.map +0 -1
  257. package/dist/chunk-LHEF2FN7.js +0 -2
  258. package/dist/chunk-LHEF2FN7.js.map +0 -1
  259. package/dist/chunk-MTYN4AM3.js +0 -2
  260. package/dist/chunk-RJY6AEJB.js +0 -2
  261. package/dist/chunk-RJY6AEJB.js.map +0 -1
  262. package/dist/chunk-TXQWBDNF.js +0 -2
  263. package/dist/chunk-TXQWBDNF.js.map +0 -1
  264. package/dist/chunk-U2LHFJXY.js +0 -2
  265. package/dist/chunk-U2LHFJXY.js.map +0 -1
  266. package/dist/chunk-UAWJQ3EH.js +0 -2
  267. package/dist/chunk-UAWJQ3EH.js.map +0 -1
  268. package/dist/chunk-VWFZ6CMP.js +0 -2
  269. package/dist/chunk-VWFZ6CMP.js.map +0 -1
  270. package/dist/chunk-WFXSA66P.js +0 -2
  271. package/dist/chunk-WFXSA66P.js.map +0 -1
  272. package/dist/chunk-YBAV2FE4.js +0 -2
  273. package/dist/chunk-YBAV2FE4.js.map +0 -1
  274. /package/dist/{ButtonDefault-6LBHWUQH.js.map → ButtonDefault-2YV2Z474.js.map} +0 -0
  275. /package/dist/{CountryFieldDefault-X7772U44.js.map → CountryFieldDefault-IBVQJVMW.js.map} +0 -0
  276. /package/dist/{DatePickerFieldDefault-7HPCPBEI.js.map → DatePickerFieldDefault-5LEOVIM2.js.map} +0 -0
  277. /package/dist/{FieldsetToggleButtonDefault-MXBQJ55Q.js.map → FieldsetToggleButtonDefault-MFLN2WWT.js.map} +0 -0
  278. /package/dist/{FileUploadFieldDefault-T7EK7RTI.js.map → FileUploadFieldDefault-Y2ZYBSTV.js.map} +0 -0
  279. /package/dist/{MultiSelectFieldDefault-57GAREIU.js.map → MultiSelectFieldDefault-UK7652MS.js.map} +0 -0
  280. /package/dist/{WorkScheduleFieldDefault-FPXVZLXP.js.map → WorkScheduleFieldDefault-SR3G37MN.js.map} +0 -0
  281. /package/dist/{chunk-U4H65USG.js.map → chunk-24FMEFH5.js.map} +0 -0
  282. /package/dist/{chunk-PP25XZSV.js.map → chunk-2V7SP7UR.js.map} +0 -0
  283. /package/dist/{chunk-ZWIH53GL.js.map → chunk-3C6N7DK6.js.map} +0 -0
  284. /package/dist/{chunk-FUGPVPYX.js.map → chunk-3NESYBEJ.js.map} +0 -0
  285. /package/dist/{chunk-N7CS4LVY.js.map → chunk-3OJVYYPZ.js.map} +0 -0
  286. /package/dist/{chunk-MTYN4AM3.js.map → chunk-42R2H2DW.js.map} +0 -0
  287. /package/dist/{chunk-YMNB6DO2.js.map → chunk-5OHSFPY6.js.map} +0 -0
  288. /package/dist/{chunk-EFLRT7G5.js.map → chunk-5YRQBCHM.js.map} +0 -0
  289. /package/dist/{chunk-QH57S4OP.js.map → chunk-7EUMRKH4.js.map} +0 -0
  290. /package/dist/{chunk-2QGJBYQP.js.map → chunk-7FBVVWZL.js.map} +0 -0
  291. /package/dist/{chunk-WUOSCFTG.js.map → chunk-ATVQXA4X.js.map} +0 -0
  292. /package/dist/{chunk-EKR5ME7C.js.map → chunk-BIP2WGMA.js.map} +0 -0
  293. /package/dist/{chunk-WH4AY6UO.js.map → chunk-BLGKOMH3.js.map} +0 -0
  294. /package/dist/{chunk-RQJYOWP4.js.map → chunk-BNHZ4W7L.js.map} +0 -0
  295. /package/dist/{chunk-QYWF2RMX.js.map → chunk-BTS5Q6UZ.js.map} +0 -0
  296. /package/dist/{chunk-BAGPUVVO.js.map → chunk-BUOCIXUH.js.map} +0 -0
  297. /package/dist/{chunk-SS2FAFUZ.js.map → chunk-BYDQHL6O.js.map} +0 -0
  298. /package/dist/{chunk-3DKYJYLD.js.map → chunk-DPRCPBRB.js.map} +0 -0
  299. /package/dist/{chunk-P7P5KATB.js.map → chunk-DUEZWXBY.js.map} +0 -0
  300. /package/dist/{chunk-3W3VKY2J.js.map → chunk-EMP4ZIVB.js.map} +0 -0
  301. /package/dist/{chunk-QEEZZSOQ.js.map → chunk-FYSLOFAJ.js.map} +0 -0
  302. /package/dist/{chunk-FVBPHUV6.js.map → chunk-I5FVESDZ.js.map} +0 -0
  303. /package/dist/{chunk-NEKE5PRJ.js.map → chunk-IF42CZJH.js.map} +0 -0
  304. /package/dist/{chunk-VYINI3DD.js.map → chunk-IVXIAOMR.js.map} +0 -0
  305. /package/dist/{chunk-W4RON3XZ.js.map → chunk-JFJIYAMB.js.map} +0 -0
  306. /package/dist/{chunk-R7R6D7D4.js.map → chunk-JTPKAIYL.js.map} +0 -0
  307. /package/dist/{chunk-D3EB2FG3.js.map → chunk-JZM3TDK2.js.map} +0 -0
  308. /package/dist/{chunk-4QNOC3FL.js.map → chunk-KANAWPXZ.js.map} +0 -0
  309. /package/dist/{chunk-U32PNP6D.js.map → chunk-LSW66EIR.js.map} +0 -0
  310. /package/dist/{chunk-UKTMSVMG.js.map → chunk-M7KQPXCS.js.map} +0 -0
  311. /package/dist/{chunk-FDEJ4CIO.js.map → chunk-MGY23P25.js.map} +0 -0
  312. /package/dist/{chunk-FY5OFJRY.js.map → chunk-MVQOMW7S.js.map} +0 -0
  313. /package/dist/{chunk-E2ONHNZD.js.map → chunk-MXSKCQOT.js.map} +0 -0
  314. /package/dist/{chunk-IGLKMXWJ.js.map → chunk-NAMR4DA5.js.map} +0 -0
  315. /package/dist/{chunk-RZQIAOMZ.js.map → chunk-Q72MEHVY.js.map} +0 -0
  316. /package/dist/{chunk-2HBSVDEH.js.map → chunk-T5JT2ZU2.js.map} +0 -0
  317. /package/dist/{chunk-7RP5F62S.js.map → chunk-VPSESR6G.js.map} +0 -0
  318. /package/dist/{chunk-7FHNJWIY.js.map → chunk-VXMLYWZ2.js.map} +0 -0
  319. /package/dist/{chunk-ONXEJSDK.js.map → chunk-VZV7ZSZ5.js.map} +0 -0
  320. /package/dist/{chunk-GCMEX4I6.js.map → chunk-WOWIJ56S.js.map} +0 -0
  321. /package/dist/{chunk-IYQDAHMG.js.map → chunk-WPC2PZ6E.js.map} +0 -0
  322. /package/dist/{chunk-QLMEA4FA.js.map → chunk-YHQQSL4Q.js.map} +0 -0
  323. /package/dist/{chunk-WURYTVWC.js.map → chunk-YSDNZHEB.js.map} +0 -0
  324. /package/dist/{chunk-AJCKNHZB.js.map → chunk-YWOJ4NKF.js.map} +0 -0
  325. /package/dist/{chunk-AUV3PA2A.js.map → chunk-Z6B3PA4M.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/shared/actions-dropdown/ActionsDropdown.tsx","../src/flows/CostCalculator/EstimationResults/EstimationResults.tsx","../src/components/ui/basic-tooltip.tsx"],"sourcesContent":["import { Button } from '@/src/components/ui/button';\nimport { cn } from '@/src/lib/utils';\nimport { MoreHorizontal } from 'lucide-react';\nimport { useState, type ReactNode } from 'react';\n\nexport interface DropdownAction {\n label: string;\n icon?: ReactNode;\n onClick: () => void;\n separator?: boolean;\n disabled?: boolean;\n}\n\ninterface ActionsDropdownProps {\n actions?: DropdownAction[];\n label?: string;\n className?: string;\n 'data-testid'?: string;\n}\n\nexport function ActionsDropdown({\n actions = [],\n className,\n label,\n 'data-testid': dataSelector,\n}: ActionsDropdownProps) {\n const [isOpen, setIsOpen] = useState(false);\n\n return (\n <div className={cn('relative', className)}>\n <Button\n data-testid={dataSelector}\n variant='ghost'\n aria-label={label}\n className='h-8 w-8 p-0'\n onClick={() => setIsOpen(!isOpen)}\n >\n <MoreHorizontal className='h-4 w-4' />\n </Button>\n\n {isOpen && (\n <>\n <div\n className='fixed inset-0 z-40'\n onClick={() => setIsOpen(false)}\n />\n <div className='absolute right-0 top-1/2 mt-1 bg-white border border-gray-200 rounded-md shadow-lg z-50 min-w-[120px]'>\n {actions.map((action, index) => (\n <button\n key={index}\n data-testid={`${dataSelector}-${action.label.toLowerCase().replace(' ', '-')}`}\n className={cn(\n 'w-full text-left px-2 py-1.5 text-sm hover:bg-gray-100',\n action.disabled && 'opacity-50 cursor-not-allowed',\n )}\n onClick={() => {\n action.onClick();\n setIsOpen(false);\n }}\n disabled={action.disabled}\n >\n {action.label}\n </button>\n ))}\n </div>\n </>\n )}\n </div>\n );\n}\n","import { MinimalCountry, MinimalRegion } from '@/src/client';\nimport { ActionsDropdown } from '@/src/components/shared/actions-dropdown/ActionsDropdown';\nimport { Card } from '@/src/components/ui/card';\nimport { ChevronDown, Info } from 'lucide-react';\nimport Flag from 'react-flagpack';\nimport { useState } from 'react';\nimport {\n Accordion,\n AccordionContent,\n AccordionItem,\n AccordionTrigger,\n} from '@/src/components/ui/accordion';\nimport { cn, formatCurrency, sanitizeHtml } from '@/src/lib/utils';\nimport { ZendeskTriggerButton } from '@/src/components/shared/zendesk-drawer/ZendeskTriggerButton';\nimport { zendeskArticles } from '@/src/components/shared/zendesk-drawer/utils';\nimport { BasicTooltip } from '@/src/components/ui/basic-tooltip';\nimport { CostCalculatorEstimation } from '@/src/flows/CostCalculator/types';\n\nconst FLAG_CODE_MAPPING: Record<string, string> = {\n GB: 'GB-UKM',\n};\n\nconst EstimationResultsHeader = ({\n title,\n country,\n region,\n annualGrossSalary,\n onDelete,\n onExportPdf,\n onEdit,\n}: {\n title: string;\n country: MinimalCountry;\n region?: MinimalRegion;\n annualGrossSalary: string;\n onDelete: () => void;\n onExportPdf: () => void;\n onEdit: () => void;\n}) => {\n const actions = [\n {\n label: 'Edit',\n onClick: onEdit,\n },\n {\n label: 'Export',\n onClick: onExportPdf,\n },\n {\n label: 'Delete',\n onClick: onDelete,\n },\n ];\n return (\n <div className='RemoteFlows__EstimationResults__Header flex justify-between'>\n <div className='flex flex-row items-center gap-6'>\n <div className='RemoteFlows__EstimationResultsHeader__FlagContainer flex h-16 w-16 items-center justify-center rounded-lg bg-[#F4F4F5]'>\n <Flag\n code={\n FLAG_CODE_MAPPING[country.alpha_2_code] || country.alpha_2_code\n }\n />\n </div>\n <div className='space-y-1'>\n <h2\n data-testid='estimation-results-header-title'\n className='RemoteFlows__EstimationResultsHeader__Title text-lg font-medium leading-none text-[#181818]'\n >\n {title}\n </h2>\n <p className='RemoteFlows__EstimationResultsHeader__Country text-xs text-[#71717A]'>\n {country.name} {region ? ` (${region.name})` : ''}\n </p>\n <p\n data-testid='estimation-results-header-annual-gross-salary'\n className='RemoteFlows__EstimationResultsHeader__AnnualGrossSalary text-xs text-[#71717A]'\n >\n <span className='text-[#181818]'>\n Employee annual gross salary:\n </span>{' '}\n {annualGrossSalary}\n </p>\n </div>\n </div>\n <ActionsDropdown\n label='Actions'\n className='RemoteFlows__EstimationResults__ActionsDropdown'\n actions={actions}\n />\n </div>\n );\n};\n\ninterface OnboardingTimelineStep {\n title: string;\n description: string;\n id: string;\n}\n\ninterface OnboardingTimelineData {\n steps: OnboardingTimelineStep[];\n helpText: string;\n zendeskArticleId?: number;\n}\n\nconst getOnboardingTimelineData = (): OnboardingTimelineData => {\n return {\n steps: [\n {\n id: 'add-employment-details',\n title: 'Add employment details',\n description: 'You add employee employments details.',\n },\n {\n id: 'invite-employee',\n title: 'Invite employee',\n description:\n 'Hire receives an email invitation from Remote to start the self-enrollment process.',\n },\n {\n id: 'verify-information',\n title: 'Verify information',\n description:\n 'Remote prepares the Employment Agreement and verifies all the information.',\n },\n {\n id: 'sign-contract',\n title: 'Sign contract',\n description:\n 'All parties sign the Employment Agreement and are ready to start. 🎉',\n },\n ],\n helpText:\n \"For customers who accept Remote's Terms of Service (ToS), the employee onboarding timeline starts once the employee has been invited to the platform and completed self enrollment.\",\n zendeskArticleId: zendeskArticles.employeeOnboardingTimeline,\n };\n};\n\nfunction OnboardingTimeline({\n minimumOnboardingDays,\n data,\n className,\n}: {\n minimumOnboardingDays: number | null;\n data: OnboardingTimelineData;\n className?: string;\n}) {\n return (\n <Accordion\n collapsible\n className={cn(\n 'RemoteFlows__EstimationResults__OnboardingTimeline w-full',\n className,\n )}\n >\n <AccordionItem\n value='timeline'\n className='RemoteFlows__OnboardingTimeline__AccordionItem border-border'\n >\n <AccordionTrigger className='RemoteFlows__OnboardingTimeline__AccordionTrigger hover:no-underline px-0 py-4'>\n <div className='flex items-center justify-between w-full'>\n <span className='RemoteFlows__OnboardingTimeline__Title text-base font-medium text-[#0F172A]'>\n Onboarding timeline\n </span>\n {minimumOnboardingDays != null && (\n <span className='RemoteFlows__OnboardingTimeline__Description text-base text-muted-foreground mr-4'>\n {minimumOnboardingDays} days\n </span>\n )}\n </div>\n </AccordionTrigger>\n <AccordionContent className='px-0 pb-4'>\n <ul className='RemoteFlows__OnboardingTimeline__List list-disc list-inside space-y-2'>\n {data.steps.map((step) => (\n <li key={step.id}>\n <strong className='font-medium text-[#09090B]'>\n {step.title}\n </strong>{' '}\n - {step.description}\n </li>\n ))}\n </ul>\n <p className='RemoteFlows__OnboardingTimeline__HelpText text-xs text-muted-foreground mt-4'>\n {data.helpText}\n {data.zendeskArticleId && (\n <ZendeskTriggerButton zendeskId={data.zendeskArticleId}>\n Learn more\n </ZendeskTriggerButton>\n )}\n </p>\n </AccordionContent>\n </AccordionItem>\n </Accordion>\n );\n}\n\nfunction HiringSection({\n className,\n countryBenefitsUrl,\n countryGuideUrl,\n country,\n}: {\n className?: string;\n countryBenefitsUrl: string;\n countryGuideUrl: string;\n country: MinimalCountry;\n}) {\n return (\n <Accordion\n collapsible\n className={cn(\n 'RemoteFlows__EstimationResults__HiringSection w-full',\n className,\n )}\n >\n <AccordionItem\n value='timeline'\n className='RemoteFlows__HiringSection__AccordionItem border-border'\n >\n <AccordionTrigger className='RemoteFlows__HiringSection__AccordionTrigger hover:no-underline px-0 py-4'>\n <div className='flex items-center justify-between w-full'>\n <span className='text-base font-medium text-[#0F172A]'>\n Hiring in {country.name}\n </span>\n </div>\n </AccordionTrigger>\n <AccordionContent>\n <div className='flex flex-col gap-1'>\n {countryGuideUrl && (\n <a\n href={countryGuideUrl}\n target='_blank'\n className='RemoteFlows__Link'\n >\n Explore our complete guide ↗\n </a>\n )}\n {countryBenefitsUrl && (\n <a\n href={countryBenefitsUrl}\n target='_blank'\n className='RemoteFlows__Link'\n >\n Explore our available benefits ↗\n </a>\n )}\n </div>\n </AccordionContent>\n </AccordionItem>\n </Accordion>\n );\n}\n\nfunction EstimationHeaders({\n isMultipleCurrency,\n className,\n}: {\n isMultipleCurrency: boolean;\n className?: string;\n}) {\n return (\n <div\n className={cn(\n 'RemoteFlows__EstimationResults__Headers grid grid-cols-3 items-center',\n className,\n )}\n >\n <span aria-hidden />\n {isMultipleCurrency ? (\n <>\n <span className='RemoteFlows__EstimationResults__Headers__Label'>\n Employee currency\n </span>\n <span className='RemoteFlows__EstimationResults__Headers__Label'>\n Employer currency\n </span>\n </>\n ) : (\n <>\n <span></span>\n <span className='RemoteFlows__EstimationResults__Headers__Label'>\n Amount\n </span>\n </>\n )}\n </div>\n );\n}\n\nfunction EstimationRow({\n label,\n amounts,\n className,\n children,\n}: {\n label: string | React.ReactNode;\n amounts: string | string[];\n className?: string;\n children?: React.ReactNode;\n}) {\n const [isOpen, setIsOpen] = useState(true);\n\n return (\n <div className={cn('RemoteFlows__EstimationResults__Row', className)}>\n <div className='RemoteFlows__EstimationRow__Grid grid grid-cols-3 items-center'>\n <div className='RemoteFlows__EstimationRow__LabelContainer flex items-center gap-2'>\n <span\n className={cn(\n 'RemoteFlows__EstimationRow__Title min-w-[140px] font-medium text-[#09090B]',\n )}\n >\n {label}\n </span>\n <button\n onClick={() => setIsOpen(!isOpen)}\n className='RemoteFlows__EstimationRow__CollapseButton p-1 hover:bg-gray-100 rounded'\n >\n <ChevronDown\n className={`h-4 w-4 text-muted-foreground transition-transform ${\n isOpen ? 'rotate-180' : ''\n }`}\n />\n </button>\n </div>\n\n {Array.isArray(amounts) ? (\n amounts.map((amount, index) => (\n <span\n key={index}\n className={cn(\n 'RemoteFlows__EstimationRow__RegionalAmount text-right font-medium text-[#09090B]',\n )}\n >\n {amount}\n </span>\n ))\n ) : (\n <>\n <span></span>\n <span\n className={cn(\n 'RemoteFlows__EstimationRow__EmployerAmount text-right font-medium text-[#09090B]',\n )}\n >\n {amounts}\n </span>\n </>\n )}\n </div>\n\n {/* Collapsible content */}\n {isOpen && children && (\n <div className='RemoteFlows__EstimationRow__CollapsibleContent mt-4'>\n {children}\n </div>\n )}\n </div>\n );\n}\n\ninterface BreakdownItem {\n label: string;\n tooltip?: string;\n dataSelector?: string;\n regionalAmount?: string;\n employerAmount?: string;\n description?: string;\n zendeskId?: string;\n isCollapsible?: boolean;\n children?: BreakdownItem[];\n}\n\nfunction BreakdownListItem({\n item,\n isMultipleCurrency,\n level = 0,\n}: {\n item: BreakdownItem;\n isMultipleCurrency: boolean;\n level?: number;\n}) {\n const [isOpen, setIsOpen] = useState(false);\n const hasChildren = item.children && item.children.length > 0;\n const isNested = level > 0;\n const isCollapsible = item.isCollapsible || hasChildren;\n\n return (\n <li\n className={cn(\n 'RemoteFlows__BreakdownList__Item pb-3',\n isNested && 'pb-1',\n )}\n >\n <div\n className={cn(\n isMultipleCurrency\n ? 'RemoteFlows__BreakdownList__Grid grid grid-cols-3 items-center justify-between'\n : 'RemoteFlows__BreakdownList__Grid grid grid-cols-2 items-center justify-between',\n )}\n >\n <div\n className={cn(\n 'RemoteFlows__BreakdownList__LabelContainer flex items-center gap-2',\n isNested && 'pl-3',\n )}\n >\n {!isNested && (\n <span\n className='RemoteFlows__BreakdownList__Bullet w-1 h-1 bg-[#09090B] rounded-full flex-shrink-0'\n aria-hidden='true'\n />\n )}\n\n {isCollapsible ? (\n <button\n onClick={() => setIsOpen(!isOpen)}\n className='RemoteFlows__BreakdownList__CollapseButton flex items-center gap-2 hover:bg-gray-100 rounded p-1'\n >\n <span\n className={cn(\n isNested\n ? 'RemoteFlows__BreakdownList__Text--Nested text-xs text-[#71717A]'\n : 'RemoteFlows__BreakdownList__Text--NotNested text-sm text-[#09090B]',\n )}\n >\n {item.label}\n </span>\n <ChevronDown\n className={`RemoteFlows__BreakdownList__ChevronDown h-3 w-3 text-muted-foreground transition-transform ${\n isOpen ? 'rotate-180' : ''\n }`}\n />\n </button>\n ) : (\n <span\n className={cn(\n isNested\n ? 'RemoteFlows__BreakdownList__Text--Nested text-xs text-[#71717A]'\n : 'RemoteFlows__BreakdownList__Text--NotNested text-sm text-[#09090B] p-1',\n )}\n >\n {item.label}\n </span>\n )}\n\n {item.tooltip && (\n <BasicTooltip\n content={\n <>\n <span\n dangerouslySetInnerHTML={{\n __html: sanitizeHtml(item.tooltip),\n }}\n />{' '}\n {item.zendeskId && (\n <ZendeskTriggerButton zendeskId={Number(item.zendeskId)}>\n Learn more\n </ZendeskTriggerButton>\n )}\n </>\n }\n >\n <button className='RemoteFlows__BreakdownList__InfoButton p-1 hover:bg-gray-100 rounded'>\n <Info\n className={cn(\n 'RemoteFlows__BreakdownList__InfoButton__Icon text-muted-foreground',\n isNested ? 'h-3 w-3' : 'h-4 w-4',\n )}\n />\n </button>\n </BasicTooltip>\n )}\n </div>\n\n {isMultipleCurrency ? (\n <>\n <span\n data-testid={\n item.dataSelector && item.dataSelector + '-employee-amount'\n }\n className={cn(\n 'RemoteFlows__BreakdownList__RegionalAmountText text-sm text-right',\n isNested\n ? 'RemoteFlows__BreakdownList__RegionalAmountText--Nested text-[#71717A]'\n : 'RemoteFlows__BreakdownList__RegionalAmountText--NotNested text-[#09090B]',\n )}\n >\n {item.regionalAmount || '—'}\n </span>\n <span\n data-testid={\n item.dataSelector && item.dataSelector + '-employer-amount'\n }\n className={cn(\n 'RemoteFlows__BreakdownList__EmployerAmountText text-sm text-right',\n isNested\n ? 'RemoteFlows__BreakdownList__EmployerAmountText--Nested text-[#71717A]'\n : 'RemoteFlows__BreakdownList__EmployerAmountText--NotNested text-[#09090B]',\n )}\n >\n {item.employerAmount || '—'}\n </span>\n </>\n ) : (\n <span\n data-testid={item.dataSelector}\n className={cn(\n 'RemoteFlows__BreakdownList__RegionalAmountText text-sm text-right',\n isNested\n ? 'RemoteFlows__BreakdownList__RegionalAmountText--Nested text-[#71717A]'\n : 'RemoteFlows__BreakdownList__RegionalAmountText--NotNested text-[#09090B]',\n )}\n >\n {item.regionalAmount || '—'}\n </span>\n )}\n </div>\n\n {hasChildren && isOpen && (\n <div className='mt-1'>\n <BreakdownList\n items={item.children!}\n isMultipleCurrency={isMultipleCurrency}\n level={level + 1}\n />\n </div>\n )}\n </li>\n );\n}\n\ninterface BreakdownListProps {\n items: BreakdownItem[];\n isMultipleCurrency: boolean;\n className?: string;\n level?: number;\n}\n\nfunction BreakdownList({\n items,\n isMultipleCurrency,\n className,\n level,\n}: BreakdownListProps) {\n return (\n <ul className={cn('RemoteFlows__BreakdownList list-none', className)}>\n {items.map((item, index) => (\n <BreakdownListItem\n key={index}\n item={item}\n isMultipleCurrency={isMultipleCurrency}\n level={level}\n />\n ))}\n </ul>\n );\n}\n\ntype EstimationResultsComponents = {\n HiringSection?: React.ComponentType<{\n country: MinimalCountry;\n countryBenefitsUrl: string;\n countryGuideUrl: string;\n }>;\n OnboardingTimeline?: React.ComponentType<{\n minimumOnboardingDays: number | null;\n data: OnboardingTimelineData;\n }>;\n Header?: React.ComponentType<{\n title: string;\n region?: MinimalRegion;\n country: MinimalCountry;\n onDelete: () => void;\n onExportPdf: () => void;\n }>;\n Footer?: React.ComponentType;\n};\n\ntype EstimationResultsProps = {\n estimation: CostCalculatorEstimation;\n title: string;\n components?: EstimationResultsComponents;\n onDelete: () => void;\n onExportPdf: () => void;\n onEdit: () => void;\n};\n\nexport const EstimationResults = ({\n estimation,\n title,\n components,\n onDelete,\n onExportPdf,\n onEdit,\n}: EstimationResultsProps) => {\n const CustomHiringSection = components?.HiringSection || HiringSection;\n const CustomOnboardingTimeline =\n components?.OnboardingTimeline || OnboardingTimeline;\n const CustomHeader = components?.Header || EstimationResultsHeader;\n const CustomFooter = components?.Footer;\n\n const onboardingTimelineData = getOnboardingTimelineData();\n\n const isMultipleCurrency =\n estimation.employer_currency_costs.currency.code !==\n estimation.regional_currency_costs.currency.code;\n\n const hasManagementFee =\n estimation.employer_currency_costs.monthly_management_fee;\n\n const hasRegion = estimation.region.code !== estimation.country.code;\n\n const formattedSalary = formatCurrency(\n estimation.regional_currency_costs.annual_gross_salary,\n estimation.regional_currency_costs.currency.code,\n );\n\n return (\n <Card className='RemoteFlows__EstimationResults__Card p-10'>\n <div className='RemoteFlows__Separator'>\n <CustomHeader\n title={title}\n annualGrossSalary={formattedSalary}\n region={hasRegion ? estimation.region : undefined}\n country={estimation.country}\n onDelete={onDelete}\n onExportPdf={onExportPdf}\n onEdit={onEdit}\n />\n </div>\n <div className='RemoteFlows__Separator'>\n <EstimationHeaders\n isMultipleCurrency={isMultipleCurrency}\n className='mb-3'\n />\n <EstimationRow\n label='Monthly total cost'\n amounts={\n isMultipleCurrency\n ? [\n formatCurrency(\n estimation.regional_currency_costs.monthly_total,\n estimation.regional_currency_costs.currency.code,\n ),\n formatCurrency(\n estimation.employer_currency_costs.monthly_total,\n estimation.employer_currency_costs.currency.code,\n ),\n ]\n : formatCurrency(\n estimation.regional_currency_costs.monthly_total,\n estimation.regional_currency_costs.currency.code,\n )\n }\n >\n <BreakdownList\n items={[\n {\n label: 'Gross monthly salary',\n regionalAmount: formatCurrency(\n estimation.regional_currency_costs.monthly_gross_salary,\n estimation.regional_currency_costs.currency.code,\n ),\n employerAmount: formatCurrency(\n estimation.employer_currency_costs.monthly_gross_salary,\n estimation.employer_currency_costs.currency.code,\n ),\n zendeskId: zendeskArticles.extraPayments.toString(),\n tooltip:\n 'This country respects extra payments on top of the gross salary.',\n },\n {\n label: 'Mandatory employer costs',\n regionalAmount: formatCurrency(\n estimation.regional_currency_costs\n .monthly_contributions_total,\n estimation.regional_currency_costs.currency.code,\n ),\n employerAmount: formatCurrency(\n estimation.employer_currency_costs\n .monthly_contributions_total,\n estimation.employer_currency_costs.currency.code,\n ),\n children:\n estimation.employer_currency_costs.monthly_contributions_breakdown?.map(\n (item, index) => {\n return {\n label: item.name,\n regionalAmount: formatCurrency(\n estimation.regional_currency_costs\n .monthly_contributions_breakdown?.[index]?.amount,\n estimation.regional_currency_costs.currency.code,\n ),\n employerAmount: formatCurrency(\n item.amount,\n estimation.employer_currency_costs.currency.code,\n ),\n zendeskId: item.zendesk_article_id || undefined,\n tooltip: item.description || undefined,\n };\n },\n ) || [],\n },\n {\n label: 'Benefits',\n regionalAmount: formatCurrency(\n estimation.regional_currency_costs.monthly_benefits_total,\n estimation.regional_currency_costs.currency.code,\n ),\n employerAmount: formatCurrency(\n estimation.employer_currency_costs.monthly_benefits_total,\n estimation.employer_currency_costs.currency.code,\n ),\n children:\n estimation.employer_currency_costs.monthly_benefits_breakdown?.map(\n (item, index) => ({\n label: item.name,\n regionalAmount: formatCurrency(\n estimation.regional_currency_costs\n .monthly_benefits_breakdown?.[index]?.amount,\n estimation.regional_currency_costs.currency.code,\n ),\n employerAmount: formatCurrency(\n item.amount,\n estimation.employer_currency_costs.currency.code,\n ),\n zendeskId: item.zendesk_article_id || undefined,\n tooltip: item.description || undefined,\n }),\n ) || [],\n },\n ...(hasManagementFee\n ? [\n {\n label: 'Monthly fee',\n regionalAmount: formatCurrency(\n estimation.regional_currency_costs\n .monthly_management_fee,\n estimation.regional_currency_costs.currency.code,\n ),\n employerAmount: formatCurrency(\n estimation.employer_currency_costs\n .monthly_management_fee,\n estimation.employer_currency_costs.currency.code,\n ),\n tooltip:\n 'Discounts may be available based on your commitment and team size. Speak to your account or customer success manager to learn more.',\n },\n ]\n : []),\n ]}\n isMultipleCurrency={isMultipleCurrency}\n />\n </EstimationRow>\n </div>\n <div className='RemoteFlows__Separator'>\n <EstimationRow\n label='Annual total cost'\n amounts={\n isMultipleCurrency\n ? [\n formatCurrency(\n estimation.regional_currency_costs.annual_total,\n estimation.regional_currency_costs.currency.code,\n ),\n formatCurrency(\n estimation.employer_currency_costs.annual_total,\n estimation.employer_currency_costs.currency.code,\n ),\n ]\n : formatCurrency(\n estimation.regional_currency_costs.annual_total,\n estimation.regional_currency_costs.currency.code,\n )\n }\n >\n <BreakdownList\n items={[\n {\n label: 'Gross annual salary',\n dataSelector: 'annual-gross-salary',\n regionalAmount: formatCurrency(\n estimation.regional_currency_costs.annual_gross_salary,\n estimation.regional_currency_costs.currency.code,\n ),\n employerAmount: formatCurrency(\n estimation.employer_currency_costs.annual_gross_salary,\n estimation.employer_currency_costs.currency.code,\n ),\n },\n {\n label: 'Mandatory employer costs',\n regionalAmount: formatCurrency(\n estimation.regional_currency_costs.annual_contributions_total,\n estimation.regional_currency_costs.currency.code,\n ),\n employerAmount: formatCurrency(\n estimation.employer_currency_costs.annual_contributions_total,\n estimation.employer_currency_costs.currency.code,\n ),\n children:\n estimation.employer_currency_costs.annual_contributions_breakdown?.map(\n (item, index) => ({\n label: item.name,\n regionalAmount: formatCurrency(\n estimation.regional_currency_costs\n .annual_contributions_breakdown?.[index]?.amount,\n estimation.regional_currency_costs.currency.code,\n ),\n employerAmount: formatCurrency(\n item.amount,\n estimation.employer_currency_costs.currency.code,\n ),\n zendeskId: item.zendesk_article_id || undefined,\n tooltip: item.description || undefined,\n }),\n ) || [],\n },\n {\n label: 'Benefits',\n regionalAmount: formatCurrency(\n estimation.regional_currency_costs.annual_benefits_total,\n estimation.regional_currency_costs.currency.code,\n ),\n employerAmount: formatCurrency(\n estimation.employer_currency_costs.annual_benefits_total,\n estimation.employer_currency_costs.currency.code,\n ),\n children:\n estimation.employer_currency_costs.annual_benefits_breakdown?.map(\n (item, index) => ({\n label: item.name,\n regionalAmount: formatCurrency(\n estimation.regional_currency_costs\n .annual_benefits_breakdown?.[index]?.amount,\n estimation.regional_currency_costs.currency.code,\n ),\n employerAmount: formatCurrency(\n item.amount,\n estimation.employer_currency_costs.currency.code,\n ),\n zendeskId: item.zendesk_article_id || undefined,\n tooltip: item.description || undefined,\n }),\n ) || [],\n },\n {\n label: 'Extra statutory payments',\n regionalAmount: formatCurrency(\n estimation.regional_currency_costs\n .extra_statutory_payments_total,\n estimation.regional_currency_costs.currency.code,\n ),\n employerAmount: formatCurrency(\n estimation.employer_currency_costs\n .extra_statutory_payments_total,\n estimation.employer_currency_costs.currency.code,\n ),\n children:\n estimation.employer_currency_costs.extra_statutory_payments_breakdown?.map(\n (item, index) => ({\n label: item.name,\n regionalAmount: formatCurrency(\n estimation.regional_currency_costs\n .extra_statutory_payments_breakdown?.[index]?.amount,\n estimation.regional_currency_costs.currency.code,\n ),\n employerAmount: formatCurrency(\n item.amount,\n estimation.employer_currency_costs.currency.code,\n ),\n zendeskId: item.zendesk_article_id || undefined,\n tooltip: item.description || undefined,\n }),\n ) || [],\n },\n ...(hasManagementFee\n ? [\n {\n label: 'Annual fee',\n regionalAmount: formatCurrency(\n estimation.regional_currency_costs\n .annual_management_fee,\n estimation.regional_currency_costs.currency.code,\n ),\n employerAmount: formatCurrency(\n estimation.employer_currency_costs\n .annual_management_fee,\n estimation.employer_currency_costs.currency.code,\n ),\n tooltip:\n 'Discounts may be available based on your commitment and team size. Speak to your account or customer success manager to learn more.',\n },\n ]\n : []),\n ]}\n isMultipleCurrency={isMultipleCurrency}\n />\n </EstimationRow>\n </div>\n <div className='RemoteFlows__Separator'>\n <CustomOnboardingTimeline\n minimumOnboardingDays={estimation.minimum_onboarding_time}\n data={onboardingTimelineData}\n />\n </div>\n\n <CustomHiringSection\n countryBenefitsUrl={estimation.country_benefits_details_url as string}\n countryGuideUrl={estimation.country_guide_url as string}\n country={estimation.country}\n />\n\n {CustomFooter && <CustomFooter />}\n </Card>\n );\n};\n","export const BasicTooltip = ({\n children,\n content,\n}: {\n children: React.ReactNode;\n content: React.ReactNode;\n}) => {\n return (\n <div className='relative inline-block group'>\n {children}\n <div className='absolute bottom-full right-0 mb-2 px-3 py-2 bg-gray-900 text-white text-xs rounded-md opacity-0 invisible group-hover:opacity-100 group-hover:visible transition-all duration-200 z-50 w-64 whitespace-normal break-words'>\n {content}\n <div className='absolute top-full right-3 border-4 border-transparent border-t-gray-900'></div>\n </div>\n </div>\n );\n};\n"],"mappings":"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","names":["MoreHorizontal","useState","Fragment","jsx","jsxs","ActionsDropdown","actions","className","label","dataSelector","isOpen","setIsOpen","useState","cn","Button","MoreHorizontal","action","index","__name","ChevronDown","Info","Flag","useState","jsx","jsxs","BasicTooltip","__name","children","content","Fragment","jsx","jsxs","FLAG_CODE_MAPPING","EstimationResultsHeader","__name","title","country","region","annualGrossSalary","onDelete","onExportPdf","onEdit","actions","Flag","ActionsDropdown","getOnboardingTimelineData","zendeskArticles","OnboardingTimeline","minimumOnboardingDays","data","className","Accordion","cn","AccordionItem","AccordionTrigger","AccordionContent","step","ZendeskTriggerButton","HiringSection","countryBenefitsUrl","countryGuideUrl","EstimationHeaders","isMultipleCurrency","EstimationRow","label","amounts","children","isOpen","setIsOpen","useState","ChevronDown","amount","index","BreakdownListItem","item","level","hasChildren","isNested","isCollapsible","BasicTooltip","sanitizeHtml","Info","BreakdownList","items","EstimationResults","estimation","components","CustomHiringSection","CustomOnboardingTimeline","CustomHeader","CustomFooter","onboardingTimelineData","hasManagementFee","hasRegion","formattedSalary","formatCurrency","Card"]}
@@ -1,2 +1,2 @@
1
- import{a as v}from"./chunk-SNECOPBD.js";import{i as U}from"./chunk-T7O3YYOG.js";import{b as L,c as O,f as G}from"./chunk-AOSXULKY.js";import{a as I}from"./chunk-SS2FAFUZ.js";import{a as z}from"./chunk-HJ7WOTV7.js";import{b as J}from"./chunk-YHCH57B7.js";import{c as d,h as g}from"./chunk-7EONM7HL.js";import{a as R,e as H}from"./chunk-VIGKOVHP.js";import{b as C}from"./chunk-KQPDXXG3.js";import{a as n}from"./chunk-P37U34EQ.js";import{Fragment as fe,useEffect as Pe,useRef as ge}from"react";import{jsx as Z}from"react/jsx-runtime";function q({description:e,label:t,name:i,minDate:l,maxDate:s,onChange:p,component:r,...c}){let{components:h}=C(),{control:u}=d(),F;c.meta?.mot&&typeof c.meta.mot=="number"?F=U(c.meta.mot):typeof l=="string"&&(F=new Date(`${l}T00:00:00`));let a;return s&&(a=new Date(`${s}T23:59:59`)),Z(g,{control:u,name:i,render:({field:f,fieldState:S})=>{let m=r||h?.date;if(!m)throw new Error(`Date picker component not found for field ${i}`);let y={description:e,label:t,name:i,onChange:p,...F&&{minDate:F.toISOString()},...a&&{maxDate:a.toISOString()},...c};return Z(m,{field:{...f,onChange:n(x=>{f.onChange(x),p?.(x)},"onChange")},fieldState:S,fieldData:y})}})}n(q,"DatePickerField");import{jsx as K}from"react/jsx-runtime";var xe=n((e,t)=>{if(!t)return null;for(let i of e)if(i.size>t){let l=Math.round(t/1048576),s=Math.round(i.size/(1024*1024));return`File "${i.name}" exceeds maximum size of ${l}MB (file is ${s}MB)`}return null},"validateFileSize");function Q({name:e,description:t,label:i,multiple:l,onChange:s,component:p,accept:r,maxSize:c,...h}){let{components:u}=C(),{control:F,setError:a,clearErrors:f}=d(),S=n(async(m,y)=>{let x=xe(m,c);if(x){a(e,{message:x});return}f(e),y.onChange(m),s?.(m)},"handleOnChange");return K(g,{control:F,name:e,render:({field:m,fieldState:y})=>{let x=p||u.file;if(!x)throw new Error(`File upload component not found for field ${e}`);let P={name:e,description:t,label:i,multiple:l,accept:r,maxFileSize:c,...h};return K(x,{field:{...m,value:m.value,onChange:n(async T=>S(T,m),"onChange")},fieldState:y,fieldData:P})}})}n(Q,"FileUploadField");import{jsx as X}from"react/jsx-runtime";function N(e){let{components:t}=C(),{control:i}=d(),l=e.component||t.number;if(!l)throw new Error(`Number component not found for field ${e.name}`);return X(g,{control:i,name:e.name,render:({field:s,fieldState:p})=>X(l,{field:{...s,onChange:n(r=>{s.onChange(r),e.onChange?.(r)},"onChange")},fieldState:p,fieldData:e})})}n(N,"NumberField");import{jsx as Y}from"react/jsx-runtime";function j({name:e,defaultValue:t,description:i,label:l,options:s,onChange:p,component:r,...c}){let{components:h}=C(),{control:u}=d();return Y(g,{control:u,name:e,defaultValue:t,render:({field:F,fieldState:a})=>{let f=r||h?.radio;if(!f)throw new Error(`Radio group component not found for field ${e}`);let S={name:e,defaultValue:t,description:i,label:l,options:s,...c};return Y(f,{field:{...F,onChange:n(m=>{F.onChange(m),p?.(m)},"onChange")},fieldState:a,fieldData:S})}})}n(j,"RadioGroupField");import{jsx as ee}from"react/jsx-runtime";function oe({label:e,name:t,options:i,defaultValue:l,description:s,onChange:p,component:r,...c}){let{control:h}=d(),{components:u}=C();return ee(g,{defaultValue:l,control:h,name:t,render:({field:F,fieldState:a})=>{let f=r||u?.select;if(!f)throw new Error(`Select component not found for field ${t}`);let S={label:e,name:t,options:i,defaultValue:l,description:s,onChange:p,...c};return ee(f,{field:{...F,onChange:n(m=>{let y=c.jsonType==="number"?Number(m):m;F.onChange(y),p?.(y)},"onChange")},fieldState:a,fieldData:S})}})}n(oe,"SelectField");import{jsx as te}from"react/jsx-runtime";function ne({label:e,name:t,options:i,defaultValue:l,description:s,onChange:p,$meta:r,component:c,...h}){let{control:u}=d(),{components:F}=C();return te(g,{defaultValue:l,control:u,name:t,render:({field:a,fieldState:f})=>{let S=c||F.countries;if(!S)throw new Error(`Country component not found for field ${t}`);let m={label:e,name:t,options:i,defaultValue:l,description:s,onChange:p,$meta:r,...h};return te(S,{field:{...a,onChange:n(y=>{a.onChange(y),p?.(y)},"onChange")},fieldState:f,fieldData:m})}})}n(ne,"CountryField");import{jsx as re}from"react/jsx-runtime";function ie({name:e,description:t,label:i,onChange:l,maxLength:s,component:p,...r}){let{components:c}=C(),{control:h}=d();return re(g,{control:h,name:e,render:({field:u,fieldState:F})=>{let a=p||c.textarea;if(!a)throw new Error(`Text area component not found for field ${e}`);let f={name:e,description:t,label:i,maxLength:s,...r};return re(a,{field:{...u,onChange:n(S=>{u.onChange(S),l?.(S)},"onChange")},fieldState:F,fieldData:f})}})}n(ie,"TextAreaField");import{jsx as le}from"react/jsx-runtime";function me(e){let{components:t}=C(),{control:i}=d(),l=e.component||t.email;if(!l)throw new Error(`Email component not found for field ${e.name}`);return le(g,{control:i,name:e.name,render:({field:s,fieldState:p})=>le(l,{field:{...s,onChange:n(r=>{s.onChange(r),e.onChange?.(r)},"onChange")},fieldState:p,fieldData:e})})}n(me,"EmailField");import{jsx as se}from"react/jsx-runtime";function ae(e){let{control:t}=d();return se(g,{control:t,name:e.name,render:({field:i})=>se("input",{...i,type:"hidden"})})}n(ae,"HiddenField");import{useEffect as be,useState as Te}from"react";import{jsx as pe}from"react/jsx-runtime";function de(e){let{components:t}=C(),{setValue:i,control:l,watch:s}=d(),p=s(e.name),[r,c]=Te(p),{workHoursSummary:h,breakSummary:u}=O(r),F=L(r);be(()=>{i(e.name,r)},[r,e.name,i]);function a(m){c(m)}n(a,"onSubmit");let f=e.component||t["work-schedule"];if(!f)throw new Error(`Work schedule component not found for field ${e.name}`);let S={...e,onSubmit:a,currentSchedule:r,defaultFormattedValue:{workHoursSummary:h,breakSummary:u,totalWorkHours:F}};return pe(g,{control:l,name:e.name,render:({field:m,fieldState:y})=>pe(f,{field:{...m,onChange:n(x=>{m.onChange(x),e.onChange?.(x)},"onChange")},fieldState:y,fieldData:S})})}n(de,"WorkScheduleField");import{jsx as ce}from"react/jsx-runtime";function ue({label:e,name:t,options:i,defaultValue:l,description:s,onChange:p,component:r,...c}){let{control:h}=d(),{components:u}=C();return ce(g,{defaultValue:l,control:h,name:t,render:({field:F,fieldState:a})=>{let f=r||u?.["multi-select"];if(!f)throw new Error(`Multi select component not found for field ${t}`);let S={label:e,name:t,options:i,defaultValue:l,description:s,onChange:p,...c};return ce(f,{field:{...F,onChange:n(m=>{F.onChange(m),p?.(m)},"onChange")},fieldState:a,fieldData:S})}})}n(ue,"MultiSelectField");import{jsx as $e}from"react/jsx-runtime";var Fe=n(e=>$e(N,{maxLength:15,...e}),"MoneyField");var A={checkbox:G,text:z,email:me,money:Fe,select:oe,"multi-select":ue,radio:j,number:N,file:Q,date:q,textarea:ie,countries:ne,hidden:ae,"work-schedule":de};import{Fragment as we,jsx as b,jsxs as $}from"react/jsx-runtime";function Ce({label:e,name:t,fields:i,description:l,components:s,statement:p,isFlatFieldset:r,extra:c,variant:h="outset",features:u,meta:F}){let{helpCenter:a}=F||{},{watch:f,setValue:S,trigger:m,formState:y}=d(),{components:x}=C(),P=u?.toggle?.stateField,T=P?f(P):u?.toggle?.defaultExpanded??!0,Se=i.map(({name:o})=>`${t}.${o}`),_=f(Se),B=ge(_),w=ge(null),he=n(()=>{P&&S(P,!T)},"toggleExpanded");Pe(()=>{let o=_,D=B.current,M=y.isSubmitted||y.submitCount>0,E=!1;for(let k=0;k<o.length;k++)if(o[k]!==void 0&&D[k]!==o[k]){E=!0;break}return E&&M&&(w.current&&clearTimeout(w.current),w.current=setTimeout(()=>{m()},50)),B.current=[...o],()=>{w.current&&clearTimeout(w.current)}},[_,m,y.isSubmitted,y.submitCount]);let ye=x?.fieldsetToggle||I,V=`${t}-content`,W=`${t}-header`;return $("fieldset",{className:R("border-1 border-input p-4 rounded-xl","RemoteFlows__FieldSetField",`RemoteFlows__FieldSetField__${t}`),children:[b("legend",{className:R("text-sm font-semibold px-2",h==="inset"&&"hidden"),children:e}),a?.callToAction&&a?.id&&h==="outset"&&b(J,{className:"RemoteFlows__FieldSetField__HelpCenterLink mb-3",zendeskId:a.id,children:a.callToAction}),h==="inset"&&$(we,{children:[$("div",{className:"RemoteFlows__FieldSetField__Header",id:W,"data-state":T?"expanded":"collapsed","aria-expanded":T,children:[b("h3",{className:R("RemoteFlows__FieldSetField__Title"),children:e}),u?.toggle?.enabled&&b(ye,{isExpanded:T,onToggle:he,"aria-expanded":T,"aria-controls":V,"aria-label":`${T?"Hide":"Show"} ${e}`,className:R("RemoteFlows__FieldSetField__Toggle",u.toggle?.className),children:T?u.toggle.labels?.collapse??"Remove":u.toggle.labels?.expand??"Define"})]}),a?.callToAction&&a?.id&&b(J,{className:"RemoteFlows__FieldSetField__HelpCenterLink mb-3",zendeskId:a.id,children:a.callToAction})]}),T&&$("div",{id:V,"aria-labelledby":W,role:"region",children:[l?b("div",{className:"mb-5 RemoteFlows__FieldSetField__Description",dangerouslySetInnerHTML:{__html:H(l)}}):null,$("div",{className:"grid gap-4",children:[i.map(o=>{if(o.calculateDynamicProperties&&(o={...o,...o.calculateDynamicProperties(_,o)||{}}),o.isVisible===!1||o.deprecated)return null;if(o.inputType==="fieldset")return b(Ce,{...o,name:`${r?o.name:`${t}.${o.name}`}`,components:s},`${r?o.name:`${t}.${o.name}`}`);if(o.inputType==="fieldset-flat")return b(Ce,{...o,name:`${r?o.name:`${t}.${o.name}`}`,components:s,isFlatFieldset:!0},`${r?o.name:`${t}.${o.name}`}`);let D=A[o.inputType];if(o.Component){let{Component:M}=o;return $(fe,{children:[b(M,{setValue:E=>S(r?o.name:`${t}.${o.name}`,E),...o}),o.statement?b(v,{...o.statement}):null,o.extra?o.extra:null]},`${r?o.name:`${t}.${o.name}`}`)}return D?(o.inputType==="select"&&o.multiple&&(D=A["multi-select"]),$(fe,{children:[b(D,{...o,name:`${r?o.name:`${t}.${o.name}`}`,component:s?.[o.inputType]}),o.statement?b(v,{...o.statement}):null,o.extra?o.extra:null]},`${r?o.name:`${t}.${o.name}`}`)):$("p",{className:"error",children:["Field type ",o.inputType," not supported"]})}),c||null,p?b(v,{...p}):null]})]})]})}n(Ce,"FieldSetField");export{A as a,Ce as b};
2
- //# sourceMappingURL=chunk-R7R6D7D4.js.map
1
+ import{a as v}from"./chunk-SNECOPBD.js";import{i as U}from"./chunk-T7O3YYOG.js";import{b as L,c as O,f as G}from"./chunk-AOSXULKY.js";import{a as I}from"./chunk-BYDQHL6O.js";import{a as z}from"./chunk-HJ7WOTV7.js";import{b as J}from"./chunk-YHCH57B7.js";import{c as d,h as g}from"./chunk-7EONM7HL.js";import{a as R,e as H}from"./chunk-VIGKOVHP.js";import{b as C}from"./chunk-KQPDXXG3.js";import{a as n}from"./chunk-P37U34EQ.js";import{Fragment as fe,useEffect as Pe,useRef as ge}from"react";import{jsx as Z}from"react/jsx-runtime";function q({description:e,label:t,name:i,minDate:l,maxDate:s,onChange:p,component:r,...c}){let{components:h}=C(),{control:u}=d(),F;c.meta?.mot&&typeof c.meta.mot=="number"?F=U(c.meta.mot):typeof l=="string"&&(F=new Date(`${l}T00:00:00`));let a;return s&&(a=new Date(`${s}T23:59:59`)),Z(g,{control:u,name:i,render:({field:f,fieldState:S})=>{let m=r||h?.date;if(!m)throw new Error(`Date picker component not found for field ${i}`);let y={description:e,label:t,name:i,onChange:p,...F&&{minDate:F.toISOString()},...a&&{maxDate:a.toISOString()},...c};return Z(m,{field:{...f,onChange:n(x=>{f.onChange(x),p?.(x)},"onChange")},fieldState:S,fieldData:y})}})}n(q,"DatePickerField");import{jsx as K}from"react/jsx-runtime";var xe=n((e,t)=>{if(!t)return null;for(let i of e)if(i.size>t){let l=Math.round(t/1048576),s=Math.round(i.size/(1024*1024));return`File "${i.name}" exceeds maximum size of ${l}MB (file is ${s}MB)`}return null},"validateFileSize");function Q({name:e,description:t,label:i,multiple:l,onChange:s,component:p,accept:r,maxSize:c,...h}){let{components:u}=C(),{control:F,setError:a,clearErrors:f}=d(),S=n(async(m,y)=>{let x=xe(m,c);if(x){a(e,{message:x});return}f(e),y.onChange(m),s?.(m)},"handleOnChange");return K(g,{control:F,name:e,render:({field:m,fieldState:y})=>{let x=p||u.file;if(!x)throw new Error(`File upload component not found for field ${e}`);let P={name:e,description:t,label:i,multiple:l,accept:r,maxFileSize:c,...h};return K(x,{field:{...m,value:m.value,onChange:n(async T=>S(T,m),"onChange")},fieldState:y,fieldData:P})}})}n(Q,"FileUploadField");import{jsx as X}from"react/jsx-runtime";function N(e){let{components:t}=C(),{control:i}=d(),l=e.component||t.number;if(!l)throw new Error(`Number component not found for field ${e.name}`);return X(g,{control:i,name:e.name,render:({field:s,fieldState:p})=>X(l,{field:{...s,onChange:n(r=>{s.onChange(r),e.onChange?.(r)},"onChange")},fieldState:p,fieldData:e})})}n(N,"NumberField");import{jsx as Y}from"react/jsx-runtime";function j({name:e,defaultValue:t,description:i,label:l,options:s,onChange:p,component:r,...c}){let{components:h}=C(),{control:u}=d();return Y(g,{control:u,name:e,defaultValue:t,render:({field:F,fieldState:a})=>{let f=r||h?.radio;if(!f)throw new Error(`Radio group component not found for field ${e}`);let S={name:e,defaultValue:t,description:i,label:l,options:s,...c};return Y(f,{field:{...F,onChange:n(m=>{F.onChange(m),p?.(m)},"onChange")},fieldState:a,fieldData:S})}})}n(j,"RadioGroupField");import{jsx as ee}from"react/jsx-runtime";function oe({label:e,name:t,options:i,defaultValue:l,description:s,onChange:p,component:r,...c}){let{control:h}=d(),{components:u}=C();return ee(g,{defaultValue:l,control:h,name:t,render:({field:F,fieldState:a})=>{let f=r||u?.select;if(!f)throw new Error(`Select component not found for field ${t}`);let S={label:e,name:t,options:i,defaultValue:l,description:s,onChange:p,...c};return ee(f,{field:{...F,onChange:n(m=>{let y=c.jsonType==="number"?Number(m):m;F.onChange(y),p?.(y)},"onChange")},fieldState:a,fieldData:S})}})}n(oe,"SelectField");import{jsx as te}from"react/jsx-runtime";function ne({label:e,name:t,options:i,defaultValue:l,description:s,onChange:p,$meta:r,component:c,...h}){let{control:u}=d(),{components:F}=C();return te(g,{defaultValue:l,control:u,name:t,render:({field:a,fieldState:f})=>{let S=c||F.countries;if(!S)throw new Error(`Country component not found for field ${t}`);let m={label:e,name:t,options:i,defaultValue:l,description:s,onChange:p,$meta:r,...h};return te(S,{field:{...a,onChange:n(y=>{a.onChange(y),p?.(y)},"onChange")},fieldState:f,fieldData:m})}})}n(ne,"CountryField");import{jsx as re}from"react/jsx-runtime";function ie({name:e,description:t,label:i,onChange:l,maxLength:s,component:p,...r}){let{components:c}=C(),{control:h}=d();return re(g,{control:h,name:e,render:({field:u,fieldState:F})=>{let a=p||c.textarea;if(!a)throw new Error(`Text area component not found for field ${e}`);let f={name:e,description:t,label:i,maxLength:s,...r};return re(a,{field:{...u,onChange:n(S=>{u.onChange(S),l?.(S)},"onChange")},fieldState:F,fieldData:f})}})}n(ie,"TextAreaField");import{jsx as le}from"react/jsx-runtime";function me(e){let{components:t}=C(),{control:i}=d(),l=e.component||t.email;if(!l)throw new Error(`Email component not found for field ${e.name}`);return le(g,{control:i,name:e.name,render:({field:s,fieldState:p})=>le(l,{field:{...s,onChange:n(r=>{s.onChange(r),e.onChange?.(r)},"onChange")},fieldState:p,fieldData:e})})}n(me,"EmailField");import{jsx as se}from"react/jsx-runtime";function ae(e){let{control:t}=d();return se(g,{control:t,name:e.name,render:({field:i})=>se("input",{...i,type:"hidden"})})}n(ae,"HiddenField");import{useEffect as be,useState as Te}from"react";import{jsx as pe}from"react/jsx-runtime";function de(e){let{components:t}=C(),{setValue:i,control:l,watch:s}=d(),p=s(e.name),[r,c]=Te(p),{workHoursSummary:h,breakSummary:u}=O(r),F=L(r);be(()=>{i(e.name,r)},[r,e.name,i]);function a(m){c(m)}n(a,"onSubmit");let f=e.component||t["work-schedule"];if(!f)throw new Error(`Work schedule component not found for field ${e.name}`);let S={...e,onSubmit:a,currentSchedule:r,defaultFormattedValue:{workHoursSummary:h,breakSummary:u,totalWorkHours:F}};return pe(g,{control:l,name:e.name,render:({field:m,fieldState:y})=>pe(f,{field:{...m,onChange:n(x=>{m.onChange(x),e.onChange?.(x)},"onChange")},fieldState:y,fieldData:S})})}n(de,"WorkScheduleField");import{jsx as ce}from"react/jsx-runtime";function ue({label:e,name:t,options:i,defaultValue:l,description:s,onChange:p,component:r,...c}){let{control:h}=d(),{components:u}=C();return ce(g,{defaultValue:l,control:h,name:t,render:({field:F,fieldState:a})=>{let f=r||u?.["multi-select"];if(!f)throw new Error(`Multi select component not found for field ${t}`);let S={label:e,name:t,options:i,defaultValue:l,description:s,onChange:p,...c};return ce(f,{field:{...F,onChange:n(m=>{F.onChange(m),p?.(m)},"onChange")},fieldState:a,fieldData:S})}})}n(ue,"MultiSelectField");import{jsx as $e}from"react/jsx-runtime";var Fe=n(e=>$e(N,{maxLength:15,...e}),"MoneyField");var A={checkbox:G,text:z,email:me,money:Fe,select:oe,"multi-select":ue,radio:j,number:N,file:Q,date:q,textarea:ie,countries:ne,hidden:ae,"work-schedule":de};import{Fragment as we,jsx as b,jsxs as $}from"react/jsx-runtime";function Ce({label:e,name:t,fields:i,description:l,components:s,statement:p,isFlatFieldset:r,extra:c,variant:h="outset",features:u,meta:F}){let{helpCenter:a}=F||{},{watch:f,setValue:S,trigger:m,formState:y}=d(),{components:x}=C(),P=u?.toggle?.stateField,T=P?f(P):u?.toggle?.defaultExpanded??!0,Se=i.map(({name:o})=>`${t}.${o}`),_=f(Se),B=ge(_),w=ge(null),he=n(()=>{P&&S(P,!T)},"toggleExpanded");Pe(()=>{let o=_,D=B.current,M=y.isSubmitted||y.submitCount>0,E=!1;for(let k=0;k<o.length;k++)if(o[k]!==void 0&&D[k]!==o[k]){E=!0;break}return E&&M&&(w.current&&clearTimeout(w.current),w.current=setTimeout(()=>{m()},50)),B.current=[...o],()=>{w.current&&clearTimeout(w.current)}},[_,m,y.isSubmitted,y.submitCount]);let ye=x?.fieldsetToggle||I,V=`${t}-content`,W=`${t}-header`;return $("fieldset",{className:R("border-1 border-input p-4 rounded-xl","RemoteFlows__FieldSetField",`RemoteFlows__FieldSetField__${t}`),children:[b("legend",{className:R("text-sm font-semibold px-2",h==="inset"&&"hidden"),children:e}),a?.callToAction&&a?.id&&h==="outset"&&b(J,{className:"RemoteFlows__FieldSetField__HelpCenterLink mb-3",zendeskId:a.id,children:a.callToAction}),h==="inset"&&$(we,{children:[$("div",{className:"RemoteFlows__FieldSetField__Header",id:W,"data-state":T?"expanded":"collapsed","aria-expanded":T,children:[b("h3",{className:R("RemoteFlows__FieldSetField__Title"),children:e}),u?.toggle?.enabled&&b(ye,{isExpanded:T,onToggle:he,"aria-expanded":T,"aria-controls":V,"aria-label":`${T?"Hide":"Show"} ${e}`,className:R("RemoteFlows__FieldSetField__Toggle",u.toggle?.className),children:T?u.toggle.labels?.collapse??"Remove":u.toggle.labels?.expand??"Define"})]}),a?.callToAction&&a?.id&&b(J,{className:"RemoteFlows__FieldSetField__HelpCenterLink mb-3",zendeskId:a.id,children:a.callToAction})]}),T&&$("div",{id:V,"aria-labelledby":W,role:"region",children:[l?b("div",{className:"mb-5 RemoteFlows__FieldSetField__Description",dangerouslySetInnerHTML:{__html:H(l)}}):null,$("div",{className:"grid gap-4",children:[i.map(o=>{if(o.calculateDynamicProperties&&(o={...o,...o.calculateDynamicProperties(_,o)||{}}),o.isVisible===!1||o.deprecated)return null;if(o.inputType==="fieldset")return b(Ce,{...o,name:`${r?o.name:`${t}.${o.name}`}`,components:s},`${r?o.name:`${t}.${o.name}`}`);if(o.inputType==="fieldset-flat")return b(Ce,{...o,name:`${r?o.name:`${t}.${o.name}`}`,components:s,isFlatFieldset:!0},`${r?o.name:`${t}.${o.name}`}`);let D=A[o.inputType];if(o.Component){let{Component:M}=o;return $(fe,{children:[b(M,{setValue:E=>S(r?o.name:`${t}.${o.name}`,E),...o}),o.statement?b(v,{...o.statement}):null,o.extra?o.extra:null]},`${r?o.name:`${t}.${o.name}`}`)}return D?(o.inputType==="select"&&o.multiple&&(D=A["multi-select"]),$(fe,{children:[b(D,{...o,name:`${r?o.name:`${t}.${o.name}`}`,component:s?.[o.inputType]}),o.statement?b(v,{...o.statement}):null,o.extra?o.extra:null]},`${r?o.name:`${t}.${o.name}`}`)):$("p",{className:"error",children:["Field type ",o.inputType," not supported"]})}),c||null,p?b(v,{...p}):null]})]})]})}n(Ce,"FieldSetField");export{A as a,Ce as b};
2
+ //# sourceMappingURL=chunk-JTPKAIYL.js.map
@@ -1,2 +1,2 @@
1
- import{a as s}from"./chunk-3GBODX6S.js";import{b as e}from"./chunk-Q3ALCPJN.js";import{k as t}from"./chunk-VIGKOVHP.js";import{a as i}from"./chunk-P37U34EQ.js";import{jsx as u}from"react/jsx-runtime";function E({components:l,onSubmit:p,onSuccess:c,onError:m}){let{contractorOnboardingBag:r}=e(),d=i(async a=>{try{let n=await r.parseFormValues(a);await p?.(n);let o=await r.onSubmit(a);if(o?.data){await c?.(o?.data),r?.next();return}}catch(n){let o=t(n,r.meta?.fields?.pricing_plan);m?.(o)}},"handleSubmit"),P=r.stepState.values?.pricing_plan||r.initialValues.pricing_plan;return u(s,{components:l,defaultValues:P,onSubmit:d})}i(E,"PricingPlanStep");export{E as a};
2
- //# sourceMappingURL=chunk-D3EB2FG3.js.map
1
+ import{a as s}from"./chunk-PGVYRAFJ.js";import{b as e}from"./chunk-Q3ALCPJN.js";import{k as t}from"./chunk-VIGKOVHP.js";import{a as i}from"./chunk-P37U34EQ.js";import{jsx as u}from"react/jsx-runtime";function E({components:l,onSubmit:p,onSuccess:c,onError:m}){let{contractorOnboardingBag:r}=e(),d=i(async a=>{try{let n=await r.parseFormValues(a);await p?.(n);let o=await r.onSubmit(a);if(o?.data){await c?.(o?.data),r?.next();return}}catch(n){let o=t(n,r.meta?.fields?.pricing_plan);m?.(o)}},"handleSubmit"),P=r.stepState.values?.pricing_plan||r.initialValues.pricing_plan;return u(s,{components:l,defaultValues:P,onSubmit:d})}i(E,"PricingPlanStep");export{E as a};
2
+ //# sourceMappingURL=chunk-JZM3TDK2.js.map
@@ -1,2 +1,2 @@
1
- import{a}from"./chunk-UAWJQ3EH.js";import{b as i}from"./chunk-PGWKJ6FK.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as d}from"react/jsx-runtime";function y({onSubmit:s,onSuccess:c,onError:t}){let{onboardingBag:o}=i(),u=e(async n=>{try{await s?.({countryCode:n.country});let r=await o.onSubmit(n);if(r?.data){await c?.(r?.data),o?.next();return}r?.error&&t?.({error:r.error,rawError:r.rawError,fieldErrors:[]})}catch(r){t?.({error:r,rawError:r,fieldErrors:[]})}},"handleSubmit"),l=o.stepState.values?.select_country||o.initialValues.select_country;return d(a,{defaultValues:l,onSubmit:u})}e(y,"SelectCountryStep");export{y as a};
2
- //# sourceMappingURL=chunk-4QNOC3FL.js.map
1
+ import{a}from"./chunk-WZSDVFJ3.js";import{b as i}from"./chunk-PGWKJ6FK.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as d}from"react/jsx-runtime";function y({onSubmit:s,onSuccess:c,onError:t}){let{onboardingBag:o}=i(),u=e(async n=>{try{await s?.({countryCode:n.country});let r=await o.onSubmit(n);if(r?.data){await c?.(r?.data),o?.next();return}r?.error&&t?.({error:r.error,rawError:r.rawError,fieldErrors:[]})}catch(r){t?.({error:r,rawError:r,fieldErrors:[]})}},"handleSubmit"),l=o.stepState.values?.select_country||o.initialValues.select_country;return d(a,{defaultValues:l,onSubmit:u})}e(y,"SelectCountryStep");export{y as a};
2
+ //# sourceMappingURL=chunk-KANAWPXZ.js.map
@@ -1,2 +1,2 @@
1
- import{b as f}from"./chunk-LNV36S6D.js";import{a as F}from"./chunk-BAGPUVVO.js";import{e as p}from"./chunk-T7O3YYOG.js";import{f as l,g as u}from"./chunk-7EONM7HL.js";import{b as _}from"./chunk-TVZAFTPT.js";import{a}from"./chunk-P37U34EQ.js";import{useEffect as w}from"react";import{jsx as r}from"react/jsx-runtime";var R=["effective_date","reason_for_change","reason_for_change_description","additional_comments","additional_comments_toggle"];function x({onSubmit:b,onError:m,onSuccess:A}){let{formId:C,contractAmendment:{checkFieldUpdates:h,fields:s,onSubmit:y,stepState:S,initialValues:i,handleValidation:g}}=_(),V=f(g),e=l({resolver:V,defaultValues:S.values?.form||i,shouldUnregister:!0,mode:"onBlur"});w(()=>{let t=e?.watch(o=>{(Object.keys(e.formState.dirtyFields).length>0||e.formState.isDirty)&&h(o)});return()=>t?.unsubscribe()},[]);let v=a(async t=>{let o=!1;for(let[c,P]of Object.entries(t))if(!R.includes(c)&&i[c]!==P){o=!0;break}if(!o)return m?.({message:"no_changes_detected_contract_details"});let d=await p(t,s,{isPartialValidation:!1});await b?.(d);let n=await y(t);n.error?m?.(n.error):await A?.(n.data)},"handleSubmit");return r(u,{...e,children:r("form",{id:C,"data-testid":"contract-amendment-form",onSubmit:e.handleSubmit(v),className:"space-y-4 RemoteFlows__ContractAmendmentForm",children:r(F,{fields:s})})})}a(x,"ContractAmendmentForm");export{x as a};
2
- //# sourceMappingURL=chunk-U32PNP6D.js.map
1
+ import{b as f}from"./chunk-LNV36S6D.js";import{a as F}from"./chunk-BUOCIXUH.js";import{e as p}from"./chunk-T7O3YYOG.js";import{f as l,g as u}from"./chunk-7EONM7HL.js";import{b as _}from"./chunk-TVZAFTPT.js";import{a}from"./chunk-P37U34EQ.js";import{useEffect as w}from"react";import{jsx as r}from"react/jsx-runtime";var R=["effective_date","reason_for_change","reason_for_change_description","additional_comments","additional_comments_toggle"];function x({onSubmit:b,onError:m,onSuccess:A}){let{formId:C,contractAmendment:{checkFieldUpdates:h,fields:s,onSubmit:y,stepState:S,initialValues:i,handleValidation:g}}=_(),V=f(g),e=l({resolver:V,defaultValues:S.values?.form||i,shouldUnregister:!0,mode:"onBlur"});w(()=>{let t=e?.watch(o=>{(Object.keys(e.formState.dirtyFields).length>0||e.formState.isDirty)&&h(o)});return()=>t?.unsubscribe()},[]);let v=a(async t=>{let o=!1;for(let[c,P]of Object.entries(t))if(!R.includes(c)&&i[c]!==P){o=!0;break}if(!o)return m?.({message:"no_changes_detected_contract_details"});let d=await p(t,s,{isPartialValidation:!1});await b?.(d);let n=await y(t);n.error?m?.(n.error):await A?.(n.data)},"handleSubmit");return r(u,{...e,children:r("form",{id:C,"data-testid":"contract-amendment-form",onSubmit:e.handleSubmit(v),className:"space-y-4 RemoteFlows__ContractAmendmentForm",children:r(F,{fields:s})})})}a(x,"ContractAmendmentForm");export{x as a};
2
+ //# sourceMappingURL=chunk-LSW66EIR.js.map
@@ -1,2 +1,2 @@
1
- import{a as u}from"./chunk-7RP5F62S.js";import{a as F}from"./chunk-RGLQY27T.js";import{i as p,j as l,k as i,l as a,m as c}from"./chunk-7EONM7HL.js";import{a as m}from"./chunk-P37U34EQ.js";import{useEffect as $,useState as v}from"react";import{jsx as n,jsxs as C}from"react/jsx-runtime";function L({field:t,fieldState:b,fieldData:o}){let[g,s]=v([]),_=m(e=>{let r=e.map(({value:S})=>S);t.onChange(r),s(e)},"handleChange");$(()=>{t.value&&o.options&&s(t.value.map(e=>o?.options?.find(r=>r.value===e)))},[t.value,o.options]);let y=[...Object.entries(o.$meta?.regions||{}).map(([e,r])=>({value:r,label:e,category:"Regions"})),...Object.entries(o.$meta?.subregions||{}).map(([e,r])=>({value:r,label:e,category:"Subregions"})),...o.options?.map(e=>({...e,value:e.value,label:e.label,category:"Countries"}))||[]];return C(p,{"data-field":t.name,className:`RemoteFlows__CountryField__Item__${t.name}`,children:[n(l,{className:"RemoteFlows__CountryField__Label",children:o.label}),n(i,{children:n(u,{options:y,selected:g,onChange:_})}),o.description&&C(a,{children:[o.description," ",n(F,{helpCenter:o.meta?.helpCenter})]}),b.error&&n(c,{})]})}m(L,"CountryFieldDefault");export{L as a};
2
- //# sourceMappingURL=chunk-UKTMSVMG.js.map
1
+ import{a as u}from"./chunk-VPSESR6G.js";import{a as F}from"./chunk-RGLQY27T.js";import{i as p,j as l,k as i,l as a,m as c}from"./chunk-7EONM7HL.js";import{a as m}from"./chunk-P37U34EQ.js";import{useEffect as $,useState as v}from"react";import{jsx as n,jsxs as C}from"react/jsx-runtime";function L({field:t,fieldState:b,fieldData:o}){let[g,s]=v([]),_=m(e=>{let r=e.map(({value:S})=>S);t.onChange(r),s(e)},"handleChange");$(()=>{t.value&&o.options&&s(t.value.map(e=>o?.options?.find(r=>r.value===e)))},[t.value,o.options]);let y=[...Object.entries(o.$meta?.regions||{}).map(([e,r])=>({value:r,label:e,category:"Regions"})),...Object.entries(o.$meta?.subregions||{}).map(([e,r])=>({value:r,label:e,category:"Subregions"})),...o.options?.map(e=>({...e,value:e.value,label:e.label,category:"Countries"}))||[]];return C(p,{"data-field":t.name,className:`RemoteFlows__CountryField__Item__${t.name}`,children:[n(l,{className:"RemoteFlows__CountryField__Label",children:o.label}),n(i,{children:n(u,{options:y,selected:g,onChange:_})}),o.description&&C(a,{children:[o.description," ",n(F,{helpCenter:o.meta?.helpCenter})]}),b.error&&n(c,{})]})}m(L,"CountryFieldDefault");export{L as a};
2
+ //# sourceMappingURL=chunk-M7KQPXCS.js.map
@@ -1,2 +1,2 @@
1
- import{a as $,d as w,e as x,f as B}from"./chunk-AOSXULKY.js";import{a as N}from"./chunk-HJ7WOTV7.js";import{a as g,b as k,d as D,e as R,f as H,g as C}from"./chunk-7EONM7HL.js";import{a as T,b as E,c as j,d as O,f as V}from"./chunk-547UHEDI.js";import{b as F}from"./chunk-RJY6AEJB.js";import{a as s}from"./chunk-P37U34EQ.js";import*as l from"yup";var P=s((t,a,r)=>{if(t&&"reportValidity"in t){let o=g(r,a);t.setCustomValidity(o&&o.message||""),t.reportValidity()}},"r"),b=s((t,a)=>{for(let r in a.fields){let o=a.fields[r];o&&o.ref&&"reportValidity"in o.ref?P(o.ref,r,t):o&&o.refs&&o.refs.forEach(u=>P(u,r,t))}},"o"),q=s((t,a)=>{a.shouldUseNativeValidation&&b(t,a);let r={};for(let o in t){let u=g(a.fields,o),i=Object.assign(t[o]||{},{ref:u&&u.ref});if(A(a.names||Object.keys(t),o)){let n=Object.assign({},g(r,o));k(n,"root",i),k(r,o,n)}else k(r,o,i)}return r},"s"),A=s((t,a)=>{let r=M(a);return t.some(o=>M(o).match(`^${r}\\.\\d+`))},"i");function M(t){return t.replace(/\]|\[/g,"")}s(M,"n");function L(t,a,r){return a===void 0&&(a={}),r===void 0&&(r={}),function(o,u,i){try{return Promise.resolve((function(n,_){try{var p=(a.context&&process.env.NODE_ENV==="development"&&console.warn("You should not used the yup options context. Please, use the 'useForm' context object instead"),Promise.resolve(t[r.mode==="sync"?"validateSync":"validate"](o,Object.assign({abortEarly:!1},a,{context:u}))).then(function(m){return i.shouldUseNativeValidation&&b({},i),{values:r.raw?Object.assign({},o):m,errors:{}}}))}catch(m){return _(m)}return p&&p.then?p.then(void 0,_):p})(0,function(n){if(!n.inner)throw n;return{values:{},errors:q((_=n,p=!i.shouldUseNativeValidation&&i.criteriaMode==="all",(_.inner||[]).reduce(function(m,c){if(m[c.path]||(m[c.path]={message:c.message,type:c.type}),p){var S=m[c.path].types,y=S&&S[c.type];m[c.path]=D(c.path,p,m,c.type,y?[].concat(y,c.message):c.message)}return m},{})),i)};var _,p}))}catch(n){return Promise.reject(n)}}}s(L,"o");import{Fragment as Y,useState as z}from"react";import{jsx as e,jsxs as d}from"react/jsx-runtime";var K=l.object({day:l.string().required(),checked:l.boolean().required(),start_time:l.string().matches(/^([01]\d|2[0-3]):([0-5]\d)$/,"Invalid time format (HH:mm)").when("checked",{is:!0,then:s(t=>t.required("Required"),"then"),otherwise:s(t=>t.optional().nullable(),"otherwise")}),end_time:l.string().matches(/^([01]\d|2[0-3]):([0-5]\d)$/,"Invalid time format (HH:mm)").when("checked",{is:!0,then:s(t=>t.required("Required"),"then"),otherwise:s(t=>t.optional().nullable(),"otherwise")}),hours:l.number().default(0),break_duration_minutes:l.string().default("0")}),G=l.object({schedule:l.array(K)});function J({defaultSchedule:t,onSubmit:a}){let[r,o]=z(!1),u=$.map(f=>{let h=t.find(v=>v.day.toLowerCase()===x(f).toLowerCase()||v.day.toLowerCase()===f.toLowerCase());return h?{...h,day:x(f),checked:!0}:{...t[0],checked:!1,day:x(f)}}),i=H({defaultValues:{schedule:u},resolver:L(G)}),{handleSubmit:n,watch:_,reset:p,control:m,formState:c}=i,{fields:S}=R({name:"schedule",control:m}),y=_("schedule");function I(f){let h=f.schedule.filter(({checked:v})=>v).map(v=>({...v,hours:w(v)}));a(h),o(!1)}s(I,"handleSubmitWorkingHours");function U(){p(),o(!1)}return s(U,"handleCancel"),e("div",{className:"flex items-center justify-between",children:d(T,{open:r,onOpenChange:o,children:[e(E,{asChild:!0,children:e(F,{variant:"link",className:"flex items-center p-0 RemoteFlows__WorkScheduleSelectionForm__Trigger",children:"Edit Schedule"})}),d(j,{className:"max-w-5xl max-h-[90vh] overflow-y-auto px-8 py-4 RemoteFlows__WorkScheduleSelectionForm__Content",children:[e(O,{children:e(V,{className:"RemoteFlows__WorkScheduleSelectionForm__Title",children:"Edit employee working hours"})}),e(C,{...i,children:d("form",{className:"space-y-4 RemoteFlows__WorkScheduleSelectionForm__Form",children:[d("div",{className:"rounded-lg",children:[e("p",{className:"text-gray-600 text-sm mb-4 RemoteFlows__WorkScheduleSelectionForm__Description",children:"The times displayed are in the employee's time zone in the 24-hour format."}),d("div",{className:"grid grid-cols-12 gap-4 text-sm font-medium text-gray-500 uppercase tracking-wide RemoteFlows__WorkScheduleSelectionForm__Header",children:[e("div",{className:"col-span-2"}),e("div",{className:"col-span-3 text-center",children:"START"}),e("div",{className:"col-span-1 text-center"}),e("div",{className:"col-span-3 text-center",children:"END"}),e("div",{className:"col-span-2 text-center",children:"HOURS"})]}),e("div",{className:"RemoteFlows__WorkScheduleSelectionForm__Rows",children:S.map((f,h)=>{let v=y[h],W=w(v);return d(Y,{children:[d("div",{className:"grid grid-cols-12 gap-4 items-center py-2 RemoteFlows__WorkScheduleSelectionForm__Row-Hours",children:[e("div",{className:"col-span-2 flex items-center gap-3",children:e(B,{label:f.day,name:`schedule.${h}.checked`})}),e("div",{className:"col-span-3",children:e(N,{name:`schedule.${h}.start_time`,includeErrorMessage:!1})}),e("div",{className:"col-span-1 text-center text-gray-500",children:"to"}),e("div",{className:"col-span-3",children:e(N,{name:`schedule.${h}.end_time`,includeErrorMessage:!1})}),e("div",{className:"col-span-2 text-center text-gray-600",children:isNaN(W)?"-":`${W} hours`})]}),d("div",{className:"grid grid-cols-12 gap-4 items-center py-2 RemoteFlows__WorkScheduleSelectionForm__Row-Break",children:[e("div",{className:"col-span-2 text-gray-500",children:"Break"}),e("div",{className:"col-span-2",children:e(N,{name:`schedule.${h}.break_duration_minutes`,includeErrorMessage:!1})}),e("div",{className:"col-span-2 text-gray-500",children:"minutes"}),e("div",{className:"col-span-4"})]})]},f.id)})})]}),Object.keys(c.errors).length>0&&e("p",{className:"text-destructive text-sm mb-0",children:"Invalid time format (HH:mm)"}),d("div",{className:"flex gap-4 pt-4",children:[e(F,{type:"button",className:"reset-button",variant:"outline",onClick:U,children:"Cancel"}),e(F,{type:"button",className:"submit-button",onClick:n(I),children:"Save Schedule"})]})]})})]})]})})}s(J,"WorkScheduleSelectionForm");var he=s(({fieldData:t})=>{let{defaultFormattedValue:a,currentSchedule:r,onSubmit:o}=t,{workHoursSummary:u,breakSummary:i,totalWorkHours:n}=a;return d("div",{className:"flex flex-col gap-3 RemoteFlows__WorkScheduleField",children:[e("p",{className:"text-sm RemoteFlows__WorkScheduleField__Title",children:"Work hours"}),d("div",{className:"flex flex-col gap-1 RemoteFlows__WorkScheduleField__Summary",children:[e("p",{className:"text-sm text-gray-500 RemoteFlows__WorkScheduleField__Summary__WorkHours",dangerouslySetInnerHTML:{__html:u.join(", ")}}),e("p",{className:"text-sm text-gray-500 RemoteFlows__WorkScheduleField__Summary__Break",children:i.join()}),d("p",{className:"text-sm text-gray-500 RemoteFlows__WorkScheduleField__Summary__Total",children:["Total of ",e("span",{children:n})," hours per week"]}),e(J,{defaultSchedule:r,onSubmit:o})]})]})},"WorkScheduleFieldDefault");export{he as a};
2
- //# sourceMappingURL=chunk-FDEJ4CIO.js.map
1
+ import{a as $,d as w,e as x,f as B}from"./chunk-AOSXULKY.js";import{a as N}from"./chunk-HJ7WOTV7.js";import{a as g,b as k,d as D,e as R,f as H,g as C}from"./chunk-7EONM7HL.js";import{a as T,b as E,c as j,d as O,f as V}from"./chunk-547UHEDI.js";import{b as F}from"./chunk-MP3VDCI7.js";import{a as s}from"./chunk-P37U34EQ.js";import*as l from"yup";var P=s((t,a,r)=>{if(t&&"reportValidity"in t){let o=g(r,a);t.setCustomValidity(o&&o.message||""),t.reportValidity()}},"r"),b=s((t,a)=>{for(let r in a.fields){let o=a.fields[r];o&&o.ref&&"reportValidity"in o.ref?P(o.ref,r,t):o&&o.refs&&o.refs.forEach(u=>P(u,r,t))}},"o"),q=s((t,a)=>{a.shouldUseNativeValidation&&b(t,a);let r={};for(let o in t){let u=g(a.fields,o),i=Object.assign(t[o]||{},{ref:u&&u.ref});if(A(a.names||Object.keys(t),o)){let n=Object.assign({},g(r,o));k(n,"root",i),k(r,o,n)}else k(r,o,i)}return r},"s"),A=s((t,a)=>{let r=M(a);return t.some(o=>M(o).match(`^${r}\\.\\d+`))},"i");function M(t){return t.replace(/\]|\[/g,"")}s(M,"n");function L(t,a,r){return a===void 0&&(a={}),r===void 0&&(r={}),function(o,u,i){try{return Promise.resolve((function(n,_){try{var p=(a.context&&process.env.NODE_ENV==="development"&&console.warn("You should not used the yup options context. Please, use the 'useForm' context object instead"),Promise.resolve(t[r.mode==="sync"?"validateSync":"validate"](o,Object.assign({abortEarly:!1},a,{context:u}))).then(function(m){return i.shouldUseNativeValidation&&b({},i),{values:r.raw?Object.assign({},o):m,errors:{}}}))}catch(m){return _(m)}return p&&p.then?p.then(void 0,_):p})(0,function(n){if(!n.inner)throw n;return{values:{},errors:q((_=n,p=!i.shouldUseNativeValidation&&i.criteriaMode==="all",(_.inner||[]).reduce(function(m,c){if(m[c.path]||(m[c.path]={message:c.message,type:c.type}),p){var S=m[c.path].types,y=S&&S[c.type];m[c.path]=D(c.path,p,m,c.type,y?[].concat(y,c.message):c.message)}return m},{})),i)};var _,p}))}catch(n){return Promise.reject(n)}}}s(L,"o");import{Fragment as Y,useState as z}from"react";import{jsx as e,jsxs as d}from"react/jsx-runtime";var K=l.object({day:l.string().required(),checked:l.boolean().required(),start_time:l.string().matches(/^([01]\d|2[0-3]):([0-5]\d)$/,"Invalid time format (HH:mm)").when("checked",{is:!0,then:s(t=>t.required("Required"),"then"),otherwise:s(t=>t.optional().nullable(),"otherwise")}),end_time:l.string().matches(/^([01]\d|2[0-3]):([0-5]\d)$/,"Invalid time format (HH:mm)").when("checked",{is:!0,then:s(t=>t.required("Required"),"then"),otherwise:s(t=>t.optional().nullable(),"otherwise")}),hours:l.number().default(0),break_duration_minutes:l.string().default("0")}),G=l.object({schedule:l.array(K)});function J({defaultSchedule:t,onSubmit:a}){let[r,o]=z(!1),u=$.map(f=>{let h=t.find(v=>v.day.toLowerCase()===x(f).toLowerCase()||v.day.toLowerCase()===f.toLowerCase());return h?{...h,day:x(f),checked:!0}:{...t[0],checked:!1,day:x(f)}}),i=H({defaultValues:{schedule:u},resolver:L(G)}),{handleSubmit:n,watch:_,reset:p,control:m,formState:c}=i,{fields:S}=R({name:"schedule",control:m}),y=_("schedule");function I(f){let h=f.schedule.filter(({checked:v})=>v).map(v=>({...v,hours:w(v)}));a(h),o(!1)}s(I,"handleSubmitWorkingHours");function U(){p(),o(!1)}return s(U,"handleCancel"),e("div",{className:"flex items-center justify-between",children:d(T,{open:r,onOpenChange:o,children:[e(E,{asChild:!0,children:e(F,{variant:"link",className:"flex items-center p-0 RemoteFlows__WorkScheduleSelectionForm__Trigger",children:"Edit Schedule"})}),d(j,{className:"max-w-5xl max-h-[90vh] overflow-y-auto px-8 py-4 RemoteFlows__WorkScheduleSelectionForm__Content",children:[e(O,{children:e(V,{className:"RemoteFlows__WorkScheduleSelectionForm__Title",children:"Edit employee working hours"})}),e(C,{...i,children:d("form",{className:"space-y-4 RemoteFlows__WorkScheduleSelectionForm__Form",children:[d("div",{className:"rounded-lg",children:[e("p",{className:"text-gray-600 text-sm mb-4 RemoteFlows__WorkScheduleSelectionForm__Description",children:"The times displayed are in the employee's time zone in the 24-hour format."}),d("div",{className:"grid grid-cols-12 gap-4 text-sm font-medium text-gray-500 uppercase tracking-wide RemoteFlows__WorkScheduleSelectionForm__Header",children:[e("div",{className:"col-span-2"}),e("div",{className:"col-span-3 text-center",children:"START"}),e("div",{className:"col-span-1 text-center"}),e("div",{className:"col-span-3 text-center",children:"END"}),e("div",{className:"col-span-2 text-center",children:"HOURS"})]}),e("div",{className:"RemoteFlows__WorkScheduleSelectionForm__Rows",children:S.map((f,h)=>{let v=y[h],W=w(v);return d(Y,{children:[d("div",{className:"grid grid-cols-12 gap-4 items-center py-2 RemoteFlows__WorkScheduleSelectionForm__Row-Hours",children:[e("div",{className:"col-span-2 flex items-center gap-3",children:e(B,{label:f.day,name:`schedule.${h}.checked`})}),e("div",{className:"col-span-3",children:e(N,{name:`schedule.${h}.start_time`,includeErrorMessage:!1})}),e("div",{className:"col-span-1 text-center text-gray-500",children:"to"}),e("div",{className:"col-span-3",children:e(N,{name:`schedule.${h}.end_time`,includeErrorMessage:!1})}),e("div",{className:"col-span-2 text-center text-gray-600",children:isNaN(W)?"-":`${W} hours`})]}),d("div",{className:"grid grid-cols-12 gap-4 items-center py-2 RemoteFlows__WorkScheduleSelectionForm__Row-Break",children:[e("div",{className:"col-span-2 text-gray-500",children:"Break"}),e("div",{className:"col-span-2",children:e(N,{name:`schedule.${h}.break_duration_minutes`,includeErrorMessage:!1})}),e("div",{className:"col-span-2 text-gray-500",children:"minutes"}),e("div",{className:"col-span-4"})]})]},f.id)})})]}),Object.keys(c.errors).length>0&&e("p",{className:"text-destructive text-sm mb-0",children:"Invalid time format (HH:mm)"}),d("div",{className:"flex gap-4 pt-4",children:[e(F,{type:"button",className:"reset-button",variant:"outline",onClick:U,children:"Cancel"}),e(F,{type:"button",className:"submit-button",onClick:n(I),children:"Save Schedule"})]})]})})]})]})})}s(J,"WorkScheduleSelectionForm");var he=s(({fieldData:t})=>{let{defaultFormattedValue:a,currentSchedule:r,onSubmit:o}=t,{workHoursSummary:u,breakSummary:i,totalWorkHours:n}=a;return d("div",{className:"flex flex-col gap-3 RemoteFlows__WorkScheduleField",children:[e("p",{className:"text-sm RemoteFlows__WorkScheduleField__Title",children:"Work hours"}),d("div",{className:"flex flex-col gap-1 RemoteFlows__WorkScheduleField__Summary",children:[e("p",{className:"text-sm text-gray-500 RemoteFlows__WorkScheduleField__Summary__WorkHours",dangerouslySetInnerHTML:{__html:u.join(", ")}}),e("p",{className:"text-sm text-gray-500 RemoteFlows__WorkScheduleField__Summary__Break",children:i.join()}),d("p",{className:"text-sm text-gray-500 RemoteFlows__WorkScheduleField__Summary__Total",children:["Total of ",e("span",{children:n})," hours per week"]}),e(J,{defaultSchedule:r,onSubmit:o})]})]})},"WorkScheduleFieldDefault");export{he as a};
2
+ //# sourceMappingURL=chunk-MGY23P25.js.map
@@ -0,0 +1,2 @@
1
+ import{a as e}from"./chunk-VIGKOVHP.js";import{a as t}from"./chunk-P37U34EQ.js";import{cva as a}from"class-variance-authority";import{jsx as u}from"react/jsx-runtime";var i=a("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-[color,box-shadow] disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none aria-invalid:ring-destructive/20 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90 RemoteFlows_ButtonDefault",destructive:"bg-destructive text-white shadow-xs hover:bg-destructive/90 RemoteFlows_ButtonDestructive",outline:"border border-input bg-background shadow-xs RemoteFlows_ButtonOutline",secondary:"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80 RemoteFlows_ButtonSecondary",ghost:"hover:bg-accent hover:text-accent-foreground RemoteFlows_ButtonGhost",link:"text-link-button-primary underline-offset-4 hover:underline button-link RemoteFlows_ButtonLink"},size:{default:"h-9 px-4 py-7 has-[>svg]:px-3 RemoteFlows_ButtonDefault",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5 RemoteFlows_ButtonSm",lg:"h-10 rounded-md px-6 has-[>svg]:px-4 RemoteFlows_ButtonLg",icon:"size-9 RemoteFlows_ButtonIcon",link:"px-0 RemoteFlows_ButtonLink"}},defaultVariants:{variant:"default",size:"default"}});function m({className:o,variant:n,size:r,...s}){return u("button",{"data-slot":"button",className:e(i({variant:n,size:r,className:o}),"RemoteFlows__Button"),...s})}t(m,"Button");export{i as a,m as b};
2
+ //# sourceMappingURL=chunk-MP3VDCI7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/ui/button.tsx"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\nimport * as React from 'react';\n\nimport { cn } from '@/src/lib/utils';\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-[color,box-shadow] disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none aria-invalid:ring-destructive/20 aria-invalid:border-destructive\",\n {\n variants: {\n variant: {\n default:\n 'bg-primary text-primary-foreground shadow-xs hover:bg-primary/90 RemoteFlows_ButtonDefault',\n destructive:\n 'bg-destructive text-white shadow-xs hover:bg-destructive/90 RemoteFlows_ButtonDestructive',\n outline:\n 'border border-input bg-background shadow-xs RemoteFlows_ButtonOutline',\n secondary:\n 'bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80 RemoteFlows_ButtonSecondary',\n ghost:\n 'hover:bg-accent hover:text-accent-foreground RemoteFlows_ButtonGhost',\n link: 'text-link-button-primary underline-offset-4 hover:underline button-link RemoteFlows_ButtonLink',\n },\n size: {\n default: 'h-9 px-4 py-7 has-[>svg]:px-3 RemoteFlows_ButtonDefault',\n sm: 'h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5 RemoteFlows_ButtonSm',\n lg: 'h-10 rounded-md px-6 has-[>svg]:px-4 RemoteFlows_ButtonLg',\n icon: 'size-9 RemoteFlows_ButtonIcon',\n link: 'px-0 RemoteFlows_ButtonLink',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n);\n\nfunction Button({\n className,\n variant,\n size,\n ...props\n}: React.ComponentProps<'button'> & VariantProps<typeof buttonVariants>) {\n return (\n <button\n data-slot='button'\n className={cn(\n buttonVariants({ variant, size, className }),\n 'RemoteFlows__Button',\n )}\n {...props}\n />\n );\n}\n\nexport { Button, buttonVariants };\n"],"mappings":"gFAAA,OAAS,OAAAA,MAA8B,2BA4CnC,cAAAC,MAAA,oBAvCJ,IAAMC,EAAiBC,EACrB,yVACA,CACE,SAAU,CACR,QAAS,CACP,QACE,6FACF,YACE,4FACF,QACE,wEACF,UACE,qGACF,MACE,uEACF,KAAM,gGACR,EACA,KAAM,CACJ,QAAS,0DACT,GAAI,qEACJ,GAAI,4DACJ,KAAM,gCACN,KAAM,6BACR,CACF,EACA,gBAAiB,CACf,QAAS,UACT,KAAM,SACR,CACF,CACF,EAEA,SAASC,EAAO,CACd,UAAAC,EACA,QAAAC,EACA,KAAAC,EACA,GAAGC,CACL,EAAyE,CACvE,OACEP,EAAC,UACC,YAAU,SACV,UAAWQ,EACTP,EAAe,CAAE,QAAAI,EAAS,KAAAC,EAAM,UAAAF,CAAU,CAAC,EAC3C,qBACF,EACC,GAAGG,EACN,CAEJ,CAhBSE,EAAAN,EAAA","names":["cva","jsx","buttonVariants","cva","Button","className","variant","size","props","cn","__name"]}
@@ -1,2 +1,2 @@
1
- import{a as n}from"./chunk-2HBSVDEH.js";import{b as i}from"./chunk-76ZDXC2T.js";import{k as a}from"./chunk-VIGKOVHP.js";import{a as o}from"./chunk-P37U34EQ.js";import{jsx as c}from"react/jsx-runtime";function C({onSubmit:m,onSuccess:l,onError:t}){let{createCompanyBag:e}=i(),p=o(async d=>{try{await m?.(d);let r=await e.onSubmit(d);if(r?.data){await l?.(r?.data);return}if(r?.error){let s=a(r,e.meta?.fields?.address_details);t?.(s)}}catch(r){let s=a(r,e.meta?.fields?.address_details);t?.(s)}},"handleSubmit"),u=e.stepState.values?.address_details||e.initialValues.address_details;return c(n,{defaultValues:u,onSubmit:p})}o(C,"AddressDetailsStep");export{C as a};
2
- //# sourceMappingURL=chunk-FY5OFJRY.js.map
1
+ import{a as n}from"./chunk-T5JT2ZU2.js";import{b as i}from"./chunk-76ZDXC2T.js";import{k as a}from"./chunk-VIGKOVHP.js";import{a as o}from"./chunk-P37U34EQ.js";import{jsx as c}from"react/jsx-runtime";function C({onSubmit:m,onSuccess:l,onError:t}){let{createCompanyBag:e}=i(),p=o(async d=>{try{await m?.(d);let r=await e.onSubmit(d);if(r?.data){await l?.(r?.data);return}if(r?.error){let s=a(r,e.meta?.fields?.address_details);t?.(s)}}catch(r){let s=a(r,e.meta?.fields?.address_details);t?.(s)}},"handleSubmit"),u=e.stepState.values?.address_details||e.initialValues.address_details;return c(n,{defaultValues:u,onSubmit:p})}o(C,"AddressDetailsStep");export{C as a};
2
+ //# sourceMappingURL=chunk-MVQOMW7S.js.map
@@ -1,2 +1,2 @@
1
- import{a as e}from"./chunk-AUV3PA2A.js";import{b as a}from"./chunk-MRYRNB7Y.js";import{a as i}from"./chunk-P37U34EQ.js";import{jsx as s}from"react/jsx-runtime";function p({onSubmit:t}){let{terminationBag:o}=a(),n=i(async r=>{let m=await o?.parseFormValues(r);await t?.(m),o?.next()},"handleSubmit");return s(e,{defaultValues:o.fieldValues,onSubmit:n})}i(p,"TerminationDetailsForm");export{p as a};
2
- //# sourceMappingURL=chunk-E2ONHNZD.js.map
1
+ import{a as e}from"./chunk-Z6B3PA4M.js";import{b as a}from"./chunk-MRYRNB7Y.js";import{a as i}from"./chunk-P37U34EQ.js";import{jsx as s}from"react/jsx-runtime";function p({onSubmit:t}){let{terminationBag:o}=a(),n=i(async r=>{let m=await o?.parseFormValues(r);await t?.(m),o?.next()},"handleSubmit");return s(e,{defaultValues:o.fieldValues,onSubmit:n})}i(p,"TerminationDetailsForm");export{p as a};
2
+ //# sourceMappingURL=chunk-MXSKCQOT.js.map
@@ -1,2 +1,2 @@
1
- import{b as t}from"./chunk-RJY6AEJB.js";import{a as n}from"./chunk-P37U34EQ.js";import{jsx as r}from"react/jsx-runtime";var u=n(p=>{let{"data-type":e,...o}=p;return e==="inline"?r(t,{size:"link",variant:"link",...o}):r(t,{...o})},"ButtonDefault");export{u as a};
2
- //# sourceMappingURL=chunk-IGLKMXWJ.js.map
1
+ import{b as t}from"./chunk-MP3VDCI7.js";import{a as n}from"./chunk-P37U34EQ.js";import{jsx as r}from"react/jsx-runtime";var u=n(p=>{let{"data-type":e,...o}=p;return e==="inline"?r(t,{size:"link",variant:"link",...o}):r(t,{...o})},"ButtonDefault");export{u as a};
2
+ //# sourceMappingURL=chunk-NAMR4DA5.js.map
@@ -0,0 +1,2 @@
1
+ import{b}from"./chunk-Q3ALCPJN.js";import{b as F}from"./chunk-LNV36S6D.js";import{a as S}from"./chunk-BUOCIXUH.js";import{f,g as p}from"./chunk-7EONM7HL.js";import{b as u}from"./chunk-X6ZAR7ZL.js";import{a as m}from"./chunk-P37U34EQ.js";import{useEffect as c,useRef as k}from"react";import{jsx as g}from"react/jsx-runtime";import{createElement as B}from"react";function D({defaultValues:l,onSubmit:y,components:h}){let{formId:P,contractorOnboardingBag:o,formRef:i}=b(),d=k(l),C=F(o.handleValidation),r=f({resolver:C,defaultValues:l,shouldUnregister:!1,mode:"onBlur"});c(()=>{i?.setValue&&(i.setValue.current=r.setValue)},[r.setValue,i]),c(()=>{o.employmentId&&o?.checkFieldUpdates(r.getValues())},[]),c(()=>{let n=r?.watch(e=>{Object.keys(e).some(a=>e[a]!==d.current[a])&&(o?.checkFieldUpdates(e),d.current={...e})});return()=>n?.unsubscribe()},[]);let E=m(async(n,e)=>{let s=e?.nativeEvent;if(s?.isDraftSubmission){let{onSuccess:a,onError:O}=s.draftCallbacks;try{await o.onSubmit(n),a?.()}catch(t){let V=o.stepState.currentStep.name,w=o.meta?.fields?.[V],R=u(t?.fieldErrors||[],w);O?.({error:t?.error||t,rawError:t?.rawError||t,fieldErrors:R})}}else await y(n)},"handleSubmit");return B(p,{...r,key:`form-${o.stepState.currentStep.name}`},g("form",{id:P,onSubmit:r.handleSubmit(E),className:"space-y-4 RemoteFlows__OnboardingForm",children:g(S,{components:h,fields:o.fields,fieldsets:o.meta.fieldsets,fieldValues:o.fieldValues})}))}m(D,"ContractorOnboardingForm");export{D as a};
2
+ //# sourceMappingURL=chunk-PGVYRAFJ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/ContractorOnboarding/components/ContractorOnboardingForm.tsx"],"sourcesContent":["import { useEffect, useRef } from 'react';\nimport { useForm } from 'react-hook-form';\nimport { $TSFixMe, JSFFields } from '@/src/types/remoteFlows';\nimport { JSONSchemaFormFields } from '@/src/components/form/JSONSchemaForm';\nimport { Form } from '@/src/components/ui/form';\nimport { useJsonSchemasValidationFormResolver } from '@/src/components/form/validationResolver';\nimport { BasicInformationFormPayload } from '@/src/flows/Onboarding/types';\nimport { Components } from '@/src/types/remoteFlows';\nimport { useContractorOnboardingContext } from '@/src/flows/ContractorOnboarding/context';\nimport {\n EligibilityQuestionnaireFormPayload,\n PricingPlanFormPayload,\n ContractorOnboardingContractDetailsFormPayload,\n} from '@/src/flows/ContractorOnboarding/types';\nimport { normalizeFieldErrors } from '@/src/lib/mutations';\n\ntype ContractorOnboardingFormProps = {\n onSubmit: (\n payload:\n | BasicInformationFormPayload\n | PricingPlanFormPayload\n | ContractorOnboardingContractDetailsFormPayload\n | EligibilityQuestionnaireFormPayload,\n ) => Promise<void>;\n components?: Components;\n fields?: JSFFields;\n defaultValues: Record<string, unknown>;\n};\n\nexport function ContractorOnboardingForm({\n defaultValues,\n onSubmit,\n components,\n}: ContractorOnboardingFormProps) {\n const { formId, contractorOnboardingBag, formRef } =\n useContractorOnboardingContext();\n const prevValuesRef = useRef(defaultValues);\n\n const resolver = useJsonSchemasValidationFormResolver(\n contractorOnboardingBag.handleValidation,\n );\n\n const form = useForm({\n resolver,\n defaultValues,\n shouldUnregister: false,\n mode: 'onBlur',\n });\n\n // Register the form's setValue method with the context so other components can access it\n useEffect(() => {\n if (formRef?.setValue) {\n formRef.setValue.current = form.setValue;\n }\n }, [form.setValue, formRef]);\n\n useEffect(() => {\n // When the employmentId is set,\n // we need to run the checkFieldUpdates to update fieldValues in useStepState\n if (contractorOnboardingBag.employmentId) {\n contractorOnboardingBag?.checkFieldUpdates(form.getValues());\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n const subscription = form?.watch((values) => {\n const hasChanged = Object.keys(values).some(\n (key) => values[key] !== prevValuesRef.current[key],\n );\n if (hasChanged) {\n contractorOnboardingBag?.checkFieldUpdates(values);\n prevValuesRef.current = { ...values };\n }\n });\n return () => subscription?.unsubscribe();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const handleSubmit = async (\n values: Record<string, unknown>,\n event?: React.BaseSyntheticEvent,\n ) => {\n const nativeEvent = event?.nativeEvent as $TSFixMe;\n\n if (nativeEvent?.isDraftSubmission) {\n const { onSuccess, onError } = nativeEvent.draftCallbacks;\n\n try {\n await contractorOnboardingBag.onSubmit(values);\n onSuccess?.();\n } catch (error: $TSFixMe) {\n const currentStepName =\n contractorOnboardingBag.stepState.currentStep.name;\n const currentStepFields =\n contractorOnboardingBag.meta?.fields?.[\n currentStepName as keyof typeof contractorOnboardingBag.meta.fields\n ];\n\n const normalizedFieldErrors = normalizeFieldErrors(\n error?.fieldErrors || [],\n currentStepFields,\n );\n onError?.({\n error: error?.error || (error as Error),\n rawError: error?.rawError || (error as Record<string, unknown>),\n fieldErrors: normalizedFieldErrors,\n });\n }\n } else {\n await onSubmit(values as $TSFixMe);\n }\n };\n\n return (\n <Form\n {...form}\n key={`form-${contractorOnboardingBag.stepState.currentStep.name}`}\n >\n <form\n id={formId}\n onSubmit={form.handleSubmit(handleSubmit)}\n className='space-y-4 RemoteFlows__OnboardingForm'\n >\n <JSONSchemaFormFields\n components={components}\n fields={contractorOnboardingBag.fields}\n fieldsets={contractorOnboardingBag.meta.fieldsets}\n fieldValues={contractorOnboardingBag.fieldValues}\n />\n </form>\n </Form>\n );\n}\n"],"mappings":"6OAAA,OAAS,aAAAA,EAAW,UAAAC,MAAc,QA4H1B,cAAAC,MAAA,oBATJ,wBAAAC,MAAA,QAtFG,SAASC,EAAyB,CACvC,cAAAC,EACA,SAAAC,EACA,WAAAC,CACF,EAAkC,CAChC,GAAM,CAAE,OAAAC,EAAQ,wBAAAC,EAAyB,QAAAC,CAAQ,EAC/CC,EAA+B,EAC3BC,EAAgBC,EAAOR,CAAa,EAEpCS,EAAWC,EACfN,EAAwB,gBAC1B,EAEMO,EAAOC,EAAQ,CACnB,SAAAH,EACA,cAAAT,EACA,iBAAkB,GAClB,KAAM,QACR,CAAC,EAGDa,EAAU,IAAM,CACVR,GAAS,WACXA,EAAQ,SAAS,QAAUM,EAAK,SAEpC,EAAG,CAACA,EAAK,SAAUN,CAAO,CAAC,EAE3BQ,EAAU,IAAM,CAGVT,EAAwB,cAC1BA,GAAyB,kBAAkBO,EAAK,UAAU,CAAC,CAG/D,EAAG,CAAC,CAAC,EAELE,EAAU,IAAM,CACd,IAAMC,EAAeH,GAAM,MAAOI,GAAW,CACxB,OAAO,KAAKA,CAAM,EAAE,KACpCC,GAAQD,EAAOC,CAAG,IAAMT,EAAc,QAAQS,CAAG,CACpD,IAEEZ,GAAyB,kBAAkBW,CAAM,EACjDR,EAAc,QAAU,CAAE,GAAGQ,CAAO,EAExC,CAAC,EACD,MAAO,IAAMD,GAAc,YAAY,CAEzC,EAAG,CAAC,CAAC,EAEL,IAAMG,EAAeC,EAAA,MACnBH,EACAI,IACG,CACH,IAAMC,EAAcD,GAAO,YAE3B,GAAIC,GAAa,kBAAmB,CAClC,GAAM,CAAE,UAAAC,EAAW,QAAAC,CAAQ,EAAIF,EAAY,eAE3C,GAAI,CACF,MAAMhB,EAAwB,SAASW,CAAM,EAC7CM,IAAY,CACd,OAASE,EAAiB,CACxB,IAAMC,EACJpB,EAAwB,UAAU,YAAY,KAC1CqB,EACJrB,EAAwB,MAAM,SAC5BoB,CACF,EAEIE,EAAwBC,EAC5BJ,GAAO,aAAe,CAAC,EACvBE,CACF,EACAH,IAAU,CACR,MAAOC,GAAO,OAAUA,EACxB,SAAUA,GAAO,UAAaA,EAC9B,YAAaG,CACf,CAAC,CACH,CACF,MACE,MAAMzB,EAASc,CAAkB,CAErC,EAjCqB,gBAmCrB,OACEjB,EAAC8B,EAAA,CACE,GAAGjB,EACJ,IAAK,QAAQP,EAAwB,UAAU,YAAY,IAAI,IAE/DP,EAAC,QACC,GAAIM,EACJ,SAAUQ,EAAK,aAAaM,CAAY,EACxC,UAAU,wCAEV,SAAApB,EAACgC,EAAA,CACC,WAAY3B,EACZ,OAAQE,EAAwB,OAChC,UAAWA,EAAwB,KAAK,UACxC,YAAaA,EAAwB,YACvC,EACF,CACF,CAEJ,CAxGgBc,EAAAnB,EAAA","names":["useEffect","useRef","jsx","createElement","ContractorOnboardingForm","defaultValues","onSubmit","components","formId","contractorOnboardingBag","formRef","useContractorOnboardingContext","prevValuesRef","useRef","resolver","useJsonSchemasValidationFormResolver","form","useForm","useEffect","subscription","values","key","handleSubmit","__name","event","nativeEvent","onSuccess","onError","error","currentStepName","currentStepFields","normalizedFieldErrors","normalizeFieldErrors","Form","JSONSchemaFormFields"]}
@@ -0,0 +1,2 @@
1
+ var t="urn:remotecom:resource:product:contractor:standard:monthly",e="urn:remotecom:resource:product:contractor:plus:monthly",o="urn:remotecom:resource:product:contractor:aor:monthly",n="urn:remotecom:resource:product:eor:monthly",i={cm:t,"cm+":e,cor:o,eor:n},a="ir_35",s="REMOTE_AI",d="You cannot control how a contractor completes the Services and Deliverables. This means, for example, that you can't specify their working hours or use of subcontractors. Please make sure this field includes only project names, descriptions, and deliverables. We do not allow hyperlinks.",l="The content You have entered may not be consistent with the Contractor of Record terms. You are responsible before proceeding for ensuring that the language entered herein accurately reflects those terms and your relationship with Subcontractors.",r=[{title:"You add a new contractor and their details in Remote.",id:"add-contractor-details"},{title:"Contractor accepts invite to join Remote.",id:"contractor-accepts-invite"},{title:"Ask your contractor to sign their agreement with your company.",id:"ask-contractor-to-sign-agreement"},{title:"Once the agreement is signed, the contractor can begin work.",id:"agreement-signed-begin-work"},{title:"The contractor will submit invoices on a date specified by you.",id:"contractor-submits-invoices"},{title:"You will pay the contractor according to the agreed-upon terms.",id:"pay-contractor"}],c=[{title:"You add a new contractor and their details in Remote, and reconfirm our Terms of Service.",description:"Review all details carefully, as we'll use this information to draft the contract.",id:"add-contractor-details-and-reconfirm-terms"},{title:"You pay the reserve amount required to add the contractor.",id:"pay-reserve-amount"},{title:"The contractor is invited to the platform.",id:"contractor-invited-to-platform"},{title:"The contractor completes onboarding on Remote.",id:"contractor-completes-onboarding"},{title:"The contractor signs the services agreement with Remote.",id:"contractor-signs-services-agreement"},{title:"Contractor begins working.",id:"contractor-begins-working"},{title:"Contractor submits an invoice to Remote.",id:"contractor-submits-invoice"},{title:"You review and approve the invoice.",id:"review-and-approve-invoice"},{title:"A COR contractor payment invoice is generated, which you pay.",id:"cor-contractor-payment-invoice-generated"},{title:"Remote receives payment and pays contractor.",id:"remote-receives-payment-and-pays-contractor"},{title:"Contractor receives payment.",id:"contractor-receives-payment"}],m={[t]:r,[e]:r,[o]:c},p={[t]:{title:"Contractor Management",subtitle:"Engage and pay contractors compliantly",listItems:["Ideal for businesses wanting a straightforward solution to manage and pay contractors directly.","Helps with everything from contractor onboarding, invoicing, payments, and compliance.","Full control remains with you."],contractPillText:"Contract between you and contractor"},[e]:{title:"Contractor Management Plus",subtitle:"Engage and pay contractors with indemnity coverage",listItems:["Great for businesses concerned about contractor classification risks.","Helps with everything from contractor onboarding, invoicing, payments, and compliance.","Offers a warranty on Remote's localized, compliant contracts.","Control remains with you"],contractPillText:"Contract between you and contractor"},[o]:{title:"Contractor of Record",subtitle:"Remote reduces liability by directly engaging the contractor",listItems:["Ideal for businesses who want admin relief and have low risk tolerance.","No need to be experts in local labor laws; Remote manages its compliance with contractors.","Indemnity protection, Remote backs its compliance in administering and paying contractors"],contractPillText:"Contract between Remote and contractor"}};export{t as a,e as b,o as c,n as d,i as e,a as f,s as g,d as h,l as i,c as j,m as k,p as l};
2
+ //# sourceMappingURL=chunk-PX5PE6GX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/ContractorOnboarding/constants.ts"],"sourcesContent":["export const contractorStandardProductIdentifier =\n 'urn:remotecom:resource:product:contractor:standard:monthly';\nexport const contractorPlusProductIdentifier =\n 'urn:remotecom:resource:product:contractor:plus:monthly';\nexport const corProductIdentifier =\n 'urn:remotecom:resource:product:contractor:aor:monthly';\nexport const eorProductIdentifier =\n 'urn:remotecom:resource:product:eor:monthly';\n\nexport type ProductType = 'cm' | 'cm+' | 'cor' | 'eor';\n\nexport const PRODUCT_IDENTIFIER_MAP: Record<ProductType, string> = {\n cm: contractorStandardProductIdentifier,\n 'cm+': contractorPlusProductIdentifier,\n cor: corProductIdentifier,\n eor: eorProductIdentifier,\n};\n\nexport const IR35_FILE_SUBTYPE = 'ir_35';\n\nexport const REMOTE_AI_ERROR_SOURCE = 'REMOTE_AI';\n\nexport const REMOTE_AI_SERVICES_AND_DELIVERABLES_ERROR_MESSAGE =\n \"You cannot control how a contractor completes the Services and Deliverables. This means, for example, that you can't specify their working hours or use of subcontractors. Please make sure this field includes only project names, descriptions, and deliverables. We do not allow hyperlinks.\";\n\nexport const REMOTE_AI_SERVICES_AND_DELIVERABLES_COR_ERROR_MESSAGE =\n 'The content You have entered may not be consistent with the Contractor of Record terms. You are responsible before proceeding for ensuring that the language entered herein accurately reflects those terms and your relationship with Subcontractors.';\n\nconst standardOnboardingWorkflow = [\n {\n title: 'You add a new contractor and their details in Remote.',\n id: 'add-contractor-details',\n },\n {\n title: 'Contractor accepts invite to join Remote.',\n id: 'contractor-accepts-invite',\n },\n {\n title: 'Ask your contractor to sign their agreement with your company.',\n id: 'ask-contractor-to-sign-agreement',\n },\n {\n title: 'Once the agreement is signed, the contractor can begin work.',\n id: 'agreement-signed-begin-work',\n },\n {\n title: 'The contractor will submit invoices on a date specified by you.',\n id: 'contractor-submits-invoices',\n },\n {\n title: 'You will pay the contractor according to the agreed-upon terms.',\n id: 'pay-contractor',\n },\n];\n\nexport const corOnboardingWorkflow = [\n {\n title:\n 'You add a new contractor and their details in Remote, and reconfirm our Terms of Service.',\n description:\n \"Review all details carefully, as we'll use this information to draft the contract.\",\n id: 'add-contractor-details-and-reconfirm-terms',\n },\n {\n title: 'You pay the reserve amount required to add the contractor.',\n id: 'pay-reserve-amount',\n },\n {\n title: 'The contractor is invited to the platform.',\n id: 'contractor-invited-to-platform',\n },\n {\n title: 'The contractor completes onboarding on Remote.',\n id: 'contractor-completes-onboarding',\n },\n {\n title: 'The contractor signs the services agreement with Remote.',\n id: 'contractor-signs-services-agreement',\n },\n {\n title: 'Contractor begins working.',\n id: 'contractor-begins-working',\n },\n {\n title: 'Contractor submits an invoice to Remote.',\n id: 'contractor-submits-invoice',\n },\n {\n title: 'You review and approve the invoice.',\n id: 'review-and-approve-invoice',\n },\n {\n title: 'A COR contractor payment invoice is generated, which you pay.',\n id: 'cor-contractor-payment-invoice-generated',\n },\n {\n title: 'Remote receives payment and pays contractor.',\n id: 'remote-receives-payment-and-pays-contractor',\n },\n {\n title: 'Contractor receives payment.',\n id: 'contractor-receives-payment',\n },\n];\n\n/**\n * Onboarding workflows for each pricing plan\n */\nexport const onboardingWorkflows: Record<\n string,\n { title: string; id: string; description?: string }[]\n> = {\n [contractorStandardProductIdentifier]: standardOnboardingWorkflow,\n // we assign the same workflow as its the same for standard and plus\n [contractorPlusProductIdentifier]: standardOnboardingWorkflow,\n [corProductIdentifier]: corOnboardingWorkflow,\n};\n\nexport const pricingPlanDetails = {\n [contractorStandardProductIdentifier]: {\n title: 'Contractor Management',\n subtitle: 'Engage and pay contractors compliantly',\n listItems: [\n 'Ideal for businesses wanting a straightforward solution to manage and pay contractors directly.',\n 'Helps with everything from contractor onboarding, invoicing, payments, and compliance.',\n 'Full control remains with you.',\n ],\n contractPillText: 'Contract between you and contractor',\n },\n [contractorPlusProductIdentifier]: {\n title: 'Contractor Management Plus',\n subtitle: 'Engage and pay contractors with indemnity coverage',\n listItems: [\n 'Great for businesses concerned about contractor classification risks.',\n 'Helps with everything from contractor onboarding, invoicing, payments, and compliance.',\n \"Offers a warranty on Remote's localized, compliant contracts.\",\n 'Control remains with you',\n ],\n contractPillText: 'Contract between you and contractor',\n },\n [corProductIdentifier]: {\n title: 'Contractor of Record',\n subtitle: 'Remote reduces liability by directly engaging the contractor',\n listItems: [\n 'Ideal for businesses who want admin relief and have low risk tolerance.',\n 'No need to be experts in local labor laws; Remote manages its compliance with contractors.',\n 'Indemnity protection, Remote backs its compliance in administering and paying contractors',\n ],\n contractPillText: 'Contract between Remote and contractor',\n },\n};\n"],"mappings":"AAAO,IAAMA,EACX,6DACWC,EACX,yDACWC,EACX,wDACWC,EACX,6CAIWC,EAAsD,CACjE,GAAIJ,EACJ,MAAOC,EACP,IAAKC,EACL,IAAKC,CACP,EAEaE,EAAoB,QAEpBC,EAAyB,YAEzBC,EACX,kSAEWC,EACX,yPAEIC,EAA6B,CACjC,CACE,MAAO,wDACP,GAAI,wBACN,EACA,CACE,MAAO,4CACP,GAAI,2BACN,EACA,CACE,MAAO,iEACP,GAAI,kCACN,EACA,CACE,MAAO,+DACP,GAAI,6BACN,EACA,CACE,MAAO,kEACP,GAAI,6BACN,EACA,CACE,MAAO,kEACP,GAAI,gBACN,CACF,EAEaC,EAAwB,CACnC,CACE,MACE,4FACF,YACE,qFACF,GAAI,4CACN,EACA,CACE,MAAO,6DACP,GAAI,oBACN,EACA,CACE,MAAO,6CACP,GAAI,gCACN,EACA,CACE,MAAO,iDACP,GAAI,iCACN,EACA,CACE,MAAO,2DACP,GAAI,qCACN,EACA,CACE,MAAO,6BACP,GAAI,2BACN,EACA,CACE,MAAO,2CACP,GAAI,4BACN,EACA,CACE,MAAO,sCACP,GAAI,4BACN,EACA,CACE,MAAO,gEACP,GAAI,0CACN,EACA,CACE,MAAO,+CACP,GAAI,6CACN,EACA,CACE,MAAO,+BACP,GAAI,6BACN,CACF,EAKaC,EAGT,CACF,CAACX,CAAmC,EAAGS,EAEvC,CAACR,CAA+B,EAAGQ,EACnC,CAACP,CAAoB,EAAGQ,CAC1B,EAEaE,EAAqB,CAChC,CAACZ,CAAmC,EAAG,CACrC,MAAO,wBACP,SAAU,yCACV,UAAW,CACT,kGACA,yFACA,gCACF,EACA,iBAAkB,qCACpB,EACA,CAACC,CAA+B,EAAG,CACjC,MAAO,6BACP,SAAU,qDACV,UAAW,CACT,wEACA,yFACA,gEACA,0BACF,EACA,iBAAkB,qCACpB,EACA,CAACC,CAAoB,EAAG,CACtB,MAAO,uBACP,SAAU,+DACV,UAAW,CACT,0EACA,6FACA,2FACF,EACA,iBAAkB,wCACpB,CACF","names":["contractorStandardProductIdentifier","contractorPlusProductIdentifier","corProductIdentifier","eorProductIdentifier","PRODUCT_IDENTIFIER_MAP","IR35_FILE_SUBTYPE","REMOTE_AI_ERROR_SOURCE","REMOTE_AI_SERVICES_AND_DELIVERABLES_ERROR_MESSAGE","REMOTE_AI_SERVICES_AND_DELIVERABLES_COR_ERROR_MESSAGE","standardOnboardingWorkflow","corOnboardingWorkflow","onboardingWorkflows","pricingPlanDetails"]}
@@ -1,2 +1,2 @@
1
- import{a as m}from"./chunk-UAWJQ3EH.js";import{b as s}from"./chunk-PGWKJ6FK.js";import{b as t}from"./chunk-X6ZAR7ZL.js";import{a}from"./chunk-P37U34EQ.js";import{jsx as E}from"react/jsx-runtime";function b({onSubmit:d,onSuccess:l,onError:n}){let{onboardingBag:r}=s(),f=a(async e=>{try{let i=await r.parseFormValues(e);await d?.(i);let o=await r.onSubmit(e);if(o?.data){await l?.(o?.data),r?.next();return}if(o?.error){let c=t(o?.fieldErrors||[],r.meta?.fields?.basic_information);n?.({error:o?.error,rawError:o?.rawError,fieldErrors:c})}}catch(i){n?.({error:i,rawError:i,fieldErrors:[]})}},"handleSubmit"),p=r.stepState.values?.basic_information||r.initialValues.basic_information;return E(m,{defaultValues:p,onSubmit:f})}a(b,"BasicInformationStep");export{b as a};
2
- //# sourceMappingURL=chunk-RZQIAOMZ.js.map
1
+ import{a as m}from"./chunk-WZSDVFJ3.js";import{b as s}from"./chunk-PGWKJ6FK.js";import{b as t}from"./chunk-X6ZAR7ZL.js";import{a}from"./chunk-P37U34EQ.js";import{jsx as E}from"react/jsx-runtime";function b({onSubmit:d,onSuccess:l,onError:n}){let{onboardingBag:r}=s(),f=a(async e=>{try{let i=await r.parseFormValues(e);await d?.(i);let o=await r.onSubmit(e);if(o?.data){await l?.(o?.data),r?.next();return}if(o?.error){let c=t(o?.fieldErrors||[],r.meta?.fields?.basic_information);n?.({error:o?.error,rawError:o?.rawError,fieldErrors:c})}}catch(i){n?.({error:i,rawError:i,fieldErrors:[]})}},"handleSubmit"),p=r.stepState.values?.basic_information||r.initialValues.basic_information;return E(m,{defaultValues:p,onSubmit:f})}a(b,"BasicInformationStep");export{b as a};
2
+ //# sourceMappingURL=chunk-Q72MEHVY.js.map
@@ -0,0 +1,2 @@
1
+ import{a as S}from"./chunk-3UDRMQNE.js";import{a as C}from"./chunk-3DMWQJ5W.js";import{b as p}from"./chunk-RAH453TV.js";import{a as m}from"./chunk-VDRNNOVA.js";import{d as b}from"./chunk-AHRG5QCS.js";import{a as g,h as v,i as y}from"./chunk-PX5PE6GX.js";import{a as f,b as _}from"./chunk-YHCH57B7.js";import{a as t}from"./chunk-P37U34EQ.js";import{format as w}from"date-fns";import{Fragment as R,jsx as u,jsxs as M}from"react/jsx-runtime";var E=t(n=>n===g,"isStandardPricingPlan"),P=t((n,i)=>{let e=i&&i<w(new Date,"yyyy-MM-dd");if(!n&&e)return p({severity:"warning",description:"Backdating the service start date is not supported in the selected Contractor Management plan."})},"showBackDateWarning");function I(n,i,e){e({...i,services_and_deliverables_ai_warning:"",services_and_deliverables_error_skippable:!1})}t(I,"onServicesAndDeliverablesChange");var V=t((n,i,e,r,o)=>{let s=E(e),c=r?.service_duration?.provisional_start_date,l=P(s,c),a=p({severity:"warning",title:"Possible misclassification risk",description:o?y:v});return{...n,create:{...n?.create,services_and_deliverables_ai_warning:{type:"string","x-jsf-presentation":{inputType:"hidden"}},services_and_deliverables_error_skippable:{type:"boolean","x-jsf-presentation":{inputType:"hidden"}}},fields:{...n?.fields,"service_duration.provisional_start_date":{description:i,"x-jsf-presentation":{minDate:s?void 0:w(new Date,"yyyy-MM-dd"),...l}},services_and_deliverables:{onChange:I,"x-jsf-presentation":{calculateDynamicProperties:t(d=>({statement:d.services_and_deliverables_ai_warning?a.statement:void 0}),"calculateDynamicProperties")}}}}},"buildContractDetailsJsfModify"),L=t((n,i,e)=>{let r=n==="SAU",o=n==="GBR",s=b(n);if(!r&&!o&&!s)return e?.jsfModify?.basic_information;if(o)return{...e?.jsfModify?.basic_information,create:{...e?.jsfModify?.basic_information?.create,ir35:{title:"IR35 Status",description:t(()=>M(R,{children:["What's your contractor's employment status?"," ",u(_,{zendeskId:f.ir35Status,children:"Learn more about IR35"})]}),"description"),oneOf:[{const:"inside",title:"Inside IR35 (deemed employee)"},{const:"outside",title:"Outside IR35"},{const:"exempt",title:"Exempt from IR35"}],"x-jsf-presentation":{inputType:"select"}},ir35_sds_file:{title:"Upload SDS",description:"Status determination statement",type:"string","x-jsf-presentation":{inputType:"file",accept:m.document,multiple:!1,maxSize:20971520,calculateDynamicProperties:t(a=>{let d=a.ir35;return{isVisible:d==="inside"||d==="outside"}},"calculateDynamicProperties")}}},allOf:[{if:{properties:{ir35:{enum:["inside","outside"]}}},then:{required:["ir35_sds_file"]},else:{properties:{ir35_sds_file:!1}}}],required:["ir35"],orderRoot:t(a=>[...a,"ir35","ir35_sds_file"],"orderRoot")};let c=r?"Is your contractor a Saudi Arabia national, or a non-Saudi national contracting via a local business entity or under a Special Privilege Iqama visa?":`Is the contractor a ${i??"selected country"} national, or a non-${i??"selected country"} national contracting through their local business entity?`,l=r?"Please be aware that contracting with non-Saudi Arabia nationals that are not operating as a company or under a Special Privilege Iqama visa can lead to fines for operating without proper work authorization. If you are concerned, please speak with the Contractor and/or local Saudi Arabia counsel to ensure compliance.":`Be aware that the Contractor must be a ${i??"selected country"} national, or a non-${i??"selected country"} national operating through their company to comply with the legal requirements for performing services and deliverables as a contractor in ${i??"selected country"}. If you are concerned, speak with the Contractor and/or local counsel to ensure compliance.`;return{...e?.jsfModify?.basic_information,create:{...e?.jsfModify?.basic_information?.create,nationality_status:{title:c,description:"",type:"string",oneOf:[{const:"national",description:"",title:"Yes"},{const:"non-national",description:l,title:"No"}],"x-jsf-presentation":{inputType:"radio"}}},required:["nationality_status"],orderRoot:t(a=>[...a,"nationality_status"],"orderRoot")}},"buildBasicInformationJsfModify"),J=t((n,i)=>{let e=n?.jsfModify?.contract_preview?.fields;return{fields:{contract_preview_header:{...e?.contract_preview_header,"x-jsf-presentation":{Component:t(r=>{let o=e?.contract_preview_header?.["x-jsf-presentation"]?.Component||S;return u(o,{...r})},"Component")}},contract_preview_statement:{...e?.contract_preview_statement,"x-jsf-presentation":{Component:t(r=>{let o=e?.contract_preview_statement?.["x-jsf-presentation"]?.Component||C;return u(o,{reviewCompleted:!!i?.review_completed,...r})},"Component")}},signature:{...e?.signature,"x-jsf-presentation":{calculateDynamicProperties:t(r=>({isVisible:!!r.review_completed}),"calculateDynamicProperties"),...e?.signature?.["x-jsf-presentation"]}}}}},"buildContractPreviewJsfModify");export{V as a,L as b,J as c};
2
+ //# sourceMappingURL=chunk-ROQYHTFQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/ContractorOnboarding/jsfModify.tsx"],"sourcesContent":["import { format } from 'date-fns';\nimport { FieldValues } from 'react-hook-form';\nimport { ChangeEvent } from 'react';\n\nimport { createStatementProperty } from '@/src/components/form/jsf-utils/createFields';\nimport { zendeskArticles } from '@/src/components/shared/zendesk-drawer/utils';\nimport { ZendeskTriggerButton } from '@/src/components/shared/zendesk-drawer/ZendeskTriggerButton';\nimport { ContractPreviewHeader } from '@/src/flows/ContractorOnboarding/components/ContractPreviewHeader';\nimport { ContractPreviewStatement } from '@/src/flows/ContractorOnboarding/components/ContractPreviewStatement';\nimport {\n contractorStandardProductIdentifier,\n REMOTE_AI_SERVICES_AND_DELIVERABLES_COR_ERROR_MESSAGE,\n REMOTE_AI_SERVICES_AND_DELIVERABLES_ERROR_MESSAGE,\n} from '@/src/flows/ContractorOnboarding/constants';\nimport {\n ContractorOnboardingFlowProps,\n ContractorOnboardingContractDetailsFormPayload,\n} from '@/src/flows/ContractorOnboarding/types';\nimport { isNationalityCountryCode } from '@/src/flows/ContractorOnboarding/utils';\nimport { JSFModify } from '@/src/flows/types';\nimport { FILE_TYPES, MAX_FILE_SIZE } from '@/src/lib/uploadConfig';\nimport { JSFCustomComponentProps } from '@/src/types/remoteFlows';\n\nconst isStandardPricingPlan = (pricingPlan: string | undefined) => {\n return pricingPlan === contractorStandardProductIdentifier;\n};\n\nconst showBackDateWarning = (\n isStandardPricingPlanSelected: boolean,\n provisionalStartDate: string | undefined,\n) => {\n const isStartDateBackdated =\n provisionalStartDate &&\n // Compare full days omitting time of the day\n provisionalStartDate < format(new Date(), 'yyyy-MM-dd');\n\n if (!isStandardPricingPlanSelected && isStartDateBackdated) {\n return createStatementProperty({\n severity: 'warning',\n description:\n 'Backdating the service start date is not supported in the selected Contractor Management plan.',\n });\n }\n\n return undefined;\n};\n\n/**\n * Handles changes to the services_and_deliverables field to clear AI warning state\n */\nfunction onServicesAndDeliverablesChange(\n _event: ChangeEvent<HTMLTextAreaElement>,\n values: ContractorOnboardingContractDetailsFormPayload & {\n services_and_deliverables_ai_warning: string;\n services_and_deliverables_error_skippable: boolean;\n },\n setValues: (\n formValues: Partial<\n ContractorOnboardingContractDetailsFormPayload & {\n services_and_deliverables_ai_warning: string;\n services_and_deliverables_error_skippable: boolean;\n }\n >,\n ) => void,\n) {\n setValues({\n ...values,\n services_and_deliverables_ai_warning: '',\n services_and_deliverables_error_skippable: false,\n });\n}\n\n/**\n * Merges internal jsfModify modifications with user-provided options for contract_details step\n * This abstracts the logic of applying internal field modifications (like dynamic descriptions)\n * while preserving user customizations\n */\nexport const buildContractDetailsJsfModify = (\n userJsfModify: JSFModify | undefined,\n provisionalStartDateDescription: string | undefined,\n selectedPricingPlan: string | undefined,\n fieldValues: FieldValues,\n isContractorOfRecord: boolean,\n): JSFModify => {\n const isStandardPricingPlanSelected =\n isStandardPricingPlan(selectedPricingPlan);\n const provisionalStartDate =\n fieldValues?.service_duration?.provisional_start_date;\n const statement = showBackDateWarning(\n isStandardPricingPlanSelected,\n provisionalStartDate,\n );\n const AiStatementWarning = createStatementProperty({\n severity: 'warning',\n title: 'Possible misclassification risk',\n description: isContractorOfRecord\n ? REMOTE_AI_SERVICES_AND_DELIVERABLES_COR_ERROR_MESSAGE\n : REMOTE_AI_SERVICES_AND_DELIVERABLES_ERROR_MESSAGE,\n });\n return {\n ...userJsfModify,\n create: {\n ...userJsfModify?.create,\n services_and_deliverables_ai_warning: {\n type: 'string',\n 'x-jsf-presentation': {\n inputType: 'hidden',\n },\n },\n services_and_deliverables_error_skippable: {\n type: 'boolean',\n 'x-jsf-presentation': {\n inputType: 'hidden',\n },\n },\n },\n fields: {\n ...userJsfModify?.fields,\n ...{\n 'service_duration.provisional_start_date': {\n description: provisionalStartDateDescription,\n 'x-jsf-presentation': {\n minDate: !isStandardPricingPlanSelected\n ? format(new Date(), 'yyyy-MM-dd')\n : undefined,\n ...statement,\n },\n },\n services_and_deliverables: {\n onChange: onServicesAndDeliverablesChange,\n 'x-jsf-presentation': {\n calculateDynamicProperties: (formValues: FieldValues) => ({\n statement: formValues.services_and_deliverables_ai_warning\n ? AiStatementWarning.statement\n : undefined,\n }),\n },\n },\n },\n },\n };\n};\n\n/**\n * Builds the basic information jsf modify for the contractor onboarding flow\n * @param countryCode - The country code to use for the onboarding.\n * @param countryName - The name of the country to use for the onboarding.\n * @param options - The options to use for the onboarding.\n * @returns The basic information jsf modify for the contractor onboarding flow\n */\nexport const buildBasicInformationJsfModify = (\n countryCode: string,\n countryName: string | undefined,\n options: ContractorOnboardingFlowProps['options'] | undefined,\n) => {\n const isSaudiArabia = countryCode === 'SAU';\n const isUk = countryCode === 'GBR';\n const hasNationalityStatusField = isNationalityCountryCode(countryCode);\n\n if (!isSaudiArabia && !isUk && !hasNationalityStatusField) {\n return options?.jsfModify?.basic_information;\n }\n\n if (isUk) {\n return {\n ...options?.jsfModify?.basic_information,\n create: {\n ...options?.jsfModify?.basic_information?.create,\n ir35: {\n title: 'IR35 Status',\n description: () => (\n <>\n What's your contractor's employment status?{' '}\n <ZendeskTriggerButton zendeskId={zendeskArticles.ir35Status}>\n Learn more about IR35\n </ZendeskTriggerButton>\n </>\n ),\n oneOf: [\n {\n const: 'inside',\n title: 'Inside IR35 (deemed employee)',\n },\n {\n const: 'outside',\n title: 'Outside IR35',\n },\n {\n const: 'exempt',\n title: 'Exempt from IR35',\n },\n ],\n 'x-jsf-presentation': {\n inputType: 'select',\n },\n },\n ir35_sds_file: {\n title: 'Upload SDS',\n description: 'Status determination statement',\n type: 'string',\n 'x-jsf-presentation': {\n inputType: 'file',\n accept: FILE_TYPES.document,\n multiple: false,\n maxSize: MAX_FILE_SIZE,\n calculateDynamicProperties: (\n fieldValues: Record<string, unknown>,\n ) => {\n const ir35Status = fieldValues.ir35;\n return {\n isVisible: ir35Status === 'inside' || ir35Status === 'outside',\n };\n },\n },\n },\n },\n allOf: [\n {\n if: {\n properties: {\n ir35: {\n enum: ['inside', 'outside'],\n },\n },\n },\n then: {\n required: ['ir35_sds_file'],\n },\n else: {\n properties: {\n ir35_sds_file: false,\n },\n },\n },\n ],\n required: ['ir35'],\n orderRoot: (originalOrder: string[]) => {\n return [...originalOrder, 'ir35', 'ir35_sds_file'];\n },\n };\n }\n\n const label = isSaudiArabia\n ? 'Is your contractor a Saudi Arabia national, or a non-Saudi national contracting via a local business entity or under a Special Privilege Iqama visa?'\n : `Is the contractor a ${countryName ?? 'selected country'} national, or a non-${countryName ?? 'selected country'} national contracting through their local business entity?`;\n\n const descriptionNonNationalRadio = isSaudiArabia\n ? `Please be aware that contracting with non-Saudi Arabia nationals that are not operating as a company or under a Special Privilege Iqama visa can lead to fines for operating without proper work authorization. If you are concerned, please speak with the Contractor and/or local Saudi Arabia counsel to ensure compliance.`\n : `Be aware that the Contractor must be a ${countryName ?? 'selected country'} national, or a non-${countryName ?? 'selected country'} national operating through their company to comply with the legal requirements for performing services and deliverables as a contractor in ${countryName ?? 'selected country'}. If you are concerned, speak with the Contractor and/or local counsel to ensure compliance.`;\n\n return {\n ...options?.jsfModify?.basic_information,\n create: {\n ...options?.jsfModify?.basic_information?.create,\n nationality_status: {\n title: label,\n description: '',\n type: 'string',\n oneOf: [\n {\n const: 'national',\n description: '',\n title: 'Yes',\n },\n {\n const: 'non-national',\n description: descriptionNonNationalRadio,\n title: 'No',\n },\n ],\n 'x-jsf-presentation': {\n inputType: 'radio',\n },\n },\n },\n required: ['nationality_status'],\n orderRoot: (originalOrder: string[]) => {\n return [...originalOrder, 'nationality_status'];\n },\n };\n};\n\nexport const buildContractPreviewJsfModify = (\n options: ContractorOnboardingFlowProps['options'] | undefined,\n fieldValues: FieldValues,\n) => {\n const userFields = options?.jsfModify?.contract_preview?.fields;\n\n return {\n fields: {\n contract_preview_header: {\n ...userFields?.contract_preview_header,\n 'x-jsf-presentation': {\n Component: (props: JSFCustomComponentProps) => {\n const CustomComponent =\n userFields?.contract_preview_header?.['x-jsf-presentation']\n ?.Component || ContractPreviewHeader;\n return <CustomComponent {...props} />;\n },\n },\n },\n contract_preview_statement: {\n ...userFields?.contract_preview_statement,\n 'x-jsf-presentation': {\n Component: (props: JSFCustomComponentProps) => {\n const CustomComponent =\n userFields?.contract_preview_statement?.['x-jsf-presentation']\n ?.Component || ContractPreviewStatement;\n\n return (\n <CustomComponent\n reviewCompleted={Boolean(fieldValues?.review_completed)}\n {...props}\n />\n );\n },\n },\n },\n signature: {\n ...userFields?.signature,\n 'x-jsf-presentation': {\n calculateDynamicProperties: (\n fieldValuesDynamicProperties: Record<string, unknown>,\n ) => {\n return {\n isVisible: Boolean(fieldValuesDynamicProperties.review_completed),\n };\n },\n // Merge any user-provided signature customizations\n ...userFields?.signature?.['x-jsf-presentation'],\n },\n },\n },\n };\n};\n"],"mappings":"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","names":["format","Fragment","jsx","jsxs","isStandardPricingPlan","__name","pricingPlan","contractorStandardProductIdentifier","showBackDateWarning","isStandardPricingPlanSelected","provisionalStartDate","isStartDateBackdated","format","createStatementProperty","onServicesAndDeliverablesChange","_event","values","setValues","buildContractDetailsJsfModify","userJsfModify","provisionalStartDateDescription","selectedPricingPlan","fieldValues","isContractorOfRecord","statement","AiStatementWarning","REMOTE_AI_SERVICES_AND_DELIVERABLES_COR_ERROR_MESSAGE","REMOTE_AI_SERVICES_AND_DELIVERABLES_ERROR_MESSAGE","formValues","buildBasicInformationJsfModify","countryCode","countryName","options","isSaudiArabia","isUk","hasNationalityStatusField","isNationalityCountryCode","ZendeskTriggerButton","zendeskArticles","FILE_TYPES","ir35Status","originalOrder","label","descriptionNonNationalRadio","buildContractPreviewJsfModify","userFields","props","CustomComponent","ContractPreviewHeader","ContractPreviewStatement","fieldValuesDynamicProperties"]}
@@ -1,2 +1,2 @@
1
- import{b as f}from"./chunk-76ZDXC2T.js";import{b as p}from"./chunk-LNV36S6D.js";import{a as c}from"./chunk-BAGPUVVO.js";import{f as a,g as d}from"./chunk-7EONM7HL.js";import{a as t}from"./chunk-P37U34EQ.js";import{useEffect as y,useRef as b}from"react";import{jsx as l}from"react/jsx-runtime";import{createElement as g}from"react";function B({defaultValues:s,onSubmit:u,components:F}){let{formId:C,createCompanyBag:o}=f(),m=b(s),h=p(o.handleValidation),r=a({resolver:h,defaultValues:s,shouldUnregister:!1,mode:"onBlur"});y(()=>{let n=r?.watch(e=>{Object.keys(e).some(i=>e[i]!==m.current[i])&&(o?.checkFieldUpdates(e),m.current={...e})});return()=>n?.unsubscribe()},[]);let S=t(async n=>{await u(n)},"handleSubmit");return g(d,{...r,key:`form-${o.stepState.currentStep.name}`},l("form",{id:C,onSubmit:r.handleSubmit(S),className:"space-y-4 RemoteFlows__OnboardingForm",children:l(c,{components:F,fields:o.fields,fieldsets:o.meta.fieldsets,fieldValues:o.fieldValues})}))}t(B,"CreateCompanyForm");export{B as a};
2
- //# sourceMappingURL=chunk-2HBSVDEH.js.map
1
+ import{b as f}from"./chunk-76ZDXC2T.js";import{b as p}from"./chunk-LNV36S6D.js";import{a as c}from"./chunk-BUOCIXUH.js";import{f as a,g as d}from"./chunk-7EONM7HL.js";import{a as t}from"./chunk-P37U34EQ.js";import{useEffect as y,useRef as b}from"react";import{jsx as l}from"react/jsx-runtime";import{createElement as g}from"react";function B({defaultValues:s,onSubmit:u,components:F}){let{formId:C,createCompanyBag:o}=f(),m=b(s),h=p(o.handleValidation),r=a({resolver:h,defaultValues:s,shouldUnregister:!1,mode:"onBlur"});y(()=>{let n=r?.watch(e=>{Object.keys(e).some(i=>e[i]!==m.current[i])&&(o?.checkFieldUpdates(e),m.current={...e})});return()=>n?.unsubscribe()},[]);let S=t(async n=>{await u(n)},"handleSubmit");return g(d,{...r,key:`form-${o.stepState.currentStep.name}`},l("form",{id:C,onSubmit:r.handleSubmit(S),className:"space-y-4 RemoteFlows__OnboardingForm",children:l(c,{components:F,fields:o.fields,fieldsets:o.meta.fieldsets,fieldValues:o.fieldValues})}))}t(B,"CreateCompanyForm");export{B as a};
2
+ //# sourceMappingURL=chunk-T5JT2ZU2.js.map
@@ -1,2 +1,2 @@
1
- import{b as x,c as y,d as k}from"./chunk-MSBCYMSH.js";import{b as h}from"./chunk-TXQWBDNF.js";import{b as C}from"./chunk-RJY6AEJB.js";import{a as m}from"./chunk-VIGKOVHP.js";import{a as r}from"./chunk-P37U34EQ.js";import{Fragment as z,useState as G}from"react";import{Check as L,ChevronDownIcon as B,X as M}from"lucide-react";import{Command as i}from"cmdk";import{SearchIcon as H}from"lucide-react";import{jsx as d,jsxs as X}from"react/jsx-runtime";function b({className:t,...o}){return d(i,{"data-slot":"command",className:m("bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",t),...o})}r(b,"Command");function P({className:t,...o}){return d(i.List,{"data-slot":"command-list",className:m("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",t),...o})}r(P,"CommandList");function _({...t}){return d(i.Empty,{"data-slot":"command-empty",className:"py-6 text-center text-sm",...t})}r(_,"CommandEmpty");function w({className:t,...o}){return d(i.Group,{"data-slot":"command-group",className:m("text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium",t),...o})}r(w,"CommandGroup");function N({className:t,...o}){return d(i.Separator,{"data-slot":"command-separator",className:m("bg-border -mx-1 h-px",t),...o})}r(N,"CommandSeparator");function D({className:t,...o}){return d(i.Item,{"data-slot":"command-item",className:m("data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...o})}r(D,"CommandItem");import{jsx as a,jsxs as s}from"react/jsx-runtime";function Z({options:t,selected:o,onChange:u,placeholder:S,...I}){let[g,R]=G(!1),f=r(e=>{u(o.filter(n=>n.value!==e.value))},"handleUnselect"),O=t.some(e=>e.category),E=t.reduce((e,n)=>{let p=n.category||"Uncategorized";return e[p]||(e[p]=[]),e[p].push(n),e},{});return s(x,{open:g,onOpenChange:R,...I,children:[a(y,{children:s(C,{variant:"outline",role:"combobox","aria-expanded":g,className:"w-full justify-between font-normal",type:"button",children:[a("div",{className:"flex gap-1 flex-wrap overflow-x-auto max-h-[2.5rem] items-center",children:o.length>0?o.map(e=>s(h,{variant:"secondary",className:"mr-1 mb-1",children:[e.label,a("div",{role:"button",tabIndex:0,"aria-label":`remove ${e.label}`,className:"ml-1 ring-offset-background rounded-full outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 cursor-pointer",onKeyDown:n=>{n.key==="Enter"&&f(e)},onMouseDown:n=>{n.preventDefault(),n.stopPropagation()},onClick:()=>f(e),children:a(M,{className:"h-3 w-3 text-muted-foreground hover:text-foreground"})})]},e.label)):a("span",{className:"text-foreground",children:S})}),a(B,{className:"size-4"})]})}),a(k,{align:"start",className:"w-full p-0",children:a(b,{children:s(P,{children:[a(_,{children:"No item found."}),Object.entries(E).map(([e,n],p)=>s(z,{children:[p>0&&a(N,{}),a(w,{heading:O?e:void 0,children:n.map(l=>{let v=o.some(c=>c.value===l.value);return s(D,{onSelect:()=>{u(v?o.filter(c=>c.value!==l.value):[...o,l])},children:[a(L,{className:m("mr-2 h-4 w-4",v?"opacity-100":"opacity-0")}),l.label]},l.label)})})]},e))]})})})]})}r(Z,"MultiSelect");export{Z as a};
2
- //# sourceMappingURL=chunk-7RP5F62S.js.map
1
+ import{b as x,c as y,d as k}from"./chunk-MSBCYMSH.js";import{b as h}from"./chunk-6JTHV4QS.js";import{b as C}from"./chunk-MP3VDCI7.js";import{a as m}from"./chunk-VIGKOVHP.js";import{a as r}from"./chunk-P37U34EQ.js";import{Fragment as z,useState as G}from"react";import{Check as L,ChevronDownIcon as B,X as M}from"lucide-react";import{Command as i}from"cmdk";import{SearchIcon as H}from"lucide-react";import{jsx as d,jsxs as X}from"react/jsx-runtime";function b({className:t,...o}){return d(i,{"data-slot":"command",className:m("bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",t),...o})}r(b,"Command");function P({className:t,...o}){return d(i.List,{"data-slot":"command-list",className:m("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",t),...o})}r(P,"CommandList");function _({...t}){return d(i.Empty,{"data-slot":"command-empty",className:"py-6 text-center text-sm",...t})}r(_,"CommandEmpty");function w({className:t,...o}){return d(i.Group,{"data-slot":"command-group",className:m("text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium",t),...o})}r(w,"CommandGroup");function N({className:t,...o}){return d(i.Separator,{"data-slot":"command-separator",className:m("bg-border -mx-1 h-px",t),...o})}r(N,"CommandSeparator");function D({className:t,...o}){return d(i.Item,{"data-slot":"command-item",className:m("data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...o})}r(D,"CommandItem");import{jsx as a,jsxs as s}from"react/jsx-runtime";function Z({options:t,selected:o,onChange:u,placeholder:S,...I}){let[g,R]=G(!1),f=r(e=>{u(o.filter(n=>n.value!==e.value))},"handleUnselect"),O=t.some(e=>e.category),E=t.reduce((e,n)=>{let p=n.category||"Uncategorized";return e[p]||(e[p]=[]),e[p].push(n),e},{});return s(x,{open:g,onOpenChange:R,...I,children:[a(y,{children:s(C,{variant:"outline",role:"combobox","aria-expanded":g,className:"w-full justify-between font-normal",type:"button",children:[a("div",{className:"flex gap-1 flex-wrap overflow-x-auto max-h-[2.5rem] items-center",children:o.length>0?o.map(e=>s(h,{variant:"secondary",className:"mr-1 mb-1",children:[e.label,a("div",{role:"button",tabIndex:0,"aria-label":`remove ${e.label}`,className:"ml-1 ring-offset-background rounded-full outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 cursor-pointer",onKeyDown:n=>{n.key==="Enter"&&f(e)},onMouseDown:n=>{n.preventDefault(),n.stopPropagation()},onClick:()=>f(e),children:a(M,{className:"h-3 w-3 text-muted-foreground hover:text-foreground"})})]},e.label)):a("span",{className:"text-foreground",children:S})}),a(B,{className:"size-4"})]})}),a(k,{align:"start",className:"w-full p-0",children:a(b,{children:s(P,{children:[a(_,{children:"No item found."}),Object.entries(E).map(([e,n],p)=>s(z,{children:[p>0&&a(N,{}),a(w,{heading:O?e:void 0,children:n.map(l=>{let v=o.some(c=>c.value===l.value);return s(D,{onSelect:()=>{u(v?o.filter(c=>c.value!==l.value):[...o,l])},children:[a(L,{className:m("mr-2 h-4 w-4",v?"opacity-100":"opacity-0")}),l.label]},l.label)})})]},e))]})})})]})}r(Z,"MultiSelect");export{Z as a};
2
+ //# sourceMappingURL=chunk-VPSESR6G.js.map
@@ -1,2 +1,2 @@
1
- import{i as a,j as i,k as s,l as p,m as F}from"./chunk-7EONM7HL.js";import{a as n}from"./chunk-FUGPVPYX.js";import{a as t}from"./chunk-VIGKOVHP.js";import{a as r}from"./chunk-P37U34EQ.js";import{jsx as e,jsxs as U}from"react/jsx-runtime";function b({field:o,fieldState:_,fieldData:c}){let{name:l,label:d,description:m,multiple:f,accept:u}=c;return U(a,{"data-field":l,className:`RemoteFlows__FileUpload__Item__${l}`,children:[e(i,{className:"RemoteFlows__FileUpload__Label",children:d}),e(s,{children:e(n,{onChange:o.onChange,multiple:f,className:t("RemoteFlows__FileUpload__Input"),accept:u,files:o.value})}),m&&e("div",{className:"flex items-center justify-between",children:e(p,{className:"RemoteFlows__FileUpload__Description",children:m})}),_.error&&e(F,{className:"RemoteFlows__FileUpload__Error"})]})}r(b,"FileUploadFieldDefault");export{b as a};
2
- //# sourceMappingURL=chunk-7FHNJWIY.js.map
1
+ import{i as a,j as i,k as s,l as p,m as F}from"./chunk-7EONM7HL.js";import{a as n}from"./chunk-3NESYBEJ.js";import{a as t}from"./chunk-VIGKOVHP.js";import{a as r}from"./chunk-P37U34EQ.js";import{jsx as e,jsxs as U}from"react/jsx-runtime";function b({field:o,fieldState:_,fieldData:c}){let{name:l,label:d,description:m,multiple:f,accept:u}=c;return U(a,{"data-field":l,className:`RemoteFlows__FileUpload__Item__${l}`,children:[e(i,{className:"RemoteFlows__FileUpload__Label",children:d}),e(s,{children:e(n,{onChange:o.onChange,multiple:f,className:t("RemoteFlows__FileUpload__Input"),accept:u,files:o.value})}),m&&e("div",{className:"flex items-center justify-between",children:e(p,{className:"RemoteFlows__FileUpload__Description",children:m})}),_.error&&e(F,{className:"RemoteFlows__FileUpload__Error"})]})}r(b,"FileUploadFieldDefault");export{b as a};
2
+ //# sourceMappingURL=chunk-VXMLYWZ2.js.map
@@ -1,2 +1,2 @@
1
- import{a as i}from"./chunk-3GBODX6S.js";import{b as a}from"./chunk-Q3ALCPJN.js";import{k as n}from"./chunk-VIGKOVHP.js";import{a as t}from"./chunk-P37U34EQ.js";import{jsx as S}from"react/jsx-runtime";function C({onSubmit:c,onSuccess:s,onError:u}){let{contractorOnboardingBag:r}=a(),l=t(async e=>{try{await c?.({countryCode:e.country});let o=await r.onSubmit(e);if(o?.data){await s?.(o?.data),r?.next();return}}catch(o){let m=n(o,r.meta?.fields?.select_country);u?.(m)}},"handleSubmit"),d=r.stepState.values?.select_country||r.initialValues.select_country;return S(i,{defaultValues:d,onSubmit:l})}t(C,"SelectCountryStep");export{C as a};
2
- //# sourceMappingURL=chunk-ONXEJSDK.js.map
1
+ import{a as i}from"./chunk-PGVYRAFJ.js";import{b as a}from"./chunk-Q3ALCPJN.js";import{k as n}from"./chunk-VIGKOVHP.js";import{a as t}from"./chunk-P37U34EQ.js";import{jsx as S}from"react/jsx-runtime";function C({onSubmit:c,onSuccess:s,onError:u}){let{contractorOnboardingBag:r}=a(),l=t(async e=>{try{await c?.({countryCode:e.country});let o=await r.onSubmit(e);if(o?.data){await s?.(o?.data),r?.next();return}}catch(o){let m=n(o,r.meta?.fields?.select_country);u?.(m)}},"handleSubmit"),d=r.stepState.values?.select_country||r.initialValues.select_country;return S(i,{defaultValues:d,onSubmit:l})}t(C,"SelectCountryStep");export{C as a};
2
+ //# sourceMappingURL=chunk-VZV7ZSZ5.js.map
@@ -1,2 +1,2 @@
1
- import{a as d}from"./chunk-ZWIH53GL.js";import{a as c}from"./chunk-3GBODX6S.js";import{b as s}from"./chunk-Q3ALCPJN.js";import{c as l}from"./chunk-WFXSA66P.js";import{k as e}from"./chunk-VIGKOVHP.js";import{a}from"./chunk-P37U34EQ.js";import{jsx as m,jsxs as g}from"react/jsx-runtime";function O({onSubmit:p,onSuccess:u,onError:S}){let{contractorOnboardingBag:r}=s(),C=a(async n=>{try{let t=await r.parseFormValues(n);await p?.(t);let o=await r.onSubmit(n);if(o?.data){await u?.(o?.data),r?.next();return}}catch(t){let o=e(t,r.meta?.fields?.contract_details);S?.(o)}},"handleSubmit"),f=r.stepState.values?.contract_details||r.initialValues.contract_details,i=r.stepState.values?.pricing_plan?.subscription,b=l(i);return g("div",{className:"space-y-4",children:[m(c,{defaultValues:f,onSubmit:C}),b&&m(d,{subscription:i})]})}a(O,"ContractDetailsStep");export{O as a};
2
- //# sourceMappingURL=chunk-GCMEX4I6.js.map
1
+ import{a as d}from"./chunk-3C6N7DK6.js";import{a as c}from"./chunk-PGVYRAFJ.js";import{b as s}from"./chunk-Q3ALCPJN.js";import{c as l}from"./chunk-AHRG5QCS.js";import{k as e}from"./chunk-VIGKOVHP.js";import{a}from"./chunk-P37U34EQ.js";import{jsx as m,jsxs as g}from"react/jsx-runtime";function O({onSubmit:p,onSuccess:u,onError:S}){let{contractorOnboardingBag:r}=s(),C=a(async n=>{try{let t=await r.parseFormValues(n);await p?.(t);let o=await r.onSubmit(n);if(o?.data){await u?.(o?.data),r?.next();return}}catch(t){let o=e(t,r.meta?.fields?.contract_details);S?.(o)}},"handleSubmit"),f=r.stepState.values?.contract_details||r.initialValues.contract_details,i=r.stepState.values?.pricing_plan?.subscription,b=l(i);return g("div",{className:"space-y-4",children:[m(c,{defaultValues:f,onSubmit:C}),b&&m(d,{subscription:i})]})}a(O,"ContractDetailsStep");export{O as a};
2
+ //# sourceMappingURL=chunk-WOWIJ56S.js.map
@@ -1,2 +1,2 @@
1
- import{a}from"./chunk-E2ONHNZD.js";import{a as r}from"./chunk-MJQUJZCD.js";import{a as t}from"./chunk-2QGJBYQP.js";import{a as f}from"./chunk-QYWF2RMX.js";import{a as e}from"./chunk-U4H65USG.js";import{a as p}from"./chunk-QH57S4OP.js";import{a as n}from"./chunk-WR5DSTKP.js";import{a as m}from"./chunk-MRYRNB7Y.js";import{a as i}from"./chunk-P37U34EQ.js";import{useId as c}from"react";import{jsx as F}from"react/jsx-runtime";var k=i(({employmentId:l,render:T,options:d,initialValues:s})=>{let u=c(),o=t({employmentId:l,options:d,initialValues:s});return F(m.Provider,{value:{formId:u,terminationBag:o},children:T({terminationBag:o,components:{SubmitButton:r,Back:n,EmployeeComunicationStep:e,TerminationDetailsStep:a,PaidTimeOffStep:p,AdditionalDetailsStep:f}})})},"TerminationFlow");export{k as a};
2
- //# sourceMappingURL=chunk-IYQDAHMG.js.map
1
+ import{a}from"./chunk-MXSKCQOT.js";import{a as r}from"./chunk-MJQUJZCD.js";import{a as t}from"./chunk-7FBVVWZL.js";import{a as f}from"./chunk-BTS5Q6UZ.js";import{a as e}from"./chunk-24FMEFH5.js";import{a as p}from"./chunk-7EUMRKH4.js";import{a as n}from"./chunk-WR5DSTKP.js";import{a as m}from"./chunk-MRYRNB7Y.js";import{a as i}from"./chunk-P37U34EQ.js";import{useId as c}from"react";import{jsx as F}from"react/jsx-runtime";var k=i(({employmentId:l,render:T,options:d,initialValues:s})=>{let u=c(),o=t({employmentId:l,options:d,initialValues:s});return F(m.Provider,{value:{formId:u,terminationBag:o},children:T({terminationBag:o,components:{SubmitButton:r,Back:n,EmployeeComunicationStep:e,TerminationDetailsStep:a,PaidTimeOffStep:p,AdditionalDetailsStep:f}})})},"TerminationFlow");export{k as a};
2
+ //# sourceMappingURL=chunk-WPC2PZ6E.js.map
@@ -0,0 +1,2 @@
1
+ import{b as u}from"./chunk-PGWKJ6FK.js";import{b as p}from"./chunk-LNV36S6D.js";import{a as F}from"./chunk-BUOCIXUH.js";import{f as l,g as c}from"./chunk-7EONM7HL.js";import{b as f}from"./chunk-X6ZAR7ZL.js";import{a}from"./chunk-P37U34EQ.js";import{useEffect as y}from"react";import{jsx as S}from"react/jsx-runtime";import{createElement as O}from"react";function x({defaultValues:m,onSubmit:b,components:g}){let{formId:E,onboardingBag:o}=u(),k=p(o.handleValidation),n=l({resolver:k,defaultValues:m,shouldUnregister:!1,mode:"onBlur"});y(()=>{o.employmentId&&o?.checkFieldUpdates(n.getValues())},[]),y(()=>{let t=n?.watch(e=>{Object.keys(e).some(s=>e[s]!==m[s])&&o?.checkFieldUpdates(e)});return()=>t?.unsubscribe()},[]);let w=a(async(t,e)=>{let i=e?.nativeEvent;if(i?.isDraftSubmission){let{onSuccess:s,onError:d}=i.draftCallbacks;try{let r=await o.onSubmit(t);if(r?.data)s?.();else if(r?.error){let h=o.stepState.currentStep.name,P=o.meta?.fields?.[h],B=f(r?.fieldErrors||[],P);d?.({error:r.error,rawError:r.rawError,fieldErrors:B})}}catch(r){d?.({error:r,rawError:r,fieldErrors:[]})}}else await b(t)},"handleSubmit");return O(c,{...n,key:`form-${o.stepState.currentStep.name}`},S("form",{id:E,onSubmit:n.handleSubmit(w),className:"space-y-4 RemoteFlows__OnboardingForm",children:S(F,{components:g,fields:o.fields,fieldsets:o.meta.fieldsets,fieldValues:o.fieldValues})}))}a(x,"OnboardingForm");export{x as a};
2
+ //# sourceMappingURL=chunk-WZSDVFJ3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/Onboarding/components/OnboardingForm.tsx"],"sourcesContent":["import { JSONSchemaFormFields } from '@/src/components/form/JSONSchemaForm';\nimport { Form } from '@/src/components/ui/form';\nimport { useEffect } from 'react';\nimport { useOnboardingContext } from '@/src/flows/Onboarding/context';\nimport { useForm } from 'react-hook-form';\nimport { useJsonSchemasValidationFormResolver } from '@/src/components/form/validationResolver';\nimport { JSFFields } from '@/src/types/remoteFlows';\nimport {\n BasicInformationFormPayload,\n BenefitsFormPayload,\n ContractDetailsFormPayload,\n} from '@/src/flows/Onboarding/types';\nimport { $TSFixMe, Components } from '@/src/types/remoteFlows';\nimport { normalizeFieldErrors } from '@/src/lib/mutations';\n\ntype OnboardingFormProps = {\n onSubmit: (\n payload:\n | BasicInformationFormPayload\n | BenefitsFormPayload\n | ContractDetailsFormPayload,\n ) => Promise<void>;\n components?: Components;\n fields?: JSFFields;\n defaultValues: Record<string, unknown>;\n};\n\nexport function OnboardingForm({\n defaultValues,\n onSubmit,\n components,\n}: OnboardingFormProps) {\n const { formId, onboardingBag } = useOnboardingContext();\n\n const resolver = useJsonSchemasValidationFormResolver(\n onboardingBag.handleValidation,\n );\n\n const form = useForm({\n resolver,\n defaultValues,\n shouldUnregister: false,\n mode: 'onBlur',\n });\n\n useEffect(() => {\n // When the employmentId is set,\n // we need to run the checkFieldUpdates to update fieldValues in useStepState\n if (onboardingBag.employmentId) {\n onboardingBag?.checkFieldUpdates(form.getValues());\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n const subscription = form?.watch((values) => {\n const isAnyFieldDirty = Object.keys(values).some(\n (key) =>\n values[key as keyof unknown] !== defaultValues[key as keyof unknown],\n );\n if (isAnyFieldDirty) {\n onboardingBag?.checkFieldUpdates(values);\n }\n });\n return () => subscription?.unsubscribe();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const handleSubmit = async (\n values: Record<string, unknown>,\n event?: React.BaseSyntheticEvent,\n ) => {\n const nativeEvent = event?.nativeEvent as $TSFixMe;\n\n if (nativeEvent?.isDraftSubmission) {\n // Handle draft submission\n const { onSuccess, onError } = nativeEvent.draftCallbacks;\n\n try {\n // Submit the form\n const response = await onboardingBag.onSubmit(values);\n\n if (response?.data) {\n onSuccess?.();\n } else if (response?.error) {\n const currentStepName = onboardingBag.stepState.currentStep.name;\n\n // Get the appropriate fields based on current step\n const currentStepFields =\n onboardingBag.meta?.fields?.[\n currentStepName as keyof typeof onboardingBag.meta.fields\n ];\n\n const normalizedFieldErrors = normalizeFieldErrors(\n response?.fieldErrors || [],\n currentStepFields,\n );\n onError?.({\n error: response.error,\n rawError: response.rawError,\n fieldErrors: normalizedFieldErrors,\n });\n }\n } catch (error) {\n onError?.({\n error: error as Error,\n rawError: error as Record<string, unknown>,\n fieldErrors: [],\n });\n }\n } else {\n // Handle normal form submission\n await onSubmit(values);\n }\n };\n\n return (\n <Form {...form} key={`form-${onboardingBag.stepState.currentStep.name}`}>\n <form\n id={formId}\n onSubmit={form.handleSubmit(handleSubmit)}\n className='space-y-4 RemoteFlows__OnboardingForm'\n >\n <JSONSchemaFormFields\n components={components}\n fields={onboardingBag.fields}\n fieldsets={onboardingBag.meta.fieldsets}\n fieldValues={onboardingBag.fieldValues}\n />\n </form>\n </Form>\n );\n}\n"],"mappings":"kPAEA,OAAS,aAAAA,MAAiB,QAyHlB,cAAAC,MAAA,oBANJ,wBAAAC,MAAA,QA1FG,SAASC,EAAe,CAC7B,cAAAC,EACA,SAAAC,EACA,WAAAC,CACF,EAAwB,CACtB,GAAM,CAAE,OAAAC,EAAQ,cAAAC,CAAc,EAAIC,EAAqB,EAEjDC,EAAWC,EACfH,EAAc,gBAChB,EAEMI,EAAOC,EAAQ,CACnB,SAAAH,EACA,cAAAN,EACA,iBAAkB,GAClB,KAAM,QACR,CAAC,EAEDU,EAAU,IAAM,CAGVN,EAAc,cAChBA,GAAe,kBAAkBI,EAAK,UAAU,CAAC,CAGrD,EAAG,CAAC,CAAC,EAELE,EAAU,IAAM,CACd,IAAMC,EAAeH,GAAM,MAAOI,GAAW,CACnB,OAAO,KAAKA,CAAM,EAAE,KACzCC,GACCD,EAAOC,CAAoB,IAAMb,EAAca,CAAoB,CACvE,GAEET,GAAe,kBAAkBQ,CAAM,CAE3C,CAAC,EACD,MAAO,IAAMD,GAAc,YAAY,CAEzC,EAAG,CAAC,CAAC,EAEL,IAAMG,EAAeC,EAAA,MACnBH,EACAI,IACG,CACH,IAAMC,EAAcD,GAAO,YAE3B,GAAIC,GAAa,kBAAmB,CAElC,GAAM,CAAE,UAAAC,EAAW,QAAAC,CAAQ,EAAIF,EAAY,eAE3C,GAAI,CAEF,IAAMG,EAAW,MAAMhB,EAAc,SAASQ,CAAM,EAEpD,GAAIQ,GAAU,KACZF,IAAY,UACHE,GAAU,MAAO,CAC1B,IAAMC,EAAkBjB,EAAc,UAAU,YAAY,KAGtDkB,EACJlB,EAAc,MAAM,SAClBiB,CACF,EAEIE,EAAwBC,EAC5BJ,GAAU,aAAe,CAAC,EAC1BE,CACF,EACAH,IAAU,CACR,MAAOC,EAAS,MAChB,SAAUA,EAAS,SACnB,YAAaG,CACf,CAAC,CACH,CACF,OAASE,EAAO,CACdN,IAAU,CACR,MAAOM,EACP,SAAUA,EACV,YAAa,CAAC,CAChB,CAAC,CACH,CACF,MAEE,MAAMxB,EAASW,CAAM,CAEzB,EA9CqB,gBAgDrB,OACEd,EAAC4B,EAAA,CAAM,GAAGlB,EAAM,IAAK,QAAQJ,EAAc,UAAU,YAAY,IAAI,IACnEP,EAAC,QACC,GAAIM,EACJ,SAAUK,EAAK,aAAaM,CAAY,EACxC,UAAU,wCAEV,SAAAjB,EAAC8B,EAAA,CACC,WAAYzB,EACZ,OAAQE,EAAc,OACtB,UAAWA,EAAc,KAAK,UAC9B,YAAaA,EAAc,YAC7B,EACF,CACF,CAEJ,CAzGgBW,EAAAhB,EAAA","names":["useEffect","jsx","createElement","OnboardingForm","defaultValues","onSubmit","components","formId","onboardingBag","useOnboardingContext","resolver","useJsonSchemasValidationFormResolver","form","useForm","useEffect","subscription","values","key","handleSubmit","__name","event","nativeEvent","onSuccess","onError","response","currentStepName","currentStepFields","normalizedFieldErrors","normalizeFieldErrors","error","Form","JSONSchemaFormFields"]}
@@ -0,0 +1,2 @@
1
+ import{b as c}from"./chunk-Q3ALCPJN.js";import{d as u}from"./chunk-Q3VMPVT3.js";import{j as a}from"./chunk-VIGKOVHP.js";import{a as m}from"./chunk-X6ZAR7ZL.js";import{b as d}from"./chunk-KQPDXXG3.js";import{a as n}from"./chunk-P37U34EQ.js";import w from"lodash.omit";import{jsx as S}from"react/jsx-runtime";function P({onSubmit:p,onSuccess:l,onError:e,render:f,...r}){let{components:y}=d(),{contractorOnboardingBag:t}=c(),i=u(),{mutateAsyncOrThrow:v}=m(i),E=n(async()=>{try{if(await p?.(),t.employmentId){let o=await v({employment_id:t.employmentId});o&&(await l?.({data:o,employmentStatus:"invited"}),t.refetchEmployment())}}catch(o){a(o)?e?.(w(o,"response")):e?.({error:o,rawError:o,fieldErrors:[]})}},"handleSubmit"),s=y?.button;if(!s)throw new Error("Button component not found");let b=!!(i.isPending||!t.canInvite||r.disabled);return S(s,{...r,disabled:b,onClick:o=>{E(),r.onClick?.(o)},children:f({employmentStatus:"invited"})})}n(P,"OnboardingInvite");export{P as a};
2
+ //# sourceMappingURL=chunk-YC7FCCXS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/ContractorOnboarding/components/OnboardingInvite.tsx"],"sourcesContent":["import { ButtonHTMLAttributes, ReactNode } from 'react';\nimport omit from 'lodash.omit';\nimport { useEmploymentInvite } from '@/src/flows/Onboarding/api';\nimport { FieldError, mutationToPromise } from '@/src/lib/mutations';\nimport { SuccessResponse } from '@/src/client';\nimport { useFormFields } from '@/src/context';\nimport { useContractorOnboardingContext } from '@/src/flows/ContractorOnboarding/context';\nimport { isStructuredError } from '@/src/lib/utils';\n\nexport type OnboardingInviteProps = Omit<\n ButtonHTMLAttributes<HTMLButtonElement>,\n 'onError'\n> & {\n onSuccess?: ({\n data,\n employmentStatus,\n }: {\n data: SuccessResponse;\n employmentStatus: 'invited';\n }) => void | Promise<void>;\n onError?: ({\n error,\n rawError,\n fieldErrors,\n }: {\n error: Error;\n rawError: Record<string, unknown>;\n fieldErrors: FieldError[];\n }) => void;\n onSubmit?: () => void | Promise<void>;\n render: (props: { employmentStatus: 'invited' }) => ReactNode;\n} & Record<string, unknown>;\n\nexport function OnboardingInvite({\n onSubmit,\n onSuccess,\n onError,\n render,\n ...props\n}: OnboardingInviteProps) {\n const { components } = useFormFields();\n const { contractorOnboardingBag } = useContractorOnboardingContext();\n const employmentInviteMutation = useEmploymentInvite();\n\n const { mutateAsyncOrThrow: employmentInviteMutationAsync } =\n mutationToPromise(employmentInviteMutation);\n\n const handleSubmit = async () => {\n try {\n await onSubmit?.();\n if (contractorOnboardingBag.employmentId) {\n const data = await employmentInviteMutationAsync({\n employment_id: contractorOnboardingBag.employmentId,\n });\n if (data) {\n await onSuccess?.({\n data: data as SuccessResponse,\n employmentStatus: 'invited',\n });\n contractorOnboardingBag.refetchEmployment();\n }\n }\n } catch (error: unknown) {\n if (isStructuredError(error)) {\n onError?.(omit(error, 'response'));\n } else {\n onError?.({\n error: error as Error,\n rawError: error as Record<string, unknown>,\n fieldErrors: [],\n });\n }\n }\n };\n\n const CustomButton = components?.button;\n if (!CustomButton) {\n throw new Error(`Button component not found`);\n }\n\n const disabled = Boolean(\n employmentInviteMutation.isPending ||\n !contractorOnboardingBag.canInvite ||\n props.disabled,\n );\n\n return (\n <CustomButton\n {...props}\n disabled={disabled}\n onClick={(evt) => {\n handleSubmit();\n props.onClick?.(evt);\n }}\n >\n {render({\n employmentStatus: 'invited',\n })}\n </CustomButton>\n );\n}\n"],"mappings":"gPACA,OAAOA,MAAU,cAsFb,cAAAC,MAAA,oBAtDG,SAASC,EAAiB,CAC/B,SAAAC,EACA,UAAAC,EACA,QAAAC,EACA,OAAAC,EACA,GAAGC,CACL,EAA0B,CACxB,GAAM,CAAE,WAAAC,CAAW,EAAIC,EAAc,EAC/B,CAAE,wBAAAC,CAAwB,EAAIC,EAA+B,EAC7DC,EAA2BC,EAAoB,EAE/C,CAAE,mBAAoBC,CAA8B,EACxDC,EAAkBH,CAAwB,EAEtCI,EAAeC,EAAA,SAAY,CAC/B,GAAI,CAEF,GADA,MAAMd,IAAW,EACbO,EAAwB,aAAc,CACxC,IAAMQ,EAAO,MAAMJ,EAA8B,CAC/C,cAAeJ,EAAwB,YACzC,CAAC,EACGQ,IACF,MAAMd,IAAY,CAChB,KAAMc,EACN,iBAAkB,SACpB,CAAC,EACDR,EAAwB,kBAAkB,EAE9C,CACF,OAASS,EAAgB,CACnBC,EAAkBD,CAAK,EACzBd,IAAUgB,EAAKF,EAAO,UAAU,CAAC,EAEjCd,IAAU,CACR,MAAOc,EACP,SAAUA,EACV,YAAa,CAAC,CAChB,CAAC,CAEL,CACF,EA1BqB,gBA4BfG,EAAed,GAAY,OACjC,GAAI,CAACc,EACH,MAAM,IAAI,MAAM,4BAA4B,EAG9C,IAAMC,EAAW,GACfX,EAAyB,WACvB,CAACF,EAAwB,WACzBH,EAAM,UAGV,OACEN,EAACqB,EAAA,CACE,GAAGf,EACJ,SAAUgB,EACV,QAAUC,GAAQ,CAChBR,EAAa,EACbT,EAAM,UAAUiB,CAAG,CACrB,EAEC,SAAAlB,EAAO,CACN,iBAAkB,SACpB,CAAC,EACH,CAEJ,CAnEgBW,EAAAf,EAAA","names":["omit","jsx","OnboardingInvite","onSubmit","onSuccess","onError","render","props","components","useFormFields","contractorOnboardingBag","useContractorOnboardingContext","employmentInviteMutation","useEmploymentInvite","employmentInviteMutationAsync","mutationToPromise","handleSubmit","__name","data","error","isStructuredError","omit","CustomButton","disabled","evt"]}
@@ -1,2 +1,2 @@
1
- import{a as u}from"./chunk-7RP5F62S.js";import{i,j as a,k as c,l as p,m as F}from"./chunk-7EONM7HL.js";import{a as n}from"./chunk-P37U34EQ.js";import{useEffect as O,useState as g}from"react";import{jsx as o,jsxs as D}from"react/jsx-runtime";var N=n(({field:t,fieldState:d,fieldData:_})=>{let[f,r]=g([]),{name:s,label:v,description:m,options:l}=_,C=f||l?.filter(e=>t.value?.includes(e.value));return O(()=>{r(l?.filter(e=>t.value?.includes(e.value))||[])},[t.value,l]),D(i,{"data-field":s,className:`RemoteFlows__SelectField__Item__${s}`,children:[o(a,{className:"RemoteFlows__SelectField__Label",children:v}),o(c,{children:o(u,{options:l||[],selected:C,onChange:e=>{let S=e.map(({value:b})=>b);t.onChange(S),r(e)}})}),m&&o(p,{children:m}),d.error&&o(F,{})]})},"MultiSelectFieldDefault");export{N as a};
2
- //# sourceMappingURL=chunk-QLMEA4FA.js.map
1
+ import{a as u}from"./chunk-VPSESR6G.js";import{i,j as a,k as c,l as p,m as F}from"./chunk-7EONM7HL.js";import{a as n}from"./chunk-P37U34EQ.js";import{useEffect as O,useState as g}from"react";import{jsx as o,jsxs as D}from"react/jsx-runtime";var N=n(({field:t,fieldState:d,fieldData:_})=>{let[f,r]=g([]),{name:s,label:v,description:m,options:l}=_,C=f||l?.filter(e=>t.value?.includes(e.value));return O(()=>{r(l?.filter(e=>t.value?.includes(e.value))||[])},[t.value,l]),D(i,{"data-field":s,className:`RemoteFlows__SelectField__Item__${s}`,children:[o(a,{className:"RemoteFlows__SelectField__Label",children:v}),o(c,{children:o(u,{options:l||[],selected:C,onChange:e=>{let S=e.map(({value:b})=>b);t.onChange(S),r(e)}})}),m&&o(p,{children:m}),d.error&&o(F,{})]})},"MultiSelectFieldDefault");export{N as a};
2
+ //# sourceMappingURL=chunk-YHQQSL4Q.js.map