@remoteoss/remote-flows 0.32.0 → 1.0.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 (359) hide show
  1. package/README.md +8 -9
  2. package/dist/chunk-2CBUBDUV.js +2 -0
  3. package/dist/chunk-2CBUBDUV.js.map +1 -0
  4. package/dist/chunk-2EJ4BAUK.js +2 -0
  5. package/dist/chunk-2EJ4BAUK.js.map +1 -0
  6. package/dist/{chunk-ENW4DCDU.js → chunk-2Q4L4WH7.js} +2 -2
  7. package/dist/chunk-2QOLV5T5.js +2 -0
  8. package/dist/chunk-2QOLV5T5.js.map +1 -0
  9. package/dist/{chunk-5KZXFQLZ.js → chunk-2S376WY7.js} +2 -2
  10. package/dist/{chunk-COBQ4WSJ.js → chunk-34TXLVDI.js} +2 -2
  11. package/dist/{chunk-5P7INAU2.js → chunk-3UM34N4C.js} +1 -1
  12. package/dist/chunk-3UM34N4C.js.map +1 -0
  13. package/dist/{chunk-5CVD5WZZ.js → chunk-3XOHQ7Y7.js} +2 -2
  14. package/dist/chunk-4A2UD4KX.js +2 -0
  15. package/dist/chunk-4A2UD4KX.js.map +1 -0
  16. package/dist/{chunk-2W2XD7ZY.js → chunk-5BY7HOJB.js} +2 -2
  17. package/dist/{chunk-ID3ZF7QT.js → chunk-62HGJVHQ.js} +2 -2
  18. package/dist/{chunk-P5WUODPR.js → chunk-65H2G43I.js} +2 -2
  19. package/dist/{chunk-DPY77ASH.js → chunk-66L7BKYM.js} +2 -2
  20. package/dist/{chunk-OIN3HGOQ.js → chunk-677KTHPH.js} +2 -2
  21. package/dist/{chunk-K2BWF2HC.js → chunk-6PT55OGW.js} +2 -2
  22. package/dist/chunk-6PT55OGW.js.map +1 -0
  23. package/dist/{chunk-HBHVB56P.js → chunk-7CLHPFPZ.js} +2 -2
  24. package/dist/{chunk-HO2TIG7R.js → chunk-7HSSHSYK.js} +2 -2
  25. package/dist/chunk-7JQFGVWI.js +2 -0
  26. package/dist/chunk-7JQFGVWI.js.map +1 -0
  27. package/dist/{chunk-LQAHRGU4.js → chunk-7LRY5QTK.js} +2 -2
  28. package/dist/{chunk-EM5UYWUQ.js → chunk-A7BBVCMY.js} +2 -2
  29. package/dist/chunk-BTUON37L.js +2 -0
  30. package/dist/chunk-BTUON37L.js.map +1 -0
  31. package/dist/chunk-CN3GXYLK.js +2 -0
  32. package/dist/{chunk-DZ2R72O5.js.map → chunk-CN3GXYLK.js.map} +1 -1
  33. package/dist/chunk-D3ZE5TO6.js +2 -0
  34. package/dist/chunk-D3ZE5TO6.js.map +1 -0
  35. package/dist/{chunk-UJKTTTGB.js → chunk-DBGYYVFL.js} +2 -2
  36. package/dist/{chunk-WW5UCMQZ.js → chunk-EAJ7JLBL.js} +2 -2
  37. package/dist/chunk-EAJ7JLBL.js.map +1 -0
  38. package/dist/{chunk-UPXJJBXZ.js → chunk-ED6E3V2E.js} +2 -2
  39. package/dist/{chunk-ZQ6MG635.js → chunk-FEB3W622.js} +2 -2
  40. package/dist/chunk-FGBEOUQK.js +1 -0
  41. package/dist/{chunk-MZB24YJP.js → chunk-FIXHXJGN.js} +2 -2
  42. package/dist/{chunk-EKKRQI6B.js → chunk-GGQFBP37.js} +2 -2
  43. package/dist/{chunk-WJ6YJFD4.js → chunk-HBYHRMST.js} +2 -2
  44. package/dist/{chunk-FRTJ4KWA.js → chunk-HKCDMC3H.js} +2 -2
  45. package/dist/{chunk-QIVDIOJG.js → chunk-I4XJ764Y.js} +2 -2
  46. package/dist/{chunk-SHP4ULHS.js → chunk-IHYMZJ4W.js} +2 -2
  47. package/dist/{chunk-6FWFRVQE.js → chunk-ISQ6I4HJ.js} +2 -2
  48. package/dist/chunk-KSNOQWVU.js +2 -0
  49. package/dist/{chunk-7YQAVDVX.js.map → chunk-KSNOQWVU.js.map} +1 -1
  50. package/dist/chunk-L2GTD44Y.js +2 -0
  51. package/dist/chunk-L2GTD44Y.js.map +1 -0
  52. package/dist/{chunk-L3D2AK3X.js → chunk-LDZWM4VX.js} +2 -2
  53. package/dist/{chunk-HZDCZFR5.js → chunk-LIF7X2AH.js} +2 -2
  54. package/dist/{chunk-5AG4K2EA.js → chunk-LLJWEHDJ.js} +2 -2
  55. package/dist/{chunk-TWVFLXVF.js → chunk-M37LWACT.js} +2 -2
  56. package/dist/{chunk-TWVFLXVF.js.map → chunk-M37LWACT.js.map} +1 -1
  57. package/dist/{chunk-IUEXOXFA.js → chunk-M3EBUSNT.js} +2 -2
  58. package/dist/chunk-M5WQNNAT.js +2 -0
  59. package/dist/{chunk-LV5R6H3D.js.map → chunk-M5WQNNAT.js.map} +1 -1
  60. package/dist/{chunk-TWIUL2P3.js → chunk-MOG7GUQB.js} +2 -2
  61. package/dist/{chunk-ANGJCT4I.js → chunk-MPV22ALR.js} +2 -2
  62. package/dist/{chunk-U4JVXNOG.js → chunk-ORIJ6E2J.js} +2 -2
  63. package/dist/chunk-OVTCRVTZ.js +2 -0
  64. package/dist/{chunk-76DHIEN7.js.map → chunk-OVTCRVTZ.js.map} +1 -1
  65. package/dist/{chunk-XPL5XOQ4.js → chunk-PABPITPH.js} +2 -2
  66. package/dist/{chunk-DPWL4KNA.js → chunk-RD27ZSYF.js} +2 -2
  67. package/dist/chunk-RD27ZSYF.js.map +1 -0
  68. package/dist/chunk-RIA5Z6I3.js +2 -0
  69. package/dist/{chunk-IHNYOUXP.js.map → chunk-RIA5Z6I3.js.map} +1 -1
  70. package/dist/{chunk-CW3MAP5L.js → chunk-RSH5MZY3.js} +2 -2
  71. package/dist/{chunk-OW5QGJD4.js → chunk-S2BJGON2.js} +2 -2
  72. package/dist/{chunk-5ZR7EFPY.js → chunk-SHK2UKLD.js} +2 -2
  73. package/dist/chunk-SS6RX52D.js +2 -0
  74. package/dist/chunk-SS6RX52D.js.map +1 -0
  75. package/dist/chunk-STSTF3AT.js +2 -0
  76. package/dist/chunk-STSTF3AT.js.map +1 -0
  77. package/dist/{chunk-6VRUYYUV.js → chunk-U5WVXSGT.js} +2 -2
  78. package/dist/chunk-UK5HHMPM.js +2 -0
  79. package/dist/chunk-UK5HHMPM.js.map +1 -0
  80. package/dist/chunk-UQMGBXCI.js +2 -0
  81. package/dist/chunk-UQMGBXCI.js.map +1 -0
  82. package/dist/chunk-W5M5HLWF.js +2 -0
  83. package/dist/chunk-W5M5HLWF.js.map +1 -0
  84. package/dist/{chunk-SO3YQ4WT.js → chunk-WRNHET4F.js} +2 -2
  85. package/dist/chunk-XOA7GG4P.js +2 -0
  86. package/dist/{chunk-X6CD3FMG.js → chunk-YCILXVJU.js} +2 -2
  87. package/dist/chunk-YHR7BPYU.js +2 -0
  88. package/dist/chunk-YHR7BPYU.js.map +1 -0
  89. package/dist/chunk-ZJSWK3Y7.js +2 -0
  90. package/dist/chunk-ZJSWK3Y7.js.map +1 -0
  91. package/dist/flows/ContractAmendment/ContractAmendmentBack.js +1 -1
  92. package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.js +1 -1
  93. package/dist/flows/ContractAmendment/ContractAmendmentFlow.d.ts +2 -2
  94. package/dist/flows/ContractAmendment/ContractAmendmentFlow.js +1 -1
  95. package/dist/flows/ContractAmendment/ContractAmendmentForm.js +1 -1
  96. package/dist/flows/ContractAmendment/ContractAmendmentSubmit.js +1 -1
  97. package/dist/flows/ContractAmendment/context.d.ts +4 -4
  98. package/dist/flows/ContractAmendment/hooks.d.ts +4 -4
  99. package/dist/flows/ContractAmendment/hooks.js +1 -1
  100. package/dist/flows/ContractAmendment/index.d.ts +2 -2
  101. package/dist/flows/ContractAmendment/index.js +1 -1
  102. package/dist/flows/ContractAmendment/utils.js +1 -1
  103. package/dist/flows/ContractorOnboarding/ContractorOnboarding.d.ts +4 -4
  104. package/dist/flows/ContractorOnboarding/ContractorOnboarding.js +1 -1
  105. package/dist/flows/ContractorOnboarding/api.d.ts +1 -1
  106. package/dist/flows/ContractorOnboarding/api.js +1 -1
  107. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.d.ts +3 -3
  108. package/dist/flows/ContractorOnboarding/components/BasicInformationStep.js +1 -1
  109. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.d.ts +4 -4
  110. package/dist/flows/ContractorOnboarding/components/ContractDetailsStep.js +1 -1
  111. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.d.ts +4 -4
  112. package/dist/flows/ContractorOnboarding/components/ContractPreviewStep.js +1 -1
  113. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.d.ts +4 -4
  114. package/dist/flows/ContractorOnboarding/components/ContractorOnboardingForm.js +1 -1
  115. package/dist/flows/ContractorOnboarding/components/OnboardingBack.js +1 -1
  116. package/dist/flows/ContractorOnboarding/components/OnboardingInvite.d.ts +2 -2
  117. package/dist/flows/ContractorOnboarding/components/OnboardingInvite.js +1 -1
  118. package/dist/flows/ContractorOnboarding/components/OnboardingSubmit.js +1 -1
  119. package/dist/flows/ContractorOnboarding/components/PricingPlan.d.ts +4 -4
  120. package/dist/flows/ContractorOnboarding/components/PricingPlan.js +1 -1
  121. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.d.ts +3 -3
  122. package/dist/flows/ContractorOnboarding/components/SelectCountryStep.js +1 -1
  123. package/dist/flows/ContractorOnboarding/context.d.ts +7 -7
  124. package/dist/flows/ContractorOnboarding/hooks.d.ts +4 -4
  125. package/dist/flows/ContractorOnboarding/hooks.js +1 -1
  126. package/dist/flows/ContractorOnboarding/index.d.ts +4 -4
  127. package/dist/flows/ContractorOnboarding/index.js +1 -1
  128. package/dist/flows/ContractorOnboarding/types.d.ts +4 -4
  129. package/dist/flows/CostCalculator/CostCalculatorFlow.d.ts +2 -2
  130. package/dist/flows/CostCalculator/CostCalculatorFlow.js +1 -1
  131. package/dist/flows/CostCalculator/CostCalculatorForm.d.ts +2 -2
  132. package/dist/flows/CostCalculator/CostCalculatorForm.js +1 -1
  133. package/dist/flows/CostCalculator/CostCalculatorResetButton.js +1 -1
  134. package/dist/flows/CostCalculator/CostCalculatorSubmitButton.js +1 -1
  135. package/dist/flows/CostCalculator/EstimationResults/EstimationResults.js +1 -1
  136. package/dist/flows/CostCalculator/components/SalaryField.d.ts +1 -1
  137. package/dist/flows/CostCalculator/components/SalaryField.js +1 -1
  138. package/dist/flows/CostCalculator/context.d.ts +3 -3
  139. package/dist/flows/CostCalculator/hooks.d.ts +3 -3
  140. package/dist/flows/CostCalculator/hooks.js +1 -1
  141. package/dist/flows/CostCalculator/index.d.ts +2 -5
  142. package/dist/flows/CostCalculator/index.js +1 -1
  143. package/dist/flows/CostCalculator/utils.d.ts +2 -2
  144. package/dist/flows/CostCalculator/utils.js +1 -1
  145. package/dist/flows/Onboarding/OnboardingFlow.d.ts +3 -3
  146. package/dist/flows/Onboarding/OnboardingFlow.js +1 -1
  147. package/dist/flows/Onboarding/api.d.ts +3 -3
  148. package/dist/flows/Onboarding/api.js +1 -1
  149. package/dist/flows/Onboarding/components/AnnualGrossSalary.d.ts +1 -1
  150. package/dist/flows/Onboarding/components/AnnualGrossSalary.js +1 -1
  151. package/dist/flows/Onboarding/components/BasicInformationStep.d.ts +3 -3
  152. package/dist/flows/Onboarding/components/BasicInformationStep.js +1 -1
  153. package/dist/flows/Onboarding/components/BenefitsStep.d.ts +3 -3
  154. package/dist/flows/Onboarding/components/BenefitsStep.js +1 -1
  155. package/dist/flows/Onboarding/components/ContractDetailsStep.d.ts +3 -3
  156. package/dist/flows/Onboarding/components/ContractDetailsStep.js +1 -1
  157. package/dist/flows/Onboarding/components/OnboardingBack.js +1 -1
  158. package/dist/flows/Onboarding/components/OnboardingForm.d.ts +3 -3
  159. package/dist/flows/Onboarding/components/OnboardingForm.js +1 -1
  160. package/dist/flows/Onboarding/components/OnboardingInvite.d.ts +2 -2
  161. package/dist/flows/Onboarding/components/OnboardingInvite.js +1 -1
  162. package/dist/flows/Onboarding/components/OnboardingSubmit.js +1 -1
  163. package/dist/flows/Onboarding/components/ReviewStep.d.ts +3 -3
  164. package/dist/flows/Onboarding/components/SaveDraftButton.d.ts +2 -2
  165. package/dist/flows/Onboarding/components/SelectCountryStep.d.ts +3 -3
  166. package/dist/flows/Onboarding/components/SelectCountryStep.js +1 -1
  167. package/dist/flows/Onboarding/context.d.ts +6 -6
  168. package/dist/flows/Onboarding/hooks.d.ts +3 -3
  169. package/dist/flows/Onboarding/hooks.js +1 -1
  170. package/dist/flows/Onboarding/index.d.ts +3 -3
  171. package/dist/flows/Onboarding/index.js +1 -1
  172. package/dist/flows/Onboarding/types.d.ts +3 -3
  173. package/dist/flows/Onboarding/utils.d.ts +3 -3
  174. package/dist/flows/Termination/AdditionalDetailsForm.d.ts +3 -3
  175. package/dist/flows/Termination/AdditionalDetailsForm.js +1 -1
  176. package/dist/flows/Termination/EmployeeComunicationForm.d.ts +3 -3
  177. package/dist/flows/Termination/EmployeeComunicationForm.js +1 -1
  178. package/dist/flows/Termination/PaidTimeOffForm.d.ts +3 -3
  179. package/dist/flows/Termination/PaidTimeOffForm.js +1 -1
  180. package/dist/flows/Termination/TerminationBack.js +1 -1
  181. package/dist/flows/Termination/TerminationDetailsForm.d.ts +3 -3
  182. package/dist/flows/Termination/TerminationDetailsForm.js +1 -1
  183. package/dist/flows/Termination/TerminationFlow.d.ts +3 -3
  184. package/dist/flows/Termination/TerminationFlow.js +1 -1
  185. package/dist/flows/Termination/TerminationForm.d.ts +3 -3
  186. package/dist/flows/Termination/TerminationForm.js +1 -1
  187. package/dist/flows/Termination/TerminationSubmit.js +1 -1
  188. package/dist/flows/Termination/api.d.ts +4 -4
  189. package/dist/flows/Termination/api.js +1 -1
  190. package/dist/flows/Termination/components/AcknowledgeInformation/AcknowledgeInformationFees.js +1 -1
  191. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.d.ts +4 -4
  192. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOff.js +1 -1
  193. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.d.ts +4 -4
  194. package/dist/flows/Termination/components/PaidTimeOff/PaidTimeOffContainer.js +1 -1
  195. package/dist/flows/Termination/components/PaidTimeOff/types.d.ts +4 -4
  196. package/dist/flows/Termination/components/TerminationDialogInfoContent/TerminationDialogInfoContent.js +1 -1
  197. package/dist/flows/Termination/context.d.ts +6 -6
  198. package/dist/flows/Termination/hooks.d.ts +3 -3
  199. package/dist/flows/Termination/hooks.js +1 -1
  200. package/dist/flows/Termination/index.d.ts +4 -4
  201. package/dist/flows/Termination/index.js +1 -1
  202. package/dist/flows/Termination/json-schemas/jsonSchema.js +1 -1
  203. package/dist/flows/Termination/json-schemas/schema.d.ts +3 -3
  204. package/dist/flows/Termination/json-schemas/schema.js +1 -1
  205. package/dist/flows/Termination/types.d.ts +3 -3
  206. package/dist/flows/Termination/utils.d.ts +3 -3
  207. package/dist/index.css +1 -1
  208. package/dist/index.css.map +1 -1
  209. package/dist/index.d.ts +32 -11
  210. package/dist/index.js +1 -1
  211. package/dist/index.js.map +1 -1
  212. package/dist/internals.d.ts +1 -1
  213. package/dist/internals.js +1 -1
  214. package/dist/{mutations-Cdk0PM78.d.ts → mutations-Dj5OTaG_.d.ts} +1 -1
  215. package/dist/{remoteFlows-DUivEPPh.d.ts → remoteFlows-CJkEwDeI.d.ts} +0 -7
  216. package/dist/{types-BZBdCzER.d.ts → types-CrBx80W2.d.ts} +5 -5
  217. package/dist/{types-C-X7siUr.d.ts → types-CzuydJIU.d.ts} +4 -4
  218. package/dist/{types-pohqJTkr.d.ts → types-o2Z9IpsO.d.ts} +6 -6
  219. package/dist/utils-CjDMg_Yr.d.ts +22 -0
  220. package/package.json +1 -2
  221. package/dist/ZendeskTriggerButton-Dditzyfj.d.ts +0 -47
  222. package/dist/chunk-3A47R5RQ.js +0 -2
  223. package/dist/chunk-3A47R5RQ.js.map +0 -1
  224. package/dist/chunk-5OZPBBXS.js +0 -2
  225. package/dist/chunk-5OZPBBXS.js.map +0 -1
  226. package/dist/chunk-5P7INAU2.js.map +0 -1
  227. package/dist/chunk-76DHIEN7.js +0 -2
  228. package/dist/chunk-7CJX7I3M.js +0 -2
  229. package/dist/chunk-7CJX7I3M.js.map +0 -1
  230. package/dist/chunk-7R347KBY.js +0 -2
  231. package/dist/chunk-7R347KBY.js.map +0 -1
  232. package/dist/chunk-7YQAVDVX.js +0 -2
  233. package/dist/chunk-AM2IRFHQ.js +0 -2
  234. package/dist/chunk-AM2IRFHQ.js.map +0 -1
  235. package/dist/chunk-B6IVJUEH.js +0 -2
  236. package/dist/chunk-B6IVJUEH.js.map +0 -1
  237. package/dist/chunk-BCXRPHWY.js +0 -2
  238. package/dist/chunk-BCXRPHWY.js.map +0 -1
  239. package/dist/chunk-DPWL4KNA.js.map +0 -1
  240. package/dist/chunk-DXFA52BU.js +0 -2
  241. package/dist/chunk-DXFA52BU.js.map +0 -1
  242. package/dist/chunk-DXIO72S4.js +0 -2
  243. package/dist/chunk-DXIO72S4.js.map +0 -1
  244. package/dist/chunk-DYB3RWP7.js +0 -20
  245. package/dist/chunk-DYB3RWP7.js.map +0 -1
  246. package/dist/chunk-DZ2R72O5.js +0 -2
  247. package/dist/chunk-E4CABUTS.js +0 -2
  248. package/dist/chunk-E4CABUTS.js.map +0 -1
  249. package/dist/chunk-GCJCNDJ3.js +0 -2
  250. package/dist/chunk-GCJCNDJ3.js.map +0 -1
  251. package/dist/chunk-GKD2WI2W.js +0 -2
  252. package/dist/chunk-GKD2WI2W.js.map +0 -1
  253. package/dist/chunk-GOGPCCBS.js +0 -2
  254. package/dist/chunk-GOGPCCBS.js.map +0 -1
  255. package/dist/chunk-HPHWQU34.js +0 -2
  256. package/dist/chunk-HPHWQU34.js.map +0 -1
  257. package/dist/chunk-IHNYOUXP.js +0 -2
  258. package/dist/chunk-K2BWF2HC.js.map +0 -1
  259. package/dist/chunk-LV5R6H3D.js +0 -2
  260. package/dist/chunk-M2CI2UDK.js +0 -2
  261. package/dist/chunk-M2CI2UDK.js.map +0 -1
  262. package/dist/chunk-MQWVZSGH.js +0 -2
  263. package/dist/chunk-MQWVZSGH.js.map +0 -1
  264. package/dist/chunk-OKM7DRCF.js +0 -2
  265. package/dist/chunk-P7JZC65P.js +0 -2
  266. package/dist/chunk-P7JZC65P.js.map +0 -1
  267. package/dist/chunk-Q4BKFSTW.js +0 -2
  268. package/dist/chunk-Q4BKFSTW.js.map +0 -1
  269. package/dist/chunk-QWJFYQK3.js +0 -2
  270. package/dist/chunk-QWJFYQK3.js.map +0 -1
  271. package/dist/chunk-SPQO42TA.js +0 -2
  272. package/dist/chunk-SPQO42TA.js.map +0 -1
  273. package/dist/chunk-SRRY72CZ.js +0 -2
  274. package/dist/chunk-SRRY72CZ.js.map +0 -1
  275. package/dist/chunk-THMWKOHC.js +0 -2
  276. package/dist/chunk-THMWKOHC.js.map +0 -1
  277. package/dist/chunk-WBRWVTZK.js +0 -2
  278. package/dist/chunk-WBRWVTZK.js.map +0 -1
  279. package/dist/chunk-WMPKW7HC.js +0 -2
  280. package/dist/chunk-WMPKW7HC.js.map +0 -1
  281. package/dist/chunk-WW5UCMQZ.js.map +0 -1
  282. package/dist/chunk-WXUIXZ7P.js +0 -2
  283. package/dist/chunk-WXUIXZ7P.js.map +0 -1
  284. package/dist/chunk-YDJVQRND.js +0 -2
  285. package/dist/chunk-YDJVQRND.js.map +0 -1
  286. package/dist/chunk-Z3BMF4BO.js +0 -1
  287. package/dist/chunk-ZE3YT3Q6.js +0 -2
  288. package/dist/chunk-ZE3YT3Q6.js.map +0 -1
  289. package/dist/chunk-ZSCKSEAA.js +0 -2
  290. package/dist/chunk-ZSCKSEAA.js.map +0 -1
  291. package/dist/flows/CostCalculator/CostCalculatorDisclaimer.d.ts +0 -8
  292. package/dist/flows/CostCalculator/CostCalculatorDisclaimer.js +0 -2
  293. package/dist/flows/CostCalculator/CostCalculatorDisclaimer.js.map +0 -1
  294. package/dist/flows/CostCalculator/Results/CostCalculatorBenefitsBreakdown.d.ts +0 -16
  295. package/dist/flows/CostCalculator/Results/CostCalculatorBenefitsBreakdown.js +0 -2
  296. package/dist/flows/CostCalculator/Results/CostCalculatorBenefitsBreakdown.js.map +0 -1
  297. package/dist/flows/CostCalculator/Results/CostCalculatorContributionsBreakdown.d.ts +0 -16
  298. package/dist/flows/CostCalculator/Results/CostCalculatorContributionsBreakdown.js +0 -2
  299. package/dist/flows/CostCalculator/Results/CostCalculatorContributionsBreakdown.js.map +0 -1
  300. package/dist/flows/CostCalculator/Results/CostCalculatorExtraStatutoryPaymentsBreakdown.d.ts +0 -16
  301. package/dist/flows/CostCalculator/Results/CostCalculatorExtraStatutoryPaymentsBreakdown.js +0 -2
  302. package/dist/flows/CostCalculator/Results/CostCalculatorExtraStatutoryPaymentsBreakdown.js.map +0 -1
  303. package/dist/flows/CostCalculator/Results/CostCalculatorGrossSalary.d.ts +0 -10
  304. package/dist/flows/CostCalculator/Results/CostCalculatorGrossSalary.js +0 -2
  305. package/dist/flows/CostCalculator/Results/CostCalculatorGrossSalary.js.map +0 -1
  306. package/dist/flows/CostCalculator/Results/CostCalculatorIndirectTax.d.ts +0 -9
  307. package/dist/flows/CostCalculator/Results/CostCalculatorIndirectTax.js +0 -2
  308. package/dist/flows/CostCalculator/Results/CostCalculatorIndirectTax.js.map +0 -1
  309. package/dist/flows/CostCalculator/Results/CostCalculatorResults.d.ts +0 -19
  310. package/dist/flows/CostCalculator/Results/CostCalculatorResults.js +0 -2
  311. package/dist/flows/CostCalculator/Results/CostCalculatorResults.js.map +0 -1
  312. package/dist/flows/CostCalculator/Results/CostCalculatorResultsChart.d.ts +0 -13
  313. package/dist/flows/CostCalculator/Results/CostCalculatorResultsChart.js +0 -2
  314. package/dist/flows/CostCalculator/Results/CostCalculatorResultsChart.js.map +0 -1
  315. package/dist/flows/CostCalculator/Results/CostCalculatorTotalCost.d.ts +0 -9
  316. package/dist/flows/CostCalculator/Results/CostCalculatorTotalCost.js +0 -2
  317. package/dist/flows/CostCalculator/Results/CostCalculatorTotalCost.js.map +0 -1
  318. package/dist/flows/CostCalculator/disclaimerUtils.d.ts +0 -10
  319. package/dist/flows/CostCalculator/disclaimerUtils.js +0 -2
  320. package/dist/flows/CostCalculator/disclaimerUtils.js.map +0 -1
  321. /package/dist/{chunk-ENW4DCDU.js.map → chunk-2Q4L4WH7.js.map} +0 -0
  322. /package/dist/{chunk-5KZXFQLZ.js.map → chunk-2S376WY7.js.map} +0 -0
  323. /package/dist/{chunk-COBQ4WSJ.js.map → chunk-34TXLVDI.js.map} +0 -0
  324. /package/dist/{chunk-5CVD5WZZ.js.map → chunk-3XOHQ7Y7.js.map} +0 -0
  325. /package/dist/{chunk-2W2XD7ZY.js.map → chunk-5BY7HOJB.js.map} +0 -0
  326. /package/dist/{chunk-ID3ZF7QT.js.map → chunk-62HGJVHQ.js.map} +0 -0
  327. /package/dist/{chunk-P5WUODPR.js.map → chunk-65H2G43I.js.map} +0 -0
  328. /package/dist/{chunk-DPY77ASH.js.map → chunk-66L7BKYM.js.map} +0 -0
  329. /package/dist/{chunk-OIN3HGOQ.js.map → chunk-677KTHPH.js.map} +0 -0
  330. /package/dist/{chunk-HBHVB56P.js.map → chunk-7CLHPFPZ.js.map} +0 -0
  331. /package/dist/{chunk-HO2TIG7R.js.map → chunk-7HSSHSYK.js.map} +0 -0
  332. /package/dist/{chunk-LQAHRGU4.js.map → chunk-7LRY5QTK.js.map} +0 -0
  333. /package/dist/{chunk-EM5UYWUQ.js.map → chunk-A7BBVCMY.js.map} +0 -0
  334. /package/dist/{chunk-UJKTTTGB.js.map → chunk-DBGYYVFL.js.map} +0 -0
  335. /package/dist/{chunk-UPXJJBXZ.js.map → chunk-ED6E3V2E.js.map} +0 -0
  336. /package/dist/{chunk-ZQ6MG635.js.map → chunk-FEB3W622.js.map} +0 -0
  337. /package/dist/{chunk-Z3BMF4BO.js.map → chunk-FGBEOUQK.js.map} +0 -0
  338. /package/dist/{chunk-MZB24YJP.js.map → chunk-FIXHXJGN.js.map} +0 -0
  339. /package/dist/{chunk-EKKRQI6B.js.map → chunk-GGQFBP37.js.map} +0 -0
  340. /package/dist/{chunk-WJ6YJFD4.js.map → chunk-HBYHRMST.js.map} +0 -0
  341. /package/dist/{chunk-FRTJ4KWA.js.map → chunk-HKCDMC3H.js.map} +0 -0
  342. /package/dist/{chunk-QIVDIOJG.js.map → chunk-I4XJ764Y.js.map} +0 -0
  343. /package/dist/{chunk-SHP4ULHS.js.map → chunk-IHYMZJ4W.js.map} +0 -0
  344. /package/dist/{chunk-6FWFRVQE.js.map → chunk-ISQ6I4HJ.js.map} +0 -0
  345. /package/dist/{chunk-L3D2AK3X.js.map → chunk-LDZWM4VX.js.map} +0 -0
  346. /package/dist/{chunk-HZDCZFR5.js.map → chunk-LIF7X2AH.js.map} +0 -0
  347. /package/dist/{chunk-5AG4K2EA.js.map → chunk-LLJWEHDJ.js.map} +0 -0
  348. /package/dist/{chunk-IUEXOXFA.js.map → chunk-M3EBUSNT.js.map} +0 -0
  349. /package/dist/{chunk-TWIUL2P3.js.map → chunk-MOG7GUQB.js.map} +0 -0
  350. /package/dist/{chunk-ANGJCT4I.js.map → chunk-MPV22ALR.js.map} +0 -0
  351. /package/dist/{chunk-U4JVXNOG.js.map → chunk-ORIJ6E2J.js.map} +0 -0
  352. /package/dist/{chunk-XPL5XOQ4.js.map → chunk-PABPITPH.js.map} +0 -0
  353. /package/dist/{chunk-CW3MAP5L.js.map → chunk-RSH5MZY3.js.map} +0 -0
  354. /package/dist/{chunk-OW5QGJD4.js.map → chunk-S2BJGON2.js.map} +0 -0
  355. /package/dist/{chunk-5ZR7EFPY.js.map → chunk-SHK2UKLD.js.map} +0 -0
  356. /package/dist/{chunk-6VRUYYUV.js.map → chunk-U5WVXSGT.js.map} +0 -0
  357. /package/dist/{chunk-SO3YQ4WT.js.map → chunk-WRNHET4F.js.map} +0 -0
  358. /package/dist/{chunk-OKM7DRCF.js.map → chunk-XOA7GG4P.js.map} +0 -0
  359. /package/dist/{chunk-X6CD3FMG.js.map → chunk-YCILXVJU.js.map} +0 -0
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/RemoteFlowsProvider.tsx","../src/lib/applyTheme.ts","../src/theme.tsx","../src/auth/createClient.ts","../src/environments.ts","../src/lib/version.ts","../src/components/error-handling/RemoteFlowsErrorBoundary.tsx"],"sourcesContent":["import { QueryClient, QueryClientProvider } from '@tanstack/react-query';\nimport type { PropsWithChildren } from 'react';\nimport React, { useMemo } from 'react';\n\nimport { ThemeProvider } from '@/src/theme';\nimport { FormFieldsContext, RemoteFlowContext } from './context';\nimport { Components, RemoteFlowsSDKProps } from './types/remoteFlows';\nimport { createClient } from '@/src/auth/createClient';\nimport { Client } from '@hey-api/client-fetch';\nimport { RemoteFlowsErrorBoundary } from '@/src/components/error-handling/RemoteFlowsErrorBoundary';\n\nconst queryClient = new QueryClient();\n\ntype RemoteFlowContextWrapperProps = {\n children: React.ReactNode;\n client: Client;\n};\n\nfunction RemoteFlowContextWrapper({\n children,\n client,\n}: RemoteFlowContextWrapperProps) {\n return (\n <RemoteFlowContext.Provider value={{ client }}>\n {children}\n </RemoteFlowContext.Provider>\n );\n}\n\nexport function FormFieldsProvider({\n children,\n components,\n}: PropsWithChildren<{\n components?: Components;\n}>) {\n return (\n <FormFieldsContext.Provider\n value={components ? { components } : { components: {} }}\n >\n {children}\n </FormFieldsContext.Provider>\n );\n}\n\nexport function RemoteFlows({\n auth,\n children,\n components,\n theme,\n proxy,\n environment,\n errorBoundary = { useParentErrorBoundary: true },\n}: PropsWithChildren<RemoteFlowsSDKProps>) {\n const client = useMemo(\n () => createClient(auth, { environment, proxy }),\n [auth, environment, proxy],\n );\n return (\n <RemoteFlowsErrorBoundary errorBoundary={errorBoundary}>\n <QueryClientProvider client={queryClient}>\n <FormFieldsProvider components={components}>\n <RemoteFlowContextWrapper client={client}>\n <ThemeProvider theme={theme}>{children}</ThemeProvider>\n </RemoteFlowContextWrapper>\n </FormFieldsProvider>\n </QueryClientProvider>\n </RemoteFlowsErrorBoundary>\n );\n}\n","import {\n CssThemeBorder,\n CssThemeColors,\n CssThemeFont,\n CssThemeSpacing,\n ThemeColors,\n ThemeFont,\n ThemeProviderProps,\n} from '@/src/types/theme';\n\nfunction setCssProperties(variables: Record<string, string>) {\n const root = document.documentElement;\n Object.keys(variables).forEach((v) => {\n const propertyVal = variables[v];\n if (propertyVal) {\n root.style.setProperty(v, propertyVal);\n }\n });\n}\n\nfunction mapThemeColors(colors: ThemeColors): CssThemeColors {\n const result: CssThemeColors = {};\n Object.keys(colors).forEach((key) => {\n result[`--${key}` as keyof CssThemeColors] =\n colors[key as keyof ThemeColors];\n });\n return result;\n}\n\nfunction mapThemeSpacing(spacing: string): CssThemeSpacing {\n return {\n '--spacing': spacing,\n };\n}\n\nfunction mapThemeBorderRadius(borderRadius: string): CssThemeBorder {\n return {\n '--radius': borderRadius,\n };\n}\n\nfunction mapThemeFont(font: ThemeFont): CssThemeFont {\n return {\n '--fontSizeBase': font.fontSizeBase,\n };\n}\n\nexport function applyTheme(theme: ThemeProviderProps['theme']) {\n if (theme?.colors) {\n setCssProperties(mapThemeColors(theme.colors));\n }\n\n if (theme?.spacing) {\n setCssProperties(mapThemeSpacing(theme.spacing));\n }\n\n if (theme?.borderRadius) {\n setCssProperties(mapThemeBorderRadius(theme.borderRadius));\n }\n\n if (theme?.font) {\n setCssProperties(mapThemeFont(theme.font));\n }\n}\n","import { applyTheme } from '@/src/lib/applyTheme';\nimport { createContext, useEffect, useMemo } from 'react';\nimport { ThemeProviderProps } from './types/theme';\n\nconst ThemeContext = createContext<Omit<ThemeProviderProps, 'children'>>({\n theme: {},\n});\n\nexport function ThemeProvider(props: ThemeProviderProps) {\n useEffect(() => {\n if (props.theme && Object.keys(props.theme).length > 0) {\n applyTheme(props.theme);\n }\n }, [props.theme]);\n\n const value = useMemo(() => {\n return { theme: props.theme };\n }, [props.theme]);\n\n return (\n <ThemeContext.Provider value={value}>\n {props.children}\n </ThemeContext.Provider>\n );\n}\n","import { createClient as createHeyApiClient } from '@hey-api/client-fetch';\nimport { client } from '@/src/client/client.gen';\nimport { ENVIRONMENTS } from '@/src/environments';\nimport { npmPackageVersion } from '@/src/lib/version';\nimport { RemoteFlowsSDKProps } from '@/src/types/remoteFlows';\nimport { debug } from '@/src/lib/utils';\n\ntype AuthResponse = {\n accessToken: string;\n expiresIn: number;\n};\n\ntype Options = Partial<{\n environment: keyof typeof ENVIRONMENTS;\n proxy: RemoteFlowsSDKProps['proxy'];\n}>;\n\nfunction isValidUrl(url: string) {\n try {\n new URL(url);\n return true;\n } catch {\n return false;\n }\n}\n\nexport function createClient(\n auth: () => Promise<AuthResponse>,\n options?: Options,\n) {\n const sessionRef = {\n current: null as { accessToken: string; expiresAt: number } | null,\n };\n\n const baseUrl = options?.environment\n ? ENVIRONMENTS[options?.environment]\n : process.env.REMOTE_GATEWAY_URL;\n\n const clientConfig = client.getConfig();\n\n if (options?.environment && options?.environment !== 'production') {\n debug(npmPackageVersion);\n }\n\n const isValidProxy = !!options?.proxy && isValidUrl(options.proxy.url);\n\n if (options?.proxy && !isValidProxy) {\n console.error('Invalid proxy URL provided. Using default base URL.');\n }\n\n return createHeyApiClient({\n ...clientConfig,\n headers: {\n ...clientConfig.headers,\n ...(isValidProxy ? options?.proxy?.headers : {}),\n 'X-Client-Name': 'remote-flows-sdk',\n 'X-Client-Version': npmPackageVersion,\n },\n baseUrl: isValidProxy ? options.proxy?.url : baseUrl,\n auth: async () => {\n function hasTokenExpired(expiresAt: number | undefined) {\n return !expiresAt || Date.now() + 60000 > expiresAt;\n }\n\n if (\n !sessionRef.current ||\n hasTokenExpired(sessionRef.current.expiresAt)\n ) {\n try {\n const data = await auth();\n sessionRef.current = {\n accessToken: data.accessToken,\n expiresAt: Date.now() + data.expiresIn * 1000,\n };\n } catch (error) {\n console.error('Failed to fetch auth token:', error);\n return undefined;\n }\n }\n return sessionRef.current?.accessToken;\n },\n });\n}\n","export const ENVIRONMENTS = {\n local: 'http://localhost:4000/api/eor',\n partners: 'https://gateway.partners.remote-sandbox.com',\n production: 'https://gateway.remote.com',\n sandbox: 'https://gateway.remote-sandbox.com',\n staging: 'https://gateway.niceremote.com',\n};\n","/**\n * SDK version constant\n * Retrieved from package.json at build time\n * Falls back to 'unknown' if VERSION env var is not set\n */\nexport const npmPackageVersion = process.env.VERSION || 'unknown';\n","import { Component, ErrorInfo, ReactNode } from 'react';\n\ntype ErrorBoundaryState = {\n hasError: boolean;\n error: Error | null;\n};\n\ninterface RemoteFlowsErrorBoundaryProps {\n children: ReactNode;\n /**\n * Error boundary configuration.\n */\n errorBoundary?: {\n /**\n * If true, re-throws errors to parent error boundary.\n * If false, shows fallback UI to prevent crashes.\n * @default false\n */\n useParentErrorBoundary?: boolean;\n /**\n * Custom fallback UI to show when an error occurs.\n * fallback only works when rethrow is false.\n * If not provided, shows default error message.\n */\n fallback?: ReactNode | ((error: Error) => ReactNode);\n };\n}\n\nexport const FallbackErrorBoundary = () => {\n return (\n <div\n style={{\n padding: '20px',\n border: '1px solid #dc2626',\n borderRadius: '4px',\n backgroundColor: '#fef2f2',\n color: '#991b1b',\n }}\n >\n Something went wrong in RemoteFlows. Please refresh the page.\n </div>\n );\n};\n\nexport class RemoteFlowsErrorBoundary extends Component<\n RemoteFlowsErrorBoundaryProps,\n ErrorBoundaryState\n> {\n constructor(props: RemoteFlowsErrorBoundaryProps) {\n super(props);\n this.state = {\n hasError: false,\n error: null,\n };\n }\n\n static getDerivedStateFromError(error: Error): ErrorBoundaryState {\n return {\n hasError: true,\n error,\n };\n }\n\n componentDidCatch(error: Error, errorInfo: ErrorInfo): void {\n console.error('[RemoteFlows] Error caught:', error, errorInfo);\n\n if (this.props.errorBoundary?.useParentErrorBoundary) {\n throw error;\n }\n }\n\n render(): ReactNode {\n if (this.state.hasError && this.state.error) {\n // If custom fallback provided, use it\n if (this.props.errorBoundary?.fallback) {\n return typeof this.props.errorBoundary?.fallback === 'function'\n ? this.props.errorBoundary?.fallback(this.state.error)\n : this.props.errorBoundary?.fallback;\n }\n\n // Default fallback\n return <FallbackErrorBoundary />;\n }\n\n return this.props.children;\n }\n}\n"],"mappings":"y5HAAA,OAAS,eAAAA,EAAa,uBAAAC,MAA2B,wBAEjD,OAAgB,WAAAC,OAAe,QCQ/B,SAASC,EAAiBC,EAAmC,CAC3D,IAAMC,EAAO,SAAS,gBACtB,OAAO,KAAKD,CAAS,EAAE,QAASE,GAAM,CACpC,IAAMC,EAAcH,EAAUE,CAAC,EAC3BC,GACFF,EAAK,MAAM,YAAYC,EAAGC,CAAW,CAEzC,CAAC,CACH,CARSC,EAAAL,EAAA,oBAUT,SAASM,EAAeC,EAAqC,CAC3D,IAAMC,EAAyB,CAAC,EAChC,cAAO,KAAKD,CAAM,EAAE,QAASE,GAAQ,CACnCD,EAAO,KAAKC,CAAG,EAA0B,EACvCF,EAAOE,CAAwB,CACnC,CAAC,EACMD,CACT,CAPSH,EAAAC,EAAA,kBAST,SAASI,EAAgBC,EAAkC,CACzD,MAAO,CACL,YAAaA,CACf,CACF,CAJSN,EAAAK,EAAA,mBAMT,SAASE,EAAqBC,EAAsC,CAClE,MAAO,CACL,WAAYA,CACd,CACF,CAJSR,EAAAO,EAAA,wBAMT,SAASE,EAAaC,EAA+B,CACnD,MAAO,CACL,iBAAkBA,EAAK,YACzB,CACF,CAJSV,EAAAS,EAAA,gBAMF,SAASE,EAAWC,EAAoC,CACzDA,GAAO,QACTjB,EAAiBM,EAAeW,EAAM,MAAM,CAAC,EAG3CA,GAAO,SACTjB,EAAiBU,EAAgBO,EAAM,OAAO,CAAC,EAG7CA,GAAO,cACTjB,EAAiBY,EAAqBK,EAAM,YAAY,CAAC,EAGvDA,GAAO,MACTjB,EAAiBc,EAAaG,EAAM,IAAI,CAAC,CAE7C,CAhBgBZ,EAAAW,EAAA,cC9ChB,OAAS,iBAAAE,EAAe,aAAAC,EAAW,WAAAC,MAAe,QAmB9C,cAAAC,MAAA,oBAhBJ,IAAMC,EAAeC,EAAoD,CACvE,MAAO,CAAC,CACV,CAAC,EAEM,SAASC,EAAcC,EAA2B,CACvDC,EAAU,IAAM,CACVD,EAAM,OAAS,OAAO,KAAKA,EAAM,KAAK,EAAE,OAAS,GACnDE,EAAWF,EAAM,KAAK,CAE1B,EAAG,CAACA,EAAM,KAAK,CAAC,EAEhB,IAAMG,EAAQC,EAAQ,KACb,CAAE,MAAOJ,EAAM,KAAM,GAC3B,CAACA,EAAM,KAAK,CAAC,EAEhB,OACEJ,EAACC,EAAa,SAAb,CAAsB,MAAOM,EAC3B,SAAAH,EAAM,SACT,CAEJ,CAhBgBK,EAAAN,EAAA,iBCRhB,OAAS,gBAAgBO,MAA0B,wBCA5C,IAAMC,EAAe,CAC1B,MAAO,gCACP,SAAU,8CACV,WAAY,6BACZ,QAAS,qCACT,QAAS,gCACX,ECDO,IAAMC,EAAoB,SFYjC,SAASC,EAAWC,EAAa,CAC/B,GAAI,CACF,WAAI,IAAIA,CAAG,EACJ,EACT,MAAQ,CACN,MAAO,EACT,CACF,CAPSC,EAAAF,EAAA,cASF,SAASG,EACdC,EACAC,EACA,CACA,IAAMC,EAAa,CACjB,QAAS,IACX,EAEMC,EAAUF,GAAS,YACrBG,EAAaH,GAAS,WAAW,EACjC,6BAEEI,EAAeC,EAAO,UAAU,EAElCL,GAAS,aAAeA,GAAS,cAAgB,cACnDM,EAAMC,CAAiB,EAGzB,IAAMC,EAAe,CAAC,CAACR,GAAS,OAASL,EAAWK,EAAQ,MAAM,GAAG,EAErE,OAAIA,GAAS,OAAS,CAACQ,GACrB,QAAQ,MAAM,qDAAqD,EAG9DC,EAAmB,CACxB,GAAGL,EACH,QAAS,CACP,GAAGA,EAAa,QAChB,GAAII,EAAeR,GAAS,OAAO,QAAU,CAAC,EAC9C,gBAAiB,mBACjB,mBAAoBO,CACtB,EACA,QAASC,EAAeR,EAAQ,OAAO,IAAME,EAC7C,KAAML,EAAA,SAAY,CAChB,SAASa,EAAgBC,EAA+B,CACtD,MAAO,CAACA,GAAa,KAAK,IAAI,EAAI,IAAQA,CAC5C,CAEA,GAJSd,EAAAa,EAAA,mBAKP,CAACT,EAAW,SACZS,EAAgBT,EAAW,QAAQ,SAAS,EAE5C,GAAI,CACF,IAAMW,EAAO,MAAMb,EAAK,EACxBE,EAAW,QAAU,CACnB,YAAaW,EAAK,YAClB,UAAW,KAAK,IAAI,EAAIA,EAAK,UAAY,GAC3C,CACF,OAASC,EAAO,CACd,QAAQ,MAAM,8BAA+BA,CAAK,EAClD,MACF,CAEF,OAAOZ,EAAW,SAAS,WAC7B,EArBM,OAsBR,CAAC,CACH,CAxDgBJ,EAAAC,EAAA,gBG1BhB,OAAS,aAAAgB,MAAuC,QA8B5C,cAAAC,MAAA,oBAFG,IAAMC,EAAwBC,EAAA,IAEjCF,EAAC,OACC,MAAO,CACL,QAAS,OACT,OAAQ,oBACR,aAAc,MACd,gBAAiB,UACjB,MAAO,SACT,EACD,yEAED,EAZiC,yBAgBxBG,EAAN,cAAuCC,CAG5C,CA/CF,MA+CE,CAAAF,EAAA,iCACA,YAAYG,EAAsC,CAChD,MAAMA,CAAK,EACX,KAAK,MAAQ,CACX,SAAU,GACV,MAAO,IACT,CACF,CAEA,OAAO,yBAAyBC,EAAkC,CAChE,MAAO,CACL,SAAU,GACV,MAAAA,CACF,CACF,CAEA,kBAAkBA,EAAcC,EAA4B,CAG1D,GAFA,QAAQ,MAAM,8BAA+BD,EAAOC,CAAS,EAEzD,KAAK,MAAM,eAAe,uBAC5B,MAAMD,CAEV,CAEA,QAAoB,CAClB,OAAI,KAAK,MAAM,UAAY,KAAK,MAAM,MAEhC,KAAK,MAAM,eAAe,SACrB,OAAO,KAAK,MAAM,eAAe,UAAa,WACjD,KAAK,MAAM,eAAe,SAAS,KAAK,MAAM,KAAK,EACnD,KAAK,MAAM,eAAe,SAIzBN,EAACC,EAAA,EAAsB,EAGzB,KAAK,MAAM,QACpB,CACF,EN/DI,cAAAO,MAAA,oBAZJ,IAAMC,GAAc,IAAIC,EAOxB,SAASC,GAAyB,CAChC,SAAAC,EACA,OAAAC,CACF,EAAkC,CAChC,OACEL,EAACM,EAAkB,SAAlB,CAA2B,MAAO,CAAE,OAAAD,CAAO,EACzC,SAAAD,EACH,CAEJ,CATSG,EAAAJ,GAAA,4BAWF,SAASK,GAAmB,CACjC,SAAAJ,EACA,WAAAK,CACF,EAEI,CACF,OACET,EAACU,EAAkB,SAAlB,CACC,MAAOD,EAAa,CAAE,WAAAA,CAAW,EAAI,CAAE,WAAY,CAAC,CAAE,EAErD,SAAAL,EACH,CAEJ,CAbgBG,EAAAC,GAAA,sBAeT,SAASG,GAAY,CAC1B,KAAAC,EACA,SAAAR,EACA,WAAAK,EACA,MAAAI,EACA,MAAAC,EACA,YAAAC,EACA,cAAAC,EAAgB,CAAE,uBAAwB,EAAK,CACjD,EAA2C,CACzC,IAAMX,EAASY,GACb,IAAMC,EAAaN,EAAM,CAAE,YAAAG,EAAa,MAAAD,CAAM,CAAC,EAC/C,CAACF,EAAMG,EAAaD,CAAK,CAC3B,EACA,OACEd,EAACmB,EAAA,CAAyB,cAAeH,EACvC,SAAAhB,EAACoB,EAAA,CAAoB,OAAQnB,GAC3B,SAAAD,EAACQ,GAAA,CAAmB,WAAYC,EAC9B,SAAAT,EAACG,GAAA,CAAyB,OAAQE,EAChC,SAAAL,EAACqB,EAAA,CAAc,MAAOR,EAAQ,SAAAT,EAAS,EACzC,EACF,EACF,EACF,CAEJ,CAxBgBG,EAAAI,GAAA","names":["QueryClient","QueryClientProvider","useMemo","setCssProperties","variables","root","v","propertyVal","__name","mapThemeColors","colors","result","key","mapThemeSpacing","spacing","mapThemeBorderRadius","borderRadius","mapThemeFont","font","applyTheme","theme","createContext","useEffect","useMemo","jsx","ThemeContext","createContext","ThemeProvider","props","useEffect","applyTheme","value","useMemo","__name","createHeyApiClient","ENVIRONMENTS","npmPackageVersion","isValidUrl","url","__name","createClient","auth","options","sessionRef","baseUrl","ENVIRONMENTS","clientConfig","client","debug","npmPackageVersion","isValidProxy","createHeyApiClient","hasTokenExpired","expiresAt","data","error","Component","jsx","FallbackErrorBoundary","__name","RemoteFlowsErrorBoundary","Component","props","error","errorInfo","jsx","queryClient","QueryClient","RemoteFlowContextWrapper","children","client","RemoteFlowContext","__name","FormFieldsProvider","components","FormFieldsContext","RemoteFlows","auth","theme","proxy","environment","errorBoundary","useMemo","createClient","RemoteFlowsErrorBoundary","QueryClientProvider","ThemeProvider"]}
1
+ {"version":3,"sources":["../src/RemoteFlowsProvider.tsx","../src/lib/applyTheme.ts","../src/theme.tsx","../src/auth/createClient.ts","../src/environments.ts","../src/lib/version.ts","../src/components/error-handling/RemoteFlowsErrorBoundary.tsx"],"sourcesContent":["import { QueryClient, QueryClientProvider } from '@tanstack/react-query';\nimport type { PropsWithChildren } from 'react';\nimport React, { useMemo } from 'react';\n\nimport { ThemeProvider } from '@/src/theme';\nimport { FormFieldsContext, RemoteFlowContext } from './context';\nimport { Components, RemoteFlowsSDKProps } from './types/remoteFlows';\nimport { createClient } from '@/src/auth/createClient';\nimport { Client } from '@hey-api/client-fetch';\nimport { RemoteFlowsErrorBoundary } from '@/src/components/error-handling/RemoteFlowsErrorBoundary';\n\nconst queryClient = new QueryClient();\n\ntype RemoteFlowContextWrapperProps = {\n children: React.ReactNode;\n client: Client;\n};\n\nfunction RemoteFlowContextWrapper({\n children,\n client,\n}: RemoteFlowContextWrapperProps) {\n return (\n <RemoteFlowContext.Provider value={{ client }}>\n {children}\n </RemoteFlowContext.Provider>\n );\n}\n\nexport function FormFieldsProvider({\n children,\n components,\n}: PropsWithChildren<{\n components?: Components;\n}>) {\n return (\n <FormFieldsContext.Provider\n value={components ? { components } : { components: {} }}\n >\n {children}\n </FormFieldsContext.Provider>\n );\n}\n\nexport function RemoteFlows({\n auth,\n children,\n components,\n theme,\n proxy,\n environment,\n errorBoundary = { useParentErrorBoundary: true },\n}: PropsWithChildren<RemoteFlowsSDKProps>) {\n const client = useMemo(\n () => createClient(auth, { environment, proxy }),\n [auth, environment, proxy],\n );\n return (\n <RemoteFlowsErrorBoundary errorBoundary={errorBoundary}>\n <QueryClientProvider client={queryClient}>\n <FormFieldsProvider components={components}>\n <RemoteFlowContextWrapper client={client}>\n <ThemeProvider theme={theme}>{children}</ThemeProvider>\n </RemoteFlowContextWrapper>\n </FormFieldsProvider>\n </QueryClientProvider>\n </RemoteFlowsErrorBoundary>\n );\n}\n","import {\n CssThemeBorder,\n CssThemeColors,\n CssThemeFont,\n CssThemeSpacing,\n ThemeColors,\n ThemeFont,\n ThemeProviderProps,\n} from '@/src/types/theme';\n\nfunction setCssProperties(variables: Record<string, string>) {\n const root = document.documentElement;\n Object.keys(variables).forEach((v) => {\n const propertyVal = variables[v];\n if (propertyVal) {\n root.style.setProperty(v, propertyVal);\n }\n });\n}\n\nfunction mapThemeColors(colors: ThemeColors): CssThemeColors {\n const result: CssThemeColors = {};\n Object.keys(colors).forEach((key) => {\n result[`--${key}` as keyof CssThemeColors] =\n colors[key as keyof ThemeColors];\n });\n return result;\n}\n\nfunction mapThemeSpacing(spacing: string): CssThemeSpacing {\n return {\n '--spacing': spacing,\n };\n}\n\nfunction mapThemeBorderRadius(borderRadius: string): CssThemeBorder {\n return {\n '--radius': borderRadius,\n };\n}\n\nfunction mapThemeFont(font: ThemeFont): CssThemeFont {\n return {\n '--fontSizeBase': font.fontSizeBase,\n };\n}\n\nexport function applyTheme(theme: ThemeProviderProps['theme']) {\n if (theme?.colors) {\n setCssProperties(mapThemeColors(theme.colors));\n }\n\n if (theme?.spacing) {\n setCssProperties(mapThemeSpacing(theme.spacing));\n }\n\n if (theme?.borderRadius) {\n setCssProperties(mapThemeBorderRadius(theme.borderRadius));\n }\n\n if (theme?.font) {\n setCssProperties(mapThemeFont(theme.font));\n }\n}\n","import { applyTheme } from '@/src/lib/applyTheme';\nimport { createContext, useEffect, useMemo } from 'react';\nimport { ThemeProviderProps } from './types/theme';\n\nconst ThemeContext = createContext<Omit<ThemeProviderProps, 'children'>>({\n theme: {},\n});\n\nexport function ThemeProvider(props: ThemeProviderProps) {\n useEffect(() => {\n if (props.theme && Object.keys(props.theme).length > 0) {\n applyTheme(props.theme);\n }\n }, [props.theme]);\n\n const value = useMemo(() => {\n return { theme: props.theme };\n }, [props.theme]);\n\n return (\n <ThemeContext.Provider value={value}>\n {props.children}\n </ThemeContext.Provider>\n );\n}\n","import { createClient as createHeyApiClient } from '@hey-api/client-fetch';\nimport { client } from '@/src/client/client.gen';\nimport { ENVIRONMENTS } from '@/src/environments';\nimport { npmPackageVersion } from '@/src/lib/version';\nimport { RemoteFlowsSDKProps } from '@/src/types/remoteFlows';\nimport { debug } from '@/src/lib/utils';\n\ntype AuthResponse = {\n accessToken: string;\n expiresIn: number;\n};\n\ntype Options = Partial<{\n environment: keyof typeof ENVIRONMENTS;\n proxy: RemoteFlowsSDKProps['proxy'];\n}>;\n\nfunction isValidUrl(url: string) {\n try {\n new URL(url);\n return true;\n } catch {\n return false;\n }\n}\n\nexport function createClient(\n auth: () => Promise<AuthResponse>,\n options?: Options,\n) {\n const sessionRef = {\n current: null as { accessToken: string; expiresAt: number } | null,\n };\n\n const baseUrl = options?.environment\n ? ENVIRONMENTS[options?.environment]\n : process.env.REMOTE_GATEWAY_URL;\n\n const clientConfig = client.getConfig();\n\n if (options?.environment && options?.environment !== 'production') {\n debug(npmPackageVersion);\n }\n\n const isValidProxy = !!options?.proxy && isValidUrl(options.proxy.url);\n\n if (options?.proxy && !isValidProxy) {\n console.error('Invalid proxy URL provided. Using default base URL.');\n }\n\n return createHeyApiClient({\n ...clientConfig,\n headers: {\n ...clientConfig.headers,\n ...(isValidProxy ? options?.proxy?.headers : {}),\n 'X-Client-Name': 'remote-flows-sdk',\n 'X-Client-Version': npmPackageVersion,\n },\n baseUrl: isValidProxy ? options.proxy?.url : baseUrl,\n auth: async () => {\n function hasTokenExpired(expiresAt: number | undefined) {\n return !expiresAt || Date.now() + 60000 > expiresAt;\n }\n\n if (\n !sessionRef.current ||\n hasTokenExpired(sessionRef.current.expiresAt)\n ) {\n try {\n const data = await auth();\n sessionRef.current = {\n accessToken: data.accessToken,\n expiresAt: Date.now() + data.expiresIn * 1000,\n };\n } catch (error) {\n console.error('Failed to fetch auth token:', error);\n return undefined;\n }\n }\n return sessionRef.current?.accessToken;\n },\n });\n}\n","export const ENVIRONMENTS = {\n local: 'http://localhost:4000/api/eor',\n partners: 'https://gateway.partners.remote-sandbox.com',\n production: 'https://gateway.remote.com',\n sandbox: 'https://gateway.remote-sandbox.com',\n staging: 'https://gateway.niceremote.com',\n};\n","/**\n * SDK version constant\n * Retrieved from package.json at build time\n * Falls back to 'unknown' if VERSION env var is not set\n */\nexport const npmPackageVersion = process.env.VERSION || 'unknown';\n","import { Component, ErrorInfo, ReactNode } from 'react';\n\ntype ErrorBoundaryState = {\n hasError: boolean;\n error: Error | null;\n};\n\ninterface RemoteFlowsErrorBoundaryProps {\n children: ReactNode;\n /**\n * Error boundary configuration.\n */\n errorBoundary?: {\n /**\n * If true, re-throws errors to parent error boundary.\n * If false, shows fallback UI to prevent crashes.\n * @default false\n */\n useParentErrorBoundary?: boolean;\n /**\n * Custom fallback UI to show when an error occurs.\n * fallback only works when rethrow is false.\n * If not provided, shows default error message.\n */\n fallback?: ReactNode | ((error: Error) => ReactNode);\n };\n}\n\nexport const FallbackErrorBoundary = () => {\n return (\n <div\n style={{\n padding: '20px',\n border: '1px solid #dc2626',\n borderRadius: '4px',\n backgroundColor: '#fef2f2',\n color: '#991b1b',\n }}\n >\n Something went wrong in RemoteFlows. Please refresh the page.\n </div>\n );\n};\n\nexport class RemoteFlowsErrorBoundary extends Component<\n RemoteFlowsErrorBoundaryProps,\n ErrorBoundaryState\n> {\n constructor(props: RemoteFlowsErrorBoundaryProps) {\n super(props);\n this.state = {\n hasError: false,\n error: null,\n };\n }\n\n static getDerivedStateFromError(error: Error): ErrorBoundaryState {\n return {\n hasError: true,\n error,\n };\n }\n\n componentDidCatch(error: Error, errorInfo: ErrorInfo): void {\n console.error('[RemoteFlows] Error caught:', error, errorInfo);\n\n if (this.props.errorBoundary?.useParentErrorBoundary) {\n throw error;\n }\n }\n\n render(): ReactNode {\n if (this.state.hasError && this.state.error) {\n // If custom fallback provided, use it\n if (this.props.errorBoundary?.fallback) {\n return typeof this.props.errorBoundary?.fallback === 'function'\n ? this.props.errorBoundary?.fallback(this.state.error)\n : this.props.errorBoundary?.fallback;\n }\n\n // Default fallback\n return <FallbackErrorBoundary />;\n }\n\n return this.props.children;\n }\n}\n"],"mappings":"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","names":["QueryClient","QueryClientProvider","useMemo","setCssProperties","variables","root","v","propertyVal","__name","mapThemeColors","colors","result","key","mapThemeSpacing","spacing","mapThemeBorderRadius","borderRadius","mapThemeFont","font","applyTheme","theme","createContext","useEffect","useMemo","jsx","ThemeContext","createContext","ThemeProvider","props","useEffect","applyTheme","value","useMemo","__name","createHeyApiClient","ENVIRONMENTS","npmPackageVersion","isValidUrl","url","__name","createClient","auth","options","sessionRef","baseUrl","ENVIRONMENTS","clientConfig","client","debug","npmPackageVersion","isValidProxy","createHeyApiClient","hasTokenExpired","expiresAt","data","error","Component","jsx","FallbackErrorBoundary","__name","RemoteFlowsErrorBoundary","Component","props","error","errorInfo","jsx","queryClient","QueryClient","RemoteFlowContextWrapper","children","client","RemoteFlowContext","__name","FormFieldsProvider","components","FormFieldsContext","RemoteFlows","auth","theme","proxy","environment","errorBoundary","useMemo","createClient","RemoteFlowsErrorBoundary","QueryClientProvider","ThemeProvider"]}
@@ -1,4 +1,4 @@
1
- export { Z as ZendeskTriggerButton, c as cn } from './ZendeskTriggerButton-Dditzyfj.js';
1
+ export { c as cn } from './utils-CjDMg_Yr.js';
2
2
  import * as react_jsx_runtime from 'react/jsx-runtime';
3
3
  import * as class_variance_authority_types from 'class-variance-authority/types';
4
4
  import { VariantProps } from 'class-variance-authority';
package/dist/internals.js CHANGED
@@ -1,2 +1,2 @@
1
- import{a as R,b as S,c as T}from"./chunk-QWJFYQK3.js";import{a as N,b as O,c as P,d as Q}from"./chunk-7R347KBY.js";import{a as H,b as I,c as J,d as K,e as L,f as M}from"./chunk-AFRA4BIW.js";import{a as G}from"./chunk-3A47R5RQ.js";import{a as j,b as m,c as n,d as o,e as p,g as q,h as r,i as s,j as t,k as w,l as x,m as y,n as z,o as A,p as B,q as C,r as D,s as E,t as F}from"./chunk-GOGPCCBS.js";import{a as u,b as v}from"./chunk-HPHWQU34.js";import{b as i}from"./chunk-MZB24YJP.js";import{a as c}from"./chunk-PD24XKD6.js";import{a as d,b as e,d as f,e as g,f as h}from"./chunk-TWIUL2P3.js";import"./chunk-AA7QB3QQ.js";import{a as k,b as l}from"./chunk-WVDTHFGS.js";import"./chunk-3ZWDIEEM.js";import{a as b}from"./chunk-MQ6F5LE4.js";import{a}from"./chunk-43WMZDDH.js";import"./chunk-P37U34EQ.js";export{D as Alert,F as AlertDescription,E as AlertTitle,v as Badge,l as Button,H as Card,L as CardContent,K as CardDescription,M as CardFooter,I as CardHeader,J as CardTitle,j as Checkbox,R as Collapsible,T as CollapsibleContent,S as CollapsibleTrigger,w as Dialog,y as DialogContent,C as DialogDescription,A as DialogFooter,z as DialogHeader,B as DialogTitle,x as DialogTrigger,d as Drawer,f as DrawerContent,g as DrawerHeader,h as DrawerTitle,e as DrawerTrigger,m as FileUploader,c as Input,b as Label,n as RadioGroup,o as RadioGroupItem,G as ScrollArea,p as Select,s as SelectContent,t as SelectItem,r as SelectTrigger,q as SelectValue,N as Tabs,Q as TabsContent,O as TabsList,P as TabsTrigger,i as ZendeskTriggerButton,u as badgeVariants,k as buttonVariants,a as cn};
1
+ import{a as L,b as M,c as N,d as O,e as P,f as Q,g as R,h as S}from"./chunk-UK5HHMPM.js";import{a as F,b as G,c as H,d as I,e as J,f as K}from"./chunk-AFRA4BIW.js";import{a as i,b as l,c as m,d as n,e as o,g as p,h as q,i as r,j as s,k as t,l as u,m as v,n as w,o as x,p as y,q as z,r as A,s as B,t as C,u as D,v as E}from"./chunk-W5M5HLWF.js";import{a as d,b as e,c as f,d as g,e as h}from"./chunk-MOG7GUQB.js";import{a as c}from"./chunk-PD24XKD6.js";import{a as j,b as k}from"./chunk-WVDTHFGS.js";import{a as b}from"./chunk-MQ6F5LE4.js";import{a}from"./chunk-43WMZDDH.js";import"./chunk-P37U34EQ.js";export{C as Alert,E as AlertDescription,D as AlertTitle,u as Badge,k as Button,F as Card,J as CardContent,I as CardDescription,K as CardFooter,G as CardHeader,H as CardTitle,i as Checkbox,L as Collapsible,N as CollapsibleContent,M as CollapsibleTrigger,v as Dialog,x as DialogContent,B as DialogDescription,z as DialogFooter,y as DialogHeader,A as DialogTitle,w as DialogTrigger,d as Drawer,f as DrawerContent,g as DrawerHeader,h as DrawerTitle,e as DrawerTrigger,l as FileUploader,c as Input,b as Label,m as RadioGroup,n as RadioGroupItem,S as ScrollArea,o as Select,r as SelectContent,s as SelectItem,q as SelectTrigger,p as SelectValue,O as Tabs,R as TabsContent,P as TabsList,Q as TabsTrigger,t as badgeVariants,j as buttonVariants,a as cn};
2
2
  //# sourceMappingURL=internals.js.map
@@ -1,4 +1,4 @@
1
- import './remoteFlows-DUivEPPh.js';
1
+ import './remoteFlows-CJkEwDeI.js';
2
2
 
3
3
  interface SuccessResponse<D> {
4
4
  data: D;
@@ -233,13 +233,6 @@ type RemoteFlowsSDKProps = Omit<ThemeProviderProps, 'children'> & {
233
233
  */
234
234
  fallback?: ReactNode | ((error: Error) => ReactNode);
235
235
  };
236
- /**
237
- * ID to use for the auth query.
238
- * If we navigate from one page to another with a different authentication method,
239
- * we need to use a different authId.
240
- * @deprecated will be removed in a major version, behavior stays the same for now.
241
- */
242
- authId?: 'default' | 'client';
243
236
  };
244
237
  type $TSFixMe = any;
245
238
  declare global {
@@ -2,9 +2,9 @@ import { u as EmploymentCreationResponse, A as EmploymentResponse, S as SuccessR
2
2
  import * as react_jsx_runtime from 'react/jsx-runtime';
3
3
  import { OnboardingBack } from './flows/Onboarding/components/OnboardingBack.js';
4
4
  import { OnboardingInvite } from './flows/Onboarding/components/OnboardingInvite.js';
5
- import { N as NormalizedFieldError, S as SuccessResponse$1, E as ErrorResponse } from './mutations-Cdk0PM78.js';
5
+ import { N as NormalizedFieldError, S as SuccessResponse$1, E as ErrorResponse } from './mutations-Dj5OTaG_.js';
6
6
  import { OnboardingSubmit } from './flows/Onboarding/components/OnboardingSubmit.js';
7
- import { C as Components, M as Meta, J as JSFFieldset } from './remoteFlows-DUivEPPh.js';
7
+ import { C as Components, M as Meta, J as JSFFieldset } from './remoteFlows-CJkEwDeI.js';
8
8
  import * as _tanstack_query_core from '@tanstack/query-core';
9
9
  import * as React$1 from 'react';
10
10
  import * as _remoteoss_json_schema_form from '@remoteoss/json-schema-form';
@@ -141,10 +141,10 @@ declare const useOnboarding: ({ employmentId, companyId, countryCode, type, opti
141
141
  * @param values - Form values to validate
142
142
  * @returns Validation result or null if no schema is available
143
143
  */
144
- handleValidation: (values: FieldValues) => {
144
+ handleValidation: (values: FieldValues) => Promise<{
145
145
  yupError: _remoteoss_json_schema_form.$TSFixMe;
146
146
  formErrors: _remoteoss_json_schema_form.$TSFixMe;
147
- } | null;
147
+ } | null>;
148
148
  /**
149
149
  * Function to update the current form field values
150
150
  * @param values - New form values to set
@@ -155,7 +155,7 @@ declare const useOnboarding: ({ employmentId, companyId, countryCode, type, opti
155
155
  * @param values - Form values to parse
156
156
  * @returns Parsed form values
157
157
  */
158
- parseFormValues: (values: FieldValues) => FieldValues;
158
+ parseFormValues: (values: FieldValues) => Promise<FieldValues>;
159
159
  /**
160
160
  * Function to handle form submission
161
161
  * @param values - Form values to submit
@@ -1,6 +1,6 @@
1
1
  import { O as OffboardingResponse, a1 as PayrollCalendarEor, E as Employment, T as TerminationDetailsParams, N as PostCreateOffboardingError } from './types.gen-D0ZCnKWv.js';
2
2
  import * as react_jsx_runtime from 'react/jsx-runtime';
3
- import { E as ErrorResponse, S as SuccessResponse } from './mutations-Cdk0PM78.js';
3
+ import { E as ErrorResponse, S as SuccessResponse } from './mutations-Dj5OTaG_.js';
4
4
  import * as React$1 from 'react';
5
5
  import * as _remoteoss_json_schema_form from '@remoteoss/json-schema-form';
6
6
  import { $TSFixMe } from '@remoteoss/json-schema-form';
@@ -109,10 +109,10 @@ declare const useTermination: ({ employmentId, options, initialValues: terminati
109
109
  * @param values - Form values to validate
110
110
  * @returns Validation result or null if no schema is available
111
111
  */
112
- handleValidation: (values: TerminationFormValues) => {
112
+ handleValidation: (values: TerminationFormValues) => Promise<{
113
113
  yupError: $TSFixMe;
114
114
  formErrors: $TSFixMe;
115
- } | null;
115
+ } | null>;
116
116
  /**
117
117
  * Function to update the current form field values
118
118
  * @param values - New form values to set
@@ -123,7 +123,7 @@ declare const useTermination: ({ employmentId, options, initialValues: terminati
123
123
  * @param values - Form values to parse
124
124
  * @returns Parsed form values
125
125
  */
126
- parseFormValues: (values: TerminationFormValues, includeAllFields?: boolean) => EmployeeCommunicationFormValues | TerminationDetailsFormValues | PaidTimeOffFormValues | TerminationFormValues;
126
+ parseFormValues: (values: TerminationFormValues, includeAllFields?: boolean) => Promise<EmployeeCommunicationFormValues | TerminationDetailsFormValues | PaidTimeOffFormValues | TerminationFormValues>;
127
127
  /**
128
128
  * Function to handle form submission
129
129
  * @param values - Form values to submit
@@ -2,17 +2,17 @@ import { E as Employment, F as File, g as CreateContractDocumentResponse, d as S
2
2
  import { OnboardingBack } from './flows/ContractorOnboarding/components/OnboardingBack.js';
3
3
  import { OnboardingSubmit } from './flows/ContractorOnboarding/components/OnboardingSubmit.js';
4
4
  import * as react_jsx_runtime from 'react/jsx-runtime';
5
- import { N as NormalizedFieldError } from './mutations-Cdk0PM78.js';
5
+ import { N as NormalizedFieldError } from './mutations-Dj5OTaG_.js';
6
6
  import * as _tanstack_query_core from '@tanstack/query-core';
7
7
  import * as _remoteoss_json_schema_form from '@remoteoss/json-schema-form';
8
8
  import { Fields } from '@remoteoss/json-schema-form';
9
9
  import * as React$1 from 'react';
10
10
  import { STEPS } from './flows/ContractorOnboarding/utils.js';
11
11
  import { Step } from './flows/useStepState.js';
12
- import { M as Meta, J as JSFFieldset, $ as $TSFixMe } from './remoteFlows-DUivEPPh.js';
12
+ import { M as Meta, J as JSFFieldset, $ as $TSFixMe } from './remoteFlows-CJkEwDeI.js';
13
13
  import { FieldValues } from 'react-hook-form';
14
14
  import { BasicInformationStep } from './flows/ContractorOnboarding/components/BasicInformationStep.js';
15
- import { g as SelectCountryStep } from './types-BZBdCzER.js';
15
+ import { g as SelectCountryStep } from './types-CrBx80W2.js';
16
16
  import { FlowOptions, JSFModify } from './flows/types.js';
17
17
  import { OnboardingInvite } from './flows/Onboarding/components/OnboardingInvite.js';
18
18
 
@@ -101,16 +101,16 @@ declare const useContractorOnboarding: ({ countryCode, externalId, employmentId,
101
101
  * @param values - Form values to parse
102
102
  * @returns Parsed form values
103
103
  */
104
- parseFormValues: (values: FieldValues) => FieldValues;
104
+ parseFormValues: (values: FieldValues) => Promise<FieldValues>;
105
105
  /**
106
106
  * Function to validate form values against the onboarding schema
107
107
  * @param values - Form values to validate
108
108
  * @returns Validation result or null if no schema is available
109
109
  */
110
- handleValidation: (values: FieldValues) => {
110
+ handleValidation: (values: FieldValues) => Promise<{
111
111
  yupError: _remoteoss_json_schema_form.$TSFixMe;
112
112
  formErrors: _remoteoss_json_schema_form.$TSFixMe;
113
- } | null;
113
+ } | null>;
114
114
  /**
115
115
  * Initial form values
116
116
  */
@@ -0,0 +1,22 @@
1
+ import { ClassValue } from 'clsx';
2
+ import { ValidationError } from 'yup';
3
+
4
+ declare function cn(...inputs: ClassValue[]): string;
5
+ type YupError = Pick<ValidationError, 'type' | 'errors'> & {
6
+ inner: Record<string, YupError>[];
7
+ };
8
+ /**
9
+ * Transforms a Yup ValidationError object into a more readable object. The format is as follows:
10
+ * {
11
+ * [fieldName]: {
12
+ * type: string,
13
+ * errors: string[],
14
+ * inner: YupError[],
15
+ * },
16
+ * }
17
+ * @param errors
18
+ * @returns
19
+ */
20
+ declare const transformYupErrorsIntoObject: (errors: ValidationError) => Record<string, YupError>;
21
+
22
+ export { cn as c, transformYupErrorsIntoObject as t };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remoteoss/remote-flows",
3
- "version": "0.32.0",
3
+ "version": "1.0.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",
@@ -99,7 +99,6 @@
99
99
  "react-flagpack": "^2.0.6",
100
100
  "react-hook-form": "^7.54.2",
101
101
  "react-pdf": "^10.2.0",
102
- "recharts": "^2.15.1",
103
102
  "tailwind-merge": "^3.0.2",
104
103
  "tailwindcss": "^4.0.9",
105
104
  "tailwindcss-animate": "^1.0.7",
@@ -1,47 +0,0 @@
1
- import { ClassValue } from 'clsx';
2
- import { ValidationError } from 'yup';
3
- import * as react_jsx_runtime from 'react/jsx-runtime';
4
-
5
- declare function cn(...inputs: ClassValue[]): string;
6
- type YupError = Pick<ValidationError, 'type' | 'errors'> & {
7
- inner: Record<string, YupError>[];
8
- };
9
- /**
10
- * Transforms a Yup ValidationError object into a more readable object. The format is as follows:
11
- * {
12
- * [fieldName]: {
13
- * type: string,
14
- * errors: string[],
15
- * inner: YupError[],
16
- * },
17
- * }
18
- * @param errors
19
- * @returns
20
- */
21
- declare const transformYupErrorsIntoObject: (errors: ValidationError) => Record<string, YupError>;
22
-
23
- interface ZendeskTriggerButtonProps {
24
- /**
25
- * The Zendesk ID for the help article
26
- */
27
- zendeskId: number;
28
- /**
29
- * The class name for the button
30
- */
31
- className?: string;
32
- /**
33
- * The callback function to be called when the button is clicked
34
- */
35
- onClick?: (zendeskId: number) => void;
36
- /**
37
- * The children to be rendered inside the button
38
- */
39
- children?: React.ReactNode;
40
- /**
41
- * Whether to open the help article in a new tab
42
- */
43
- external?: boolean;
44
- }
45
- declare function ZendeskTriggerButton({ zendeskId, className, onClick, children, external, }: ZendeskTriggerButtonProps): react_jsx_runtime.JSX.Element;
46
-
47
- export { ZendeskTriggerButton as Z, cn as c, transformYupErrorsIntoObject as t };
@@ -1,2 +0,0 @@
1
- import{a as t}from"./chunk-43WMZDDH.js";import*as c from"react";import*as r from"@radix-ui/react-scroll-area";import{jsx as l,jsxs as n}from"react/jsx-runtime";var S=c.forwardRef(({className:o,children:e,...i},a)=>n(r.Root,{ref:a,className:t("relative overflow-hidden",o),...i,children:[l(r.Viewport,{className:"h-full w-full rounded-[inherit]",children:e}),l(m,{}),l(r.Corner,{})]}));S.displayName=r.Root.displayName;var m=c.forwardRef(({className:o,orientation:e="vertical",...i},a)=>l(r.ScrollAreaScrollbar,{ref:a,orientation:e,className:t("flex touch-none select-none transition-colors",e==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",e==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",o),...i,children:l(r.ScrollAreaThumb,{className:"relative flex-1 rounded-full bg-border"})}));m.displayName=r.ScrollAreaScrollbar.displayName;export{S as a};
2
- //# sourceMappingURL=chunk-3A47R5RQ.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/ui/scroll-area.tsx"],"sourcesContent":["import * as React from 'react';\nimport * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';\n\nimport { cn } from '@/src/lib/utils';\n\nconst ScrollArea = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>\n>(({ className, children, ...props }, ref) => (\n <ScrollAreaPrimitive.Root\n ref={ref}\n className={cn('relative overflow-hidden', className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport className='h-full w-full rounded-[inherit]'>\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n));\nScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;\n\nconst ScrollBar = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>\n>(({ className, orientation = 'vertical', ...props }, ref) => (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n ref={ref}\n orientation={orientation}\n className={cn(\n 'flex touch-none select-none transition-colors',\n orientation === 'vertical' &&\n 'h-full w-2.5 border-l border-l-transparent p-[1px]',\n orientation === 'horizontal' &&\n 'h-2.5 flex-col border-t border-t-transparent p-[1px]',\n className,\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb className='relative flex-1 rounded-full bg-border' />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n));\nScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;\n\nexport { ScrollArea, ScrollBar };\n"],"mappings":"wCAAA,UAAYA,MAAW,QACvB,UAAYC,MAAyB,8BAQnC,OAKE,OAAAC,EALF,QAAAC,MAAA,oBAJF,IAAMC,EAAmB,aAGvB,CAAC,CAAE,UAAAC,EAAW,SAAAC,EAAU,GAAGC,CAAM,EAAGC,IACpCL,EAAqB,OAApB,CACC,IAAKK,EACL,UAAWC,EAAG,2BAA4BJ,CAAS,EAClD,GAAGE,EAEJ,UAAAL,EAAqB,WAApB,CAA6B,UAAU,kCACrC,SAAAI,EACH,EACAJ,EAACQ,EAAA,EAAU,EACXR,EAAqB,SAApB,EAA2B,GAC9B,CACD,EACDE,EAAW,YAAkC,OAAK,YAElD,IAAMM,EAAkB,aAGtB,CAAC,CAAE,UAAAL,EAAW,YAAAM,EAAc,WAAY,GAAGJ,CAAM,EAAGC,IACpDN,EAAqB,sBAApB,CACC,IAAKM,EACL,YAAaG,EACb,UAAWF,EACT,gDACAE,IAAgB,YACd,qDACFA,IAAgB,cACd,uDACFN,CACF,EACC,GAAGE,EAEJ,SAAAL,EAAqB,kBAApB,CAAoC,UAAU,yCAAyC,EAC1F,CACD,EACDQ,EAAU,YAAkC,sBAAoB","names":["React","ScrollAreaPrimitive","jsx","jsxs","ScrollArea","className","children","props","ref","cn","ScrollBar","orientation"]}
@@ -1,2 +0,0 @@
1
- import{f as n,g as a}from"./chunk-CNDSIADP.js";import{c as m}from"./chunk-WXUIXZ7P.js";import{b as i}from"./chunk-TVZAFTPT.js";import{a as o}from"./chunk-P37U34EQ.js";import{jsx as s}from"react/jsx-runtime";function w({onSubmit:d,onError:c,onSuccess:l}){let{contractAmendment:{stepState:u,isSubmitting:f,onSubmit:C,fields:p},formId:A}=i(),e=n({defaultValues:u.values?.form}),F=o(async r=>{let S=m(r,p,{isPartialValidation:!1});await d?.(S);let t=await C(r);t.error?c?.(t.error):await l?.(t.data)},"handleSubmit");return f?null:s(a,{...e,children:s("form",{id:A,onSubmit:e.handleSubmit(F),className:"RemoteFlows__ContractAmendmentConfirmationForm"})})}o(w,"ContractAmendmentConfirmationForm");export{w as a};
2
- //# sourceMappingURL=chunk-5OZPBBXS.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/ContractAmendment/ContractAmendmentConfirmationForm.tsx"],"sourcesContent":["import {\n ContractAmendmentResponse,\n PostCreateContractAmendmentError,\n} from '@/src/client';\nimport { parseJSFToValidate } from '@/src/components/form/utils';\nimport { Form } from '@/src/components/ui/form';\nimport { FieldValues, useForm } from 'react-hook-form';\nimport { useContractAmendmentContext } from './context';\n\ntype ContractAmendmentConfirmationFormProps = {\n /**\n * Callback function to be called when the contract amendment form is submitted.\n * This function is called before the contract amendment is submitted.\n * It can be used to perform any additional validation or processing before\n * the contract amendment is submitted.\n * @param values\n * @returns\n */\n onSubmit?: (values: FieldValues) => void | Promise<void>;\n /**\n * Callback function to be called when the contract amendment fails.\n * @param error\n * @returns\n */\n onError?: (error: PostCreateContractAmendmentError) => void;\n /**\n * Callback function to be called when the contract amendment is successfully submitted.\n * @param data\n * @returns\n */\n onSuccess?: (data: ContractAmendmentResponse) => void | Promise<void>;\n};\n\nexport function ContractAmendmentConfirmationForm({\n onSubmit,\n onError,\n onSuccess,\n}: ContractAmendmentConfirmationFormProps) {\n const {\n contractAmendment: {\n stepState,\n isSubmitting,\n onSubmit: submitContractAmendment,\n fields,\n },\n formId,\n } = useContractAmendmentContext();\n const form = useForm({\n defaultValues: stepState.values?.form,\n });\n\n const handleSubmit = async (values: FieldValues) => {\n const parsedValues = parseJSFToValidate(values, fields, {\n isPartialValidation: false,\n });\n await onSubmit?.(parsedValues);\n\n const contractAmendmentResult = await submitContractAmendment(values);\n\n if (contractAmendmentResult.error) {\n onError?.(\n contractAmendmentResult.error as PostCreateContractAmendmentError,\n );\n } else {\n await onSuccess?.(\n contractAmendmentResult.data as ContractAmendmentResponse,\n );\n }\n };\n\n // Ensure that step\n if (isSubmitting) {\n return null;\n }\n\n return (\n <Form {...form}>\n <form\n id={formId}\n onSubmit={form.handleSubmit(handleSubmit)}\n className='RemoteFlows__ContractAmendmentConfirmationForm'\n ></form>\n </Form>\n );\n}\n"],"mappings":"uKA6EM,cAAAA,MAAA,oBA5CC,SAASC,EAAkC,CAChD,SAAAC,EACA,QAAAC,EACA,UAAAC,CACF,EAA2C,CACzC,GAAM,CACJ,kBAAmB,CACjB,UAAAC,EACA,aAAAC,EACA,SAAUC,EACV,OAAAC,CACF,EACA,OAAAC,CACF,EAAIC,EAA4B,EAC1BC,EAAOC,EAAQ,CACnB,cAAeP,EAAU,QAAQ,IACnC,CAAC,EAEKQ,EAAeC,EAAA,MAAOC,GAAwB,CAClD,IAAMC,EAAeC,EAAmBF,EAAQP,EAAQ,CACtD,oBAAqB,EACvB,CAAC,EACD,MAAMN,IAAWc,CAAY,EAE7B,IAAME,EAA0B,MAAMX,EAAwBQ,CAAM,EAEhEG,EAAwB,MAC1Bf,IACEe,EAAwB,KAC1B,EAEA,MAAMd,IACJc,EAAwB,IAC1B,CAEJ,EAjBqB,gBAoBrB,OAAIZ,EACK,KAIPN,EAACmB,EAAA,CAAM,GAAGR,EACR,SAAAX,EAAC,QACC,GAAIS,EACJ,SAAUE,EAAK,aAAaE,CAAY,EACxC,UAAU,iDACX,EACH,CAEJ,CAnDgBC,EAAAb,EAAA","names":["jsx","ContractAmendmentConfirmationForm","onSubmit","onError","onSuccess","stepState","isSubmitting","submitContractAmendment","fields","formId","useContractAmendmentContext","form","useForm","handleSubmit","__name","values","parsedValues","parseJSFToValidate","contractAmendmentResult","Form"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/form/validationResolver.ts"],"sourcesContent":["import { FieldValues, Resolver } from 'react-hook-form';\nimport type { AnyObjectSchema, InferType, ValidationError } from 'yup';\n\n// TODO: deprecated only used with old json-schema-form-version\nexport function iterateErrors(error: ValidationError) {\n const errors = (error as ValidationError).inner.reduce(\n (\n allErrors: Record<string, { type: string; message: string }>,\n currentError: ValidationError,\n ) => {\n return {\n ...allErrors,\n [currentError.path as string]: {\n type: currentError.type ?? 'validation',\n message: currentError.message,\n },\n };\n },\n {} as Record<string, { type: string; message: string }>,\n );\n\n return errors;\n}\n\n// TODO: deprecated only used with old json-schema-form-version\nexport const useJsonSchemasValidationFormResolver = <T extends AnyObjectSchema>(\n handleValidation: (data: FieldValues) => {\n formErrors: Record<string, string>;\n yupError: ValidationError;\n },\n): Resolver<InferType<T>> => {\n return async (data: FieldValues) => {\n const { yupError, formErrors } = await handleValidation(data);\n\n if (Object.keys(formErrors || {}).length > 0) {\n return {\n values: {},\n errors: iterateErrors(yupError as ValidationError),\n };\n }\n return {\n values: data,\n errors: {},\n };\n };\n};\n\nfunction iterateFormErrors(formErrors: Record<string, string>) {\n return Object.entries(formErrors || {}).reduce(\n (\n allErrors: Record<string, { type: string; message: string }>,\n [fieldName, message],\n ) => {\n return {\n ...allErrors,\n [fieldName]: {\n type: 'validation',\n message,\n },\n };\n },\n {} as Record<string, { type: string; message: string }>,\n );\n}\n\nexport const useJsonSchemasValidationFormResolverNext = <\n T extends AnyObjectSchema,\n>(\n handleValidation: (data: FieldValues) => {\n formErrors: Record<string, string>;\n },\n): Resolver<InferType<T>> => {\n return async (data: FieldValues) => {\n const { formErrors } = await handleValidation(data);\n\n if (Object.keys(formErrors || {}).length > 0) {\n return {\n values: {},\n errors: iterateFormErrors(formErrors),\n };\n }\n return {\n values: data,\n errors: {},\n };\n };\n};\n"],"mappings":"wCAIO,SAASA,EAAcC,EAAwB,CAiBpD,OAhBgBA,EAA0B,MAAM,OAC9C,CACEC,EACAC,KAEO,CACL,GAAGD,EACH,CAACC,EAAa,IAAc,EAAG,CAC7B,KAAMA,EAAa,MAAQ,aAC3B,QAASA,EAAa,OACxB,CACF,GAEF,CAAC,CACH,CAGF,CAlBgBC,EAAAJ,EAAA,iBAqBT,IAAMK,EAAuCD,EAClDE,GAKO,MAAOC,GAAsB,CAClC,GAAM,CAAE,SAAAC,EAAU,WAAAC,CAAW,EAAI,MAAMH,EAAiBC,CAAI,EAE5D,OAAI,OAAO,KAAKE,GAAc,CAAC,CAAC,EAAE,OAAS,EAClC,CACL,OAAQ,CAAC,EACT,OAAQT,EAAcQ,CAA2B,CACnD,EAEK,CACL,OAAQD,EACR,OAAQ,CAAC,CACX,CACF,EAnBkD","names":["iterateErrors","error","allErrors","currentError","__name","useJsonSchemasValidationFormResolver","handleValidation","data","yupError","formErrors"]}
@@ -1,2 +0,0 @@
1
- import{a as n}from"./chunk-5CVD5WZZ.js";import{b as i}from"./chunk-MRYRNB7Y.js";import{a as o}from"./chunk-P37U34EQ.js";import{jsx as a}from"react/jsx-runtime";function p({onSubmit:e}){let{terminationBag:m}=i();return a(n,{onSubmit:o(async t=>{await e?.(m?.parseFormValues(t)),m?.next()},"handleSubmit")})}o(p,"EmployeeCommunicationForm");export{p as a};
2
- //# sourceMappingURL=chunk-76DHIEN7.js.map
@@ -1,2 +0,0 @@
1
- import{a as t}from"./chunk-5CVD5WZZ.js";import{b as e}from"./chunk-MRYRNB7Y.js";import{a as i}from"./chunk-P37U34EQ.js";import{jsx as f}from"react/jsx-runtime";function F({onSubmit:n,onSuccess:s,onError:m}){let{terminationBag:r}=e(),d=i(async a=>{let l=r?.parseFormValues(a,!0);await n?.(l);let o=await r?.onSubmit(a);o?.error?m?.(o.error):o?.data&&await s?.(o.data)},"handleSubmit");return f(t,{fields:r?.fields,onSubmit:d})}i(F,"AdditionalDetailsForm");export{F as a};
2
- //# sourceMappingURL=chunk-7CJX7I3M.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/Termination/AdditionalDetailsForm.tsx"],"sourcesContent":["import { useTerminationContext } from './context';\nimport { TerminationFormValues } from '@/src/flows/Termination/types';\nimport { OffboardingResponse } from '@/src/client';\nimport { TerminationForm } from '@/src/flows/Termination/TerminationForm';\n\ntype AdditionalDetailsFormProps = {\n /*\n * The function is called when the form is submitted. It receives the form values as an argument.\n */\n onSubmit?: (payload: TerminationFormValues) => void | Promise<void>;\n /*\n * The function is called when the form submission has failed.\n */\n onError?: (error: Error) => void;\n /*\n * The function is called when the form submission is successful. It receives the response data as\n * an argument.\n */\n onSuccess?: (data: OffboardingResponse) => void | Promise<void>;\n};\n\nexport function AdditionalDetailsForm({\n onSubmit,\n onSuccess,\n onError,\n}: AdditionalDetailsFormProps) {\n const { terminationBag } = useTerminationContext();\n\n const handleSubmit = async (values: TerminationFormValues) => {\n const parsedValues = terminationBag?.parseFormValues(\n values,\n true,\n ) as TerminationFormValues;\n await onSubmit?.(parsedValues);\n const terminationResult = await terminationBag?.onSubmit(values);\n\n if (terminationResult?.error) {\n onError?.(terminationResult.error);\n } else {\n if (terminationResult?.data) {\n await onSuccess?.(terminationResult.data as OffboardingResponse);\n }\n }\n };\n\n return (\n <TerminationForm fields={terminationBag?.fields} onSubmit={handleSubmit} />\n );\n}\n"],"mappings":"wHA8CI,cAAAA,MAAA,oBAzBG,SAASC,EAAsB,CACpC,SAAAC,EACA,UAAAC,EACA,QAAAC,CACF,EAA+B,CAC7B,GAAM,CAAE,eAAAC,CAAe,EAAIC,EAAsB,EAE3CC,EAAeC,EAAA,MAAOC,GAAkC,CAC5D,IAAMC,EAAeL,GAAgB,gBACnCI,EACA,EACF,EACA,MAAMP,IAAWQ,CAAY,EAC7B,IAAMC,EAAoB,MAAMN,GAAgB,SAASI,CAAM,EAE3DE,GAAmB,MACrBP,IAAUO,EAAkB,KAAK,EAE7BA,GAAmB,MACrB,MAAMR,IAAYQ,EAAkB,IAA2B,CAGrE,EAfqB,gBAiBrB,OACEX,EAACY,EAAA,CAAgB,OAAQP,GAAgB,OAAQ,SAAUE,EAAc,CAE7E,CA3BgBC,EAAAP,EAAA","names":["jsx","AdditionalDetailsForm","onSubmit","onSuccess","onError","terminationBag","useTerminationContext","handleSubmit","__name","values","parsedValues","terminationResult","TerminationForm"]}
@@ -1,2 +0,0 @@
1
- import{a as o}from"./chunk-43WMZDDH.js";import{a as s}from"./chunk-P37U34EQ.js";import*as t from"@radix-ui/react-tabs";import{jsx as n}from"react/jsx-runtime";function r({className:e,...i}){return n(t.Root,{"data-slot":"tabs",className:o("flex flex-col gap-2",e),...i})}s(r,"Tabs");function c({className:e,...i}){return n(t.List,{"data-slot":"tabs-list",className:o("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-1",e),...i})}s(c,"TabsList");function l({className:e,...i}){return n(t.Trigger,{"data-slot":"tabs-trigger",className:o("data-[state=active]:bg-background data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring inline-flex flex-1 items-center justify-center gap-1.5 rounded-md px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...i})}s(l,"TabsTrigger");function m({className:e,...i}){return n(t.Content,{"data-slot":"tabs-content",className:o("flex-1 outline-none",e),...i})}s(m,"TabsContent");export{r as a,c as b,l as c,m as d};
2
- //# sourceMappingURL=chunk-7R347KBY.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/ui/tabs.tsx"],"sourcesContent":["import * as React from 'react';\nimport * as TabsPrimitive from '@radix-ui/react-tabs';\n\nimport { cn } from '@/src/lib/utils';\n\nfunction Tabs({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Root>) {\n return (\n <TabsPrimitive.Root\n data-slot='tabs'\n className={cn('flex flex-col gap-2', className)}\n {...props}\n />\n );\n}\n\nfunction TabsList({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.List>) {\n return (\n <TabsPrimitive.List\n data-slot='tabs-list'\n className={cn(\n 'bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-1',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction TabsTrigger({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Trigger>) {\n return (\n <TabsPrimitive.Trigger\n data-slot='tabs-trigger'\n className={cn(\n \"data-[state=active]:bg-background data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring inline-flex flex-1 items-center justify-center gap-1.5 rounded-md px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction TabsContent({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Content>) {\n return (\n <TabsPrimitive.Content\n data-slot='tabs-content'\n className={cn('flex-1 outline-none', className)}\n {...props}\n />\n );\n}\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent };\n"],"mappings":"gFACA,UAAYA,MAAmB,uBAS3B,cAAAC,MAAA,oBALJ,SAASC,EAAK,CACZ,UAAAC,EACA,GAAGC,CACL,EAAoD,CAClD,OACEH,EAAe,OAAd,CACC,YAAU,OACV,UAAWI,EAAG,sBAAuBF,CAAS,EAC7C,GAAGC,EACN,CAEJ,CAXSE,EAAAJ,EAAA,QAaT,SAASK,EAAS,CAChB,UAAAJ,EACA,GAAGC,CACL,EAAoD,CAClD,OACEH,EAAe,OAAd,CACC,YAAU,YACV,UAAWI,EACT,kGACAF,CACF,EACC,GAAGC,EACN,CAEJ,CAdSE,EAAAC,EAAA,YAgBT,SAASC,EAAY,CACnB,UAAAL,EACA,GAAGC,CACL,EAAuD,CACrD,OACEH,EAAe,UAAd,CACC,YAAU,eACV,UAAWI,EACT,0fACAF,CACF,EACC,GAAGC,EACN,CAEJ,CAdSE,EAAAE,EAAA,eAgBT,SAASC,EAAY,CACnB,UAAAN,EACA,GAAGC,CACL,EAAuD,CACrD,OACEH,EAAe,UAAd,CACC,YAAU,eACV,UAAWI,EAAG,sBAAuBF,CAAS,EAC7C,GAAGC,EACN,CAEJ,CAXSE,EAAAG,EAAA","names":["TabsPrimitive","jsx","Tabs","className","props","cn","__name","TabsList","TabsTrigger","TabsContent"]}
@@ -1,2 +0,0 @@
1
- import{a as X}from"./chunk-CW3MAP5L.js";import{a as G}from"./chunk-VFRHMNLJ.js";import{a as I,b as z,c as Q,f as W}from"./chunk-XPOLXRYT.js";import{a as C}from"./chunk-HN5HLFTB.js";import{a as K}from"./chunk-5P7INAU2.js";import{c as Y}from"./chunk-THMWKOHC.js";import{a as Z}from"./chunk-2YTBWEC7.js";import{c as V}from"./chunk-WXUIXZ7P.js";import{a as o}from"./chunk-P37U34EQ.js";import{number as Te,object as oe}from"yup";import{createHeadlessForm as Ve,modify as je}from"@remoteoss/json-schema-form";import{useCallback as Re,useEffect as ee,useMemo as Pe,useRef as we,useState as j}from"react";import{string as te,ValidationError as ne}from"yup";import{jsx as re}from"react/jsx-runtime";var O={title:"Estimation",includeBenefits:!1,includeCostBreakdowns:!1,includePremiumBenefits:!1,enableCurrencyConversion:!1,includeEstimationTitle:!1,includeManagementFee:!1},xe=o(t=>{let{schema:i}=je(G.data.schema,t?.jsfModify||{});return Ve(i)},"useStaticSchema");function Be(t,i){if(typeof t=="object"&&t!==null&&"title"in t){let l=t.title;if(l)return l}return i==="my_hiring_budget"?"Hiring budget":"Employee's annual salary"}o(Be,"getSalaryTitle");var Qe=o(({defaultRegion:t,defaultCurrency:i,defaultSalary:l,estimationOptions:s,options:n,version:a}={estimationOptions:O})=>{let c=we({fields:{}}),[k,E]=j(t),[R,P]=j(),[m,q]=j(),[H,se]=j(),{data:_,isLoading:le}=I({includePremiumBenefits:s.includePremiumBenefits}),{data:d,isLoading:ce}=z(),ue=k||R?.value,{data:w,isLoading:me}=W(ue,{includePremiumBenefits:s.includePremiumBenefits,options:n}),U=Q(),{mutateAsync:de}=Z(U),b=R?.currency,p=n?.jsfModify?.fields?.salary,F=p&&typeof p=="object"&&"presentation"in p?p.presentation:void 0,L=Re(()=>{let e=b&&m?b!==m:!1;return b!==m?{from:m,to:b,shouldSwapOrder:e}:{from:b,to:m,shouldSwapOrder:e}},[b,m]),J=s.showManagementFee,$=s.includeEstimationTitle,fe=Pe(()=>{let{from:e,to:r,shouldSwapOrder:u}=L(),g=Be(p,H);return{fields:{salary:{...p,title:g,presentation:{salary_conversion_properties:{label:F?.salary_conversion_properties?.label,description:F?.salary_conversion_properties?.description},currencies:{from:e,to:r},Component:o(y=>re(X,{...y,shouldSwapOrder:u,conversionType:a==="marketing"?"no_spread":"spread",defaultValue:l}),"Component")}},hiring_budget:{...n?.jsfModify?.fields?.hiring_budget,presentation:{hidden:a=="marketing"}},management:{...n?.jsfModify?.fields?.management,properties:{...n?.jsfModify?.fields?.management?.properties,management_fee:{...n?.jsfModify?.fields?.management?.properties?.management_fee,"x-jsf-presentation":{inputType:"money",additionalProps:{currency:m||"USD"}}}},presentation:{...typeof n?.jsfModify?.fields?.management=="object"?(n?.jsfModify?.fields?.management)["x-jsf-presentation"]:{},hidden:!J,Component:o(y=>re(Y,{...y,variant:"inset",features:{toggle:{enabled:!0,stateField:"management._expanded",labels:{expand:"Define",collapse:"Remove"}}}}),"Component")}},estimation_title:{...n?.jsfModify?.fields?.estimation_title,"x-jsf-presentation":{hidden:!$}}}}},[L,p,H,F?.salary_conversion_properties?.label,F?.salary_conversion_properties?.description,n?.jsfModify?.fields?.hiring_budget,n?.jsfModify?.fields?.management,n?.jsfModify?.fields?.estimation_title,a,m,J,$,l]),f=xe({jsfModify:{fields:{...n?.jsfModify?.fields,...fe?.fields}}});ee(()=>{if(t&&_){let e=_.find(({value:r})=>r===t);e&&P(e)}},[t,_]),ee(()=>{if(i&&d){let e=d.find(({value:r})=>r===i);e&&q(e.label)}},[i,d]);async function ge(e){return de(ae(e,s,a))}o(ge,"onSubmit");function ye(e){let r=_?.find(({value:u})=>u===e);r&&r.childRegions.length===0&&r.hasAdditionalFields?E(r.regionSlug):E(void 0),P(r)}o(ye,"onCountryChange");function pe(e){E(e)}o(pe,"onRegionChange");function Ce(e){se(e.target.value)}o(Ce,"onHiringBudgetChange");function _e(e){let r=d?.find(u=>u.value===e)?.label;q(r),n?.onCurrencyChange?.(r||"")}o(_e,"onChangeCurrency");let S=f.fields.find(e=>e.name==="region");if(S){let e=R?.childRegions.map(r=>({value:r.slug,label:r.name}))??[];S.options=e,S.isVisible=e.length>0,S.required=e.length>0,S.onChange=pe,S.schema=e.length>0?te().transform(r=>typeof r=="string"?r:"").required("Region is required"):te()}if(d){let e=f.fields.find(r=>r.name==="currency");e&&(e.options=d,e.onChange=_e)}let v=f.fields.find(e=>e.name==="hiring_budget");if(v&&(v.onChange=Ce),_){let e=f.fields.find(r=>r.name==="country");e&&(e.options=_,e.onChange=ye)}let be=o(()=>{P(void 0),E(t)},"resetForm"),D=[...f.fields.filter(e=>e.name!=="management"),...w?.fields||[],...f.fields.filter(e=>e.name==="management")],N=ie(f.fields,m||"USD",s.includeEstimationTitle);async function Se(e){let r=null;n?.onValidation?.(e);let u=V(e,D);try{await N.validate(u,{abortEarly:!1}),r={formErrors:{},yupError:new ne([],e)}}catch(h){let B=K(h);r={formErrors:Object.entries(B).reduce((T,[A,M])=>({...T,[A]:M.message}),{}),yupError:h}}let g=w?.handleValidation(u),y=[...r?.yupError.inner||[],...g?.yupError?.inner||[]],x={...r?.yupError?.value||{},...g?.yupError?.value||{}};return{formErrors:{...r?.formErrors||{},...g?.formErrors||{}},yupError:new ne(y,x)}}return o(Se,"handleValidation"),{stepState:{current:0,total:1,isLastStep:!0},fields:D,validationSchema:N,parseFormValues:o(e=>{let{country:r,region:u,currency:g,salary_converted:y,hiring_budget:x,salary_conversion:h,management:B,estimation_title:T,...A}=e,M=e.salary;y==="salary_conversion"&&(M=h);let he=V({country:r,region:u,salary:M,salary_converted:y,salary_conversion:h,hiring_budget:x,currency:g,management:B,estimation_title:T},f.fields),Ee=V(A,w?.fields||[]),Fe={currency_code:d?.find(Me=>Me.value===g)?.label};return{...he,...Ee,...Fe}},"parseFormValues"),handleValidation:Se,isSubmitting:U.isPending,isLoading:le&&ce&&me,onSubmit:ge,resetForm:be,currencies:d,meta:{fields:c.current?.fields}}},"useCostCalculator");function ie(t,i,l){let s=t.reduce((n,a)=>(a.name==="salary"||a.name==="salary_conversion"?n[a.name]=a.schema.when("salary_converted",{is:o(c=>c===a.name,"is"),then:o(c=>c.required("Required field"),"then"),otherwise:o(c=>c.optional(),"otherwise")}):a.name==="management"?n[a.name]=oe({management_fee:Te().transform(c=>isNaN(c)?void 0:c).min(0,"Management fee must be greater than or equal to 0").max(i?C[i]:C.USD,()=>`Management fee cannot exceed ${(i?C[i]:C.USD)/100} ${i}`)}):a.name==="estimation_title"&&l?n[a.name]=a.schema.required("Required field"):n[a.name]=a.schema,n),{});return oe(s)}o(ie,"buildValidationSchema");function Ae(t){let i="benefit-";return Object.keys(t).reduce((l,s)=>{let n=t[s];if(n==="none")return l;let c={benefit_group_slug:s.replace(i,""),benefit_tier_slug:n};return[...l,c]},[])}o(Ae,"formatBenefits");function Oe(t,i,l){let s=Number(t.management?.management_fee),n=t.currency_code;return{...{region_slug:t.region||t.country,employment_term:t.contract_duration_type??"fixed",title:t.estimation_title||i.title,age:t.age??void 0,...t.benefits&&{benefits:Ae(t.benefits)},...i.includeManagementFee&&s&&{discount:{quoted_amount:i.showManagementFee?s:C[n]||C.USD,text:""}}},...ke(t,l)}}o(Oe,"mapValueToEmployment");function ke(t,i){let l=i==="marketing"||t.salary_converted==="salary_conversion",s=i==="standard"&&t.salary_converted==="salary",n=t.hiring_budget==="my_hiring_budget";if(l){let a=t.salary_converted==="salary_conversion";return n?{annual_total_cost_in_employer_currency:t.salary}:{[a?"annual_gross_salary_in_employer_currency":"annual_gross_salary"]:t.salary}}return s?n?{annual_total_cost:t.salary}:{annual_gross_salary:t.salary}:{}}o(ke,"getSalaryFields");function ae(t,i=O,l="standard"){let s=Array.isArray(t)?t:[t];if(s.length===0)throw new Error("At least one employment value is required");return s.length>1&&new Set(s.map(a=>a.currency)).size>1&&console.warn("Multiple currencies detected in array. Using currency from first employment."),{employer_currency_slug:s[0].currency,include_benefits:i.includeBenefits,include_cost_breakdowns:i.includeCostBreakdowns,include_premium_benefits:i.includePremiumBenefits,include_management_fee:i.includeManagementFee,employments:s.map(n=>Oe(n,i,l))}}o(ae,"buildPayload");export{ie as a,ae as b,O as c,Qe as d};
2
- //# sourceMappingURL=chunk-7YQAVDVX.js.map
@@ -1,2 +0,0 @@
1
- import{b as f}from"./chunk-KSHK3ZPX.js";import{a as F}from"./chunk-WJ6YJFD4.js";import{b as p}from"./chunk-2YTBWEC7.js";import{g as C}from"./chunk-CNDSIADP.js";import{g as E}from"./chunk-43WMZDDH.js";import{a as n}from"./chunk-P37U34EQ.js";import{useEffect as R}from"react";import{jsx as u}from"react/jsx-runtime";function T({onSubmit:S,onError:w,onSuccess:y,onErrorWithFields:c,shouldResetForm:d,resetFields:a}){let{form:e,formId:V,costCalculatorBag:o}=f(),{formState:{isSubmitSuccessful:s}}=e;R(()=>{if(s&&d){o?.resetForm(),e.reset();return}if(s&&a){let t={...e.getValues()};a.forEach(r=>{t[r]=""}),o?.resetForm(),e.reset(t)}},[s,e,d,o,a]);let b=n(async i=>{try{let t=o?.parseFormValues(i);o?.meta?.fields&&(o.meta.fields=E(i,o.fields),o.meta.fields.employer_currency_slug=o.meta.fields.currency);let r=await o?.onSubmit(t);if(await S?.(t),r?.data&&!r.error){let l={data:{...r.data.data,employments:r.data.data.employments?.map(m=>({...m,title:t.estimation_title}))}};await y?.(l)}else throw{data:null,error:r?.error,fieldErrors:r?.fieldErrors,rawError:r?.rawError}}catch(t){let r=t,l=r.fieldErrors;if(c){let m=o?.meta?.fields,h=p(l,m);c({error:r.error,rawError:r.rawError,fieldErrors:h})}else w?.(r.error)}},"handleSubmit");return u(C,{...e,children:u("form",{id:V,onSubmit:e.handleSubmit(b),className:"space-y-4 RemoteFlows__CostCalculatorForm",children:u(F,{fields:o?.fields??[]})})})}n(T,"CostCalculatorForm");export{T as a};
2
- //# sourceMappingURL=chunk-AM2IRFHQ.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/CostCalculator/CostCalculatorForm.tsx"],"sourcesContent":["import { useEffect } from 'react';\nimport { JSONSchemaFormFields } from '@/src/components/form/JSONSchemaForm';\nimport { Form } from '@/src/components/ui/form';\nimport { useCostCalculatorContext } from '@/src/flows/CostCalculator/context';\nimport {\n CostCalculatorEstimationResponse,\n CostCalculatorEstimationFormValues,\n CostCalculatorEstimationSubmitValues,\n EstimationError,\n} from '@/src/flows/CostCalculator/types';\nimport {\n FieldError,\n NormalizedFieldError,\n normalizeFieldErrors,\n} from '@/src/lib/mutations';\nimport { prettifyFormValues } from '@/src/lib/utils';\nimport { $TSFixMe } from '@/src/types/remoteFlows';\n\ntype CostCalculatorFormProps = Partial<{\n /**\n * Callback function that handles form submission. When form is submit, the form values are sent to the consumer app before behind submitted to Remote.\n * @param data - The payload sent to the /cost-calculator/estimation endpoint.\n */\n onSubmit: (\n data: CostCalculatorEstimationSubmitValues,\n ) => Promise<void> | void;\n /**\n * Callback function to handle the success when the estimation succeeds. The CostCalculatorEstimateResponse is sent back to you.\n * @param data - The response data from the /cost-calculator/estimation endpoint.\n */\n onSuccess: (data: CostCalculatorEstimationResponse) => Promise<void> | void;\n /**\n * Callback function to handle the error when the estimation fails.\n * @param error - The error object.\n */\n onError: (error: EstimationError) => void;\n /**\n * Enhanced callback function to handle errors with field-level details.\n * @param error - The error object with field errors.\n */\n onErrorWithFields?: ({\n error,\n fieldErrors,\n }: {\n error: Error;\n fieldErrors: NormalizedFieldError[];\n rawError: Record<string, unknown>;\n }) => void;\n /**\n * Whether to reset the form when the form is successfully submitted.\n */\n shouldResetForm?: boolean;\n\n /**\n * Fields to reset when the form is successfully submitted.\n */\n resetFields?: ('country' | 'currency' | 'salary')[];\n}>;\n\nexport function CostCalculatorForm({\n onSubmit,\n onError,\n onSuccess,\n onErrorWithFields,\n shouldResetForm,\n resetFields,\n}: CostCalculatorFormProps) {\n const { form, formId, costCalculatorBag } = useCostCalculatorContext();\n\n const {\n formState: { isSubmitSuccessful },\n } = form;\n\n useEffect(() => {\n // resets the entire form if the form is successfully submitted and the shouldResetForm prop is true\n if (isSubmitSuccessful && shouldResetForm) {\n costCalculatorBag?.resetForm();\n form.reset();\n return;\n }\n\n // resets the specified fields if the form is successfully submitted and the resetFields prop is provided\n if (isSubmitSuccessful && resetFields) {\n // Reset only the specified fields\n const currentValues = form.getValues();\n const resetValues = { ...currentValues };\n resetFields.forEach((field) => {\n resetValues[field] = '';\n });\n\n costCalculatorBag?.resetForm();\n form.reset(resetValues);\n }\n }, [\n isSubmitSuccessful,\n form,\n shouldResetForm,\n costCalculatorBag,\n resetFields,\n ]);\n\n const handleSubmit = async (values: CostCalculatorEstimationFormValues) => {\n try {\n const parsedValues = costCalculatorBag?.parseFormValues(\n values,\n ) as CostCalculatorEstimationSubmitValues;\n\n if (costCalculatorBag?.meta?.fields) {\n costCalculatorBag.meta.fields = prettifyFormValues(\n values,\n costCalculatorBag.fields,\n );\n costCalculatorBag.meta.fields['employer_currency_slug'] =\n costCalculatorBag.meta.fields['currency'];\n }\n\n const costCalculatorResults =\n await costCalculatorBag?.onSubmit(parsedValues);\n\n // if this rejects, catch will handle it\n await onSubmit?.(parsedValues);\n\n if (costCalculatorResults?.data && !costCalculatorResults.error) {\n const responseWithTitle = {\n data: {\n ...costCalculatorResults.data.data,\n employments: (\n costCalculatorResults as $TSFixMe\n ).data.data.employments?.map((employment: $TSFixMe) => ({\n ...employment,\n title: parsedValues.estimation_title,\n })),\n },\n };\n await onSuccess?.(responseWithTitle);\n } else {\n throw {\n data: null,\n error: costCalculatorResults?.error,\n fieldErrors: costCalculatorResults?.fieldErrors,\n rawError: costCalculatorResults?.rawError,\n };\n }\n } catch (err) {\n // Handles here the errors caused by the API\n const error = err as {\n data: null;\n error: EstimationError;\n fieldErrors: FieldError[];\n rawError: Record<string, unknown>;\n };\n\n const fieldErrors = error.fieldErrors;\n\n if (onErrorWithFields) {\n // Create field metadata for better error messages\n const fieldsMeta = costCalculatorBag?.meta?.fields;\n\n // Normalize field errors with user-friendly labels\n const normalizedFieldErrors = normalizeFieldErrors(\n fieldErrors,\n fieldsMeta,\n );\n\n onErrorWithFields({\n error: error.error as Error,\n rawError: error.rawError as Record<string, unknown>,\n fieldErrors: normalizedFieldErrors,\n });\n } else {\n // Fall back to the original error handler\n onError?.(error.error);\n }\n }\n };\n\n return (\n <Form {...form}>\n <form\n id={formId}\n onSubmit={form.handleSubmit(handleSubmit)}\n className='space-y-4 RemoteFlows__CostCalculatorForm'\n >\n <JSONSchemaFormFields fields={costCalculatorBag?.fields ?? []} />\n </form>\n </Form>\n );\n}\n"],"mappings":"gPAAA,OAAS,aAAAA,MAAiB,QAuLlB,cAAAC,MAAA,oBA5HD,SAASC,EAAmB,CACjC,SAAAC,EACA,QAAAC,EACA,UAAAC,EACA,kBAAAC,EACA,gBAAAC,EACA,YAAAC,CACF,EAA4B,CAC1B,GAAM,CAAE,KAAAC,EAAM,OAAAC,EAAQ,kBAAAC,CAAkB,EAAIC,EAAyB,EAE/D,CACJ,UAAW,CAAE,mBAAAC,CAAmB,CAClC,EAAIJ,EAEJK,EAAU,IAAM,CAEd,GAAID,GAAsBN,EAAiB,CACzCI,GAAmB,UAAU,EAC7BF,EAAK,MAAM,EACX,MACF,CAGA,GAAII,GAAsBL,EAAa,CAGrC,IAAMO,EAAc,CAAE,GADAN,EAAK,UAAU,CACE,EACvCD,EAAY,QAASQ,GAAU,CAC7BD,EAAYC,CAAK,EAAI,EACvB,CAAC,EAEDL,GAAmB,UAAU,EAC7BF,EAAK,MAAMM,CAAW,CACxB,CACF,EAAG,CACDF,EACAJ,EACAF,EACAI,EACAH,CACF,CAAC,EAED,IAAMS,EAAeC,EAAA,MAAOC,GAA+C,CACzE,GAAI,CACF,IAAMC,EAAeT,GAAmB,gBACtCQ,CACF,EAEIR,GAAmB,MAAM,SAC3BA,EAAkB,KAAK,OAASU,EAC9BF,EACAR,EAAkB,MACpB,EACAA,EAAkB,KAAK,OAAO,uBAC5BA,EAAkB,KAAK,OAAO,UAGlC,IAAMW,EACJ,MAAMX,GAAmB,SAASS,CAAY,EAKhD,GAFA,MAAMjB,IAAWiB,CAAY,EAEzBE,GAAuB,MAAQ,CAACA,EAAsB,MAAO,CAC/D,IAAMC,EAAoB,CACxB,KAAM,CACJ,GAAGD,EAAsB,KAAK,KAC9B,YACEA,EACA,KAAK,KAAK,aAAa,IAAKE,IAA0B,CACtD,GAAGA,EACH,MAAOJ,EAAa,gBACtB,EAAE,CACJ,CACF,EACA,MAAMf,IAAYkB,CAAiB,CACrC,KACE,MAAM,CACJ,KAAM,KACN,MAAOD,GAAuB,MAC9B,YAAaA,GAAuB,YACpC,SAAUA,GAAuB,QACnC,CAEJ,OAASG,EAAK,CAEZ,IAAMC,EAAQD,EAORE,EAAcD,EAAM,YAE1B,GAAIpB,EAAmB,CAErB,IAAMsB,EAAajB,GAAmB,MAAM,OAGtCkB,EAAwBC,EAC5BH,EACAC,CACF,EAEAtB,EAAkB,CAChB,MAAOoB,EAAM,MACb,SAAUA,EAAM,SAChB,YAAaG,CACf,CAAC,CACH,MAEEzB,IAAUsB,EAAM,KAAK,CAEzB,CACF,EAzEqB,gBA2ErB,OACEzB,EAAC8B,EAAA,CAAM,GAAGtB,EACR,SAAAR,EAAC,QACC,GAAIS,EACJ,SAAUD,EAAK,aAAaQ,CAAY,EACxC,UAAU,4CAEV,SAAAhB,EAAC+B,EAAA,CAAqB,OAAQrB,GAAmB,QAAU,CAAC,EAAG,EACjE,EACF,CAEJ,CAhIgBO,EAAAhB,EAAA","names":["useEffect","jsx","CostCalculatorForm","onSubmit","onError","onSuccess","onErrorWithFields","shouldResetForm","resetFields","form","formId","costCalculatorBag","useCostCalculatorContext","isSubmitSuccessful","useEffect","resetValues","field","handleSubmit","__name","values","parsedValues","prettifyFormValues","costCalculatorResults","responseWithTitle","employment","err","error","fieldErrors","fieldsMeta","normalizedFieldErrors","normalizeFieldErrors","Form","JSONSchemaFormFields"]}
@@ -1,2 +0,0 @@
1
- import{a as s}from"./chunk-2W2XD7ZY.js";import{b as t}from"./chunk-TOA3JILU.js";import{b as e}from"./chunk-2YTBWEC7.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-B6IVJUEH.js.map
@@ -1 +0,0 @@
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"]}
@@ -1,2 +0,0 @@
1
- import{a}from"./chunk-ZSCKSEAA.js";import{b as e}from"./chunk-43WMZDDH.js";import{a as t}from"./chunk-P37U34EQ.js";import{jsx as r,jsxs as o}from"react/jsx-runtime";function m({indirectTax:i,currency:n}){return o("div",{children:[o("div",{className:"flex justify-between items-center mb-2",children:[r("h3",{className:"font-medium text-primary-foreground",children:"Indirect Tax"}),r("span",{className:"font-semibold text-lg",children:e(i,n)})]}),r(a,{})]})}t(m,"CostCalculatorIndirectTax");export{m as a};
2
- //# sourceMappingURL=chunk-BCXRPHWY.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/CostCalculator/Results/CostCalculatorIndirectTax.tsx"],"sourcesContent":["import { Separator } from '@/src/components/ui/separator';\nimport { formatCurrency } from '@/src/lib/utils';\n\ntype CostCalculatorIndirectTaxProps = {\n indirectTax: number;\n currency: string;\n};\n\nexport function CostCalculatorIndirectTax({\n indirectTax,\n currency,\n}: CostCalculatorIndirectTaxProps) {\n return (\n <div>\n <div className='flex justify-between items-center mb-2'>\n <h3 className='font-medium text-primary-foreground'>Indirect Tax</h3>\n <span className='font-semibold text-lg'>\n {formatCurrency(indirectTax, currency)}\n </span>\n </div>\n <Separator />\n </div>\n );\n}\n"],"mappings":"mHAcM,OACE,OAAAA,EADF,QAAAC,MAAA,oBANC,SAASC,EAA0B,CACxC,YAAAC,EACA,SAAAC,CACF,EAAmC,CACjC,OACEH,EAAC,OACC,UAAAA,EAAC,OAAI,UAAU,yCACb,UAAAD,EAAC,MAAG,UAAU,sCAAsC,wBAAY,EAChEA,EAAC,QAAK,UAAU,wBACb,SAAAK,EAAeF,EAAaC,CAAQ,EACvC,GACF,EACAJ,EAACM,EAAA,EAAU,GACb,CAEJ,CAfgBC,EAAAL,EAAA","names":["jsx","jsxs","CostCalculatorIndirectTax","indirectTax","currency","formatCurrency","Separator","__name"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/flows/Termination/components/TerminationDialogInfoContent/TerminationDialogInfoContent.tsx"],"sourcesContent":["import { zendeskArticles } from '@/src/components/shared/zendesk-drawer/utils';\nimport { cn, ZendeskTriggerButton } from '@/src/internals';\n\nconst terminationSteps = [\n 'You submit your termination request.',\n 'We review your request along with the employment agreement, local labor laws, and any collective bargaining agreements in place.',\n 'A lifecycle specialist contacts you if they need additional details. Sometimes they will request a call.',\n 'Depending on the country-specific laws and the terms of the employment agreement, we may need to seek additional legal advice. We’ll let you know if there are additional charges before proceeding.',\n 'Terms and conditions for the termination are finalized.',\n 'You verbally communicate the termination to the employee.',\n 'We share termination documents with the employee.',\n 'The employee signs the termination documents if required.',\n 'We process the final salary and offboard the employee.',\n];\n\nexport const TerminationDialogInfoContent = () => {\n return (\n <>\n <h3 className={cn('RemoteFlows__TerminationDialogInfoContent__Title')}>\n Please read carefully before you continue\n </h3>\n <p\n className={cn('RemoteFlows__TerminationDialogInfoContent__Description')}\n >\n Please do not inform the employee of the termination. We'll lead\n communication with them after you submit this form and we finalize the\n termination terms.\n </p>\n <p\n className={cn(\n 'RemoteFlows__TerminationDialogInfoContent__Description RemoteFlows__TerminationDialogInfoContent__FollowUpDescription',\n )}\n >\n If you already informed them, that's okay. We'll ask for the details\n regarding that communication and take it from there.\n </p>\n\n <ZendeskTriggerButton\n className={cn(\n 'RemoteFlows__TerminationDialogInfoContent__ZendeskTriggerButton text-sm',\n )}\n zendeskId={zendeskArticles.terminationEmployeeCommunication}\n >\n Learn more about employee communication\n </ZendeskTriggerButton>\n\n <h3\n className={cn(\n 'RemoteFlows__TerminationDialogInfoContent__ProcessTitle',\n )}\n >\n The termination process\n </h3>\n\n <ul\n className={cn(\n 'RemoteFlows__TerminationDialogInfoContent__ProcessList list-disc list-inside',\n )}\n >\n {terminationSteps.map((step, index) => (\n <li\n key={index}\n className={cn(\n 'RemoteFlows__TerminationDialogInfoContent__ProcessListItem',\n )}\n >\n {step}\n </li>\n ))}\n </ul>\n </>\n );\n};\n"],"mappings":"+HAiBI,mBAAAA,EACE,OAAAC,EADF,QAAAC,MAAA,oBAdJ,IAAMC,EAAmB,CACvB,uCACA,mIACA,2GACA,4MACA,0DACA,4DACA,oDACA,4DACA,wDACF,EAEaC,EAA+BC,EAAA,IAExCH,EAAAF,EAAA,CACE,UAAAC,EAAC,MAAG,UAAWK,EAAG,kDAAkD,EAAG,qDAEvE,EACAL,EAAC,KACC,UAAWK,EAAG,wDAAwD,EACvE,sKAID,EACAL,EAAC,KACC,UAAWK,EACT,uHACF,EACD,qIAGD,EAEAL,EAACM,EAAA,CACC,UAAWD,EACT,yEACF,EACA,UAAWE,EAAgB,iCAC5B,mDAED,EAEAP,EAAC,MACC,UAAWK,EACT,yDACF,EACD,mCAED,EAEAL,EAAC,MACC,UAAWK,EACT,8EACF,EAEC,SAAAH,EAAiB,IAAI,CAACM,EAAMC,IAC3BT,EAAC,MAEC,UAAWK,EACT,4DACF,EAEC,SAAAG,GALIC,CAMP,CACD,EACH,GACF,EAvDwC","names":["Fragment","jsx","jsxs","terminationSteps","TerminationDialogInfoContent","__name","cn","ZendeskTriggerButton","zendeskArticles","step","index"]}
@@ -1,2 +0,0 @@
1
- import{a as R,b as x,c as N,d as A}from"./chunk-DTHBG6BD.js";import{a as T}from"./chunk-ZE3YT3Q6.js";import{a as C}from"./chunk-AFRA4BIW.js";import{a as w,b as f}from"./chunk-MZB24YJP.js";import{b as B}from"./chunk-WVDTHFGS.js";import{a as i,b as n,e as F}from"./chunk-43WMZDDH.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:w.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(f,{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(f,{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:w.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-DXFA52BU.js.map