@remoteoss/remote-flows 1.8.0 → 1.10.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 (438) hide show
  1. package/dist/ButtonDefault-W7RPNNTH.js +2 -0
  2. package/dist/CheckboxFieldDefault-JXZ6UY5T.js +2 -0
  3. package/dist/CountryFieldDefault-KBZRYF4G.js +2 -0
  4. package/dist/DatePickerFieldDefault-RY6QSSE7.js +2 -0
  5. package/dist/DrawerDefault-V3GEL6Z5.js +2 -0
  6. package/dist/EmailFieldDefault-A3D5VQPS.js +2 -0
  7. package/dist/FieldsetToggleButtonDefault-BKIDTISL.js +2 -0
  8. package/dist/FileUploadFieldDefault-OQ4FGPDM.js +2 -0
  9. package/dist/MultiSelectFieldDefault-EZA25KXD.js +2 -0
  10. package/dist/NumberFieldDefault-BDSRZWXH.js +2 -0
  11. package/dist/PDFPreviewDefault-TV775MOQ.js +2 -0
  12. package/dist/RadioGroupFieldDefault-KAAFWDFJ.js +2 -0
  13. package/dist/SelectFieldDefault-3XQ5FPO2.js +2 -0
  14. package/dist/StatementDefault-CCLTSJLJ.js +2 -0
  15. package/dist/TableFieldDefault-ADKV3M23.js +2 -0
  16. package/dist/TextAreaFieldDefault-LVZXGUKB.js +2 -0
  17. package/dist/TextFieldDefault-YQMWGOV2.js +2 -0
  18. package/dist/WorkScheduleFieldDefault-IW4VDBCH.js +2 -0
  19. package/dist/ZendeskDrawerDefault-DKSZSN6N.js +2 -0
  20. package/dist/{chunk-SQWCXYE2.js → chunk-2EYBWQJW.js} +2 -2
  21. package/dist/{chunk-VC6X3C2I.js → chunk-2O6Z2KGG.js} +2 -2
  22. package/dist/{chunk-JKEUTGPQ.js → chunk-2Q57B73D.js} +2 -2
  23. package/dist/{chunk-ML56EPFW.js → chunk-2YNDS45E.js} +2 -2
  24. package/dist/chunk-3FF65KI3.js +2 -0
  25. package/dist/chunk-3FF65KI3.js.map +1 -0
  26. package/dist/{chunk-PBJWPR2W.js → chunk-3UNMOXCG.js} +2 -2
  27. package/dist/{chunk-EW36MHXP.js → chunk-43RCLG2R.js} +2 -2
  28. package/dist/{chunk-MLXUOIBE.js → chunk-44SKGM3K.js} +2 -2
  29. package/dist/{chunk-3UJC7KHD.js → chunk-4JIHEEKX.js} +2 -2
  30. package/dist/chunk-4UJJLD3R.js +2 -0
  31. package/dist/chunk-4UJJLD3R.js.map +1 -0
  32. package/dist/{chunk-7SYE5KEV.js → chunk-4V6AV3DC.js} +2 -2
  33. package/dist/{chunk-A24VPRL7.js → chunk-4W7VKUIW.js} +2 -2
  34. package/dist/chunk-4W7VKUIW.js.map +1 -0
  35. package/dist/{chunk-VIQQ3IHI.js → chunk-4XJEVGPI.js} +2 -2
  36. package/dist/{chunk-D4FBB5XW.js → chunk-4XV4INW5.js} +2 -2
  37. package/dist/{chunk-YZ3POA3F.js → chunk-5SODYNW6.js} +2 -2
  38. package/dist/{chunk-FJPY27YJ.js → chunk-6MJ5MIUI.js} +2 -2
  39. package/dist/{chunk-XIEA775Q.js → chunk-7EMWT6EU.js} +2 -2
  40. package/dist/{chunk-I25DQACP.js → chunk-7V3YVPIK.js} +2 -2
  41. package/dist/{chunk-C4NXXY3X.js → chunk-A3TXUJUO.js} +2 -2
  42. package/dist/{chunk-JZNJIXGW.js → chunk-A5PZOBR5.js} +2 -2
  43. package/dist/chunk-A7XZA2M3.js +2 -0
  44. package/dist/chunk-A7XZA2M3.js.map +1 -0
  45. package/dist/{chunk-FGJ46XOX.js → chunk-AMJ7F55V.js} +2 -2
  46. package/dist/{chunk-PGRQG254.js → chunk-AU376LE2.js} +2 -2
  47. package/dist/{chunk-Q4GRM3SL.js → chunk-B3KBDNWQ.js} +2 -2
  48. package/dist/chunk-BJAX4PPR.js +2 -0
  49. package/dist/chunk-BJAX4PPR.js.map +1 -0
  50. package/dist/{chunk-7QRAEME3.js → chunk-CCE3EAVC.js} +2 -2
  51. package/dist/{chunk-F2VYTYIQ.js → chunk-CMFZEZEK.js} +2 -2
  52. package/dist/{chunk-AQHD46DV.js → chunk-DSH4GKP3.js} +2 -2
  53. package/dist/{chunk-LGX2ABTK.js → chunk-DWXCRJ4V.js} +2 -2
  54. package/dist/{chunk-IWXQUASB.js → chunk-E5ZC6VG3.js} +2 -2
  55. package/dist/{chunk-ZCXTTVGV.js → chunk-EAF6XPH6.js} +2 -2
  56. package/dist/{chunk-JQ2ESL5O.js → chunk-EGDWVDXM.js} +2 -2
  57. package/dist/{chunk-OZWDFGLQ.js → chunk-EI4CEPXN.js} +2 -2
  58. package/dist/{chunk-AN5U7FWW.js → chunk-ERPXDFKC.js} +2 -2
  59. package/dist/{chunk-UOY6KW7W.js → chunk-EUSCQL4H.js} +2 -2
  60. package/dist/{chunk-KRFK2QRV.js → chunk-EVOTA5WO.js} +2 -2
  61. package/dist/{chunk-CAV5SWVS.js → chunk-FJ5RHLSJ.js} +2 -2
  62. package/dist/chunk-FX4KYXGM.js +2 -0
  63. package/dist/chunk-FX4KYXGM.js.map +1 -0
  64. package/dist/{chunk-NQURNHBL.js → chunk-GC5QTPTM.js} +2 -2
  65. package/dist/{chunk-CNCOVTDL.js → chunk-GINFFWVY.js} +2 -2
  66. package/dist/{chunk-XSG4QXPY.js → chunk-GOEEA34E.js} +2 -2
  67. package/dist/{chunk-WT6E5LO4.js → chunk-GRWTCP42.js} +2 -2
  68. package/dist/{chunk-KXF27FC4.js → chunk-GTJMTF2R.js} +2 -2
  69. package/dist/{chunk-MZNUCWQU.js → chunk-GWR2JBG2.js} +2 -2
  70. package/dist/chunk-H5CNWMEM.js +2 -0
  71. package/dist/{chunk-3QNS3IZB.js.map → chunk-H5CNWMEM.js.map} +1 -1
  72. package/dist/chunk-HBCFJ6PK.js +6 -0
  73. package/dist/chunk-HBCFJ6PK.js.map +1 -0
  74. package/dist/{chunk-KAGAWJSJ.js → chunk-HG7UJX4O.js} +2 -2
  75. package/dist/{chunk-ZTBFYRNL.js → chunk-HYVK643F.js} +2 -2
  76. package/dist/{chunk-XVU376WG.js → chunk-I4IRP6BK.js} +2 -2
  77. package/dist/{chunk-KWJI2HKR.js → chunk-IXZS4AU4.js} +2 -2
  78. package/dist/chunk-J63QA2JC.js +2 -0
  79. package/dist/chunk-J63QA2JC.js.map +1 -0
  80. package/dist/{chunk-THPH57GK.js → chunk-JAHRIQVL.js} +2 -2
  81. package/dist/{chunk-JVGFK6NK.js → chunk-JCVKKCDH.js} +2 -2
  82. package/dist/{chunk-LJJKRBFU.js → chunk-JD2OY7RW.js} +2 -2
  83. package/dist/{chunk-SXB2L4I5.js → chunk-JK6ODZSU.js} +2 -2
  84. package/dist/{chunk-HI2BVEWW.js → chunk-JTJFG72J.js} +2 -2
  85. package/dist/{chunk-YHD2RXJC.js → chunk-KESYJ5QG.js} +2 -2
  86. package/dist/{chunk-S6OVT37M.js → chunk-KFWZDRDD.js} +2 -2
  87. package/dist/{chunk-CKA37AR5.js → chunk-L53XOWY6.js} +2 -2
  88. package/dist/{chunk-6JFRVHLF.js → chunk-MFFE3Q5U.js} +2 -2
  89. package/dist/{chunk-JTSHX4RB.js → chunk-MIK6GCO2.js} +2 -2
  90. package/dist/{chunk-ILX4QHHH.js → chunk-NIQXQZ6X.js} +2 -2
  91. package/dist/{chunk-WGMEOF72.js → chunk-OCTTH4RR.js} +2 -2
  92. package/dist/chunk-P3VO63JW.js +2 -0
  93. package/dist/chunk-P3VO63JW.js.map +1 -0
  94. package/dist/{chunk-AFEID3JA.js → chunk-P4IF2JG6.js} +2 -2
  95. package/dist/{chunk-6FKIWCCE.js → chunk-PAUMTSGO.js} +2 -2
  96. package/dist/{chunk-SNMKN5AK.js → chunk-PCNRQKOW.js} +2 -2
  97. package/dist/{chunk-A54D24NT.js → chunk-PV7FROZ7.js} +2 -2
  98. package/dist/{chunk-7GI4ZVUE.js → chunk-QAMANHN6.js} +2 -2
  99. package/dist/{chunk-TZPHBNNS.js → chunk-QE76JNNE.js} +2 -2
  100. package/dist/{chunk-YUQ3GDQI.js → chunk-QPJFFMXN.js} +2 -2
  101. package/dist/{chunk-OJCKJPY5.js → chunk-QVJD2C6W.js} +2 -2
  102. package/dist/{chunk-QS6RZEWL.js → chunk-QZIZVDJ3.js} +2 -2
  103. package/dist/{chunk-X64YQ67A.js → chunk-R3XRCGZN.js} +2 -2
  104. package/dist/{chunk-25III46F.js → chunk-R4LTPU22.js} +2 -2
  105. package/dist/{chunk-FSHTBJ6O.js → chunk-R7V2KOW6.js} +2 -2
  106. package/dist/{chunk-YHIADGM3.js → chunk-RBJ5MFDE.js} +2 -2
  107. package/dist/{chunk-RZYFAL5X.js → chunk-RKCZ5D42.js} +2 -2
  108. package/dist/{chunk-6K3XJV4Z.js → chunk-S2Z3B5C5.js} +2 -2
  109. package/dist/{chunk-4TRBNEI5.js → chunk-SOXCGLMW.js} +2 -2
  110. package/dist/chunk-STF3NTPS.js +2 -0
  111. package/dist/chunk-STF3NTPS.js.map +1 -0
  112. package/dist/chunk-T7O3YYOG.js +2 -0
  113. package/dist/chunk-T7O3YYOG.js.map +1 -0
  114. package/dist/{chunk-7PKH5MYL.js → chunk-TWCZHLHV.js} +2 -2
  115. package/dist/{chunk-3JJEKIQ2.js → chunk-TXVEFBFM.js} +2 -2
  116. package/dist/{chunk-OE7PRSME.js → chunk-U7SJPXRD.js} +2 -2
  117. package/dist/{chunk-EYHFPHIA.js → chunk-UAACHXXX.js} +2 -2
  118. package/dist/{chunk-FLW5LACO.js → chunk-UNBAXL4W.js} +2 -2
  119. package/dist/chunk-UTAMXYX4.js +2 -0
  120. package/dist/chunk-UTAMXYX4.js.map +1 -0
  121. package/dist/chunk-VH4D3E42.js +2 -0
  122. package/dist/chunk-VH4D3E42.js.map +1 -0
  123. package/dist/{chunk-3WBZPCT5.js → chunk-WNDVXLAQ.js} +2 -2
  124. package/dist/{chunk-OVTH3ZHO.js → chunk-WQSCAHR6.js} +2 -2
  125. package/dist/chunk-WUCPJPDB.js +2 -0
  126. package/dist/chunk-WUCPJPDB.js.map +1 -0
  127. package/dist/{chunk-ZCZX54AU.js → chunk-XCYBEX4H.js} +2 -2
  128. package/dist/{chunk-JIZKHO7L.js → chunk-XDILBY5Y.js} +2 -2
  129. package/dist/{chunk-H5VA2OWQ.js → chunk-XJDX3ZH6.js} +2 -2
  130. package/dist/{chunk-XDZFLJ5F.js → chunk-XNRPT3WP.js} +2 -2
  131. package/dist/{chunk-IEX4KZUY.js → chunk-XSNWW3V4.js} +2 -2
  132. package/dist/{chunk-5IHRUTHD.js → chunk-XZLVP6EN.js} +2 -2
  133. package/dist/{chunk-W6H74RYW.js → chunk-Y4JWDS3R.js} +2 -2
  134. package/dist/{chunk-FFHBDVTJ.js → chunk-Y7GS2L2A.js} +2 -2
  135. package/dist/{chunk-JZPN7DHV.js → chunk-YDIPBC4E.js} +2 -2
  136. package/dist/{chunk-H2OBH7SK.js → chunk-YUYHK6WD.js} +2 -2
  137. package/dist/{chunk-C2NROAMW.js → chunk-Z4JMMKSU.js} +2 -2
  138. package/dist/default-components.d.ts +2 -2
  139. package/dist/default-components.js +1 -1
  140. package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.d.ts +1 -1
  141. package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.js +1 -1
  142. package/dist/flows/ContractAmendment/ContractAmendmentFlow.d.ts +3 -3
  143. package/dist/flows/ContractAmendment/ContractAmendmentFlow.js +1 -1
  144. package/dist/flows/ContractAmendment/ContractAmendmentForm.d.ts +1 -1
  145. package/dist/flows/ContractAmendment/ContractAmendmentForm.js +1 -1
  146. package/dist/flows/ContractAmendment/context.d.ts +4 -4
  147. package/dist/flows/ContractAmendment/hooks.d.ts +4 -4
  148. package/dist/flows/ContractAmendment/hooks.js +1 -1
  149. package/dist/flows/ContractAmendment/index.d.ts +3 -3
  150. package/dist/flows/ContractAmendment/index.js +1 -1
  151. package/dist/flows/ContractAmendment/types.d.ts +2 -2
  152. package/dist/flows/ContractAmendment/utils.d.ts +2 -2
  153. package/dist/flows/ContractAmendment/utils.js +1 -1
  154. package/dist/flows/ContractorOnboarding/ContractorOnboarding.d.ts +5 -5
  155. package/dist/flows/ContractorOnboarding/ContractorOnboarding.js +1 -1
  156. package/dist/flows/ContractorOnboarding/api.d.ts +12 -3
  157. package/dist/flows/ContractorOnboarding/api.js +1 -1
  158. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.d.ts +4 -4
  159. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.js +1 -1
  160. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.d.ts +5 -5
  161. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.js +1 -1
  162. package/dist/flows/ContractorOnboarding/components/ContractPreviewHeader.d.ts +2 -2
  163. package/dist/flows/ContractorOnboarding/components/ContractPreviewStatement.d.ts +2 -2
  164. package/dist/flows/ContractorOnboarding/components/ContractPreviewStatement.js +1 -1
  165. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.d.ts +5 -5
  166. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.js +1 -1
  167. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.d.ts +5 -5
  168. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.js +1 -1
  169. package/dist/flows/ContractorOnboarding/components/OnboardingInvite.d.ts +3 -3
  170. package/dist/flows/ContractorOnboarding/components/OnboardingInvite.js +1 -1
  171. package/dist/flows/ContractorOnboarding/components/PricingPlan.d.ts +5 -5
  172. package/dist/flows/ContractorOnboarding/components/PricingPlan.js +1 -1
  173. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.d.ts +4 -4
  174. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.js +1 -1
  175. package/dist/flows/ContractorOnboarding/components/StatementOfWorkDisclaimer.js +1 -1
  176. package/dist/flows/ContractorOnboarding/context.d.ts +6 -6
  177. package/dist/flows/ContractorOnboarding/hooks.d.ts +5 -5
  178. package/dist/flows/ContractorOnboarding/hooks.js +1 -1
  179. package/dist/flows/ContractorOnboarding/index.d.ts +5 -5
  180. package/dist/flows/ContractorOnboarding/index.js +1 -1
  181. package/dist/flows/ContractorOnboarding/jsfModify.d.ts +5 -5
  182. package/dist/flows/ContractorOnboarding/jsfModify.js +1 -1
  183. package/dist/flows/ContractorOnboarding/types.d.ts +5 -5
  184. package/dist/flows/CostCalculator/CostCalculatorFlow.d.ts +3 -3
  185. package/dist/flows/CostCalculator/CostCalculatorFlow.js +1 -1
  186. package/dist/flows/CostCalculator/CostCalculatorForm.d.ts +3 -3
  187. package/dist/flows/CostCalculator/CostCalculatorForm.js +1 -1
  188. package/dist/flows/CostCalculator/CostCalculatorResetButton.js +1 -1
  189. package/dist/flows/CostCalculator/CostCalculatorSubmitButton.js +1 -1
  190. package/dist/flows/CostCalculator/EstimationResults/EstimationResults.d.ts +2 -2
  191. package/dist/flows/CostCalculator/EstimationResults/EstimationResults.js +1 -1
  192. package/dist/flows/CostCalculator/SummaryResults/SummaryResults.d.ts +2 -2
  193. package/dist/flows/CostCalculator/SummaryResults/SummaryResults.js +1 -1
  194. package/dist/flows/CostCalculator/api.d.ts +2 -2
  195. package/dist/flows/CostCalculator/api.js +1 -1
  196. package/dist/flows/CostCalculator/components/SalaryField.d.ts +2 -2
  197. package/dist/flows/CostCalculator/components/SalaryField.js +1 -1
  198. package/dist/flows/CostCalculator/context.d.ts +3 -3
  199. package/dist/flows/CostCalculator/hooks.d.ts +3 -3
  200. package/dist/flows/CostCalculator/hooks.js +1 -1
  201. package/dist/flows/CostCalculator/index.d.ts +3 -3
  202. package/dist/flows/CostCalculator/index.js +1 -1
  203. package/dist/flows/CostCalculator/types.d.ts +2 -2
  204. package/dist/flows/CostCalculator/utils.d.ts +3 -3
  205. package/dist/flows/CostCalculator/utils.js +1 -1
  206. package/dist/flows/Onboarding/OnboardingFlow.d.ts +4 -4
  207. package/dist/flows/Onboarding/OnboardingFlow.js +1 -1
  208. package/dist/flows/Onboarding/api.d.ts +5 -5
  209. package/dist/flows/Onboarding/api.js +1 -1
  210. package/dist/flows/Onboarding/components/AnnualGrossSalary.d.ts +2 -2
  211. package/dist/flows/Onboarding/components/AnnualGrossSalary.js +1 -1
  212. package/dist/flows/Onboarding/components/BasicInformationStep.d.ts +4 -4
  213. package/dist/flows/Onboarding/components/BasicInformationStep.js +1 -1
  214. package/dist/flows/Onboarding/components/BenefitsStep.d.ts +4 -4
  215. package/dist/flows/Onboarding/components/BenefitsStep.js +1 -1
  216. package/dist/flows/Onboarding/components/ContractDetailsStep.d.ts +4 -4
  217. package/dist/flows/Onboarding/components/ContractDetailsStep.js +1 -1
  218. package/dist/flows/Onboarding/components/OnboardingForm.d.ts +4 -4
  219. package/dist/flows/Onboarding/components/OnboardingForm.js +1 -1
  220. package/dist/flows/Onboarding/components/OnboardingInvite.d.ts +3 -3
  221. package/dist/flows/Onboarding/components/OnboardingInvite.js +1 -1
  222. package/dist/flows/Onboarding/components/ReviewStep.d.ts +4 -4
  223. package/dist/flows/Onboarding/components/SaveDraftButton.d.ts +3 -3
  224. package/dist/flows/Onboarding/components/SelectCountryStep.d.ts +4 -4
  225. package/dist/flows/Onboarding/components/SelectCountryStep.js +1 -1
  226. package/dist/flows/Onboarding/context.d.ts +5 -5
  227. package/dist/flows/Onboarding/hooks.d.ts +4 -4
  228. package/dist/flows/Onboarding/hooks.js +1 -1
  229. package/dist/flows/Onboarding/index.d.ts +4 -4
  230. package/dist/flows/Onboarding/index.js +1 -1
  231. package/dist/flows/Onboarding/types.d.ts +4 -4
  232. package/dist/flows/Onboarding/utils.d.ts +4 -4
  233. package/dist/flows/Onboarding/utils.js +1 -1
  234. package/dist/flows/Termination/AdditionalDetailsForm.d.ts +4 -4
  235. package/dist/flows/Termination/AdditionalDetailsForm.js +1 -1
  236. package/dist/flows/Termination/EmployeeComunicationForm.d.ts +4 -4
  237. package/dist/flows/Termination/EmployeeComunicationForm.js +1 -1
  238. package/dist/flows/Termination/PaidTimeOffForm.d.ts +4 -4
  239. package/dist/flows/Termination/PaidTimeOffForm.js +1 -1
  240. package/dist/flows/Termination/TerminationDetailsForm.d.ts +4 -4
  241. package/dist/flows/Termination/TerminationDetailsForm.js +1 -1
  242. package/dist/flows/Termination/TerminationFlow.d.ts +4 -4
  243. package/dist/flows/Termination/TerminationFlow.js +1 -1
  244. package/dist/flows/Termination/TerminationForm.d.ts +4 -4
  245. package/dist/flows/Termination/TerminationForm.js +1 -1
  246. package/dist/flows/Termination/api.d.ts +5 -5
  247. package/dist/flows/Termination/api.js +1 -1
  248. package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformation.js +1 -1
  249. package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformationFees.js +1 -1
  250. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.d.ts +6 -6
  251. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.js +1 -1
  252. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.d.ts +6 -6
  253. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.js +1 -1
  254. package/dist/flows/Termination/components/PaidTimeOff/types.d.ts +6 -6
  255. package/dist/flows/Termination/components/TerminationDialogInfoContent/TerminationDialogInfoContent.js +1 -1
  256. package/dist/flows/Termination/components/TerminationReasonsDetailContent/TerminationReasonsDetailContent.js +1 -1
  257. package/dist/flows/Termination/context.d.ts +4 -4
  258. package/dist/flows/Termination/hooks.d.ts +4 -4
  259. package/dist/flows/Termination/hooks.js +1 -1
  260. package/dist/flows/Termination/index.d.ts +6 -6
  261. package/dist/flows/Termination/index.js +1 -1
  262. package/dist/flows/Termination/json-schemas/schema.d.ts +4 -4
  263. package/dist/flows/Termination/types.d.ts +4 -4
  264. package/dist/flows/Termination/utils.d.ts +4 -4
  265. package/dist/flows/Termination/utils.js +1 -1
  266. package/dist/flows/types.d.ts +2 -2
  267. package/dist/index.css +1 -1
  268. package/dist/index.css.map +1 -1
  269. package/dist/index.d.ts +25 -23
  270. package/dist/index.js +2 -2
  271. package/dist/index.js.map +1 -1
  272. package/dist/internals.d.ts +3 -3
  273. package/dist/internals.js +1 -1
  274. package/dist/{mutations-S_wSmzKg.d.ts → mutations-CgUg7bFI.d.ts} +1 -1
  275. package/dist/{remoteFlows-Cng6gLYk.d.ts → remoteFlows-COBpPFTc.d.ts} +1 -1
  276. package/dist/styles.css +1 -1
  277. package/dist/styles.css.map +1 -1
  278. package/dist/{types-BMqZxk-s.d.ts → types-B_vHCmBi.d.ts} +7 -8
  279. package/dist/{types-B4TFqbOW.d.ts → types-DNR15SYE.d.ts} +1 -1
  280. package/dist/{types-Cmjevabw.d.ts → types-Dji2W0_p.d.ts} +5 -5
  281. package/dist/{types-DDr_JprX.d.ts → types-cehPGDYr.d.ts} +2 -2
  282. package/dist/{types.gen-DblP0ILg.d.ts → types.gen-BvDfbEiE.d.ts} +54 -1
  283. package/dist/{utils-CCnKZ-KY.d.ts → utils-CB_t8bzu.d.ts} +1 -1
  284. package/package.json +1 -1
  285. package/dist/ButtonDefault-NLDQHAWN.js +0 -2
  286. package/dist/CheckboxFieldDefault-QXABRJXG.js +0 -2
  287. package/dist/CountryFieldDefault-Q6N5AQVO.js +0 -2
  288. package/dist/DatePickerFieldDefault-HUP4TK2U.js +0 -2
  289. package/dist/DrawerDefault-5EYKRPS7.js +0 -2
  290. package/dist/EmailFieldDefault-3ES7SMDC.js +0 -2
  291. package/dist/FieldsetToggleButtonDefault-TPLNRX3E.js +0 -2
  292. package/dist/FileUploadFieldDefault-PNM6H64X.js +0 -2
  293. package/dist/MultiSelectFieldDefault-THD7TDWF.js +0 -2
  294. package/dist/NumberFieldDefault-PCH6RRDK.js +0 -2
  295. package/dist/PDFPreviewDefault-474JH3KB.js +0 -2
  296. package/dist/RadioGroupFieldDefault-E35Y2AK6.js +0 -2
  297. package/dist/SelectFieldDefault-NHDJRM5H.js +0 -2
  298. package/dist/StatementDefault-CSHXL3G2.js +0 -2
  299. package/dist/TableFieldDefault-N7MO2QJI.js +0 -2
  300. package/dist/TextAreaFieldDefault-OG4UM4DG.js +0 -2
  301. package/dist/TextFieldDefault-FECR4GRK.js +0 -2
  302. package/dist/WorkScheduleFieldDefault-G2MR2DBY.js +0 -2
  303. package/dist/ZendeskDrawerDefault-W3RCTVCH.js +0 -2
  304. package/dist/chunk-3QNS3IZB.js +0 -2
  305. package/dist/chunk-4DLVQKMI.js +0 -2
  306. package/dist/chunk-4DLVQKMI.js.map +0 -1
  307. package/dist/chunk-A24VPRL7.js.map +0 -1
  308. package/dist/chunk-EBFCYC35.js +0 -2
  309. package/dist/chunk-EBFCYC35.js.map +0 -1
  310. package/dist/chunk-FYFW7DCQ.js +0 -2
  311. package/dist/chunk-FYFW7DCQ.js.map +0 -1
  312. package/dist/chunk-FZ452U6M.js +0 -2
  313. package/dist/chunk-FZ452U6M.js.map +0 -1
  314. package/dist/chunk-GCWEOZBS.js +0 -2
  315. package/dist/chunk-GCWEOZBS.js.map +0 -1
  316. package/dist/chunk-H6YNMT4M.js +0 -2
  317. package/dist/chunk-H6YNMT4M.js.map +0 -1
  318. package/dist/chunk-HRG5MSVG.js +0 -2
  319. package/dist/chunk-HRG5MSVG.js.map +0 -1
  320. package/dist/chunk-JTLXUYOR.js +0 -6
  321. package/dist/chunk-JTLXUYOR.js.map +0 -1
  322. package/dist/chunk-L34CQIPW.js +0 -2
  323. package/dist/chunk-L34CQIPW.js.map +0 -1
  324. package/dist/chunk-QMYU2SQX.js +0 -2
  325. package/dist/chunk-QMYU2SQX.js.map +0 -1
  326. package/dist/chunk-RZS2WEOI.js +0 -2
  327. package/dist/chunk-RZS2WEOI.js.map +0 -1
  328. package/dist/chunk-UBRRCAAI.js +0 -2
  329. package/dist/chunk-UBRRCAAI.js.map +0 -1
  330. package/dist/chunk-XOK3XCYN.js +0 -2
  331. package/dist/chunk-XOK3XCYN.js.map +0 -1
  332. /package/dist/{ButtonDefault-NLDQHAWN.js.map → ButtonDefault-W7RPNNTH.js.map} +0 -0
  333. /package/dist/{CheckboxFieldDefault-QXABRJXG.js.map → CheckboxFieldDefault-JXZ6UY5T.js.map} +0 -0
  334. /package/dist/{CountryFieldDefault-Q6N5AQVO.js.map → CountryFieldDefault-KBZRYF4G.js.map} +0 -0
  335. /package/dist/{DatePickerFieldDefault-HUP4TK2U.js.map → DatePickerFieldDefault-RY6QSSE7.js.map} +0 -0
  336. /package/dist/{DrawerDefault-5EYKRPS7.js.map → DrawerDefault-V3GEL6Z5.js.map} +0 -0
  337. /package/dist/{EmailFieldDefault-3ES7SMDC.js.map → EmailFieldDefault-A3D5VQPS.js.map} +0 -0
  338. /package/dist/{FieldsetToggleButtonDefault-TPLNRX3E.js.map → FieldsetToggleButtonDefault-BKIDTISL.js.map} +0 -0
  339. /package/dist/{FileUploadFieldDefault-PNM6H64X.js.map → FileUploadFieldDefault-OQ4FGPDM.js.map} +0 -0
  340. /package/dist/{MultiSelectFieldDefault-THD7TDWF.js.map → MultiSelectFieldDefault-EZA25KXD.js.map} +0 -0
  341. /package/dist/{NumberFieldDefault-PCH6RRDK.js.map → NumberFieldDefault-BDSRZWXH.js.map} +0 -0
  342. /package/dist/{PDFPreviewDefault-474JH3KB.js.map → PDFPreviewDefault-TV775MOQ.js.map} +0 -0
  343. /package/dist/{RadioGroupFieldDefault-E35Y2AK6.js.map → RadioGroupFieldDefault-KAAFWDFJ.js.map} +0 -0
  344. /package/dist/{SelectFieldDefault-NHDJRM5H.js.map → SelectFieldDefault-3XQ5FPO2.js.map} +0 -0
  345. /package/dist/{StatementDefault-CSHXL3G2.js.map → StatementDefault-CCLTSJLJ.js.map} +0 -0
  346. /package/dist/{TableFieldDefault-N7MO2QJI.js.map → TableFieldDefault-ADKV3M23.js.map} +0 -0
  347. /package/dist/{TextAreaFieldDefault-OG4UM4DG.js.map → TextAreaFieldDefault-LVZXGUKB.js.map} +0 -0
  348. /package/dist/{TextFieldDefault-FECR4GRK.js.map → TextFieldDefault-YQMWGOV2.js.map} +0 -0
  349. /package/dist/{WorkScheduleFieldDefault-G2MR2DBY.js.map → WorkScheduleFieldDefault-IW4VDBCH.js.map} +0 -0
  350. /package/dist/{ZendeskDrawerDefault-W3RCTVCH.js.map → ZendeskDrawerDefault-DKSZSN6N.js.map} +0 -0
  351. /package/dist/{chunk-SQWCXYE2.js.map → chunk-2EYBWQJW.js.map} +0 -0
  352. /package/dist/{chunk-VC6X3C2I.js.map → chunk-2O6Z2KGG.js.map} +0 -0
  353. /package/dist/{chunk-JKEUTGPQ.js.map → chunk-2Q57B73D.js.map} +0 -0
  354. /package/dist/{chunk-ML56EPFW.js.map → chunk-2YNDS45E.js.map} +0 -0
  355. /package/dist/{chunk-PBJWPR2W.js.map → chunk-3UNMOXCG.js.map} +0 -0
  356. /package/dist/{chunk-EW36MHXP.js.map → chunk-43RCLG2R.js.map} +0 -0
  357. /package/dist/{chunk-MLXUOIBE.js.map → chunk-44SKGM3K.js.map} +0 -0
  358. /package/dist/{chunk-3UJC7KHD.js.map → chunk-4JIHEEKX.js.map} +0 -0
  359. /package/dist/{chunk-7SYE5KEV.js.map → chunk-4V6AV3DC.js.map} +0 -0
  360. /package/dist/{chunk-VIQQ3IHI.js.map → chunk-4XJEVGPI.js.map} +0 -0
  361. /package/dist/{chunk-D4FBB5XW.js.map → chunk-4XV4INW5.js.map} +0 -0
  362. /package/dist/{chunk-YZ3POA3F.js.map → chunk-5SODYNW6.js.map} +0 -0
  363. /package/dist/{chunk-FJPY27YJ.js.map → chunk-6MJ5MIUI.js.map} +0 -0
  364. /package/dist/{chunk-XIEA775Q.js.map → chunk-7EMWT6EU.js.map} +0 -0
  365. /package/dist/{chunk-I25DQACP.js.map → chunk-7V3YVPIK.js.map} +0 -0
  366. /package/dist/{chunk-C4NXXY3X.js.map → chunk-A3TXUJUO.js.map} +0 -0
  367. /package/dist/{chunk-JZNJIXGW.js.map → chunk-A5PZOBR5.js.map} +0 -0
  368. /package/dist/{chunk-FGJ46XOX.js.map → chunk-AMJ7F55V.js.map} +0 -0
  369. /package/dist/{chunk-PGRQG254.js.map → chunk-AU376LE2.js.map} +0 -0
  370. /package/dist/{chunk-Q4GRM3SL.js.map → chunk-B3KBDNWQ.js.map} +0 -0
  371. /package/dist/{chunk-7QRAEME3.js.map → chunk-CCE3EAVC.js.map} +0 -0
  372. /package/dist/{chunk-F2VYTYIQ.js.map → chunk-CMFZEZEK.js.map} +0 -0
  373. /package/dist/{chunk-AQHD46DV.js.map → chunk-DSH4GKP3.js.map} +0 -0
  374. /package/dist/{chunk-LGX2ABTK.js.map → chunk-DWXCRJ4V.js.map} +0 -0
  375. /package/dist/{chunk-IWXQUASB.js.map → chunk-E5ZC6VG3.js.map} +0 -0
  376. /package/dist/{chunk-ZCXTTVGV.js.map → chunk-EAF6XPH6.js.map} +0 -0
  377. /package/dist/{chunk-JQ2ESL5O.js.map → chunk-EGDWVDXM.js.map} +0 -0
  378. /package/dist/{chunk-OZWDFGLQ.js.map → chunk-EI4CEPXN.js.map} +0 -0
  379. /package/dist/{chunk-AN5U7FWW.js.map → chunk-ERPXDFKC.js.map} +0 -0
  380. /package/dist/{chunk-UOY6KW7W.js.map → chunk-EUSCQL4H.js.map} +0 -0
  381. /package/dist/{chunk-KRFK2QRV.js.map → chunk-EVOTA5WO.js.map} +0 -0
  382. /package/dist/{chunk-CAV5SWVS.js.map → chunk-FJ5RHLSJ.js.map} +0 -0
  383. /package/dist/{chunk-NQURNHBL.js.map → chunk-GC5QTPTM.js.map} +0 -0
  384. /package/dist/{chunk-CNCOVTDL.js.map → chunk-GINFFWVY.js.map} +0 -0
  385. /package/dist/{chunk-XSG4QXPY.js.map → chunk-GOEEA34E.js.map} +0 -0
  386. /package/dist/{chunk-WT6E5LO4.js.map → chunk-GRWTCP42.js.map} +0 -0
  387. /package/dist/{chunk-KXF27FC4.js.map → chunk-GTJMTF2R.js.map} +0 -0
  388. /package/dist/{chunk-MZNUCWQU.js.map → chunk-GWR2JBG2.js.map} +0 -0
  389. /package/dist/{chunk-KAGAWJSJ.js.map → chunk-HG7UJX4O.js.map} +0 -0
  390. /package/dist/{chunk-ZTBFYRNL.js.map → chunk-HYVK643F.js.map} +0 -0
  391. /package/dist/{chunk-XVU376WG.js.map → chunk-I4IRP6BK.js.map} +0 -0
  392. /package/dist/{chunk-KWJI2HKR.js.map → chunk-IXZS4AU4.js.map} +0 -0
  393. /package/dist/{chunk-THPH57GK.js.map → chunk-JAHRIQVL.js.map} +0 -0
  394. /package/dist/{chunk-JVGFK6NK.js.map → chunk-JCVKKCDH.js.map} +0 -0
  395. /package/dist/{chunk-LJJKRBFU.js.map → chunk-JD2OY7RW.js.map} +0 -0
  396. /package/dist/{chunk-SXB2L4I5.js.map → chunk-JK6ODZSU.js.map} +0 -0
  397. /package/dist/{chunk-HI2BVEWW.js.map → chunk-JTJFG72J.js.map} +0 -0
  398. /package/dist/{chunk-YHD2RXJC.js.map → chunk-KESYJ5QG.js.map} +0 -0
  399. /package/dist/{chunk-S6OVT37M.js.map → chunk-KFWZDRDD.js.map} +0 -0
  400. /package/dist/{chunk-CKA37AR5.js.map → chunk-L53XOWY6.js.map} +0 -0
  401. /package/dist/{chunk-6JFRVHLF.js.map → chunk-MFFE3Q5U.js.map} +0 -0
  402. /package/dist/{chunk-JTSHX4RB.js.map → chunk-MIK6GCO2.js.map} +0 -0
  403. /package/dist/{chunk-ILX4QHHH.js.map → chunk-NIQXQZ6X.js.map} +0 -0
  404. /package/dist/{chunk-WGMEOF72.js.map → chunk-OCTTH4RR.js.map} +0 -0
  405. /package/dist/{chunk-AFEID3JA.js.map → chunk-P4IF2JG6.js.map} +0 -0
  406. /package/dist/{chunk-6FKIWCCE.js.map → chunk-PAUMTSGO.js.map} +0 -0
  407. /package/dist/{chunk-SNMKN5AK.js.map → chunk-PCNRQKOW.js.map} +0 -0
  408. /package/dist/{chunk-A54D24NT.js.map → chunk-PV7FROZ7.js.map} +0 -0
  409. /package/dist/{chunk-7GI4ZVUE.js.map → chunk-QAMANHN6.js.map} +0 -0
  410. /package/dist/{chunk-TZPHBNNS.js.map → chunk-QE76JNNE.js.map} +0 -0
  411. /package/dist/{chunk-YUQ3GDQI.js.map → chunk-QPJFFMXN.js.map} +0 -0
  412. /package/dist/{chunk-OJCKJPY5.js.map → chunk-QVJD2C6W.js.map} +0 -0
  413. /package/dist/{chunk-QS6RZEWL.js.map → chunk-QZIZVDJ3.js.map} +0 -0
  414. /package/dist/{chunk-X64YQ67A.js.map → chunk-R3XRCGZN.js.map} +0 -0
  415. /package/dist/{chunk-25III46F.js.map → chunk-R4LTPU22.js.map} +0 -0
  416. /package/dist/{chunk-FSHTBJ6O.js.map → chunk-R7V2KOW6.js.map} +0 -0
  417. /package/dist/{chunk-YHIADGM3.js.map → chunk-RBJ5MFDE.js.map} +0 -0
  418. /package/dist/{chunk-RZYFAL5X.js.map → chunk-RKCZ5D42.js.map} +0 -0
  419. /package/dist/{chunk-6K3XJV4Z.js.map → chunk-S2Z3B5C5.js.map} +0 -0
  420. /package/dist/{chunk-4TRBNEI5.js.map → chunk-SOXCGLMW.js.map} +0 -0
  421. /package/dist/{chunk-7PKH5MYL.js.map → chunk-TWCZHLHV.js.map} +0 -0
  422. /package/dist/{chunk-3JJEKIQ2.js.map → chunk-TXVEFBFM.js.map} +0 -0
  423. /package/dist/{chunk-OE7PRSME.js.map → chunk-U7SJPXRD.js.map} +0 -0
  424. /package/dist/{chunk-EYHFPHIA.js.map → chunk-UAACHXXX.js.map} +0 -0
  425. /package/dist/{chunk-FLW5LACO.js.map → chunk-UNBAXL4W.js.map} +0 -0
  426. /package/dist/{chunk-3WBZPCT5.js.map → chunk-WNDVXLAQ.js.map} +0 -0
  427. /package/dist/{chunk-OVTH3ZHO.js.map → chunk-WQSCAHR6.js.map} +0 -0
  428. /package/dist/{chunk-ZCZX54AU.js.map → chunk-XCYBEX4H.js.map} +0 -0
  429. /package/dist/{chunk-JIZKHO7L.js.map → chunk-XDILBY5Y.js.map} +0 -0
  430. /package/dist/{chunk-H5VA2OWQ.js.map → chunk-XJDX3ZH6.js.map} +0 -0
  431. /package/dist/{chunk-XDZFLJ5F.js.map → chunk-XNRPT3WP.js.map} +0 -0
  432. /package/dist/{chunk-IEX4KZUY.js.map → chunk-XSNWW3V4.js.map} +0 -0
  433. /package/dist/{chunk-5IHRUTHD.js.map → chunk-XZLVP6EN.js.map} +0 -0
  434. /package/dist/{chunk-W6H74RYW.js.map → chunk-Y4JWDS3R.js.map} +0 -0
  435. /package/dist/{chunk-FFHBDVTJ.js.map → chunk-Y7GS2L2A.js.map} +0 -0
  436. /package/dist/{chunk-JZPN7DHV.js.map → chunk-YDIPBC4E.js.map} +0 -0
  437. /package/dist/{chunk-H2OBH7SK.js.map → chunk-YUYHK6WD.js.map} +0 -0
  438. /package/dist/{chunk-C2NROAMW.js.map → chunk-Z4JMMKSU.js.map} +0 -0
