@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
@@ -0,0 +1,410 @@
1
+ import { t as EmploymentCreationResponse, A as EmploymentResponse, S as SuccessResponse, y as PostCreateEmployment2Error, B as PatchUpdateEmployment2Error, G as PutUpdateBenefitOfferError, u as Employment$1, z as EmploymentCreateParams } from './types.gen-Bb9d9VOg.js';
2
+ import * as react_jsx_runtime from 'react/jsx-runtime';
3
+ import { OnboardingBack } from './flows/Onboarding/components/OnboardingBack.js';
4
+ import { OnboardingInvite } from './flows/Onboarding/components/OnboardingInvite.js';
5
+ import { N as NormalizedFieldError, S as SuccessResponse$1, E as ErrorResponse } from './mutations-CK4Y5P1M.js';
6
+ import { OnboardingSubmit } from './flows/Onboarding/components/OnboardingSubmit.js';
7
+ import { C as Components, M as Meta, J as JSFFieldset } from './remoteFlows-CeiBUgpD.js';
8
+ import * as _tanstack_query_core from '@tanstack/query-core';
9
+ import * as React$1 from 'react';
10
+ import * as _remoteoss_json_schema_form from '@remoteoss/json-schema-form';
11
+ import { Fields } from '@remoteoss/json-schema-form';
12
+ import { Step } from './flows/useStepState.js';
13
+ import { FieldValues } from 'react-hook-form';
14
+ import { FlowOptions, JSFModify } from './flows/types.js';
15
+ import { SaveDraftButton } from './flows/Onboarding/components/SaveDraftButton.js';
16
+
17
+ type BasicInformationStepProps = {
18
+ onSubmit?: (payload: BasicInformationFormPayload) => void | Promise<void>;
19
+ onSuccess?: (data: EmploymentCreationResponse) => void | Promise<void>;
20
+ onError?: ({ error, rawError, fieldErrors, }: {
21
+ error: Error;
22
+ rawError: Record<string, unknown>;
23
+ fieldErrors: NormalizedFieldError[];
24
+ }) => void;
25
+ };
26
+ declare function BasicInformationStep({ onSubmit, onSuccess, onError, }: BasicInformationStepProps): react_jsx_runtime.JSX.Element;
27
+
28
+ type ContractDetailsStepProps = {
29
+ onSubmit?: (payload: ContractDetailsFormPayload) => void | Promise<void>;
30
+ onSuccess?: (response: EmploymentResponse) => void | Promise<void>;
31
+ onError?: ({ error, rawError, fieldErrors, }: {
32
+ error: Error;
33
+ rawError: Record<string, unknown>;
34
+ fieldErrors: NormalizedFieldError[];
35
+ }) => void;
36
+ };
37
+ declare function ContractDetailsStep({ onSubmit, onError, onSuccess, }: ContractDetailsStepProps): react_jsx_runtime.JSX.Element;
38
+
39
+ type BenefitsStepProps = {
40
+ components?: Components;
41
+ /**
42
+ * Callback function to be called when the benefits form is submitted.
43
+ * It can be used to perform any additional validation or processing before
44
+ * the onboarding moves to the last step.
45
+ * @param values
46
+ * @returns
47
+ */
48
+ onSubmit?: (values: BenefitsFormPayload) => void | Promise<void>;
49
+ /**
50
+ * Callback function to be called when the submitting benefits form fails.
51
+ * @param error
52
+ * @returns
53
+ */
54
+ onError?: ({ error, rawError, fieldErrors, }: {
55
+ error: Error;
56
+ rawError: Record<string, unknown>;
57
+ fieldErrors: NormalizedFieldError[];
58
+ }) => void;
59
+ /**
60
+ * Callback function to be called when benefits form is successfully submitted.
61
+ * This function is called after the submitting benefits form is submitted.
62
+ * @param data
63
+ * @returns
64
+ */
65
+ onSuccess?: (data: SuccessResponse) => void | Promise<void>;
66
+ };
67
+ declare function BenefitsStep({ components, onSubmit, onError, onSuccess, }: BenefitsStepProps): react_jsx_runtime.JSX.Element;
68
+
69
+ type StepKeys = 'select_country' | 'basic_information' | 'contract_details' | 'benefits' | 'review';
70
+ declare const STEPS: Record<StepKeys, Step<StepKeys>>;
71
+ declare const STEPS_WITHOUT_SELECT_COUNTRY: Record<Exclude<StepKeys, 'select_country'>, Step<Exclude<StepKeys, 'select_country'>>>;
72
+ /**
73
+ * Array of employment statuses that are allowed to proceed to the review step.
74
+ * These statuses indicate that the employment is in a final state and the employment cannot be modified further.
75
+ * @type {Employment['status'][]}
76
+ * @constant
77
+ */
78
+ declare const reviewStepAllowedEmploymentStatus: Employment['status'][];
79
+ declare const disabledInviteButtonEmploymentStatus: Employment['status'][];
80
+
81
+ type OnboardingHookProps = Omit<OnboardingFlowProps, 'render'>;
82
+ declare const useOnboarding: ({ employmentId, companyId, countryCode, type, options, skipSteps, externalId, initialValues: onboardingInitialValues, }: OnboardingHookProps) => {
83
+ /**
84
+ * Employment id passed useful to be used between components
85
+ */
86
+ employmentId: string | undefined;
87
+ /**
88
+ * Credit risk status of the company, useful to know what to to show in the review step
89
+ * The possible values are:
90
+ * - not_started
91
+ * - ready
92
+ * - in_progress
93
+ * - referred
94
+ * - fail
95
+ * - deposit_required
96
+ * - no_deposit_required
97
+ */
98
+ creditRiskStatus: "fail" | "not_started" | "ready" | "in_progress" | "referred" | "deposit_required" | "no_deposit_required" | undefined;
99
+ /**
100
+ * Current state of the form fields for the current step.
101
+ */
102
+ fieldValues: FieldValues;
103
+ /**
104
+ * Current step state containing the current step and total number of steps
105
+ */
106
+ stepState: {
107
+ currentStep: Step<"benefits" | "review" | "basic_information" | "contract_details" | "select_country">;
108
+ totalSteps: number;
109
+ values: {
110
+ benefits: FieldValues;
111
+ review: FieldValues;
112
+ basic_information: FieldValues;
113
+ contract_details: FieldValues;
114
+ select_country: FieldValues;
115
+ } | null;
116
+ };
117
+ /**
118
+ * Array of form fields from the onboarding schema
119
+ */
120
+ fields: Fields;
121
+ /**
122
+ * Loading state indicating if the onboarding schema is being fetched
123
+ */
124
+ isLoading: boolean;
125
+ /**
126
+ * Loading state indicating if the onboarding mutation is in progress
127
+ */
128
+ isSubmitting: boolean;
129
+ /**
130
+ * Initial form values
131
+ */
132
+ initialValues: {
133
+ select_country: Record<string, unknown>;
134
+ basic_information: Record<string, unknown>;
135
+ contract_details: Record<string, unknown>;
136
+ benefits: Record<string, unknown>;
137
+ };
138
+ /**
139
+ * Function to validate form values against the onboarding schema
140
+ * @param values - Form values to validate
141
+ * @returns Validation result or null if no schema is available
142
+ */
143
+ handleValidation: (values: FieldValues) => {
144
+ yupError: _remoteoss_json_schema_form.$TSFixMe;
145
+ formErrors: _remoteoss_json_schema_form.$TSFixMe;
146
+ } | null;
147
+ /**
148
+ * Function to update the current form field values
149
+ * @param values - New form values to set
150
+ */
151
+ checkFieldUpdates: React$1.Dispatch<React$1.SetStateAction<FieldValues>>;
152
+ /**
153
+ * Function to parse form values before submission
154
+ * @param values - Form values to parse
155
+ * @returns Parsed form values
156
+ */
157
+ parseFormValues: (values: FieldValues) => FieldValues;
158
+ /**
159
+ * Function to handle form submission
160
+ * @param values - Form values to submit
161
+ * @returns Promise resolving to the mutation result
162
+ */
163
+ onSubmit: (values: FieldValues) => Promise<{
164
+ data: {
165
+ countryCode: any;
166
+ };
167
+ } | SuccessResponse$1<({
168
+ data: EmploymentCreationResponse;
169
+ error: undefined;
170
+ } | {
171
+ data: undefined;
172
+ error: PostCreateEmployment2Error;
173
+ }) & {
174
+ request: Request;
175
+ response: Response;
176
+ }> | ErrorResponse<Error> | SuccessResponse$1<({
177
+ data: EmploymentResponse;
178
+ error: undefined;
179
+ } | {
180
+ data: undefined;
181
+ error: PatchUpdateEmployment2Error;
182
+ }) & {
183
+ request: Request;
184
+ response: Response;
185
+ }> | SuccessResponse$1<({
186
+ data: SuccessResponse;
187
+ error: undefined;
188
+ } | {
189
+ data: undefined;
190
+ error: PutUpdateBenefitOfferError;
191
+ }) & {
192
+ request: Request;
193
+ response: Response;
194
+ }> | undefined>;
195
+ /**
196
+ * Function to handle going back to the previous step
197
+ * @returns {void}
198
+ */
199
+ back: () => void;
200
+ /**
201
+ * Function to handle going to the next step
202
+ * @returns {void}
203
+ */
204
+ next: () => void;
205
+ /**
206
+ * Function to handle going to a specific step
207
+ * @param step The step to go to.
208
+ * @returns {void}
209
+ */
210
+ goTo: (step: keyof typeof STEPS) => void;
211
+ /**
212
+ * Fields metadata for each step
213
+ */
214
+ meta: {
215
+ fields: {
216
+ select_country: Meta;
217
+ basic_information: Meta;
218
+ contract_details: Meta;
219
+ benefits: Meta;
220
+ };
221
+ fieldsets: JSFFieldset | null | undefined;
222
+ };
223
+ /**
224
+ * Function to refetch the employment data
225
+ * @returns {void}
226
+ */
227
+ refetchEmployment: (options?: _tanstack_query_core.RefetchOptions) => Promise<_tanstack_query_core.QueryObserverResult<(Employment$1 & {
228
+ termination_date?: string | null;
229
+ }) | undefined, Error>>;
230
+ /**
231
+ * Employment data
232
+ */
233
+ employment: (Employment$1 & {
234
+ termination_date?: string | null;
235
+ }) | undefined;
236
+ /**
237
+ * let's the user know that the employment cannot be edited, happens when employment.status is invited, created_awaiting_reserve or created_reserve_paid
238
+ * @returns {boolean}
239
+ */
240
+ isEmploymentReadOnly: boolean | undefined;
241
+ /**
242
+ * let's the user know if the company can invite employees
243
+ * @returns {boolean}
244
+ */
245
+ canInvite: boolean | undefined;
246
+ };
247
+
248
+ type SelectCountryStepProps = {
249
+ onSubmit?: (payload: SelectCountryFormPayload) => void | Promise<void>;
250
+ onSuccess?: (data: SelectCountrySuccess) => void | Promise<void>;
251
+ onError?: ({ error, rawError, fieldErrors, }: {
252
+ error: Error;
253
+ rawError: Record<string, unknown>;
254
+ fieldErrors: NormalizedFieldError[];
255
+ }) => void;
256
+ };
257
+ declare function SelectCountryStep({ onSubmit, onSuccess, onError, }: SelectCountryStepProps): react_jsx_runtime.JSX.Element;
258
+
259
+ type ReviewStepProps = {
260
+ /**
261
+ * Render prop function for customizing the review step credit risk flow UI
262
+ *
263
+ * @param props - Object containing credit risk information
264
+ * @param props.creditRiskState - Current state of the credit risk flow
265
+ * - 'referred': Company has been referred for manual review
266
+ * - 'deposit_required': Deposit payment is required but not yet paid
267
+ * - 'deposit_required_successful': Deposit payment has been successfully processed
268
+ * - 'invite': Regular invite flow is available (no deposit required)
269
+ * - 'invite_successful': Invitation has been successfully sent
270
+ * - null: No specific credit risk state applies
271
+ *
272
+ * @param props.creditRiskStatus - Credit risk status from the backend
273
+ * - 'not_started': Credit risk assessment has not been initiated
274
+ * - 'ready': Ready for credit risk assessment
275
+ * - 'in_progress': Credit risk assessment is in progress
276
+ * - 'referred': Company has been referred for manual review
277
+ * - 'fail': Credit risk assessment failed
278
+ * - 'deposit_required': Company requires a deposit payment
279
+ * - 'no_deposit_required': No deposit is required for this company
280
+ * - undefined: Credit risk status not yet determined
281
+ * @returns React.ReactNode to render for the review step
282
+ */
283
+ render: (props: {
284
+ creditRiskState: CreditRiskState;
285
+ creditRiskStatus: CreditRiskStatus | undefined;
286
+ }) => React.ReactNode;
287
+ };
288
+ declare function ReviewStep({ render }: ReviewStepProps): React$1.ReactNode;
289
+
290
+ type OnboardingRenderProps = {
291
+ /**
292
+ * The onboarding bag returned by the useOnboarding hook.
293
+ * This bag contains all the methods and properties needed to handle the onboarding flow.
294
+ * @see {@link useOnboarding}
295
+ */
296
+ onboardingBag: ReturnType<typeof useOnboarding>;
297
+ /**
298
+ * The components used in the onboarding flow.
299
+ * This includes different steps, submit button, back button.
300
+ * @see {@link BasicInformationStep}
301
+ * @see {@link ContractDetailsStep}
302
+ * @see {@link OnboardingSubmit}
303
+ * @see {@link OnboardingBack}
304
+ * @see {@link OnboardingInvite}
305
+ * @see {@link BenefitsStep}
306
+ * @see {@link OnboardingCreateReserve}
307
+ * @see {@link InvitationSection}
308
+ * @see {@link SelectCountryStep}
309
+ * @see {@link ReviewStep}
310
+ * @see {@link SaveDraftButton}
311
+ */
312
+ components: {
313
+ SubmitButton: typeof OnboardingSubmit;
314
+ BackButton: typeof OnboardingBack;
315
+ BasicInformationStep: typeof BasicInformationStep;
316
+ OnboardingInvite: typeof OnboardingInvite;
317
+ ContractDetailsStep: typeof ContractDetailsStep;
318
+ BenefitsStep: typeof BenefitsStep;
319
+ SelectCountryStep: typeof SelectCountryStep;
320
+ ReviewStep: typeof ReviewStep;
321
+ SaveDraftButton: typeof SaveDraftButton;
322
+ };
323
+ };
324
+ type OnboardingFlowProps = {
325
+ /**
326
+ * The country code to use for the onboarding.
327
+ */
328
+ countryCode?: string;
329
+ /**
330
+ * The employment id to use for the onboarding.
331
+ */
332
+ employmentId?: string;
333
+ /**
334
+ * The company id to use for the onboarding.
335
+ */
336
+ companyId: string;
337
+ /**
338
+ * Unique reference code for the employment record in a non-Remote system. This optional field links to external data sources.
339
+ * If not provided, it defaults to null. While uniqueness is recommended, it is not strictly enforced within Remote's system.
340
+ */
341
+ externalId?: string;
342
+ /**
343
+ * Initial values to pre-populate the form fields.
344
+ * These are flat field values that will be automatically mapped to the correct step.
345
+ * Server data will override these values. This happens when you pass employmentId and the server returns an employment object.
346
+ */
347
+ initialValues?: Record<string, unknown>;
348
+ /**
349
+ * The steps to skip for the onboarding. We only support skipping the select_country step for now.
350
+ */
351
+ skipSteps?: ['select_country'];
352
+ /**
353
+ * The type of employment to use for the onboarding. Employee or contractor.
354
+ */
355
+ type?: EmploymentCreateParams['type'];
356
+ /**
357
+ * The options to use for the onboarding.
358
+ */
359
+ options?: Omit<FlowOptions, 'jsfModify'> & {
360
+ jsfModify?: {
361
+ select_country?: JSFModify;
362
+ basic_information?: JSFModify;
363
+ contract_details?: JSFModify;
364
+ benefits?: JSFModify;
365
+ };
366
+ };
367
+ /**
368
+ * The render prop function with the params passed by the useOnboarding hook and the components available to use for this flow
369
+ */
370
+ render: ({ onboardingBag, components, }: OnboardingRenderProps) => React.ReactNode;
371
+ };
372
+ type SelectCountryFormPayload = {
373
+ countryCode: string;
374
+ };
375
+ type SelectCountrySuccess = {
376
+ countryCode: string;
377
+ };
378
+ type BasicInformationFormPayload = {
379
+ name: string;
380
+ email: string;
381
+ work_email: string;
382
+ job_title: string;
383
+ tax_servicing_countries: string[];
384
+ tax_job_category: string;
385
+ department: {
386
+ id: string;
387
+ name?: string;
388
+ };
389
+ provisional_start_date: string;
390
+ has_seniority_date: 'yes' | 'no';
391
+ manager: {
392
+ id: string;
393
+ };
394
+ seniority_date: string;
395
+ };
396
+ type BenefitsFormPayload = Record<string, {
397
+ value: string;
398
+ filter?: string;
399
+ }>;
400
+ type ContractDetailsFormPayload = Record<string, unknown>;
401
+ type CreditRiskStatus = 'not_started' | 'ready' | 'in_progress' | 'referred' | 'fail' | 'deposit_required' | 'no_deposit_required';
402
+ type Employment = Employment$1 & {
403
+ /**
404
+ * Most updated termination date for the offboarding. This date is subject to change through the offboarding process even after it is finalized.
405
+ */
406
+ termination_date?: string | null;
407
+ };
408
+ type CreditRiskState = 'deposit_required' | 'deposit_required_successful' | 'invite' | 'invite_successful' | 'referred' | null;
409
+
410
+ export { type BasicInformationFormPayload as B, type ContractDetailsFormPayload as C, type Employment as E, type OnboardingFlowProps as O, ReviewStep as R, STEPS as S, type SelectCountryFormPayload as a, type SelectCountrySuccess as b, type BenefitsFormPayload as c, type CreditRiskStatus as d, type CreditRiskState as e, type OnboardingRenderProps as f, SelectCountryStep as g, BasicInformationStep as h, ContractDetailsStep as i, BenefitsStep as j, STEPS_WITHOUT_SELECT_COUNTRY as k, disabledInviteButtonEmploymentStatus as l, reviewStepAllowedEmploymentStatus as r, useOnboarding as u };
@@ -709,6 +709,18 @@ type MagicLinkResponse = {
709
709
  * The stage of employment lifecycle. When it's `onboarded` means the employee is ready to commence or has already commenced.
710
710
  */
711
711
  type EmploymentLifecycleStage = 'employment_creation' | 'employee_self_enrollment' | 'right_to_work_check' | 'contract_signing' | 'remote_enrollment' | 'onboarded' | 'offboarded';
712
+ /**
713
+ * Parameters for creating a contract document
714
+ */
715
+ type CreateContractDocument = {
716
+ /**
717
+ * Contract document parameters. Its properties may vary depending on the country.
718
+ *
719
+ */
720
+ contract_document: {
721
+ [key: string]: unknown;
722
+ };
723
+ };
712
724
  type ValidationError = {
713
725
  errors: {
714
726
  [key: string]: unknown;
@@ -966,6 +978,12 @@ type UnauthorizedResponse = {
966
978
  type PricingPlanDetails = {
967
979
  frequency: 'annually' | 'monthly';
968
980
  };
981
+ /**
982
+ * SignContractDocument schema
983
+ */
984
+ type SignContractDocument = {
985
+ signature: string;
986
+ };
969
987
  type ContractAmendmentStatus = 'submitted' | 'in_review' | 'done' | 'canceled' | 'deleted';
970
988
  /**
971
989
  * UTC date time in [ISO 8601][] format.
@@ -1198,6 +1216,12 @@ type EmploymentResponse = {
1198
1216
  employment?: Employment;
1199
1217
  };
1200
1218
  };
1219
+ /**
1220
+ * ContractDocument schema
1221
+ */
1222
+ type ContractDocument = {
1223
+ id: string;
1224
+ };
1201
1225
  /**
1202
1226
  * Contract Amendment response
1203
1227
  */
@@ -1206,6 +1230,14 @@ type ContractAmendmentResponse = {
1206
1230
  contract_amendment: ContractAmendment;
1207
1231
  };
1208
1232
  };
1233
+ /**
1234
+ * Contract document response
1235
+ */
1236
+ type CreateContractDocumentResponse = {
1237
+ data: {
1238
+ contract_document: ContractDocument;
1239
+ };
1240
+ };
1209
1241
  type PostCreateOffboardingErrors = {
1210
1242
  /**
1211
1243
  * Bad Request
@@ -1395,6 +1427,21 @@ type PostCreateEstimationCsvErrors = {
1395
1427
  422: UnprocessableEntityResponse;
1396
1428
  };
1397
1429
  type PostCreateEstimationCsvError = PostCreateEstimationCsvErrors[keyof PostCreateEstimationCsvErrors];
1430
+ type PostCreateContractDocumentErrors = {
1431
+ /**
1432
+ * Unauthorized
1433
+ */
1434
+ 401: UnauthorizedResponse;
1435
+ /**
1436
+ * Not Found
1437
+ */
1438
+ 404: NotFoundResponse;
1439
+ /**
1440
+ * Unprocessable Entity
1441
+ */
1442
+ 422: UnprocessableEntityResponse;
1443
+ };
1444
+ type PostCreateContractDocumentError = PostCreateContractDocumentErrors[keyof PostCreateContractDocumentErrors];
1398
1445
  type PostAutomatableContractAmendmentErrors = {
1399
1446
  /**
1400
1447
  * Unauthorized
@@ -1429,5 +1476,16 @@ type PostInviteEmploymentInvitationErrors = {
1429
1476
  429: TooManyRequestsResponse;
1430
1477
  };
1431
1478
  type PostInviteEmploymentInvitationError = PostInviteEmploymentInvitationErrors[keyof PostInviteEmploymentInvitationErrors];
1479
+ type PostSignContractDocumentErrors = {
1480
+ /**
1481
+ * Bad Request
1482
+ */
1483
+ 400: BadRequestResponse;
1484
+ /**
1485
+ * Forbidden
1486
+ */
1487
+ 403: ForbiddenResponse;
1488
+ };
1489
+ type PostSignContractDocumentError = PostSignContractDocumentErrors[keyof PostSignContractDocumentErrors];
1432
1490
 
1433
- export type { PostConvertRawCurrencyConverterError as A, ConvertCurrencyParams as B, CreateOffboardingParams as C, PostCreateContractEligibilityError as D, EmploymentShowResponse as E, CreateContractEligibilityParams as F, MinimalCountry as G, EmploymentTermType as H, CostCalculatorEmployment as I, TimeoffStatus as J, Currency as K, ListTimeoffResponse as L, MinimalRegion as M, HelpCenterArticle as N, OffboardingResponse as O, PostCreateOffboardingError as P, SuccessResponse as S, TerminationDetailsParams as T, UnifiedEmploymentUpsertBenefitOffersRequest as U, ValidationError as V, ContractAmendmentAutomatableResponse as a, PostAutomatableContractAmendmentError as b, ContractAmendmentResponse as c, PostCreateContractAmendmentError as d, CostCalculatorEstimateResponse as e, PostCreateEstimationError as f, CostCalculatorEstimatePdfResponse as g, PostCreateEstimationPdfError as h, CostCalculatorEstimateParams as i, CostCalculatorEstimateCsvResponse as j, PostCreateEstimationCsvError as k, Employment as l, Company as m, PostInviteEmploymentInvitationError as n, PostCreateRiskReserveError as o, EmploymentCreationResponse as p, PostCreateEmployment2Error as q, EmploymentCreateParams as r, EmploymentResponse as s, PatchUpdateEmployment2Error as t, EmploymentFullParams as u, PutUpdateBenefitOfferError as v, MagicLinkResponse as w, UnprocessableEntityResponse as x, MagicLinkParams as y, ConvertCurrencyResponse as z };
1491
+ export type { EmploymentResponse as A, PatchUpdateEmployment2Error as B, CreateOffboardingParams as C, EmploymentFullParams as D, EmploymentShowResponse as E, File as F, PutUpdateBenefitOfferError as G, MagicLinkResponse as H, UnprocessableEntityResponse as I, MagicLinkParams as J, ConvertCurrencyResponse as K, ListTimeoffResponse as L, MinimalRegion as M, PostConvertRawCurrencyConverterError as N, OffboardingResponse as O, PostCreateOffboardingError as P, ConvertCurrencyParams as Q, PostCreateContractEligibilityError as R, SuccessResponse as S, TerminationDetailsParams as T, UnifiedEmploymentUpsertBenefitOffersRequest as U, ValidationError as V, CreateContractEligibilityParams as W, TimeoffStatus as X, Currency as Y, HelpCenterArticle as Z, ContractAmendmentAutomatableResponse as a, PostAutomatableContractAmendmentError as b, ContractAmendmentResponse as c, PostCreateContractAmendmentError as d, CostCalculatorEstimateResponse as e, PostCreateEstimationError as f, CostCalculatorEstimatePdfResponse as g, PostCreateEstimationPdfError as h, CostCalculatorEstimateParams as i, CostCalculatorEstimateCsvResponse as j, PostCreateEstimationCsvError as k, PostSignContractDocumentError as l, SignContractDocument as m, CreateContractDocumentResponse as n, PostCreateContractDocumentError as o, CreateContractDocument as p, MinimalCountry as q, EmploymentTermType as r, CostCalculatorEmployment as s, EmploymentCreationResponse as t, Employment as u, Company as v, PostInviteEmploymentInvitationError as w, PostCreateRiskReserveError as x, PostCreateEmployment2Error as y, EmploymentCreateParams as z };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remoteoss/remote-flows",
3
- "version": "0.20.0",
3
+ "version": "0.21.0",
4
4
  "scripts": {
5
5
  "build": "NODE_ENV=production tsup",
6
6
  "ci": "npm run build && npm run check-format && npm run check-exports && npm run lint && npm run type-check && npm run test",
@@ -13,11 +13,8 @@
13
13
  "openapi-ts": "openapi-ts",
14
14
  "test": "vitest",
15
15
  "test:coverage": "vitest --coverage",
16
- "changeset:add": "changeset add",
17
- "changeset:version": "changeset version",
18
16
  "prepare": "npm run build",
19
- "prerelease": "npm run ci",
20
- "release": "changeset publish",
17
+ "release": "tsx scripts/release.ts",
21
18
  "type-check": "tsc --noEmit"
22
19
  },
23
20
  "engines": {
@@ -95,10 +92,12 @@
95
92
  "lodash.omit": "^4.5.0",
96
93
  "lodash.omitby": "^4.6.0",
97
94
  "lucide-react": "0.477.0",
95
+ "pdfjs-dist": "^5.4.296",
98
96
  "postcss": "^8.5.3",
99
97
  "react-day-picker": "^8.10.1",
100
98
  "react-flagpack": "^2.0.6",
101
99
  "react-hook-form": "^7.54.2",
100
+ "react-pdf": "^10.2.0",
102
101
  "recharts": "^2.15.1",
103
102
  "tailwind-merge": "^3.0.2",
104
103
  "tailwindcss": "^4.0.9",
@@ -133,6 +132,7 @@
133
132
  "msw": "^2.7.3",
134
133
  "prettier": "^3.5.1",
135
134
  "tsup": "^8.4.0",
135
+ "tsx": "^4.19.2",
136
136
  "typescript-eslint": "^8.26.1",
137
137
  "vitest": "^3.0.8"
138
138
  }
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/Onboarding/components/OnboardingBack.tsx"],"sourcesContent":["import { Button } from '@/src/components/ui/button';\nimport { ButtonHTMLAttributes, PropsWithChildren } from 'react';\nimport { useOnboardingContext } from '@/src/flows/Onboarding/context';\nimport { useFormFields } from '@/src/context';\n\ntype OnboardingBackProps = ButtonHTMLAttributes<HTMLButtonElement> &\n Record<string, unknown>;\n\nexport function OnboardingBack({\n children,\n onClick,\n ...props\n}: PropsWithChildren<OnboardingBackProps>) {\n const {\n onboardingBag: { back, isEmploymentReadOnly },\n } = useOnboardingContext();\n\n const { components } = useFormFields();\n\n const onBackHandler = (evt: React.MouseEvent<HTMLButtonElement>) => {\n if (!isEmploymentReadOnly) {\n back();\n }\n onClick?.(evt);\n };\n\n const CustomButton = components?.button;\n if (CustomButton) {\n return (\n <CustomButton {...props} onClick={onBackHandler}>\n {children}\n </CustomButton>\n );\n }\n\n return (\n <Button {...props} onClick={onBackHandler}>\n {children}\n </Button>\n );\n}\n"],"mappings":"gKA6BM,cAAAA,MAAA,oBArBC,SAASC,EAAe,CAC7B,SAAAC,EACA,QAAAC,EACA,GAAGC,CACL,EAA2C,CACzC,GAAM,CACJ,cAAe,CAAE,KAAAC,EAAM,qBAAAC,CAAqB,CAC9C,EAAIC,EAAqB,EAEnB,CAAE,WAAAC,CAAW,EAAIC,EAAc,EAE/BC,EAAgBC,EAACC,GAA6C,CAC7DN,GACHD,EAAK,EAEPF,IAAUS,CAAG,CACf,EALsB,iBAOhBC,EAAeL,GAAY,OACjC,OAAIK,EAEAb,EAACa,EAAA,CAAc,GAAGT,EAAO,QAASM,EAC/B,SAAAR,EACH,EAKFF,EAACc,EAAA,CAAQ,GAAGV,EAAO,QAASM,EACzB,SAAAR,EACH,CAEJ,CAhCgBS,EAAAV,EAAA","names":["jsx","OnboardingBack","children","onClick","props","back","isEmploymentReadOnly","useOnboardingContext","components","useFormFields","onBackHandler","__name","evt","CustomButton","Button"]}
@@ -1,2 +0,0 @@
1
- import{a as B}from"./chunk-ZJ3JHILJ.js";import{a as ge,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 _e,m as ve,o as Ce,q as Qe,r as Ze,s as et}from"./chunk-GGXKORRZ.js";import{b as je}from"./chunk-R2VVXLL7.js";import{a as he,b as $}from"./chunk-2QGDCMCE.js";import{b}from"./chunk-3ZWDIEEM.js";import{a as oe,b as re,c as x,d as We,e as Le,f as He,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 Be}from"./chunk-PAQW5BFW.js";import{a as y,e as Oe}from"./chunk-54KJP7WD.js";import{a as r}from"./chunk-P37U34EQ.js";import{Fragment as Ht,jsx as O,jsxs as ae}from"react/jsx-runtime";function ne({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 ae(w,{"data-field":e,className:y(`RemoteFlows__CheckBoxField__Item__${e}`),children:[O(P,{children:ae(Ht,{children:[c&&d?O(N,{children:o}):null,c&&d?c.map(p=>ae("div",{className:"flex space-x-2",children:[O(ge,{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)):ae("div",{className:"flex space-x-2",children:[O(ge,{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(ne,"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 xe}from"react/jsx-runtime";function tt({className:e,classNames:t,showOutsideDays:a=!0,...o}){return xe(At,{showOutsideDays:a,className:y("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:y(he({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:y("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:y(he({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})=>xe(Bt,{className:y("size-4",l),...d}),"IconLeft"),IconRight:r(({className:l,...d})=>xe(Ot,{className:y("size-4",l),...d}),"IconRight")},...o})}r(tt,"Calendar");import*as A from"@radix-ui/react-popover";import{jsx as se}from"react/jsx-runtime";function le({...e}){return se(A.Root,{"data-slot":"popover",...e})}r(le,"Popover");function ie({...e}){return se(A.Trigger,{"data-slot":"popover-trigger",...e})}r(ie,"PopoverTrigger");function me({className:e,align:t="center",sideOffset:a=4,...o}){return se(A.Portal,{children:se(A.Content,{"data-slot":"popover-content",align:t,sideOffset:a,className:y("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(me,"PopoverContent");import{format as ot}from"date-fns";import{Fragment as zt,jsx as E,jsxs as be}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=Be(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 be(w,{"data-field":a,className:`flex flex-col RemoteFlows__DatePickerField__Item__${a}`,children:[E(N,{className:"RemoteFlows__DatePickerField__Label",children:t}),be(le,{children:[E(ie,{asChild:!0,children:E(P,{children:E("div",{children:be($,{type:"button",variant:"outline",className:y("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(me,{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 Se}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 Se("div",{className:y("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}),Se($,{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)=>Se("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:y("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 ke}from"react/jsx-runtime";function de(e){let{components:t}=b(),{control:a}=x(),o=e.component||t?.number;return o?ke(k,{control:a,name:e.name,render:({field:l,fieldState:d})=>ke(o,{field:{...l,onChange:r(c=>{l.onChange(c),e.onChange?.(c)},"onChange")},fieldState:d,fieldData:e})}):ke(B,{...e,type:"text",inputMode:"decimal",pattern:"^[0-9.]*$"})}r(de,"NumberField");import{Fragment as Xt}from"react";import{jsx as W,jsxs as Ne}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 Ne(w,{className:y("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:Ne(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})}),Ne("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",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:y("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:y("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:y("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:y("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:y("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 ce({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(le,{open:d,onOpenChange:c,...l,children:[L(ie,{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(me,{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:y("mr-2 h-4 w-4",g?"opacity-100":"opacity-0")}),s.label]},s.label)})})]},n))]})})})]})}r(ce,"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(ce,{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 we=ht.forwardRef(({className:e,...t},a)=>no("textarea",{className:y("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}));we.displayName="Textarea";import{jsx as q,jsxs as Pe}from"react/jsx-runtime";function yt({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 Pe(w,{"data-field":e,className:`RemoteFlows__TextArea__Item__${e}`,children:[q(N,{className:"RemoteFlows__TextArea__Label",children:a}),q(P,{children:q(we,{...i,value:i.value??"",onChange:s=>{i.onChange(s),o?.(s)},className:y(n.error&&"border-red-500 focus-visible:ring-red-500","RemoteFlows__TextArea__Input"),placeholder:a})}),(t||l)&&Pe("div",{className:"flex items-center justify-between",children:[t&&q(R,{className:"RemoteFlows__TextArea__Description",children:t}),l&&Pe("span",{className:"text-sm ml-auto RemoteFlows__TextArea__MaxLength",children:[m,"/",l]})]}),n.error&&q(D,{className:"RemoteFlows__TextArea__Error"})]})}})}r(yt,"TextAreaField");import{jsx as Re}from"react/jsx-runtime";function _t(e){let{components:t}=b(),{control:a}=x(),o=e.component||t?.email;return o?Re(k,{control:a,name:e.name,render:({field:l,fieldState:d})=>Re(o,{field:{...l,onChange:r(c=>{l.onChange(c),e.onChange?.(c)},"onChange")},fieldState:d,fieldData:e})}):Re(B,{...e,type:"email"})}r(_t,"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=oe(a,t);e.setCustomValidity(o&&o.message||""),e.reportValidity()}},"r"),De=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&&De(e,t);let a={};for(let o in e){let l=oe(t.fields,o),d=Object.assign(e[o]||{},{ref:l&&l.ref});if(so(t.names||Object.keys(e),o)){let c=Object.assign({},oe(a,o));re(c,"root",d),re(a,o,c)}else re(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&&De({},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]=We(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,ue=["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=ue.indexOf(d)+1;ue[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 Te(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(Te,"calculateHours");var uo={monday:"Mon",tuesday:"Tue",wednesday:"Wed",thursday:"Thu",friday:"Fri",saturday:"Sat",sunday:"Sun"};function pe(e){return uo[e]}r(pe,"getShortWeekday");import{jsx as _,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=ue.map(p=>{let h=e.find(S=>S.day.toLowerCase()===pe(p).toLowerCase()||S.day.toLowerCase()===p.toLowerCase());return h?{...h,day:pe(p),checked:!0}:{...e[0],checked:!1,day:pe(p)}}),d=He({defaultValues:{schedule:l},resolver:kt(go)}),{handleSubmit:c,watch:F,reset:f,control:i,formState:n}=d,{fields:u}=Le({name:"schedule",control:i}),m=F("schedule");function s(p){let h=p.schedule.filter(({checked:S})=>S).map(S=>({...S,hours:Te(S)}));t(h),o(!1)}r(s,"handleSubmitWorkingHours");function g(){f(),o(!1)}return r(g,"handleCancel"),_("div",{className:"flex items-center justify-between",children:H(ye,{open:a,onOpenChange:o,children:[_(Xe,{asChild:!0,children:_($,{variant:"link",className:"flex items-center p-0 RemoteFlows__WorkScheduleSelectionForm__Trigger",children:"Edit Schedule"})}),H(_e,{className:"max-w-5xl max-h-[90vh] overflow-y-auto px-8 py-4 RemoteFlows__WorkScheduleSelectionForm__Content",children:[_(ve,{children:_(Ce,{className:"RemoteFlows__WorkScheduleSelectionForm__Title",children:"Edit employee working hours"})}),_(Ae,{...d,children:H("form",{className:"space-y-4 RemoteFlows__WorkScheduleSelectionForm__Form",children:[H("div",{className:"rounded-lg",children:[_("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:[_("div",{className:"col-span-2"}),_("div",{className:"col-span-3 text-center",children:"START"}),_("div",{className:"col-span-1 text-center"}),_("div",{className:"col-span-3 text-center",children:"END"}),_("div",{className:"col-span-2 text-center",children:"HOURS"})]}),_("div",{className:"RemoteFlows__WorkScheduleSelectionForm__Rows",children:u.map((p,h)=>{let S=m[h],C=Te(S);return H(po.Fragment,{children:[H("div",{className:"grid grid-cols-12 gap-4 items-center py-2 RemoteFlows__WorkScheduleSelectionForm__Row-Hours",children:[_("div",{className:"col-span-2 flex items-center gap-3",children:_(ne,{label:p.day,name:`schedule.${h}.checked`})}),_("div",{className:"col-span-3",children:_(B,{name:`schedule.${h}.start_time`,includeErrorMessage:!1})}),_("div",{className:"col-span-1 text-center text-gray-500",children:"to"}),_("div",{className:"col-span-3",children:_(B,{name:`schedule.${h}.end_time`,includeErrorMessage:!1})}),_("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:[_("div",{className:"col-span-2 text-gray-500",children:"Break"}),_("div",{className:"col-span-2",children:_(B,{name:`schedule.${h}.break_duration_minutes`,includeErrorMessage:!1})}),_("div",{className:"col-span-2 text-gray-500",children:"minutes"}),_("div",{className:"col-span-4"})]})]},p.id)})})]}),Object.keys(n.errors).length>0&&_("p",{className:"text-destructive text-sm mb-0",children:"Invalid time format (HH:mm)"}),H("div",{className:"flex gap-4 pt-4",children:[_($,{type:"button",className:"reset-button",variant:"outline",onClick:g,children:"Cancel"}),_($,{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?_(k,{control:o,name:e.name,render:({field:s,fieldState:g})=>_(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:[_("p",{className:"text-sm RemoteFlows__WorkScheduleField__Title",children:"Work hours"}),H("div",{className:"flex flex-col gap-1 RemoteFlows__WorkScheduleField__Summary",children:[_("p",{className:"text-sm text-gray-500 RemoteFlows__WorkScheduleField__Summary__WorkHours",dangerouslySetInnerHTML:{__html:f.join(", ")}}),_("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 ",_("span",{children:n})," hours per week"]}),_(ho,{defaultSchedule:c,onSubmit:u})]})]})}r(Tt,"WorkScheduleField");import{useState as yo}from"react";import{jsx as K,jsxs as _o}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]=yo();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 _o(w,{"data-field":t,className:`RemoteFlows__SelectField__Item__${t}`,children:[K(N,{className:"RemoteFlows__SelectField__Label",children:e}),K(P,{children:K(ce,{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(de,{maxLength:15,...e}),"MoneyField");var Ie={checkbox:ne,text:B,email:_t,money:$t,select:mt,"multi-select":It,radio:lt,number:de,file:st,date:rt,textarea:yt,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:t,severity:a}})}return xo(Qe,{variant:"warning",children:[fe(Co,{className:"h-4 w-4"}),e&&fe(Ze,{children:e}),t&&fe(et,{children:t})]})}r(Et,"Statement");import{Fragment as bo,useEffect as So,useRef as Mt}from"react";import{jsx as z,jsxs as ee}from"react/jsx-runtime";var ko=r(({isExpanded:e,onToggle:t,className:a,...o})=>z($,{type:"button",className:y("RemoteFlows__Button RemoteFlows__FieldSetField__ToggleButton",a),variant:"default",onClick:t,...o,children:e?"Remove":"Define"}),"DefaultToggleButton");function ns({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,te=T.current,Fe=s.isSubmitted||s.submitCount>0,Me=!1;for(let Z=0;Z<v.length;Z++)if(v[Z]!==void 0&&te[Z]!==v[Z]){Me=!0;break}return Me&&Fe&&(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,$e=`${t}-content`,Ee=`${t}-header`;return ee("fieldset",{className:y("border-1 border-input p-4 rounded-xl","RemoteFlows__FieldSetField",`RemoteFlows__FieldSetField__${t}`),children:[z("legend",{className:y("text-sm font-semibold px-2",f==="inset"&&"hidden"),children:e}),f==="inset"&&ee("div",{className:"RemoteFlows__FieldSetField__Header",id:Ee,"data-state":h?"expanded":"collapsed","aria-expanded":h,children:[z("h3",{className:y("RemoteFlows__FieldSetField__Title"),children:e}),i?.toggle?.enabled&&z(Lt,{isExpanded:h,onToggle:Wt,"aria-expanded":h,"aria-controls":$e,"aria-label":`${h?"Hide":"Show"} ${e}`,className:y("RemoteFlows__FieldSetField__Toggle",i.toggle?.className),children:h?i.toggle.labels?.collapse??"Remove":i.toggle.labels?.expand??"Define"})]}),h&&ee("div",{id:$e,"aria-labelledby":Ee,role:"region",children:[o?z("div",{className:"mb-5 RemoteFlows__FieldSetField__Description",dangerouslySetInnerHTML:{__html:Oe(o)}}):null,ee("div",{className:"grid gap-4",children:[a.map(v=>{v.calculateDynamicProperties&&(v={...v,...v.calculateDynamicProperties(C,v)||{}});let te=Ie[v.type];if(v.isVisible===!1||v.deprecated)return null;if(v.Component){let{Component:Fe}=v;return z(Fe,{...v},v.name)}return v.type==="select"&&v.multiple&&(te=Ie["multi-select"]),ee(bo,{children:[z(te,{...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(ns,"FieldSetField");export{Ie as a,Et as b,ns as c};
2
- //# sourceMappingURL=chunk-5TUFZVWO.js.map