@remoteoss/remote-flows 0.20.0 → 0.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (287) hide show
  1. package/README.md +14 -13
  2. package/dist/{chunk-MGOT272R.js → chunk-2GCMLKO2.js} +2 -2
  3. package/dist/{chunk-GS5NA664.js → chunk-2ZT2TLPE.js} +2 -2
  4. package/dist/chunk-33L3KAS5.js +2 -0
  5. package/dist/chunk-33L3KAS5.js.map +1 -0
  6. package/dist/{chunk-6TSSHWBM.js → chunk-3RAEG64W.js} +2 -2
  7. package/dist/chunk-4Q4OTL2P.js +2 -0
  8. package/dist/chunk-4Q4OTL2P.js.map +1 -0
  9. package/dist/chunk-4ULJIT4W.js +2 -0
  10. package/dist/chunk-4ULJIT4W.js.map +1 -0
  11. package/dist/{chunk-BITHG5X4.js → chunk-5EP45OQV.js} +2 -2
  12. package/dist/{chunk-4KA5AP7X.js → chunk-6F4YCVZE.js} +2 -2
  13. package/dist/{chunk-RNNZ5ZKE.js → chunk-7YVCTEDW.js} +2 -2
  14. package/dist/chunk-AIN5YFNL.js +2 -0
  15. package/dist/{chunk-6O6CNAMF.js → chunk-B25LAMRX.js} +2 -2
  16. package/dist/chunk-BR7CQPJA.js +2 -0
  17. package/dist/chunk-BR7CQPJA.js.map +1 -0
  18. package/dist/{chunk-A42AGGNH.js → chunk-BRENSYKE.js} +2 -2
  19. package/dist/chunk-C4VLCUWK.js +2 -0
  20. package/dist/chunk-C4VLCUWK.js.map +1 -0
  21. package/dist/{chunk-GGXKORRZ.js → chunk-C737VJYN.js} +2 -2
  22. package/dist/{chunk-GGXKORRZ.js.map → chunk-C737VJYN.js.map} +1 -1
  23. package/dist/chunk-CSHVGHQR.js +2 -0
  24. package/dist/chunk-CSHVGHQR.js.map +1 -0
  25. package/dist/chunk-DKFUZO5P.js +1 -0
  26. package/dist/chunk-DKFUZO5P.js.map +1 -0
  27. package/dist/{chunk-PLWXRCGQ.js → chunk-DS565IWX.js} +2 -2
  28. package/dist/{chunk-76VMCRDE.js → chunk-DZ4UXMF3.js} +2 -2
  29. package/dist/{chunk-EGVWFZBR.js → chunk-E5IJ2M63.js} +2 -2
  30. package/dist/{chunk-LCIBPBLY.js → chunk-FE5CZPR7.js} +2 -2
  31. package/dist/{chunk-QIN5BLVI.js → chunk-FS27V36X.js} +2 -2
  32. package/dist/{chunk-ATC4YO7K.js → chunk-GETLSRVM.js} +2 -2
  33. package/dist/{chunk-K4VWUMNO.js → chunk-GYX4DKK2.js} +2 -2
  34. package/dist/{chunk-ZTVYWMBY.js → chunk-HTCONTKZ.js} +2 -2
  35. package/dist/{chunk-FCRW2EG3.js → chunk-I3O6X5XB.js} +2 -2
  36. package/dist/{chunk-5CGII7CZ.js → chunk-I5X2IPYD.js} +1 -1
  37. package/dist/chunk-I5X2IPYD.js.map +1 -0
  38. package/dist/chunk-IQRBTXZ4.js +2 -0
  39. package/dist/chunk-IQRBTXZ4.js.map +1 -0
  40. package/dist/{chunk-5T25IMZ3.js → chunk-JDK2CKH7.js} +2 -2
  41. package/dist/{chunk-MDQ6YJMV.js → chunk-KRL5QCOA.js} +2 -2
  42. package/dist/{chunk-OZCQ6AOF.js → chunk-LB35HMUG.js} +2 -2
  43. package/dist/{chunk-RUMP764Z.js → chunk-LE3JY644.js} +2 -2
  44. package/dist/chunk-LTJBNOLY.js +2 -0
  45. package/dist/chunk-LTJBNOLY.js.map +1 -0
  46. package/dist/{chunk-756MHC7A.js → chunk-M3B3ASM4.js} +2 -2
  47. package/dist/chunk-MISHDUB2.js +2 -0
  48. package/dist/chunk-MISHDUB2.js.map +1 -0
  49. package/dist/chunk-NCS6X3XL.js +2 -0
  50. package/dist/chunk-NCS6X3XL.js.map +1 -0
  51. package/dist/{chunk-BP2JYRI7.js → chunk-NDR27PRO.js} +2 -2
  52. package/dist/chunk-PBXOHZN5.js +2 -0
  53. package/dist/chunk-PBXOHZN5.js.map +1 -0
  54. package/dist/chunk-PNET2M7R.js +2 -0
  55. package/dist/chunk-PNET2M7R.js.map +1 -0
  56. package/dist/{chunk-CVDZ35YA.js → chunk-QBECPUJM.js} +2 -2
  57. package/dist/chunk-QP36XXCQ.js +2 -0
  58. package/dist/chunk-QP36XXCQ.js.map +1 -0
  59. package/dist/chunk-R2MHAPWD.js +2 -0
  60. package/dist/chunk-R2MHAPWD.js.map +1 -0
  61. package/dist/{chunk-JB6XA3P6.js → chunk-R52D2I6X.js} +2 -2
  62. package/dist/{chunk-A76UTPRW.js → chunk-TGU24WSW.js} +2 -2
  63. package/dist/{chunk-A76UTPRW.js.map → chunk-TGU24WSW.js.map} +1 -1
  64. package/dist/chunk-TOA3JILU.js +2 -0
  65. package/dist/chunk-TOA3JILU.js.map +1 -0
  66. package/dist/chunk-U2THNES3.js +2 -0
  67. package/dist/chunk-U2THNES3.js.map +1 -0
  68. package/dist/chunk-U6RM2N4A.js +2 -0
  69. package/dist/chunk-U6RM2N4A.js.map +1 -0
  70. package/dist/chunk-VCO2QEJU.js +2 -0
  71. package/dist/chunk-VCO2QEJU.js.map +1 -0
  72. package/dist/chunk-VRVK3X2R.js +2 -0
  73. package/dist/chunk-VRVK3X2R.js.map +1 -0
  74. package/dist/{chunk-R4LFNFC2.js → chunk-VXCCAIWS.js} +2 -2
  75. package/dist/chunk-VXPJXQP3.js +2 -0
  76. package/dist/chunk-VXPJXQP3.js.map +1 -0
  77. package/dist/chunk-WCHQEQF5.js +2 -0
  78. package/dist/chunk-WCHQEQF5.js.map +1 -0
  79. package/dist/{chunk-4C6O4QTI.js → chunk-WKTJKMHC.js} +2 -2
  80. package/dist/chunk-Y36KZYCU.js +2 -0
  81. package/dist/chunk-Y36KZYCU.js.map +1 -0
  82. package/dist/{chunk-XGMQPLVG.js → chunk-YL46DDPK.js} +2 -2
  83. package/dist/{chunk-UBLE2J7V.js → chunk-YLBQWZOK.js} +2 -2
  84. package/dist/{chunk-AVSWJUYN.js → chunk-YQKD74UF.js} +2 -2
  85. package/dist/{chunk-CKVQ4PIK.js → chunk-ZCMFMCSZ.js} +2 -2
  86. package/dist/{chunk-V2PBVCRH.js → chunk-ZN4VWMV2.js} +2 -2
  87. package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.d.ts +1 -1
  88. package/dist/flows/ContractAmendment/ContractAmendmentFlow.d.ts +3 -3
  89. package/dist/flows/ContractAmendment/ContractAmendmentFlow.js +1 -1
  90. package/dist/flows/ContractAmendment/ContractAmendmentForm.d.ts +1 -1
  91. package/dist/flows/ContractAmendment/ContractAmendmentForm.js +1 -1
  92. package/dist/flows/ContractAmendment/context.d.ts +3 -3
  93. package/dist/flows/ContractAmendment/hooks.d.ts +3 -3
  94. package/dist/flows/ContractAmendment/hooks.js +1 -1
  95. package/dist/flows/ContractAmendment/index.d.ts +3 -3
  96. package/dist/flows/ContractAmendment/index.js +1 -1
  97. package/dist/flows/ContractAmendment/utils.d.ts +1 -1
  98. package/dist/flows/ContractorOnboarding/ContractorOnboarding.d.ts +26 -0
  99. package/dist/flows/ContractorOnboarding/ContractorOnboarding.js +2 -0
  100. package/dist/flows/ContractorOnboarding/ContractorOnboarding.js.map +1 -0
  101. package/dist/flows/ContractorOnboarding/api.d.ts +114 -0
  102. package/dist/flows/ContractorOnboarding/api.js +2 -0
  103. package/dist/flows/ContractorOnboarding/api.js.map +1 -0
  104. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.d.ts +30 -0
  105. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.js +2 -0
  106. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.js.map +1 -0
  107. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.d.ts +22 -0
  108. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.js +2 -0
  109. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.js.map +1 -0
  110. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.d.ts +22 -0
  111. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.js +2 -0
  112. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.js.map +1 -0
  113. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.d.ts +32 -0
  114. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.js +2 -0
  115. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.js.map +1 -0
  116. package/dist/flows/ContractorOnboarding/components/OnboardingBack.d.ts +7 -0
  117. package/dist/flows/ContractorOnboarding/components/OnboardingBack.js +2 -0
  118. package/dist/flows/ContractorOnboarding/components/OnboardingBack.js.map +1 -0
  119. package/dist/flows/ContractorOnboarding/components/OnboardingInvite.d.ts +27 -0
  120. package/dist/flows/ContractorOnboarding/components/OnboardingInvite.js +2 -0
  121. package/dist/flows/ContractorOnboarding/components/OnboardingInvite.js.map +1 -0
  122. package/dist/flows/ContractorOnboarding/components/OnboardingSubmit.d.ts +6 -0
  123. package/dist/flows/ContractorOnboarding/components/OnboardingSubmit.js +2 -0
  124. package/dist/flows/ContractorOnboarding/components/OnboardingSubmit.js.map +1 -0
  125. package/dist/flows/ContractorOnboarding/components/PricingPlan.d.ts +22 -0
  126. package/dist/flows/ContractorOnboarding/components/PricingPlan.js +2 -0
  127. package/dist/flows/ContractorOnboarding/components/PricingPlan.js.map +1 -0
  128. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.d.ts +30 -0
  129. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.js +2 -0
  130. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.js.map +1 -0
  131. package/dist/flows/ContractorOnboarding/context.d.ts +93 -0
  132. package/dist/flows/ContractorOnboarding/context.js +2 -0
  133. package/dist/flows/ContractorOnboarding/context.js.map +1 -0
  134. package/dist/flows/ContractorOnboarding/hooks.d.ts +22 -0
  135. package/dist/flows/ContractorOnboarding/hooks.js +2 -0
  136. package/dist/flows/ContractorOnboarding/hooks.js.map +1 -0
  137. package/dist/flows/ContractorOnboarding/index.d.ts +23 -0
  138. package/dist/flows/ContractorOnboarding/index.js +2 -0
  139. package/dist/flows/ContractorOnboarding/index.js.map +1 -0
  140. package/dist/flows/ContractorOnboarding/json-schemas/signature.d.ts +16 -0
  141. package/dist/flows/ContractorOnboarding/json-schemas/signature.js +2 -0
  142. package/dist/flows/ContractorOnboarding/json-schemas/signature.js.map +1 -0
  143. package/dist/flows/ContractorOnboarding/types.d.ts +22 -0
  144. package/dist/flows/ContractorOnboarding/types.js +1 -0
  145. package/dist/flows/ContractorOnboarding/types.js.map +1 -0
  146. package/dist/flows/ContractorOnboarding/utils.d.ts +9 -0
  147. package/dist/flows/ContractorOnboarding/utils.js +2 -0
  148. package/dist/flows/ContractorOnboarding/utils.js.map +1 -0
  149. package/dist/flows/CostCalculator/CostCalculatorFlow.d.ts +3 -3
  150. package/dist/flows/CostCalculator/CostCalculatorFlow.js +1 -1
  151. package/dist/flows/CostCalculator/CostCalculatorForm.d.ts +3 -3
  152. package/dist/flows/CostCalculator/CostCalculatorForm.js +1 -1
  153. package/dist/flows/CostCalculator/EstimationResults/EstimationResults.d.ts +1 -1
  154. package/dist/flows/CostCalculator/EstimationResults/EstimationResults.js +1 -1
  155. package/dist/flows/CostCalculator/Results/CostCalculatorBenefitsBreakdown.js +1 -1
  156. package/dist/flows/CostCalculator/Results/CostCalculatorContributionsBreakdown.js +1 -1
  157. package/dist/flows/CostCalculator/Results/CostCalculatorExtraStatutoryPaymentsBreakdown.js +1 -1
  158. package/dist/flows/CostCalculator/Results/CostCalculatorGrossSalary.js +1 -1
  159. package/dist/flows/CostCalculator/Results/CostCalculatorResults.d.ts +1 -1
  160. package/dist/flows/CostCalculator/Results/CostCalculatorResults.js +1 -1
  161. package/dist/flows/CostCalculator/SummaryResults/SummaryResults.d.ts +1 -1
  162. package/dist/flows/CostCalculator/api.d.ts +1 -1
  163. package/dist/flows/CostCalculator/api.js +1 -1
  164. package/dist/flows/CostCalculator/components/SalaryField.d.ts +2 -2
  165. package/dist/flows/CostCalculator/components/SalaryField.js +1 -1
  166. package/dist/flows/CostCalculator/context.d.ts +5 -5
  167. package/dist/flows/CostCalculator/hooks.d.ts +5 -5
  168. package/dist/flows/CostCalculator/hooks.js +1 -1
  169. package/dist/flows/CostCalculator/index.d.ts +3 -3
  170. package/dist/flows/CostCalculator/index.js +1 -1
  171. package/dist/flows/CostCalculator/types.d.ts +1 -1
  172. package/dist/flows/CostCalculator/utils.d.ts +3 -3
  173. package/dist/flows/CostCalculator/utils.js +1 -1
  174. package/dist/flows/Onboarding/OnboardingFlow.d.ts +11 -55
  175. package/dist/flows/Onboarding/OnboardingFlow.js +1 -1
  176. package/dist/flows/Onboarding/api.d.ts +15 -7
  177. package/dist/flows/Onboarding/api.js +1 -1
  178. package/dist/flows/Onboarding/components/AnnualGrossSalary.d.ts +2 -2
  179. package/dist/flows/Onboarding/components/AnnualGrossSalary.js +1 -1
  180. package/dist/flows/Onboarding/components/BasicInformationStep.d.ts +14 -21
  181. package/dist/flows/Onboarding/components/BasicInformationStep.js +1 -1
  182. package/dist/flows/Onboarding/components/BenefitsStep.d.ts +12 -38
  183. package/dist/flows/Onboarding/components/BenefitsStep.js +1 -1
  184. package/dist/flows/Onboarding/components/ContractDetailsStep.d.ts +14 -21
  185. package/dist/flows/Onboarding/components/ContractDetailsStep.js +1 -1
  186. package/dist/flows/Onboarding/components/OnboardingBack.js +1 -1
  187. package/dist/flows/Onboarding/components/OnboardingForm.d.ts +12 -5
  188. package/dist/flows/Onboarding/components/OnboardingForm.js +1 -1
  189. package/dist/flows/Onboarding/components/OnboardingInvite.d.ts +3 -3
  190. package/dist/flows/Onboarding/components/OnboardingInvite.js +1 -1
  191. package/dist/flows/Onboarding/components/ReviewStep.d.ts +16 -37
  192. package/dist/flows/Onboarding/components/SaveDraftButton.d.ts +3 -3
  193. package/dist/flows/Onboarding/components/SelectCountryStep.d.ts +14 -21
  194. package/dist/flows/Onboarding/components/SelectCountryStep.js +1 -1
  195. package/dist/flows/Onboarding/context.d.ts +11 -8
  196. package/dist/flows/Onboarding/hooks.d.ts +15 -181
  197. package/dist/flows/Onboarding/hooks.js +1 -1
  198. package/dist/flows/Onboarding/index.d.ts +8 -15
  199. package/dist/flows/Onboarding/index.js +1 -1
  200. package/dist/flows/Onboarding/types.d.ts +16 -86
  201. package/dist/flows/Onboarding/utils.d.ts +15 -19
  202. package/dist/flows/Termination/AdditionalDetailsForm.d.ts +1 -1
  203. package/dist/flows/Termination/AdditionalDetailsForm.js +1 -1
  204. package/dist/flows/Termination/EmployeeComunicationForm.d.ts +1 -1
  205. package/dist/flows/Termination/EmployeeComunicationForm.js +1 -1
  206. package/dist/flows/Termination/PaidTimeOffForm.d.ts +1 -1
  207. package/dist/flows/Termination/PaidTimeOffForm.js +1 -1
  208. package/dist/flows/Termination/TerminationDetailsForm.d.ts +1 -1
  209. package/dist/flows/Termination/TerminationDetailsForm.js +1 -1
  210. package/dist/flows/Termination/TerminationDialogInfoContent/TerminationDialogInfoContent.js +1 -1
  211. package/dist/flows/Termination/TerminationFlow.d.ts +3 -3
  212. package/dist/flows/Termination/TerminationFlow.js +1 -1
  213. package/dist/flows/Termination/TerminationForm.d.ts +1 -1
  214. package/dist/flows/Termination/TerminationForm.js +1 -1
  215. package/dist/flows/Termination/TimeOff.d.ts +1 -1
  216. package/dist/flows/Termination/TimeOff.js +1 -1
  217. package/dist/flows/Termination/context.d.ts +3 -3
  218. package/dist/flows/Termination/hooks.d.ts +3 -3
  219. package/dist/flows/Termination/hooks.js +1 -1
  220. package/dist/flows/Termination/index.d.ts +3 -3
  221. package/dist/flows/Termination/index.js +1 -1
  222. package/dist/flows/Termination/json-schemas/schema.js +1 -1
  223. package/dist/flows/Termination/types.d.ts +1 -1
  224. package/dist/flows/api.d.ts +1 -1
  225. package/dist/flows/api.js +1 -1
  226. package/dist/flows/types.d.ts +1 -0
  227. package/dist/index.css +1 -1
  228. package/dist/index.css.map +1 -1
  229. package/dist/index.d.ts +15 -16
  230. package/dist/index.js +1 -1
  231. package/dist/index.js.map +1 -1
  232. package/dist/internals.js +1 -1
  233. package/dist/{mutations-BHTJydCx.d.ts → mutations-CK4Y5P1M.d.ts} +1 -1
  234. package/dist/{remoteFlows-bfHFRZSe.d.ts → remoteFlows-CeiBUgpD.d.ts} +1 -1
  235. package/dist/types-8MKjvKH1.d.ts +287 -0
  236. package/dist/types-DeIKH9Nn.d.ts +410 -0
  237. package/dist/{types.gen-BWjuA7VH.d.ts → types.gen-Bb9d9VOg.d.ts} +59 -1
  238. package/package.json +5 -5
  239. package/dist/chunk-5CGII7CZ.js.map +0 -1
  240. package/dist/chunk-5TUFZVWO.js +0 -2
  241. package/dist/chunk-5TUFZVWO.js.map +0 -1
  242. package/dist/chunk-663AKXTN.js +0 -2
  243. package/dist/chunk-663AKXTN.js.map +0 -1
  244. package/dist/chunk-FHHAGWU5.js +0 -2
  245. package/dist/chunk-FHHAGWU5.js.map +0 -1
  246. package/dist/chunk-NO2TRS5O.js +0 -2
  247. package/dist/chunk-NO2TRS5O.js.map +0 -1
  248. package/dist/chunk-QGGKDM3N.js +0 -2
  249. package/dist/chunk-QGGKDM3N.js.map +0 -1
  250. package/dist/chunk-RJZ426NO.js +0 -2
  251. package/dist/chunk-RJZ426NO.js.map +0 -1
  252. package/dist/chunk-UH3E6HSQ.js +0 -2
  253. package/dist/chunk-Y7QVIBFX.js +0 -2
  254. package/dist/chunk-Y7QVIBFX.js.map +0 -1
  255. /package/dist/{chunk-MGOT272R.js.map → chunk-2GCMLKO2.js.map} +0 -0
  256. /package/dist/{chunk-GS5NA664.js.map → chunk-2ZT2TLPE.js.map} +0 -0
  257. /package/dist/{chunk-6TSSHWBM.js.map → chunk-3RAEG64W.js.map} +0 -0
  258. /package/dist/{chunk-BITHG5X4.js.map → chunk-5EP45OQV.js.map} +0 -0
  259. /package/dist/{chunk-4KA5AP7X.js.map → chunk-6F4YCVZE.js.map} +0 -0
  260. /package/dist/{chunk-RNNZ5ZKE.js.map → chunk-7YVCTEDW.js.map} +0 -0
  261. /package/dist/{chunk-UH3E6HSQ.js.map → chunk-AIN5YFNL.js.map} +0 -0
  262. /package/dist/{chunk-6O6CNAMF.js.map → chunk-B25LAMRX.js.map} +0 -0
  263. /package/dist/{chunk-A42AGGNH.js.map → chunk-BRENSYKE.js.map} +0 -0
  264. /package/dist/{chunk-PLWXRCGQ.js.map → chunk-DS565IWX.js.map} +0 -0
  265. /package/dist/{chunk-76VMCRDE.js.map → chunk-DZ4UXMF3.js.map} +0 -0
  266. /package/dist/{chunk-EGVWFZBR.js.map → chunk-E5IJ2M63.js.map} +0 -0
  267. /package/dist/{chunk-LCIBPBLY.js.map → chunk-FE5CZPR7.js.map} +0 -0
  268. /package/dist/{chunk-QIN5BLVI.js.map → chunk-FS27V36X.js.map} +0 -0
  269. /package/dist/{chunk-ATC4YO7K.js.map → chunk-GETLSRVM.js.map} +0 -0
  270. /package/dist/{chunk-K4VWUMNO.js.map → chunk-GYX4DKK2.js.map} +0 -0
  271. /package/dist/{chunk-ZTVYWMBY.js.map → chunk-HTCONTKZ.js.map} +0 -0
  272. /package/dist/{chunk-FCRW2EG3.js.map → chunk-I3O6X5XB.js.map} +0 -0
  273. /package/dist/{chunk-5T25IMZ3.js.map → chunk-JDK2CKH7.js.map} +0 -0
  274. /package/dist/{chunk-MDQ6YJMV.js.map → chunk-KRL5QCOA.js.map} +0 -0
  275. /package/dist/{chunk-OZCQ6AOF.js.map → chunk-LB35HMUG.js.map} +0 -0
  276. /package/dist/{chunk-RUMP764Z.js.map → chunk-LE3JY644.js.map} +0 -0
  277. /package/dist/{chunk-756MHC7A.js.map → chunk-M3B3ASM4.js.map} +0 -0
  278. /package/dist/{chunk-BP2JYRI7.js.map → chunk-NDR27PRO.js.map} +0 -0
  279. /package/dist/{chunk-CVDZ35YA.js.map → chunk-QBECPUJM.js.map} +0 -0
  280. /package/dist/{chunk-JB6XA3P6.js.map → chunk-R52D2I6X.js.map} +0 -0
  281. /package/dist/{chunk-R4LFNFC2.js.map → chunk-VXCCAIWS.js.map} +0 -0
  282. /package/dist/{chunk-4C6O4QTI.js.map → chunk-WKTJKMHC.js.map} +0 -0
  283. /package/dist/{chunk-XGMQPLVG.js.map → chunk-YL46DDPK.js.map} +0 -0
  284. /package/dist/{chunk-UBLE2J7V.js.map → chunk-YLBQWZOK.js.map} +0 -0
  285. /package/dist/{chunk-AVSWJUYN.js.map → chunk-YQKD74UF.js.map} +0 -0
  286. /package/dist/{chunk-CKVQ4PIK.js.map → chunk-ZCMFMCSZ.js.map} +0 -0
  287. /package/dist/{chunk-V2PBVCRH.js.map → chunk-ZN4VWMV2.js.map} +0 -0