@@ -0,0 +1,2 @@
1
+ import{a as i}from"./chunk-P37U34EQ.js";var h=i(e=>new Promise((n,r)=>{let a=new FileReader;a.readAsDataURL(e),a.onload=()=>n(a.result),a.onerror=t=>r(t)}),"toBase64"),A=i(async e=>await Promise.all(e.map(async r=>{let a=await h(r);return{...r,name:r.name,size:r.size,type:r.type,content:a.split(",")[1]}})),"convertFilesToBase64");function v(e,n){let r=e.split(","),a=r[0].match(/:(.*?);/)?.[1],t=atob(r[1]),s=Uint8Array.from(t,o=>o.charCodeAt(0));return new File([s],n,{type:a})}i(v,"dataURLtoFile");import{addBusinessDays as x,isWeekend as N,nextMonday as L}from"date-fns";import V from"lodash.get";var C={TEXT:"text",TEXTAREA:"textarea",NUMBER:"number",SELECT:"select",COUNTRIES:"countries",TEL:"tel",EMAIL:"email",MONEY:"money",DATE:"date",DATE_RANGE:"date-range",CURRENCIES:"currencies",TIME:"time"},j={CHECKBOX:"checkbox",ACK_CHECK:"ack-check"},l={FILE:"file",RADIO:"radio",RADIO_CARD:"radio-card",GROUP_ARRAY:"group-array",EXTRA:"extra",STATEMENT:"statement",HIDDEN:"hidden",FIELDSET:"fieldset",FIELDSET_FLAT:"fieldset-flat",WORK_SCHEDULE:"work-schedule",WORK_WEEK_SCHEDULE:"work-week-schedule",BENEFITS:"benefits",SIGNATURE:"signature",SELECT_MULTIPLE:"select-multiple",...C,...j};function R(e){return Math.round((e+Number.EPSILON)*100)/100}i(R,"round");function I(e){return parseFloat(e.replace(/,/g,""))}i(I,"convertToValidCost");function U(e){if(e==null||e===""||Number.isNaN(e)||Array.isArray(e)||typeof e=="boolean")return null;let n;return typeof e=="string"?n=I(e):n=e,R(n*100)}i(U,"convertToCents");function B(e){if(e==null||Number.isNaN(e))return null;let n;return typeof e=="string"?n=I(e||"0"):n=e,R(n/100)}i(B,"convertFromCents");var g=i(e=>Object.entries(e||{}).reduce((n,[r,a])=>(Array.isArray(a)?n[r]=a.map(t=>typeof t=="object"&&t!==null?g(t):typeof t=="string"?t.trim():t):typeof a=="object"&&a!==null?n[r]=g(a):n[r]=typeof a=="string"?a.trim():a,n),{}),"trimStringValues");function D(e,n){let r={};return n.forEach(a=>{let t=a.name;if(!(!Object.prototype.hasOwnProperty.call(e,t)&&!(a.inputType===l.FIELDSET&&a.valueGroupingDisabled))){if(a.inputType===l.FIELDSET&&a.valueGroupingDisabled){Object.assign(r,D(e,a.fields));return}a.readOnly&&a.defaultValue?r[t]=a.defaultValue:r[t]=e[t]}}),r}i(D,"prefillReadOnlyFields");function O(e,n){return e.reduce((r,a)=>(a.inputType===l.FIELDSET&&a.valueGroupingDisabled?Object.assign(r,O(a.fields,n)):Object.prototype.hasOwnProperty.call(n,a.name)&&(r[a.name]=n[a.name]),r),{})}i(O,"extractFieldsetFieldsValues");var T={[l.COUNTRIES]:{transformValueToAPI:i(e=>n=>!e.multiple||typeof n=="string"?n:n.map(r=>typeof r=="string"?r:r.name),"transformValueToAPI"),transformValue:i(e=>{let n=i(r=>r?.name||r?.value||r?.label,"getCountryValue");return Array.isArray(e)?e.map(n):n(e)||""},"transformValue")},[l.NUMBER]:{transformValueToAPI:i(()=>e=>{let n=Number(e);return Number.isNaN(n)?e:n},"transformValueToAPI")},[l.MONEY]:{transformValueFromAPI:i(()=>e=>B(e)??"","transformValueFromAPI"),transformValueToAPI:i(()=>U,"transformValueToAPI")},[l.RADIO]:{transformValueToAPI:i(e=>n=>e.transformToBool?n==="yes":n,"transformValueToAPI")},[l.CHECKBOX]:{transformValueToAPI:i(e=>n=>n===void 0?!1:e.const&&n===!0?e.const:n,"transformValueToAPI")},[l.SELECT]:{transformValue:i(e=>Array.isArray(e)?e.map(n=>n.value):e?.value??"","transformValue")},[l.FILE]:{transformValueToAPI:i(()=>async e=>e?await A(e):null,"transformValueToAPI")}};async function d(e={},n){let r=n.filter(t=>e[t.name]||t.inputType===l.FIELDSET&&t.valueGroupingDisabled);return(await Promise.all(r.map(async t=>{let s={};switch(t.inputType){case l.FIELDSET:{let o=t;if(o.valueGroupingDisabled){let u=O(o.fields,e);Object.assign(s,await d(u,o.fields))}else{let u=e[t.name];if(u&&typeof u=="object"&&!Array.isArray(u)){let c=Object.fromEntries(Object.entries(u).filter(([,m])=>m!==""&&m!==null&&m!==void 0));s[t.name]=Object.keys(c).length>0?await d(c,o.fields):void 0}else s[t.name]=await d(u,o.fields)}break}case l.TEXTAREA:case l.TEXT:s[t.name]=e[t.name].replace(/\0/g,"");break;case l.GROUP_ARRAY:{let o=t?.fields?.().map(c=>({...c,name:c.nameKey||""})),u=await Promise.all(e[t.name]?.map(c=>d(c,o))||[]);s[t.name]=u;break}case l.EXTRA:{let o=t;if(o.includeValueToApi!==!1){let u=e[o.name],c=o?.transformValueToAPI||T[o.inputType]?.transformValueToAPI;if(c){let m=c(t)(u);s[o.name]=m instanceof Promise?await m:m;break}s[o.name]=u;break}s[o.name]=void 0;break}default:{let o=e[t.name],u=t?.transformValueToAPI||T[t.inputType]?.transformValueToAPI;if(u){let c=u(t)(o);s[t.name]=c instanceof Promise?await c:c;break}s[t.name]=o;break}}return t.forcedValue!==void 0&&(s[t.name]=t.forcedValue),s}))).reduce((t,s)=>({...t,...s}),{...e})}i(d,"parseFormValuesToAPI");function w(e,n){return e.visibilityCondition?e.visibilityCondition(n):typeof e.isVisible<"u"?!!e.isVisible:!0}i(w,"isFieldVisible");function E(e,n){return e.calculateDynamicProperties?{...e,...e.calculateDynamicProperties(n)||{}}:e}i(E,"applyFieldDynamicProperties");function F(e,n,r,a){let t={};return n.map(s=>E(s,e)).forEach(s=>{let o=s.name;a&&(o=o?`${a}.${s.name}`:a);let u=V(e,o);if(!(!w(s,e)&&!(r&&u))&&!s.meta?.ignoreValue)if(s.inputType==="fieldset"&&s.valueGroupingDisabled)Object.assign(t,F(e,s.fields,r,o));else if(Array.isArray(s.fields))t[s.name]=F(e,s.fields,r,o);else{if(u===void 0)return;t[s.name]=u}}),t}i(F,"excludeValuesInvisible");function M(e){return Object.fromEntries(Object.entries(e).filter(([,n])=>n!=null&&n!==""))}i(M,"removeEmptyValues");function b(e){return Array.isArray(e)?e.map(b):e&&typeof e=="object"?Object.entries(e).reduce((n,[r,a])=>(r.startsWith("_")||(n[r]=b(a)),n),{}):e}i(b,"cleanUnderscoreFields");async function G(e,n,r){let a=r?.keepInvisibleValues?e:F(e,n),t=await d(a,n),s=g(t),o=M(s),u=D(o,n);return b(u)}i(G,"parseSubmitValues");async function Y(e,n,r={isPartialValidation:!1}){return await G(e,n,{keepInvisibleValues:r?.isPartialValidation})}i(Y,"parseJSFToValidate");function W(e){switch(e){case l.FILE:return;default:return""}}i(W,"getDefaultValueForType");function P(e,n){let r=V(e,n.name),a=n?.transformValueFromAPI||T[n.inputType]?.transformValueFromAPI;if(a)return a(n)(r);let t=typeof n.value=="function"?n.value(r,e):null,s=typeof n.value!="function"?n.value:null,o=n.checkboxValue===!0?r||!1:null,u=i(c=>c===""?void 0:c,"excludeString");return u(t)??u(r)??u(s)??u(n.default)??o??W(n.inputType)}i(P,"getInitialDefaultValue");function S(e,n,r){let a={},t=e.name;r&&(t=t?`${r}.${t}`:r);let s=e.fields;if(Array.isArray(s)){let o={};s.forEach(u=>{Object.assign(o,S(u,n,t))}),e.inputType===l.FIELDSET&&e.valueGroupingDisabled?Object.assign(a,o):a[e.name]=o}else a[e.name]=P(n,{...e,name:t});return a}i(S,"getInitialSubFieldValues");function _(e,n){let r={},a=n;return e.map(t=>E(t,a)).forEach(t=>{switch(t.inputType){case l.FIELDSET:{if(t.valueGroupingDisabled)Object.assign(r,_(t.fields,a));else{let s=S(t,a);Object.assign(r,s)}break}default:{r[t.name]||(r[t.name]=P(a,t));break}}}),r}i(_,"getInitialValues");function z({fields:e=[],fieldsets:n={},values:r}){let a=Object.keys(n);if(!a?.length)return e;let t=new Set(a.flatMap(c=>n[c]?.propertiesByName??[]));return a.map(c=>{let{propertiesByName:m=[],...y}=n[c],f=m.map(p=>e.find(k=>k.name===p)).filter(p=>!!p);return{...y,name:c,type:"fieldset-flat",inputType:"fieldset-flat",fields:f,label:n[c].title,isVisible:f.map(p=>E(p,r)).some(p=>w(p,r))}}).reduce((c,m)=>{let y=[...c],f=m.fields[0]?c.findIndex(p=>p.name===m.fields[0].name):c.length;return y.splice(f,0,m),y},e).filter(c=>!t.has(c.name))}i(z,"getFieldsWithFlatFieldsets");function q(e,n){let r=n;return e.forEach(a=>{"const"in a&&(r=Object.fromEntries(Object.entries(n).map(([t,s])=>t===a.name?[t,a.const]:[t,s])))}),r}i(q,"enableAckFields");function Q(e){let n=new Date;n.setDate(n.getUTCDate()),n.setHours(0,0,0,0);let r=x(n,e+1);return N(r)?L(r):r}i(Q,"getMinStartDate");export{v as a,R as b,U as c,B as d,Y as e,_ as f,z as g,q as h,Q as i};
2
+ //# sourceMappingURL=chunk-T7O3YYOG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/lib/files.ts","../src/components/form/utils.ts"],"sourcesContent":["const toBase64 = (file: File): Promise<string> => {\n return new Promise<string>((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = () => resolve(reader.result as string);\n reader.onerror = (error) => reject(error);\n });\n};\n\nexport const convertFilesToBase64 = async (files: File[]) => {\n const base64Files = await Promise.all(\n files.map(async (file) => {\n const base64 = await toBase64(file);\n return {\n ...file,\n name: file.name,\n size: file.size,\n type: file.type,\n content: base64.split(',')[1],\n };\n }),\n );\n return base64Files;\n};\n\n/**\n * Convert a data URL to a File object\n * @param dataURL - The data URL to convert\n * @param filename - The name of the file\n * @returns The File object\n */\nexport function dataURLtoFile(dataURL: string, filename: string): File {\n const arr = dataURL.split(',');\n const mime = arr[0].match(/:(.*?);/)?.[1];\n const bstr = atob(arr[1]);\n\n const u8arr = Uint8Array.from(bstr, (char) => char.charCodeAt(0));\n\n return new File([u8arr], filename, { type: mime });\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Field } from '@/src/flows/types';\nimport { $TSFixMe } from '@/src/types/remoteFlows';\nimport { JSFFields } from '@/src/types/remoteFlows';\nimport { convertFilesToBase64 } from '@/src/lib/files';\nimport { addBusinessDays, isWeekend, nextMonday } from 'date-fns';\nimport get from 'lodash.get';\n\nconst textInputTypes = {\n TEXT: 'text',\n TEXTAREA: 'textarea',\n NUMBER: 'number',\n SELECT: 'select',\n COUNTRIES: 'countries',\n TEL: 'tel',\n EMAIL: 'email',\n MONEY: 'money',\n DATE: 'date',\n DATE_RANGE: 'date-range',\n CURRENCIES: 'currencies',\n TIME: 'time',\n} as const;\n\nconst checkboxTypes = {\n CHECKBOX: 'checkbox',\n ACK_CHECK: 'ack-check',\n} as const;\n\nconst supportedTypes = {\n FILE: 'file',\n RADIO: 'radio',\n /** @deprecated */\n RADIO_CARD: 'radio-card',\n GROUP_ARRAY: 'group-array',\n EXTRA: 'extra',\n STATEMENT: 'statement',\n HIDDEN: 'hidden',\n FIELDSET: 'fieldset',\n FIELDSET_FLAT: 'fieldset-flat',\n WORK_SCHEDULE: 'work-schedule',\n WORK_WEEK_SCHEDULE: 'work-week-schedule',\n /** @deprecated we still display benefits in read-only contract details view, but never in any form */\n BENEFITS: 'benefits',\n SIGNATURE: 'signature',\n SELECT_MULTIPLE: 'select-multiple',\n ...textInputTypes,\n ...checkboxTypes,\n} as const;\n\nexport function round(value: number): number {\n return Math.round((value + Number.EPSILON) * 100) / 100;\n}\n\nfunction convertToValidCost(value: string) {\n return parseFloat(value.replace(/,/g, ''));\n}\n\nexport function convertToCents(\n amount?: number | string | string[] | null | boolean,\n) {\n if (\n amount == null ||\n amount === '' ||\n Number.isNaN(amount) ||\n Array.isArray(amount) ||\n typeof amount === 'boolean'\n ) {\n return null;\n }\n\n let validAmount: number;\n\n if (typeof amount === 'string') {\n validAmount = convertToValidCost(amount);\n } else {\n validAmount = amount;\n }\n\n return round(validAmount * 100);\n}\n\nexport function convertFromCents(amount?: number | string | null) {\n if (amount == null || Number.isNaN(amount)) return null;\n\n let normalizedValue: number;\n\n if (typeof amount === 'string') {\n normalizedValue = convertToValidCost(amount || '0');\n } else {\n normalizedValue = amount;\n }\n\n return round(normalizedValue / 100);\n}\n\nconst trimStringValues = (values: Record<string, any>) =>\n Object.entries(values || {}).reduce<Record<string, any>>(\n (result, [key, value]) => {\n if (Array.isArray(value)) {\n // If the value is an array, recursively process each element\n result[key] = value.map((item) =>\n typeof item === 'object' && item !== null\n ? trimStringValues(item)\n : typeof item === 'string'\n ? item.trim()\n : item,\n );\n } else if (typeof value === 'object' && value !== null) {\n // If the value is an object, recursively process it\n result[key] = trimStringValues(value);\n } else {\n // Otherwise, trim the string or keep the value as is\n result[key] = typeof value === 'string' ? value.trim() : value;\n }\n return result;\n },\n {},\n );\n\n/**\n * Given a list of form values, modify the ones that are readOnly,\n * based on their field config, by adding its defaultValue.\n * This is needed to support readOnly fields that are also conditional\n * based on the \"pivotName\" workaround.\n * @param {Object} values - List with form values { name: value }.\n * @param {Array} fields - Respective form fields configuration.\n */\nfunction prefillReadOnlyFields(values: Record<string, any>, fields: any[]) {\n const newValues: Record<string, any> = {};\n\n fields.forEach((field) => {\n const fieldName = field.name;\n\n if (\n !Object.prototype.hasOwnProperty.call(values, fieldName!) &&\n !(\n field.inputType === supportedTypes.FIELDSET &&\n field.valueGroupingDisabled\n )\n )\n return;\n\n if (\n field.inputType === supportedTypes.FIELDSET &&\n field.valueGroupingDisabled\n ) {\n Object.assign(newValues, prefillReadOnlyFields(values, field.fields));\n return;\n }\n\n if (field.readOnly && field.defaultValue) {\n newValues[fieldName!] = field.defaultValue;\n } else {\n newValues[fieldName!] = values[fieldName!];\n }\n });\n\n return newValues;\n}\n/**\n * Recursively extracts fieldsets' fields values and maps them to the field name\n * For nested fields that are fieldsets with valueGroupingDisabled, the values\n * are extracted one level up\n *\n * @param {Array} fields - Fieldset fields configuration.\n * @param {Object} formValues - List with form values { name: value }.\n * @return {Object} – Raw form values mapped to the field name\n */\nfunction extractFieldsetFieldsValues(\n fields: any[],\n formValues: Record<string, unknown>,\n) {\n return fields.reduce<Record<string, any>>((nestedAcc, subField) => {\n const isFieldsetValueGroupingDisabled =\n subField.inputType === supportedTypes.FIELDSET &&\n subField.valueGroupingDisabled;\n\n if (isFieldsetValueGroupingDisabled) {\n Object.assign(\n nestedAcc,\n extractFieldsetFieldsValues(subField.fields, formValues),\n );\n } else if (\n Object.prototype.hasOwnProperty.call(formValues, subField.name!)\n ) {\n nestedAcc[subField.name!] = formValues[subField.name!];\n }\n\n return nestedAcc;\n }, {});\n}\n\nexport const fieldTypesTransformations: Record<string, any> = {\n [supportedTypes.COUNTRIES]: {\n /**\n * @param {String[] | { name: String }[]} value\n * - Excepted: array of strings.\n * - Edge cases: array of objects. (when using dangerousTransformValue)\n * @returns {String[]} - List of countries\n * @example expected: ['Peru', 'Germany'] -> ['Peru', 'Germany']\n * @example edge cases: [{name: 'Peru'}, {name: 'Germany'}] -> ['Peru', 'Germany']\n */\n transformValueToAPI:\n (field: any) => (selectedCountries: string[] | { name: string }[]) => {\n if (!field.multiple || typeof selectedCountries === 'string') {\n return selectedCountries;\n }\n // NOTE: The value should be an array of strings, however legacy data can come as\n // an array of country objects. So, we always send an array of strings to normalize\n // the data (eg old form values being modified) until DB migration is done !5667\n return selectedCountries.map((option) =>\n typeof option === 'string' ? option : option.name,\n );\n },\n /**\n * Used for react-select, where the country selected is transformed\n * before saving on Formik state. Supports both solo and multi select\n * @param {Object|Object[]} selectedCountry[] - Current selected options\n * @param {String} selectedCountry[].value\n * @param {String} selectedCountry[].name\n * @param {String} selectedCountry[].label\n * @returns {String[]} - List of countries selected\n * @example\n * [{ value: 'Hungria' }] -> ['Hungria']\n */\n transformValue: (selectedCountry: any | any[]) => {\n // name or label are used in dragon. value is used in json-schema-form\n // TODO: it should be the same everywhere — read more at !5667\n const getCountryValue = (opt: any) =>\n opt?.name || opt?.value || opt?.label;\n return Array.isArray(selectedCountry)\n ? selectedCountry.map(getCountryValue) // support multi countries\n : getCountryValue(selectedCountry) || ''; // Fallback to '' in case user removes all countries\n },\n },\n [supportedTypes.NUMBER]: {\n transformValueToAPI: () => (value: string) => {\n // this prevents values with letters such as \"2r\" from being considered valid\n // if the input is invalid, number().cast will return NaN\n const castValue = Number(value);\n\n if (Number.isNaN(castValue)) {\n return value;\n }\n\n return castValue;\n },\n },\n [supportedTypes.MONEY]: {\n transformValueFromAPI: () => (value: string | number) =>\n convertFromCents(value) ?? '',\n transformValueToAPI: () => convertToCents,\n },\n [supportedTypes.RADIO]: {\n transformValueToAPI: (field: any) => (value: string) => {\n if (field.transformToBool) {\n return value === 'yes';\n }\n return value;\n },\n },\n [supportedTypes.CHECKBOX]: {\n transformValueToAPI: (field: any) => (value: string | boolean) => {\n if (value === undefined) {\n return false;\n }\n\n if (field.const && value === true) {\n return field.const;\n }\n return value;\n },\n },\n [supportedTypes.SELECT]: {\n /**\n * Used for react-select, where the value is transformed\n * before saving on Formik state.\n * @param {Object | Object[]} option - Object structure with options config\n * @param {String} option[].value - Key for the API\n * @param {Array} this.options[].label - Friendly label\n * @example\n * [{ value: '1', label: 'One' }, { value: '2', label: 'Two' }] -> [\"One\", \"Two\"]\n * { value: '1', label: 'One' } -> \"One\"\n * {} -> \"\"\n */\n transformValue: (option: any | any[]) =>\n Array.isArray(option)\n ? option.map((opt) => opt.value) // multi-options\n : (option?.value ?? ''), // Fallback to '' in case user removes all options,\n },\n [supportedTypes.FILE]: {\n transformValueToAPI: () => async (files: File[]) => {\n if (!files) {\n return null;\n }\n\n return await convertFilesToBase64(files);\n },\n },\n};\nexport async function parseFormValuesToAPI(\n formValues: Record<string, any> = {},\n fields: any[],\n) {\n const filteredFields = fields.filter(\n (field) =>\n formValues[field.name!] ||\n (field.inputType === supportedTypes.FIELDSET &&\n field.valueGroupingDisabled),\n );\n\n const parsedFieldsWithValues = await Promise.all(\n filteredFields.map(async (field) => {\n const acc: Record<string, any> = {};\n\n switch (field.inputType) {\n case supportedTypes.FIELDSET: {\n const fieldset = field;\n if (fieldset.valueGroupingDisabled) {\n const nestedFormValues = extractFieldsetFieldsValues(\n fieldset.fields,\n formValues,\n );\n\n Object.assign(\n acc,\n await parseFormValuesToAPI(nestedFormValues, fieldset.fields),\n );\n } else {\n const fieldsetValue = formValues[field.name!];\n\n // Filter out empty properties from fieldset objects\n // this code avoids sending department: {id: '1234', name: ''} or even department: {id: undefined, name: undefined}\n if (\n fieldsetValue &&\n typeof fieldsetValue === 'object' &&\n !Array.isArray(fieldsetValue)\n ) {\n const cleanedValue = Object.fromEntries(\n Object.entries(fieldsetValue).filter(([, value]) => {\n // Keep the property if it has a meaningful value\n return value !== '' && value !== null && value !== undefined;\n }),\n );\n\n acc[field.name!] =\n Object.keys(cleanedValue).length > 0\n ? await parseFormValuesToAPI(cleanedValue, fieldset.fields)\n : undefined;\n } else {\n acc[field.name!] = await parseFormValuesToAPI(\n fieldsetValue,\n fieldset.fields,\n );\n }\n }\n break;\n }\n\n case supportedTypes.TEXTAREA:\n case supportedTypes.TEXT:\n // Attempt to remove null bytes from form values - https://gitlab.com/remote-com/employ-starbase/tracker/-/issues/10670\n acc[field.name] = formValues[field.name].replace(/\\0/g, '');\n break;\n\n case supportedTypes.GROUP_ARRAY: {\n // NOTE: The field `name` in group arrays represents a path, but we only\n // need the last part of it which is represented by `nameKey`.\n const transformedFields = field?.fields?.().map((subField: any) => ({\n ...subField,\n name: subField.nameKey || '',\n }));\n\n const parsedFieldValues = await Promise.all(\n formValues[field.name]?.map((fieldValues: Record<string, any>) =>\n parseFormValuesToAPI(fieldValues, transformedFields),\n ) || [],\n );\n\n acc[field.name] = parsedFieldValues;\n break;\n }\n\n case supportedTypes.EXTRA: {\n const extraField = field;\n if (extraField.includeValueToApi !== false) {\n const formValue = formValues[extraField.name];\n const fieldTransformValueToAPI =\n extraField?.transformValueToAPI ||\n fieldTypesTransformations[extraField.inputType]\n ?.transformValueToAPI;\n\n if (fieldTransformValueToAPI) {\n const result = fieldTransformValueToAPI(field)(formValue);\n // Await if it's a promise\n acc[extraField.name] =\n result instanceof Promise ? await result : result;\n break;\n }\n\n acc[extraField.name] = formValue;\n break;\n }\n acc[extraField.name] = undefined;\n break;\n }\n\n default: {\n const formValue = formValues[field.name];\n const fieldTransformValueToAPI =\n field?.transformValueToAPI ||\n fieldTypesTransformations[field.inputType]?.transformValueToAPI;\n\n if (fieldTransformValueToAPI) {\n const result = fieldTransformValueToAPI(field)(formValue);\n // Await if it's a promise - THIS IS THE KEY FIX\n acc[field.name] = result instanceof Promise ? await result : result;\n break;\n }\n acc[field.name] = formValue;\n break;\n }\n }\n\n if (field.forcedValue !== undefined) {\n acc[field.name!] = field.forcedValue;\n }\n\n return acc;\n }),\n );\n\n // Merge all accumulated objects\n return parsedFieldsWithValues.reduce(\n (acc, current) => ({ ...acc, ...current }),\n { ...formValues },\n );\n}\n\nfunction isFieldVisible(field: any, formValues: Record<string, unknown>) {\n if (field.visibilityCondition) {\n return field.visibilityCondition(formValues);\n }\n\n if (typeof field.isVisible !== 'undefined') {\n return Boolean(field.isVisible);\n }\n\n return true;\n}\n\nfunction applyFieldDynamicProperties(\n field: any,\n values: Record<string, unknown> | Record<string, unknown>[],\n) {\n if (field.calculateDynamicProperties) {\n return {\n ...field,\n ...(field.calculateDynamicProperties(values) || {}),\n };\n }\n\n return field;\n}\n\nfunction excludeValuesInvisible(\n values: any,\n fields: any[],\n keepTruthyInvisibleValues?: boolean,\n parentFieldKeyPath?: string,\n) {\n const valuesAsked: Record<string, any> = {};\n\n fields\n .map((field) => applyFieldDynamicProperties(field, values))\n .forEach((field) => {\n let fieldKeyPath = field.name;\n if (parentFieldKeyPath) {\n fieldKeyPath = fieldKeyPath\n ? `${parentFieldKeyPath}.${field.name}`\n : parentFieldKeyPath;\n }\n\n const valueOfField = get(values, fieldKeyPath!);\n\n // keepTruthyInvisibleValues: false/undefined -> remove invisible field\n // keepTruthyInvisibleValues: true -> keep invisible field if it has a value\n if (\n !isFieldVisible(field, values) &&\n !(keepTruthyInvisibleValues && !!valueOfField)\n ) {\n return;\n }\n\n if (field.meta?.ignoreValue) {\n return;\n }\n\n if (field.inputType === 'fieldset' && field.valueGroupingDisabled) {\n Object.assign(\n valuesAsked,\n excludeValuesInvisible(\n values,\n field.fields,\n keepTruthyInvisibleValues,\n fieldKeyPath,\n ),\n );\n } else if (Array.isArray(field.fields)) {\n valuesAsked[field.name!] = excludeValuesInvisible(\n values,\n field.fields,\n keepTruthyInvisibleValues,\n fieldKeyPath,\n );\n } else {\n if (valueOfField === undefined) {\n return;\n }\n valuesAsked[field.name!] = valueOfField;\n }\n });\n\n return valuesAsked;\n}\n\nfunction removeEmptyValues<T extends Record<string, any>>(\n obj: T,\n): Record<string, any> {\n return Object.fromEntries(\n Object.entries(obj).filter(\n ([, value]) => value !== undefined && value !== null && value !== '',\n ),\n );\n}\n\nfunction cleanUnderscoreFields(obj: Record<string, any>): Record<string, any> {\n if (Array.isArray(obj)) {\n return obj.map(cleanUnderscoreFields);\n }\n if (obj && typeof obj === 'object') {\n return Object.entries(obj).reduce(\n (acc, [key, value]) => {\n if (!key.startsWith('_')) {\n acc[key] = cleanUnderscoreFields(value);\n }\n return acc;\n },\n {} as Record<string, any>,\n );\n }\n return obj;\n}\n\nexport async function parseSubmitValues(\n formValues: Record<string, any>,\n fields: any[],\n config?: { keepInvisibleValues?: boolean },\n) {\n const visibleFormValues = config?.keepInvisibleValues\n ? formValues\n : excludeValuesInvisible(formValues, fields);\n const convertedFormValues = await parseFormValuesToAPI(\n visibleFormValues,\n fields,\n );\n const formValuesWithTrimmedStrings = trimStringValues(convertedFormValues);\n\n const formValuesWithUndefined = removeEmptyValues(\n formValuesWithTrimmedStrings,\n );\n\n const valuesWithReadOnly = prefillReadOnlyFields(\n formValuesWithUndefined,\n fields,\n );\n return cleanUnderscoreFields(valuesWithReadOnly);\n}\n\nexport async function parseJSFToValidate(\n formValues: Record<string, any>,\n fields: JSFFields,\n config: { isPartialValidation: boolean } = {\n isPartialValidation: false,\n },\n) {\n const valuesParsed = await parseSubmitValues(formValues, fields, {\n /* We cannot exclude invisible fields (excludeValuesInvisible) because\n they are needed for conditional fields validations */\n keepInvisibleValues: config?.isPartialValidation,\n });\n return valuesParsed;\n}\n\nfunction castFieldTo<T>(field: Field) {\n return field as unknown as T;\n}\n\nfunction getDefaultValueForType(type: string) {\n switch (type) {\n case supportedTypes.FILE:\n return undefined; // Allows fallback values in function declarations to be used\n default:\n return '';\n }\n}\n\nfunction getInitialDefaultValue(\n defaultValues: Record<string, any>,\n field: Field,\n) {\n // lodash get is needed because some values could be nested object, like billing address\n // use camelCase to support forms with fields in snake_case or kebab_case.\n const defaultFieldValue = get(defaultValues, field.name);\n const fieldTransformValueFromAPI =\n field?.transformValueFromAPI ||\n fieldTypesTransformations[field.inputType]?.transformValueFromAPI;\n\n if (fieldTransformValueFromAPI) {\n return fieldTransformValueFromAPI(field)(defaultFieldValue);\n }\n\n // TODO: We need to get rid of value as fn for json-schema. Related !5560\n const generatedValue =\n typeof field.value === 'function'\n ? field.value(defaultFieldValue, defaultValues)\n : null;\n\n // field.value is deprecated. should use \"default\" instead.\n const defaultValueDeprecated =\n typeof field.value !== 'function' ? field.value : null;\n const initialValueForCheckboxAsBool =\n castFieldTo<$TSFixMe>(field).checkboxValue === true\n ? defaultFieldValue || false\n : null;\n\n // nullish coalescing but excluding empty strings. (to support 0 (zero) as valid numbers)\n const excludeString = (val: any) => (val === '' ? undefined : val);\n\n return (\n excludeString(generatedValue) ??\n excludeString(defaultFieldValue) ??\n excludeString(defaultValueDeprecated) ??\n excludeString(field.default) ??\n initialValueForCheckboxAsBool ??\n getDefaultValueForType(field.inputType)\n );\n}\n\n/**\n * Get initial values for sub fields within fieldsets\n * @param {Object} field The form field\n * @param {Object} defaultValues The form default values\n * @param {String=} parentFieldKeyPath The path to the parent field using dot-notation\n * @returns {Object} The initial values for a fieldset\n */\nfunction getInitialSubFieldValues(\n field: $TSFixMe,\n defaultValues: Record<string, unknown>,\n parentFieldKeyPath?: string,\n) {\n const initialValue: Record<string, Record<string, unknown>> = {};\n\n let fieldKeyPath = field.name;\n\n if (parentFieldKeyPath) {\n fieldKeyPath = fieldKeyPath\n ? `${parentFieldKeyPath}.${fieldKeyPath}`\n : parentFieldKeyPath;\n }\n\n const subFields = field.fields;\n\n if (Array.isArray(subFields)) {\n const subFieldValues = {};\n\n subFields.forEach((subField) => {\n Object.assign(\n subFieldValues,\n getInitialSubFieldValues(subField, defaultValues, fieldKeyPath),\n );\n });\n\n if (\n field.inputType === supportedTypes.FIELDSET &&\n field.valueGroupingDisabled\n ) {\n Object.assign(initialValue, subFieldValues);\n } else {\n initialValue[field.name!] = subFieldValues;\n }\n } else {\n initialValue[field.name!] = getInitialDefaultValue(defaultValues, {\n ...field,\n // NOTE: To utilize the `get` function from `lodash` in `getInitialDefaultValue` correctly\n // we need to use the field path instead of just its name.\n name: fieldKeyPath,\n });\n }\n\n return initialValue;\n}\n\nexport function getInitialValues(\n fields: JSFFields,\n defaultValues: Record<string, unknown>,\n) {\n const initialValues: Record<string, unknown> = {};\n const defaultFieldValues = defaultValues;\n\n // loop over fields array\n // if prop does not exit in the initialValues object,\n // pluck off the name and value props and add it to the initialValues object;\n fields\n .map((field) => applyFieldDynamicProperties(field, defaultFieldValues))\n .forEach((field) => {\n switch (field.inputType) {\n case supportedTypes.FIELDSET: {\n if (field.valueGroupingDisabled) {\n Object.assign(\n initialValues,\n getInitialValues(field.fields, defaultFieldValues),\n );\n } else {\n const subFieldValues = getInitialSubFieldValues(\n field,\n defaultFieldValues,\n );\n Object.assign(initialValues, subFieldValues);\n }\n break;\n }\n default: {\n if (!initialValues[field.name]) {\n initialValues[field.name] = getInitialDefaultValue(\n defaultFieldValues,\n field,\n );\n }\n break;\n }\n }\n });\n\n return initialValues;\n}\n\n/**\n * Wraps fields listed in fieldsets with a fieldset field.\n * @param fields - Complete fields list.\n * @param fieldsets - fields list to be wrapped in a fieldset field.\n * @param values - Values for each field.\n * @returns The fields with the fieldsets wrapped.\n */\nexport function getFieldsWithFlatFieldsets({\n fields = [],\n fieldsets = {},\n values,\n}: {\n fields: any[];\n fieldsets: Record<string, { propertiesByName: string[]; title: string }>;\n values: Record<string, unknown>;\n}) {\n const flatFieldsetsKeys = Object.keys(fieldsets);\n\n if (!flatFieldsetsKeys?.length) {\n return fields;\n }\n\n const flatFieldsetsFieldNames = new Set(\n flatFieldsetsKeys.flatMap(\n (flatFieldsetKey) => fieldsets[flatFieldsetKey]?.propertiesByName ?? [],\n ),\n );\n\n const flatFieldsetsWithFields = flatFieldsetsKeys.map((flatFieldsetKey) => {\n const { propertiesByName: flatFieldsetFields = [], ...rest } =\n fieldsets[flatFieldsetKey];\n\n const childFields = flatFieldsetFields\n .map((name) => fields.find((f) => f.name === name))\n .filter((field): field is any => !!field);\n\n return {\n ...rest,\n name: flatFieldsetKey,\n type: 'fieldset-flat',\n inputType: 'fieldset-flat',\n fields: childFields,\n label: fieldsets[flatFieldsetKey].title,\n // Hide the fieldset if none of the children fields are visible.\n isVisible: childFields\n .map((childField) => applyFieldDynamicProperties(childField, values))\n .some((childField) => isFieldVisible(childField, values)),\n };\n });\n\n const sortedFields = flatFieldsetsWithFields.reduce((accumulator, field) => {\n const accumulatedFieldsSorted = [...accumulator];\n\n /**\n * We place the flat fieldset at the original position of its first field.\n * If no field is found, we move it to the end.\n */\n const fieldsetPosition = field.fields[0]\n ? accumulator.findIndex(\n (accumulatorItem) => accumulatorItem.name === field.fields[0].name,\n )\n : accumulator.length;\n\n accumulatedFieldsSorted.splice(\n fieldsetPosition,\n 0,\n field as unknown as any,\n );\n\n return accumulatedFieldsSorted;\n }, fields);\n\n const filteredFields = sortedFields.filter(\n (field) => !flatFieldsetsFieldNames.has(field.name!),\n );\n\n return filteredFields;\n}\n\nexport function enableAckFields(\n fields: JSFFields,\n values: Record<string, unknown>,\n) {\n let result = values;\n fields.forEach((field) => {\n if ('const' in field) {\n result = Object.fromEntries(\n Object.entries(values).map(([k, v]) => {\n if (k === field.name) {\n return [k, field.const];\n }\n return [k, v];\n }),\n );\n }\n });\n return result;\n}\n\n/**\n * Get the minimum start date for the onboarding process.\n * @param minOnBoardingTime\n * @returns Date\n */\nexport function getMinStartDate(minOnBoardingTime: number) {\n const today = new Date();\n\n // Make sure our base date is UTC and set the time to 00:00:00\n today.setDate(today.getUTCDate());\n today.setHours(0, 0, 0, 0);\n\n // The + 1 ensures you get the full preparation time before the employee can actually start working.\n // It's the difference between \"preparation completes on this day\" vs \"earliest possible start date after preparation\".\n const minDate = addBusinessDays(today, minOnBoardingTime + 1);\n return isWeekend(minDate) ? nextMonday(minDate) : minDate;\n}\n"],"mappings":"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","names":["toBase64","__name","file","resolve","reject","reader","error","convertFilesToBase64","files","base64","dataURLtoFile","dataURL","filename","arr","mime","bstr","u8arr","char","addBusinessDays","isWeekend","nextMonday","get","textInputTypes","checkboxTypes","supportedTypes","round","value","__name","convertToValidCost","convertToCents","amount","validAmount","convertFromCents","normalizedValue","trimStringValues","values","result","key","item","prefillReadOnlyFields","fields","newValues","field","fieldName","extractFieldsetFieldsValues","formValues","nestedAcc","subField","fieldTypesTransformations","selectedCountries","option","selectedCountry","getCountryValue","opt","castValue","files","convertFilesToBase64","parseFormValuesToAPI","filteredFields","acc","fieldset","nestedFormValues","fieldsetValue","cleanedValue","transformedFields","parsedFieldValues","fieldValues","extraField","formValue","fieldTransformValueToAPI","current","isFieldVisible","applyFieldDynamicProperties","excludeValuesInvisible","keepTruthyInvisibleValues","parentFieldKeyPath","valuesAsked","fieldKeyPath","valueOfField","get","removeEmptyValues","obj","cleanUnderscoreFields","parseSubmitValues","config","visibleFormValues","convertedFormValues","formValuesWithTrimmedStrings","formValuesWithUndefined","valuesWithReadOnly","parseJSFToValidate","getDefaultValueForType","type","supportedTypes","__name","getInitialDefaultValue","defaultValues","field","defaultFieldValue","get","fieldTransformValueFromAPI","fieldTypesTransformations","generatedValue","defaultValueDeprecated","initialValueForCheckboxAsBool","excludeString","val","getInitialSubFieldValues","parentFieldKeyPath","initialValue","fieldKeyPath","subFields","subFieldValues","subField","getInitialValues","fields","initialValues","defaultFieldValues","applyFieldDynamicProperties","getFieldsWithFlatFieldsets","fieldsets","values","flatFieldsetsKeys","flatFieldsetsFieldNames","flatFieldsetKey","flatFieldsetFields","rest","childFields","name","f","childField","isFieldVisible","accumulator","accumulatedFieldsSorted","fieldsetPosition","accumulatorItem","enableAckFields","result","k","v","getMinStartDate","minOnBoardingTime","today","minDate","addBusinessDays","isWeekend","nextMonday"]}
@@ -1,2 +1,2 @@
1
- import{l as J}from"./chunk-A24VPRL7.js";import{a as G,b as M,c as L}from"./chunk-HRG5MSVG.js";import{a as k}from"./chunk-MZNUCWQU.js";import{c as B,l as A}from"./chunk-3QNS3IZB.js";import{b as H}from"./chunk-KQPDXXG3.js";import{a as n,b as d,c as qe}from"./chunk-P37U34EQ.js";var D=d((En,U)=>{"use strict";function we(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}n(we,"isObject");U.exports=we});var X=d((In,V)=>{"use strict";var Fe=typeof global=="object"&&global&&global.Object===Object&&global;V.exports=Fe});var _=d((qn,z)=>{"use strict";var Pe=X(),ke=typeof self=="object"&&self&&self.Object===Object&&self,Me=Pe||ke||Function("return this")();z.exports=Me});var Q=d((wn,K)=>{"use strict";var Le=_(),De=n(function(){return Le.Date.now()},"now");K.exports=De});var Z=d((Pn,Y)=>{"use strict";var _e=/\s/;function $e(e){for(var t=e.length;t--&&_e.test(e.charAt(t)););return t}n($e,"trimmedEndIndex");Y.exports=$e});var ne=d((Mn,ee)=>{"use strict";var Ne=Z(),We=/^\s+/;function Be(e){return e&&e.slice(0,Ne(e)+1).replace(We,"")}n(Be,"baseTrim");ee.exports=Be});var $=d((Dn,te)=>{"use strict";var Ae=_(),He=Ae.Symbol;te.exports=He});var se=d((_n,ie)=>{"use strict";var re=$(),oe=Object.prototype,Ge=oe.hasOwnProperty,Je=oe.toString,O=re?re.toStringTag:void 0;function Ue(e){var t=Ge.call(e,O),r=e[O];try{e[O]=void 0;var i=!0}catch{}var u=Je.call(e);return i&&(t?e[O]=r:delete e[O]),u}n(Ue,"getRawTag");ie.exports=Ue});var ce=d((Nn,ae)=>{"use strict";var Ve=Object.prototype,Xe=Ve.toString;function ze(e){return Xe.call(e)}n(ze,"objectToString");ae.exports=ze});var le=d((Bn,de)=>{"use strict";var ue=$(),Ke=se(),Qe=ce(),Ye="[object Null]",Ze="[object Undefined]",fe=ue?ue.toStringTag:void 0;function en(e){return e==null?e===void 0?Ze:Ye:fe&&fe in Object(e)?Ke(e):Qe(e)}n(en,"baseGetTag");de.exports=en});var pe=d((Hn,me)=>{"use strict";function nn(e){return e!=null&&typeof e=="object"}n(nn,"isObjectLike");me.exports=nn});var be=d((Jn,ge)=>{"use strict";var tn=le(),rn=pe(),on="[object Symbol]";function sn(e){return typeof e=="symbol"||rn(e)&&tn(e)==on}n(sn,"isSymbol");ge.exports=sn});var Ce=d((Vn,xe)=>{"use strict";var an=ne(),ve=D(),cn=be(),ye=NaN,un=/^[-+]0x[0-9a-f]+$/i,fn=/^0b[01]+$/i,dn=/^0o[0-7]+$/i,ln=parseInt;function mn(e){if(typeof e=="number")return e;if(cn(e))return ye;if(ve(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=ve(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=an(e);var r=fn.test(e);return r||dn.test(e)?ln(e.slice(2),r?2:8):un.test(e)?ye:+e}n(mn,"toNumber");xe.exports=mn});var Se=d((zn,Te)=>{"use strict";var pn=D(),N=Q(),he=Ce(),gn="Expected a function",bn=Math.max,vn=Math.min;function yn(e,t,r){var i,u,b,l,s,a,p=0,E=!1,f=!1,x=!0;if(typeof e!="function")throw new TypeError(gn);t=he(t)||0,pn(r)&&(E=!!r.leading,f="maxWait"in r,b=f?bn(he(r.maxWait)||0,t):b,x="trailing"in r?!!r.trailing:x);function C(o){var g=i,y=u;return i=u=void 0,p=o,l=e.apply(y,g),l}n(C,"invokeFunc");function R(o){return p=o,s=setTimeout(m,t),E?C(o):l}n(R,"leadingEdge");function q(o){var g=o-a,y=o-p,c=t-g;return f?vn(c,b-y):c}n(q,"remainingWait");function T(o){var g=o-a,y=o-p;return a===void 0||g>=t||g<0||f&&y>=b}n(T,"shouldInvoke");function m(){var o=N();if(T(o))return S(o);s=setTimeout(m,q(o))}n(m,"timerExpired");function S(o){return s=void 0,x&&i?C(o):(i=u=void 0,l)}n(S,"trailingEdge");function I(){s!==void 0&&clearTimeout(s),p=0,i=a=u=s=void 0}n(I,"cancel");function w(){return s===void 0?l:S(N())}n(w,"flush");function j(){var o=N(),g=T(o);if(i=arguments,u=this,a=o,g){if(s===void 0)return R(a);if(f)return clearTimeout(s),s=setTimeout(m,t),C(a)}return s===void 0&&(s=setTimeout(m,t)),l}return n(j,"debounced"),j.cancel=I,j.flush=w,j}n(yn,"debounce");Te.exports=yn});import{useState as hn,useCallback as Tn,useEffect as Ee,useRef as Sn}from"react";var Oe=qe(Se(),1);import{useCallback as xn,useEffect as Cn,useRef as je}from"react";function W(e,t){let r=je(e);Cn(()=>{r.current=e},[e]);let i=je((0,Oe.default)(u=>{r.current(u)},t)).current;return xn(u=>{i(u)},[i])}n(W,"useDebounce");import{Fragment as On,jsx as h,jsxs as Re}from"react/jsx-runtime";var jn=n(({description:e,showConversion:t,targetCurrency:r,className:i,onClick:u})=>{let{components:b}=H(),l=t?`Hide ${r} conversion`:`Show ${r} conversion`,s=b?.button;if(!s)throw new Error("Button component not found");return Re("span",{className:i,children:[h(A,{as:"span",children:e})," ",h(s,{className:`${i.replace("-description","-button")}`,"data-type":"inline",onClick:u,children:l})]})},"DescriptionWithConversion"),ut=n(({sourceCurrency:e,targetCurrency:t,mainFieldName:r,conversionFieldName:i,conversionProperties:u,classNamePrefix:b,description:l,conversionType:s="spread",...a})=>{let[p,E]=hn(!1),{setValue:f,watch:x}=B(),C=x(r||a.name),R=Sn(!0),q=e&&t&&e!==t,{mutateAsync:T}=J({type:s}),m=`${a.name}_converted`;Ee(()=>{f(m,r||a.name)},[f,r,a.name,m]),Ee(()=>{if(R.current){R.current=!1;return}f(i,"")},[e,i,f]);let S=Tn(async(c,v,F)=>{if(!(!c||isNaN(c)||c<=0))return T({source_currency:v,target_currency:F,amount:c})},[T]),I=W(async c=>{let v=M(c),P=1/((await S(v,t,e))?.data?.data.conversion_data?.exchange_rate??1),Ie=G(Number(v)*P);f(i,L(Ie))},500),w=W(async c=>{let v=M(c),P=(await S(v,t,e))?.data?.data.conversion_data.target_amount;f(r||a.name,L(P))},500),j=n(c=>{f(m,r||a.name),p&&I(c.target.value)},"handleMainFieldChange"),o=n(c=>{f(m,i),w(c.target.value)},"handleConversionFieldChange"),g=n(c=>{c.preventDefault(),E(v=>!v),!p&&C&&I(C)},"toggleConversion"),y=q?h(jn,{targetCurrency:t,description:l,showConversion:p,className:`${b}-description`,onClick:g}):l;return Re(On,{children:[h(k,{...a,name:r||a.name,additionalProps:{currency:e},description:y,type:"text",inputMode:"decimal",pattern:"^[0-9.]*$",maxLength:15,onChange:j}),p&&h(k,{additionalProps:{currency:t},name:i,label:u?.label||"Conversion",description:u?.description,type:"text",inputMode:"decimal",pattern:"^[0-9.]*$",maxLength:15,onChange:o}),h("input",{type:"hidden",name:m,value:x(m)||r||a.name})]})},"CurrencyConversionField");export{ut as a};
2
- //# sourceMappingURL=chunk-7PKH5MYL.js.map
1
+ import{l as J}from"./chunk-4W7VKUIW.js";import{b as G,c as M,d as L}from"./chunk-T7O3YYOG.js";import{a as k}from"./chunk-GWR2JBG2.js";import{c as B,l as A}from"./chunk-H5CNWMEM.js";import{b as H}from"./chunk-KQPDXXG3.js";import{a as n,b as d,c as qe}from"./chunk-P37U34EQ.js";var D=d((En,U)=>{"use strict";function we(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}n(we,"isObject");U.exports=we});var X=d((In,V)=>{"use strict";var Fe=typeof global=="object"&&global&&global.Object===Object&&global;V.exports=Fe});var _=d((qn,z)=>{"use strict";var Pe=X(),ke=typeof self=="object"&&self&&self.Object===Object&&self,Me=Pe||ke||Function("return this")();z.exports=Me});var Q=d((wn,K)=>{"use strict";var Le=_(),De=n(function(){return Le.Date.now()},"now");K.exports=De});var Z=d((Pn,Y)=>{"use strict";var _e=/\s/;function $e(e){for(var t=e.length;t--&&_e.test(e.charAt(t)););return t}n($e,"trimmedEndIndex");Y.exports=$e});var ne=d((Mn,ee)=>{"use strict";var Ne=Z(),We=/^\s+/;function Be(e){return e&&e.slice(0,Ne(e)+1).replace(We,"")}n(Be,"baseTrim");ee.exports=Be});var $=d((Dn,te)=>{"use strict";var Ae=_(),He=Ae.Symbol;te.exports=He});var se=d((_n,ie)=>{"use strict";var re=$(),oe=Object.prototype,Ge=oe.hasOwnProperty,Je=oe.toString,O=re?re.toStringTag:void 0;function Ue(e){var t=Ge.call(e,O),r=e[O];try{e[O]=void 0;var i=!0}catch{}var u=Je.call(e);return i&&(t?e[O]=r:delete e[O]),u}n(Ue,"getRawTag");ie.exports=Ue});var ce=d((Nn,ae)=>{"use strict";var Ve=Object.prototype,Xe=Ve.toString;function ze(e){return Xe.call(e)}n(ze,"objectToString");ae.exports=ze});var le=d((Bn,de)=>{"use strict";var ue=$(),Ke=se(),Qe=ce(),Ye="[object Null]",Ze="[object Undefined]",fe=ue?ue.toStringTag:void 0;function en(e){return e==null?e===void 0?Ze:Ye:fe&&fe in Object(e)?Ke(e):Qe(e)}n(en,"baseGetTag");de.exports=en});var pe=d((Hn,me)=>{"use strict";function nn(e){return e!=null&&typeof e=="object"}n(nn,"isObjectLike");me.exports=nn});var be=d((Jn,ge)=>{"use strict";var tn=le(),rn=pe(),on="[object Symbol]";function sn(e){return typeof e=="symbol"||rn(e)&&tn(e)==on}n(sn,"isSymbol");ge.exports=sn});var Ce=d((Vn,xe)=>{"use strict";var an=ne(),ve=D(),cn=be(),ye=NaN,un=/^[-+]0x[0-9a-f]+$/i,fn=/^0b[01]+$/i,dn=/^0o[0-7]+$/i,ln=parseInt;function mn(e){if(typeof e=="number")return e;if(cn(e))return ye;if(ve(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=ve(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=an(e);var r=fn.test(e);return r||dn.test(e)?ln(e.slice(2),r?2:8):un.test(e)?ye:+e}n(mn,"toNumber");xe.exports=mn});var Se=d((zn,Te)=>{"use strict";var pn=D(),N=Q(),he=Ce(),gn="Expected a function",bn=Math.max,vn=Math.min;function yn(e,t,r){var i,u,b,l,s,a,p=0,E=!1,f=!1,x=!0;if(typeof e!="function")throw new TypeError(gn);t=he(t)||0,pn(r)&&(E=!!r.leading,f="maxWait"in r,b=f?bn(he(r.maxWait)||0,t):b,x="trailing"in r?!!r.trailing:x);function C(o){var g=i,y=u;return i=u=void 0,p=o,l=e.apply(y,g),l}n(C,"invokeFunc");function R(o){return p=o,s=setTimeout(m,t),E?C(o):l}n(R,"leadingEdge");function q(o){var g=o-a,y=o-p,c=t-g;return f?vn(c,b-y):c}n(q,"remainingWait");function T(o){var g=o-a,y=o-p;return a===void 0||g>=t||g<0||f&&y>=b}n(T,"shouldInvoke");function m(){var o=N();if(T(o))return S(o);s=setTimeout(m,q(o))}n(m,"timerExpired");function S(o){return s=void 0,x&&i?C(o):(i=u=void 0,l)}n(S,"trailingEdge");function I(){s!==void 0&&clearTimeout(s),p=0,i=a=u=s=void 0}n(I,"cancel");function w(){return s===void 0?l:S(N())}n(w,"flush");function j(){var o=N(),g=T(o);if(i=arguments,u=this,a=o,g){if(s===void 0)return R(a);if(f)return clearTimeout(s),s=setTimeout(m,t),C(a)}return s===void 0&&(s=setTimeout(m,t)),l}return n(j,"debounced"),j.cancel=I,j.flush=w,j}n(yn,"debounce");Te.exports=yn});import{useState as hn,useCallback as Tn,useEffect as Ee,useRef as Sn}from"react";var Oe=qe(Se(),1);import{useCallback as xn,useEffect as Cn,useRef as je}from"react";function W(e,t){let r=je(e);Cn(()=>{r.current=e},[e]);let i=je((0,Oe.default)(u=>{r.current(u)},t)).current;return xn(u=>{i(u)},[i])}n(W,"useDebounce");import{Fragment as On,jsx as h,jsxs as Re}from"react/jsx-runtime";var jn=n(({description:e,showConversion:t,targetCurrency:r,className:i,onClick:u})=>{let{components:b}=H(),l=t?`Hide ${r} conversion`:`Show ${r} conversion`,s=b?.button;if(!s)throw new Error("Button component not found");return Re("span",{className:i,children:[h(A,{as:"span",children:e})," ",h(s,{className:`${i.replace("-description","-button")}`,"data-type":"inline",onClick:u,children:l})]})},"DescriptionWithConversion"),ut=n(({sourceCurrency:e,targetCurrency:t,mainFieldName:r,conversionFieldName:i,conversionProperties:u,classNamePrefix:b,description:l,conversionType:s="spread",...a})=>{let[p,E]=hn(!1),{setValue:f,watch:x}=B(),C=x(r||a.name),R=Sn(!0),q=e&&t&&e!==t,{mutateAsync:T}=J({type:s}),m=`${a.name}_converted`;Ee(()=>{f(m,r||a.name)},[f,r,a.name,m]),Ee(()=>{if(R.current){R.current=!1;return}f(i,"")},[e,i,f]);let S=Tn(async(c,v,F)=>{if(!(!c||isNaN(c)||c<=0))return T({source_currency:v,target_currency:F,amount:c})},[T]),I=W(async c=>{let v=M(c),P=1/((await S(v,t,e))?.data?.data.conversion_data?.exchange_rate??1),Ie=G(Number(v)*P);f(i,L(Ie))},500),w=W(async c=>{let v=M(c),P=(await S(v,t,e))?.data?.data.conversion_data.target_amount;f(r||a.name,L(P))},500),j=n(c=>{f(m,r||a.name),p&&I(c.target.value)},"handleMainFieldChange"),o=n(c=>{f(m,i),w(c.target.value)},"handleConversionFieldChange"),g=n(c=>{c.preventDefault(),E(v=>!v),!p&&C&&I(C)},"toggleConversion"),y=q?h(jn,{targetCurrency:t,description:l,showConversion:p,className:`${b}-description`,onClick:g}):l;return Re(On,{children:[h(k,{...a,name:r||a.name,additionalProps:{currency:e},description:y,type:"text",inputMode:"decimal",pattern:"^[0-9.]*$",maxLength:15,onChange:j}),p&&h(k,{additionalProps:{currency:t},name:i,label:u?.label||"Conversion",description:u?.description,type:"text",inputMode:"decimal",pattern:"^[0-9.]*$",maxLength:15,onChange:o}),h("input",{type:"hidden",name:m,value:x(m)||r||a.name})]})},"CurrencyConversionField");export{ut as a};
2
+ //# sourceMappingURL=chunk-TWCZHLHV.js.map
@@ -1,2 +1,2 @@
1
- import{a as t,b as n,c as l,d as i,e as s,f as d}from"./chunk-ILX4QHHH.js";import{a}from"./chunk-P37U34EQ.js";import{jsx as e,jsxs as r}from"react/jsx-runtime";function h({open:w,onClose:D,data:o,isLoading:m,error:p,zendeskURL:f,Trigger:c}){return r(t,{open:w,onOpenChange:g=>!g&&D(),direction:"right",children:[e(n,{asChild:!0,children:c}),e(l,{className:"h-full w-[540px] mt-0 ml-auto RemoteFlows_ZendeskDrawer",children:r("div",{className:"h-full flex flex-col",children:[r(i,{children:[e(s,{children:o?.title}),r(d,{children:["For more details see our"," ",e("a",{href:f,target:"_blank",rel:"noopener noreferrer",children:"help article"})," "]})]}),m&&e("div",{children:"Loading..."}),p&&e("div",{className:"text-sm p-4 text-red-500",children:"Error loading article"}),e("div",{className:"flex-1 overflow-y-auto p-4 RemoteFlows_ZendeskDrawer__Content",dangerouslySetInnerHTML:{__html:o?.body||""}})]})})]})}a(h,"ZendeskDrawerDefault");export{h as a};
2
- //# sourceMappingURL=chunk-3JJEKIQ2.js.map
1
+ import{a as t,b as n,c as l,d as i,e as s,f as d}from"./chunk-NIQXQZ6X.js";import{a}from"./chunk-P37U34EQ.js";import{jsx as e,jsxs as r}from"react/jsx-runtime";function h({open:w,onClose:D,data:o,isLoading:m,error:p,zendeskURL:f,Trigger:c}){return r(t,{open:w,onOpenChange:g=>!g&&D(),direction:"right",children:[e(n,{asChild:!0,children:c}),e(l,{className:"h-full w-[540px] mt-0 ml-auto RemoteFlows_ZendeskDrawer",children:r("div",{className:"h-full flex flex-col",children:[r(i,{children:[e(s,{children:o?.title}),r(d,{children:["For more details see our"," ",e("a",{href:f,target:"_blank",rel:"noopener noreferrer",children:"help article"})," "]})]}),m&&e("div",{children:"Loading..."}),p&&e("div",{className:"text-sm p-4 text-red-500",children:"Error loading article"}),e("div",{className:"flex-1 overflow-y-auto p-4 RemoteFlows_ZendeskDrawer__Content",dangerouslySetInnerHTML:{__html:o?.body||""}})]})})]})}a(h,"ZendeskDrawerDefault");export{h as a};
2
+ //# sourceMappingURL=chunk-TXVEFBFM.js.map
@@ -1,2 +1,2 @@
1
- import{a as s}from"./chunk-KRFK2QRV.js";import{b as n}from"./chunk-Q3ALCPJN.js";import{j as i}from"./chunk-GCWEOZBS.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as c}from"react/jsx-runtime";function P({onSubmit:d,onSuccess:m,onError:p}){let{contractorOnboardingBag:r}=n(),l=e(async a=>{try{let t=await r.parseFormValues(a);await d?.(t);let o=await r.onSubmit(a);if(o?.data){await m?.(o?.data),r?.next();return}}catch(t){let o=i(t,r.meta?.fields?.contract_preview);p?.(o)}},"handleSubmit"),u=r.stepState.values?.contract_preview||r.initialValues.contract_preview;return c("div",{className:"space-y-4",children:c(s,{defaultValues:u,onSubmit:l})})}e(P,"ContractPreviewStep");export{P as a};
2
- //# sourceMappingURL=chunk-OE7PRSME.js.map
1
+ import{a as s}from"./chunk-EVOTA5WO.js";import{b as n}from"./chunk-Q3ALCPJN.js";import{j as i}from"./chunk-J63QA2JC.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as c}from"react/jsx-runtime";function P({onSubmit:d,onSuccess:m,onError:p}){let{contractorOnboardingBag:r}=n(),l=e(async a=>{try{let t=await r.parseFormValues(a);await d?.(t);let o=await r.onSubmit(a);if(o?.data){await m?.(o?.data),r?.next();return}}catch(t){let o=i(t,r.meta?.fields?.contract_preview);p?.(o)}},"handleSubmit"),u=r.stepState.values?.contract_preview||r.initialValues.contract_preview;return c("div",{className:"space-y-4",children:c(s,{defaultValues:u,onSubmit:l})})}e(P,"ContractPreviewStep");export{P as a};
2
+ //# sourceMappingURL=chunk-U7SJPXRD.js.map
@@ -1,2 +1,2 @@
1
- import{e as t}from"./chunk-GCWEOZBS.js";import{b as m}from"./chunk-KQPDXXG3.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as s}from"react/jsx-runtime";function f({title:o,description:r,severity:p}){let{components:a}=m(),n=a.statement;if(!n)throw new Error("Statement component not found");return s(n,{data:{title:o?t(o):void 0,description:t(r),severity:p}})}e(f,"Statement");export{f as a};
2
- //# sourceMappingURL=chunk-EYHFPHIA.js.map
1
+ import{e as t}from"./chunk-J63QA2JC.js";import{b as m}from"./chunk-KQPDXXG3.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as s}from"react/jsx-runtime";function f({title:o,description:r,severity:p}){let{components:a}=m(),n=a.statement;if(!n)throw new Error("Statement component not found");return s(n,{data:{title:o?t(o):void 0,description:t(r),severity:p}})}e(f,"Statement");export{f as a};
2
+ //# sourceMappingURL=chunk-UAACHXXX.js.map
@@ -1,2 +1,2 @@
1
- import{a as e}from"./chunk-GCWEOZBS.js";import{a}from"./chunk-P37U34EQ.js";import*as i from"@radix-ui/react-radio-group";import{CircleIcon as d}from"lucide-react";import{jsx as o}from"react/jsx-runtime";function p({className:r,...t}){return o(i.Root,{"data-slot":"radio-group",className:e("grid gap-3",r),...t})}a(p,"RadioGroup");function l({className:r,...t}){return o(i.Item,{"data-slot":"radio-group-item",className:e("border-input text-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive aspect-square size-4 shrink-0 rounded-full border shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",r),...t,children:o(i.Indicator,{"data-slot":"radio-group-indicator",className:"relative flex items-center justify-center",children:o(d,{className:"fill-radio absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2"})})})}a(l,"RadioGroupItem");export{p as a,l as b};
2
- //# sourceMappingURL=chunk-FLW5LACO.js.map
1
+ import{a as e}from"./chunk-J63QA2JC.js";import{a}from"./chunk-P37U34EQ.js";import*as i from"@radix-ui/react-radio-group";import{CircleIcon as d}from"lucide-react";import{jsx as o}from"react/jsx-runtime";function p({className:r,...t}){return o(i.Root,{"data-slot":"radio-group",className:e("grid gap-3",r),...t})}a(p,"RadioGroup");function l({className:r,...t}){return o(i.Item,{"data-slot":"radio-group-item",className:e("border-input text-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive aspect-square size-4 shrink-0 rounded-full border shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",r),...t,children:o(i.Indicator,{"data-slot":"radio-group-indicator",className:"relative flex items-center justify-center",children:o(d,{className:"fill-radio absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2"})})})}a(l,"RadioGroupItem");export{p as a,l as b};
2
+ //# sourceMappingURL=chunk-UNBAXL4W.js.map
@@ -0,0 +1,2 @@
1
+ import{a as R,b as x,c as N,d as A}from"./chunk-XZLVP6EN.js";import{a as w,b as f}from"./chunk-DSH4GKP3.js";import{a as C}from"./chunk-KESYJ5QG.js";import{b as B}from"./chunk-YUYHK6WD.js";import{a as i,b as t,e as F}from"./chunk-J63QA2JC.js";import{a as m}from"./chunk-P37U34EQ.js";import{MoreHorizontal as P}from"lucide-react";import{useState as U}from"react";import{Fragment as $,jsx as g,jsxs as T}from"react/jsx-runtime";function E({actions:e=[],className:n,label:a,"data-testid":l}){let[_,d]=U(!1);return T("div",{className:i("relative",n),children:[g(B,{"data-testid":l,variant:"ghost","aria-label":a,className:"h-8 w-8 p-0",onClick:()=>d(!_),children:g(P,{className:"h-4 w-4"})}),_&&T($,{children:[g("div",{className:"fixed inset-0 z-40",onClick:()=>d(!1)}),g("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]",children:e.map((c,u)=>g("button",{"data-testid":`${l}-${c.label.toLowerCase().replace(" ","-")}`,className:i("w-full text-left px-2 py-1.5 text-sm hover:bg-gray-100",c.disabled&&"opacity-50 cursor-not-allowed"),onClick:()=>{c.onClick(),d(!1)},disabled:c.disabled,children:c.label},u))})]})]})}m(E,"ActionsDropdown");import{ChevronDown as O,Info as Z}from"lucide-react";import K from"react-flagpack";import{useState as z}from"react";import{jsx as j,jsxs as L}from"react/jsx-runtime";var I=m(({children:e,content:n})=>L("div",{className:"relative inline-block group",children:[e,L("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",children:[n,j("div",{className:"absolute top-full right-3 border-4 border-transparent border-t-gray-900"})]})]}),"BasicTooltip");import{Fragment as b,jsx as o,jsxs as r}from"react/jsx-runtime";var V={GB:"GB-UKM"},Y=m(({title:e,country:n,region:a,annualGrossSalary:l,onDelete:_,onExportPdf:d,onEdit:c})=>{let u=[{label:"Edit",onClick:c},{label:"Export",onClick:d},{label:"Delete",onClick:_}];return r("div",{className:"RemoteFlows__EstimationResults__Header flex justify-between",children:[r("div",{className:"flex flex-row items-center gap-6",children:[o("div",{className:"RemoteFlows__EstimationResultsHeader__FlagContainer flex h-16 w-16 items-center justify-center rounded-lg bg-[#F4F4F5]",children:o(K,{code:V[n.alpha_2_code]||n.alpha_2_code})}),r("div",{className:"space-y-1",children:[o("h2",{"data-testid":"estimation-results-header-title",className:"RemoteFlows__EstimationResultsHeader__Title text-lg font-medium leading-none text-[#181818]",children:e}),r("p",{className:"RemoteFlows__EstimationResultsHeader__Country text-xs text-[#71717A]",children:[n.name," ",a?` (${a.name})`:""]}),r("p",{"data-testid":"estimation-results-header-annual-gross-salary",className:"RemoteFlows__EstimationResultsHeader__AnnualGrossSalary text-xs text-[#71717A]",children:[o("span",{className:"text-[#181818]",children:"Employee annual gross salary:"})," ",l]})]})]}),o(E,{label:"Actions",className:"RemoteFlows__EstimationResults__ActionsDropdown",actions:u})]})},"EstimationResultsHeader"),q=m(()=>({steps:[{id:"add-employment-details",title:"Add employment details",description:"You add employee employments details."},{id:"invite-employee",title:"Invite employee",description:"Hire receives an email invitation from Remote to start the self-enrollment process."},{id:"verify-information",title:"Verify information",description:"Remote prepares the Employment Agreement and verifies all the information."},{id:"sign-contract",title:"Sign contract",description:"All parties sign the Employment Agreement and are ready to start. \u{1F389}"}],helpText:"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.",zendeskArticleId:w.employeeOnboardingTimeline}),"getOnboardingTimelineData");function J({minimumOnboardingDays:e,data:n,className:a}){return o(R,{type:"single",collapsible:!0,className:i("RemoteFlows__EstimationResults__OnboardingTimeline w-full",a),children:r(x,{value:"timeline",className:"RemoteFlows__OnboardingTimeline__AccordionItem border-border",children:[o(N,{className:"RemoteFlows__OnboardingTimeline__AccordionTrigger hover:no-underline px-0 py-4",children:r("div",{className:"flex items-center justify-between w-full",children:[o("span",{className:"RemoteFlows__OnboardingTimeline__Title text-base font-medium text-[#0F172A]",children:"Onboarding timeline"}),e!=null&&r("span",{className:"RemoteFlows__OnboardingTimeline__Description text-base text-muted-foreground mr-4",children:[e," days"]})]})}),r(A,{className:"px-0 pb-4",children:[o("ul",{className:"RemoteFlows__OnboardingTimeline__List list-disc list-inside space-y-2",children:n.steps.map(l=>r("li",{children:[o("strong",{className:"font-medium text-[#09090B]",children:l.title})," ","- ",l.description]},l.id))}),r("p",{className:"RemoteFlows__OnboardingTimeline__HelpText text-xs text-muted-foreground mt-4",children:[n.helpText,n.zendeskArticleId&&o(f,{zendeskId:n.zendeskArticleId,children:"Learn more"})]})]})]})})}m(J,"OnboardingTimeline");function Q({className:e,countryBenefitsUrl:n,countryGuideUrl:a,country:l}){return o(R,{type:"single",collapsible:!0,className:i("RemoteFlows__EstimationResults__HiringSection w-full",e),children:r(x,{value:"timeline",className:"RemoteFlows__HiringSection__AccordionItem border-border",children:[o(N,{className:"RemoteFlows__HiringSection__AccordionTrigger hover:no-underline px-0 py-4",children:o("div",{className:"flex items-center justify-between w-full",children:r("span",{className:"text-base font-medium text-[#0F172A]",children:["Hiring in ",l.name]})})}),o(A,{children:r("div",{className:"flex flex-col gap-1",children:[a&&o("a",{href:a,target:"_blank",className:"RemoteFlows__Link",children:"Explore our complete guide \u2197"}),n&&o("a",{href:n,target:"_blank",className:"RemoteFlows__Link",children:"Explore our available benefits \u2197"})]})})]})})}m(Q,"HiringSection");function W({isMultipleCurrency:e,className:n}){return r("div",{className:i("RemoteFlows__EstimationResults__Headers grid grid-cols-3 items-center",n),children:[o("span",{"aria-hidden":!0}),e?r(b,{children:[o("span",{className:"RemoteFlows__EstimationResults__Headers__Label",children:"Employee currency"}),o("span",{className:"RemoteFlows__EstimationResults__Headers__Label",children:"Employer currency"})]}):r(b,{children:[o("span",{}),o("span",{className:"RemoteFlows__EstimationResults__Headers__Label",children:"Amount"})]})]})}m(W,"EstimationHeaders");function S({label:e,amounts:n,className:a,children:l}){let[_,d]=z(!0);return r("div",{className:i("RemoteFlows__EstimationResults__Row",a),children:[r("div",{className:"RemoteFlows__EstimationRow__Grid grid grid-cols-3 items-center",children:[r("div",{className:"RemoteFlows__EstimationRow__LabelContainer flex items-center gap-2",children:[o("span",{className:i("RemoteFlows__EstimationRow__Title min-w-[140px] font-medium text-[#09090B]"),children:e}),o("button",{onClick:()=>d(!_),className:"RemoteFlows__EstimationRow__CollapseButton p-1 hover:bg-gray-100 rounded",children:o(O,{className:`h-4 w-4 text-muted-foreground transition-transform ${_?"rotate-180":""}`})})]}),Array.isArray(n)?n.map((c,u)=>o("span",{className:i("RemoteFlows__EstimationRow__RegionalAmount text-right font-medium text-[#09090B]"),children:c},u)):r(b,{children:[o("span",{}),o("span",{className:i("RemoteFlows__EstimationRow__EmployerAmount text-right font-medium text-[#09090B]"),children:n})]})]}),_&&l&&o("div",{className:"RemoteFlows__EstimationRow__CollapsibleContent mt-4",children:l})]})}m(S,"EstimationRow");function X({item:e,isMultipleCurrency:n,level:a=0}){let[l,_]=z(!1),d=e.children&&e.children.length>0,c=a>0,u=e.isCollapsible||d;return r("li",{className:i("RemoteFlows__BreakdownList__Item pb-3",c&&"pb-1"),children:[r("div",{className:i(n?"RemoteFlows__BreakdownList__Grid grid grid-cols-3 items-center justify-between":"RemoteFlows__BreakdownList__Grid grid grid-cols-2 items-center justify-between"),children:[r("div",{className:i("RemoteFlows__BreakdownList__LabelContainer flex items-center gap-2",c&&"pl-3"),children:[!c&&o("span",{className:"RemoteFlows__BreakdownList__Bullet w-1 h-1 bg-[#09090B] rounded-full flex-shrink-0","aria-hidden":"true"}),u?r("button",{onClick:()=>_(!l),className:"RemoteFlows__BreakdownList__CollapseButton flex items-center gap-2 hover:bg-gray-100 rounded p-1",children:[o("span",{className:i(c?"RemoteFlows__BreakdownList__Text--Nested text-xs text-[#71717A]":"RemoteFlows__BreakdownList__Text--NotNested text-sm text-[#09090B]"),children:e.label}),o(O,{className:`RemoteFlows__BreakdownList__ChevronDown h-3 w-3 text-muted-foreground transition-transform ${l?"rotate-180":""}`})]}):o("span",{className:i(c?"RemoteFlows__BreakdownList__Text--Nested text-xs text-[#71717A]":"RemoteFlows__BreakdownList__Text--NotNested text-sm text-[#09090B] p-1"),children:e.label}),e.tooltip&&o(I,{content:r(b,{children:[o("span",{dangerouslySetInnerHTML:{__html:F(e.tooltip)}})," ",e.zendeskId&&o(f,{zendeskId:Number(e.zendeskId),children:"Learn more"})]}),children:o("button",{className:"RemoteFlows__BreakdownList__InfoButton p-1 hover:bg-gray-100 rounded",children:o(Z,{className:i("RemoteFlows__BreakdownList__InfoButton__Icon text-muted-foreground",c?"h-3 w-3":"h-4 w-4")})})})]}),n?r(b,{children:[o("span",{"data-testid":e.dataSelector&&e.dataSelector+"-employee-amount",className:i("RemoteFlows__BreakdownList__RegionalAmountText text-sm text-right",c?"RemoteFlows__BreakdownList__RegionalAmountText--Nested text-[#71717A]":"RemoteFlows__BreakdownList__RegionalAmountText--NotNested text-[#09090B]"),children:e.regionalAmount||"\u2014"}),o("span",{"data-testid":e.dataSelector&&e.dataSelector+"-employer-amount",className:i("RemoteFlows__BreakdownList__EmployerAmountText text-sm text-right",c?"RemoteFlows__BreakdownList__EmployerAmountText--Nested text-[#71717A]":"RemoteFlows__BreakdownList__EmployerAmountText--NotNested text-[#09090B]"),children:e.employerAmount||"\u2014"})]}):o("span",{"data-testid":e.dataSelector,className:i("RemoteFlows__BreakdownList__RegionalAmountText text-sm text-right",c?"RemoteFlows__BreakdownList__RegionalAmountText--Nested text-[#71717A]":"RemoteFlows__BreakdownList__RegionalAmountText--NotNested text-[#09090B]"),children:e.regionalAmount||"\u2014"})]}),d&&l&&o("div",{className:"mt-1",children:o(h,{items:e.children,isMultipleCurrency:n,level:a+1})})]})}m(X,"BreakdownListItem");function h({items:e,isMultipleCurrency:n,className:a,level:l}){return o("ul",{className:i("RemoteFlows__BreakdownList list-none",a),children:e.map((_,d)=>o(X,{item:_,isMultipleCurrency:n,level:l},d))})}m(h,"BreakdownList");var Re=m(({estimation:e,title:n,components:a,onDelete:l,onExportPdf:_,onEdit:d})=>{let c=a?.HiringSection||Q,u=a?.OnboardingTimeline||J,H=a?.Header||Y,v=a?.Footer,D=q(),p=e.employer_currency_costs.currency.code!==e.regional_currency_costs.currency.code,k=e.employer_currency_costs.monthly_management_fee,M=e.region.code!==e.country.code,G=t(e.regional_currency_costs.annual_gross_salary,e.regional_currency_costs.currency.code);return r(C,{className:"RemoteFlows__EstimationResults__Card p-10",children:[o("div",{className:"RemoteFlows__Separator",children:o(H,{title:n,annualGrossSalary:G,region:M?e.region:void 0,country:e.country,onDelete:l,onExportPdf:_,onEdit:d})}),r("div",{className:"RemoteFlows__Separator",children:[o(W,{isMultipleCurrency:p,className:"mb-3"}),o(S,{label:"Monthly total cost",amounts:p?[t(e.regional_currency_costs.monthly_total,e.regional_currency_costs.currency.code),t(e.employer_currency_costs.monthly_total,e.employer_currency_costs.currency.code)]:t(e.regional_currency_costs.monthly_total,e.regional_currency_costs.currency.code),children:o(h,{items:[{label:"Gross monthly salary",regionalAmount:t(e.regional_currency_costs.monthly_gross_salary,e.regional_currency_costs.currency.code),employerAmount:t(e.employer_currency_costs.monthly_gross_salary,e.employer_currency_costs.currency.code),zendeskId:w.extraPayments.toString(),tooltip:"This country respects extra payments on top of the gross salary."},{label:"Mandatory employer costs",regionalAmount:t(e.regional_currency_costs.monthly_contributions_total,e.regional_currency_costs.currency.code),employerAmount:t(e.employer_currency_costs.monthly_contributions_total,e.employer_currency_costs.currency.code),children:e.employer_currency_costs.monthly_contributions_breakdown?.map((s,y)=>({label:s.name,regionalAmount:t(e.regional_currency_costs.monthly_contributions_breakdown?.[y]?.amount,e.regional_currency_costs.currency.code),employerAmount:t(s.amount,e.employer_currency_costs.currency.code),zendeskId:s.zendesk_article_id||void 0,tooltip:s.description||void 0}))||[]},{label:"Benefits",regionalAmount:t(e.regional_currency_costs.monthly_benefits_total,e.regional_currency_costs.currency.code),employerAmount:t(e.employer_currency_costs.monthly_benefits_total,e.employer_currency_costs.currency.code),children:e.employer_currency_costs.monthly_benefits_breakdown?.map((s,y)=>({label:s.name,regionalAmount:t(e.regional_currency_costs.monthly_benefits_breakdown?.[y]?.amount,e.regional_currency_costs.currency.code),employerAmount:t(s.amount,e.employer_currency_costs.currency.code),zendeskId:s.zendesk_article_id||void 0,tooltip:s.description||void 0}))||[]},...k?[{label:"Monthly fee",regionalAmount:t(e.regional_currency_costs.monthly_management_fee,e.regional_currency_costs.currency.code),employerAmount:t(e.employer_currency_costs.monthly_management_fee,e.employer_currency_costs.currency.code),tooltip:"Discounts may be available based on your commitment and team size. Speak to your account or customer success manager to learn more."}]:[]],isMultipleCurrency:p})})]}),o("div",{className:"RemoteFlows__Separator",children:o(S,{label:"Annual total cost",amounts:p?[t(e.regional_currency_costs.annual_total,e.regional_currency_costs.currency.code),t(e.employer_currency_costs.annual_total,e.employer_currency_costs.currency.code)]:t(e.regional_currency_costs.annual_total,e.regional_currency_costs.currency.code),children:o(h,{items:[{label:"Gross annual salary",dataSelector:"annual-gross-salary",regionalAmount:t(e.regional_currency_costs.annual_gross_salary,e.regional_currency_costs.currency.code),employerAmount:t(e.employer_currency_costs.annual_gross_salary,e.employer_currency_costs.currency.code)},{label:"Mandatory employer costs",regionalAmount:t(e.regional_currency_costs.annual_contributions_total,e.regional_currency_costs.currency.code),employerAmount:t(e.employer_currency_costs.annual_contributions_total,e.employer_currency_costs.currency.code),children:e.employer_currency_costs.annual_contributions_breakdown?.map((s,y)=>({label:s.name,regionalAmount:t(e.regional_currency_costs.annual_contributions_breakdown?.[y]?.amount,e.regional_currency_costs.currency.code),employerAmount:t(s.amount,e.employer_currency_costs.currency.code),zendeskId:s.zendesk_article_id||void 0,tooltip:s.description||void 0}))||[]},{label:"Benefits",regionalAmount:t(e.regional_currency_costs.annual_benefits_total,e.regional_currency_costs.currency.code),employerAmount:t(e.employer_currency_costs.annual_benefits_total,e.employer_currency_costs.currency.code),children:e.employer_currency_costs.annual_benefits_breakdown?.map((s,y)=>({label:s.name,regionalAmount:t(e.regional_currency_costs.annual_benefits_breakdown?.[y]?.amount,e.regional_currency_costs.currency.code),employerAmount:t(s.amount,e.employer_currency_costs.currency.code),zendeskId:s.zendesk_article_id||void 0,tooltip:s.description||void 0}))||[]},{label:"Extra statutory payments",regionalAmount:t(e.regional_currency_costs.extra_statutory_payments_total,e.regional_currency_costs.currency.code),employerAmount:t(e.employer_currency_costs.extra_statutory_payments_total,e.employer_currency_costs.currency.code),children:e.employer_currency_costs.extra_statutory_payments_breakdown?.map((s,y)=>({label:s.name,regionalAmount:t(e.regional_currency_costs.extra_statutory_payments_breakdown?.[y]?.amount,e.regional_currency_costs.currency.code),employerAmount:t(s.amount,e.employer_currency_costs.currency.code),zendeskId:s.zendesk_article_id||void 0,tooltip:s.description||void 0}))||[]},...k?[{label:"Annual fee",regionalAmount:t(e.regional_currency_costs.annual_management_fee,e.regional_currency_costs.currency.code),employerAmount:t(e.employer_currency_costs.annual_management_fee,e.employer_currency_costs.currency.code),tooltip:"Discounts may be available based on your commitment and team size. Speak to your account or customer success manager to learn more."}]:[]],isMultipleCurrency:p})})}),o("div",{className:"RemoteFlows__Separator",children:o(u,{minimumOnboardingDays:e.minimum_onboarding_time,data:D})}),o(c,{countryBenefitsUrl:e.country_benefits_details_url,countryGuideUrl:e.country_guide_url,country:e.country}),v&&o(v,{})]})},"EstimationResults");export{Re as a};
2
+ //# sourceMappingURL=chunk-UTAMXYX4.js.map
@@ -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 type='single'\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 type='single'\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":"0RAEA,OAAS,kBAAAA,MAAsB,eAC/B,OAAS,YAAAC,MAAgC,QAkCjC,OAIA,YAAAC,EAJA,OAAAC,EAIA,QAAAC,MAJA,oBAjBD,SAASC,EAAgB,CAC9B,QAAAC,EAAU,CAAC,EACX,UAAAC,EACA,MAAAC,EACA,cAAeC,CACjB,EAAyB,CACvB,GAAM,CAACC,EAAQC,CAAS,EAAIC,EAAS,EAAK,EAE1C,OACER,EAAC,OAAI,UAAWS,EAAG,WAAYN,CAAS,EACtC,UAAAJ,EAACW,EAAA,CACC,cAAaL,EACb,QAAQ,QACR,aAAYD,EACZ,UAAU,cACV,QAAS,IAAMG,EAAU,CAACD,CAAM,EAEhC,SAAAP,EAACY,EAAA,CAAe,UAAU,UAAU,EACtC,EAECL,GACCN,EAAAF,EAAA,CACE,UAAAC,EAAC,OACC,UAAU,qBACV,QAAS,IAAMQ,EAAU,EAAK,EAChC,EACAR,EAAC,OAAI,UAAU,wGACZ,SAAAG,EAAQ,IAAI,CAACU,EAAQC,IACpBd,EAAC,UAEC,cAAa,GAAGM,CAAY,IAAIO,EAAO,MAAM,YAAY,EAAE,QAAQ,IAAK,GAAG,CAAC,GAC5E,UAAWH,EACT,yDACAG,EAAO,UAAY,+BACrB,EACA,QAAS,IAAM,CACbA,EAAO,QAAQ,EACfL,EAAU,EAAK,CACjB,EACA,SAAUK,EAAO,SAEhB,SAAAA,EAAO,OAZHC,CAaP,CACD,EACH,GACF,GAEJ,CAEJ,CAjDgBC,EAAAb,EAAA,mBCjBhB,OAAS,eAAAc,EAAa,QAAAC,MAAY,eAClC,OAAOC,MAAU,iBACjB,OAAS,YAAAC,MAAgB,QCKnB,OAEE,OAAAC,EAFF,QAAAC,MAAA,oBAVC,IAAMC,EAAeC,EAAA,CAAC,CAC3B,SAAAC,EACA,QAAAC,CACF,IAKIJ,EAAC,OAAI,UAAU,8BACZ,UAAAG,EACDH,EAAC,OAAI,UAAU,4NACZ,UAAAI,EACDL,EAAC,OAAI,UAAU,0EAA0E,GAC3F,GACF,EAdwB,gBDyDlB,OAsNF,YAAAM,EAtNE,OAAAC,EAaA,QAAAC,MAbA,oBAvCV,IAAMC,EAA4C,CAChD,GAAI,QACN,EAEMC,EAA0BC,EAAA,CAAC,CAC/B,MAAAC,EACA,QAAAC,EACA,OAAAC,EACA,kBAAAC,EACA,SAAAC,EACA,YAAAC,EACA,OAAAC,CACF,IAQM,CACJ,IAAMC,EAAU,CACd,CACE,MAAO,OACP,QAASD,CACX,EACA,CACE,MAAO,SACP,QAASD,CACX,EACA,CACE,MAAO,SACP,QAASD,CACX,CACF,EACA,OACER,EAAC,OAAI,UAAU,8DACb,UAAAA,EAAC,OAAI,UAAU,mCACb,UAAAD,EAAC,OAAI,UAAU,yHACb,SAAAA,EAACa,EAAA,CACC,KACEX,EAAkBI,EAAQ,YAAY,GAAKA,EAAQ,aAEvD,EACF,EACAL,EAAC,OAAI,UAAU,YACb,UAAAD,EAAC,MACC,cAAY,kCACZ,UAAU,8FAET,SAAAK,EACH,EACAJ,EAAC,KAAE,UAAU,uEACV,UAAAK,EAAQ,KAAK,IAAEC,EAAS,KAAKA,EAAO,IAAI,IAAM,IACjD,EACAN,EAAC,KACC,cAAY,gDACZ,UAAU,iFAEV,UAAAD,EAAC,QAAK,UAAU,iBAAiB,yCAEjC,EAAQ,IACPQ,GACH,GACF,GACF,EACAR,EAACc,EAAA,CACC,MAAM,UACN,UAAU,kDACV,QAASF,EACX,GACF,CAEJ,EArEgC,2BAmF1BG,EAA4BX,EAAA,KACzB,CACL,MAAO,CACL,CACE,GAAI,yBACJ,MAAO,yBACP,YAAa,uCACf,EACA,CACE,GAAI,kBACJ,MAAO,kBACP,YACE,qFACJ,EACA,CACE,GAAI,qBACJ,MAAO,qBACP,YACE,4EACJ,EACA,CACE,GAAI,gBACJ,MAAO,gBACP,YACE,6EACJ,CACF,EACA,SACE,sLACF,iBAAkBY,EAAgB,0BACpC,GA9BgC,6BAiClC,SAASC,EAAmB,CAC1B,sBAAAC,EACA,KAAAC,EACA,UAAAC,CACF,EAIG,CACD,OACEpB,EAACqB,EAAA,CACC,KAAK,SACL,YAAW,GACX,UAAWC,EACT,4DACAF,CACF,EAEA,SAAAnB,EAACsB,EAAA,CACC,MAAM,WACN,UAAU,+DAEV,UAAAvB,EAACwB,EAAA,CAAiB,UAAU,iFAC1B,SAAAvB,EAAC,OAAI,UAAU,2CACb,UAAAD,EAAC,QAAK,UAAU,8EAA8E,+BAE9F,EACCkB,GAAyB,MACxBjB,EAAC,QAAK,UAAU,oFACb,UAAAiB,EAAsB,SACzB,GAEJ,EACF,EACAjB,EAACwB,EAAA,CAAiB,UAAU,YAC1B,UAAAzB,EAAC,MAAG,UAAU,wEACX,SAAAmB,EAAK,MAAM,IAAKO,GACfzB,EAAC,MACC,UAAAD,EAAC,UAAO,UAAU,6BACf,SAAA0B,EAAK,MACR,EAAU,IAAI,KACXA,EAAK,cAJDA,EAAK,EAKd,CACD,EACH,EACAzB,EAAC,KAAE,UAAU,+EACV,UAAAkB,EAAK,SACLA,EAAK,kBACJnB,EAAC2B,EAAA,CAAqB,UAAWR,EAAK,iBAAkB,sBAExD,GAEJ,GACF,GACF,EACF,CAEJ,CAzDSf,EAAAa,EAAA,sBA2DT,SAASW,EAAc,CACrB,UAAAR,EACA,mBAAAS,EACA,gBAAAC,EACA,QAAAxB,CACF,EAKG,CACD,OACEN,EAACqB,EAAA,CACC,KAAK,SACL,YAAW,GACX,UAAWC,EACT,uDACAF,CACF,EAEA,SAAAnB,EAACsB,EAAA,CACC,MAAM,WACN,UAAU,0DAEV,UAAAvB,EAACwB,EAAA,CAAiB,UAAU,4EAC1B,SAAAxB,EAAC,OAAI,UAAU,2CACb,SAAAC,EAAC,QAAK,UAAU,uCAAuC,uBAC1CK,EAAQ,MACrB,EACF,EACF,EACAN,EAACyB,EAAA,CACC,SAAAxB,EAAC,OAAI,UAAU,sBACZ,UAAA6B,GACC9B,EAAC,KACC,KAAM8B,EACN,OAAO,SACP,UAAU,oBACX,6CAED,EAEDD,GACC7B,EAAC,KACC,KAAM6B,EACN,OAAO,SACP,UAAU,oBACX,iDAED,GAEJ,EACF,GACF,EACF,CAEJ,CAxDSzB,EAAAwB,EAAA,iBA0DT,SAASG,EAAkB,CACzB,mBAAAC,EACA,UAAAZ,CACF,EAGG,CACD,OACEnB,EAAC,OACC,UAAWqB,EACT,wEACAF,CACF,EAEA,UAAApB,EAAC,QAAK,cAAW,GAAC,EACjBgC,EACC/B,EAAAF,EAAA,CACE,UAAAC,EAAC,QAAK,UAAU,iDAAiD,6BAEjE,EACAA,EAAC,QAAK,UAAU,iDAAiD,6BAEjE,GACF,EAEAC,EAAAF,EAAA,CACE,UAAAC,EAAC,SAAK,EACNA,EAAC,QAAK,UAAU,iDAAiD,kBAEjE,GACF,GAEJ,CAEJ,CAlCSI,EAAA2B,EAAA,qBAoCT,SAASE,EAAc,CACrB,MAAAC,EACA,QAAAC,EACA,UAAAf,EACA,SAAAgB,CACF,EAKG,CACD,GAAM,CAACC,EAAQC,CAAS,EAAIC,EAAS,EAAI,EAEzC,OACEtC,EAAC,OAAI,UAAWqB,EAAG,sCAAuCF,CAAS,EACjE,UAAAnB,EAAC,OAAI,UAAU,iEACb,UAAAA,EAAC,OAAI,UAAU,qEACb,UAAAD,EAAC,QACC,UAAWsB,EACT,4EACF,EAEC,SAAAY,EACH,EACAlC,EAAC,UACC,QAAS,IAAMsC,EAAU,CAACD,CAAM,EAChC,UAAU,2EAEV,SAAArC,EAACwC,EAAA,CACC,UAAW,sDACTH,EAAS,aAAe,EAC1B,GACF,EACF,GACF,EAEC,MAAM,QAAQF,CAAO,EACpBA,EAAQ,IAAI,CAACM,EAAQC,IACnB1C,EAAC,QAEC,UAAWsB,EACT,kFACF,EAEC,SAAAmB,GALIC,CAMP,CACD,EAEDzC,EAAAF,EAAA,CACE,UAAAC,EAAC,SAAK,EACNA,EAAC,QACC,UAAWsB,EACT,kFACF,EAEC,SAAAa,EACH,GACF,GAEJ,EAGCE,GAAUD,GACTpC,EAAC,OAAI,UAAU,sDACZ,SAAAoC,EACH,GAEJ,CAEJ,CArEShC,EAAA6B,EAAA,iBAmFT,SAASU,EAAkB,CACzB,KAAAC,EACA,mBAAAZ,EACA,MAAAa,EAAQ,CACV,EAIG,CACD,GAAM,CAACR,EAAQC,CAAS,EAAIC,EAAS,EAAK,EACpCO,EAAcF,EAAK,UAAYA,EAAK,SAAS,OAAS,EACtDG,EAAWF,EAAQ,EACnBG,EAAgBJ,EAAK,eAAiBE,EAE5C,OACE7C,EAAC,MACC,UAAWqB,EACT,wCACAyB,GAAY,MACd,EAEA,UAAA9C,EAAC,OACC,UAAWqB,EACTU,EACI,iFACA,gFACN,EAEA,UAAA/B,EAAC,OACC,UAAWqB,EACT,qEACAyB,GAAY,MACd,EAEC,WAACA,GACA/C,EAAC,QACC,UAAU,qFACV,cAAY,OACd,EAGDgD,EACC/C,EAAC,UACC,QAAS,IAAMqC,EAAU,CAACD,CAAM,EAChC,UAAU,mGAEV,UAAArC,EAAC,QACC,UAAWsB,EACTyB,EACI,kEACA,oEACN,EAEC,SAAAH,EAAK,MACR,EACA5C,EAACwC,EAAA,CACC,UAAW,8FACTH,EAAS,aAAe,EAC1B,GACF,GACF,EAEArC,EAAC,QACC,UAAWsB,EACTyB,EACI,kEACA,wEACN,EAEC,SAAAH,EAAK,MACR,EAGDA,EAAK,SACJ5C,EAACiD,EAAA,CACC,QACEhD,EAAAF,EAAA,CACE,UAAAC,EAAC,QACC,wBAAyB,CACvB,OAAQkD,EAAaN,EAAK,OAAO,CACnC,EACF,EAAG,IACFA,EAAK,WACJ5C,EAAC2B,EAAA,CAAqB,UAAW,OAAOiB,EAAK,SAAS,EAAG,sBAEzD,GAEJ,EAGF,SAAA5C,EAAC,UAAO,UAAU,uEAChB,SAAAA,EAACmD,EAAA,CACC,UAAW7B,EACT,qEACAyB,EAAW,UAAY,SACzB,EACF,EACF,EACF,GAEJ,EAECf,EACC/B,EAAAF,EAAA,CACE,UAAAC,EAAC,QACC,cACE4C,EAAK,cAAgBA,EAAK,aAAe,mBAE3C,UAAWtB,EACT,oEACAyB,EACI,wEACA,0EACN,EAEC,SAAAH,EAAK,gBAAkB,SAC1B,EACA5C,EAAC,QACC,cACE4C,EAAK,cAAgBA,EAAK,aAAe,mBAE3C,UAAWtB,EACT,oEACAyB,EACI,wEACA,0EACN,EAEC,SAAAH,EAAK,gBAAkB,SAC1B,GACF,EAEA5C,EAAC,QACC,cAAa4C,EAAK,aAClB,UAAWtB,EACT,oEACAyB,EACI,wEACA,0EACN,EAEC,SAAAH,EAAK,gBAAkB,SAC1B,GAEJ,EAECE,GAAeT,GACdrC,EAAC,OAAI,UAAU,OACb,SAAAA,EAACoD,EAAA,CACC,MAAOR,EAAK,SACZ,mBAAoBZ,EACpB,MAAOa,EAAQ,EACjB,EACF,GAEJ,CAEJ,CA7JSzC,EAAAuC,EAAA,qBAsKT,SAASS,EAAc,CACrB,MAAAC,EACA,mBAAArB,EACA,UAAAZ,EACA,MAAAyB,CACF,EAAuB,CACrB,OACE7C,EAAC,MAAG,UAAWsB,EAAG,uCAAwCF,CAAS,EAChE,SAAAiC,EAAM,IAAI,CAACT,EAAMF,IAChB1C,EAAC2C,EAAA,CAEC,KAAMC,EACN,mBAAoBZ,EACpB,MAAOa,GAHFH,CAIP,CACD,EACH,CAEJ,CAlBStC,EAAAgD,EAAA,iBAiDF,IAAME,GAAoBlD,EAAA,CAAC,CAChC,WAAAmD,EACA,MAAAlD,EACA,WAAAmD,EACA,SAAA/C,EACA,YAAAC,EACA,OAAAC,CACF,IAA8B,CAC5B,IAAM8C,EAAsBD,GAAY,eAAiB5B,EACnD8B,EACJF,GAAY,oBAAsBvC,EAC9B0C,EAAeH,GAAY,QAAUrD,EACrCyD,EAAeJ,GAAY,OAE3BK,EAAyB9C,EAA0B,EAEnDiB,EACJuB,EAAW,wBAAwB,SAAS,OAC5CA,EAAW,wBAAwB,SAAS,KAExCO,EACJP,EAAW,wBAAwB,uBAE/BQ,EAAYR,EAAW,OAAO,OAASA,EAAW,QAAQ,KAE1DS,EAAkBC,EACtBV,EAAW,wBAAwB,oBACnCA,EAAW,wBAAwB,SAAS,IAC9C,EAEA,OACEtD,EAACiE,EAAA,CAAK,UAAU,4CACd,UAAAlE,EAAC,OAAI,UAAU,yBACb,SAAAA,EAAC2D,EAAA,CACC,MAAOtD,EACP,kBAAmB2D,EACnB,OAAQD,EAAYR,EAAW,OAAS,OACxC,QAASA,EAAW,QACpB,SAAU9C,EACV,YAAaC,EACb,OAAQC,EACV,EACF,EACAV,EAAC,OAAI,UAAU,yBACb,UAAAD,EAAC+B,EAAA,CACC,mBAAoBC,EACpB,UAAU,OACZ,EACAhC,EAACiC,EAAA,CACC,MAAM,qBACN,QACED,EACI,CACEiC,EACEV,EAAW,wBAAwB,cACnCA,EAAW,wBAAwB,SAAS,IAC9C,EACAU,EACEV,EAAW,wBAAwB,cACnCA,EAAW,wBAAwB,SAAS,IAC9C,CACF,EACAU,EACEV,EAAW,wBAAwB,cACnCA,EAAW,wBAAwB,SAAS,IAC9C,EAGN,SAAAvD,EAACoD,EAAA,CACC,MAAO,CACL,CACE,MAAO,uBACP,eAAgBa,EACdV,EAAW,wBAAwB,qBACnCA,EAAW,wBAAwB,SAAS,IAC9C,EACA,eAAgBU,EACdV,EAAW,wBAAwB,qBACnCA,EAAW,wBAAwB,SAAS,IAC9C,EACA,UAAWvC,EAAgB,cAAc,SAAS,EAClD,QACE,kEACJ,EACA,CACE,MAAO,2BACP,eAAgBiD,EACdV,EAAW,wBACR,4BACHA,EAAW,wBAAwB,SAAS,IAC9C,EACA,eAAgBU,EACdV,EAAW,wBACR,4BACHA,EAAW,wBAAwB,SAAS,IAC9C,EACA,SACEA,EAAW,wBAAwB,iCAAiC,IAClE,CAACX,EAAMF,KACE,CACL,MAAOE,EAAK,KACZ,eAAgBqB,EACdV,EAAW,wBACR,kCAAkCb,CAAK,GAAG,OAC7Ca,EAAW,wBAAwB,SAAS,IAC9C,EACA,eAAgBU,EACdrB,EAAK,OACLW,EAAW,wBAAwB,SAAS,IAC9C,EACA,UAAWX,EAAK,oBAAsB,OACtC,QAASA,EAAK,aAAe,MAC/B,EAEJ,GAAK,CAAC,CACV,EACA,CACE,MAAO,WACP,eAAgBqB,EACdV,EAAW,wBAAwB,uBACnCA,EAAW,wBAAwB,SAAS,IAC9C,EACA,eAAgBU,EACdV,EAAW,wBAAwB,uBACnCA,EAAW,wBAAwB,SAAS,IAC9C,EACA,SACEA,EAAW,wBAAwB,4BAA4B,IAC7D,CAACX,EAAMF,KAAW,CAChB,MAAOE,EAAK,KACZ,eAAgBqB,EACdV,EAAW,wBACR,6BAA6Bb,CAAK,GAAG,OACxCa,EAAW,wBAAwB,SAAS,IAC9C,EACA,eAAgBU,EACdrB,EAAK,OACLW,EAAW,wBAAwB,SAAS,IAC9C,EACA,UAAWX,EAAK,oBAAsB,OACtC,QAASA,EAAK,aAAe,MAC/B,EACF,GAAK,CAAC,CACV,EACA,GAAIkB,EACA,CACE,CACE,MAAO,cACP,eAAgBG,EACdV,EAAW,wBACR,uBACHA,EAAW,wBAAwB,SAAS,IAC9C,EACA,eAAgBU,EACdV,EAAW,wBACR,uBACHA,EAAW,wBAAwB,SAAS,IAC9C,EACA,QACE,qIACJ,CACF,EACA,CAAC,CACP,EACA,mBAAoBvB,EACtB,EACF,GACF,EACAhC,EAAC,OAAI,UAAU,yBACb,SAAAA,EAACiC,EAAA,CACC,MAAM,oBACN,QACED,EACI,CACEiC,EACEV,EAAW,wBAAwB,aACnCA,EAAW,wBAAwB,SAAS,IAC9C,EACAU,EACEV,EAAW,wBAAwB,aACnCA,EAAW,wBAAwB,SAAS,IAC9C,CACF,EACAU,EACEV,EAAW,wBAAwB,aACnCA,EAAW,wBAAwB,SAAS,IAC9C,EAGN,SAAAvD,EAACoD,EAAA,CACC,MAAO,CACL,CACE,MAAO,sBACP,aAAc,sBACd,eAAgBa,EACdV,EAAW,wBAAwB,oBACnCA,EAAW,wBAAwB,SAAS,IAC9C,EACA,eAAgBU,EACdV,EAAW,wBAAwB,oBACnCA,EAAW,wBAAwB,SAAS,IAC9C,CACF,EACA,CACE,MAAO,2BACP,eAAgBU,EACdV,EAAW,wBAAwB,2BACnCA,EAAW,wBAAwB,SAAS,IAC9C,EACA,eAAgBU,EACdV,EAAW,wBAAwB,2BACnCA,EAAW,wBAAwB,SAAS,IAC9C,EACA,SACEA,EAAW,wBAAwB,gCAAgC,IACjE,CAACX,EAAMF,KAAW,CAChB,MAAOE,EAAK,KACZ,eAAgBqB,EACdV,EAAW,wBACR,iCAAiCb,CAAK,GAAG,OAC5Ca,EAAW,wBAAwB,SAAS,IAC9C,EACA,eAAgBU,EACdrB,EAAK,OACLW,EAAW,wBAAwB,SAAS,IAC9C,EACA,UAAWX,EAAK,oBAAsB,OACtC,QAASA,EAAK,aAAe,MAC/B,EACF,GAAK,CAAC,CACV,EACA,CACE,MAAO,WACP,eAAgBqB,EACdV,EAAW,wBAAwB,sBACnCA,EAAW,wBAAwB,SAAS,IAC9C,EACA,eAAgBU,EACdV,EAAW,wBAAwB,sBACnCA,EAAW,wBAAwB,SAAS,IAC9C,EACA,SACEA,EAAW,wBAAwB,2BAA2B,IAC5D,CAACX,EAAMF,KAAW,CAChB,MAAOE,EAAK,KACZ,eAAgBqB,EACdV,EAAW,wBACR,4BAA4Bb,CAAK,GAAG,OACvCa,EAAW,wBAAwB,SAAS,IAC9C,EACA,eAAgBU,EACdrB,EAAK,OACLW,EAAW,wBAAwB,SAAS,IAC9C,EACA,UAAWX,EAAK,oBAAsB,OACtC,QAASA,EAAK,aAAe,MAC/B,EACF,GAAK,CAAC,CACV,EACA,CACE,MAAO,2BACP,eAAgBqB,EACdV,EAAW,wBACR,+BACHA,EAAW,wBAAwB,SAAS,IAC9C,EACA,eAAgBU,EACdV,EAAW,wBACR,+BACHA,EAAW,wBAAwB,SAAS,IAC9C,EACA,SACEA,EAAW,wBAAwB,oCAAoC,IACrE,CAACX,EAAMF,KAAW,CAChB,MAAOE,EAAK,KACZ,eAAgBqB,EACdV,EAAW,wBACR,qCAAqCb,CAAK,GAAG,OAChDa,EAAW,wBAAwB,SAAS,IAC9C,EACA,eAAgBU,EACdrB,EAAK,OACLW,EAAW,wBAAwB,SAAS,IAC9C,EACA,UAAWX,EAAK,oBAAsB,OACtC,QAASA,EAAK,aAAe,MAC/B,EACF,GAAK,CAAC,CACV,EACA,GAAIkB,EACA,CACE,CACE,MAAO,aACP,eAAgBG,EACdV,EAAW,wBACR,sBACHA,EAAW,wBAAwB,SAAS,IAC9C,EACA,eAAgBU,EACdV,EAAW,wBACR,sBACHA,EAAW,wBAAwB,SAAS,IAC9C,EACA,QACE,qIACJ,CACF,EACA,CAAC,CACP,EACA,mBAAoBvB,EACtB,EACF,EACF,EACAhC,EAAC,OAAI,UAAU,yBACb,SAAAA,EAAC0D,EAAA,CACC,sBAAuBH,EAAW,wBAClC,KAAMM,EACR,EACF,EAEA7D,EAACyD,EAAA,CACC,mBAAoBF,EAAW,6BAC/B,gBAAiBA,EAAW,kBAC5B,QAASA,EAAW,QACtB,EAECK,GAAgB5D,EAAC4D,EAAA,EAAa,GACjC,CAEJ,EAzUiC","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"]}
@@ -0,0 +1,2 @@
1
+ import{a as y,b as d,c as p,d as R}from"./chunk-XZLVP6EN.js";import{a as w}from"./chunk-KESYJ5QG.js";import{a as _,b as i}from"./chunk-J63QA2JC.js";import{a as m}from"./chunk-P37U34EQ.js";import{ChevronDown as A,Globe as N}from"lucide-react";import{useState as h}from"react";import{Fragment as C,jsx as e,jsxs as r}from"react/jsx-runtime";var v=m(t=>{if(t.length<2)return{currency:null,costsPerCountry:[],employeesCost:null};let o=t[0]?.employer_currency_costs.currency,c=t.reduce((l,s)=>{let a=s.country.name;return l[a]={country:s.country,monthlyTotal:(l[a]?.monthlyTotal||0)+s.employer_currency_costs.monthly_total,annualTotal:(l[a]?.annualTotal||0)+s.employer_currency_costs.annual_total},l},{}),n=Object.values(c).map(({country:l,monthlyTotal:s,annualTotal:a})=>({country:l,monthlyCost:i(s,o.code),annualCost:i(a,o.code)})),u={monthlyTotal:i(t.reduce((l,s)=>l+s.employer_currency_costs.monthly_total,0),o.code),annualTotal:i(t.reduce((l,s)=>l+s.employer_currency_costs.annual_total,0),o.code)};return{currency:o,costsPerCountry:n,employeesCost:u}},"useSummaryResults"),f=m(({currency:t,title:o})=>e("div",{className:"RemoteFlows__SummaryResults__Header flex items-center justify-between w-full",children:r("div",{className:"RemoteFlows__SummaryHeader__Container flex flex-row items-center gap-6",children:[e("div",{className:"RemoteFlows__SummaryHeader__IconContainer flex h-12 w-12 items-center justify-center rounded-lg bg-[#F4F4F5]",children:e(N,{className:"RemoteFlows__SummaryHeader__Icon h-6 w-6 text-[#000000]"})}),r("div",{className:"RemoteFlows__SummaryHeader__Content space-y-1",children:[e("h2",{className:"RemoteFlows__SummaryHeader__Title text-lg font-medium leading-none text-[#181818]",children:o}),r("p",{className:"RemoteFlows__SummaryHeader__Currency text-xs text-[#71717A]",children:["Employer billing currency: ",t.code]})]})]})}),"SummaryHeader"),g=m(({label:t,columns:o,rows:c,defaultValue:n="accordion",className:u})=>{let l=o.length===1?"grid-cols-2":"grid-cols-3";return e(y,{type:"single",collapsible:!0,defaultValue:n,className:_("RemoteFlows__SummaryResults__MultiColumnAccordion w-full",u),children:r(d,{value:n,className:"RemoteFlows__SummaryResults__AccordionItem border-none",children:[e(p,{className:"RemoteFlows__SummaryResults__AccordionTrigger hover:no-underline px-0 py-3 [&>svg]:hidden group",children:r("div",{className:_("RemoteFlows__SummaryResults__AccordionHeader grid items-center w-full",l),children:[r("div",{className:"RemoteFlows__SummaryResults__AccordionHeader__LabelContainer flex items-center gap-2",children:[t,e(A,{className:"RemoteFlows__SummaryResults__ChevronDown h-4 w-4 text-muted-foreground transition-transform group-data-[state=open]:rotate-180"})]}),o.length===1?e("span",{className:"RemoteFlows__SummaryResults__ColumnHeader text-xs text-[#27272A] text-right",children:o[0]}):o.map((s,a)=>e("span",{className:"RemoteFlows__SummaryResults__ColumnHeader text-xs text-[#27272A] text-right",children:s},a))]})}),e(R,{className:"RemoteFlows__SummaryResults__AccordionContent px-0 pb-4",children:e("div",{className:"RemoteFlows__SummaryResults__AccordionRows space-y-3",children:c.map((s,a)=>r("div",{className:_("RemoteFlows__SummaryResults__AccordionRow grid items-center",l),children:[e("div",{className:"flex items-center gap-2",children:s.label}),o.length===1?e("span",{className:"RemoteFlows__SummaryResults__RowValue text-sm text-[#09090B] text-right",children:s.values[0]}):s.values.map((F,x)=>e("span",{className:"RemoteFlows__SummaryResults__RowValue text-sm text-[#09090B] text-right",children:F},x))]},a))})})]})})},"MultiColumnAccordion"),S=m(({employeesCost:t})=>e(g,{label:e("span",{className:"RemoteFlows__CostForAllEmployees__Label text-sm font-medium text-[#0F172A]",children:"Cost for all employees"}),columns:["Total cost"],rows:[{label:r(C,{children:[e("span",{className:"RemoteFlows__CostForAllEmployees__Bullet w-1 h-1 bg-[#09090B] rounded-full flex-shrink-0"}),e("span",{className:"RemoteFlows__CostForAllEmployees__MonthlyLabel text-sm text-[#09090B]",children:"Monthly cost"})]}),values:[t.monthlyTotal]},{label:r(C,{children:[e("span",{className:"RemoteFlows__CostForAllEmployees__Bullet w-1 h-1 bg-[#09090B] rounded-full flex-shrink-0"}),e("span",{className:"RemoteFlows__CostForAllEmployees__AnnualLabel text-sm text-[#09090B]",children:"Annual cost"})]}),values:[t.annualTotal]}],defaultValue:"cost-breakdown"}),"CostForAllEmployees"),b=m(({costsPerCountry:t})=>e(g,{label:e("span",{className:"RemoteFlows__CostsPerCountry__Label text-sm font-medium text-[#0F172A]",children:"Cost per country"}),columns:["Monthly cost","Annual cost"],rows:t.map(o=>({label:r(C,{children:[e("span",{className:"RemoteFlows__CostsPerCountry__Bullet w-1 h-1 bg-[#09090B] rounded-full flex-shrink-0"}),e("span",{className:"RemoteFlows__CostsPerCountry__CountryName text-sm text-[#09090B]",children:o.country.name})]}),values:[o.monthlyCost,o.annualCost]})),defaultValue:"country-breakdown"}),"CostsPerCountry"),k=m(({estimations:t})=>{let{currency:o,costsPerCountry:c,employeesCost:n}=v(t),[u,l]=h("summary");return!o||c.length===0||Object.keys(n).length===0?null:e(w,{className:"RemoteFlows__SummaryResults__Card p-10",children:e(y,{type:"single",collapsible:!0,defaultValue:u,onValueChange:l,className:"RemoteFlows__SummaryResults__Accordion w-full",children:r(d,{value:"summary",className:"RemoteFlows__SummaryResults__AccordionItem border-border",children:[e("div",{className:_("RemoteFlows__SummaryResults__AccordionTriggerContainer",{RemoteFlows__Separator:u==="summary"}),children:e(p,{iconClassName:"size-6",className:"RemoteFlows__SummaryResults__MainAccordionTrigger hover:no-underline px-0 py-4",children:e(f,{currency:o,title:"Summary Overview"})})}),r(R,{className:"RemoteFlows__SummaryResults__MainAccordionContent px-0 pb-4 mt-6",children:[e("div",{className:"RemoteFlows__Separator",children:e(S,{employeesCost:n})}),e("div",{className:"RemoteFlows__SummaryResults__CostsPerCountryContainer mt-6",children:e(b,{costsPerCountry:c})})]})]})})})},"SummaryResults");export{k as a};
2
+ //# sourceMappingURL=chunk-VH4D3E42.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/CostCalculator/SummaryResults/SummaryResults.tsx"],"sourcesContent":["import { Currency } from '@/src/client';\nimport {\n Accordion,\n AccordionContent,\n AccordionItem,\n AccordionTrigger,\n} from '@/src/components/ui/accordion';\nimport { Card } from '@/src/components/ui/card';\nimport { CostCalculatorEstimation } from '@/src/flows/CostCalculator/types';\nimport { cn, formatCurrency } from '@/src/lib/utils';\nimport { ChevronDown, Globe } from 'lucide-react';\nimport { useState } from 'react';\n\nconst useSummaryResults = (estimations: CostCalculatorEstimation[]) => {\n if (estimations.length < 2) {\n return {\n currency: null,\n costsPerCountry: [],\n employeesCost: null,\n };\n }\n const currency = estimations[0]?.employer_currency_costs.currency;\n const costsPerCountry = estimations.reduce(\n (acc, estimation) => {\n const countryName = estimation.country.name;\n\n acc[countryName] = {\n country: estimation.country,\n monthlyTotal:\n (acc[countryName]?.monthlyTotal || 0) +\n estimation.employer_currency_costs.monthly_total,\n annualTotal:\n (acc[countryName]?.annualTotal || 0) +\n estimation.employer_currency_costs.annual_total,\n };\n\n return acc;\n },\n {} as Record<\n string,\n {\n country: (typeof estimations)[0]['country'];\n monthlyTotal: number;\n annualTotal: number;\n }\n >,\n );\n\n const groupedCostsPerCountry = Object.values(costsPerCountry).map(\n ({ country, monthlyTotal, annualTotal }) => ({\n country,\n monthlyCost: formatCurrency(monthlyTotal, currency.code),\n annualCost: formatCurrency(annualTotal, currency.code),\n }),\n );\n\n const employeesCost = {\n monthlyTotal: formatCurrency(\n estimations.reduce((acc, estimation) => {\n return acc + estimation.employer_currency_costs.monthly_total;\n }, 0),\n currency.code,\n ),\n annualTotal: formatCurrency(\n estimations.reduce((acc, estimation) => {\n return acc + estimation.employer_currency_costs.annual_total;\n }, 0),\n currency.code,\n ),\n };\n return { currency, costsPerCountry: groupedCostsPerCountry, employeesCost };\n};\n\nconst SummaryHeader = ({\n currency,\n title,\n}: {\n currency: Currency;\n title: string;\n}) => {\n return (\n <div className='RemoteFlows__SummaryResults__Header flex items-center justify-between w-full'>\n <div className='RemoteFlows__SummaryHeader__Container flex flex-row items-center gap-6'>\n <div className='RemoteFlows__SummaryHeader__IconContainer flex h-12 w-12 items-center justify-center rounded-lg bg-[#F4F4F5]'>\n <Globe className='RemoteFlows__SummaryHeader__Icon h-6 w-6 text-[#000000]' />\n </div>\n <div className='RemoteFlows__SummaryHeader__Content space-y-1'>\n <h2 className='RemoteFlows__SummaryHeader__Title text-lg font-medium leading-none text-[#181818]'>\n {title}\n </h2>\n <p className='RemoteFlows__SummaryHeader__Currency text-xs text-[#71717A]'>\n Employer billing currency: {currency.code}\n </p>\n </div>\n </div>\n </div>\n );\n};\n\nconst MultiColumnAccordion = ({\n label,\n columns,\n rows,\n defaultValue = 'accordion',\n className,\n}: {\n label: React.ReactNode;\n columns: string[];\n rows: Array<{\n label: React.ReactNode;\n values: string[];\n }>;\n defaultValue?: string;\n className?: string;\n}) => {\n const gridCols = columns.length === 1 ? 'grid-cols-2' : 'grid-cols-3';\n\n return (\n <Accordion\n type='single'\n collapsible\n defaultValue={defaultValue}\n className={cn(\n 'RemoteFlows__SummaryResults__MultiColumnAccordion w-full',\n className,\n )}\n >\n <AccordionItem\n value={defaultValue}\n className='RemoteFlows__SummaryResults__AccordionItem border-none'\n >\n <AccordionTrigger className='RemoteFlows__SummaryResults__AccordionTrigger hover:no-underline px-0 py-3 [&>svg]:hidden group'>\n <div\n className={cn(\n 'RemoteFlows__SummaryResults__AccordionHeader grid items-center w-full',\n gridCols,\n )}\n >\n <div className='RemoteFlows__SummaryResults__AccordionHeader__LabelContainer flex items-center gap-2'>\n {label}\n <ChevronDown className='RemoteFlows__SummaryResults__ChevronDown h-4 w-4 text-muted-foreground transition-transform group-data-[state=open]:rotate-180' />\n </div>\n {columns.length === 1 ? (\n <span className='RemoteFlows__SummaryResults__ColumnHeader text-xs text-[#27272A] text-right'>\n {columns[0]}\n </span>\n ) : (\n columns.map((column, index) => (\n <span\n key={index}\n className='RemoteFlows__SummaryResults__ColumnHeader text-xs text-[#27272A] text-right'\n >\n {column}\n </span>\n ))\n )}\n </div>\n </AccordionTrigger>\n\n <AccordionContent className='RemoteFlows__SummaryResults__AccordionContent px-0 pb-4'>\n <div className='RemoteFlows__SummaryResults__AccordionRows space-y-3'>\n {rows.map((row, index) => (\n <div\n key={index}\n className={cn(\n 'RemoteFlows__SummaryResults__AccordionRow grid items-center',\n gridCols,\n )}\n >\n <div className='flex items-center gap-2'>{row.label}</div>\n {columns.length === 1 ? (\n <span className='RemoteFlows__SummaryResults__RowValue text-sm text-[#09090B] text-right'>\n {row.values[0]}\n </span>\n ) : (\n row.values.map((value, valueIndex) => (\n <span\n key={valueIndex}\n className='RemoteFlows__SummaryResults__RowValue text-sm text-[#09090B] text-right'\n >\n {value}\n </span>\n ))\n )}\n </div>\n ))}\n </div>\n </AccordionContent>\n </AccordionItem>\n </Accordion>\n );\n};\n\nconst CostForAllEmployees = ({\n employeesCost,\n}: {\n employeesCost: { monthlyTotal: string; annualTotal: string };\n}) => {\n return (\n <MultiColumnAccordion\n label={\n <span className='RemoteFlows__CostForAllEmployees__Label text-sm font-medium text-[#0F172A]'>\n Cost for all employees\n </span>\n }\n columns={['Total cost']}\n rows={[\n {\n label: (\n <>\n <span className='RemoteFlows__CostForAllEmployees__Bullet w-1 h-1 bg-[#09090B] rounded-full flex-shrink-0' />\n <span className='RemoteFlows__CostForAllEmployees__MonthlyLabel text-sm text-[#09090B]'>\n Monthly cost\n </span>\n </>\n ),\n values: [employeesCost.monthlyTotal],\n },\n {\n label: (\n <>\n <span className='RemoteFlows__CostForAllEmployees__Bullet w-1 h-1 bg-[#09090B] rounded-full flex-shrink-0' />\n <span className='RemoteFlows__CostForAllEmployees__AnnualLabel text-sm text-[#09090B]'>\n Annual cost\n </span>\n </>\n ),\n values: [employeesCost.annualTotal],\n },\n ]}\n defaultValue='cost-breakdown'\n />\n );\n};\n\nconst CostsPerCountry = ({\n costsPerCountry,\n}: {\n costsPerCountry: Array<{\n country: { name: string };\n monthlyCost: string;\n annualCost: string;\n }>;\n}) => {\n return (\n <MultiColumnAccordion\n label={\n <span className='RemoteFlows__CostsPerCountry__Label text-sm font-medium text-[#0F172A]'>\n Cost per country\n </span>\n }\n columns={['Monthly cost', 'Annual cost']}\n rows={costsPerCountry.map((cost) => ({\n label: (\n <>\n <span className='RemoteFlows__CostsPerCountry__Bullet w-1 h-1 bg-[#09090B] rounded-full flex-shrink-0' />\n <span className='RemoteFlows__CostsPerCountry__CountryName text-sm text-[#09090B]'>\n {cost.country.name}\n </span>\n </>\n ),\n values: [cost.monthlyCost, cost.annualCost],\n }))}\n defaultValue='country-breakdown'\n />\n );\n};\n\ntype SummaryResultsProps = {\n /**\n * Array of employments to compare costs for.\n * 2 estimations required for the component to render\n */\n estimations: CostCalculatorEstimation[];\n};\n\n/**\n * Displays a summary comparison of costs across multiple estimations.\n * The component will return null if you pass less than 2 estimations.\n */\nexport const SummaryResults = ({ estimations }: SummaryResultsProps) => {\n const { currency, costsPerCountry, employeesCost } =\n useSummaryResults(estimations);\n\n const [accordionValue, setAccordionValue] = useState('summary');\n\n if (\n !currency ||\n costsPerCountry.length === 0 ||\n Object.keys(employeesCost).length === 0\n ) {\n return null;\n }\n\n return (\n <Card className='RemoteFlows__SummaryResults__Card p-10'>\n <Accordion\n type='single'\n collapsible\n defaultValue={accordionValue}\n onValueChange={setAccordionValue}\n className='RemoteFlows__SummaryResults__Accordion w-full'\n >\n <AccordionItem\n value='summary'\n className='RemoteFlows__SummaryResults__AccordionItem border-border'\n >\n <div\n className={cn(\n 'RemoteFlows__SummaryResults__AccordionTriggerContainer',\n {\n RemoteFlows__Separator: accordionValue === 'summary',\n },\n )}\n >\n <AccordionTrigger\n iconClassName='size-6'\n className='RemoteFlows__SummaryResults__MainAccordionTrigger hover:no-underline px-0 py-4'\n >\n <SummaryHeader currency={currency} title='Summary Overview' />\n </AccordionTrigger>\n </div>\n <AccordionContent className='RemoteFlows__SummaryResults__MainAccordionContent px-0 pb-4 mt-6'>\n <div className='RemoteFlows__Separator'>\n <CostForAllEmployees employeesCost={employeesCost} />\n </div>\n <div className='RemoteFlows__SummaryResults__CostsPerCountryContainer mt-6'>\n <CostsPerCountry costsPerCountry={costsPerCountry} />\n </div>\n </AccordionContent>\n </AccordionItem>\n </Accordion>\n </Card>\n );\n};\n"],"mappings":"4LAUA,OAAS,eAAAA,EAAa,SAAAC,MAAa,eACnC,OAAS,YAAAC,MAAgB,QAyEf,OA6HE,YAAAC,EA7HF,OAAAC,EAMA,QAAAC,MANA,oBAvEV,IAAMC,EAAoBC,EAACC,GAA4C,CACrE,GAAIA,EAAY,OAAS,EACvB,MAAO,CACL,SAAU,KACV,gBAAiB,CAAC,EAClB,cAAe,IACjB,EAEF,IAAMC,EAAWD,EAAY,CAAC,GAAG,wBAAwB,SACnDE,EAAkBF,EAAY,OAClC,CAACG,EAAKC,IAAe,CACnB,IAAMC,EAAcD,EAAW,QAAQ,KAEvC,OAAAD,EAAIE,CAAW,EAAI,CACjB,QAASD,EAAW,QACpB,cACGD,EAAIE,CAAW,GAAG,cAAgB,GACnCD,EAAW,wBAAwB,cACrC,aACGD,EAAIE,CAAW,GAAG,aAAe,GAClCD,EAAW,wBAAwB,YACvC,EAEOD,CACT,EACA,CAAC,CAQH,EAEMG,EAAyB,OAAO,OAAOJ,CAAe,EAAE,IAC5D,CAAC,CAAE,QAAAK,EAAS,aAAAC,EAAc,YAAAC,CAAY,KAAO,CAC3C,QAAAF,EACA,YAAaG,EAAeF,EAAcP,EAAS,IAAI,EACvD,WAAYS,EAAeD,EAAaR,EAAS,IAAI,CACvD,EACF,EAEMU,EAAgB,CACpB,aAAcD,EACZV,EAAY,OAAO,CAACG,EAAKC,IAChBD,EAAMC,EAAW,wBAAwB,cAC/C,CAAC,EACJH,EAAS,IACX,EACA,YAAaS,EACXV,EAAY,OAAO,CAACG,EAAKC,IAChBD,EAAMC,EAAW,wBAAwB,aAC/C,CAAC,EACJH,EAAS,IACX,CACF,EACA,MAAO,CAAE,SAAAA,EAAU,gBAAiBK,EAAwB,cAAAK,CAAc,CAC5E,EA1D0B,qBA4DpBC,EAAgBb,EAAA,CAAC,CACrB,SAAAE,EACA,MAAAY,CACF,IAKIjB,EAAC,OAAI,UAAU,+EACb,SAAAC,EAAC,OAAI,UAAU,yEACb,UAAAD,EAAC,OAAI,UAAU,+GACb,SAAAA,EAACkB,EAAA,CAAM,UAAU,0DAA0D,EAC7E,EACAjB,EAAC,OAAI,UAAU,gDACb,UAAAD,EAAC,MAAG,UAAU,oFACX,SAAAiB,EACH,EACAhB,EAAC,KAAE,UAAU,8DAA8D,wCAC7CI,EAAS,MACvC,GACF,GACF,EACF,EAtBkB,iBA0BhBc,EAAuBhB,EAAA,CAAC,CAC5B,MAAAiB,EACA,QAAAC,EACA,KAAAC,EACA,aAAAC,EAAe,YACf,UAAAC,CACF,IASM,CACJ,IAAMC,EAAWJ,EAAQ,SAAW,EAAI,cAAgB,cAExD,OACErB,EAAC0B,EAAA,CACC,KAAK,SACL,YAAW,GACX,aAAcH,EACd,UAAWI,EACT,2DACAH,CACF,EAEA,SAAAvB,EAAC2B,EAAA,CACC,MAAOL,EACP,UAAU,yDAEV,UAAAvB,EAAC6B,EAAA,CAAiB,UAAU,kGAC1B,SAAA5B,EAAC,OACC,UAAW0B,EACT,wEACAF,CACF,EAEA,UAAAxB,EAAC,OAAI,UAAU,uFACZ,UAAAmB,EACDpB,EAAC8B,EAAA,CAAY,UAAU,iIAAiI,GAC1J,EACCT,EAAQ,SAAW,EAClBrB,EAAC,QAAK,UAAU,8EACb,SAAAqB,EAAQ,CAAC,EACZ,EAEAA,EAAQ,IAAI,CAACU,EAAQC,IACnBhC,EAAC,QAEC,UAAU,8EAET,SAAA+B,GAHIC,CAIP,CACD,GAEL,EACF,EAEAhC,EAACiC,EAAA,CAAiB,UAAU,0DAC1B,SAAAjC,EAAC,OAAI,UAAU,uDACZ,SAAAsB,EAAK,IAAI,CAACY,EAAKF,IACd/B,EAAC,OAEC,UAAW0B,EACT,8DACAF,CACF,EAEA,UAAAzB,EAAC,OAAI,UAAU,0BAA2B,SAAAkC,EAAI,MAAM,EACnDb,EAAQ,SAAW,EAClBrB,EAAC,QAAK,UAAU,0EACb,SAAAkC,EAAI,OAAO,CAAC,EACf,EAEAA,EAAI,OAAO,IAAI,CAACC,EAAOC,IACrBpC,EAAC,QAEC,UAAU,0EAET,SAAAmC,GAHIC,CAIP,CACD,IAnBEJ,CAqBP,CACD,EACH,EACF,GACF,EACF,CAEJ,EA5F6B,wBA8FvBK,EAAsBlC,EAAA,CAAC,CAC3B,cAAAY,CACF,IAIIf,EAACmB,EAAA,CACC,MACEnB,EAAC,QAAK,UAAU,6EAA6E,kCAE7F,EAEF,QAAS,CAAC,YAAY,EACtB,KAAM,CACJ,CACE,MACEC,EAAAF,EAAA,CACE,UAAAC,EAAC,QAAK,UAAU,2FAA2F,EAC3GA,EAAC,QAAK,UAAU,wEAAwE,wBAExF,GACF,EAEF,OAAQ,CAACe,EAAc,YAAY,CACrC,EACA,CACE,MACEd,EAAAF,EAAA,CACE,UAAAC,EAAC,QAAK,UAAU,2FAA2F,EAC3GA,EAAC,QAAK,UAAU,uEAAuE,uBAEvF,GACF,EAEF,OAAQ,CAACe,EAAc,WAAW,CACpC,CACF,EACA,aAAa,iBACf,EAtCwB,uBA0CtBuB,EAAkBnC,EAAA,CAAC,CACvB,gBAAAG,CACF,IAQIN,EAACmB,EAAA,CACC,MACEnB,EAAC,QAAK,UAAU,yEAAyE,4BAEzF,EAEF,QAAS,CAAC,eAAgB,aAAa,EACvC,KAAMM,EAAgB,IAAKiC,IAAU,CACnC,MACEtC,EAAAF,EAAA,CACE,UAAAC,EAAC,QAAK,UAAU,uFAAuF,EACvGA,EAAC,QAAK,UAAU,mEACb,SAAAuC,EAAK,QAAQ,KAChB,GACF,EAEF,OAAQ,CAACA,EAAK,YAAaA,EAAK,UAAU,CAC5C,EAAE,EACF,aAAa,oBACf,EA7BoB,mBA6CXC,EAAiBrC,EAAA,CAAC,CAAE,YAAAC,CAAY,IAA2B,CACtE,GAAM,CAAE,SAAAC,EAAU,gBAAAC,EAAiB,cAAAS,CAAc,EAC/Cb,EAAkBE,CAAW,EAEzB,CAACqC,EAAgBC,CAAiB,EAAIC,EAAS,SAAS,EAE9D,MACE,CAACtC,GACDC,EAAgB,SAAW,GAC3B,OAAO,KAAKS,CAAa,EAAE,SAAW,EAE/B,KAIPf,EAAC4C,EAAA,CAAK,UAAU,yCACd,SAAA5C,EAAC0B,EAAA,CACC,KAAK,SACL,YAAW,GACX,aAAce,EACd,cAAeC,EACf,UAAU,gDAEV,SAAAzC,EAAC2B,EAAA,CACC,MAAM,UACN,UAAU,2DAEV,UAAA5B,EAAC,OACC,UAAW2B,EACT,yDACA,CACE,uBAAwBc,IAAmB,SAC7C,CACF,EAEA,SAAAzC,EAAC6B,EAAA,CACC,cAAc,SACd,UAAU,iFAEV,SAAA7B,EAACgB,EAAA,CAAc,SAAUX,EAAU,MAAM,mBAAmB,EAC9D,EACF,EACAJ,EAACgC,EAAA,CAAiB,UAAU,mEAC1B,UAAAjC,EAAC,OAAI,UAAU,yBACb,SAAAA,EAACqC,EAAA,CAAoB,cAAetB,EAAe,EACrD,EACAf,EAAC,OAAI,UAAU,6DACb,SAAAA,EAACsC,EAAA,CAAgB,gBAAiBhC,EAAiB,EACrD,GACF,GACF,EACF,EACF,CAEJ,EAtD8B","names":["ChevronDown","Globe","useState","Fragment","jsx","jsxs","useSummaryResults","__name","estimations","currency","costsPerCountry","acc","estimation","countryName","groupedCostsPerCountry","country","monthlyTotal","annualTotal","formatCurrency","employeesCost","SummaryHeader","title","Globe","MultiColumnAccordion","label","columns","rows","defaultValue","className","gridCols","Accordion","cn","AccordionItem","AccordionTrigger","ChevronDown","column","index","AccordionContent","row","value","valueIndex","CostForAllEmployees","CostsPerCountry","cost","SummaryResults","accordionValue","setAccordionValue","useState","Card"]}
@@ -1,2 +1,2 @@
1
- import{b as t}from"./chunk-AQHD46DV.js";import{a as r}from"./chunk-P37U34EQ.js";import{jsx as n}from"react/jsx-runtime";function p({helpCenter:e}){return e?n(t,{zendeskId:e.id,children:e.callToAction}):null}r(p,"HelpCenter");export{p as a};
2
- //# sourceMappingURL=chunk-3WBZPCT5.js.map
1
+ import{b as t}from"./chunk-DSH4GKP3.js";import{a as r}from"./chunk-P37U34EQ.js";import{jsx as n}from"react/jsx-runtime";function p({helpCenter:e}){return e?n(t,{zendeskId:e.id,children:e.callToAction}):null}r(p,"HelpCenter");export{p as a};
2
+ //# sourceMappingURL=chunk-WNDVXLAQ.js.map
@@ -1,2 +1,2 @@
1
- import{b as p}from"./chunk-H2OBH7SK.js";import{a as g}from"./chunk-GCWEOZBS.js";import{a as n}from"./chunk-P37U34EQ.js";import{useState as y,useRef as E,useEffect as R}from"react";import{Upload as k,X as B}from"lucide-react";import{jsx as t,jsxs as o}from"react/jsx-runtime";var M=n(l=>l?l.split(",").map(m=>m.trim().toUpperCase()).join(", "):null,"getAcceptedFormats");function L({onChange:l,className:m,multiple:r,accept:f,files:i,id:h}){let[a,c]=y(i||[]),d=E(null);R(()=>{i&&i.length>0&&c(i)},[i]);let v=n(e=>{e.preventDefault(),d.current?.click()},"handleClick"),N=n(e=>{if(e.target.files&&e.target.files.length>0){let s=Array.from(e.target.files);c([...a,...s]),l([...a,...s])}},"handleChange"),F=n(e=>{c(s=>s.filter(C=>C.name!==e.name)),l(a.filter(s=>s.name!==e.name))},"onRemoveFile"),u=M(f);return o("div",{className:g("flex flex-col items-start gap-4",m),children:[t("input",{type:"file",ref:d,id:h,onChange:N,className:"hidden","aria-label":"File upload",multiple:r,accept:f}),o(p,{type:"button",onClick:v,className:"gap-2",children:[t(k,{className:"h-4 w-4"}),"Choose File"]}),u&&o("div",{className:"text-sm text-gray-600",children:["Accepted formats:"," ",t("span",{className:"font-medium",children:u})]}),a.length===0&&t("div",{className:"text-sm",children:r?t("span",{className:"font-medium",children:"No files selected. You can select multiple files"}):t("span",{className:"font-medium",children:"No file selected."})}),a.length>0&&a.map((e,s)=>o("div",{className:"text-sm flex items-center gap-2",children:["Selected file: ",t("span",{className:"font-medium",children:e.name})," (",Math.round(e.size/1024)," KB)",t(p,{type:"button",variant:"ghost",onClick:()=>F(e),children:t(B,{})})]},s))]})}n(L,"FileUploader");export{L as a};
2
- //# sourceMappingURL=chunk-OVTH3ZHO.js.map
1
+ import{b as p}from"./chunk-YUYHK6WD.js";import{a as g}from"./chunk-J63QA2JC.js";import{a as n}from"./chunk-P37U34EQ.js";import{useState as y,useRef as E,useEffect as R}from"react";import{Upload as k,X as B}from"lucide-react";import{jsx as t,jsxs as o}from"react/jsx-runtime";var M=n(l=>l?l.split(",").map(m=>m.trim().toUpperCase()).join(", "):null,"getAcceptedFormats");function L({onChange:l,className:m,multiple:r,accept:f,files:i,id:h}){let[a,c]=y(i||[]),d=E(null);R(()=>{i&&i.length>0&&c(i)},[i]);let v=n(e=>{e.preventDefault(),d.current?.click()},"handleClick"),N=n(e=>{if(e.target.files&&e.target.files.length>0){let s=Array.from(e.target.files);c([...a,...s]),l([...a,...s])}},"handleChange"),F=n(e=>{c(s=>s.filter(C=>C.name!==e.name)),l(a.filter(s=>s.name!==e.name))},"onRemoveFile"),u=M(f);return o("div",{className:g("flex flex-col items-start gap-4",m),children:[t("input",{type:"file",ref:d,id:h,onChange:N,className:"hidden","aria-label":"File upload",multiple:r,accept:f}),o(p,{type:"button",onClick:v,className:"gap-2",children:[t(k,{className:"h-4 w-4"}),"Choose File"]}),u&&o("div",{className:"text-sm text-gray-600",children:["Accepted formats:"," ",t("span",{className:"font-medium",children:u})]}),a.length===0&&t("div",{className:"text-sm",children:r?t("span",{className:"font-medium",children:"No files selected. You can select multiple files"}):t("span",{className:"font-medium",children:"No file selected."})}),a.length>0&&a.map((e,s)=>o("div",{className:"text-sm flex items-center gap-2",children:["Selected file: ",t("span",{className:"font-medium",children:e.name})," (",Math.round(e.size/1024)," KB)",t(p,{type:"button",variant:"ghost",onClick:()=>F(e),children:t(B,{})})]},s))]})}n(L,"FileUploader");export{L as a};
2
+ //# sourceMappingURL=chunk-WQSCAHR6.js.map
@@ -0,0 +1,2 @@
1
+ import{A as r}from"./chunk-HBCFJ6PK.js";import{d as o}from"./chunk-KQPDXXG3.js";import{a as e}from"./chunk-P37U34EQ.js";import{useQuery as l}from"@tanstack/react-query";var f=e(({employmentId:t,queryParams:m})=>{let{client:n}=o();return l({queryKey:["employment",t],retry:!1,queryFn:e(()=>r({client:n,headers:{Authorization:""},path:{employment_id:t},query:m}),"queryFn"),enabled:!!t,select:e(({data:s})=>s?.data?.employment,"select")})},"useEmploymentQuery");export{f as a};
2
+ //# sourceMappingURL=chunk-WUCPJPDB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/common/api/employment.ts"],"sourcesContent":["import { getShowEmployment, GetShowEmploymentResponse } from '@/src/client';\nimport { useClient } from '@/src/context';\nimport { $TSFixMe } from '@/src/types/remoteFlows';\nimport { useQuery, UseQueryResult } from '@tanstack/react-query';\nimport { Client } from '@/src/client/client';\n\n/**\n * Hook to retrieve employment details for a specific employment ID.\n *\n * @param {Object} params - The parameters for the query.\n * @param {string} params.employmentId - The ID of the employment to fetch details for.\n * @returns {UseQueryResult<any, unknown>} - The result of the query, including the employment details.\n */\nexport const useEmploymentQuery = ({\n employmentId,\n queryParams,\n}: {\n employmentId: string;\n queryParams?: $TSFixMe; // TODO: we need to generate openapi-ts types but it's broken at the moment\n}): UseQueryResult<\n GetShowEmploymentResponse['data']['employment'],\n unknown\n> => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['employment', employmentId],\n retry: false,\n queryFn: () => {\n return getShowEmployment({\n client: client as Client,\n headers: {\n Authorization: ``,\n },\n path: { employment_id: employmentId },\n query: queryParams,\n });\n },\n enabled: !!employmentId,\n select: ({ data }) => data?.data?.employment,\n });\n};\n"],"mappings":"wHAGA,OAAS,YAAAA,MAAgC,wBAUlC,IAAMC,EAAqBC,EAAA,CAAC,CACjC,aAAAC,EACA,YAAAC,CACF,IAMK,CACH,GAAM,CAAE,OAAAC,CAAO,EAAIC,EAAU,EAC7B,OAAOC,EAAS,CACd,SAAU,CAAC,aAAcJ,CAAY,EACrC,MAAO,GACP,QAASD,EAAA,IACAM,EAAkB,CACvB,OAAQH,EACR,QAAS,CACP,cAAe,EACjB,EACA,KAAM,CAAE,cAAeF,CAAa,EACpC,MAAOC,CACT,CAAC,EARM,WAUT,QAAS,CAAC,CAACD,EACX,OAAQD,EAAA,CAAC,CAAE,KAAAO,CAAK,IAAMA,GAAM,MAAM,WAA1B,SACV,CAAC,CACH,EA3BkC","names":["useQuery","useEmploymentQuery","__name","employmentId","queryParams","client","useClient","useQuery","getShowEmployment","data"]}
@@ -1,2 +1,2 @@
1
- import{a as e}from"./chunk-25III46F.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 d({onSubmit:m}){let{terminationBag:o}=a(),r=i(async t=>{let n=await o?.parseFormValues(t);await m?.(n),o?.next()},"handleSubmit");return s(e,{defaultValues:o.fieldValues,onSubmit:r})}i(d,"PaidTimeOffForm");export{d as a};
2
- //# sourceMappingURL=chunk-ZCZX54AU.js.map
1
+ import{a as e}from"./chunk-R4LTPU22.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 d({onSubmit:m}){let{terminationBag:o}=a(),r=i(async t=>{let n=await o?.parseFormValues(t);await m?.(n),o?.next()},"handleSubmit");return s(e,{defaultValues:o.fieldValues,onSubmit:r})}i(d,"PaidTimeOffForm");export{d as a};
2
+ //# sourceMappingURL=chunk-XCYBEX4H.js.map
@@ -1,2 +1,2 @@
1
- import{a as t}from"./chunk-GCWEOZBS.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as a,jsxs as r}from"react/jsx-runtime";function m(n,o,i){return{"x-jsf-presentation":{inputType:"hidden",Component:e(()=>r("div",{className:t("RemoteFlows__InformationStatement",i?.className),children:[a("h3",{className:t("RemoteFlows__InformationStatement__Title"),children:n}),a("p",{className:t("RemoteFlows__InformationStatement__Description"),children:o})]}),"Component")}}}e(m,"createInformationField");function c({title:n,description:o,severity:i}){return{statement:{title:n,description:o,severity:i}}}e(c,"createStatementProperty");export{m as a,c as b};
2
- //# sourceMappingURL=chunk-JIZKHO7L.js.map
1
+ import{a as t}from"./chunk-J63QA2JC.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as a,jsxs as r}from"react/jsx-runtime";function m(n,o,i){return{"x-jsf-presentation":{inputType:"hidden",Component:e(()=>r("div",{className:t("RemoteFlows__InformationStatement",i?.className),children:[a("h3",{className:t("RemoteFlows__InformationStatement__Title"),children:n}),a("p",{className:t("RemoteFlows__InformationStatement__Description"),children:o})]}),"Component")}}}e(m,"createInformationField");function c({title:n,description:o,severity:i}){return{statement:{title:n,description:o,severity:i}}}e(c,"createStatementProperty");export{m as a,c as b};
2
+ //# sourceMappingURL=chunk-XDILBY5Y.js.map
@@ -1,2 +1,2 @@
1
- import{a as o}from"./chunk-MZNUCWQU.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as n}from"react/jsx-runtime";function t({field:m,fieldData:i}){return n(o,{name:m.name,...i,type:"email"})}e(t,"EmailFieldDefault");export{t as a};
2
- //# sourceMappingURL=chunk-H5VA2OWQ.js.map
1
+ import{a as o}from"./chunk-GWR2JBG2.js";import{a as e}from"./chunk-P37U34EQ.js";import{jsx as n}from"react/jsx-runtime";function t({field:m,fieldData:i}){return n(o,{name:m.name,...i,type:"email"})}e(t,"EmailFieldDefault");export{t as a};
2
+ //# sourceMappingURL=chunk-XJDX3ZH6.js.map
@@ -1,2 +1,2 @@
1
- import{b as s}from"./chunk-KSHK3ZPX.js";import{a as r}from"./chunk-GCWEOZBS.js";import{b as u}from"./chunk-KQPDXXG3.js";import{a as n}from"./chunk-P37U34EQ.js";import{jsx as a}from"react/jsx-runtime";function b({children:m,...t}){let{formId:e,costCalculatorBag:i}=s(),{components:l}=u(),o=l?.button;if(!o)throw new Error("Button component not found");return a(o,{...t,type:"submit",className:r("RemoteFlows__CostCalculatorForm__SubmitButton",t.className),form:e,disabled:t.disabled||i?.isSubmitting,children:m})}n(b,"CostCalculatorSubmitButton");export{b as a};
2
- //# sourceMappingURL=chunk-XDZFLJ5F.js.map
1
+ import{b as s}from"./chunk-KSHK3ZPX.js";import{a as r}from"./chunk-J63QA2JC.js";import{b as u}from"./chunk-KQPDXXG3.js";import{a as n}from"./chunk-P37U34EQ.js";import{jsx as a}from"react/jsx-runtime";function b({children:m,...t}){let{formId:e,costCalculatorBag:i}=s(),{components:l}=u(),o=l?.button;if(!o)throw new Error("Button component not found");return a(o,{...t,type:"submit",className:r("RemoteFlows__CostCalculatorForm__SubmitButton",t.className),form:e,disabled:t.disabled||i?.isSubmitting,children:m})}n(b,"CostCalculatorSubmitButton");export{b as a};
2
+ //# sourceMappingURL=chunk-XNRPT3WP.js.map
@@ -1,2 +1,2 @@
1
- import{e as f}from"./chunk-DFJNVGK4.js";import{b as i}from"./chunk-JIZKHO7L.js";import{a as s}from"./chunk-P37U34EQ.js";import{endOfMonth as u,isAfter as d,isBefore as y,parseISO as p,startOfDay as _,setDate as h,isFuture as T,differenceInHours as M,endOfDay as g,differenceInDays as w}from"date-fns";var m={MONTHLY:"monthly",SEMI_MONTHLY:"bi_monthly",BI_WEEKLY:"bi_weekly"};var I={employee_communication:{index:0,name:"employee_communication"},termination_details:{index:1,name:"termination_details"},paid_time_off:{index:2,name:"paid_time_off"},additional_information:{index:3,name:"additional_information"}},O=s(n=>{let e=new Date,t=h(e,15),o=_(e),l=_(t),c=n?.cycle_frequency,a=n?.cycles?.filter(r=>r.input_cutoff_date&&p(r.input_cutoff_date).getMonth()===e.getMonth())?.map(r=>p(r.input_cutoff_date));if(!a?.length)return e;switch(c){case m.MONTHLY:return d(o,a[0])?u(e):e;case m.SEMI_MONTHLY:return d(o,a[1])?u(e):d(o,a[0])&&y(o,l)?t:e;default:return e}},"calculateMinTerminationDate"),v=s(({minTerminationDate:n,isEmployeeInProbationPeriod:e,selectedDate:t})=>{let o=T(n),l=t&&M(g(t),new Date)<48;return t&&w(t,new Date)>=30||!t&&!o?null:o&&!e?i({description:`The next available termination dates are ${f(n)} and later. We've already processed the employee's payments until then.`,severity:"info"}):o&&e?i({description:"This payroll period's cut-off has passed. While you can offboard the employee after the cut-off, their payment may have already processed. If that's the case, we'll try to recover the payment. But if that isn't possible, we'll send you an invoice for the amount.",severity:"info"}):l?i({description:"Requests made with less than 48 hours' notice are subject to changes due to the country-specific offboarding laws and case details. If changes are needed, your specialist will guide you accordingly.",severity:"info"}):i({description:"Termination dates depend on payroll cutoffs, local laws, and case details. We'll aim for your proposed date but it's possible it will need to change. After you submit your request, a specialist will reach out and guide you through the process.",severity:"info"})},"calculateProposedTerminationDateStatement");function E(n,e){return{confidential:"",customer_informed_employee:"",customer_informed_employee_date:"",customer_informed_employee_description:"",personal_email:"",termination_reason:void 0,reason_description:"",termination_reason_files:[],will_challenge_termination:"",will_challenge_termination_description:null,agrees_to_pto_amount:"",agrees_to_pto_amount_notes:null,acknowledge_termination_procedure:!1,additional_comments:"",proposed_termination_date:"",risk_assessment_reasons:[],timesheet_file:void 0,...n,...e?{termination_reason:"cancellation_before_start_date"}:{}}}s(E,"buildInitialValues");export{I as a,O as b,v as c,E as d};
2
- //# sourceMappingURL=chunk-IEX4KZUY.js.map
1
+ import{e as f}from"./chunk-DFJNVGK4.js";import{b as i}from"./chunk-XDILBY5Y.js";import{a as s}from"./chunk-P37U34EQ.js";import{endOfMonth as u,isAfter as d,isBefore as y,parseISO as p,startOfDay as _,setDate as h,isFuture as T,differenceInHours as M,endOfDay as g,differenceInDays as w}from"date-fns";var m={MONTHLY:"monthly",SEMI_MONTHLY:"bi_monthly",BI_WEEKLY:"bi_weekly"};var I={employee_communication:{index:0,name:"employee_communication"},termination_details:{index:1,name:"termination_details"},paid_time_off:{index:2,name:"paid_time_off"},additional_information:{index:3,name:"additional_information"}},O=s(n=>{let e=new Date,t=h(e,15),o=_(e),l=_(t),c=n?.cycle_frequency,a=n?.cycles?.filter(r=>r.input_cutoff_date&&p(r.input_cutoff_date).getMonth()===e.getMonth())?.map(r=>p(r.input_cutoff_date));if(!a?.length)return e;switch(c){case m.MONTHLY:return d(o,a[0])?u(e):e;case m.SEMI_MONTHLY:return d(o,a[1])?u(e):d(o,a[0])&&y(o,l)?t:e;default:return e}},"calculateMinTerminationDate"),v=s(({minTerminationDate:n,isEmployeeInProbationPeriod:e,selectedDate:t})=>{let o=T(n),l=t&&M(g(t),new Date)<48;return t&&w(t,new Date)>=30||!t&&!o?null:o&&!e?i({description:`The next available termination dates are ${f(n)} and later. We've already processed the employee's payments until then.`,severity:"info"}):o&&e?i({description:"This payroll period's cut-off has passed. While you can offboard the employee after the cut-off, their payment may have already processed. If that's the case, we'll try to recover the payment. But if that isn't possible, we'll send you an invoice for the amount.",severity:"info"}):l?i({description:"Requests made with less than 48 hours' notice are subject to changes due to the country-specific offboarding laws and case details. If changes are needed, your specialist will guide you accordingly.",severity:"info"}):i({description:"Termination dates depend on payroll cutoffs, local laws, and case details. We'll aim for your proposed date but it's possible it will need to change. After you submit your request, a specialist will reach out and guide you through the process.",severity:"info"})},"calculateProposedTerminationDateStatement");function E(n,e){return{confidential:"",customer_informed_employee:"",customer_informed_employee_date:"",customer_informed_employee_description:"",personal_email:"",termination_reason:void 0,reason_description:"",termination_reason_files:[],will_challenge_termination:"",will_challenge_termination_description:null,agrees_to_pto_amount:"",agrees_to_pto_amount_notes:null,acknowledge_termination_procedure:!1,additional_comments:"",proposed_termination_date:"",risk_assessment_reasons:[],timesheet_file:void 0,...n,...e?{termination_reason:"cancellation_before_start_date"}:{}}}s(E,"buildInitialValues");export{I as a,O as b,v as c,E as d};
2
+ //# sourceMappingURL=chunk-XSNWW3V4.js.map
@@ -1,2 +1,2 @@
1
- import{a as n}from"./chunk-GCWEOZBS.js";import{a as r}from"./chunk-P37U34EQ.js";import*as o from"@radix-ui/react-accordion";import{ChevronDownIcon as d}from"lucide-react";import{jsx as t,jsxs as s}from"react/jsx-runtime";function l({...i}){return t(o.Root,{"data-slot":"accordion",...i})}r(l,"Accordion");function f({className:i,...e}){return t(o.Item,{"data-slot":"accordion-item",className:n("border-b last:border-b-0",i),...e})}r(f,"AccordionItem");function v({className:i,iconClassName:e,children:c,...a}){return t(o.Header,{className:"flex items-center",children:s(o.Trigger,{"data-slot":"accordion-trigger",className:n("focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180",i),...a,children:[c,t(d,{className:n("text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200 mt-1",e)})]})})}r(v,"AccordionTrigger");function g({className:i,children:e,...c}){return t(o.Content,{"data-slot":"accordion-content",className:"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm",...c,children:t("div",{className:n("pt-0 pb-4",i),children:e})})}r(g,"AccordionContent");export{l as a,f as b,v as c,g as d};
2
- //# sourceMappingURL=chunk-5IHRUTHD.js.map
1
+ import{a as n}from"./chunk-J63QA2JC.js";import{a as r}from"./chunk-P37U34EQ.js";import*as o from"@radix-ui/react-accordion";import{ChevronDownIcon as d}from"lucide-react";import{jsx as t,jsxs as s}from"react/jsx-runtime";function l({...i}){return t(o.Root,{"data-slot":"accordion",...i})}r(l,"Accordion");function f({className:i,...e}){return t(o.Item,{"data-slot":"accordion-item",className:n("border-b last:border-b-0",i),...e})}r(f,"AccordionItem");function v({className:i,iconClassName:e,children:c,...a}){return t(o.Header,{className:"flex items-center",children:s(o.Trigger,{"data-slot":"accordion-trigger",className:n("focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180",i),...a,children:[c,t(d,{className:n("text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200 mt-1",e)})]})})}r(v,"AccordionTrigger");function g({className:i,children:e,...c}){return t(o.Content,{"data-slot":"accordion-content",className:"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm",...c,children:t("div",{className:n("pt-0 pb-4",i),children:e})})}r(g,"AccordionContent");export{l as a,f as b,v as c,g as d};
2
+ //# sourceMappingURL=chunk-XZLVP6EN.js.map
@@ -1,2 +1,2 @@
1
- import{a as n}from"./chunk-WR5DSTKP.js";import{a}from"./chunk-CAV5SWVS.js";import{a as r}from"./chunk-MJQUJZCD.js";import{a as t}from"./chunk-4DLVQKMI.js";import{a as f}from"./chunk-SNMKN5AK.js";import{a as e}from"./chunk-XVU376WG.js";import{a as p}from"./chunk-ZCZX54AU.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-W6H74RYW.js.map
1
+ import{a as n}from"./chunk-WR5DSTKP.js";import{a}from"./chunk-FJ5RHLSJ.js";import{a as r}from"./chunk-MJQUJZCD.js";import{a as t}from"./chunk-A7XZA2M3.js";import{a as f}from"./chunk-PCNRQKOW.js";import{a as e}from"./chunk-I4IRP6BK.js";import{a as p}from"./chunk-XCYBEX4H.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-Y4JWDS3R.js.map
@@ -1,2 +1,2 @@
1
- import{a as F}from"./chunk-3WBZPCT5.js";import{a as u}from"./chunk-YHIADGM3.js";import{i as p,j as l,k as i,l as a,m as c}from"./chunk-3QNS3IZB.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-FFHBDVTJ.js.map
1
+ import{a as F}from"./chunk-WNDVXLAQ.js";import{a as u}from"./chunk-RBJ5MFDE.js";import{i as p,j as l,k as i,l as a,m as c}from"./chunk-H5CNWMEM.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-Y7GS2L2A.js.map
@@ -1,2 +1,2 @@
1
- import{a as s}from"./chunk-KRFK2QRV.js";import{b as e}from"./chunk-Q3ALCPJN.js";import{j as n}from"./chunk-GCWEOZBS.js";import{a as t}from"./chunk-P37U34EQ.js";import{jsx as f}from"react/jsx-runtime";function b({onSubmit:m,onSuccess:d,onError:c}){let{contractorOnboardingBag:o}=e(),p=t(async i=>{try{let a=await o.parseFormValues(i);await m?.(a);let r=await o.onSubmit(i);if(r?.data){await d?.(r?.data),o?.next();return}}catch(a){let r=n(a,o.meta?.fields?.basic_information);c?.(r)}},"handleSubmit"),l=o.stepState.values?.basic_information||o.initialValues.basic_information;return f(s,{defaultValues:l,onSubmit:p})}t(b,"BasicInformationStep");export{b as a};
2
- //# sourceMappingURL=chunk-JZPN7DHV.js.map
1
+ import{a as s}from"./chunk-EVOTA5WO.js";import{b as e}from"./chunk-Q3ALCPJN.js";import{j as n}from"./chunk-J63QA2JC.js";import{a as t}from"./chunk-P37U34EQ.js";import{jsx as f}from"react/jsx-runtime";function b({onSubmit:m,onSuccess:d,onError:c}){let{contractorOnboardingBag:o}=e(),p=t(async i=>{try{let a=await o.parseFormValues(i);await m?.(a);let r=await o.onSubmit(i);if(r?.data){await d?.(r?.data),o?.next();return}}catch(a){let r=n(a,o.meta?.fields?.basic_information);c?.(r)}},"handleSubmit"),l=o.stepState.values?.basic_information||o.initialValues.basic_information;return f(s,{defaultValues:l,onSubmit:p})}t(b,"BasicInformationStep");export{b as a};
2
+ //# sourceMappingURL=chunk-YDIPBC4E.js.map