package/README.md CHANGED
@@ -310,24 +310,25 @@ For a complete implementation example, refer to our [example application](https:
310
310
 
311
311
  ## Release Process
312
312
 
313
- 1. **Create a changeset**
314
- Run the following command and fill in the required fields:
313
+ 1. **Install gh dependency**
314
+ If you haven't done it before
315
315
 
316
- ```bash
317
- npm changeset:add
318
- ```
316
+ `brew gh`, if you aren't on mac os check the installation [guide](https://github.com/cli/cli#installation)
317
+
318
+ `gh login`
319
319
 
320
- 2. **Open a Pull Request**
321
- Commit the changeset and open a PR with your changes.
320
+ 2. **Run the release script**
321
+ Run the following command
322
322
 
323
- 3. **Merge the PR**
324
- Once your PR is merged, GitHub will automatically open a new PR containing the release changes.
323
+ ```bash
324
+ npm run release
325
+ ```
325
326
 
326
- 4. **Review the Release PR**
327
- Review the generated release PR, edit it if necessary (e.g., adjust changelog or version), and then merge it.
327
+ 3. **Review Pull Request created**
328
+ Review the automatic PR that the script create
328
329
 
329
- 5. **Publish**
330
- After the release PR is merged, the npm package will be published automatically.
330
+ 4. **Merge the PR && Publish**
331
+ Once your PR is merged, GitHub will automatically publish the version
331
332
 
332
333
  ## Internals
333
334
 
@@ -1,2 +1,2 @@
1
- import{a as v}from"./chunk-ZTVYWMBY.js";import{a as A}from"./chunk-7XRPOR7L.js";import{a as l,b as _}from"./chunk-3AEKPMIN.js";import{c as E,n as w,y as b}from"./chunk-FHHAGWU5.js";import{a as M}from"./chunk-PJBAQZ6G.js";import{d}from"./chunk-3ZWDIEEM.js";import{a as j,c as S}from"./chunk-PAQW5BFW.js";import{a as t}from"./chunk-P37U34EQ.js";import{createHeadlessForm as I,modify as R}from"@remoteoss/json-schema-form";import{useMutation as Q,useQuery as B}from"@tanstack/react-query";var J=t(({countryCode:a,employment:r,fieldValues:n,options:e})=>{let{client:u}=d(),m=e?.jsonSchemaVersion?.contract_amendments?{json_schema_version:e.jsonSchemaVersion.contract_amendments}:{};return B({queryKey:["contract-amendment-schema"],retry:!1,queryFn:t(async()=>{let o=await E({client:u,headers:{Authorization:""},query:{employment_id:r?.data?.employment?.id,country_code:a,...m}});if(o.error||!o.data)throw new Error("Failed to fetch contract amendment schema");return o},"queryFn"),enabled:!!r,select:t(({data:o})=>{let c=o?.data||{};if(e&&e.jsfModify){let{schema:f}=R(c,e.jsfModify);c=f}let s={...n,annual_gross_salary:n?.annual_gross_salary?j(n?.annual_gross_salary):void 0},y=Object.keys(s).length>0;return I(c,{initialValues:y?s:_(r)})},"select")})},"useContractAmendmentSchemaQuery"),K=t(a=>{let{client:r}=d(),n=a?.jsonSchemaVersion?.contract_amendments?{json_schema_version:a.jsonSchemaVersion.contract_amendments}:{};return Q({mutationFn:t(e=>w({client:r,headers:{Authorization:""},body:e,query:{...n}}),"mutationFn")})},"useCreateContractAmendmentMutation"),U=t(a=>{let{client:r}=d(),n=a?.jsonSchemaVersion?.contract_amendments?{json_schema_version:a.jsonSchemaVersion.contract_amendments}:{};return Q({mutationFn:t(e=>b({client:r,headers:{Authorization:""},body:e,query:{...n}}),"mutationFn")})},"useAutomatableContractAmendmentMutation"),ae=t(({employmentId:a,countryCode:r,options:n})=>{let{fieldValues:e,setFieldValues:u,stepState:m,nextStep:o,previousStep:c}=M(l),{data:s,isLoading:y,isError:V,error:f}=v({employmentId:a}),{data:i,isLoading:q,isError:L,error:T}=J({employment:s,countryCode:r,fieldValues:{...m.values?.[m.currentStep.name],...e},options:n}),k=_(s,i?.fields),F=K(n),g=U(n);async function O(p){let h=S(p,i?.fields||[],{isPartialValidation:!1}),P={employment_id:s?.data.employment?.id,amendment_contract_id:s?.data.employment?.active_contract_id,contract_amendment:{...h}};switch(m.currentStep.name){case l.form.name:{let{mutateAsync:C}=A(g),H=await C(P);return o(),H}case l.confirmation_form.name:{let{mutateAsync:C}=A(F);return C(P)}default:throw new Error("Invalid step state")}}t(O,"onSubmit");function z(p){if(i){let h=S(p,i?.fields);return i?.handleValidation(h)}return null}t(z,"handleValidation");function x(){c()}return t(x,"back"),{stepState:m,fields:i?.fields||[],isLoading:y||q,isError:V||L,error:f||T,isSubmitting:g.isPending||F.isPending,initialValues:k,values:e,handleValidation:z,checkFieldUpdates:u,onSubmit:O,back:x}},"useContractAmendment");export{ae as a};
2
- //# sourceMappingURL=chunk-MGOT272R.js.map
1
+ import{a as v}from"./chunk-HTCONTKZ.js";import{a as A}from"./chunk-7XRPOR7L.js";import{a as l,b as _}from"./chunk-3AEKPMIN.js";import{B as b,c as E,p as w}from"./chunk-MISHDUB2.js";import{a as M}from"./chunk-PJBAQZ6G.js";import{d}from"./chunk-3ZWDIEEM.js";import{a as j,c as S}from"./chunk-PAQW5BFW.js";import{a as t}from"./chunk-P37U34EQ.js";import{createHeadlessForm as I,modify as R}from"@remoteoss/json-schema-form";import{useMutation as Q,useQuery as B}from"@tanstack/react-query";var J=t(({countryCode:a,employment:r,fieldValues:n,options:e})=>{let{client:u}=d(),m=e?.jsonSchemaVersion?.contract_amendments?{json_schema_version:e.jsonSchemaVersion.contract_amendments}:{};return B({queryKey:["contract-amendment-schema"],retry:!1,queryFn:t(async()=>{let o=await E({client:u,headers:{Authorization:""},query:{employment_id:r?.data?.employment?.id,country_code:a,...m}});if(o.error||!o.data)throw new Error("Failed to fetch contract amendment schema");return o},"queryFn"),enabled:!!r,select:t(({data:o})=>{let c=o?.data||{};if(e&&e.jsfModify){let{schema:f}=R(c,e.jsfModify);c=f}let s={...n,annual_gross_salary:n?.annual_gross_salary?j(n?.annual_gross_salary):void 0},y=Object.keys(s).length>0;return I(c,{initialValues:y?s:_(r)})},"select")})},"useContractAmendmentSchemaQuery"),K=t(a=>{let{client:r}=d(),n=a?.jsonSchemaVersion?.contract_amendments?{json_schema_version:a.jsonSchemaVersion.contract_amendments}:{};return Q({mutationFn:t(e=>w({client:r,headers:{Authorization:""},body:e,query:{...n}}),"mutationFn")})},"useCreateContractAmendmentMutation"),U=t(a=>{let{client:r}=d(),n=a?.jsonSchemaVersion?.contract_amendments?{json_schema_version:a.jsonSchemaVersion.contract_amendments}:{};return Q({mutationFn:t(e=>b({client:r,headers:{Authorization:""},body:e,query:{...n}}),"mutationFn")})},"useAutomatableContractAmendmentMutation"),ae=t(({employmentId:a,countryCode:r,options:n})=>{let{fieldValues:e,setFieldValues:u,stepState:m,nextStep:o,previousStep:c}=M(l),{data:s,isLoading:y,isError:V,error:f}=v({employmentId:a}),{data:i,isLoading:q,isError:L,error:T}=J({employment:s,countryCode:r,fieldValues:{...m.values?.[m.currentStep.name],...e},options:n}),k=_(s,i?.fields),F=K(n),g=U(n);async function O(p){let h=S(p,i?.fields||[],{isPartialValidation:!1}),P={employment_id:s?.data.employment?.id,amendment_contract_id:s?.data.employment?.active_contract_id,contract_amendment:{...h}};switch(m.currentStep.name){case l.form.name:{let{mutateAsync:C}=A(g),H=await C(P);return o(),H}case l.confirmation_form.name:{let{mutateAsync:C}=A(F);return C(P)}default:throw new Error("Invalid step state")}}t(O,"onSubmit");function z(p){if(i){let h=S(p,i?.fields);return i?.handleValidation(h)}return null}t(z,"handleValidation");function x(){c()}return t(x,"back"),{stepState:m,fields:i?.fields||[],isLoading:y||q,isError:V||L,error:f||T,isSubmitting:g.isPending||F.isPending,initialValues:k,values:e,handleValidation:z,checkFieldUpdates:u,onSubmit:O,back:x}},"useContractAmendment");export{ae as a};
2
+ //# sourceMappingURL=chunk-2GCMLKO2.js.map
@@ -1,2 +1,2 @@
1
- import{a as n}from"./chunk-QIN5BLVI.js";import{b as m}from"./chunk-MRYRNB7Y.js";import{a as o}from"./chunk-P37U34EQ.js";import{jsx as r}from"react/jsx-runtime";function p({onSubmit:e}){let{terminationBag:i}=m();return r(n,{onSubmit:o(async t=>{await e?.(i?.parseFormValues(t)),i?.next()},"handleSubmit")})}o(p,"EmployeeCommunicationForm");export{p as a};
2
- //# sourceMappingURL=chunk-GS5NA664.js.map
1
+ import{a as n}from"./chunk-FS27V36X.js";import{b as m}from"./chunk-MRYRNB7Y.js";import{a as o}from"./chunk-P37U34EQ.js";import{jsx as r}from"react/jsx-runtime";function p({onSubmit:e}){let{terminationBag:i}=m();return r(n,{onSubmit:o(async t=>{await e?.(i?.parseFormValues(t)),i?.next()},"handleSubmit")})}o(p,"EmployeeCommunicationForm");export{p as a};
2
+ //# sourceMappingURL=chunk-2ZT2TLPE.js.map
@@ -0,0 +1,2 @@
1
+ import{a as R,b as x,c as N,d as A}from"./chunk-CWEPL5J3.js";import{a as T}from"./chunk-ZE3YT3Q6.js";import{a as f}from"./chunk-32GSS4UM.js";import{a as C}from"./chunk-ASKKS4Z3.js";import{a as w}from"./chunk-TGU24WSW.js";import{b as B}from"./chunk-2QGDCMCE.js";import{a as i,b as n,e as F}from"./chunk-54KJP7WD.js";import{a as d}from"./chunk-P37U34EQ.js";import{MoreHorizontal as G}from"lucide-react";import{useState as P}from"react";import{Fragment as U,jsx as g,jsxs as E}from"react/jsx-runtime";function L({actions:e=[],className:r,label:l,"data-testid":a}){let[_,m]=P(!1);return E("div",{className:i("relative",r),children:[g(B,{"data-testid":a,variant:"ghost","aria-label":l,className:"h-8 w-8 p-0",onClick:()=>m(!_),children:g(G,{className:"h-4 w-4"})}),_&&E(U,{children:[g("div",{className:"fixed inset-0 z-40",onClick:()=>m(!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":`${a}-${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(),m(!1)},disabled:c.disabled,children:c.label},u))})]})]})}d(L,"ActionsDropdown");import{ChevronDown as S,Info as $}from"lucide-react";import j from"react-flagpack";import{useState as O}from"react";import{Fragment as b,jsx as o,jsxs as t}from"react/jsx-runtime";var Z={GB:"GB-UKM"},K=d(({title:e,country:r,region:l,annualGrossSalary:a,onDelete:_,onExportPdf:m,onEdit:c})=>{let u=[{label:"Edit",onClick:c},{label:"Export",onClick:m},{label:"Delete",onClick:_}];return t("div",{className:"RemoteFlows__EstimationResults__Header flex justify-between",children:[t("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(j,{code:Z[r.alpha_2_code]||r.alpha_2_code})}),t("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}),t("p",{className:"RemoteFlows__EstimationResultsHeader__Country text-xs text-[#71717A]",children:[r.name," ",l?` (${l.name})`:""]}),t("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:"})," ",a]})]})]}),o(L,{label:"Actions",className:"RemoteFlows__EstimationResults__ActionsDropdown",actions:u})]})},"EstimationResultsHeader"),V=d(()=>({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:f.employeeOnboardingTimeline}),"getOnboardingTimelineData");function Y({minimumOnboardingDays:e,data:r,className:l}){return o(R,{type:"single",collapsible:!0,className:i("RemoteFlows__EstimationResults__OnboardingTimeline w-full",l),children:t(x,{value:"timeline",className:"RemoteFlows__OnboardingTimeline__AccordionItem border-border",children:[o(N,{className:"RemoteFlows__OnboardingTimeline__AccordionTrigger hover:no-underline px-0 py-4",children:t("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&&t("span",{className:"RemoteFlows__OnboardingTimeline__Description text-base text-muted-foreground mr-4",children:[e," days"]})]})}),t(A,{className:"px-0 pb-4",children:[o("ul",{className:"RemoteFlows__OnboardingTimeline__List list-disc list-inside space-y-2",children:r.steps.map(a=>t("li",{children:[o("strong",{className:"font-medium text-[#09090B]",children:a.title})," ","- ",a.description]},a.id))}),t("p",{className:"RemoteFlows__OnboardingTimeline__HelpText text-xs text-muted-foreground mt-4",children:[r.helpText,r.zendeskArticleId&&o(w,{zendeskId:r.zendeskArticleId,children:"Learn more"})]})]})]})})}d(Y,"OnboardingTimeline");function q({className:e,countryBenefitsUrl:r,countryGuideUrl:l,country:a}){return o(R,{type:"single",collapsible:!0,className:i("RemoteFlows__EstimationResults__HiringSection w-full",e),children:t(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:t("span",{className:"text-base font-medium text-[#0F172A]",children:["Hiring in ",a.name]})})}),o(A,{children:t("div",{className:"flex flex-col gap-1",children:[l&&o("a",{href:l,target:"_blank",className:"RemoteFlows__Link",children:"Explore our complete guide \u2197"}),r&&o("a",{href:r,target:"_blank",className:"RemoteFlows__Link",children:"Explore our available benefits \u2197"})]})})]})})}d(q,"HiringSection");function J({isMultipleCurrency:e,className:r}){return t("div",{className:i("RemoteFlows__EstimationResults__Headers grid grid-cols-3 items-center",r),children:[o("span",{"aria-hidden":!0}),e?t(b,{children:[o("span",{className:"RemoteFlows__EstimationResults__Headers__Label",children:"Employee currency"}),o("span",{className:"RemoteFlows__EstimationResults__Headers__Label",children:"Employer currency"})]}):t(b,{children:[o("span",{}),o("span",{className:"RemoteFlows__EstimationResults__Headers__Label",children:"Amount"})]})]})}d(J,"EstimationHeaders");function I({label:e,amounts:r,className:l,children:a}){let[_,m]=O(!0);return t("div",{className:i("RemoteFlows__EstimationResults__Row",l),children:[t("div",{className:"RemoteFlows__EstimationRow__Grid grid grid-cols-3 items-center",children:[t("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:()=>m(!_),className:"RemoteFlows__EstimationRow__CollapseButton p-1 hover:bg-gray-100 rounded",children:o(S,{className:`h-4 w-4 text-muted-foreground transition-transform ${_?"rotate-180":""}`})})]}),Array.isArray(r)?r.map((c,u)=>o("span",{className:i("RemoteFlows__EstimationRow__RegionalAmount text-right font-medium text-[#09090B]"),children:c},u)):t(b,{children:[o("span",{}),o("span",{className:i("RemoteFlows__EstimationRow__EmployerAmount text-right font-medium text-[#09090B]"),children:r})]})]}),_&&a&&o("div",{className:"RemoteFlows__EstimationRow__CollapsibleContent mt-4",children:a})]})}d(I,"EstimationRow");function Q({item:e,isMultipleCurrency:r,level:l=0}){let[a,_]=O(!1),m=e.children&&e.children.length>0,c=l>0,u=e.isCollapsible||m;return t("li",{className:i("RemoteFlows__BreakdownList__Item pb-3",c&&"pb-1"),children:[t("div",{className:i(r?"RemoteFlows__BreakdownList__Grid grid grid-cols-3 items-center justify-between":"RemoteFlows__BreakdownList__Grid grid grid-cols-2 items-center justify-between"),children:[t("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?t("button",{onClick:()=>_(!a),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(S,{className:`RemoteFlows__BreakdownList__ChevronDown h-3 w-3 text-muted-foreground transition-transform ${a?"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(T,{content:t(b,{children:[o("span",{dangerouslySetInnerHTML:{__html:F(e.tooltip)}})," ",e.zendeskId&&o(w,{zendeskId:Number(e.zendeskId),children:"Learn more"})]}),children:o("button",{className:"RemoteFlows__BreakdownList__InfoButton p-1 hover:bg-gray-100 rounded",children:o($,{className:i("RemoteFlows__BreakdownList__InfoButton__Icon text-muted-foreground",c?"h-3 w-3":"h-4 w-4")})})})]}),r?t(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"})]}),m&&a&&o("div",{className:"mt-1",children:o(k,{items:e.children,isMultipleCurrency:r,level:l+1})})]})}d(Q,"BreakdownListItem");function k({items:e,isMultipleCurrency:r,className:l,level:a}){return o("ul",{className:i("RemoteFlows__BreakdownList list-none",l),children:e.map((_,m)=>o(Q,{item:_,isMultipleCurrency:r,level:a},m))})}d(k,"BreakdownList");var pe=d(({estimation:e,title:r,components:l,onDelete:a,onExportPdf:_,onEdit:m})=>{let c=l?.HiringSection||q,u=l?.OnboardingTimeline||Y,z=l?.Header||K,h=l?.Footer,H=V(),p=e.employer_currency_costs.currency.code!==e.regional_currency_costs.currency.code,v=e.employer_currency_costs.monthly_management_fee,D=e.region.code!==e.country.code,M=n(e.regional_currency_costs.annual_gross_salary,e.regional_currency_costs.currency.symbol);return t(C,{className:"RemoteFlows__EstimationResults__Card p-10",children:[o("div",{className:"RemoteFlows__Separator",children:o(z,{title:r,annualGrossSalary:M,region:D?e.region:void 0,country:e.country,onDelete:a,onExportPdf:_,onEdit:m})}),t("div",{className:"RemoteFlows__Separator",children:[o(J,{isMultipleCurrency:p,className:"mb-3"}),o(I,{label:"Monthly total cost",amounts:p?[n(e.regional_currency_costs.monthly_total,e.regional_currency_costs.currency.symbol),n(e.employer_currency_costs.monthly_total,e.employer_currency_costs.currency.symbol)]:n(e.regional_currency_costs.monthly_total,e.regional_currency_costs.currency.symbol),children:o(k,{items:[{label:"Gross monthly salary",regionalAmount:n(e.regional_currency_costs.monthly_gross_salary,e.regional_currency_costs.currency.symbol),employerAmount:n(e.employer_currency_costs.monthly_gross_salary,e.employer_currency_costs.currency.symbol),zendeskId:f.extraPayments.toString(),tooltip:"This country respects extra payments on top of the gross salary."},{label:"Mandatory employer costs",regionalAmount:n(e.regional_currency_costs.monthly_contributions_total,e.regional_currency_costs.currency.symbol),employerAmount:n(e.employer_currency_costs.monthly_contributions_total,e.employer_currency_costs.currency.symbol),children:e.employer_currency_costs.monthly_contributions_breakdown?.map((s,y)=>({label:s.name,regionalAmount:n(e.regional_currency_costs.monthly_contributions_breakdown?.[y]?.amount,e.regional_currency_costs.currency.symbol),employerAmount:n(s.amount,e.employer_currency_costs.currency.symbol),zendeskId:s.zendesk_article_id||void 0,tooltip:s.description||void 0}))||[]},{label:"Benefits",regionalAmount:n(e.regional_currency_costs.monthly_benefits_total,e.regional_currency_costs.currency.symbol),employerAmount:n(e.employer_currency_costs.monthly_benefits_total,e.employer_currency_costs.currency.symbol),children:e.employer_currency_costs.monthly_benefits_breakdown?.map((s,y)=>({label:s.name,regionalAmount:n(e.regional_currency_costs.monthly_benefits_breakdown?.[y]?.amount,e.regional_currency_costs.currency.symbol),employerAmount:n(s.amount,e.employer_currency_costs.currency.symbol),zendeskId:s.zendesk_article_id||void 0,tooltip:s.description||void 0}))||[]},...v?[{label:"Monthly fee",regionalAmount:n(e.regional_currency_costs.monthly_management_fee,e.regional_currency_costs.currency.symbol),employerAmount:n(e.employer_currency_costs.monthly_management_fee,e.employer_currency_costs.currency.symbol),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(I,{label:"Annual total cost",amounts:p?[n(e.regional_currency_costs.annual_total,e.regional_currency_costs.currency.symbol),n(e.employer_currency_costs.annual_total,e.employer_currency_costs.currency.symbol)]:n(e.regional_currency_costs.annual_total,e.regional_currency_costs.currency.symbol),children:o(k,{items:[{label:"Gross annual salary",dataSelector:"annual-gross-salary",regionalAmount:n(e.regional_currency_costs.annual_gross_salary,e.regional_currency_costs.currency.symbol),employerAmount:n(e.employer_currency_costs.annual_gross_salary,e.employer_currency_costs.currency.symbol)},{label:"Mandatory employer costs",regionalAmount:n(e.regional_currency_costs.annual_contributions_total,e.regional_currency_costs.currency.symbol),employerAmount:n(e.employer_currency_costs.annual_contributions_total,e.employer_currency_costs.currency.symbol),children:e.employer_currency_costs.annual_contributions_breakdown?.map((s,y)=>({label:s.name,regionalAmount:n(e.regional_currency_costs.annual_contributions_breakdown?.[y]?.amount,e.regional_currency_costs.currency.symbol),employerAmount:n(s.amount,e.employer_currency_costs.currency.symbol),zendeskId:s.zendesk_article_id||void 0,tooltip:s.description||void 0}))||[]},{label:"Benefits",regionalAmount:n(e.regional_currency_costs.annual_benefits_total,e.regional_currency_costs.currency.symbol),employerAmount:n(e.employer_currency_costs.annual_benefits_total,e.employer_currency_costs.currency.symbol),children:e.employer_currency_costs.annual_benefits_breakdown?.map((s,y)=>({label:s.name,regionalAmount:n(e.regional_currency_costs.annual_benefits_breakdown?.[y]?.amount,e.regional_currency_costs.currency.symbol),employerAmount:n(s.amount,e.employer_currency_costs.currency.symbol),zendeskId:s.zendesk_article_id||void 0,tooltip:s.description||void 0}))||[]},{label:"Extra statutory payments",regionalAmount:n(e.regional_currency_costs.extra_statutory_payments_total,e.regional_currency_costs.currency.symbol),employerAmount:n(e.employer_currency_costs.extra_statutory_payments_total,e.employer_currency_costs.currency.symbol),children:e.employer_currency_costs.extra_statutory_payments_breakdown?.map((s,y)=>({label:s.name,regionalAmount:n(e.regional_currency_costs.extra_statutory_payments_breakdown?.[y]?.amount,e.regional_currency_costs.currency.symbol),employerAmount:n(s.amount,e.employer_currency_costs.currency.symbol),zendeskId:s.zendesk_article_id||void 0,tooltip:s.description||void 0}))||[]},...v?[{label:"Annual fee",regionalAmount:n(e.regional_currency_costs.annual_management_fee,e.regional_currency_costs.currency.symbol),employerAmount:n(e.employer_currency_costs.annual_management_fee,e.employer_currency_costs.currency.symbol),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:H})}),o(c,{countryBenefitsUrl:e.country_benefits_details_url,countryGuideUrl:e.country_guide_url,country:e.country}),h&&o(h,{})]})},"EstimationResults");export{pe as a};
2
+ //# sourceMappingURL=chunk-33L3KAS5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/shared/actions-dropdown/ActionsDropdown.tsx","../src/flows/CostCalculator/EstimationResults/EstimationResults.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.symbol,\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.symbol,\n ),\n formatCurrency(\n estimation.employer_currency_costs.monthly_total,\n estimation.employer_currency_costs.currency.symbol,\n ),\n ]\n : formatCurrency(\n estimation.regional_currency_costs.monthly_total,\n estimation.regional_currency_costs.currency.symbol,\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.symbol,\n ),\n employerAmount: formatCurrency(\n estimation.employer_currency_costs.monthly_gross_salary,\n estimation.employer_currency_costs.currency.symbol,\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.symbol,\n ),\n employerAmount: formatCurrency(\n estimation.employer_currency_costs\n .monthly_contributions_total,\n estimation.employer_currency_costs.currency.symbol,\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.symbol,\n ),\n employerAmount: formatCurrency(\n item.amount,\n estimation.employer_currency_costs.currency.symbol,\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.symbol,\n ),\n employerAmount: formatCurrency(\n estimation.employer_currency_costs.monthly_benefits_total,\n estimation.employer_currency_costs.currency.symbol,\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.symbol,\n ),\n employerAmount: formatCurrency(\n item.amount,\n estimation.employer_currency_costs.currency.symbol,\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.symbol,\n ),\n employerAmount: formatCurrency(\n estimation.employer_currency_costs\n .monthly_management_fee,\n estimation.employer_currency_costs.currency.symbol,\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.symbol,\n ),\n formatCurrency(\n estimation.employer_currency_costs.annual_total,\n estimation.employer_currency_costs.currency.symbol,\n ),\n ]\n : formatCurrency(\n estimation.regional_currency_costs.annual_total,\n estimation.regional_currency_costs.currency.symbol,\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.symbol,\n ),\n employerAmount: formatCurrency(\n estimation.employer_currency_costs.annual_gross_salary,\n estimation.employer_currency_costs.currency.symbol,\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.symbol,\n ),\n employerAmount: formatCurrency(\n estimation.employer_currency_costs.annual_contributions_total,\n estimation.employer_currency_costs.currency.symbol,\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.symbol,\n ),\n employerAmount: formatCurrency(\n item.amount,\n estimation.employer_currency_costs.currency.symbol,\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.symbol,\n ),\n employerAmount: formatCurrency(\n estimation.employer_currency_costs.annual_benefits_total,\n estimation.employer_currency_costs.currency.symbol,\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.symbol,\n ),\n employerAmount: formatCurrency(\n item.amount,\n estimation.employer_currency_costs.currency.symbol,\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.symbol,\n ),\n employerAmount: formatCurrency(\n estimation.employer_currency_costs\n .extra_statutory_payments_total,\n estimation.employer_currency_costs.currency.symbol,\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.symbol,\n ),\n employerAmount: formatCurrency(\n item.amount,\n estimation.employer_currency_costs.currency.symbol,\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.symbol,\n ),\n employerAmount: formatCurrency(\n estimation.employer_currency_costs\n .annual_management_fee,\n estimation.employer_currency_costs.currency.symbol,\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"],"mappings":"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","names":["MoreHorizontal","useState","Fragment","jsx","jsxs","ActionsDropdown","actions","className","label","dataSelector","isOpen","setIsOpen","useState","cn","Button","MoreHorizontal","action","index","__name","ChevronDown","Info","Flag","useState","Fragment","jsx","jsxs","FLAG_CODE_MAPPING","EstimationResultsHeader","__name","title","country","region","annualGrossSalary","onDelete","onExportPdf","onEdit","actions","Flag","ActionsDropdown","getOnboardingTimelineData","zendeskArticles","OnboardingTimeline","minimumOnboardingDays","data","className","Accordion","cn","AccordionItem","AccordionTrigger","AccordionContent","step","ZendeskTriggerButton","HiringSection","countryBenefitsUrl","countryGuideUrl","EstimationHeaders","isMultipleCurrency","EstimationRow","label","amounts","children","isOpen","setIsOpen","useState","ChevronDown","amount","index","BreakdownListItem","item","level","hasChildren","isNested","isCollapsible","BasicTooltip","sanitizeHtml","Info","BreakdownList","items","EstimationResults","estimation","components","CustomHiringSection","CustomOnboardingTimeline","CustomHeader","CustomFooter","onboardingTimelineData","hasManagementFee","hasRegion","formattedSalary","formatCurrency","Card"]}
@@ -1,2 +1,2 @@
1
- import{c as d,d as S}from"./chunk-AVSWJUYN.js";import{a as u}from"./chunk-HN5HLFTB.js";import{a as f}from"./chunk-KSHK3ZPX.js";import{b as C}from"./chunk-CFIJKJXD.js";import{f as y}from"./chunk-U23SN7CM.js";import{a as o}from"./chunk-P37U34EQ.js";import{useEffect as T,useId as U,useState as I}from"react";import{jsx as k}from"react/jsx-runtime";var i=o((n,e,r)=>r&&r[e]?r[e]:n[e]?n[e]/100:0,"getDefaultManagementFee"),A=o((n,e,r,s)=>!e&&!r?.management_fee&&n?i(u,n,s):e&&!r?.management_fee?"":r?.management_fee,"getManagementFee"),W=o(({estimationOptions:n=d,defaultValues:e={countryRegionSlug:"",regionSlug:"",currencySlug:"",salary:"",benefits:{},management:{management_fee:""}},options:r,render:s,version:_="standard"})=>{let p=U(),[R,m]=I("USD"),F=o(g=>{m(g);let a=i(u,g,n.managementFees);a&&c.setValue("management.management_fee",a)},"onCurrencyChange"),t=S({defaultRegion:e.countryRegionSlug,defaultCurrency:e.currencySlug,defaultSalary:e.salary,estimationOptions:n,version:_,options:{...r,onCurrencyChange:F}}),K=C(t.handleValidation),b=A(R,e.currencySlug,e.management,n.managementFees),{countryRegionSlug:v,currencySlug:h,salary:D,benefits:P,hiringBudget:B,age:E,contractDurationType:M,regionSlug:w,...x}=e,c=y({resolver:K,defaultValues:{country:v,currency:h,region:w,salary:D,salary_conversion:"",salary_converted:"",hiring_budget:B||"employee_annual_salary",age:E,contract_duration_type:M,management:{management_fee:b},benefits:P,estimation_title:n.title,...x},shouldUnregister:!1,mode:"onBlur"});return T(()=>{if(e.currencySlug&&t.currencies&&n.includeManagementFee&&!e.management?.management_fee){let a=t.currencies.find(l=>l.value===e.currencySlug)?.label;if(a){m(a);let l=i(u,a,n.managementFees);c.setValue("management.management_fee",l)}}},[e.currencySlug,t.currencies,n.includeManagementFee,n.managementFees,e.management?.management_fee,c]),k(f.Provider,{value:{form:c,formId:p,costCalculatorBag:t},children:s(t)})},"CostCalculatorFlow");export{W as a};
2
- //# sourceMappingURL=chunk-6TSSHWBM.js.map
1
+ import{c as d,d as S}from"./chunk-YQKD74UF.js";import{a as u}from"./chunk-HN5HLFTB.js";import{a as f}from"./chunk-KSHK3ZPX.js";import{b as C}from"./chunk-CFIJKJXD.js";import{f as y}from"./chunk-U23SN7CM.js";import{a as o}from"./chunk-P37U34EQ.js";import{useEffect as T,useId as U,useState as I}from"react";import{jsx as k}from"react/jsx-runtime";var i=o((n,e,r)=>r&&r[e]?r[e]:n[e]?n[e]/100:0,"getDefaultManagementFee"),A=o((n,e,r,s)=>!e&&!r?.management_fee&&n?i(u,n,s):e&&!r?.management_fee?"":r?.management_fee,"getManagementFee"),W=o(({estimationOptions:n=d,defaultValues:e={countryRegionSlug:"",regionSlug:"",currencySlug:"",salary:"",benefits:{},management:{management_fee:""}},options:r,render:s,version:_="standard"})=>{let p=U(),[R,m]=I("USD"),F=o(g=>{m(g);let a=i(u,g,n.managementFees);a&&c.setValue("management.management_fee",a)},"onCurrencyChange"),t=S({defaultRegion:e.countryRegionSlug,defaultCurrency:e.currencySlug,defaultSalary:e.salary,estimationOptions:n,version:_,options:{...r,onCurrencyChange:F}}),K=C(t.handleValidation),b=A(R,e.currencySlug,e.management,n.managementFees),{countryRegionSlug:v,currencySlug:h,salary:D,benefits:P,hiringBudget:B,age:E,contractDurationType:M,regionSlug:w,...x}=e,c=y({resolver:K,defaultValues:{country:v,currency:h,region:w,salary:D,salary_conversion:"",salary_converted:"",hiring_budget:B||"employee_annual_salary",age:E,contract_duration_type:M,management:{management_fee:b},benefits:P,estimation_title:n.title,...x},shouldUnregister:!1,mode:"onBlur"});return T(()=>{if(e.currencySlug&&t.currencies&&n.includeManagementFee&&!e.management?.management_fee){let a=t.currencies.find(l=>l.value===e.currencySlug)?.label;if(a){m(a);let l=i(u,a,n.managementFees);c.setValue("management.management_fee",l)}}},[e.currencySlug,t.currencies,n.includeManagementFee,n.managementFees,e.management?.management_fee,c]),k(f.Provider,{value:{form:c,formId:p,costCalculatorBag:t},children:s(t)})},"CostCalculatorFlow");export{W as a};
2
+ //# sourceMappingURL=chunk-3RAEG64W.js.map
@@ -0,0 +1,2 @@
1
+ import{a as s}from"./chunk-IQRBTXZ4.js";import{b as t}from"./chunk-TOA3JILU.js";import{b as e}from"./chunk-7XRPOR7L.js";import{a as i}from"./chunk-P37U34EQ.js";import{jsx as P}from"react/jsx-runtime";function S({onSubmit:l,onSuccess:d,onError:n}){let{contractorOnboardingBag:o}=t(),c=i(async a=>{try{await l?.(o.parseFormValues(a));let r=await o.onSubmit(a);if(r?.data){await d?.(r?.data),o?.next();return}if(r?.error){let p=e(r?.fieldErrors||[],o.meta?.fields?.pricing_plan);n?.({error:r?.error,rawError:r?.rawError,fieldErrors:p})}}catch(r){n?.({error:r,rawError:r,fieldErrors:[]})}},"handleSubmit"),m=o.stepState.values?.pricing_plan||o.initialValues.pricing_plan;return P(s,{defaultValues:m,onSubmit:c})}i(S,"PricingPlanStep");export{S as a};
2
+ //# sourceMappingURL=chunk-4Q4OTL2P.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flows/ContractorOnboarding/components/PricingPlan.tsx"],"sourcesContent":["import { $TSFixMe } from '@/src/types/remoteFlows';\nimport {\n normalizeFieldErrors,\n NormalizedFieldError,\n} from '@/src/lib/mutations';\nimport { useContractorOnboardingContext } from '@/src/flows/ContractorOnboarding/context';\nimport { ContractorOnboardingForm } from '@/src/flows/ContractorOnboarding/components/ContractorOnboardingForm';\nimport {\n PricingPlanFormPayload,\n PricingPlanResponse,\n} from '@/src/flows/ContractorOnboarding/types';\n\ntype PricingPlanStepProps = {\n /*\n * The function is called when the form is submitted. It receives the form values as an argument.\n */\n onSubmit?: (payload: PricingPlanFormPayload) => void | Promise<void>;\n /*\n * The function is called when the form submission is successful.\n */\n onSuccess?: (data: PricingPlanResponse) => void | Promise<void>;\n /*\n * The function is called when an error occurs during form submission.\n */\n onError?: ({\n error,\n rawError,\n fieldErrors,\n }: {\n error: Error;\n rawError: Record<string, unknown>;\n fieldErrors: NormalizedFieldError[];\n }) => void;\n};\n\nexport function PricingPlanStep({\n onSubmit,\n onSuccess,\n onError,\n}: PricingPlanStepProps) {\n const { contractorOnboardingBag } = useContractorOnboardingContext();\n\n const handleSubmit = async (payload: $TSFixMe) => {\n try {\n await onSubmit?.(\n contractorOnboardingBag.parseFormValues(payload) as $TSFixMe, // TODO: add type\n );\n const response = await contractorOnboardingBag.onSubmit(payload);\n if (response?.data) {\n await onSuccess?.(response?.data as $TSFixMe); // TODO: add type\n contractorOnboardingBag?.next();\n return;\n }\n if (response?.error) {\n const normalizedFieldErrors = normalizeFieldErrors(\n response?.fieldErrors || [],\n contractorOnboardingBag.meta?.fields?.pricing_plan,\n );\n\n onError?.({\n error: response?.error,\n rawError: response?.rawError,\n fieldErrors: normalizedFieldErrors,\n });\n }\n } catch (error: unknown) {\n onError?.({\n error: error as Error,\n rawError: error as Record<string, unknown>,\n fieldErrors: [],\n });\n }\n };\n\n const initialValues =\n contractorOnboardingBag.stepState.values?.pricing_plan ||\n contractorOnboardingBag.initialValues.pricing_plan;\n\n return (\n <ContractorOnboardingForm\n defaultValues={initialValues}\n onSubmit={handleSubmit}\n />\n );\n}\n"],"mappings":"gKA+EI,cAAAA,MAAA,oBA5CG,SAASC,EAAgB,CAC9B,SAAAC,EACA,UAAAC,EACA,QAAAC,CACF,EAAyB,CACvB,GAAM,CAAE,wBAAAC,CAAwB,EAAIC,EAA+B,EAE7DC,EAAeC,EAAA,MAAOC,GAAsB,CAChD,GAAI,CACF,MAAMP,IACJG,EAAwB,gBAAgBI,CAAO,CACjD,EACA,IAAMC,EAAW,MAAML,EAAwB,SAASI,CAAO,EAC/D,GAAIC,GAAU,KAAM,CAClB,MAAMP,IAAYO,GAAU,IAAgB,EAC5CL,GAAyB,KAAK,EAC9B,MACF,CACA,GAAIK,GAAU,MAAO,CACnB,IAAMC,EAAwBC,EAC5BF,GAAU,aAAe,CAAC,EAC1BL,EAAwB,MAAM,QAAQ,YACxC,EAEAD,IAAU,CACR,MAAOM,GAAU,MACjB,SAAUA,GAAU,SACpB,YAAaC,CACf,CAAC,CACH,CACF,OAASE,EAAgB,CACvBT,IAAU,CACR,MAAOS,EACP,SAAUA,EACV,YAAa,CAAC,CAChB,CAAC,CACH,CACF,EA9BqB,gBAgCfC,EACJT,EAAwB,UAAU,QAAQ,cAC1CA,EAAwB,cAAc,aAExC,OACEL,EAACe,EAAA,CACC,cAAeD,EACf,SAAUP,EACZ,CAEJ,CAjDgBC,EAAAP,EAAA","names":["jsx","PricingPlanStep","onSubmit","onSuccess","onError","contractorOnboardingBag","useContractorOnboardingContext","handleSubmit","__name","payload","response","normalizedFieldErrors","normalizeFieldErrors","error","initialValues","ContractorOnboardingForm"]}
@@ -0,0 +1,2 @@
1
+ import{a as B}from"./chunk-ZJ3JHILJ.js";import{a as he,b as Ue,c as Ve,d as ze,e as Ge,f as Je,g as qe,h as Ke,i as Ye,j as ye,k as Xe,l as ve,m as Ce,o as xe,q as Qe,r as Ze,s as et}from"./chunk-C737VJYN.js";import{b as je}from"./chunk-R2VVXLL7.js";import{a as _e,b as $}from"./chunk-2QGDCMCE.js";import{b}from"./chunk-3ZWDIEEM.js";import{a as re,b as ae,c as x,d as Le,e as He,f as Be,g as Ae,h as k,i as w,j as N,k as P,l as R,m as D}from"./chunk-U23SN7CM.js";import{g as Oe}from"./chunk-PAQW5BFW.js";import{a as _,e as ee}from"./chunk-54KJP7WD.js";import{a as r}from"./chunk-P37U34EQ.js";import{Fragment as Ht,jsx as O,jsxs as ne}from"react/jsx-runtime";function se({name:e,defaultValue:t,description:a,label:o,onChange:l,multiple:d,options:c,component:F,...f}){let{components:i}=b(),{control:n}=x(),u=r((m,s,g)=>{let p=g.value?[...g.value]:[];s?p.includes(m)||g.onChange([...p,m]):g.onChange(p.filter(h=>h!==m))},"handleCheckboxChange");return O(k,{control:n,name:e,defaultValue:t,render:({field:m,fieldState:s})=>{let g=F||i?.checkbox;if(g){let p={name:e,description:a,label:o,defaultValue:t,multiple:d,options:c,...f};return O(g,{field:{...m,onChange:r(h=>{if(d){let{checked:S,value:C}=h.target;u(C,S,m),l?.(S);return}m.onChange(h),l?.(h)},"onChange")},fieldState:s,fieldData:p})}return ne(w,{"data-field":e,className:_(`RemoteFlows__CheckBoxField__Item__${e}`),children:[O(P,{children:ne(Ht,{children:[c&&d?O(N,{children:o}):null,c&&d?c.map(p=>ne("div",{className:"flex space-x-2",children:[O(he,{id:p.value,onCheckedChange:h=>{u(p.value,h===!0,m),l?.(h,p.value)},checked:m.value?.includes(p.value),className:"RemoteFlows__CheckBox__Input"}),O(N,{htmlFor:p.value,className:"mb-0 RemoteFlows__CheckBox__Label",children:p.label})]},p.value)):ne("div",{className:"flex space-x-2",children:[O(he,{id:e,onCheckedChange:p=>{m.onChange(p),l?.(p)},checked:m.value,className:"RemoteFlows__CheckBox__Input"}),O(N,{htmlFor:e,className:"mb-0 RemoteFlows__CheckBox__Label",children:o})]})]})}),a&&O(R,{children:a}),s.error&&O(D,{})]})}})}r(se,"CheckBoxField");import{CalendarIcon as Ut}from"lucide-react";import{PopoverClose as Vt}from"@radix-ui/react-popover";import{ChevronLeft as Bt,ChevronRight as Ot}from"lucide-react";import{DayPicker as At}from"react-day-picker";import{jsx as be}from"react/jsx-runtime";function tt({className:e,classNames:t,showOutsideDays:a=!0,...o}){return be(At,{showOutsideDays:a,className:_("p-3",e),classNames:{months:"flex flex-col sm:flex-row gap-2",month:"flex flex-col gap-4",caption:"flex justify-center pt-1 relative items-center w-full",caption_label:"text-sm font-medium",nav:"flex items-center gap-1",nav_button:_(_e({variant:"outline"}),"size-7 bg-transparent p-0 opacity-50 hover:opacity-100"),nav_button_previous:"absolute left-1",nav_button_next:"absolute right-1",table:"w-full border-collapse space-x-1",head_row:"flex",head_cell:"text-muted-foreground rounded-md w-8 font-normal text-[0.8rem]",row:"flex w-full mt-2",cell:_("relative p-0 text-center text-sm focus-within:relative focus-within:z-20 [&:has([aria-selected])]:bg-accent [&:has([aria-selected].day-range-end)]:rounded-r-md",o.mode==="range"?"[&:has(>.day-range-end)]:rounded-r-md [&:has(>.day-range-start)]:rounded-l-md first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md":"[&:has([aria-selected])]:rounded-md"),day:_(_e({variant:"ghost"}),"size-8 p-0 font-normal aria-selected:opacity-100"),day_range_start:"day-range-start aria-selected:bg-primary aria-selected:text-primary-foreground",day_range_end:"day-range-end aria-selected:bg-primary aria-selected:text-primary-foreground",day_selected:"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground",day_today:"bg-accent text-accent-foreground",day_outside:"day-outside text-muted-foreground aria-selected:text-muted-foreground",day_disabled:"text-muted-foreground opacity-50",day_range_middle:"aria-selected:bg-accent aria-selected:text-accent-foreground",day_hidden:"invisible",...t},components:{IconLeft:r(({className:l,...d})=>be(Bt,{className:_("size-4",l),...d}),"IconLeft"),IconRight:r(({className:l,...d})=>be(Ot,{className:_("size-4",l),...d}),"IconRight")},...o})}r(tt,"Calendar");import*as A from"@radix-ui/react-popover";import{jsx as le}from"react/jsx-runtime";function ie({...e}){return le(A.Root,{"data-slot":"popover",...e})}r(ie,"Popover");function me({...e}){return le(A.Trigger,{"data-slot":"popover-trigger",...e})}r(me,"PopoverTrigger");function de({className:e,align:t="center",sideOffset:a=4,...o}){return le(A.Portal,{children:le(A.Content,{"data-slot":"popover-content",align:t,sideOffset:a,className:_("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",e),...o})})}r(de,"PopoverContent");import{format as ot}from"date-fns";import{Fragment as zt,jsx as E,jsxs as Se}from"react/jsx-runtime";function rt({description:e,label:t,name:a,minDate:o,onChange:l,component:d,...c}){let{components:F}=b(),{control:f}=x(),i;return c.meta?.mot&&typeof c.meta.mot=="number"?i=Oe(c.meta.mot):o&&(i=new Date(o)),E(k,{control:f,name:a,render:({field:n,fieldState:u})=>{let m=d||F?.date;if(m){let s={description:e,label:t,name:a,onChange:l,...i&&{minDate:i.toISOString()},...c};return E(m,{field:{...n,onChange:r(g=>{n.onChange(g),l?.(g)},"onChange")},fieldState:u,fieldData:s})}return Se(w,{"data-field":a,className:`flex flex-col RemoteFlows__DatePickerField__Item__${a}`,children:[E(N,{className:"RemoteFlows__DatePickerField__Label",children:t}),Se(ie,{children:[E(me,{asChild:!0,children:E(P,{children:E("div",{children:Se($,{type:"button",variant:"outline",className:_("w-full pl-3 text-left font-normal",!n.value&&"text-muted-foreground"),"data-testid":`date-picker-button-${a}`,children:[n.value&&E(zt,{children:ot(n.value,"yyyy-MM-dd")}),E(Ut,{className:"ml-auto h-4 w-4 opacity-50"})]})})})}),E(de,{className:"w-auto p-0 RemoteFlows__DatepickerField__PopoverContent",align:"start",children:E(tt,{mode:"single",className:"RemoteFlows__DatepickerField__Calendar",selected:n.value?new Date(n.value):void 0,onSelect:s=>{n.onChange(s?ot(s,"yyyy-MM-dd"):null),l?.(s)},defaultMonth:i,components:{DayContent:r(s=>E(Vt,{children:s.date.getDate()}),"DayContent")},...i&&{disabled:r(s=>s<i,"disabled")}})})]}),e?E(R,{children:e}):null,u.error&&E(D,{className:"RemoteFlows__DatePickerField__Error"})]})}})}r(rt,"DatePickerField");import{useState as Gt,useRef as Jt}from"react";import{Upload as qt,X as Kt}from"lucide-react";import{jsx as U,jsxs as ke}from"react/jsx-runtime";function at({onChange:e,className:t,multiple:a}){let[o,l]=Gt([]),d=Jt(null),c=r(i=>{i.preventDefault(),d.current?.click()},"handleClick"),F=r(i=>{if(i.target.files&&i.target.files.length>0){let n=Array.from(i.target.files);l(n),e(i)}},"handleChange"),f=r(i=>{l(n=>n.filter(u=>u!==i))},"onRemoveFile");return ke("div",{className:_("flex flex-col items-start gap-4",t),children:[U("input",{type:"file",ref:d,onChange:F,className:"hidden","aria-label":"File upload",multiple:a}),ke($,{type:"button",onClick:c,className:"gap-2",children:[U(qt,{className:"h-4 w-4"}),"Choose File"]}),o.length===0&&U("div",{className:"text-sm",children:a?U("span",{className:"font-medium",children:"No files selected. You can select multiple files"}):U("span",{className:"font-medium",children:"No file selected."})}),o.length>0&&o.map((i,n)=>ke("div",{className:"text-sm flex items-center gap-2",children:["Selected file: ",U("span",{className:"font-medium",children:i.name})," (",Math.round(i.size/1024)," KB)",U($,{variant:"ghost",onClick:()=>f(i),children:U(Kt,{})})]},n))]})}r(at,"FileUploader");import{jsx as V,jsxs as jt}from"react/jsx-runtime";var Yt=r(e=>new Promise((t,a)=>{let o=new FileReader;o.readAsDataURL(e),o.onload=()=>t(o.result),o.onerror=l=>a(l)}),"toBase64"),nt=r(async e=>{let t=e.target.files?Array.from(e.target.files):[];return await Promise.all(t.map(async o=>{let l=await Yt(o);return{name:o.name,content:l.split(",")[1]}}))},"convertFilesToBase64");function st({name:e,description:t,label:a,multiple:o,onChange:l,component:d,...c}){let{components:F}=b(),{control:f}=x();return V(k,{control:f,name:e,render:({field:i,fieldState:n})=>{let u=d||F?.file;if(u){let m={name:e,description:t,label:a,multiple:o,...c};return V(u,{field:{...i,value:null,onChange:r(async s=>{let g=await nt(s);i.onChange(g),l?.(g)},"onChange")},fieldState:n,fieldData:m})}return jt(w,{"data-field":e,className:`RemoteFlows__FileUpload__Item__${e}`,children:[V(N,{className:"RemoteFlows__FileUpload__Label",children:a}),V(P,{children:V(at,{onChange:async m=>{let s=await nt(m);i.onChange(s),l?.(s)},multiple:o,className:_("RemoteFlows__FileUpload__Input")})}),t&&V("div",{className:"flex items-center justify-between",children:V(R,{className:"RemoteFlows__FileUpload__Description",children:t})}),n.error&&V(D,{className:"RemoteFlows__FileUpload__Error"})]})}})}r(st,"FileUploadField");import{jsx as Ne}from"react/jsx-runtime";function ce(e){let{components:t}=b(),{control:a}=x(),o=e.component||t?.number;return o?Ne(k,{control:a,name:e.name,render:({field:l,fieldState:d})=>Ne(o,{field:{...l,onChange:r(c=>{l.onChange(c),e.onChange?.(c)},"onChange")},fieldState:d,fieldData:e})}):Ne(B,{...e,type:"text",inputMode:"decimal",pattern:"^[0-9.]*$"})}r(ce,"NumberField");import{Fragment as Xt}from"react";import{jsx as W,jsxs as we}from"react/jsx-runtime";function lt({name:e,defaultValue:t,description:a,label:o,options:l,onChange:d,component:c,...F}){let{components:f}=b(),{control:i}=x();return W(k,{control:i,name:e,defaultValue:t,render:({field:n,fieldState:u})=>{let m=c||f?.radio;if(m){let s={name:e,defaultValue:t,description:a,label:o,options:l,...F};return W(m,{field:{...n,onChange:r(g=>{n.onChange(g),d?.(g)},"onChange")},fieldState:u,fieldData:s})}return we(w,{className:_("space-y-3",`RemoteFlows__RadioGroupField__Item__${e}`),"data-field":e,children:[W(N,{children:o}),W(P,{children:W(Ue,{"aria-label":o||e,onValueChange:s=>{n.onChange(s),d?.(s)},value:n.value,className:"flex flex-col space-y-3",children:l?.map(s=>W(Xt,{children:we(w,{"data-field":e,className:"flex items-start space-x-3 space-y-0 gap-0 RemoteFlows__RadioField__Item",children:[W(P,{children:W(Ve,{value:s.value,className:"RemoteFlows__RadioField__Input",disabled:s.disabled})}),we("div",{children:[W(N,{className:"font-normal mb-0 RemoteFlows__RadioField__Label",children:s.label}),s.description&&W(R,{className:"mt-2",children:s.description})]})]})},s.value))})}),a&&W(R,{children:a}),u.error&&W(D,{})]})}})}r(lt,"RadioGroupField");import{jsx as M,jsxs as it}from"react/jsx-runtime";function mt({label:e,name:t,options:a,defaultValue:o,description:l,onChange:d,component:c,...F}){let{control:f}=x(),{components:i}=b();return M(k,{defaultValue:o,control:f,name:t,render:({field:n,fieldState:u})=>{let m=c||i?.select;if(m){let s={label:e,name:t,options:a,defaultValue:o,description:l,onChange:d,...F};return M(m,{field:{...n,onChange:r(g=>{let p=F.jsonType==="number"?Number(g):g;n.onChange(p),d?.(p)},"onChange")},fieldState:u,fieldData:s})}return it(w,{"data-field":t,className:`RemoteFlows__SelectField__Item__${t}`,children:[M(N,{className:"RemoteFlows__SelectField__Label",children:e}),M(P,{children:M("div",{className:"relative",children:it(ze,{value:n.value||"",onValueChange:s=>{let g=F.jsonType==="number"?Number(s):s;n.onChange(g),d?.(g)},children:[M(qe,{className:"RemoteFlows__SelectField__Trigger","aria-invalid":!!u.error,"aria-label":e,children:M("span",{className:"absolute",children:M(Je,{placeholder:e})})}),M(Ke,{className:"RemoteFlows__SelectField__Content",children:M(Ge,{className:"RemoteFlows__SelectField__Group",children:a.map(s=>M(Ye,{value:s.value,className:"RemoteFlows__SelectField__SelectItem",disabled:s.disabled,children:s.label},s.value))})})]})})}),l&&M(R,{children:l}),u.error&&M(D,{})]})}})}r(mt,"SelectField");import{useState as ro}from"react";import{Fragment as Qt,useState as Zt}from"react";import{Check as eo,ChevronDownIcon as to,X as oo}from"lucide-react";import{Command as Y}from"cmdk";import{SearchIcon as jr}from"lucide-react";import{jsx as j,jsxs as ea}from"react/jsx-runtime";function dt({className:e,...t}){return j(Y,{"data-slot":"command",className:_("bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",e),...t})}r(dt,"Command");function ct({className:e,...t}){return j(Y.List,{"data-slot":"command-list",className:_("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",e),...t})}r(ct,"CommandList");function ut({...e}){return j(Y.Empty,{"data-slot":"command-empty",className:"py-6 text-center text-sm",...e})}r(ut,"CommandEmpty");function pt({className:e,...t}){return j(Y.Group,{"data-slot":"command-group",className:_("text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium",e),...t})}r(pt,"CommandGroup");function ft({className:e,...t}){return j(Y.Separator,{"data-slot":"command-separator",className:_("bg-border -mx-1 h-px",e),...t})}r(ft,"CommandSeparator");function Ft({className:e,...t}){return j(Y.Item,{"data-slot":"command-item",className:_("data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...t})}r(Ft,"CommandItem");import{jsx as L,jsxs as X}from"react/jsx-runtime";function ue({options:e,selected:t,onChange:a,placeholder:o,...l}){let[d,c]=Zt(!1),F=r(n=>{a(t.filter(u=>u.value!==n.value))},"handleUnselect"),f=e.some(n=>n.category),i=e.reduce((n,u)=>{let m=u.category||"Uncategorized";return n[m]||(n[m]=[]),n[m].push(u),n},{});return X(ie,{open:d,onOpenChange:c,...l,children:[L(me,{children:X($,{variant:"outline",role:"combobox","aria-expanded":d,className:"w-full justify-between font-normal",type:"button",children:[L("div",{className:"flex gap-1 flex-wrap overflow-x-auto max-h-[2.5rem] items-center",children:t.length>0?t.map(n=>X(je,{variant:"secondary",className:"mr-1 mb-1",children:[n.label,L("div",{role:"button",tabIndex:0,"aria-label":`remove ${n.label}`,className:"ml-1 ring-offset-background rounded-full outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 cursor-pointer",onKeyDown:u=>{u.key==="Enter"&&F(n)},onMouseDown:u=>{u.preventDefault(),u.stopPropagation()},onClick:()=>F(n),children:L(oo,{className:"h-3 w-3 text-muted-foreground hover:text-foreground"})})]},n.label)):L("span",{className:"text-foreground",children:o})}),L(to,{className:"size-4"})]})}),L(de,{align:"start",className:"w-full p-0",children:L(dt,{children:X(ct,{children:[L(ut,{children:"No item found."}),Object.entries(i).map(([n,u],m)=>X(Qt,{children:[m>0&&L(ft,{}),L(pt,{heading:f?n:void 0,children:u.map(s=>{let g=t.some(p=>p.value===s.value);return X(Ft,{onSelect:()=>{a(g?t.filter(p=>p.value!==s.value):[...t,s])},children:[L(eo,{className:_("mr-2 h-4 w-4",g?"opacity-100":"opacity-0")}),s.label]},s.label)})})]},n))]})})})]})}r(ue,"MultiSelect");import{jsx as J,jsxs as ao}from"react/jsx-runtime";function gt({label:e,name:t,options:a,defaultValue:o,description:l,onChange:d,$meta:c,component:F,...f}){let{control:i}=x(),{components:n}=b(),[u,m]=ro([]);return J(k,{defaultValue:o,control:i,name:t,render:({field:s,fieldState:g})=>{let p=F||n?.countries;if(p){let C={label:e,name:t,options:a,defaultValue:o,description:l,onChange:d,$meta:c,...f};return J(p,{field:{...s,onChange:r(T=>{s.onChange(T),d?.(T)},"onChange")},fieldState:g,fieldData:C})}let h=[...Object.entries(c?.regions||{}).map(([C,T])=>({value:T,label:C,category:"Regions"})),...Object.entries(c?.subregions||{}).map(([C,T])=>({value:T,label:C,category:"Subregions"})),...a.map(C=>({...C,value:C.value,label:C.label,category:"Countries"}))],S=r(C=>{let T=C.map(({value:G})=>G);s.onChange(T),d?.(T),m(C)},"handleChange");return ao(w,{"data-field":t,className:`RemoteFlows__CountryField__Item__${t}`,children:[J(N,{className:"RemoteFlows__CountryField__Label",children:e}),J(P,{children:J(ue,{options:h,selected:u,onChange:S,...f})}),l&&J(R,{children:l}),g.error&&J(D,{})]})}})}r(gt,"CountryField");import*as ht from"react";import{jsx as no}from"react/jsx-runtime";var Pe=ht.forwardRef(({className:e,...t},a)=>no("textarea",{className:_("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:a,...t}));Pe.displayName="Textarea";import{jsx as q,jsxs as Re}from"react/jsx-runtime";function _t({name:e,description:t,label:a,onChange:o,maxLength:l,component:d,...c}){let{components:F}=b(),{control:f}=x();return q(k,{control:f,name:e,render:({field:i,fieldState:n})=>{let u=d||F?.textarea;if(u){let s={name:e,description:t,label:a,maxLength:l,...c};return q(u,{field:{...i,onChange:r(g=>{i.onChange(g),o?.(g)},"onChange")},fieldState:n,fieldData:s})}let m=i.value?.length??0;return Re(w,{"data-field":e,className:`RemoteFlows__TextArea__Item__${e}`,children:[q(N,{className:"RemoteFlows__TextArea__Label",children:a}),q(P,{children:q(Pe,{...i,value:i.value??"",onChange:s=>{i.onChange(s),o?.(s)},className:_(n.error&&"border-red-500 focus-visible:ring-red-500","RemoteFlows__TextArea__Input"),placeholder:a})}),(t||l)&&Re("div",{className:"flex items-center justify-between",children:[t&&q(R,{className:"RemoteFlows__TextArea__Description",children:t}),l&&Re("span",{className:"text-sm ml-auto RemoteFlows__TextArea__MaxLength",children:[m,"/",l]})]}),n.error&&q(D,{className:"RemoteFlows__TextArea__Error"})]})}})}r(_t,"TextAreaField");import{jsx as De}from"react/jsx-runtime";function yt(e){let{components:t}=b(),{control:a}=x(),o=e.component||t?.email;return o?De(k,{control:a,name:e.name,render:({field:l,fieldState:d})=>De(o,{field:{...l,onChange:r(c=>{l.onChange(c),e.onChange?.(c)},"onChange")},fieldState:d,fieldData:e})}):De(B,{...e,type:"email"})}r(yt,"EmailField");import{jsx as vt}from"react/jsx-runtime";function Ct(e){let{control:t}=x();return vt(k,{control:t,name:e.name,render:({field:a})=>vt("input",{...a,type:"hidden"})})}r(Ct,"HiddenField");import po,{useEffect as fo,useState as Dt}from"react";var xt=r((e,t,a)=>{if(e&&"reportValidity"in e){let o=re(a,t);e.setCustomValidity(o&&o.message||""),e.reportValidity()}},"r"),Te=r((e,t)=>{for(let a in t.fields){let o=t.fields[a];o&&o.ref&&"reportValidity"in o.ref?xt(o.ref,a,e):o&&o.refs&&o.refs.forEach(l=>xt(l,a,e))}},"o"),St=r((e,t)=>{t.shouldUseNativeValidation&&Te(e,t);let a={};for(let o in e){let l=re(t.fields,o),d=Object.assign(e[o]||{},{ref:l&&l.ref});if(so(t.names||Object.keys(e),o)){let c=Object.assign({},re(a,o));ae(c,"root",d),ae(a,o,c)}else ae(a,o,d)}return a},"s"),so=r((e,t)=>{let a=bt(t);return e.some(o=>bt(o).match(`^${a}\\.\\d+`))},"i");function bt(e){return e.replace(/\]|\[/g,"")}r(bt,"n");function kt(e,t,a){return t===void 0&&(t={}),a===void 0&&(a={}),function(o,l,d){try{return Promise.resolve(function(c,F){try{var f=(t.context&&process.env.NODE_ENV==="development"&&console.warn("You should not used the yup options context. Please, use the 'useForm' context object instead"),Promise.resolve(e[a.mode==="sync"?"validateSync":"validate"](o,Object.assign({abortEarly:!1},t,{context:l}))).then(function(i){return d.shouldUseNativeValidation&&Te({},d),{values:a.raw?Object.assign({},o):i,errors:{}}}))}catch(i){return F(i)}return f&&f.then?f.then(void 0,F):f}(0,function(c){if(!c.inner)throw c;return{values:{},errors:St((F=c,f=!d.shouldUseNativeValidation&&d.criteriaMode==="all",(F.inner||[]).reduce(function(i,n){if(i[n.path]||(i[n.path]={message:n.message,type:n.type}),f){var u=i[n.path].types,m=u&&u[n.type];i[n.path]=Le(n.path,f,i,n.type,m?[].concat(m,n.message):n.message)}return i},{})),d)};var F,f}))}catch(c){return Promise.reject(c)}}}r(kt,"o");import*as I from"yup";import Nt from"lodash.groupby";import Q from"lodash.capitalize";var wt=60,pe=["monday","tuesday","wednesday","thursday","friday","saturday","sunday"];function lo(e){if(e<60)return`${e}m`;let t=Math.floor(e/wt),a=e%wt;return a>0?`${t}h${a}m`:`${t}h`}r(lo,"convertBreakDurationToHours");function Pt(e){let t=e.reduce((a,o)=>o.hours+a,0);return Number(t.toFixed(2))}r(Pt,"calculateTotalWorkHours");function io(e,t){let a=t.map(({day:d})=>d.toLowerCase()),o=a.indexOf(e),l=null;for(;o<a.length&&!l;){let d=a[o],c=a[o+1],F=pe.indexOf(d)+1;pe[F]===c||(l=d),o+=1}return l}r(io,"findLastConsecutiveDay");function mo(e){return e.start_time&&e.end_time&&(typeof e.hours=="number"?e.hours:Number.parseInt(e.hours))>0}r(mo,"shouldSummarizeSchedule");function co(e){return Number.parseInt(e.break_duration_minutes)>0}r(co,"shouldSummarizeBreaks");function Rt(e){let t=e.filter(mo),a=Nt(t,F=>`${F.start_time}|${F.end_time}`),o=e.filter(co),l=Nt(o,"break_duration_minutes"),d=Object.keys(a).map(F=>{let f=a[F],i=f[0].day,[n,u]=F.split("|"),m=`from <span>${n.replace(":","h")}</span> to <span>${u.replace(":","h")}</span>`,s=io(i,f),p=(s?f.findIndex(h=>h.day===s):-1)===f.length-1;return f.length===1?`${Q(i)}, ${m}`:!p||!s?f.reduce((h,S,C)=>{let T=Q(S.day);return C===f.length-1?`${h}and ${T}, ${m}`:`${h}<span>${T}</span>, `},""):`<span>${Q(i)}</span> to <span>${Q(s)}</span>, ${m}`}),c=Object.keys(l).reverse().map((F,f)=>{let i=f===0,n=l[F],u=lo(parseInt(F,10));if(Object.keys(l).length===1)return`With ${u} daily breaks`;if(n.length===1){let m=`${u} break on ${Q(n[0].day)}.`;return i?`With ${m}`:m}return n.reduce((m,s,g)=>{let p=Q(s.day);return g===0?`${m} ${p}`:g===n.length-1?`${m}, and ${p}.`:`${m}, ${p}`},i?`With ${u} break on`:`${u} break on`)});return{workHoursSummary:d,breakSummary:c}}r(Rt,"buildWorkScheduleSummary");function Ie(e){let{checked:t,start_time:a,end_time:o,break_duration_minutes:l}=e;if(!t)return 0;let[d,c]=a.split(":").map(Number),[F,f]=o.split(":").map(Number),i=d*60+c,m=(F*60+f-i-Number.parseInt(l||"0"))/60;return m===Math.floor(m)?m:Number(m.toFixed(2))}r(Ie,"calculateHours");var uo={monday:"Mon",tuesday:"Tue",wednesday:"Wed",thursday:"Thu",friday:"Fri",saturday:"Sat",sunday:"Sun"};function fe(e){return uo[e]}r(fe,"getShortWeekday");import{jsx as y,jsxs as H}from"react/jsx-runtime";var Fo=I.object({day:I.string().required(),checked:I.boolean().required(),start_time:I.string().matches(/^([01]\d|2[0-3]):([0-5]\d)$/,"Invalid time format (HH:mm)").when("checked",{is:!0,then:r(e=>e.required("Required"),"then"),otherwise:r(e=>e.optional().nullable(),"otherwise")}),end_time:I.string().matches(/^([01]\d|2[0-3]):([0-5]\d)$/,"Invalid time format (HH:mm)").when("checked",{is:!0,then:r(e=>e.required("Required"),"then"),otherwise:r(e=>e.optional().nullable(),"otherwise")}),hours:I.number().default(0),break_duration_minutes:I.string().default("0")}),go=I.object({schedule:I.array(Fo)});function ho({defaultSchedule:e,onSubmit:t}){let[a,o]=Dt(!1),l=pe.map(p=>{let h=e.find(S=>S.day.toLowerCase()===fe(p).toLowerCase()||S.day.toLowerCase()===p.toLowerCase());return h?{...h,day:fe(p),checked:!0}:{...e[0],checked:!1,day:fe(p)}}),d=Be({defaultValues:{schedule:l},resolver:kt(go)}),{handleSubmit:c,watch:F,reset:f,control:i,formState:n}=d,{fields:u}=He({name:"schedule",control:i}),m=F("schedule");function s(p){let h=p.schedule.filter(({checked:S})=>S).map(S=>({...S,hours:Ie(S)}));t(h),o(!1)}r(s,"handleSubmitWorkingHours");function g(){f(),o(!1)}return r(g,"handleCancel"),y("div",{className:"flex items-center justify-between",children:H(ye,{open:a,onOpenChange:o,children:[y(Xe,{asChild:!0,children:y($,{variant:"link",className:"flex items-center p-0 RemoteFlows__WorkScheduleSelectionForm__Trigger",children:"Edit Schedule"})}),H(ve,{className:"max-w-5xl max-h-[90vh] overflow-y-auto px-8 py-4 RemoteFlows__WorkScheduleSelectionForm__Content",children:[y(Ce,{children:y(xe,{className:"RemoteFlows__WorkScheduleSelectionForm__Title",children:"Edit employee working hours"})}),y(Ae,{...d,children:H("form",{className:"space-y-4 RemoteFlows__WorkScheduleSelectionForm__Form",children:[H("div",{className:"rounded-lg",children:[y("p",{className:"text-gray-600 text-sm mb-4 RemoteFlows__WorkScheduleSelectionForm__Description",children:"The times displayed are in the employee's time zone in the 24-hour format."}),H("div",{className:"grid grid-cols-12 gap-4 text-sm font-medium text-gray-500 uppercase tracking-wide RemoteFlows__WorkScheduleSelectionForm__Header",children:[y("div",{className:"col-span-2"}),y("div",{className:"col-span-3 text-center",children:"START"}),y("div",{className:"col-span-1 text-center"}),y("div",{className:"col-span-3 text-center",children:"END"}),y("div",{className:"col-span-2 text-center",children:"HOURS"})]}),y("div",{className:"RemoteFlows__WorkScheduleSelectionForm__Rows",children:u.map((p,h)=>{let S=m[h],C=Ie(S);return H(po.Fragment,{children:[H("div",{className:"grid grid-cols-12 gap-4 items-center py-2 RemoteFlows__WorkScheduleSelectionForm__Row-Hours",children:[y("div",{className:"col-span-2 flex items-center gap-3",children:y(se,{label:p.day,name:`schedule.${h}.checked`})}),y("div",{className:"col-span-3",children:y(B,{name:`schedule.${h}.start_time`,includeErrorMessage:!1})}),y("div",{className:"col-span-1 text-center text-gray-500",children:"to"}),y("div",{className:"col-span-3",children:y(B,{name:`schedule.${h}.end_time`,includeErrorMessage:!1})}),y("div",{className:"col-span-2 text-center text-gray-600",children:isNaN(C)?"-":`${C} hours`})]}),H("div",{className:"grid grid-cols-12 gap-4 items-center py-2 RemoteFlows__WorkScheduleSelectionForm__Row-Break",children:[y("div",{className:"col-span-2 text-gray-500",children:"Break"}),y("div",{className:"col-span-2",children:y(B,{name:`schedule.${h}.break_duration_minutes`,includeErrorMessage:!1})}),y("div",{className:"col-span-2 text-gray-500",children:"minutes"}),y("div",{className:"col-span-4"})]})]},p.id)})})]}),Object.keys(n.errors).length>0&&y("p",{className:"text-destructive text-sm mb-0",children:"Invalid time format (HH:mm)"}),H("div",{className:"flex gap-4 pt-4",children:[y($,{type:"button",className:"reset-button",variant:"outline",onClick:g,children:"Cancel"}),y($,{type:"button",className:"submit-button",onClick:c(s),children:"Save Schedule"})]})]})})]})]})})}r(ho,"WorkScheduleSelectionForm");function Tt(e){let{components:t}=b(),{setValue:a,control:o,watch:l}=x(),d=l(e.name),[c,F]=Dt(d),{workHoursSummary:f,breakSummary:i}=Rt(c),n=Pt(c);fo(()=>{a(e.name,c)},[c,e.name,a]);function u(s){F(s)}r(u,"onSubmit");let m=e.component||t?.["work-schedule"];return m?y(k,{control:o,name:e.name,render:({field:s,fieldState:g})=>y(m,{field:{...s,onChange:r(p=>{s.onChange(p),e.onChange?.(p)},"onChange")},fieldState:g,fieldData:{...e,defaultFormattedValue:{workHoursSummary:f,breakSummary:i,totalWorkHours:n}}})}):H("div",{className:"flex flex-col gap-3 RemoteFlows__WorkScheduleField",children:[y("p",{className:"text-sm RemoteFlows__WorkScheduleField__Title",children:"Work hours"}),H("div",{className:"flex flex-col gap-1 RemoteFlows__WorkScheduleField__Summary",children:[y("p",{className:"text-sm text-gray-500 RemoteFlows__WorkScheduleField__Summary__WorkHours",dangerouslySetInnerHTML:{__html:f.join(", ")}}),y("p",{className:"text-sm text-gray-500 RemoteFlows__WorkScheduleField__Summary__Break",children:i.join()}),H("p",{className:"text-sm text-gray-500 RemoteFlows__WorkScheduleField__Summary__Total",children:["Total of ",y("span",{children:n})," hours per week"]}),y(ho,{defaultSchedule:c,onSubmit:u})]})]})}r(Tt,"WorkScheduleField");import{useState as _o}from"react";import{jsx as K,jsxs as yo}from"react/jsx-runtime";function It({label:e,name:t,options:a,defaultValue:o,description:l,onChange:d,component:c,...F}){let{control:f}=x(),{components:i}=b(),[n,u]=_o();return K(k,{defaultValue:o,control:f,name:t,render:({field:m,fieldState:s})=>{let g=c||i?.["multi-select"];if(g){let h={label:e,name:t,options:a,defaultValue:o,description:l,onChange:d,...F};return K(g,{field:{...m,onChange:r(S=>{m.onChange(S),d?.(S)},"onChange")},fieldState:s,fieldData:h})}let p=n||a.filter(h=>m.value.includes(h.value));return yo(w,{"data-field":t,className:`RemoteFlows__SelectField__Item__${t}`,children:[K(N,{className:"RemoteFlows__SelectField__Label",children:e}),K(P,{children:K(ue,{options:a,selected:p,onChange:h=>{let S=h.map(({value:C})=>C);m.onChange(S),d?.(S),u(h)},...F})}),l&&K(R,{children:l}),s.error&&K(D,{})]})}})}r(It,"MultiSelectField");import{jsx as vo}from"react/jsx-runtime";var $t=r(e=>vo(ce,{maxLength:15,...e}),"MoneyField");var $e={checkbox:se,text:B,email:yt,money:$t,select:mt,"multi-select":It,radio:lt,number:ce,file:st,date:rt,textarea:_t,countries:gt,hidden:Ct,"work-schedule":Tt};import{AlertCircle as Co}from"lucide-react";import{jsx as Fe,jsxs as xo}from"react/jsx-runtime";function Et({title:e,description:t,severity:a}){let{components:o}=b();if(o?.statement){let l=o?.statement;return Fe(l,{data:{title:e,description:ee(t),severity:a}})}return xo(Qe,{variant:"warning",children:[Fe(Co,{className:"h-4 w-4"}),e&&Fe(Ze,{children:e}),t&&Fe(et,{dangerouslySetInnerHTML:{__html:ee(t)}})]})}r(Et,"Statement");import{Fragment as bo,useEffect as So,useRef as Mt}from"react";import{jsx as z,jsxs as te}from"react/jsx-runtime";var ko=r(({isExpanded:e,onToggle:t,className:a,...o})=>z($,{type:"button",className:_("RemoteFlows__Button RemoteFlows__FieldSetField__ToggleButton",a),variant:"default",onClick:t,...o,children:e?"Remove":"Define"}),"DefaultToggleButton");function ss({label:e,name:t,fields:a,description:o,components:l,statement:d,isFlatFieldset:c,extra:F,variant:f="outset",features:i}){let{watch:n,setValue:u,trigger:m,formState:s}=x(),{components:g}=b(),p=i?.toggle?.stateField,h=p?n(p):i?.toggle?.defaultExpanded??!0,S=a.map(({name:v})=>`${t}.${v}`),C=n(S),T=Mt(C),G=Mt(null),Wt=r(()=>{p&&u(p,!h)},"toggleExpanded");So(()=>{let v=C,oe=T.current,ge=s.isSubmitted||s.submitCount>0,We=!1;for(let Z=0;Z<v.length;Z++)if(v[Z]!==void 0&&oe[Z]!==v[Z]){We=!0;break}return We&&ge&&(G.current&&clearTimeout(G.current),G.current=setTimeout(()=>{m()},50)),T.current=[...v],()=>{G.current&&clearTimeout(G.current)}},[C,m,s.isSubmitted,s.submitCount]);let Lt=g?.fieldsetToggle||ko,Ee=`${t}-content`,Me=`${t}-header`;return te("fieldset",{className:_("border-1 border-input p-4 rounded-xl","RemoteFlows__FieldSetField",`RemoteFlows__FieldSetField__${t}`),children:[z("legend",{className:_("text-sm font-semibold px-2",f==="inset"&&"hidden"),children:e}),f==="inset"&&te("div",{className:"RemoteFlows__FieldSetField__Header",id:Me,"data-state":h?"expanded":"collapsed","aria-expanded":h,children:[z("h3",{className:_("RemoteFlows__FieldSetField__Title"),children:e}),i?.toggle?.enabled&&z(Lt,{isExpanded:h,onToggle:Wt,"aria-expanded":h,"aria-controls":Ee,"aria-label":`${h?"Hide":"Show"} ${e}`,className:_("RemoteFlows__FieldSetField__Toggle",i.toggle?.className),children:h?i.toggle.labels?.collapse??"Remove":i.toggle.labels?.expand??"Define"})]}),h&&te("div",{id:Ee,"aria-labelledby":Me,role:"region",children:[o?z("div",{className:"mb-5 RemoteFlows__FieldSetField__Description",dangerouslySetInnerHTML:{__html:ee(o)}}):null,te("div",{className:"grid gap-4",children:[a.map(v=>{v.calculateDynamicProperties&&(v={...v,...v.calculateDynamicProperties(C,v)||{}});let oe=$e[v.type];if(v.isVisible===!1||v.deprecated)return null;if(v.Component){let{Component:ge}=v;return z(ge,{...v},v.name)}return v.type==="select"&&v.multiple&&(oe=$e["multi-select"]),te(bo,{children:[z(oe,{...v,name:`${c?v.name:`${t}.${v.name}`}`,component:l?.[v.type]}),v.extra?v.extra:null]},`${c?v.name:`${t}.${v.name}`}`)}),F||null,d?z(Et,{...d}):null]})]})]})}r(ss,"FieldSetField");export{$e as a,Et as b,ss as c};
2
+ //# sourceMappingURL=chunk-4ULJIT4W.js.map